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>
93 lines
3.7 KiB
Markdown
93 lines
3.7 KiB
Markdown
# 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.
|