Bennu Game Development

Foros en Español => General => Topic started by: josebita on June 03, 2011, 04:05:34 PM

Title: Bennu en HTML5
Post by: josebita on June 03, 2011, 04:05:34 PM
No sé si lo habeis leído, pero alguien ha portado la versión de SDL de Doom a HTML5.
Por lo que veo, podría aplicarse lo mismo a BennuGD para hacer juegos que se ejecuten en el navegador. Si a alguien le interesa intentarlo, dejo el enlace a la web con el Doom donde explican cómo hacerlo.

https://developer.mozilla.org/media/uploads/demos/a/z/azakai/487d42c2ecc1627745a469861bd377e2/doom-on-the-web_1306727266_demo_package/details.html

No es perfecto pero desde luego es impresionante.
Title: Re: Bennu en HTML5
Post by: Futu-block on June 03, 2011, 04:56:02 PM
bien, a mi si que me interesa
estaré atento a los avances...
<->
desde hacer animaciones para paginas wel hasta portar juegos propios...
te pueden dar un paston para que les ponga publicidad antes de que empiece el juego
jua jua jua juaaaaaaaaaaa


y ahora es cuando bajo al mundo real
Title: Re: Bennu en HTML5
Post by: JaViS on June 03, 2011, 05:31:38 PM
NOOOO!!! que buena noticia!!! :D

que lindo seria!
Title: Re: Bennu en HTML5
Post by: osk on June 03, 2011, 07:35:50 PM
Bueno, básicamente usan un compilador LLVM-> Javascript. Así que no sé si será tan fácil...
Title: Re: Bennu en HTML5
Post by: josebita on June 03, 2011, 07:39:06 PM
Bennu se puede compilar con LLVM (de hecho la versión iOS la compilo con LLVM).
Title: Re: Bennu en HTML5
Post by: SplinterGU on June 03, 2011, 07:59:37 PM
Quote from: josebita on June 03, 2011, 07:39:06 PM
Bennu se puede compilar con LLVM (de hecho la versión iOS la compilo con LLVM).

no me quedo claro, estas diciendo que cambiaste la VM interna de bennugd y que ahora el dcb se transforma en codigo nativo usando LLVM? porque me parece que lo que dice osk es eso.

o yo estoy perdido.

o el compilador que usas genera un IF del C que luego se compila nativamente por un compilador que tiene el IOS integrado?

podes explicar un poco mas?
Title: Re: Bennu en HTML5
Post by: josebita on June 03, 2011, 08:19:08 PM
Lo que digo es que el código C de bennu se puede compilar con llvm-gcc (y con clang) y va bien y de hecho con llvm-gcc es con quien estoy compilando el intérprete de bennu para iOS porque es el compilador por defecto en MacOS X. El resultado de esa compilación se podría pasar hipotéticamente por ese transformador para que creara el código javascript que parsearía los dcbs y los renderizaría en el navegador.

[Edito] O eso es lo que parece por lo que he podido entender de la página del proyecto. Echaos una partidilla al doom en el navegador, que tiene muy buena pinta :)
Title: Re: Bennu en HTML5
Post by: SplinterGU on June 03, 2011, 08:28:47 PM
Quote from: josebita on June 03, 2011, 08:19:08 PM
Lo que digo es que el código C de bennu se puede compilar con llvm-gcc (y con clang) y va bien y de hecho con llvm-gcc es con quien estoy compilando el intérprete de bennu para iOS porque es el compilador por defecto en MacOS X. El resultado de esa compilación se podría pasar hipotéticamente por ese transformador para que creara el código javascript que parsearía los dcbs y los renderizaría en el navegador.

[Edito] O eso es lo que parece por lo que he podido entender de la página del proyecto. Echaos una partidilla al doom en el navegador, que tiene muy buena pinta :)

a ver si entiendo, lo que has hecho con ios seria una version bennugd compatible con los engines llvm? o sea, si esto se corre en otra cosa que no sea un ios que tenga engine llvm funcionaria? en teoria creo que si, pero confirmame.
Title: Re: Bennu en HTML5
Post by: josebita on June 03, 2011, 09:42:51 PM
Llvm tiene un compilador C que saca binarios. A ése me refiero.
Title: Re: Bennu en HTML5
Post by: JaViS on June 03, 2011, 10:07:09 PM
nunca no entiendo un choto de lo que hablan.

listo, lo dije.
Title: Re: Bennu en HTML5
Post by: FreeYourMind on June 03, 2011, 10:10:02 PM
Tampoco entiendo nada
Title: Re: Bennu en HTML5
Post by: SplinterGU on June 03, 2011, 11:21:35 PM
jajaja!

Quote from: josebita on June 03, 2011, 09:42:51 PM
Llvm tiene un compilador C que saca binarios. A ése me refiero.

ya veo, pero eso no es lo que se referia osk, creo.
lo que vos estas haciendo es un binario nativo compilado con el compilador llvm-gcc, el cual tiene 3 modos: objeto nativo, llvm bitcode o llvm lenguaje assembler.
lo que vos estas generando es objeto nativo, y segun entiendo lo que decia osk es que genere un codigo llvm bitcode, para poder ser ejecutado en un engine llvm, como sea, no esta nada mal la idea de generar un bennugd en bytecode llvm, y probar ejecutarlo en una maquina con un engine llvm, cosa que no se como se haria.

otra, estaria buena tener un compilador bennugd que genere en vez de dcb bytecode llvm.

http://llvm.org/cmds/llvmgcc.html
Title: Re: Bennu en HTML5
Post by: Fede on June 04, 2011, 06:37:40 AM
Quote from: JaViS on June 03, 2011, 10:07:09 PM
nunca no entiendo un choto de lo que hablan.

listo, lo dije.

Ja, ja, ja.

Bienvenido al club de los que aun somos humanos. :D
Title: Re: Bennu en HTML5
Post by: Futu-block on June 04, 2011, 08:32:56 AM
no te crea que yo si, simplemente estoy esperando que digan: Aqui tienes lo que te hace falta, pon este archivo en una wel y ya lo tienes...
j aja ja
Title: Re: Bennu en HTML5
Post by: josebita on June 04, 2011, 08:50:58 AM
Quote from: SplinterGU on June 03, 2011, 11:21:35 PM
jajaja!

Quote from: josebita on June 03, 2011, 09:42:51 PM
Llvm tiene un compilador C que saca binarios. A ése me refiero.

ya veo, pero eso no es lo que se referia osk, creo.
lo que vos estas haciendo es un binario nativo compilado con el compilador llvm-gcc, el cual tiene 3 modos: objeto nativo, llvm bitcode o llvm lenguaje assembler.
lo que vos estas generando es objeto nativo, y segun entiendo lo que decia osk es que genere un codigo llvm bitcode, para poder ser ejecutado en un engine llvm, como sea, no esta nada mal la idea de generar un bennugd en bytecode llvm, y probar ejecutarlo en una maquina con un engine llvm, cosa que no se como se haria.

otra, estaria buena tener un compilador bennugd que genere en vez de dcb bytecode llvm.

http://llvm.org/cmds/llvmgcc.html
Ah, vale. Ya entiendo.

La verdad es que yo no tengo tiempo que dedicarle, pero me parece algo interesante.
Title: Re: Bennu en HTML5
Post by: Transdiv on June 04, 2011, 01:50:21 PM
WoW; Que increible; Nunca pense que se iba a poder jugar Doom por la web. Lo que si le falta es la musiquita esa que tanto ambiente le daba.


Quote from: josebita on June 03, 2011, 04:05:34 PM
No sé si lo habeis leído, pero alguien ha portado la versión de SDL de Doom a HTML5.
Por lo que veo, podría aplicarse lo mismo a BennuGD para hacer juegos que se ejecuten en el navegador. Si a alguien le interesa intentarlo, dejo el enlace a la web con el Doom donde explican cómo hacerlo.

https://developer.mozilla.org/media/uploads/demos/a/z/azakai/487d42c2ecc1627745a469861bd377e2/doom-on-the-web_1306727266_demo_package/details.html

No es perfecto pero desde luego es impresionante.
Title: Re: Bennu en HTML5
Post by: SplinterGU on June 04, 2011, 04:05:43 PM
Quote from: josebita on June 04, 2011, 08:50:58 AM
Quote from: SplinterGU on June 03, 2011, 11:21:35 PM
jajaja!

Quote from: josebita on June 03, 2011, 09:42:51 PM
Llvm tiene un compilador C que saca binarios. A ése me refiero.

ya veo, pero eso no es lo que se referia osk, creo.
lo que vos estas haciendo es un binario nativo compilado con el compilador llvm-gcc, el cual tiene 3 modos: objeto nativo, llvm bitcode o llvm lenguaje assembler.
lo que vos estas generando es objeto nativo, y segun entiendo lo que decia osk es que genere un codigo llvm bitcode, para poder ser ejecutado en un engine llvm, como sea, no esta nada mal la idea de generar un bennugd en bytecode llvm, y probar ejecutarlo en una maquina con un engine llvm, cosa que no se como se haria.

otra, estaria buena tener un compilador bennugd que genere en vez de dcb bytecode llvm.

http://llvm.org/cmds/llvmgcc.html
Ah, vale. Ya entiendo.

La verdad es que yo no tengo tiempo que dedicarle, pero me parece algo interesante.

no, tampoco quise abusar de tu generosidad... solo fue un comentario de que estaria bueno.
Title: Re: Bennu en HTML5
Post by: l1nk3rn3l on September 14, 2011, 03:41:42 AM
bueno revivo el tema ya que estuve mirando la proxima version del gamemaker
y saldra con opcion de exportar a html5...


asi que me di a la tarea de mirar, y ver corriendo quake2 en el navegador
me dije,  joder si esto corre , bennu si que mas...


pero tengo el kit inicial que es este : el clang y el llvm para windows

http://llvm.org/releases/download.html#2.9

ahora requiero el que convierte el código ensamblador en Javascript
https://github.com/kripken/emscripten

por lo visto solo faltaria python para windows instalado..(para correr emscripten)
vamos a ver como me va solo creando el core de bennu..     bgdi.js


lo que me preocupa es el acceso a disco de los dcb, fpgs y sonidos y demas ..
javascript se comportara como una buena niña ... ya les contareeee





Title: Re: Bennu en HTML5
Post by: osk on September 14, 2011, 07:14:06 AM
Tremendo!!
Tremendísimo!!
Title: Re: Bennu en HTML5
Post by: Yawin on September 14, 2011, 08:14:05 AM
Karma para el señor
Title: Re: Bennu en HTML5
Post by: josebita on September 14, 2011, 10:24:23 AM
Pues nada, ya nos cuentas si sale algo. Que el proyecto parece muy interesante.
Title: Re: Bennu en HTML5
Post by: l1nk3rn3l on September 20, 2011, 04:34:29 AM
resultado de los test


he montado las herramientas llc y la otra y compilan normal


me generan un bgdi.bc   que es el codigo pcode , o codigo ensamblador


ahora solo falta generar el javascript   .js
lo malo es que la herramienta emscripten, que genera el JS, esta creada en python
no se porque razon no lo hicieron en C...
y hay tengo errores , no tengo idea de lo que dice..  no se si sera
porque lo corro desde windows..  aqui el error de python si alguien sabe
de que se trata..


la pagina dice ..
https://github.com/kripken/emscripten/wiki/Getting-started

When you have a .bc or .ll file, compile it using ./emscripten.py infile.


entonces lo hago
emscripten.py    bgdi.bc



y me arroja este error..




E:\internet\septiembre\13\kripken-emscripten-734b145\kripken-emscripten-734b145>
emscripten.py hello.bc
Traceback (most recent call last):
  File "E:\internet\septiembre\13\kripken-emscripten-734b145\kripken-emscripten-
734b145\emscripten.py", line 9, in <module>
    from tools import shared
  File "E:\internet\septiembre\13\kripken-emscripten-734b145\kripken-emscripten-
734b145\tools\shared.py", line 10, in <module>
    shutil.copy(path_from_root('settings.py'), CONFIG_FILE)
  File "C:\Python27\lib\shutil.py", line 116, in copy
    copyfile(src, dst)
  File "C:\Python27\lib\shutil.py", line 81, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 22] invalid mode ('rb') or filename: '\\E:internet\\septiembre\\
13\\kripken-emscripten-734b145\\kripken-emscripten-734b145\\settings.py'

E:\internet\septiembre\13\kripken-emscripten-734b145\kripken-emscripten-734b145>




resumiendo creo que se puede correr bennu en html5 pero no se si ha velocidad
aceptable, solo bastaria el paso de crear el JS, para salir de la duda
...  que no he logrado por Python..


investigando..  creo que habrian limitaciones como reproducir musica , sonidos y video
tocaria hacer una libreria mod_wav especial para esta plataforma...

Title: Re: Bennu en HTML5
Post by: josebita on November 09, 2011, 12:31:11 AM
No es HTML5 sino NaCl y por tanto sólo funciona en Chrome, pero la idea va por ahí:
http://nacl-scumm.appspot.com/

PD: Es ScummVM, pero ScummVM usa SDL, que es el punto del comentario.
http://code.google.com/p/naclports/source/browse/trunk/src/?r=409#src%2Fpackages%2Flibraries