Escogiendo motor de juegos

Una vez sabemos más o menos qué es un motor de juegos, es momento de preguntarse qué motor de los disponibles en el mercado vamos a utilizar para nuestro desarrollo. La oferta actual es bastante amplia y no es difícil encontrar un motor que se ajuste a las necesidades particulares del proyecto. A la hora de escoger hay que tener en cuenta ciertos aspectos como el presupuesto, el tipo de proyecto, la plataforma de destino (consola, pc, smartphone…) o las intenciones de comercializar el producto final. Supongamos que nuestro presupuesto inicial es bajo (o nulo) y no podemos permitirnos desembolsar una gran suma de dinero. Por suerte, tenemos a nuestra disposición algunos motores de última generación valorados en millones de dólares por un precio de 0 euros.

¿Cómo es esto posible?

El truco está en que las desarrolladoras del motor te permiten utilizarlo sin pagar nada hasta el momento en que quieras comercializar tu juego. En ese momento debes pagar a la empresa creadora del motor con una licencia de distribución o con cierta parte de los beneficios obtenidos. De esta manera los estudios creadores de motores eliminan la barrera inicial que supone adquirir su producto por un alto precio y obtienen beneficios a partir de proyectos terminados. Además consiguen que su motor llegue a más gente, facilitando la formación de profesionales en su producto, lo que genera una mayor utilización del mismo por parte de las empresas.

Actualmente existen 3 motores que se reparten gran parte del mercado de desarrollos independientes (bajo presupuesto). Estos son Unity, Unreal Engine y CryEngine. Estos 2 últimos se utilizan en mayor medida para desarrollar juegos determinados AAA (triple A, alto presupuesto), pero gracias a la política comentada los desarrolladores independientes también pueden hacer uso de ellos. Los 3 motores tienen características técnicas muy actuales y están en desarrollo continuo. Conozcamos un poco más de cada uno.

Unity

Unity es un motor desarrollado por Unity Technologies que se está abriendo paso en la comunidad por su sencillez de uso. Recientemente ha salido la versión 4. Uno de sus mayores fuertes es la facilidad para desarrollar en diversas plataformas, permitiendo crear aplicaciones para consolas, iOS, Android, Linux, Windows…

Existen 2 versiones del motor, la versión Free que es gratuíta y la versión Pro que cuesta inicialmente 1,500$. La versión gratuita ofrece gran parte de las características del motor completo aunque faltan las más avanzadas, que se encuentran sólo en la Pro. Además para publicar en sistemas como Android, iOS o Flash sería necesario adquirir módulos extra para la versión Pro. La ventaja es que sería un pago único, para comercializar nuestros productos no habría que pagar ninguna licencia más ni ningún porcentaje de los ingresos obtenidos.

El desarrollo con Unity es sencillo gracias a su interfaz y que el motor está diseñado para un uso muy amigable. Además la comunidad de desarrolladores es enorme y hay multitud de foros de ayuda, así como una extensa documentación.

Unreal Engine (UDK)

El Unreal Engine es desarrollado por Epic Games, creadores de los juegos de Unreal o Gears of War. La versión del motor actual es la 3, aunque la 4 ya ha sido anunciada. Es uno de los motores más utilizados para desarrollos AAA y la lista de juegos que usan este motor es extensa, incluyendo títulos como Bioshock o Mass Effect.

Hay 2 opciones para usar el Unreal Engine. Por un lado está disponible el UDK (Unreal Developer Kit), que permite desarrollar proyectos completos sin ninguna restricción usando las herramientas del motor y todas sus características de forma gratuita, pero sin poder modificar internamente el motor. Actualmente los términos de comercialización del producto final son los siguientes: Para poder vender nuestro producto hay que adquirir primero una licencia que cuesta 99$. Una vez en venta, no hay que pagar más mientras los ingresos no superen los 50,000$, momento en el que deberemos pagar un 25% de los siguientes ingresos.

La segunda opción es adquirir una licencia del motor completo (y no son 4 duros), con lo que tendríamos acceso al código fuente del mismo, pudiendo modificarlo para ajustarlo a necesidades particulares. Al poseer la licencia completa del motor, no habría que pagar más por comercializar el producto final (hasta donde yo sé).

El desarrollo con UDK es algo más complejo que con Unity, pero las herramientas disponibles son mucho más potentes. Existen tutoriales, foros y una extensa documentación que son de gran utilidad.

CryEngine

CryEngine es desarrollado por Crytek, responsables de Crysis, la saga fundetarjetas por excelencia, siendo actualmente el motor más potente de los 3 comentados. Ahora mismo está en la versión 3.

Crytek ofrece distintos tipos de licencia para su motor según la magnitud del desarrollo. Para desarrolladores independientes el uso del motor y sus herramientas es totalmente gratuito, teniendo que pagar sólamente un 20% de los ingresos que produzca el juego una vez puesto a la venta. Igual que con el Unreal Engine, existe la posibilidad de licenciar el motor completo para tener acceso al código fuente del mismo.

El desarrollo con CryEngine es también más complejo que con Unity, aunque la interfaz es más amigable que la de UDK. Es especialmente sencilla la creación de escenarios exteriores con terrenos de gran amplitud. La documentación existente es extensa y hay foros oficiales para desarrolladores.

Mi elección para el PFM

Para el proyecto que voy a llevar a cabo (videojuego) cualquiera de los 3 motores sería capaz de cubrir de sobra mis necesidades técnicas, pues los 3 son muy punteros. Durante el máster he estado utilizando exclusivamente Unity, llegando a conocerlo bastante, lo que sin duda facilitaría el desarrollo. Pero no me gustan las cosas fáciles 😆 y creo que sería muy beneficioso e interesante aprender a utilizar otro motor y conocer sus entresijos, además de Unity. Aparte, la versión gratuita de Unity no permite acceder a todas sus características más avanzadas (seamos legales), lo cual es una desventaja con respecto a UDK y CryEngine. Descartado Unity, la elección está entre estos 2 últimos.

Ambos motores son muy potentes, y supondrían un desafío similar para aprender a utilizarlos…. Pero por lo que he leído, la cantidad de documentación y la, quizá, mayor comunidad de desarrolladores, el elegido va a ser… (redoble de tambores)… UDK 😯 Manos a la obra!
Banner Blog

Anuncios

14 pensamientos en “Escogiendo motor de juegos

  1. Unas cuestiones de novato……¿los motores gráficos que nos comentas son multiplataforma? y ¿servirían para cualquier tarjeta controladora de video? ¿Debo de condicionar mi entorno de desarrollo para el uso del motor que escoja? ¿Qué equipamiento Hw nos recomiendas para empezar en serio?

    • Si te refieres al entorno de desarrollo Unity funciona en Windows y Mac, UDK y CryEngine sólo en Windows.
      Si te refieres al producto final los 3 motores son multiplataforma, sobre todo Unity (consolas, windows, mac, android…)
      Las especificaciones para el desarrollo no son muy exigentes y cualquier tarjeta que soporte DirectX 9 no debería tener problemas. En la página de cada motor hay más información.

  2. Pingback: Cómo instalar UDK | El Blog de Marcos

  3. Pingback: PFM: El diseño del juego (y parte 3) | El Blog de Marcos

  4. Pingback: Motor gráfico… ¿y eso qué es? | El Blog de Marcos

  5. Hola, los motores graficos que mensionas tambien sirven para mmorpg? disculpa la ignorancia , y gracias por toda la informacion que me ayuda bastante para saber como funciona esto

    • Hola, ninguno está preparado directamente para usar mmorpg, lo cual no significa que no pueda hacerse. Tanto UDK como Cryengine soportan juego multijugador, pero están programados y optimizados para juegos con poco jugadores, como suele ser en los fps. Para poder utilizarlos para mmorpgs habría que licenciar el código completo del motor y modificarlo. Por otro lado Unity es más libre porque no hay nada sobre multijugador ya incluido, por contra, deberías crear todo el código necesario para servidores y clientes… Un mmorpg es de los juegos más complejos que puedes hacer, mejor empezar por cosas más fáciles 😉

    • Con respecto a los mmorpg, la tecnologia necesaria para realizar conexiones concurrentes, se pueden trabajar desde herramientas de terceros, no conozco muy bien UDK ni el Cryengine, pero con respecto al unity si puedo aportarte que exiten varias herramientas de terceros que facilitan la integracion de la tecnologia unity para desarrollar un mmo, tales como el smartfox, photon, entre otros, y actualmente existe una herramienta nativa trabajada con las clases de networking de unity, que permite desarrollar aplicaciones mmo desde el mismo unity, este se conoce como el ulink, las opciones son variadas, en los foros puedes saber mas al respecto.

  6. Hola
    Tengo una inquietud. Tambien tengo como proyecto de grado un videojuego y debo seleccionar el motor adecuado. Mi pregunta es que pruebas técnicas hiciste o como validaste tu elección para el proyecto?

  7. Pingback: Pregunta sobre motor de juegos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s