# Ruf der Pilze — Projektstatus

Zuletzt aktualisiert: 2026-04-16 (Schritt 7 + 8 abgeschlossen — Lighting, Dice Roller)

---

## Aktueller Stand

### ✅ Abgeschlossen

- MCP-Addon eingerichtet (`godot-mcp`, Claude Code verbunden)
- Projektstruktur angelegt (`ruf-der-pilze/`)
- CLAUDE.md mit vollständiger Spielkonzept-Dokumentation
- **Multiplayer Grundgerüst** — ENet Server/Client, NetworkManager Autoload, welcome RPC verifiziert
- **Lobby + Rollen** — Join-UI, Warteraum, Spieler/DM-Rollen, Sync, Kick, Spiel-Start-Signal
- **Tavern Lobby** — 3D-Taverne ersetzt die flache Lobby-UI; SceneManager Autoload eingeführt
- **Taverne + Szenen-Wechsel** — 2-stöckige In-Game-Taverne (Blockout), taproom.tscn als Sub-Scene,
  game_started → Spieler in zugewiesenem Zimmer (SpawnPoint), DM in dm_view.tscn Stub
- **DM Regiepult Basics** — GameState Autoload, Overlay-RPC-Kette, EG+OG Top-Down nebeneinander,
  Spieler-Positionsmarker (etagen-gefiltert), Live-Cam-Feeds pro Spieler, Overlay-Toggle-Panel

### 🔄 In Arbeit

— (nichts aktiv)

### ⏳ Als nächstes

- **Basic Player Interaction** — WASD + Maus-Look, Raycast + Interact-Taste (E)

---

## Entwicklungs-Reihenfolge (gesamt)

### Mechaniken (Taverne als Testbed)

1. ✅ MCP eingerichtet
2. ✅ Multiplayer Grundgerüst (Server, Clients verbinden, rpc testen)
3. ✅ Lobby + Rollen (Spieler registrieren sich, DM kriegt Sonderrechte)
4. ✅ Tavern Lobby — 3D-Taverne als Warteraum, SceneManager Autoload
5. ✅ Szenen-Wechsel nach Spielstart — taproom Sub-Scene, 2 Etagen, SpawnPoints, dm_view Stub
6. ✅ DM Regiepult Basics — GameState, Overlay-RPC, EG+OG-Viewports, Marker, Player-Cams, Overlay-Panel
7. ✅ Tavern Lighting — Kerzen (taproom + Obergeschoss), gedimmtes Ambient
8. ✅ Dice Roller — d20 + Modifier, broadcast an alle, DM sieht DC + Erfolg/Fehlschlag
9. ⏳ Basic Player Interaction — WASD + Maus-Look, Raycast + Interact-Taste (E)
10. ⏳ Spore Overlay — Screen-space Shader pro Spieler, DM-togglebar
11. ⏳ Sporennebel Slider — DM Panel → SporeLevel → Overlay-Intensität

### Charaktere + Assets

12. ⏳ Lite Charakterbogen in Lobby — CharName, Rasse, Klasse, 6 Skill-Modifier; Archetypes für Dev
13. ⏳ Charakter-Platzhalter — farbige Capsules pro Archetyp, austauschbar
14. ⏳ Tavern Art Pass — echte Props (Tische, Stühle, Tresen, Betten, Fässer, Kerzen) via Polyhaven/Sketchfab/Meshy

### Klosterwelt

15. ⏳ DM Story Control + Türen-System — Regiepult-Panel für Szenen-Progression, DM öffnet Türen
16. ⏳ Myzelpfad / Reise-Szene — DM-getriggert, atmosphärische Übergangssequenz
17. ⏳ Monastery Blockout — eine Szene (monastery.tscn): Eingangshalle + alle Räume
18. ⏳ Monastery Art Pass — Steinbögen, Altar, Bücherregale, Kirchenbänke, Kerzenleuchter
19. ⏳ Eingangshalle — freie Exploration, Atmosphäre, DM öffnet Türen zu Räumen
20. ⏳ Dunkelsicht-System — Rassen-Flag → Dunkelheit-Shader für betroffene Spieler

### Rätsel + Story

21. ⏳ Refectorium — "Zwei Welten": asymmetrische Wahrnehmung, Schlüssel Nr. 1
22. ⏳ Bibliothek — "Flüsternetz": individuelle Audio-Fragmente, Kerzenritual, Schlüssel Nr. 2
23. ⏳ Kapelle — "Spiegelbild": asymmetrischer Spiegel, Hebel, Schlüssel Nr. 3
24. ⏳ Kreuzgang — Wächter-Puzzle: Angriffe funktionieren nicht, Sporen eskalieren, nur Skill Checks lösen
25. ⏳ Sanctum + Anna — Spieluhr-Melodie, Kreis-Formation, reines Erzählen

### Polish

26. ⏳ Aktions-Selektor — klassen-spezifische Zauber/Angriff-Effekte (rein visuell, Atmosphäre)
27. ⏳ Full Spore Effects — Nebel-Partikel vom Boden/Decke, Bewegungsverzerrung
28. ⏳ Soundscape + Spieluhr-Melodie — direktionaler Audio, Annas Lied im Sanctum

---

## Design-Entscheidungen (festgelegt)

- **Voice Chat:** Noch offen — In-Game (GDVoip/WebRTC mit räumlichem Audio) oder Discord extern
- **Kampf:** Kein Kampfsystem. Wächter-Encounter = Skill-Check-Puzzle, Angriffe mechanisch wirkungslos
- **Monastery:** Eine Szene (monastery.tscn), alle Räume räumlich getrennt — wie tavern.tscn mit EG/OG
- **Charaktermodelle Dev:** Archetyp-Capsules; Production: Spieler-Modelle via Meshy AI rigging
- **Türen:** DM-gesteuert per Regiepult-Button

## Offene Entscheidungen

- Transport: ENet oder WebSocket? (WebSocket = Browser-kompatibel, ENet = performanter)
- VPS bereits vorhanden oder noch einzurichten?
