If you are interested in path finding, make sure you understand A* completely, so you can implement it efficiently and --more importantly-- so you can modify it for situations that don't fit the standard setup (e.g., multiple units going to one place, one unit going to one of several goals...). I wouldn't worry too much about enhancements until you get to that point.

There are algorithms for planning (like GOAP), algorithms for playing games like chess and checkers (minimax with alpha-beta pruning), and a new class of algorithms called MCTS that can be used for all sort of situations (playing games where we don't have a reasonable evaluation function (like go), playing games with multiple players, with randomness or with simultaneous decisions...).

But I would try to learn this field one problem at a time. Make a program that plays connect-4, or poker, or StarCraft, or your own little game. Then learn whatever you need to know to tackle the particular problem. Over time, you'll learn lots of things about the field, and you'll also know what kinds of things you are interested in working on.