Comment Oxobox Games a construit un plateau basé sur les données pour alimenter la stratégie à six joueurs de Sente

Que se passe-t-il lorsque vous prenez la profondeur stratégique des échecs et du Go et laissez jusqu'à six joueurs se déplacer exactement en même temps? C’est le postulat de Sente, un jeu de stratégie hexagonal de l’Argentin Oxobox Games Made with Unity. Les joueurs laissent tomber des jetons sur un plateau hexagonal pour construire des réseaux d’énergie, tirer des lasers et traquer les noyaux d’énergie de leurs adversaires – tout cela alors que tous les autres à la table préparent la même chose, simultanément.
Nous avons discuté avec Fernando Picate, directeur de jeu et programmeur principal (et l’un des cofondateurs du studio), et Joaquín Frere, producteur et responsable des relations publiques, pour résoudre les mouvements de six joueurs à la fois, construire un éditeur de plateau suffisamment simple pour que leur propre concepteur de jeu n’ait jamais eu à ouvrir Unity, et transformer un projet passionnel vieux de plusieurs décennies en jeu publié.
D'un passe-temps sur table à plus de dix ans dans Unity
Sente est le premier jeu d’Oxobox ; le studio travaille également dans la postproduction cinématographique et télévisuelle, assurant le sous-titrage, le doublage et le contrôle qualité pour l’industrie du divertissement. Cependant, Sente est en fait bien antérieur au studio. L’idée originale est née de croquis et de prototypes papier que l’équipe – qui sont des amis en dehors du travail – a commencé à bricoler dans les années 1990, sur une idée du concepteur du jeu Javier Mrad. Les premières tentatives jouables ont été construites en Flash sous la forme d'un jeu à deux joueurs, avec un bref détour par le canevas HTML5 avant leur atterrissage sur Unity.
« Je me suis senti tout de suite chez moi avec Unity, même si je ne sais pas trop pourquoi – je ne me souviens même pas ce que Flash avait de similaire », dit Fernando. « À l’époque, Unity supportait aussi JavaScript, ce qui semblait beaucoup plus sympathique que de sauter directement en C++ pour quelque chose comme Unreal Engine. Une fois JavaScript et Boo obsolètes, nous sommes passés définitivement au C# – et j’adore toujours travailler dans Unity aujourd’hui. »
Ce saut à Unity (à partir de 4.0 LTS, comme le rappelle Fernando) est aussi le moment où Sente est passé d'un prototype 2D aux joueurs de plateau entièrement 3D voient aujourd'hui. L'équipe n'a cessé de se perfectionner depuis, et développe désormais Sente dans Unity 6.

Concevoir un jeu de société où personne n'a besoin d'attendre son tour
Le tableau de Sente est construit autour de noyaux d’énergie – en interne, le code les appelle encore « rois » – des pièces centrales qui rayonnent de l’énergie vers les cellules qui les entourent. À leur tour, les joueurs peuvent déplacer leur noyau ou déposer un jeton sur une cellule sous tension. Les jetons ont deux faces : une face métallique qui protège contre les lasers et conduit l'énergie vers les jetons voisins, et une face vulnérable qui déclenche un laser une fois chargé. Enchaînez assez de jetons et vous pouvez sniper le noyau d'un adversaire de partout sur le plateau, perdre la trace de votre propre réseau, et la même chose vous arrive. Détruisez les bons jetons et vous pouvez même fusionner deux pièces connectées dans un noyau d'énergie flambant neuf - jouant soudainement avec deux « rois » au lieu d'un, un peu comme avoir deux reines sur un échiquier.
Le hic: avec jusqu'à six joueurs, résoudre des coups un à la fois rendait les matches insupportablement lents. Oxobox a donc reconstruit Sente autour de tours simultanés.

« Quand un tour commence, il y a un chronomètre, et chaque joueur choisit son coup », explique Fernando. « Une fois que tout le monde est décidé – ou que la minuterie est épuisée – le tour se résout d’un coup. » Cela signifie qu’un joueur peut aligner ce qui ressemble à un tir garanti sur le noyau d’un adversaire, pour le regarder rater parce que cet adversaire a déplacé un bouclier en place au même instant.
Garder les matchs à six joueurs de la mouture à l'arrêt a pris des années de réglage. « Une grande partie de nos tests a consisté à s’assurer que les planches ne restent pas coincées », explique Joaquín. « Quand tout le monde a construit ses défenses, on peut avoir l’impression qu’il ne se passe rien, mais il y a toujours une incitation à faire un geste. Finalement, quelqu’un crée suffisamment de possibilités pour que les autres ne puissent pas tous les suivre, et c’est là qu’un match s’ouvre. Entre joueurs forts, ces matches peuvent dépasser une heure – sinon, vous risquez dix ou quinze minutes. »

Un modèle de données, des dizaines d'outils
Chaque tableau dans Sente – quelle que soit sa taille, quelles que soient les pièces qui y sont assises – est stocké comme le même modèle logique sous-jacent, complètement découplé de la façon dont il est rendu à l’écran.
« Chaque tableau est stocké comme un modèle logique, distinct de ce que vous voyez réellement », dit Fernando. « Ces mêmes données sont le moteur de tout : notre outil de plateau en éditeur, la randomisation des plateaux en jeu et les modèles que nous livrons avec le jeu. Nous pouvons remodeler une planche un nombre de fois par seconde sans jamais toucher directement un objet de scène. »
Cette source unique de vérité est ce qui permet à Oxobox de proposer des tableaux hexagonaux de taille 4 à taille 10 (« taille » étant le nombre de cellules qui tapissent chaque bord du tableau) – suffisamment petits pour garder des matchs rapides et assez grands pour supporter les puzzles solo plus élaborés du studio, le tout sans maintenir de systèmes distincts pour chacun. Il est également à la base du gestionnaire de modèles de tableau personnalisé d'Oxobox, un outil d'édition intégré directement à Unity qui permet à Fernando de peindre les tableaux à la main - noyaux, jetons, obstacles et trous - avec des outils de pinceau et de symétrie, puis d'enregistrer le résultat en tant que modèle réutilisable.

L"éditeur du forum qui n'avait pas du tout besoin d'Unity
Ce même modèle de données a résolu un problème beaucoup plus spécifique : comment laisser un non-programmeur concevoir des puzzles pour votre campagne solo ?
Le concepteur du puzzle de Sente, Javier Mrad – la même personne dont l’idée originale a lancé tout le projet – n’a jamais installé Unity. « Pas une seule fois, peu importe combien de fois j’ai demandé », s’amuse Fernando. « C’est en fait ce qui m’a forcé à construire un éditeur de plateau en jeu. Chaque plateau peut être exporté sous forme de chaîne encodée, afin que Javier puisse concevoir un plateau entier ou une disposition de puzzle sur sa propre feuille de calcul, m'envoyer la chaîne, et je l'importe directement dans le jeu. »
Oxobox prévoit d'exposer cette même mécanique de partage aux joueurs, afin qu'ils puissent éventuellement créer, exporter et échanger leurs propres cartes.

Scénariser une campagne solo avec Timeline
La campagne solo de Sente - où les joueurs se déguisent en robot pour se faufiler dans un bar et défier ses habitués - est presque entièrement construite sur le pack Timeline d'Unity. Chaque niveau, ou « branche », est une séquence chronologique qui tisse des dialogues, des mouvements de caméra et des changements de tableau.
Pour que cela fonctionne, Oxobox a construit plusieurs pistes Timeline personnalisées : une pour déplacer les personnages de dialogue et définir leurs expressions, une pour déplacer la caméra le long de cannelures personnalisées pour les séquences cinématographiques, et une qui transforme un tableau d'un état à un autre en milieu de timeline, animant le changement au lieu de le couper. La branchement est géré avec des signaux et des marqueurs Timeline, qui permettent à la campagne de sauter en avant sur une victoire ou de revenir en boucle à un point de réessai lorsqu'un joueur fait une erreur.

« Nous utilisons Timeline en permanence, et je n’ai jamais rencontré de véritable problème avec elle », dit Fernando. « Le tutoriel est probablement notre séquence la plus lourde – il a des dialogues, des changements de plateau et le mouvement de la caméra tous superposés – mais même notre finale du tournoi, qui utilise des pistes de cannelures personnalisées pour la caméra et les personnages, fonctionne sur le même système. »
Ces mêmes pistes de dialogue doublent le pipeline de localisation d’Oxobox. « Nous avions déjà beaucoup d’expérience en localisation grâce à notre expérience en sous-titrage et en doublage », dit Fernando. « Nous avons intégré notre propre gestionnaire de localisation directement dans nos clips de dialogue, afin de pouvoir modifier les traductions d’une ligne au moment où nous l’écrivons. En ce moment, nous localisons en japonais, en chinois, en coréen et dans quelques autres langues, le tout via TextMesh Pro. »

La suite pour Oxobox Games
Oxobox s'est associé à l'éditeur Curveball Games, et Sente est actuellement disponible sur PC via Steam avec l'équipe chargée de la vérification de Steam Deck et de l'exploration des plateformes consoles en bout de ligne.
Pour un projet en gestation depuis les années 1990, Sente rappelle qu’une petite équipe débrouillarde peut s’appuyer sur l’outil Editor d’Unity pour construire quelque chose de bien plus grand que ses effectifs – d’un plateau qui se remodele des dizaines de fois par seconde, à un concepteur de puzzles qui n’a jamais ouvert l’Unity Editor du tout.
Sente est disponible sur Steam, et découvrez d'autres histoires des développeurs Unity sur le blog Unity et le Resource Hub.
