M9b: folk, filer, reklam, sorl och vagnval
All checks were successful
release / build-release (push) Successful in 1m33s

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>
This commit is contained in:
2026-10-24 12:33:44 +02:00
parent 8fca14e42d
commit de61568e44
49 changed files with 1568 additions and 136 deletions

View File

@@ -100,7 +100,7 @@ skriptläge så att de alltid är pixelexakta och går att återskapa:
```bash
go run ./tools/genart # bara om placeholder-grafiken ska genereras om
go run ./tools/shots # bygger debug, kör spelet med -script, skriver doc/img/*.png
go run ./tools/shots [ord…] # bygger debug, kör spelet med -script, skriver doc/img/*.png (ord filtrerar på bana/skript)
```
**Regel:** när sprites, tileset eller UI ändras – kör `tools/shots` och
@@ -428,7 +428,7 @@ på **brasse-linux01-runnern** (label `linux-amd64`), aldrig på Pi5:n.
(`TestStairsMoveBetweenFloors`, `TestFloorsStairsAndPaths`), minikartan
visar rätt våning, och alla gamla banor fungerar oförändrat (en våning). ✓
### M9b – Folk, reklam och ljudröra (Björns tillägg 2026-10-24)
### M9b – Folk, reklam och ljudröra ✓ (klar 2026-10-24)
- **Mål:** stationen lever och överstimulerar – tre nya svårighetsvariabler.
- **Folk (NPC:er):** passagerare som går på och av tågen när dörrarna är
@@ -443,11 +443,44 @@ på **brasse-linux01-runnern** (label `linux-amd64`), aldrig på Pi5:n.
och blinkande skyltar på väggarna, lockskyltar som liknar riktiga.
- **Ljudröra** (`noise`-nivå): japanskt prat, utrop och reklam i bakgrunden
som konkurrerar med melodierna; på de svåraste nivåerna överlappar de.
- **Vagnar** (Björns tillägg 2026-10-24): tåg har `cars` vagnar; när tåget
står inne väljer man vagn på perrongen (kömarkeringar visar var man
ställer sig). **Folk kliver av först** – trycker man för tidigt blir det
avdrag. Varje vagn har en seedad **trängselnivå** (lite/mellan/mycket):
lite folk ger poängbonus, mycket folk gör trängselminispelet och resan
svårare (kortare tid per station, passagerare som måste **släppas förbi**
vid stationer där man inte ska av) och kan ge debuffen *svettig*.
**Kvinnovagn** (`womenOnlyCar`, ev. bara mellan vissa klockslag som står
på skyltarna) markeras rosa; har sällskapet en man och går på den blir det
**grova minus**. Sällskapets medlemmar får därför kön.
- **Teknik:** `sim.NPC` med enkla mål och BFS-vägar (ren Go, seedade),
dekorationslager i banformatet, `tools/genart` för folk/reklam,
`tools/gensound` för brusplaceholders; generatorn får bredd och sidor.
- **Klar när:** en bana med folk spelas av boten headless utan att fastna,
fler NPC:er ger mätbart längre tid, och röra/ljud styrs per bana.
`minigame.CarPick`, trängsel i `Crowd`/`Ride`, dekorationslager
(seedade affischer) och `clutter`/`noise`/`crowd` i banformatet,
`tools/genart` för folk/affischer/vagnmarkeringar, `tools/gensound` för
bakgrundsprat; generatorn får breda gångar med filer.
- **Så blev det:** `sim.NPC` (vandrare mellan kiosker/toaletter/skyltar/
perronger med BFS-vägar och seedade pauser; avstigande som kliver av när
dörrarna öppnas och går till utgången) tar plats i rutnätet – spelaren
stoppas ("Ursäkta…"), folket går igenom varandra så inget låser sig.
Filer `<`/`>` i breda gångar: fel sida ger ×0,7 fart. `clutter` ger
seedade affischer på väggar intill gångar (tre varianter, en liknar en
skylt); `noise` ger loopat bakgrundsprat (`chatter.wav`) som dämpar
melodierna. **Vagnval** (`minigame.CarPick`): folk kliver av i 1,5 s
(Enter för tidigt = avdrag), vagnarna visas med trängselfigurer och
kömarkeringar, kvinnovagn rosa med 女性専用; lugn vagn +50, full vagn ger
trängselminispel med smalare zon, kortare tid per station och
passagerare som ska släppas förbi (← ), samt 60 % risk för *svettig*.
Man i sällskapet på kvinnovagnen: −200. Sällskapet har kön (Anna/Sara
kvinnor, Ville/Omar män, spelaren okänd). **Bana 005 Ueno** (svårighet
4): breda gångar med filer, folk 2, röra 2, ljud 2, fyra vagnar där vagn
1 är kvinnovagn de första 2,5 minuterna.
- **Klar när:** NPC:er rör sig på golv, är seedade och blockerar spelaren
(`TestNPCsWanderStayOnFloorAndBlockPlayer`), avstigande kommer och går
(`TestAlightingNPCsSpawnAndLeave`), filer bromsar (`TestLanesSlowWrongSide`),
vagnval/kvinnovagn/trängsel/avdrag (`TestCarsWomenOnlyEarlyAndCrowd`,
`TestCarPickAlightingAndChoice`, `TestRideCrowdLetPass`). ✓
- **Kvar till senare:** NPC:er som väntar på och kliver på tåget, folk som
bildar riktiga köer vid markeringarna, utrop/reklam som ljud (M12).
### M9 – Navigeringslägen: lista och skyltläge