Gets
What I made
A Chess-like mobile game with an enemy AI trained by machine learning.
Why I made this
I wanted to learn how to make an enemy AI using machine learning in Untiy and
find out if this is a viable, scalable approach to game design. What are the pros and cons?
The Game
The first player collecting 2 coins
wins.
- Coins can be picked up by moving a unit on to the coin's field.
- A coin is collected when a unit carrying a coin, reaches the base
.
Units can perform 2 kinds of actions:
- A unit can move
to another field without a unit.
-
A unit can attack
another unit (friend or foe), removing it from the field and
returning it to the player's bench. When a unit attacks, it will move to the field
of the attacked Unit.
- Every unit has a differnt attack and move pattern.
Learnings
- (+) Very scalable solution for difficulty. Simply use different training data with different amount of iterations.
- (+) Let's you easily identify dominant and inferior strategies.
- (-) Training requires extremely well thought-through test designs to achieve a usable outcome.
- (-) Requires re-training and potentially new test design after every game balancing iteration.
- (-) Complexity of implementation increases significantly with complexity of game.
Result: not a viable solution for games more complex than Gets.