En Operation Health identificamos un problema con el arma L85A2, después de estudiar un vídeo de la comunidad subido por ExecCS. Al principio, parecía que el arma no estaba alineada, pero tras investigar un poco más vimos que había un problema que afectaba a todas las armas.
El problema se producía porque desplazamos el arma con respecto al centro de la pantalla al aplicar el retroceso. Esto se hacía para crear un tipo de sistema de dispersión mientras la bala se dispara hacia el punto al que el arma apunta. Desafortunadamente, no funcionaba como pretendíamos, y el desplazamiento del arma en primera persona creaba un defecto de paralaje entre el arma y el mundo. El arma que sostienes se renderiza en 50 FOV fijos (campo de visión), mientras que el mundo se renderiza en 60 FOV para consolas, y en cualquier punto entre 50 y 90 para computadoras. Debido a esto, cualquier desplazamiento de la imagen en primera persona con respecto al punto central de la cámara, dará como resultado inmediato un problema de alineamiento con el arma.
De modo que las balas no siempre acababan exactamente donde está la retícula. A veces el margen era casi imperceptible, pero otras veces estaban bastante lejos de la retícula.
El rediseño
El primer paso dado es quitar la compensación por completo. Por desgracia, gran parte del retroceso venía de la propia compensación del arma, así que los retrocesos eran fáciles de controlar. Al no poder solucionarlo, lo mejor que podíamos hacer era ajustar todos los retrocesos.
Al intentarlo, nos enfrentamos a otro problema: la forma en la que funcionaba el viejo sistema de retroceso solo nos dejaba establecer una definición de patrón de retroceso.
Por ejemplo, digamos que disparabas un cargador entero con el viejo sistema. La primera bala iría al punto al que estás apuntando, pero para calcular la trayectoria de la segunda bala, el motor del juego elige un punto aleatorio dentro de un patrón de diamante, según unos parámetros. Para calcular dónde irá la tercera bala, el motor toma la posición de la segunda bala como punto de origen del diamante (el 0,0) y busca otro punto aleatorio. Para calcular la cuarta usa la posición de la tercera... y así sucesivamente.
Eso nos dejaba un sistema que sigue teniendo una gran dependencia de la RNG, la generación aleatoria de números, y mueve mucho la cámara haciendo que las armas parecieran erráticas o impredecibles. Así que aprovechamos la oportunidad de revisar el sistema de retroceso.
Retroceso multietapas
Ahora tenemos retroceso de múltiples etapas, que nos permite definir tantos grupos de datos de retroceso como queramos, en cualquier etapa durante una ráfaga en modo totalmente automático. Volviendo a nuestro ejemplo, la primera bala va donde apuntas, obviamente. La segunda se mueve a la derecha o la izquierda en un valor simple. Esta vez, podemos decirle al motor del juego “Para la segunda bala, usa estos datos de retroceso, y para la tercera bala, este otro grupo de datos”, etc. De ese modo, podemos decir dónde va cada bala en relación a la anterior.
El resultado es un control perfecto sobre la trayectoria de cada bala, sin que haya ningún RNG involucrado. Con este sistema podemos crear patrones de retroceso mucho más precisos.
Nuestra visión del retroceso en el futuro
Nuestra visión para el futuro es tener un sistema de retroceso que sea fiel a Siege y fiel a lo que sienten los jugadores, y que no piensen que alguien hizo trampa o le quitaron un disparo bien hecho o que alguien tuvo suerte y acertó un disparo muy mal hecho.
No queríamos que los jugadores tuvieran que aprender muchos patrones de retroceso, de modo que los dividimos en familias. Cada familia tendrá el mismo tipo de patrón, con pequeñas diferencias para asegurarnos de que hay algo que las diferencia.
Las armas se han dividido en:
AUG A2, Type-89, F2, C7E, AR33, G36C, L85A2, 556xi, PARA-308
552 commando, AK-12, C8SFW, 416-C, R4C
G8A1, M249, 6P41, T-95 LSW, PDW9, P90, Scorpion EVO 3 A1
MP5k, MP5, FMG-9, T-5, MP5SD, MPX, 9x19VSN, MP7
MK17 CQB
SMG-11, Bearing 9, Vector .45 ACP
Escopetas, pistolas, rifles de francotirador y algunas subametralladoras con baja cadencia de disparos están excluidos de la lista porque su retroceso no se ha rediseñado por completo. Hemos quitado la pequeña parte del desplazamiento del arma pero no afectaba al retroceso lo suficiente como para garantizar que haya un cambio notable.
Próximas pruebas
Desde luego, este cambio no es uno de los que queremos implementar sin probarlo a fondo. El sistema de retroceso actualizado estará disponible en los servidores de pruebas técnicas el 20 de septiembre.
Estamos deseando que prueben el nuevo sistema, y les animamos a que compartan su opinión en el subredit Rainbow 6 TTS.