Advertisement

Student to AI Programmer

Started by July 20, 2017 04:06 PM
1 comment, last by Kylotan 7 years, 4 months ago

Hello!

I am fully aware, especially based on previous topics, that AI programming is not an entry level job. Starting at gameplay programmer and working my way into a specialization seems to be the most popular bit of advice and I am taking that to heart. However, I do have a few more questions regarding AI programming and how to get there.

1. What are the best resources for me to get more familiar with this specialization? Something beginner for learning AI, that assumes you already are comfortable with programming. Is there a favored book on the subject?

2. What would be the best way to build my portfolio for this specialization? Is just having the blueprints or code generally good enough, or should I be building levels that can show off what my little buddies can do?

3. I have used behavior trees before. Should I move off of those and on to state machines? How do they compare in usefulness for medium to larger scale games?

Thank you!

1. The books you want are in this thread, but the formatting is broken, so I'll give a summary: "Programming Game AI by Example" by Mat Buckland, and "Artificial Intelligence for Games" by Ian Millington are good starter texts. "Behavioral Mathematics for Game AI" by Dave Mark is a good follow-up text. "AI Game Engine Programming" by Brian Schwab has some mixed reviews but Brian sure knows his stuff (disclosure: I worked for him for a short time), so maybe that's another good one once you already have the basics down. "Artificial Intelligence: A Modern Approach" by Russell and Norvig is an essential guide to the wider world of AI, some of which you'll see in games, some of which you won't. All the AI Game Programming Wisdom books are worth getting if you can, as they contain a bunch of individual hints, tips, tricks and techniques that can be used once you already know the basics. The same applies for the newer Game AI Pro books, the first 2 of which are available for free online.

2. What is best depends on your specific goals - different studios want different skills. If you want to cover all bases, you might want to show that you can use some built-in tools like UE4's Behaviour Trees or Unity's pathfinding, plus showing you can write your own algorithms where necessary (e.g. A* path-finding is a classic, or implementing a utility system), perhaps in a minimalist framework such as SDL to prove that you understand all the parts. Generally speaking people want to be able to see the behaviour as well as the code, and you're going to need to be able to test it anyway. So you can show them a prototype of your code running in a test map of some sort.

3. State machines are trivial compared to behaviour trees. But they are not mutually exclusive. You need to understand both, and the relationship between them, and the pros and cons of each. You also need to understand other concepts like graph search, pathfinding, steering behaviours, optimisation problems, utility systems, decision trees, planners, etc. It's not necessary to implement every single one of these from the ground up, but the more you do, the more chance you have of being able to show that you know the right tool for the job, and can implement it.

 

This topic is closed to new replies.

Advertisement