STRATEGIE IA
STRATEGIE IA
Salut à tous et bonne année !
Actuellement je développe mon jeu qui mélangent fps et STR.
Pour la partie fps tous fonctionne.
Pour l'intelligence artificiel les bots patrouillent, cherchent et tir. Bon jusque-là plutôt Basic. Mais le +, ils se mettent a couvert, balancent des grenades si ils ne parviennent pas à m'atteindre; ils ont trois mods de fonctionnement (soft, en alerte, en attaque).
Pour la partie STR, une carte type Hexa se fait en mod aléatoire, la sélection de hex fonctionne, contrôle de camera ok et le tous en 3d.
Par contre je n'ai aucune idée de la manière à prendre pour la IA en mod STR.
Je veux dire dans IA la colonisation, le développement des technologies, à quel moment il doit créer des troupes, bâtir tel bâtiment maintenant, définir la stratégie pour venir m'attaquer.
A ce jour, cela fait 5ans de développement pour mon jeu dans l’état actuel, reste l'IA du STR à faire.
Actuellement je développe mon jeu qui mélangent fps et STR.
Pour la partie fps tous fonctionne.
Pour l'intelligence artificiel les bots patrouillent, cherchent et tir. Bon jusque-là plutôt Basic. Mais le +, ils se mettent a couvert, balancent des grenades si ils ne parviennent pas à m'atteindre; ils ont trois mods de fonctionnement (soft, en alerte, en attaque).
Pour la partie STR, une carte type Hexa se fait en mod aléatoire, la sélection de hex fonctionne, contrôle de camera ok et le tous en 3d.
Par contre je n'ai aucune idée de la manière à prendre pour la IA en mod STR.
Je veux dire dans IA la colonisation, le développement des technologies, à quel moment il doit créer des troupes, bâtir tel bâtiment maintenant, définir la stratégie pour venir m'attaquer.
A ce jour, cela fait 5ans de développement pour mon jeu dans l’état actuel, reste l'IA du STR à faire.
Re: STRATEGIE IA
Le père noel est passé
Tu demande une IA qui ne se fait pas a trois ligne et deux boucle, j'ai déjà du mal a faire lacher une caisse a mon sprite pour qu'il monte a l'étage supérieur
Je passe mon tour
Tu demande une IA qui ne se fait pas a trois ligne et deux boucle, j'ai déjà du mal a faire lacher une caisse a mon sprite pour qu'il monte a l'étage supérieur
Je passe mon tour
Re: STRATEGIE IA
Je me doute bien qu'une IA de ce type ne se fait pas sur quelque ligne !
Rien que pour ma partie fps je dois être entre 2500 et 3000 lignes environs.
Je ne demande pas un code tous fait non plus, ce serais complètement idiot.
Pour les recherches de technologies je pense que l'IA pourrais se faire sur la base d'une courbe d’évolution .
Mes ce qui m’intrigue le plus, je ne voie pas comment l'IA peut déterminer les moments d'attaque et déterminer les forces requissent à cet effet.
Rien que pour ma partie fps je dois être entre 2500 et 3000 lignes environs.
Je ne demande pas un code tous fait non plus, ce serais complètement idiot.
Pour les recherches de technologies je pense que l'IA pourrais se faire sur la base d'une courbe d’évolution .
Mes ce qui m’intrigue le plus, je ne voie pas comment l'IA peut déterminer les moments d'attaque et déterminer les forces requissent à cet effet.
Re: STRATEGIE IA
Salut,
Je pense que tu devrais essayer de donner un "poids" à chaque élément de ton jeu, selon des catégories précises : attaque, défense, niveau de technologie, etc...
selon l'évolution de chaque camps, ils auront un score assigné à chaque catégorie. Ensuite, à intervalles réguliers, tu compares ces scores, et enclenches les actions en fonction de règles prédéfinies par exemple l'IA n'attaque que si son score d'attaque est à 150% de celui de son adversaire, que la défense de l'adversaire est en dessous d'un certain seuil ou que sa techno est vraiment trop pourrie, là c'est à toi de faire de multiples essais.
Il faut d'abord que tu te fasse une liste de toutes les catégories vraiment déterminantes pour caractériser les actions de ton IA, ensuite il faut définir comment tu calcules le score de chacune, quelles sont les règles pour déclencher telle ou telle action, puis enfin équilibrer ces règles en faisant des tas de parties (pour aller plus vite tu peux faire s'affronter en accéléré deux IA réglées différemment)
Pour l'évolution technologique, là tu vas devoir définir des arborescences d'évolution, en fonction du "caractère" de chaque IA, pour les orienter plutôt vers de l'attaque, de la défense, ou autre chose, en privilégiant certaines branches de l'arbre plutôt que d'autres en fonction des cas.
en gros, voilà...
Je pense que tu devrais essayer de donner un "poids" à chaque élément de ton jeu, selon des catégories précises : attaque, défense, niveau de technologie, etc...
selon l'évolution de chaque camps, ils auront un score assigné à chaque catégorie. Ensuite, à intervalles réguliers, tu compares ces scores, et enclenches les actions en fonction de règles prédéfinies par exemple l'IA n'attaque que si son score d'attaque est à 150% de celui de son adversaire, que la défense de l'adversaire est en dessous d'un certain seuil ou que sa techno est vraiment trop pourrie, là c'est à toi de faire de multiples essais.
Il faut d'abord que tu te fasse une liste de toutes les catégories vraiment déterminantes pour caractériser les actions de ton IA, ensuite il faut définir comment tu calcules le score de chacune, quelles sont les règles pour déclencher telle ou telle action, puis enfin équilibrer ces règles en faisant des tas de parties (pour aller plus vite tu peux faire s'affronter en accéléré deux IA réglées différemment)
Pour l'évolution technologique, là tu vas devoir définir des arborescences d'évolution, en fonction du "caractère" de chaque IA, pour les orienter plutôt vers de l'attaque, de la défense, ou autre chose, en privilégiant certaines branches de l'arbre plutôt que d'autres en fonction des cas.
en gros, voilà...
Re: STRATEGIE IA
Si on prend l'exemple de SC2 concernant l'IA qui t'attaque, il le fait quand il a suffisamment d'unités. Le nombre d'unités nécessaires dépend du temps dans la partie: plus la partie traine sur la durée, plus le nombres d'unités requises pour attaquer est grand, capé à un certain nombre d'unité bien entendu.
Au final ca suit une courbe plus ou moins logarithmique je dirais (dans la forme du moins).
Au niveau de la défense (toujours sur SC2) dès que tu attaques sa base, l'IA back pour défendre il me semble (pas très évolué ^^). Là tu peux l'améliorer en faisant calculer à l'IA des chances de gagner un combat et agir en conséquence (sans que le calcul ne soit trop poussé pour ne pas non plus qu'il ai raison dans la majorité des cas, même si au final, je doute que ce genre de calcul puisse être vraiment précis).
Pareil pour fuir un combat ou rester jusqu'à la fin, tu peux calculer des chances de gagner et agir en conséquence, et même le faire à plusieurs reprises pendant le combat.
Concernant l'évolution (construction de batiment, upgrade etc...) comme le dit Alesk, tu doit définir des "profils" et l'IA va adopter un de ces profils, et le suivre. Selon le profil tu indiques quels batiments construire, quelles amélioration faire, et quand.
Tu peux même (si tu veux faire un truc plus évolué) faire évoluer le profil de l'IA en fonction de ce que fait l'adversaire.
Après pareil, comme le dit Alesk, dans tous ce qui va te faire dépenser des ressources (construire un batiment, construire des unités, faire des évolutions, etc..) il te faut un poid comme dit Alesk. T'appliques un "score" à chacun de ces critères (en fonctiond u nombre de batiment que tu as, du nombre d'unités, etc..), et en fonctiond du poid, tu choisis de faire en priorité des unités offensive, ou alors construire un batiment, etc...
Ce qu'il faut te dire c'est que c'est une IA assez complexe à réaliser au final, donc essaie de séparer le travail en plusieurs catégories, et de faire catégorie par catégorie.
Au final ca suit une courbe plus ou moins logarithmique je dirais (dans la forme du moins).
Au niveau de la défense (toujours sur SC2) dès que tu attaques sa base, l'IA back pour défendre il me semble (pas très évolué ^^). Là tu peux l'améliorer en faisant calculer à l'IA des chances de gagner un combat et agir en conséquence (sans que le calcul ne soit trop poussé pour ne pas non plus qu'il ai raison dans la majorité des cas, même si au final, je doute que ce genre de calcul puisse être vraiment précis).
Pareil pour fuir un combat ou rester jusqu'à la fin, tu peux calculer des chances de gagner et agir en conséquence, et même le faire à plusieurs reprises pendant le combat.
Concernant l'évolution (construction de batiment, upgrade etc...) comme le dit Alesk, tu doit définir des "profils" et l'IA va adopter un de ces profils, et le suivre. Selon le profil tu indiques quels batiments construire, quelles amélioration faire, et quand.
Tu peux même (si tu veux faire un truc plus évolué) faire évoluer le profil de l'IA en fonction de ce que fait l'adversaire.
Après pareil, comme le dit Alesk, dans tous ce qui va te faire dépenser des ressources (construire un batiment, construire des unités, faire des évolutions, etc..) il te faut un poid comme dit Alesk. T'appliques un "score" à chacun de ces critères (en fonctiond u nombre de batiment que tu as, du nombre d'unités, etc..), et en fonctiond du poid, tu choisis de faire en priorité des unités offensive, ou alors construire un batiment, etc...
Ce qu'il faut te dire c'est que c'est une IA assez complexe à réaliser au final, donc essaie de séparer le travail en plusieurs catégories, et de faire catégorie par catégorie.
Re: STRATEGIE IA
Une vision des choses très intéressante !
L'arborescence des technologies est bien entendue incontournable, pour ajouter un poids
Exemple :
Développement mine de fer = 2
Développement extraction du fer = 5
On va dire que le poids de ces deux technologie jointent = 7
L’IA devra se baser sur ce type de calcule pour trouver la meilleur façon et rapide pour se mettre à mon niveau ou selon un profile. Une sorte de pathfinding dans l’arbre des technologies avec comme obstacle les ressources nécessaires environnantes à son développement. Je le sens bien ça !
Pour les combats:
Ils ne se feront pas en mod STR, L'IA enverra des troupes dans les zones jugées trop développées (poids technologique ou ressources indispensable) et là nous entrons en mod FPS, si le site est occuper alors se sera une mission d'infiltration et de capture.
Site le site m'appartient toujours, alors se sera une mission de défense.
Je pense même à des missions de vol des technologies
Merde !!! je suis partie à rêver !! s'est bon ça
Bon un peu complexe mais pas insurmontable.
Merci pour vos lumières !
L'arborescence des technologies est bien entendue incontournable, pour ajouter un poids
Exemple :
Développement mine de fer = 2
Développement extraction du fer = 5
On va dire que le poids de ces deux technologie jointent = 7
L’IA devra se baser sur ce type de calcule pour trouver la meilleur façon et rapide pour se mettre à mon niveau ou selon un profile. Une sorte de pathfinding dans l’arbre des technologies avec comme obstacle les ressources nécessaires environnantes à son développement. Je le sens bien ça !
Pour les combats:
Ils ne se feront pas en mod STR, L'IA enverra des troupes dans les zones jugées trop développées (poids technologique ou ressources indispensable) et là nous entrons en mod FPS, si le site est occuper alors se sera une mission d'infiltration et de capture.
Site le site m'appartient toujours, alors se sera une mission de défense.
Je pense même à des missions de vol des technologies
Merde !!! je suis partie à rêver !! s'est bon ça
Bon un peu complexe mais pas insurmontable.
Merci pour vos lumières !
Re: STRATEGIE IA
Je vais régurgiter un peut de mes cours de programmation d'IA. t'a déjà tout mais si tu cherche à te renseigner se sera plus facile avec le vocabulaire:
Ce que propose Alesk s’appelle une heuristique (attribué un score à une situation "à l'arrache"). Ensuite il y a n'y a qu'a effectivement faire un graphe, ou chaque niveau va être un tour de jeu.
Il suffit de viser le score le plus haut à long terme (regarder uniquement le score de la dernière ligne, les score intermédiaire n'ont aucune importance) plus ton IA creuse profond et plus elle va être efficace. La solution "brute force" à une complexité exponentiel si tu test toute les possibilités pour chaque possibilités mais ton heuristique peut éventuellement grandement diminuer la largeur de ton graphe, par contre plus tu force la dessus, et plus ton IA va perdre en "culot" (sacrifier des unités pour un gain non immédiat par exemple), et moins tu va profond et plus le problème d'horizon se pose (c'est lorsque une IA fait de lourd sacrifice pour tenter d'éviter une perte qui est de toute façon inévitable).
j'avais étudié plusieurs algo dans ton cas je t'invite à regarder du coté du minmax
Ce que propose Alesk s’appelle une heuristique (attribué un score à une situation "à l'arrache"). Ensuite il y a n'y a qu'a effectivement faire un graphe, ou chaque niveau va être un tour de jeu.
Il suffit de viser le score le plus haut à long terme (regarder uniquement le score de la dernière ligne, les score intermédiaire n'ont aucune importance) plus ton IA creuse profond et plus elle va être efficace. La solution "brute force" à une complexité exponentiel si tu test toute les possibilités pour chaque possibilités mais ton heuristique peut éventuellement grandement diminuer la largeur de ton graphe, par contre plus tu force la dessus, et plus ton IA va perdre en "culot" (sacrifier des unités pour un gain non immédiat par exemple), et moins tu va profond et plus le problème d'horizon se pose (c'est lorsque une IA fait de lourd sacrifice pour tenter d'éviter une perte qui est de toute façon inévitable).
j'avais étudié plusieurs algo dans ton cas je t'invite à regarder du coté du minmax
____________________________________________
Hop Boy
Hop Boy
Re: STRATEGIE IA
Je pense aussi qu'un petit tour sur l'algorithme de l'A star te sera d'une aide précieuse si tu n'a pas fait d'algo de déplacement http://fr.wikipedia.org/wiki/Algorithme_A*
" Si un jour on te reproche que ton boulot n'est pas professionnel, alors rappelle-toi que l'arche de Noé à été construit par des amateurs et le Titanic par des professionnels. " Titanic
Re: STRATEGIE IA
En effet, utiliser les bons mots rend les recherches plus simple.
J'ai trouvé sur ce site http://fr.openclassrooms.com/informatiq ... me-min-max
C'est exactement se qu'il me faut.
Merci !
J'ai trouvé sur ce site http://fr.openclassrooms.com/informatiq ... me-min-max
C'est exactement se qu'il me faut.
Merci !