[hfall-dev] Hammerfall main loop test 1

Andrei Savu savu.andrei at gmail.com
Tue Jan 22 21:50:59 EET 2008


Salut,

Chiar e o problem cu partea de move. Cred ca cel mai bine
ar fi sa existe un task separat care sa determine reactulizarea modelului
inainte de randare. Ar fi destul de usor de implementat.

Task-ul de randare trebuie sa se declanseze doar in functie de un interval
de timp specificat ( odata la 1/30 sec  sau mai repede ) pentru a lasa
restul task-urilor sa functioneze pentru a putea simula ok procese continue
si interactiuni complexe.

O sa incerc sa rescriu codul cat de curand. O sa incerc sa implementez o
coada de prioritati pentru ordonarea task-urile si un sistem de comunicare
intre
task-uri mai bun. Cred ca este necesara si o clasa de baza pentru model.

As vrea sa fac un test si cu OpenGL. Am avut o problema cu initializarea
prima
data. Cred ca o sa gasesc o solutie acum.

On 1/20/08, Alex Eftimie <alex at rosedu.org> wrote:
>
> 2008/1/20 Andrei Savu <savu.andrei at gmail.com>:
> > Salut,
> >
> > Asa cum discutasem la ultima intalnire am implementat o versiune a
> buclei
> > principale asa cum o vad eu.
> > Cred ca o arhitectura MVC se potriveste perfect in aceasta situatie
> pentru
> > ca permita separarea foarte
> > buna intre codul de logica a jocului, codul de tratare de intrari si
> codul
> > de randare.
> >
> > Implementarea mea se bazeaza pe ideea ca un joc este o aplicatie care
> poate
> > fi impartita intr-o
> > serie de task-uri care trebuie sa isi desfasoarea activitatea repetitiv
> si
> > intr-o anumita ordine.
> >
> > Daca privim lucrurile din aceasta perspectiva atunci devine clar ca
> bucla
> > principala trebuie sa implementeze
> > doar partea de comutare de task-uri. Separarea face posibila dezvoltarea
> in
> > mod independent a componentelor.
> >
> > Codul trimis este experimental si trebuie mult imbunatatit in ceea ce
> > priveste lista de task-urilor si modul cum
> > acestea pot interactiona intre ele ( trebuie implementat un sistem de
> mesaje
> > ).
> >
> > Pentru demonstrarea conceptului am adaptat codul scris de Alex Eftimie
> > pentru jocul de snake.
> >
> > Pentru construirea engine-ului o sa fie in continuare nevoie de o baza
> > solida de clase pentru:
> > - definirea unui set de clase pentru stocarea primitivelor din joc
> >  - definirea unui set de clase pentru gestionarea spatiului virtual (
> > partitionarea spatiului, LOD, incarcare dinamica de obiecte etc. )
> >  - definirea unui set de clase pentru cinematica ( matematica si pattern
> > based )
> > - definirea unui set de clase pentru elemente de interfata cu
> utilizatorul
> > - definirea nivelelor de abstractizare necesare peste pyopengl
> > - definirea unui set de clase pentru gestionarea input-ului ( tastatura
> > mouse, file based - pentru demo, poate si networking )
> > - sistem de logging ( ar fi super cu facilitati remote pentru depanare
> > realtime )
> > - si multe altele ...
> >
> > 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 )
> > dezbatute si eliminate cat de mult se poate pana cand se ajunge la
> cerintele
> > pentru versiunea 1.0.
> >
> > Astept sa aud parerea voastra.
> >
> > Bafta in sesiune.
> >
> > --
> > http://www.youmago.ro/ - Descopera. Adauga. Compara.
> > "Set your goals high, and don't stop till you get there." Bo Jackson
>
> Prea tare. Totusi, ce mi se pare mai putin intuitiv este ca "logica
> jocului", adica SnakeGame.move se face in SnakeInput.
> In rest e genial... se vad clar avantajele limbajului: definirea unui
> nucleu cu taskuri care sunt chiar threaduri. Imi place.
>
> Alex
>
> --
> Alex Eftimie
> http://anaconda.cs.pub.ro/~alexef/
> _______________________________________________
> hfall-dev mailing list
> hfall-dev at lists.rosedu.org
> http://lists.rosedu.org/cgi-bin/mailman/listinfo/hfall-dev
>



-- 
http://www.youmago.ro/ - Descopera. Adauga. Compara.
"Set your goals high, and don't stop till you get there." Bo Jackson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rosedu.org/pipermail/hfall-dev/attachments/20080122/e25faca1/attachment.htm 


More information about the hfall-dev mailing list