One really important part of proving that this AI is unbeatable is having other people play it.
Using Yesod, make a backend server which, given a game and a sequence of moves, will return the move that the current piece should make. The sequence of moves is important for validation and logging.
Backend should collect these stats:
How many users start a game (>= 1 move)
How many moves people make before they finish the game or before they abandon the game
Time it takes for AI to respond
Backend should also record the moves made in every finished game. Request log should indicate the moves of games that took way too long.
The front-end will just be github pages with react. Should have a way to pick who goes first, the human or the AI. Just a simple interface. No login. Client generates a new session key at the beginning of every game and that is sent with each request.
One really important part of proving that this AI is unbeatable is having other people play it.
Using Yesod, make a backend server which, given a game and a sequence of moves, will return the move that the current piece should make. The sequence of moves is important for validation and logging.
Backend should collect these stats:
Backend should also record the moves made in every finished game. Request log should indicate the moves of games that took way too long.
The front-end will just be github pages with react. Should have a way to pick who goes first, the human or the AI. Just a simple interface. No login. Client generates a new session key at the beginning of every game and that is sent with each request.