This blog serves as an overview about my project.
First, I started by doing some research – the book „Reinforcement Learning“ by Sutton was the first step in this project. Besides that, there are many MIT Journals about the topic available online.
The MarI/O project was the actual catalyst for this project. While going through its main components, I discovered the great potential of the Lua scripting language and the NEAT concept, which both power everything in the core.
When I made my first experiences with AI, I soon discovered TensorFlow. Thus, I wanted to see how it works in this field – and by doing so I found some advanced and modern methods for implementing an AI that makes use of Reinforcement Learning, such as Deep Q Learning and Asynchronous Advantage Actor-Critic Methods.
So far, the project was mainly theoratical with some practical examples. Now it is time for a small project – I want to implement an AI that, similar to MarI/O, learns to play Super Metroid. I aim to achieve this by using the Lua as the main scripting language and MarI/O as the main code reference.
After that, I want to take a look on this AI in Unity. In more precise words, I want to develop a small, simple game that an AI should be able to learn to play and succeed in.
For a (for now) final step I thought of taking this AI out of games and implement it in a new way: Putting the AI in the shoes of a casual user and letting it surf through an online space.