All articles Beginner handbook

How to Use AI to Choreograph Fight Scenes Without Losing Track of Space

Murdok Published July 18, 2026 Updated July 18, 2026 9 min read

Three people are fighting in a warehouse. One has a knife, one has a crowbar, one is unarmed and bleeding. Ask an AI model to write that scene and by paragraph four, the unarmed character is somehow behind the knife-wielder who was just described as backing toward the loading dock. Nobody moved them there. They just... arrived. This is the single most common failure mode in AI-drafted action, and once you notice it, you can't unsee it.

The good news is that this problem is fixable with a little upfront work, and the fix isn't "write the fight yourself." It's giving the model a spatial contract it has to honor. Let's get into how.

Why AI-Generated Action Scenes Drift in Spatial Logic

Language models are prediction engines, not physics engines. They're extremely good at generating the next plausible sentence based on tone, genre, and momentum — but they have no persistent internal map of a room. Ask for a tense exchange of blows and the model will happily prioritize dramatic beats (a dodge, a counter, a gasp) over tracking who is standing where relative to the door, the table, or each other. Each sentence gets generated in near-isolation from the actual coordinates of the scene.

This is what I call the floating combatant problem: a character exists wherever the prose needs them to be for the next beat to land, regardless of where they were two sentences ago. A fighter thrown against a wall is, three lines later, lunging from the opposite side of the room. A character disarmed of their sword is swinging it again by the next paragraph. Nobody teleported on purpose — the model just isn't holding a mental blueprint the way you are.

It gets worse with more combatants. A one-on-one fight only has one relationship to track (distance between A and B). A three-way fight has three relationships, plus terrain, plus who's watching whom. That's exponentially harder for a model to hold in its "head" without help. This is exactly the kind of complexity where a story bible or scene-level constraint document earns its keep — see How to Build a Story Bible That AI Models Actually Follow for the general principle. Fight choreography is just a hyper-local, single-scene version of the same idea: give the model explicit state to reference instead of asking it to infer state from vibes.

An AI model won't invent spatial contradictions out of malice — it will invent them because you never told it where anyone actually stood. Fix the input, and the drift mostly disappears.

Building a Blocking Sheet Before You Draft a Word

Theater and film use blocking notes for a reason: physical staging is a separate creative decision from dialogue and emotional beats, and it's easier to get right when you solve it in isolation first. You're going to do the same thing, but as a short reference document you paste into your prompt or keep in your write a book with AI project notes.

A blocking sheet doesn't need to be fancy. It needs four things:

  • The terrain — a simple description of the space, including fixed obstacles (a bar counter, a stairwell, a fallen tree) that combatants can use, hide behind, or get slammed into.
  • Starting positions — where each combatant is at the moment the scene opens, described relative to the terrain and each other (not just "stage left," but "ten feet from the door, back to the window").
  • Distances — the approximate gap between each pair of combatants, so the model knows who can reach whom without closing distance first.
  • Movement budget — a rough sense of how much ground a character covers per exchange, so nobody sprints across a warehouse mid-parry.

Write this out before you ask for prose. Treat it like a mini AI book outline for one scene — a skeleton that constrains the muscle you'll add later. If you're already using something like the Scene Planning Worksheet for your broader scene goals, add a blocking section specifically for the physical layout. It takes five minutes and saves you an entire revision pass later.

Prompt Example: Locking Positions and Vectors for a Three-Way Fight

Here's where the blocking sheet becomes an actual prompt. The trick is being almost annoyingly literal about geometry — more literal than feels natural for fiction. You're not writing the scene yet. You're establishing ground truth the model will draft against.

I'm about to draft a three-way fight scene and need you to hold onto a strict spatial map before we write any prose. Here's the setup: SPACE: An abandoned pool hall. Rectangular room, roughly 40 feet by 25 feet. Pool tables run down the center in two rows. A bar counter runs along the east wall. A single exit door is on the south wall. Windows (boarded) line the north wall. COMBATANTS: - MARISOL: starts near the exit door (south wall), armed with a tire iron. Fast, prioritizes escape over winning. - DEV: starts near the bar counter (east wall), unarmed, using the counter and stools as cover/weapons. - KESTON: starts at the north wall near the windows, armed with a hunting knife. Slowest mover, cuts off escape routes rather than chasing directly. STARTING DISTANCES: Marisol to Dev: ~20 feet. Marisol to Keston: ~30 feet (diagonal). Dev to Keston: ~15 feet. RULES FOR THIS SCENE: 1. No character can close more than 10 feet of distance in a single exchange unless explicitly described as sprinting or diving. 2. Track and state the approximate distance between each pair of combatants after every major beat, in brackets, so I can verify it — like [Marisol-Dev: 8ft]. 3. The pool tables are a physical obstacle — characters can't move through them, only around or over. 4. Confirm you understand this map before we draft, and ask me anything that's ambiguous.

What this does: it forces the model to externalize its spatial reasoning instead of burying it in prose. The bracketed distance tracking might look clunky, but you'll delete those brackets in revision — they're scaffolding, not final text. This is the single highest-leverage habit in this whole guide. If the model can't keep the brackets consistent during drafting, you've caught the problem before it's baked into three pages of dialogue and blows.

Tweak the obstacle rules to match your genre — a LitRPG writing arena fight might need z-axis rules for jumping between platforms, while a fantasy worldbuilding battle might need terrain rules for uneven ground or magical hazards that change the map mid-fight.


Prompt Example: Auditing a Finished Draft for Spatial Contradictions

Say you already drafted the fight without doing any of this — it happens, deadlines are real. You can still catch the floating combatant problem after the fact, and honestly this audit pass is worth running even on scenes you blocked carefully, because models still drift under pressure to hit a dramatic beat.

Read the fight scene below and act as a continuity checker focused only on physical space and movement — ignore dialogue quality and pacing for now. For each combatant, track their approximate position sentence by sentence. Flag any moment where: - A character's position changes without a described movement (i.e., they "teleport") - A character interacts with an object or person that should be out of physical reach given their last known position - The stated or implied distance between two characters contradicts an earlier stated distance - A weapon, obstacle, or piece of terrain established earlier (the pool tables, the boarded windows, the bar counter) is ignored or treated as if it isn't there Output your findings as a numbered list: quote the contradictory sentence, explain the spatial problem in one line, and suggest the minimum fix (a transitional movement sentence, a repositioning line, etc.) rather than rewriting the whole scene. Here's the draft: [paste scene]

This prompt works because it narrows the model's job to one axis of quality control. Ask it to judge dialogue, pacing, and spatial logic simultaneously and it'll average its attention across all three, missing things. Ask it to be a continuity checker for movement alone, and it gets much sharper. This is the same principle behind running a dedicated pass in The Five-Pass Revision Order for AI-Assisted Novels — separate concerns get separate passes, and combined passes get diluted results.

If your manuscript has recurring named characters who show up across multiple fight scenes, it's worth running this alongside a broader character consistency check too — spatial drift and characterization drift often show up in the same messy draft for the same reason: the model lost track of state.


Prompt Example: Converting the Blocking Sheet into Kinetic Prose

Here's the part people get wrong even after they've built a great blocking sheet: they paste the coordinates directly into the draft prompt and get back something that reads like a chess transcript. "Marisol moved three feet left. Dev raised the stool." Technically consistent, dramatically dead. The blocking sheet is scaffolding — the reader should never see the studs in the wall.

Using the confirmed blocking map and distance-tracking from our earlier exchange, write the actual fight scene in close third-person from Dev's POV. He's scared but trying not to show it, and he's got a head injury making his vision swim slightly. Requirements: - Do NOT state exact distances or describe movement mechanically ("she moved four feet"). Convert every positional fact into sensory, kinetic prose — sound, proximity, breath, reach. - Keep every position change grounded in something Dev would actually perceive: the scrape of the tire iron on tile, Keston's knife catching bar light, the bar counter digging into Dev's spine when he's pinned. - Vary sentence length to match the fight's rhythm — short fragments during impact, longer sentences when Dev is scanning the room for an opening. - Preserve the spatial rules exactly (no unearned distance closing, no ignoring the pool tables as obstacles) but hide the mechanics behind Dev's fear and disorientation rather than stating them outright. - After the scene, give me a short bulleted recap of where all three characters ended up physically, so I can verify nothing drifted.

Notice the last requirement — the recap. That's your safety net. You get vivid, embodied prose for the reader, and you get a clean verification layer for yourself, without the two ever touching on the page. This is also a great moment to think about How to Reverse-Engineer Your Prose Style Into an AI Voice Profile if your fight scenes keep coming back sounding generic — action prose benefits enormously from a locked voice profile, because tension lives in rhythm and word choice as much as in what actually happens.

One more thing worth saying here: readers forgive a lot of things in action scenes — a slightly implausible move, a convenient object within reach — but they do not forgive confusion about who is where. Confusion breaks immersion faster than almost anything else in genre fiction, harder even than a clunky line of dialogue. It's the same reason a wobbly opening hook or a saggy romance beat costs you readers — spatial confusion in a fight scene is a trust violation, and trust is the entire currency of genre fiction.

Making This Part of Your Regular Workflow

Once you've run this process a few times, it stops feeling like extra work and starts feeling like standard scene prep — the same category of task as checking your magic system constraints before a spell-heavy scene, or your beat sheet before a big romantic confrontation. The blocking sheet, the locked prompt, the audit pass, the kinetic conversion — that's four short prompts, maybe fifteen minutes total, for a scene that might otherwise take three revision cycles to untangle.

If you're drafting a whole novel with multiple large action set-pieces — a heist, a siege, a multi-chapter war campaign — it's worth building a small library of these blocking sheets as you go, the same way you'd maintain a story bible. Keep them in your project notes, reuse the terrain descriptions when characters return to the same location, and update starting positions scene to scene so the geography of your world stays solid across the whole book. When you eventually run a full continuity pass before formatting for KDP upload or send chapters to beta readers through a structured beta reader workflow, you'll have far fewer "wait, where was he standing?" comments to deal with.

And if you're comparing tools for this kind of structured, multi-step scene work, it's worth knowing that not every model handles constraint-following equally well — some are much better at holding onto bracketed distance tracking across a long generation than others. Our comparison of best AI models for writing and the breakdown in Entangled Text vs ChatGPT both cover this in more depth, and the Entangled Text documentation walks through how to keep a blocking sheet persistent across a project so you're not re-pasting it into every prompt.

The takeaway to actually use tomorrow: before you draft your next multi-combatant scene, spend five minutes writing a blocking sheet with terrain, starting positions, distances, and a movement budget — then ask your model to confirm it understands the map before generating a single line of prose. That one habit eliminates most floating-combatant errors before they ever reach the page.

Try it yourself

Write your own book with AI — free, no credit card required.

Free · No credit card