[hfall-dev] Componente necesare "ciocanului"

mihai maruseac mmaruseacph2 at yahoo.com
Thu Nov 29 22:38:14 EET 2007


Ieri (miercuri 28) in timpul orei de filosofie, cum ma plictiseam m-am gandit ca n-ar strica sa fac un brainstorm despre ce
componente avem nevoie in joc. Nu a durat prea mult sa gasesc o intreaga lista de componente de care cred ca vom avea
nevoie. Majoritatea sunt inspirate si din scurta mea experienta in domeniu si din ce am citit prin carti si tutoriale de game 
programming. So here it is:

1.Ne trebuie clar o clasa care sa incapsuleze citirea si scrierea intr-un fisier. Aici avem nevoie si de modalitati de scriere - citire
in fisiere text dar si in fisiere binare. Plus, ne mai trebuie si o modalitate de criptare a continutului fisierelor daca nu vrem ca jucatorul
sa modifice o singura linie si sa ajunga direct la ultimul level.

2.Ne trebuie implementat inca de la inceput un timer pe care-l vom folosi atat pentru un fps counter cat si pentru un profiler pentru a vedea
care componente si care bucati din cod ne mananca mult timp de executie (ambele componente vor putea fi pornite si oprite la cerere 
cel putin in perioada de debug, la release le putem elimina)

3.O consola prin care sa putem da comenzi in real time (precum cele de schimbare a fundalului, incarcare a unor elemente, pornirea cetii
si a altor efecte speciale, pornirea fps counter-ului sau a profiler-ului; e ceva asemenator cu consola din cs). Tot asa vom putea sa eliminam
tasta de mapare a consolei la versiunea final daca dorim.

Pana acum au fost componente auxiliare engine-ului. Acum urmeaza partea cea mai interesanta: componentele fara de care nu putem face
motorul grafic:

4.Un set de rutine care sa se ocupe cu operatiile de baza pe vectori.
5.Un set de rutine care sa obtina ecuatiile unor drepte sau planuri cunoscand diferite configuratii de puncte si drepte
6.Un set de rutine pentru collision detection
7.Un set de rutine pentru clipping (eliminarea din lista obiectelor ce vor fi prelucrate grafic a acelor obiecte care nu intra in campul vizual al
camerei si pot fi determinate destul de rapid)
8.Un set de rutine pentru culling (eliminarea tuturor poligoanelor care sunt ascunse de alte poligoane)

9.Incapsulari pentru procese precum incarcarea unui obiect3d din fisier (trebuie sa ne gandim cate si care sunt formatele pe care le vom
suporta), incarcarea texturilor, procesarea umbrelor (atat pe plane cat si pe alte suprafete), efecte de lumina, efecte atmosferice, particle
systems, ...

Si cam atat am reusit sa determin in ora respectiva. In functie de cum va arata jocul unele din aceste componente s-ar putea sa nu fie folosite
dar nu strica sa le avem, poate facem 2 jocuri utilizand acelasi engine grafic (daca mai avem timp, al doilea oricum va lua mai putin).

Mi-am adus de acasa o carte care prezinta grafica 3d utilizand opengl si are aplicatii simple in C standard sau C++. Caut pe net si sper sa gasesc
un pdf in care aveam un tutorial complet despre game engine si grafic engine, nu mai stiu cum am reusit sa-l pierd.

Cam atat. Nu e prea bine organizat dar nu vroiam sa trimit mai multe mail-uri pentru chestii mai mici.
 



      ____________________________________________________________________________________
Get easy, one-click access to your favorites. 
Make Yahoo! your homepage.
http://www.yahoo.com/r/hs 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rosedu.org/pipermail/hfall-dev/attachments/20071129/3a37a763/attachment.html 


More information about the hfall-dev mailing list