Files
metro-puzzle-jp/doc/plan.md
claude daa2089eda
All checks were successful
release / build-release (push) Successful in 1m49s
Inlärning (framsteg, stjärnor, ordlista) och M4: lämmeltåget
Inlärning enligt Björns regler:
- lang.Knowledge: framsteg per ord (3 läsningar = känt), språkpoäng,
  köp av valfria ord (kostnad = tier), Award per stjärna
- sim.Run: RunOptions med seed; stjärnor 1–3 mot par (parSec eller
  kortaste vägen × 0,5 s + 20 s); ≥2 stjärnor lär resmålets ord; att
  stanna på skylt/perrong ger seedad 35 % chans till framsteg per okänt ord
- game: ordlista (L) med kända ord, framsteg och kostnad; stjärnor, poäng
  och inlärt resmål på resultatskärmen; framstegsnotis; flaggor -points/-seed

M4 lämmeltåget:
- sim.Party: medlemmar med mat/dryck/toa-mätare, behov under tröskel,
  seedade händelser var 45 s / antal (toa, törst, hunger, distraktion),
  fartstraff, toalett (W, 3 s/person) och kiosk (K, 150 ¥/person),
  följare på ledarens spår
- level: rutor W och K, party och parSec i bandatan; banor med sällskap
  måste ha toalett och kiosk (testas); 001 har 2, 002 har 3 i sällskapet
- game: följare med färgton, behovsmarkering över huvudet, mätarpanel,
  facilitetsrutor med förlopp; genart ritar toalett och kiosk
- skriptläget: move stannar exakt på målrutan även när farten inte är
  bildruteexakt (sällskapets fartstraff), stall-skydd mot väggar
- docs/README/wiki/spelbeskrivning uppdaterade

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-23 21:29:09 +02:00

67 lines
3.2 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.

# metro-puzzle-jp – plan
Navet för projektets dokumentation. Detaljerna ligger i de länkade filerna.
## Mål
Ett pixel art-pusselspel där ett sällskap ska hitta rätt tåg genom japanska
stationer byggda som labyrinter, med skyltar på japanska som spelaren lär sig
läsa. Spelet ska vara en enda binär med en resursmapp bredvid, lika lätt att
bygga på Linux som på Windows, utan andra byggverktyg än Go.
Hela spelidén: [spelbeskrivning.md](spelbeskrivning.md).
## Stack
Go 1.27 + Ebitengine v2.10, JSON-data, standardbibliotekets tester,
byggverktyg i Go (`go run ./tools/build`), VS Code med `golang.go`.
Motivering och alternativ som valts bort: [roadmap.md › Teknikval](roadmap.md#teknikval).
## Målplattformar
Linux x64 först. Windows x64 byggs från dag 1 (korsbygge utan C-verktyg)
men speltestas på riktig Windows först i M12. Linux arm64 (Pi5) är inte ett
mål för spelet, men Gitea-CI kan byggas på Pi5-runnern senare.
## Leverans
Mönster A enligt playbooken (nedladdningsbar binär). Repot ligger på Gitea
(`brasse/metro-puzzle-jp`, sedan 2026-10-23) och CI bygger release-zippar
för Linux och Windows till den rullande releasen `latest` vid varje push
till master; en tagg `vX.Y.Z` ger en versionerad release. Byggs på
brasse-linux01-runnern, inte Pi5:n.
## Milstolpar
M0 skelett ✓ → M1 rörelse/kamera ✓ → M2 tåg/spärrar/vinst ✓ → M3 japanska/skyltar ✓
→ M4 lämmeltåget ✓ → M5 minikarta → M6 kort/biljetter/minispel → M7
svårighet/poäng/debuffar → M8 progression/sparfiler → M9 navigeringslägen →
M10 story-innehåll → M11 oändligt läge/NG+ → M12 ljud/polish/release.
Innehåll per milstolpe: [roadmap.md › Milstolpar](roadmap.md#milstolpar).
Vad som ska vara testat per milstolpe: [mal-och-tester.md](mal-och-tester.md).
## Idéer till expansioner (ej beslutade)
- **Baneditor i spelet** eller ett `tools/levelcheck` som ritar banor som
PNG och rapporterar onåbara rutor – blir troligen nödvändigt i M10.
- **Daglig utmaning:** oändligt läge med dagens datum som seed och en lokal
topplista.
- **Lärande-läge:** en ordlista i menyn över tecken man mött, med
repetition – går hand i hand med skyltsystemet.
- **Lokalt samarbete:** en andra spelare styr en av polarna (delad skärm på
samma tangentbord/gamepad).
- **Steam Deck:** Linux-binären bör fungera som den är; gamepad-stöd från M1
gör det gratis.
- **Modbara banor:** eftersom banor är JSON i `resources/data/levels` kan
spelare lägga till egna – kräver bara att banväljaren läser mappen.
## Öppna frågor
- ~~Repo-namn~~ – beslutat: `metro-puzzle-jp` (Gitea 2026-10-23). Visningsnamnet "Metro Puzzle JP" är bara text i `resources/text/`.
- "Game box-liknande" banval: tolkat som spelbräde/världskarta – stämmer det?
- ~~Font~~ – beslutat: PixelMplus 10/12 px (M3).
- ~~Hur lär man sig ord utöver hjälp?~~ – beslutat av Björn 2026-10-23:
bra resultat lär resmålet, läsning ger seedade framsteg, språkpoäng på
valfria ord i ordlistan. Implementerat; trädet (M8) bygger vidare på listan.
- Ska Oändligt läge dela sparfil med story eller ha egen?
- Hur många huvudbanor siktar vi på i storyn? (Påverkar M10:s omfattning.)