Chess Software Development
I now have a 4-file testbed for developing chess-playing engines.
- chess1.php loads chess.js to provide a chess-playing framework
- chess_board2.php the board: + fen, moves, captured pieces, progress graphs
- chess3.js play / pause / reset, updates board elements
- engines.js takes a game position, thinks, then returns its best move
You can see the current version at JET5 Computer Chess Testbed
The software self-plays, and I can choose which engine plays which engine. The underlying algorithm (depth-first minimax with alpha-beta pruning) is shared between engines. Each engine provides its own evaluation function.
So it's now time for some software cooking fun! Current engines include "standard material value", and "material plus strategic hints". Which is best?