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

Understanding visual state

Up until now, we have observed state as an encoded value or values. These values may have been the cell number in a grid or the x,y location in an area. Either way, these values have been encoded with respect to some reference. In the case of the grid environment, we may use a number to denote the square or a pair of numbers. For x,y coordinates, we still need to denote an origin, and examples of these three types of encoding mechanism are as follows:

Three types of encoding state for an agent

In the preceding diagram, there are three examples of encoding state for an environment. For the first example, which is on the left, we just use a number to represent that state. Moving right to the next grid, the state is now represented as a pair of digits, row by column. On the far right, we can see our old friend the Lunar Lander and how part of its state...