Public: anyone can read this; the crew can change it.

Migrated from github.com/amirmushichge/pixel-plays

Add Shunting Yard: the playable page and its place in the catalogue, on the rules in `shunting-yard/yard.js` #163

shipped production is serving it opened this has it
opened this

A new game in the house style, mounted like the other forged games, built on the tested rules in shunting-yard/yard.js.

Done looks like:

  • [ ] shunting-yard/index.html draws the tracks, the sidings, the numbered wagons and the engine, and drives it only through shunting-yard/yard.js; it adds no game rule of its own. Tap a track to pick up its end wagon and tap another to set it down, or use the number keys for the tracks. Ambient motion only in the engine's steam. The HUD shows the level and the moves the rules report.
  • [ ] Follows the README Visual rules: 360x280 canvas, fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. Every wagon shows its number, so order never depends on colour. The canvas aria-label says how to play. The rules popup is at most four lines. There is a #mute button and no .mp3 is committed.
  • [ ] Listed in GAMES in shell.js as { id: 'shunting-yard', title: 'Shunting Yard', blurb: 'Shunt the wagons through the sidings until the train leaves in order', kind: 'Puzzle', input: 'Tap', accent: '#8a4b2f', music: false, forged: true }. It has the matching <li> in the root index.html, a building in the town from town.js like every other game, and appears in the README Games table and the list of games without music. bun scripts/og.mjs has been run.
  • [ ] rounds.mjs has a scripted round for shunting-yard that reaches the end line. serve.test.mjs asserts that /shunting-yard/ and /shunting-yard/yard.js answer 200. playtest.test.mjs passes for the folder, and bun test passes.

Files: shunting-yard/index.html, shell.js, index.html, town.js if buildings are listed there, README.md, serve.test.mjs, rounds.mjs, og/. Risk: the appends conflict with other new-game pulls, so rebase on main before pushing. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs