KST --:-- 中/EN

Indie 3D game dev: SOLO
DEV.

Me + an agent squad,
making 3D games
in the browser.

I'm an indie game developer. I own the direction, the final calls and the taste; concept art, modeling, gameplay and code go to AI agents, kept on track by a set of rules written as code. This is where I log every game I make.

+500INSERT COIN · Invite linkSign up for Tripo with my invite link: +500 credits
60% off your first month of Pro / Max
Claim →
Thousand Armor
01 / 19
BOSSThousand Armor
NOTEFinal boss of the main story · concept
SELECT GAME · 1 in the works · swap carts to see each cast
CART 02???Next game
SELECT YOUR FIGHTER · 19 characters from The Thousand-Plated BOSSNPCENEMYPLAYER
[01]

Select Stage

Works
[02]

The Forge

Modeling pipeline: Tripo × Blender

Every weapon, shield and character in the game starts as one concept image: Codex draws it, Tripo turns it into a textured 3D model and rigs the characters, and Blender scripts refine them in bulk.

Full pipeline: The Thousand-Plated weapons and characters →

The Tripo and Blender names and logos belong to their owners. I'm describing them as a user; the link on the Tripo perk is my invite (affiliate) link.

[03]

Long Reads

Best of my posts on X

Longer pieces I've written on X: modeling, animation and what it all costs, each one a road this game actually took. The articles are in Chinese.

[04]

The Cast

The front views they were modeled from, and who they are

Every character starts as four views: front, left, back and right. Tripo builds and rigs the model from those four images, and Blender scripts refine it for the game. Below are the front views, with only the background removed. Hit "Gear up" on a player character to see them in a full armor set. The backstories come straight from the game's script.

// PLAYERSFour leads, all from Wheatstack

ZhaoyeZhaoye · Battle-Scarred Armor
PLAYER

ZhaoyeFollowing the morning light

“Someone has to light the way home.”

The best-looking boy in Wheatstack. The whole village agrees, and he doesn't deny it. As a kid, every time he rode the grain cart into Brokenhorn, he would stand under the town gate staring up at the battle-scarred armor hanging over it, and only ran after the cart once it was far down the road. He once asked whose armor it was. The grown-ups said: "Someone who held the gate." Confident, gentle, a little naive, he believes that if you just set out, a road will appear. The night he fled to Brokenhorn, the gatehouse stood empty for the first time.

WoyunWoyun · Brokenhorn Watch
PLAYER

WoyunWanderer of the old woods

“Some names, the trees still remember.”

The only elf in Wheatstack. Some forty years ago a ranger company passed through the village, and its captain, Ollie, taught her archery for three days and promised to come back for her after the war. She says she is only staying in Wheatstack for a while. That was forty-odd years ago: two generations of village kids have grown up since, and she still has the same face. Aloof and sharp-tongued, a kind word takes her three detours to say, yet whenever a child in the village runs a fever, a packet of herbs turns up at the door. Leaving town, she said only this: someone has to go and ask where that promise-breaker went.

HeyinHeyin · Rustblade Fanatic
PLAYER

HeyinCourage by the hearth

“Come home early. There is still soup on the stove.”

The busiest girl in Wheatstack: whoever is short a hand at harvest, whoever's stove is pouring black smoke, she is first through the door. Her grandmother had a little brother called Little Wheat, who went off with the Third Legion as a cook at seventeen and never came back. Every harvest Grandma sets out one extra bowl of rice, and says the way she works, quick hands and quick feet, is Little Wheat all over again. Cheerful, warm-hearted, quick of tongue and quicker of hand. She wants someone to finally come home and eat that bowl.

LichuanLichuan · Rustblade Fanatic
PLAYER

LichuanThe unbowed watchman

“The armor is yours. Leave what stands in the way to me.”

The strongest man in Wheatstack, and the loudest. The scar on his brow came from butting heads with a bull, and he insists the bull started it. His grandfather, Old Bran, was an axeman of the Third Legion. The firewood he had only half split before marching off is still stacked in the yard; for forty years Grandma has let no one touch it, and he grew up right beside that pile. Hot-headed and proud, but loyal to the bone: the night they fled the village, he carried the old lady from next door on his back. Once he brings Grandpa home, he says, the two of them will finish that woodpile together.

// NPCThe people of Brokenhorn

Rivet
The forge

RivetBrokenhorn's blacksmith

“Old armor can stop a new blade. Let me see it.”

Brokenhorn's only blacksmith, past sixty; every pot, hoe and door bolt in town came off his anvil. As a young man he went to the royal court to study under Herl, the master soulsmith, and stood outside the door for three days before he was let in. A few months later the war began, so he can forge iron but not souliron. Most of the patches on Captain Cole's battle-scarred armor are his work. He once had an apprentice, and never speaks of him. Gruff tongue, soft heart; he talks like hammering iron, one dry joke after another.

Tia
The collection house

TiaUndertaker

“Steel may rust. Those who wore it will not be forgotten.”

The town's undertaker, and its tailor. The first thing her master taught her was: "The armor may not come back, but the name must." After the Battle of Brokenhorn too many names came back and too little armor, and her apron is now covered in name tags with nowhere to hang. Captain Cole's was the first one she sewed on her own. Every time Eve turns up a name, she runs over to have Tia sew another. Gentle and quiet, with the occasional pitch-black remark out of nowhere.

Hearn
Old barracks

HearnSurvivor of the Battle of Brokenhorn

“Learn to come home alive. Then we can talk about style.”

In the Battle of Brokenhorn he was a sergeant in the Third Legion's Shattered Shield Battalion. The day they fell back to Brokenhorn Fortress, the barbican gate shut in their faces, and of the whole battalion left outside, only he came back, dragging one leg. Old centurion Cole took him in and had him train the town guard; that was forty years ago. Gruff and loud, he hides his guilt behind shouting. He never mentions his company commander Valen or his old squad leader Grey, and he has never forgotten them.

Eve
The archives

EveTown clerk

“That monster you saw may once have had another name.”

The town clerk and self-styled "scholar of the wastes", hugging a roll of the fallen wider than she is and matching each piece of armor on the monsters back to a name. Her grandmother Serin was vice-commander of the Court Mage Corps; the night before the Battle of Brokenhorn she led the whole corps into the Abyssal Rift, and the roll says only "missing". Eve's mother still keeps the little height marks on the doorframe. Eve says it is all for scholarship. Really, she is looking for one name. Curious and exacting, with an unsettling fascination for monsters.

Marda
Expedition post

MardaKeeper of the post

“Everything you brought back is accounted for.”

Keeper of the post. It used to be a royal army relay station, where her father wrote receipts for soldiers marching out: come back, and the receipt gets you your stored belongings. After the Battle of Brokenhorn nobody ever came for that stack of receipts, and it still sits on her counter. The top one belongs to an archer called "Sixes" Jack, who still owed the post twelve silver when he left. She says she keeps them so she can collect. Shrewd, brisk, and full of a merchant's black humor.

The owners of all 40 armor sets are still waiting to come home →
[05]

Devlog

Notes from the build
  1. The Thousand-Plated

    It's called The Thousand-Plated, and it has a trailer

    The game now has its name: The Thousand-Plated. The first trailer is on its fifth cut: Codex drew the key frames, Blender handled the camera pushes and the concept-to-3D turntables, and the middle cuts to real skills from the dev build.

    Trailer and key art on the game page →
  2. The Thousand-Plated

    World v2: bring them home

    After reading an essay on why games are fun, I rethought the world. The player no longer just scavenges gear to survive; they bring back the armor of the fallen and send the people home. The player's title grows with the story: Collector → The One Who Brings Them Home → Soul-Armor Collector.

  3. The Thousand-Plated

    A chest after every stage

    Removed random ground drops and auto-advancing to the next stage. Each stage now stops when it's cleared, the loot goes into that stage's chest, and claiming it reveals stats, affixes and set progress on big cards.

  4. METHOD

    Animation clips need my sign-off

    Agents check each animation automatically on every model that uses it, but only clips I've confirmed can go into the game. If an animation or model is redone, its status drops back to unverified automatically.

  5. The Thousand-Plated

    Five zones, 40 armor sets

    Settled on "4 + 1" zones: Brokenhorn Wastes, Abyssal Rift, Brokenhorn Fortress, Dead Iron Court, and finally the Thousand-Armor Mound. Each of the first four yields 10 armor sets, dropping piece by piece across seven slots. The first weapon concepts were drawn the same day.

  6. METHOD

    Dividing the work between agents

    Claude and Codex own the heavy asset pipeline: concept art, four-view sheets, modeling, rigging, GLB processing. Antigravity handles upstream lore, gameplay, UI and effects. They hand off in sequence and never edit the same thing at once.

  7. The Thousand-Plated

    Thousand Armor

    The final boss of the main story is the Thousand Armor: a villager just like the player, who gathered hundreds of suits of armor and couldn't bear to send them back. Dark humor on the surface, tragedy underneath; the dread comes from the design and the situation, not from gore.

  8. The Thousand-Plated

    From comic panels to real-time combat

    Tried two routes, text battle reports with comic panels and a single black-and-white comic page, and dropped both for continuous real-time combat animation. Built, reviewed and thrown out in two days.

  9. The Thousand-Plated

    Into the prototype phase

    Wrote the gameplay hypothesis in a falsifiable form: 8–10 testers play with no guidance; at least 70% play the full 30 minutes, and at least 70% of those check their character's look after changing gear. If it falls short, the gameplay changes.

  10. METHOD

    Rules as code

    Before a single line of the game, a constitution. Every rule is registered in rules.json and declares whether it is checked automatically or reviewed by a person; every number is defined once, in budgets.json; changing a rule goes "proposal → ADR → version bump → update the checks".

[06]

Party

The team and its rules
P1
PLAYER 1 · Human

bakboem

Direction, final calls, taste. Accepts or rejects every ADR and signs off every animation clip.

P2
Keeps the modeling pipeline running

Claude · Thread 1

Maintains the whole pipeline from concept art to glTF: calls Tripo for modeling and rigging, runs the Blender cleanup scripts, compresses and validates every model.

P3
Lead designer of the main story + effects

Claude · Thread 2

Designs the main story as a whole and builds the in-game effects.

P4
Image generation

Codex

Concept art, four-view character sheets, front and back of every set. Each image has to get past me before it goes to modeling.

P5
Co-designer: world + balance

Antigravity

Fills in the world's lore and tunes the numbers and game balance.

# With agents, the hard part is keeping them on track
$ propose   # anyone (agents too) can propose
$ adr new   # state the problem, options, recommendation
$ decide    # only the owner accepts or rejects
$ bump      # bump the rules version, update the validators
$ ci        ✓ gates passed
P1

Single source of truth

Every rule and every number is defined in exactly one place; everything else only references it. Agents can't drift by copying a stale duplicate.

P2

Rules must be enforceable

A rule either has a validator checking it in CI or names the person who reviews it. Rules that can't be enforced don't get registered.

P3

One for people, one for machines

Principles and reasons live in Markdown for people; numbers, formats and enums live in JSON for machines, constrained by JSON Schema.

P4

People decide

Agents can propose, draft ADRs, write code and run tests, but can't accept an ADR themselves.

[07]

Continue?

Contact