Dorpsgek Ambrosia

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.
ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Dorpsgek Ambrosia

Post by ZirconiumX » Thu Jul 07, 2016 5:14 pm

So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.

The whole thing for this started from a post from RGCC where Andrew Tridgell was explaining how the move generator from KnightCap worked, which I thought was fairly elegant. I wrote the move generator for Dorpsgek the next day and it sort of spiraled from there.

I'm not having much luck compiling executables, but you can find the source and an amateur's compile here.

I'm dedicating this release to George Speight, who helped immensely when I was suffering with depression several years ago. I would also like to make a mention of Morgan Redbourne, my friend and willing tester for the release.

The version name comes from the cocktail Ambrosia, a recipe for which can be found when launching the program on the command line.

I should also mention that it uses XBoard protocol - UCI users will probably need to use UCI2WB.

Enjoy. (Or not, your choice.)
Some believe in the almighty dollar.

I believe in the almighty printf statement.

User avatar
Guenther
Posts: 2259
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Contact:

Re: Dorpsgek Ambrosia

Post by Guenther » Thu Jul 07, 2016 5:20 pm

ZirconiumX wrote:So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.(Or not, your choice.)
I thought it is a (heavy) derivate of FirstChess (and may be SecondChess too)?
Haven't looked at the source yet...

ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: Dorpsgek Ambrosia

Post by ZirconiumX » Thu Jul 07, 2016 5:21 pm

Guenther wrote:
ZirconiumX wrote:So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.(Or not, your choice.)
I thought it is a (heavy) derivate of FirstChess (and may be SecondChess too)?
Haven't looked at the source yet...
No, that was Magic, which was scrapped yonks ago.

I will state for the record that the code in attacks.c does come from FirstChess, which is public domain.
Some believe in the almighty dollar.

I believe in the almighty printf statement.

User avatar
Guenther
Posts: 2259
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Contact:

Re: Dorpsgek Ambrosia

Post by Guenther » Thu Jul 07, 2016 5:23 pm

ZirconiumX wrote:
Guenther wrote:
ZirconiumX wrote:So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.(Or not, your choice.)
I thought it is a (heavy) derivate of FirstChess (and may be SecondChess too)?
Haven't looked at the source yet...
No, that was Magic, which was scrapped yonks ago.

I will state for the record that the code in attacks.c does come from FirstChess, which is public domain.
Hmmm, I am quite sure you mentioned it yourself for Dorpsgek recently?
Then the post should be still there though.

ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: Dorpsgek Ambrosia

Post by ZirconiumX » Thu Jul 07, 2016 5:29 pm

Guenther wrote:
ZirconiumX wrote:
Guenther wrote:
ZirconiumX wrote:So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.(Or not, your choice.)
I thought it is a (heavy) derivate of FirstChess (and may be SecondChess too)?
Haven't looked at the source yet...
No, that was Magic, which was scrapped yonks ago.

I will state for the record that the code in attacks.c does come from FirstChess, which is public domain.
Hmmm, I am quite sure you mentioned it yourself for Dorpsgek recently?
Then the post should be still there though.
Nope, not for Dorpsgek. As I said, Magic (and Durandal, come to think of it - maybe you got the names confused?) were both Firstchess-based, but not Dorpsgek.
Some believe in the almighty dollar.

I believe in the almighty printf statement.

User avatar
Guenther
Posts: 2259
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Contact:

Re: Dorpsgek Ambrosia

Post by Guenther » Thu Jul 07, 2016 5:50 pm

ZirconiumX wrote:
Guenther wrote:
ZirconiumX wrote:
Guenther wrote:
ZirconiumX wrote:So, for all the hilarity had at my expense, I've finally written an original program. It's really not that strong (TSCP - 150 Elo puts it about 1550 CCRL), but it's there for people to look at.(Or not, your choice.)
I thought it is a (heavy) derivate of FirstChess (and may be SecondChess too)?
Haven't looked at the source yet...
No, that was Magic, which was scrapped yonks ago.

I will state for the record that the code in attacks.c does come from FirstChess, which is public domain.
Hmmm, I am quite sure you mentioned it yourself for Dorpsgek recently?
Then the post should be still there though.
Nope, not for Dorpsgek. As I said, Magic (and Durandal, come to think of it - maybe you got the names confused?) were both Firstchess-based, but not Dorpsgek.
Could be Durandal. I have checked probably >2000 posts during my
research for the new XB/UCI chronology and somehow I don't forget
relevant facts. Mixing them is not completely out of place ;-)

Good luck with it.

ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: Dorpsgek Ambrosia

Post by ZirconiumX » Thu Jul 07, 2016 5:59 pm

Guenther wrote:Good luck with it.
Thank you!

Program speed is the main issue, which comes with the territory of requiring attack tables for every single node. Incremental update helped a lot with this though.
Some believe in the almighty dollar.

I believe in the almighty printf statement.

User avatar
abik
Posts: 626
Joined: Fri Dec 01, 2006 9:46 pm
Location: Mountain View, CA, USA
Contact:

Re: Dorpsgek Ambrosia

Post by abik » Thu Jul 07, 2016 6:04 pm

ZirconiumX wrote:I'm not having much luck compiling executables, but you can find the source and an amateur's compile
I had no issues compiling this for Arm to run on Android devices. However, it does not play very stable in Chess for Android. If I have some time later, I can investigate what causes the problems....

Code: Select all

$ ./dorpsgek                                       

# Allocated 16 megabyte hash table of 1048576 elements.
# never exceed: 61220 no iteration: 3749
# Dorpsgek Ambrosia
# by Dan Ravensloft (Matthew Brades).
# Dedicated to George Speight.
# 
# 1   shot of cognac
# 1   shot of brandy
# 1/4 shot of triple sec
# 1/4 shot of fresh orange juice
# Shake with ice, strain into flute glass, top up with champagne.

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

Re: Dorpsgek Ambrosia

Post by velmarin » Thu Jul 07, 2016 6:15 pm

Congrats, Mattew, in ARENA seems play of form stable without accidents.

In Visual Studio, there is no problem compiling it,
After changing the inline directive.
In the provided code Bitscan and popcnt are in mode 32 bit, I guess that does not travel the entire Board in their searches.

ZirconiumX
Posts: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: Dorpsgek Ambrosia

Post by ZirconiumX » Thu Jul 07, 2016 6:33 pm

velmarin wrote:Congrats, Mattew, in ARENA seems play of form stable without accidents.

In Visual Studio, there is no problem compiling it,
After changing the inline directive.
In the provided code Bitscan and popcnt are in mode 32 bit, I guess that does not travel the entire Board in their searches.
Dorpsgek doesn't use bitboards - it uses 32-bit piece sets, which is more 32-bit friendly. It still benefits from popcnt though.
Some believe in the almighty dollar.

I believe in the almighty printf statement.

Post Reply