Non è 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.
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…
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. 😉
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 🙂