Files
audiopoker/PLAN.md
T
2026-07-23 08:49:40 +02:00

1.9 KiB

Projektplan: Audiopoker (Bevy + Wasm)

Zielsetzung

Ein barrierefreies Multiplayer-Pokergame für blinde Spieler, das primär über Audio (TTS & SFX) bedient wird. Das Spiel wird via Webbrowser aufgerufen und auf WebAssembly kompiliert.

Technologie-Stack

  • Engine: Bevy (Rust)
  • Target: WebAssembly (Wasm)
  • Networking: WebSockets für die Synchronisation des Spielzustands.
  • Audio-Output: Web Speech API (via JS-Bindings) für Text-to-Speech, bevy_audio für Soundeffekte.
  • Input: Tastatur-zentrierte Steuerung (Tab/Space/Enter).

Modul-Struktur

  • core::logic: Reine Poker-Logik (Deck, Hand-Evaluation, Betting) ohne grafische Abhängigkeiten.
  • core::network: Netzwerkprotokoll und WebSocket-Handhabung für Multiplayer-Synchronisation.
  • audio::tts: Interface zur Web Speech API für dynamisches Sprechen von Spielereignissen.
  • audio::sfx: Sound-Manager für atmosphärische Effekte (Chips, Karten mischen).
  • ui_minimal: Minimalistische Darstellung, optimiert für Barrierefreiheit und geringen Ressourcenverbrauch.

Implementierungsphasen

Phase 1: Fundament & Core Logic (MVP)

  • Projektstruktur aufsetzen (Cargo.toml, Bevy Config).
  • Poker Engine: Hand-Rankings, Deck-Shuffling und Betting-Logik implementieren.
  • Audio-Grundlagen: Integration der Web Speech API in die Rust-Umgebung.

Phase 2: Networking & Multiplayer

  • Server-Architektur für Spielräume und Spielerverwaltung aufbauen.
  • Netzwerkprotokoll für Aktionen (Deal, Bet, Fold) definieren.
  • Multiplayer-Lobby und Tischsuche implementieren.

Phase 3: Audio Experience & UI

  • TTS-Logik verfeinern (Kontextuelle Ausgaben).
  • Soundeffekte einbinden.
  • Minimalistisches, barrierefreies User Interface erstellen.

Phase 4: Polishing & Testing

  • Barrierefreiheits-Audit (Tastatur-Flow ohne Maus).
  • Latenztests im Multiplayer.
  • WebAssembly Deployment Vorbereitung.