La iniciativa Open Source, que no debemos confundir con el Free Software,  apuesta  por el código publicado y a disposición de todos, y ha abarcado muchos ámbitos del mundillo de la programación desde que se acuñó el término en los años 90. En la actualidad, y surgidos de esta iniciativa, se pueden encontrar programas que van desde la edición de fotografía y vídeo a reproductores de música, programas de diseño vectorial e incluso una suite completa de oficina gracias a la agrupación LibreOffice. Sin embargo, la iniciativa, que tiene un calado considerable en muchos sectores y sigue generando programas muy competitivos, no ha calado tanto en el mundo del videojuego.

Y es que el mundillo del videojuego tiene la desventaja de que, en general, suele desfavorecer una colaboración colectiva no jerárquica más que ninguna iniciativa de las promulgadas por el movimiento Open Source. La componente artística asociada a un videojuego puede llevar a un desacuerdo mayor, además de requerir mucho tiempo el realizar un diseño coherente del contenido y ser difícil coordinar estilos artísticos y, sobre todo, las diferentes opiniones de los distintos integrantes del equipo. Esto es solventado por los estudios mediante el establecimiento de un director artístico que tiene la autoridad para definir las lineas de diseño del juego.

Puede ser que sea por ésto por lo que no ha habido tantos acercamientos al desarrollo de código abierto desde el punto de vista del contenido como desde el del engine del videojuego. Esto tiene su razón de ser si se piensa en que un engine como tal no define el contenido ni la gran mayoría de aquello que caracteriza a un videojuego. Su apertura y reutilización permite la producción de mucho más contenido basado en él, en este caso juegos, lo cual es la razón por la cual muchos engines privativos como Unity3d o Unreal Engine se comercializan.

En contraposición a los dos engines privados más famosos de la actualidad se encuentran engines como Torque3d o renderers como Ogre3d , que son Open Source y de gran calidad, estando sus respectivos códigos publicados en sus páginas web, y que permiten a desarrolladores crear sus juegos en base a ellos sin necesidad de hacer su código público gracias al uso de una licencia MIT (ya se sabe, cuando uno entra en el mundo de los negocios, todo se complica). Esta licencia no convierte a los juegos desarrollados con ellos obligatoriamente en Open Source como otras licencias de la iniciativa, lo cual significa que mucho del código utilizado para crear el juego sigue siendo privado, al igual que el contenido e ideas de propiedad intelectual del autor. Además, no tienen porqué ser publicadas las modificaciones realizadas al engine, resultando atractivo para aquellos desarrolladores que no deseen compartir su código.

Venetica_from_Ogre3d_gallery

Imagen renderizada con el Ogre3d renderer.

Ésto no quiere decir que no haya juegos que publiquen absolutamente todo su contenido. El sistema operativo GNU/Linux es un bastión del software libre, y en su seno nace una de las iniciativas más desarrolladas de software libre que atañe a videojuegos que he visto. El juego Tux Kart Racer es un videojuego 100% libre que lleva en desarrollo desde 2006. Ésto significa que la totalidad de su código es libre, y todo el contenido gráfico y creativo que se puede encontrar en el juego es distribuido con licencia creative commons. La verdad es que el juego ha mejorado en apariencia con la última actualización de su engine, que se puede ver en el siguiente vídeo. Sin embargo, si uno se abstrae del hecho de que el contenido es generado por gente que no obtiene ningún beneficio monetario y dedican su tiempo libre a ésto, las animaciones son torpes, los niveles podrían mejorar en diseño  y los modelos en calidad. En lineas generales, se pueden ver deficiencias en varios aspectos, pero siendo un contenido desarrollado por amor al arte, y aunque eso no lo abstiene de críticas, si que merece respeto.

Y es que las últimas tecnologías en desarrollo suponen la gran ventaja competitiva de muchos estudios, que invierten mucho tiempo y dinero en desarrollar engines tan avanzados como éste, creado por los chicos de SquareEnix para su Final Fantasy XV.

No es de extrañar que con el paso de los años, cuando esa ventaja desaparece, algunas empresas decidan publicar su código con fines educativos o permitiendo a las bases de fans modificar el juego como nunca antes han podido, modeando el propio renderer e incluso hacer conversiones totales, como ocurrió en su momento con el Counter Strike original. Este es el caso del Jedi Knight: Jedi Academy, cuyo código al completo se publicó como homenaje a la ya difunta LucasArts bajo una licencia completamente abierta, la GNU GPLv2, aunque se mantenga el copyright de Activision desde 2003.  Este juego, además de presumir de uno de los mejores multijugadores de duelos de sable láser que ha publicado Lucasarts, ofrecía buenos efectos y gráficos para la época, y una controlabilidad muy buena, con lo cual ofrece mucho que aprender de su código basado en el Quake 3 engine.

swjkaspd_1

3 Jedi combaten a un Sith entre las tumbas de Korriban en el Jedi Knight: Jedi Academy

Sin embargo, ¿que sucede si esta apertura del código se realiza durante el desarrollo del juego, con el respaldo de un grupo profesional (sin intención alguna de descalificar a aquellos que dedican su tiempo a crear contenido como el de SuperTuxKart) dedicado al 100% al proyecto y con unas lineas definidas y una dirección clara? Éste es el caso del equipo de Keen Software House, encabezado por el CEO de la compañía Marek Rosa, encargado del desarrollo del videojuego Space Engineers, que todavía se encuentra en periodo de Early Access.

En su blog, Marek comentaba las razones por las cuales han decidido dar acceso completo al código. Sin embargo, es necesario aclarar que el código del juego y el del VRAGE engine siguen siendo propietarios de Keen Software House y en ningún caso está bajo una licencia de Open Source o de Free Software.

Si bien es cierto que algunos pueden criticar ésto como oportunista, como una forma de aprovecharse de una comunidad creciente y comprometida, es una iniciativa arriesgada que compromete su ventaja competitiva, lo que diferencia y desmarca a la empresa, y sin embargo de la que Marek cree que saldrán muchos beneficios.

Los primeros efectos ya se están notando en lo que en Keen Software House han pasado a llamar Community Updates, parches a errores y bugs hechos por los propios jugadores que los desarrolladores incorporan al juego. También incorporan varias sugerencias y extensiones a su ModAPI, la API (Application Programming Interface) que ofrecen los creadores del Space Engineers para modificar su juego. Y es que desde Keen han apostado muy fuerte por facilitar el modding de su juego, y han hecho esta publicación también como una manera de promocionar su engine.

Las claras desventajas de ésta iniciativa son que los competidores podrán ver los algoritmos e ideas utilizadas en su juego, pero los de Keen le restan importancia enfocándose en que su ventaja competitiva es ser lideres en lo que hacen, no seguidores, por lo que aquellos que copien su código no tendrán esa misma ventaja.

MinerWars0216_FullHD

Muestra del VRAGE engine aplicado al juego de Keen Software House, Miner Wars 2081.

¿Se puede ver pues como una ventaja competitiva la iniciativa de Keen? Para juzgar eso hay que ver que es lo que hace al propio juego diferente. Space Engineers está basado en su engine VRAGE, un engine fundamentado en voxels o píxeles volumétricos, del cual, a pesar de publicar el código que lo conforma, todavia son propietarios. Ha sido su manera de implementarlo en un mundo Sandbox lo que ha dado la popularidad, por lo que una mera copia no alcanzaría la misma notoriedad. En cambio, han obtenido una gran base de modders que dan mayor atractivo a su juego.

¿Sería atractivo para Keen hacer alguno de sus códigos, el del juego o el del VRAGE, Open Source según alguna de las licencias oficiales? En el caso del  propio juego no, taxativamente no, pues eso implicaría que cualquiera pudiera simplemente compilar el juego para sí mismo. En cambio en su engine, ofreciendo servicios de consultoría como otras empresas que mantienen software de código abierto, podrían atraer a más usuarios a implementarlo, parte de lo que pretenden con esta apertura de código.

Sin embargo, es mi opinión que, a nivel de los propios juegos, crearlos como código puramente abierto es más una entelequia o una obra de caridad que algo factible por un estudio que desee ser sostenible. Es posible afirmar que, en cambio, la publicación, que no liberación, de código en casos como el de Keen no resulta ninguna tontería, ya que, al menos de momento, la iniciativa aparentemente saca provecho de su base de usuarios en una relación simbiótica que solo les lleva a mejorar.

Los siguientes enlaces llevan a los repositorios de código: