II –
1) Les débuts
2) Déplacements
Dans les jeux, les GPS, les guides routiers en ligne qui permettent de déterminer
un itinéraire le plus court selon le temps, la distance, les frais ou autres… est basé
sur un algorithme. Dans les systèmes complexes comme les jeux vidéos ou un
personnage se déplace selon une grille tel un jeu d’échec, on utilisera le procédé
de l’A* (à prononcer « A star » ou « A étoile ») dans les autres cas cités concernant
la route, on pourra utiliser Dijkstra, A* étant plus lent dans un système simple. Ces
procédés seront expliqués dans les parties suivantes.
- A*
Cet Algorithme est très utilisé dans le domaine du jeu vidéo 2D, 2D isométrique mais
aussi 3D. Celui-ci permet de déterminer le chemin le plus cours séparant deux cellules
en évitant les obstacles qui peuvent être des objets : mur, arbre, ... mais aussi dans le
cas d’un jeu en ligne, les autres joueurs.
Voici un exemple d’application de cet algorithme :
Nous voyons donc que
cette zone noire est divisée en
carrés : les cellules. Ce sont les
zones ou un personnage ou
élément de jeu peut être
placé. Les cellules noires sont
praticables, c'est-à-dire que
les déplacements y sont
autorisés, tandis que les
cellules bleues représentent
un obstacle tel un mur.
La cellule verte est le point de départ du déplacement, c’est actuellement ici que se
situe le personnage. La cellule rouge est l’endroit ou le personnage doit se rendre,
par exemple après un clic sur ce lieu avec la souris, ou parce que l’Intelligence
Artificielle du serveur dirige ce personnage a cet emplacement. Nous allons
rechercher par le procédé de A* le chemin le plus court reliant ces deux cellules.
Voyons maintenant le fonctionnement du début de la recherche grâce à A*. Tout
d’abord, nous allons créer deux listes de cellules : l’une dite « fermée » contiendra les