b0sh.net | Proudly debugging the system since 1981

dic/08

29

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.

RSS Feed

3 commenti for Porting di doom in flash

Napolux | 1 gennaio 2009 at 23:44

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…

B0sh | 2 gennaio 2009 at 11:00

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. ;)

Napolux | 3 gennaio 2009 at 16:48

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 comment!

<<

>>