T1 tutorial: Actions events, the Guide autoload, chapter 1 with Old Tam the hermit, guide panel and marker, saved progress; roadmap: auto-update plan

This commit is contained in:
Paul Bailey
2026-11-05 14:14:32 +00:00
parent e03411ffdb
commit 5b5dd3d609
11 changed files with 834 additions and 5 deletions

View File

@@ -88,6 +88,36 @@ phases M2.0-M2.7).
- Better UI, settings, controls
- Audio, music, weather
- Packaged builds for Win/Mac/Linux (+ Mac signing/notarisation)
- **Updates**: the game (and a dedicated server) needs to notice when a new
version is out, download what's needed and install it. See below.
### Updates (to design with the packaged builds)
Needed because every network change bumps the protocol (12 as of P5), and
an out-of-date game can't join an up-to-date server: today that means
`git pull` and a restart on every machine.
- **Knowing there's an update:** the game checks a small version file
(version number, protocol, per-platform download URLs and checksums) at
start-up and from the title screen. The server checks too. When joining
a server with a newer protocol, the "different game version" refusal
should offer to update instead of just saying so.
- **Getting it:** download only what changed where possible (the game's
`.pck` data separately from the engine binary, which rarely changes), to
a staging folder, verified by checksum (and signature) before anything
is replaced.
- **Installing it:** swap in the new files on the next start (a tiny
launcher or a restart-and-replace step), keep the previous version to
roll back to if the new one fails to start. Mac: signed and notarised so
Gatekeeper accepts it; Windows: signed. Worlds, profiles and server
config live in user data, so they're never touched; saves stay
readable by newer versions (they already load older saves).
- **Servers:** a headless server can update itself at a quiet moment
(nobody on, or after warning players), or an admin runs an update
command; the launchd/systemd service files restart it.
- **Where updates come from:** GitHub Releases is the simple start (the
version file and builds attached to a release); itch.io's butler or
Steam would handle it for us if the game ships there.
- **Addons (M3)** will want the same: a version per addon and the server
telling players which addons (and versions) it needs.
## Honest overall estimate
A genuinely playable **self-hosted survival game with a working sandboxed addon