GameJS, un port de Pygame para HTML5

Consultas sobre desarrollo de juegos web, usando HTML5, el elemento canvas y Javascript.

GameJS, un port de Pygame para HTML5

Notapor Barajas » Sab May 05, 2012 12:56 am

Hola, mientras me encontraba buscando información sobre juegos en HTML5, me encontré con una librería en javascrip muy interesante.

GameJS http://gamejs.org/

Como ellos dicen:
GameJs is a thin library on top of the HTML canvas element. The GameJs API is a port of the popular PyGame to JavaScript.


Entre sus ventajas, a mi punto de vista son:
*Para muchos programadores de Python que quieren usar HTML5 pero les confunde la documentación
*Programas una versión preliminar en Python, -que en teoría sabemos manejar mejor :) - y con unos cambios, tenemos una versión para la web.
*Es open source.

Aquí un ejemplo de comparación de código entre GameJS y Pygame:

http://gamejs.org/files/gamejs_pygame_compare.png

Si tienen dudas para animarse, dense un paseo por sus muestras, que también incluyen el código fuente ;) :

http://gamejs.org/showcase/

Y uno de los ejemplos que en lo personal me encanto:

http://programmer-art.org/dropbox/fighter-static/index.html

Tal vez se pueda hacer un Pilas para HTML5 XD. ¿Ustedes que opinan? :)
Vi veri universum vivus vici
Avatar de Usuario
Barajas
 
Mensajes: 209
Registrado: Mar Nov 16, 2010 12:06 am

Re: GameJS, un port de Pygame para HTML5

Notapor hugoruscitti » Dom May 06, 2012 2:17 pm

Barajas escribió:Tal vez se pueda hacer un Pilas para HTML5 XD. ¿Ustedes que opinan? :)


Me encanta la idea!!!

Yo estoy usando CoffeeScript hace un tiempo, y me animaría proponerlo
para usar si hacemos pilas en javascript. Es realmente muy pythónico a la
hora de usar:

http://coffeescript.org/

Por cierto, también existe una biblioteca para hacer juegos llamada crafty, que estamos usando
en la versión web de ceferino. ¿gamejs o crafty?, ¿cual nos convendría usar?, ¿la conocían?

http://craftyjs.com/
http://ceferinoweb.herokuapp.com/
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: GameJS, un port de Pygame para HTML5

Notapor Mightygaver » Dom May 06, 2012 2:34 pm

Pues sería una gran idea :D.

Los juegos en la web están al alza y cada vez los navegadores soportan más funcionalidades. En mi caso coffeescript no lo domino pero tengo entendido que es un javascript mejorado y que es totalmente compatible con librerías hechas en javascript, por lo que supongo que la transición Javascript -> Coffee conociendo Python debe ser poco dolorosa :D.

Por otro lado, me gustaría aportar mi opinión respecto a elegir un engine de los existentes en HTML5. Por mi experiencia la API del elemento Canvas no es complicada y te da toda la libertad utilizarla directamente. No sé las ventajas que aporta utilizar un engine existente, pero en el caso de que solamente sea ofrecer una API por encima de la poco acertada API del Canvas no le veo mucho sentido discriminarla.
Mightygaver
 
Mensajes: 69
Registrado: Vie Ago 27, 2010 5:46 pm
Ubicación: Vila-real, España

Re: GameJS, un port de Pygame para HTML5

Notapor Barajas » Dom May 06, 2012 4:35 pm

Hola :)

hugoruscitti escribió:Yo estoy usando CoffeeScript hace un tiempo, y me animaría proponerlo
para usar si hacemos pilas en javascript. Es realmente muy pythónico a la
hora de usar


De haber sabido eso antes, no me hubiese molestado aprendiendo javascript XD, bueno, no se puede llorar por la leche derramada.

hugoruscitti escribió:Por cierto, también existe una biblioteca para hacer juegos llamada crafty, que estamos usando en la versión web de ceferino. ¿gamejs o crafty?, ¿cual nos convendría usar?, ¿la conocían?


Bueno, de hecho mientras estaba buscando, me encontre con ella, pero lo que llamo de GameJS es el estar basada en la API de pygame :). Sinceramente creo que si les acomoda utilizar la librería X o la librería Y, la utilicen :). Creo que el motivo para escoger una u otra librería es la comodidad

Mightygaver escribió:Por mi experiencia la API del elemento Canvas no es complicada y te da toda la libertad utilizarla directamente. No sé las ventajas que aporta utilizar un engine existente, pero en el caso de que solamente sea ofrecer una API por encima de la poco acertada API del Canvas no le veo mucho sentido discriminarla.


En efecto, la API de Canvas no es complicada, pero gestionar un par de cosas (cuanto extraño los sprite grups XD), de hecho, he intentado, hacer una versión del invaders en Python que esta en la sección de ejemplos, utilizando Javscript y Canvas "puro": http://db.tt/dv7ZdkK0

Conste que no estoy discriminando la API de Canvas :)
Vi veri universum vivus vici
Avatar de Usuario
Barajas
 
Mensajes: 209
Registrado: Mar Nov 16, 2010 12:06 am

Re: GameJS, un port de Pygame para HTML5

Notapor Mightygaver » Dom May 06, 2012 5:02 pm

La API del Canvas es totalmente discriminable de todos modos xD. Como comento no es nada elegante, pero ofrece una capa directa contra la implementación del navegador que ningún engine te va a ofrecer y a cambio de un poco de "paciencia" vas a tener una mayor eficiencia en tu engine.

Por otro lado, a pesar de no haberlo probado exhaustivamente, cuando trabajé en un engine Javascript para hacer juegos usando la API del Canvas, vi que los tres navegadores mayoritarios (IE9, Chrome y Firefox) cumplen con el estándar y se puede confiar en la interfaz para hacerlo "multiplataforma". No lo probé con Safari pero supongo que también cumplirá con esa API y con esos cuatro navegadores puedes andar bastante relajado con que tu engine funciona en una cuota de mercado considerable.

Otro asunto que si que es verdad que los engines proveen es de algunos modos fallback, es decir, pueden utilizar el DOM para que el juego funcione en otros navegadores que no soportan Canvas (IE8, IE7, ...), aunque supongo que en juegos con muchos sprites ese procedimiento congelará la ventana XD.

En el caso de implementar un engine, mi opinión es que es mejor utilizar la API Canvas y si desarrollas un juego utilizar un engine, aunque me gustaría que dieráis vuestra opinión a ver cómo pensáis. Igual soy un poco de optimización prematura :P
Mightygaver
 
Mensajes: 69
Registrado: Vie Ago 27, 2010 5:46 pm
Ubicación: Vila-real, España

Re: GameJS, un port de Pygame para HTML5

Notapor hugoruscitti » Dom May 06, 2012 7:53 pm

Creo que podríamos arrancar con una prueba no?.

Yo estoy con poquito tiempo, pero si se animan a participar podemos
hacer un miniprototipo y comenzar a evaluar. CoffeeScript me parece buena
idea implementarlo, y sobre cómo dibujar podríamos usar el objeto canvas y
ver cómo nos funciona. ¿que les parece?
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: GameJS, un port de Pygame para HTML5

Notapor Mightygaver » Dom May 06, 2012 9:47 pm

Me parece perfecto :D.

Me libero de unas cuantas tareas y a ver si en una semana le echo un rato a ver que sale.
Mightygaver
 
Mensajes: 69
Registrado: Vie Ago 27, 2010 5:46 pm
Ubicación: Vila-real, España

Re: GameJS, un port de Pygame para HTML5

Notapor hugoruscitti » Lun May 07, 2012 2:25 am

Quise adelantar un poco de investigación y vi: ¡ hay miles de bibliotecas !:

http://ntt.cc/2011/01/31/66-open-source ... opers.html

hasta ahora, las que mas me gustaron son: easelJs y crafty

http://www.createjs.com/#!/EaselJS
http://craftyjs.com/

¿Que opinan ustedes?

PD: investigando un poco sobre canvas, creo que se nos va a hacer un poco mas difícil
implementarlo desde ahí, sin una biblioteca, porque creo que si partimos desde la utilización
de canvas solamente, podríamos tener que manejar el audio y los eventos (cómo
el mouse y el teclado) por nosotros mismos, no?.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: GameJS, un port de Pygame para HTML5

Notapor Barajas » Lun May 07, 2012 12:18 pm

hugoruscitti escribió:PD: investigando un poco sobre canvas, creo que se nos va a hacer un poco mas difícil
implementarlo desde ahí, sin una biblioteca, porque creo que si partimos desde la utilización
de canvas solamente, podríamos tener que manejar el audio y los eventos (cómo
el mouse y el teclado) por nosotros mismos, no?.


Y es por esos motivos, por los que me inclino por utilizar un engine para manejarles. :)

hugoruscitti escribió:CoffeeScript me parece buena
idea implementarlo, y sobre cómo dibujar podríamos usar el objeto canvas y
ver cómo nos funciona. ¿que les parece?


Me parece bien.
Vi veri universum vivus vici
Avatar de Usuario
Barajas
 
Mensajes: 209
Registrado: Mar Nov 16, 2010 12:06 am

Re: GameJS, un port de Pygame para HTML5

Notapor tarentoo » Jue May 10, 2012 9:56 pm

HUGO! COMO ANDAS! TE CONOZCO POR UN TUTO DE PYGAME QUE ENCONTRE EN TARINGA. LINDA WEB. ME DARIAS TU MAIL? ME INTERESA EL TEMA DEL ENGINE PYGAME Y TENGO IDEAS (A NO SER DE QUE YA LO HAYAN EMPEZADO)
tarentoo
 
Mensajes: 5
Registrado: Jue May 10, 2012 8:59 pm

Re: GameJS, un port de Pygame para HTML5

Notapor hugoruscitti » Vie May 11, 2012 12:08 am

Imagen
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: GameJS, un port de Pygame para HTML5

Notapor shackra » Lun Jun 04, 2012 8:23 pm

yo opino que es hora de aprender JS y CoffeeScript :P
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica


Volver a HTML5 y Javascript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron