4. Augusta 2026.

DOOM je moguće igrati i u Microsoft Paint programu

DOOM je moguće igrati i u Microsoft Paint programu - Tehnologija - BIG portal

Ako postoji jedna konstanta u istoriji računarstva, onda je to večito pitanje: „Može li DOOM da radi na tome?“ Tokom poslednjih trideset godina kultni FPS kompanije id Software pokretan je na kalkulatorima, bankomatima, frižiderima, satelitima, pa čak i unutar Microsoft Word dokumenta. Najnoviji eksperiment sada dodaje još jedan apsurdan unos na tu listu: Microsoft Paint.

Projekat pod nazivom DoomPaint razvio je Mark Russinovich, glavni tehnološki direktor Microsoft Azure platforme i jedna od najpoznatijih figura u svetu Windows sistemskog softvera. Njegovo ime je decenijama povezano sa alatima iz porodice Sysinternals, koji su postali praktično standard za dijagnostiku i administraciju Windows sistema. Upravo zato je dodatno iznenađenje što je autor jednog od najozbiljnijih sistemskih alata u Microsoft ekosistemu odlučio da slobodno vreme provede pretvarajući Paint u improvizovani gejming ekran.

Prva stvar koju treba razjasniti jeste da DOOM zapravo nije portovan u Paint. Russinovich je veoma direktno objasnio poentu šale: „Paint renderuje igru, ali je ne računa. Paint ne računa ništa. Paint nikada nije računao ništa. To je šala.“

Pravi DOOM engine izvršava se u pozadini pomoću ViZDoom-a, ZDoom bazirane platforme koja se često koristi za istraživanja veštačke inteligencije i reinforcement learning eksperimente. ViZDoom renderuje originalni shareware DOOM1.WAD potpuno „headless“, odnosno bez sopstvenog prozora.

Svaki renderovani frejm pretvara se u bitmapu, postavlja na Windows clipboard, a zatim se automatski nalepi (paste) na Paint platno kao prava izmena dokumenta. Paint, dakle, ne prikazuje video strim niti ugrađeni emulator, već zaista prima hiljade uzastopnih bitmap slika kao da ih korisnik neprekidno lepi u dokument.

To je tehnički mnogo zanimljivije nego što zvuči.

Naivno rešenje bi bilo jednostavno menjanje sadržaja clipboarda i slanje Ctrl+V komande za svaki frejm. Međutim, Paint ne čita podatke sa clipboarda trenutno, pa je rani prototip često menjao bitmapu pre nego što je Paint završio učitavanje prethodne slike, što je dovodilo do grešaka i prekida rada aplikacije. Russinovich je problem rešio korišćenjem OLE clipboard objekta koji dinamički isporučuje nove bajtove tek kada Paint signalizira da je završio obradu prethodnog frejma.

Kontrole funkcionišu zahvaljujući Low-level keyboard hook-u koji presreće tastere za kretanje, pucanje i otvaranje vrata dok Paint ostaje aktivni prozor. Tako korisnik može da igra DOOM unutar Paint prozora, a da pritom strelice i drugi tasteri ne utiču na samu aplikaciju za crtanje.

Performanse su iznenađujuće dobre za nešto što koristi clipboard kao video interfejs. Projekat podržava rezolucije od originalnih 320 × 200 pa do 640 × 480, a maksimalni prikazani frame rate dostiže 35 fps, što odgovara originalnom DOOM tic ritmu iz 1993. godine. U praksi brzina zavisi od toga koliko brzo računar može da natera Paint da obradi i spoji sve uzastopne bitmap izmene. Sam autor priznaje da performanse ponekad mogu pasti na nivo koji je šaljivo opisao kao „spreadsheet-tier“.

DoomPaint ima i nekoliko zabavnih nuspojava koje obični gejming engine nikada ne bi imao. Pošto je svaki frejm stvarna Paint izmena, moguće je koristiti Ctrl+Z za vraćanje unazad kroz istoriju igre, praktično „premotavajući“ prethodne trenutke igranja. Takođe, opcija File → Save automatski čuva trenutni frejm kao PNG sliku, pa Paint postaje i alat za pravljenje screenshotova. Projekat čak reprodukuje originalnu muziku iz prve epizode konvertovanjem DOOM MUS formata u MIDI u realnom vremenu.

Russinovich je DoomPaint objavio na GitHub-u pod MIT licencom, zajedno sa skriptom koja automatski kreira Python virtuelno okruženje i instalira potrebne zavisnosti. ViZDoom se pokreće direktno u mapu, bez klasičnih DOOM menija i demo sekvenci, što dodatno naglašava eksperimentalnu prirodu projekta.

Zašto je ovo uopšte zanimljivo? Zato što DoomPaint nije samo još jedan „DOOM na čudnoj platformi“ projekat. On demonstrira koliko je Win32 interoperabilnost i dalje moćna čak i tri decenije nakon nastanka mnogih Windows mehanizama. Clipboard, OLE objekti, UI Automation i globalni keyboard hookovi omogućavaju potpuno neočekivane kombinacije aplikacija bez ikakvog modifikovanja samog Paint-a.

DoomPaint se savršeno uklapa u dugu tradiciju DOOM eksperimenata. Samo tokom poslednjih godinu dana videli smo verziju koja radi unutar Microsoft Word dokumenta pomoću VBA makroa, varijantu koja funkcioniše kao Windows screen saver, pa čak i projekte koji pokušavaju da predstave DOOM kao kvantno kolo ili kao igru smeštenu u jedan QR kod.

Možda je upravo to razlog zbog kojeg DOOM ostaje večiti simbol programerske kreativnosti. Originalni kod je dovoljno kompaktan, dobro dokumentovan i prilagodljiv da služi kao svojevrsni „Hello World“ za ekstremne portove i sistemske eksperimente. Pokretanje DOOM-a odavno više nije dokaz računarske snage; danas je to demonstracija inventivnosti programera i razumevanja operativnog sistema.

DoomPaint zato verovatno neće promeniti način na koji igramo igre niti će Microsoft Paint postati nova gejming platforma. Ali kao spoj nostalgije, dubokog poznavanja Windows internala i potpuno beskorisne, a briljantno izvedene ideje, predstavlja jedan od najšarmantnijih tehnoloških eksperimenata godine.

A možda je to i najlepši mogući odgovor na pitanje „može li DOOM da radi na tome?“: može, čak i kada „to“ nikada nije ni bilo zamišljeno da pokreće bilo kakvu igru, podseća TechPoint .

Izvor: benchmark

Podijeli vijest na: