- sim.Fog: avslöjar tre gångsteg från spelaren plus gränsande väggar (ser
längs gången, inte genom väggen); riktmärken (perronger, start, spärrar)
syns alltid; Explored ger utforskad andel; nollställs per omgång
- game/minimap: 1–3 px per ruta i det hörn som varken täcker inforutan
eller spelaren, perrong vit när tåget är inne, spelaren blinkar,
följarna i sina toner, avgångslista per spår (● inne / ○ kommer);
M döljer/visar
- resultatskärmen visar utforskad andel och antal försörjda; layout justerad
- docs/README/wiki uppdaterade
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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>
- resources/text/fonts: PixelMplus 10/12 px (M+ FONT LICENSE) + licens;
all text ritas via text/v2 på heltalspositioner, debugfonten är borta
- internal/lang: ordbok (60 ord, validerad), tokenisering med längsta
matchning, Knowledge (ord + kana, nivå 0–5, hintar), Render (kända ord
markerade/översatta, okända kvar, kana som romaji), EnglishShare/
ShowEnglish per svårighet (deterministiskt per bana+position),
HelpSeconds; datatest kräver att all japanska i banorna finns i ordboken
- sim.Run: AskHelp (H) med väntetid efter nivå, avbryts om man går,
avslöjar skylten och lär första okända ordet; Knowledge delas mellan banor
- game: skylt- och avgångstavlor renderade genom kunskapen med färgkodning,
engelsk rad på lätta banor, hjälp-förlopp, "Nytt ord"-notis, HUD visar
resmålet på japanska från nivå 1 och japanska-nivå; meny med svårighet;
pixelbaserad radbrytning av färgade textsegment; -know-flagga
- tools/shots: tre skyltbilder (skylt, hjälp, nytt ord) med förkunskap
- docs/README/wiki uppdaterade
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- level: Schedule (ankomst/intervall/uppehåll) med Status(t), spårnummer,
avgift, skylttexter per i-ruta, Path (BFS) och UngatedPlatforms – regeln
att perronger bara nås via spärrar testas för alla banor
- sim.Run: klocka, tågkort (saldo dras vid spärr, tomt kort stoppas),
ombordstigning med Enter när tåget är inne, vinst/förlust; headless
bot-test klarar bana 001 och förlorar på fel tåg
- game: perronginfo (avgår om / nästa tåg om), skyltruta, nekad spärr,
tågvagn som ritas när tåget är inne, inforutan flyttas upp när spelaren
står nära nederkanten; resultat med spärrpassager och saldo
- bana 001 ombyggd så spärrarna är flaskhalsar; bana 002 omgenererad med
spärrar runt perrongerna och skylttexter
- tools/shots räknar ut vägar med BFS; skriptkommandot waittrain
- docs/README/wiki uppdaterade med nya bilder
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- internal/sim: rutbaserad Mover (4 riktningar, riktningsbyte vid rutgräns,
bildrute-exakt ankomst) och Camera (följer, klampar, centrerar små kartor),
med tester
- internal/game: scener meny -> bana -> resultat, tangentbord + gamepad,
tileset och spelaranimation, HUD, skriptläge (-script) för deterministiska
skärmdumpar och tester
- tools/genart genererar placeholder-grafik (tiles.png, player.png);
tools/shots tar doc/img/*.png som README och wiki visar
- bana 002-shinjuku (33x21) för kamerascroll; level.List/LoadFile/TrainAt
- .gitea/workflows/release.yaml: vet + test + linux/windows-zippar till
rullande latest på brasse-linux01-runnern (linux-amd64)
- docs: roadmap M1 klar, tester, plan, README med bilder och styrning
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Mapp, Go-modul, binär, VS Code-sökvägar, dokumentation och visningsnamn
följer nu repots namn på Gitea. Arbetsnamnet jp-subway-pussel finns kvar
som historik i spelbeskrivningen §15.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Go 1.27 + Ebitengine v2.10, intern upplösning 320x180 med heltalsskalning
- internal/res (resursuppslag), internal/rng (seedad slump), internal/level
(banformat, validering, BFS-lösbarhet) med tester; internal/archtest
kontrollerar att bara presentationslagret beror på Ebitengine
- tools/build: debug -> build/debug/, release -> build/release/<os>-<arch>/
med resources/ bredvid binären; Windows korsbyggs utan C-verktyg
- VS Code tasks (build/test/release) och launch (dlv)
- Första banan 001-flygplatsen, sv/en-texter, skyltordbok, placeholder-sprite
- doc/: spelbeskrivning (renskriven), mål och tester, roadmap med teknikval
(M0–M12), plan.md; README med bygg- och beroendeinformation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>