I want to get into CCRL but unfortunately won't

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

Moderator: Ras

shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

I want to get into CCRL but unfortunately won't

Post by shinkarom »

After the failure of Mussaurus (http://www.talkchess.com/forum3/viewtop ... =2&t=72372) I started another engine, Konotop. Then deleted it after achieving basic playing ability.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: I want to get into CCRL but unfortunately won't

Post by shinkarom »

The stamina does not allow me to make an engine from scratch anymore. And building on an existing engine requires far too much work before it becomes sufficiently differentiated (in the stronger direction) to qualify for recognition.
Contributing to the forum requires much more skill level that I can provide in order to be useful. No one will take seriously the man who loses to the weakest engines on 1ply difficulty. That goes for other forums where I'd gladly participate, like nesdev or osdev.
User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: I want to get into CCRL but unfortunately won't

Post by maksimKorzh »

shinkarom wrote: Wed Dec 16, 2020 7:32 pm The stamina does not allow me to make an engine from scratch anymore. And building on an existing engine requires far too much work before it becomes sufficiently differentiated (in the stronger direction) to qualify for recognition.
Contributing to the forum requires much more skill level that I can provide in order to be useful. No one will take seriously the man who loses to the weakest engines on 1ply difficulty. That goes for other forums where I'd gladly participate, like nesdev or osdev.
Hi shinkarom

I see you're getting depressed, so I'll try to take you out of that state of being stuck.
First of all there're MANY reasons why people are writing chess engines, I've even made a video on that)


So the very first thing to consider is the PROJECT GOAL. I would say the matter of "getting to CCRL" is a side effect.
It actually took me more than 5 years to get there:
https://www.computerchess.org.uk/ccrl/4 ... -16_64-bit
https://www.computerchess.org.uk/ccrl/4 ... NUE_64-bit
Note that first engine is much weaker than VICE, the second is stronger but I made video serieses on both engines:


And this fact made them stand out. Many guys here don't like it, but for me the matter of being added to CPW is enough:
https://www.chessprogramming.org/Maksim_Korzh (CPW doesn't work for a last couple days for some reason though,,,)

My engines are not unique (the current I'm working on is intended to be, but that's a different story) but they got
noticed for being extremely didactic = you just have a look at the source code (single file):
https://github.com/maksimKorzh/bbc/blob ... nnue/bbc.c

IMO your chess engine reflects your true personality and skills.
IMO competing with top engines doesn't make sense (well, I'm just too dumb for that)
IMO the only thing matters in chess programming is RELATIVE IMPROVEMENT
IMO FINISHED chess engine is DEAD chess engine while maintained one LIVES as long as you make it better every day.

We all (probably apart from HGM, Bob Hyatt and other who started their engines when I wasn't even born (1987)) started with
either VICE or TSCP or OliThink or Crafty or Fruit etc. chess engine as bases and it's ok. The matter of "improving to make it
recognizable by the community" is a matter of time and effort - it doesn't come in one day.

Chess programming is more like a never ending process rather than a result, I think everyone on this forum will agree.
Why? Because 99.9% of us are doing it for free which means for fun, for process to live in.

Now bearing above in mind I'll try to comment your statements:
The stamina does not allow me to make an engine from scratch anymore. And building on an existing engine requires far too much work before it becomes sufficiently differentiated (in the stronger direction) to qualify for recognition.
It's not a matter of stamina, trust me, it's the matter of understanding WHY are you doing this.
When you lose your goals you're getting exhausted instantly and want to drop chess programming forever.
(I've been dropping chess programming "forever" countless number of times but I'm still here)
As soon as you'll update/reveal your true goal you'll get new powers to keep working.
People rewriting their engines entirely and that's ok.
I'm starting new engine every time I have a new idea (it's similar to above but called differently)
Goals can get changed by the time. Say now I clearly realize that I simply suck to create a decent engine,
but I still can make a library-like engine with reach API to reuse on both front and back end (my current javascript chess engine project)


Contributing to the forum requires much more skill level that I can provide in order to be useful. No one will take seriously the man who loses to the weakest engines on 1ply difficulty. That goes for other forums where I'd gladly participate, like nesdev or osdev.
Considering the fact of being taken seriously is a bad goal. Respect comes from what you've done. If you don't do anything and give up
as soon as facing the first issue - it doesn't deserve a respect. You should focus on your own projects instead.
Consider RELATIVE improvement - improve compared to what you had in previous version.

Work, write code, rewrite, debug.

Here're only a few people who truly "contribute" to this forum others more like making use of that)
Participate in technical discussions, start your own ones.
Yes this would most likely depress you even more (it's usually so in my case) but it would show you
the true level of your skills - it's like I used to say:

"if you thinks that you're good in chess programming just go to talk chess and try to read technical explanations by
HGM or Andrew Grant - you'll instantly realize that you're nobody in chess programming world"

One last general note:
Everyone here lives in his own world and does his own stuff. Some people here do chess programming for 30+ years...
Instead of complaining you can just become one of them.
Maybe you'll get noticed, maybe not - it doesn't matter.
The only thing that matters is how much you would be able to improve your code and your self.
One wants fame when he's bored and doesn't have work to do, when you're busy fame distracts you from your work.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: I want to get into CCRL but unfortunately won't

Post by shinkarom »

Was that complaining? I thought that was a declaration of being an impostor who likes to hang out on this forum but knows he's no use there.

Let's get it straight: being accepted is the thing I care more about. Pardon this thread, needed by no one, it's just the feeling of impostorship was unbearable.

And competing with the top engines was not my goal. My goal was just getting into the list, because then I would get into the CCRL games database, and this would get me a limited immortality.

You say "We all started with either VICE or TSCP or OliThink or Crafty or Fruit etc. chess engine as bases and it's ok". But to quote Ovyron (http://www.talkchess.com/forum3/viewtop ... 30#p821253): "you have to realize that, if your engine is already able to play chess, then you're miles ahead of most people around here, including "programmers" that just change a few lines of code from open source software Stockfish, and make their "releases" just like others that have built everything from scratch. It's easy to stand on the shoulders of giants, but not to maintain an engine made from the bottom up, no matter its status". I have no resolve to build an engine from scratch again. Debugging perft is much too hassle to repeat it. And given how Toga was received, even changing 100 lines won't diminish the piggybacking on the hard work of others and won't give me any credit.

This makes a conundrum. Making a development diary style engine would be a good way to develop, because I could get feedback along the way, but not finishing the development (which is probable) would betray the trust of the readers. Yet it seems the only possible way left. Still, if it's okay with the forumgoers, I might start a new project.

And to think that Konotop (the city in which I live now, I'm from Kremenchuk) the engine had magic bitboards, searching in its own thread and asymmetric evaluation, but didn't achieve personality files. The goal was to make an engine without looking into VICE source code, or any other source, just by memory and code from CPW.
User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: I want to get into CCRL but unfortunately won't

Post by maksimKorzh »

shinkarom wrote: Thu Dec 17, 2020 11:13 am Was that complaining? I thought that was a declaration of being an impostor who likes to hang out on this forum but knows he's no use there.

Let's get it straight: being accepted is the thing I care more about. Pardon this thread, needed by no one, it's just the feeling of impostorship was unbearable.

And competing with the top engines was not my goal. My goal was just getting into the list, because then I would get into the CCRL games database, and this would get me a limited immortality.

You say "We all started with either VICE or TSCP or OliThink or Crafty or Fruit etc. chess engine as bases and it's ok". But to quote Ovyron (http://www.talkchess.com/forum3/viewtop ... 30#p821253): "you have to realize that, if your engine is already able to play chess, then you're miles ahead of most people around here, including "programmers" that just change a few lines of code from open source software Stockfish, and make their "releases" just like others that have built everything from scratch. It's easy to stand on the shoulders of giants, but not to maintain an engine made from the bottom up, no matter its status". I have no resolve to build an engine from scratch again. Debugging perft is much too hassle to repeat it. And given how Toga was received, even changing 100 lines won't diminish the piggybacking on the hard work of others and won't give me any credit.

This makes a conundrum. Making a development diary style engine would be a good way to develop, because I could get feedback along the way, but not finishing the development (which is probable) would betray the trust of the readers. Yet it seems the only possible way left. Still, if it's okay with the forumgoers, I might start a new project.

And to think that Konotop (the city in which I live now, I'm from Kremenchuk) the engine had magic bitboards, searching in its own thread and asymmetric evaluation, but didn't achieve personality files. The goal was to make an engine without looking into VICE source code, or any other source, just by memory and code from CPW.
Oh, man, you remind me my old days))) That made me smile.
Btw I usually instantly recognize russian speaking guys, but it wasn't your case)
You're writing in a such an awesome English that I had no doubts you're native) Good for you, man)

I'm from Ukraine as well, lived in Kharkiv, then moved to Stariy Saltiv (50km from Kharkiv).

"Making a development diary style engine would be a good way to develop, because I could get feedback along the way, but not finishing the development (which is probable) would betray the trust of the readers"

Why do you think I've started chess programming channel?
Because before it I was doing/thinking just like you and in fact didn't bring any project to a production state.
But when you're showcasing your work it not only gives you a feedback but also people can help you understanding some key things.
This is what has happend to me when I started my bitboard chess engine in C series - Harald and Pedro were literally teaching me every single
step to make when it came to search, hash tables, etc.

And one last thing: "not looking into VICE code":
- I was setting the same goal back in the day believe it or not, but it's not the point.
Looking into source is good to get inspired by good practices of achieving basic functionality,
but you're free to change implementation.

A quick example: VICE has addQuiteMove, addCaptureMove, addPawnMove in move gen and much more,
I've changed that to a single addMove.

Or VICE has code duplication in move generator - I got read of them by refactoring the code so now movegen in
my current engine looks like a charm (well at least compared to the disaster it looked like before)

I just want to say that after 5 years I'm still working Vice's code out.
Btw, did you have a look at Fruit's code?
It's style is very similar to Vice's style or I would rather say Vice's style is similar to Fruit's one.

I mean all chess engines do the same thing - take position as an input and output the best move.
When you research many sources implementing the same thing you're starting to realize the similarities
behind those implementations and then you're kind of obtaining your own understanding of how the things work.

So if you're ever about to start a blog or video series "dairy" as you call it - I would be happy to follow your work
giving feedbacks along the way. It's a very good idea to expose your progress in public - yes, the downside is that
everyone suddenly sees how noob you are (was in my case) but the benefit is that you're learning much faster and better.

So, waiting to see you on the other side (in your blog) - please share the link when ready)
P.S. please click quote button to notify the person you're responding to for otherwise the response might be missed. Take care!
unserializable
Posts: 65
Joined: Sat Oct 24, 2020 6:39 pm
Full name: Taimo Peelo

Re: I want to get into CCRL but unfortunately won't

Post by unserializable »

shinkarom wrote: Wed Dec 16, 2020 1:12 pm After the failure of Mussaurus (http://www.talkchess.com/forum3/viewtop ... =2&t=72372) I started another engine, Konotop. Then deleted it after achieving basic playing ability.
Hey Roman! The trick is to keep old source code around forever, never delete it, so that chance to reanimate it remains :D -- I released Monchester after fixing and reworking 18 years old code from dusty harddrives -- http://talkchess.com/forum3/viewtopic.php?t=75636. I like the alliteration of the engine names, the match between Mussaurus and Monchester would be "The Match of Beasts" :)

Don't be too hard on yourself and all the best to you!
Monchester 1.0, chess engine playing at scholastic level: https://github.com/unserializable/monchester ("Daddy, it is gonna take your horsie!")
Tickle Monchester at: https://lichess.org/@/monchester
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: I want to get into CCRL but unfortunately won't

Post by shinkarom »

maksimKorzh wrote: Thu Dec 17, 2020 1:39 pm
So if you're ever about to start a blog or video series "dairy" as you call it - I would be happy to follow your work
giving feedbacks along the way. It's a very good idea to expose your progress in public - yes, the downside is that
everyone suddenly sees how noob you are (was in my case) but the benefit is that you're learning much faster and better.

So, waiting to see you on the other side (in your blog) - please share the link when ready)
I've bitten the bullet and started a new project. It's called Delimiter and is a port of Lime by Richard Allbert to D.
The link is http://talkchess.com/forum3/viewtopic.php?f=7&t=76093