Earlier this year I announced my intention to launch a new series of online courses on artificial intelligence for video games under the banner Goal State. This idea arose from hearing first hand the impact my YouTube work has had over the years in supporting developers at various stages of their career. How my work helps people of various backgrounds learn more about artificial intelligence for game development. More recently, I have also began to conduct professional training with games studios, and so I am keen to create something that builds upon the foundations I have set, and take it to the next level.
My long term plan for Goal State is to provide informative and accessible material on how to build AI for video games that is useful for hobbyists, students, scholars, and professional game developers. I’ll be crowdfunding the series in order to get it off the ground and give me the time to produce it. You can follow the Kickstarter now to keep up to date on when it goes live later this year - and of course, subscribe to
here on Substack.If you want to learn more about my overall plans for Goal State, and why I felt it important that I start building this platform, head on over to my announcement post I published back in May.
For this article, I want to introduce the first online course I have planned under the Goal State banner, and give an idea on the structure and format of the programme that I have envisioned for it.
Introducing Game AI 101
The first Goal State course is entitled ‘Game AI 101’, and is focussed on introducing the core principles, methodologies and techniques used in ‘game AI’. Game AI is the term attributed to types of artificial intelligence typically used for things such as non-player characters, experience management systems (i.e. Director AI), and strategic opponents.
As detailed in my breakdown on how AI works in games, this is but a small subset of the range of technologies and applications of artificial intelligence in the sector. But for those who have followed my work on
for a while now, this is the area you’ve heard about the most. When you look back on my breakdowns of games such as Alien: Isolation, F.E.A.R., DOOM, Halo, Left 4 Dead, and many more, we’re exploring game AI techniques.Now there are many topics I could start with when I launched Goal State, ranging from fundamentals of machine learning, to training bots against player data, even more contemporary work in generative AI, but I figured this was a good one to start with for a number of reasons:
For many people who work as gameplay programmers, or aspire to, this is what ‘AI for games’ is all about. If you’re building enemy opponents or any form of non-player character, then you need to be fluent in the fundamentals of game AI.
It’s increasingly difficult to find useful and introductory material on the subject given game AI is something of a niche, derived from classical/symbolic AI (i.e. not machine learning). Outside of those who specialise in it, it’s seldom discussed in broader AI literature.
Explaining the particulars and history of game AI can also help give context as to why other methodologies such as machine learning have seldom been used in these problem spaces thus far.
Perhaps more critically from my perspective as someone who has spent a decade detailing how AI is used in the videogames industry, it felt prudent that I start with this topic given it’s one that my YouTube audience would no doubt expect, given it’s what I’ve been talking about for so long now.
Breaking Down the Course
So let’s break down the course in more detail. In order for this to make sense for future students, I felt it was important to break it down into three distinct sections:
Introduction to Artificial Intelligence: An overview of many of the core principles, theoretical underpinnings and technical concepts that you will encounter not just in Game AI 101, but any material exploring the practicalities of AI.
Introduction Game AI: Expanding on this first section, the course will then dig into specific applications only used in the world of games. Often lifting from ideas in the traditional AI and reshaping them for the purposes of game development.
Designing AI for Games: In our closing segment, we focus on the challenges a developer will face when employing many of the techniques discussed in this course in practice.
Now let’s unpack this in a little more detail. Explore what each of these sections will entail, the topics in more detail and how we apply them in practice.
Pre-requisites
It’s worth acknowledging that there is an expectation that participants have some basic level of programming ability, and have some limited experience working in games engines such as Unity and Unreal.
Outside of this, I assume that participants have no real experience in game AI up until this point, and as such we start very much at the fundamentals.
Practical Tasks
The plan is for a collection of practical tasks to be laced throughout each chapter of the course. This largely breaks down into:
Quizzes to ensure participants understand the underlying theoretical underpinnings explored in the material.
Supplementary reading material for people keen to dive deeper into the topic outside of the course.
Technical tasks where we build a collection of game AI systems and tools in popular game engines.
The plan is for practical tasks to be available in both Unity and Unreal. By default, the practicals will be made for the Unity game engine. However, as part of the Kickstarter crowdfunding, our first stretch goal will be to add Unreal.
Part 1: Introduction to Artificial Intelligence
In this opening section, we unpack the foundations of artificial intelligence. As I have discussed in many talks, videos, newsletters and otherwise over the years, AI is a complex multi-faceted discipline, complete with a number of unique methodologies, technologies and application areas.
In order to understand any form of AI, be it game AI, machine learning or even generative AI, there are a lot fundamentals that need to be covered. In this first section, we explore these ideas, but rooted in the world of games and game development.
For some folks you might be wondering why we need to go so theoretical, particularly with the focus on being on building useful and practical skills. But speaking from almost two decades experience of teaching, the strongest developers (or any skill based practitioner) are those that aren’t just technically savvy, but have an understanding of the core concepts and fundamentals on a deep level.
Perhaps more critically for us, we’re going to be looking at a number of different technologies that will later be expanded upon in the Introduction to Game AI section.
Syllabus
Alrighty, let’s dig into this syllabus some more, and how we will build it up to around 20-30 hours worth of educational content. One thing going in, is that you will notice that machine learning has but a very small presence in the class, this is a deliberate design decision given that for the vsat majority of game AI applications, even now in 2024 we don’t use machine learning all that often. As you’ll see at the bottom of this piece, I have big plans to address this aspect of AI for game development.
Foundations of AI
This opening section is dedicated to explaining the absolute fundamentals of artificial intelligence. Highlighting core aspects and principals. How AI as a field has become increasingly more fractured as it has rolled out over time, and understanding how different types of problems necessitate different types of AI solutions.Computing Fundamentals [Optional]
To get into the weeds of how AI really works, there are some fundamentals of computer science that are useful to understand. This section is an optional component of the course that will ensure you can follow along with a lot of the course. If you already have a background in computer science, then subjects such as computational complexity, propositional and predicate logic, and forward and backward chaining should be familiar to you.Basics of Search
The first truly meaty aspect of the course, is where we dig into the notion of state spaces and the principles of search. How do we get AI systems to search for solutions to problems? This includes the idea of state transition systems, of goal states, rewards, costs, and heuristic design.Tree Search Algorithms
Expanding on the concepts covered in section 3, this goes into the idea of state spaces for multi-player games and how this impacts search. Once we have more than one player in a game, the tree fundamentally changes in structure, given now you have multiple players affecting the path of the search at once. So in this section we explore tree search manifests, how we can search trees for good solutions, and optimise the approach using AB pruning and Monte Carlo methods.Constraint Satisfaction
For this section we move into a slightly different direction, but one that still expands on the topics explained in section 2 and 3. We introduce the idea of searching via constraint propagation: a process where we recognise constraints on a given solution that dicate what actions we can do and where. We can then our search smarter by recognising what constraints exist in a problem space, and then propagate such that we can see (un)desirable solutions much faster!Automated Planning
AI Planning algorithms take the search concept and expand upon it in numerous ways. It is largely a system build to establish solutions to long-term and distant problems. It's part state-space search, part constraint-based, and therefore it makes sense to introduce it at this stage. We look into how we encode state spaces using predicate logic, and how through planning encodings we can work to ‘lift’ the representation of the problem such that we can find solutions faster.Markov Models and Markov Decision Processes
In this penultimate segment of this section, we looking at the notion of the Markov property, Markov models and how we can handle randomness using Markov Decision Processes (MDPs) by building systems that learn a simple, functional but often expensive solution to solving problems with random properties. This highlights, in many respects, the value that machine learning can provide in a number of scenarios.An Introduction to Machine Learning
To wrap up the opening section of the class, we take a brief moment to explore machine learning in the context of everything that we have just learned. We’ll explore how ML differs from a traditional symbolic AI algorithms, what are the considerations for each, and why for a long time it was not used all that often in game development.
Part 2: Introduction to Game AI
With our first section complete, we then dig into the real meat of the course, our introduction to all things Game AI. It is important to complete part 1 first given almost every section in this syllabus lifts from and expands upon the work we’ve already covered. Either as we highlight how these ideas have led to specific technologies and techniques used (almost exclusively) in games, but also how we have utilised classic AI methods to solve particular game problems.
As participants will discover, Game AI is an entire sub-discipline of AI that focusses specifically on the challenges faced when building interesting and engaging experiences for players. It emerged as a means to resolve a number of specific problems that (for a long time at least) only existed in games.
Syllabus
The syllabus for part 2 is even more thorough than it was in part 1. Critically, it also has more technical and practical work as we not only continue to build our own library of tools and systems, but also begin to utilise Game AI technologies available in popular game engines.
Understanding Game AI
It's important for participants to understand the fundamental differences between traditional AI and Game AI. So we dig into the practical challenges of making AI that works in the context of a game.A Brief History of AI in Games
This history lesson segment is designed to help give context to how AI has evolved over the years, and highlight several key games that have influenced the field over the years. This is a crash course in game AI for anyone who has never watched an episode AI and Games, and arguably a greatest hits session for those that have!Pathfinding
We have previously explored how to use search algorithms to navigate state spaces, here we will expand on this idea and start looking into particular techniques that can be adopted for path-planning: where we transpose the state space problem onto a virtual path that characters seek to navigate. We discuss challenges of knowledge engineering, but also how we can expand on algorithms like A* to create new, more interesting, and practical variants such as D* and D* Lite.Navigation Meshes
Having now implemented our own navigation techniques, we would also like to be able to use more comprehensive set of tools. Navigation meshes are the industry standard for navigation in 3D games. They achieve this by taking areas of geometry and fragmenting them such that you can search upon the structure. In this section we will highlight the fundamental theories of how nav meshes work, and then explore how to use this tool in popular game engines.Finite State Machines
Our first introduction to game AI techniques for non-player characters is FSMs. We give an overview of the core of how an FSM works, standards that have emerged over time in the industry, and highlight not only how to build simple behaviours using them, but how to handle ever increasing complexity of designer needs.Behaviour Trees
Behaviour Trees are one of the most common forms of AI for non-player characters in AAA games, but if you coming into this space cold, you’ll be confused as to how they work, and what they do. So in this section we explore their origins, the core of how they work, and also begin to create our own NPCs with increasingly complex behaviours using in-engine tools.Goal Oriented Action Planning (GOAP)
Having explored how to build a planning system, as well as how to build a Finite State Machine, our next step is to fuse them together! Goal Oriented Action Planning helped introduce planning to games by handling many of the limitations and challenges of planning in a real-time adaptive environment. We explore how these two elements combine in a way that enables for fast and effective behaviours in games and how to build our own planner by utilising our existing technologies in a fun and engaging way.Utility AI
Now that we have a variety of means to execute behaviours, it's sometimes good to have an external mechanism for determining the relevance of one action/goal over the other. To that end, we introduce Utility AI, a commonly used tool for establishing the value of an action, a goal, or a object of importance at any given time. We highlight how you can use it not only to dictate action within a game, but also how it can help guide other behavioural systems - be it state machines, planners or otherwise - in how they act in this space.
Part 3: Designing AI for Games
For the third and final part of the course, the emphasis is on understanding that while we can do a lot of work to build AI systems for gameplay, it doesn’t mean that we can simply engineer our way through every problem we face. Inherently every game AI problem is equally as much of a technical problem as it is a design problem.
So in this final section, we look at how to address common challenges when building AI for your games, as well as how to reinforce the underlying behaviour of these systems such that players can understanding them.
Syllabus
The Challenges of Game AI Design
We kick things off by discussing the challenges of implementing AI within your game. What are the design considerations that we need to have in mind, and how specific genres add to the complexity of it all.The Value of Mixing Methods
It's important to acknowledge that some of the techniques we have covered to-date are 'bottom-up' approaches, while others are 'top-down'. This can have a huge impact on the type of AI you're building, and the perceived quality of the output.Embracing Theatre in Design
We dig into my philosophy of how to approach AI in your game as a mechanism of performance theatre. When it's appropriate to consider 'cheating', of serving the player's needs, of serving the game's needs, and how specific AI approaches can lean into or diverge from those goals.Smoke & Mirrors in Game Design
Thus far we've only discussed the quality of the final behaviours. The actual outputs of the AI system. Now we expand on the theatre concept to discuss how we can implement additional features that often supplement the AI and help cover us failings, or make it look smarter than it really is!Designing for Genre
We pick up common genres where AI is often applied in games, and then put this to practice. Discussing common pitfalls and practices that experts have adopted over the years.Building AI for Strategy
Designing AI for First-Person Shooters
Designing AI for Stealth Games
Achieving Consistency
Our final chapter is all about consistency. Developing an AI that is smart is one thing, building something that is consistently intelligent, that’s the real trick! In this final segment we discuss key areas of weakness in a lot of non-player character design for games, and how to minimise them when putting into practice in your own titles.
Future Courses Planned
As we begin to wrap up, I want to take a moment to highlight this is only the first course we have planned! There are several I am hoping to get off the ground, and should the Kickstarter prove successful, we’ll be deliver even more material to my audience to my audience, includling:
Machine Learning for Games Programmers
Games AI 201 [The sequel to this course]
Game Analytics 101 [Expanding on my ML for Games class]
AI for Technical Art & Animation
and more.
Tune in next month here on
, as I explore the second course that, provided we hit the stretch goals, will also be rolled out and put into full production!Support Goal State on Kickstarter this November
Goal State will go live this November over on Kickstarter, as I seek to get enough funding to dedicate the time and energy needed to make these courses as fun and as accessible as possible. Be sure to visit the Kickstarter page, and of course stick around here on
for more updates as we get ready for the big launch!You can find out more about Goal State via: