Skip to content
EngineD

Spine

Bodies and collision

What every thing in the world is made of, what shape it has, and how the engine stops things passing through each other.

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

Before anything can be shot, climb a stair or fall in a heap, the engine has to know what it is and what shape it takes up. This sheet covers what every thing in the world is made of, the shapes bodies come in, and the handful of questions the simulation asks the world to keep things from passing through each other.

What a thing is made of

Every solid thing in the world wears a type that the game registers once and every copy shares. There are two tiers. A model type is any drawn, solid thing: a crate, a door, a gun, a rocket. A body type is a model type that is also flesh: the player, a soldier, a dog.

Model types and body types A model type holds a shape, the material it is made of, and for a gun where its rounds leave from. A body type sits inside it: everything a model type has, plus flesh, which covers bleeding and its colour, coming apart, what its corpse does, how it sees and hears, how it swims and breathes, and its shape in each stance. Model type any drawn, solid thing a shape a material for a gun: where its rounds leave a crate, a door, a gun, a rocket Body type all of the left, plus flesh: bleeds, in what colour comes apart, and how what its corpse does how it sees and hears how it swims, breathes its shape per stance
A body type is a model type with flesh added. A barrel that later needs to bleed only changes which tier it is registered as.

Because a type is shared, a hundred soldiers do not carry a hundred copies of what a soldier is: they all point at one. Tuning the soldier type tunes every soldier at once. When one of them needs to differ, say a captain who is bigger and bleeds a different colour, it states only its differences, and everything else still comes from the shared type.

A body can also change what it wears during play. At any moment, the type it wears is the top one of three:

Which type a body wears right now, strongest first
RungWhere it comes fromExample
1. A statusA status that changes what its victim is, for as long as it lastsA creature turned into a spider sees, swims and breathes like a spider
2. A swapThe body has been switched to another typeA transformation that sticks
3. BornThe type the body was created withAn ordinary soldier

An enemy that would grow by swapping needs room to grow into first, the same check it makes before standing up from a crouch. And a type with no shape is refused when a body is built from it, loudly, rather than shipping a creature that silently freezes where it spawned.

The shapes bodies come in

For moving and colliding, a body is not its detailed model but a simple solid around it. There are four kinds. The engine's standard human is a capsule, a pill shape 1.8 metres tall, but a game can give any body type any kind and size, and a separate shape for each stance: standing, crouching, swimming, or a stance of its own.

The four body shapes Four shapes, each seen from the side above and from above below. A capsule is a pill seen from the side and a circle from above. A cylinder has a flat top and a many-sided outline from above. A box is a rectangle from both sides. A rounded shape is a box with softened edges. capsule cylinder box rounded
Top row: from the side. Bottom row: from above. The cylinder has flat sides because the physics engine the adapter uses has no true cylinder, and both halves must agree on one solid.

By default a shape stays square to the world as its body turns, as in the classic Quake games: only the drawn model and the aim turn with it. A body can opt in to turning its shape, or to tilting it to lie along a slope. All of this is plain geometry worked out the same way every time, so it never upsets a replay.

The questions the engine asks

The simulation never pokes at the level directly. It asks a small set of questions, and each question has its own rule about what may get in the way. That rule is what makes a crowd something a rocket hits but not a wall you walk into.

Five questions, and what stops each one
QuestionAsked forStopped by
Can I move this way?Every step a body takes: its shape is slid along the move, and a short check looks for ground underfootThe level only. Bodies keep apart by a separate spacing rule, so a crowd is never a wall
What does this shot hit?Bullets, which travel instantly, and rockets or bolts, which fly a little each tickThe level and every body, down to which part was hit
Can I see that?An enemy looking for youThe level and bodies that block sight; glass-like geometry can be see-through
Does the blast reach?An explosion checking each thing in rangeWalls, doors and lifts; never people or corpses
Is this line clear?Gripping a ledge, checking a stair tread, finding a way out of waterThe level only

Moving is a sweep and a slide. The body's shape is pushed along the move until it would touch something, stopped a hair short, and the rest of the move is turned to run along the surface. It is the same sliding method the classic Quake games used, adapted for rounded bodies, and it is why you glide along a wall instead of sticking to it. When two ways out are equally good, the tie is broken by a fixed rule, never by whichever happened to come up first.

Steps and snags

Climbing a step

When a walking body meets a low ledge, it tries three moves in one tick: lift, move forward, set down. The step a body can climb is a fifth of its height unless the game says otherwise, so the standard human takes steps up to 36 centimetres.

The step-over A body stands on a lower floor against a stair. It is lifted by its step height, moved forward over the tread, and set down onto it. Not to scale. the tread 1 lift 2 move 3 set down
Lift, move, set down, all inside one tick. On screen, the camera eases the rise so it does not jump.

Most of the work is in saying no. A step that would be wrong is refused, and the body slides as if the step were not there:

When a step is refused
The checkWhat it prevents
Nothing to land onStepping off a ledge as if it were a stair
Landing too steepStanding on the rounded edge of a stair and sliding back for ever
No real progressA body in a corner lifting itself for nothing
Higher than a stepRatcheting up a tall wall one step at a time
Ending inside somethingClimbing into a solid block taller than a step

Only a body on the ground may step, so one in mid-air cannot climb a wall by pressing into it. A low ceiling does not refuse a step; it only shortens the lift.

Getting unstuck

Sometimes a body ends up inside something: a portal sets it down too close to a crate, a current carries it into a wall, a status makes it bigger in a tight corridor. A buried body is helpless, because every move it asks about answers "blocked". So the engine checks for it and digs the body out:

  1. NoticeAfter anything that moves a body by force, and every few ticks besides. Deeply buried is fixed at once; slightly buried only if it lasts.
  2. Press outMove the body the shortest way out of what it is inside, a few times over, since one push clears only the worst overlap.
  3. Search outwardIf that fails, try spots further and further away in each direction, up first.
  4. Or stay putIf nothing works, the body stays where it is. Moving it somewhere wrong would be worse than leaving it stuck.

Two kinds of contact are left alone. A body merely touching a wall is not stuck, so pressing against one never sets off a rescue. And a body a moving lift is holding in place is not nudged at all, because those nudges would walk it up through the lift a tick at a time.

Two collision worlds, one set of answers

The questions above have two different answerers. When the engine runs inside Unity, the adapter answers them with the physics engine Unity provides, using real solid shapes sized from the simulation's own numbers. In the automatic tests, a small, exact world made of boxes answers them, with no game engine at all. Both use the same sliding arithmetic, so what the tests prove about movement holds for the engine as it really runs.

The simulation's answers

  • Movement, shots, sight, blasts and line checks
  • Every body's position and health
  • Decided inside the tick, the same way every time

The adapter's physics

  • Ragdolls, severed pieces, tumbling props on screen
  • Runs at the same gravity as the simulation
  • For looks, with one exception: by default, where fallen bodies and severed pieces really lie is read back, so shots hit them there

Gravity is the same on both sides, about 2.3 times Earth's, which gives the snappy falls of a classic shooter. And every solid in the physics world is sorted by what it should stop, so an invisible wall can keep bodies out while letting fire through, and a severed piece only bounces off things.

Sizes and gravity as of 2026-10-22.

Related sheets

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.