1.9 KiB
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_audiofü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.