• English
  • Français
  • Jeux de François Hautier

    Splash Force – Système de terrain


    Dans Talking Tom Splash Force, le joueur incarne Tom. Debout sur son île, il canarde de ballons à eau les vilains raccoons qui se tiennent en face de lui.

    Pour que la rejouabilité du jeu soit sans limites, nous avions besoin de générer des terrains à l’infini. Mais il était également impératif de pouvoir les concevoir à la main, notamment pour les 20 premières parties du joueur.

    C’est dans ce but que j’ai conçu le système de terrain. Après avoir donné forme à un terrain et y avoir placé des éléments (joueur, ennemis…), tout est généré automatiquement !


    Composition d’un terrain

    Un terrain est composé de différents sous-éléments. Tout d’abord, de deux archipels : celui de gauche est celui du joueur, et celui de droite celui des ennemis. Les archipels peuvent être composés d’îles et de plateformes volantes.

    Les îles sont formées à partir de 3 éléments très simples : une pente montante, une pente descendante, et une surface plate. On peut faire varier la longueur d’une surface plate, ainsi que l’angle et la longueur des pentes. En plaçant chaque élément côte à côte, nous obtenons une île !

    Nous pouvons ensuite former un archipel avec une ou plusieurs îles. Sur celui-ci, on peut placer des plateformes volantes, de longueurs et de hauteurs différentes.

    Enfin, assembler 2 archipels forme un terrain !

    Création d’un terrain

    Il y a deux types de terrains : les terrains prédéfinis et les terrains procéduraux.

    Les terrains prédéfinis sont créés à la main par un level designer. Comme expliqué précédemment, il faut d’abord créer des îles, puis les assembler dans un archipel sur lequel on pourra ajouter des plateformes volantes. Les îles peuvent être réutilisées dans plusieurs archipels, et les archipels peuvent eux-mêmes être réutilisés dans plusieurs terrains.

    Quant à eux, les terrains procéduraux sont générés à partir d’un certain nombre de règles définies à l’avance, incluant :

    • Le nombre d’îles, leur largeur, leur hauteur, la distance entre chaque île.
    • Le nombre de plateformes volantes, leur longueur, leur hauteur, leur répartition sur l’archipel.

    Placement des éléments sur le terrain

    Avoir un terrain c’est bien, avoir un terrain avec un joueur et des ennemis, c’est mieux ! Comme nous l’avons vu, chaque île est composée de pentes montantes, descendantes, et surtout de surfaces plates. Les plateformes volantes elles-mêmes sont composées de surfaces plates. Les éléments identiques qui se succèdent (comme 3 pentes montantes à la suite) sont rassemblés pour former chaque côté du terrain. Les côtés plats sont appelés des spots : c’est là que l’on va pouvoir placer les éléments.

    Admettons que le terrain ci-dessous soit créé à la main. Pour placer un élément dessus, par exemple un ennemi, il suffit d’indiquer « je veux placer un ennemi sur le spot d’index 2 ».

    Pour placer des éléments sur un terrain procédural, c’est différent. À partir de règles prédéfinies, c’est le système qui va placer lui-même les éléments sur le terrain. Si nous décidons « je veux 1 joueur et 3 ennemis », le système placera le joueur sur l’archipel qui lui est réservé, et les 3 ennemis sur un spot aléatoire de leur archipel. Si un des ennemis est un sniper, le système le placera sur le spot le plus lointain. Toutes les règles sont envisageables !

    L’un des points forts est que les spots sont capables de s’agrandir, s’ils ne sont pas assez grands pour contenir les éléments que l’on souhaite, comme illustré ci-dessous.

    Génération du terrain

    Maintenant que nous avons créé un terrain et placé différents éléments, il est temps de le rendre jouable ! Tout ce qui est nécessaire est généré, que ce soit le mesh de chaque île et de chaque plateforme volante, leurs collisions, les différentes zones englobant le terrain, et la mer.

    De nombreux paramètres permettent de varier le rendu visuel du terrain. On peut par exemple changer le matériel du sol, de l’herbe et de la mer, pour obtenir différentes ambiances. On peut également ajouter des objets décoratifs, en contrôlant leur taux d’apparition. Ou encore régler l’arrondi des bords des îles et des plateformes volantes.

    Tas d’objets

    Parmi les éléments qui peuvent être placés sur le terrain, il y a les tas d’objets.

    Pour rendre la création des tas d’objets plus aisée, j’ai conçu un outil illustré ci-dessous.

    Ce type d’éléments a une particularité : ils peuvent contenir des spots. Il est donc possible d’y placer n’importe quel autre élément, par exemple un ennemi en haut d’une pile de caisse !

    Pièces

    Pour aider ou inciter le joueur à viser un endroit en particulier, nous avons ajouté des lignes de pièces. Placées sur la trajectoire du projectile, elles peuvent être de différentes formes : une ligne, une flèche, une pyramide…

    De la même manière que le terrain, les pièces peuvent être placées de manière prédéfinie ou procédurale. Dans les deux cas, le principe est le même : d’abord choisir une cible, choisir la forme que prendront les pièces, et les positionner sur la trajectoire du projectile, entre le joueur et la cible.