From 7703cf707630025c6d1b3dcd6cae707c389dfbf4 Mon Sep 17 00:00:00 2001 From: Asger Geel Weirsoee Date: Fri, 27 Feb 2026 13:00:31 +0100 Subject: [PATCH] docs: define F0 MVP scope for Fup og Fakta --- TODO.md | 2 +- docs/F0_MVP_FUP_OG_FAKTA.md | 51 +++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 docs/F0_MVP_FUP_OG_FAKTA.md diff --git a/TODO.md b/TODO.md index 3c359b9..9aeddc8 100644 --- a/TODO.md +++ b/TODO.md @@ -27,7 +27,7 @@ Byg **Weirsøe Party Protocol**: en dansk party-webapp platform ala Jackbox, hvo ## Faseplan ### Fase 0 — Scope + regler -- [ ] Fastlæg MVP for Spil 1 (`Fup og Fakta`) +- [x] Fastlæg MVP for Spil 1 (`Fup og Fakta`) — se `docs/F0_MVP_FUP_OG_FAKTA.md` - [x] Midlertidige defaults sat (X/Z, spillerantal) - [ ] Fastlæg anti-cheat regler (fx ingen identiske løgne) diff --git a/docs/F0_MVP_FUP_OG_FAKTA.md b/docs/F0_MVP_FUP_OG_FAKTA.md new file mode 100644 index 0000000..e76b4fb --- /dev/null +++ b/docs/F0_MVP_FUP_OG_FAKTA.md @@ -0,0 +1,51 @@ +# F0 MVP-definition — Spil 1: Fup og Fakta + +## Formål +Definere et klart, implementerbart MVP-scope for første spil, så teamet kan bygge og validere en første spilbar version uden scope creep. + +## MVP-mål (Spilbar kerne) +MVP er opfyldt når en host kan starte en session, 3-12 spillere kan deltage via kode, og mindst én fuld runde kan gennemføres med korrekt pointgivning og synlig scoreboard. + +## In-scope (skal med i MVP) +1. **Lobby + sessionstyring** + - Host opretter session (kræver login). + - Spillere joiner med nickname + session-kode. + - Session håndterer 3-12 aktive spillere. + +2. **Rundeflow (single game loop)** + - System vælger kategori + spørgsmål. + - Alle spillere indsender én løgn inden for X=45 sek. + - System samler svarliste: korrekt svar + alle gyldige løgne (blandet rækkefølge). + - Alle spillere gætter inden for Z=30 sek. + +3. **Scoring (server-side)** + - Point for korrekt gæt. + - Point når andre vælger ens løgn (bluff-point). + - Score opdateres pr. spørgsmål og logges i `ScoreEvent`. + +4. **Resultatvisning** + - Scoreboard efter hvert spørgsmål. + - Slutresultat efter sidste spørgsmål i runden. + +5. **Driftbar baseline** + - Realtidsopdateringer via websocket (host + mobilklienter). + - Grundlæggende fejlhåndtering for timeout/manglende svar (spillet går videre). + +## Out-of-scope for F0 MVP +- Voice-acting/TTS-afvikling (beholdes som platformkrav i senere fase). +- Avancerede anti-cheat regler (fx semantisk duplikatdetektion). +- Bulk-import/avanceret content moderation. +- Reconnect-robusthed ud over basal håndtering. +- Temaer, lydeffekter, onboarding-polish. + +## Afgrænsning af “Done” for F0 +F0-MVP anses som leveret når følgende acceptance criteria er opfyldt: +- Én host kan oprette og starte en `Fup og Fakta` session. +- Mindst 3 spillere kan joine med kode og gennemføre en hel runde. +- Tidsfaser (løgntid/gættetid) håndhæves server-side. +- Pointtildeling er korrekt og auditerbar via `ScoreEvent`. +- Scoreboard og slutresultat vises deterministisk for alle klienter. + +## Åbne afhængigheder (ikke blokkerende for definitionen) +- Endelig pointmatrix i `RoundConfig` (kan justeres uden at ændre MVP-scope). +- Anti-cheat-regler specificeres separat i Fase 0-opgaven “Fastlæg anti-cheat regler”.