librerías javascript para hacer juegos
IndieCade

Los **[videojuegos](http://bitelia.com/tag/videojuegos)** han fascinado a la humanidad desde tiempo inmemoriales (bueno, quizás sea desde hace unos 60 años) y siempre despiertan pasión tanto en los jugadores como en los creadores. Con el poder de cómputo de los ordenadores de hoy en día y las **grandes capacidades de nuestros navegadores**, no hay por qué pensar que la web es un ambiente aislado para este mundo. Ya anteriormente les habíamos presentado algunas herramientas para [crear videojuegos sin saber programar](http://bitelia.com/2014/05/5-herramientas-para-crear-videojuegos), pero si eres un [desarrollador web](http://bitelia.com/tag/desarrollo-web) que ama jugar -y crear- seguro apreciarás estas 5 hermosas librerías que puedes usar para crear juegos en [JavaScript](http://bitelia.com/tag/javascript) usando [HTML5](http://bitelia.com/tag/html5).

## Impact.js

**[Impact.js](http://impactjs.com/)**, o simplemente Impact, es una de las librerías más populares para crear videojuegos usando JavaScript. Esto se debe no sólo a su facilidad de uso sino también al conjunto de herramientas que pone a disposición del programador. Maneja *sprites*, animaciones, mapas con patrones (tiles), colisiones, sonidos y viene con un conveniente editor de niveles llamado *Weltmeister*, que te permite crear casi cualquier cosa en 2D. Además cuenta con un sistema de *plugins* con el que puedes extender aún más las funcionalidades.

Impact.js te permite crear juegos que corren en cualquier navegador con soporte a HTML5 como Firefox, Chrome, Safari, Opera e incluso el infame Internet Explorer 9. También te permite publicar tus aplicaciones en la AppStore con soporte casi nativo para iPhone, iPod Touch y iPad. Lo único que no me gusta tanto es que trabaja bajo un esquema de código cerrado y la licencia tiene un costo de US$ 99.

## Phaser

phaser

**[Phaser](http://phaser.io/)** es uno de los motores de juegos para JavaScript más recientes y, sin duda, toda una promesa. Está diseñado para que los juegos se puedan ejecutar tanto en ordenadores como en dispositivos móviles, siendo este último su principal foco. No sólo soporta Canvas sino también WebGL y puede pasarse de uno a otro automáticamente según la compatibilidad del navegador. Eso le da un punto de ventaja en cuanto al *rendering* y la velocidad de respuesta. Además contribuye a una mejor experiencia de usuario.

También maneja física, colisiones, animaciones, sistema de partículas, mapas de patrones, sonidos y permite escalar el juego para que se ajuste a la resolución de cualquier dispositivo sin alterar la relación de aspecto. Al igual que Impact.js maneja un sistema de *plugins* que permite extender aún más las funcionalidades del motor. Phaser no sólo es genial sino que también es [Open Source](http://bitelia.com/tag/open-source). Puedes ver, descargar y contribuir con su código fuente desde [Github](https://github.com/photonstorm/phaser). Como dato curioso, Phaser utiliza Pixi.js para el *rendering* y contribuye activamente con el proyecto.

## Kiwi.js

YouTube video

Muchos desarrolladores seguro coinciden en que hacer videojuegos debería ser tan divertido como jugarlos y aquí es donde entra **[Kiwi.js](http://www.kiwijs.org/)**. Este *framework* apunta a ser una herramienta amigable y divertida para crear juegos, tanto así que lo llaman el «WordPress» de los motores de juegos para HTML5.

Kiwi.js viene con soporte para animaciones, *sprites*, cámaras, sonidos, texturas y un útil módulo para crear interfaces de usuario. Sin embargo carece de motor de física y colisiones, por lo que debes conseguir una opción que se ajuste a tus necesidades. Quizás te sirva el *port* de [Box2D para JavaScript](http://box2d-js.sourceforge.net/) o [p2.js](http://schteppe.github.io/p2.js/). También es Open Source y puedes jugar con su código fuente en [Github](https://github.com/gamelab/kiwi.js).

## Game.js

gamejs

¿Alguna vez escuchaste hablar de una antigua librería para crear juegos en Python llamada PyGame? Bueno, la sintaxis y la facilidad de uso de PyGame ha inspirado a los creadores de **[Game.js](http://gamejs.org/)** para crear algo similar pero esta vez para JavaScript.

Game.js te permite manejar **sprites**, animaciones, sonidos, mapas de patrones y colisiones pero además trae unos métodos muy útiles para búsqueda de rutas (necesario para la inteligencia artificial) y comunicaciones vía HTTP. Los métodos son muy similares a los de PyGame y también es Open Source, así que puedes chequear su código fuente en [Github](https://github.com/gamejs/gamejs), reportar fallos o hacer sugerencias.

## melonJS

melon

**[melonJS](http://melonjs.org/)** es una sencilla pero poderosa librería JavaScript para desarrollar juegos 2D. Aún está en desarrollo pero desde ya puedes crear fácilmente juegos geniales. Es Open Source, compatible con Chrome, Safari, Firefox, Opera e incluso Internet Explorer en versiones igual o superiores a la 9. Posee mecanismos básicos de física y colisión para asegurar bajos requerimientos de CPU.

melonJS integra el popular formato de mapas *tiled*, lo que permite diseñar fácilmente niveles usando el [editor de mapas](http://www.mapeditor.org/), así puedes centrarte en las propias características del juego, como debe ser. Este motor 2D basado en *sprites*, también cuenta con soporte a múltiples canales de audio, matemática básica de vectores y efectos de transición, entre otras características. Debido a su naturaleza, puedes revisar el código fuente e incluso contribuir con melonJS en su repositorio [GitHub](https://github.com/melonjs/melonJS).

Con esta pequeña pero útil lista tienes aún menos excusas para empezar a convertir esas locas ideas en videojuegos. ¿Te parece que dejamos tu *framework* favorito para hacer videojuegos fuera de la lista? Déjanos un comentario y dinos cuál es.

One reply on “5 librerías en JavaScript para hacer juegos en HTML5”

Los comentarios están cerrados.