Closed simondorfman closed 5 years ago
The MCTS Barricade AI is basically the MCTS algorithm, only it pulls it's candidate moves from a list of tiles on the opponent's shortest path. It's not really designed for capture rules. The idea with this one (and the MCTS beeline engines) is that by limiting the candidate moves for a position we can search deeper. The problem is that if the theoretically best move isn't in the list of candidate moves, then the algorithm will never find it.
The plain and simple MCTS engine doesn't have any coded preconceptions like this. It just runs the pure algorithm on a list of every possible move in the position and sees what happens. For this reason the plain MCTS is by far the best for testing new rules.
The MCTS algorithm is so good for games with no established theory, that any new engines will most likely just be the MCTS with a modified candidate move selection process.
Also, I just fixed two bugs in the MCTS Beeline and MCTS Barricade engines. I'll get a build for those shortly.
Closing for now since move ordering benefits minimax more than mcts, and I'm probably not going to mess with minimax for this game any more. The mcts algorithm should converge on an optimal strategy by itself given enough time to think.
I played a game against the strongest AI (Monte Carlo Barricade) and it kept making bad chamber captures, setting me up to take them back. Here's the game log:
Screenshot:
Idea for how to improve the AI: something like this: Play these opportunities (in descending order of goodness):
And generally avoid doing this: