¿Qué plataforma elegir para su próximo juego móvil?

En este artículo, exploramos varios motores y marcos de juegos, destacando algunas de las ventajas clave que cada uno de ellos ofrece. Después de leer este artículo, tendrás varias opciones para elegir para hacer el próximo gran éxito. Tenga en cuenta que solo nos centramos en los aspectos 2D de estas plataformas. Empecemos.

1. Cocos2D

Cocos2d es un marco gratuito de código abierto, compatible con Swift y Objective-C. Tiene soporte para iOS y OS X, y también es compatible con Android a través del complemento SpriteBuilder de Android, siempre que su código esté escrito en Objective-C. Swift soporte para Android está en desarrollo.

Los proyectos en Cocos2d se crean a través de SpriteBuilder, un entorno de diseño gráfico que puede utilizar para crear prototipos y construir juegos rápidamente. No es necesario que uses SpriteBuilder para construir tu juego, sin embargo, la creación del proyecto debe hacerse a través de SpriteBuilder.

La gestión de la escena se realiza a través de la CCDirector clase, que puede utilizar numerosas transiciones con el Transición CC clase. Ofrece animaciones a través del CCAnimación clase y acciones, tales como mover, escalar y rotar, con su CCAcción clase. Cocos2d tiene soporte para sistemas de partículas con el CCParticleSystem clase y tiene soporte para mapas de azulejos con el CCTiledMap clase.

Cocos2d también usa OpenGL como su motor de renderizado. Utiliza Chipmunk como su motor de física. Si disfruta de Objective-C o Swift, y desea desarrollar para múltiples plataformas (iOS y Android), Cocos2d es un marco que vale la pena considerar..

2. Cocos2d-x

Cocos2d-x es un puerto C ++ de Cocos2d que puede compilar a muchas otras plataformas. Cocos2d-x puede compilar para iOS, Android, Windows Phone, OS X, Windows y Linux.

Cocos2d-x no viene con SpriteBuilder. Sin embargo, tiene algunos proyectos interesantes, como Cocos Creator, que proporciona el marco, la edición de escenas, la depuración, la vista previa del juego y la publicación en múltiples plataformas..

3. la unidad

Unity es un motor de juego móvil que admite C # y UnityScript, un lenguaje diseñado específicamente para Unity y modelado a partir de JavaScript. Es multiplataforma y puede implementarse en muchas plataformas, incluidas PlayStation y Xbox. Hay una edición gratuita disponible y una edición profesional que ofrece más características. Más información está disponible en el sitio web de Unity..

Hay un editor de sprites integrado en el que puede dividir visualmente sus imágenes y una ventana animadora que le permite diseñar y organizar animaciones y agregar animaciones de fotogramas clave a los sprites. También es posible diseñar visualmente sistemas de partículas dentro del editor de Unity..

Unity utiliza su propio motor de física patentado. Unity tiene una cámara incorporada, lo que simplifica la navegación en el mundo del juego. Puede diseñar escenas visualmente y Unity tiene un sistema de interfaz de usuario con componentes, como botones, controles deslizantes y menús. También hay soporte para el empaquetado de sprites en el editor de Unity..

La unidad es una fuente de poder cuando se trata de motores de juegos. Si necesita una solución multiplataforma con capacidad para una amplia gama de dispositivos y prefiere programar en C # o UnityScript, entonces Unity es una buena opción. Otra cosa buena de Unity es la tienda de activos en la que puedes encontrar o comprar activos que puedes usar en tus juegos..

4. SpriteKit

SpriteKit es el marco de desarrollo de juegos 2D patentado por Apple. Solo está disponible en iOS y OS X. SpriteKit admite tanto Swift como Objective-C, una combinación de los dos.

La gestión de la escena se realiza con la SKView clase y hay una gran variedad de transiciones con el SKTransition clase. En el corazón de SpriteKit están las acciones, ejemplo de la SKAcción Clase, que se utiliza para mover, rotar y escalar objetos de juegos. Las acciones también se pueden utilizar para reproducir sonidos y ejecutar código personalizado..

SpriteKit tiene un editor de escenas en el que puedes diseñar visualmente los niveles de tu juego. También está disponible un editor de partículas en el que puede diseñar visualmente sistemas de partículas. Hay disponibles varios sistemas de partículas prediseñados, como el fuego y la lluvia..

SpriteKit usa Box2D para su motor de física. SpriteKit proporciona un envoltorio amigable alrededor de Box2D, lo que lo hace muy fácil de usar. SpriteKit también tiene una cámara incorporada a través del SKCameraNode Clase, lo que facilita la navegación por el mundo del juego..

Si está vinculado al ecosistema de Apple, SpriteKit es una muy buena opción..

5. titanio

Titanium es un framework que usa JavaScript como lenguaje de programación. Si bien se usa más tradicionalmente para crear aplicaciones en lugar de juegos, puede ser una plataforma de desarrollo de juegos viable. Es de uso gratuito durante el desarrollo. Si quieres publicar tu juego, entonces necesitas una licencia.

Titanium es compatible con muchos controles nativos de iOS y Android. Esto facilita la animación de vistas e imágenes. Construí un juego de Blackjack, completo con animaciones y un bonito efecto de voltear cartas usando Titanium.

Una de las cosas buenas de Titanium es el mercado para descargar módulos personalizados. Hay, por ejemplo, un módulo Box2D que puede conectar a su aplicación. Si no necesita la complejidad de Box2D, el uso de un sistema simple de colisión de caja delimitadora puede funcionar igual de bien.

Si bien Titanium no sería ideal para juegos con muchas partes móviles y explosiones de partículas, usarlo para juegos de cartas simples, juegos de trivia y juegos con un número limitado de objetos en movimiento es más que una opción viable..

6. PhoneGap

PhoneGap le permite tomar sus conocimientos de HTML, CSS y JavaScript existentes y empaquetarlos como una aplicación móvil. La forma en que funciona es incorporando una vista web en la aplicación y cargando sus activos en esa vista web. Esto significa que puedes usar la API de Canvas para crear juegos..

PhoneGap permite el acceso a las API nativas, como la cámara del dispositivo, el micrófono y, lo más importante para el desarrollo de juegos, el acelerómetro.

En su esencia, PhoneGap es bastante sencillo. Toma una aplicación basada en HTML y la empaqueta como una aplicación móvil usando una vista web.

Echaremos un vistazo a otras dos bibliotecas de JavaScript que puedes usar para crear un juego Canvas / WebGL, Phaser y CreateJS..

7. Phaser

Phaser es un marco de JavaScript de código abierto para escribir juegos 2D. Utiliza Canvas o WebGL si está disponible.

Phaser tiene soporte para animaciones, partículas y interpolaciones para mover, escalar y rotar sprites. Cuenta con soporte incorporado para mapas de mosaicos y utiliza tres motores de física diferentes, según sus necesidades. También tiene una cámara incorporada, que facilita la navegación por tu mundo de juego.

Hay algunos complementos disponibles para Phaser, incluyendo un diseñador de sistemas de partículas y un complemento Box2D. Si JavaScript es el idioma de su elección, Phaser, en combinación con PhoneGap, podría ser una buena opción..

8. CreateJS

CreateJS es un conjunto de cuatro bibliotecas de código abierto diferentes:

  • EaselJS
  • TweenJS
  • Sonido js
  • PreloadJS

EaselJS es una biblioteca basada en la API de Canvas y puede usar WebGL si está disponible. TweenJS se centra en elementos de interpolación, mientras que SoundJS está orientado a la reproducción de audio. Por último, pero no menos importante, PreloadJS ayuda a precargar activos.

EaselJS tiene soporte para hojas de sprites y filtros que puedes colocar en tus elementos. También hay una Forma Clase en caso de necesitar hacer un dibujo vectorial. Mover, escalar y rotar se realiza incorporando la biblioteca TweenJS en su juego.

Si bien CreateJS no tiene muchas API que se adapten al desarrollo de juegos, está escrito en JavaScript para que pueda incorporar cualquier biblioteca de JavaScript adicional que desee, como un puerto JavaScript de Box2D. Una de las bibliotecas que tuve éxito en el pasado es una biblioteca de detección de colisiones para EaselJS.

He escrito un par de artículos sobre CreateJS en Envato Tuts +. Si está buscando una introducción detallada a estas bibliotecas, puede encontrar estas interesantes:

  • Utilizando CreateJS - EaselJS
  • Usando CreateJs: PreloadJS, SoundJS y TweenJS

9. Unreal motor

Unreal Engine es un motor de juego que usa C ++ como lenguaje de programación. Es libre de usar con límites. Para más detalles, visite el sitio web de Unreal Engine. Puedes implementar tu juego en iOS y Android.

Unreal Engine incluye también un Blueprint Editor, que le permite realizar guiones visuales de sus aplicaciones sin la necesidad de programación. El editor le permite diseñar niveles de juego, agregar simulación física, interfaz de usuario, animaciones, efectos visuales y más, de una manera visual.

10. Corona SDK

El Corona SDK es un kit de desarrollo de software que utiliza Lua como su lenguaje de scripting. Está disponible en Windows y OS X. Puede desarrollar sus juegos y aplicaciones de forma gratuita con Corona SDK. Sin embargo, Perk, la compañía que adquirió Corona Labs, ofrece un modelo empresarial que brinda acceso a bibliotecas / API nativas y algunas otras. caracteristicas. Visite su sitio web para más información sobre precios.

El Corona SDK se exporta a iOS, Android, Kindle y Windows Phone 8. Las exportaciones de Windows y OS X están en versión beta privada y pronto estarán disponibles.

Corona Labs ofrece algunas otras características atractivas, como Corona Editor, un complemento de Sublime Text que incluye un depurador, finalización de código y algunas otras opciones interesantes. El GUI de Composer, disponible en OS X, le brinda un entorno gráfico en el que puede diseñar los niveles de su juego y ver cómo interactúan los objetos entre sí utilizando el motor de física de Corona.

El Corona SDK utiliza OpenGL como motor de renderizado y Box2D para la física. Su motor de física proporciona una envoltura alrededor de Box2D, lo que hace que sea más fácil de usar. El Corona SDK incluye más de mil API que puedes usar para construir tus juegos.

También ha incorporado la gestión de escenas a través de su biblioteca de compositores y ofrece una excelente biblioteca de transición que ayuda a mover, escalar y rotar los activos gráficos de su juego.

Desafortunadamente, el Corona SDK no tiene la opción de crear atlas de sprites y usar formas complejas para la detección de colisiones físicas puede ser difícil. Sin embargo, hay algunas excelentes aplicaciones de terceros que pueden aliviar este dolor, como Texture Packer y Physics Editor..

En general, el Corona SDK es un excelente SDK para explorar si está buscando una solución multiplataforma y desea la facilidad del lenguaje de scripting Lua..

11. Gideros

Gideros, como Corona, usa Lua como su lenguaje de scripting. Gideros es gratuito y de código abierto, y se puede compilar para iOS, Android, Windows Phone, OS X, Windows y Windows RT.

Si bien Lua no es un lenguaje de programación orientado a objetos con un sistema basado en clases, Gideros proporciona una API basada en clases, lo que permite a los desarrolladores escribir código limpio y reutilizable.

Gideros tiene un gestor de escena con todo tipo de transiciones, un Clip de película clase para animaciones, y proporciona interpolación a través de su biblioteca GTween, que le permite mover, escalar, rotar entidades y más.

Gideros, al igual que Corona, usa Box2D para la física, aunque la API de Box2D de Gideros está un poco más cerca de la API de Box2D original y, por lo tanto, un poco más difícil de usar..

Proporciona algunas herramientas adicionales como una herramienta de empaquetado de texturas y un creador de fuentes, que se pueden encontrar en el directorio de la instalación. Gideros le permite hacer pruebas instantáneas de sus proyectos en su dispositivo móvil a través de una conexión Wi-Fi.

Al igual que con Corona, esta es una gran plataforma si está buscando un desarrollo multiplataforma con la facilidad del lenguaje de programación Lua..

12. AndEngine

AndEngine es un marco de desarrollo móvil para Android. Es gratis y de código abierto. Sin embargo, como su nombre indica, es solo para Android. AndEngine, como muchas otras plataformas móviles, utiliza OpenGL como su motor de renderizado y utiliza Box2D como su motor de física a través de una extensión..

AndEngine tiene soporte para sprites animados, sistemas de partículas y permite la interpolación de entidades a través de modificadores de entidad. AndEngine también proporciona una Cámara Clase que te permite moverte por el mundo del juego con facilidad..

No hay administración de escenas dedicada en AndEngine, pero puedes encontrar muchos ejemplos de cómo construir un administrador de escenas simple. Si desea lanzar solo una aplicación de Android y Java es su idioma de elección, entonces este marco es una buena opción..

13. libGDX

libGDX es otro marco de desarrollo de juegos Java. Es multiplataforma y puede compilarse para Windows, OS X, Linux, Android, iOS, Blackberry y HTML5. libGDX también utiliza OpenGL como motor de renderización y aprovecha Box2D para simular la física.

libGDX tiene un Cámara clase, una Acción clase para mover, escalar y rotar objetos, y unaEmisor de partículas Clase para mostrar partículas. Tiene soporte para mapas de azulejos a través de laMapa de mosaico clase, que se puede utilizar con el editor de mosaico.

libGDX viene con algunas herramientas adicionales, como un empaquetador de texturas, un editor de partículas y un generador de fuentes de mapa de bits.

Si Java es su idioma preferido y está buscando crear un juego multiplataforma, entonces libGDX es un buen marco para mirar.

Conclusión

En este artículo, repasamos varios marcos de desarrollo de juegos y motores. Ahora debería tener una mejor idea de qué soluciones se adaptan mejor a sus necesidades y las de su próximo juego. Gracias por leer y espero que hayan encontrado el artículo útil..