Ett tåg kan vara en buss (vehicle: bus): samma tidtabell, faser,
bedömning i nätet och ombordstigning, men ett fordon på en väg i stället
för vagnar på räls, hållplatsskylt, "1番" på tavlan, tuta vid inrullning
och dörrsignal före avgång. Nätet har tre busslinjer från Narita. Nya
sidobanor: 001b Flygbussterminalen (biljettbana med tre bussar) och 003b
Harajuku (Yamanote åt rätt eller fel håll runt ringen). Overload-flaggan
ger en rullande reklamticker och maximalt med affischer (Ueno, Tokyo).
Romaji utan makroner (fonten saknar dem). Skärmdumparna som börjar på
bankartan går via titelskärmen. Tester, docs och wiki uppdaterade.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
tools/gensound syntetiserar 21 ljud: fyra stationsmelodier i klockklang
(en per station via melody-fältet eller banans id), ankomstjingel,
ding-dong vid inrullning, dörrsignal vid avgång, spärrens pip och
nekande, kiosk, toalett, lärt ord, bekräfta/varning, byte, personal,
vinst, förlust, flygplan, sorl och menymusik. sfx.go spelar effekter
utifrån vad som hänt i sim.Run sedan förra bildrutan. Ljudlagret har
huvudvolym × effekter/musik och byter inte slinga i onödan.
Inställningar (S på bankartan, sparas): volymer, språk sv/en som laddas
om direkt, fönsterskala, fullskärm (F11 överallt) och tangentöversikt.
Fönsterikon från genart. CHANGELOG.md. Tester för ljudfiler, melodival
och inställningar. Docs, wiki och skärmdumpar uppdaterade.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Resor med byten: en bana kan ha next som pekar på en delbana (kind leg,
syns inte på bankartan). När man klivit av rätt tåg fortsätter samma
omgång på nästa station med klocka, plånbok, sällskap och räknare;
par-tiden adderas, dimma och folk är nya, en Byte!-banner visas och
HUD:en visar resmålet via bytesstationen. Tidsgräns och missade tåg
gäller hela resan. level.ValidateChains kräver sammanhängande kedjor.
Nya resor: 007 Akihabara -> Ueno -> Asakusa och finalen 008 Tokyo (två
våningar) -> Nippori -> Narita flygplats. Slutscen när sista huvudbanan
klaras första gången: planet lyfter, resan summeras, eftertexter;
Progress.StoryCleared sparas; flaggan -ending. tools/levelcheck ritar
banorna och rapporterar problem. HUD-nivån kortas när mätarna tar plats;
poängraden radbryts. Skärmdumpar och docs uppdaterade.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Folk på stationen (NPC:er som vandrar, kliver av tåg och går mot
utgången, blockerar spelaren men inte varandra), vänster-/högerfiler
som bromsar på fel sida, bredare gångar, reklamaffischer (clutter),
japanskt sorl i loop (noise), vagnval med kvinnovagn (stort avdrag med
man i sällskapet, tidsstyrd), kömarkeringar på perrongen, trängsel per
vagn (bonus för tom vagn, svettig-debuff och svårare resa i full vagn,
släpp förbi passagerare) och att folk kliver av innan man får gå på.
Ny bana 005 Ueno. Skärmdumpsverktyget kan filtrera på bana/skript.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- level: Point har Z; banor kan ha floors (lika stora rutnät med namn),
gamla grid-banor läses som en våning; trappor U/D på samma x,y en våning
upp/ner valideras parvis; Neighbors ger grannar över våningar så att
Path, lösbarhet, spärregel och Unreachable fungerar; skyltar har z
- sim: att kliva på en trappa flyttar spelaren till andra änden
(FloorChanges); dimman är per våning och avslöjar trappans andra ände;
tåg hörs/syns bara på egen våning
- game: bara spelarens våning ritas (följare på andra våningar döljs),
HUD och minikarta visar våningens namn, trappgrafik i genart och färg på
minikartan
- bana 004 Tokyo (svårighet 3, tre i sällskapet): start under mark på B1,
trappa upp till 1F med perronger; generatorn gör våningar med trappor
som flaskhalsar; ordboken utökad
- testbotar och tools/shots förstår trappor; två våningsbilder
- docs/README/wiki uppdaterade
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- level.Schedule.Phase: away/approaching/arriving/dwelling/closing/leaving
ur tidtabellen med progress; Boardable (öppna dörrar) och Present;
validering av minsta uppehåll/borta-tid; TrackTile för rälsen
- sim.Run: ombordstigning bara med öppna dörrar, TrainVisible via Present,
PlatformPhase och NearTrack (närmaste perrong inom två rutor)
- game/trains.go: rälsrutor längs kantraden (roterade för vertikala spår),
tre vagnar som bromsar in och accelererar ut längs rälsen, strålkastare
under inrullningen, blinkande lampor vid kanten för den som står nära,
dammpartiklar längs perrongen; kameran får en rutas marginal så att
kanträlsen syns
- game/audio.go: ebiten/v2/audio med avgångsmelodi (approaching) och
dörrsignal (closing), volym efter avstånd, -mute; tools/gensound
syntetiserar placeholder-WAV:ar
- HUD: fasberoende perrongtext och "tåg på väg in" nära rälsen;
skriptkommandot waitphase; skärmdump av ankomsten
- plan (Björn 2026-10-24): räls/väg-grafik och melodierna i M7b; folk/NPC:er,
vänster-/högertrafik, bredare gångar, reklam- och ljudröra som nytt steg
M9b – i spelbeskrivning, roadmap, testplan
- 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>
- 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>
- 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>