New engine: Goldfish

Questions and comments related to CCRL testing study
Post Reply
bsamseth
Posts: 3
Joined: Mon Mar 18, 2019 11:29 am
Sign-up code: 10159

New engine: Goldfish

Post by bsamseth »

Hi!

I would like to enter my engine, Goldfish, into the rating list. It's open source and available at https://github.com/bsamseth/goldfish, and you'll find a lot more information about it there.

It is derived from Pulse (https://github.com/fluxroot/pulse), and as time has passed it has been substantially changed/rewritten. A live version has been playable on lichess.org for a while and it has a lichess-rating ~1900 +- 200 across different time controls, with a little more than 2000 games per 2019.

I'm not too familiar with how games are accepted, if I can run tests myself and submit, or if someone "internal" needs to set it up? I'm happy to run some tests myself, provided that running the tests on a Linux-based virtual cloud-machine (e.g. google's cloud compute engine) is ok.

Please excuse my ignorance if this is not the proper way to "submit" an engine, and please do correct me if so.
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New engine: Goldfish

Post by T-Poppins »

Hello Bendik

Thank you for the information.
We do all our testing "in-house" and do not accept games from third parties. Submitting your engine this way is fine but we usually require built Windows execs since none of the active testers runs Linux and none is a programmer.

I was able to build your source under MSYS2 (not without much headache, thanks to Cmake) and the exec seems to work fine. In fact, it's rather impressive for an engine around 1900 Elo. It passed the three basic tests I usually run new engines through with flying colors: a mate-in-12 KRK endgame, a KPKP->KPK draw and a promotion test. I'll post the exec but first I'd like to make sure I didn't miss anything.

I'm puzzled that the engine doesn't offer any UCI options, yet your Github site states it supports Syzygy TBs. How is it supposed to find the path to the TBs?

Tirsa
bsamseth
Posts: 3
Joined: Mon Mar 18, 2019 11:29 am
Sign-up code: 10159

Re: New engine: Goldfish

Post by bsamseth »

Thanks a lot for the information. I do hope you didn't spend to much time getting it to work! I'll see if I can't get my hands on a Windows OS so that I can properly submit executables.

That said I'm happy to hear it passed your tests.

About the missing UCI options: This is next on my todo list, but currently everything that could/should be options are hard-coded into the source code. At the moment, it looks for a folder named "syzygy" in the working directory where the executable is run from. That is, if Goldfish is run from within folder "A", then all the ".rtbz/.rtbw" should be in the folder "A/syzygy".

Also, the transposition table size is fixed at 300Mib at the moment (for no particular reason).

I'm planning to add proper options within the next couple of days, so perhaps you would like to wait for that? Hopefully I'll be able to build it for windows as well by then.

Thanks again, really appreciate the work you've done to maintain CCRL.
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New engine: Goldfish

Post by T-Poppins »

Compiling did take me a while, mainly because I'd never used Cmake. I think a small project like yours could be served much better with a simple makefile rather than an arcane system of a myriad of files.

You don't need Windows, a lot of people on Linux cross-compile. I'd be happy to test your execs for compatibility and functionality. You can send them to tpoppinsatgmaildotcom.

I got tbhits on an endgame test position after changing the hardcoded "../syzygy" path to that of my 5-men TB dir and recompiling. Oddly, creating a simlink named "syzygy" under the engine's dir didn't work. Neither did using Windows-style backward slashes in the path, it had to be "e:/345" rather than "e:\345". I got it to cout the value of MAX_MAN in tb.cpp and got a "5", so that works. Yes, it would be simpler and cleaner to wait until you implement the relevant UCI option before we start testing it.
bsamseth
Posts: 3
Joined: Mon Mar 18, 2019 11:29 am
Sign-up code: 10159

Re: New engine: Goldfish

Post by bsamseth »

I think I'll implement the proper options, and make the necessary additions to make it work cross-platform. Then I can send you the execs once I'm confident it works as advertised, which should make your job a bit easier.

Sorry about the hassle, I guess it's still a bit of a work in progress. Thanks for indulging me!
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New engine: Goldfish

Post by T-Poppins »

No hassle at all. Everybody has to start somewhere.

If you don't already have an account on the CCC forums - http://talkchess.com/forum3/ - open one today. It's a terrific resource and there are a lot of engine programmers among the regulars. Many of them develop on Linux so if you run in any issues with cross-platform compatibility you can get answers within hours.
User avatar
Graham Banks
Posts: 27018
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: New engine: Goldfish

Post by Graham Banks »

I sent an email.
I'm hoping to include Goldfish in my Amateur Series.
Post Reply