Qué motor de juego 2D usar para su próximo juego

Hace unas semanas, publiqué sobre mi experiencia al intentar hacer un prototipo en un montón de diferentes motores / marcos de juegos 2D para aprender qué los hace funcionar.

Si está buscando un motor para su próximo juego 2D, este artículo le proporcionará algunas cosas a considerar que pueden ayudarlo en su proceso de discernimiento.

Tenga en cuenta que no estoy intentando cubrir todos los motores de juegos 2D que existen; tampoco estoy posicionando un motor o marco sobre otro. Estas recomendaciones provienen de mi experiencia personal utilizando diferentes motores y marcos para la creación de prototipos.

Y si prefieres mirar en lugar de leer, he creado una versión en video de esta publicación (reproducción de 26 minutos):

Reaccionar

A primera vista, podría estar pensando: "React es un marco de interfaz para crear sitios web interactivos. ¡No es un motor de juegos!" Y estarías mayormente en lo correcto.

Reaccionar no proporciona soporte nativo para lo básico de desarrollo de juegos, como, por ejemplo, la física 2D, pero lo hace el estado mango muy bien. Si ya eres un desarrollador de JavaScript y estás dispuesto a emparejar React con algo como boardgame.io para hacer un juego 2D simple, podrías tener un prototipo en funcionamiento bastante rápido.

Para todos los demás tipos de juegos 2D, querrá buscar en otra parte.

Unidad

Unity se ha vuelto omnipresente en los espacios de desarrollo de juegos 2D y 3D. Lo posicionaría como un excelente motor de juegos en 3D y uno en 2D útil.

El editor de Unity es bastante complejo, con una gran cantidad de menús anidados que le llevarán algún tiempo comprender (consulte este artículo para conocer sus características 2D). Si aún no tiene experiencia en C #, que Unity usa para las secuencias de comandos, querrá repasarlo antes de aprender Unity, ya que hacerlo facilitará su curva de aprendizaje general.

Unity también hace muchas cosas de la "manera difícil" cuando se trata del desarrollo de juegos 2D, que no se siente nativo en comparación con otros motores de juegos. Crear un mundo de juego 2D en Unity, por ejemplo, se siente como si estuvieras metiendo un calzador en un plano 2D en un gran espacio 3D, y cosas como la animación y la perfección de píxeles son más torpes que en otros motores específicos de 2D.

Puedes crear cualquier tipo de juego 2D con Unity si estás dispuesto a luchar con el editor y las idiosincrasias 3D subyacentes. Tiene un amplio soporte de la comunidad y encontrará que trabajar con C # es un placer. Además, la Asset Store de Unity tiene todo tipo de arte y plantillas para que las descargues y las compres, pero el comprador debe tener cuidado: es posible que dediques tanto tiempo a reescribir el código de otra persona para que se ajuste a tu proyecto como lo harías desde cero.

En general, Unity es de uso gratuito, pero los precios se vuelven más complejos si desea utilizar todo lo que tiene para ofrecer (consulte esta página para obtener más detalles).

Godot

Godot es un motor de juegos 2D y 3D gratuito y de código abierto que admite GDScript, C # e incluso C ++ y Python si está dispuesto a hacer mucho del trabajo pesado para que funcionen. Admite un flujo de trabajo de estilo nodo y es superligero.

Si a) está dispuesto a invertir en aprender GDScript ob) ya es muy bueno en C #, C ++ o Python, probablemente estará bien en Godot, especialmente si le gusta trabajar con software de código abierto. De lo contrario, puede frustrarse fácilmente, ya que no hay tanta compatibilidad con C # u otros lenguajes como con GDScript. Aún así, Godot es un motor agradable con el que trabajar, y aunque puede que no tenga el mismo pedigrí y apoyo comunitario que algo como Unity, si eres emprendedor puedes sentirte bien en casa.

Construir 3

Si solo desea crear juegos en 2D y no le importa el lenguaje de programación o las tarifas de suscripción, encontrará que Construct 3 tiene todo lo que necesita para tener una demostración en funcionamiento y rápidamente. Todo su trabajo se realizará en un navegador, utilizando herramientas de arrastrar y soltar (y soporte de JavaScript personalizado si lo necesita).

Sin embargo, no espere tener una experiencia significativa y productiva con Construct 3 de forma gratuita. Hay una demostración simple que puede probar, pero el desarrollo de juegos impactantes con Construct 3 está bloqueado detrás de un muro de pago y una suscripción.

Game Maker Studio 2

Game Maker Studio 2 tiene un editor fácil de usar que admite un lenguaje propietario llamado, apropiadamente, Game Maker Language (GML), junto con secuencias de comandos visuales. También tiene muchos tutoriales, excelente apoyo de la comunidad y una tienda de activos (que viene con las mismas advertencias que las de Unity, arriba).

El flujo de trabajo general de Game Maker Studio 2 y hacer cosas como animar sprites, configurar tu mundo de juego, etc., es sencillo e intuitivo. GML podría no ser su taza de té si viene de otra, más ampliamente utilizado lenguaje de programación, y yo no lo recomendaría como su primera introducción a aprender a código. Emplea algunos de los conceptos básicos de programación, pero no detalles importantes como las mejores prácticas de codificación o cómo escribir código limpio.

Además, puede probar Game Maker Studio 2 con una prueba gratuita de 30 días, pero tendrá que pagar para continuar usándolo después de ese tiempo.

Phaser 3

Si desea codificar todo y aprender mucho sobre el ecosistema de JavaScript mientras lo hace, consulte Phaser 3 (o espere Phaser 4, que está en camino).

Phaser es un marco de JavaScript ligero y potente para crear juegos 2D. Mientras que Phaser 2 estaba extremadamente bien documentado y tenía un excelente apoyo de la comunidad, Phaser 3 es todo lo contrario. Hay buena documentación oficial y un montón de ejemplos (sin mucho contexto a su alrededor, hay que decirlo) y una cantidad terriblemente pequeña de tutoriales.

Espere construir todo usted mismo, pero si está buscando soporte para ES6 o TypeScript, o si realmente desea pulir sus habilidades como desarrollador de JavaScript, podrá recorrer un largo camino con Phaser 3.

En aras de la justicia, debo mencionar otros dos motores de juegos 2D que me han recomendado desde que comencé a escribir sobre el tema: LÖVE 2D, que usa Lua, y MonoGame, que admite C #. No he usado ninguno de ellos (u otros, como PyGame), y no puedo hablar de su utilidad, pero vale la pena echarle un vistazo.

¡Déjame saber qué motor de juego 2D terminas usando y por qué!

Si te gustó este artículo, considera revisar mis juegos y libros, suscribirte a mi canal de YouTube o unirte a Entromancy Discord.

MS Farzan, Ph.D. ha escrito y trabajado para compañías de videojuegos de alto perfil y sitios web editoriales como Electronic Arts, Perfect World Entertainment, Modus Games y MMORPG.com, y se ha desempeñado como Community Manager para juegos como Dungeons & Dragons Neverwinter y Mass Effect: Andromeda. . Es el director creativo y diseñador principal del juego Entromancy: A Cyberpunk Fantasy RPG y autor de The Nightpath Trilogy . Encuentra a MS Farzan en Twitter @sominator.