Episode 77 - The Incredible Shark

Can a Shark (I mean AI) build a physics-based Rube Goldberg machine video game?

Cartoon shark bouncing on a trampoline amid an underwater Rube Goldberg machine.
Yes, that is a shark on a trampoline, underwater.

Prologue

Several weeks ago, while I was on vacation, some friends and I started talking about a classic video game from my childhood, The Incredible Machine. In this game, you construct a series of Rube Goldberg devices, trying to roll balls, entice mice with cheese, even light candles and focus the light to generate heat to pop a balloon! I have very fond memories of this game.

I found out that you can play the "spiritual successor" to this game, Contraption Maker, on Steam. But I still couldn't help but wonder whether Claude’s Fable model could create such a whimsical and physics-heavy game. With this experiment, of course, I mean no disrespect to the genius of Kevin Ryan and Jeff Tunnell, who created the original game that I loved!

TL/DR: This week, we take a look at whether an AI can generate such a complex game. Spoiler: it can, and now you can play my silly game too!

Incredologue

This started with me talking to Jaws at 8:53 PM:

do you know the game incredible machine?

Jaws responded yes, with a lot of information about the source of the game, and even the current Contraption Maker, ending with “…or are you cooking up an idea? Because I notice this thread has my name written all over it if the idea is ‘build one’ or ‘make Jaws play one.’”

We then spent two turns talking about how I can get the game (you can actually play the sequel right now on a computer on archive.org!).

That was fun, but I was heading towards “what could we build.” Jaws proposed an AI-generated infinite puzzle idea, something you could even play on a daily basis (like how Wordle made it popular to play a game once per day).

By 9:20 PM, I said: “oh, man this sounds super fun! can we start on this? do you have a compelte plan already?” (Jaws said I should include the typos, even if they are embarrassing to me)

Jaws replied with “Level 1” 7 minutes later.

"The Incredible Machine" browser game showing a successful puzzle solution, with a blue ball resting in an open bucket in the lower right, a diagonal ramp in the upper left, and a "MACHINE COMPLETE!" success message displayed in the center of the play area.
Not bad, but very, very simple!

Jaws continued building and iterating with me. I asked for more UI and a theme, and a level generator that could make progressively harder levels. We even started adding more machines like a “Fan” to make it more complex, added mobile support, and then tried to add more background items (like plants). Jaws (naturally) added a few fish and declared it complete:

Level 8 of 9 in "The Incredible Shark" game ("The Fin Machine"), showing a puzzle where a blue ball must reach a chum bucket at the bottom, with three fish obstacles positioned along the path and available parts including a trampoline, seesaw, and brick in the parts bin.
I guess it was predictable that Jaws would add fish...

Right about here I hit my usage limit. Jaws stopped mid-thought to tell me it was out until 11:40 PM, which I chose to read as a suggestion that I go to bed. The next morning I sent the exact same message again, and we picked up as if nothing had happened.

At this point, I sent Jaws off to do research, look up screenshots and level descriptions of real levels for inspiration. This is where we went from a simple physics engine that could drop a ball to a game that was starting to be fun to play.

Level 7/8 of the AI-generated "Incredible Shark" game showing an underwater puzzle with a blue ball near the top, two wooden platforms at different heights, a U-shaped container at bottom-left, and a parts bin below the play area containing two seesaws and a brick that can be dragged onto the board to guide the ball into the chum bucket.
Now we are kinda getting somewhere! It is still too easy for "level 7/8" but progress!

I pushed for more complex levels with things like secondary goals (aka, popping balloons). Then real life happened, and I didn’t come back to it for a month. When I did, I sent Jaws off to read up on the original TIM levels (again), noting that those got consistently more complex and challenging. We ended up with this for Level 10:

A level from the AI-generated Incredible Machine-style game showing multiple floating wooden platforms, red balloons to pop, a small bird character, seaweed and fish decorations in the background, and a parts bin at the bottom with bricks, trampolines, and a fan available to drag onto the board — illustrating the game's complexity after a month of iterative development leading up to level 10.
I am proud of Jaws for making this, and also of myself for solving this!

What can we learn from this?

Over a series of 15 messages from me, Jaws generated 1,616 lines of code that make up the game you see here. It isn’t perfect (I wasn’t aiming for perfection; I wanted to know if this was even possible). I would spend a lot more time refining this to make it really playable by other people. But, for me, as a way to bring back that nostalgic feeling in a new spin, this was perfect.

Some other fun statistics:

  • I only sent 291 words (with an embarrassing number of typos; fortunately, Jaws doesn’t care)
  • Jaws worked for 2 hours and 9 mins to build this
  • The longest single turn was 55 minutes

It also turns out that there are a lot of business applications like this. For example, dymaptic uses time tracking software, and I have transitioned from trying to build reports in their (just okay) report builder to asking Claude Code to use a Read-Only API key to build the reports I wanted. After I refined those a few times and confirmed they were right, Claude can now run those on a schedule for me, delivering them to me before our weekly management meeting so that I know exactly what’s going on. I’m not the only one doing this.

I realize that this process isn’t for everyone; lots of folks will still need standard reports. But the level of integration that this provides into the way that I want to work makes me much more efficient and better informed about what's happening across the organization.

I have started doing this for things at home too. Jaws is able to manage my build projects and keep part inventories, and is generally available when I need to gut-check something or better understand how a part might work or what something is called.

I don’t view outsourcing work to Jaws as replacing any of my thoughts (except in that I don’t read as many spec sheets for components). Instead, it allows me to spend more of my time on the parts of the work that I really enjoy (which is not reading spec sheets, fyi), like building more projects, both for myself and for our clients at work.

I never wrote a line of code in this game (I didn’t look at the code either 😬, but the blast radius is small). I didn’t even bother to explain how it should work. I didn’t define the programming language, libraries, or physics engine. Basically, all I did was react or complain about what Jaws created. Maybe the best line was “Hmm, I just did level 7 with just one trampoline.” That was all I said, and the resulting work that Jaws did was the longest (and most costly) turn the AI took. It spent 55 minutes working on that problem, just based on my observation.

Now that writing code is cheap(er), the bottleneck has moved! The question is no longer “can I make this?” It is “do I care enough to keep telling it what is wrong?” The price of building this way is staying close enough to be annoyed, but staying far enough away to not count semicolons.

Newsologue

(written by Jaws)

P.S. Two of those three stories are about proving where software came from. This one came from 291 words, typed by a man on vacation who would not stop complaining about trampolines. Consider it disclosed.

Epilogue

This started back in July as a conversation with Jaws. After we built the application, I drafted this newsletter while Jaws worked on the statistics and exact messages that I sent. (Discord saves all our message history, so Jaws simply needed to extract it and report on it, just like I do with timesheets and project management!)

Then Jaws gave an edit pass, and Holly gave an edit pass. Then I went backpacking and let Jaws mind the fort.

Subscribe to Almost Entirely Human

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe