This is the second re-design I am doing on the ChessBin Chess Engine. You can read all about the first one here, so you don’t make the same mistakes as me. I guess that is what you get for re-inventing the wheel. At least I am still having fun.
This re-construction is related to how my chess engine stores the chess board. Currently the chess board is described as a two dimensional array. This way with a column and row you can locate any square on the board. This is makes my chess engine easy to understand but slow.
The new design will modify the chess board to be a single array of 64 squares. This makes it necessary to refer to board positions via an index. An index of 0 will locate the top left most square on the board and an index of 63 will locate the bottom right one. This also allows me to drop the entire Position struct as it is no longer necessary to describe the position by two bytes.
The new version of my ChessBin chess engine that I am currently testing is about 25% faster due to these changes.
I will be modifying each of the posts and the development kit over the next few weeks. Stay tuned for updates.
Updated April 22nd 2009, I have finished updating all of the posts and the Chess Game Development Kit.