Anyhow, I got the itch again about a month ago and decided it was time to get my head around bitboards. I've been rewriting MadChess using bitboards and magic move generation. I've reached the first important milestone: legal move generation. You can read the details in MadChess 3.0 Beta Build 39 (Bitboards) on my website, but I'll provide the executive summary here:
MadChess 3.0 Beta does not yet play a game of chess. I have not written the search or evaluation functions. At this point, it only generates and plays moves, prints a visual representation of the board, and runs some unit tests.MadChess 3.0 Beta generates legal moves at a rate of 41 million per second from the starting position (4.7x faster than MadChess 2.2). Perhaps performance can be improved with profiling and low-level engineering, but I'm pretty happy with that speed for C# code.
I'll post updates to this thread as I make progress. If you have any questions, don't hesitate to ask- either here on or my website.