Revisión
- Modificados los rangos de visión de la niebla tanto en la vista de detalle como en la vista táctica, para una mejor visualización del escenario.
- Combinados y optimizados aún más los puntos de visión, dejando a solo uno por segmento de calle.
- Reactivados los fades de los objetos al entrar o salir de la linea de visión
- Ahora los edificios se iluminan al pasar el ratón por encima, de esta manera es más claro qué edificio vamos a activar.
- Los edificios cambian de color al asignarles una misión.
- Modificados los scripts y ángulos de visión de la cámara al activar un edificio.
- Completado el entorno limitado del escenario jugable con bloques y carreteras simulando la continuación de la ciudad.
- Nuevo sistema de «niebla de guerra», donde los segmentos de calles aún sin descubrir aparezcan con una simulación de edificios transparentes coloreados. Al entrar en linea de visión, estos edificios se transforman en el segmento definitivo. Con este último elemento, el escenario muestra un aspecto completo.
- Corregidos múltiples problemas de fade de objetos al entrar y salir de la linea de visión, tanto en objetos como en iluminación.
- Corregido el control del desplazamiento de la cámara con el ratón.
- Limitado el movimiento de la cámara al espacio del escenario de juego.
- Añadida pantalla de carga inicial.
Versión de ejemplo
- Se ha añadido un terreno con montañas de forma circular al escenario para dar un aspecto más cerrado y realista al entorno.
- Se ha añadido niebla al escenario para darle más realismo.
- Generación de edificios aleatorio, de momento se han incluído dos tipos de plantas bajas y dos plantas superiores. El sistema coloca una planta baja y varios pisos, la cantidad de los cuales se calcula aleatoriamente.
- Añadido sistema de ciclo día-noche
- Sombreados simulando la rotación de la tierra alrededor del sol
- Cambios de colores de ambientes dependiendo de la hora del día.
- Distribuído en 4 fases: Amanecer, día, atardecer y noche.
- Las ventanas de los edificios se iluminan de forma aleatoria según la hora del día y se ha preparado el script para que la cantidad iluminada/apagada pueda variar en el transcurso de la partida.
- Se ha cambiado el objeto de la farola de la calle, que antes estaba formado por elementos básicos por una única malla, de manera que hemos pasado de 4 objetos a 2. También se ha modificado ligeramente el ángulo y la intensidad de la luz.
- Se ha actualizado el control del ratón:
- No se puede inclinar la cámara arriba y abajo, de manera que siempre está a la misma altura.
- No se puede ladear la cámara, de manera que está siempre a nivel.
- La rueda del ratón ya no hace zoom con la cámara si no que selecciona dos tipos de vista, la de detalle de calle y la táctica.
- Al hacer clic en un edificio la cámara pasa a una posición determinada por una posición específica que puede ser modificada, en vez de a una posición fija dependiendo de la posición del edificio. De esta manera ahora se pueden dar ángulos más cinematográficos.
- Optimización de los puntos de visión, reduciéndolos notablemente:
- Se han eliminado los puntos de visión de los edificios y se han vinculado al segmento de la calle (En los tramos en I se ha pasado de 6 puntos de visión a 3, en los tramos en T, de 5 a 3, y en los tramos en X, de 4 puntos a solo 1.
- Desde el inicio de la optimización se han reducido en hasta un 90% los puntos de visión, obteniendo prácticamente el mismo efecto.
- Se ha modificado el panel de selección de personajes al seleccionar un edificio, para que aparezca en pantalla y no sobre el edificio y se ha bloqueado los controles de ratón al activarse
- Solo se activa la linea de visión del personaje lider de cada grupo y no de todos los personajes, aumentando el rendimiento considerablemente.
- Se ha deshabilitado temporalmente el fade de los edificios al entrar y salir de la linea de visión.
- Se ha deshabilitado el menú lateral.
Versión de ejemplo
- Nuevo script PlayersListScript, con funciones para la agrupación de personajes.
- Nuevo script MissionScript, donde se incluirán los scripts para las misiones.
- Añadida la misión MisionBuildingSearch, en la que se agrupa a los personajes, se dirigen a un edificio, entran, permanecen unos segundos y vuelven a la base.
- Se ha modificado en profundidad los scripts de PlayerScript para las nuevas funcionalidades.
- Una vez en ruta, los personajes que sigan al lider apagarán sus linternas.
- Se ha añadido el botón «Search» en el panel de misiones al seleccionar un edificio. De forma rudimentaria se pueden seleccionar uno o varios personajes y al presionar «Search» se iniciará la misión «MisionBuildingSearch».
- Los personajes que se activen para una misión se asignarán de la siguiente manera: El primer personaje será el lider, el siguiente seguirá al lider, el siguiente seguirá al anterior y así sucesivamente, creando una fila de personajes.
- Los personajes en movimiento o en misión no se pueden seleccionar en el panel de misiones del edificio.
- Se han modificado los puntos de luz de tipo «point» por «spot» para iluminar solo una zona delimitada de la calle y darle un efecto más realista.
- Se han añadido farolas y se han vinculado los nuevos puntos de luz.
- Se han añadido árboles con movimineto de hojas simulando una brisa.
- Por razones de rendimiento las lineas de visión individuales de los objetos se han eliminado y se han agrupado por segmentos de la calle, de manera que en el momento de entrar en linea de visión con el segmento, se visualizarán todos los objetos en el. El efecto es prácticamente el mismo y se ha optimizado los fps de forma considerable.
- Se han añadido 3 nuevos players al escenario para hacer las pruebas de movimiento simultaneo. Los players se llaman John, Paul y Jack y los hemos puesto a dieta respecto a la versión anterior.
- El botón para activa el movimiento al edificio ha desaparecido y en su lugar se ha añadido un panel rudimentario con los botones de los jugadores. Al presionarlos, se iniciará el desplazamiento individual de cada uno de los players (hay que esperar a que se inicie el movimiento del personaje seleccionado antes de seleccionar otro).



Versión de ejemplo
- Mejora y optimización de muchos scripts anteriores
- Mejora de waypoints y de sistema de rutas.
- El movimiento de Player está fijada en un lugar aleatorio alrededor del waypoint
- No se crean rutas por calles que no han sido descubiertas
- Movimiento de Player más fluida:
- Movimientos con curva al llegar a un waypoint y dirigirse a otro
- Al llegar al destino, el Player se detendrá delante del edificio y entrará lentamente
- Se ha añadido una luz direccional verde en dirección al movimiento de Player (no se aprecia bien en el WebPlayer)
- Al seleccionar un edificio la cámara se acercará y orientará a el.
- Ahora se controla la distancia de visión de Player
- Nuevo script ObjectVisibilityScript asignado a todos los objetos par acontrolar la visibilidad del mismo y los fade in & out según la linea de visión de Player.
Versión de ejemplo
- Reducido el tamaño los LineOfView para una mejor respuesta
- Luz de ambiente oscurecida
- Nuevo objeto SpotLight, incluido en las calles, para dar luz de ambiente localizada.
- Nuevo Javascript Camera Script, asignado a MainCamera, con algunos controles rudimentarios para mover la cámara
- Rueda del ratón para controlar el zoom
- Botón central para mover cámara
- Botón derecho para rotar cámara
Versión de ejemplo
En esta versión de prueba se ha tomado un primer contacto con Unity y algunas de las herramientas que se van a utilizar para el proyecto.
Se han realizado una serie de módulos, objetos y funciones que servirán para algunas de las características del juego.
Objetos básicos:
- Main Camera (cámara principal)
- Start (punto de referencia de inicio del movimiento)
- End (punto de referencia para el destino del movimiento)
- Player (gameobject tipo cápsula visible que representa el jugador)
- Building (gameobject tipo cubo que representa los diferentes edificios del escenario)
- Waypoint (puntos para trazar las rutas)
- LineWay (line renderer que utilizaremos para trazar visiblemente las distintas rutas entre puntos)
- LineOfView (objetos hijos de cada uno de los objetos que deben de mostrarse u ocultarse dependiento de la visión de Player),
- Street1Lane30m (calle recta de 30m) de la colección «The Loom»
- CrossT (cruce de una calle en forma de T) de la colección «The Loom»
- CrossX (cruce de calles) de la colección «The Loom»
Objetos compuestos:
- Street I (composición de un tramo de 90m en linea recta y 6 Buildings, con sus Waypoints, Buildings y LineOfView)
- Street T (ídem Street I, pero son 3 tramos de 30m unidos por un tramo de tipo CrossT y 5 Buildings)
- Strert X (ídem Street T, pero son 4 tramos de 30m unidos por un tramo de tipo CrossX y 4 Buildings)
Javascripts:
- BuildingScript (inicia los parámetros de cada Building)
- OnMouseDown (activa el Building como el seleccionado)
- GeneralScripts (funciones generales que se utilizarán desde todos los objetos)
- DrawLineWay (dibuja un LineWay de un punto a otro)
- DeleteLineWays (destruye todos los LineWay)
- MovePlayerToBuilding (mueve el Player al Building activo)
- CheckVisibility (comprueba la línea de visión con todos los players, y muestra u oculta según tenga linea de visión)
- Fade (modifica el alpha de un objeto)
- PlayerScript (variables y funciones relativas al objeto Player)
- playerIsMoving (variable que indica si el Player está en movimiento)
- ExtractNextMovement (obtiene el siguiente punto de ruta del array de rutas asignadas a ese objeto)
- MoveToPosition (mueve Player al siguiente punto de ruta)
- LineOfSight (devuelve si un objeto es visible por Player)
- Start (algunas inicializaciones)
- OnGUI (Inicialización de los botones del GUI)
- TownCreator (generación del escenario)
- possibleTile (array que indica las diferentes combinaciones de tipos de calle)
- RandomizeTown (genera la composición del escenario de forma aleatoria, tanto colocación de objetos como las rutas entre WayPoints)
- DeleteTown (destruye todos los objetos generados del escenario, aun no funciona correctamente)
