From 520e9a13206509813f4942595e17cfe79d78dce6 Mon Sep 17 00:00:00 2001 From: Henning Oschwald Date: Fri, 24 Jul 2026 13:23:44 +0200 Subject: [PATCH] docs: add README.md --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..67082ae --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# 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.