Skip to content
EngineD

Presentation

Audio

Sounds triggered by what the simulation reports, and how the engine decides which ones play when too many want to.

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

The simulation never makes a sound. It reports what happened, a shot fired, a bullet striking concrete, a body landing from a jump, and the adapter decides what each report sounds like, where in the room it is heard, and whether it gets to play at all when a fight asks for more sounds than there are voices to play them.

From a report to a sound Four stages from left to right. The simulation reports a pulse, for example a bullet hitting concrete. The adapter reads its circumstances: who it happened to, with what weapon, on what surface. That picks one sound, and one version of it with its pitch nudged. The voice budget then gives it a free voice, takes one from a less important sound, or drops it. Whatever plays is heard flat if it is your own, and placed in the room if it belongs to anyone else. Simulation reports a pulse "a bullet hit concrete" Circumstances who it was, with what, on what surface The sound one version of several, its pitch nudged Voice budget a free voice, a lesser one's, or nothing Heard flat if it is yours, placed in the room if it is anyone else's
Every sound in a level follows this path. The simulation's report is the same whether anyone is listening; the three stages on the right belong to the adapter alone.

Sounds follow what the simulation reports

Each tick the simulation sends out pulses: short reports of what just happened. The audio player listens to every one of them. A new kind of sound is a new row of data, never new code: a game says "a bullet hitting a body sounds like this", and the engine plays it whenever the report arrives.

Most sounds depend on circumstances. A rocket hitting a crate is not a pistol round hitting a soldier, and a boot on steel is not a boot on carpet. The same circumstance lookup that picks a hit's spray and the mark it leaves also picks its sound, so what you see and what you hear never disagree.

What decides the sound of each kind of event
EventWhat the sound depends on
A shot or a reloadThe weapon alone
A hitWhat was struck, by which weapon, and on what surface; a blast is told apart from a bullet
A cry of pain, a death, a jumpThe body making it, and for pain, what hurt it: a creature may scream at fire and grunt at a blade
A landingThe body, and what it landed on
A footstepThe walker's body first, then the floor (below)
A door, a lift, a crusherThe machine's own type: a start, a stop, a reverse, a jam, and a hum while it runs
A buzzing insectThe body's held sound, which runs for as long as it lives

One hit makes one sound. Damage with no hit at all, such as a fall or a pool of acid, is heard only as the victim's cry.

Your own sounds play flat, as if inside your head: your gunshots, your cries, your footsteps. Everyone else's are placed in the room where they happened, so you can hear a soldier reloading behind a wall and on which side.

One sound, many versions

Hearing the same recording twice in a row is what makes a game sound cheap. So a sound in EngineD is not one recording but a small set of versions. Each time it plays, one version is chosen at random, never the one that played last, and its pitch is nudged up or down a little. A few versions with that nudge sound more varied than many versions without it.

A version can itself be several recordings played together or one after another: a gunshot can be a crack, a body and a tail, with the tail starting a fraction of a second late. A version can even contain another sound, so pieces are reused rather than copied.

The voice budget

There is a fixed pool of voices: sounds that can play at the same moment. A gunfight with a crowd of enemies easily asks for more than that. The voice budget decides who gets one, and it decides by kind of sound, so a crowd's footsteps can never use up the voices a rocket needs.

How a new sound gets a voice Three questions in order. First, is this kind of sound already at its own ceiling? If yes, the new sound is dropped. Second, is a voice free? If yes, it plays. Third, is a less important sound playing? If yes, the oldest of the least important sounds fades out and the new one takes its voice. If not, the new sound is dropped. Two sounds of equal importance never take a voice from each other. A new sound wants to play 1. Is its kind already at its own ceiling? yes no 2. Is a voice free? yes no 3. Is a less important sound playing? yes no Dropped Plays Plays the oldest lesser sound fades out Dropped
The kind's own ceiling is asked first, so feet cannot fill a quiet room's voices and leave a rocket nothing but a fight. Equal importance never steals: two shots in one tick are two shots.

Every sound is filed under one of nine kinds, and each kind has a ceiling and an importance. The ceilings add up to more voices than the pool holds, on purpose: a ceiling is a limit, not a reservation, so a quiet moment never leaves voices idle. A sound that loses its voice fades out over a few hundredths of a second rather than cutting off with a click.

  • Voices: cries, deathshighest
  • Explosionshigh
  • Gunshots, machinesmiddle
  • Hits, held loops, otherlower
  • Footsteps, gorelowest

The engine's starting order as of 2026-10-22. The exact ceilings and ranks are an audio judgement made by ear, and a game retunes them for its own levels.

Held loops, such as an insect's buzz, have a ceiling of their own for a different reason: forty buzzing wasps would ask the computer's sound hardware for more voices than it has, and it would start dropping sounds by its own rules. The ceiling keeps the nearest few audible instead.

Footsteps

There is no footstep report. A step is worked out from how far a body has walked, scaled to its height, so a tall soldier strides and a spider patters. A game can instead time steps to the moment a foot touches the ground in the walking animation, and the engine keeps that exact even while two walk speeds are blending into each other.

What a step sounds like is asked in this order, and the first answer wins:

  1. The walker's bodyA skeleton clatters on stone and on wood alike, because the bone makes the noise
  2. This particular objectA metal console housing rattles underfoot, whatever its floor type says
  3. The kind of floorA boot on steel, a boot on concrete, down to a catch-all

A body whose own answer is enough never even checks the floor beneath it, which saves work in a crowd. And a crowd is also capped at the source: only the few steps nearest to you are sounded in any one tick. Nearest first matters, otherwise the spider chewing on you could be the silent one.

Music, menus and volume

The engine has a music player but no music. The game decides what plays and when; the player crossfades by letting the old track fade to silence before the new one rises, and if a swap is reversed halfway the same fade turns round. A track you return to picks up where it left off, every layer of it in step.

Volume works on two dials that never scale each other: one over every sound, one over music. Which sliders appear in the options menu is the game's choice; the engine draws whatever it is given and the settings file remembers it. See UI, HUD and in-world screens for the menu itself.

Opening a menu pauses the world and its sound. Menu clicks are the one exception: they come from a small separate set of voices that keep playing through a pause, otherwise a click would be heard only after the menu closed.

Slow motion

When the world slows down, for instance while you hold the weapon wheel open, its sounds slow with it and drop in pitch, the way a slowed recording does. There is a floor below which no sound is pitched, because a sound stretched too far stops sounding like anything.

Slows with the world

  • Gunshots, hits and cries
  • Footsteps
  • Machines and their hum
  • Held loops such as a buzz

Keeps its own speed

  • Music, always
  • Menu clicks

Pause, slow motion and volume are three separate mechanisms. Being exempt from one says nothing about the other two.

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.