How I use AI, and how I teach teams to.
I’m not interested in AI that replaces designers and artists. I want creatives to stay in the flow zone and not get bogged down by the tedious legacy tasks. Everything here is something I built and use myself.
There is always a human in the loop.
Every system I build keeps a designer or artist in charge. The AI drafts, builds, and checks its own work in passes. A person approves the plan, gives the notes, and decides when it’s done.
That’s what makes it safe to adopt: the craft stays with your people, and the AI handles the tedious work.
Featured project · an unannounced dungeon crawler
The Design Loop
How I build game levels with an AI. It plans, builds, and checks its own work in passes. I approve the plan, give notes each round, and decide when it’s done. It started as one crypt room in eight rounds. Now it’s one engine for any game part, from rooms to doors on a timer.
- A roundI see the result
- PassesThe AI alone, 3 to 6 times (up to 21)
- MeApproval, notes, and the go
- rounds
- 42
- core rules
- 30
- checklist items
- 79
- system changes
- 57
How a round works
AI works on its own Me I decide
Before anything is built
AI Place it
Every part gets a profile (how it’s judged) and a style (how it looks).
AI Library first
Past rulings are loaded before any new ideas.
Me Plan with me
The AI asks questions in short rounds, six at most.
AI Three sketches
Three truly different answers, not three versions of one.
Me Approve
Nothing gets built until I say “approve, build it.”
Every round
AI Build
The AI builds from the approved brief.
AI Evidence
Screenshots and measurements of what was built.
AI Checks
Automated tests for doors, physics, budgets, and more.
AI Fresh eyes
A separate reviewer that didn’t build it judges the work.
Me My notes
I look at the round and give notes, or say go.
AI Write back
Every lesson is written into the rules, so the next round starts smarter.
Between my notes, the AI runs three to six passes on its own, sometimes up to twenty-one. Every round rebuilds from the same inputs and the same random seeds, so changes are easy to compare. And “go with your recs” answers a question. It never approves a design.
Eight rounds of one crypt
-
Round 0 First try
My note: “Needs improvement”
-
Round 1 Trim and candlelight
-
Round 2 Real alcoves
-
Round 3 Grid and physics
-
Round 4 Sunken hall
-
Round 5 Nothing floats
-
Round 6 Doubled
My note: “HUGE improvement!”
-
Round 7 Its own doors
That crypt is now a 40 by 40 hall of piers, eleven rounds in.
The checks every round has to pass
Doors clear
Every doorway can actually be walked through.
Nothing floats
Every stone has a load path and stays balanced.
100 seeds
The random layout is tested a hundred ways.
On budget
It stays within its performance budget, load cost included.
Nudge test
Real physics settles every loose object.
No shared faces
A probe catches flickering, overlapping surfaces.
Stairs walkable
A probe walks every stair lane.
Breaches are real
A broken wall is made from that wall’s own stone.
It happened
The scene reads as something that physically took place.
Can fail
Every check is shown failing on purpose before it’s trusted.
One engine, three layers
Engine
How a round runs, for anything. The rules every part inherits: process, craft, and the physical world.
Profiles
How a kind of thing is judged: its evidence, inputs, checks, and checklist. Levels have 79 checklist items. Game systems now have their own profile.
Styles
How a set looks: kits, palette, light, budgets, and taste rulings. The gothic crypt style covers eight rooms so far.
Any game part is one profile plus one style. A village would use the level profile with its own style, and borrow no candles from the crypt.
In the loop now
-
The Ossuary Hall
Crypt
Things rest where real physics would leave them.
Round 11
-
The Question Room
Torture room
Chains drawn at distance, cell doors arranged.
Round 9
-
The Deep Stair
Stairs
Far stones drop detail; loose things settle by physics.
Round 7
-
The Crossways
Five junction halls
Breach edges hang their stones.
Round 5
-
The Watch Hall
Guardroom
Every loose piece dropped by real physics.
Round 4
-
The Pit of Kings
Boss room
The causeway’s collapse rebuilt from its own stones.
Round 4
-
Throne of the Dead Lord
Boss room
Approved. Round one next.
Approved
-
The Desecrated Chapel
Boss room
Approved. Round one next.
Approved
-
Timed interaction
Game system
Tap to start; tap or move to stop.
Round 1
-
Timed doors
Game system
Doors built on the timed interaction.
Round 1
The rules I teach
These came out of working with AI, round after round. They’re how I’d start with any team.
A human stays in the loop.
The AI does the passes. A designer or artist decides what’s good, and nothing ships on the AI’s say-so.
The designer mentors the AI.
I teach it the rules of the world: how stone sits, what this place would hold, what the player should feel. Each ruling is written down word for word, so it never has to be taught twice.
Approve before building.
The AI plans and sketches options. Nothing gets built until a person says yes.
Physics before story.
If it couldn’t stand up in the real world, it doesn’t get a backstory.
Every check can fail.
If a test can’t catch a bad result, it isn’t a test. Each one is shown failing on purpose first.
Copy the real thing.
Real crypts, real physics, real reference. Taste comes from the world, not from the model.
Fresh eyes first.
A separate reviewer that didn’t build the work judges it before I ever see it.
Write the lesson back.
When a round teaches something, the better way replaces the old text everywhere, the same day.
More things I’ve built
-
Agents inside Unreal Engine 5
AI tools for artists and designers
Designers and artists describe the effect or material they want, and an agent builds it in-engine as a Niagara system or a dynamic material, ready to tweak by hand. Iteration got about five times faster.
Built with Unreal Engine 5, Niagara, Claude Code
-
Immigrationally.ai
A full-stack product, built with AI
My partner and I built a web platform end to end with Next.js and Claude.
Built with Next.js, TypeScript, Claude
-
A decade-old game, modernized
Agentic code migration
I used AI agents to bring a ten-year-old game codebase up to the current version of Unity.
Built with Unity, C#, coding agents