Evolution des Projektes
Wir wollen an dieser Stelle einmal zeigen, welche Schritte bisher benötigt wurden, um das Projekt zu entwickeln.
Projektvorgaben
Gamedesign erfordert ein hohes Maß an Kreativität. Um das Projekt in konkrete Bahnen zu bringen, gab der Dozent die folgenden Eigenschaften vor:
- Installation im MD.H-Foyer
- Game engine Unity 3D
- C# mit MS Visual Studio
- Computer vision mit Webcam
- Gestik und Sprache als Kommunikationskanäle
- Intuitiv, ohne Beschreibung, ohne Training
- FSK 0
- Einsatz eines Scrum-Boards
Jetzt waren alle Teammitglieder als Gamedesigner gefragt. Die positive Resonanz, die das Projekt Krazy Kindergarten erhalten hatte und die Projekte in der Veranstaltung "Künstliches Leben" (ebenfalls bei Prof. Dr. Marco Block-Berlitz durchgeführt, bei dem eine Unterwasser-Simulation entstanden ist) prägten wohl die Findungsphase :).
Brainstorming-Phase
Schnell hatten wir uns darauf geeinigt, eine Foyer-Installation zu entwickeln, die eine ruhige, natürliche Szene darstellt. In dieser Umgebung sollte ein kleines Tierchen leben, das mit der Welt und dem Betrachter interagiert. Es ist ein Fenster zu dieser Welt, bei dem der Besucher durch Vorbeilaufen beispielsweise das Gras und das Wasser in Bewegung bringt. Wenn er sich ruhig verhält, traut sich das kleine Tierchen auch heraus.
Als Projekte für die Designgrundlage wurden "Der Herr der Ringe" und "Petterson und Findus" ausgewählt. Das Tierchen sollte niedlich, flauschig und vor allem süss sein.
Erste Skizzen und Leveldesign
Die Motivationskurve stieg sehr schnell an, nachdem bereits nach einem Tag die ersten Skizzen vorlagen.
Wir hatten nun ein grafisches Konzept und es war an der Zeit die Welt grob zu entwerfen.
Damit die Welt für das Lebewesen plausibel ist, muss es Essen, Trinken und Schlafplätze
geben. Da sich das Tierchen meistens verstecken soll, muss es sehr viele
Versteckmöglichkeiten geben.
Das Leveldesign ergab die folgende Grundlage für das Spiel:
Prototyp 1 (nach 4 Tagen)
Es hieß: Rapid Prototyping! Der erste Prototyp sollte mit Dummy-Objekten so schnell wie möglich entworfen werden. Ein oranger Ball war stellvertretend für das Tierchen vorhanden.
Ab jetzt wurden parallel am Verhalten, der Wegefindung, dem Soundkonzept, der Bewegung von Gras und Wasser sowie dem Vision-Modul gearbeitet.
Vision-Modul
Für das Vision-Modul waren zunächst zwei Funktionen zu entwickeln: Eine Erkennung für Gesichter im oberen Bildbereich und eine Bewegungserkennung im unteren Bildbereich.
Die Gesichtserkennung wurde mit einem Verfahren basierend auf Viola-Jones entwickelt. Da die Lichtverhältnisse im Foyer konstant sind, konnte eine einfaches Difference-of-Frames-Verfahren für die Bewegungserkennung eingesetzt.
Bewegung von Gras und Wasser
Die von dem Vision-Modul identifizierten Bewegungen im unteren Bereich der Szene sollen Gras und Wasser an
den entsprechenden Stellen in Bewegung bringen.
Ein kleines Youtube-Video soll einen Eindruck für die Bewegung geben:
Wegefindung und Wasser unter Unity
Wegefindung mit dem A*-Algorithmus ist unter Unity mit dem Tool von Aron Granberg eine feine Sache. Das Mesh kann dynamisch in Unity erzeugt und intuitiv manipuliert werden. Seine Projekte haben dazu geführt, dass er heute selbst an der Unity-Engine mitentwickelt.
Das Wasser wurde von Ben Britten
entwickelt und stellte sich für unser Projekt als ziemlich nützlich dar. Der Code ist sehr gut lesbar und es
funktioniert tadellos!