¶ Gruppenmitglieder |
¶ Matrikelnummer |
¶ Verantwortlichkeit |
¶ Studiengang |
| Eren Kirmaci | xxx1981 | Programmieren, UI-Design, Fehlerkorrigierung | Media Systems |
| Ömer Sahin | xxx6932 | Programmieren, Leveldesign, Sounddesign | Media Systems |
| Annika Poser | xxx2643 | Programmieren, Worlddesign, Dialog, Charakterdesign, Story | Media Systems |
Tabelle 1: Das Team
Link 1: Itch.io
Für ein besseres Erlebnis haben wir neben dem Webbuild auf Itch.io, in unseren Repo eine Zip-Datei mit der .exe des Spiels.
Link 2: GitHub
Unser Spiel „Love in a Jar“ ist ein storybasiertes 2D-Puzzle-Adventure, in dem die Spielerin oder der Spieler durch Gespräche mit verschiedenen Charakteren und das Lösen von Puzzles eine Geschichte über Zusammenhalt, gegenseitige Unterstützung und Akzeptanz erlebt. Im Mittelpunkt steht die Erkenntnis, dass Hilfe keine Einbahnstraße ist und Herausforderungen gemeinsam leichter bewältigt werden können, unabhängig davon wer man ist oder wen man liebt.
Das Projekt „Love in a Jar“ hat die grundlegende Idee, nach dem Vorbild von Stardew Valley, mit verschiedenen NPCs zu reden und Puzzle und andere Rätsel für die zu lösen. Die SpielerIn begleitet die Hauptfigur durch verschiedene Puzzle und Dialoge, spricht mit Charakteren und löst Puzzles, um Hindernisse zu überwinden und anderen Menschen zu helfen. Dabei steht nicht nur das Lösen der Rätsel im Vordergrund, sondern auch die Botschaft, dass Hilfe und Unterstützung in beide Richtungen wirken können. Die Geschichte endet mit der Erkenntnis, dass niemand jede Herausforderung allein bewältigen muss und dass Zusammenhalt unabhängig von Herkunft oder sexueller Orientierung wichtig ist.
Das Projekt ist ein 2D-Storyspiel mit Puzzle-Elementen. Der Fokus liegt auf einer kurzen, abgeschlossenen Spielerfahrung. Die Spielwelt besteht aus mehreren Szenen, in denen die Spielerin oder der Spieler mit NPCs interagiert, Dialoge führt und Puzzles löst. Ergänzt wird das Spiel durch ein Speichersystem, ein Haupt- und Pausenmenü sowie verschiedene Einstellungs- und Ladefunktionen. Der Umfang ist bewusst überschaubar gehalten, es gibt den Anfang der Story und dann springt man zum Ende der Mittelteil wird ausgelassen, sodass die Geschichte innerhalb einer kurzen Spielzeit vollständig erlebt werden kann.
Ziel des Projekts ist die Entwicklung eines interaktiven Spiels, das Unterhaltung mit einer gesellschaftlichen Botschaft verbindet. Die Spielmechaniken sollen leicht verständlich sein und die Handlung unterstützen, anstatt von ihr abzulenken. Durch das Lösen der Puzzles und die Interaktion mit den Figuren sollen Empathie, Hilfsbereitschaft und Akzeptanz vermittelt werden. Gleichzeitig dient das Projekt dazu, Kenntnisse in der Spieleentwicklung mit der Godot Engine, der Entwicklung von Spielmechaniken, der Erstellung von Benutzeroberflächen sowie der Implementierung von Speicher- und Dialogsystemen praktisch anzuwenden.
Das Spiel erzählt die Geschichte einer Person, das seiner Mutter in der Küche hilft und versucht, ein Einmachglas zu öffnen. Nachdem man das geöffnet hat schickt die Mutter das Kind in den Supermarkt. Auf dem Weg dorthin hilft man anderen Figuren und trifft ein Love Interest, für der man ein Problem löst und eine Verbindung aufbaut. Dann stellt sich heraus, dass alles ein Rückblick ist: In der Gegenwart steht man als erwachsene Person mit dem Partner in der Küche und begegnet dem
gleichen Glas erneut, diesmal schafft unser Main Charakter nicht das Glas zu öffnen aber die Love Interest eilt herbei und hilft unseren Main Charakter das Glas zu öffnen.
Die Message unseres Spiels ist, dass man am Anfang anderen hilft und man löst verschiedene Puzzle. Am Ende steht man vor derselben Aufgabe, doch diesmal ist man nicht mehr allein. Jemand steht an der eigenen Seite. Nicht, weil man die Herausforderung nicht alleine bewältigen könnte, sondern weil man sich gegenseitig unterstützen kann. Mit jedem gelösten Puzzle hilft man zugleich auch anderen, ihren eigenen Weg zu finden. Unterstützung geht in beide Richtungen, sie entsteht durch gegenseitiges Vertrauen, Zusammenhalt und Mitgefühl. Denn am Ende spielt es keine Rolle, wer man ist oder wen man liebt. Was zählt, ist, füreinander da zu sein.
Link 3: Demo-Video
Link 4: Präsentation/Konzept (Canva)
Link 5: Miro
Die Spielerin oder der Spieler hilft verschiedenen NPCs, indem ihre Probleme durch das Lösen von Puzzles bewältigt werden. Mit jedem erfolgreich gelösten Puzzle entwickelt sich die Beziehung zu den jeweiligen Charakteren weiter und die Geschichte schreitet voran.
Zu Beginn der Handlung startet die Hauptfigur im Elternhaus der Hauptfigur, wo sie ihrer Mutter hilft, ein Eintopfglas zu öffnen. Dieses erste Puzzle dient als Einführung in die Spielmechanik und bildet gleichzeitig den Ausgangspunkt der Geschichte
Sie macht sich auf dem Weg, durch das Dorf, zum Supermarkt. Die Hauptfigur begegnet im Supermarkt ihrem Love Interest. Am Ende wird deutlich, dass die gesamte Handlung ein Rückblick war. In der Gegenwart steht die Hauptfigur erneut vor einem Eintopfglas Puzzle, aber diesmal ist es leichter zu öffnen. Dadurch wird die zentrale Botschaft des Spiels verdeutlicht: Unterstützung bedeutet nicht, alles allein schaffen zu müssen, sondern sich gegenseitig helfen zu können.
Unser Game Loop besteht aus einen einfachen Prinizp der sich wiederholt:
Zu Beginn des Semesters nutzten wir die Kollaborationsplattform Miro für ein gemeinsames Brainstorming. Jedes Teammitglied hielt erste Ideen und persönliche Interessen auf farbigen digitalen Notizzetteln fest. Dabei reichte das Spektrum von 2D-Plattformern über Puzzlespiele bis hin zu Farming-Simulationen. Ziel dieser ersten Phase war es, die verschiedenen Vorschläge zu bündeln und einen gemeinsamen Nenner für das finale Spielekonzept zu finden.
Ursprünglich war geplant, eine Vielzahl unterschiedlicher Rätseltypen in das Spiel zu integrieren. Diese Idee haben wir jedoch verworfen, um das Gameplay fokussierter zu gestalten. Auch das Puzzle mit der Mutter zu Beginn des Spiels sollte anfangs deutlich komplexer und schwieriger ausfallen. Wir haben uns letztlich dagegen entschieden, damit das Puzzle am Ende einen besseren Schluss ergibt.
Folgende Referenzspiele und Vorbilder wurden genutzt:
Dieses Beispiel von Stardew Valley, dient als Referenz für liebevolles Level- und Interieurdesign, bei dem jeder Raum eine eigene Persönlichkeit und Funktion besitzt und durch Dekoration Charakterentwicklung sowie Familienleben visuell erzählt wird.
Dieses Beispiel von Florence zeigt, wie Alltagshandlungen und zwischenmenschliche Momente in einfache, aber bedeutungsvolle interaktive Puzzles verwandelt – ein Ansatz, der Emotionen durch Gameplay-Mechaniken statt reiner Textnarration vermittelt.
Hier bei To The Moon ist hier besonders die Art inspirierend, wie das Spiel mit minimalistischer Pixelkunst und starker Lichtstimmung eine tiefe erzählerische Wirkung erzielt uns ist für uns ein Vorbild für stimmungsvolles, story-getriebenes Design.
Als Inspiration haben wir Stardew Valley und To The Moon genommen, die vor Allem für ihr Cozy-Stil, Atmosphäre und das ruhige Spielerlebnis bekannt sind. Für die Puzzle-Mechaniken orientierten wir uns an Florence, dessen einfache und erzählerisch eingebundene Rätselgestaltung als Vorbild diente.
Da wir uns dazu entschieden haben eine Asset Pack zu kaufen, gibt es keine Concept Arts bzw. Skizzen. Das Asset Pack was wir uns gekauft haben ist, das all things cozy - bundle! von shubibubi, Link dazu befindet sich im Quellenverzeichnis. Der Grund, warum wir uns ein Asset Pack geholt haben ist, aufgrund der Zeit und das damit verbundene Arbeitsaufwand, was sehr viel weggenommen hätte. Der Kauf des Asset Packs, hat den Fokus auf andere Sachen im Spiel gelegt und hat dazu geführt das wir nicht in Zeitdruck geraten sind.
1. Puzzle Lösen
2. Cozy Pixel Atmosphäre
3. Dialoge mit NPCs führen
Das Spiel verwendet einen gemütlichen 2D-Pixel-Art-Stil, der sich an klassischen Pixel-Spielen und modernen Cozy-Games orientiert. Die klare Pixelgrafik mit einfachen Formen und einer warmen Farbgestaltung unterstützt die freundliche Atmosphäre des Spiels. Der Stil ermöglicht es, Charaktere und Umgebungen übersichtlich darzustellen und gleichzeitig einen nostalgischen Eindruck zu erzeugen.
Die gewählte Gestaltung passt zum generellen Ansatz des Spiels, da der Fokus auf Alltagssituationen, Beziehungen zwischen Charakteren und dem Lösen kleiner Probleme durch Puzzles liegt. Der Pixel-Art-Stil unterstützt dabei die zugängliche und persönliche Wirkung der Spielwelt.
Das Sound Design orientiert sich ebenfalls an klassischen Pixel-Spielen. Die verwendete Musik nutzt typische Retro-Elemente, wodurch eine Verbindung zu bekannten Spielen dieser Stilrichtung entsteht. Die Musik und Soundeffekte unterstützen die Interaktionen im Spiel und verstärken das Gefühl einer lebendigen Spielwelt. Zusätzlich werden passende akustische Rückmeldungen für Aktionen wie das Platzieren von Puzzleteilen oder Dialoge verwendet.
Character
Für die Spielfiguren wurde ein stilisierter 2D-Pixel-Art-Stil in einer Top-Down-Perspektive gewählt. Als Inspiration diente unter anderem Stardew Valley, da dessen gemütliche Atmosphäre gut zum Spielkonzept passt. Anschließend wurde ein passendes Asset-Pack auf itch.io ausgewählt, das diesen Stil aufgreift.
Ein besonderer Vorteil des Asset-Packs ist die Möglichkeit zur individuellen Charaktergestaltung. Verschiedene Frisuren, Kleidungsstücke, Gesichtsmerkmale und Hautfarben können frei miteinander kombiniert werden. Dadurch lassen sich unterschiedliche Charaktere erstellen, während der einheitliche grafische Stil erhalten bleibt.
Environment
Die Spielwelt wurde bewusst klein und überschaubar gestaltet. Das Spiel beginnt in einem ruhigen Dorf mit wenigen Gebäuden. Dadurch entsteht das Gefühl eines beschaulichen und bodenständigen Lebens, bevor der Spieler die Welt weiter erkundet.
Die Umgebung verwendet natürliche Farben und eine einfache Gestaltung, um eine gemütliche und entspannte Atmosphäre zu vermitteln. Die geringe Anzahl an Gebäuden und NPCs unterstützt das Gefühl eines kleinen, ländlichen Dorfes.
Im Spiel wurde hauptsächlich der Spielercharakter animiert. Die Animation basiert auf einer klassischen Sprite-Animation, die für den verwendeten 2D-Pixel-Art-Stil geeignet ist.
Der Spielercharakter wurde zunächst aus mehreren einzelnen Ebenen des Asset-Packs zusammengesetzt. Dabei wurden Körper, Kleidung und Haare getrennt ausgewählt und kombiniert. Durch diesen Aufbau kann der Charakter individuell gestaltet werden, während alle Bestandteile optisch zusammenpassen.
Für jede Bewegungsrichtung des Spielers wurden vier verschiedene Animationsframes ausgewählt. Diese Frames zeigen unterschiedliche Positionen der Laufbewegung und werden während der Bewegung nacheinander abgespielt. Mit einer Animationsgeschwindigkeit von 10 Bildern pro Sekunde entsteht der Eindruck einer flüssigen Laufanimation.
Die Auswahl der Animation erfolgt abhängig von der Eingabe des Spielers. Wird eine bestimmte Richtungstaste gedrückt, erkennt das Spiel die Bewegungsrichtung und spielt die dazugehörige Animation ab. Dadurch kann sich der Charakter in alle vier Richtungen bewegen und zeigt jeweils passende Laufbewegungen.
HUD & Ingame-Statusanzeigen:
Menü-Screenflow:
Bei unserem Projekt haben wir fast wöchentlich Besprechungen gehalten und uns über das Projektfortschritt beredet und weitere Planungen angestellt.
Es wurde eine klare Rollenverteilung angestrebt. Ömer übernahm die Organisation und Moderation des Projektes, zudem war er für das Leveldesign (Puzzle) tätig. Eren übernahm Allgemeine Aufgabe, wie Bugfixes und Problemlösungen und war für das Menü und der Speicherfunktion zuständig. Annika war für den World- und Sounddesign sowie das Schreiben der Dialoge zuständig. Die Rollenverteilung war in unserem Fall nicht starr, sondern flexibel. Je nach Bedarf unterstützten einzelne Teammitglieder auch in anderen Aufgabenbereichen außerhalb ihrer primären Rolle.
Für die Organisation und Dokumentation unserer Arbeit haben wir Miro als zentrales Tool verwendet. Dadurch konnten wir alle relevanten Elemente wie das Brainstorming oder die Aufgabenverwaltung an einem Ort bündeln, ohne zwischen verschiedenen Anwendungen wechseln zu müssen. Unsere Meetings fanden über Discord statt, wobei insbesondere die Streaming-Funktion geholfen hat, seine Bugs, Probleme und den Fortschritt einfach darzustellen.
Für die Versionsverwaltung haben wir GitHub und GitHub Desktop verwendet.
¶ Bereich |
¶ Aufgaben |
¶ Erwarteter Zeitaufwand |
¶ Tatsächlicher Zeitaufwand |
¶ Priorität |
¶ Zuweisung |
¶ Arbeitsfortschritt |
| Programmieren | Erstes Puzzle programmieren | 4 Stunden | 7 Stunden | Hoch | Ömer | Abgeschlossen |
| Programmieren | Spieler erstellen | 3 Stunden | 7 Stunden | Hoch | Ömer | Abgeschlossen |
| Design | Haus designen + Collisions | 2 Stunden | 2 Stunden | Hoch | Eren | Abgeschlossen |
| Design | Haus Designen | 2 Stunden | 2 Stunden | Hoch | Annika | Abgeschlossen |
| Design | Erstes Puzzle designen | 2 Stunden | 2 Stunden | Hoch | Ömer | Abgeschlossen |
| Design | Dialog Schreiben | 1 Stunde | 30 Minuten | Mittel | Annika | Abgeschlossen |
| Design | Outside-Welt Designen | 3 Stunden | 5 Stunden | hoch | Annika | Abgeschlossen |
| Programmieren | Teleport Türen | 2 Stunden | 4 Stunden | Hoch | Annika | Abgeschlossen |
| Programmieren | Dialog hinzufügen + Soll Puzzle triggern | 4 Stunden | 12 Stunden | Hoch | Eren | Abgeschlossen |
| Design | Hintergrundmusik und Sounds | 2 Stunden | 3 Stunden | Mittel | Ömer | Abgeschlossen |
| Design | Hauptmenü hinzufügen | 30 Minuten | 1 Stunden 30 Minuten | Niedrig | Eren | Abgeschlossen |
| Design | Pausemenü hinzugefügt | 30 Minuten | 1 Stunden 30 Minuten | Niedrig | Eren | Abgeschlossen |
| Design | Outside-Welt designen/Collisions | 3 Stunden | 4 Stunden | hoch | Annika | Abgeschlossen |
| Programmieren | Dialogic implementieren | 3 Stunden | 4 Stunden | Hoch | Ömer | Abgeschlossen |
| Programmieren | Movement Hints | 1 Stunde | 2 Stunden 30 Minuten | Mittel | Annika | Abgeschlossen |
| Programmieren | Bereichsblockierung durch Dialog-Trigger | 1 Stunden | 3 Stunden | Mittel | Annika | Abgeschlossen |
| Design | Outside-Welt Limitieren/Collisions anpassen | 3 Stunden | 4 Stunden | Hoch | Annika | Abgeschlossen |
| Design | Menü Templates hinzugefügt | 2 Stunden | 8 Stunden | Mittel | Eren | Abgeschlossen |
| Programmieren | Qualitätskontrolle und Bugfixes | 1 Stunden | 4 Stunden | Mittel | Eren | Abgeschlossen |
| Programmieren | Savegame Feature hinzufügen | 6 Stunden | 7 Stunden | Niedrig | Eren | Abgeschlossen |
| Design | Drittes Puzzle eingefügt | 3 Stunden | 3 Stunden 15 Minuten | Hoch | Eren | Abgeschlossen |
| Design | Dialog Love Interest | 30 Minuten | 30 Minuten | Hoch | Annika | Abgeschlossen |
| Design | Level Design verbessert + UI geändert + Puzzelbild + Hintergrund geändert + Love Interest | 3 Stunden | 5 Stunden | Hoch | Annika | Abgeschlossen |
| Design | Apartment Designen + Collisions verbessert + Sequence hinzugefügt + Drittes Puzzel eingefügt + Dialog Geschrieben | 4 Stunden | 6 Stunden | Hoch | Annika | Ageschlossen |
| Design | Player Sprite neu gemacht | 1 Stunden | 4 Stunden | Hoch | Annika | Abgeschlossen |
| Programmieren | Player Sprite Animieren | 2 Stunden | 2 Stunden | Hoch | Annika | Abgeschlossen |
| Programmieren | Puzzel fixen | 2 Stunden | 4 Stunden | Hoch | Ömer | Abgeschlossen |
| Programmieren | Puzzel fixen + Countdown | 1 Stunden | 2 Stunden | Hoch | Eren | Abgeschlossen |
| Design | Angel Minigame | 3 Stunden | - | Hoch | Annika, Ömer | gestrichen |
| Programmieren | Organisations Minigame | 4 Stunden | - | Mittel | Ömer, Eren | gestrichen |
| Design | Organisations Minigame | 4 Stunden | - | Mittel | Annika | gestrichen |
| Programmieren | weiteres Puzzel | 2 Stunden | - | Niedrig | Eren | gestrichen |
Tabelle 2: Zeitliche Planung
| Asset-Kategorie | Verwendung im Spiel |
| Charakter-Assets | Erstellung und Anpassung des Spielercharakters durch verschiedene Körper-, Haar- und Kleidungselemente |
| Environment-Assets | Gestaltung der Außenwelt, Dorfgebäude, Böden und Natur-Elemente |
| Interior-Assets | Gestaltung von Innenräumen mit Möbeln und Dekorationen |
| Audio-Assets | Hintergrundmusik und Soundeffekte für Interaktionen |
Tabelle 3: Assets/Feature List
¶ Name |
¶ Erwarteter Zeitaufwand |
¶ Tatsächlicher Zeitaufwand |
| Eren | 10 Stunden | 16 Stunden 15 Minuten |
| Ömer | 10 Stunden | 5 Stunden |
| Annika | 30 Stunden | 31 Stunden |
Tabelle 4: Design
¶ Name |
¶ Erwarteter Zeitaufwand |
¶ Tatsächlicher Zeitaufwand |
| Eren | 20 Stunden | 25 Stunden |
| Ömer | 20 Stunden | 22 Stunden |
| Annika | 10 Stunden | 11 Stunden 30 Minuten |
Tabelle 5: Programmieren
¶ Name |
¶ Erwarteter Zeitaufwand |
¶ Tatsächlicher Zeitaufwand |
| Eren | 4 Stunden | 2 Stunden |
| Ömer | 4 Stunden | 2 Stunden |
| Annika | 4 Stunden | 2 Stunden |
Tabelle 6: Ideen und Konzeptionierung
¶ Name |
¶ Erwarteter Zeitaufwand |
¶ Tatsächlicher Zeitaufwand |
| Eren | 5 Stunden | 10 Stunden 30 Minuten |
| Ömer | 5 Stunden | 6 Stunden |
| Annika | 5 Stunden | 6 Stunden |
Tabelle 7: Wikiseite, Dokumentation und Präsentation
¶ Besprechung |
¶ Dauer |
| 1. Mi. 22.04.2026 | 2 Stunden 30 Minuten |
| 2. So. 03.05.2026 | 1 Stunde |
| 3. Mi 14.05.2026 | 1 Stunde 30 Minuten |
| 4. So. 24.05.2026 | 1 Stunde |
| 5. Do. 11.06.2026 | 2 Stunden |
| 6. Mi. 01.07.2026 | 1 Stunde |
| 7. Mo. 06.07.2026 | 1 Stunde |
| Summe | 10 Stunden |
Tabelle 8: Besprechungen
¶ Name |
¶ Erwartete Summe (Ohne Besprechungen) |
¶ Tatsächliche Summe (mit Besprechungen) |
| Eren | 39 Stunden | 61 Stunden 45 Minuten |
| Ömer | 39 Stunden | 46 Stunden |
| Annika | 39 Stunden | 60 Stunden 30 Minuten |
Tabelle 9: Summe
Im Projekt konnten alle wichtigen Spielmechaniken funktionierend umgesetzt werden. Dazu gehören die Steuerung, das Dialogsystem, das Puzzle-System sowie das Speicher- und Ladesystem. Auch das Hauptmenü, das Pausenmenü und die Benutzeroberfläche funktionieren wie geplant. Besonders gut gelungen ist es, die Geschichte mit den Puzzles zu verbinden und die Grundstruktur wie die Story verlaufen wird zu vermitteln.
Während der Entwicklung mussten einige Systeme mehrfach überarbeitet werden. Vor allem das Puzzle-System und die Änderung vom eigenen Menü-System zu einem vorgefertigten Template führten zu unerwarteten Problemen. In Zukunft wäre es sinnvoll, die Struktur der Szenen und Skripte früher zu planen. Dadurch könnten viele Fehler vermieden werden und spätere Änderungen wären einfacher umzusetzen.
Zu Beginn dachten wir, dass vor allem das Programmieren der Spielmechaniken schwierig sein würde. Im Laufe des Projekts haben wir jedoch gemerkt, dass es genauso wichtig ist, die Geschichte, die Puzzles und die Technik gut aufeinander abzustimmen. Außerdem wurde deutlich, dass kleine Änderungen oft Auswirkungen auf viele andere Bereiche des Spiels haben können. Dadurch haben wir gelernt, wie wichtig eine gute Planung und eine übersichtliche Struktur sind.
Unser Ausblick für das Projekt ist, dass wir es als Projekt weiterführen wollen. Es bietet eine gute Grundlage für zukünftige Erweiterungen und war eine wichtige und spaßige Erfahrung und da wir uns noch vieles. Denkbar wären zusätzliche Kapitel der Geschichte, paar weitere NPCs mit eigenen Handlungssträngen sowie neue Puzzle-Arten. Auch eine leicht größere Spielwelt könnten das Spielerlebnis erweitern. Darüber hinaus könnte das Puzzle-System weiter verallgemeinert werden, sodass unterschiedliche Rätselarten ohne größere Änderungen integriert werden können. Langfristig ließe sich das Spiel erweitern, vor allem weil wir uns vorgenommen haben das als ein Semester Projekt weiterzuführen und daraus ein schönes Spiel zu kreieren.