Level design is an important part of creating a good game. If your level is too hard, players will get frustrated and stop playing. If your level is too easy, players will get bored and stop playing. As you add new levels to a game, you want to make sure they’re fair in an objective, quantifiable way and you want to automate as much of the process as possible so you can ship quickly. Instead of spending many hours manually validating, testing, and fine-tuning your level design, you can use reinforcement learning as a tool to automate the process.
In this tutorial, you will train an agent to play a simple text game in order to improve the leveling process. Once you have an agent that approximates human performance on the game, you will measure win percentage per level to make sure difficulty increases in the way you want – without hundreds of hours from human testers.