Chinese Chess multiplayer with AI
Check out my Chinese Chess!
It uses canvas to draw the board and pieces, websockets for multiplayer, and redux on the server and clients for keeping track of/updating game state. It comes with logic for determining (and rendering) legal moves for game pieces, and a custom built AI that uses minimax with alpha beta pruning (which looks 4 turns ahead by default) to narrow down immediate moves, and Monte Carlo Tree Search to look further ahead to determine which of those immediate moves result in better long term prospects. It uses a very simple evaluation function that compares the "score" of both teams (based on weighted values of game pieces: eg, chariot = 10 points, cannon =4.5 points, etc) for use by minimax, as well as the Monte Carlo Tree Search if it does not reach a win or a loss within a given time.
Project Members: Charles Long