Batalla por coordenadas usa tres espacios de coordenadas diferentes durante el juego:
Espacio del entorno, usado para colocar objetos en el entorno del juego mediante funciones de la API de Verse.
Espacio del tablero, espacio de coordenadas usado para posicionar objetos en los tableros de juego del jugador.
Espacio del minitablero, espacio de coordenadas usado para mostrar a los jugadores una vista de su propio tablero.
Estos espacios de coordenadas se combinan para darle al jugador una vista precisa del estado actual del juego y del rendimiento de la jugabilidad.
Se necesita planificación y reflexión para diseñar una gestión integral de espacios de coordenadas. La mayor parte del trabajo consiste en convertir entre espacios de coordenadas para poder mapear de forma confiable los vectores en el espacio del mundo a coordenadas en el tablero de juego y en el minitablero, y viceversa.
En la imagen de arriba, puedes ver el espacio de tablero representado por el tablero de juego en el centro (1), y el espacio de minitablero representado por el minitablero en la esquina superior izquierda (2).
El espacio del entorno es el sistema de coordenadas permanentes en el que se basan UEFN y las funciones de la API de Verse. UEFN utiliza el sistema de coordenadas tridimensionales izquierda-arriba-adelante (LUF).
Para obtener más información sobre el sistema de coordenadas, consulta la documentación del Sistema de coordenadas de Left-Up-Forward.
Espacios de coordenadas
Cada uno de los espacios de coordenadas en esta experiencia requiere convertir ubicaciones en distintas superficies y tipos para colocar correctamente los objetos del juego en el entorno. A continuación, se muestran las descripciones de cada uno de estos espacios. Estos se analizan con mayor profundidad más adelante en este tutorial.
Espacio del entorno
El espacio del entorno es el espacio predeterminado que UEFN y Verse utilizan para colocar objetos en el entorno del juego. En este ejemplo de juego, se utilizan principalmente objetos creative_device. Como resultado, la clase de Verse utilizada para representar ubicaciones en el entorno del juego para dispositivos es de transform en el módulo /UnrealEngine.com/Temporary/SpatialMath con la definición:
transform<public> := struct<concrete><computes>:
Scale<public>:vector3
Rotation<public>:rotation
Translation<public>:vector3
donde vector3 se define de la siguiente manera:
vector3<public> := struct<concrete><computes><persistable>:
X<public>:float
Y<public>:float
Z<public>:float
La transform define dónde se encuentra un objeto (Traslación), en qué dirección está orientado (Rotación) y qué tan grande es (Escala).
Cualquier objeto que se derive de la clase creative_object tiene acceso a las funciones de la API de Verse para hacer lo siguiente:
GetTransform: obtiene los datos de transformación actuales de un objeto.TeleportTo: mueve un objeto al destino de entrada sin animación.MoveTo: anima el movimiento hacia el destino de entrada.
La definición de transform junto con estas funciones de la API ofrecen todo lo que necesitas para definir dónde se encuentra un objeto en el entorno del juego y colocarlo allí.
Espacio del tablero
El espacio del tablero es el espacio que se utiliza para el tablero de juego principal en Batalla por coordenadas y se identifica con la llamada (1) en la imagen anterior. Este espacio se utiliza para designar espacios o cuadros en el tablero en relación con el centro del tablero de juego.
Espacio del minitablero
El minitablero muestra a los jugadores una vista de su propio tablero. Los marcadores de impacto muestran que el enemigo atacó una casilla del tablero y destruyó un peón en ella. Los marcadores de fallo muestran que el enemigo atacó una casilla del tablero, pero no golpeó nada. El minitablero es una malla estática que se coloca en relación con la cámara de juego, de modo que aparece como parte de la interfaz del juego.
Pasos para compilar
Para utilizar estos tres espacios de coordenadas juntos y crear una jugabilidad eficaz, debes hacer lo siguiente:
Definir una representación de un cuadro en el espacio del tablero.
Definir los límites del espacio del tablero.
Definir dónde se encuentra el espacio del tablero dentro del espacio del entorno.
Convertir del espacio del tablero al espacio del entorno.
Colocar un peón en una ubicación específica del tablero.
Obtener un peón del tablero.
Eliminar un peón del tablero.
Colocar aleatoriamente todos los peones en el tablero.
Definir una representación de un cuadro en el espacio del minitablero.
Definir los límites del espacio del minitablero.
Definir dónde se encuentra el espacio del minitablero en el espacio del entorno.
Colocar un marcador en el minitablero.
Convertir entre el espacio del minitablero, el espacio del tablero y el espacio del entorno.
Definir los movimientos del juego.
Construir el bucle del juego.
Determinar cuándo se cumple una condición de victoria.