CTO Microsoft Azure Mark Russinovich a creat proiectul neobișnuit DoomPaint
WTF?! S-a stabilit de mult timp că Doom poate fi făcut să ruleze pe aproape orice cu un ecran, dar această abilitate depășește simplele dispozitive. Cel mai recent exemplu de portabilitate legendară a FPS-ului clasic implică utilizarea Microsoft Paint ca monitor care afișează versiunea originală shareware a jocului – iar proiectul a fost dezvoltat de CTO Microsoft Azure, Mark Russinovich.
Numită DoomPaint, creația lui Russinovich nu execută literalmente Doom în aplicația de desen a Microsoft. În schimb, ViZDoom, o platformă bazată pe ZDoom concepută în primul rând pentru cercetarea AI, rulează motorul și îl redă fără cap. Încarcă shareware-ul autentic DOOM1.WAD pentru primul episod, în timp ce hărțile care nu sunt incluse cu acea versiune folosesc WAD-urile Freedoom cu licență BSD.
Fiecare cadru randat este plasat în clipboard-ul Windows ca bitmap și lipit pe pânza Paint ca o editare autentică a documentului. Un cârlig de la tastatură la nivel scăzut captează comenzile obișnuite de mișcare, împușcare, împușcare și deschidere a ușii, în timp ce Paint rămâne fereastra activă, împiedicând apăsarea tastelor să afecteze aplicația de desen.
Pentru ca procesul să funcționeze fără probleme, a necesitat mai mult decât ciocanul la nesfârșit Ctrl+V. Russinovici scrie că o versiune timpurie a suprascris în mod repetat clipboard-ul, uneori înlocuind datele cadru înainte ca Paint să-l termine de citit. DoomPaint publică în schimb un singur obiect de date OLE și actualizează octeții de imagine pe care îi furnizează. Citirile Paint semnalează, de asemenea, când următorul cadru poate fi disponibil, evitând condiția de cursă.
Performanța depinde de computer și de rezoluția selectată, care poate varia de la 320 x 200 nativ Doom până la 640 x 480. Motorul rulează pe propriul fir la rata nativă de 35 Hz a lui Doom, ceea ce înseamnă că rata de cadre afișată este limitată la 35 fps și poate fi mai mică, în funcție de cât de repede mașina poate face procesul de vopsire și imaginile compuse.
Configurarea aduce câteva efecte secundare distractive. Deoarece fiecare cadru este o editare Paint reală, Ctrl+Z se poate deplasa înapoi prin ele, în timp ce alegerea Fișier > Salvare produce o captură de ecran PNG. Proiectul include, de asemenea, muzica originală Episode One, convertită din formatul MUS al lui Doom în MIDI din zbor, alături de efectele sonore furnizate de motor.
„Paint redă jocul, dar nu îl calculează. Paint nu calculează nimic. Paint nu a calculat niciodată nimic. Aceasta este gluma”, explică Russinovici.
DoomPaint este disponibil pe GitHub sub o licență MIT. Rularea fișierului său batch creează un mediu virtual Python și instalează dependențele necesare. ViZDoom pornește direct într-o hartă, așa că nu există ecrane de titlu, demonstrații sau meniuri în joc, iar performanța poate scădea uneori la ceea ce Russinovici numește „nivelul de foi de calcul”.
Am acoperit pe larg lista incredibil de lungă de lucruri care pot rula Doom într-o formă sau alta. Acestea includ:
- O singură tastă de la tastatură
- Portofelul cripto „nepirat” al regretatului John McAfee
- O casă de marcat McDonald’s
- Un chioșc de autocomandă de la McDonald’s
- Handheld-ul Playdate
- Minecraft
- Un captcha
- O lampă inteligentă Ikea de 15 USD
- O placă de bază
- O cărămidă Lego
- combine John Deere
- Blocnotes
- Atari ST
- Un baton de bomboane
- Un cip neuronal de un miliwatt
- Commodorul 64
- Teletext
- Un robot de tuns iarba
- Fortnite
- Un model AI auto-generator
- Holograme
- Ceasul cu alarmă Nintendo
- Un document PDF
- Microsoft Word
- O bancă de alimentare Anker
- Un satelit care orbitează la sute de kilometri deasupra Pământului
- Economizorul de ecran Windows
- Căști
- Un computer format din neuroni umani vii
- Sistemul de tipare al lui TypeScript
- O cutie care conține jocul
- Un cod QR
- DNS
