c# 2.0 chess project

Talking about chess programming using C#.

Wednesday, October 20, 2004

first post - what this blog is about

Hello. This blog will detail my efforts to write a chess program in C# 2.0 comparable in strength to popular engines like Crafty and Rebel. I will post stuff about move generation using rotated bitboards, move pruning and C# specific issues with performance I encounter while writing this program. My primary motivation? Well, I am something of a chess nut and writing a chess program is something I have always wanted to do. It's not trivial and finding ways to tweak your program to provide great performance can keep you occupied for years. I decided to use C# 2.0 for the following reasons:

a) There are no chess engines coded in C# or any other modern object oriented language that I am aware of (no strong chess engines anyway). All the really strong engines are coded in C.
b) I am curious about finding out if I can tweak a chess engine written in C# to provide the kind of performance you normally get with a similar engine written in C or C++.
c) It's fun!

I started coding up my engine around the start of July 2004. I submitted a half finished entry to Microsoft's summer of express competition. Of course I didn't win (who would with a half finished program?) but if they live up to their promise, they will be posting the submitted code soon. It should provide a stark contrast to the current status of the program (I will post the updated code in a couple of days). I got the move generation and basic book building worked out. Right now, I'm beating my brains out over producing a reasonable search and evaluation function.

Oh, about me. Just graduated from UMASS Boston with a MS in Computer Science this summer. I live in Boston and my day job involves ASP.NET programming.


Post a Comment

<< Home