From fd467158f7afbc7b215873aae13ae00fd992d79c Mon Sep 17 00:00:00 2001 From: claude Date: Fri, 23 Oct 2026 19:05:29 +0200 Subject: [PATCH] =?UTF-8?q?Seed:=20Home.md=20med=20arkitektur,=20designbes?= =?UTF-8?q?lut=20och=20l=C3=A4nkar=20till=20doc/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..53f3192 --- /dev/null +++ b/Home.md @@ -0,0 +1,58 @@ +# Metro Puzzle JP – wiki + +Pixel art-pusselspel: led *lämmeltåget* (ditt sällskap) genom japanska +tågstationer byggda som labyrinter, läs skyltarna, hitta rätt tåg och kom fram +till rätt resmål. + +**Den detaljerade dokumentationen ligger i repot** och är alltid sanningen: + +| Fil i repot | Innehåll | +|-------------|----------| +| [`README.md`](../src/branch/master/README.md) | Bygga, köra, testa, beroenden per OS | +| [`doc/plan.md`](../src/branch/master/doc/plan.md) | Navet: mål, stack, milstolpar, öppna frågor | +| [`doc/spelbeskrivning.md`](../src/branch/master/doc/spelbeskrivning.md) | Hela speldesignen, renskriven | +| [`doc/roadmap.md`](../src/branch/master/doc/roadmap.md) | Teknikval, katalogstruktur, milstolpar M0–M12 | +| [`doc/mal-och-tester.md`](../src/branch/master/doc/mal-och-tester.md) | Projektmål, teststrategi, checklistor | + +## Arkitektur i korthet + +``` +cmd/metro-puzzle-jp programstart, flaggor +internal/game Ebitengine: scener (meny → bana → resultat), rendering, input +internal/sim ren spellogik: rutbaserad rörelse, kollision, kamera +internal/level banformat (JSON), validering, BFS-lösbarhet +internal/res hittar resources/ (env → bredvid binären → uppåt från cwd) +internal/rng seedad slump (PCG), del-seeds per kontext +internal/archtest beroenderegel: bara game/ui/audio + cmd får röra Ebitengine +tools/build byggverktyg i Go: debug/release, Linux/Windows, kopierar resources/ +tools/genart genererar placeholder-grafik (tileset, spelare) tills riktig pixel art finns +resources/ sprites/ sound/ text/ data/ – skeppas bredvid binären +``` + +## Designbeslut + +- **Go + Ebitengine** för att Go är enda byggverktyget och Windows-binären + korsbyggs från Linux utan C-kompilator (`CGO_ENABLED=0`). Alternativen + (Godot, Rust, C++/raylib, Love2D) och skälen står i roadmapen. +- **Rutbaserad rörelse** (en ruta i taget, mjukt interpolerad). Gör + labyrintkollision trivial och gör att sällskapet senare kan följa ledarens + spår exakt. +- **Intern upplösning 320×180, 16 px-rutor**, heltalsskalning till fönstret. +- **All slump via seed.** Minispel och oändligt läge ska gå att återskapa + från sparfilen. +- **Data i JSON under `resources/`**, validerad av tester: en bana som inte + går att klara stoppar `go test`. +- **En binär + `resources/`** per plattform i `build/release/-/`. + Att distribuera = zippa mappen. + +## Bygg och release + +- Lokalt: `go run ./tools/build [-mode release] [-os windows]`, se README. +- CI: `.gitea/workflows/release.yaml` kör tester och bygger Linux- och + Windows-zippar på **brasse-linux01-runnern** (label `linux-amd64`, aldrig + Pi5:n) och lägger dem på den rullande releasen `latest`; en tagg `vX.Y.Z` + ger en versionerad release. + +## Status + +Se "Status" i README och milstolparna i `doc/roadmap.md`.