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>
10 KiB
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; nichtmassour/). - 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ßercow/. - Tisch/Knopf:
props/table/table.glb,props/button/Button.glb— Knopf klein/unauffällig, [E] → Reif-Kampf vor Ort (keingoto_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_studioredirecten aufvillage. - 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.