Aug 26, 2008

Lately I've been working on a new major release of Arasan.

The main change has been to re-work the code to use "magic" bitboard logic instead of rotated bitboards. This has given about a 20-25% speedup. I have also had to re-write the evaluation function to take advantage of bitboard attack functions for king safety and mobility.

In addition, I have done a lot of code cleanup. This has included removing some old C style I/O (sprintf, etc.) in favor of C++ streams. Also I have cleaned up variable/function naming.

Finally I have done quite recently a big bout of bug-fixing, including tracking down and killing some long-standing bugs in the 10.x versions that caused occasional crashes when running multi-threaded. I've seen no crashes at all recently. I also found some search bugs, bugs in outside passed pawn scoring, and an unsafe optimization in the q-search.

No ETA for relasing this new version yet. I am pretty happy with the way it's playing (it has gained about 100 rating on points on ICC recently) but I think it probably still has bugs after this large batch of changes.