views:

466

answers:

4

I'm looking to try and write a chess AI. Is there something i can use on the .NET framework (or maybe even a chess program scripted in Lua) that will let me write and test a chess AI without worrying about actually makign a chess game?

+8  A: 

Not sure about what you are trying to do.

If you are looking for a ready-to-use chess GUI, you can use WinBoard. It is completely decoupled from the underlying chess engine(s), thanks to an established communication protocol. Your chess engine thus becomes a console app exchanging commands with the GUI.

A more modern alternative following the same concept is UCI. A GUI supporting UCI is Arena.

AndreaG
Not sure how i'm not clear, though i will check out those links, thanks!
RCIX
Sorry, didn't mean to be snarky. Just prefer the term "chess gui" instead of "chess game", which is quite ambiguous.By the way, http://www.gamedev.net/reference/programming/features/chess1/ is a very good tutorial on building a chess engine, in case you didn't know it already.
AndreaG
+1 fro the great tips, and +1 for the link in your comment.
Seth Illgard
thanks for mentioning UCI - never heard of it before
Eli Bendersky
+3  A: 

Here are some open source chess boards / games that run on Windows.

Stephen C
A: 
  1. Use one of the open source chess games.
  2. Figure out the interface that decides the computer's next move.
  3. Implement your own AI using the same interface and remove the user interface part.
  4. Compare your AI to the included one.
  5. Fun!
Sebastian
+4  A: 

I write a Computer Chess Blog that takes you through all the steps of writing a chess engine in C# from scratch, it includes a computer chess links section and a chess game starter kit.

http://www.chessbin.com

Adam Berent

Adam Berent
Nice work. Have you considered turning the BoardEvaluation class into an interface (IBoardEvaluation)? Developers could then plug their own Evaluation classes in.
Lee Smith
It is not a bad idea, thanks.
Adam Berent