In the industry, the highest comment of an AI system is that each AI has its own characteristics. Some might be cowards but others could be brave as hell. The major usage of Behavior tree is assuring this surprising attribute. But on the other hand, even these AI enemy have their own personality in games, they are still working for player’s gaming experience.
There are trends that machine learning is replacing original AI project in many ways. Let the AI refine itself seems way more efficient than artificially changes. Like training the Alpha-Go for the Go, or other games like StarCraft II. But in actual game develop industry. I do not think machine learning will be the main stream. For whatever reason, game designers bring AI into a game not to destroy player’s experience.
For example, a Soul-like game have an extremely hard boss which use the real-time machine learning, it will have probing attack and learn from player’s positioning and habits. Like for certain kind of attack, the player will tend to dodge leftwards. Then next time the boss will have double attack, one in the original place and one in its left. If the player plays long enough without changing his or her habit, the boss will be unbeatable. It sounds cool but it will totally ruin player’s experience which is totally unacceptable in the industry.

Another key problem in machine learning is the differences between copies. In standard development process, the game should have the similar experience for all players. But once there are machine learning implemented in the game, causing different difficulty for all players, the experience are no longer similar and standard. Players can choose to be different characters in a RPG game but they should have the same experience once they made same choices.
For a long time the Behavior tree will stay with game development. But for indie project or experimental project in games design, I am eager to see an unkillable demon AI that destroy all players.