Skip to main content

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

Find the program that fits your life.

Learn about our coding, cybersecurity, and data analytics bootcamps offered on full-time and part-time schedules.