New engine releases & news 2021

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

Moderators: hgm, Rebel, chrisw

User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: New engine releases & news 2021

Post by mvanthoor »

niel5946 wrote: Sun Feb 21, 2021 2:05 pm I have just released my new engine, Loki v1.0.2. It has support for 1 to 8 threads (Lazy SMP) and 1MB to 1000MB hash table and is probably rated around 1600-1800.
It has only been tested on windows and has not shown any bugs on both 32-bit(x86) and 64-bit(x64).
Download: https://github.com/BimmerBass/Loki/releases/tag/v1.0.2

It uses the UCI-protocol.
Congratulations :) It's an interesting engine. I have some observations that may be of help to you. I ran a short 100 game test against my own engine Rustic, with the following results:
Score of Rustic 2021-02-15 vs Loki 1.0.2: 27 - 57 - 16 [0.350]
... Rustic 2021-02-15 playing White: 11 - 34 - 5 [0.270] 50
... Rustic 2021-02-15 playing Black: 16 - 23 - 11 [0.430] 50
... White vs Black: 34 - 50 - 16 [0.420] 100
Elo difference: -107.5 +/- 65.7, LOS: 0.1 %, DrawRatio: 16.0 %
100 of 100 games finished.
Rustic Alpha 1 (current first version of my engine) sits at +/- 1680 in CCRL Blitz. Your engine is roughly 100 Elo points stronger (but take the large error bars into account, because it's just 100 games against one engine.) Tentatively, you can rate your engine at 1800.

Observations:
- The engine seems stable. 100 games without problems at least.
- It announces its UCI stuff before the gui asks "UCI". The gui (cute chess at least) ends up with double uci controls like 2 settings for the hash table.
- Using the default of a 16 MB hash table, Loki can out-calculate Rustic in the middle game by 5-7 ply. Middle game depth sits around 12 ply. In the end-game, the difference becomes bigger, where Loki has an advantage of up to 10 ply. This is not surprising, as Rustic Alpha 1 has no transposition table yet.
- Rustic is more aggressive; caused by its (probably) more aggressive PST values.
- It seems Loki has bugs in it's QSearch. Sometimes it grabs pieces it shouldn't, because there's a sequence of moves that makes your engine lose material.
- Sometimes, the engine does strange things, like walk straight into a pin. As in: it puts it's king in such a position that a piece can be pinned and attacked without the possibility of saving it.
- Sometimes, the engine seems to suffer from some sort of depression. It gets a good position, suddenly seems lost / doesn't know what to do, and basically does nothing interesting. Rustic keeps advancing (because it is more aggressive already), and at some point launches a massive tactical assault, while Loki's pieces sit on the wrong side of the board.
- I've seen Loki run into a mating net as if on a suicide mission.
- Rustic is about 60% faster in nodes/second; 4000 kNodes/s vs 2500 kNodes/s. I don't know how complex Loki's search is, but Rustic has nothing but material and PST's.

The last three points could be because of one or more bugs in the alpha/beta search. If you can improve this, your engine will probably gain a few hundred Elo points. Good luck. The search depth your engine reaches is a good motivation to finally get that transposition table into my own engine.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
niel5946
Posts: 174
Joined: Thu Nov 26, 2020 10:06 am
Full name: Niels Abildskov

Re: New engine releases & news 2021

Post by niel5946 »

mvanthoor wrote: Mon Feb 22, 2021 10:32 pm
niel5946 wrote: Sun Feb 21, 2021 2:05 pm I have just released my new engine, Loki v1.0.2. It has support for 1 to 8 threads (Lazy SMP) and 1MB to 1000MB hash table and is probably rated around 1600-1800.
It has only been tested on windows and has not shown any bugs on both 32-bit(x86) and 64-bit(x64).
Download: https://github.com/BimmerBass/Loki/releases/tag/v1.0.2

It uses the UCI-protocol.
Congratulations :) It's an interesting engine. I have some observations that may be of help to you. I ran a short 100 game test against my own engine Rustic, with the following results:
Score of Rustic 2021-02-15 vs Loki 1.0.2: 27 - 57 - 16 [0.350]
... Rustic 2021-02-15 playing White: 11 - 34 - 5 [0.270] 50
... Rustic 2021-02-15 playing Black: 16 - 23 - 11 [0.430] 50
... White vs Black: 34 - 50 - 16 [0.420] 100
Elo difference: -107.5 +/- 65.7, LOS: 0.1 %, DrawRatio: 16.0 %
100 of 100 games finished.
Rustic Alpha 1 (current first version of my engine) sits at +/- 1680 in CCRL Blitz. Your engine is roughly 100 Elo points stronger (but take the large error bars into account, because it's just 100 games against one engine.) Tentatively, you can rate your engine at 1800.

Observations:
- The engine seems stable. 100 games without problems at least.
- It announces its UCI stuff before the gui asks "UCI". The gui (cute chess at least) ends up with double uci controls like 2 settings for the hash table.
- Using the default of a 16 MB hash table, Loki can out-calculate Rustic in the middle game by 5-7 ply. Middle game depth sits around 12 ply. In the end-game, the difference becomes bigger, where Loki has an advantage of up to 10 ply. This is not surprising, as Rustic Alpha 1 has no transposition table yet.
- Rustic is more aggressive; caused by its (probably) more aggressive PST values.
- It seems Loki has bugs in it's QSearch. Sometimes it grabs pieces it shouldn't, because there's a sequence of moves that makes your engine lose material.
- Sometimes, the engine does strange things, like walk straight into a pin. As in: it puts it's king in such a position that a piece can be pinned and attacked without the possibility of saving it.
- Sometimes, the engine seems to suffer from some sort of depression. It gets a good position, suddenly seems lost / doesn't know what to do, and basically does nothing interesting. Rustic keeps advancing (because it is more aggressive already), and at some point launches a massive tactical assault, while Loki's pieces sit on the wrong side of the board.
- I've seen Loki run into a mating net as if on a suicide mission.
- Rustic is about 60% faster in nodes/second; 4000 kNodes/s vs 2500 kNodes/s. I don't know how complex Loki's search is, but Rustic has nothing but material and PST's.

The last three points could be because of one or more bugs in the alpha/beta search. If you can improve this, your engine will probably gain a few hundred Elo points. Good luck. The search depth your engine reaches is a good motivation to finally get that transposition table into my own engine.
Hi. You are right, Loki still has plenty of bugs that I also have noticed myself during testing the last couple of days. What were the tournament conditions, you used? Like time control, adjudication conditions, opening suites etc..
And concerning some of the notes you had:
1. I am happy that it's stable! Did you compile with optimizations or without? I am asking because I just discovered that TT probing doesn't work when compiler optimizations are enabled.
2. I have also noticed that, and it should fortunately be a pretty easy fix.
5. This is probably also right. I think it could be caused by erroneous checkmate and stalemate detection in qsearch, due to only searching captures when there sometimes aren't any and Loki could think it was a draw or mate.
6. This may be a mix of a buggy search function and a very simple eval. Currently the eval only has material, psqt and pawn structure, so no king safety or piece evaluation yet. But on the other hand, a reasonable search function should see these things...
7 and 8. This is surely because of bugs in the search, and I have noticed that too. I will have to investigate it further to find a possible cause for this, but I have noticed that it often happens during the transition from middlegame to endgame, so i suspect a weird tapered eval could also have something to do with it.
9. This is probably partly because of the bugs in the transposition table (it is the first time I am making a thread-safe one), since Loki already does quite a bit of pruning and reductions in the search.

Thank you for pointing out these things! It is always good to get a second pair of eyes :D , and confirmation that I am not the only one noticing bugs.
Author of Loki, a C++ work in progress.
Code | Releases | Progress Log |
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: New engine releases & news 2021

Post by mvanthoor »

niel5946 wrote: Tue Feb 23, 2021 10:36 am Hi. You are right, Loki still has plenty of bugs that I also have noticed myself during testing the last couple of days. What were the tournament conditions, you used? Like time control, adjudication conditions, opening suites etc..
Time control: 2 min + 1 sec, like CCRL.
Opening book: gm1950.bin, 8 full moves (8 moves for each side)
Adjudication or table bases: none. Either the engine wins on its own, or it runs into one of the draw rules. Or borks the game.
Thank you for pointing out these things! It is always good to get a second pair of eyes :D , and confirmation that I am not the only one noticing bugs.
Gladly done. I like engines that aren't too far developed yet, because I can test my own engine against them. Seeing the search depth your engine can reach is quite motivating to get my own transposition table working.

However, I do not have any search optimizations yet, or move sorting other than MVV-LVA. First I'll add the hash table, then test how much extra speed/strength this gives, and then add hash move sorting and test again. That will be the next version of the engine, before I start to add additional move ordering capabilities, as I wish to chronicle the speed/depth/strength gain for each function.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
bastiball
Posts: 5212
Joined: Tue Oct 20, 2020 4:18 am
Full name: Basti Dangca

Re: New engine releases & news 2021

Post by bastiball »

Basti Dangca
CCRL testing group
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: New engine releases & news 2021

Post by Guenther »

bastiball wrote: Thu Feb 25, 2021 12:54 pm Fire 8
https://chesslogik.wixsite.com/fire/download
I wish you had created your own thread for this 'thing'. Then it could be quickly moved to EO...
Still thanking to 'Houdini' and Stockfish, but only for their ideas and techniques and ofc still closed source. lol
I'm grateful and indebted to many for all this shared knowledge, and would like to specifically credit the open-source
Ippolit, Ivanhoe, Gull, Houdini (https://www.cruxis.com/chess/houdini.htm), and Stockfish (https://stockfishchess.org).

I have drawn upon and use the ideas and techniques from all of these engines.
Edit:
Thanks for creating a new thread outside here. (even when done with cap locks only...)
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
bastiball
Posts: 5212
Joined: Tue Oct 20, 2020 4:18 am
Full name: Basti Dangca

Re: New engine releases & news 2021

Post by bastiball »

Guenther wrote: Thu Feb 25, 2021 1:13 pm
bastiball wrote: Thu Feb 25, 2021 12:54 pm Fire 8
https://chesslogik.wixsite.com/fire/download
I wish you had created your own thread for this 'thing'. Then it could be quickly moved to EO...
Still thanking to 'Houdini' and Stockfish, but only for their ideas and techniques and ofc still closed source. lol
I'm grateful and indebted to many for all this shared knowledge, and would like to specifically credit the open-source
Ippolit, Ivanhoe, Gull, Houdini (https://www.cruxis.com/chess/houdini.htm), and Stockfish (https://stockfishchess.org).

I have drawn upon and use the ideas and techniques from all of these engines.
Edit:
Thanks for creating a new thread outside here. (even when done with cap locks only...)
I forgot that I accidentally clicked caps lock
Basti Dangca
CCRL testing group
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: New engine releases & news 2021

Post by Guenther »

Qapla 0.1.1
https://github.com/Mangar2/Quabla

Thanks to Volker for releasing a compilation for old hardware now too (and the promise for a makefile later)

Ceres 0.89
https://github.com/dje-dev/Ceres
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
SwiftSnips
Posts: 1
Joined: Mon Jan 11, 2021 6:43 pm
Full name: Sinpoe Swift

Re: New engine releases & news 2021

Post by SwiftSnips »

bastiball wrote: Thu Feb 25, 2021 3:19 pm
Guenther wrote: Thu Feb 25, 2021 1:13 pm
bastiball wrote: Thu Feb 25, 2021 12:54 pm Fire 8
https://chesslogik.wixsite.com/fire/download
I wish you had created your own thread for this 'thing'. Then it could be quickly moved to EO...
Still thanking to 'Houdini' and Stockfish, but only for their ideas and techniques and ofc still closed source. lol
I'm grateful and indebted to many for all this shared knowledge, and would like to specifically credit the open-source
Ippolit, Ivanhoe, Gull, Houdini (https://www.cruxis.com/chess/houdini.htm), and Stockfish (https://stockfishchess.org).

I have drawn upon and use the ideas and techniques from all of these engines.
Edit:
Thanks for creating a new thread outside here. (even when done with cap locks only...)
I forgot that I accidentally clicked caps lock

If I understand this correctly, you hit Caps Lock and knew about it, forgot in the amount of time it took you to start typing, and didn't think of it again until he just reminded you?
niel5946
Posts: 174
Joined: Thu Nov 26, 2020 10:06 am
Full name: Niels Abildskov

Re: New engine releases & news 2021

Post by niel5946 »

Loki 1.2.0 is out with a lot of cleanup and bug fixes. It has been tested against Loki 1.1.0 with 500 games at a time control of 5s + 0.1s, to have an elo-increase of around 70-80.

There doesn't apper to be any bugs in this release. It haven't made any illegal moves yet at least :D

The download: https://github.com/BimmerBass/Loki/releases/tag/v1.2.0
Author of Loki, a C++ work in progress.
Code | Releases | Progress Log |
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: New engine releases & news 2021

Post by jshriver »

niel5946 wrote: Wed Mar 03, 2021 7:48 pm Loki 1.2.0 is out with a lot of cleanup and bug fixes. It has been tested against Loki 1.1.0 with 500 games at a time control of 5s + 0.1s, to have an elo-increase of around 70-80.

There doesn't apper to be any bugs in this release. It haven't made any illegal moves yet at least :D

The download: https://github.com/BimmerBass/Loki/releases/tag/v1.2.0
Wonderful :) grabbing now and will play a few games, excited.

Edit: Just tried it out and crashed. Here is the info.

Code: Select all

uciok
go
time: -1 start: 1614817042172 stop: 0 depth: 100 timesetAssertion failed: pos->pieceBBS[KING][me] != 0, file C:\Users\abild\Desktop\Loki\Loki\movegen.cpp, line 411