{"rewrite":{"id":"r_a6efb0056bac3671cb63175e","clusterId":"c_eaad63b147d37227f47180f1","slug":"microsoft-veteran-engineer-makes-doom-playable-in-windows-paint","model":"deepseek-v4-flash:free","headline":"Microsoft Veteran Engineer Makes DOOM Playable in Windows Paint","summary":"Mark Russinovich, CTO of Microsoft Azure, released DoomPaint on GitHub on July 21. The software runs the 1993 FPS DOOM at its original 35 frames per second through Microsoft Paint. It uses ViZDoom for the game engine and Windows mechanisms like OLE and low-level key hooks to paste frames and capture input.","whyItMatters":"DoomPaint stands out among DOOM ports because it actually runs at the original frame rate, making the game genuinely playable through Paint rather than a visual stunt.","webCardHtml":"\u003cp\u003eMark Russinovich, the CTO of Microsoft Azure, has released DoomPaint, a tool that runs DOOM inside Microsoft Paint. The game plays at its original 35 frames per second, depending on window size, which sets it apart from many DOOM ports that only display the game in unusual environments.\u003c/p\u003e\u003cp\u003eDoomPaint uses ViZDoom, a research library for DOOM, for the game engine. Paint only handles drawing. Each frame is stored in the clipboard and pasted onto the canvas. To avoid clipboard conflicts, Russinovich used OLE to register an object that returns image data. A low-level key hook intercepts keyboard input so the game receives commands instead of Paint.\u003c/p\u003e\u003cp\u003eThe tool also adjusts canvas zoom and pixel count, letting players reduce resolution from the default 640x400 to improve performance on slower machines. Russinovich, who has worked at Microsoft for over 20 years, explains the details on the DoomPaint GitHub page.\u003c/p\u003e","blueskyPost":"DoomPaint runs DOOM at its original 35 fps through Windows Paint. Russinovich's choice of OLE and low-level key hooks shows the trick is less about Paint and more about bending Windows' own plumbing.","twitterPost":"DoomPaint proves Paint can run DOOM at 35 fps. Russinovich used OLE and key hooks, not a hack.","threadsPost":"DoomPaint runs DOOM at its original 35 fps inside Windows Paint. Russinovich's method uses OLE and low-level key hooks, which means the game is pasted frame by frame. It's a technical flex, not a joke.","newsletterBlurb":"Mark Russinovich, CTO of Microsoft Azure, released DoomPaint, a tool that runs DOOM at its original 35fps inside Windows Paint. It uses ViZDoom for the engine and Windows mechanisms like OLE and low-level key hooks to make the game genuinely playable.","attributionJson":"[{\"source\":\"Automaton\",\"url\":\"https://automaton-media.com/articles/newsjp/doom-20260803-458025/\",\"title\":\"Microsoft veteran engineer makes 'DOOM' playable in 'Windows Paint'. It actually plays, a master's serious joke.\"}]","lintFlagsJson":null,"lintHits":0,"costUsd":0,"inputTokens":4618,"outputTokens":605,"status":"published","repairAttempts":0,"nextRepairAt":null,"factsAttemptedAt":1786136990,"createdAt":"2026-08-07T21:03:42.000Z","publishedAt":"2026-08-07T21:06:44.000Z","updatedAt":"2026-08-07T21:03:42.000Z"},"cluster":{"id":"c_eaad63b147d37227f47180f1","canonicalTitle":"マイクロソフトのベテラン技術者が『DOOM』を「Windowsのペイント」で遊べるようにする。ちゃんと遊べる、匠の本気おふざけ","representativeArticleId":"a_b3ec637c218fde51e546206f","sourceCount":1,"writtenSourceCount":1,"writeAttempts":0,"isSolo":true,"entitiesJson":"{\"anime_titles\":[],\"manga_titles\":[],\"work_titles\":[\"DOOM\",\"DoomPaint\"],\"studios\":[],\"people\":[\"Mark Russinovich\"],\"type\":\"news\",\"domain\":\"games\",\"is_roundup\":false}","contentType":"news","status":"published","firstSeenAt":"2026-08-03T02:38:12.000Z","lastSeenAt":"2026-08-03T02:38:12.000Z","updatedAt":"2026-08-07T21:06:44.000Z"},"attribution":[{"source":"Automaton","url":"https://automaton-media.com/articles/newsjp/doom-20260803-458025/","title":"マイクロソフトのベテラン技術者が『DOOM』を「Windowsのペイント」で遊べるようにする。ちゃんと遊べる、匠の本気おふざけ"}],"entities":{"anime_titles":[],"manga_titles":[],"work_titles":["DOOM","DoomPaint"],"studios":[],"people":["Mark Russinovich"],"type":"news","domain":"games","is_roundup":false},"keyFacts":null}
