Oliver Struckmeier, Intelligent Robotics group
League of Legends is a fast-paced online strategy game where players win by taking over enemy bases. Along the match, they have to defeat different types of enemies.
This video presents a “human-like” AI playing League of Legends. Usually AIs used in games have access to information ‘under the hood’: they automatically know where and what each player is and does. This AI doesn’t. Before deciding whether to fly or fight, it first has to spot and recognize which enemy it is facing, just like a human player would. It maintains a brain-inspired model of what’s happened in the game for further decision-making.
The League of Legends bot was developed to test out different machine learning methods in a fun way.
The pipeline is as follows:
1. Object detection.
2. building a brain-inspired internal representation of the game state.
3. Decision making based on the internal representation.
4. (Demo) Learning to improve by observing a human player.
A neural network object detector is trained to recognize enemies, other players and structures by training it on thousands of automatically generated images.
A bio-inspired localization method based on our previous research was used to build a representation of the game state like keeping track of the player character and estimating threat levels of enemies.
A simple decision making method has been implemented that can be improved by learning from a human.
What’s under the hood?
OpenCV: reading pixels & showing output
Pytorch: Training custom object detection network
Bio-inspired self-localization: Based on ViTa-SLAM as used in the Rob-rat project