🎮 Game AI

The ultimate course on Classical AI in modern videogames, covering everything you need to know, from Behaviour Trees to Neural Networks.

📚

12

chapters

🎞️

20+

hours

📦

8

C# libraries

📝

2

assignments

Course Description

“Game AI” is an online course designed for game developers and programmers who are keen to learn how Artificial Intelligence is applied in videogames. The course focuses on classical AI, covering popular techniques such as Behaviour Trees, Pathfinding, Goal-Oriented Action Planning, and Evolutionary Computation. The aim of this course is not just to teach how to use those techniques, but to understand how and why they work in the first place. Many online tutorials, in fact, can get you started quickly, but without a solid theoretical foundation, they fail to teach transferrable skills and to develop a solid understanding of Game AI at a professional level.

While Neural Networks are also covered in details, this course does not include Generative AI (such as Midjourney and ChatGPT). Classical AI techniques are, in fact, the dominant way to automate decision-making in modern videogames, as they offer full control to the developers.

Course Content

The course counts overs 20 hours of content, divided between 12 chapters, focusing on as many topics and techniques. “Game AI” is designed like a buffet: each chapter is self-contained, so that you can skip the ones that are not relevant to you, and focus on what you really need.

👨🏻‍🏫 Lecture

🔢 Maths

🖥️ Coding

📦 Unity package

📄 Documentation

🤖 01 ● Introduction

📜 02 ● History of AI

🔄 03 ● Finite State Machines

🌳 04 ● Behaviour Trees

🗺️ 05 ● Pathfinding

🚗 06 ● Steering Behaviours

🐦 07 ● Emergent Behaviours

📊 08 ● Utility Theory

📝 09 ● Planning

🔎 10 ● Tree Search

🧬 11 ● Evolution

🧠 12 ● Neural Networks

All students also have access to a large number of C# libraries, designed to perform most of the AI techniques covered in the course. They are fully compatible with Unity, and can be used for free in your games and projects.

Course Prerequisites

This course is designed for game developers and programmers, but there are no formal prerequisites. A basic knowledge of coding is recommended, but all the programming bits are self-contained and can be skipped. Likewise, the most mathematical parts are optional, but available to the students who feel ready for an extra challenge.

All resources for the course are developed in C# and Unity, but you do not need to be proficient in either. Moreover, most the theoretical content is language-agnostic, so that you can apply your knowledge to any other game engine or programming language.

Assignments

The course includes two practical assignments, which challenge students to create AIs for popular games, such as Snake and Tetris.

🐍 CW1 ● Snake Assignment

🧱 CW2 ● Tetris Assignment

Although all assignments are done in Unity and C#, you do not need to be proficient in either, thanks to the use of very expressive APIs.