Cuando el problema se redujo a una letra (Aliens: Colonial Marines)

Saltarse la fase de testing siempre tiene consecuencias.

Si andáis por el mundillo del videojuego probablemente habréis oído hablar del infame Aliens: Colonial Marines. Este título estuvo envuelto en la polémica prácticamente desde el principio: problemas de desarrollo, retrasos, múltiples despidos en el estudio… y una de las inteligencias artificiales más infames de la historia del videojuegos, en la que los aliens corrían hacia el jugador de forma completamente abierta siendo unos blancos ridículamente fáciles.

Durante años había sido una nota a pie de página de la franquicia de aliens, pero este fin de semana volvió a resurgir cuando un modder (aficionado que hace modificaciones en un juego por diversión, aportando nuevo contenido) nos dejó información sobre un cambio que había hecho. Para quién el inglés no sea lo suyo, traduzco la entrada del modder jamesdickinson963:

Pronto haremos una nueva actualización que incluirá un cambio, que debido a los informes recibidos de verios jugadores sobre cuánto afecta este al juego, simplemente tengo que postear ahora.

Dentro del fichero de configuración del juego (My Document\My Games\Aliens Colonial Marines\PecanGame\Config\PecanEngine.ini) está la siguiente línea de código:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTeather

Seguro que os daréis cuenta del error deletreando:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTether

Si se corrige como arriba y juegas, ¡la diferencia es tremenda!

¿Por qué es importante esta línea? Hay dos razones :

  1. AttachXenoToTeather no hace nada. simplemente está vacío o no existe

  2. AttachPawnToTether hace MUCHO. Controla el ajuste de posición táctica, patrulla y zona de objetivo

Cuando aparece un Xeno, se le adjunta una zona a la que atar (tether). Esta zona le dice al Xeno qué zona es su área de combate, y cuáles son las diferentes salidas. En combate, un Xeno se verá forzado a cambiar a una nueva zona de atado (como por ejemplo, detrás tuya) para falquear, o dispersarse si están agrupados, etcétera (aviso esta es una idea que he sobreentendido, no puedo ver el código real, solo unos fragmentos).

Cuando el juego intentaba hacer esto antes, no pasaba nada. ¡Y ahora sí!

Para mí, esta es de desmayo. Lo errores tipográficos suceden a menudo, sí, pero para eso los desarrolladores tenemos una serie de herramientas de detección en nuestros IDEs (Entornos de Desarrollo Integrados, en otras palabras, las plataformas en las que programamos) que nos dan, además de un bonito coloreado sintáctico, unos emparejamientos de símbolos y avisos de buenas prácticas de programación, lo que me lleva una vez más a: ¿cómo puede haber pasado esto? Debería haber saltado una alarma diciendo que PecanSeqAct_AttachPawnToTeather no apunta a ningún sitio.

Los testers de ese juego hablaban de él cómo si hubiese sido la guerra, y viendo esto, ya nada me extraña. Me reafirmo una vez más en que hay que respetar la labor de estos profesionales que aseguran la calidad del producto, porque este bochorno podría haberse evitado.