ToGL – La Piedra de Rosetta de Valve

La gran cuestión que se hace la humanidad desde hace milenios. La búsqueda de la verdad que generaciones han perseguido. La gran cuestión a la que se enfrentan muchos gamers a diario (y que yo como Community Manager recibo e intento responder):

¿Por qué un juego sale para una plataforma y no para otra?

Esa es la pregunta del millón. Otro día quizás profundice más en ella, pero hoy quiero centrarme en una parte concreta de la cuestión: ¿por qué los juegos de PC son para Windows en su mayoría y se deja a Linux (o Mac OS) de lado? La respuesta puede ser clara: por la cantidad de jugadores que hay sobre Windows respecto a otros sistemas, pero es un problema que ahora se le presenta a Valve y a su nuevo producto estrella SteamOS, corazón de las Steam Machines. ¿De que sirve un sistema diseñado para jugar si no tienes juegos?

SteamOS es un sistema basado en Linux, plataforma que ha ido recibiendo cada vez más apoyo por parte de la empresa de Gabe Newell, el todopoderoso lider de Valve (cuyo único defecto es no saber contar hasta tres) con la adaptación de su motor gráfico Source que ha permitido que jugadores de Linux (y Mac OS de paso) puedan jugar a juegos como Team Fortress 2, Left 4 Dead, Portal o Half-Life 2.

¿Y por qué un programa diseñado para una plataforma no funciona en otra? Principalmente por el idioma que habla el programa. En el caso de un videojuego la parte más importante es todo lo que define los gráficos del juego, lo demás suelen ser funciones sobre el sistema operativo, que aunque importantes, son mucho más fáciles de solucionar ya que afecta a puntos menores como la comunicación de red, el sonido o los dispositivos de control. La parte gráfica es donde se define como pintar los mundos del juego, como realizar las animaciones, la iluminación… y el principal problema que existe para Linux es que DirectX es una tecnología de Microsoft que se reserva para utilizar en exclusiva en Windows (y Xbox). Esto significa que cualquier programa cuyos gráficos estén basados en DirectX (revisad los requisitos mínimos de cualquier juego de PC y mirad en cuantos encontráis referencias a la versión de DirectX necesaria) no podrá ser ejecutado en Linux sin previamente redefinir todo uso de DirectX para utilizar OpenGL, que es el equivalente que utiliza Linux, Mac OS y prácticamente cualquier sistema que no sea de Microsoft. El problema es que no es tan sencillo, ya que DirectX y OpenGL funcionan de una forma radicalmente distinta en la forma de interpretar los datos de un espacio 3D y operar con ellos, por lo que migrar de un sistema a otro supone un enorme quebradero de cabeza.

Con ese grandísimo problema, se comprende que tan pocos juegos salgan para Linux, lo que podría condenar la plataforma de Valve… si Valve no tomase medidas. Y es aquí donde parece que están trabajando tras anunciar ToGL, una herramienta que Valve pondría a disposición de los desarrolladores y que transformaría el código de Direct3D (la parte de DirectX encargada de gráficos tridimensionales) a OpenGL de forma automática. Una auténtica Piedra de Rosetta como la que permitió entender los jeroglíficos egipcios y que facilitaría enormemente las cosas a aquellos desarrolladores que no estén utilizando motores gráficos multiplataforma o que no estén trabajando con OpenGL sobre Windows (cosa que es posible, pero que por comodidad muchas veces no se utiliza en beneficio de DirectX).

De momento parece ser que este traductor milagroso funciona de forma muy limitada, pero la idea es buena y podría llegar a suponer una revolución a la hora de lanzar juegos de PC para varios sistemas (no hay que olvidar, que el hardware es el mismo con independencia de utilizar Windows o Linux). No es que sea la panacea que lo cura todo, queda ver como adaptar el resto de funciones de un juego además de los gráficos, pero sin duda sería una inmensa ayuda y el posible caballo de batalla de Valve para conseguir que su plataforma triunfe.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.