Destripando los ports
¿Por qué algunas versiones se ven mejor que otras?
Antes de entrar más a fondo en el tema, creo que es importante aclarar qué es un port. Al proceso de convertir un juego de una plataforma a otra, se le suele denominar "portar". A veces, especialmente en foros, se utiliza (podríamos discutir si de forma incorrecta o no) el término port para referirnos a una de las múltiples versiones del juego, pero en realidad sólo se consideran "ports" cuando se ha partido de una versión y se ha convertido a otra, manteniendo una versión "principal" y convirtiendo al resto de plataformas.
Algunos os preguntaréis: ¿por qué hay que "portar el juego"? Porque, sencillamente, las plataformas son diferentes. Cada vez son más parecidas, es cierto, pero, por ejemplo, Xbox 360 se programa usando DirectX mientras PS3 tiene su propio API, y en PC puedes usar DirectX a menos que quieras tener versión para Linux o Mac, que usan OpenGL. Aunque, cuando nos enfrentamos a desarrollos multiplataforma, los equipos con experiencia saben cómo diseñar el motor para que la parte dependiente de plataforma sea lo más pequeña posible. Sin embargo, aunque esta parte está bien aislada, es necesario invertir un poco de trabajo para cada versión simplemente para que "arranque".
Pero, una vez tienes el juego funcionando, hay que empezar a trabajar en las funcionalidades particulares de cada plataforma. Convertir entre Xbox 360 y PS3 no es demasiado difícil en este aspecto porque las dos son consolas, los mandos son muy parecidos (por no decir calcados) y las dos tienen más o menos las mismas funcionalidades. Pero, en el caso del PC, tienes un control diferente y un tipo de jugador que espera ciertas cosas, como la posibilidad de configurar los gráficos con bastante detalle.
Ya hemos visto que las máquinas pueden tener diferencias tanto de librerías de programación como de funcionalidades, pero también hay que tener en cuenta las diferencias de hardware. Si la máquina a la que estamos portando el juego es menos potente, tendremos que rebajar el detalle del juego para que funcione bien. Y aquí es donde más diversión encontramos cuando leemos sobre ports.
Si una consola tiene más memoria gráfica, generalmente se verán mejor los juegos; siempre y cuando el equipo que desarrolla el port tenga las texturas originales. Puede que el equipo que está desarrollando el juego se encargue de algunas versiones, pero, a veces, el port no lo desarrolla el estudio original: se externaliza a un tercero. Esto puede complicar el trabajo. A veces tienes bien documentado cómo funciona el juego y tienes acceso a las fuentes originales del mismo (esto es lo normal cuando el port se desarrolla en paralelo al juego) y este equipo externo, aunque no conozca la base de código, puede tocar lo que quiera (añadir/quitar botones, arreglar bugs, cambiar texturas). Pero imaginemos que no es el caso, porque quieres portar un juego muy viejo o has perdido los originales. En ese caso te tocará apañarte con lo que tengas.
¿Por qué interesa externalizar a otras compañías? Es una cuestión de coste y recursos disponibles.
Si es más fácil que el equipo original haga el port: ¿por qué interesa externalizar a otras compañías? En la gran mayoría de casos es una cuestión de coste y recursos disponibles. Por ejemplo, un desarrollador indie que ha lanzado un juego en XBLA y ahora quiere sacarlo en PS3/Vita pero no conoce nada de la plataforma. Es mucho más barato y rápido contratar a un equipo de gente con experiencia en PS3 (y que ya tenga el SDK) para que te porte el juego que ponerte tú a, primero, mover todos los papeles para conseguir el SDK, luego aprender y, finalmente, enfrentarte a todos los problemas que salgan durante el port y su certificación. El dinero que cuesta el equipo externo, seguro que es menos que el coste tanto monetario como de oportunidad de hacerlo uno mismo.
Pero no sólo es un recurso para indies; a una compañía grande también le interesa externalizar en ocasiones. Por ejemplo, el port a PC de Castlevania no lo hizo Mercury Steam: lo desarrolló Climax. Como Mercury Steam estaban trabajando en Lords of Shadow 2, Konami contrató a un equipo externo, les dio todo el código y datos de Lords of Shadow y estos se encargaron de dejarlo publicable en PC.
Estos equipos externos son conocidos por sus juegos basados en licencias; ya que, normalmente, los equipos que trabajan haciendo ports también hacen desarrollos por encargo. Sin embargo, un port es un trabajo que puede ser interesante para la compañía porque, sobre todo, es trabajo de programación, con lo que pueden mantener estable el grueso del equipo haciendo un port mientras terminas alguna licencia o hasta que te entra otra nueva. También es una forma interesante de arrancar, ya que permite ir montando un equipo, empezar a levantar tecnología de forma paralela y estar pagando sueldos desde el primer día.
Pero, incluso aunque las personas que se encarguen sean competentes (os sorprendería saber lo buenos que son alguna gente que hay detrás de ciertos ports), a veces se encuentran con que hay cosas muy costosas de cambiar. Un buen ejemplo es la resolución de Dark Souls. Aunque cambiar el render para que el 3D se pinte a lo máximo que de tu tarjeta no era especialmente complicado (lo acabó haciendo un modder en unos días), todo el HUD estaba hecho a 720p y, por tanto, se veía fatal si te dejaban cambiar la resolución. Hay trucos para solventar esto pero, paradójicamente, este port lo hizo el equipo original, que no tenía la experiencia desarrollando para PC. Igual, en este caso, hubiera sido mejor externalizar.
La mayoría de ports salen tan bien como recursos se ha invertido en ellos.
Como siempre, terminamos hablando de dinero: ¿cuánto cuesta hacer un port? La respuesta es que todo lo que estés dispuesto a invertir. Puedes conformarte con dejar el juego "jugable" o puedes intentar afinar bien el juego para tu plataforma objetivo. Pero claro, esto puede abrir las proverbiales "latas de gusanos". Imaginemos un shooter; le pones un control 100% pecero, con cambio de arma fácil, quitas las ayudas del autoapuntado para que se maneje de cine con ratón... quizás el resultado es que el juego se maneja bien, pero es demasiado fácil. O quizás el multijugador ya no tiene el "rollo" que funcionaba tan bien con movimientos y apuntados más lentos. ¿Cuánto tiempo quieres que le dedique el equipo a darle el mimo que requiere el trabajo? Y, si no es el equipo original, ¿conocen lo suficiente el juego como para poder cambiar cosas del diseño de juego sin empeorarlo? Puede que sí, pero quizás en un estudio que haga títulos de temáticas diversas (ya que trabajan por encargo) no tengan el conocimiento de un estudio que lleva años haciendo FPS.
Ahora estáis en situación de entender porqué algunos ports salen mal. Como casi siempre, la respuesta es, normalmente, por dinero. La mayoría de ports salen tan bien como recursos se ha invertido en ellos. Porque quizás no se veía suficiente mercado para invertir más, que es lo que nos ocurre en PC. Obviamente, lo mejor sería que el equipo original, con tiempo y experiencia, le dedicara todo el tiempo que necesitase. Pero las editoras son empresas y se mueven bajo parámetros de costes y beneficios.