Skip to content

Problemas encontrados

Anthypatos edited this page Jun 25, 2022 · 2 revisions

Código de sincronización

Una de las principales características que debía implementar la aplicación era el manejo del tiempo. Es necesario sincronizar los distintos elementos unos con otros. Las señales de tráfico permanecen un tiempo determinado en pantalla. Este tiempo es variable, y puede terminar de forma inesperada debido a un error del jugador. Además, en un primer momento se pensó en dejar un tiempo entre niveles, e incluso la aparición de señales de acierto o de error en base a las entradas del jugador. Sin embargo, se terminó descartando esta idea debido a la complejidad de la misma y a lo poco que aportaba al resultado final. Para la implementación del tiempo, previamente a la implementación se planeó utilizar corrutinas, debido al comportamiento de éstas, que se ejecutan a lo largo de múltiples frames. Estas corrutinas pausarían su ejecución el tiempo necesario. Sin embargo, también se descartó debido a la poca práctica con las mismas y la necesidad de sincronizarlas, optando por una implementación basada en las primitivas de tiempo de Unity y el control manual del tiempo.

Movimiento del vehículo

Debido a la naturaleza del juego en el que se muestra un coche avanzando hacia el infinito, era necesario idear una forma de representar esto. La solución fue sencilla: hacer que el coche avance a una determinada velocidad, y devolverlo al lugar de origen cuando se llegue a determinado punto. El mapeado y este punto "de retorno" deben estar bien definidos para que la transición sea suave y la impresión sea que el coche sigue avanzando normalmente. El resultado fue bastante satisfactorio. Este método es también utilizado por algunos juegos conocidos como Super Mario 64.

super-mario64-00602

Diseño de niveles

En un principio se planteó, para hacer más interesante el desarrollo, el realizar distintos mapeados por los que transcurriría el coche. El primero de ellos es el que utiliza la versión final, con la torre Eiffel de fondo. Desde aquí, el coche sería teletransportado mediante el método descrito en el anterior punto hacia otros mapeados. Otros escenarios planificados fueron las pirámides de Egipto, el Cristo Redentor de Río, el espacio exterior y la luna. Sin embargo, esto entraría en conflicto con los scripts de postprocesamiento. Las diferentes ubicaciones requerían tonalidades de color diferentes, e idealmente skyboxes y pistas sonoras únicas. Esto habría de ser compatible con el ya existente manejo del ciclo día-noche, que se basa en cambiar la temperatura del color, lo cual suponía un problema. Además, también era necesario crear nuevos edificios y elementos que se viesen al avanzar. Tras determinar que haría falta demasiado tiempo y esfuerzo, se decidió descartar dicha característica, pero queda en el tintero para posteriores mejoras.

Clone this wiki locally