The swarm was reporting Feral Divinity at about 75% complete, with the other two projects around halfway through, and I was starting to get nervous.
We spent more time optimizing how the agents worked with Unreal Engine and how we shared the compute available to us.
Waiting for Unreal
I normally work with engines like Godot or Unity. Those workflows don’t usually have me sitting around waiting for compilation in quite the same way.
The way an agent works with Unreal can turn that into a bottleneck:
Write some code. Compile. Write some code. Compile. Write some code. Compile.
It adds up.
By the evening of the first night, we’d clocked about forty hours of parallel compile time across the swarm.
We increased the remote build slots on the compilation machine from four to six, which helped significantly. We also increased the Mac’s editor slots from four to six so there was less competition for those resources.
We were figuring out how hard we could push this as we went. We didn’t know the maximums yet.
Waiting for the editor
Unreal’s startup time was another problem.
If a bunch of agents were competing for editor instances, waiting for an editor to start on each task cost a lot of time. If an agent was still working when its editor timed out, we’d have to open it again and wait all over again.
We had to tweak those timings to make the workflow more efficient.
This was a significant departure from my normal Godot workflow, where opening the editor feels nearly instantaneous. Unreal is nice, but very, very, very slow.
Getting the art direction ready
While that was happening, I started developing the art direction for the three games in parallel.
The idea was to have art resources ready when the prototypes were finished, so we could start seeing what the games might look like instead of only looking at placeholders.
Feral Divinity: finding a creature of our own
For Feral Divinity, I wanted a non-photorealistic style with semi-friendly creatures. Nothing too serious or edgy, but nothing too cuddly either.
Early in the exploration, we got imagery that looked almost exactly like another Black & White-inspired game. I hadn’t specified the creature’s appearance, and ChatGPT came up with an owl with deer horns and a bear’s body. It looked like a similar species to the creature in How to God.


That was interesting. It made me wonder whether similar concepting tools might have played a part there, although I don’t know whether they did.


A detour into creative singularities
One thing that fascinates me about LLMs is what I think of as creative singularities, and I’ve seen them across model families.
I ran an experiment with several agents using the same creative-writing prompts. The prompts didn’t provide character names, but I kept seeing the same characters, places, items, and names turn up across models: Qwen, ChatGPT, Gemma, and so on.
For example, I’ve come across at least six games using a fantasy setting called Aethelgard, along with books and comics using that name. I don’t think everyone making those pieces checked whether someone else was already using it.
My suspicion is that they were being drawn toward the same creative defaults.
I’m going to get on my soapbox for a moment, because I think there’s a risk here that we aren’t paying enough attention to.
A lot of people are interacting with these models. If the models keep drawing people toward similar ideas, and people keep offloading their active decision-making to them, that could push things in a direction we don’t really understand yet.
The closest comparisons I can think of are social media and advertising algorithms, but I’m not sure we know where this particular version leads.
Back out of the slop lands
Anyway, back to creative direction.
I had to stumble around for a while to get away from a Disney’s Moana kind of feel. That seemed to be one of the places the model wanted to go.
The generations also tended to have too much detail. I kept noticing a grid-like noise in ChatGPT’s images when I squinted at them. It took some tweaking to get the images looking less sloppy.
Once I’d worked my way out of the slop lands, I asked ChatGPT to analyze the images and create a prompt guide. We’ll be using image and 3D generation later, and I wanted those toolkits ready to go.

SCRAPHEAP: pastel anarchy
SCRAPHEAP’s direction was easier to find.
I wanted car combat that wasn’t brown, rusty, or post-apocalyptic. I’d had a different theme floating around in my head for a while.
I’ve spent a good amount of the last couple of years watching Gabby’s Dollhouse and other kids’ shows with my children. I like the bizarre pastel anarchy of those shows, and that’s the direction we’re going in.
A new art movement: pastel anarchy.
You heard it here first.

The Price of Power: a Byzantine detour
The last game’s art direction was tougher. I made some missteps and got to explore ideas quickly, but I’m still not fully happy with it. It feels a little generic to me.
The lookbook and the woman below are the direction I’m going with for now. The character image extends that style.


At one point, I got excited about Byzantine icon art and its strange perspectives. I wanted to prototype shaders that tagged different body parts, warped each one from a different perspective in camera space, and reprojected them back into the main camera’s view.
The idea was to get that different-perspective-per-limb effect into a 3D viewport.
I think it’s cool. I think you could probably pull it off. I didn’t have enough time, though, so I shelved it. I might come back to it later.
I prototyped it in Godot because shaders are shaders, math is math, and this computer can’t run Unreal Engine.
This is the unhinged Byzantine look I really wanted to make feasible.

Watch the shader test on YouTube.
The swarm continues cooking overnight
After the swarm had run for a couple of hours with its new configuration, I went to bed feeling more confident that it could finish the next day.
The plan for tomorrow is to pick up the prototypes, find out which one is the most entertaining, and have the frontier models polish that one while we focus on content.