Files
audiopoker/README.md
T
2026-07-24 13:23:44 +02:00

58 lines
2.3 KiB
Markdown

# 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_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.
## Installation & Voraussetzungen
Dieses Projekt verwendet Rust und das Bevy Framework. Um das Projekt zu starten, benötigen Sie:
1. **Rust:**Installieren Sie Rust über [rustup](https://rustup.rs/).
2. **Bevy Engine:** Die Abhängigkeiten werden automatisch via Cargo verwaltet.
### Starten des Projekts
```bash
cargo run
```
## Funktionsumfang (Roadmap)
### Phase 1: Fundament & Core Logic (MVP) - *Abgeschlossen*
- [x] Projektstruktur aufsetzen.
- [x] Poker Engine (Hand-Rankings, Deck-Shuffling/Draw, Betting-Logik).
- [x] Audio-Grundlagen (`audio::tts` via Web Speech API).
- [x] 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*
- [x] TTS-Logik verfeinert (kontextuelle Ansagen).
- [x] Soundeffekte eingebunden (Event-Ebene).
- [x] 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.