El destino estaba bajo tierra
El auto de fuga girando sobre sí mismo, raspando una pared y sin irse nunca de la manzana es la queja más vieja de este proyecto. Sobrevivió a cuatro explicaciones. Todas hablaban de la conducción —la estrategia equivocada, el límite de velocidad equivocado, la IA del propio juego metiendo la mano— y todas estaban mal, porque el problema nunca fue cómo conducía. Era a dónde lo mandábamos.
El destino se calcula tomando la dirección opuesta al jugador y avanzando trescientos metros por ella. Esa dirección se normalizaba en tres dimensiones, o sea, contando también la altura y no solo el plano del mapa. Suena inofensivo y no lo es. Si el jugador está por encima o por debajo del auto, la diferencia de altura entra en esa dirección, se multiplica por trescientos y sale del otro lado convertida en un destino debajo de la calzada. Medido en una sola sesión: 218 metros abajo, después 41 arriba, 35 arriba, 34 abajo, 42 abajo, 19 abajo.
El motor del juego no tiene ruta hasta un punto enterrado en la geometría del mundo. Así que hace lo único que puede con una orden que no puede cumplir: gira el auto hacia el punto, se mete contra lo que haya en el medio, retrocede y vuelve a intentarlo. Todo lo que parecía conducir mal era un auto intentando, obediente, llegar al centro de la Tierra.
Si aplanas la dirección antes de escalarla, el desvío se va a cero. Tres muestras, las tres exactamente cero: auto a altura 50, destino a 50; 45 y 45; 23 y 23. Después, el caso que lo rompía siempre, con el jugador abajo y la llamada arriba: el auto pasó de estar a veinte metros a estar a cuatrocientos trece, rozando los cien kilómetros por hora.
Esa misma noche apareció un hallazgo más pequeño que cambia todas las noches que vienen. Durante un mes este proyecto reinició el juego después de cada cambio de código, porque sus propias reglas escritas decían que redscript no tiene recarga en caliente, es decir, ninguna forma de cargar código nuevo con el juego abierto. Sí la tiene, con RedHotTools, y el estado de la partida en curso sobrevive. Dos recargas en una misma sesión, la segunda presionada en plena persecución, y la llamada siguió viva dos minutos más, con auto y todo. Un mes de reinicios por una premisa que nadie había comprobado.