New engine: Calvin
New engine: Calvin
Hello all,
First time poster here. Over the last few weeks I've been working on a chess engine written in Java as a personal project. It's called Calvin and can be found on GitHub here: https://github.com/kelseyde/calvin-chess-engine
Calvin is UCI-compliant and plays on Lichess where it is rated ~2200: https://lichess.org/@/Calvin_Bot
I would love to submit Calvin to CCRL to see where it lands in the official rankings. My question is, what is the best way to go about that? Should I submit a .jar file or does the link to the repo suffice?
Since I've seen some other posters sharing their names/nationalities for display on the CCRL boards: my name is Dan Kelsey, and I'm from Scotland
Many thanks!
First time poster here. Over the last few weeks I've been working on a chess engine written in Java as a personal project. It's called Calvin and can be found on GitHub here: https://github.com/kelseyde/calvin-chess-engine
Calvin is UCI-compliant and plays on Lichess where it is rated ~2200: https://lichess.org/@/Calvin_Bot
I would love to submit Calvin to CCRL to see where it lands in the official rankings. My question is, what is the best way to go about that? Should I submit a .jar file or does the link to the repo suffice?
Since I've seen some other posters sharing their names/nationalities for display on the CCRL boards: my name is Dan Kelsey, and I'm from Scotland
Many thanks!
- Graham Banks
- Posts: 27117
- Joined: Sun Dec 18, 2005 5:47 pm
- Sign-up code: 0
- Location: Auckland, NZ
Re: New engine: Calvin
The jar file would be useful.
Re: New engine: Calvin
Hello Graham,
Got it! I've uploaded the .jar to /bin/calvin.jar here: https://github.com/kelseyde/calvin-ches ... e/main/bin
Thanks very much!
Got it! I've uploaded the .jar to /bin/calvin.jar here: https://github.com/kelseyde/calvin-ches ... e/main/bin
Thanks very much!
- Gabor Szots
- Posts: 12973
- Joined: Sat Dec 09, 2006 6:30 am
- Sign-up code: 10159
- Location: Szentendre, Hungary
Re: New engine: Calvin
Welcome Dan.
I suggest to give it a version number which is included in the jar file name itself and the engine uci id. To distinguish between further releases.
Also, you may put the released versions under 'Releases', to make them easier to find. For example, we may decide to follow new releases using the github 'Notifications' possibility.
I suggest to give it a version number which is included in the jar file name itself and the engine uci id. To distinguish between further releases.
Also, you may put the released versions under 'Releases', to make them easier to find. For example, we may decide to follow new releases using the github 'Notifications' possibility.
Re: New engine: Calvin
Hello Gabor,
Thanks for the tips. I've added the version number to the .jar and also created a Github release describing the latest changes.
What do you mean by UCI id?
Thanks for the tips. I've added the version number to the .jar and also created a Github release describing the latest changes.
What do you mean by UCI id?
- Gabor Szots
- Posts: 12973
- Joined: Sat Dec 09, 2006 6:30 am
- Sign-up code: 10159
- Location: Szentendre, Hungary
Re: New engine: Calvin
I don't know how it is called exactly but let me show you an example:
uci
id name Piranha 0.5
id author Martin Villwock
option name Hash type spin min 1 max 9999 default 15
option name Ponder type check default true
option name OwnBook type check default true
uciok
Re: New engine: Calvin
Hello,
Apologies for taking so long to get back. I have created a new Calvin release 3.0.0 which contains some UCI-compatibility improvements as well as an increase in playing strength. Hash size and number of threads are now configurable via UCI.
Executable can be found in the bin folder of the latest release: https://github.com/kelseyde/calvin-ches ... /tag/3.0.0
Thanks!
Dan
Apologies for taking so long to get back. I have created a new Calvin release 3.0.0 which contains some UCI-compatibility improvements as well as an increase in playing strength. Hash size and number of threads are now configurable via UCI.
Executable can be found in the bin folder of the latest release: https://github.com/kelseyde/calvin-ches ... /tag/3.0.0
Thanks!
Dan
Re: New engine: Calvin
Hello Gabor, Graham,
I've released a new Calvin version 3.2.0. Since the last time Calvin was tested I've added quite some new features:
- Improved UCI-compatibility: hash size and number of threads are now configurable via UCI. Calvin will now output "id" information as well as available option commands.
- Opening book: simple opening book loaded from .txt file on startup. Can be disabled using the 'OwnBook' UCI command.
- Search optimization: changed order of null-move pruning/reverse-futility pruning checks. Checking whether reverse futility pruning is feasible before null-move leads to a big jump in search speed and playing strength.
- Evaluation optimization. Removed incremental eval updates on each make/unmake move. Due to pruning, updating the eval incrementally on each make/unmake move was actually a hit to performance.
Calvin 3.2.0 can be downloaded here: https://github.com/kelseyde/calvin-ches ... /tag/3.2.0
Regards,
Dan
I've released a new Calvin version 3.2.0. Since the last time Calvin was tested I've added quite some new features:
- Improved UCI-compatibility: hash size and number of threads are now configurable via UCI. Calvin will now output "id" information as well as available option commands.
- Opening book: simple opening book loaded from .txt file on startup. Can be disabled using the 'OwnBook' UCI command.
- Search optimization: changed order of null-move pruning/reverse-futility pruning checks. Checking whether reverse futility pruning is feasible before null-move leads to a big jump in search speed and playing strength.
- Evaluation optimization. Removed incremental eval updates on each make/unmake move. Due to pruning, updating the eval incrementally on each make/unmake move was actually a hit to performance.
Calvin 3.2.0 can be downloaded here: https://github.com/kelseyde/calvin-ches ... /tag/3.2.0
Regards,
Dan
Re: New engine: Calvin
Hello Gabor, Graham,
Happy new year and I hope things are well in the world of CCRL.
I wonder if you have time, could you run some matches with the newest version of Calvin, released last month? I saw a significant jump in playing strength in the last few versions during local testing, so I'd be very interested to see where it ends up on the leaderboards!
The last version tested on CCRL was 2.9.2. The latest version, 3.2.0, can be downloaded here:
https://github.com/kelseyde/calvin-ches ... /tag/3.2.0
For the next release I have decided to take on NNUE. But that will take me some time to learn the basics of machine learning first, so this could be the last Calvin version for a while
Kind regards,
Dan
Happy new year and I hope things are well in the world of CCRL.
I wonder if you have time, could you run some matches with the newest version of Calvin, released last month? I saw a significant jump in playing strength in the last few versions during local testing, so I'd be very interested to see where it ends up on the leaderboards!
The last version tested on CCRL was 2.9.2. The latest version, 3.2.0, can be downloaded here:
https://github.com/kelseyde/calvin-ches ... /tag/3.2.0
For the next release I have decided to take on NNUE. But that will take me some time to learn the basics of machine learning first, so this could be the last Calvin version for a while
Kind regards,
Dan
- Gabor Szots
- Posts: 12973
- Joined: Sat Dec 09, 2006 6:30 am
- Sign-up code: 10159
- Location: Szentendre, Hungary
Re: New engine: Calvin
Hello Dan,
I have not forgotten about version 3.2.0, only there are so many engines to test that sometimes you have to be patient till it's your turn.
BTW, how much improvement do you expect?
PS. By last version you surely meant 2.6.2.
I have not forgotten about version 3.2.0, only there are so many engines to test that sometimes you have to be patient till it's your turn.
BTW, how much improvement do you expect?
PS. By last version you surely meant 2.6.2.
Re: New engine: Calvin
Hi Gabor,
Got it, more than happy to wait and see how Calvin gets on
I estimate it will be about about 75-100 elo increase, based on Lichess ratings and my own local tests.
And yes my mistake, I meant 2.6.2!
Regards,
Dan
Got it, more than happy to wait and see how Calvin gets on
I estimate it will be about about 75-100 elo increase, based on Lichess ratings and my own local tests.
And yes my mistake, I meant 2.6.2!
Regards,
Dan
- Gabor Szots
- Posts: 12973
- Joined: Sat Dec 09, 2006 6:30 am
- Sign-up code: 10159
- Location: Szentendre, Hungary
Re: New engine: Calvin
Well, I have to ask. How did you install 3.2.0 under Arena? Because 2.6.2 was OK while this one does not move. I installed it in the same way as before (I copied it then renamed the necessary part, actually).
EDIT: This is what I get from the command line:
EDIT 2: I have installed Java 8u391, the latest one. No success with that either.
EDIT 3: Jdk 21 seems to be not available for Windows.
EDIT 4: Found Jdk 21 for Windows, problem solved, gauntlet running.
EDIT: This is what I get from the command line:
I have jdk-17 installed. Shall I install another java version as well?Error: LinkageError occurred while loading main class com.kelseyde.calvin.Application
java.lang.UnsupportedClassVersionError: com/kelseyde/calvin/Application has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
EDIT 2: I have installed Java 8u391, the latest one. No success with that either.
EDIT 3: Jdk 21 seems to be not available for Windows.
EDIT 4: Found Jdk 21 for Windows, problem solved, gauntlet running.
Re: New engine: Calvin
Hello Gabor,
I missed your last comment saying you got it working, as I just now created a 3.2.0 release compiled with Java 17
Maybe in the future I will release two versions of each release in case Java 17 is more convenient for some people. The 17 version can be found here:
https://github.com/kelseyde/calvin-ches ... .2.0-jdk17
Thanks! Excited to see the results
I missed your last comment saying you got it working, as I just now created a 3.2.0 release compiled with Java 17
Maybe in the future I will release two versions of each release in case Java 17 is more convenient for some people. The 17 version can be found here:
https://github.com/kelseyde/calvin-ches ... .2.0-jdk17
Thanks! Excited to see the results
- Graham Banks
- Posts: 27117
- Joined: Sun Dec 18, 2005 5:47 pm
- Sign-up code: 0
- Location: Auckland, NZ
Re: New engine: Calvin
Calvin shows no info output in ChessGUI.
It plays, but it would e nice to see it's thinking and eval.
It plays, but it would e nice to see it's thinking and eval.