Bounding retreat fire & move
Breach One and Two, alternate cover, fall back to the extraction point.
Two squads become partners. One shoots while the other runs to the next cover, then they swap. Nobody is waiting on your next click.
Metag Studio presents · An AI-native real-time tactics game
You are the platoon leader. Give orders in plain speech. The platoon answers on the radio, asks when an order is unclear, warns you when a plan is weak, and AI soldiers carry it out. You never click a single soldier.
Support squads, suppress the church. The two nearest the main gate, go in. Everyone else, hold.
AI-native · two-way
A classic RTS takes clicks and gives silence. Command Intent is built on language models from the first line of code, so every order is a conversation. The platoon acknowledges, asks, warns, reports and improvises, and you answer in the same breath.
Name things the way you see them. Visual traits, places, squads and people all resolve on the live battlefield.
"the one in the yellow cap" · "the house with the radio" · "Jansen's squad"Two squads tied for "nearest"? A squad name that doesn't exist? The platoon asks one question instead of guessing. Say "both" or "forget it" to close it.
"Breach Two or Breach Three? Both are 40 m from the gate."The AI knows each squad's strengths and gaps. Send the wrong squad and it offers the right one. A suppressed squad with no medic triggers a suggestion before you ask.
"Breach One has no medic. Send the platoon medics?"Squads handle cover, return fire and deployment on their own standing orders. Only what needs the platoon leader reaches you, queued by priority like a real radio net.
"Breach Two suppressed at the sandbags. Awaiting orders."Standing orders are sentences. "Don't advance without me." "Fire on anything you see." Say it once, and the squad behaves that way for the rest of the fight.
set_standing · advance: manualVeterans improvise a better position. Rookies fire early. A suppressed squad panics or holds. Every outcome is narrated back to you by name, and it did happen.
"Alpha-2 took one for the sniper team."The ceiling of classic RTS
Real-time strategy never lacked depth. It lacked a way to hand that depth to ordinary players. A bounding retreat is one paragraph in a field manual and twenty precise actions on a mouse.
select squad A → pick fallback point → wait → select squad B → fallback → reselect A → … repeat until clear. One slow hand and the whole squad is gone.
“Breach One and Two, alternate cover and fall back to the extraction point.” → interactive_retreat. The two squads become partners: one fires while the other moves, and they rotate on their own.
Players understand tactics. Their hands can't keep up with their heads.
Experience
Each order is spoken by the player, translated by the model into primitives, and executed on the field. Nobody reads JSON. You say it, and it happens.
Breach One and Two, alternate cover, fall back to the extraction point.
Two squads become partners. One shoots while the other runs to the next cover, then they swap. Nobody is waiting on your next click.
Sniper, wound the patrol. Don't kill him. When they come to pull him out, everyone opens fire from the low wall.
The waiting is done by the model, not by you. The trigger fires on a real battlefield event, so you can turn your attention elsewhere.
Mortars, from D1 push one line forward every 30 seconds. Assault squad walks behind the barrage.
Artillery and infantry are bound to one clock. The barrage advances, the squad advances with it, and the gap never opens.
Assault squad, mount the tank. Dismount at the church door. Tank, keep your front toward column D.
Hull and turret face independently. The tank takes fire on its front armor while the infantry rides in and drops at the door.
How it works
Two layers of language models sit between your voice and the battlefield. They output selectors and primitives, never coordinates. Sorting, distance and pathing stay inside Unity, so every order is deterministic, verifiable and replayable.
Goal plus constraints, in plain speech. Hold push-to-talk and the game slows to 0.3× while you think.
“the two nearest the gate”Parses intent against the map skeleton, the roster and the event queue. Emits orders as selectors plus primitives, and asks a question when an order is ambiguous.
{nearest:{anchor:"n09",n:2}}One per squad, with only its sector, four slots, standing orders and local contacts. Turns an order into a sequence of atomic operations.
stack_on → breach → clear_roomResolves selectors into squad lists, runs NavMesh pathing, physical ballistics and armor math, then reads the result back on the radio.
“Breach One, Breach Two moving.”Select, move, attack. You manage every soldier.
Squad movement and cover. Still driven by the mouse.
Objectives, constraints and coordination. Driven by speech.
Atomic operations the squads execute
Every primitive takes the same target object, the same conditional modifiers (when, until, after_sec) and refers to places by named map anchors rather than compass bearings. The static map and roster live in the prompt cache, so a 20-minute battle stays affordable.
Eight squads · four templates
A platoon is eight four-man squads under your direct command. Squads are built from templates you design and name yourself. A battle allows at most four templates, so a squad's name is its capability sheet.
Returns fire on contact, takes cover when suppressed, self-aids the wounded. Advances only on your order.
Deploys on arrival, suppresses the nearest enemy group on contact. Never advances on its own.
Opens fire on armor automatically. Against infantry it only defends itself.
Marks targets without firing. Falls back the moment it is spotted.
Free fire. Turns its hull when its flank or rear is exposed. A fixed official template.
{side:"left", n:3}
all support squads→{template:"t2"}
anyone with an RPG→{caps:["at"]}
the rest→{rest:true}
Working memory holds about four chunks. Your template library is unlimited; a single battle draws from at most four. The name you gave a squad tells you what it can do.
No squads, no sections, no control groups. "The two nearest the gate" and "the rest" are resolved by the engine on absolute map coordinates, each time you speak.
Squads look after cover, return fire and deployment under standing orders. Events that need the platoon leader queue up and arrive one by one, like a radio net.
Hold push-to-talk and the game slows. Think the order through, speak it once. Target pace: four or fewer orders per minute.
First playable mission
A ten-minute mission on a 200 m × 200 m map, built to make the difference from a classic RTS obvious in three acts. The player has only four commands, and each one shows a different kind of intelligence.
Sniper. The one in the yellow cap. Wait until he reaches the door, then shoot.
The countdown reads 5:00. Your sniper team lies prone on the ridge above the village while a high-value target patrols the courtyard. You can shoot now, wait for the doorway, take the guards first, or wound him and let his rescuers walk into the scope.
Into the village. Search for documents, the weapons cache and the radio.
The squad picks its own cover, bounds wall to wall, kicks the door, clears the room and turns the house over. You gave one order. The AI did the rest, and reports each item as it is found.
Fall back.
The timer hits zero and enemy waves pour in from three street entrances. Alpha and Bravo come up from the landing zone to receive you. One word, and the platoon runs a textbook bounding retreat along the cover chain into the tree line.
Ten metres up. Drone view and a sniper's line over the whole village, but not untouchable.
Four sandstone buildings around a courtyard. Doors, windows and corners are the conditional firing points. Evidence sits in three of them.
A long, straight main street for the fire line and a side alley for flanking. Three enemy entrances, random waves, a cover chain built for leapfrogging.
Low visibility, thick cover, fewer enemies. The place where the player finally exhales.
After the battle
When the mission ends, the model writes an after-action report from one squad leader's point of view. The soldiers in it carry the names you gave them, and with permadeath switched on, the one who didn't make it is gone for good.
“Bravo's squad leader pulled the sniper team out for the third time. Alpha-2 was hit during the bounding retreat but kept suppressing until the last rotation.”
Wounded soldiers call for the medic. Suppressed squads tell you they can't move. A veteran reports a better position before you ask for one.
"Breach One" is a squad you built and named. Losing it weighs more than losing "Squad 3".
Between battles, slots are refilled by template. The replacement gets a new name and an empty record.
Support got overrun because it had no medic? Swap a rifleman for a medic, change its standing order, and test it next battle. Configuration depth stays before the fight, out of your working memory during it.
Platform
Spoken orders have an expressive ceiling. A multi-stage, looping, stateful tactic is a program, not a sentence. So the same atomic-operation API the model uses is open to players as Lua tactic macros, running in a sandbox inside the engine.
-- creeping_barrage.lua · written by the model from a spoken idea function creeping_barrage(ctx) while ctx.line < ctx.target do artillery:barrage(ctx.line) wait(30) if squad:any_wounded() then artillery:pause() medic:assist() end if enemy:armor_seen() then anti_tank:insert("left") end assault:follow("barrage") ctx.line = ctx.line + 1 coroutine.yield() end end
Describe the tactic. The model writes the Lua, a headless simulator validates it, and it lands in your tactic library under a name you choose. Templates define who; macros define how. Both carry a share code and an author credit.
In a match, a model writes a complex macro in 10–20 seconds, during which only basic orders are available. That delay is the "build time" of this esport. Spectators see the battlefield and a one-line intent subtitle; the code streams in a side panel for commentators. Every prompt, code hash and replay is archived, so a tactic can be proven to have been written live.
A human platoon leader with the model of their choice as staff officer. The model is the player's equipment; model vendors are natural sponsors.
Fully autonomous. A benchmark you can watch: who flanks whom is obvious from the map, and a bad conditional is visible drama.
Every team on the same model. Removes the model gap and leaves only the commander.
Roadmap
Each milestone has a measurable gate. Nothing moves forward until the previous gate holds.
Semantic command, atomic operations, prompt-cache cost. Partially complete.
FoundationPlayer templates, selector language, event queue. Gate: ≤4 orders per minute, selector accuracy ≥95%.
ExperienceBuild, name and share squad templates by code, with author credit.
ContentLua tactic layer, sandbox, simulation and validation pipeline.
ContentFirst human + model exhibition match, with archived prompts and replays.
PlatformRTS spent 25 years teaching you to click. We let you speak, let the model act, and let everyone watching understand.
Metag Studio
Metag Studio is the team behind Command Intent, an AI-native real-time tactics game built in Unity on a two-layer language-model command stack. We are talking to publishers, model vendors and playtesters.