Das sind die Schritte:
- Schritt 1: Lerne Lineare Algebra
- Schritt 2: Lernen Sie C++ (oder eine andere Sprache)
- Schritt 3: Entwickeln Sie eine Mathematik-Engine
- Schritt 4: Lernen Sie Computergrafik
- Schritt 5: Lernen Sie OpenGL und machen Sie viele Projekte
- Schritt 6: Lernen Sie Design Patterns
- Schritt 7: Entwickeln einer Rendering-Engine
- Schritt 8: Überprüfen von Newtons Bewegungsgesetzen
- Schritt 9: Erlernen von Algorithmen der Computational Geometry
- Schritt 10: Entwickle eine Physik-Engine
- Schritt 11: Entwickle ein Spiel, Teste & Wiederhole
- Bücher für den Anfang
Schritt 1: Lerne Lineare Algebra
Erste, lerne Lineare Algebra. Nein, ich meine nicht die Algebra, die man in der Mittelschule lernt. Ich meine Konzepte der linearen Algebra wie Vektoren und Matrizen. Konzentrieren Sie sich auf das Erlernen von Vektor- und Matrizenoperationen, insbesondere Punktprodukt, Kreuzprodukt, Raumtransformationen.
Schritt 2: Lernen Sie C++ (oder eine andere Sprache)
Als Nächstes sollten Sie lernen, wie man programmiert. Ich schlage vor, C++ zu lernen. Zu diesem Zeitpunkt müssen Sie noch kein Experte im Programmieren sein. Aber lernen Sie etwas über Klassen, Methoden, Vererbung, Polymorphie und Kapselung.
Schritt 3: Entwickeln Sie eine Mathematik-Engine
Nutzen Sie dann Ihre Kenntnisse über Vektoren, Matrizen und Codierung, um eine Mathematik-Engine zu entwickeln. Operationen wie Punktprodukt, Kreuzprodukt und Raumtransformation werden bei der Entwicklung von Spiel-Engines ausgiebig genutzt.
Schritt 4: Lernen Sie Computergrafik
Jetzt kommt der spaßige Teil. Machen Sie sich mit den Konzepten der Computergrafik vertraut, insbesondere mit der Rendering Pipeline und den Shadern. Vermeiden Sie es vorerst, die OpenGL-API zu kodieren und zu verwenden. Die OpenGL-API ist verwirrend zu verstehen, wenn Sie nur begrenzte Kenntnisse von Computergrafikkonzepten haben.
Schritt 5: Lernen Sie OpenGL und machen Sie viele Projekte
Wenn Sie sich mit den Konzepten der Computergrafik vertraut gemacht haben, lernen Sie die OpenGL API und OpenGL Shader kennen. Machen Sie so viele Projekte wie möglich. Lernen Sie, wie man Zeichen rendert, wie man Zeichen dreht und übersetzt. Lernen Sie, wie Texturierung und Beleuchtung mit OpenGL funktionieren. Auch das ist der spaßige Teil, und ich schlage vor, so viele Projekte wie möglich zu machen.
Schritt 6: Lernen Sie Design Patterns
Der nächste Schritt auf dem Weg zum Spieleentwickler ist das Erlernen der API-Architektur. Eine Spiel-Engine ist einfach eine API, ein Framework, das sich um alle Rendering-, Physik- und mathematischen Operationen kümmert. Es ist von entscheidender Bedeutung, dass Sie eine API entwickeln, die modular, flexibel, wartbar und anpassbar ist.
Um eine API zu entwickeln, müssen Sie Design Patterns lernen. Die gängigsten Design Patterns sind Singleton, Observer, Strategy, Composite, Factory und andere.
Schritt 7: Entwickeln einer Rendering-Engine
In diesem Stadium sind Sie bereit, Ihr Wissen über Lineare Algebra, Computergrafik, OpenGL und Design Patterns zu kombinieren, um eine Rendering-Engine zu entwickeln.
Schritt 8: Überprüfen von Newtons Bewegungsgesetzen
Wenn Sie die Rendering-Engine fertiggestellt haben, ist es an der Zeit, am schwierigsten Teil der Engine zu arbeiten, d.h.,
Die gute Nachricht ist, dass man kein Physiker sein muss, um eine Physik-Engine zu entwickeln, aber man muss die Newtonschen Bewegungsgesetze kennen und wissen, wie sie mit Algorithmen wie dem Runge-Kutta-Algorithmus umgesetzt werden.
Schritt 9: Erlernen von Algorithmen der Computational Geometry
Eine Spiele-Engine ist keine Spiele-Engine ohne Kollisionserkennung. Um ein System zur Kollisionserkennung zu entwickeln, müssen Sie sich mit Algorithmen der Computational Geometry wie GJK, BVH und Sutherland-Hodgman vertraut machen. Diese Algorithmen werden verwendet, um zu erkennen, ob eine Kollision stattgefunden hat, wo sie stattgefunden hat und welche Objekte am wahrscheinlichsten kollidieren werden.
Schritt 10: Entwickle eine Physik-Engine
Wenn du mit den oben genannten Algorithmen vertraut bist, solltest du in der Lage sein, eine Physik-Engine mit einem Kollisionserkennungssystem zu entwickeln.
Schritt 11: Entwickle ein Spiel, Teste & Wiederhole
Glückwunsch, du hast jetzt eine Game Engine. Entwickeln Sie so viele Spiele wie möglich und testen Sie die Spiel-Engine so oft wie möglich. Beheben Sie Fehler, implementieren Sie neue Funktionen, entwickeln Sie Spiele und wiederholen Sie den Vorgang. Vertrauen Sie mir, das ist der beste Teil von allem.
Bücher für den Anfang
Hier ist eine Liste von Büchern, die Ihnen den Einstieg erleichtern:
3D Math
- 3D Math Primer For Graphics and Game Development
Rendering Engine