About my amateur chess engine

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

Moderators: hgm, Rebel, chrisw

Philip
Posts: 6
Joined: Mon Aug 30, 2021 2:31 pm
Full name: Filippo marfè

About my amateur chess engine

Post by Philip »

Hello to everyone there.

Many years ago I had a conversation with a friend about chess, and he showed me his engine's analysis about this one position he played and lost otb.i didn't know much more than the rules of chess at the time. he explained to me what depth and variations mean. I wondered how in the world could a software go through all that billions of possibilities in a blink and surely enough a quick Google search on my phone brought me to cpw. I found out that program he showed me was open source and written in c, and for some reason I ended up buying a book about c coding, found a few helpful sites and decided to toy a little with that madness. I ended up writing a chess engine from scratch, with the original goal to make it smart enough to beat me in a game (kinda got out of hand from there...).I Wrote its every single line of code and to this day that engine is the only program I ever wrote. Then life happened and I never had time to really finish it. Maybe you never do finish something like that.
Anyway, on my little laptop, I never really had any way to test it above the level of very very short games.
Recently that very old laptop gave up on me and I took the HDD out, among other things i found that unnamed project sitting forgotten in the folders.
Given all the hours it took me to make it work, and the (twisted?) enjoyment I had manually walking the search three, I dislike the idea of the thing going completely lost.
So down to the main question: can this program be of any interest for this site, to the point where you will make it participate in some minor tournament and give back a elo estimation and some games I could watch?
If so, what do I need to do to make it testable? The only thing I know is that the engine compile and works on my machine.
I'm traveling for work ATM, but as soon as I am back (next week) I will post some details. Basically a window 10 machine with pext, compiling with mini-gw and gcc.
From what I understand I have used some Microsoft functions (windows h? time.h? Can't remember) and It would only run (or only compile?) on windows.
I also know that it complies to the uci standard and can play games through cutechess-cli.
It doesn't support opening books and egtb. Is it mandatory? Maybe I would like to implement it anyway before publishing the thing. Should be good for the user. can you point me in any direction? (Can I plug in some code to probe an endgame position? Doesn't sound fun to code a table lookup as a self taught beginner. Maybe stuff for a future thread)
I usually run games from some random starting positions I leeched from this forum (gaviota's author iirc.it's been many years. Thank you very much for that) What's the standard for books? (Another future thread still)
The program wasn't weak at the time ( very short tc about 2800+ elo iirc) but coming back to ccrl I noticed that ratings have skyrocket (nnue?smp? Popularity? Monetization?) And most are now multithreaded.
Does mine have to be multithreaded too to participate? I would give it a try but it will probably require to rewrite most of it (and a lot of study).
Do I have to provide source code? Not that I would mind but real programmers would probably cringe at it :D and I don't know how to use GitHub. Even if I published it would anyone have a look and give me feedback?

Do I have to compile for a certain machine used for testing? (Can you help me with that?)

I apologize for the long, messy and somewhat personal post and thanks to anyone that will be willing to answer to any of the above.

P.S. also thank you for running this community filled with inspiring and insightful ideas about this this very peculiar field.

Regards
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: About my amateur chess engine

Post by Gabor Szots »

Hello Philippo,

As long as your engine comples with the rules of chess and understands some popular protocol it is testable. And it should understand basic time controls such as x moves in y minutes/seconds and incremental clock.
Some executables for various platforms will be required because most people can't compile from source. One 32-bit, one old 64-bit and one modern 64-bit compile must suffice but the more the better.
Many testers use external books for testing so if your engine contains an internal book I recommend it could be switched off. Also, if it writes log files, it won't hurt if that can be switched off too.
Gabor Szots
CCRL testing group
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: About my amateur chess engine

Post by supersharp77 »

Philip wrote: Wed Sep 01, 2021 12:41 pm Hello to everyone there.

'''' A quick Google search on my phone brought me to cpw. I found out that program he showed me was open source and written in c, and for some reason I ended up buying a book about c coding, found a few helpful sites and decided to toy a little with that madness. I ended up writing a chess engine from scratch, with the original goal to make it smart enough to beat me in a game (kinda got out of hand from there...).I Wrote its every single line of code and to this day that engine is the only program I ever wrote. Then life happened and I never had time to really finish it. Maybe you never do finish something like that.
Anyway, on my little laptop, I never really had any way to test it above the level of very very short games.
Recently that very old laptop gave up on me and I took the HDD out, among other things i found that unnamed project sitting forgotten in the folders.
So down to the main question: can this program be of any interest for this site, to the point where you will make it participate in some minor tournament and give back a elo estimation and some games I could watch?
If so, what do I need to do to make it testable? The only thing I know is that the engine compile and works on my machine.
I'm traveling for work ATM, but as soon as I am back (next week) I will post some details. Basically a window 10 machine with pext, compiling with mini-gw and gcc.
From what I understand I have used some Microsoft functions (windows h? time.h? Can't remember) and It would only run (or only compile?) on windows.
I also know that it complies to the uci standard and can play games through cutechess-cli.
It doesn't support opening books and egtb. Is it mandatory? Maybe I would like to implement it anyway before publishing the thing. Should be good for the user. can you point me in any direction? (Can I plug in some code to probe an endgame position? Doesn't sound fun to code a table lookup as a self taught beginner. Maybe stuff for a future thread)
I usually run games from some random starting positions I leeched from this forum (gaviota's author iirc.it's been many years. Thank you very much for that) What's the standard for books? (Another future thread still)
The program wasn't weak at the time ( very short tc about 2800+ elo iirc) but coming back to ccrl I noticed that ratings have skyrocket (nnue?smp? Popularity? Monetization?) And most are now multithreaded.
Does mine have to be multithreaded too to participate? I would give it a try but it will probably require to rewrite most of it (and a lot of study).
Do I have to provide source code? Not that I would mind but real programmers would probably cringe at it :D and I don't know how to use GitHub. Even if I published it would anyone have a look and give me feedback?

Do I have to compile for a certain machine used for testing? (Can you help me with that?)

I apologize for the long, messy and somewhat personal post and thanks to anyone that will be willing to answer to any of the above.

P.S. also thank you for running this community filled with inspiring and insightful ideas about this this very peculiar field.

Regards
Well....Github Is Not Too Complicated to use....Most (All?) Of The Projects on there seem to possess source code...You say strength is around 2800? Thats quite strong for an Original Project..Many are quite low to start out...lets say from 1600-2000-2200 elo. 2800 elo puts you up pretty high on the ratings list! We need all of "Original Projects" we can find around here...NNUE has become the latest rage since 6-2020 or so until the present...but it may or may not last...one thread is OK.. many like the multi-threaded options...Almost All The top GUI's Shredder...Fritz..Arena...Cutechess...Hiarcs...Banksia..Winboard...Lokasoft...etc let you pick a opening book I still use Gaviota & Minko Chess in my tests along w Junior Fritz & King (Chessmaster)...Basic compiles Now are Win 64 popcnt..Win 64 BMI Win 64 AVX...But I still have a win 32 & basic win 64 nonpopcnt machines...We look forward to hearing back from you..By the Way whats the name of this Chess Engine Of yours? Thx AR :) :wink:
Philip
Posts: 6
Joined: Mon Aug 30, 2021 2:31 pm
Full name: Filippo marfè

Re: About my amateur chess engine

Post by Philip »

supersharp77 wrote: Sun Sep 05, 2021 3:22 am ...Almost All The top GUI's Shredder...Fritz..Arena...Cutechess...Hiarcs...Banksia..Winboard...Lokasoft...etc let you pick a opening book I still use Gaviota & Minko Chess in my tests along w Junior Fritz & King (Chessmaster)...Basic compiles Now are Win 64 popcnt..Win 64 BMI Win 64 AVX...But I still have a win 32 & basic win 64 nonpopcnt machines...We look forward to hearing back from you..By the Way whats the name of this Chess Engine Of yours? Thx AR :) :wink:
So in the matches the openings will be handled by some GUI? as in the moves will be passed to the engine in the form of "position startpos move etc etc"?

about the name, it doesn't really have one yet. The project is still saved on my hard drive under the name of "hello world", because that's how it started. I find it pretty amusing. (...might call it "hello chess" ? :D )

take care
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: About my amateur chess engine

Post by CMCanavessi »

Philip wrote: Fri Sep 10, 2021 12:39 am The project is still saved on my hard drive under the name of "hello world", because that's how it started. I find it pretty amusing. (...might call it "hello chess" ? :D )
Hello pawn :mrgreen:
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: About my amateur chess engine

Post by jdart »

So in the matches the openings will be handled by some GUI? as in the moves will be passed to the engine in the form of "position startpos move etc etc"?
Yes, customarily the GUI handles the opening book. Some engines (Arasan for example) have their own internal opening book support but that is not generally necessary.