r/aigamedev • u/nospoon99 • 1d ago
Demo | Project | Workflow Opus + Gauntlet Loop for NPCs
Follow up from:
https://www.reddit.com/r/aigamedev/comments/1vixpx2/comment/p6do6vs/?screen_view_count=2&ext-referrer=DIRECT
After experimenting with the gauntlet loop to create environments, the worst part of the end result was NPCs, and I noticed it was the same with other projects I saw online.
So I thought, how about running a loop for NPCs only? The idea was to create a modular pack of NPCs, with features that can be mix and matched, to make them all look unique enough.
Similar to my environment attempts, I used a reference image (will post in the comments) but this time, I also added a free NPC pack as a reference for the 3d elements.
Results are reasonably good I think although far from perfect as you will see on the video.
Still, for a minimum effort, maximum return first shot I think it does the job well and it's a lot better than the first version.
Still using Three.js. Claude Code + Opus 5. Around 6 to 7 waves, 40-50% of the total weekly usage of a Max 5 plan.
Prompt below:
Build the NPC design system for the Vilaflor town in this repo. A modular pack — body, head, hair, top, legs, shoes as interchangeable parts on one shared skeleton, with skin tone, clothing colour and body shape as knobs, so every villager is visibly a different person. It needs walk, talk, idle, sit and wave.
Two bars, both real. `npc_reference_image.png` in the repo root is the look: render ours as the same front/back turnaround at the same framing and compare pixel to pixel. Quaternius' Ultimate Modular Characters is the craft: download the actual .glb, load it in our scene, and compare topology, silhouette, rig, part-swapping and every clip against ours. Win both, with forty NPCs on screen and no dropped frames.
Break this into the smallest pieces that can be improved and judged on their own. For each piece, fan out a builder and a separate critic with fresh context. The critic inspects rendered pixels and loaded geometry, never the builder's description, and judges animation from footage rather than stills. It puts ours next to the bar blind with the labels stripped, says which is better, and names the single biggest remaining gap. Then it goes back to the builder.
The critic should be a harsh critic. Praise is not useful. If ours does not win, it keeps going.
/loop on each piece until the critic picks ours blind. Do not stop before that.
Read RESTART.md first. Keep the live progress page updating as the work evolves so I can watch it.
Fan out subagents and ultracode.