[hfall-dev] Hammerfall main loop test 1

Andrei Buhaiu andreibuhaiu at gmail.com
Wed Jan 23 10:08:20 EET 2008


M-am uitat şi pe cod şi pe ce ai zis şi totul sună bine şi frumos toată
treaba
e că trebuie să luăm totul cu încetul, până după EEA nu mă bag să fac o
evaluare. Am mai vorbit cu Mihai şi ne-am decis să renunţăm la engine
fizic pentru că mi-am dat seama că nu e nevoie de aşa ceva. Şi vreau să
pornim de la un core foarte simplu şi foarte bine scris la care să legăm
module pe parcurs, deci da o să fie pe modelul MVC sigur. Din lista ta
mai tot o să fie pus într-un modul şi legat la un moment dat, dar trebuie
tot luat cu încetul, să văd ce mai faci tu şi ce mai face Mihai şi după
dacă merge totul bine cred că o să băgăm consola de debug real-time.
(Care da iniţial nu o să facă mai nimic pentru că nu are cu ce lucra
dar e bine să ne apucăm de ea şi o facem bine structurată chiar dacă
o să mai fie modificată de n ori pe parcurs, pentru valori suficient de
mari ale lui n)

Andrei

2008/1/22 Andrei Savu <savu.andrei at gmail.com>:
> 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
> _______________________________________________
> hfall-dev mailing list
> hfall-dev at lists.rosedu.org
> http://lists.rosedu.org/cgi-bin/mailman/listinfo/hfall-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rosedu.org/pipermail/hfall-dev/attachments/20080123/c89eda93/attachment-0001.htm 


More information about the hfall-dev mailing list