Differences

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

Link to this comparison view

egc:teme:2025:02 [2025/11/16 19:44]
silviu.stancioiu00 [Cerințe avansate]
egc:teme:2025:02 [2025/11/16 21:06] (current)
silviu.stancioiu00 [Trenul]
Line 24: Line 24:
   * Locomotiva va fi alcătuită din încăperea vatmanului (reprezentată de un paralelipiped vertical) și zona motorului (reprezentat de un cilindru orizontal). La rândul său, va merge pe mai multe roți, reprezentate tot de cilindri.   * Locomotiva va fi alcătuită din încăperea vatmanului (reprezentată de un paralelipiped vertical) și zona motorului (reprezentat de un cilindru orizontal). La rândul său, va merge pe mai multe roți, reprezentate tot de cilindri.
  
-{{:​egc:​teme:​2025:​locomotiva.png?300 |}} {{ :​egc:​teme:​2025:​vagon.png?​300|}}+{{:​egc:​teme:​2025:​locomotiva2.png?300 |}} {{ :​egc:​teme:​2025:​vagon.png?​300|}}
  
 === Control === === Control ===
Line 100: Line 100:
 ==== Sistem 3D de construcție a hărții (editor interactiv) ==== ==== Sistem 3D de construcție a hărții (editor interactiv) ====
  
-Puteti considera un volum 3d in care statiile, obstacolele si sinele se pot afla oriunde. Lumea poate fi reprezentata ca un grid3D sau Octree, in care fiecare casuta din grid poate contine fie o statie, fie o sina, fie un obstacol. Sinele pot fi vazute ca niste tuburi intre planete (sa le numim găuri negre; in a galaxy far far away) și pot fi reprezentate ca simple paralelipipede ce unesc 2 celule vecine din grid. Stațiile vor fi planete și vor reprezentate prin cuburi și/sau sfere.+Puteti considera un volum 3d in care statiile, obstacolele si sinele se pot afla oriunde. Lumea poate fi reprezentata ca un grid3D sau Octree, in care fiecare casuta din grid poate contine fie o statie, fie o sina, fie un obstacol. Sinele pot fi vazute ca niste tuburi intre planete (sa le numim găuri negre; in a galaxy far far away) și pot fi reprezentate ca simple paralelipipede ce unesc 2 celule vecine din grid. Stațiile vor fi planete și vor fi reprezentate prin cuburi și/sau sfere.
  
 ==== UI ==== ==== UI ====
Line 122: Line 122:
 === Traseu === === Traseu ===
  
-Implementarea unui track predefinit, cu un minim de 2 curbe. Se consideră curbă orice schimbare de direcție a traseului cu 90 de grade. Acesta nu se va schimba pe durata jocului.Traseul va fi format din mai multe segmente de șină și din minim 3 stații.+Implementarea unui track predefinit, cu un minim de 2 curbe. Se consideră curbă orice schimbare de direcție a traseului cu 90 de grade. Acesta nu se va schimba pe durata jocului. Traseul va fi format din mai multe segmente de șină și din minim 3 stații.
  
 === Avarierea șinelor === === Avarierea șinelor ===
Line 205: Line 205:
   * Segmentele își schimbă culoarea când sunt avariate.   * Segmentele își schimbă culoarea când sunt avariate.
   * Simbol pentru poziția jucătorului pe hartă. ​   * Simbol pentru poziția jucătorului pe hartă. ​
- 
- 
-Cerințe avansate (la alegere) 
  
 ===== Minigame 2: Mini Metro ===== ===== Minigame 2: Mini Metro =====
Line 262: Line 259:
 Gara centrală va emite o comandă de resurse. Fiecare resursă va avea asociată o culoare și o formă unică. Gara centrală va emite o comandă de resurse. Fiecare resursă va avea asociată o culoare și o formă unică.
 Comanda emisă de gara centrală va fi compusă din 5 resurse aleatorii care se pot repeta. Acestea se vor plasa în dreptul gării centrale (pentru a știi comanda) sub forma unei liste. Când una din resurse este colectată ea va dispărea din listă. Comanda emisă de gara centrală va fi compusă din 5 resurse aleatorii care se pot repeta. Acestea se vor plasa în dreptul gării centrale (pentru a știi comanda) sub forma unei liste. Când una din resurse este colectată ea va dispărea din listă.
-O resursă colectată dintr-o gară ea se va regenera după o perioadă de timp (de ex. 5 secunde).+O resursă colectată dintr-o gară se va regenera după o perioadă de timp (de ex. 5 secunde).
  
 === Gameplay === === Gameplay ===
Line 317: Line 314:
 </​note>​ </​note>​
  
 +=== Tipuri de Jocuri (Acestea sunt doar recomandări și pot fi combinate/​adaptate după preferință.) ===
 +
 +  * **Rail Maintenance**
 +    * Drezina (20)
 +      * Construcție (10)
 +      * Control (10)
 +    * Coliziuni (30)
 +      * Drezină - Șină avariată (15)
 +      * Tren - Șină avariată (15)
 +    * Deformare avarie în shader (20)
 +    * Game over (5)
 +  * **Mini Metro**
 +    * Amplasare aleatoare gări și pasageri (5)
 +    * Oprire în gară (10)
 +    * Mecanica plasare șine prin click (35)
 +    * Deformare culoare gară aglomerată în shader (20)
 +    * Game Over (5)
 +  * **Cargo Delivery**
 +    * Construcție traseu cu minim 3 intersecții,​ o gară principală și 3 gări de resurse (25)
 +    * Deformare culoare gară centrală în funcție de timp (20)
 +    * Preluare comenzi și resurse (20)
 +    * Selectare direcție de mers (10)
 +    * Game over (5)
 +
 +=== Alte functionalitati avansate (doar in cazul ca nu au fost folosite în joculeț) ===
 +
 +  * Minimap (20p)
 +  * Split screen (20p)
 +  * Nivel de dificultate diferit (10)
 +  * Meniu de construit sinele (30)
 +  * Mediu 3D (40)
 +  * Elevație diferită a hărții (20)
 +
 +<note important>​
 +Alte funcționalități pe care nu le-am descris vor fi punctate în concordanță cu dificultatea / calitatea implementării.
 +</​note>​
 +
 +<​note>​
 +Este permisa utilizarea modelelor externe / create in blender / importate *doar* pentru obstacole (si alte obiecte care nu au fost descrise in enunt). Vagoanele, sinele si terenul trebuie generate din cod. Coliziunea cu obiectele importate va fi in continuare efectuată asa cum a fost descris in enunt (minim 2 corpuri de coliziune, aceastea trebuie sa fie cat mai apropiate de forma modelului). Este indicat ca daca folositi modele externe, scena sa pastreze o anumita coeziune estetica (daca trenurile si terenul sunt cu numar mic de poligoane si netexturate,​ modelele ar trebuii sa aiba un stil similar).
 +</​note>​
 +
 +<note warning>
 +In cazul in care punctajul obtinut din cerințele avansate depășește cele 75p alocate, la bonus se vor adăuga punctele în plus dar cu o valoare de 3 ori mai mica, si se pot obține până la 25 de puncte în plus.
 +</​note>​
 +
 +==== Întrebări și Răspunsuri ====
 +
 +Pentru întrebări vom folosi forumurile de pe moodle. Orice nu este menționat în temă este la latitudinea fiecărui student!
 +
 +==== Notare ====
 +
 +Baremul este orientativ. Fiecare asistent are o anumită libertate în evaluarea temelor (de exemplu, să dea punctaj parțial pentru implementarea incompletă a unei funcționalități sau să scadă pentru hard coding). Același lucru este valabil atât pentru funcționalitățile obligatorii,​ cât și pentru bonusuri.
 +
 +<note warning>
 +Tema trebuie încărcată pe moodle. Pentru a fi punctată, tema trebuie prezentată la laborator. Vor exista laboratoare speciale de prezentare a temelor (care vor fi anunțate).
 +</​note>​
 +
 +==== Indicații Suplimentare ==== 
 +
 +Tema va fi implementată în OpenGL și C++. Este indicat să folosiți framework-ul și Visual Studio.
 +
 +<​note>​
 +Pentru implementarea temei, în folderul src/lab_m1 puteți crea un nou folder, de exemplu Tema2, cu fișierele Tema2.cpp și Tema2.h (pentru implementare POO, este indicat să aveți și alte fișiere). Pentru a vedea fișierele nou create în Visual Studio în Solution Explorer, apăsați click dreapta pe filtrul lab_m1 și selectați Add→New Filter. După ce creați un nou filtru, de exemplu Tema2, dați click dreapta și selectați Add→Existing Item. Astfel adăugați toate fișierele din folderul nou creat. În fișierul lab_list.h trebuie adăugată și calea către header-ul temei. De exemplu: #include “lab_m1/​Tema2/​Tema2.h”
 +</​note>​
 +
 +==== Arhivarea proiectului ====
 +<​note>​
 +  * În mod normal arhiva trebuie să conțină toate resursele necesare compilării și rulării
 +  * Înainte de a face arhiva asigurați-vă că ați curățat proiectul Visual Studio:
 +      * Click dreapta pe proiect în **Solution Explorer** -> **Clean Solution**
 +      * Ștergeți folderul __**/​build/​.vs**__ (dacă nu îl vedeți, **este posibil să fie ascuns**)
 +  * În cazul în care arhiva tot depășește limita de 50MB (nu ar trebui), puteți să ștergeți și folderul __**/​deps**__ sau __**/​assets**__ întrucât se pot adăuga la testare. Nu este recomandat să faceți acest lucru întrucât îngreunează mult testarea în cazul în care versiunea curentă a bibliotecilor/​resurselor diferă de versiunea utilizată la momentul scrierii temei.
 +</​note>​
  
egc/teme/2025/02.1763315092.txt.gz · Last modified: 2025/11/16 19:44 by silviu.stancioiu00
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