Training Module 1.2

Snag Gets a Route

Turn yesterday's open field into a real level inside the Depot, and learn the rhythm that keeps agent work under control: one change, play it, save it, or send it back.

00 · Shift memo

Couriers need roads

To:Courier Snag's handler (you) From:Madam Grizzletooth, Proprietor Re:Yesterday's "delivery zone" was a field

Good first shift. The customers were rude, which means they're engaged.

Today Snag works inside the Depot, among the walls, the crate stacks and the forklift nobody admits to driving. That means a real level, real collisions, and a lot more ways for things to go sideways.

Something you'll notice: Claude has no memory of yesterday's conversation. Everything it knows about our game, it learns by reading the warehouse. Keep the warehouse tidy.

— G.

By the end of this module you will

  • Start a fresh session and get Claude up to speed from the project itself.
  • Work in small loops: one change, play, then commit or roll back.
  • Show Claude a bug with a screenshot instead of describing it.
  • Undo a change you don't like, using Git through Claude.
  • Have a Depot level you can edit by hand, with a dash and some juice.

01 · Clocking back in · 10 min

The courier forgets. The warehouse doesn't.

Each new Claude Code session starts with an empty conversation. What carries over is your project: the files, and the Git history you started yesterday.

Terminal or PowerShell
cd goblin-express
claude

Then get Claude oriented before you ask for anything:

Prompt
Read this project and tell me in five bullets what the game does today and how the code is organized. Then look at the Git history and tell me what's been committed so far.

Check the summary against what you remember. If Claude misreads something, that's useful: it's a sign the code isn't as clear as you thought, and the next person (or agent) will trip on it too.

Mid-task and want yesterday's conversation back? claude --continue resumes the most recent conversation in this folder. For a new day's work, a fresh start is usually better: less stale context, and Claude reads the code as it is now.

§5

Company policyIf it matters tomorrow, it lives in the files. A decision made only in chat is a decision forgotten.

02 · The delivery rhythm · 10 min

One parcel at a time

Ask for five features at once and you'll get five half-right changes tangled together. Ask for one, check it, and save it, and every step is easy to judge and easy to undo.

Ask one change Play it you're the tester Good? Commit save point Roll back to last save Say what feels wrong yes close way off
After a commit, the next change starts back at Ask. Close means describe the problem and let Claude adjust. Way off means roll back and re-brief; don't patch a bad foundation.

In the default permission mode, Claude shows each edit before applying it. You don't need to read every line, but skim them: you'll start to recognize when a "small fix" is touching far more of the file than it should. That's your cue to press Esc and ask why.

03 · Build the route · 40 min

Inside the Depot

1. Lay out the Depot

Levels are content, and content should be easy for humans to change. So we'll ask for the map as plain text in the code:

Prompt
Replace the open field with a small level: the Goblin Express Depot. Use a tile grid with outer walls and stacks of crates that Snag can't walk through, leaving a few different routes between the pickup shelves and the drop-off door. Parcels should only spawn at the pickup shelves.

Store the level layout as a text map in the code, one character per tile, so I can edit it by hand. Tell me your approach and the map legend before you build.

The map Claude proposes will look something like this:

# wallC cratesP pickup shelfD drop-off door

When it's built, play a shift. Then do something important: open index.html in any text editor, move a few crates in the map yourself, save, and reload the game. If your edit works, the level is truly data. If it breaks, tell Claude exactly what you changed and what happened.

Happy with it? One word does it:

Prompt
Commit this.

2. Show, don't tell

Collisions on a new tile map are rarely perfect. Snag might snag (sorry) on corners, slip into a crate, or stop dead against a wall. Describing that precisely is hard; a screenshot is easy.

Press Cmd + Shift + 4 and drag around the problem. The screenshot lands on your Desktop.

Press Win + Shift + S and drag around the problem. Click the notification to open it in Snipping Tool and save it somewhere easy to find, like your Desktop.

Now drag the image file onto the Claude Code window. Its path drops into your prompt. Finish the sentence:

Prompt
[screenshot] Snag gets stuck on this crate corner when I hold right and up together. He should slide along walls instead of stopping dead.

No bugs to show? Screenshot the whole level and ask Claude what a new player would find confusing about it. It's surprisingly good at spotting readability problems.

3. Return to sender

Not every idea survives contact with the controller. Try a bold one:

Prompt
Make the camera follow Snag and zoom in 2x, so the Depot feels bigger than the screen.

Play it. Whether you love it or hate it, practice throwing it away:

Prompt
I don't want that. Put the game back exactly the way it was at the last commit.

Reload and check it's really back. Liked the camera after all? Ask Claude to bring it back properly and commit it. The point is that you now know an experiment costs nothing, because the save point is always there.

§6

Company policyDon't patch a bad delivery. If a change is way off, send it back to the last commit and re-brief. Fixing a wrong foundation costs more than rebuilding it.

4. Make Snag feel scrappy

Movement through a maze is where game feel lives. Describe the feeling and let Claude find the levers:

Prompt
Snag should feel quick and scrappy. Add a short dash on Space with a cooldown, a little dust puff when he dashes, and a tiny screen shake when a parcel is delivered. Put every tuning value (speeds, dash length, cooldown, shake strength) together near the top of the file with a short comment on each.

Then tune by feel, one value at a time, in plain words: "the dash feels floaty," "the shake is seasick." Commit when it feels right.

§7

Company policyEvery tuning number lives in one place. Designers, artists and future-you will thank you, and so will Claude.

5. Clock out

Prompt
Commit any remaining changes, then show me today's commits, one line each.

That list is your shift log. If it's one giant commit, that's fine for today; notice how much harder it would be to undo just the camera or just the dash.

04 · Checkpoint · 5 min

Sign the timesheet

Tick these off. They're saved in this browser only.

Return to Sender

Locked. Finish the checklist to earn it.

Debrief questions

  • What did Claude get wrong in its project summary, and what does that say about the code?
  • When did you describe a feeling instead of a fix? Did Claude find a lever you wouldn't have?
  • Which change today would you have been nervous to try without a commit to fall back on?

★ Side quest · optional · ~30 min

A second opinion

Ask Claude to review its own work, without touching anything:

Prompt
Review index.html as if you were a senior gameplay programmer joining this project. List the three problems that will hurt us most as the game grows, and why. Don't change any code.

Pick the one you agree with most and have Claude fix it, using the rhythm from today. Then run the same review on your own game from yesterday's side quest. Day 3 starts where this review leaves off.