From ac22bf143f0822048bb3cadf3043c3836971ea97 Mon Sep 17 00:00:00 2001 From: MelekTaus Moribundus Date: Mon, 22 Jun 2026 16:42:26 +0200 Subject: [PATCH] Add game design doc with feature checklist Document the project vision (inspired by MECCHA CHAMELEON, not a clone) and a living checklist of implemented features versus what is still missing (color picker, eyedropper, camouflage scoring, poses, seeker role, rounds/timer, multiplayer, maps, UI, audio). Co-Authored-By: Claude Opus 4.8 --- docs/GAME_DESIGN.md | 126 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 docs/GAME_DESIGN.md diff --git a/docs/GAME_DESIGN.md b/docs/GAME_DESIGN.md new file mode 100644 index 0000000..ea15239 --- /dev/null +++ b/docs/GAME_DESIGN.md @@ -0,0 +1,126 @@ +# 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 hinaus). +- **Noch offen / Geschmacksfrage** (bitte hier markieren, was dir an Meccha (nicht) gefällt): + - Multiplayer-PvP zwingend, oder erst **Singleplayer/PvE** gegen KI-Seeker? + - Tarnung **automatisch bewerten** (Spiel misst, wie gut die Bemalung zum Hintergrund passt) + vs. rein durch das Auge des Seekers? + - Posen-System ja/nein? + - Taunt/Pfeifen ja/nein? + +> **TODO (User):** Hier eintragen, was dir bei MECCHA 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] **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 (kein Kanten-Flackern) + +### 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` + +### Kamera +- [x] **Cinemachine** 3.1.7 Third-Person **Orbit-Kamera** (Maus) +- [x] Zoom (Mausrad), Kollisionsvermeidung (**Deoccluder**) +- [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) +- [ ] **Farbwähler-UI** (Farbrad/Color-Picker) statt fester Inspector-Farbe +- [ ] **Pipette / Eyedropper**: Umgebungsfarbe per Klick aufnehmen +- [ ] **Tarnungs-Bewertung**: misst das Spiel, wie gut die Bemalung zum Hintergrund passt? + (vergleicht Charakter-Render vs. Umgebung) — potenziell unser interessantestes Feature +- [ ] Weitere Brushes (Größe per Hotkey/Slider, evtl. Muster/Texturen) +- [ ] Bemalung **zurücksetzen** / Undo + +### Posen & Charakter +- [ ] **Posen-System** (zusammenrollen, hinlegen) zum Anpassen der Silhouette +- [ ] Finales Charakter-Modell + Rig +- [ ] Animationen (Laufen, Klettern, Springen, Posen) + +### Spielablauf (Hide & Seek) +- [ ] **Seeker/Hunter-Rolle** (Spieler oder KI) +- [ ] **Runden-System**: Vorbereitungsphase (verstecken/bemalen) → Suchphase +- [ ] **Zeitlimit** + Timer-Logik +- [ ] **Sieg-/Niederlage-Bedingungen** + Scoring +- [ ] **Taunt/Pfeifen** (optional, ggf. erzwungen) — falls gewünscht +- [ ] **Spielmodi**: Standard, Infection, ggf. eigene Ideen + +### Multiplayer (falls PvP gewünscht) +- [ ] **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 + +### KI (falls Singleplayer/PvE) +- [ ] **Seeker-KI**: Patrouille, Sicht-/Erkennungslogik (reagiert auf schlechte Tarnung) +- [ ] Schwierigkeitsgrade + +--- + +## 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. **Erste Seeker-Instanz** (zunächst simple KI oder ein zweiter lokaler Controller) + + Runden/Timer → erster echter Gameplay-Loop, noch ohne Netzwerk. +4. Danach Entscheidung: **Singleplayer/PvE ausbauen** oder **Multiplayer-Netcode** angehen. + +> Reihenfolge bewusst so, dass wir früh etwas **Spielbares** haben, bevor wir uns an +> Netcode (aufwendig) binden.