Your motivation for writing a chess engine?

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

Moderators: hgm, Rebel, chrisw

User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: Your motivation for writing a chess engine?

Post by lithander »

towforce wrote: Fri Mar 05, 2021 1:34 pm * your time is precious
Programming a chess engine is how I want to spend my precious time right now. I don't see why this can't be the next "long term goal" that you spoke of which provides a focus point and energy and all that good stuff the site in your link spoke of?
towforce wrote: Fri Mar 05, 2021 1:34 pm * you're not doing anything for your family (except taking time away from them)
That's on completely different time budgets. Some of my time is to be spent in solitude, giving my mind something interesting to chew on, allowing me to recharge my social batteries. Having a family doesn't mean you have to sacrfice all your individual interests - the goal is more like harmonious cohabitation.
towforce wrote: Fri Mar 05, 2021 1:34 pm * you're not doing anything for yourself (the programming skills that work in chess (max speed) are the opposite of what's good for business (simplicity, maintainability and usability))
I disagree for the reason stated above. But in addition it's also a good exercise for any programmer. Tree search is part of every university curriculum for a reason. In chess programming you explore that concept much deeper and hone your intuition regarding problems with exponential time complexity.
towforce wrote: Fri Mar 05, 2021 1:34 pm * you're not providing much for the chess community: most attention will be on engines that are very strong or great fun
Those making contributions to Stockfish have learned the necessary skills by starting at the beginning at some point. As a beginner it's very motivating to see other programmers actively developing engines of similar strength. I also don't think those that run tournaments and maintain lists and rankings would find that much fun if no new engines would enter the competition anymore just because they can't compete with stockfish.
towforce wrote: Fri Mar 05, 2021 1:34 pm * you're not teaching future chess developers: they will mostly use the chess programming wiki site (link)
It's probably hard to find someone from this community that is less knowledgable about chess programming than me at this point. That doesn't disqualify from trying to teach and pass on the knowledge you have gained so far. Only if you can explain something well you have truly understood the material, teaching is the ultimate test of your knowledge.

Even though my last video has had less then 100 views I've received a handful of very appreciative comments. One comment said "I've started on my own chess engine as a novice programmer, and you explain things very clearly where the chess programming wiki can be a bit dense at some points, or worse missing information." I'm not meaning to brag. The point is that peer-learning has specific advantages over traditional setups like student/teacher or just learning on your own from books.
towforce wrote: Fri Mar 05, 2021 1:34 pm Use your time for things that give something back to you - preferably use most of your time on things that give the most back to you. Chess programming is a wrong turn on the map: it looks like a fun place, but it doesn't take you anywhere useful.
Define "something" and "useful" please! :)
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: Your motivation for writing a chess engine?

Post by dkappe »

1. Teaching other people how simple it is to write a basic mcts/nn engine with a0lite python.
2. Experimenting with new nn architectures and non-RL training approaches.
3. Combining ab/nnue and mcts/nn in a hybrid approach. (Was a0lite julia, renamed Bender)
4. Reach 3300 ccrl
5. Have fun.
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Your motivation for writing a chess engine?

Post by Henk »

All time you spend on chess is a waste. Maybe you learn something from writing a user interface.
At least i want to find out why my engine is currently so slow. Probably because of using immutable datastructures but not sure.
Already learned that you can not use linq.

Also good testing is important but I don't like writing test cases.

So I use jan boeren fluitjes methode.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Your motivation for writing a chess engine?

Post by hgm »

Who again had this nice avatar that said: "Say NO to chess programming! Choose life!". :lol:
Damir
Posts: 2801
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Your motivation for writing a chess engine?

Post by Damir »

Fischer used to say that chess is shit... from one of his quotes: '' I have given up the old chess... it is rotten to the core''.... :) :)
User avatar
Steve Maughan
Posts: 1221
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: Your motivation for writing a chess engine?

Post by Steve Maughan »

Nice post!

Your thoughts are similar to mine.

Before I started Maverick, back in 2013, I had created primitive engines but I knew I was capable of creating something better. Also, computer chess has been my main hobby since the mid 1980's, so I felt I owed it to myself to make something better. The aim for Maverick was to create an engine rated at least 2500 ELO on ccrl and then compete in the World Championship. I did this in 2015. The World Championships were a blast — a bucket-list adventure. I had no chance of winning — that really wasn't the point — but it was a fantastic experience. I would also like to create a GUI (I'm better at writing GUIs than chess engines), and probably have one more rewrite of Maverick to do. And I also estimate this is a decade's worth of work.

Steve
http://www.chessprogramming.net - Maverick Chess Engine
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Your motivation for writing a chess engine?

Post by JohnWoe »

I think becoming a grandmaster. Passing the 2500 Elo mark was nice.
Was my main motivation with Mayhem. Mayhem is still 99% of my own code. Besides some NNUE grab.

I actually hit 2800 Elo. Barely. But I got there: http://talkchess.com/forum3/viewtopic.p ... 23#p880623

I wasn't very happy tinkering around with weak Sapeli 1900 - 2000 Elo. Original or not. I was stuck at 1900 Elo.
On the CCRL list I was around 100% original (~2000 Elo) weak engines: Vice, Wutang (Maksim Korch), MicroMax (hgm) ...
This is the company where you end up with 1 man + 100% original approach.

I just wanted the title. Not the prettiest and most original approach but I got there.
Like they say in America. "if you ain't cheating you ain't trying".

I still like improving my programs.
I like seeing my engines get better.
I started Havoc from:

Code: Select all

int main() {
  return 0;
}
And kept going. Now I'm 2000-2100 Elo. And improving.

Open source is too stressful for me. So Mayhem will be my only OSS contribution.
In chess engines there's no money nor fame. Chess programming is just labour of love.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Your motivation for writing a chess engine?

Post by xr_a_y »

Learn, have fun.

But it takes a lot of time indeed and is too much addictive probably, time which is not for something or someone else.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Your motivation for writing a chess engine?

Post by mvanthoor »

JohnWoe wrote: Fri Mar 05, 2021 7:55 pm I wasn't very happy tinkering around with weak Sapeli 1900 - 2000 Elo. Original or not. I was stuck at 1900 Elo.
On the CCRL list I was around 100% original (~2000 Elo) weak engines: Vice, Wutang (Maksim Korch), MicroMax (hgm) ...
This is the company where you end up with 1 man + 100% original approach.
Thanks for the prediction. It's nice to know that I'll never ever break 2100.

IMHO, this is bullocks.

Vice is a tutorial engine, never meant to be as strong as possible, but to show and explain concepts.
Wukong is a tutorial engine as well.
Wuttang is a port of Vice to Javascript (if I remember correctly) , but not by Maksim Krozh.
MicroMax tries to be the smallest program counted in number of characters in the world.

Those are programs with different goals than being the strongest engine ever.
I just wanted the title. Not the prettiest and most original approach but I got there.
Like they say in America. "if you ain't cheating you ain't trying".
...
Open source is too stressful for me. So Mayhem will be my only OSS contribution.
In chess engines there's no money nor fame. Chess programming is just labour of love.
OMG. I think you should actually quit programming chess engines. If all you're doing this for is to see your engine as high up on the list as possible, then by all means go the Fat Fritz route. Grab Stockfish, some net training tools, train your own net, throw it in there, and release it as "your own" engine, and you'll be done. A week or so, and some waiting is all it takes.

Remind me to quit, as soon as I feel that the Elo number is the only thing I'm doing this for. That is just a nice thing aside, that someone else but myself (so, hopefully, independent) tests my engine, and I can see it improve from one version to the next.

And to be honest, I see no reason except for time to research, and computer power, why I couldn't reach 2850+ or even 3000 Elo+ in time, with a single-threaded engine, without adding NNUE. Many other people did. Some did it 15 years ago. Some reached 2250+ almost 30 years (!) ago. (Yes people... the 80486 DX is over 30 years old now. A massively powerful CPU in its time, but no more than a calculator compared to what we use now. And they wrote 2250+ chess engiens for it.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Your motivation for writing a chess engine?

Post by mvanthoor »

xr_a_y wrote: Fri Mar 05, 2021 8:45 pm But it takes a lot of time indeed and is too much addictive probably, time which is not for something or someone else.
This is always the problem.

There are people in this world who are of the opinion that "If it doesn't gain you any money right now, or in the future, it's not worth doing." So go live like a Ferengi, earn money every second you're awake...

Just burn all of your non-fiction books. Reading them costs time.
Put the piano into the fireplace. Practicing it costs time.
Don't go hiking. It takes time, and besides seeing a few forests or mountains, it gets you nothing.
Why ever watch a program on TV?
Never go out to dinner. It costs time AND money. Oh Horrible Life!
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL