Home   2026-08-03 17:31:33

.Geek - Azure-cto draait DOOM in Microsoft Paint

Original article

Je kunt je ondertussen afvragen of er nog iets is waar DOOM niet in of op draait. Van DNS-records tot de gekste apparaten: alles is wel langs geweest. Toch heeft een ontwikkelaar weer een nieuwe plek gevonden voor de game: Microsoft Paint.

Het project, genaamd DoomPaint, komt van niemand minder dan Mark Russinovich, de cto van Microsoft Azure, schrijft Tom's Hardware. Hij gebruikt de originele shareware van DOOM, met MS Paint als monitor of viewport.

"De echte DOOM-engine (ViZDoom) draait de originele sharewareversie DOOM1.WAD – aangevuld met de BSD-gelicentieerde Freedoom-WAD's voor de episodes die niet in de sharewareversie zitten – en rendert headless", schrijft Russinovich op de GitHub-pagina van het project. Het project plaatst ieder frame op het Windows-klembord en plakt het vervolgens in Paint.

Het resultaat is een speelbare versie van DOOM met 35 frames per seconde. Toegegeven, dat is een erg lage framerate, maar volgens Russinovich is dat juist een deel van de charme. Afhankelijk van je machine kun je DoomPaint op een resolutie van 320x200 pixels of 640x400 pixels draaien.

Ook leuk: je kunt op ieder moment het Paint-bestand opslaan. Daarmee maak je een geldig PNG-bestand van het huidige frame. "Want voor zover Paint weet, heb jij het zelf getekend."

DoomPaint is beschikbaar op GitHub onder de MIT-licentie. Daar staat ook uitgelegd hoe je deze nieuwste DOOM-afstammeling aan de praat krijgt.

DoomPaint. Bron: Mark Russinovich op GitHub
DoomPaint. Bron: Mark Russinovich op GitHub

Door Eveline Meijer

Nieuwsredacteur

Feedback • 03-08-2026 16:16
36 • submitter: NullVoid

03-08-2026 • 16:16

36

Submitter: NullVoid

Lees meer

Reacties (36)

Dit is net zo ver Doom 'in' Paint als die Doom op een zwangerschapstest. Enkel het schermpje werd aangestuurd met custom hardware, net zoals Paint nu als schermpje wordt gebruikt en de code gewoon als custom binary op de CPU draait.

Ik vind dit echt niet tellen onder het mom "does it run Doom"...

Ik heb net even uitgezocht wat het nou écht doet, en het is veel minder indrukwekkend dan je zou denken:
  • Draai custom Doom build executable
  • Breng Paint in focus
  • voor elke nieuwe frame in Doom, schrijf dat naar een PNG, en zet dat op het klembord
  • Doe CTRL+V (letterlijk, het stuurt die key commands)
  • Repeat

[Reactie gewijzigd door Travelan op 3 augustus 2026 16:41]

Kijk eens aan, dat is een échte! ❤️
Iets minder spectaculair, maar kwam er pas onlangs achter dat je Doom vanuit Proton Drive kan draaien.
Ik vind geeneens niet eens dat paint de het scherm is. Technisch gezien is de het klembord de het scherm en krijgt paint alleen een kopie ervan.

[Reactie gewijzigd door Daoka op 3 augustus 2026 17:54]

Volgende keer als je dit doet zet er dan ook even voor welk woord. De / het vind ik lastig (anders had ik waarschijnlijk ook niet die fout gemaakt). Maat nu weet ik dus niet of je scherm, klembord of beide bedoelt.
In dit specifieke geval: elke de > het
En geeneens > niet eens
OT, maar ’geeneens’ is correct Nederlands.
Ik dacht echt dat het (op zijn best) dialect was. I stand corrected…
Dus wat je eigenlijk wil zeggen is dat we hiermee Doom kunnen draaien in Tweakers wysiwyg editor. :+
Dat zou wel cool zijn. :)

Tot dat dat zover is, kunnen we Pong spelen op de frontpage. ;)
Hij zegt dit zelf ook op GitHub:

'Paint renders the game but does not compute it. Paint computes nothing. Paint has never computed anything. That's the joke.'
Uit de tekst in GitHub: Paint renders the game but does not compute it. Paint computes nothing. Paint has never computed anything. That's the joke.

Blijft cool. Je kan het spel echt spelen en Paint is idd 'slechts' de display. Muziek erbij zelfs.

[Reactie gewijzigd door gelfer op 3 augustus 2026 17:13]

Maarja dat is met 9/10 van deze 'Doom op x' dingen zo. Allemaal een stukje rendering of zelfs alleen het weergeven van de al-gerenderde frames, en op de achtergrond de dos binary aanroepen
Een beetje goodwill kweken bij de echte techneuten die niet zo veel met Microsoft op hebben. Propaganda op big tech niveau :O
Het resultaat is een speelbare versie van DOOM met 35 frames per seconde. Toegegeven, dat is een erg lage framerate,
De auteur heeft nog nooit Doom op een 386 gespeeld. :+
Pff.. Ik speelde het op een 386SX op 16 Mhz. ;)
Wel had ik toen al 8 mb ram! (mooie aanbieding op een PC-Dump dag)
8MB op een 386SX? Wat een overkill 😅
Met een klein 'view window' hoop ik en low detail, anders is het niet te doen. Was al blij met Wolfenstein 3D op onze Tulip 386SX 16. :P
35 fps is tevens ook de max van de originele versie toch?
Als ik het goed heb is 35 fps de logic cap van de originele versie van DOOM. Zonder aanpassingen aan de game zou een hogere framerate zou dezelfde beelden opleveren.
Noodgedwongen op - (min) moeten rammen als er veel vijanden kwamen, en je in paniek helemaal scheel kijken op pixels op postzegelformaat. Dat waren nog eens tijden.
Inderdaad, 35 frames per seconde ergens in 1994 was gewoon super snel. Iedereen speelde het op de computer zaal van de Hogeschool. Wat een tijden waren dat.... :D
Ook leuk: je kunt op ieder moment het Paint-bestand opslaan. Daarmee maak je een geldig PNG-bestand van het huidige frame. "Want voor zover Paint weet, heb jij het zelf getekend


Dit vind ik nog de meest geweldige
Als ik de werkwijze goed begrijp zit de afbeelding dus al in het klembord voordat het paint bereikt. Het is dus al een geldig png (of whatever formaat ze gebruikt hebben) bestand voordat het Paint ooit bereikt.
Ja. Is toch geweldig dat ze dat bedenken
"Je kunt je ondertussen afvragen of er nog iets is waar DOOM niet in of op draait."

Op Tweakers.net zelf?
Die draait lemmings, powered by @crisp
(Nog steeds jammer dat tweakblog weg is)

[Reactie gewijzigd door himlims_ op 3 augustus 2026 16:29]

Zeer leuk dat ctrl-z gewoon terug in tijd gaat en je dus foutjes kunt herstellen, maaaaaar om nou te zetten dat het in MSPaint draait... ik vind van niet, het word weergeven in MSPaint.
eens is een soort iframe achtige situatie
Dus zover ik kan zien is de title niet helemaal waar, het draait namelijk geen code in paint, het enige wat paint doet is het laten zien, dus wat het programma doet is inplaats van het displayen, zet het om in iets wat op de clipboard past, en dat in paint zetten.

Dus heel eerlijk gezegd lijkt me dit niet echt een “achievement”, het is alsof je zegt “Ja ik kan het op me koelkast laten zien! Hoe doe ik het? Oh ik stream het via de ingebouwde browser”
In de source code staan referenties naar claud. Zou het helemaal zelf gedaan zijn? En waarom in python?

[Reactie gewijzigd door Webgnome op 3 augustus 2026 17:22]

Het draait ook op mijn oude beeldbuis - als ik de juiste verbinding met mijn computer maak.

Om te kunnen reageren moet je ingelogd zijn