# 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.