NiCimEngine Public release!

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

Moderators: hgm, Rebel, chrisw

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 6:41 pm
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? ;)
hey mar
I am really facinated by nnue, and I am learining it. when I have a proper one, I Will replace the one I got now in NiCim with a one of my own.
I will make sure to make you know
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:29 pm
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.
As I said above: making (partial) derivatives is not a problem as long as you clearly mention this fact.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
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 7:14 pm
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).
Hey there mvanthoor ,
first of all , If you Look at the github page, you could see That I am giving Credit to Maksim,
And in the comments of his videos as well.
believe me - I don't want to take credit on someone else's work.

secondly, about c\c++ engines -> I didn't want to develop in c++\c either, I chose kotlin as my first choise
(see here https://github.com/yodatk/NissimEngine_V3K) ,
but the gap between performance was to high .
I thoght maybe to do it in GOLang, but unfourtunatly My semester just started and I don't have that much time. maybe in spring break I will try to work on that.
also -> I am Learning NN now, and hope to develop my OWN nnue file with my own weights and train set. I will let you guys know when it will be ready.

by the way - if you don't reccommand c\c++ -> what Programming language do you reccomand for a chess engine to give as good perforamnce as c\c++ ?
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 »

mar wrote: Wed Oct 28, 2020 6:41 pm
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? ;)
My work out of NNUE was... to torture community members with dumb questions so eventually Daniel Shawul decided that it's cheaper to make NNUE probe library rather than to explain me how to do it)))
I clearly see your point but I think still we should be more polite to newcomers, IMO
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: NiCimEngine Public release!

Post by mar »

I have no quarrel with either of you, merely pointing out facts. It's up to anyone to do what he wants.
as for politeness: I think it's polite not to use capital letters in sentences :)
Martin Sedlak
AndrewGrant
Posts: 1754
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: NiCimEngine Public release!

Post by AndrewGrant »

Personally I don't think any rating list should rate this engine, since its just a wrapper around Stockfish's NNUE weights and implementation.

But, to each his own I'm afraid.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
yodatk
Posts: 16
Joined: Mon Oct 26, 2020 2:49 pm
Full name: Tomer Gonen

Re: NiCimEngine Public release!

Post by yodatk »

AndrewGrant wrote: Wed Oct 28, 2020 8:07 pm Personally I don't think any rating list should rate this engine, since its just a wrapper around Stockfish's NNUE weights and implementation.

But, to each his own I'm afraid.
totally Agree, My engine in current state should not be rated
connor_mcmonigle
Posts: 530
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: NiCimEngine Public release!

Post by connor_mcmonigle »

AndrewGrant wrote: Wed Oct 28, 2020 8:07 pm Personally I don't think any rating list should rate this engine, since its just a wrapper around Stockfish's NNUE weights and implementation.

But, to each his own I'm afraid.
Furthermore, the engine is an exact rewrite of the BBC engine discussed in other threads in that it behaves identically even if the layout and names in the source are different. Said BBC engine is, itself, a rudimentary search + Daniel's NNUE probe library: a wrapper in Andrew's words.

It's fine to make derivative engines, but to be considered a "derivative" the engine must behave differently from the engine it's derived from. See Igel or Drofa for examples of derivatives. If it doesn't behave meaningfully differently, then it's a clone.

In this case, this engine, as of now, is a clone. It would be a waste of time for testers to test it. There's nothing stopping the author from doing something original (and it's my hope the author does) with it going forwards, but it's a long ways away from being considered a unique engine currently.
User avatar
Graham Banks
Posts: 41423
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: NiCimEngine Public release!

Post by Graham Banks »

yodatk wrote: Wed Oct 28, 2020 8:09 pm
AndrewGrant wrote: Wed Oct 28, 2020 8:07 pm Personally I don't think any rating list should rate this engine, since its just a wrapper around Stockfish's NNUE weights and implementation.

But, to each his own I'm afraid.
totally Agree, My engine in current state should not be rated
Okay - I'll wait until you have your own NNUE. :)
gbanksnz at gmail.com