# Chameleon — Game Design & Fortschritt > Lebendes Dokument. Checkliste, was wir schon haben und was noch fehlt. > Vorbild: **Meccha Chameleon** — aber **kein 1:1-Klon**. Wir picken die Mechaniken, > die uns gefallen, und lassen den Rest weg oder machen es anders. --- ## 1. Referenz: Was ist Meccha Chameleon? Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mechaniken (Quellen: Wikipedia, Steam-Store-Seite, Stand der Recherche): - **Hider:** Bemalt seinen anfangs **reinweißen** Chamäleon-Körper, um mit der Umgebung zu verschmelzen. Werkzeuge: **Farbrad** + **Pipette (Eyedropper)** zum Aufnehmen von Umgebungsfarben. Zusätzlich **Posen** (z. B. zusammenrollen, hinlegen), um die Silhouette an Objekte anzupassen. „Versteck, Pose und vor allem die malerische Geschicklichkeit" sind der Schlüssel. - **Seeker/Hunter:** Muss **alle Hider im Zeitlimit** finden. Hider können „taunten" (pfeifen), um sich verräterisch bemerkbar zu machen; optional **erzwungenes Taunting** in Intervallen. - **Modi:** Standard-Hide-and-Seek, **Infection** (Gefangene wechseln die Seite), u. a. - **Struktur:** Runden mit Zeitlimit, Sieg der Seeker, wenn alle gefunden wurden. - Empfohlen **2–10 Spieler**, reines **Online-PvP**. Keine nennenswerten Progressions-/Kosmetik-Systeme in der Store-Beschreibung erwähnt. --- ## 2. Unsere Vision (Abgrenzung) - **Behalten / Stärke ausbauen:** das **Bemalen** als Kern-Mechanik (haben wir bereits, sogar nahtfreies Mesh-Painting auf 3D) + **Bewegung über das Gewöhnliche hinaus** (Wand-Klettern/Mantle ist bei uns schon drin und geht über Meccha Chameleon hinaus). - **Entschieden:** - **Reines Multiplayer-PvP.** Kein Singleplayer/PvE, keine Seeker-KI — Hider und Seeker sind immer menschliche Spieler. - **Keine automatische Tarnungs-Bewertung.** Wie gut eine Bemalung tarnt, entscheidet allein das Auge des Seekers — das Spiel misst/wertet die Tarnung nicht. - **Noch offen / Geschmacksfrage** (bitte hier markieren, was dir an Meccha Chameleon (nicht) gefällt): - Posen-System ja/nein? - Taunt/Pfeifen ja/nein? > **TODO (User):** Hier eintragen, was dir bei Meccha Chameleon gefällt und was nicht — danach > schärfen wir Scope & Reihenfolge. --- ## 3. Checkliste — Was wir schon haben ✅ ### Charakter & Bewegung - [x] Third-Person **CharacterController** mit WASD-Bewegung (kamerarelativ) - [x] **Sprung** + Schwerkraft - [x] **Sprint** (Shift halten, eigener Speed-Multiplikator) - [x] **Beschleunigung/Entschleunigung** (sanfter Anlauf/Ausrollen statt Snap) - [x] **Slope-Sliding** (Abrutschen von zu steilen Flächen/Kanten) - [x] **Wall-Climb**: Wände/Decken hochklettern (wand-relative Steuerung: W ran/hoch, S weg+ablösen, A/D seitlich) - [x] **Mantle / Top-Out**: über die Oberkante ziehen statt droppen, an steilen Schrägen mit Aufwärts-Hop drüber (kein Kanten-Flackern) - [x] **Animator-Anbindung**: `Running`-Bool wird bei Bodenbewegung gesetzt ### Posen & Charakter - [x] **Posen-System** (zusammenrollen, hinlegen) zum Anpassen der Silhouette - [x] Finales Charakter-Modell + Rig - [x] Animationen (Klettern, Springen, Posen) — **Laufen** bereits über den `Running`-Animator-Bool angebunden - [x] **Fall-Animation**: eigene Pose-Animation beim Fallen (Abwärts-Velocity über Schwellenwert, nicht am Boden; pro Pose authorbar mit Idle-Fallback) ### Bemalen (Kern der Camouflage-Idee) - [x] **MeshPainter**: nahtfreies Bemalen direkt auf dem 3D-Mesh des Charakters - [x] **GPU- und CPU-Pfad**, umschaltbar; Edge-Padding/Dilation gegen Naht-Linien - [x] Pinsel: **Farbe**, **Größe**, Texturauflösung, Grundfarbe (Inspector) - [x] Shader: `MeshPaintBrush.shader`, `MeshPaintDilate.shader` - [x] **Farbwähler-UI** (Farbrad/Color-Picker) statt fester Inspector-Farbe - [x] **Pipette / Eyedropper**: Umgebungsfarbe per Klick aufnehmen - [x] Weitere Brushes (Größe per Hotkey/Slider, evtl. Muster/Texturen) ### Kamera - [x] **Cinemachine** 3.1.7 Third-Person **Orbit-Kamera** (Maus) - [x] Zoom (Mausrad, **interpoliert**), Kollisionsvermeidung (**Deoccluder**) - [x] **Geglättete Orbit-Rotation** (Tiefpass auf das Maus-Delta) - [x] Cursor-Lock/-Logik je nach Modus ### Spiel-Struktur / Tooling - [x] **GameModeManager** (erweiterbare State-Machine, Tab schaltet um) - [x] **Player-Control-Modus** (Laufen + Kamera per Maus) - [x] **Paint-Modus** (kein Movement, Linksklick malt, Rechtsklick hält Kamera-Dreh) - [x] **FrameRateLimiter** (FPS-Begrenzung, VSync-Handling) - [x] Git initialisiert (Unity-`.gitignore` + `.gitattributes`), englische Commits --- ## 4. Checkliste — Was noch fehlt ❌ ### Bemalen / Camouflage (höchste Priorität, ist unser Alleinstellungsmerkmal) - [ ] Bemalung **zurücksetzen** / Undo ### Spielablauf (Hide & Seek) - [ ] **Seeker/Hunter-Rolle** (immer menschlicher Spieler) - [ ] **Runden-System**: Vorbereitungsphase (verstecken/bemalen) → Suchphase - [ ] **Zeitlimit** + Timer-Logik - [ ] **Sieg-/Niederlage-Bedingungen** (Seeker findet alle Hider im Zeitlimit — keine automatische Tarnungs-Wertung) - [ ] **Taunt/Pfeifen** (optional, ggf. erzwungen) — falls gewünscht - [ ] **Spielmodi**: Standard, Infection, ggf. eigene Ideen ### Multiplayer (Kern — reines Online-PvP, kein Singleplayer) - [ ] **Netcode** (z. B. Netcode for GameObjects / Mirror / Photon) - [ ] Lobby / Matchmaking / Host-Join - [ ] Spieler-Synchronisation inkl. **Bemalung über das Netzwerk** ### Welt & Präsentation - [ ] **Maps / Level-Design** (Verstecke, abwechslungsreiche Oberflächen/Farben) - [ ] **UI/HUD**: Timer, Rollen-Anzeige, Farbwähler, Menüs, Ergebnis-Screen - [ ] **Audio**: SFX (Pfeifen, Schritte, Klettern), Musik - [ ] Beleuchtung / Art-Direction --- ## 5. Vorgeschlagene nächste Schritte (Reihenfolge zur Diskussion) 1. **Tarnung sichtbar machen:** Farbwähler-UI + Pipette → das Bemalen wird im Play-Mode bedienbar (ohne Inspector). Macht den Kern sofort spielbar. 2. **Eine einfache Test-Map** mit unterschiedlich gefärbten Oberflächen zum Üben der Tarnung. 3. **Lokaler Gameplay-Loop zum Testen** (zweiter lokaler Controller als Seeker) + Runden/Timer → erster echter Hide-&-Seek-Ablauf, noch ohne Netzwerk. 4. **Multiplayer-Netcode** angehen (Kern des Spiels): Lobby/Host-Join, Spieler- und Bemalungs-Synchronisation. > Reihenfolge bewusst so, dass wir früh etwas **Spielbares** haben, bevor wir uns an > Netcode (aufwendig) binden.