Incom ist die Kommunikations-Plattform der Hochschule Hof Kommunikationsdesign

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Incom ist die Kommunikations-Plattform der Hochschule Hof Kommunikationsdesign mehr erfahren

Upstream

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.

01. Filmische Dokumentation

02. Bilder der Umsetzung

Mockup_Game1.pngMockup_Game1.png
Plakat_Lachs_Mockup.jpgPlakat_Lachs_Mockup.jpg
Ausstellung.pngAusstellung.png
Screenshots_Game.pngScreenshots_Game.png
Levelbuilder.pngLevelbuilder.png
Game_Script.pngGame_Script.png

03. Pitch Deck

Interaction_Pitch.pdf PDF Interaction_Pitch.pdf

04. Userflow

Userflow im Ausstellungskontext

Flowchart.pngFlowchart.png

05. Link zur Webanwendung

____________

Designprozess

Research Themenraum

Bildschirmfoto 2026-04-16 um 12.45.19.pngBildschirmfoto 2026-04-16 um 12.45.19.png

Vibe Coding Übung

Bildschirmfoto 2026-03-23 um 12.55.00.pngBildschirmfoto 2026-03-23 um 12.55.00.png
Bildschirmfoto 2026-03-23 um 12.55.29.pngBildschirmfoto 2026-03-23 um 12.55.29.png
Bildschirmfoto 2026-03-24 um 16.26.40.pngBildschirmfoto 2026-03-24 um 16.26.40.png
Bildschirmfoto 2026-03-24 um 16.26.53.pngBildschirmfoto 2026-03-24 um 16.26.53.png
Bildschirmfoto 2026-03-24 um 16.27.21.pngBildschirmfoto 2026-03-24 um 16.27.21.png

Research Fokus

Bildschirmfoto 2026-04-16 um 12.46.33.pngBildschirmfoto 2026-04-16 um 12.46.33.png
Bildschirmfoto 2026-04-16 um 12.46.44.pngBildschirmfoto 2026-04-16 um 12.46.44.png

Mögliche Umsetzung

Bildschirmfoto 2026-05-02 um 14.36.43.pngBildschirmfoto 2026-05-02 um 14.36.43.png

Pitch Deck

Pitch_Lachswanderung.pdf PDF Pitch_Lachswanderung.pdf

Game Engine & Spielplanung

Entwicklung, Inhalte & Fokus

Bildschirmfoto 2026-05-02 um 14.41.02.pngBildschirmfoto 2026-05-02 um 14.41.02.png
Bildschirmfoto 2026-05-02 um 14.47.00.pngBildschirmfoto 2026-05-02 um 14.47.00.png

Skizze der Inhalte

Skizze_1.pngSkizze_1.png

Moodboard

Moodboard.pngMoodboard.png

Vergleich möglicher Game Engines

Engine_Vergleich.pdf PDF Engine_Vergleich.pdf

Start in Godot

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

Godot_Einarbeiten.pngGodot_Einarbeiten.png
Bildschirmfoto 2026-06-08 um 12.15.54.pngBildschirmfoto 2026-06-08 um 12.15.54.png

Levelplan & erste Zeichnungen

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.

Bildschirmfoto 2026-07-27 um 13.11.44.pngBildschirmfoto 2026-07-27 um 13.11.44.png
Bildschirmfoto 2026-07-27 um 13.11.18.pngBildschirmfoto 2026-07-27 um 13.11.18.png
Bildschirmfoto 2026-07-27 um 15.03.42.pngBildschirmfoto 2026-07-27 um 15.03.42.png

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.

Bildschirmfoto 2026-07-27 um 14.42.56.pngBildschirmfoto 2026-07-27 um 14.42.56.png
Bildschirmfoto 2026-07-27 um 14.43.17.pngBildschirmfoto 2026-07-27 um 14.43.17.png
Bildschirmfoto 2026-07-27 um 14.43.40.pngBildschirmfoto 2026-07-27 um 14.43.40.png

Bewegung

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

https://youtu.be/YdHTlUGN1zw?si=9j2QnarWSluM42i5

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.

Bildschirmfoto 2026-07-27 um 15.16.13.pngBildschirmfoto 2026-07-27 um 15.16.13.png

Story & Assets

Bildschirmfoto 2026-07-27 um 15.32.28.pngBildschirmfoto 2026-07-27 um 15.32.28.png

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.

https://lospec.com/palette-list/resurrect-64

Bildschirmfoto 2026-07-27 um 15.33.25.pngBildschirmfoto 2026-07-27 um 15.33.25.png
Bildschirmfoto 2026-07-27 um 15.33.38.pngBildschirmfoto 2026-07-27 um 15.33.38.png
Bildschirmfoto 2026-07-27 um 15.33.46.pngBildschirmfoto 2026-07-27 um 15.33.46.png
Bildschirmfoto 2026-07-27 um 15.33.58.pngBildschirmfoto 2026-07-27 um 15.33.58.png

Levelbau und -switch

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.

Bildschirmfoto 2026-07-27 um 17.50.11.pngBildschirmfoto 2026-07-27 um 17.50.11.png
Bildschirmfoto 2026-07-27 um 17.50.25.pngBildschirmfoto 2026-07-27 um 17.50.25.png
Bildschirmfoto 2026-07-27 um 17.51.03.pngBildschirmfoto 2026-07-27 um 17.51.03.png

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.

Steuerung

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.

Bildschirmfoto 2026-07-28 um 14.34.08.pngBildschirmfoto 2026-07-28 um 14.34.08.png

Homescreen & Resetbutton

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.

Bildschirmfoto 2026-07-28 um 10.29.14.pngBildschirmfoto 2026-07-28 um 10.29.14.png
Bildschirmfoto 2026-07-28 um 10.31.36.pngBildschirmfoto 2026-07-28 um 10.31.36.png
Bildschirmfoto 2026-07-27 um 17.56.21.pngBildschirmfoto 2026-07-27 um 17.56.21.png
Bildschirmfoto 2026-07-27 um 17.57.00.pngBildschirmfoto 2026-07-27 um 17.57.00.png
Bildschirmfoto 2026-07-27 um 17.57.48.pngBildschirmfoto 2026-07-27 um 17.57.48.png

Screencast

Ausblick

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

Bildschirmfoto 2026-07-28 um 15.36.21.pngBildschirmfoto 2026-07-28 um 15.36.21.png
Bildschirmfoto 2026-07-28 um 15.37.59.pngBildschirmfoto 2026-07-28 um 15.37.59.png

Lachse_Gif.gifLachse_Gif.gif

Achievement-Badges für abgeschlossene Level / Aufgaben

Bildschirmfoto 2026-07-27 um 15.58.11.pngBildschirmfoto 2026-07-27 um 15.58.11.png
Bildschirmfoto 2026-07-27 um 15.58.31.pngBildschirmfoto 2026-07-27 um 15.58.31.png
Bildschirmfoto 2026-07-27 um 15.58.53.pngBildschirmfoto 2026-07-27 um 15.58.53.png

Ein Projekt von

Fachgruppe

Kommunikationsdesign

Art des Projekts

Keine Angabe

Zugehöriger Workspace

Designprojekt 3 - Interaction / Information Design

Entstehungszeitraum

Sommersemester 2026