Doom funziona ora su Microsoft Paint grazie a un astuto trucco degli appunti!

Il CTO di Microsoft Azure, Mark Russinovich, ha creato il singolare progetto DoomPaint

Ma che diavolo?! È noto da tempo che il videogioco Doom può essere eseguito su praticamente qualsiasi cosa dotata di uno schermo, tuttavia questa capacità si estende ben oltre i semplici dispositivi. Un recente esempio dell’incredibile adattabilità di questo classico sparatutto in prima persona (FPS) coinvolge l’uso di Microsoft Paint praticamente come uno schermo per visualizzare la versione shareware originale del gioco — e il progetto è stato sviluppato da Mark Russinovich, CTO di Microsoft Azure.

Denominato DoomPaint, l’invenzione di Russinovich non esegue letteralmente Doom all’interno dell’applicazione di disegno di Microsoft. Invece, utilizza ViZDoom, una piattaforma basata su ZDoom principalmente orientata alla ricerca sull’intelligenza artificiale, che gestisce il motore di gioco e lo rende operativo senza interfaccia grafica. Carica il file DOOM1.WAD originale per il primo episodio, mentre per le mappe non incluse in quella versione si avvalgono dei WAD di Freedoom, che sono sotto licenza BSD.

Ogni fotogramma generato viene copiato negli appunti di Windows come bitmap e incollato sulla tela di Paint come una vera e propria modifica del documento. Un hook di basso livello per la tastiera cattura i comandi di movimento, strafe, sparatoria e apertura delle porte mentre Paint rimane la finestra attiva, evitando così che i tasti premuti influenzino l’applicazione di disegno.

Per far funzionare il processo in modo fluido è stato necessario più di un semplice abuso della combinazione di tasti Ctrl+V. Russinovich spiega che una versione preliminare sovrascriveva continuamente gli appunti, a volte sostituendo i dati dei fotogrammi prima che Paint finisse di leggerli. DoomPaint, invece, pubblica un singolo oggetto dati OLE e aggiorna i byte dell’immagine che fornisce. Anche le letture da parte di Paint segnalano quando il fotogramma successivo può essere reso disponibile, evitando condizioni di competizione.

LEGGI  Meta Disabiliterà la Fotocamera degli Occhiali Smart se Manometti la Spia di Registrazione

Le prestazioni dipendono dal PC e dalla risoluzione selezionata, che può variare dalla risoluzione nativa di Doom di 320 x 200 fino a 640 x 480. Il motore funziona su un proprio thread alla frequenza nativa di 35 Hz di Doom, il che significa che il frame rate visualizzato è limitato a 35 fps e può essere inferiore a seconda della rapidità con cui il computer riesce a far elaborare e comporre le immagini incollate da Paint.

L’impostazione porta con sé alcuni effetti collaterali divertenti. Poiché ogni fotogramma è una vera modifica di Paint, Ctrl+Z può ripercorrere i fotogrammi all’indietro, mentre selezionare File > Salva produce uno screenshot in formato PNG. Il progetto include anche la musica originale del primo episodio, convertita dal formato MUS di Doom a MIDI al volo, insieme agli effetti sonori forniti dal motore.

“Paint rende il gioco visibile ma non lo elabora. Paint non calcola nulla. Paint non ha mai calcolato nulla. Questa è la battuta,” spiega Russinovich.

DoomPaint è disponibile su GitHub sotto licenza MIT. L’esecuzione del suo file batch crea un ambiente virtuale Python e installa le dipendenze richieste. ViZDoom si avvia direttamente in una mappa, quindi non ci sono schermate di titolo, demo o menu di gioco, e le prestazioni possono talvolta scendere a quello che Russinovich descrive come “livello foglio di calcolo”.

Abbiamo coperto estesamente l’incredibilmente lunga lista di cose che possono eseguire Doom in un modo o nell’altro. Queste includono:

  • Un singolo tasto della tastiera
  • Il “portafoglio cripto” inviolabile del defunto John McAfee
  • Una cassa di McDonald’s
  • Un chiosco di auto-ordine di McDonald’s
  • Il dispositivo portatile Playdate
  • Minecraft
  • Un captcha
  • Una lampada intelligente Ikea da 15 dollari
  • Una scheda madre
  • Un mattoncino Lego
  • Mietitrebbie John Deere
  • Blocco note
  • L’Atari ST
  • Una barretta di cioccolato
  • Un chip neurale da un milliwatt
  • Il Commodore 64
  • Teletext
  • Un rasaerba robotizzato
  • Fortnite
  • Un modello di AI auto-generativo
  • Ologrammi
  • L’orologio sveglia di Nintendo
  • Un documento PDF
  • Microsoft Word
  • Un power bank Anker
  • Un satellite in orbita a centinaia di chilometri dalla Terra
  • Lo screensaver di Windows
  • Auricolari
  • Un computer fatto di neuroni umani viventi
  • Il sistema di tipi di TypeScript
  • Una scatola contenente il gioco
  • Un codice QR
  • DNS

Messaggi simili: