La batalla por coordenadas utiliza tres espacios de coordenadas diferentes durante la jugabilidad:
Espacio global: espacio de coordenadas utilizado para colocar objetos en el mundo del juego mediante funciones de la API de Verse.
Espacio de tablero: espacio de coordenadas utilizado para colocar objetos en los tableros de juego de los jugadores.
Espacio de minitablero: espacio de coordenadas utilizado para mostrar a los jugadores una vista de su propio tablero.
Estos espacios coordinados se combinan para ofrecer al jugador una visión precisa del estado actual del juego y del rendimiento de la jugabilidad.
Se necesita planificación y reflexión a la hora de diseñar una gestión integral del espacio de coordenadas. La mayor parte del trabajo consiste en convertir entre espacios de coordenadas para que puedas mapear vectores de forma fiable en el espacio global a coordenadas en el tablero de juego y a coordenadas en el minitablero, y viceversa.
Puedes ver el espacio del tablero representado como el tablero de juego en el centro de la imagen de arriba (1) y el espacio de minitablero representado por el minitablero en la esquina superior izquierda de la imagen de arriba (2).
El espacio global es el sistema de coordenadas persistente en el que se basan UEFN y las funciones de la API de Verse. UEFN utiliza el sistema de coordenadas tridimensionales Izquierda-Arriba-Delante (LUF).
Para obtener más información sobre este sistema de coordenadas, consulta la documentación Sistema de coordenadas Izquierda-Arriba-Delante.
Espacios de coordenadas
Cada uno de los espacios de coordenadas de esta experiencia requiere convertir las posiciones en diferentes superficies y diferentes tipos para colocar correctamente los objetos del juego en el mundo. A continuación encontrarás descripciones de cada uno de estos espacios. Más adelante en este tutorial se tratarán estos temas con mayor profundidad.
Espacio del mundo
El espacio global es el espacio por defecto que UEFN y Verse utilizan para posicionar objetos en el mundo del juego. Este ejemplo de juego utiliza principalmente objetos creative_device. Como resultado, la clase de Verse utilizada para representar ubicaciones en el mundo del juego para dispositivos es transformar 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 como:
vector3<public> := struct<concrete><computes><persistable>:
X<public>:float
Y<public>:float
Z<public>:float
La transformación define dónde se encuentra un objeto (Traslación), en qué dirección mira (Rotación) y su tamaño (Escala).
Cualquier objeto que se derive de la clase creative_object tiene acceso a las funciones de la API de Verse para:
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 transformar junto con estas funciones de la API te proporcionan todo lo que necesitas para definir dónde reside un objeto en el mundo del juego y colocarlo allí.
Espacio de tablero
El espacio de tablero es el espacio utilizado para el tablero de juego principal en Batalla por coordenadas identificado con la llamada (1) en la imagen superior. Este espacio se utiliza para designar espacios o casillas del tablero en relación con el centro del tablero.
Espacio de minitablero
El minitablero muestra a los jugadores una vista de su propio tablero. Los marcadores de acierto indican que una casilla del tablero ha sido atacada y que el enemigo ha destruido con éxito un peón en esa casilla. Los marcadores de fallo indican que una casilla del tablero ha sido atacada y que el enemigo no ha dado en nada. El minitablero en sí mismo es una malla estática colocada con respecto a la cámara del juego, por lo que aparece como parte de la interfaz de usuario del juego.
Pasos para compilar
Para utilizar estos tres espacios de coordenadas juntos y crear una jugabilidad eficaz, debes:
Definir una representación de una casilla en el espacio de tablero.
Definir los límites del espacio de tablero.
Definir dónde se encuentra el espacio de tablero dentro del espacio global.
Convertir entre el espacio de tablero y el espacio global.
Colocar un peón en el tablero en una ubicación específica.
Obtener un peón del tablero.
Quitar un peón del tablero.
Colocar aleatoriamente todos los peones en el tablero.
Definir una representación de un casilla en el espacio de minitablero.
Definir los límites del espacio de minitablero.
Definir dónde se encuentra el espacio de minitablero en el espacio global.
Coloca un marcador en el minitablero.
Convertir entre el espacio de minitablero, el espacio de tablero y el espacio global.
Definir los movimientos del juego.
Construir el bucle del juego.
Determinar cuándo se cumple una condición de victoria.