Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





La tecnologia detras de Unreal/Unity en flash

Iniciado por Gallo, 21 de Marzo de 2012, 04:51:30 PM

« anterior - próximo »

Gallo

Hola, cuando leí que Unity y Unreal eran capaces de deployar los juegos en flash gracias a Stage3D me entró curiosidad por saber cual era la tecnología que permitia esto. No me estoy refiriendo a la tecnología que permite los gráficos, que es como ya digo Stage3D, si no, mas bien, como "traducen" a flash.

La cuestión es que ambos motores funcionan con una "máquina virtual", Unreal para ejecutar el bytecode del unrealscript pre-compilado, y Unity la máquina virtual de Mono. Dicho esto, cuando hablamos de flash, este es una tercera máquina virtual, y a diferencia de las otras dos, no está incluida en el motor del juego, si no que el que juego en si se ejecuta encima de esta máquina (no solo su scripting, si no todo). Entonces, mi duda es, éxactamente, ¿que se ha portado a Flash? ¿que se ha reutilizado de lo que ya habia en C++? ¿Cual es la tecnología detras de todo esto? Como conozco un poco mas Unreal que unity, he sacado algunas conclusiones de como podria estar funcionando:

- El engine entero ha sido reescrito a ActionScript 3.0 y se aprobecha la máquina virtual de flash incluyendo un transcompilador que traduce de unreal script a action script.

- El engine entero ha sido reescrito a ActionScript 3.0, también la máquina virtual de unrealscript y esta ejecuta el bytecode (una máquina virtual ejecutada encima de otra).

- Algunas partes del motor como el rendering, el scenegraph, etc.. están escritas en ActionScript 3.0 y otras como la carga de packages están como native extensions, básicamente seria las que se usan durante la carga están en nativo, y las que se utilizan en tiempo real en actionscript.

- Solo la parte del render ha sido reescrita en ActionScript 3.0, otros modulos como el que carga packages, la máquina virtual o el scenegraph están como native extensions.

Yo apuesto mas por la cuarta, pero no estoy seguro. Se entiende que para PC, Mac, iOS etc, el engine sigue estando en nativo, lo que quiero decir es que se ha creado otra versión para flash.

Otra cosa que he visto por ahí son engines/frameworks que hacen lo del transcompiler para poder volcar a HTML5, nativo, etc... usando el mísmo código, ahí imagino que es si o si transcompiler a javascript seguro, por que en HTML5 ya no tienes la opción de utilizar algo parecido a las native extensions de flash (que yo sepa). ¿hay algo de documentación sobre este tema?

Parece que las únicas opciones para hacer un juego cross-platform para nativo/flash/html5/naci(chrome) sean comerciales, no busco algo gratuito que lo haga, aunque conocer una lista de motores o frameworks que hagan estas cosas puede ir bien, lo que busco es saber como se hace :S, saber la tecnología. A ver si alguien lo ha tocado o sabe donde encontrar documentación sobre esto.

Gracias.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.