[PR] Player walkthrough & systems guide at /guide #81

Open
agent-claude wants to merge 0 commits from claude/80-player-guide into main
Collaborator

Fixes #80

What

A player-facing Pioneer's Guide served at https://ricosworld.themels.online/guide.

  • client/guide/index.html is a second Vite build entry (client/vite.config.ts), so it builds to dist/guide/index.html and npm run deploy ships it. The existing nginx try_files $uri $uri/ /index.html resolves /guide and /guide/ to it, so no server config change is needed.
  • client/src/guide.css / guide.ts provide the game's 16-bit window look (same palette tokens and Jersey 10 font), a sticky contents sidebar with scroll-spy, and a slide-out contents drawer under 900px.
  • Links into it: "New to the frontier? Read the Pioneer's Guide" on the login card, a 📖 HUD button next to the controls ? button, and a link at the bottom of the controls overlay. The overlay now also lists P (Production) and E (Events).

Content

Walkthrough (scenarios, landing site, screen tour, first days, first year), then a reference section for each system: needs, mood/memories, mental breaks, skills/traits, work priorities, schedules, architect toolbar, production bills, research tree, power, rooms/beauty, recreation, farming, food/spoilage, seasons/temperature, apparel/armor, health/bionics, diseases, wildlife/hunting, predators/manhunters, taming, raids, combat/drafting, prisoners, events/decisions, traders, world map/caravans, market/wonders/bounties/alliances, offline protection, controls, tips.

Facts come from content/*.json, sim-core and docs/GAME_DESIGN.md. Pacing-sensitive values (raid and incident intervals, season length, crop timings) are worded relatively, because the pacing retune is in flight.

Verification

  • npm test: 148 tests pass. npm run typecheck: clean.
  • vite build emits dist/guide/index.html (the guide JS is about 1 KB, plus a shared icons chunk).
  • Checked in the browser preview at desktop width and at 375px mobile width: no horizontal overflow, drawer opens and closes, scroll-spy follows, no console errors. Login link and HUD buttons render.

Follow-up noticed

The architect toolbar sub-labels in client/src/main.ts (ARCHITECT_TOOLS) list build costs that don't match content/buildings.json, which is what the sim actually charges. For example, the Timber Door shows "5 Timber" but costs 3, and the Machining Table shows "15 Slate, 10 Alloy" but costs 6 alloy. The guide uses the real costs.

🤖 Generated with Claude Code

Fixes #80 ## What A player-facing **Pioneer's Guide** served at `https://ricosworld.themels.online/guide`. - `client/guide/index.html` is a second Vite build entry (`client/vite.config.ts`), so it builds to `dist/guide/index.html` and `npm run deploy` ships it. The existing nginx `try_files $uri $uri/ /index.html` resolves `/guide` and `/guide/` to it, so no server config change is needed. - `client/src/guide.css` / `guide.ts` provide the game's 16-bit window look (same palette tokens and Jersey 10 font), a sticky contents sidebar with scroll-spy, and a slide-out contents drawer under 900px. - Links into it: "New to the frontier? Read the Pioneer's Guide" on the login card, a 📖 HUD button next to the controls `?` button, and a link at the bottom of the controls overlay. The overlay now also lists **P** (Production) and **E** (Events). ## Content Walkthrough (scenarios, landing site, screen tour, first days, first year), then a reference section for each system: needs, mood/memories, mental breaks, skills/traits, work priorities, schedules, architect toolbar, production bills, research tree, power, rooms/beauty, recreation, farming, food/spoilage, seasons/temperature, apparel/armor, health/bionics, diseases, wildlife/hunting, predators/manhunters, taming, raids, combat/drafting, prisoners, events/decisions, traders, world map/caravans, market/wonders/bounties/alliances, offline protection, controls, tips. Facts come from `content/*.json`, `sim-core` and `docs/GAME_DESIGN.md`. Pacing-sensitive values (raid and incident intervals, season length, crop timings) are worded relatively, because the pacing retune is in flight. ## Verification - `npm test`: 148 tests pass. `npm run typecheck`: clean. - `vite build` emits `dist/guide/index.html` (the guide JS is about 1 KB, plus a shared icons chunk). - Checked in the browser preview at desktop width and at 375px mobile width: no horizontal overflow, drawer opens and closes, scroll-spy follows, no console errors. Login link and HUD buttons render. ## Follow-up noticed The architect toolbar sub-labels in `client/src/main.ts` (`ARCHITECT_TOOLS`) list build costs that don't match `content/buildings.json`, which is what the sim actually charges. For example, the Timber Door shows "5 Timber" but costs 3, and the Machining Table shows "15 Slate, 10 Alloy" but costs 6 alloy. The guide uses the real costs. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Adds a static Pioneer's Guide page shipped as a second Vite entry
(client/guide/index.html -> dist/guide/index.html), so npm run deploy
publishes it and nginx's try_files serves /guide and /guide/.

- First-days walkthrough and first-year checklist
- Reference sections for needs, mood, breaks, skills, work, schedules,
  architect toolbar, bills, research, power, rooms, recreation, farming,
  food and spoilage, climate, apparel, health, diseases, wildlife,
  predators, taming, raids, combat, prisoners, events, traders, world
  map, market/wonders/bounties/alliances, offline protection, controls
- Facts taken from content/*.json and sim-core; pacing-sensitive timings
  worded relatively so the pacing retune doesn't stale them
- 16-bit window styling with the game's palette and font; sticky
  contents with scroll-spy, slide-out drawer on mobile
- Guide links on the login card, a HUD book button and the controls
  overlay (which now also lists P and E)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Collaborator

Merge approved by @johnw via Claude Code chat on 2026-10-20: "approved / all changes approved"

Merge approved by @johnw via Claude Code chat on 2026-10-20: "approved / all changes approved"
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/80-player-guide:claude/80-player-guide
git switch claude/80-player-guide

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff claude/80-player-guide
git switch claude/80-player-guide
git rebase main
git switch main
git merge --ff-only claude/80-player-guide
git switch claude/80-player-guide
git rebase main
git switch main
git merge --no-ff claude/80-player-guide
git switch main
git merge --squash claude/80-player-guide
git switch main
git merge --ff-only claude/80-player-guide
git switch main
git merge claude/80-player-guide
git push origin main
Sign in to join this conversation.
No description provided.