Windows development

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 5:45 pm
Location: Finland
Contact:

Re: Windows development

Post by ilari » Sun Oct 18, 2009 2:02 pm

James Constance wrote:oh dear! is it really that bad? :shock:
It is. Writing a GUI is way more difficult and tedious than writing a chess engine. If you're just a BASIC coder without proper software design skills, you're going to have to learn a lot of new things.

We're using C++ and Qt to develop Cute Chess, which is a cross-platform chess project. It's actually 3 projects in one package: a command line tool for engine-engine matches, a GUI, and a chess library with an object-oriented API. The library (which is still undergoing big changes) will allow 3rd party developers like you to easily create their own chess interface or tools for PGN collections, Polyglot books, etc. You can check out our code here, maybe it will give you some ideas.

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 2:54 am
Location: San Jose, California

Re: Windows development

Post by Bill Rogers » Sun Oct 18, 2009 3:08 pm

Hi James
There is a free basic compiler that will create windows compatible code and it is called 'FreeBasic'. Download it and try it for free.
Bill

F. Bluemers
Posts: 860
Joined: Thu Mar 09, 2006 10:21 pm
Location: Nederland
Contact:

Re: Windows development

Post by F. Bluemers » Sun Oct 18, 2009 3:29 pm

There are loads of basics e.g. http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx.
Each and everyone speaks its own dialect :wink:
The better ones move close(r) to C.So why not move to C immediate!
The best intro to C is still the K&R book.
A link with C(++) learning stuff
http://www.thefreecountry.com/documenta ... ecpp.shtml
Free C(++) Compilers
http://www.thefreecountry.com/compilers/cpp.shtml

Dann Corbit
Posts: 10122
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Windows development

Post by Dann Corbit » Mon Oct 19, 2009 7:54 pm

James Constance wrote:If I wanted to develop an interface for chess engines (for windows), what would be the best software/development kit to use? I've only got experience programming in BASIC type languages, but could learn another if worthwhile.

thanks

James
For a quick easy way to write a GUI, I would recommend the following:
1. If you are familiar with Java, use Java
2. If you are familiar with BASIC use VB.NET
3. If you are familiar with C# use C#
4. If you are familiar with Delphi then use Delphi

Other sensible options include TCL/TK, wxWidgets or even a web server

The common denominator here is to use something that you are familiar with.

James Constance
Posts: 353
Joined: Wed Mar 08, 2006 7:36 pm
Location: UK

Re: Windows development

Post by James Constance » Tue Oct 20, 2009 10:52 pm

Thanks all for you informative replies!

Dann Corbit
Posts: 10122
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Windows development

Post by Dann Corbit » Tue Oct 20, 2009 11:32 pm

ilari wrote:
James Constance wrote:oh dear! is it really that bad? :shock:
It is. Writing a GUI is way more difficult and tedious than writing a chess engine. If you're just a BASIC coder without proper software design skills, you're going to have to learn a lot of new things.

We're using C++ and Qt to develop Cute Chess, which is a cross-platform chess project. It's actually 3 projects in one package: a command line tool for engine-engine matches, a GUI, and a chess library with an object-oriented API. The library (which is still undergoing big changes) will allow 3rd party developers like you to easily create their own chess interface or tools for PGN collections, Polyglot books, etc. You can check out our code here, maybe it will give you some ideas.
I guess that using VB.NET it will be far simpler to write a chess GUI than to write a chess engine.

There are sample chessboards available, so there's really nothing to it.

I guess that I could write a simple one[1] in one day (but I have no interest in it at all -- I have to do GUI programming but I don't much like it).

[1] Something that two users could use to play chess against each other, using hints from existing tools. To hook up a zillion different chess engines and do tournaments and that sort of thing like Arena would be a huge and horrifying project.

Post Reply