In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
Im interaktiven Spiel „Upstream“ begleiten die Spielenden einen Atlantischen Lachs auf seiner Wanderung flussaufwärts durch den Rhein. Dort gilt der Lachs seit 1959 als ausgestorben, weshalb seine Wiederansiedlung heute aktiv gefördert wird. Das Spiel vermittelt die Ursachen seines Verschwindens und zeigt, welche Voraussetzungen für eine erfolgreiche Rückkehr geschaffen werden müssen.
In the interactive game ”Upstream”, players accompany an Atlantic salmon on its journey upstream through the River Rhine. The species has been considered extinct in the Rhine since 1959, making its reintroduction the focus of ongoing conservation efforts. The game explores the reasons behind the salmon's disappearance and highlights the conditions that must be met to ensure its successful return.
Userflow im Ausstellungskontext
Der Spiel-Prototyp auf Itch.io
Entwicklung, Inhalte & Fokus
Skizze der Inhalte
Moodboard
Vergleich möglicher Game Engines
Um mich in Godot einzuarbeiten habe ich ein Tutorial nachgebaut. Dabei konnte ich eine simple Welt zeichnen, die Grundfunktionen kennenlernen und erste bewegliche Plattformen definieren.
Nützliches Tutorial für Anfänger: https://youtu.be/LOhfqjmasi0?si=sHEtXfYl538XiJZT
Die Level sollen an konkreten Orten entlang des Rheins stattfinden, weshalb ich nochmal in die Recherche gegangen bin. So konnte ich festlegen, welche Umstände an welchen Orten auftreten sollen.
Assets
Ich habe mit dem Zeichnen erster Assets begonnen. Später habe ich mich noch für eine andere Farbgebung entschieden und den Pixelart-Stil angepasst.
Die Hintergründe habe ich so angelegt, dass sie sich beim sidescrollen immer wiederholen, damit im Spiel keine Kanten oder Übergänge zu sehen sind.
Parallax-Effekt
Ich habe versucht einen Parallax-Effekt für den Hintergrund zu erzeugen. Dabei habe ich eine veraltete Funktion in Godot verwendet (ParallaxBackground + ParallaxLayer), bei der es zu Fehlern beim Wiederholen der Texturen kommen kann. Mittlerweile bietet Godot die „Parallax2D“-Node, die den Prozess vereinfachen sollte.
Referenz: Der Ursprung der Parallax-Technologie; Walt Disney's MultiPlane Camera
Character Movement
Die Bewegung des Characters wird durch ein Script definiert. Godot bietet ein standard Bewegungsscript an, was man dann selbst anpassen kann. Man beginnt mit einer Pfeiltastensteuerung.
Assets
Am besten legt man seine gezeichneten Assets in Sprite-Sheets und Tilemaps an. So bleibt die File-Menge gering und die Spielperformance wird nicht beeinträchtigt.
Für meine Assets wollte ich einheitliche Farben verwenden. Auf der Website „Lospec“ gibt es eine große Auswahl an Farbpaletten speziell für Pixelart. Dort habe ich die „Resurrect 64 Palette“ von Kerrie Lake ausgewählt.
Levelswitch
Am besten kann zwischen verschiedenen Leveln gewechselt werden, wenn es eine „Manager-Node“ gibt und separate Nodes für die verschiedenen Level. Der Switch wird dadurch ausgelöst, dass der Player eine Area2D mit Collisionshape berührt.
Levelbau
Da das Level im Ruhrgebiet spielen soll, wollte ich die starke Verschmutzung des Wassers verdeutlichen. Dafür habe ich passende Farben gewählt, den Flusslauf wie eine Art Kanal aussehen lassen und viele Hindernisse eingebaut. Diese sind aber zum Teil sehr schwer zu umgehen, weshalb ich zwischen den Objekten etwas mehr Platz lassen werde.
Bisher habe ich den Character über Pfeiltasten gesteuert. Es war auch geplant Touch-Pfeiltasten für die finale Version einzubauen. Im Kurs haben wir aber beschlossen, dass ein virtueller Joystick für mein Vorhaben sinnvoller ist. So bekommt man auch ein besseres Gefühl für die Steuerung.
Für Mobile Games ist es typisch, den Joystick auf der linken Seite des Screens zu platzieren. Rechts gibt es meist weitere Funktionen wie springen, sprinten, schießen, etc.
Slowzone
Die für mich einfachste Lösung, um starke Gegenströmung darzustellen, war es im Script die engine time für einen bestimmten Bereich herunterzusetzen.
Ein Start- und Resetbutton war besonders mit Blick auf die Werkschau wichtig. So konnten die Besucher*innen bewusst mit dem Spiel interagieren. Wurde das Spiel während eines laufenden Levels verlassen, konnte es die nächste Person selbstständig zurücksetzen und selbst nutzen.
Wodurch könnte das Spiel mit mehr Erfahrung und Zeit profitieren? Insbesondere mit Blick auf Informationsgehalt und Belohnungsmechanismen
Emotionalität
- Dialog-Bubbles, Lachs stellt fragen auf die man antworten kann (ja/nein)
- Rückblick: Lachs erzählt von der ersten Reise flussabwärts; Entwicklungsstufen des Lachses könnten vorgestellt werden
- Alterung während der Reise, Ändern des Aussehens
- Lebensende begleiten: Lachse wandern meist nur einmal an ihren Laichplatz und versterben danach
Achievement-Badges für abgeschlossene Level / Aufgaben