Locksher und Sonwat

locksher_and_sonwat

Locksher auf dem Planeten Nedu mit Iffsher Lucky Kelu im Hintergrund

Ebenfalls im Wintersemester 12/13 habe ich die Veranstaltung Praktikum 3D Game Programming besucht. Ziel der Veranstaltung war es ein Action-Adventure Game mit Hilfe von Unity3D im Team zu erstellen.

In dem Game mit dem Namen Locksher und Sonwat (angelehnt an Sherlock und Watson) geht es darum dass Sonwats Frau entführt wurde und die beiden Helden versuchen Sie zu retten. Dazu müssen Sie durch die Galaxy reisen und verschiedenste Aufgaben bewätigen.

Jeder Teilnehmer hatte nun die Aufgabe eine Szene zu erstellen in denen Locksher und Sonwat eine Aufgabe erfüllen müssen. Meine Szene stellt einen Wüstenplanet dar auf dem gerade der Geburtstag des Gegenwärtigen Iffshers in einer Westernstadt gefeiert wird. Die Aufgabe der beiden Protagonisten war es nun gegen den Iffsher im Wettschießen zu gewinnen und somit dem Ziel der Befreiung von Sonwat’s Frau näher zu kommen.

Am Ende der Veranstaltung sollte noch das Spiel dokumentiert und präsentiert werden. Das Ergebnis kann mit dem Unity Webplayer gespielt und hier gefunden werden.

Fahrbares Fahrzeug mit Netzwerkfunktion

fahrbares_fahrzeug_mit_netzwerkfunktionIm Wintersemester 12/13 habe ich in der Veranstaltung Graphische Simulation die ersten Erfahrungen mit der Gameengine Unity3D gesammelt. Das mir gestellte Abschlussziel der Veranstaltung war es über Netzwerk ein Fahrzeug zu steuern. Dazu gehörte das simulierte Ein-  und Aussteigen in das Fahrzeug sowie das fahren mit Animation der Steuerung des Lenkrades und der Reifen. Diese Aufgabe sollte mit Hilfe der Gameengine Unity3D umgesetzt werden.

Creep Smash

IngameScreenTowerSelection

Hier sieht man das Spielfeld vom Spieler davkro, welcher bereits zwei Türme zur Verteidigung aufgestellt hat.

In der Verantstaltung  Softwareengineering im Sommersemester 2012 wurde uns die Aufgabe gestellt im Team von 8 Leuten einen Client für das Multiplayer Towerdefense Spiel Creep Smash zu entwickeln. Außerdem sollte eine KI, die gegen andere entwickelte KI’s spielen kann und Editor um eigene Spielkarten zu erstellen entwickelt werden.

Meine Aufgabe bestand größtenteil daraus die Benutzeroberfläche mit Hilfe von NiftyGUI zu erstellen. Später habe ich zwei weiteren Studenten bei dem Umgang mit LWJGL unterstützt. Hierbei war die Beleuchtung und die Platzierung von Modellen im Vordergrund. Als letztes habe ich mich zusammen mit Richard Petersen um die Logik der KI gekümmert.

Neben der Entwicklung wurden alle zwei Wochen ein Scrum-Master und ein Product-Owner gewählt um die Projektleitungsfähigkeiten nach Scrum auszubauen. Während den zwei Wochen sollte man Aufgaben verteilen und am Ende den Fortschritt dem Kunden vorstellen.

Material Light Editor

material_light_editor

Ein texturierter Donut mit aktiviertem Toon Shader

Richard Petersen und ich haben uns kurz nach Studienbeginn überlegt ein größeres Spiel zu programmieren, was sich bis heute nicht geändert hat. Allerdings mussten wir mit Bedauern feststellen, dass wir dafür viel mehr know-how brauchten, als wir zu diesem Zeitpunkt hatten. Nach vielen Neuerkenntnissen haben wir uns entschieden unser Spiel mit LWJGL zu schreiben. Außerdem wussten wir unser Spiel soll in 3D geschrieben werden. Nach weiteren Monaten des Tutorials durcharbeiten haben wir gemerkt, dass die Materialfindungen einzelner Modelle in einer Szene sehr schwierig ist. Aus diesem Grund habe ich ein Programm geschrieben, mit dem das Material von Modellen sowie das Licht in der Szene live verändert werden kann. Außerdem habe ich einen Toon Shader geschrieben um die Auswirkungen auf das Material zu untersuchen.

Erste Schritte zum Spieleprogrammierer

shot_the_balls asteroids fillerBeim Studienbeginn zum Informatiker habe ich mit dem Spiele programmieren angefangen. Richard Petersen ein Kommilitone, der mich durch das Studium begleitet und schon vorher Erfahrungen mit der Spieleentwicklung hatte, fragte mich ob wir nicht gemeinsam Spiele entwickeln wollen. So kam es, dass ich, angefangen mit Java2D über Java3D bis hin zu LWJGL, kleinere Spiele entwickelte und eine Menge Tutorials durcharbeitete.

Dadurch entstanden unter Anderem ein Spiel, bei dem es darum ging Kugeln abzuschießen, bevor sie den Bildschirmrand verlassen,  ein Spiel was auch unter dem Namen Asteriods bekannt ist und eines welches auf der Spielidee Filler basiert. Filler ist dabei bisher das Letzte 2D Game was ich mit Hilfe von LWJGL programmiert habe und zudem schon etwas physikalisches Verständnis verlangte.