clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

main
miau-is-true / docs / level-pack-curriculum.md
level-pack-curriculum.md 6.6K source

Basic level-pack curriculum

This is a proposed teaching pack for the current MVP vocabulary. It extends the three shipped puzzles without assuming NOT, spatial conditions, OPEN, HOT, TEXT, or meta-level rules. Each level should isolate one question, then give the player a reason to reuse the answer.

The sequence follows the design-backbone recommendation to teach one word or property at low pressure, reuse it in a second context, and keep difficult levels optional. It also follows Teikari's account of organizing areas around new words and moving unusually hard stages into an “Extra” category (creator interview).

Proposed basic pack

Order Level Player should learn Authoring constraint
0 Read the board Words are physical tiles; MIAU IS YOU gives control; FLAG IS WIN is a goal; walking is one turn at a time. Open room, no push required, no rule-breaking. Put the goal in direct sight.
1 Break the rule (shipped) Breaking a sentence immediately removes its property. ROCK IS STOP can be dismantled by pushing STOP. The intended solution must use the rule change; do not leave a walk-around route.
2 Make room to push (shipped) PUSH changes a legal push chain; STOP affects where the player and rock can travel. Teach one box-like object and one narrow corridor. Keep the wall rule inaccessible until wall behavior is understood.
3 Two things can win (shipped) AND creates multiple subjects for one property; either ROCK or FLAG can satisfy WIN. Place the two candidate winners visibly and make only one reachable before the player reads AND.
4 Change what you are A noun-to-noun rule such as MIAU IS ROCK transforms an object; a transformed object can gain a second rule such as ROCK IS PUSH. Use one transformation only. The before and after nouns need distinct glyphs and the transformed route must be necessary.
5 A thing can disappear SINK consumes every occupant in a contact cell, including the controlled object. Undo restores the complete stack. Make the first sink interaction safe to observe, then require a controlled sink on the second attempt. Avoid pairing SINK with WIN in this lesson.
6 A dangerous thing DEFEAT removes a controlled object on contact; losing control is recoverable with undo or restart. Show the hazard and a safe detour first. A defeat must teach a fact needed for the solution, not be a surprise penalty.
7 Rules are cargo Words are pushable like objects and may share a cell with objects or other words. Moving one rule tile can open a route while preserving another rule. Use two short sentences with one shared word or a deliberate word stack. The intended state should be readable in the ledger and on the board.
8 Mixed properties One subject can have YOU AND PUSH or PUSH AND STOP; the player must reason about the combined capabilities and their precedence. Introduce the combination in a small room, then make the challenge optional. Do not introduce a new noun here.

Levels 0–3 are required onboarding. Levels 4–6 are the core property tour. Levels 7–8 are challenge levels until the engine's stacked-word and multi-property presentation is proven in playtests. A garden can replace the names and glyphs while preserving the learning objective.

Author checklist for each stage

Each level record should carry:

{
  id: 'read-the-board',
  title: 'Read the board',
  hint: 'Walk to the flag.',
  category: 'required', // required | optional | challenge
  introduces: ['YOU', 'WIN'],
  reuses: [],
  objective: 'Teach direct control and contact with a winning noun',
  objects: []
}

The author should be able to answer these questions before shipping:

  1. What new word, interaction, or state fact is this level teaching?
  2. What earlier fact does it deliberately reuse?
  3. Which visible board element tells the player where to experiment?
  4. What is the intended first useful action, and can a player undo it?
  5. Is there a plausible shortcut that bypasses the lesson?
  6. Does the hint name an observation or action rather than reveal the whole move sequence?

For the current engine, level validation should also report whether the initial state contains a YOU entity, whether the goal is reachable by at least one replay, and whether an intended rule is initially active. A level may be deliberately unsolved by the static checker only when its metadata says it is an editor or sandbox level.

Pack identity and credits

The CommonJS manifest should present the pack as a small authored work. Add these optional fields to the existing manifest contract, with name and id remaining the stable machine and display identifiers:

manifest: {
  id: 'garden-basics',
  name: 'Garden Basics',
  version: '1.0.0',
  author: 'A. Designer',
  description: 'Eight introductory sentence-pushing puzzles.',
  license: 'CC BY 4.0',
  source: 'https://example.com/garden-basics',
  credits: [
    { role: 'design', name: 'A. Designer' },
    { role: 'art', name: 'B. Artist' }
  ]
}

Identity rules:

  • id, semantic version, and name are required. The loader uses id plus version for saves and replay provenance; changing either should create a new published pack identity.
  • author and credits are display metadata, not executable code. Preserve the declared order, and show them in the pack drawer and post-win credits.
  • license and source are optional but should be shown when supplied. A missing license means “all rights reserved” in the UI rather than an inferred open license.
  • A level can add author, source, or credits only when it differs from the pack defaults. The host should merge display metadata without changing simulation state.
  • Replay records should include pack id, version, level id, and engine version so a shared solution can be attributed and diagnosed later.

These fields support attribution and reproducibility without allowing a mod to change the host's simulation or presentation policy.

Deferred lessons

Do not add NOT, ON, NEAR, LONELY, OPEN/SHUT, HOT/MELT, ALL, EMPTY, TEXT, or level-map transformations to this basic pack. Each should get a separate garden with an introduction, a reuse level, a challenge level, and an explicit conflict example. The design-backbone research records that the reference game's conditional and meta words created major parser and complexity costs, so these belong after the basic turn contract is stable.