MElephant Chess V 0.2 – update: 0.2.3 out, improving broken AI in 0.2.2
Saturday, September 5th, 2009
During playtime at work, I ported the Melephant chess Qt designer plugin (used in 0.1) to run on an ARM-based device, and a collegue played it, killing it in 15 moves. Since the processor was quite a bit slower than the intel CPUs I originally developed it for, the AI could only do 3 ply (look 3 moves ahead), which was the same as “novice” in v 0.1. Personally I suck at chess and occationally loose in novice mode
…but it showed that it needed to be faster!
So I had to make 0.2, adding:
Code optimisations – profiling the code in valgrind resulted in several code optimisations, including rewriting the container for pieces on the board and caching the king position, as it is checked often, searching the array for it was actually a bottle neck.
Improved AI - To be honest, most time was spent on code optimisation, but the AI also got quiescence searching, implemented so we never stop searching on capturing moves. Iterative deepening was added to allow more efficient alpha beta pruning.
Also added an application icon that looks like crap that you can put on your desktop, and better piece selection so it works well with cursor keys. Another AI level was unlocked – “Easy Plus” – try to beat it … I can’t (but then again I suck at chess, maybe I’ll manage before 0.3).
Download the executable for Windows HERE: MElephant-0.2.3.zip.
If there is demand for it, I can upload a Linux/Mac version, after all I did develop it on Linux mostly.