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 responses to “Porting di doom in flash”

  1. Napolux

    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. Napolux

    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 :)

Leave a Reply