2.3 KiB
2.3 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; Modul-Strukturcore/audiobereinigt und verdrahtet). - Poker Engine: Hand-Rankings (inkl. Wheel-Straight, 7-Karten-Bestbewertung), Deck-Shuffling/Draw und einfache Betting-Logik (Fold/Check/Call/Raise, All-In) implementiert und getestet.
- Audio-Grundlagen:
audio::ttsruft die Web Speech API korrekt an (SpeechSynthesisUtterance); auf nativen Targets Dummy-Ausgabe für Tests. - Bevy-
App-Grundgerüst (Plugins/Systems) aufsetzen – noch offen, da die Bevy-0.19-API in dieser Umgebung nicht gegen einen echten Build geprüft werden konnte (siehe Hinweis inmain.rs).
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.