Again, lots of work on infrastructure and making sure the games finished on the swarm. There’s been a lot happening, and keeping up with the devlog while working on three games has been a bit much.

The controller manager’s morning report gave us a clearer picture of how the original plans had moved overnight:

Original planned tasks completed, out of 70 per game
ProjectNov 12
10 p.m.
Nov 13
7 a.m.
Change
Feral Divinity68/7070/70+2
The Price of Power46/7064/70+18
SCRAPHEAP43/7065/70+22

These counts track the original seventy planned tasks for each game. The swarm also creates QA tasks and follow-on tasks for more complicated work, so the full task queues grow as it runs.

Completing the original plan didn’t mean a game was ready to play. GameMode integration and startup fixes were still blocking playable builds that morning.

While the swarm was still cooking, I had a few more things to figure out. How were we going to playtest each game? How would we pull it off the swarm and get it into the hands of a frontier agent? And how could we offload some of that work instead of always using Opus?

Sub-agents

We built a tool that lets a frontier-model agent spawn a sub-agent using a different LLM provider. So, for example, Claude can start a Pi sub-agent that uses the model running on my local inference box.

We built the tooling, hooks, and a skill for Opus to connect to it. It’s called shrimp-pi, and it’s up on GitHub if you want to play with it. Right now it supports Linux and Mac. If you try it and want to send a pull request, that would be awesome.

This came out of seeing Reddit posts where people were showing off frontier models working with local models, but then not explaining how they did it. Everyone in the comments was asking how.

So this is how we’re doing it. Try it.

Feral Divinity

The first game to come off the swarm was Feral Divinity, and starting work on it was fairly painless.

Unfortunately, the biggest issue I ran into was generating new imagery with my local image diffusion model. The style from the ChatGPT images didn’t really carry over, and the prompt guide ChatGPT had made for us didn’t seem to work very well either. That cost a lot of time.

Then I found another hole in the infrastructure: the 3D model generation wasn’t intuitive for an agent to use.

We had to go back and forth on documentation until it made sense. I wanted to be able to spin up a new agent, give it the guide, and have it generate things through the endpoint.

So now we’re cooking. It took a while, but now we’re going.

Playtesting

I also had to figure out whether we could develop and playtest multiple games with multiple Opus instances without them running over each other.

On the dev machine, the agents playing the games take over the screen. If I interrupt, I mess up what they think is going on. So I need to stay away from them.

Back on the ThinkPad, I’m remote-controlling the Opus instances on the dev machine instead.

Luckily, the Swarm QA tools still work with Opus, so it can play the games and do all this other fun stuff.

An early SCRAPHEAP garage view with an inventory and telemetry panel, the camera close inside a blocky vehicle assembly, and an Enter Arena button.
SCRAPHEAP’s garage on the night of November 13. View full-size image. Original progress post.

Tim Sweeney, if you’re listening, I have still yet to open the editor myself.

Tomorrow’s a big day. We get to make our first cut.