DoomPaint Turns Microsoft Paint Into a Playable Doom Display

news
DoomPaint Turns Microsoft Paint Into a Playable Doom Display

Microsoft Azure Chief Technology Officer Mark Russinovich has created DoomPaint, an unusual project that lets the original Doom appear and run inside Microsoft Paint.

Paint does not process the game itself. The Doom engine runs separately in the background through ViZDoom, while each rendered frame is copied to the Windows clipboard and pasted onto the Paint canvas as a real document edit.

The result is fully playable, although the frame rate is intentionally slow because every new image must pass through the clipboard and Paint before appearing on screen. The limited performance is part of the experiment rather than an attempt to create a practical Doom port.

DoomPaint also uses some of Paint’s standard features as gameplay tools. Pressing Ctrl and Z can rewind recent frames, while the File menu can save the current moment as a PNG image.

Paint acts as the display rather than the game engine

The project separates Doom’s actual game processing from its presentation.

ViZDoom runs the original shareware version of Doom without displaying its own window. After creating a frame, DoomPaint places that image on the clipboard and pastes it into Paint.

ComponentRole in DoomPaint
ViZDoomRuns the game and produces each frame
DOOM1.WADSupplies the original Doom game data
Windows clipboardTransfers frames from the game to Paint
Microsoft PaintDisplays each frame as a canvas edit
Python scriptsCoordinate input, rendering, and frame transfer
Ctrl and ZRewinds recent pasted frames

Because Paint receives every frame as an edit, its undo system effectively becomes a basic time rewind feature. Repeatedly undoing canvas changes lets you move backward through previous moments.

Paint can also save any visible frame using its normal image export controls. This turns screenshots into genuine Paint documents rather than captures taken by an external tool.

DoomPaint has a deliberately low frame rate

DoomPaint is not designed to provide smooth performance.

Transferring every frame through the Windows clipboard is far slower than sending images directly to a graphics window. Paint must also process each paste as a document change, which adds further delay.

Russinovich described the resulting speed as comparable to a spreadsheet. That limitation is part of the joke, since Paint was never intended to act as a live game display.

Display methodExpected performance
Native Doom windowSmooth and responsive
Normal emulator or source portUsually supports high frame rates
Clipboard transfer into PaintSlow by design
Paint canvas renderingAdds editing overhead
Higher resolution settingsMay reduce speed further

Motion and controls may therefore feel delayed, but the complete game logic continues running through ViZDoom.

The experiment follows the long tradition of running Doom through inappropriate hardware or software. In this case, the game itself is not being ported into Paint. The unusual part is the method used to display it.

The shareware episode is included

DoomPaint includes the shareware DOOM1.WAD file, which contains the first episode of the original game.

This means you can test the project without supplying a separate copy. Playing the full game requires the appropriate data file from a version you own.

To run DoomPaint, you need Python installed on Windows. After downloading and extracting the project, launching the included run.bat file starts the required scripts.

RequirementDetails
Operating environmentWindows
Programming runtimePython
Included game contentDoom shareware episode
Launch filerun.bat
Display applicationMicrosoft Paint
Optional full gameRequires your own supported WAD file

Python must also be available through the Windows PATH. If the launch window closes immediately, a missing Python installation or incorrect PATH configuration may be the cause.

Controls need changes to avoid Windows shortcuts

Standard Doom keyboard controls can conflict with Microsoft Paint and Windows commands.

For example, pressing certain keys may activate menus or editing shortcuts rather than sending an action to the game. DoomPaint therefore provides alternative key bindings for actions such as firing.

The project also supports launch options for changing settings such as resolution and audio. Higher resolutions may improve image clarity but could make the already low frame rate even slower.

Players should not expect DoomPaint to replace a conventional source port. It is a technical demonstration built around the absurdity of using Paint as a display.

Undo becomes a simple rewind mechanic

The most inventive part of DoomPaint is its use of Paint’s editing history.

Every pasted frame becomes a separate canvas action. Since Paint remembers those actions, undoing them reveals earlier frames.

This does not reverse the internal Doom simulation in the same way as a true save state. The game engine may still need additional coordination to make the rewind useful during active play. However, visually, the canvas moves backward through its recent frame history.

The feature demonstrates how software behaviour can create unexpected game mechanics even when the application was never designed for gaming.

Doom continues to inspire unusual experiments

The original Doom has appeared on calculators, printers, cameras, smart appliances, and many other devices. Its relatively accessible engine and well understood file formats have made it a common target for technical experiments.

DoomPaint approaches the challenge differently. Microsoft Paint is not running Doom code, interpreting its maps, or calculating enemy behaviour. It simply receives images produced elsewhere and shows them as document edits.

That distinction makes the project less of a traditional port and more of an unconventional streaming system.

The practical value is limited, but the implementation demonstrates several useful ideas, including headless rendering, clipboard automation, keyboard input handling, and interaction between unrelated Windows applications.

DoomPaint is another example of how the 1993 shooter continues to support creative programming experiments. It may offer slow gameplay, but using Microsoft Paint as a frame by frame monitor gives the familiar game a presentation unlike any normal Doom release.

Discover: News

Discussion (0)

Be the first to comment.