DEV Community

Costin Manda
Costin Manda

Posted on • Originally published at siderite.dev on

Game idea: Candidate Chess

Original post at: https://siderite.dev/blog/game-idea-candidate-chess/

Chess board and four buttons with moves As always, everything that is on this blog is free, including my ideas. If anyone wants to implement it, I am not asking for anything, although a little credit would be nice. It might already be out there, for all I know.

This is a game idea. It's a multiplayer game of chess, assisted by computer engines. The interface is a chess board and a number of button choices holding the best N moves as found by a chess engine. Possibly the choice of opening should be slightly different, but the MVP product is just that: computer suggests N moves and player choses one. Making a choice will show the move on the screen, tapping the button again will send it to the server.

It would be a more casual way of playing chess. Moreover, it would train players to choose between candidate moves, which is a secondary skill. The more difficult part of playing chess is finding candidate moves and usually most effort goes into it. This way, the computer takes care of that and lets the player focus on learning how to spot the better move.

The advantage for the game builder is that they get a database of how humans (at specific levels) select the moves. Next step is to create an AI that can consistently choose between candidates just as a human would. This can then be added to any existing chess game to provide a more human feel, regardless of the underlying chess engine.

The game could be played against the computer from the very beginning, by altering the probability to choose between top moves based on the supposed chess level. At maximum level the best move will always get selected, while at lowest level the choice will be completely random (but still pretty good, because it will only choose between top N moves).

Choosing the opening from a list by name could also be interesting, and showing the player the most common replies and what the plan is. Perhaps the number of candidate moves could be a game parameter, so both players agree to play six candidate move game, but others would go for three.

The interface is simple enough for people to play it on any device, including with a remote on a Smart TVs or on small screen devices.

Implementation should be relatively trivial. Open source chess engines like Stockfish are available for most major programming languages, including JavaScript. It is the interface that requires most work. Perhaps the possibilities for optimization are the most interesting, as development goes, having a cache of common positions and the top moves, for example.

Drawbacks include not being able to follow a plan, assuming the computer doesn't give you the choice to move in a direction you worked for. Also, the computer analysis should be consistent over devices, not giving an advantage to more powerful ones. That means both players waiting for the amount of time that analysis takes on the slowest device on the same number of plys.

Top comments (0)