Explosion_der_Spiele/DESIGN.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

178 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 – DESIGN (kanonische Wahrheit)
> **Single source of truth.** Alle Implementierung, Quests, Kampf und UI folgen diesem Dokument.
> Mündliches Diktat (User) + technische Entscheidungen. Bei Konflikt gewinnt dieses File
> (nicht Chat-Zusammenfassungen, nicht alte Scaffold-Kommentare).
**Repo:** https://forgejo.fsociety00.cc/copilot/Explosion_der_Spiele
**Engine:** Godot 4.3+ GDScript, PC
**Grafik:** 3D-Welt, Charaktere meist **Mario-Baum-Billboards** (+ GLB-Props). Referenzgröße **Spieler 1,74 m** (`SpriteFit.WORLD_PLAYER_HEIGHT`); Häuser/Tiere/Props realistisch relativ dazu.
---
## 1. Title Screen
- Ganz verpixelt: **Mario + Sonic** sichtbar (verpixelt), **Burger-Regen** (verpixelt). Art: User-Fotos / echte Sprites — bis dahin Platzhalter.
- Links unten: verstörter Mensch + Sprechblase: *„Oh mein Gott, es wird so verrückt. Hongkong ist ein weiser Mann.“*
- Titel: **Explosion der Spiele**
Untertitel: **Pay2Win (um reiche Leute anzulocken, hihihihi)**
- **Extrem laute** gesungene Musik; der **Sänger** singt: *„Hey, das hier ist so eine laute Musik extra. Damit du direkt auf Starten drückst…“* — **nicht** als UI-Text auf dem Titel. Lautstärke **nicht** runterdrehbar.
- Layout sonst so lassen, bis Grafik-Pack kommt.
- **Burger-Cham** alle **2 Minuten** solange man auf dem Title ist: Bild (70-jähriger Mann beißt in Burger) + *„Burger! Beste Qualität von der Explosion der Spiele.“*
- **First-Run Sprachwahl** DE / EN / BY (auch später in Optionen umstellbar):
- BY → Stimme/Rülps + *„Schulz“*
- EN → *„I drink my garden in the cinema“*
- DE → *„Am deutschen Wesen soll die Welt genesen.“*
- Optionsmenü: Sprache, SFX; Musik-Slider gesperrt laut.
## 1b. Charakterwahl (nur Optik)
> **supersedes** frühere Idee „Mischung aus ganz vielen Spielecharakteren als Spieler“. Stattdessen **eine von vier** festen Figuren wählen. **Nur Look / Idle-Animation** — Stats, Kampf, Quests identisch.
Auswahl nach Sprachwahl / vor oder mit Start (UI TBD). Speichern in Save.
| ID | Name | Look | Idle / Gag |
|----|------|------|------------|
| `flintenbuerger` | **Flintenbürser** | Mensch, Bauer: Stroh im Mund, Kappe, Lederzeug | Klatscht dauernd mit der Hand gegen den eigenen Fuß (bayerisch; Referenz-Video vom User folgt) |
| `stroh_dilos` | **Stroh-Dilos / Kanodilos** | Sehr muskulös | **Augenschappe** (Augenklappe) — Pflicht-Detail |
| `gorilla_zunge` | **Gorilla mit der Zunge** | Gorilla | Zunge hängt **immer** raus |
| `npc` | **NPC** | Ganz normaler Mensch | Absichtlich langweilig / „nur NPC“ |
Billboards: `player_flintenbuerger.png`, `player_stroh_dilos.png`, `player_gorilla_zunge.png`, `player_npc.png` (Platzhalter später). Idle-Frames/Animation für Flintenbürser-Klatscher wenn Art da ist.
## 2. Intro
- Tisch + Konsole.
- Sprecher sanft/episch: *„Du sitzt an deinem Tisch und spielst dein Lieblingsspiel…“*
- Konsole explodiert.
- Sprecher: *„Du musst es schaffen. Du musst es schaffen – sonst kommt der Hongkong.“*
## 3. Village / Hauptwelt (Animal-Crossing-Dorf + Wiese)
- **Eine contiguous Hauptwelt** (`scenes/village.tscn`, `current_scene_id = "village"`): Dorf und Wiese liegen **nebeneinander**, getrennt durch einen **Zaun mit Tor**.
- Verpixelt, kaputt; **random 3D-Häuser** aus `assets/3DModelle/houses/*/` (jedes Laden neu gemischt; **nicht** `massour/`).
- **Masseur-Haus** = Deko `houses/massour/massourhaus.glb`; **Masseur-Kuh** davor (`animals/cow/cow.glb`) — [E] Massage/Secret-Milch **im Dorf** (keine Extra-Szene).
- **Random-Tiere** aus `animals/*/` außer **`cow/`**.
- Tisch/Knopf: `props/table/table.glb`, `props/button/Button.glb` — Knopf klein/unauffällig, [E] → **Reif-Kampf vor Ort** (kein `goto_scene("shoe_boss")`).
- **Zaun + Tor** Richtung Wiese: solange Reif lebt → Tor **zu** (Kollision). Sieg über Reif → Tor **öffnet** (Animation, Kollision aus) → Spieler **läuft** zur Wiese.
- Legacy-IDs `shoe_boss` / `meadow` / `massage_studio` redirecten auf `village`.
- Weiter-Haus im Dorf: [E] → Catscene **erst nach** Schlangen-Massage (sonst Hinweis Knopf/Tor/Wiese).
## 4. Shoe Boss – Schuhmacher Reif (lokal in der Hauptwelt)
- Kampf startet **im Dorf** am Tisch (gleiche Szene), keine Teleport-Arena.
- Normaler Mensch, Stock, Schuh am Schnürsenkel.
- Schreit/ruft: *„Wenn du noch nicht reif bist, muss ich dir einen Schuh schenken!“*
- **Kampf-KI:** verfolgt Spieler, Nahkampf, **wirft Schuhe** (Projectile, ausweichen / zerschlagen möglich).
- Tod durch Schuh → `death_shoe`: *„Da hat dir wohl wer 'nen Schuh geschenkt.“*
- Sieg → **Tonne Tiramisu**; Essen → **10 Minuten zu fett** + Shorts-Stimulation; Flag `reif_defeated` + **Tor zur Wiese öffnet**.
## 5. Meadow (Wiese) — Zone neben dem Dorf
- Teil derselben Hauptwelt (östlich hinter dem Zaun), **kein** Scene-Wechsel und **kein** Exit-Teleport zurück.
- Großteils gemäht; an einer Stelle nicht: **Eisbär** wird von **Schlangenmähdrescher** gewürgt.
- Rettung: Schlangen ins **Inventar** → **zu Fuß zurück** zur Masseur-Kuh im Dorf → Schlange schläft ein.
- Schlange jammert (*verspannt / tut weh*); Dorfbewohner erinnern an Massage.
- Belohnung: Eisbär reißt sich einen **Zahn** aus → Inventar. Zahn = Glitzos schneller tot.
- Lore: Hongkong (später Glitschkönig) verwandelte den Rasenmäher in Schlangen.
- Tod durch Mäher: `death_mower`.
### Glitzos (nur auf der Wiese-Zone)
- Verglitschte Pixelwesen; spawnen wiederholt aus dem Boden.
- **4 Treffer** tot; **4 Treffer am Spieler** = Tod.
- Nach **3 Treffern** am Spieler: verglitscht / langsam.
- Mit **Eisbärzahn**: Spieler braucht nur **2 Stiche**.
- **KI:** jagen den Spieler (nicht nur stehen).
- Außerhalb der **Meadow-AABB/Zone** (nicht ganze Szene): können nicht bleiben → **Pixel-Sprühnebel** und weg.
- Todestext: Quadrat-Emoji `⬜` (`death_glitzo`).
## 6. Masseur-Kuh (im Dorf)
- Masseur = **Kuh** vor dem Masseur-Haus — 3D `animals/cow/cow.glb` (nicht im Random-Tier-Pool).
- Keine separate Studio-Szene; Wiese und Dorf sind **dieselbe Map** — zurücklaufen genügt.
- Option A: Schlange jetzt massieren → Quest.
- **Secret:** erst viel trinken lassen → betrunken → melk sich selbst → **Milch**. Milch trinken = Skip zum **Endboss**.
## 7. Catscene (Katzin / Catscene-Wortwitz)
- Sprecher: Dorf verlassen, Open World wäre zu viel Arbeit → **keine Open World**. Traurig? Egal.
- **Skip versuchen** → Strafe: *„…überspringen, spinnst du?“* + **voller Reset** von vorne (Intro).
## 8. Farm Path (enger Weg, Anti-Open-World)
- Gerade, eng; Weggabelung mit Pfeil nach **links** (Hof).
- **Rechts:** dunkelgrauer Magier zieht zurück / wirft nach links.
- Sofort links → Bauer: brav, gleich gekommen.
- Erst rechts → Bauer holt Magier; Dialog *fast schwarzer / dunkelgrauer Magier* → Magier wütend → **Planet weg** → Spawn im **Weltall/Mond**.
## 9. Farm (Bauernhof)
- Bauer spricht **immer Bayerisch** (unabhängig von Spielsprache).
- Quests: (1) Schweine füttern (2) Kühe melken (3) Hühner sneaken ins Inventar.
- **Urhahn:** mächtig, pickt tot; **10 s Schock** vorm Respawn; Spieler kann sich kaum wehren.
- Hühner → **Lava-Chicken-Farm**.
- Belohnung/Paywall-Satire: *1,99* / **Dresslerpunkte** im Shop (1 Punkt ≈ 1€ Mock).
- Weiter spielen? „Zahl…“ → **Spaß, du darfst weiter** (Pay2Win nur um Reiche anzulocken).
- **Schein der Uralten:** essen = Tod/Ausstieg (*zu verrückt*).
## 10. Dressler-Boss (nach Hof / Paywall)
- Riesenapfel auf Feld; Augen öffnen: *„Dresslauf die Eins!“*
- Mähdrescher von der Seite → **hineinspringen, Fahrer rauswerfen**, Apfel dreschen.
- Drop: **zertresselter Apfel** – Aufschrift *ESSEN NICHT, außer du willst durchspielen* → Essen = Teleport Endboss.
- Boss kommentiert unkreativen Weg.
## 11. Moon
- Käseverkäufer stellen Tische → **Käsekatapulte** (verschimmelt) → Mund treffen = Tod.
- **Käse erstechen** (nicht Verkäufer) → sterben vor Trauer.
- **Mondschwert** im Stein → Käseverkäufer/Minis one-hit (viele).
- Mondforscher: Sonnenbrille für Dresslerpunkt → **Spaß, gratis**.
- **Fake Bowser** hält Huhn gefangen (Hochzeit mit Hof-Huhn → **Hochzeitsei**).
- Kampf: rollt zur Kugel; **3 Hämmer** raten; falscher Hammer = frisst dich; richtige Kugeln einschlagen = Sieg.
- Hochzeitsei werfen = **Whiff** (Fortnite-artig) → Flug zum Endboss.
## 12. Final Boss – Glitschkönig (ex „Hongkong“)
- Epische Musik (TBD).
- Vor Kampf: alle Charaktere: Hongkong war **Prank** → echt **Glitschkönig**; Belohnung **Banane** (heilen) + **Wartchen** (Kampfitem).
- Riesiger Pixelhaufen; spawnt **Quirxels** (fliegende Vierecke, die schießen).
- Schlagen → teilt sich wie Minecraft-Schleim; letzter Rest **flieht**; zerschlagen → fliegt weg: *„Ich werde wiederkommen!“*
- Eisbär (ein Zahn weniger): Welt gerettet, aber wütend wegen Zahnarztkosten → **schlechtes Gewissen**.
## 13. End (Dorf)
- Wieder AC-Dorf; Haus bauen möglich.
- Dorfbewohner wütend (Zahnarzt) → **kein Happy End**.
- Extra-Quest **Zahnionär**: Zahnarzt überfallen, Zähne klauen (Währung = Zähne) → Haus-Stuff kaufen.
## 14. Death Screen
- Schwarz, wechselt jede Sekunde bunt (blinkt).
- Alle **10 s** riesiger Totenkopf.
- Todesursachen-Texte (Mäher, Schuh, Glitzo-⬜, Käse, Bowser, Schein, …).
- Button **Wiederbeleben**; **Nein** = trotzdem revive; **Ja** = Spiel beenden → Title (Satire).
## 15. Pay-to-Win / Shop
- Dresslerpunkt = Mock-Euro; Shop in Optionen.
- Paywall-Texte immer mit Satire-Auflösung „Spaß, du darfst weiter“.
## 16. Kampf-System (technisch)
- Spieler: Third-Person, Kamera-relativ, Angriff Nahkampf.
- Gegner: **Chase + Melee-AI** (`HittableEntity` / AI-Exports), außer passive Props.
- Waffen-Mods: Zahn (2 dmg), Mondschwert (one-hit Käse-Welt), Wartchen (stärker vs Final).
- Status: Fett, Glitch-Slow, Urhahn-Schock.
- Art-Skalierung: **`SpriteFit`** + **`data/model_scales.json`** (Editor: `scenes/dev/scale_lab.tscn`).
## 17. Szenen-Flow (Default)
Title → Intro → **Village-Hauptwelt** (Dorf ↔ Reif lokal ↔ Tor ↔ Wiese zu Fuß ↔ Kuh) → Catscene → Farm Path → Farm **oder** Moon → Dressler → Moon → Final → End (+ Death jederzeit).
*Kein* Scene-Teleport mehr für Village ↔ Shoe ↔ Meadow; Catscene und spätere Level bleiben eigene Szenen.
---
*Zuletzt diktiert/aktualisiert: 2026-09-15 (contiguous overworld). Implementierung muss diese Spec nachziehen; Lücken = Bugs, nicht Feature.*