The main goal of the following project is to create asimple, lightweight and modifiable MMORPG (MassivelyMultiplayer Online Role-playing Game) Game with basic graphic design and functionality, and train Deep Reinforce-ment Learning Algorithms on it. Although the purpose of the project is not only to develop an environment but to challenge multi-agent reinforcement learning algorithms in it.
- Creating an environment that is massively multiplayer andcan be used from multiple training machines
- Train and compare popular Deep Learning algorithms
- Show that environment can be learned to some degree
This project is created during my Electrical engineering MSc. at Budapest University of Technology and Economics. The project has been supervised by Marton Szemenyei.
- Provides an interface fo the players to control the heroes
- Recreates the game state based on the messages from the server
- OpenAI Gym, OpenCV
- Observation Space: 64x64 pixel surrounding territory, 16x16 pixel mini map
- Red dot: Hero
- Blue dot: Monster
- Black dot: NPC
- Purple dot: High value target
- 6-Dimensional action space: Move, Attack, Interract
- Reward for exploration and attack
- Managing and supervising
- 5 NPCs, 50 Monsters in the initial setting
- 3 different map with different structure
- blue territory represents water which is forbidden for heroes but not for monsters
- Advantage Actor-Critic
- Proximal Policy Optimization
- Main goal is to eliminate evey hostile characters
- NPCs can give a huntlist with marked characters for extra XP
- XP: for combat and for exploration
- OpenCV
- PyTorch
All command should be executed from the main directory:
To start the server:
python Server_py/game.py
To train the reinforcement learning algorithm:
python (PPO or A2C)/train.py
To play as a human:
python Environment/environment.py