Mouvement comportemental pour automate

Programmation avancée de jeux en PureBasic
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Mouvement comportemental pour automate

Message par Guimauve »

Bonjour à tous,

En faisant une recherche sur comment programmer un système de mouvement comportemental pour des personnages de type automate (en anglais Steering Behavior For autonomous characters), je suis tombé là dessus :

http://www.red3d.com/cwr/steer/
http://opensteer.sourceforge.net/

Je donne les liens pour ceux que ça intéresse. De mon coté, je vais étudier cette libraire religieusement.

A+
Guimauve
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Mouvement comportemental pour automate

Message par Cool Dji »

Bonjour Guimauve,

Merci pour le lien : sujet très intéressant :D

En Français, j'ai le livre de Renard : http://www.rennard.org/iva/ où différentes méthodes de l'IA sont expliquées.
Only PureBasic makes it possible
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Mouvement comportemental pour automate

Message par Guimauve »

Bonjour,

En fait, la libraire en question permet uniquement de contrôler les mouvements dans un environnement quelconque. Dans le genre suivre un chemin, passer entre les obstacles, atteindre une destination, fuir une destination, poursuivre un point en mouvement, fuir un point en mouvement, etc. Disons que l'IA vient comme une couche au dessus de celle-ci comme un sélecteur de comportement à adopter.

Exemple d'un méchant robot prédateur :

Le méchant robot se cache quelque par dans un coin sombre où il passe facilement inaperçu. (Comportement : demeurer stationnaire. IA: en attente)
Le joueur passe à proximité (Comportement : Préparation du robot à l'attaque. IA : appeler les autres méchants robots pour une attaque en meute)
Une fois que le joueur est passé, le robot attaque en traître par derrière (Comportement : Poursuite. IA : choisir les armes)
Le joueur est à bonne distance, le robot ouvre le feu (Comportement : Rester à une distance proche de celle du joueur. IA : tirer tant que le joueur est en vie et ce jusqu'à la mort)

C'est le genre chose que l'on voit dans le jeu Descent 3 par exemple. Les robots qui se cachent derrière les éléments de l'environnement (Caisse, conteneur, oléoduc, etc), qui attaquent par derrière et qui travaillent en équipe contre le joueur. En fonction du niveau d'intelligence, cela peut devenir rapidement un important défi pour le joueur.

Un autre exemple, un vaisseau de transport doit aller arrimer un conteneur :

Le vaisseau de transport se dirige vers le conteneur (Comportement : Seek. IA : évaluer la distance par rapport à la cible pour savoir quand passer de Seek à Arrival)
Le vaisseau arrive à proximité du conteneur (Comportement : Arrival. IA : passer de Seek à Arrival)
Le vaisseau active ses pinces d'arrimage (Comportement : demeurer stationnaire. IA : animer les pinces pour qu'elles se ferment sur le conteneur.)
Le conteneur est arrimé, le vaisseau part vers sa prochaine destination (Comportement : Seek)

Ça c'est le genre de truc que l'on a dans le jeu X-Wing Alliance par exemple

Ceci étant dit, implémenté tout ça prend du temps.

A+
Guimauve
Dernière modification par Guimauve le mar. 30/août/2011 18:07, modifié 2 fois.
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Mouvement comportemental pour automate

Message par Cool Dji »

Ok je regarderai ce soir plus en détail tes liens :D
Only PureBasic makes it possible
Répondre