Cartes CTF : Capture The Flag = Capturer le drapeau

Dans ce type de carte, deux équipes s'opposent. Il s'agit de capturer le drapeau placé dans le sanctuaire de l'équipe adverse et de la ramener dans son propre sanctuaire. La première équipe qui y parvient trois fois gagne la partie.

L'architecture de la carte doit être symétrique pour qu'il y ait égalité des chances. Les armes et les pouvoirs doivent être répartis de même. Pour les différencier, les bases seront coloriées : lumières et textures rouges pour la base rouge, et bleues pour la base bleue.

Dans chaque base, on doit placer un drapeau :
- Onvrir le catalogue des acteurs
==>sélectionner : Actor/NavigationPoint/FlagBase

- Ensuite se placer dans la vue 3D là où on veut planter le drapeau. Cliquer avec le bouton droit de la souris, ce qui fait apparaître un menu flottant où l'on choisit "Add FlagBase Here". Bien veiller à ce que le drapeau soit fiché dans le sol, et pas placé au-dessus..

 

- Une fois les deux drapeaux mis en place, il faut encore déterminer à quelle équipe chacun appartient. CLic droit sur le drapeau, ce qui ouvre un autre menu où on choisit la fenêtre des propriétés.

 

- Dans FlagBase/Team, le nombre 0 correspond à l'équipe rouge, et le 1 à l'équipe bleue.

Il faut ensuite définir les points de départ des joueurs. L'item "PlayerStart" se trouve dans le catalogue Actor/NavigationPoint/PlayerStart. Se placer ensuite dnas la vue 3D, cliquer avec le bouton droit et choisir dans le menu flottant "Add PlayerStart Here". Il faut placer selon la taille de la carte, de 2 à 8 points par équipe, toujours de façon symétrique.

Sélectionner ensuite tous les points de l'équipe rouge (cliquer dessus avec le bouton gauche de la souris en maintenant la touche CTRL enfoncée), cliquer dessus avec le bouton droit cette fois, et dans le menu flottant choisir "PlayerStart Properties". Mettre le "TeamNumber" à 0.

 

Procéder de même pour l'équipe bleue, mais en mettant le "TeamNumber" à 1.

Pour que le jeu puisse se jouer avec des "Bots" ou robots, il faut que le niveau soit balisé par des pathnodes, et que les lignes qui les relient après compilation soient bleues (c'est à dire claires, bien dégagées).

Il ne reste qu'à recompiler la carte.

C'est le nom donné à la partie : ici "CTF-Trucmachin.unr" qui définit le type de jeu. Mais en fait lorsqu'on lance à partir de l'éditeur, on se retrouve en match à mort et donc il vaut mieux avoir renseigné le champ "LevelInfo" à partir du menu général "View" ou par la touche F6 comme ci-dessous :

Notes sur le chemin

Les robots, disais-je, ont tendance à prendre le chemin le plus court. Lorsque des routes de longueur différente mènent à la base ennemie, et que l'on souhaite qu'elles soient choisies à égalité de chance, il faut faire en sorte de les rendre semblables.

On peut utiliser le paramètre "ExtraCoast" des "PathNode" pour ajouter une valeur en unités unreal. Mais il ne faut pas oublier que la présence d'items comme les armes, les munitions, les fioles de potion, etc.. constituent autant d'objets désirables. Si la pénalité est placée entre le point d'émergence des robots et l'item placé au voisinage, la bête obstinée sera encline à aller chercher l'objet malgré tout et une fois qu'il sera acquis, le nouveau chemin sera calculé à partir de cette position, donc sans pénalité.

L'autre façon est d'utiliser les "AlernatePath" dans la mesure où il existera des accès distincts aux bases. Le paramètre "SelectionWeigh" de cet item valorise l'accès correspondant et c'est à partir de cet item que le chemin le plus court vers le drapeau ennemi sera calculé par le robot. Au contraire si "bReturnOnly" est vrai, c'est le robot qui ramène le drapeau du camp opposé (donc le robot appartenant à la base associée à l'"AlternatePath" qui est concerné par ce choix.

Carte d'exemple : voir CTF-Vigilance-demo et CTF-AltPath pour les "AlternatePath"