|
Comme je l'avais dit ici j'ai un projet de jeu php (c'est à la mode en ce moment en plus).
Comme j'avais déjà dit dans mon premier thread je veux un comportement assez logique des ennemis. Donc concrètement faudrait qu'au moment où ils spawnent je leur assigne: - des stats. - un inventaire. - un livre de sorts remplis. - un type de comportement. Et j'aimerai qu'ils agissent en fonction de ça. C'est à dire qu'ils choisissent leur arme et armure en fonction de ce qu'ils possèdent. Qu'ils pensent à boire leur potion de vie quand ils ont plus beaucoup de points de vie. Qu'ils choisissent d'envoyer un sort adapté à la situation tout en gérant leur stock d'ingrédient. Et surtout qu'il fasse tout ça en fonction d'un type de comportement qu'on leur a choisi (guerrier, clerc, mage de soutien, mage offensif...). Les combats se dérouleraient en tour par tour, c'est à dire qu'on défini l'action de chaque personnage présent dans le combat et qu'ensuite on calcul le résultat. Y a t il des choses à savoir avant de se lancer dans la création d'un tel système? Des méthodes à appliquer pour que ça marche bien? Bref je sais pas trop par où commencer donc j'ai besoin de conseils ![]() |
![]() |
|
Aller à la page... |
[Prog] Création d'IA pour un jeu.
Suivre Répondre |
|
Partager | Rechercher |
|
bah j'ai vu un peu d'ia cette année... et les jeux qu'on voyais ct plutot des jeux à deux joueurs en tour par tour ( genre morpion
![]() mais déjà, je pense qu'avec un moteur en PHP, tu devras simplement te limiter à une IA des plus basiques... à base de if/then, switch... enfin cke j'en sais moi =) edit : deux liens à approfondire : http://prografix.games-creators.org/doc_cat/79 http://forum.games-creators.org/viewforumcat_240.htm |
![]() |
|
- Caïn Abalham - |
Voir le profil public |
Trouver plus de messages par - Caïn Abalham - |
Panzerjo MILKS |
Voir le profil public |
Trouver plus de messages par Panzerjo MILKS |
Oracle
|
J'arrive pas a voir si dans ton projet les ennemis doivent gérer leurs déplacements, la cohésion d'un groupe etc ...
Je vais faire comme si. Si ce que tu veux c'est simplement des comportements autonomes pour tes ennemis (ie : sans avoir à scripter déplacements et autres) il existe des trucs tout simple qui fonctionnent plutôt bien. Par ici pour voir ce que ça donne (une liste d'applet pour voir tourner le truc se trouve sur la page). Tous les algorithmes sont donnés sur la page et ici Ca rend bien et c'est très facile à implémenter, surtout si tu fais du tour par tour et que tu discrétise l'espace (me semble que c'est ce que tu voulais). Ce système par contre ne s'occupe que des problèmes moteurs. Ce qui est pas plus mal d'ailleurs, tu sépare ainsi ce qui est décisionnel de ce qui est action (en gros il faut décider quelle action faire et plus comment la faire). Pour ce qui est de la prise de décision tu as encore un paquet de choix, du plus simple (switch, if/then/else) à des trucs plus exotiques (mais tellement mieux ![]() Le point le plus important est tout d'abord de déterminer l'ensemble de variables dont dispose l'IA pour choisir son action. Ensuite il faut déterminer ce que tu veux obtenir : si les ennemis dispose d'un ensemble très restreint d'actions et aucunes contraintes pour choisir alors un simple if suffit. Si l'ennemi dispose d'un temps limité il faut que ton processus soit interruptible. Si tu veux qu'un ennemi puisse modifier son comportement il va falloir que tu trouve un système de "notation" de la qualité de l'action et que la rétro-propagation de la note modifie les choix des actions. Si tu veux le comportement le plus réaliste possible (mémoire, contrainte sur le choix, l'ensemble de variables pas forcément défini, etc) je te conseille d'abandonner le php ![]() Enfin tu peux taper dans les trucs plus rares dans les jeux tel que les systèmes de classeur, les algorithmes génétiques, etc. Bon ... j'ai pas trop tapé à côté de la plaque ? ![]() Nepher |
![]() |
|
- Caïn Abalham - |
Voir le profil public |
Trouver plus de messages par - Caïn Abalham - |
|
Good, ca m'a toujours trotter dans l'esprit, donc continuez a déblatérer je prend des notes
![]() |
![]() |
|
Slaughter In A Grave |
Voir le profil public |
Trouver plus de messages par Slaughter In A Grave |
Oracle
|
Citation :
![]() Oui je suis moqueur ... je sais Nepher |
![]() |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|