Crazy Chicken
Dieses Projekt ist eine Teamarbeit, welche im Rahmen des sog. Softwareentwicklungspraktikums (SEP) an der Uni entstanden ist. Aufgabe beim SEP ist es ein größeres Softwareprojekt umzusetzen, wobei die Themen der Projekte von den einzelnen Instituten der Informatik vorgegeben werden. Neben der eigentlichen Programmierarbeit ist außerdem noch gefordert, dass umfangreiche Dokumentationen abgegeben werden. So müssen zum Beispiel ein Pflichtenheft, Grobentwurf, Feinentwurf und Testdokumentation erstellt werden. Ein Prototyp soll bereits zur Mitte des Semesters lauffähig sein und vorgestellt werden und gegen Ende des Semesters findet der alljährliche "Tag der jungen Softwareentwickler" statt, an dem alle Projekte aus dem SEP öffentlich vorgestellt und bewertet werden.
Unsere Aufgabe war ein 3D Spiel in C++ zu entwickeln bei dem die Hauptfigur ein Vogel ist. So weit noch nichts besonderes. Allerdings war die Steuerung über Tastatur, Maus, Joystick, o.Ä. Tabu; sie sollte komplett über die Microsoft Kinect erfolgen. Das Team bestand aus sechs Mitgliedern (alphabetisch): Vildan Bagyetistiren, Dennis Franke, Ariana Prekazi, Julius Saretzki, Maximilian Töpfer und mir.
Das Spiel
Das Spiel beinhaltet eine kleine Story, wonach die Spielfigur (der Vogel) sich am Anfang im Himmel befindet und sich fragt, warum er gestorben sei. Er macht sich also auf den Weg zurück zur Erde und versucht das herauszufinden.
Das erste Level beginnt im Himmel über den Wolken, wo der Spieler nun Zeit hat die Steuerung des Vogels über die Microsoft Kinect auszuprobieren. Er kann dort frei herumfliegen, und für Zielübungen langsam herunterfallene Früchte einsammeln. Das Level ist automatisch beendet sobald sich der Spieler unter die Wolkendecke begibt.
Die erste Aufgabe die der Spieler zu bewältigen hat ist in dem anschließenden Level 2. Er befindet sich auf dem Sinkflug vom Himmel in Richtung Erde und muss dabei Früchte und optional Herzen einsammeln und gleichzeitig Wolken ausweichen. Trifft er eine der Wolken, so verliert er einen Lebenspunkt, die er allerdings wieder auffüllen kann indem er Herzen einsammelt. Ziel in diesem Level ist es durch das Einsammeln der (unterschiedlich bepunkteten) Früchte eine bestimmte Punktzahl zu erreichen.
Auf der Erde angekommen geht es in Level 3 darum Maulwürfe mit Eiern abzuwerfen. Dies lassen sich die Maulwürfe allerdings nicht ganz so einfach gefallen: sie werfen Kaffeemaschinen nach dem Spieler, der wiederum einen Lebenspunkt verliert, wenn er getroffen wird. Auch in diesem Level gibt es wieder herunterfallene Herzen, um die Lebenspunkte wieder auszufüllen. Nach zwei Arealen mit jeweils drei kleinen Maulwürfen gelangt man anschließend zu einem leicht überdimensionalen Maulwurf der mit entsprechend größeren Kaffeemaschinen wirft. Hat man diesen schließlich besiegt ist das Spiel zu Ende.
Sowohl im zweiten als auch im dritten Level gilt es nicht alle Lebenspunkte zu verspielen, denn sonst muss man das Level von vorne beginnen.
Entwicklung und Hintergrund
Wie man schon ahnen kann, hatten wir viel Spaß beim Entwickeln von CrazyChicken. Nicht nur mir - ich habe unter anderem die Steuerungsgesten programmiert - haben das eine oder andere Mal die Arme vom vielen Testen weh getan.
Zum Einsatz kamen bei der Entwicklung neben der üblichen Eclipse IDE mit CDT ein vom Institut gestellter SVN Server zur Versionsverwaltung und Blender zum Erstellen der Models, die im Spiel verwendet wurden. Zur graphischen Darstellung haben wir auf Ogre3D zurückgegriffen, für die Untermalung mit Hintergrundmusik und Soundeffekten arbeitete ein OgreSound Plugin und die Ansteuerung der Microsoft Kinect wurde uns durch OpenNI mit NITE erleichtert.