Este artículo explora cómo el juego de 1994, Pizza Tycoon, simulaba tráfico en una CPU de tan solo 25 MHz. El autor, quien está reimplementando el juego en código abierto (Pizza Legacy), describe su frustración inicial al crear simulaciones de tráfico mucho más complejas y lentas que la original. La clave del éxito de Pizza Tycoon reside en una aproximación sorprendentemente simple y eficiente.
En lugar de implementar algoritmos sofisticados de pathfinding o detección de colisiones, el juego utiliza un sistema basado en la dirección inherente a cada tipo de baldosa del mapa. Cada baldosa de carretera está codificada para indicar la dirección permitida del tráfico (horizontal, vertical, esquina, etc.). Los coches no 'planifican' su ruta; simplemente siguen la dirección indicada por la baldosa en la que se encuentran. Las esquinas funcionan como puntos de decisión, donde el coche 'lanza una moneda' para decidir si continúa recto o gira.
El movimiento es simple: un píxel por frame. La detección de colisiones, aunque aparentemente O(n²), es optimizada al máximo. El juego realiza una verificación rápida de la dirección del coche; si los coches viajan en direcciones opuestas (este-oeste, norte-sur), la verificación se omite inmediatamente, ahorrando ciclos de CPU. Las colisiones se resuelven simplemente deteniendo el coche bloqueado durante 10 frames, creando de forma natural atascos de tráfico.
El artículo destaca que el autor, al principio, se dejó llevar por conceptos modernos de desarrollo de juegos (scene graphs, pathfinding, detección de colisiones) que eran innecesarios y contraproducentes en el contexto de una CPU tan limitada. La reimplementación exitosa se basó en un análisis exhaustivo del código ensamblador original, con la ayuda de modelos de lenguaje para comprender mejor su funcionamiento. La lección principal es que, a veces, la solución más simple y eficiente es la mejor, especialmente cuando se trabaja con recursos computacionales limitados. El juego también utiliza un sistema de 'spawn' de coches basado en la densidad de tráfico de cada distrito, y respawn de coches que salen de la pantalla, manteniendo el flujo de tráfico constante y eficiente.
