Los 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, pero si eres un desarrollador web que ama jugar -y crear- seguro apreciarás estas 5 hermosas librerías que puedes usar para crear juegos en JavaScript usando HTML5.
Impact.js
Impact.js, 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 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. Puedes ver, descargar y contribuir con su código fuente desde Github. Como dato curioso, Phaser utiliza Pixi.js para el rendering y contribuye activamente con el proyecto.
Kiwi.js
Muchos desarrolladores seguro coinciden en que hacer videojuegos debería ser tan divertido como jugarlos y aquí es donde entra Kiwi.js. 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 o p2.js. También es Open Source y puedes jugar con su código fuente en Github.
Game.js
¿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 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, reportar fallos o hacer sugerencias.
melonJS
melonJS 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, 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.
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.