Hier geht’s zum Beitrag von letzter Woche
TL:DR am Ende des Blogs
Die Gerüchteküche brodelt
Nach einer Besprechung mit Dragica und Sebastian setzten wir uns zusammen, um das Interaktionssystem der Goblins zu überdenken. Dabei haben wir ein System konzipiert, das den Goblins erlaubt, über Dinge zu sprechen, die sie gehört oder gesehen haben. Die bisherigen Dialogmöglichkeiten, wie etwa „I like gardening!“, oder „I hate Billy!“, sind ebenfalls in diesem System integriert. Was das Ganze interessant macht, ist dass die Spieler:in selbst keine Erinnerungen besitzt, und deshalb Gehörtes und Gesehenes frei erfinden kann – im Gegensatz zu den NPCs kann sie also lügen! Doch wer dies unüberlegt tut, soll gestraft werden: Hören Goblins Gerüchte von einer Person, der sie nicht vertrauen, werden sie widersprechen. So zumindest das Konzept – ob es in der Umsetzung so funktioniert, wie wir uns es vorstellen, steht noch in den Sternen.
Goblins go 3D
Diese Woche haben wir mit dem 3D-Prototypen begonnen. Als erstes wurde Pathfinding für NPCs und die Spielfigur sowie eine dem Spielcharakter folgende Kamera eingebaut. Die Spieler:in kann sich mithilfe der Maus fortbewegen, und durch Klicken auf einen NPC das Interaktions-Menü öffnen. Darüber kann man eine Konversation starten, bei der auf die Erinnerungen der Goblins zugegriffen wird und sie zufällig über eine dieser Erinnerungen zu sprechen beginnen. (Diese Erinnerungen sollten in einer späteren Version durch die Aktivitäten ausgelöst, im “Schlaf” der Goblins verarbeitet und wiederum über die Konversationen zu anderen Charakteren verbreitet werden.) Die Spielfigur besitzt, wie oben erwähnt, keine eigenen Erinnerungen, dafür kann eine Aussage in einem separaten Menü zusammengebastelt werden. Ausserdem sind die Goblin-Models mit variablen Blend-Shapes und Kleidungsstücken sowie einer Lauf-Animation schon im Prototypen drin, was ihn schon ein gutes Stück hübscher als die 2D-Variante darstellt.
Ganz zufrieden mit der aktuellen Implementation ist Jonas noch nicht: Die Sprechblasen für die Konversationen sind momentan ziemlich unschön & unleserlich, da könnten wir uns noch ein anderes System einfallen lassen. Das grundsätzliche Verhalten muss vom 2D-Prototypen nochmal neu mit der umgebauten Klassen-Struktur implementiert werden. Die Logging-Tools, die im letzten Blog-Eintrag erwähnt wurden, müssen ebenfalls noch eingebaut werden.
Hier eine Vorschau zum aktuellen Stand
Shape-Key-Shenanigans
Nadja hat sich diese Woche an modularen Häusern versucht. Hierbei hat sie eine Grundform definiert und wollte durch Shape Keys erreichen, dass die Häuser durch Verformungen immer etwas anders aussehen. Jedoch stiess sie dabei auf mehrere Probleme.
Haus mit verschiedenen Shape-Key-Parametern
Die Veränderungen sind eher unscheinbar. Da stellt sich die Frage, ob es den Aufwand überhaupt Wert ist, die Shape Key’s in den Code einzubauen, wenn der Unterschied so klein ist, dass er kaum auffällt. Die grösste Veränderung wird vermutlich eher durch das Dach und den Eingang erreicht.
In Godot wiederum wurden die simplen Planken je nach Winkel falsch dargestellt. Nadja konnte im Internet dazu noch keine Lösung finden. Ihre Vermutung liegt darin, dass sich entweder das Grid oder die Normals verändert haben. Aufgrund ihrer fehlenden Erfahrung mit Godot hat sie sich fürs Erste ein paar Tutorials angeschaut, um die Funktionsweise der Engine besser kennenzulernen. Ihr Ziel dabei ist es, später den Teil des Codes zu übernehmen, der beim Start des Spieles die Häuser spawnt.
Into the Goblinverse
Nachdem ich letzte Woche erste Outfit-Designs entworfen habe, begann ich in den letzten Tagen, sie tatsächlich zu modellieren. Bisher konnte ich ein Paar Stiefel, ein Hut sowie je zwei Hosen und Shirts fertigstellen. Ausserdem habe ich den Fisch modelliert, welchen der Spielercharakter sowie die zum Kult konvertierten Goblins tragen.
Bevor ich jedoch massenweise Assets produziere, habe ich mich der Animation gewidmet. Dies besonders deshalb, weil Nadja und ich den visuellen Stil des Spiels noch nicht ganz festgelegt haben – die Shader in Godot auszuprobieren steht immer noch an. So möchte ich verhindern, dass im Nachhinein viele Assets überarbeiten muss.
Dank dem Rigify-Plugin konnte ich den Goblin relativ schnell für die Animationen präparieren. Für den Fischkopf fügte ich den Basis-Rig zusätzliche Knochen hinzu, welche nur auf das Fisch-Mesh Einfluss haben. Das hat den Vorteil, dass ich das gleiche Rig auch für die normalen Goblins verwenden kann, was wiederum die Implementierung in Godot stark vereinfacht.
Nach einer längeren Besprechung mit dem Team konnte ich eine Animations-Liste erstellen, welche ich momentan abarbeite. Sie beinhaltet Animationen für normale Goblins sowie Kultmitglieder, und ist nach Priorität organisiert, sodass die wichtigsten Animationen möglichst bald fertig sind. In der letzten Woche konnte ich schon die Walk-, Idle-, und drei Talk-Animationen fertigstellen. Für die von Fischen besessenen Kult-Goblins habe ich eine Idle- und Walk-Animation erstellt. Ausserdem habe ich mit einer längeren Sequenz begonnen, in welcher ein unschuldiger Goblin von einem Fisch überwältigt wird. Diese soll zu Beginn des Spiels, wie auch wenn ein NPC dem Kult beitritt, zu sehen sein.
Hier der aktuelle Stand der Animationen
Zusammenfassung
Die Migration vom 2D in den 3D-Prototypen ist in vollen Gängen. Zwar gibt es beim UI noch Luft nach oben, aber unter der Haube steht schon vieles. Jonas arbeitet weiter am Interaktionssystem der Goblins, damit sie nicht nur leere Phrasen, sondern Aussagen über tatsächliche Erinnerungen von sich geben. Auch im Visuellen geht es stetig voran: Nadja hat sich an die Schnittstelle zwischen unseren Assets und Godot begeben, und arbeitet an einer Lösung für die Shape-Key-Shenanigans. Währenddessen habe ich mit dem Animieren begonnen, um unseren Goblins leben einzuhauchen.
In der nächsten Woche steht an, das Interaktionssystem weiter zu vertiefen und auszubauen, und die Grafik unseres Spiels weiterzuentwickeln. Das Projekt nimmt langsam aber sicher Form an, auch wenn hier und da Stolpersteine im Weg liegen.