Harold Serrano

Detta är stegen:

Steg 1: Lär dig linjär algebra

Först ska du lära dig linjär algebra. Nej, jag menar inte algebra som lärs ut i mellanstadiet. Jag menar begrepp inom linjär algebra som t.ex. vektorer och matriser. Fokusera på att lära dig vektor- och matrisoperationer, särskilt punktprodukt, korsprodukt och rumstransformationer.

Steg 2: Lär dig C++ (eller vilket språk du vill)

Nästan ska du lära dig att programmera. Jag föreslår att du lär dig C++. Vid det här laget behöver du inte vara expert på kodning. Men lär dig om klasser, metoder, arv, polymorfism och inkapsling.

Steg 3: Utveckla en matematisk motor

Använd sedan dina kunskaper om vektorer, matriser och kodning för att utveckla en matematisk motor. Operationer som punktprodukt, korsprodukt och rumstransformation används flitigt i utvecklingen av spelmotorer.

Steg 4: Lär dig datorgrafik

Nu kommer den roliga delen. Bekanta dig med datorgrafikkoncept, särskilt Rendering Pipeline och Shaders. Undvik att koda och använda OpenGL API för tillfället. OpenGL API är förvirrande att förstå om du har begränsade kunskaper om datorgrafikkoncept.

Steg 5: Lär dig OpenGL och gör många projekt

När du känner dig bekväm med datorgrafikbegreppen kan du lära dig mer om OpenGL API och OpenGL Shaders. Gör så många projekt som möjligt. Lär dig hur man renderar tecken, hur man roterar och översätter tecken. Lär dig hur texturering och belysning fungerar med OpenGL. Återigen, detta är den roliga delen, och jag föreslår att du gör så många projekt som möjligt.

Steg 6: Lär dig designmönster

Nästa steg för att bli en spelmotorutvecklare är att lära sig API-arkitektur. En spelmotor är helt enkelt ett API, ett ramverk, som tar hand om all rendering, fysik och matematiska operationer. Det är av största vikt att du utvecklar ett API som är modulärt, flexibelt, underhållbart och anpassningsbart.

För att utveckla ett API måste du lära dig designmönster. De vanligaste designmönstren är bland annat Singleton, Observer, Strategy, Composite och Factory.

Steg 7: Utveckla en renderingsmotor

I det här skedet är du redo att kombinera dina kunskaper i linjär algebra, datorgrafik, OpenGL och designmönster för att utveckla en renderingsmotor.

Steg 8: Gå igenom Newtons rörelselagar

När du har färdigställt renderingsmotorn är det dags att arbeta med den svåraste delen av motorn, dvs, Fysikmotorn.

Den goda nyheten är att du inte behöver vara fysiker för att utveckla en fysikmotor, men du måste känna till Newtons rörelselagar och hur de implementeras med hjälp av algoritmer som Runge-Kutta-algoritmen.

Steg 9: Lär dig algoritmer för beräkningsgeometri

En spelmotor är inte en spelmotor utan kollisionsdetektering. För att utveckla ett system för kollisionsdetektering måste du lära dig algoritmer för beräkningsgeometri som GJK, BVH och Sutherland-Hodgman. Dessa algoritmer används för att upptäcka om en kollision inträffade, var den inträffade och vilka objekt som är mest sannolika att kollidera.

Steg 10: Utveckla en fysikmotor

När du väl känner till de algoritmer som nämns ovan bör du kunna utveckla en fysikmotor med ett system för kollisionsdetektering.

Steg 11: Utveckla ett spel, testa & Upprepa

Grattis, du har nu en spelmotor. Utveckla så många spel som möjligt och testa spelmotorn så mycket som möjligt. Rätta buggar, implementera nya funktioner, utveckla spel och upprepa. Lita på mig; detta är den bästa delen av allt.

Böcker för att komma igång

Här är en lista över böcker som hjälper dig att komma igång:

3D Math

  1. 3D Math Primer For Graphics and Game Development

Rendering Engine

Lämna ett svar

Din e-postadress kommer inte publiceras.