From a130cf329bccc99ff26b2241003b4e632fe5f50c Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 31 May 2026 19:39:42 +0200 Subject: [PATCH] docs: start enhancement-ideas backlog for post-1.0 work Living backlog of ideas to take the game beyond the required minimum: richer presentation, nerd-font strategy, map, quest system, ~60-min content expansion. No design committed yet. Co-Authored-By: Claude Opus 4.8 (1M context) --- Semesterprojekt/docs/enhancement-ideas.md | 70 +++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Semesterprojekt/docs/enhancement-ideas.md diff --git a/Semesterprojekt/docs/enhancement-ideas.md b/Semesterprojekt/docs/enhancement-ideas.md new file mode 100644 index 0000000..36dee82 --- /dev/null +++ b/Semesterprojekt/docs/enhancement-ideas.md @@ -0,0 +1,70 @@ +# Enhancement-Ideen (Backlog) + +> Roh-Sammlung von Ausbau-Ideen über die Abgabe hinaus. Lebendes Dokument – +> noch kein Design, noch keine Festlegung. Wird in Teilprojekte zerlegt und +> nacheinander über den Brainstorming → Spec → Plan → Implementierung-Zyklus +> verfeinert. + +Stand: 2026-05-31. Ausgangslage: Pflichtumfang ("bare minimum") erfüllt, +alle Phasen 1–7 grün. Ziel: deutlich mehr Tiefe und Politur. + +## Leitziele + +- **Reichere Ausgabe** statt nacktem Konsolentext – sowohl Konsole als auch GUI. +- **GUI soll noch mehr bieten** als die Konsole (mehr Raum für visuelle Mittel). +- **~60 Minuten Spielzeit** anpeilen. Viel mehr Inhalt, viel mehr zu tun. +- Bestehendes **NPC-System zu einem tieferen Quest-System** ausbauen. + +## Themenblöcke + +### 1. Reichere Präsentation / Ausgabe-Schicht + +- Weg vom reinen `write(String)`: formatierte Ausgabe (Überschriften, Trenner, + Hervorhebungen für Items/NPCs/Richtungen). +- **Konsole**: ANSI-Farben, Box-Drawing-Zeichen für Rahmen, evtl. ASCII-Art / + Banner für Räume oder Spielstart. +- **GUI (Swing)**: mehr als ein `JTextArea` – Farben, Stile, evtl. Panels, + Statusanzeige, Bilder/Icons. + +### 2. Nerd Fonts / Glyphen – das Installationsproblem + +- Nerd-Font-Glyphen (Icons) sehen gut aus, müssen aber auf dem System des + Spielers installiert sein, sonst Tofu-Kästchen. +- Offene Frage: gute Lösung finden, damit es überall funktioniert. +- Erste Gedanken: + - **GUI**: Font ließe sich *mitliefern* (`.ttf` in Resources, via + `Font.createFont` laden) → Installationsproblem entfällt für die GUI. + - **Konsole**: Font nicht kontrollierbar → gestufte Fallbacks + (reines ASCII → Unicode-Box-Drawing → Nerd-Glyphen) statt harter Annahme. + +### 3. Karte / Map + +- Übersichtskarte der Räume – in **beiden** Modi. +- Konsole: ASCII-Map. GUI: gezeichnete Map (Grid/Graph). +- Offene Fragen: nur bereits besuchte Räume zeigen? aktuelle Position markieren? + fester Grundriss oder dynamisch aus den Exits berechnet? + +### 4. Gameplay-Ausbau (Inhalt) + +- Deutlich mehr Räume, Items, NPCs. +- Mehr zu *tun*: Rätsel, Mechaniken, Abhängigkeiten zwischen Objekten. +- Zielgröße: ~60 Min. Spielzeit (laut Annahme machbar, da überwiegend Text). + +### 5. Quest-System (NPC-Ausbau) + +- Aktuelles NPC-System: Begrüßung + Geschenk-Reaktion (Item → Item). +- Ausbau Richtung: mehrstufige Quests, Bedingungen, NPC-"Memory" (Zustand), + Quest-Log, evtl. Win-Condition daran gekoppelt. + +## Offene Designfragen (zu klären) + +- Wie weit darf die `GameIO`-Abstraktion aufgebohrt werden, ohne dass Konsole + und GUI auseinanderlaufen? (Gemeinsamer Loop ist ein Kernwert der Architektur.) +- Bleibt alles datengetrieben (YAML), auch Quests und Map-Layout? +- Reihenfolge / Abhängigkeiten der Teilprojekte. + +--- + +*Notiz: Datengetriebenheit (YAML), getrennte DTO/Domain-Schicht und ein für +beide Frontends identischer Game-Loop sind etablierte Architekturwerte – neue +Features sollten sie respektieren, nicht umgehen.*