Salut, <br><br>Asa cum discutasem la ultima intalnire am implementat o versiune a buclei principale asa cum o vad eu.<br>Cred ca o arhitectura MVC se potriveste perfect in aceasta situatie pentru ca permita separarea foarte
<br>buna intre codul de logica a jocului, codul de tratare de intrari si codul de randare. <br><br>Implementarea mea se bazeaza pe ideea ca un joc este o aplicatie care poate fi impartita intr-o <br>serie de task-uri care trebuie sa isi desfasoarea activitatea repetitiv si intr-o anumita ordine.
<br><br>Daca privim lucrurile din aceasta perspectiva atunci devine clar ca bucla principala trebuie sa implementeze<br>doar partea de comutare de task-uri. Separarea face posibila dezvoltarea in mod independent a componentelor.
<br><br>Codul trimis este experimental si trebuie mult imbunatatit in ceea ce priveste lista de task-urilor si modul cum<br>acestea pot interactiona intre ele ( trebuie implementat un sistem de mesaje ).<br> <br>Pentru demonstrarea conceptului am adaptat codul scris de Alex Eftimie pentru jocul de snake.
<br><br>Pentru construirea engine-ului o sa fie in continuare nevoie de o baza solida de clase pentru:<br>- definirea unui set de clase pentru stocarea primitivelor din joc<br> - definirea unui set de clase pentru gestionarea spatiului virtual ( partitionarea spatiului, LOD, incarcare dinamica de obiecte etc. )
<br> - definirea unui set de clase pentru cinematica ( matematica si pattern based )<br>- definirea unui set de clase pentru elemente de interfata cu utilizatorul<br>- definirea nivelelor de abstractizare necesare peste pyopengl
<br>- definirea unui set de clase pentru gestionarea input-ului ( tastatura mouse, file based - pentru demo, poate si networking )<br>- sistem de logging ( ar fi super cu facilitati remote pentru depanare realtime )<br>- si multe altele ...
<br><br>Asta sunt cateva dintre ideile care imi vin la ora asta. Evident ca toate astea si multe altele trebuie trecute pe hartie ( sau pe wiki ) <br>dezbatute si eliminate cat de mult se poate pana cand se ajunge la cerintele pentru versiunea
1.0. <br><br>Astept sa aud parerea voastra. <br><br>Bafta in sesiune.<br><br>-- <br><a href="http://www.youmago.ro/">http://www.youmago.ro/</a> - Descopera. Adauga. Compara.<br>"Set your goals high, and don't stop till you get there." Bo Jackson