M0: skelett, byggkedja och dokumentation för JP Subway Pussel
- 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>
This commit is contained in:
189
doc/spelbeskrivning.md
Normal file
189
doc/spelbeskrivning.md
Normal file
@@ -0,0 +1,189 @@
|
||||
# JP Subway Pussel – spelbeskrivning
|
||||
|
||||
Renskriven och omsorterad version av den ursprungliga idébeskrivningen
|
||||
(2026-10-23). Allt innehåll från originalet finns med; där originalet var
|
||||
otydligt står tolkningen i [§15](#15-tolkningar-av-originalet).
|
||||
|
||||
## 1. Koncept i korthet
|
||||
|
||||
- 2D-pusselspel i pixel art.
|
||||
- Du leder ett sällskap – *lämmeltåget* – genom japanska tågstationer som
|
||||
är byggda som labyrinter.
|
||||
- Målet på varje bana: **hitta rätt tåg och anländ till rätt resmål.**
|
||||
- Nästan alla skyltar är på japanska. Hur mycket du förstår beror på vad du
|
||||
har lärt dig.
|
||||
- Svårigheten kommer från sällskapets behov (mat, dryck, toa), tidsgränser,
|
||||
tågkort och biljetter, samt stationer och UI som är byggda för att förvirra.
|
||||
|
||||
## 2. Story
|
||||
|
||||
- Några polare är på semester i Japan.
|
||||
- Spelet **börjar på flygplatsen** när man landar och **slutar när man ska
|
||||
tillbaka till flygplatsen**.
|
||||
- Under resan upplever man Japan och köper saker: kläder, masker, hattar
|
||||
m.m. Dessa kan tas på och ger olika buffar allt eftersom man spelar.
|
||||
- Slutet är en animation där karaktärerna flyger iväg. Alla items och poäng
|
||||
från omgången visas, sedan rullar eftertexterna.
|
||||
- När storyn är klar låses **Oändligt läge** och **New Game+** upp.
|
||||
|
||||
## 3. Spellägen
|
||||
|
||||
### 3.1 Story-läge
|
||||
|
||||
- Banorna är statiska (handgjorda).
|
||||
- Minispelen är slumpade utifrån en **seed** som genereras när banan startas
|
||||
och sparas när man sparar spelet, så en laddad omgång ger samma utfall.
|
||||
- Två navigeringslägen att välja mellan:
|
||||
|
||||
| Läge | Så funkar det | Poäng |
|
||||
|------|---------------|-------|
|
||||
| **Listläge** | Du får en lista över vilket tåg du ska ta härnäst för att komma rätt. | Normal |
|
||||
| **Skyltläge** | Ingen lista. Du använder skyltar och terminaler för att lista ut vilka tåg som tar dig rätt. 1–4 olika vägar kan vara korrekta. Tar du ett tåg/buss vars slutstation ligger i fel riktning i förhållande till starten, eller hamnar för långt bort, förlorar du. | Högre |
|
||||
|
||||
### 3.2 Oändligt läge
|
||||
|
||||
- Låses upp när storyn är klar. Separat spelläge med egen poänglista.
|
||||
- Du får en slutstation. När du är framme får du dina poäng och sedan nästa
|
||||
mål. Målen är slumpade.
|
||||
|
||||
### 3.3 New Game+
|
||||
|
||||
- Spela om storyn och behåll alla dina skills.
|
||||
|
||||
## 4. En bana – kärnloopen
|
||||
|
||||
1. Du startar på en station (eller kliver av ett tåg).
|
||||
2. Stationen är en labyrint med skyltar. Du navigerar med hjälp av symboler,
|
||||
skyltar, terminaler och det du lärt dig (se §6).
|
||||
3. Du passerar spärrar (kräver kort eller biljett, se §8), hittar rätt
|
||||
perrong och kliver på rätt tåg innan det går.
|
||||
4. Banan är klar när du **anländer till rätt resmål**.
|
||||
|
||||
- De första och enklaste banorna är **ett enda tåg eller en buss**. Längre
|
||||
fram består en bana av **flera stopp och byten**.
|
||||
- På vissa tåg och bussar förekommer minispel: att **få plats** på ett fullt
|
||||
fordon, att **kunna ta sig av**, och att **veta vilken station** man ska
|
||||
gå av på.
|
||||
- Tåg avgår enligt tidtabell. Missar du ett tåg får du vänta på nästa, och på
|
||||
svåra banor kostar det tid du inte har (se §9).
|
||||
|
||||
## 5. Sällskapet – lämmeltåget
|
||||
|
||||
- Dina polare följer efter dig i en rad – därav *lämmeltåget*.
|
||||
- Varje karaktär har mätare för **mat**, **dryck** och **toa**.
|
||||
- Folk måste gå på toa, köpa dricka och kan bli distraherade.
|
||||
- **Ju fler i lämmeltåget, desto svårare** blir det och desto oftare händer
|
||||
specialhändelser (dricka, mat, toa m.m.).
|
||||
|
||||
## 6. Japanska, skyltar och hjälp
|
||||
|
||||
- Nästan alla skyltar i banorna är på japanska.
|
||||
- Hur mycket **engelska** som finns på skyltarna beror på banans svårighet:
|
||||
lätt bana = mer engelska, svår bana = nästan bara japanska.
|
||||
- Allt som översätts åt dig baserat på dina skills eller din japanska-nivå
|
||||
visas i **en annan färg**, eller måste **interageras med** för att visa
|
||||
översättningen.
|
||||
- Översättningen kan vara **delvis**: bara de tecken eller ord du har lärt
|
||||
dig översätts, resten står kvar på japanska.
|
||||
- Du kan **fråga en japan om hjälp**. Det tar tid, och tiden beror på hur bra
|
||||
din japanska är.
|
||||
- Ju bättre din japanska är, desto **fler hintar** kan synas i UI och i banan.
|
||||
- Huvudsyftet med stationslabyrinten är att navigera med symboler och
|
||||
skyltar, med stöd av dina skills.
|
||||
|
||||
## 7. Minikarta
|
||||
|
||||
- Visar bara **avgångar** och några **riktmärken** som man kan förhålla sig
|
||||
till.
|
||||
- När du upptäcker delar av stationen **fylls minikartan i** – för just den
|
||||
banan under just den spelomgången.
|
||||
|
||||
## 8. Tågkort, biljetter och telefon
|
||||
|
||||
- Du har ett **tågkort** (IC-kort) med saldo. Att hålla koll på kortet är en
|
||||
egen svårighetsgrad.
|
||||
- Är kortet tomt måste du **hitta en automat** och klara ett **minispel** för
|
||||
att fylla på.
|
||||
- På svårare banor måste du ibland köpa en **separat biljett**. Då kör du ett
|
||||
separat minispel för att köpa **rätt** biljett, annars kommer du inte på
|
||||
tåget i slutet av banan.
|
||||
- Har du kortet **i telefonen** får du en **speed-buff**, men med en liten
|
||||
procentchans att behöva **skanna flera gånger** i spärren eller vid
|
||||
påfyllning.
|
||||
- Telefonen har **batteri**. Dör det måste du köpa biljett i stället. Detta
|
||||
ska nästan bara kunna hända på **långa banor**.
|
||||
|
||||
## 9. Svårighet och tid
|
||||
|
||||
- **Lätta banor:** ingen tidsgräns, försök hur länge du vill.
|
||||
- **Svåra banor:** tidsgräns. Gör du för många fel missar du för många tåg
|
||||
och banan misslyckas.
|
||||
- **Extra svårigheter:** överstimulerande UI och banor byggda för att förvirra
|
||||
spelaren räknas som egna, extra svårigheter.
|
||||
- Variabler som styr svårighet: antal i sällskapet, andel engelska på
|
||||
skyltar, kort-/biljettkrav, tidsgräns, antal byten, UI-störningar.
|
||||
|
||||
## 10. Poäng
|
||||
|
||||
Per bana baseras poängen på:
|
||||
|
||||
- **Tid.**
|
||||
- **Minst pengar spenderade** och färst kortpåfyllningar.
|
||||
- Hur bra **alla karaktärers mat-, dryck- och toamätare** står vid målgång.
|
||||
- Skyltläge (§3.1) ger mer poäng än listläge.
|
||||
|
||||
## 11. Stats, buffar och debuffar
|
||||
|
||||
**Stats** som påverkas: speed, törst, fokus, toalett, tur.
|
||||
|
||||
**Debuffar** man kan drabbas av under spelet:
|
||||
|
||||
- onda fötter
|
||||
- trötthet
|
||||
- hunger / irritation
|
||||
- matförgiftning (kortare toamätare)
|
||||
|
||||
**Temporära debuffar** från sidouppdrag (varar 1–4 banor), beroende på hur
|
||||
bra man gjorde ifrån sig:
|
||||
|
||||
- träningsvärk
|
||||
- skoskav (köpt dåliga skor)
|
||||
- köpt något tungt eller stort
|
||||
- proppmätt
|
||||
- svettig och varm
|
||||
|
||||
**Buffar** kommer från kläder, masker, hattar och items som köps längs vägen,
|
||||
från skills i skill tree, och från unika skills man får av sidouppdrag.
|
||||
|
||||
## 12. Progression och upplåsningar
|
||||
|
||||
- **Level-ups** och ett **skill tree**.
|
||||
- **Skins** låses upp efter banor.
|
||||
- **Bankarta** i spelbrädes-/världskartestil där man väljer bana.
|
||||
- **Sidobanor** ger speciella skins, powers och items. Vissa items låser upp
|
||||
**genvägar** i andra huvudbanor.
|
||||
- **Många items och skills** – man ska knappt få tag på 33 % av allt under
|
||||
en omgång.
|
||||
- Sidouppdrag kan ge unika skills men också temporära debuffar (§11).
|
||||
|
||||
## 13. Ljud och grafik
|
||||
|
||||
- Pixel art.
|
||||
- Ljud som påminner om japanska stationer: **avgångsmelodier** och
|
||||
**ankomstjinglar** som spelas när tåg kommer och går.
|
||||
|
||||
## 14. Slump och sparande
|
||||
|
||||
- Story-banor är statiska. Minispel är slumpade utifrån banans seed.
|
||||
- Seeden genereras när banan startas och sparas med spelet.
|
||||
- Oändligt läge drar slumpade mål.
|
||||
- Sparfilen innehåller framsteg, items, skills, aktiva debuffar och seed.
|
||||
|
||||
## 15. Tolkningar av originalet
|
||||
|
||||
| Originalet | Tolkning här | Kommentar |
|
||||
|------------|--------------|-----------|
|
||||
| "Lämel tåg" | *Lämmeltåg*: sällskapet som följer efter dig i rad | Styr §5 |
|
||||
| "level maps game box liknande styl av level väljande" | Bankarta i spelbrädes-/världskartestil | Kan ändras om något annat avsågs |
|
||||
| "bilder och eventuella språk och tester" (resursmappen) | bilder, språk och *texter* | Se resurslayouten i roadmap |
|
||||
| Repo-namnet "jp-subway-pussel" | Behållet; *pussel* är korrekt svenska | Byt till `-puzzle` om det ska vara helengelskt |
|
||||
Reference in New Issue
Block a user