Algunas de las preguntas más comunes que a menudo me hacen los programadores que desean comenzar a desarrollar videojuegos son: ¿Cuál es el mejor lenguaje de programación para empezar? o ¿Qué engine me recomiendas para hacer mi primer juego? Por supuesto que la respuesta a preguntas como estas dependen de muchas cosas y no creo que haya una respuesta 100% correcta. Pero con el paso de los años dentro de la industria me he ido haciendo una buena idea de que engines son los mejores para alguien que apenas inicia así que les recomendaré 3 para comenzar a desarrollar su primer juego:

3.- Unreal Engine 4

FullColorUE4BlackTextTransparent_small

Aclaro este engine solo lo recomiendo para personas con experiencia de programación previa que deseen incursionar en el campo de los videojuegos mas no a un completo novato en el mundo del código, esto se debe a la alta curva de aprendizaje que presenta Unreal para comenzar a trabajar. Dicho esto, ¿Por qué recomendaría este engine a principiantes entonces? , pues simplemente porque los beneficios son demasiados como para pasarlos por alto.

Para empezar si tu sueño es entrar a una empresa de videojuegos grande y bien establecida, en especial una que haga juegos para consola, es muy probable que necesites aprender el lenguaje de programación que utiliza Unreal Engine, es decir C++, pues gran parte de los juegos más grandes de la industria están hechos con este lenguaje, así que a pesar de que te costará lágrimas, sudor y sangre comenzar en Unreal, sin duda es una muy inteligente inversión para tu futura carrera como programador de videojuegos.

La segunda razón es que es completamente gratis, no te costará más que unos minutos para descargarlo y una máquina decente que pueda correrlo para estar listo para trabajar en el que probablemente sea el engine más robusto y poderoso al que tienen acceso los desarrolladores independientes.

Y por último, es cierto que tardarás mucho más tiempo en tener un producto inicial terminado en Unreal de lo que tardarías en muchísimos otros engines, pero te aseguro que ningún otro te proporcionará un producto final de tan alta calidad visual como Unreal, este punto es en especial relevante si para ti son muy importantes los gráficos, sombras y luces o si trabajas en equipo con modeladores o animadores muy talentosos o exigentes, sin duda le podrás sacar provecho al gran número de herramientas que el engine ofrece en éste ámbito.

Algunos de los contras son que no hay tantos tutoriales y comunidad tan activa como en otros engines, si a esto lo sumamos a la ya alta dificultad del lenguaje de programación que utiliza y la cantidad abrumadora de settings que tiene el engine, sin duda harán que hasta el más osado de los programadores se sienta perdido al empezar y puede retrasar o hacer tediosos tus primeros pasos, pero si logras superar esto encontrarás que debajo de todos los problemas se encuentra una poderosa herramienta.

 

2.- Phaser

logo

 

Por supuesto que no puedo dejar de mencionar a mi nuevo engine favorito en el cual puedes desarrollar juegos pequeños y rápidos para navegador.

Después de años de batallar al crear juegos en HTML5, probar diferentes engines, e incluso llegar al extremo de crear una librería propia a falta de una herramienta que cumpliera mis necesidades, este enero descubrí Phaser, y pese a que solo he hecho un par de juegos en él puedo decir sin dudar que es el mejor framework de HTML5 que he usado.

Tiene un excelente tutorial en la página que te lleva de la mano desde la instalación hasta tener funcionando tu primer ejemplo pequeño en menos de media hora y  a partir de ahí puedes utilizar los cientos de ejemplos que te proporciona su sitio oficial, cada uno con un editor de código en tiempo real para que puedas modificar y entender como funciona todo, paso por paso, e incluso si alguno de los pequeños programas de ejemplo te sirve de base para iniciar tu juego propio, eres libre de copiarlo, pegarlo en tu proyecto y comenzar a trabajar sobre el sin ningún problema.

Este framework es perfecto para elaborar juegos tipo arcade en cuestión de un par de días, tan solo usando conocimientos básicos de HTML5 y Javascript, y lo mejor es que la versión base es totalmente gratuita. También ofrecen un plugin en el que integran la poderosa librería de física de Box2D por 50 dólares si así lo prefieres, para convertir este pequeño, amigable y fácil de usar engine en un aliado aún más potente.

Si tuviera que decir algo en contra de Phaser es que aún es algo nuevo, por ende su comunidad es pequeña y llega a pasar que no encuentres a quién preguntarle cuando tienes alguna duda, pero se compensa con la gran cantidad de ejemplos que proporcionan y sin duda conforme pase el tiempo esta desventaja irá disminuyendo significativamente.

 

 

1.- Unity 5

Unity-5-logo

Mi ganador indiscutible, y no lo digo sólo porque he pasado los últimos 4 años de mi vida trabajando en éste engine más que en cualquier otro, sino porque sin duda no tiene comparación si hablamos de facilidad.

Tal vez mi amor por Unity se deba simplemente al hecho de que mis 2 primeros juegos los hice en C# con ayuda de la ya extinta librería llamada XNA, gracias a esto se me hizo muy sencillo comenzar a trabajar en un engine que usaba este lenguaje, y me sorprendió cómo en cuestión de minutos ya podía crear cosas que anteriormente en XNA o Flash habrían tardado horas o hasta días. Y lo mejor es que no es necesario ser un genio escribiendo código para comenzar a trabajar con Unity, he presenciado como personas con mínima experiencia en programación se adaptan y comienzan a tener demos funcionales en cuestión de un par de días, cosa que me parece impresionante.

Pero no es solo el diseño mismo del engine lo que lo hacen amigable para el usuario, si no también la amplia cantidad de documentación, tutoriales, videos e inmensa comunidad lo que hacen que cualquier duda que se te presente ya tenga una respuesta que puedes consultar en segundos, y evitará que te sientas perdido en cualquier etapa de tu proceso de desarrollo.

Posiblemente la mejor razón para comenzar en Unity es su importancia en la industria, actualmente se ha convertido en el engine de moda y la mayoría de los estudios requieren que tengas algún grado de conocimiento de Unity, esto se debe a la gran facilidad de exportar a un gran número de plataformas desde el mismo proyecto, reduciendo así los costos de desarrollo y  maximizando el número de dispositivos en los que se puede distribuir el juego, así que sin duda es otra excelente opción junto a Unreal Engine para agregar a tu curriculum de desarrollador de videojuegos.

Pero claro no todo es miel sobre hojuelas y Unity tiene una gran desventaja que aún no he sido capaz de resolver como yo quisiera: el trabajo en equipo con otros programadores. y es que debido a la estructura de la escena y los prefabs dentro del engine, hace que los sistemas de control de versiones más convencionales como Git no puedan respaldar el proyecto por completo y siempre hay que andar dando vueltas para colaborar, pero si tu objetivo al empezar es ser el único programador en el proyecto entonces esto no representará ningún problema.

Por supuesto que cada juego tendrá sus necesidades diferentes y ningún engine es perfecto para todos los proyectos, pero les recomiendo fuertemente que hagan al menos un pequeño demo en cada uno de estos engines para que no dejen de experimentar por ustedes mismos las ventajas y desventajas de cada uno y con suerte quizá descubran su nueva herramienta favorita para trabajar.

Pin It on Pinterest