_game developement

Vor ein paar Jahren habe ich angefangen, mich mit der Entwicklung von Computerspielen zu beschäftigen.
Dies war auch der Moment, als ich das erste Mal mit der Programmierung in Berührung kam. Zunächst eher als ein lästiges Thema, um das man nicht herum kommt, wenn man ein Spiel entwickeln will, wurde dies flott mein Hauptaufgabengebiet.
Zusammen mit einem Freund, dessen Augenmerk vorrangig auf der Erstellung von 3D-Modellen liegt, habe ich seit dem einige Projekte ... na ja, wenn auch nicht fertig gestellt, so doch wenigstens in ein Stadium gebracht, das vorzeigbare Ergebnisse enthält.
Die will ich an dieser Stelle nicht vorenthalten.

Turret

IngameMenue

Unsere erste Idee war ein simples Casual-Game. Es war nicht wirklich unsere Absicht, es fertig zu stellen, sondern diente vorrangig dazu, uns in die Entwicklungsumgebung (Unity), Tools, Workflows usw. einzufinden.
Zudem haben wir gelernt, wie viele Rollen allein an solch einem eher kleinen Game beteiligt sind und haben diese, so gut es ging, unter uns aufgeteilt. Der Turret lässt sich über die Mausbewegung steuern, kann Projektile abfeuern und die nahenden Einheiten, die nicht die Linie auf seiner Höhe überqueren dürfen, abballern.
Der Ingame-Screenshot zeigt leider nicht den Turret, dieser befindet sich rechts außerhalb des Bildschirms. Als ich das Game zuletzt geöffnet hatte - das ist echt schon eine Weile her - , war er noch zu sehen. *Schulterzuck*

Red Arena (Single Player Battle Arena)

Es folgte die Idee eines Arena-Games, in dem sich der Spieler in Topdown-Sicht mittels Controllersteuerung und bewaffnet mit Schwert und Schild durch verschiedene Gegnerhorden schnetzelt.
Der Grundgedanke war so dem immensen Aufwand der Levelgestaltung zu entgehen. Die Gegner sollten in Wellen angreifen und zwischenzeitliche Bosskämpfe besondere Herausforderungen darstellen.
Das nächste Problem zeigte sich sehr schnell: Die Modellierung und Animation von humanoiden Wesen. Außerdem wollten wir gemäß dem Projektnamen nicht mit Blut geizen - es sollte ein Hauptelement sein; flüssig und reichlich sollte es durch die Gegend regnen, so dass der Spieler sogar in der Lage sein sollte, damit diverse Gefäße zu füllen und Objectives zu treffen, was ihm Boni verschaffen sollte. Die Darstellung/Programmierung ist allerdings deutlich zu advanced für uns Newbies gewesen (und ist es in der Form noch immer, Fluids habe es in sich). Was blieb, war der Name und eine Vorstellung vom thematischen Design; beides nahmen wir mit ins nächste Projekt.

Red Arena (Platformer)

Die Screenshots zeigen einen Progress über mehrere Monate - von 2D zu 3D.

1 / 8
Erster Entwurf, noch in 2D
2 / 8
Langsamer Wandel in 3D
3 / 8
4 / 8
5 / 8
Schließlich erhielt auch die Spielerfigur eine 3D-Gestalt (Dank Unity-Assetstore).
6 / 8
Loadingscreen
7 / 8
Der erste Gegner wurde ebenfalls dank Assetstore in 3D umgewandelt.
8 / 8
Der zweite Gegner (Archer) genauso.

Unser bislang ambitioniertestes Projekt, von dem sogar 3 Level spielbar sind. Das Basiskonzept sieht einen klassischen Platformer vor, bei dem der Spieler einen Recken durch Verließe steuert, kleinere Rätsel löst, auf Monster eindrischt und (ja, deswegen blieb auch der Name), dabei viel Rot in den Leveln verteilen darf. Wir erstellten zum ersten Mal ein Game Design Document, das komplette Environment wurde von meinem Kumpel selbst erstellt und immer wieder verbessert. Wir setzten uns zum ersten Mal mit Lighting auseinander, weil dies auf einmal ein erheblicher Performancefresser wurde. Das Thema hat uns ein paar graue Haare gekostet.
Ich lernte einiges über Leveldesign, aber auch über GUI-Programmierung, über Menüs und dem permanenten Halten von Daten. Ich scheiterte an Shaderprogrammierung in C, lernte aber einiges über Patterns, Vererbung und der Programmierung von diversen Game-Controllern. Doch irgendwann war der Horizont für mich dahingehend ausgelotet, dass ich nur noch sporadisch etwas Neues dazu lernte. Das Grundkonzept des Level-Zusammenflickens war von vorneherein suboptimal gelöst und würde ich heutzutage anders umsetzen. Aber das Kind war in den Brunnen gefallen. Also schaffte ich nur 3 Level, bevor mich dann gänzlich der Elan verließ und ich endlich etwas Neues lernen wollte. Und so kam es zu...

Red Arena (ARPG)

... bei dem wir zum ersten Mal die Unreal Engine ausprobierten. Wir behielten wiederrum Name und optisches Konzept bei, aus den bekannten Gründen der Zeitersparnis.
Dabei musste ich mich erstmal mit C++ auseinandersetzen. Dadurch entwickelte ich ein etwas tieferes Verständis für einige Prozesse und Konzepte, die ich in C# bislang als gegeben hinnahm. Und zum ersten Mal beschäftigte ich mich auch mit der Entstehung von Programmiersprachen, mit ihrer Funktionsweise, mit ihrer Übersetzung in Maschinencode. Aber ... mit dem Spiel selbst ging es nur sehr schleppend voran. Ein GDD musste erstellt werden, die neue Entwicklungsumgebung, eine Programmiersprache mit einer hohen Einstiegshürde, all das führte dazu, dass wir das Projekt wieder fallen liessen.

Bomber Pilot

In einer Phase, in der ich mich für die Entwicklung von Inhalten für mobile Entgeräte interessierte (zunächst für Android mittels Java und Eclipse, dann mittels Xamarin für alle drei großen OS'), probierten wir uns an einem kleinen Bomber-Game. Der Spieler steuert ein Flugzeug und wirft durch einen einfachen Tap auf den Bildschirm Bomben auf Bunker, Panzer und andere Ziele ab. Nichts Wildes. Damit kam auch die Rückkehr zu Unity. Es blieb jedoch bei einem Prototypen mit Platzhaltern, wirklicher Enthusiasmus hatte sich bei dem Projekt nicht entwickeln wollen.

Mech Tactics

Das aktuelle Projekt. Uns schwebt ein rundenbasiertes Strategiespiel vor. Als Hauptinspirationsquelle dient uns Darkest Dungeon. Derzeit programmiere ich mit Hilfe von Unity an einer Engine für die Kämpfe.