22. Mai 2024

Studio Game 2 – Neuron Activation – W6

Hier geht’s zum Beitrag von letzter Woche

TL:DR am Ende des Blogs Google (Noto Color Emoji - Unicode 15.0)

Goblin Society

In den letzten Tagen hat unsere Goblin-Gesellschaft noch stärker Form angenommen. Jonas konnte eine erste Version des Location-Systems mit Aktivitäten implementieren, während Nadja und ich an den Assets für ebendiese Locations arbeiteten. Wie ein grosses, grünes, sumpfiges Puzzle kommen langsam alle Teile zusammen, die wir in unserem Spiel haben möchten. Dabei ist zwar vieles noch etwas grob und völlig unbalanciert, aber wir bewegen uns stetig auf unser gemeinsames Ziel zu: Eine Goblin-Simulation zu bauen, wie sie die Welt noch nie gesehen hat.

Hier ein aktuelles Gameplay-Video

Goblin Activities

Die Sprechblasen werden nun korrekt im 3D-Raum dargestellt, da die vorherige Projektion auf 2D seine Macken hatte. Jetzt sollten sie nicht wie vorher an derselben UI-Position stecken bleiben, sondern bleiben an ihrer designierten Position. Dank dem Billboard-Parameter und den Layers für die Projektion ist der Text auch auf von jedem Winkel sichtbar.

Ein Framework für Locations, an denen die Goblins ihre Aktivitäten durchführen können, ist grundlegend drin. NPCs bleiben für eine zufällige Dauer an dem Ort und für die Spielfigur kann manuell abgebrochen werden. Allerdings bewegen sich NPCs von selbst noch nicht an die Orte, und momentan ist nur der Königskopf tatsächlich im Spiel. Ein Ziel für nächste Woche.

Des weiteren gibt es noch leicht verbesserte Systeme für die Auswahl von Aktivitäten & Gesprächspartnern. Ausserdem können Spieler nun Konversationen verlassen und darüber reden, wie sie mit anderen Goblins gesprochen haben.

Goblin Law

Diese Woche hatte Nadja leider nicht so viel Zeit, dennoch konnte sie den Pranger und den Zaun fertig stellen. Der Pranger dauerte etwas länger, da sie sich später noch dazu entschied, die zwei Holzbarren, die zuerst die Planken hielten, durch Bäume zu ersetzen. Neben den Gliedmassen und Kleider, die sie von meinen Modellen übernehmen konnte, fertigte sie auch noch selber kleine Accessoires. Zum Beispiel das Messer, das im Pranger steckt. Ihr fehlen aber immer noch ein paar Assets. Sobald wir alle Assets für den Garten definiert haben, würde sie den Pranger gerne um ein paar Früchte oder Gemüse ergänzen, sofern wir solche Assets machen.

Praise the Goblin King!

Diese Woche habe ich den Goblin King modelliert, der als eine der fünf Aktivitäten dient, denen die Goblins nachgehen können. Dazu habe ich zwei Konzepte skizziert und anschliessend in Blender grob modelliert, um die Proportionen in 3D zu erfassen. Unter Absprache mit Nadja und Jonas habe ich dann die zweite Version des Königs, bei welcher der Kopf aus einem Kürbis gebastelt wurde und ohne Körper auf einem schäbigen Thron liegt, weiterverfolgt. Das Endresultat ist sehr nahe am Konzept, und funktioniert mit Nadjas Holz-Texturen wunderbar. Passend dazu habe ich eine Praise-Animation erstellt, bei welcher sich die Goblins ehrwürdig vor ihrem König verbeugen.

Goblins be Goblinin‘

Zu Beginn des Projektes setzten wir uns zum Ziel, LLM’s wie ChatGPT in unser Spiel zu integrieren, um authentische Dialoge zu generieren. Ursprünglich wollte sich Nadja dieser Aufgabe annehmen, aber da sie momentan stark mit den Environment-Assets beschäftigt ist, habe ich diese Aufgabe vorläufig übernommen. Die Idee ist dabei nicht, jeden gesprochenen Satz neu zu generieren, sondern während dem Spiel für jeden Goblin einen Katalog von individuellen Dialog-Stücken aufzubauen, die wiederverwendet werden. So möchten wir die Anzahl API-Calls minimieren, und trotzdem authentische Gespräche schaffen. Konkret funktioniert das so:

Der Goblin Arknark möchte ausdrücken, dass er zuvor den Goblin King verehrt hat. Arknark ist nicht gerade der Hellste. Wenn Arknark dies zum ersten Mal sagen möchte, senden eine API-Query an ChatGPT mit einigen Grundanweisungen, dem Namen des Goblins, seiner Persönlichkeit, und dem tatsächlichen Satz “I was worshipping the Goblin King”

Zurück kommt der Satz:
“Me worshipping goblin King, he big and powerful, me show respect, me bow down low!”

Der Goblin Bubaboi hingegen hat einen anderen, etwas eloquenteren Ausdruck, stottert dafür aber mächtig, und sagt deshalb:
“I was worship-worshipping the goblin King, yes-yes, a most noble and powerful ruler, indeed-indeed.”

Ich habe bereits ein Skript geschrieben, mit welchem wir von Godot aus Queries an ChatGPT senden können. Nun gilt es, das Ganze in Jonas’ Dialog-System einzubinden, damit wir während dem Spiel dynamisch die passenden Queries generieren können.

Zusammenfassung

Die Aktivitäten der Goblins sind schon grob implementiert und werden wohl noch diese Woche vollständig im Spiel sein. Die Assets dafür sind auf gutem Wege; Der Goblin King, der Steg für den Kult, der Pranger und der Zaun sind bereits fertig. Es fehlen nur noch die Crack-Rock-Mine sowie viele kleinere Assets für die Details. Während ich an der ChatGPT-Integration arbeite, werden die Animationen wohl etwas ins Hintertreffen geraten, aber das werde ich nächste Woche noch aufholen können. Das Dialog-System hat grosse Fortschritte gemacht: Von etwas hübscheren Sprechblasen, über Erinnerungen bis hin zu besseren Auswahlmöglichkeiten konnte Jonas vieles integrieren. Und bald werden unsere Goblins auch sprechen lernen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert