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

10 KiB
Raw Blame History

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.