The Doom experience uses a keyboard and a mouse or trackpad. It also needs enough room for the game and recording controls. These are limitations of this Doom experience and are not related to what Wax supports.
Use a window at least 960 pixels wide and 640 pixels tall.
Nothing is being recorded right now. Whenever you’re ready, press Done to go back.
This is a real Doom playthrough recorded by Wax. It preserved the game state and every input, so you can rewind it, inspect what happened and replay the same history through code that did not exist when it was recorded.
WaxDoom engine port under GPLv2. License · SourceFree Doom compatible game content from Freedoom. License
Look around, explore and pick a fight with some monsters. Play for at least 30 seconds so there is enough history to investigate. When you’ve had enough, press Esc, then Done to move on.
WASDMoveMouseLookCtrlFireSpaceOpen / useShiftWalk1 – 6Switch weaponEscPause, then Done
OriginalSame recording
Different weaponPlasma rifle
Blood bulletsEvery bullet has a cost
One-hit enemiesEvery enemy has 1 HP
Click the canvas to lock your mouse, then move with WASD or the arrow keys and look with the mouse. Ctrl to fire, Space to open or use, Shift to walk. Esc releases the pointer.
Desktop only: this demo needs a keyboard and mouse.
Now let’s inspect the recording.
Wax can restore any recorded frame and run new code against the state inside it.
Let’s recover data Doom never exposed or logged.
Compile
Analyze
Now let’s change the rules.
We’ll replay your recording three times. Each run changes one rule:
Plasma rifle:Lock the player to the plasma rifle
Blood bullets:Make firing cost one health point
One hit enemies:Give every enemy one health point
Generating three alternate runsCompiling the new rules…
Let’s connect those moments across the whole recording.
Wax runs the same code at every frame, turning isolated values into a history of the run. We’ll correlate movement, combat and game state across that history to reveal relationships Doom never tracked.
Investigation
Correlate
This was a tiny demo
Doom makes a great Wax demo: everyone knows it, things happen fast, and because the world is software rendered, you can actually watch the past change right in front of you.
We built this tour around Doom, but we didn’t build these capabilities for Doom. Recording, replay, investigation and changing the rules are all just Wax, and they work the same way outside this demo.
The more complex the system, the more interesting that gets. Doom is pretty small, but the software we actually spend our days inside is bigger, messier and much harder to understand. You can explore recordings directly in the Wax Inspector, or use the recording APIs to build these capabilities into your own tools.
These files are not part of Doom. Written after you played, they let Wax scan the replay type-safely for information the game never logged, tracked, or exposed as events.
query fn reads the complete game state at one restored frame and serializes a typed result. An investigation scans those results across the replay and reduces them into findings.
Queries/Events.wax
A Wax recording is not video.
It carries restorable game state, the input tape, and enough context to reconstruct every frame in Wax.