Docs: bring GAME_DESIGN.md up to date with current feature set
Add shipped features (session browser, radar pings + self-ping taunt, X-ray reveal, conversion statues, match start trigger, fur shells, PBR paint channels + camo knobs + painting library, settings persistence, SkyboxEnvironmentUpdater, volumetric climb probes), correct stale claims (MatchHud is uGUI, matchmaking exists), reprioritize next steps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6c03e5d3f6
commit
755fffa997
1 file changed
+49
-18
+49
-18
@@ -41,7 +41,8 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
- **Infection-artiger Modus: ja** — als **Conversion-Modus** umgesetzt (getroffener Hider
|
||||
wird zum Hunter, statt nur „gefunden" zu sein).
|
||||
- **Noch offen / Geschmacksfrage:**
|
||||
- Taunt/Pfeifen ja/nein? (noch nicht umgesetzt)
|
||||
- Taunt: der **Radar-Selbst-Ping** (E) ist umgesetzt (Hider verrät sich freiwillig auf dem
|
||||
Hunter-Radar); ob zusätzlich ein **akustisches Pfeifen** (ggf. erzwungen) kommt, ist offen
|
||||
|
||||
> **TODO (User):** Hier eintragen, was dir bei Meccha Chameleon gefällt und was nicht — danach
|
||||
> schärfen wir Scope & Reihenfolge.
|
||||
@@ -57,7 +58,8 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
- [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)
|
||||
W ran/hoch, S weg+ablösen, A/D seitlich); **volumetrische SphereCast-Probes** —
|
||||
hält auch dünne Bretter, weiche Kontakt-Normale an Kanten/Rundungen (kein Flackern)
|
||||
- [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
|
||||
@@ -69,6 +71,8 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
`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)
|
||||
- [x] **Fell** (`FurShellRenderer`): Shell-basiertes Fur auf dem Body, färbt mit der
|
||||
Bemalung mit
|
||||
|
||||
### Bemalen (Kern der Camouflage-Idee)
|
||||
- [x] **MeshPainter**: nahtfreies Bemalen direkt auf dem 3D-Mesh des Charakters
|
||||
@@ -80,6 +84,12 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
- [x] Weitere Brushes (Größe per Hotkey/Slider, evtl. Muster/Texturen)
|
||||
- [x] **Undo** der Bemalung (Checkpoint-basiert, auch über das Netzwerk) — ein
|
||||
separates Komplett-**Reset** ist bewusst nicht nötig (Undo deckt das ab)
|
||||
- [x] **PBR-Kanäle malbar**: Metallic/Smoothness und **Höhe** (Occlusion-Kanal mit
|
||||
Relief-Normal- und Parallax-Shading) — pro Kanal zuschaltbar im Paint-HUD
|
||||
- [x] **Camo-Regler**: **Brightness** (generelle Exposure) + **Saturation**
|
||||
(0 = neutral, −1 = grau) — persistent und netz-repliziert
|
||||
- [x] **Painting-Library**: Bemalungen benannt **speichern/laden/löschen** (versionierte
|
||||
Slots inkl. aller Regler; Laden wird an Mitspieler re-broadcastet)
|
||||
|
||||
### Kamera
|
||||
- [x] **Cinemachine** 3.1.7 Third-Person **Orbit-Kamera** (Maus)
|
||||
@@ -94,11 +104,19 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
- [x] **First-Person-Modus** (Hunter: FP-Kamera + Schießen per Linksklick-Raycast)
|
||||
- [x] **Free-Cam / Spectator-Modus** (gefundene/zuschauende Spieler beobachten frei)
|
||||
- [x] **FrameRateLimiter** (FPS-Begrenzung, VSync-Handling)
|
||||
- [x] **Settings-Persistenz** (`GameSettings`): Master-Volume- & Maus-Sensitivitäts-Slider
|
||||
- [x] **SkyboxEnvironmentUpdater**: Sky-Reflexion + Ambient ohne gebackenes LightingData
|
||||
(Custom-Cubemap-Render, Intensity-Regler, separates Reflexions-Sky-Material möglich)
|
||||
- [x] **Concealment-Tooling**: `ConcealmentMeter` (volumetrische „wie tief steckt der Hider
|
||||
in Geometrie"-Messung) + Collider-Baker (`ConcealmentColliderBaker`, VHACD, Skinned)
|
||||
- [x] Git initialisiert (Unity-`.gitignore` + `.gitattributes`), englische Commits
|
||||
|
||||
### Multiplayer (reines Online-PvP)
|
||||
- [x] **Netcode for GameObjects** (NGO 2.13) als Netzwerk-Stack
|
||||
- [x] **Host/Join**, Lobby-Szene + Match-Szene (`The Room`)
|
||||
- [x] **Session-Browser** (UGS Sessions, `OnlineSessionBrowserUI`): Host / Liste
|
||||
aktualisieren / Join per Klick; im Spiel als **Esc-Pause-Overlay** mit
|
||||
kontextsensitivem Disconnect (Exit / Back-to-Lobby / Disconnect)
|
||||
- [x] **Spieler-Synchronisation** (NetworkTransform, owner-authoritativ)
|
||||
- [x] **Bemalung über das Netzwerk** (`PlayerPaintSync`: ServerRpc/ClientRpc/NetworkVariable,
|
||||
Late-Join-Replay der Paint-Stamps)
|
||||
@@ -119,11 +137,23 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
- [x] **Found-State** (`NetworkVariable<bool>`, server-write): getroffener Hider →
|
||||
Mesh bei allen aus → nur noch **Spectator-Freecam**
|
||||
- [x] **Früh-Ende der Suchphase**, wenn alle Hider gefunden/konvertiert sind
|
||||
- [x] **Match-Start per Trigger-Zone** in der Lobby (`StartMatchTrigger`): die Match-Authority
|
||||
stellt sich in den Bereich; server-seitiger Overlap-Poll (funktioniert auch für
|
||||
Remote-Authority ohne Rigidbody)
|
||||
- [x] **Radar-Pings**: Intervall-Sweep in der Suchphase — jeder un-gefundene Hider blippt
|
||||
auf dem **Hunter-Radar** (Overlay-Radar mit Fade); HUD zeigt Countdown zum nächsten Sweep
|
||||
- [x] **Selbst-Ping / Taunt** (E): Hider verrät sich freiwillig mit einem sofortigen Radar-Blip
|
||||
- [x] **X-Ray-Reveal** (Umriss-Glow durch Wände): in der Auflösung, als kurzer Schuss-Flash
|
||||
und als **Embedded-Schutz** — steckt ein Hider tiefer als die Schwelle in Geometrie
|
||||
(`ConcealmentMeter`), wird er für alle enthüllt (Anti-Cheese)
|
||||
- [x] **Conversion-Statuen** (`MatchStatue`): eingefrorene, bemalte Statue jedes konvertierten
|
||||
Hiders (Ort/Pose/Bemalung) erscheint zur Auflösung
|
||||
- [x] **Zwei Match-Modi** (`matchMode`, Inspector):
|
||||
- **Classic** — getroffener Hider wird „gefunden" (Freecam)
|
||||
- **Conversion** (Infection) — Hider blind füreinander; getroffener Hider **wird Hunter**
|
||||
(echte Hunter-Variante, **an Ort und Stelle**, sauberes Reveal via `conversionRevealDelay`)
|
||||
- [x] **Platzhalter-HUD** (`MatchHud`, OnGUI): Phasenname + Countdown + Hunter-Crosshair
|
||||
- [x] **Match-HUD** (`MatchHud`, uGUI `MatchHudCanvas`): Phase + Countdown, Rollen-Zähler,
|
||||
Hunter-Crosshair, Radar-Sweep-Countdown
|
||||
- [x] **Kamera-Occlusion-Fade** (`HeroCutout`): kegelförmiger weicher Cut (radial + axial),
|
||||
konstante Bildschirm-Lochgröße, raycast-getriggert
|
||||
|
||||
@@ -132,39 +162,40 @@ Online-PvP-Versteckspiel (Hide & Seek), 2–10 Spieler. Kurzüberblick der Mecha
|
||||
## 4. Checkliste — Was noch fehlt ❌
|
||||
|
||||
### Spielablauf (Hide & Seek)
|
||||
- [ ] **Auflösungs-Phase mit Inhalt**: aktuell läuft nur der Countdown; noch kein
|
||||
**Ergebnis-Screen** (wer hat gewonnen, wer wurde gefunden/konvertiert)
|
||||
- [ ] **Ergebnis-Screen** in der Auflösung (wer hat gewonnen, wer wurde gefunden/konvertiert) —
|
||||
Conversion-Statuen + X-Ray-Reveal sind da, eine explizite Auswertung/Anzeige fehlt
|
||||
- [ ] **Explizite Sieg-/Niederlage-Auswertung** (Hunter gewinnt bei „alle gefunden",
|
||||
Hider gewinnen bei Timeout) — derzeit nur impliziter Phasenwechsel
|
||||
- [ ] **Taunt/Pfeifen** (optional, ggf. erzwungen) — noch offen
|
||||
- [ ] **Akustisches Taunt/Pfeifen** (optional, ggf. erzwungen) — der Radar-Selbst-Ping
|
||||
deckt die Mechanik bereits ab
|
||||
|
||||
### Multiplayer
|
||||
- [ ] **Matchmaking** über reines Host-Join hinaus (Lobby-Browser / Codes / Relay)
|
||||
- [ ] **Matchmaking-Ausbau**: Join-Codes / Relay / private Sessions
|
||||
(Session-Browser mit Host/Join existiert bereits)
|
||||
- [ ] Robustheit: Reconnect, Host-Migration, Disconnect-Edge-Cases im Match
|
||||
|
||||
### Welt & Präsentation
|
||||
- [ ] **Maps / Level-Design** ausbauen (mehr Verstecke, abwechslungsreiche
|
||||
Oberflächen/Farben) — Szenen `Lobby`, `The Room`, `Test Map` existieren als Basis
|
||||
- [ ] **Echtes UI/HUD** statt des OnGUI-Platzhalters: Timer, Rollen-/Phasen-Anzeige,
|
||||
Farbwähler, Menüs, Ergebnis-Screen (uGUI-Canvas)
|
||||
- [ ] **UI-Ausbau**: Menüs + Ergebnis-Screen — Match-HUD, Paint-HUD (inkl. Library)
|
||||
und Session-Browser sind bereits uGUI
|
||||
- [ ] **Audio**: SFX (Schritte, Klettern, Schuss, ggf. Pfeifen), Musik
|
||||
- [ ] **Beleuchtung / Art-Direction** finalisieren (erste Reflection-/Shadow-Passes sind drin)
|
||||
- [ ] **Beleuchtung / Art-Direction** finalisieren (Sky-Reflexion/Ambient via
|
||||
`SkyboxEnvironmentUpdater` und erste Shadow-Passes sind drin)
|
||||
|
||||
---
|
||||
|
||||
## 5. Vorgeschlagene nächste Schritte (Reihenfolge zur Diskussion)
|
||||
|
||||
Der Kern-Loop steht (Netcode, Rollen, Phasen, beide Modi, Schießen/Konversion). Die nächsten
|
||||
Schritte machen ihn **rund** und **präsentabel**:
|
||||
Der Kern-Loop steht (Netcode, Session-Browser, Rollen, Phasen, beide Modi, Schießen/Konversion,
|
||||
Radar, X-Ray-Reveal, Statuen). Die nächsten Schritte machen ihn **rund** und **präsentabel**:
|
||||
|
||||
1. **Match-Abschluss ausbauen:** echte Sieg-/Niederlage-Auswertung + Ergebnis-Screen in der
|
||||
Auflösungs-Phase (statt nur Countdown → Lobby).
|
||||
2. **Echtes HUD** (uGUI) statt des `MatchHud`-OnGUI-Platzhalters: Timer, Rolle/Phase,
|
||||
Treffer-/Konversions-Feedback.
|
||||
3. **Map-/Level-Design** vertiefen: mehr Verstecke und farblich abwechslungsreiche
|
||||
Auflösungs-Phase (Statuen + Reveal sind da, die Auswertung fehlt).
|
||||
2. **Map-/Level-Design** vertiefen: mehr Verstecke und farblich abwechslungsreiche
|
||||
Oberflächen, damit die Tarnung wirklich zählt.
|
||||
4. **Politur:** Audio (Schritte/Schuss), Art-Direction/Beleuchtung,
|
||||
optional Taunt-System.
|
||||
3. **Politur:** Audio (Schritte/Schuss, optional Pfeifen), Art-Direction/Beleuchtung.
|
||||
4. **Robustheit:** Reconnect / Host-Migration / Disconnect-Edge-Cases.
|
||||
|
||||
> Reihenfolge bewusst so, dass aus dem funktionierenden Prototyp ein **fühlbar fertiges**
|
||||
> Match wird, bevor wir Breite (mehr Modi/Maps) draufsetzen.
|
||||
Reference in new issue
Block a user