LOG 002 AUDIO · TOOLS 2026-07-19 ~7 MIN READ

WE BUILT A DAW
INTO THE GAME

The AGENTIC DAW: track lanes with per-track scene gates (PAD gated to explore, ACID to combat and boss with a duck badge), a piano roll, and a GAME STATE SIM panel with a nine-scene selector and wager slider
The AGENTIC DAW, running in the browser against the game's own synths. Every lane carries its state gate next to its notes — scene∈{explore} on the pad, scene∈{combat,boss} + DUCK on the acid line — and the GAME STATE SIM panel (right) drives the exact setState() call the game makes.

An MP3 is a fixed performance — it cannot hear a boss walk in. To give AGENTIC a soundtrack that responds to play, we wrote a live-synthesis engine into the game, then built a custom DAW on the game's own instruments: the scene system that drives the music, an architecture where "what you composed is what ships" is structural, and a human's hands on every knob.

AGENTIC's soundtrack today is seven licensed tracks — honest, disclosed, and 36 of the 41 megabytes you download. But size is the small problem. The real one: a recording can't respond. Step from an empty corridor into a room of dormant machines, watch the first one wake, hear the boss door seal — the track just keeps playing. The game's entire premise is systems that react, and its music was the one system that couldn't. So we're replacing playback with performance: every note synthesized live in WebAudio, kilobytes of instructions instead of megabytes of recording. That's the easy sales pitch — the interesting part is everything it forced us to build.

NINE SCENES: ROAMING IS NOT FIGHTING IS NOT THE BOSS

The first question of adaptive music isn't musical — it's what does the game tell the music? Our answer is deliberately small: the game folds its entire state into exactly one scene at a time, from a vocabulary of nine. And you don't have to take our word for how it sounds — the panel below is the real engine and the real zone 1 loop, bundled for this page. Hit play, then click your way from roaming to the boss:

STATE SIM — ZONE 1 LOOP, LIVE SYNTHESIS

Scene — the game is in exactly one at a time

Lanes — every track always playing; lit = gate open

// zone 1 placeholder loop, authored to validate the gates — the real compositions are what the DAW is for. Layers fade at their authored ramps, so give a click a second to breathe.

One resolver owns the mapping, and its precedence encodes design opinions. Threat beats flavor: a secret room full of live robots is a fight first, a curiosity second. Boss outranks combat: escorts pouring into the arena must never demote a boss fight to ordinary battle music. And the middle split is the one that matters: explore is roaming cleared halls, tense is enemies present but dormant, combat is the moment one wakes — two enemy tiers so the score can build before it peaks. On top of the scene, continuous axes stack as overlays. The big one is the wager, the carry-multiplier that climbs from ×1.0 to ×2.0 as you gamble banked water: tension the player already feels, now audible — extra layers sliding in because you chose greed.

LAYERS THAT NEVER STOP: SILENCE IS A CLOSED GATE

The trick that makes every transition seamless: the sequencer never starts or stops a track. Every track plays from bar 0, forever, on one shared clock, and game state opens and closes gate gains on each lane. A combat layer that isn't audible isn't paused — it's playing into a closed gate. When the scene flips, the gate fades open and the layer is already on the grid, mid-phrase, in time. No restart, no resync, no seam.

Committing to that end-to-end shaped the data model. Songs loop by construction — N bars that wrap, not an arrangement with an ending — with time in integer ticks so the wrap is exact arithmetic, and notes legally overhanging the seam. And audibility is data: each track carries its own conditions — scene ∈ {combat, boss}, wager ≥ 1.5 — stored next to the notes they gate, authored by the same person in the same place.

WHY NOT JUST USE ABLETON?

Because of a failure mode we refused to ship: authoring drift. Compose in a commercial DAW and export MIDI, and you've exported the notes while the sound stays behind — you'd audition against studio instruments and ship against in-game approximations, forever.

The DAW and the game import the same synth module. One instrument definition, one file, both sides. The patch a track is composed against is the instrument the game plays — drift isn't prevented by discipline, it's structurally impossible. This one rule is the entire reason the tool exists.

And it compounds: the master EQ lives in the song file, applied by the sequencer, so the game inherits your mastered mix. Even the sidechain duck is song data — our kick and acid bass share the same sub-bass real estate, and ducking clears a hole in time where turning knobs just makes the mud louder. The flagship voice is a TB-303 emulation whose accent and slide are first-class flags in the piano roll: accent deepens the filter squelch rather than just the volume, slide glides pitch without retriggering — the way the hardware meant them.

AUDITION ANY MOMENT WITHOUT PLAYING TO IT

The panel on the right of the screenshot up top is what the whole tool was built around — and it's the same panel you just used: the demo above is the state sim, embedded. An adaptive score is dozens of potential mixes — every scene times every wager rung — and if auditioning "boss room at wager ×1.75" requires playing the game there, the composer is authoring blind. So the DAW simulates the game: a scene radio and a slider per axis push the identical setState() call the game pushes. Flip to TENSE and hear the build; ladder the wager mid-loop and hear the hats, then the snare, stack in at their rungs. Every transition the player will ever hear, auditioned in seconds from a chair. Around that core it's a real little DAW — canvas piano roll, zoomable lanes, per-track patches and presets, mute/solo, master EQ, and a per-zone song library that autosaves, because a hot-reload must never eat an hour of composition.

THE HUMAN IN THE LOOP

Now the quiet thing said loudly, because this studio's premise is on the tin. AGENTIC is built by a human directing AI agents — the engines, the enemy grammar from log 001, this synth stack, even first-draft placeholder songs. We think that's the future of small-team development, under one condition: taste is not delegable. The DAW is where that condition becomes concrete — the control surface where human judgment enters a fluid, machine-generated environment:

  • Every knob is live. Grab a filter or an EQ band while the loop plays and hear it now. The distance from "hm" to "better" is one gesture.
  • Every game moment is on demand. The state sim lets the human audit the score as the player will meet it — as transitions, not tracks — without grinding a run to reach each state.
  • Every decision survives to production. One synth module, EQ and duck in the song data: the mix you sign off on is the mix that ships, byte for byte. Empowerment isn't just changing things — it's knowing your changes are what actually ships.

This loop has already overruled the machines twice. An early FM music-box voice was technically lovely and got deleted by a human verdict — "more synth than bells; it's a robot game" — and the house timbre has been subtractive since. Our headless bot measured a difficulty change at +64% and called it a regression; the human played it and shipped it (log 001). Agents propose, measure, and build the instruments. The human decides what the machine gets to sound like. Given that our fiction is a rogue agent taking the world back from an optimizer, we'd be embarrassed to build the studio any other way.

// TRANSMISSION ENDS — LOG 002