Qui dit RPG dit histoire, mais également système de combat, mais également assaut. Nous reviendrons la prochaine fois sur les systèmes de combat (c'est-à-dire la façon dont le joueur gère son système attaque/défense) et nous concentrerons aujourd'hui sur les systèmes d'assauts (la façon dont le combat est déclenché, par le joueur ou un adversaire).
On peut schématiser les systèmes d'assauts en 2 grandes catégories, elles-mêmes subdivisées : le système où les ennemis sont visibles et celui où les ennemis ne le sont pas. Nous irons d'abord au plus simple avec le sytème des ennemis dits "invisibles" et donc a priori inévitables : c'est le système qui régit depuis les premiers temps les Final Fantasy et les Dragon Quest. Et Xenogears, et tout un tas d'autres RPGs "à la japonaise". Visiblement, les Japonais ça ne les dérange pas et, pour être tout à fait honnête, moi non plus.
Le principe est simple : le personnage principal se balade sur un écran vide d'autres personnages et tout d'un coup une animation le surprend en pleine balade pour lui faire comprendre qu'il est attaqué. Le combat s'engage.
Penchons-nous maintenant sur la deuxième grande catégorie, celle du système où les ennemis sont visibles à l'écran et donc a priori évitables : c'est cette catégorie qui plaît le plus aux Américains, eux qui ont été épargnés par les premiers RPGs japonais pour être éduqués aux RPGs à base de Chrono Trigger et de Secret of Mana. En voilà une bonne blague ! En effet, Chrono Trigger reste pour les Américains la référence du RPG où les ennemis sont visibles, donc évitables, donc comme étant le système le plus pratique. Sauf que les gens qui ont joué à CT savent bien que la plupart des ennemis n'étaient pas évitables, même s'ils étaient visibles, puisque c'est le passage à un endroit donné de l'écran qui déclenchait l'attaque et non pas le contact avec les ennemis en question. Le seul avantage du système que l'on peut concéder c'est que, sachant quel ennemi on allait affronter, on pouvait se préparer en conséquences.
Le véritable système d'ennemis visibles et évitables vient plus tard avec Chrono Cross et là je dis : "OK, on peut esquiver l'ennemi et ne pas enclencher le combat". Pareil pour Xenosaga ou Grandia.
D'autres systèmes de cette catégorie viennent à l'esprit : celui de Tales of Symphonia où l'ennemi est symbolisé par un ectoplasme, évitable jusqu'à un certain degré (si on esquive trop de combats un ennemi fonce directement sur le personnage principal forçant ainsi l'affrontement), permettant de localiser l'ennemi sur la carte mais sans pouvoir l'identifier.
Je pense également au système de Persona 3, où les ennemis sont représentés par des blobs noirs petits ou gros selon leur puissance, complètement esquivables, non identifiables, avec lesquel le combat peut être à l'initiative du joueur s'il frappe le premier (en utilisant un arc plutôt qu'une épée, par exemple). Dans ce même système, si le personnage principal devient plus puissant que les ennemis du niveau qu'il parcourt, ceux-ci le fuient, le déclenchement du combat devenant alors difficile.
Il nous appartient dès lors de définir un système de réalité, système idéal et hybride : de même qu'un boss est souvent visible dans les Final Fantasy, signifiant par là-même que le combat est inévitable, on peut imaginer un système proche de l'écosystème réel où certains monstres seraient invisibles tandis que certains autres ne le seraient pas. D'abord en fonction de leur taille : je veux bien tomber dans une embuscade tendue par 6 lapins-garou dont la taille justifie qu'ils m'attaquent par surprise, mais 3 tyrannosaures que je n'aurais pas vu venir sur une plaine, j'ai du mal à y croire...
Ensuite par le mode de prédation : certains animaux se cachent pour attaquer par surprise, d'autres non. On peut donc avoir une forêt où un ours se balade à l'écran, des guêpes volent (ouais, vous avez remarqué, les guêpes se cachent rarement pour attaquer), mais où d'autres animaux (insectes, oiseaux, reptiles, etc.) n'apparaissent pas à l'écran et donnent lieu à des attaques surprises.
Ce système hybride a été utilisé assez intelligemment dans Dragon Quest VIII : les ennemis "normaux" sont invisibles à l'écran tandis que certains ennemis collectionnables se baladent normalement et sont évitables.
Là où FFXII se montre cohérent, c'est que les ennemis évoluent dans leur milieu naturel (sauf Denver, évidemment) et c'est le joueur qui vient perturber leur équilibre, d'où l'assaut (ou pas, dans le cas d'une esquive ou d'une fuite). Les ennemis n'ont donc pas besoin de se cacher, certains attaquant tout de même par surprise (les squelettes qui se matérialisent juste sous les pieds du joueur ou les poissons géants qui se jettent à la gueule du joueur si ce dernier a le malheur de marcher trop près de l'eau). Bien vu.
Au point de vue de la programmation, il nous faut envisager plusieurs possibilités :
1- dans le cas d'attaques surprises, elles peuvent être déclenchées par un nombre de pas (tous les x pas=combat), un endroit de la carte, un timer (toutes les x secondes, combat), un timer aléatoire (toutes les x secondes on lance un dé à x face et si les faces a, b, d, e, g etc. sortent on a un combat).
2- dans le cas d'attaques sur ennemis visibles, il faut programmer l'AI : est-ce que l'ennemi est en chasse, offensif, passif, quel est son champ visuel et les variables afférentes, etc. ? Evidemment c'est plus chiant à programmer, mais c'est plus réel.
