Game Categories
It is hard to develop a game AI for all kind of games. To simplify this task we categorize games. Someone can think of many categories, single player vs. multi player games,sequential vs. parallel moves, cooperative vs. competing games, constant sum games etc. To use UCT or other AIs we have to modify the algorithm for the specific categories.
Single Player
Single player games are the easiest one. There aren't any other player which we have to consider. The goal is only to get 100 points. If we find such a game with 100 points, we save it and send each move of this game to the game master. The alternative is that we use our UCT (+RAVE)algorithm. To choose the best move, which will be send to the game master, we have to options:
The first option makes sure that the most promising move will be selected. The second one chooses the move, which was explored the most times. Often these two options choose the same move because UCT explores most time the promising moves.
Multi Player
Sequential Moves
Multi player games are also an easy task. For the exploration of the game tree it is only important that every player chooses his best move. Because we don't know the strategie of our opponents, we use the results of our UCT algorithm to simulate the choice of our opponents.
Parallel Moves
Multi player games with parallel moves are problem. The number of possible moves is quite high. If each player has k possible moves than there are k^n move tuples (n player). To choose the best move to send to the game master all move tuples will be analyzed:
The complexity is too high to use this analysis for every player when the game tree will be explored. There will use a simple heuristic:
Cooperative Games
We don't assume that all other players are against us. Our assumption is only that all player are trying to get a high score. We also don't try actively to bar them to do so. Hence a discovery of a cooperative game and changes aren't necessary.



