DevLog 04
Traumgenerierung & Spieleranimationen.

Michael Schöffel
21. Oktober 2024
10 Min. Lesezeit
Traumgenerierung
Die letzte Woche war sehr produktiv. Ich bin ein gutes Stück vorangekommen. Zuerst habe ich die Traumgenerierung abgeschlossen. Hier werden nun die mit dem Editor-Tool erstellten Traumvorlagen in reale Spielwelten umgesetzt. Konkret läuft das jetzt so ab: Ich erstelle mit dem Editor Tool Vorlagen für Träume. Dort definiere ich die Raumkategorien und deren Verknüpfungen. Zum Beispiel ein Traum mit einem Eingang und einem Korridor zu einem kleinen Raum. Für jedes Setting erstelle ich so eine Vielzahl an Vorlagen. Hier als Beispiel zwei Vorlagen für ein Setting:


Für jedes Traumsetting erstelle ich dann mehrere dieser Traumvorlagen. Im Moment habe ich zwei Vorlagen für das erste "Dungeon"-Setting. Später werden es natürlich viel mehr sein. Außerdem gibt es für jede Raumkategorie, die ich in den Vorlagen verwenden kann, auch mehrere Umsetzungen in der Spielwelt, die ich den konkreten Vorlagen als Sammlung hinzufügen kann. Momentan habe ich zum Beispiel für die Kategorie "kleiner Raum" fünf verschiedene Umsetzungen. Natürlich werden es später im fertigen Spiel auch hier noch deutlich mehr werden, aber für den Moment sollte es reichen. Ab hier beginnt die Magie des Traumgenerators. Dieser wählt zunächst zufällig eine Traumvorlage aus, die zum Setting passt. Aufbauen auf dieser Vorlage wird dann der Traum generiert. Aus der Sammlung der Räume, die der Vorlage mitgegeben wurden, werden dann zufällig passende Räume gewählt und diese wie vorgegeben miteinander verbunden. Überschüssige Eingänge der Räume werden dann verschlossen, sodass der Raum am Ende eine in sich abgeschlossene Einheit darstellt. So habe ich zwar keine 100-prozentige Zufallsgenerierung der Träume, aber doch eine enorme Vielfalt an Träumen und ich kann sicher sein, dass immer gut stimmige Träume entstehen und keine langweiligen, schlauchartigen oder überkomplexen Träume. Hier sind zwei Beispiele, wie der Traumgenerator die beiden obigen Vorlagen in eine reale Spielwelt umgesetzt hat. Hier ist schön zu sehen, wie die Räume zufällig ausgewählt und verbunden werden. Ein kleiner Raum in dem einen Traum ist nicht derselbe kleine Raum wie in dem anderen Traum.


Insgesamt bin ich mit der Traumgenerierung sehr zufrieden. Für das fertige Spiel müssen nur noch einige Inhalte erstellt werden. Aber vorher muss ich sowieso noch den Grafikstil anpassen. Mehr dazu weiter unten. Aber wenn dann genug Inhalte zu verschiedenen Settings, Raumkategorien und Traumvorlagen vorhanden sind, sollten sehr schöne und abwechslungsreiche Träume entstehen. Ich freue mich schon darauf, die ersten Träume im fertigen Spiel zu sehen.
Spieleranimationen
Nachdem ich den Traum generiert hatte, habe ich mich an die Figur des Spielers gemacht und Platzhalter dafür erstellt. Diese habe ich dann in Unity importiert und die Animationen erstellt. Als Animationen gibt es hier "Idle", also wenn der Spieler nur rumsteht und nichts macht, " Bewegung", wenn der Spieler sich in irgendeine Richtung bewegt und " Rollen", wenn der Spieler ausweicht. Für all diese Animationen gibt es dann verschiedene Blickrichtungen, da sich der Spieler frei in der Welt bewegen kann. Konkret gibt es Oben, Links, Unten, Rechts, Rechts-Oben und Links-Oben. Diese werden dann abhängig von den Eingaben des Spielers ausgegeben. Für alle Animationen habe ich mich vorerst für eine sehr einfache Pixelsequenz entschieden. Die Animationen sind sehr einfach gehalten und bestehen nur aus wenigen Frames. Aber ich denke, dass sie für den Anfang sehr gut aussehen und später werden sie sowieso noch einmal überarbeitet, sobald das endgültige Spielerdesign feststeht. Hier eine kleine Demonstration der Animationen inklusive der Blickrichtung.


Was im Animationsfenster noch sehr komisch aussieht, sieht in der Welt gar nicht so schlecht aus. Es ging mir auch nicht darum, eine perfekte Animation zu haben, sondern die Grundlagen zu schaffen, auf denen man später aufbauen und die Animation verfeinern kann. Die Spielerdesigns sind momentan noch Platzhalter und werden später durch eigene Designs ersetzt, die deutlich besser zu dem passen, was ich mir vorstelle. Auch das ist weiter unten beschrieben. Hier ist als Beispiel mal die Idle-Animation in der Welt mit einem anderen Charakter:

Für die Animationen habe ich auch schon eine erste Cursorsteuerung eingebaut. Nun ändern sich die Animationen je nach Blickrichtung des Spielers. Es gibt die Blickrichtungen oben, unten, links, rechts, rechts-oben und links-oben. Ich denke, das ist eine gute Aufteilung für das Spiel und sieht zumindest in der jetzigen Form sehr gut aus. Auch die Waffe des Spielers ist immer auf den Cursor gerichtet, folgt ihm und beachtet, ob von der Perspektive diese vor oder hinter dem Spieler ist. Hier eine kleine Demonstration der Animationen und der Cursorsteuerung.

Kunst Vorlage
Letzte Woche bin ich auch über ein sehr passendes und interessantes Spiel gestolpert, das sehr gut den künstlerischen Stil veranschaulicht, den ich mir für mein Spiel vorstelle. Hier sind zwei Bilder. Einmal wie es im Traum aussieht und einmal wie es im UI aussieht. Mir gefällt vor allem der sehr einfache und klare Pixelstil. Es ist nicht zu detailliert und die Pixel nehmen nicht zu viele Details weg. Alles wirkt auch sehr stimmig und nicht zu überladen oder eckig. Nur die Figuren stelle ich mir anders vor. Da bin ich noch auf der Suche nach guten Vorlagen. Aber so zur groben Veranschaulichung wollte ich das hier mal festhalten, damit man eine bessere Vorstellung bekommt, wie ich mir mein Spiel auch irgendwann einmal von den Assets und Sprites vorstelle.


Die kommende Woche
Nächste Woche ist leider viel los. Diverse Firmenmeetings und die alljährliche Hackerkiste stehen an. Daher werde ich leider nicht viel zum Programmieren kommen. Trotzdem versuche ich zumindest die Grundlagen der Spielersteuerung fertig zu bekommen. Also das Bewegen des Charakters mit den Tasten W, A, S und D und das Ausweichen mit der Leertaste. Vielleicht schaffe ich es auch schon, das Eingabesystem auf das neue Unity Input System umzustellen. Aber das wird sich zeigen. Auf jeden Fall werden die Fortschritte nächste Woche nicht so groß sein wie diese, aber ich hoffe, dass ich trotzdem etwas zu berichten habe. In diesem Sinne bis nächste Woche.
Weitere Beiträge
Kontaktiere mich
Kontaktiere mich
Haben Sie Fragen an mich oder möchten Sie mit mir in Kontakt treten?
- Name
- Michael Schöffel
- Telefonnummer
- Telefonnummer auf Anfrage
- Wohnort
- Deutschland, Wohnort auf Anfrage
- [email protected]
Senden Sie mir eine Nachricht
* Durch Betätigung der 'Senden' Schaltfläche stimmen Sie einer notwendigen Roboteranalyse mittels Google reCAPTCHA zu. Hierbei werden Cookies gesetzt und das Nutzungsverhalten ausgewertet. Andernfalls senden Sie mir bitte direkt eine E-Mail. Folgende Richtlinien von Google gelten: Datenschutz & Nutzungsbedingungen.