[hfall-dev] Hammerfall main loop test 1

Alex Eftimie alex at rosedu.org
Wed Jan 23 15:04:27 EET 2008


Say hello to point end return on your keyboard, AndreiB.

They have allways been there!

2008/1/23 Andrei Buhaiu <andreibuhaiu at gmail.com>:
> 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
> >
>
>
> _______________________________________________
> hfall-dev mailing list
> hfall-dev at lists.rosedu.org
> http://lists.rosedu.org/cgi-bin/mailman/listinfo/hfall-dev
>



-- 
Alex Eftimie
http://anaconda.cs.pub.ro/~alexef/


More information about the hfall-dev mailing list