Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ppbg:tema:2023 [2023/11/21 10:33]
andrei.lambru
ppbg:tema:2023 [2024/05/13 08:55] (current)
andrei.lambru
Line 1: Line 1:
 ====== Temă - I.A.J.S. ====== ====== Temă - I.A.J.S. ======
   * **Lansare:​** 20 noimebrie 2023   * **Lansare:​** 20 noimebrie 2023
-  * **Termen de predare:​** ​Inainte ​de momentul ​prezentarii +  * **Termen de predare:​** ​Înainte ​de momentul ​prezentării 
-  * **Termen de prezentare:​** Ultima ​data de prezentare ​anuntata, nu mai tarziu ​de ultima zi din semestru+  * **Termen de prezentare:​** Ultima ​dată de prezentare ​anunțată, nu mai târziu ​de ultima zi din semestru
   * **Regulament:​** [[ppbg:​tema:​regulament|]]   * **Regulament:​** [[ppbg:​tema:​regulament|]]
   * **Notă: Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!**   * **Notă: Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!**
  
-I.A.J.S. sau //"​încă un Alt Joc de Supraviețuire"//​ va reprezenta subiectul temei pe care o veți avea de implementat :). Cerințele de bază ale temei vor conține doar parțial elementele comune unui astfel de joc: controlul unui personaj de catre jucător, comportament inamici și interacțiune de atac doar de la personaj la inamici. Alte elemente comune, precum comportament bazat pe puncte de viață ale personajului și ale inamicilor, ​aniamții pentru interacțiunea de atac sau animatii ​pentru dispariția unui inamic învins rămân la latitudinea voastră și realizarea lor se punctează suplimentar :) . De asemenea, jocul va da posibilitatea controlului simultan a două personaje, de la tastatura. Puteți viziona mai jos un filmuleț demonstrativ cu o aplicație construită pe baza framework-ului de laborator, care acoperă cerințele.+I.A.J.S. sau //"​încă un Alt Joc de Supraviețuire"//​ va reprezenta subiectul temei pe care o veți avea de implementat :). Cerințele de bază ale temei vor conține doar parțial elementele comune unui astfel de joc: controlul unui personaj de catre jucător, comportament inamici și interacțiune de atac doar de la personaj la inamici. Alte elemente comune, precum comportament bazat pe puncte de viață ale personajului și ale inamicilor, ​animații pentru interacțiunea de atac sau animații ​pentru dispariția unui inamic învins rămân la latitudinea voastră și realizarea lor se punctează suplimentar :) . De asemenea, jocul va da posibilitatea controlului simultan a două personaje, de la tastatură. Puteți viziona mai jos un filmuleț demonstrativ cu o aplicație construită pe baza framework-ului de laborator, care acoperă cerințele.
  
 <​html>​ <​html>​
Line 24: Line 24:
 ==== Geometrie ==== ==== Geometrie ====
  
-Lumea de joc este compusă dintr-o podea pe care se deplasează personajul controlat de jucător și inamicii. Toată geometria din care este realizat personajul sau inamicii, geometrie ce poate fi identică, este desenată cu aceeași culoare de bază. Fiecare inamic are o culoare aleasă ​aleator.+Lumea de joc este compusă dintr-o podea pe care se deplasează personajul controlat de jucător și inamicii. Toată geometria din care este realizat personajul sau inamicii, geometrie ce poate fi identică, este desenată cu aceeași culoare de bază. Fiecare inamic are o culoare aleasă ​aleatoriu.
  
 La distanțe regulate unul de altul, se desenează stâlpi de iluminat. În vârful fiecărui stâlp se află două surse de lumină de tip spot, la mică distanță una de cealaltă. La distanțe regulate unul de altul, se desenează stâlpi de iluminat. În vârful fiecărui stâlp se află două surse de lumină de tip spot, la mică distanță una de cealaltă.
Line 36: Line 36:
 </​note>​ </​note>​
  
-Jucătorul poate controla de la tastatură un personaj. Cu tastele **W**, **A**, **S** și **D** se poate deplasa personajul de-alungul ​direcțiilor **față**, **stânga**,​ **spate** și **dreapta** ale **camerei observator**. Apăsarea simulatană a doua taste, de exemplu tastele W și A rezultă în deplasarea jucătorului de-alungul ​vectorului compus dintre direcția față și stânga a camerei observator. +Jucătorul poate controla de la tastatură un personaj. Cu tastele **W**, **A**, **S** și **D** se poate deplasa personajul de-a lungul ​direcțiilor **față**, **stânga**,​ **spate** și **dreapta** ale **camerei observator**. Apăsarea simulatană a două taste, de exemplu tastele W și A rezultă în deplasarea jucătorului de-a lungul ​vectorului compus dintre direcția față și stânga a camerei observator. În filmulețul de mai jos se poate observa acest comportament pentru controlul personajului.
- +
-În filmulețul de mai jos se poate observa acest comportament pentru controlul personajului.+
  
 {{ :​ppbg:​tema:​control.gif?​600 |}} {{ :​ppbg:​tema:​control.gif?​600 |}}
Line 54: Line 52:
 ==== Comportament atac ==== ==== Comportament atac ====
  
-Prin apăsarea tastei **space**, jucătorul are opțiunea de a "​trage"​ cu o "​armă"​. Toți inamicii ce se află în fața personajului,​ mai exact pe direcția lui de deplasare, la o distanță mai mică de 2 unități față de personaj, dispar din joc. În locul fiecărui inamic care dispare, alt inamic apare în locul lui la o poziție ​aleatoare ​în lume.+Prin apăsarea tastei **space**, jucătorul are opțiunea de a "​trage"​ cu o "​armă"​. Toți inamicii ce se află în fața personajului,​ mai exact pe direcția lui de deplasare, la o distanță mai mică de 2 unități față de personaj, dispar din joc. În locul fiecărui inamic care dispare, alt inamic apare în locul lui la o poziție ​aleatorie ​în lume.
  
 ==== Comportament de joc în doi ==== ==== Comportament de joc în doi ====
Line 62: Line 60:
 Desenarea geometriei pe fiecare din cele 2 porți de afișare se face identic precum desenarea realizată pentru un singur personaj. Singura diferență este dimensiunea porții de afișare. Desenarea lumii din perspectiva personajului inițial se realizează în poarta de afișare din partea stângă, iar desenarea pentru al doilea personaj se realizează în poarta de afișare din dreapta. Cel de-al doilea personaj are o culoare diferită fața de primul. Desenarea geometriei pe fiecare din cele 2 porți de afișare se face identic precum desenarea realizată pentru un singur personaj. Singura diferență este dimensiunea porții de afișare. Desenarea lumii din perspectiva personajului inițial se realizează în poarta de afișare din partea stângă, iar desenarea pentru al doilea personaj se realizează în poarta de afișare din dreapta. Cel de-al doilea personaj are o culoare diferită fața de primul.
  
-De la tastatură, se poate controla ​ce de-al doilea personaj, similar ca în situația celui inițial. Se folosesc săgețile de la tastatură pentru deplasare și tasta 0 din zona numerică a tastaturii sau tasta enter pentru comportamentul de tras.+De la tastatură, se poate controla ​cel de-al doilea personaj, similar ca în situația celui inițial. Se folosesc săgețile de la tastatură pentru deplasare și tasta 0 din zona numerică a tastaturii sau tasta enter pentru comportamentul de tras.
  
 ===== Barem ===== ===== Barem =====
Line 84: Line 82:
     * Comportament de atac al personajului (0.2p total)     * Comportament de atac al personajului (0.2p total)
       * Detecție și dispariție inamici ce se află în fața personajului - 0.15p       * Detecție și dispariție inamici ce se află în fața personajului - 0.15p
-      * Creare inamic la o pozitie aleatoare ​când un inamic este învins de către personaj - 0.05p+      * Creare inamic la o poziție aleatorie ​când un inamic este învins de către personaj - 0.05p
   * Animații (0.75p total)   * Animații (0.75p total)
     * Animație continuă de deplasare a personajelor și inamicilor - 0.5p     * Animație continuă de deplasare a personajelor și inamicilor - 0.5p
Line 103: Line 101:
 ==== Construcție elemente vizuale ==== ==== Construcție elemente vizuale ====
  
-Geometria ​personajul ​și a inamicilor poate fi identică. Ea este realizata ​din 6 paralelipipede,​ ce reprezintă trunchiul, capul, piciorul stâng și drept, brațul stâng și drept al personajului,​ conform imaginii de mai jos.+Geometria ​personajului ​și a inamicilor poate fi identică. Ea este realizată ​din 6 paralelipipede,​ ce reprezintă trunchiul, capul, piciorul stâng și drept, brațul stâng și drept al personajului,​ conform imaginii de mai jos.
  
 {{ :​ppbg:​tema:​personaj.png?​200 |}} {{ :​ppbg:​tema:​personaj.png?​200 |}}
Line 161: Line 159:
 ==== Iluminare geometrie ==== ==== Iluminare geometrie ====
  
-În calculele de iluminare a geometriei trebuie utilizată //​componenta ambientală//,​ //​componenta difuză// și //​componenta speculară//​. Se pot utiliza modelele de iluminare deja analizate. Dacă se dorește, se poate înlocui calculul de iluminare pentru oricare din cele 3 componente cu un alt model de iluminare ce oferă rezultate vizuale superioare :) . Utilizarea unor astfel de modele de iluminare se punctează suplimentar.+În calculele de iluminare a geometrieitrebuie utilizată //​componenta ambientală//,​ //​componenta difuză// și //​componenta speculară//​. Se pot utiliza modelele de iluminare deja analizate. Dacă se dorește, se poate înlocui calculul de iluminare pentru oricare din cele 3 componente cu un alt model de iluminare ce oferă rezultate vizuale superioare :) . Utilizarea unor astfel de modele de iluminare se punctează suplimentar.
  
-=== Transformarea vectorului normal în spatiul ​lumii ===+=== Transformarea vectorului normal în spațiul ​lumii ===
  
 În situația în care transformarea de modelare conține o transformare neuniformă de modificare a scării, trecerea vectorului normal din spațiul obiectului în spațiul lumii se realizează după cum urmează: În situația în care transformarea de modelare conține o transformare neuniformă de modificare a scării, trecerea vectorului normal din spațiul obiectului în spațiul lumii se realizează după cum urmează:
Line 194: Line 192:
 Direcția de iluminare a surselor de lumină de tip spot din vârful stâlpilor se vor roti continuu. Direcția de iluminare a surselor de lumină de tip spot din vârful stâlpilor se vor roti continuu.
  
-==== Curbură ​obiecte din lume ====+==== Curbură ​geometrie ​====
  
 <note tip> <note tip>
 Pentru a crea efectul vizual de curbură a geometriei, se utilizează o abordare simplă ce oferă rezultate satisfăcătoare :). Pentru a crea efectul vizual de curbură a geometriei, se utilizează o abordare simplă ce oferă rezultate satisfăcătoare :).
  
-Rezultatul este doar un efect vizual ce curbează geometria în jurul personajului,​ astfel că acesta poate ajunge la limita geometriei lumii, altfel spus la capătul ei și să depășească acest capăt :) . De asemenea, este important de menționat că pentru calculele de iluminare NU se ține cont de calculele de creare a curburii geometriei.+Rezultatul este doar un efect vizual ce curbează geometria în jurul personajului,​ astfel că acesta poate ajunge la limita geometriei lumii, altfel spus la capătul ei și să și depășească acest capăt :) . De asemenea, este important de menționat că pentru calculele de iluminare NU se ține cont de calculele de creare a curburii geometriei.
 </​note>​ </​note>​
  
Line 234: Line 232:
  
 <note tip> <note tip>
-Recomandarea este să realizați această animație prin utilizarea unui lanț de transformari,​ în care, pentru a da doar un exemplu, la finalul lanțului propriu de transformări ​brațului drept se aplică lanțul de transformari ​trunchiului.+Recomandarea este să realizați această animație prin utilizarea unui lanț de transformari,​ în care, pentru a da doar un exemplu, la finalul lanțului propriu de transformări ​ale brațului drept se aplică lanțul de transformari ​ale trunchiului.
 </​note>​ </​note>​
  
ppbg/tema/2023.1700555619.txt.gz · Last modified: 2023/11/21 10:33 by andrei.lambru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0