M13: titelskärm, språkval, tutorial, tips och pausmeny
All checks were successful
release / build-release (push) Successful in 1m40s
Björns feedback efter v0.1.0. Titelskärm med premissen i text och menyn Fortsätt/Starta, Tutorial, Inställningar, Avsluta (Enter två gånger); språkval första gången spelet startar. Tutorial i fem sidor med riktiga sprites och en exempelskylt där resmålet markeras och resten tonas ned, plus nyckeln 番線/方面/改札 och biljettipset. Kontextuella tips i spelet tills första banan är klarad, och resmålets tecken markeras på skyltar och avgångstavlor under tiden. Esc i en bana öppnar en pausmeny (Fortsätt, Lämna banan, Inställningar, Avsluta spelet) i stället för att lämna banan; Esc på bankartan går till titeln. Kortare lägestexter så att bankartans rader ryms på svenska. Test för markeringen, docs, wiki och skärmdumpar. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
BIN
doc/img/lang.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
doc/img/map.png
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
BIN
doc/img/pause.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
BIN
doc/img/tips-sign.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
doc/img/tips.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
doc/img/title.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
doc/img/tutorial.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
@@ -139,6 +139,7 @@ att bygga på Linux som på Windows.
|
||||
| `internal/endless` | `TestPlanIsDeterministicAndValid`, `TestDestinationsNeedTrapAndRoute` | **M11:** samma seed → samma följd, annan seed → annan; varje mål har 1–4 rätta tåg och en fälla, nytt resmål, inga byten, aldrig samma station två gånger i rad; sällskapet växer och tidsgränsen krymper |
|
||||
| `internal/progress` | `TestNewGamePlusKeepsSkillsResetsItems` | **M11:** NG+ behåller skills, XP, skillpoäng och klarad story; nollställer items, utrustning och banresultat |
|
||||
| `internal/save` | `TestEndlessRecords` | **M11:** poänglistan sorterad, kapad till fem, "ny bästa" bara när toppen slås |
|
||||
| `internal/game` | `TestHighlightDestination` | **M13:** resmålets tecken får markeringsfärg, resten nedtonas, flera träffar, ingen träff |
|
||||
| `internal/game` | `TestAllSoundsDecode`, `TestMelodyForIsStableAndKnown` | **M12:** alla ljud i `AllSounds` finns, avkodas och är minst 50 ms; melodin per bana är stabil och känd; ljudlagret är nil-säkert |
|
||||
| `internal/save` | `TestSettingsDefaultsAndNormalize` | **M12:** standardinställningar, klampning av volymer/skala, okänt språk blir sv, saknade inställningar fylls i |
|
||||
| `internal/level` | `TestToiletSides` | **M10d:** 005 och 008b har toaletter bara innanför, 007b på båda sidor, 007 och 008 bara utanför; innanför bara på banor med spärrar utan återvändo |
|
||||
@@ -167,6 +168,7 @@ att bygga på Linux som på Windows.
|
||||
| ~~M10 Story-innehåll~~ ✓ | Kedjorna valideras, byten hänger ihop, storyn börjar och slutar på flygplatsen, bytet för med sig tid/plånbok/sällskap – finns, se tabellen ovan; `tools/levelcheck` som manuell kontroll |
|
||||
| ~~M10c Vem betalar, spärrar utan återvändo~~ ✓ | Väljaren betalar från rätt källa och nekar den utan pengar; spärren håller kvar, personalen låser upp, ny inpassering kostar – finns, se tabellen ovan |
|
||||
| ~~M10d Toaletter innanför/utanför~~ ✓ | Toaletterna ligger på rätt sida av spärrarna per bana – finns, se tabellen ovan |
|
||||
| ~~M13 Titel, tutorial, trygghet~~ ✓ | Markeringen av resmålet i skylttext (`game.TestHighlightDestination`); titel/språkval/paus/tutorial/tips med skärmdumpar; karttexter ryms |
|
||||
| M10b Bussar och vägar | Bussar följer tidtabell och vägrutor; hållplatser bedöms som perronger; överstimulerande UI-reglaget påverkar bara presentationen |
|
||||
| ~~M11 Oändligt läge & NG+~~ ✓ | Målsekvens deterministisk per seed, giltiga mål med fälla, NG+ behåller skills men nollställer items, poänglista – finns, se tabellen ovan |
|
||||
| ~~M12 Ljud & polish~~ ✓ | Alla ljudfiler som refereras finns och går att avkoda, stationsmelodi per bana, inställningar normaliseras – finns, se tabellen ovan; Windows-binär startar (manuellt, kvar) |
|
||||
@@ -182,7 +184,9 @@ En milstolpe är klar när:
|
||||
|
||||
### Manuell testchecklista (speltest)
|
||||
|
||||
- [ ] Spelet startar till meny på under 2 s; ESC/avsluta fungerar.
|
||||
- [ ] Spelet startar till titelskärmen på under 2 s; första gången frågas efter språk; Avsluta kräver Enter två gånger.
|
||||
- [ ] Esc i en bana öppnar pausmenyn och lämnar aldrig banan av misstag; Esc på bankartan går till titeln.
|
||||
- [ ] Tutorialen går att läsa igenom; tipsen i bana 001 dyker upp vid start, skylt, spärr och perrong.
|
||||
- [ ] Fönstret kan skalas; pixlarna är skarpa (heltalsskalning).
|
||||
- [ ] Bana 001 går att klara i både listläge och skyltläge.
|
||||
- [ ] Fel tåg ger tydlig förlust med förklaring.
|
||||
|
||||
@@ -646,6 +646,44 @@ på **brasse-linux01-runnern** (label `linux-amd64`), aldrig på Pi5:n.
|
||||
(`sim.TestOneWayGatesNeedStaff` går vägen till första spärren i stället
|
||||
för ett fast steg), och levelcheck är grön. ✓
|
||||
|
||||
### M13 – Titelskärm, tutorial och trygghet ✓ (klar 2026-10-25)
|
||||
|
||||
- **Mål:** Björns feedback efter v0.1.0 (2026-10-25): spelet ska gå att
|
||||
förstå och använda utan att läsa dokumentationen.
|
||||
- **Titelskärm** som beskriver premissen i text, med Fortsätt/Starta,
|
||||
Tutorial, Inställningar och **Avsluta** (ett sätt att stänga spelet
|
||||
inifrån). Första gången spelet startar får man **välja språk**.
|
||||
- **Tutorial** om grundmekaniken: målet, skyltarna, kort/biljetter/spärrar,
|
||||
sällskapet, tåget, lägena och tangenterna. Tips och trix: **hur man läser
|
||||
en skylt** och vad man ska memorera (resmålets tecken i HUD:en) för att
|
||||
köpa rätt biljett – med resmålet **markerat** och all annan text
|
||||
**nedtonad**. Dessutom kontextuella tips i spelet tills första banan är
|
||||
klarad, och samma markering på riktiga skyltar under tiden.
|
||||
- **Esc-skydd:** Esc i en bana öppnar en pausmeny (Fortsätt, Lämna banan,
|
||||
Inställningar, Avsluta spelet) i stället för att lämna banan direkt;
|
||||
många Esc i rad växlar bara menyn. Esc på bankartan går till
|
||||
titelskärmen; Avsluta kräver Enter två gånger.
|
||||
- **Karttexten** får plats på bredden på svenska (kortare lägestexter).
|
||||
- **Teknik:** `TitleScene`, `LangScene`, `PauseScene`, `TutorialScene`,
|
||||
`tips.go`, `highlightLine` i `text.go`.
|
||||
- **Så blev det:** `TitleScene` (premiss, rullande tåg på räls, meny
|
||||
Fortsätt/Starta – Tutorial – Inställningar – Avsluta med Enter två
|
||||
gånger, version), `LangScene` första gången sparfilen saknas (svenska/
|
||||
engelska), `PauseScene` på Esc i banan (Fortsätt, Lämna banan,
|
||||
Inställningar, Avsluta spelet; Esc igen fortsätter – många Esc i rad
|
||||
växlar bara menyn), Esc på bankartan går till titeln. `TutorialScene` i
|
||||
fem sidor med riktiga sprites och en exempelskylt där resmålet är
|
||||
**markerat** och resten **nedtonad** (`highlightLine`), plus 番線/方面/
|
||||
改札-nyckeln och biljettipset. I spelet visas fem kontextuella tips
|
||||
(start, första skylten, sällskapets behov, spärren, perrongen) tills bana
|
||||
001 är klarad, och under tiden markeras resmålets tecken på skyltar och
|
||||
avgångstavlor. Lägestexterna på bankartan kortades så att raderna ryms.
|
||||
- **Klar när:** titel, språkval, pausmeny och tutorial finns med
|
||||
skärmdumpar; markeringen är testad (`game.TestHighlightDestination`);
|
||||
karttexterna ryms (skärmdump). ✓
|
||||
- **Kvar till senare:** en spelbar tutorialbana med styrda steg,
|
||||
tips som kan slås av i inställningarna.
|
||||
|
||||
### M11 – Oändligt läge och New Game+ ✓ (klar 2026-10-24)
|
||||
|
||||
- Slumpade mål från seed, poäng per mål, egen poänglista. NG+ behåller skills.
|
||||
|
||||
@@ -50,6 +50,20 @@ otydligt står tolkningen i [§15](#15-tolkningar-av-originalet).
|
||||
|
||||
- Spela om storyn och behåll alla dina skills.
|
||||
|
||||
### 3.4 Titelskärm, tutorial och trygghet (tillägg 2026-10-25)
|
||||
|
||||
- En **titelskärm** med spelets premiss i text, och val: fortsätt/starta,
|
||||
tutorial, inställningar, avsluta. **Första gången** spelet startas väljer
|
||||
man språk.
|
||||
- En **tutorial** om grundmekaniken med tips och trix: **hur man läser
|
||||
skyltar** och **vad man bör memorera** (resmålets tecken) för att kunna
|
||||
köpa rätt biljett – gärna med **markering** av det viktiga och
|
||||
**nedtoning** av all annan information.
|
||||
- **Esc-skydd:** trycker man Esc (flera gånger) ska en fråga dyka upp så att
|
||||
man inte råkar lämna/starta om banan av misstag. Det ska också gå att
|
||||
**stänga spelet** inifrån.
|
||||
- Texten på bankartan ska få plats på bredden på svenska.
|
||||
|
||||
## 4. En bana – kärnloopen
|
||||
|
||||
1. Du startar på en station (eller kliver av ett tåg).
|
||||
|
||||