initial commit

This commit is contained in:
2026-07-23 09:09:59 +02:00
commit 95225b3ed8
14 changed files with 6779 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# 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.