Cuando la computadora “observa” esa imagen, ¿qué percibe? Tan solo son unos cuantos bytes, en este caso 64.000 bytes que varían su valor entre 0 y 3, nada más. (Resolución CGA: 320x200 a 4 colores). ¿No reconoce que se tratan de pequeños automóviles en una pista? No, a menos que lo especifiquemos en una variable. ¿No reconoce que debe transitar dentro de la pista? No, a menos que lo determinemos por medio de condiciones.
En el momento en que se estaba desarrollando el juego, debido a la poca experiencia en programación y debido a que en proyectos anteriores se habían utilizado demasiadas variables, se optó por usar la menor cantidad variables posibles. Hacer que la IA de los corredores se adaptara a todo tipo de pista. Los únicos datos que la computadora tendría serían algunos puntos de verificación y la coordenada de la salida de la pista.
¿Cómo sabría la computadora hacía donde girar para guiar al corredor a la salida? Para hacerlo se utilizaron los datos de colores del escenario. El área transitable de la pista siempre sería de color azul. Por lo tanto, la computadora "entendería" que mientras el corredor se encontrara sobre una superficie de color azul, iba en la posición correcta. Luego, por medio de otros puntos de verificación en torno al corredor, determinaría hacia donde girar para seguir dentro de la pista. Esto parece razonable, y el uso de variables es mínimo. Pero, ¿qué resultado tendría? Lo vemos en el siguiente video:
A grandes razgos, la computadora determina la mayoría de las veces hacia donde girar para dirigir al corredor a la salida. Sin embargo, ocurren varias imprecisiones en ciertas partes complejas de la pista. Por lo que, en ocasiones resulta prácticamente imposible para la computadora determinar el giro correcto. Esto intentó ser arreglado provisoriamente por medio de algunas acciones al azar. Pero, no fue suficiente, el resultado no es el esperado. Entonces, ¿cómo solucionar este problema? Recientemente, se decidió hacer algunas modificaciones en el código que controla los corredores. ¿Cuál fue el resultado? Lo veremos en la siguiente entrada.
No hay comentarios.:
Publicar un comentario