Pueblerino 117


Desvaríos varios Some nonsense
Idioma Language

Activar Antialiasing en The Chronicles of Riddick: Escape from Butcher Bay

Siendo la tercera vez que jugaba a este juego, lo primero en lo que piensas antes de empezar es en que le falta antialiasing.

Buscas por la red, y no hay información alguna sobre cómo activarlo, ya que el juego carece de tal función dentro de los menús del juego, y el archivo de configuración tampoco tiene ninguna documentación (más bien no hay nadie que lo haya destripado y haya contado su funcionamiento por la red).

Sí que es cierto que puedes forzar el antialiasing desde el panel de control y las propiedades de pantalla de Windows, aunque no siempre funciona, así que no es una solución. Incluso a veces hay que usar aplicaciones de terceros para forzar al driver a aplicar antialiasing porque muchas veces, los drivers (tan bien hechos) no aplican correctamente el antialiasing a las aplicaciones OpenGL.

Así que, esta vez, cabezón que es uno, lo he intentado por mi cuenta.

No ha sido un trauma muy grande, porque la segunda vez que jugué ya trasteé con la consola de comandos del juego, aunque no saqué nada en claro, porque una de las cosas que no ayudan afinar el juego es que la consola es muy pequeña y no se pueden (o no sé como hacerlo) paginar los resultados así que es "complicado" mostrar todos los comandos posibles y hay que ir mostrando uno a uno, letra a letra. Esto es, pulsar a e "Intro" y salen todos los comandos que empiezan con a; lo mismo para la b; lo mismo para la c; etc.

Sea como fuere, esta vez he sido cabezón y me armé de paciencia, así que, tras unas cuantas listas de comandos, acabas llegando al comando "vmultisampletaps" (letra v, para que entendáis el tiempo que llevó llegar al comando). Un comando, que, evidentemente, parece sospechoso de ser el que activa el antialiasing, por aquello de v=video, multisample y taps..., ni idea de que es taps, pero se traduciría como usar. O sea, resumiendo, uso de antialiasing de vídeo.

No menos que temeroso, porque, sin documentación, esto es prueba error, y a saber que puedo hacer, pruebo el comando y la consola da un error de que para utilizar el comando es necesario activar, mediante el archivo Environment.cfg la opción OpenGL "GL_ADVPIXELFORMAT", es decir, activar el formato avanzado de pixel en opengl. En este sentido, un 10 para los programadores al incluir información tan explícita en la consola.

Pues, salgamos del juego y probemos.

Metemos esta línea en el archivo Environment.cfg, que está en la carpeta donde hayamos instalado el juego, con el siguiente formato, sin las comillas, "GL_ADVPIXELFORMAT=1" (igual a 1 para activar).

Volvemos a ejecutar el juego, abrimos la consola, para lo que hay que pulsar la combinación de teclas CTRL+ALT+\ (o CTRL+ALT+~ en un teclado en inglés) y escribimos vmultisampletaps y un valor que será el antialiasing a aplicar, que deberá ser siempre par (por obviedades de funcionamiento de antialiasing). Es decir, si queremos aplicar un antialiasing de 2x, escribiremos "vmultisampletaps 2" (sin las comillas); si queremos un antialiasing de 4x, escribiremos "vmultisampletaps 4"; y así sucesivamente.

Comprobaremos que, efectivamente, el comando se aplica y que tenemos antialiasing al factor que le hayamos pedido al comando (y como os muestro en el ejemplo de más abajo).

Eso sí, en mis pruebas he comprobado que un valor por encima de 4x tiende a emborronar, en exceso, las texturas, así que, mi recomendación es que no se usen valores por encima de 4x, aunque puede ser que todo se deba a mi propio hardware. Eso sí, también es cierto que por encima de 4x, el Moire de las texturas, debido a que son texturas muy detalladas, desaparece completamente, así que, si te molesta el Moire, elige tu mismo si quieres un antialiasing más alto o no, a costa, eso sí, de emborronamiento en el resultado.

También notarás, según tu hardware, un importante bajón de frames por segundo según pones valores más allá de 4x.

Ejemplos sin aplicar AA, a 2x y a 4x:

Sin AA (PNG) Con AA a 2x (PNG) Con AA a 4x (PNG)<

Lo que no he podido hacer es ejecutar automáticamente el comando, ya que el ejecutable no lo acepta como parametro, ni sirve incluirlo en el archivo Environment.cfg, así que tendrás que introducirlo a mano cada vez que inicies el juego y después de abrir la consola. Lo bueno de esto es que el archivo Environment.cfg guarda un historial de comandos introducidos en la consola, así que sólo tendremos que pulsar la tecla arriba del teclado para navegar por el historial de la consola y para mostrar el comando de antialiasing y pulsar intro. Así que tampoco es un dilema muy grande, aunque no deja de ser una molestia, pero es el precio que tenemos que pagar al hacerlo a mano y que los desarrrolladores no incluyeran la opción de antialiasing en el juego. No todo iba a ser color de rosa :-S