Harold Serrano

Aceștia sunt pașii:

Pasul 1: Învață algebra liniară

În primul rând, învață algebra liniară. Nu, nu mă refer la Algebra predată în gimnaziu. Mă refer la concepte de Algebră Lineară, cum ar fi Vectorii și Matricele. Concentrați-vă pe învățarea operațiilor cu vectori și matrici, în special produsul punct, produsul încrucișat, transformările spațiale.

Pasul 2: Învățați C++ (sau orice limbaj doriți)

În continuare, învățați să programați. Eu vă sugerez să învățați C++. În acest moment, nu trebuie să fiți un expert în codare. Dar învățați despre clase, metode, moștenire, polimorfism și încapsulare.

Etapa 3: Dezvoltați un motor matematic

Apoi, folosiți-vă cunoștințele despre vectori, matrici și codificare pentru a dezvolta un motor matematic. Operații precum produsul cu puncte, produsul încrucișat și transformarea spațială sunt utilizate pe scară largă în dezvoltarea motorului de joc.

Etapa 4: Învățați grafică pe calculator

Acum vine partea distractivă. Familiarizați-vă cu conceptele de Grafică pe calculator, în special cu Rendering Pipeline și Shaders. Evitați deocamdată să codificați și să folosiți API-ul OpenGL. API-ul OpenGL este confuz de înțeles dacă aveți cunoștințe limitate despre conceptele de grafică pe calculator.

Pasul 5: Învățați OpenGL și faceți o mulțime de proiecte

După ce vă simțiți confortabil cu conceptele de Grafică pe calculator, învățați despre OpenGL API și OpenGL Shaders. Faceți cât mai multe proiecte. Învățați cum să redați caracterele, cum să rotiți și să translatați caracterele. Învățați cum funcționează texturarea și iluminarea cu OpenGL. Din nou, aceasta este partea distractivă și vă sugerez să realizați cât mai multe proiecte.

Pasul 6: Învățați Design Patterns

Postul următor pentru a deveni un dezvoltator de motoare de jocuri este să învățați arhitectura API. Un motor de joc este pur și simplu un API, un cadru, care se ocupă de toate operațiile de randare, fizică și matematică. Este extrem de important să dezvoltați o API care să fie modulară, flexibilă, ușor de întreținut și adaptabilă.

Pentru a dezvolta un API, va trebui să învățați Design Patterns. Cele mai comune modele de proiectare sunt Singleton, Observer, Strategy, Composite, Factory, printre altele.

Etapa 7: Dezvoltarea unui motor de randare

În această etapă, sunteți gata să vă combinați cunoștințele de algebră liniară, grafică pe calculator, OpenGL și Design Patterns pentru a dezvolta un motor de randare.

Etapa 8: Revizuirea legilor de mișcare ale lui Newton

După ce ați finalizat motorul de randare, este timpul să lucrați la cea mai grea parte a motorului, și anume:, motorul de fizică.

Veștile bune sunt că nu trebuie să fiți un fizician pentru a dezvolta un motor de fizică, dar trebuie să cunoașteți legile de mișcare ale lui Newton și modul în care acestea sunt implementate folosind algoritmi precum algoritmul Runge-Kutta.

Pasul 9: Învățați algoritmi de geometrie computațională

Un motor de joc nu este un motor de joc fără detectarea coliziunilor. Pentru a dezvolta un sistem de detectare a coliziunilor, trebuie să învățați despre algoritmii de geometrie computațională, cum ar fi GJK, BVH și Sutherland-Hodgman. Acești algoritmi sunt folosiți pentru a detecta dacă a avut loc o coliziune, unde a avut loc și ce obiecte au cele mai mari șanse să se ciocnească.

Pasul 10: Dezvoltarea unui motor de fizică

După ce ați făcut cunoștință cu algoritmii menționați mai sus, ar trebui să puteți dezvolta un motor de fizică cu un sistem de detectare a coliziunilor.

Etapa 11: Dezvoltați un joc, testați & Repetați

Felicitări, acum aveți un motor de joc. Dezvoltați cât mai multe jocuri și testați motorul de joc cât mai mult posibil. Remediați erorile, implementați noi caracteristici, dezvoltați jocuri și repetați. Credeți-mă; aceasta este cea mai bună parte dintre toate.

Cărți pentru început

Iată o listă de cărți care să vă ajute să începeți:

3D Math

  1. 3D Math Primer For Graphics and Game Development

Rendering Engine

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.