This page is was built to be used as a sort of testing ground for neural nets that can be created using my alphaC4 project, available here on github. The alphaC4 project lets a user design a neural net, and train it using a self-play learning process. A more thorough description of the techniques used when writing the project is available on the readme, accessible from the link above.
The page is also capable of a few different modes of play. The user can choose from several player types: “Human Player” requires the user to input the move to be made, the “Minimax Algorithm” option plays the move chosen by the minimax algorithm and heuristic that can be found in the alphaC4 repo. “Default Neural Net” uses a policy and value neural net hosted on the server. Finally the “Upload Neural Net” option lets a user upload a policy and value network that are temporarily stored on the server and used instead of the default option provided.
The page also provides three separate modes of play. With all player combinations, the “Take Turn” button will be available, if the current player is a “Human Player” a move must be input to proceed, otherwise the move will be made automatically according to the player type. This lets the user control the pace of the game and go through at their own pace.
The “Autoplay” checkbox becomes available when a non-human player is present in the game. In this mode, human players still submit their moves as usual, but all other player type moves are made automatically. In the case where two non-human players play against each other, the game will be played automatically, with the board being updated each turn until the game has ended.
In the case where two neural net opponents are facing each other, the “Backend Autoplay” button will become available when the “Autoplay” button is checked. In this mode, the player sets the amount of games to be played, and on submission, the games will play on the server, and bring the user back to the initial page with the results of the series. This mode plays much faster than the “Autoplay” mode as the neural nets are only loaded once initially, instead of on each turn. This mode is ideal if the user wants to compare the effectiveness of two neural nets.
The “Play Again” button resets the current board, while the “New Game” button takes the user back to the initial player selection page.