Skip to content
Get in touch
Back to castle

A museum of first games · reading view

Vibe Coding:
Day One

Six ideas for a first game. Four games to learn from. Follow the path, or begin anywhere.

Main hall · lesson

One sentence

Shrink the idea until you can try it.

The idea

A first game needs a move, a goal and a limit. “Swipe the rings until every face is one colour” is a starting point. A small scope makes a working first piece easier to judge; it does not promise a finished game tonight.

Try this

Write one sentence. Underline what the player does and how they know it worked.

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Main hall · watch

Cube Rings · Watch

One-Prompt Wonder · Classic

The idea

These recordings show Classic, Tim Howley’s original cube puzzle unrolled into nine rings. Tim describes it as made with one prompt. The exact original prompt is not on record; this is the maker’s account, not independent proof.

Try this

Watch for the repeated move, then name one behavior you would check in a first version.

These examples are maker accounts, not a promise of how quickly another game can be built.

Recorded from browser play with scripted inputs; the play is deliberately simple. Silent footage.

Clip 1 of 3 · silent recording

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · play

Cube Rings · Play

Eight puzzles to explore.

The collection

Cube Rings now includes Classic, Pyramid, Shapeshifter, Orbit, Tower, Pocket, Crystal and Hexadeca. Start with Classic to try Tim’s original idea, then use the shape picker to explore the rest.

How it grew

Classic and Hexadeca came from separate Tim Howley submissions. Pyramid, Shapeshifter, Orbit, Tower, Pocket and Crystal are later Renaissance Solutions variations developed with Codex assistance. Tim’s one-prompt account applies only to Classic; the exact original prompt is not on record.

Try this

Play Classic, then try another shape. Notice what changes about the turns and the goal. Read the Game Room build account to see how the collection grew.

These examples are maker accounts, not a promise of how quickly another game can be built.

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · lesson

The Anchor File

The conversation is not your only record.

The idea

Keep the purpose, constraints, decisions and next play-check in SPEC.md or another plain-text project note. A note is useful only when it is kept current and the tool is asked or configured to read it. Tool-specific instruction files have different names and loading rules.

Try this

Write what must stay true, what is out of scope, and the next small piece. Ask the tool to read it before editing.

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Main hall · lesson

Name every state

Check what is missing, as well as what is broken.

The idea

Title, play, pause, ending and play again each need a way in and a way out. A working movement mechanic does not prove that restart clears the score or that pause stops the clock.

Try this

Draw the states and the transitions. Try losing twice, restarting twice and pausing at an awkward moment.

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Main hall · watch

Rock, Paper, Punch! · Watch

Weekend Project

The idea

A small fighting-game idea grows through playable pieces. Treat the build account as one maker’s experience, not a measured estimate of how long your game will take.

Try this

Watch for the repeated move, then name one behavior you would check in a first version.

These examples are maker accounts, not a promise of how quickly another game can be built.

Recorded from browser play with scripted inputs; the play is deliberately simple. Silent footage.

Clip 1 of 3 · silent recording

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · play

Rock, Paper, Punch! · Play

Weekend Project

The idea

A small fighting-game idea grows through playable pieces. Treat the build account as one maker’s experience, not a measured estimate of how long your game will take.

Try this

Play a short session. Notice the title, play, ending and restart states. Read the Game Room build account.

These examples are maker accounts, not a promise of how quickly another game can be built.

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · lesson

Play-checks and settings

Behavior can be tested. Feel needs a player.

The idea

End each small piece with an observable check: “after restart the score is zero.” Keep tunable numbers together and change one at a time. The moth below is a museum teaching demo, separate from the four source games.

Try this

Change gravity, then flutter. Say what changed. Return to the defaults before comparing another setting.

Moth and hedges

A teaching demo built for this museum. Change one number, then try it. Tap the moth or use Space/Arrow Up while the demo has focus.

Paused. Start when you are ready.

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Main hall · lesson

Save and recover

Know what your undo can reach.

The idea

A tool checkpoint, a Git commit, a backup and a deployed site protect different things. A local restore does not undo a published change or recover every file a shell command removed. Save a known working version before a risky change and test that you can restore it.

Try this

Name your last working version and where its backup lives. Before sharing, check privacy, rights and the actual hosted game.

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Main hall · watch

Blob Knight Rumbler · Watch

Magnum Opus

The idea

Successive working versions grew into eight original knights. Public use of the model-based material still awaits Tim’s confirmation of the applicable Thrixel plan terms.

Try this

Watch for the repeated move, then name one behavior you would check in a first version.

Public use of this exhibit’s model-based footage awaits rights confirmation.

Recorded from browser play with scripted inputs; the play is deliberately simple. Silent footage.

Gameplay footage is held back while public-use terms are confirmed. The source recordings are preserved.

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · play

Blob Knight Rumbler · Play

Magnum Opus

The idea

Successive working versions grew into eight original knights. Public use of the model-based material still awaits Tim’s confirmation of the applicable Thrixel plan terms.

Try this

Play a short session. Notice the title, play, ending and restart states. Read the Game Room build account.

Public use of this exhibit’s model-based footage awaits rights confirmation.

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · watch

NEONFABLE · Watch

Magnum Opus

The idea

A compact premise expands into a larger game. The useful lesson is the sequence of working pieces, rather than the size of the final result.

Try this

Watch for the repeated move, then name one behavior you would check in a first version.

These examples are maker accounts, not a promise of how quickly another game can be built.

Recorded from browser play with scripted inputs; the play is deliberately simple. Silent footage.

Clip 1 of 3 · silent recording

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · play

NEONFABLE · Play

Magnum Opus

The idea

A compact premise expands into a larger game. The useful lesson is the sequence of working pieces, rather than the size of the final result.

Try this

Play a short session. Notice the title, play, ending and restart states. Read the Game Room build account.

These examples are maker accounts, not a promise of how quickly another game can be built.

maker-account: Tim’s museum reference and game build accounts. Maker descriptions and scripted gameplay captures.

Main hall · lesson

Your one-page plan

Leave with a first piece and its play-check.

The idea

A useful plan names the repeated move, the states, the settings and small pieces you can judge. Leave unknowns visible. Choosing to share publicly adds questions about rights, privacy, hosting and testing.

Try this

Use the worked example, then write your own. Export it before clearing browser data.

Moth and hedges: worked example

Tap to keep a moth flying through gaps in hedges. The loop is flutter, steer through a gap, score, repeat. States: title, play, pause, ending and restart. First piece: a moth falls and a tap lifts it. Check: one tap changes its upward movement; restart returns it to its starting position.

# My game plan
Title: [to decide]
One sentence: [to decide]
Core loop: [to decide]
States: [to decide]
Settings: [to decide]
First piece and play-check: [to decide]
Sharing and rights: [to decide]

Write your game plan

This draft stays in this browser. Clearing browser data can remove it. Download a copy to keep.

Your plan preview

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Find the commands

Look at the menu your installed tool actually offers.

The idea

A slash menu is command discovery, not a universal language. Names and behavior change across tools and versions.

Try this

Open the command menu and read one entry before using it.

Claude Code

terminal · checked 2026-09-26

Type / to inspect available commands.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Type / to inspect available commands.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Plan before building

Agree on the next small piece.

The idea

Separate investigation and design from permission to edit. State what may change and the check that will show success.

Try this

Ask for a plan for one movement mechanic before authorizing implementation.

Claude Code

terminal · checked 2026-09-26

Use /plan before authorizing edits.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Use /plan to propose the next piece.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Notes and vaults

Keep project memory in files you own.

The idea

An Obsidian vault is a folder of notes. Neither tool automatically knows every note: provide the relevant files and protect private material.

Try this

Make an index linking the game idea, decisions and play-checks.

Claude Code

terminal · checked 2026-09-26

Point CLAUDE.md at the relevant project notes.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Put durable project guidance in AGENTS.md; reference relevant notes.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Repeat a useful method

Save instructions you have tested.

The idea

A skill packages a repeatable workflow. Inspect its instructions and any scripts before trusting it with your project.

Try this

Describe your playtest steps in a small skill, including when to stop.

Claude Code

terminal · checked 2026-09-26

Create .claude/skills/play-check/SKILL.md; invoke /play-check.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Create .agents/skills/play-check/SKILL.md; request that skill by name.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Save points

Distinguish session recovery from durable history.

The idea

Conversation recovery and file recovery are different. Git commits record tracked files; backups protect against losing the repository itself.

Try this

Save a working checkpoint, change something harmless, then prove recovery.

Claude Code

terminal · checked 2026-09-26

/rewind restores supported edits. Shell changes are excluded; keep Git backups.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Use explicit Git checkpoints for files. Conversation recovery is not a general file backup.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Repeated work

Every loop needs a stop.

The idea

A repeated check needs a schedule, success condition and failure limit. Repeating a prompt does not establish that the result is correct.

Try this

Define what to check, when to stop and when a person must decide.

Claude Code

terminal · checked 2026-09-26

/loop 10m check the build repeats a prompt; define when it stops.

Official documentation (new tab)

Codex

desktop · checked 2026-09-26

For scheduled checks, use the desktop Scheduled interface. Local tasks need the app and computer running.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Hooks

An event can run a command.

The idea

Hooks can execute code when an event occurs. Read the exact command, its trigger and access before enabling it. A hook permission is separate from approving a game design.

Try this

Inspect one proposed hook and explain what approving it would run.

Claude Code

terminal · checked 2026-09-26

Inspect event handlers in /hooks before enabling commands.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Inspect configured lifecycle handlers with /hooks.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Helpers

Give a helper a bounded question.

The idea

Parallel work helps when tasks are separable. Shared file edits can conflict; an independent reviewer still needs context and evidence.

Try this

Ask one helper to check restart behavior and another to review instructions.

Claude Code

terminal · checked 2026-09-26

Ask for a bounded subtask with /subtask.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Ask Codex to delegate a bounded review to a subagent.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tools Wing · tool

Connectors

Connect only what the task needs.

The idea

MCP and app connections expose external capabilities. Reading a ticket and changing it are different actions; connecting an account is not blanket permission to publish.

Try this

Name the data needed and the exact permitted action.

Claude Code

terminal · checked 2026-09-26

Use /mcp to inspect connected servers.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Use /mcp to inspect available external tools.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Start the memory file

Keep intent next to the code.

The idea

Write the game goal, constraints and first check in a project file.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/init drafts CLAUDE.md; /memory helps inspect it. Modern versions may load AGENTS.md when no project CLAUDE.md exists; check the documented rules.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/init drafts AGENTS.md. Review it before relying on it.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Choose a model

Match the choice to the work.

The idea

Compare one bounded task before changing your whole workflow. Availability and cost depend on your account.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/model opens model selection.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/model opens model selection.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Look before building

Make the next edit reviewable.

The idea

Ask for a concrete plan, including files and a play-check.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/plan enters planning.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/plan enters planning.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

See what changed

Review the actual edits.

The idea

Read the changed files and run the play-check; a small diff can still alter behavior.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/diff shows changed files.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/diff shows changes, including untracked files.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Get a second read

Review finds defects, not fun.

The idea

Give a reviewer the intended behavior, diff and test evidence.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/code-review reviews the diff.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/review starts a working-tree review.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Go back

Restore deliberately.

The idea

Identify what will be restored and preserve anything you still need.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

Use /rewind after checking its limits. It cannot undo shell file changes.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Inspect the Git diff and restore a chosen saved revision deliberately; no universal rewind equivalence is asserted.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Try another idea

Conversation forks and Git branches differ.

The idea

Use a separate Git branch or worktree for isolated file changes; a copied chat alone may share the checkout.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/branch copies the conversation.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/fork copies the conversation.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Inspect the context

Long chats have limits.

The idea

Keep durable decisions outside the conversation and check which files are in scope.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/context shows context use.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/status shows session and context information.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Make room

A summary can lose detail.

The idea

Save important decisions in project files before shortening a conversation.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/compact summarizes the conversation.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/compact summarizes the conversation.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Start fresh or resume

Give a new chat a clear handoff.

The idea

Include the working revision, what passed and the next check.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/clear starts fresh; /resume returns to a saved chat.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/new starts fresh; /resume opens saved chats.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Keep it going

Budget and stopping conditions matter.

The idea

Define a finite completion condition and inspect the result.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

Use /loop for a recurring check; cancel when done.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

/goal sets a continuing objective; scheduled checks use a different interface.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.

Tips Wing · tip

Ask for help

Inspect the installed interface.

The idea

Use the tool’s help and official documentation when a command differs from an example.

Try this

Try it on a harmless change in a saved project.

Claude Code

terminal · checked 2026-09-26

/help explains commands; /doctor checks setup.

Official documentation (new tab)

Codex

terminal · checked 2026-09-26

Run codex --help in the terminal for installed commands.

Official documentation (new tab)

practitioner: Museum teaching practice. Practical guidance adapted from our builds; not a measured effect or completion promise.