Ein ewiger Dauerbrenner in den Programmierforen, meist von etwas unbeholfen wirkenden Newbies, was die Alteingesessenen gerne zum Anlass nehmen, gleich mal richtig loszulegen (ich nehme mich da nicht aus ). Aber, so habe ich mir gedacht, warum nicht mal einen kleinen Überbllick geben, wie man sich der Materie der Spieleprogrammierung (dieser Begriff wird im folgenden benutzt für ein PC-Spiele mit 3D-Grafik unter Verwendung einer Game-Engine)?
Dies ist für absolute Newbies und soll nur eine kleine Empfehlung darstellen.
Zunächst einmal muss man sich mit einer Programmiersprache (in die ängere Wahl kommen C++, Java oder auch C#, auch andere sind möglich, bitte hier keinen der üblichen Sprachen-Kriege starten) genau auseinandersetzen. Damit meine ich nicht ein paar Tutorials oder ein 200 Seiten Buch, sondern ein Standardwerk, dass Durchhaltevermögen und Motivation erfordert. Auch dies bermittelt nur Basis-Wissen, aber es ist absolut unerlässlich.
Hier ein paar konkrete Empfehlungen für die Programmiersprache C++: "C++ Primer"; "Die C++ Programmiersprache"
Neben diesen Standardwerken kann man auch noch einige allgemeine Empfehlungen für C++ aussprechen, die mir sehr sinnvoll erscheinen:
- Modern C++ Design (sehr anspruchsvoll = +++)
- Exceptional C++ (++)
- More Exceptional C++ (++)
- The C++ Standard Library (+)
- Bücher von Scott Meyers
Diese Liste lässt sich weiter fortsetzen und ähnlich für andere Sprachen aufstellen.
Soweit man diese Basics wirklich verinnerlicht hat, was je nach Zeit und Motivation wohl mehr als 1 Jahr dauert, kann man sich daran machen, sich in Richtung Spieleentwicklung zu spezialisieren.
Hierzu unerlässlich sind Kenntnisse in Vekoren, Matrizen und anderen mathematischen Bereichen. Hierzu sollte man entweder im Web nach Tutorials suchen oder aber geeignete, auf Spieleentwicklung spezialiserte Lektüre benutzen, etwa "3D Math Primer for Graphics and Game Developement".
Nun kann man allmählich genauer überlegen, welche Spiele man wofür entwickeln will. Sollen die Spiele auf verschiedenen Plattformen laufen? Vielleicht sogar auf mobilen Geräten? Welche Art von Spiel soll es werden? Ein Online-Game?
Hat man sich darüber Gedanken gemacht, kann man sich eine Game-Engine suchen. Genannt seinen hier Irrlicht und Ogre.
Jetzt kommt man zu einem schwierigen Schritt: Wie findet man ein Team? Es ist sehr sinnvoll als jemand, der erst mit der Spieleprogrammierung beginnt, ein Team zu finden, dass einen bei Fragen unterstützt. Ein Spiel alleine zu entwickeln ist möglich, nur ist das wohl kaum die Art von Spiel, die man sich erhofft hat. Es gibt diverse Foren, etwa Programmiersprachen oder Engine-spezifische, aber auch Spieleprogrammierforen im allgemeinen.
Hat man dies erstmal hinter sich, wird man sehen, wie breit-gefächert die Spieleentwicklung ist. Man wird unweigerlich auf KI, Shader, ... stoßen und kann so immer weiter dazu lernen, je nachdem, was man gerade tut. Man wird kaum an dem Punkt anlangen, an dem man nichts neues mehr findet, dass es sich lohnt, genauer zu ergründen.
Ich hoffe damit einen kleinen Ausblick gegeben zu haben, oder auch eine Orientierung. Ich hoffe auf konstruktive Kritik und eine lebhafte Diskussion