Lab notes › AI

Letting AI build a whole Roblox game: AI writes the code, a person is the eyes

Notes from building Lava Rising with Claude Code, which can't open Roblox Studio: how long it took, what stood in for playing it, and where a person had to decide.

4 min read October 20, 2026

Tried
Claude Code 2.1.215 + Rojo 7.7.1 + Lune 0.11.0
Tested
October 16, 2026
Verdict
Keep using

Tools change fast. This held on the test date.

What you will learn
  • AI wrote a game that played on the first try without ever seeing it, because tests checked the rules instead of eyes
  • What can be calculated (can you make the jump, does the lava leave enough time) goes to tests; what can't (is it fun) needs a person to play
  • One short note from the player changed the game more than many rounds of AI guessing would

Lava Rising, the game in Roblox EP5, was written by Claude Code, an AI agent that works in a terminal. The AI never saw a single frame of the game. These notes cover how that worked, how long it took, and where a person had to make the call. Times come from the project’s git log.

The brief

  • The first instruction was one spoken-style sentence, roughly “let’s make a game that’s actually playable, one we could put on Roblox, but run it on this machine first”
  • The person giving it was new to Roblox Studio, and Studio wasn’t installed yet
  • The AI couldn’t open Studio, see the game screen, or press Play

What actually happened

TimeWhat happened
BeforeThe AI offered three game ideas; the person picked Lava Rising and allowed downloading Rojo and Lune from their official GitHub releases
22:31Tools downloaded; file sizes checked against the Releases page
22:34First version committed: about 640 lines including 23 tests and docs. All tests pass, the place file builds
AfterThe person installed Studio, opened the file, saw an empty sky, asked what next, pressed Play: it played fine
Feedback from the player: make it “more fun, with more dimension”
23:06Second version: moving and crumbling steps, lava in waves, fire effects, a height-above-lava meter. About 270 lines added, tests up to 34

From tools downloaded to the second version: about 35 minutes, including the time to install Studio and play.

How the AI worked without seeing the game

1. Pull the rules out into testable functions. Lava height at any second, who burns, where each step goes: all pure calculation, runnable with Lune outside Roblox.

2. Turn “is it playable?” into numbers. Instead of trying the jumps, the tests ask:

  • Is every step lower than 7 studs, the height a normal character can jump?
  • Is the gap between steps between 0 and 6 studs?
  • Even at the fastest surge, is there at least 1.5 seconds per step?
  • Does standing on the summit at the end survive, and standing on the last step not?

3. Check every file compiles before handing it over, so no typo surfaces as an error in Studio.

4. Re-read its own code before shipping. This caught one bug before anyone played: the lava would have burned people waiting in the lobby, because it rises higher than the lobby island. The fix checks only players in the round.

The result: the first version played on the first press of Play, with no errors to come back and fix.

Where a person was still needed

JobWhy a person
Choosing what game to makeTaste and goals. AI can suggest, but shouldn’t decide
Allowing the downloadsIt brings outside software onto the machine
Installing Studio, opening the game, pressing PlayThe AI couldn’t drive this desktop program in this job
Saying whether it’s funNo test measures that

The last one matters most. The first version passed every test: playable, fair, and flat. One sentence from the player, asking for more dimension, made the second version clearly different, while the tests kept guard that nothing new made the game unplayable: special steps never side by side, the first 3 steps always normal.

What tripped us up

  • An empty sky on opening. The level is built when the server starts. A first-time Studio user thought the file was broken. Say up front: press Play
  • Studio’s new look. Menus and buttons have moved since older guides; the Output window now lives under the Window menu. Directions have to come from the player’s actual screenshots, not from memory
  • The AI works in a separate copy. When the game moved to its own session, the app made a separate git worktree, so the place file left open in Studio didn’t update. The player has to be told which file to open
  • Difficulty is still a guess. Numbers like a 75-second round or a 1.6x surge are proven possible by the tests, not proven right. That takes several people playing and tuning

The numbers

First versionabout 640 lines, 23 tests
Second versionabout 270 lines added, 34 tests
Tools downloaded to second versionabout 35 minutes
Errors the player hit on the first Play0
Bugs the AI caught itself before shipping1 (lava burning the lobby)

Verdict: keep using it

AI built a Roblox game far better than expected, without seeing it. What made it work wasn’t only the AI but how the work was arranged: rules pulled out into something testable, tests as the eyes for what can be calculated, and a person as the eyes for what can’t.

To try it yourself, start with a game like this, with short, clear rules: rounds, and win or lose decided by numbers. Expect to be the first playtester, sending screenshots and errors back to the AI every time. The step-by-step build is in Roblox EP5.

FAQ

Do I need to know Luau to make a game this way?

You don't need to be good at it, but you should read it well enough to know what each part does, and you must be able to open Studio, press Play and send errors back to the AI. Roblox EP1-4 in this series lays that groundwork.

Why can't the AI open Roblox Studio itself?

In this job Claude Code worked in a terminal, reading and writing files and running commands. Studio is a desktop program that needs someone to click and look. So the work was split. The AI builds the place file and a person plays it.

Commands and settings were tested on sample systems. Try them on a test machine before production.