This shows you the differences between two versions of the page.
egc:teme:02 [2016/11/13 23:33] alexandru.gradinaru |
egc:teme:02 [2016/12/17 17:44] (current) alexandru.gradinaru [Bonusuri posibile] |
||
---|---|---|---|
Line 20: | Line 20: | ||
Sa se implementeze un joc OpenGL in care utilizatorul are posibilitatea de a controla un personaj 3D ce va avea posibilitatea de a lansa proiectile catre inamici astfel: | Sa se implementeze un joc OpenGL in care utilizatorul are posibilitatea de a controla un personaj 3D ce va avea posibilitatea de a lansa proiectile catre inamici astfel: | ||
* prin intermediul tastelor W, A, S, D (sau orice alte 4 taste) juctorul se poate misca in spatiul 3D | * prin intermediul tastelor W, A, S, D (sau orice alte 4 taste) juctorul se poate misca in spatiul 3D | ||
- | * positia mouse-ului va determina rotirea camerei si a jucatorului (similar cu ce am facut in laborator) | + | * positia mouse-ului va determina rotirea camerei si a jucatorului - camera va fi de tip TPS (third-person), iar jucatorul se va roti doar in jurul axei OY (stanga-dreapta) astfel incat directia camerei (forward) va fi si cea a jucatorului |
* apasarea butonului de mouse (left click) va lansa proiectile | * apasarea butonului de mouse (left click) va lansa proiectile | ||
Line 45: | Line 45: | ||
<note tip> | <note tip> | ||
- | Pentru turnuri, personaj si inamici se pot folosi orice modele 3D incarcate(obj) sau obiecte compuse din mai multe primitive. | + | Pentru turnuri, personaj si inamici (sau orice altceva doriti) se pot folosi orice modele 3D incarcate sau obiecte compuse din mai multe primitive. |
+ | Puteti incarca obiecte de tipul obj, fbx, dae sau orice altceva e suportat de libraria assimp care va asigura incarcarea de fisiere. | ||
</note> | </note> | ||
Line 56: | Line 57: | ||
===== Exemplu rezolvare ===== | ===== Exemplu rezolvare ===== | ||
- | {{ :egc:teme:tema2:screen1.png?500 |}} | + | {{ :egc:teme:tema2:screen2.png?500 |}} |
- | + | ||
- | Vom pune in curand si un demo. | + | |
+ | <note> | ||
+ | **Exemplu de rezolvare tema**: {{:egc:teme:tema2:tema2demo.zip|}} {{:egc:teme:tema2:tema2demox86.zip|}} | ||
+ | </note> | ||
===== Barem notare ===== | ===== Barem notare ===== | ||
- | * Crearea unui character 3d care este mereu orientat cu spatele catre o camera TPS [15p] | + | * Crearea unui character 3d care este mereu orientat cu spatele catre o camera **third-person** **[15p]** |
- | * Crearea inamicilor care parcurg traseul si sunt orientati spre directia in care merg [10p] | + | * Crearea inamicilor care parcurg traseul si sunt orientati spre directia in care merg **[10p]** |
- | * Armele userului (pistol [5p], pusca [5p], grenade launcher [10p]) [20p] | + | * Armele userului (pistol [5p], pusca [5p], grenade launcher [10p]) **[20p]** |
- | * Turnurile care se rotesc si trag catre adversar [15p] | + | * Turnurile care se rotesc si trag catre adversar **[15p]** |
- | * Mecanismul prin care proiectilele trase de user/turnuri scad viata inamicilor (detectia de coliziuni) [15p] | + | * Mecanismul prin care proiectilele trase de user/turnuri scad viata inamicilor (detectia de coliziuni) **[10p]** |
- | * Minimap [15p] | + | * Minimap **[15p]** |
- | * Animatie de distrugere a inamicilor (cadere lateral sau orice alta animatie mai complexa) [10p] | + | * Animatie de distrugere a inamicilor (cadere lateral sau orice alta animatie mai complexa) **[10p]** |
+ | * Readme **[5p]** | ||
Total : **100 pct** | Total : **100 pct** | ||
+ | |||
+ | |||
+ | <note> | ||
+ | **README-ul** trebuie sa respecte urmatoarea structura | ||
+ | - Nume, prenumne, grupa si serie | ||
+ | - Utilizare aplicatie - taste/mouse/stari/etc | ||
+ | - Detalii de implementare - clase/structura | ||
+ | - Probleme aparute | ||
+ | - Continutul arhivei (optional) | ||
+ | * in cazul in care sunt necesare detalii importante despre structura proiectului, precum existenta unor fisiere speciale, fisiere de configurare, resurse de proiect, etc | ||
+ | - Status implementare functionalitati si descriere bonus (in caz ca exista) | ||
+ | </note> | ||
===== Bonusuri posibile ===== | ===== Bonusuri posibile ===== | ||
Line 81: | Line 96: | ||
* elemente grafice mai avansate, din afara arei acoperite de tema | * elemente grafice mai avansate, din afara arei acoperite de tema | ||
+ | <note> | ||
+ | * Bonusul se acorda doar daca cerintele de baza ale temei sunt implementate corect | ||
+ | * Notarea bonusului este la latitudinea asistentului si a calitatii implementarii, nu exista barem dar in principiu se pot accorda 5, 10, 15 pct | ||
+ | * Pentru implementari foarte speciale bonusul acordat poate ajunge pana la maxim 20 pct | ||
+ | * Bonusul nu este conditionat de trimiterea la timp a temei. Puteti obtine bonus chiar daca ati trimis tema cu intarziere. | ||
+ | </note> | ||
===== Arhivarea proiectului ===== | ===== Arhivarea proiectului ===== | ||
Line 93: | Line 113: | ||
* stergeti folderul __**/x64**__ sau __**/x86**__ (in caz ca exista) | * stergeti folderul __**/x64**__ sau __**/x86**__ (in caz ca exista) | ||
* executabilul final este generat in folderul __**/x86**__ sau __**/x64**__ la finalul link-editarii in functie de arhitectura aleasa la compilare (32/64 biti) | * executabilul final este generat in folderul __**/x86**__ sau __**/x64**__ la finalul link-editarii in functie de arhitectura aleasa la compilare (32/64 biti) | ||
- | * in ca ca arhiva tot depaseste limita de 20MB (nu ar trebui), puteti sa stergeti si folderul __**/libs**__ sau __**/Resources**__ intrucat se pot adauga la testare | + | * este **obligatoriu** ca arhiva sa contina folderele __**/libs**__ si __**/Resources**__ utilizate in timpul dezvoltari intrucat acestea se mai pot modifica pe parcurs cursului iar gasirea versiunii corecte ingreuneaza mult testarea |
</note> | </note> |