Velvet Chess Engine

Questions and comments related to CCRL testing study
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: Velvet Chess Engine

Post by Graham Banks »

Restarted the 4CPU gauntlet with 4.1.0.
Same link.
User avatar
Darius
Posts: 3
Joined: Mon Aug 15, 2022 6:10 pm
Sign-up code: 10159
Location: Poland
Contact:

Re: Velvet Chess Engine

Post by Darius »

Hi Martin,

I would like to thank you sincerely for the wonderful engine that is Velvet. I love looking at and analyzing chess games using it :)

I have created a post on my website regarding the Velvet engine.
https://www.chessengeria.com/post/velvet-4-1-0-released


I tried compiling different versions of Velvet to test for Apple Silicon processors. I was able to do this for the versions:
1.2.0
3.1.3
3.2.0
The above-mentioned versions of the Velvet engine work correctly.
The 4.1.0 version you shared on GitHub also works great on the MacBook Pro M1 :)


For other versions, the following messages appear when Velvet is started after compilation is complete:

Image

Image

Image

Image

I compiled Velvet using the commands:
cargo build --release --bin velvet


If there is anything I can do differently to make some versions of Velvet work, I would appreciate knowing.
Thanks!
Regards, Darius
https://chessengeria.com
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: Velvet Chess Engine

Post by Graham Banks »

Debug files for 5.1.0 attached.
Attachments
Dbg00080_Velvet51064-bit_Booot7164-bit.txt
Debug file
(266.69 KiB) Downloaded 521 times
Dbg00079_Booot7164-bit_Velvet51064-bit.txt
Debug file
(366.24 KiB) Downloaded 580 times
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Darius wrote: Sun Aug 21, 2022 7:13 pm If there is anything I can do differently to make some versions of Velvet work, I would appreciate knowing.
Thanks!
Hi Darius,

sorry for the late reply. I just saw your post by chance today.
Thanks a lot for your kind words and the interesting blog post about Velvet!

The issue is related to a compiler optimization regression that started in Rust v1.59.
There was also a GitHub issue (https://github.com/mhonert/velvet-chess/issues/5) about it.
Velvet v5.0.0 and newer versions contain a workaround and should work fine with newer Rust versions.
If you would like to compile an older version of Velvet, you need to use Rust v1.58.1.

If you are using the Rust toolchain installer (rustup), you could for example run "rustup override set 1.58.1" from inside the source folder. That way the old version is only used for the Velvet source folder.
User avatar
Darius
Posts: 3
Joined: Mon Aug 15, 2022 6:10 pm
Sign-up code: 10159
Location: Poland
Contact:

Re: Velvet Chess Engine

Post by Darius »

mhonert wrote: Sat Mar 11, 2023 10:17 am
Darius wrote: Sun Aug 21, 2022 7:13 pm If there is anything I can do differently to make some versions of Velvet work, I would appreciate knowing.
Thanks!
Hi Darius,

sorry for the late reply. I just saw your post by chance today.
Thanks a lot for your kind words and the interesting blog post about Velvet!

The issue is related to a compiler optimization regression that started in Rust v1.59.
There was also a GitHub issue (https://github.com/mhonert/velvet-chess/issues/5) about it.
Velvet v5.0.0 and newer versions contain a workaround and should work fine with newer Rust versions.
If you would like to compile an older version of Velvet, you need to use Rust v1.58.1.

If you are using the Rust toolchain installer (rustup), you could for example run "rustup override set 1.58.1" from inside the source folder. That way the old version is only used for the Velvet source folder.
Martin,

Thank you very much for your reply. It is certainly useful information for me.
The engine you authored - Velvet - is amazing. It is one of several of my favorites. It plays beautifully, effectively and efficiently :)

I have written about it in several places on my blog:
https://www.chessengeria.com/post/velvet-4-1-0-released
https://www.chessengeria.com/post/velvet-5-0-0-released

Velvet also plays in the MCERL competition: https://www.chessengeria.com/mcerl
Regards, Darius
https://chessengeria.com
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Hi everyone,

today I released Velvet v5.2.0:
https://github.com/mhonert/velvet-chess ... tag/v5.2.0

Estimated strength increase is around 40 Elo in standard chess and 60 Elo in FRC.
Details can be found in the release notes.

Best regards
Martin
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: Velvet Chess Engine

Post by Graham Banks »

Thanks, Martin. :thumbup:
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: Velvet Chess Engine

Post by bastiball »

mhonert wrote: Sat May 13, 2023 12:35 pm Hi everyone,

today I released Velvet v5.2.0:
https://github.com/mhonert/velvet-chess ... tag/v5.2.0

Estimated strength increase is around 40 Elo in standard chess and 60 Elo in FRC.
Details can be found in the release notes.

Best regards
Martin
Thanks!
CCRL Testing Group
User avatar
Gabor Szots
Posts: 12848
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: Velvet Chess Engine

Post by Gabor Szots »

mhonert wrote: Sat May 13, 2023 12:35 pm Hi everyone,

today I released Velvet v5.2.0:
https://github.com/mhonert/velvet-chess ... tag/v5.2.0

Estimated strength increase is around 40 Elo in standard chess and 60 Elo in FRC.
Details can be found in the release notes.

Best regards
Martin
I have submitted my first bunch of games. Stay tuned to this week's update.
bastiball
Posts: 1946
Joined: Thu Aug 05, 2021 2:35 pm
Sign-up code: 10159
Location: Cavite, Philippines
Contact:

Re: Velvet Chess Engine

Post by bastiball »

CCRL Testing Group
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Thanks a lot for the tests! :thumbup:
User avatar
rmangus
Posts: 2
Joined: Tue Aug 29, 2023 2:47 pm
Sign-up code: 10159

Re: Velvet Chess Engine

Post by rmangus »

Martin, I wanted to send you a quick message of appreciation for your chess engine "Velvet". I've been using it to analyze my games for about a month now. It finds very creative attacking ideas.

I discovered it through Stefan Pohl's EAS rating list. Velvet 4.1.0 still holds the top of this list, and is capable of extraordinary dynamic play with its ~3280 elo rating.

What inspired you to write Velvet? I'm afraid I don't have the technical knowledge to understand how these engines work, but Velvet has an uncanny ability for creating positional imbalances / complications. Was this your goal?

-Ryan
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Hello Ryan,

thanks a lot for your message!
It's great to hear, that you find my chess engine interesting.
Even though it started as a small hobby project, it's nice to know it's also helpful for chess players to analyze their own games.

But, the initial motivation for creating this engine wasn't really about chess.
I started it mainly to learn a new programming language (Rust) and later to understand more about machine learning and neural networks.
A long time ago, I had spent some time with chess engine development, so I already knew some basics about the search algorithm, move generation, etc.
Back then, my inspiration to create a chess engine came from an article in a german computer magazine.
There was an interview with Christian Donninger about a new version of "Nimzo" and an accompanying introductory article about chess engine development.

The engine's playing style is not the result of some deliberate design process (e.g. to mimic certain chess players), but I think, it rather
emerged from small design decisions I made along the way.
Several times, I had to abandon ideas or revert changes, which increased overall strength, but had a "negative" impact on the playing style.

If you see any areas to improve or features you think are missing, don't hesitate to let me know.

Thanks again for reaching out!
User avatar
rmangus
Posts: 2
Joined: Tue Aug 29, 2023 2:47 pm
Sign-up code: 10159

Re: Velvet Chess Engine

Post by rmangus »

Hey Martin, thanks for the reply.

Would it be somehow possible to compile a version of Velvet 4.1.0 with the multi-pv analysis feature that was added in 5.0.0?

I still use 4.1.0 for analysis since (as you mentioned) the newer versions have more "objective" evals, which put a damper on Velvets dynamic play.

Maybe an easier alternative would be to compile 5.3.0 with the neural network from 4.1.0? From my limited knowledge changing an engines neural network seems to influence eval the most. Many of the engines I've tested in the past gain strength from larger self play generated networks, but lose style as a result. This way I might get all the latest fixes and features while maintaining a similar style.

Also, I did have some ideas for future releases. I think a UCI limit strength feature would be cool. Many commercial engines have this feature to give players a fighting chance if they want to spar against an engine.

Another feature that might compliment this is the "variety" UCI option that Komodo and several other engines have. It increases the likelihood of an engine diverging from it's best move if it sees several other options within a certain centi-pawn threshold (I assume). This gives more varied games within the same time controls.

I've no idea what's involved in implementing these features, those were just some things that came to mind.

Best of luck in all your endeavors!
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Hi everyone,

today I released Velvet v6.0.0:
https://github.com/mhonert/velvet-chess ... tag/v6.0.0

Estimated strength increase is around 35 Elo in standard chess.
Details can be found in the release notes.

Best regards
Martin
User avatar
Gabor Szots
Posts: 12848
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: Velvet Chess Engine

Post by Gabor Szots »

Hi Martin,

Good news. Tournament just started. Not likely to reach this week's update though.
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Hi everyone,

thank you for the tests! I updated, the readme of the project with the latest results.

Two days ago, I released the new Velvet v7.0.0:
https://github.com/mhonert/velvet-chess ... tag/v7.0.0

The estimated strength increase is around 65 Elo.
Additional details can be found in the release notes.
User avatar
Gabor Szots
Posts: 12848
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: Velvet Chess Engine

Post by Gabor Szots »

mhonert wrote: Thu Feb 22, 2024 4:59 pm Hi everyone,

thank you for the tests! I updated, the readme of the project with the latest results.

Two days ago, I released the new Velvet v7.0.0:
https://github.com/mhonert/velvet-chess ... tag/v7.0.0

The estimated strength increase is around 65 Elo.
Additional details can be found in the release notes.
Hi Martin,

Gauntlet for the blitz list with Velvet 7.0.0 in progress.
mhonert
Posts: 35
Joined: Fri May 22, 2020 10:43 am
Sign-up code: 10159

Re: Velvet Chess Engine

Post by mhonert »

Thanks :thumbup:
Looking forward to the results.
Post Reply