Skip to content

[Tech] Création des murs

Dans les articles précédents, nous avons surtout parlé des mécanismes et de leur rendu dans le jeu, mais nous n’avons jamais abordé la question du liant, ce qui permet de tenir le tout ensemble. Comment certains éléments fonctionnent-ils en coulisses ? Ce qui peut vous paraître simple et évident peut pourtant demander un certain temps à concevoir et à programmer.

Pour vous éclairer sur le sujet, nous nous sommes entretenus avec l’un de nos programmeurs graphiques, Florian. C’est lui qui gère le lissage des murs que vous dressez autour de vos colonies pour vous protéger contre les envahisseurs. La première question que nous avons posée à Florian a été : qu’est-ce qu’un programmeur graphique et qu’est-ce qu’il fait de ses journées ?

La réponse n’a pas été aussi explicite qu’espéré… forcément, ce n’est pas un métier si facile à décrire : en résumé, il cherche des solutions pour les infographistes afin d’optimiser le rendu visuel à l’écran. En outre, il est chargé d’intégrer des effets spéciaux ou personnalisés.

Pour revenir aux murs et à tout le système de fortification, plusieurs départements sont associés à leur création : les infographistes, les animateurs, le programmeur logique et le programmeur graphique. Les infographistes créent les murs à la façon de blocs rectangulaires. Mais si on les place dans l’environnement du jeu, le rendu est loin d’être idéal… c’est comme s’il manquait quelque chose.

C’est là que Florian intervient. Il va réfléchir à une solution pour donner un rendu agréable à ces blocs rectangulaires un peu grossiers. Par contre, il doit toujours mesurer l’impact éventuel sur les performances de jeu.

Pour Florian, l’objectif consiste à avoir une transition parfaitement fluide entre les diverses portions de mur en plus du terrain dessous.

Dans son travail, il doit prendre en compte plusieurs points :

  1. La transition fluide entre les portions de mur
  2. Les murs doivent être alignés avec le terrain
  3. L’herbe et tous les éléments liés au terrain doivent se comporter comme il se doit
  4. Les unités militaires doivent pouvoir se déplacer correctement sur le mur

C’est là que commence le vrai travail. Florian va cogiter plusieurs idées. Dans le monde de The Settlers, tout est plutôt dynamique et les éléments doivent s’adapter à leur environnement, notamment au système de terrain. Ainsi, les murs doivent épouser la forme du terrain sur lequel ils sont construits. L’extrémité d’un mur peut changer elle aussi, en fonction de l’endroit où le joueur place la portion suivante. C’est pourquoi le mur pouvoir être assez souple et ajustable.

Pour ce faire, Florian utilise des « splines ». Ce terme se rapporte généralement à une très vaste gamme de fonctions. En l’occurrence, cette fonction est une courbe composée de 5 « points de contrôle » : un début, une fin, un milieu, un point à gauche et un point à droite pour déterminer les propriétés de la courbe. C’est ce qui permettra d’adapter le mur.

Les points de contrôle des splines sont placés directement sur le terrain. Les murs, comme presque tous les autres éléments du jeu, sont composés de triangles. On peut donc utiliser la spline pour projeter sa hauteur sur les trois angles des triangles.

Reste une difficulté à régler : le terrain peut être plus élevé ou plus bas sur les côtés du mur. Ce qui veut dire qu’il faudra l’aplanir quand nous placerons une portion. Même si nous améliorons les murs, la spline ne changera pas, puisque les murs ont une hauteur prédéterminée. Une fois la création terminée en tant que telle, c’est la phase de test qui commence. Les testeurs placent des portions de murs dans le jeu pour observer leur comportement et tenter de « piéger » le système. Si tout marche à merveille (ça n’arrive jamais du premier coup…), c’est tout le système qui sera intégré au jeu.

Que pensez-vous du travail d’un programmeur graphique ? Y a-t-il d’autres informations qui pourraient vous intéresser ? Quels sujets voudriez-vous qu’on aborde dans les prochains articles ? Dites-nous tout dans les commentaires ci-dessous.

de en es fr it pl ru

Soyez le premier à commenter