Mushroom Alien Games — Site Architecture
Version 01.2608.0002 (Stable) Scope: sitemap, the two-layer theming mechanism, and how a new game gets added. Jekyll build/deploy mechanics and repo locations are in the Website Handover doc and BUILD_BRIEF.md, not repeated here. © 2026 Willem van Wyk
Sitemap / page inventory
| Page | Path | Primary audience | Layer |
|---|---|---|---|
| Home | / |
Everyone | 1 |
| Games index | /games/ |
Everyone | 1 |
| Salt & Stone | /games/salt-and-stone/ |
Players, playtesters, PAX | 1 + 2 (Salt & Stone) |
| Press kit | /press/ |
Publishers, reviewers | 1 |
| Updates index | /updates/ |
Returning visitors | 1 |
| Individual update post | /updates/YYYY-MM-DD-slug/ |
Returning visitors | 1 |
The homepage’s job is studio identity, one-line positioning, and a route to the other three pages. It is not trying to be all things to all audiences — each of the other pages is unmistakably built for one audience.
Two-layer theming mechanism
Layer 1 (site-wide) tokens live in assets/css/main.css under :root, per DESIGN_SYSTEM.md.
Layer 2 (per-game) is a small, separate CSS file, loaded only on that game’s own page(s), never globally.
- File:
assets/css/games/<slug>.css - Loaded via front matter on the game’s collection entry:
custom_css: /assets/css/games/salt-and-stone.css - Game layout (
_layouts/game.html) conditionally includes it: - Inside that file: override CSS custom properties scoped to a body/page class, e.g.:
.game-salt-and-stone { --accent: #8A4A1E; }plus any game-specific component CSS (its flip-card styling, its diagram).
- Layer 1 variables (
--teal,--orange,--substrate) are never redefined by a Layer 2 file. A game’s stylesheet only ever adds a scoped accent and game-specific components.
Why per-file rather than one shared stylesheet: keeps each game page light (Core Web Vitals discipline), and styling a new game can’t accidentally regress an existing one’s page. Trade-off: one more file to track per game. Worth it at this scale, revisit if the game count gets large enough that per-file overhead outweighs the isolation benefit — not a concern at 1-3 games.
Adding a new game — checklist
_games/<slug>.md— copysalt-and-stone.md, edit front matter (title, tagline, player count, playtime, status) and body.assets/css/games/<slug>.css— new file, define that game’s Layer 2 accent and any bespoke components. Layer 1 tokens are inherited automatically — don’t redeclare them.- Set
custom_css:in the game’s front matter to point at the new file. - Photography for the new game follows DESIGN_SYSTEM.md’s lighting/surface direction; the game’s own accent colour is allowed to tint props and styling within frame.
- The game shows up automatically on
/games/and the home page (Jekyll collection, per Website Handover doc) — no manual linking needed. - Add a launch post to
_posts/if there’s an announcement.
Press kit — content plan
Most of this content doesn’t exist yet. This is the shell Phase 3 builds against, not final copy.
| Section | Content | Status |
|---|---|---|
| Factsheet sidebar | Title, developer, player count, playtime, genre, status, one-line pitch | Have (rulebook, sell sheet draft) |
| Quotable pitch | 1-2 sentence pitch, scannable in ~10 seconds | Tagline locked (“Settle the land. Unsettle your neighbours.”); a separate pitch sentence may still need drafting |
| Sell sheet PDF | Download link | Missing — course Assignment 5, not done yet |
| Photos (3-4) | High-res, press-usable | Missing — pending shoot |
| ZIP download | Bundles sell sheet + photos + logo | Build the mechanism now, populate contents later |
| Contact | mushroomalien+contact@pm.me |
Have |
The page should ship functional with clearly marked placeholders, not stay blocked waiting on the missing assets.
Not covered here
Jekyll build/deploy mechanics, repo structure, working-copy locations, and phased build tasks: see Website_Handover_01.2608.0001.md and Mushroom_Alien_BUILD_BRIEF_01.2608.0002.md.