// leak/pletyka · 2026.07.12 Új DOOM-on dolgozhat az id Software a leépítések után Tom Warren szerint az id Software egy új DOOM korai szakaszán dolgozik. A stúdió ezt még nem jelentette be, csak azt erősítette meg, hogy továbbra… olvasás →

A „Doom már ezen is fut” poénból lassan önálló mérnöki műfaj lett, de a DoomPaint a szokásos portoknál jóval körmönfontabb. Mark Russinovich, a Microsoft Azure technológiai igazgatója nyilvánosan elérhető projektjében a valódi shareware DOOM1.WAD fut, hanggal és zenével, a játék képe pedig a Microsoft Paint vásznán jelenik meg. A csavar az, hogy a Paint valójában egyetlen sort sem számol a játékból.

A Doom motorját a ViZDoom futtatja a háttérben, képernyő nélküli módban. Minden elkészült képkocka Windows DIB-képként a vágólapra kerül, a program pedig valódi beillesztési művelettel rakja rá a Paint vásznára. A Paint szemszögéből tényleg egy szerkesztett dokumentum készül, nem videólejátszás vagy a felületre rárajzolt külön ablak. Ezért a File > Save menü bármikor rendes PNG-t ment az éppen látható játékállásról.

A Ctrl+Z itt időgép

A megoldás legjobb mellékhatása az Undo. Minden beillesztett képkocka külön szerkesztési lépés, így a Ctrl+Z nem csak egy ecsetvonást von vissza, hanem korábbi játékállásokat hoz vissza a vászonra. Russinovich leírása ezt tömören úgy foglalja össze: ha meghaltál, „halj meg visszafelé”. A játék szimulációját ez önmagában nem tekeri vissza, de a Paintben látható képek történetét igen – és pontosan ettől működik a vicc.

Doom a Microsoft Paint vásznán kijelölésként
A Paint számára minden Doom-képkocka valódi beillesztett szerkesztés. Kép: Mark Russinovich / GitHub

Az irányítás közben is a Paint marad az aktív ablak. Egy alacsony szintű Windows-billentyűzethorog elfogja a WASD-t, a nyilakat, a lövést és a használat gombját, hogy a Paint ne mozgassa el a kijelölést vagy ne nyissa meg valamelyik menüt. Ha a horog nem telepíthető, a program egyszerű billentyűállapot-lekérdezésre vált, ilyenkor viszont egyes gombok már „átszivároghatnak” a rajzprogramba.

A vágólap volt a valódi főellenfél

A legegyszerűbb megoldás az lenne, hogy minden képkockánál kiürítik a vágólapot, bemásolják az új képet, majd Ctrl+V-t küldenek a Paintnek. Ez viszont gyorsan szétesett. A Paint aszinkron módon olvassa a vágólapot, így előfordult, hogy a következő kép már felszabadította az előző adatait, miközben a program még másolta azokat. Az eredmény egy modális „nem hajtható végre a művelet” hibaablak és megálló játék lett.

A DoomPaint ezért egyszer tesz közzé egy OLE IDataObject objektumot, majd ezen belül cseréli ki a képkocka adatait. A Paint minden olvasása egyben visszajelzés arról, hogy elfogyasztotta az előző képet, és csak ekkor jöhet a következő. Nincs kézzel belőtt fix képkockasebesség: a tempót a Doom 35 hertzes belső üteme és a Paint kompozitora közül mindig a lassabbik határozza meg.

A 35 FPS-hez vissza kell menni 1993-ba

A projekt alapból 640×400-as képet illeszt be, ami négyszer annyi képpont, mint a Doom eredeti 320×200-as felbontása. A natív módra váltva egy elég gyors gép elérheti a motor 35 képkockás felső határát. A Tom’s Hardware beszámolója is ezt emeli ki, de a fejlesztő külön figyelmeztet rá, hogy a valós sebesség a géptől és a Paint verziójától függ.

A 320×200 ráadásul négyzetes képpontokkal szélesnek látszik a modern kijelzőn, ezért van 320×240-es, helyesebb 4:3-as mód is. A nagyobb felbontás szebb, de több adatot kell minden egyes képkockánál a Paintnek beillesztenie. Itt nem a videokártya az elsődleges szűk keresztmetszet, hanem egy olyan szerkesztési művelet, amelyet eredetileg biztosan nem harmincötször akartak végrehajtani másodpercenként.

Ez technikai mutatvány, nem új Doom-port

Fontos a pontos megfogalmazás: a Doom nem a Paint kódján vagy valamelyik rejtett funkcióján fut. A ViZDoom végzi a szimulációt és a renderelést, a Paint pedig kijelzőként, pontosabban rendkívül szokatlan képkockafogadóként szolgál. Russinovich maga is ezt nevezi a projekt őszinte csillagának: „a Paint semmit sem számol”. A teljes megoldás attól érdekes, hogy ezt nem próbálja elrejteni, hanem a Windows vágólapjának és a Paint szerkesztési modelljének furcsaságaira épít.

A forráskód MIT-licenc alatt elérhető, a csomag pedig az id Software szabadon terjeszthető shareware epizódját használja. A későbbi pályákhoz a Freedoom ad nyílt alternatívát, saját teljes Doom WAD is megadható. Windows alatt a run.bat létrehozza a szükséges környezetet és telepíti a függőségeket, majd megnyitja a Paintet. Innentől lehet játszani – és közben nagyon óvatosan bánni a vágólappal, mert azt éppen egy 1993-as pokoljárás foglalja el.