A simple game built with the help of pygame library where two tanks battle each other to win. Both the tanks can be either controlled by reinforcement-learning agent(s) or one of them can be controlled by a human player in a 1v1 human-vs-bot matchup.
- Creating a simple UI where the welcome screen with some text is shown
- Welcome screen stays until a specific key is pressed, and then the tanks are rendered
- Control a tank with manual agent
- Control a tank with a random/rule-based (non-learning) agent
- Control a tank with a reinforcement learning agent
- Train two instances of the same RL agent against each other for a large number of iterations
- Save the generations of the RL agents after every n iterations and compare the performances of strategies learnt over the iterations
- HP pool for the tanks instead of single-hit kill
- Projectiles can do variable damage depending upon when the last projectile was fired
- Projectiles have spread (reduced accuracy) depending upon when the last projectile was fired
- Tanks have speed and bullet budget
- Field is not open, some destructable walls are randomly scattered