Chesser: A Chess Engine derived from wingletx by Syed Fahad

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
vittyvirus
Posts: 641
Joined: Wed Jun 18, 2014 12:30 pm

Chesser: A Chess Engine derived from wingletx by Syed Fahad

Post by vittyvirus » Wed Dec 24, 2014 9:11 am

"Chesser is a Bitboard chess engine based on Stef Luijten's Winglet Chess
Engine. This program came into existence because I saw a huge room for
improvement in Winglet."

My first Chess Engine!

https://sourceforge.net/projects/chesser/

Chesser code has lots and lots of speed-ups and new things...
I've done lots and lots of speed-ups, and heavily tweaked the evaluation function. Although it does a perfect score against wingletx at times, my tests show it's around 2000...

The download includes the 32-bit executables and source for Chesser and wingletx. My compiler (MSVC++ 2010 Express) doesn't support 64-bit for now. So please compile for 64-bits if you can!!! The project files for Chesser are also included.

I'd also request CCRL to test this Winboard engine...
'I would only believe in a god who could dance.' - Friedrich Nietzsche

User avatar
Bloodbane
Posts: 154
Joined: Thu Oct 03, 2013 2:17 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by Bloodbane » Wed Dec 24, 2014 11:20 am

I tried compiling Chesser on VS2013, but it fails due to massive amounts of linker errors caused by multiply defined objects. On a quick glance the cause is globals.h and the plain variables contained within. If you have something like "int DISTANCE[64][64];" in a header file in the global namespace every time the file is included somewhere else the variable is duplicated which causes severe problems for the linker leading to the errors. Do you get any warnings or errors related to this?
Functional programming combines the flexibility and power of abstract mathematics with the intuitive clarity of abstract mathematics.
https://github.com/mAarnos

User avatar
vittyvirus
Posts: 641
Joined: Wed Jun 18, 2014 12:30 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by vittyvirus » Wed Dec 24, 2014 11:29 am

Bloodbane wrote:I tried compiling Chesser on VS2013, but it fails due to massive amounts of linker errors caused by multiply defined objects. On a quick glance the cause is globals.h and the plain variables contained within. If you have something like "int DISTANCE[64][64];" in a header file in the global namespace every time the file is included somewhere else the variable is duplicated which causes severe problems for the linker leading to the errors. Do you get any warnings or errors related to this?
Thank you!
You can solve the problem by simply by turning on /FORCE:MULTIPLE
Goto Project Properties->Linker->General->Force File Output and turn it on.

Should solve the problem immediately.
'I would only believe in a god who could dance.' - Friedrich Nietzsche

User avatar
velmarin
Posts: 1579
Joined: Mon Feb 21, 2011 8:48 am

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by velmarin » Wed Dec 24, 2014 11:47 am

The code is compiled by adding the flag.

But you have not put popcnt to 64 bits or Bitscanforward,, ..
You lose a lot of speed,


Winglet is a good choice to keep improving.

User avatar
Bloodbane
Posts: 154
Joined: Thu Oct 03, 2013 2:17 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by Bloodbane » Wed Dec 24, 2014 11:49 am

That worked, but I would suggest getting rid of the problem instead of working around it by messing with the linker. Anyways, here's the link to the x64 version.

http://www.filedropper.com/chesser
Functional programming combines the flexibility and power of abstract mathematics with the intuitive clarity of abstract mathematics.
https://github.com/mAarnos

User avatar
vittyvirus
Posts: 641
Joined: Wed Jun 18, 2014 12:30 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by vittyvirus » Wed Dec 24, 2014 11:58 am

Bloodbane wrote:That worked, but I would suggest getting rid of the problem instead of working around it by messing with the linker. Anyways, here's the link to the x64 version.

http://www.filedropper.com/chesser
Can you email it to me? sydfhd@gmail.com
'I would only believe in a god who could dance.' - Friedrich Nietzsche

User avatar
vittyvirus
Posts: 641
Joined: Wed Jun 18, 2014 12:30 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by vittyvirus » Wed Dec 24, 2014 12:00 pm

velmarin wrote:The code is compiled by adding the flag.

But you have not put popcnt to 64 bits or Bitscanforward,, ..
You lose a lot of speed,


Winglet is a good choice to keep improving.
Unfortunate enough, my compiler didn't seem to support popcnt64 or _BitScanForward64()
'I would only believe in a god who could dance.' - Friedrich Nietzsche

Sven
Posts: 3576
Joined: Thu May 15, 2008 7:57 pm
Location: Berlin, Germany

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by Sven » Wed Dec 24, 2014 1:53 pm

Bloodbane wrote:That worked, but I would suggest getting rid of the problem instead of working around it by messing with the linker.
Fully agreed. However, the source of the problem is already in Winglet and most probably Syed was not aware of it.

@Syed: Chesser.vcxproj has wrong path names for magicmoves.c and magicmoves.h, these need to be fixed.

User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by cdani » Wed Dec 24, 2014 2:24 pm

vittyvirus wrote:"Chesser is a Bitboard chess engine based on Stef Luijten's Winglet Chess
Engine. This program came into existence because I saw a huge room for
improvement in Winglet."

My first Chess Engine!

https://sourceforge.net/projects/chesser/
Congratulations!!

User avatar
vittyvirus
Posts: 641
Joined: Wed Jun 18, 2014 12:30 pm

Re: Chesser: A Chess Engine derived from wingletx by Syed Fa

Post by vittyvirus » Wed Dec 24, 2014 2:52 pm

Sven Schüle wrote:
Bloodbane wrote:That worked, but I would suggest getting rid of the problem instead of working around it by messing with the linker.
Fully agreed. However, the source of the problem is already in Winglet and most probably Syed was not aware of it.

@Syed: Chesser.vcxproj has wrong path names for magicmoves.c and magicmoves.h, these need to be fixed.
Oh, I didn't notice that... I'd fix it soon. Thanks!
'I would only believe in a god who could dance.' - Friedrich Nietzsche

Post Reply