Files
audiopoker/PLAN.md
T
2026-07-23 09:09:59 +02:00

42 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
- [x] Projektstruktur aufsetzen (`Cargo.toml`; Modul-Struktur `core`/`audio` bereinigt und verdrahtet).
- [x] **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.
- [x] **Audio-Grundlagen**: `audio::tts` ruft 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 in `main.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.