Table of Contents

Tema 1: AstroKitty

Enunt

Scopul temei - Implementarea unui joc 2D prin utilizarea conceptelor prezentate in primele 3 laboratoare:

Cerinta - Sa se implementeze in OpenGL o aplicatie in care utilizatorul poate controla un astronaut printre platforme si asteroizi pana ajunge la o pozitie de sfarsit.

Astronautul se lanseaza intr-o directie si va merge cu viteza constanta pana la intalnirea unui obstacol. Exista mai multe tipuri de obstacole:

Controlul se va face astfel:

Ciocnirea sau atingerea a doua obiecte se defineste prin termenul de coliziune. Determinarea coliziunii poate fi simplificata prin aproximarea caracterului cu un cerc.

Astronautul trebui sa isi pastreze orientarea atat in cazul deplasarii cat si in cazul stationarii. In cazul platformelor care sunt deasupra caracterului, orientarea va fi in jos, altfel in sus. In cazul deplasarii, orientarea trebuie sa fie in directia deplasarii. Exemplu minimal:

Geometrie minimala

Implementare suficienta

Inspiratie: Rockitty

Observatii

Alte aspecte ce nu au fost prezentate raman la latitudinea voastra.

  • Se poate utiliza framework-ul de laborator sau o implementare proprie.
  • Documentatia pentru evenimentele de mouse se gaseste in fisierul /Core/Window/InputController.h

Punctajul este oferit doar pentru cerintele integrate in aceeasi scena.

Punctajul bonus se ofera doar daca cerintele obligatorii sunt implementate corect.

Arhivarea proiectului

  • in mod normal arhiva trebuie sa contina toate resursele necesare compilarii si rularii
  • inainte de a face arhiva asigurati-va ca ati dat clean la proiect
    • click dreapta pe proiect in Solution ExplorerClean Solution, sau
    • stergeti folderul /Visual Studio/obj
  • stergeti fisierul /Visual Studio/Framework_EGC.sdf (in caz ca exista)
  • stergeti fisierul /Visual Studio/Framework_EGC.VC.db (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)
  • in cazul in care arhiva tot depaseste limita de 20MB (nu ar trebui), puteti sa stergeti si folderul /libs sau /Resources intrucat se pot adauga la testare. Nu este recomandat sa faceti acest lucru intrucat ingreuneaza mult testarea in cazul in care versiunea curenta a librariilor/resurselor difera de versiunea utilizata la momentul scrierii temei.

Barem notare

Bonusuri posibile