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) <noreply@anthropic.com>
This commit is contained in:
70
Semesterprojekt/docs/enhancement-ideas.md
Normal file
70
Semesterprojekt/docs/enhancement-ideas.md
Normal file
@@ -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.*
|
||||||
Reference in New Issue
Block a user