13 de Junio, 2014
Artículo indiespensable
Indiespensable
Dev Lavde: Especial — Sobre motores gráficos y otras cuestiones
Dev Lavde: Especial — Sobre motores gráficos y otras cuestiones

Todo juego empieza con una pequeña llama en la oscuridad. Una idea curiosa, un concepto interesante, que el creador tiene que avivar constantemente con las herramientas a su alcance hasta que toma forma y se convierte en una fogata que atrae a los jugadores como lobos en las montañas. Que el desarrollador acabe devorado o no por la jauría que tiene delante suya depende de la viveza de los colores de la llama, de su fiereza, pero también de los colores, del remolino que forma una brisa de aire, o de lo que es capaz de iluminar a su alrededor. Existen varias maneras de crear un fuego. Hay quien opta por el clásico conjunto de yesca y pedernal. Otros prefieren métodos mas complejos, mientras que hay quien prefiere centrarse en otras cosas y se trae un mechero de casa.

El mercado de los motores gráficos solía estar dominado por dos o tres opciones, provenientes de las compañías líderes en el mercado. Grandes nombres como id Software, Valve o Epic Games se dedican profesionalmente a crear motores gráficos y los editores asociados para que otros desarrolladores los puedan aprovechar. Normalmente eso significa soltar una cantidad de dinero inicial importante, que se espera recuperar con el tiempo una vez que el juego salga a la venta. Este esquema era perfectamente válido en otra época en la que las necesidades gráficas las definían los fabricantes de consola, y los programadores querían herramientas con las que realizar lanzamientos simultáneos con el mínimo trabajo posible.

Pero ya no estamos en ese escenario. Mientras la nueva generación de consolas procura mostrar todo su potencial en el E3, temerosa de que la enorme inversión en los chips gráficos más avanzados se esfume en unos aparatos costosos y, tal vez, innecesarios, la popularización de los juegos independientes sigue rompiendo moldes y abriendo hueco entre la vanguardia gráfica. Respecto a los llamados «triple A», los indie no tienen necesidades gráficas tan complejas, pero eso no significa que no las tengan.

Lo mas importante para un desarrollador indie desde el punto de vista de los gráficos no es mostrar una tecnología, sino una visión única que pueda contemplar todo el mundo, y para ello suele hacer falta una herramienta igualmente única. Tal vez por eso los motores gráficos «tradicionales» no tienen tanto éxito como solían tener, como el CryEngine de la desarrolladora alemana Crytek. Ya en su tercera versión, se puede considerar el motor gráfico puntero en la actualidad, y sin embargo, es uno de los menos usados, ya sea para títulos comerciales como para mods. Y es que ¿de qué sirve poder mostrar todas las verrugas de un sapo con una precisión inusitada si solo un pequeño porcentaje de usuarios las pueden ver? Y mas importante aún: ¿realmente es tan importante verle las verrugas al dichoso sapo? Esa es la pregunta que los desarrolladores gráficos modernos son incapaces de responder, y por eso están perdiendo el mercado independiente. Y es que al desarrollador indie no le importa que un motor pueda renderizar las mismas selvas una y otra vez, por muy detalladas y realistas que sean, porque no son las selvas que se ha imaginado; son las mismas selvas que otro desarrollador podría conseguir con las mismas herramientas. De ahí que la mayoría de los proyectos que usan el Cryengine 3 solo sean mods que apenas introducen alguna idea original, pero que en su mayoría son refritos de conceptos ya tratados por el primer Crysis (Crytek, 2008).

Mejor suerte ha corrido su competidor Epic Games. Una de las razones fue la decisión de la compañía de liberar el uso del kit de desarrollo del Unreal Engine 3 para aquellos juegos con una distribución limitada. A día de hoy, Unreal Engine 4 (última versión del motor) ofrece a los desarrolladores un buen equilibrio entre unos gráficos al nivel de cualquier éxito de consolas y un rendimiento ajustado, por el precio nada desorbitado de 19$ mensuales más el 5% de los ingresos del juego. Aunque siguen sufriendo el sambenito de que las creaciones de este motor se parecen demasiado entre sí. Pese a que ciertos títulos como Mirror’s Edge (DICE, 2008) han demostrado que es posible crear gráficos originales, esto implica gastar una cantidad de tiempo y recursos que no tiene el estudio indie medio. Tal vez por eso su popularidad no es mayor, aunque los juegos que lo utilizan, como Unmechanical (Talawa Games, 2012) encuentran un equilibrio correcto entre rendimiento, calidad de gráficos, y originalidad.

Game MakerSin embargo, esto no es suficiente. Tengamos en cuenta el objetivo que tiene cualquier creador: que su visión pueda ser contemplada por todos. En un mundo en el que se puede jugar hasta con el microondas, esto implica alcanzar la mayoría de plataformas posibles, y es ahí donde Unity 3D está dando la campanada. Tal vez este motor gráfico palidece en comparación con lo mejor del mercado, pero cuenta con una enorme baza: sirve para crear juegos en cualquier plataforma actual que se precie, y, a menos que queramos usar ciertas características avanzadas, Unity 3D es gratuito.

Ya sea por nostalgia como por conveniencia, los entornos en dos dimensiones son especialmente populares entre la escena indie. También ayuda el hecho de que suele ser más fácil transplantar los diseños gráficos a un motor en 2D, por lo que es ideal para aquellos creadores con pocos conocimientos de programación pero con un sentido artístico. Herramientas como Game Maker basan su marketing en la facilidad de pasar de un boceto a un juego completo ejecutable en cualquier dispositivo móvil. Construct 2 lleva este concepto al extremo, directamente publicitando que no es necesario saber programación para crear juegos. De hecho, Contruct 2 parece un juego que consiste en crear juegos, colocando muros y moviendo personajes de un lado a otro como si estuviésemos en Dungeon Keeper (Bullfrog, 1997). Si no olvidamos las limitaciones que conlleva un sistema de creación tan sencillo, puede ser un programa recomendable para los que quieran iniciarse en el arte de crear juegos. Otros competidores, como Game Editor, apelan a aquellos programadores con algo mas de experiencia, ofreciendo mas control al creador, con la rudeza que ello implica.

Viendo el panorama, tal vez no sea de extrañar que la opción por la que se decantan muchos desarrollos sea la de producir un motor gráfico propio, lo cual tiene mucho sentido. Un juego indie es una expresión del creador, y como tal, es apropiado que tal expresión llegue hasta el mismísimo código del juego. De ahí el renacimiento de la «cultura del garaje», del autoabastecimiento y el aprendizaje a base de fallar una y otra vez. La gran diferencia es que ahora los desarrolladores noveles tienen acceso a una vasta red de personas que han pasado por los mismos problemas que ellos, que han cometido los mismos errores, y que también han encontrado alguien con la línea de código que faltaba en su obra.

Tal vez esa sea la razón del florecimiento de la cultura indie en el sector de los videojuegos en los últimos años. Internet no solo ha cambiado la manera en la que nos relacionamos y accedemos a la información, sino que también es un enorme repositorio de herramientas, listas para ser empuñadas por el siguiente creador con la visión de una llama distinta a cualquier otra que hayamos visto jamás.

Acerca de indie-o-rama All Stars


indie-o-rama reúne a todo un conjunto de devora-libros y abrazafarolas todoterreno.

8 comentarios
  • israel

    Esta claro que con internet se ha abierto la veda a todo el mundo, y si encima te ponen los engines a 9 o 19 dolares pues ya ni te digo.

    Del CryEngine no puedo hablar porque no lo he probado, pero del UDK si puedo hablar y te puedo asegurar que si los juegos se parecen entre si es porque las empresas los hacen queriendo asi porque es lo que vende simplemente. Ni el UDK (ni el CryEngine supongo) te obligan a hacer un shooter, ni te obligan a usar escenarios espaciales o una selva. Tanto UDK, CryEngine o Unity en todos puedes usar shaders para que el juego tenga la pinta que quieras (realista, pixelart, toon, cell o cualquier tipo). Con UDK se han hecho juegos de shooter (obvio), RPG´s masivos, juegos de naves, juegos de coches, MOBA´s, de peleas, etc, etc, etc… Y supongo que con CryEngine se podrá (o se habra hecho ya) tambien.

    En cualquier caso esta claro que con cualquier cosilla puedes crear un juegazo si tienes habilidad para ello. Hay juegazos hechos en engines malisimos, pero él que tiene la habilidad no necesita muchas herramientas.

  • Agustí Montes

    Ahora hay un gran BUM con los motores de vidoejuego, aunque lleven ya muchos años usandose en el mercado. Relmente, hay muchísimos motores disponibles y salen muchos nuevos, solo hay que ver la lista en wikipedia: http://en.wikipedia.org/wiki/List_of_game_engines

    Llegado a este punto, cuesta escoger un motor. Estas apostando por un sistema y no quieres que sea el causante de que tu royecto falle. En esta situación me estoy encontrando yo, aunque un poco más decidido.

    A principios de año, encontré un motor llamado Godot Engine (http://www.godotengine.org/), es software libre y gratuito, y yo estoy muy metido en el mundillo del SL, así que era fantástico. Pero me preocupa que no cumpla con mis necesidades, y me preguntaba si podrías dar vuestra opinion :) Soporta 2D (que es lo que me interesa acutalmente) y 3D, puede exportar a Windows, GNU/Linux, Mac, HTML5 con javascript, Android e incluso BlackBerry (no recuerdo si iOS también, creo que sí); y lo más importante, puedo ejecutarlo en mi distribución GNU/Linux.

    ¿Qué opinión os da? Yo no estoy seguro, se pueden hacer cosas, porque la emprsa que lo ha sacado lo estaba usando mucho tiempo, pero no conozco ningún proyecto independiente de la compañia que lo haya usado, además de las típicas pruebas…

    Gracias por vuestro tiempo (Menudo parrafón)

    • Enrique Hervas

      Pues no conozco ese motor así que no puedo ayudarte mucho. Le he echado un ojo a la web, y no tiene mala pinta. Todo depende de lo que quieras hacer. Sólo puedo recomendarte que lo pruebes, ya que es gratuito. Piensa en las características de tu juego que más problemas pueden dar, y trata de prototiparlas, para ver si son posibles o van a dar demasiado lío. Siendo de código abierto, tiene la ventaja de que si tienes suficiente nivel de programación y te falta algo, puedes tratar de hacerlo tú mismo, cosa que con otros motores no es posible. Si no es el caso, asegurate de que haya suficiente comunidad detrás que te permita solucionar los problemas que vayan surgiendo, si no es muy conocido, te costará mucho encontrar ayuda.

      • Agustí Montes

        Eso me temía. Mi nivel de programación no es malo, de hecho es lo que mejor se me da, pero hay mucho trabajo ahí xD

        Pero, como tu dices, no voy a saberlo de veras si no lo pruebo ^^

        Gracias por tu respuesta!

        • Pablo Marcos

          Yo lo he probado y la verdad es que es muy completo. La pega que yo le vi era que la exportación a HTML5 funcionaba un poco regular (sobre todo en 3D) y que usaba su propio lenguaje de scripting.

          Uno que me ha conquistado a mí ha sido el Urho3D http://urho3d.github.io/. La página web no le hace justicia porque es feorra, peor la calidad del código es excelente. Su principal desarrollador lo hizo tras usar durante años Ogre3D y ver sus deficiencias. Tiene scripting con Lua y AngelScript, pero si te gustan las curvas te aconsejo que uses C++ para sacarle todo el potencial. Tiene un editor de niveles y es por supuesto, multiplataforma. Otros motores que están muy bien son el Polycode y el Torque2D/Torque3D.

          Saludos!

          • Agustí Montes

            Aportaremos un poquito ademas de mi fantástica presencia…

            En Wikipedia hay una lista de los egnines, primero salen los libres y luego, los de pago (más utilizados, desgraciadamente) http://en.wikipedia.org/wiki/List_of_game_engines

  • panreyes

    Yo recomiendo BennuGD. Es un motor libre 2D bastante potente que permite mover cosas como esta:
    https://www.youtube.com/watch?v=6wCKuYQb4bg

    Software libre, y con port para casi cualquier plataforma que se os ocurra.

    Y para principiantes, Gamesonomy! :)

  • frikideloscojones cojonudo

    Este articulo es viejo pero estaba revisando esta web, aqui hay un hueco en la definicion que es un motor grafico y ..que otro tanto es un motor de juegos.. un motor de graficos es como un directx alguno lo llamaria una API bueno tambien es otro hueco?, que es un motor grafico?, que es un motor de juegos que es una API?… se complica mas la cosa.. motor de graficos es un conceptro muy viejo que me recuerda cosas como Ogre3D, DarkBasic, Torque Studio…. XNA Games Studio… y por tanto que cosas como Unreal, CryEngine…Unity me suenan mas a motores de juego aplicaciones completas que con el minimo codigo permiten desarrollar juegos

    …. claro lo anterior te lo vendian como motores de juego pero solo eran capas para alejarnos de las APIs no excentas de escribir mucho codigo..

    .cerrando el tema claro API son bibliotecas de programacion con un objetivo de desarrolar de juegos como hablo OpenGL, OpenAL, DIrectX, Glide…etc ..etc

    para los viejunos estos motores de juegos son cosas muy abstractas que nos recuerdan lo mediocres que eramos y no podiamos hacer juegos con estos motores graficos ..ahora contratas un dibujante y haces un juego….lo cual es una bendicion