Explosion_der_Spiele/README.md
copilot 1cc8aa9b9d Add village 3D wiring, voice lines, and 1.74 m world scale.
Houses ~8.5 m; chimps capped ~0.85 m with safer axis fitting. Large GLB/PBR packs stay local until Git LFS (Forgejo HTTP 413).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 12:02:57 +02:00

93 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Explosion der Spiele
Pay2Win – um reiche Leute anzulocken. Absichtlich chaotisches Meta-Comedy-Action-Adventure in Godot 4.3+ mit 2.5D-Billboard-Sprites.
**Forgejo:** https://forgejo.fsociety00.cc/copilot/Explosion_der_Spiele
## Start
1. Godot **4.3+** installieren (oder `~/.local/bin/godot` aus dem Scaffold-Setup)
2. Projektordner in Godot öffnen
3. F5 / Play — startet `scenes/title_screen.tscn`
### Steuerung
| Aktion | Taste |
|--------|--------|
| Bewegen | WASD / Pfeile (relativ zur Kamera) |
| Umschauen | Maus |
| Interagieren | E / Leertaste — gelbes Puls-Highlight = E-Ziel |
| Angriff | Linksklick / J — rotes Highlight = Angriffsziel |
| Pause (Shop/Inventar/Settings) | Esc |
| Cutscene skippen | Enter |
Unten erscheint ein Prompt (`[E] Reden` / `[E] Öffnen` / `[J] Angreifen` / Ausgang). Treffer flashen; Daneben zeigt kurz „Daneben!“.
Third-Person-Kamera folgt dem Spieler (`SpringArm3D`). Billboards nutzen Y-Billboard (Mario-Baum-Stil).
Im Inventar (Pause): Item doppelklicken/aktivieren — **Milch** skippt zum Endboss.
## Scaffold-Inhalt
Kanonischer Plan / **einzige Wahrheit:** **[DESIGN.md](DESIGN.md)**
- Story-Flow: Dorf-Hauptwelt (Reif + Tor + Wiese zu Fuß) → Catscene + Dressler; Magier-Branch → Mond
- Third-Person-Kamera, Billboard-Y-Planes + `SpriteFit`
- First-Run-Sprache DE/EN/BY, Musik gesperrt laut, Burger-Cham
- Milch-Skip, Tiramisu-Fett, Glitzos, Bowser-Hammer, Death Ja/Nein-Satire
- Save: `user://save.json`
- Gegner: Chase/Melee-AI laut DESIGN.md §16
## Regenerieren von Platzhaltern
```bash
python3 scripts/tools/generate_scaffold.py
```
## Asset-TODOs (noch ersetzen)
### Grafik
**Schuhmacher (Reif/Mark)** — Dateien zum Ersetzen, siehe [`assets/sprites/placeholders/REPLACE.md`](assets/sprites/placeholders/REPLACE.md):
- `reif.png` / `mark.png` — Mensch (Boss)
- `shoe.png` — geworfene Schuhe
- `stick.png` — Stock
- `tiramisu.png` — Tonne nach Sieg
Weitere TODOs:
- Titelbild: verpixeltes Mario + Sonic + Burger-Regen + verstörter Mensch
- Burger-Cham-Bild (70-jähriger Mann mit Burger)
- Intro Tisch/Konsole vor/nach Explosion
- Dorf-Häuser & verstörte Dorfbewohner
- Eisbär + Schlangenmähdrescher, Schlange, Kuh-Masseur
- Glitzos, dunkelgrauer Magier, bayerischer Farmer, Urhahn, Nutztiere
- Mond: Käseverkäufer, Katapulte, Mondschwert, Fake Bowser
- Dresslermeister (Riesenapfel), Hongkong/Glitschkönig, Quirxels
- Todesbildschirm / UI-Icons (Zahn, Milch, Banane, Wartchen, …)
### Audio
- Laute Startmusik mit Gesang („Hey, das hier ist so eine laute Musik extra…“)
- **Dialog-Stimmen (Piper, high models):** `assets/audio/voice/{de,en,by}/`
- Casting: `data/voice_cast.json` (pro NPC eigenes High-Modell / Emotion-Speaker)
- Einmal neu: `python3 scripts/tools/generate_voice_dialogs.py --force` (dauert)
- **Watcher** (solange keine echten Takes): `python3 scripts/tools/generate_voice_dialogs.py --watch`
→ baut WAVs neu, sobald `data/locales/*.json` oder `voice_cast.json` ändern
- Modelle unter `~/.local/share/piper/voices/` (thorsten-high, libritts-high, …)
- Burger-Cham, Explosion, Kämpfe, …
Platzhalter-SFX weiter unter `assets/audio/placeholders/`.
### 3D-Modelle
- Ablage: `assets/3DModelle/` → `props/` / `houses/` / `animals/` (Details: `assets/3DModelle/README.md`)
- Drop in Root oder `_inbox/`, oft noch umbenennen → Auto-Sort wartet **45s Idle**:
`python3 scripts/tools/organize_3d_models.py --watch --import`
- Einmal: `python3 scripts/tools/organize_3d_models.py --force --import`
- Dorf-Häuser: Scan aller `houses/*/*.glb` außer `massour/`
- Dorf-Tiere: Scan aller `animals/*/*.glb` außer `cow/` (Kuh = Masseur **im Dorf**)
## Hinweis
Keine echten Zahlungen, keine lizenzierten Charakter-Assets — alles Satire/Platzhalter.