NiCimEngine Public release!

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

Moderators: hgm, Rebel, chrisw

User avatar
Guenther
Posts: 4615
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: NiCimEngine Public release!

Post by Guenther »

mvanthoor wrote: Wed Oct 28, 2020 3:34 pm Did you actually _derive_ your engine from BBC?

The output is very similar; including the sending of the "id" responses at the engine start before it even receives "uci", which Maksim has fixed in after I reported it.
It looks more than derived too me.
https://rwbc-chess.de

trollwatch:
Talkchess nowadays is a joke - it is full of trolls/idiots/people stuck in the pleistocene > 80% of the posts fall into this category...
mar
Posts: 2566
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: NiCimEngine Public release!

Post by mar »

Guenther wrote: Wed Oct 28, 2020 3:35 pm It looks more than derived too me.
same PV, same node count. there really is only one explanation :)
yodatk
Posts: 16
Joined: Mon Oct 26, 2020 2:49 pm
Full name: Tomer Gonen

Re: NiCimEngine Public release!

Post by yodatk »

mar wrote: Wed Oct 28, 2020 3:46 pm
Guenther wrote: Wed Oct 28, 2020 3:35 pm It looks more than derived too me.
same PV, same node count. there really is only one explanation :)
As is Said in the Post - I did most of my work according to the toturial by Maksim. I didn't deny it, and didn't hide it, I put it's toturial video in the post itself.

I started wrting my engine in Kotlin, (The Kotlin Nissim Version is also in my Github page you can look it up here :
https://github.com/yodatk/NissimEngine_V3K
also - according to Maksim's toturial.

While i was developing the kotlin version, I notice the HUGE difference in performance between Kotlin and BBC.
and I also noticed the huge difference between the bbc with oFast and bbc without oFast - which as far as i know - didn't exists in kotlin development. I even try to use Kotlin Native to improve performance and it didn't work.

I felt that I missed A LOT of perforamce just because of the languege I chose.
so I converted My work to C++.
obiously, my work is simmilar to BBC, becuase I was following the toturial
yodatk
Posts: 16
Joined: Mon Oct 26, 2020 2:49 pm
Full name: Tomer Gonen

Re: NiCimEngine Public release!

Post by yodatk »

mvanthoor wrote: Wed Oct 28, 2020 3:34 pm Did you actually _derive_ your engine from BBC?

The output is very similar; including the sending of the "id" responses at the engine start before it even receives "uci". Older BBC versions did this as well, but it seems that after I reported it, Maksim has fixed it in the version you are running.
I thought part of the uci Protocol is to print that information when the engine start.
doesn't it supposed to print the name, author and "uciok" in the beggining?
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: NiCimEngine Public release!

Post by maksimKorzh »

mvanthoor wrote: Wed Oct 28, 2020 3:34 pm Did you actually _derive_ your engine from BBC?

The output is very similar; including the sending of the "id" responses at the engine start before it even receives "uci". Older BBC versions did this as well, but it seems that after I reported it, Maksim has fixed it in the version you are running.
Even though there are many similar parts of code, still I won't call NiCim to be a BBC derivative because yodatk had his original engine when joined the BBC series. Yes he had some issues but BBC's concepts has just been used as a guideline. If you have a look at the sources - there are lots oo original source files.

Yodatk was shy to publish his engine but I've motivated him to do so because he has done a big job worth of sharing. Also NiCim is a perfect example of the engine that was half burried but then eventually came back to life. I hope yodatk's example would motivate other developers who has dropped their work on half way.

And there's nothing wrong in partial derivation - he doesn't claim his copyrights on this work and is not going to sell it - he gives credits all along the way.

I think NiCim should be considered as a successful attempt to master chess programming at basic level and should motivate beginners to follow it's example.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: NiCimEngine Public release!

Post by maksimKorzh »

Hey guys, why do you blame him for derivation?
Why nobody sees the author's efforts?
He didn't want to publish his work because of that critics, but I told him he should do it.
So why don't you support the newcomer???
He didn't just copy paste the code - he has WORKED THAT CODE OUT.
Why do you judge by node count and pv?
Why you don't notice that source has been splitted into multiple files and there are many files that are unique to NiCim?
why aren't you happy for a beginner who has managed to deliver a working product?

I just want to say that I'm very happy for yodatk has finally released his engine. His example reflects the exact goal I was targeting for - help beginners to jump in. And he did! He had issues before the BBC series and now did manage to outcome those issues and now he has a working engine! I don't understand your critics guys, I'm very happy for yodatk and wish him all the best.

Keep it up, yodatk!
yodatk
Posts: 16
Joined: Mon Oct 26, 2020 2:49 pm
Full name: Tomer Gonen

Re: NiCimEngine Public release!

Post by yodatk »

maksimKorzh wrote: Wed Oct 28, 2020 4:42 pm Hey guys, why do you blame him for derivation?
Why nobody sees the author's efforts?
He didn't want to publish his work because of that critics, but I told him he should do it.
So why don't you support the newcomer???
He didn't just copy paste the code - he has WORKED THAT CODE OUT.
Why do you judge by node count and pv?
Why you don't notice that source has been splitted into multiple files and there are many files that are unique to NiCim?
why aren't you happy for a beginner who has managed to deliver a working product?

I just want to say that I'm very happy for yodatk has finally released his engine. His example reflects the exact goal I was targeting for - help beginners to jump in. And he did! He had issues before the BBC series and now did manage to outcome those issues and now he has a working engine! I don't understand your critics guys, I'm very happy for yodatk and wish him all the best.

Keep it up, yodatk!
Thank you very much maksim, really appriciate it
yodatk
Posts: 16
Joined: Mon Oct 26, 2020 2:49 pm
Full name: Tomer Gonen

Re: NiCimEngine Public release!

Post by yodatk »

mvanthoor wrote: Wed Oct 28, 2020 3:00 pm Congratulations with the release. If it scores 70% against FrankWalter (2537), the difference is about +147 Elo. Rough estimate of your engine would be tentatively 2675 (with a big error margin due to only testing against one engine). Can it play without NNUE, and if so, did you test what it scores then?
I have Managed to write a dynamic solution for the NNUE(if the file is found, use NNUE, if not use handcrafted eval).
for your previous question - seems that without the NNUE evaluation, engine like FrankWalter is much better(NiCim Lost ALL games)
on matches against Vice - Nicim lost on the ULTRA fast games (30 seconds to each side not increment) but on the longer games (1+0, 2+1 and so on)
Nicim is winning all the games so far . will test it more games and longer formats tommorow
mar
Posts: 2566
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: NiCimEngine Public release!

Post by mar »

maksimKorzh wrote: Wed Oct 28, 2020 4:42 pm So why don't you support the newcomer???
He didn't just copy paste the code - he has WORKED THAT CODE OUT.
Why do you judge by node count and pv?
because it's a verbatim copy, I refuse to praise cloners, newcomers or not.
btw - did he work that code out the same way you worked NNUE out? ;)
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: NiCimEngine Public release!

Post by mvanthoor »

maksimKorzh wrote: Wed Oct 28, 2020 4:42 pm Hey guys, why do you blame him for derivation?
Why nobody sees the author's efforts?
He didn't want to publish his work because of that critics, but I told him he should do it.
So why don't you support the newcomer???
He didn't just copy paste the code - he has WORKED THAT CODE OUT.
Why do you judge by node count and pv?
Why you don't notice that source has been splitted into multiple files and there are many files that are unique to NiCim?
why aren't you happy for a beginner who has managed to deliver a working product?

I just want to say that I'm very happy for yodatk has finally released his engine. His example reflects the exact goal I was targeting for - help beginners to jump in. And he did! He had issues before the BBC series and now did manage to outcome those issues and now he has a working engine! I don't understand your critics guys, I'm very happy for yodatk and wish him all the best.

Keep it up, yodatk!
I'm not judging. I just wanted to know for sure. In the starting post the author refers to the known tutorials (including yours), and says he's written the engine in C++, but he doesn't mention deriving the engine from BBC. However, the first screenshot shows this clearly, because I recognize the UCI-response bug that I reported to you.

Deriving an engine from a tutorial engine isn't a problem. There are many derivatives from VICE. Weiss and SpaceDog are examples of direct derivatives that have evolved into their own engine. Yours is heavily inspired by VICE. Mine was as well, in the beginning. Deriving an engine isn't the problem; not mentioning it is.

I don't care if people, in the future, derive engines directly from Rustic, but I would appreciate it if:

- They mentioned me in their credits as the original author and that their engine is a derivate
- It would be best for them to derive from BASELINE, which will be a super-basic (but fast) chess engine that plays at around 1600 Elo or thereabout. (It won't even have killers, check extensions, or anything else but material+PSQT evaluation.) Then people could write their own stuff on top of that basic search and move generator.

I'd like it even more if people would actually write their own engine from scratch, and NOT DO IT IN C or C++ (because there are five million engines in those languages already).
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL