Entscheidungen mit Folgen
Bedingte Optionen reagieren auf Quests, Party, Level, Freundschaft und gesetzte Story-Flags. Daisys letzte Entscheidung führt zu drei unterschiedlichen Enden.

Python · Storytelling · Game Systems
Eine vollständige Text-RPG-Kampagne über Daisy, ihre Gefährten und den Weg zu Hubertus Snickers – spielbar im Terminal und in einer illustrierten Desktop-Oberfläche.
Die Idee
Daisy begann als klassisches Textadventure. Mit jeder neuen Figur, Entscheidung und Region wurde klar: Die Geschichte braucht Regeln, die wachsen können, ohne dass jeder neue Pfad den bestehenden Ablauf zerlegt.
Heute sind Welt, Storyknoten, Bedingungen und Effekte in JSON beschrieben. Die Python-Engine wertet sie aus; Terminal und Desktop-GUI präsentieren denselben Spielzustand. Neue Inhalte bleiben dadurch von der Darstellung getrennt.
Bedingte Optionen reagieren auf Quests, Party, Level, Freundschaft und gesetzte Story-Flags. Daisys letzte Entscheidung führt zu drei unterschiedlichen Enden.
Rundenkämpfe verbinden skalierende Gegnergruppen mit Lähmung, Schwächung, Vergiftung, Team-Boni und eigenen Bossphasen.
Drei manuelle Slots, Autosave, Vorschau, Versionsnummern und atomare Schreibvorgänge schützen den Fortschritt. Der vorherige Stand bleibt als Backup erhalten.
Die Kampagne
Daisy reist durch eine verbundene Welt, rekrutiert Leika, Bruno, Jack und Leo und öffnet neue Wege durch Fortschritt, Freundschaft und gemeinsam bestandene Kämpfe.
Architektur
story.py, combat.py und der gemeinsame Spielzustand setzen die Regeln um. Die Terminal-Ausgabe und die Desktop-GUI bleiben Präsentationsschichten und greifen auf dieselbe Spiellogik zu.
Welt- und Gegnerdaten liegen editierbar außerhalb des Codes. Inventare behalten aus Kompatibilitätsgründen ihr einfaches Format, während optionale Metadaten und Ausrüstung das System erweitern.
Verifizierter Stand
Unter der Geschichte
Die Engine trennt erzählerische Inhalte von technischem Verhalten. Orte, Begegnungen und Storyknoten beschreiben, was passieren kann; der gemeinsame Spielzustand entscheidet, was in diesem Moment tatsächlich verfügbar ist.
JSON-Dateien halten Welt, Gegner und Storyelemente editierbar. Neue Inhalte müssen dadurch nicht in Terminal- oder GUI-Code eingebaut werden.
Queststatus, Party, Level, Freundschaft und Story-Flags wirken als Bedingungen. Effekte schreiben kontrolliert in denselben Spielzustand zurück.
Versionierte Saves, Vorschau, atomare Schreibvorgänge und ein Backup des vorherigen Standes schützen längere Kampagnen vor Datenverlust.
76 Tests decken zentrale Pfade, Zustandsübergänge und das Zusammenspiel der Systeme ab.
Daisy war der Schritt von einem linearen Skript zu einer kleinen datengetriebenen Engine. Eine wachsende Geschichte braucht dieselbe saubere Trennung von Domäne, Zustand und Oberfläche wie klassische Anwendungssoftware.