Book Image

Hands-On Reinforcement Learning for Games

By : Micheal Lanham
Book Image

Hands-On Reinforcement Learning for Games

By: Micheal Lanham

Overview of this book

With the increased presence of AI in the gaming industry, developers are challenged to create highly responsive and adaptive games by integrating artificial intelligence into their projects. This book is your guide to learning how various reinforcement learning techniques and algorithms play an important role in game development with Python. Starting with the basics, this book will help you build a strong foundation in reinforcement learning for game development. Each chapter will assist you in implementing different reinforcement learning techniques, such as Markov decision processes (MDPs), Q-learning, actor-critic methods, SARSA, and deterministic policy gradient algorithms, to build logical self-learning agents. Learning these techniques will enhance your game development skills and add a variety of features to improve your game agent’s productivity. As you advance, you’ll understand how deep reinforcement learning (DRL) techniques can be used to devise strategies to help agents learn from their actions and build engaging games. By the end of this book, you’ll be ready to apply reinforcement learning techniques to build a variety of projects and contribute to open source applications.
Table of Contents (19 chapters)
1
Section 1: Exploring the Environment
7
Section 2: Exploiting the Knowledge
15
Section 3: Reward Yourself

Using PPO with recurrent networks

In Chapter 7, Going Deeper with DDQN, we saw how we could interpret visual state using a concept called convolutional neural networks (CNNs). CNN networks are used to detect features in visual environments such as Atari games. While this technique allowed us to play any of a number of games with the same agent, the added CNN layers took much more time to train. In the end, the extra training time wasn't worth the cool factor of playing Atari games. However, there are other network structures we can put on top of our networks in order to make better interpretations of state. One such network structure is called recurrent networks. Recurrent network layers allow us to add the concept of context or time in our model's interpretation of state. This can work very well in any problem where context or memory is important.

Recurrent network...