Work presented at EVO* 2022 conference as a Late-Breaking Abstract.
ABSTRACT:
A fighting game is a 1 vs 1 confrontation in which the players (characters) try to reduce the health bar of the opponent by punching or kicking him. Players
can normally also do special movements, which are more complicated to execute,
but which can reduce the rival's health in a higher amount. Articial Intelligence (AI) engines in this type of games have a big handicap in comparison to other genres, since they must yield very fast decisions, given the highly dynamic rival movements.
In this paper, we have created a Non-Player Character (or bot) aiming to beat to any opponent (being a human player or another NPC). To this end, we have started from a competitive bot (from the state of the art) having as AI engine a set of rules, depending on some conditions, threshold and weights.
Then we have optimized these values by means of different schemes of Genetic Algorithms (GAs).
2. Aim
To create an agent/bot to win in fighting games combats.
Focused on the Fighting Game AI Competition (FGAIC).
(http://www.ice.ci.ritsumei.ac.jp/~ftgaic/index-2h.html)
One of the few studies using Evolutionary Algorithms (Genetic
Algorithms) in this scope.
EvoAPPS 2021
3. Aim
Start from a state-of-the-art agent: Mizuno (C. Yin Chu and R.
Thawonmas).
Fuzzy controller together with a classification method (kNN) to
select the best action to perform.
Depends on 10 values: distances and health levels.
Optimize behavioural parameters by means of Genetic
Algorithms.
EvoAPPS 2021
4. Dare FightingICE (formerly FightingICE)
Simulator used in the FGAIC.
Framework to test own created
AIs (agents).
Two modes: time and health.
3 action buttons (kick, punch,
special) and 9 directions.
EvoAPPS 2021
https://www.ice.ci.ritsumei.ac.jp/~ftgaic/index-2.html
5. GAs scheme
Individual vector of 10 values.
Uniform crossover.
Random mutation (one gene).
Fitness (Time mode) – set of combats:
ti → remaining time in combat i.
sai → health of own agent in combat i.
sri → health of rival agent in combat i.
n → number of combats
EvoAPPS 2021
6. GAs implemented
• Generational without Elitism:
o The whole population could be replaced.
o Binary tournament (all individuals 1 vs 1). The best in their respective
combats will remain.
o Next population generated offspring + half random individuals
o High exploration factor.
EvoAPPS 2021
7. GAs implemented
• Generational with Elitism:
o The whole population could be replaced.
o Binary tournament (all individuals 1 vs 1). The best in their respective
combats will remain.
o Next population best parents + best generated offspring
o The best overall always survive.
o Higher exploitation factor.
EvoAPPS 2021
8. Experimental setup
EvoAPPS 2021
USED AGENTS
(FITNESS)
BCP
Dora
CONFIGURATION
- 20 generations
- 16 individuals
- 60% crossover probability
- 10% mutation probability
- 6 combats/fitness
- Health mode
- 300 health points
- 10 runs
TESTS
(9 combats)
vs Dora
vs BCP
vs Thunder
12. Conclusions
Preliminary study using GAs to optimize fighting game
agents.
Non-impressive results, but promising ones.
Evolved bots are able to win to tough rivals and get a higher
difference in health with rivals.
Elitists versions perform better.
EvoAPPS 2021
13. Future Work
Implement a higher exploitation factor.
Use more advanced GA schemes.
Select a more suited configuration as well as specific and adapted
operators (such as a better fitness function).
Perform more complete tests against top-level agents from the Fighting
Game AI Competition.
EvoAPPS 2021