Skip to content
EngineD

Tooling

Tuning and content plug-ins

How a game brings its own weapons, enemies and numbers to the engine without changing a line of it.

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

EngineD ships the machinery of a shooter and nothing a player would recognise as a particular game. It has no guns, no monsters, no sounds and no words of its own. A game brings all of that, through sockets the engine leaves open, and tunes it with numbers kept in data files rather than in code.

The engine's sockets and what a game plugs into them On the left, the engine: how things fire, hurt, move, think, look and sound. On its right edge, a row of open sockets. On the right, the game's content plugged into them: weapons and rounds, enemies and their brains, body types, pickups and armour, sounds, effects and music, screen apps and menu rows. Each piece is registered under a number of the game's own, above a fence the engine keeps for itself. The engine mechanics only how things fire how things hurt how bodies move how enemies think how it all looks and sounds Weapons and their rounds Enemies and their brains Body types and their flesh Pickups, armour, drops Sounds, effects, music Screen apps, menu rows the game's content
"Mechanics, never content". If the engine ever seems to need a particular gun or creature, the answer is a new socket, never a gun or a creature inside the engine.

Sockets

A socket is a place where the engine asks a game for something by number: "what is weapon 7?", "how does body type 12 bleed?", "what does a bullet hitting metal sound like?". The game registers its answers when it starts. Registering nothing is a working state: the engine runs, with plain defaults and empty sockets.

Each kind of content counts from its own fence. The engine keeps a few low numbers for itself, and a game numbers its content from the fence upward. Numbers never move once used, because levels and data files are saved with them in.

When something asks for a number nobody registered, a typo in a level for example, the engine picks whichever failure costs less.

What the engine does with a number nobody registered
AnswerChosen whenFor example
Do the standard thing, and say so onceRefusing would look like a bugAn enemy with an unknown aiming style aims the standard way
Do nothing, visiblyA fallback would invent behaviour nobody asked forA build-up meter on a weapon that nobody defined does nothing at all
Do the standard thing, silentlySaying nothing is itself the normal caseNo special sound for a bullet hitting tiles: the general hit sound plays
Build nothingA guess would hide a mistake in a levelA lift of an unknown type is not built, so its buttons drive nothing

Profiles: tuning lives in data

The numbers that make a game feel the way it does, how fast the player runs, how much a shotgun pellet hurts, how far an enemy can see, are never written into engine code. They live in profiles: data files a designer edits, which the engine turns into the settings the simulation runs on. Two enemies pointing at the same profile share one set of settings, and retuning a monster is editing its profile, not rebuilding the game.

7
kinds of profile the engine understands
0
profiles the engine ships: every one is the game's

As of 2026-10-22.

The profiles
ProfileWhat it tunes
MovementHow the player runs, jumps and falls; whether crouch, sprint and walk are held or toggled
VitalsThe player's health, breath and respawning, and the player's body
WeaponDamage, rate of fire, magazines, spread, alternative fire
Projectile typeA round in flight: speed, bounce, fuse, what it breaks into
Enemy

Health, speed, attacks, what it drops and how long its corpse stays.

How it notices and decides: what wakes it, or whether it starts out hunting or never fights at all; who it treats as an enemy; whether it calls its allies and answers their calls; the range it likes to fight from and how it aims; when it staggers, dodges or flees; how it searches for you, and how long before it gives up; whether several of its kind surround you; and what it does when it has nothing to chase, wander or stand still.

PickupWhat lying on the floor gives you: ammunition, armour, a weapon, a power-up
Body typeWhat a body is made of: its size, how it bleeds, what it comes apart into, how it looks, and its senses: how far and how wide it sees, and how far it hears a gunshot

A game can also hang its own numbers on the engine's settings: a block of tuning the engine carries along with a weapon or an enemy without understanding it, for the game's own rules to read. That keeps a game's ideas out of the engine while still letting them sit next to the thing they tune.

Numbers, or new behaviour

The first question for any new piece of content has a short answer: if it can be described by numbers, it is a profile.

A new set of numbers

A tougher, slower brute. A pistol with a longer magazine. A creature that bleeds green.

Authored as data. No code, no new type, and it can appear twice in one level with different values.

A new behaviour

An enemy that does something no combination of settings can describe.

Written as a small piece of game code that the engine calls at its place in each tick.

The rule is there to stop one mistake, writing code to hold numbers: a "brute" written as code can never be retuned by a designer, never appear twice with different values, and never be edited as data.

Editor tooling

Profiles and other content files are not edited by hand in the editor. They are generated: a game writes its content in code, and a generator produces the data files from it. A retune is an edit and a re-run, never a click someone has to remember, and content that has not changed comes out exactly as it was.

  1. Content in codeThe game's numbers, in one place
  2. GeneratorsBuild profiles, models, animations and icons from it
  3. Data filesWhat the running game actually reads
  4. Read back and checkedA generated file counts only once it has been read back and found right

The split mirrors the rest of the engine. The engine ships the general tools, such as panels for editing its settings and ways to measure models and check levels; the game ships everything that actually produces its own content. The engine's own test level is built this way too, as its first worked example.

A game built on the sockets

Backdoor Rupture, the first game being built on EngineD, is planned around these sockets. Its weapons, enemies, body types and pickups will be its own content, authored as profiles under its own numbers and generated with its own tools; anything that would be a new system goes to the engine as a request, so the game never grows a second copy of something the engine already does.

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.