Wer gerne Videospiele spielt, hat sich vielleicht schon mal darüber Gedanken gemacht, wie es wäre ein eigenes Spiel zu programmieren und dann anderen zum Spielen zur Verfügung zu stellen.
Dieses Vorhaben kann allerdings etwas anspruchsvoller sein, als man sich zunächst vorstellt. Welche Arten von Videospielen man erstellen kann, wie Spiele funktionieren und was man zur Programmierung alles wissen muss, lernst du in diesem Artikel.
Was macht die Programmierung von Videospielen aus?
Die der Erstellung eine Spiels hängt in erster Linie davon ab, was für ein Spiel man eigentlich programmieren möchte. Von einfachen 2D-Spielen bis zu 3D-Grafikknallern ist alles möglich, aber auch unterschiedlich aufwendig.
Ein Quizspiel für Mobilgeräte ist nunmal schneller programmiert als ein 2D-Multiplayer Spiel mit realistischer Physik. Daran erkennt man auch schon, das alleine das Spielgenre beinflusst welchen Aufwand man treiben muss um das Spiel überhaupt umsetzen zu können. Dazu kommt welche Plattformen man bedienen möchte: Von Konsolen, Handheld über PC und Mobilgräte ist alles möglich aber auch unterschiedlich aufwendig. Man kennt es vielleicht von Exklusivtiteln für Konsolen.
Bis ein Spiel welches nur für eine Konsole entwickelt wurde für andere Konsolen oder den PC veröffentlicht wird dauert eine ganze Weile. Das bekannteste und aufwendigste Beispiel ist GTA5. Dieses Spiel wurde 2013 für die Xbox360 und Playstation 3 veröffentlicht. 2014 folgten Xbox One und Playstation 4 und erst im April 2015 wurde das Spiel für den PC veröffentlicht.
Falls du daran denkst, dass dein Spiel so umfangreich wie ein GTA5 werden soll, solltest du wissen, dass bei der Entwicklung von GTA5 über 1000 Menschen beteiligt waren und die Entwicklung des Spiels umgerechnet 191,2 Millionen € gekostet haben soll. Es ist die bisher aufwendigste und teuerste Spielentwicklung überhaupt und zeigt damit sehr genau wie schwer es sein kann Spiele zu programmieren.
Wie ein Videospiel funktioniert
Die Komplexität eines Spiels zeigt sich, wenn man mal genauer unter die Haube schaut. Wenn man Videospiele spielt hört man öfter mal vom Begriff FPS. Dies ist die Abkürzung für Frames per Second. Doch was bedeutet dieser Begriff? Schaut man sich die Spielmechanik an, dann sieht folgenden Ablauf:
- Eingabe
- Verarbeitung
- Ausgabe
In der Eingabe werden Informationen zum Spielablauf eingeholt. Das bedeutet, Tastatur- und Mauseingaben auswerten oder GameControllerdaten einholen. Eventuell benötigt man sogar Daten aus dem Internet zum Beispiel bei Multiplayerspielen.
Dann gibt es natürlich noch Informationen zum aktuellen Spielstand, also wo befinden sich die Spieler, wer hat zuletzt welche Aktion durchgeführt und welche Animationen waren im letzten Schritt aktiv.
Diese Informationen müssen für den nächsten Schritt bereitstehen. Denn im Verarbeitungsschritt wird dann alles berechnet: Die nächste Spielerposition und -animation, die Spielregeln werden ausgewertet. Hat ein Spieler schon gewonnen, oder hat ihm grade etwas anderes geschadet. Kann ein Gegenstand durch eine Wand oder muss dieser abprallen? Also Effekte, Spielregeln, Physik und Bewegungen.
Spiele-Berechnungen
Diese ganzen Berechnungen werden in diesem 2. Schritt ausgewertet, das Ergebnis ist dann ein Spielzustand, der ausgegeben werden kann. Und damit ist man schon im dritten Schritt angekommen: Der Ausgabe. Nun werden die benötigten Objekte auf den Bildschirm gezeichnet, Soundeffekte oder Musik abgespielt, Controller zum vibrieren aktiviert und bei Multiplayerspielen die aktuellen Daten zum Server geschickt. Und dann geht das ganze von vorne los. Dies nennt man die GameLoop.
Was glaubst du wie oft das geschehen muss, damit du ein flüssiges Spiel zocken kannst? Mindestens 24 mal in der Sekunde müssen diese 3 Schritte abgearbeitet sein, ansonsten wirkt es für dein Auge, als wenn das Spiel stockt. Besser sind 30, 60 und bei 3D/VR-Spielen sogar 90 Durchläufe pro Sekunde.
Im Endeffekt wird bei jedem Durchlauf ein Bild erstellt, im englischen spricht man da von einem Frame. 24 berechnete Bilder pro Sekunde ergeben also 24 FPS. Das coole bei der Programmierung ist: Es gibt sogenannte Spielengines also Spielmaschinen, die einem die Arbeit dabei erleichtern.
Erstellung eines Videospiels
So schnell wie die Gameloop Bilder pro Sekunde auf den Bildschirm zaubert ist die Erstellung eines Spiels leider überhaupt nicht. Selbst wenn man bereits alle notwendigen Details der Programmierung kennt und genug Erfahrungen hat, ist der Aufwand hoch.
Man durchläuft einen typischen Software Entwicklungsprozess und muss dazu noch ein paar Dinge zusätzlich anfertigen. Die Veröffentlichung und Vermarktung des Spiels wurden dann hier noch gar nicht beachtet. Alles Schritte sehen in etwas so aus:
- Idee/Konzept
- Planung
- Prototyperstellung
- Erstellen aller Spielinhalte
- Programmierung
- Testen
- Veröffentlichen
- Vermarktung
Das einfachste und das was am meisten Spaß macht ist das Tüfteln an der Idee und dem Konzept. Damit kann man sich monatelang aufhalten, wenn man will. Allerdings sollte man dies nicht übertreiben und schnell zur Planung voran gehen. Dort legt man dann Umfang des Spiels, ein Budget und den Zeitplan fest: Übrigens sind das 3 fest zusammenhängende Werte die sich gegenseitig beeinflussen.
Beispiel: Hast du dein Spiel sehr umfangreich konzeptioniert, hast aber nur wenig Budget, solltest du für dein Spiel viel zeit einplanen.
Hast viel Budget kannst du selbst entschieden ob das Spiel umfangreicher werden soll oder es lieber schneller fertig sein soll. Wenn du am Anfang stehst, solltest du dir lieber einen festen Zeitpunkt suchen und dann einmal schauen, wie umfangreich du dein Spiel in der gegebenen Zeit erstellen kannst.
Und da geht es dann auch schon los, du erstellst den ersten Prototyp für dein Spiel. Da testest du im groben und ganzen die Spielidee und prüfst ob das ganze überhaupt so umsetzbar ist, wie du es dir vorgestellt hast. Meistens merkt man da dann erst wieviel Zeit oder Budget man tatsächlich benötigt. Den Prototyp kann man Nutzern vorstellen und einfach damit herausfinden ob die Spielidee gut ankommt.
Da macht es auch noch nichts aus, wenn die Grafiken oder Soundeffekte noch nicht ganz ausgereift sind. Diese benötigst du dann im nächsten Schritt. Je nach dem was du für ein Spiel erstellst ist das eine Menge Arbeit. Grafiken, 3D-Modelle, Soundeffekte, Musik, Animationen müssen an dieser Stelle erstellt werden. Je mehr man sich vorgenommen hat um so mehr muss man hier leider tun. Nur selten bekommt dies eine Person alleine hin.
Parallel dazu bzw. danach kann mit der Programmierung gestartet werden. Hier wird dann das endgültige Spiel programmiert: Die Inhalte werden mit dem Code zusammen gebracht und das Spiel wird getestet.
Bis alle Fehler draussen sind und das Spiel wie gewünscht funktioniert kann es etwas dauern. Die Schritte Veröffentlichung und Vermarktung sind dann noch Aufgaben die ontop kommen, aber einfach von einem selbst abhängen.
Wenn du nur nebenbei dein Spiel programmiert hast, kann es sein, dass du es vielleicht nur deinen Freunden zeigen möchtest. Dann kann es sogar sein, dass du bereits mit dem Prototypen zufrieden bist. Eins vorweg, mit deinem ersten Computerspiel wirst du zu 95 % noch kein Geld verdienen können, aber vielleicht ist dein 3 oder 4 Spiel so ausgereift, dass du damit Erfolg haben kannst.
Was musst Du zum Spieleprogrammieren können?
Um das alles durchführen zu können muss man quasi ein Multitalent sein. Nein, ganz so schlimm ist es dann doch nicht. Für den Anfang sollte man wirklich kleine Spiele bauen, die an einem Wochenende programmierbar sind. Hierfür kann man zum Beispiel Javascript lernen und dann mit der Phaser-Bibliothek starten.
Wie man damit anfängt lernst du beispielsweise in unserem Anfängerkurs. Also, bleibt eigentlich nur noch folgendes: Fang jetzt an!
- Programmiere echte Apps als Anfänger
- Keine Installation, sofort loslegen
- Komplett praxisbezogen
- Zugriff auf Online-Editor