Je fais un jeu de type "Defend Your Castle", où chaque joueur a un château et doit envoyer des unités pour détruire le château de l'adversaire. Il ressemble à ceci (et oui, c'est le jeu réel, pas un dessin de peinture rapide ..):
Maintenant, j'essaie d'implémenter l'IA de l'adversaire, et j'aimerais créer 4 niveaux d'IA différents: Easy, Normal, Hard et Hardcore. Je n'ai jamais fait d'IA "sérieuse" auparavant et j'aimerais en créer une assez complète cette fois.
Mon idée est de calculer le score de "puissance" d'un joueur, basé sur la santé actuelle de son château et le score de "puissance" individuel de ses unités. Ensuite, l'IA essaierait simplement de garder un score proche de celui du joueur ( Easy resterait en dessous, Normal resterait près de lui et Hard essaierait de le dépasser). Mais je ne sais tout simplement pas comment calculer le score de puissance d'un joueur. Il y a juste trop de variables à prendre en compte et je ne sais pas comment les utiliser correctement pour créer un nombre significatif (le niveau de puissance).
Quelqu'un pourrait-il m'aider sur celui-ci?
Voici les variables qui devraient influencer le score de puissance d'un joueur:
Santé actuelle du château, santé totale de l'unité, dégâts, vitesse et portée d'attaque. De plus, le joueur peut augmenter ses revenus (le sac d'argent), ses dégâts (les + dégâts) et sa vitesse (la + vitesse) ... Comment pourrais-je les inclure dans le score?
Je suis vraiment coincé ici ... Ou y a-t-il une autre façon de mettre en œuvre l'IA pour ce type de jeu?
Merci pour votre précieux temps.
la source
Réponses:
Je ne suis pas sûr de la facilité avec laquelle il serait possible de le dire, mais essayer de savoir à quel point chaque variable est importante est probablement le point de départ (si vous gagnez 50 points de vie, vous pouvez durer 10 secondes de plus; si vous gagnez 5 dégâts, vous peut détruire 50 points de vie 10 secondes plus vite; etc ...). Après cela, essayer de normaliser les capacités peut valoir la peine (50 points de vie équivalent à 10 vitesses équivalent à 100 revenus).
J'imagine qu'un moyen facile de trouver une partie de cela est en exécutant simplement des simulations. Gardez un joueur à un seul niveau, puis commencez à ajuster les variables individuelles à leur échelle.
la source
Tout d'abord, je n'inclurais pas les goodies à court terme tels que les améliorations de revenu ou de vitesse - je pense que les joueurs s'attendent à ce que ces choses les aident pendant un certain temps, pas que l'IA s'adapte immédiatement et devienne également plus forte.
Et pour le reste: essayez-le. Commencez avec une formule de puissance qui vous semble raisonnable (la réponse de nimbus57 devrait être un bon point de départ), puis développez votre formule et l'IA de manière itérative.
Enfin et surtout, essayez de vous assurer que la formule sous-jacente ne peut pas être exploitée par le joueur pour obtenir un avantage injuste, etc. - cela ne devrait pas non plus être trop évident comment cela fonctionne, alors tirez un peu au hasard.
la source