Porting di doom in flash

prboom_and_freedoomNon è proprio un porting, visto che buona parte del codice rimane quello originario e fatto comunicare con flash attraverso Alchemy.

La cosa invece interessante è che 15 anni di evoluzione hardware e software ci hanno portato a giocare allo stesso gioco con una giocabilità inferiore.

Cioè DOOM 1 funzionava benissimo sul mio 386sx 16Mhz (ca 5,44 MIPS ) in meno di 640KB di ram.

Ora con un Core2 (ca 18.400 MIPS ) e  159.020KB di ram è ingiocabile.

Qualcosa deve essere andato storto. In primis nella testa dei programmatori di Adobe. Ma anche nell’informatica in generale. Va bene un leggero calo delle prestazioni per via della “mediazione” tra C e Flash ma questo, a grandi linee, significa che vengono eseguite almeno 3400 istruzioni inutili ogni instruzione utile.

Nel caso voleste provare l’abominio, cliccate qui.

Sono venuto a conoscenza di questa cosa tramite Napolux, anche se evidentemente non ne condivido l’entusiamo.

3 Comments

  1. Beh, qui siamo a livello di demo… nel senso: “vi facciamo vedere quello che si può fare”. Esistono motori 3D scritti in ActionScript ben più performanti e complessi del Doom che c’è su kongregate.

    Il fatto che sia possibile utilizzare librerie C o C++ in ActionScript 3 IMHO va molto oltre il porting di giochi del 1994: piccole (o grandi) operazioni impossibili in ActionScript sono possibili in C con qualche kb di libreria: su questo credo che punti Alchemy.

    Adobe è sbarcata su Desktop con AIR e su desktop vuol fare tutto quello che fanno già C, C++, VB e Java.

    Ancora non può far tutto, mi vengono 2 esempi così al volo:

    – Come fai in AS3 a CREARE un file ZIP ad esempio?
    – Come fai a scrivere gli ID3 di un file MP3?

    Bada bene, creare e scrivere, non leggere (quello si fa già sia con gli ZIP che con gli ID3) 2 cazzate, si fanno in C con librerie apposite e poche istruzioni.

    Per questo sono così entusiasta, non per il Doom, ma perché alchemy è il pezzo che mancava al puzzle Adobe AIR…

  2. Ciao Napolux,
    non metto in dubbio l’utilità di avere un qualche cosa che permette di riutilizzare codice e librerie di un mondo in altro. Metto in dubbio la qualità del prodotto reale che implementa questa (ottima) idea. 😉

  3. Beh, siamo ancora in fase Beta (se non Alpha) ma comunque sono fiducioso anche sulle future performance del prodotto. AIR ad esempio è molto più veloce di quanto mi aspettassi 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.