Le jeu Combat à coordonnées utilise trois espaces de coordonnées différents pendant le gameplay :
Espace du monde : espace de coordonnées permettant de placer des objets dans le monde du jeu via les fonctions de l'API Verse.
Espace du plateau : espace de coordonnées permettant de positionner les objets sur les plateaux de jeu des joueurs.
Espace du mini-plateau : espace de coordonnées permettant de montrer aux joueurs une vue de leur propre plateau.
Il est possible de combiner ces espaces de coordonnées pour donner au joueur une vue précise de l'état actuel du jeu et des performances de jouabilité.
Pour gérer l'espace de coordonnées de bout en bout, une planification et une réflexion approfondies sont nécessaires. La majeure partie du travail consiste à convertir les espaces de coordonnées afin de mapper correctement les vecteurs dans l'espace du monde sur les coordonnées sur le plateau de jeu et sur les coordonnées sur le mini-plateau, et inversement.
L'espace du plateau est représenté par le plateau de jeu au centre de l'image ci-dessus (1) et l'espace du mini-plateau est représenté par le mini-plateau dans le coin supérieur gauche de l'image ci-dessus (2).
L'espace du monde est le système de coordonnées persistantes qui sous-tend les fonctions de l'UEFN et l'API Verse. L'UEFN utilise le système de coordonnées tridimensionnelles gauche-haut-avant (LUF).
Pour en savoir plus sur ce système de coordonnées, consultez la page Système de coordonnées gauche-haut-avant.
Espaces de coordonnées
Chacun des espaces de coordonnées de cette expérience nécessite la conversion des emplacements sur différentes surfaces et différents types afin de placer correctement les objets du jeu dans le monde. Vous trouverez ci-dessous des descriptions de chacun de ces espaces. Nous y reviendrons plus en détail dans une autre rubrique de ce tutoriel.
Espace du monde
L'espace du monde est l'espace par défaut utilisé par l'UEFN et Verse pour positionner les objets dans le monde du jeu. Dans cet exemple de jeu, nous utilisons principalement des creative_device. Par conséquent, la classe Verse utilisée pour représenter les emplacements des appareils dans le monde du jeu est la classe transform dans le module /UnrealEngine.com/Temporary/SpatialMath avec la définition :
transform<public> := struct<concrete><computes>:
Scale<public>:vector3
Rotation<public>:rotation
Translation<public>:vector3
où vector3 est défini comme suit :
vector3<public> := struct<concrete><computes><persistable>:
X<public>:float
Y<public>:float
Z<public>:float
La classe transform définit l'emplacement d'un objet (Translation), sa direction (Rotation) et sa taille (Échelle).
Tout objet dérivé de la classe creative_object a accès aux fonctions de l'API Verse pour :
GetTransform: obtient les données de transformation actuelles d'un objet.TeleportTo: déplacer un objet vers la destination d'entrée sans animation.MoveTo: anime le déplacement vers la destination d'entrée.
La définition de transform et ces fonctions d'API suffisent pour déterminer où se trouve un objet dans le monde du jeu et le positionner à cet emplacement.
Espace du plateau
L'espace du plateau est l'espace utilisé pour le plateau de jeu principal du combat à coordonnées identifié par la légende (1) dans l'image ci-dessus. Cet espace sert à désigner les espaces ou les carrés du plateau par rapport au centre du plateau de jeu.
Espace du mini-plateau
Le mini-plateau montre aux joueurs une vue de leur propre plateau. Les marqueurs d'impact indiquent qu'un carré du plateau a subi une attaque et que l'adversaire a détruit un pion se trouvant sur ce carré. Les marqueurs d'échec indiquent qu'un carré du plateau a subi une attaque et que l'adversaire n'a touché aucune cible. Le mini-plateau proprement dit est un maillage statique placé par rapport à la caméra du jeu ; il apparaît donc comme faisant partie de l'interface utilisateur du jeu.
Procédure
Pour utiliser ces trois espaces de coordonnées en vue de créer un jeu efficace, vous devez :
Définir la représentation d'un carré dans l'espace du plateau.
Définir les limites de l'espace du plateau.
Définir l'emplacement de l'espace du plateau dans l'espace du monde.
Effectuer des conversions entre l'espace du plateau et l'espace du monde.
Positionner un pion sur le plateau à un emplacement précis.
Obtenir un pion sur le plateau.
Retirer un pion du plateau.
Placer tous les pions aléatoirement sur le plateau.
Définir la représentation d'un carré dans l'espace du mini-plateau.
Définir les limites de l'espace du mini-plateau.
Définir l'emplacement de l'espace du mini-plateau dans l'espace du monde.
Placer un marqueur sur le mini-plateau.
Effectuer des conversions entre l'espace du mini-plateau, l'espace du plateau et l'espace du monde.
Définir les modes de déplacement dans le jeu.
Construire la boucle de jeu.
Déterminer quand une condition de victoire est remplie.