determining a good move in chess
Hi everyone,
Firstly, thanks to those who offered advice with my RPG. Its finished (well,...its at a playable
state but now im bored of it), and now im busy making chess. I apoligize for the fact that this
particular question probably has little to do with Java itself other than the fact that im making
the game in Java. So if you're still willing to offer assistance I would appreciate it.
Ive completed the multiplayer version (human vs human) and am now busy with the AI for the human vs
computer. Im aware of various search algorithms using minimax, heuristics etc which I will use to
analyze the board and search for good moves aswell as thinking ahead. My problem is that I cant
think of any values to add to certain moves on the current board position so that the pieces will
move intelligently. I wont have much use for search algorithms to think 5 moves ahead if I cant even
determine a good move right now?!?
This is what I have so far:
Value of pieces which will assist in determining which piece to capture:
King: infinity
Queen: 9
Rook: 5
Knight: 3
Bishop: 3
Pawn: 1
Other move generation values:
pawn within 3 rows of getting promoted: value+=2
chance to castle/king: value+=2
Other than these few basic values I cant think of any others. At the moment only the pawns will move
and then every other piece will only move if it has the opportunity to capture another piece since
the game sees no more advanatage in moving a pawn than moving a bishop for instance. I need to have
more values which can indicate how good certain moves will be so that pieces will move even if they
aren't going to capture anything. At the moment im not looking into the future (ie: generating
children from moves and then analyzing those aswell). Im at the moment, merely wanting to determine
a good move with the current board position without thinking ahead. (which will come later).
As always,...much appreciated.
R

