Carte gratuită: Game Programming Patterns

Nu știu cât de bun e materialul, dar acum câteva luni am observat că erau câțiva membri DF pasionați de jocuri.

http://gameprogrammingpatterns.com

8 Likes

pe langa programare mai adaugam scenariu, atmosfera, coloana sonora, voice acting si optinem jocul perfect !
:blush:

Sa construiesti jocuri necesita un dram de nebunie, serios, sunt atatea si atatea lucruri de invatat, de pus in practica, de luat in calcul, insa roadele muncii sunt o desfatare continua.Chiar daca alegi sa folosesti o aplicatie care face mare parte din treaba, tot trebuie sa ai o idee despre cum merg lucrurile, apoi, mai intervine si partea grafica, o adevarata nebunie ( sa nu mai vorbim de partea audio ).Totusi, ideea principala este sa faci totul pas cu pas. La inceput, incepi sa construiesti jocuri cat mai simple, pe masura ce inveti mai multe lucruri si castigi experienta ca urmare a procesului de construire a jocurilor mai simple, avansezi, treci la un alt nivel s.a.m.d.
Sa nu uitam ca trebuie sa stii si ceva matematica si fizica.

Iata o lista simpla de lucuri prin care vei trece, evident, vorbim despre un mediu 2d:

1.Invata sa pui pe ecran forme geometrice
2.Invata sa pui pe ecran o imagine
3.Invata sa misti acele forme geometrice
4.Invata sa misti o imagine
5.Invata sa creezi o animatie prin desenarea si redesenarea unor secvente de imagini
6.Construieste PONG ( aici inveti si despre coliziunea obiectelor dintr-un joc, chestiile mai simple )
7.Constriueste Snake
8.Construieste Tic Tac Toe
9.Constrieste Breakout
10.Construieste un joc gen Space Invaders
11.Invata cum sa aplici conceptele invatate despre vectori in programarea jocurilor
12.Practica utilizarea vectorilor construind unul sau mai multe jocuri
13.Invata diferite modele de design pentru a-ti structura mai bine jocurile
14.Invata despre diferitele metode de a construi lumea din joc - de exemplu, despre tile maps ( ( lumea din joc este construita din mici forme geometrice dreptunghiulare, ca idee, te vei folosi de matrici pentru a stoca lumea din joc )
14.Continua acest proces in acelasi stil.

Dat fiind evolutia limbajului JavaScript, acesta devine un limbaj idel pentru a invata sa construiesti jocuri atat ce pot fi accesate pe pc cat si pe alte dispozitive :).Totusi, daca esti si mai pasionat, C++ si OpenGL sunt ceea ce vrei :smiley: ).

Apropo, in ceea ce priveste jocul Snake, sa te folosesti de metoda tile maps e o solutie minunata pentru a construi lumea prin care te poti misca.

3 Likes

Am avut eu o tentativa de space invaders cu Unity
Printre hobbysti am vazut ca Unity este foarte popular. Poti scrie in c# si js. Si cei de la Epic Games au Unreal engine free + tutoriale unde iti explica bazele 2d si 3d.

Matematica este de baza in jocuri video
:slight_smile:

Foarte buna cartea pentru incepatori in ale gamedev. Spre exemplu ajunsesem la un blocaj cu jocul pe care il fac si nu stiam cum sa scriu codul in jurul actiunilor pe care le fac entitatile din joc, actiuni care urmeaza sa fie trimise pe network (in multiplayer). Asa am implementat toate etapele http://gameprogrammingpatterns.com/state.html

Pentru optimizari de GC si memorie am folosit http://gameprogrammingpatterns.com/object-pool.html

Mereu recitesc capitolele din carte sa ma asigur ca nu mi-a scapat ceva.

1 Like