So it was 3 weeks ago that I said I was going to try and get a post done every week, apparently that didn’t work. In my defence I got ill and then it was milestone time so I was really busy (just before a milestone probably wasn’t the best time to be making any extra commitments.)

Anyway here’s my review of the first parts of The Principles of Modern Game AI course that I’m doing (and you can too, it’s mostly free! (some parts are locked off to non-members))

First a bit of background about me in relation to AI work. AI has always interested me (as a kid I either wanted to go into games or robotics. Games won) and I’d done some AI work for games even before I got to university. At University it was my favourite lesson (apologies to the lecturers of the other topics I somewhat ignored) and I have, at times, been employed specifically to write AI code. In short, I know a fair bit about game AI, but no where near as much as someone who does it day-to-day.

So when I heard about this course, created by the people at AiGameDev.com I was really excited for it (even more so with it being free) and signed myself up.

The course got off to a bit of a rocky start, the introductory unit was delayed and the quality of the video wasn’t very good (it seemed rushed, and that was probably the case given the delays) and if I’m honest, I’d have been a bit annoyed if I was paying for it. But still, this introduction explained what the course would be and how it would work and I was interested enough to keep at it.

Unit 1 was released last last month, and I’ve been slowly working my way through it (see ‘illness and milestone’ excuses above) and I’m happy to say that this is much better. The video quality is much improved, and there is a lot of information to take in (I keep having to pause so I can take notes).

The first unit is split in to 3 lessons, and each of these lessons is split into various sections, with each section being either a video tutorial, a quiz, or an exercise. There’s also ‘Labs’ which are coding exercises at the end of the Unit.

This first unit focuses on modern techniques for building interactive agents, and how to split up both the code and the flow of execution to make it easier for your AI to achieve it’s goals. It talks about the logical phases an AI goes through (‘Sensing’, ‘Thinking’, and ‘Acting’) then goes on to talk about how this is further split into layers (e.g. ‘Animation’, ‘Locomotion’, ‘Navigation’, ‘Behaviour’, etc.) and how each of these layers might also go through those same phases. At various points throughout the lessons there are quizzes where videos are shown of various bugs, and you have to say which phase or layer the bug is in. I think this is a really nice idea, the videos are short and usually kind-of funny, and diagnosing bugs seems to tap in to a part of my brain that is really good at picking up new ideas.

I’ve reached the point of the first lab now, which is an exercise in building an AI for a HAL9000-like entity for a horror game, the code is in Python (it’s been a while since I used that) and there seems to be a bit of initial set-up, so I’m going to do that at some point and report back.

I’d say this course is good for anyone with an interest in game AI, but be warned that it’s a non-trivial time commitment so it may only be worth it for people who are planning to use the information.