730855ae5d73fa68bb5328719a273f1d323b7d42
Audiopoker
Audiopoker ist 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.
Installation & Voraussetzungen
Dieses Projekt verwendet Rust und das Bevy Framework. Um das Projekt zu starten, benötigen Sie:
- **Rust:**Installieren Sie Rust über rustup.
- Bevy Engine: Die Abhängigkeiten werden automatisch via Cargo verwaltet.
Starten des Projekts
cargo run
Funktionsumfang (Roadmap)
Phase 1: Fundament & Core Logic (MVP) - Abgeschlossen
- Projektstruktur aufsetzen.
- Poker Engine (Hand-Rankings, Deck-Shuffling/Draw, Betting-Logik).
- Audio-Grundlagen (
audio::ttsvia Web Speech API). - Bevy-App-Grundgerüst mit
AudiopokerPlugin.
Phase 2: Networking & Multiplayer - In Planung
- Server-Architektur für Spielräume und Spielerverwaltung.
- Netzwerkprotokoll für Aktionen definieren.
- Multiplayer-Lobby und Tischsuche implementieren.
Phase 3: Audio Experience & UI - In Arbeit
- TTS-Logik verfeinert (kontextuelle Ansagen).
- Soundeffekte eingebunden (Event-Ebene).
- Tastaturzentrierte Steuerung.
- Mehrspieler-lokal-Testbarkeit verbessern.
- Neue Hand nach Showdown automatisch starten.
Phase 4: Polishing & Testing - In Planung
- Barrierefreiheits-Audit (Tastatur-Flow).
- Latenztests im Multiplayer.
- WebAssembly Deployment Vorbereitung.
Languages
Rust
100%