En la operación Health habíamos identificado un problema con el arma L85A2, después de analizar un vídeo de la comunidad que había subido ExecCS. A primera vista, parecía que el arma no estaba alineada, pero nos pusimos a investigar un poco más y vimos que había un problema que afectaba a todas las armas.
El problema venía del hecho de que desplazamos el arma con respecto al centro de la pantalla cuando aplicamos el retroceso. Esto se hacía para crear un tipo de sistema de dispersión al tiempo que la bala se dispara hacia el punto al que el arma está apuntando. Por desgracia, no funcionaba como pretendíamos, y el contorno del arma en primera persona creaba un defecto de paralaje entre el arma y el mundo. El arma que empuñas se renderiza en un campo de visión fijo de 50 FOV, mientras que el mundo se renderiza en un campo de visión de 60 para consolas, y en cualquier punto entre 50 y 90 para PCs. Debido a esto, cualquier desplazamiento que hagamos con 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.
Esto significa 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 que hemos dado ha sido quitar la compensación por completo. Desgraciadamente, 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, pensamos entonces que lo mejor que podíamos hacer era ajustar todos los retrocesos.
Al intentarlo, nos encontramos con 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.
Así que, por ejemplo, si disparabas un cargador entero con el viejo sistema, la primera bala iría justo al punto al que estás apuntando. Para calcular la trayectoria de la segunda bala, el motor elige un punto aleatorio dentro de una serie de parámetros en un patrón con forma de diamante. El cálculo de la tercera bala requiere que el motor tome la posición de la segunda bala como punto de origen (el 0,0) y a partir de ahí toma otro punto aleatorio dentro del patrón de diamante, y para calcular la cuarta coge la posición de la tercera, como punto original del diamante, etcétera, etcétera.
Eso nos deja con un sistema que sigue teniendo una gran dependencia de la generación aleatoria de números y tira demasiado de la cámara haciendo que las armas parecieran erráticas o impredecibles, lo cual no nos convenía. Así que vimos que teníamos una buena oportunidad de revisar el sistema de retroceso.
Retroceso por etapas
Entramos en el retroceso de múltiples etapas, que nos permite definir tantos esquemas de retroceso como queramos, en cualquier etapa durante una ráfaga en modo totalmente automático. Volvamos a nuestro ejemplo para explicarlo. Obviamente, la primera bala va donde apuntas, exactamente. 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 que tenemos un control perfecto sobre el punto de impacto de cada bala, sin que haya ningún proceso de generación aleatoria de números involucrado. Con este sistema podemos crear patrones de retroceso mucho más precisos.
Nuestra visión del retroceso en el futuro
Nuestra idea es tener un sistema de retroceso que sea fiel a Siege y a las sensaciones que crea el juego, y que no haga que el jugador sienta que alguien ha hecho trampa, o que le hemos robado un disparo muy preciso, o que, por el contrario, se puede tener buena suerte y acertar a pesar de disparar mal.
No queríamos agobiar a los jugadores con un montón de patrones de retroceso que aprender, así que lo que hemos hecho es dividirlos en familias. Cada familia tendrá el mismo tipo de patrón, a pesar de haber 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 algunos subfusiles de baja cadencia de tiro están excluidos de la lista porque su retroceso no se ha rediseñado por completo. Hemos quitado la pequeña compensación del arma pero no afectaba al retroceso lo suficiente como para garantizar que haya un cambio notable.
Próximas pruebas
Obviamente, este cambio no es uno de los que queremos implementar sin hacer las oportunas pruebas. El sistema de retroceso actualizado estará disponible en los servidores de pruebas técnicas el 20 de septiembre.
Estamos deseando que probéis el nuevo sistema, y os animamos a que nos enviéis vuestros comentarios al subredit de los SPT de Rainbow 6.