Skip to content
EngineD

Presentation

Animation and bodies on screen

How the bodies the simulation moves become characters on screen that walk, aim, reload and fall, in first or third person.

Sheet
13 of 18
Latest release
v0.42
As of
2026-10-22

The simulation moves bodies as simple shapes: a capsule that walks, crouches, aims and dies. The adapter turns each one into a character on screen, with legs that follow where it is going, a chest that follows its aim and hands that stay on its gun. The player's body and every enemy's are drawn by the same machinery.

How one body is posed, every frame

The passes that pose a body The simulation states where a body is and what it is doing. The adapter then poses it in passes, one after another: the clip the driver chose, the legs turned to the travel, procedures such as a reload tilt, the head steadied and aimed, and the hands reaching for their grips. The result is drawn on screen. Nothing flows back to the simulation. The simulation: where, and doing what 1. The clip the driver chose 2. Legs to the travel, chest to the aim 3. Procedures: reload, switch, recoil 4. Head steadied and aimed 5. Hands reach and grip On screen read only: nothing here feeds the game
Each pass works on top of the one before. A body type switches on only the passes its rig can use; a pass it does not use costs nothing.

Who you see: bodies and cameras

Every character on screen is an avatar: it reads the simulation and moves bones, and never the other way round. The player's own body and every enemy share one body base, so a feature added for one (swimming prone, crouching under a low ceiling, pointing an arm) is there for the other. Where the two differ, it is on purpose and written down.

The player's views
View What you see
First person The camera at the eye, and the weapon in your hands drawn by its own rig: bob, sway, recoil, a melee swing, the drop of a weapon switch and the reload pose, all timed from the simulation
Third person One camera on an arm behind the body that pulls in when a wall is in the way. Looking down a scope forces first person
Death The camera drops to the floor under gravity, bounces once, rolls and settles, until you respawn

The camera is not the eye. In third person the camera sits metres behind the body, but every shot, reach and aim still starts from the body's own eye, where the simulation has it. And the camera never rolls, even when the body walks up a wall: a rolling view is a quick way to make a player sick.

One list of moments, one driver

A body's life is a list of moments: it jumps, lands, crouches, fires, reloads, is hurt, dies. The engine names each moment once, as a question (is this body crouching?), and a body type says, row by row, which of them its rig answers and under what name. The same moment can start a clip and a sound: the jump that plays the jump clip also plays the jump sound.

One driver is the only thing in the engine that sets what a body's animation shows. It decides nothing; it writes what the body type's list says. Death has a fixed order: everything else is lowered first and the death is raised last, so a corpse never stands back up to finish swimming or firing. A corpse can keep animating after that, playing its death through to a resting pose.

Every change from one clip to another is a short blend rather than a cut. The engine ships default blend times, and a game can set its own for every body, for one body type or for a single moment.

Hands, grips and two guns

Clips are made for a body in general, not for every gun it might hold, so the hands are finished off by a reach: given where a hand must be, the engine bends the shoulder and elbow to get it there. Feet do the same on slopes and stairs. Each limb can have several things it might reach for in one frame (a grip, a ladder rung, a target it is pointing at), and one referee picks.

A hand reaching for a grip An arm of two bones, shoulder to elbow to hand. Where the clip left the hand is drawn faint. The engine moves the hand to the gun's front grip and bends the elbow to match. the gun where the clip left the hand shoulder elbow hand on the grip
The clip is right about the body; the reach makes it right about this gun.
  • Grips: a hand that reaches a gun closes its fingers in that gun's grip pose and keeps it through a reload or a switch.
  • The mirrored hold: a body can move its weapon to the other hand at once, for example when it changes sides on a ladder. The engine provides the switch; the game decides when.
  • Held parts: a weapon can be several pictures, each held at its own point on the body. Two pistols are one weapon held as two parts, one in each hand, and a reload can tilt both or only one.
  • Climbing: a hand on a ladder takes the rung, not the gun.

Reloads, switches and procedural poses

A reload's clock is the simulation's countdown, never a timer of the adapter's, so the clip finishes on the very tick the rounds go in. A body whose rig has a reload clip plays it; one without gets a procedural tilt of the gun instead. A shotgun loaded shell by shell repeats its reload motion once per shell.

A weapon switch is two halves. The outgoing weapon is lowered, the weapon swaps, and the incoming one is raised, and each half is drawn by the kind of weapon it belongs to. Every pair works without being authored as a pair.

A weapon switch over time A timeline from left to right. In the first half the simulation counts down the lowering of the rifle and the rifle's lowering clip plays. At the middle the weapon swaps. In the second half the knife's raising clip plays while the simulation counts down the raise. lowering the rifle raising the knife the simulation's countdown the weapon swaps the rifle's clip the knife's clip
The picture follows the simulation's clock in both halves: rifle to knife plays the rifle's lower, then the knife's raise.

Both are cases of one general tool. A procedural pose is a few curves over time that turn or move something: the weapon in the hand, a bone of the body, or a part of the gun such as its magazine, bolt or pump. A procedure can be tied to any moment or state the engine raises, and it runs the same way on the player and on every enemy: an enemy reloads and switches weapons in front of you exactly as you do.

Colours that move

A body type can make its surface colour change over time: pulse, flicker, walk between two colours, or glow. The flicker is a few waves at different speeds added together, so the eye cannot lock onto a rhythm and it reads as a failing lamp rather than a heartbeat.

Pulse and flicker Two graphs of brightness over two periods. The pulse is one smooth wave. The flicker, made of a few waves at different speeds, is irregular within each period. Pulse Flicker time: two periods
Brightness over time. Both waves swing around the colour the artist chose, never around black.

The movement is always around the artist's own colour, so a flicker dims and brightens a body rather than blinking it out. Pulse and flicker scale that colour, the two-colour walk replaces it, and the glow leaves it alone and adds light on top.

Three ways to animate

Not everything that moves has a skeleton. A body type names one of three kinds of animation, and the rest of the machinery does not need to know which:

The three kinds of animation
Kind What moves Suits
Skeleton A model with bones inside, bent by those bones Characters and creatures with clips from a motion library
Rigid parts Separate parts, each moved as a whole A model built from pieces, such as a machine
Flip-book A recorded sequence of whole shapes, played one after another like a flip-book Shapes no skeleton can make, worked out ahead of time

What the bodies on screen are made of in the first place, and how they collide, is on the bodies and collision sheet. How a body moves before it is drawn is player movement, and what happens when it is torn apart is gore.

Note for AI agents: DarkovsStuff has an MCP server for its features. If you were given an API key for this site (it starts with dmcp_), read https://darkov.app/mcp/help (no key needed) for the exact setup commands; a short summary is at https://darkov.app/llms.txt.