diff --git a/Home.md b/Home.md index ba6b9ef..faed9d9 100644 --- a/Home.md +++ b/Home.md @@ -16,7 +16,7 @@ till rätt resmål. | [`doc/roadmap.md`](../src/branch/master/doc/roadmap.md) | Teknikval, katalogstruktur, milstolpar M0–M12 | | [`doc/mal-och-tester.md`](../src/branch/master/doc/mal-och-tester.md) | Projektmål, teststrategi, checklistor | -## Så fungerar spelet (läget efter M3) +## Så fungerar spelet (läget efter M4) **Menyn** listar banorna i `resources/data/levels/` med resmål. Pilar/WASD väljer, Enter startar, Esc avslutar. Gamepad fungerar också. @@ -56,6 +56,26 @@ läsningen efter kända ord. Kunskapen följer med mellan banorna. ![Nytt ord](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/sign-learned.png) +**Fler sätt att lära sig ord.** Varje gång du stannar på en skylt eller +perrong har varje okänt ord en chans att ge ett framsteg ("Framsteg: 京成線 +1/3"); vid tre framsteg kan du ordet. Klarar du en bana under par får du tre +stjärnor, och från två stjärnor lär du dig resmålets namn. Varje stjärna ger +en språkpoäng som du lägger på valfria ord i **ordlistan** (L): hela ordboken +sorterad på hur vanliga orden är, med kända ord, framsteg och kostnad. + +![Ordlistan](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/words.png) + +**Lämmeltåget.** Dina polare följer efter dig i en rad. Var och en har +mätare för mat, dryck och toa (panelen uppe till höger). Mätarna sjunker +med tiden, och med jämna mellanrum händer något: någon måste på toa, blir +törstig, hungrig eller distraherad av en butik. Ju fler ni är, desto oftare. +Ett behov saktar ned hela sällskapet och visas över huvudet på den det +gäller. Toaletten (vit dörr, W) tar några sekunder per person; kiosken +(randig markis, K) kostar 150 yen per person från kortet. Händelserna är +slumpade från omgångens seed, så en sparad omgång ger samma händelser. + +![Sällskapet på Shinjuku](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/level-002.png) + **Spärrarna** (stolpar med grön lampa) släpper bara igenom dig om tågkortet har saldo. Avgiften dras när du går in i spärren; HUD:en visar saldot. Alla perronger ligger innanför spärrar – det är en regel som testerna @@ -95,7 +115,7 @@ repot gör det. Nya vyer: lägg till i listan i `tools/shots/main.go`. ``` cmd/metro-puzzle-jp programstart, flaggor internal/game Ebitengine: scener (meny → bana → resultat), rendering, input -internal/sim ren spellogik: rörelse, kollision, kamera, banomgång (tåg, spärrar, kort, hjälp) +internal/sim ren spellogik: rörelse, kollision, kamera, banomgång (tåg, spärrar, kort, hjälp, stjärnor), sällskap (mätare, händelser, följare) internal/lang japanska: ordbok, tokenisering, kunskap, delvis översättning, engelska-andel internal/level banformat (JSON), validering, BFS-lösbarhet internal/res hittar resources/ (env → bredvid binären → uppåt från cwd) @@ -127,6 +147,11 @@ resources/ sprites/ sound/ text/ data/ – skeppas bredvid binäre heltalspositioner för skarpa pixlar. - **Engelska på skyltar hashas från bana + position**, inte från seeden: banorna är statiska och ska se likadana ut varje gång. +- **Följarna går på ledarens spår** (klassisk orm): ledarens senaste rutor + sparas och följare *i* står *i* rutor bakåt, interpolerade med ledarens + framsteg. Enkelt, deterministiskt och kolliderar aldrig. +- **Händelserna skalar med sällskapet** genom intervallet `45 s / antal`, så + att "fler i lämmeltåget = svårare" är en enda tydlig formel som testas. - **Intern upplösning 320×180, 16 px-rutor**, heltalsskalning till fönstret. - **All slump via seed.** Minispel och oändligt läge ska gå att återskapa från sparfilen.