Bonjour,
J'aimerais avoir des idées sur la façon de développer une IA simulant un joueur de FPS.
Présentation rapide du FPS
Il s'agit d'un simple FPS : [ame="http://www.youtube.com/watch?v=YkF4SXLsI2A"]YouTube - Mon premier FPS[/ame]
La carte est créée à partir d'un BMP en 2D. Chaque pixel noir et un mur.
La carte peut être vue comme un ensemble de cases.
Se protéger
Le "joueur" doit être capable de se protéger. Il doit éviter d'être dans le champs de vision des autres joueurs. S'il est vu directement, il est en danger. Il est d'autant plus en danger qu'il n'est vu par des adversaires. Lorsqu'il est en danger, il doit se déplacer vers les cases qui ne sont dans aucun champs de vision.
Je pense que le plus simple est de calculer pour chacune des cases le nombre de fois qu'elle est vue. Une case vue 5 fois est beaucoup plus dangereuse qu'une case 0.
Il est moins dangereux de longer les murs que de traverser la carte au milieux d'un champs. Peut-être d'un calcule statistique pourrait déterminer la dangerosité de certaines cases de la carte. Celui-ci ferait ressortir qu'il est moins dangereux de longer les murs et peut-être d'autres choses qui ne nous sont pas forcément évident.
Les cases sont également moins dangereuse lorsque d'autre membre de l'équipe sont proche. Peut-être qu'il pourrait être intéressant de gérer un "sentiment de sécurité".
Tuer
Le joueur doit être en mesure de tuer. Il doit pouvoir prendre la décision de tirer mais sans s'acharner en envoyant 100 balles par secondes seulement lorsqu'il est sur de viser. Les tirs doivent être plus ou moins espacé et pas toujours certains.
Rechercher des ennemis
Cette partie est sans doute celle sur laquelle j'ai le moins d'idées. Comment faire en sorte que les "joueurs artificiellement intelligent" puisse chercher les ennemies ? Faut-il que le joueur ait le sentiment d'être en sécurité pour rechercher des ennemis ? Comment concilier la recherche des adversaires avec la protection de soit même en évitant les ennemis ?
Sentiment de sécurité
Le joueur se sent en sécurité lorsque son équipe et proche et lorsque ça fait longtemps qu'il pense ne pas avoir été dans le champs de vision d'un adversaire depuis un moment.
Comme vous pouvez le voir, j'ai encore de nombreux points à éclaircir. Peut-être même que j'en ai oublié. C'est pourquoi j’attends avec impatience un retour d'expérience qui pourra m'aider et me guider avant de me lancer.
Merci de m'avoir lu.
David.
Partager