The best way to figure out is to pull up a job posting that is the one you want, and then work backwards from there. Senior Software Engineer, Gameplay/AI from Blizzard.
> Passion for playing and making video games
> Strong AI experience
> Advanced C++ programming skills
> 5+ years’ experience in game programming, including experience working on at least one AAA shipped title
> Strong mathematics skills, including proficiency with trigonometry, and linear algebra
> Advanced knowledge of game characters, including animation and physics
> Must be comfortable working within and adding to an established code framework
So... you need to have the C++ background. You need some AI experience (though note that this isn't machine learning... frankly, few games have machine learning as part of them where the game is developing a model while playing).
This is going to boil down to "write code, likely C++" and "understand the data structures that facilitate AI programming." Some time back I wrote a program to play a a m,n,k-game for 20,20,5 (I think it was 20,20 - might have been 19,19) for a class. I learned about min-max trees and alpha pruning of those trees. Instead of dealing with a 20x20 board, I found it was easier (for me) to deal with a 192x5 board for determining the best play.
I'll suggest books like Chases and Escapes: The Mathematics of Pursuit and Evasion and see if you can dig up a copy of Winning Ways for Your Mathematical Plays.
The point of this is that it is a programming job with a lot of math behind it. You will want a CS degree - its not listed as a requirement, but many of the requirements presuppose that familiarity.