Windows development

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Windows development

Post by ilari »

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 3:54 am
Location: San Jose, California

Re: Windows development

Post by Bill Rogers »

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: 868
Joined: Thu Mar 09, 2006 11:21 pm
Location: Nederland

Re: Windows development

Post by F. Bluemers »

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: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Windows development

Post by Dann Corbit »

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: 358
Joined: Wed Mar 08, 2006 8:36 pm
Location: UK

Re: Windows development

Post by James Constance »

Thanks all for you informative replies!
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Windows development

Post by Dann Corbit »

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.