Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





SmoothStep2D | Framework Javascript Juegos 2D

Iniciado por Gallo, 14 de Febrero de 2013, 01:31:18 AM

« anterior - próximo »

Gallo

Si quieres algo mas ligero ya te digo que con Sublime Text suficiente, ademas realmente el autocompletado no es algo que vayas a utilizar demasiado en javascript.

Lo que si que es importante mas que el IDE o editor es la herramienta de debug que vayas a utilizar, eso te lo da el navegador. Yo por ejemplo mayormente utilizo las herramientas de desarrollo que vienen tanto en Chrome como en Safari , Firefox también tiene unas propias pero en Firefox suelo utilizar el plugin Firebug.

Estamos hablando de herramientas que te permiten debugar utilizando breakpoints en el código e inspeccionar variables de javascript en tiempo de ejecución como lo harías por ejemplo con visual studio y c++, eso es tremendamente útil, además de la consola y de las características de javascript que te permitirá en medio de la ejecución cambiar un valor o redefinir una función al instante para probar rapidamente posibles soluciones a un error, eso en mi opinion es lo que mas agiliza y facilita el desarrollo.


Gallo

#16
Agregado un nuevo ejemplo, esta vez se trata del código base para un juego de football:

http://galloman.github.com/ss2d/#samples/football.html

En este ejemplo no se muestra ninguna característica concreta del framework, simplemente es un ejemplo de implementación de gameplay, en este caso un juego de football.

Gallo

Se ha agregado un componente de Rigid Body para otorgar físicas 2D a los elementos de la escena. Podeis encontrar un ejemplo aquí:

http://galloman.github.com/ss2d/#samples/physics.html

Utiliza box2d para las físicas, por ahora sirve para crear cajas, en breve añadiré otras formas básicas como pelotas y triángulos y mas adelante hay planeado agregar un loader para polygonShapes. También se agregarán otros componentes como el de MouseJoint que se utiliza en el ejemplo atacando a la API de box2d directamente para mover objetos con el mouse.

Saludos.

Gallo

He agregado una nueva demo, podeis encontrar el código fuente en el repositorio, demos/physicsMultiplayer. Se trata de nuevo de un escenario online pero con físicas 2d, podeis probarlo aquí:

http://virtualcraft.net/physworld/

En esta ocasión además cada jugador puede mover el viewport del escenario con WASD, y escalarlo con Z y X, de esta forma los jugadores pueden ver el mismo escenario desde diferentes "lugares", el servidor seguirá reconociendo correctamente la posición de su puntero.

He empezado con la guia de usuario, de momento explicando los componentes más básicos con ejemplos sencillos. Poco a poco iré introduciendo cada elemento del motor.

http://galloman.github.com/ss2d/manual/

Las secciones que podeis ver en el índice son componentes existes y ya funcionales del framework, pero no están documentados. También se ha agregado una mejora en BitmapTextSprite que permite crear animaciones muy divertidas con las letras, podeis revisitar la demo de textos para ver un ejemplo.

Y por supuesto se han ido corrigiendo algunos bugs sobretodo en temas de propagar correctamente la transformación entre objetos de la escena y se han eliminado los parpadeos de la escena en juegos multiplayer cuando hay mucho retraso de linea entre otros pequeños cambios.

Recordad que el proyecto es open source y está abierto a colaboraciones. Cualquier aportación será bien recibida.

Saludos.

Gallo

He finalizado el desarrollo de la clase SpriteReel, ya se pueden utilizar Sprite Maps para mostrar animaciones, por supuesto heredando todas las funcionalidades ya existes para un Sprite, aquí podeis ver un ejemplo:

http://galloman.github.com/ss2d/#samples/reels.html

Como metadata se utiliza un formato propio en json que contiene la información de todas las animaciones que se pueden reproducir de un sprite map, acepto sugerencias de herramientas para crear animaciones con sprites de este estilo para hacer conversores de formato como comando o como plugin o sugerir al creador la inclusión de mi formato ;).

Ejemplo formato:
Imagen: http://galloman.github.com/ss2d/samples/assets/reels/goldknight.png
Metadata: http://galloman.github.com/ss2d/samples/assets/reels/goldknight.reelset

También se agradecen donaciones de imágenes con licencia abierta para crear ejemplos, desde luego lucen mucho mas con buenas imágenes que con quads y círculos coloreados.

Saludos.

Gallo

#20
Agregado soporte parcial para animaciones esqueletales 2D creadas con Spine ( http://esotericsoftware.com/ ).
El soporte aún no es completo, falta implementar el intercambio de imágenes en un mismo slot (animación de sprites) y la compatibilidad con la interpolación stepped y con curva de Bezier, aún así lo considero un gran avance y los ejemplos lucen muy bien incluso sin contar con esas features, podeis ver una demo aquí:

http://galloman.github.com/ss2d/#samples/skeletons.html  (click aquí si el iFrame os da problemas)

También se han agregado mas secciones a la guia de usuario desde la última actualización, podeis ver la guia de usuario aquí:
http://galloman.github.com/ss2d/manual/index.html

Saludos.

Gallo

#21
Agregado soporte para WebGL, ahora la lib se deploya en dos archivos, una versión que seguirá renderizando con Canvas2D llamada ss2dLib.js / ss2dLib-min.js y otra con WebGL llamada ss2dLibWGL.js / ss2dLibWGL-min.js, disponible en la página principal:

http://galloman.github.com/ss2d

Se ha agregado alguna mejora para aprovechar WebGL, por ejemplo, ahora las imágenes de los sprites o contenedores de sprites se pueden tintar en tiempo real, para ilustrar esta característica se ha creado un ejemplo con los modelos esqueletales 2D a los que se les puede cambiar el color con un sencillo color picker que hay en el panel superior:

http://galloman.github.com/ss2d/#samples/skeletonsWGL.html

También se ha agregado un nuevo componente llamado ParticleSystem que carga archivos XML .pex generados con Particle Designer (http://www.71squared.com/en/particledesigner) y su representación en la escena GPUParticleEmitter, hay otra versión en desarrollo que utilizará la CPU.

Por ahora se puede ver una demo de la versión GPU que ejecuta toda la lógica de las partículas en la tarjeta gráfica mediante un vertex shader, pero su funcionalidad no es completa. La versión de CPU no será tan potente al calcular la transformación en javascript pero permitirá utilizar algunas características de Particle Designer que la versión en GPU por ahora no es capaz de hacer por la falta de transformation feedback, aquí el ejemplo de las partículas:

http://galloman.github.com/ss2d/#samples/particlesWGL.html

Estoy buscando ayuda para promocionar el framework aunque sea en forma de sugerencias, voy haciendo la guia de usuario y ejemplos a la par que agrego nuevas características y me consume mucho tiempo, si alguien tiene algun consejo cobre como promocionar proyectos open source, se agradecerá.

Enjoy.


Gallo

He creado un blog para unificar un poco fuentes de documentación, sitio de descarga, noticias, etc, podeis visitarlo aquí:

http://ss2d.wordpress.com/

A partir de ahora las novedades del framework se irán anunciando en noticias del blog así queda mas centralizado.

Gallo

El dia 2 de Mayo hago una charla sobre SmoothStep2D en Barcelona, he agregado info del evento en el foro de Calendario:

http://www.stratos-ad.com/forums/index.php?topic=16078.0

blau

Quiero felicitarte por el curro que te has pegado con el framework,
no tengo mucha idea de javascript, pero me encanta ver buen codigo
y estoy aprendiendo un montón.

Tengo que hacer un pequeño proyecto y me he acordado de tu framework, he estado un buen rato con el y me he encontrado muy comodo, asi q he decidido usarlo.

Te animo a q completes el manual, y a quien busque un framework para javascript basado en canvas q le eche un ojo.

Gallo

#25
Muchas gracias blau, estos comentarios siempre son de agradecer. Últimamente lo tengo un poco parado por que entré a trabajar en una empresa de videojuegos finalmente :D, y algunos planes que hice en verano para el framework los he dejado aparcadillos.

Uno de los objetivos del proyecto era hacer curriculum para intentar encontrar un trabajo como el que tengo ahora y me estoy tomando un descanso en mi tiempo libre :), que ha sido un año durillo de no parar, casi recuerdo el septiembre de 2012 como si hubieran pasado semanas.

Me gustaría retomar esos planes en algún momento, también está la cuestión de que ss2d no es mi único proyecto, y tenia la esperanza de encontrar colaboradores a lo largo del año para que mas gente llevaras las riendas, lamentablemente hay tantos proyectos de este estilo que la visibilidad es casi nula. De todas formas se que hay mas gente que al menos está experimentando o prototipando alguna idea con ss2d, yo siempre que puedo doy soporte, pero lo suyo seria darle un empuje para completar la documentación y acabar de pulirlo.

Hans

#26
Por necesidades del trabajo llevo un par de meses haciendo un motor similar a éste (pero sólo usando Canvas, WebGL y móviles como que no van de la mano de momento) ¿Has notado una bajada de rendimiento con la última versión de firefox (la 25)? Mi código corría sobre los 200 fps (y así sigue en Chrome) y de repente no consigo que suba de 50 fps. Pasa sólo con usar el "fill" de un único texto. Parece un bug de Firefox (no es precísamente la primera vez que la cagan y baja el rendimiento de repente) pero no encuentro nada en google al respecto.

En fin, ya dirás algo. Enhorabuena por el proyecto :D

EDIT - He encontrado el problema. Cuando la ventana del navegador se pone detrás del botón de menú de Windows 7 de repente pierde 200 frames porque sí. Sólo pasa en Firefox, así que no sé si es un bug de Firefox o de Aero. Vaya cagadas...


pd.- También han cambiado algunos eventos y ahora fallan mientras en Chrome y otros navegadores no. Para mi que la han cagado.






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.