How does one recover their lost love of chess programming?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: How does one recover their lost love of chess programmin

Post by Bill Rogers »

Hi Tony
Your background sounds quite a bit like mine, except I have not learned to program in C as of yet. I love good old Basic. Wrote my first chess proggram in Basic back in 1978. It was only a one ply machine but I still play with it.
Bill
gerold
Posts: 10121
Joined: Thu Mar 09, 2006 12:57 am
Location: van buren,missouri

Re: How does one recover their lost love of chess programmin

Post by gerold »

tmokonen wrote:
Bill Rogers wrote:I question for you Tony. Did you write it in a modular fashion? By that I mean do most of the subroutines stand alone until they are called? This makes it much easier to work on an engine as you only look at one piece of code at a time instead of the entire engine.
For a reference as to what I mean, have you ever looked at TCSP? His eval is a seperate program from his move generator, etc.
Bill
Hi Bill. I broke down my program (straight C, no OO) in a somewhat similar fashion to that. I have separate source files for movegen, search, eval, and hash functions, and a source file for utility functions like winboard command handling, board editing, and reading options from the ini file. Still, there's probably a few too many globals, so it can stand to use a bit more modularization.

I've taken a look at both Faile and TSCP, but only really the search routines. I found the movegen to be fairly straightforward, but it took quite an effort for me to get into a recursive thinking mode and properly understand the alpha beta algorithm. Also, I don't use C at all for my daily work, that's all lily livered Visual Basic stuff, so getting comfortable with C took a while too.

My main sources of ideas and inspiration was Bruce Moreland's set of web pages, and David Levy's books The Chess Computer Handbook and How Computers Play Chess. I tend to prefer to study pseudocode, and try work out the details myself. I'd rather have something original and not a patchwork.
Sounds like you Have got the right idea. Once you get your
original done you will be happy that it is your work.Just sit
back and say i create an original chess program.

Very best to you and good luck,

Gerold.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: How does one recover their lost love of chess programmin

Post by bob »

You are probably asking the wrong question. If you really enjoy chess programming, you keep it up just because you enjoy it. My first program played its first move in October of 1968. I haven't stopped working on it since, spanning now almost 40 years... There are hundreds of chess program authors that simply got tired of it and moved on. Too many to name. But some just keep on going because they enjoy it... me included.
AndrewShort

Re: How does one recover their lost love of chess programmin

Post by AndrewShort »

Do you have a record of that 1968 game? that would be fun to see...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: How does one recover their lost love of chess programmin

Post by bob »

AndrewShort wrote:Do you have a record of that 1968 game? that would be fun to see...
It wasn't a game... It was "the first move", :) Program was written in Fortran IV, running on an IBM /360 model 40, and was a pain to play, as you had to punch a card, run it thru the reader, wait until it printed a single line on the printer, go read it, ... repeat...

If memory serves, the first test was just to search the starting position and make a move, which I would almost guarantee at the time was either Nf3 or Nc3... :) It was another few months before it would actually play the Guiko as white and play Ng5 if black played the two knights variation...
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Re: How does one recover their lost love of chess programmin

Post by Marc Lacrosse »

bob wrote: It was another few months before it would actually play the Guiko as white
What is the Guiko ???? ....

... this forty years old theory is really from another world by now ?!

:oops:

Marc
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: How does one recover their lost love of chess programmin

Post by bob »

Marc Lacrosse wrote:
bob wrote: It was another few months before it would actually play the Guiko as white
What is the Guiko ???? ....

... this forty years old theory is really from another world by now ?!

:oops:

Marc
You mean the Guiko Piano? Or nowadays I see it called "The Italian" (like the Ruy has become "The Spanish").

:)
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: How does one recover their lost love of chess programmin

Post by Zach Wegner »

I believe it's "Giuoco". Giuoco Piano means "quiet game". That's one of about 5 chess questions I can answer.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: How does one recover their lost love of chess programmin

Post by bob »

Zach Wegner wrote:I believe it's "Giuoco". Giuoco Piano means "quiet game". That's one of about 5 chess questions I can answer.
I actually think the last word might be pianissimo or some such Itialian word as well. but the spelling I gave is what is in my chess books (admittedly old). You can even find that spelling via google... whether it is right or wrong is another issue...
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: How does one recover their lost love of chess programmin

Post by Michael Sherwin »

tmokonen wrote:I'm not really sure this is the proper forum for this message, since this is not a technical issue, but it is related to programming, so I figured it would be most appropriate to place it here.

When I first started working on Tony's Chess, it was a whole newfangled and exciting world. It was a complete change of pace from my workaday database programming job. It was fun to finally get a move generator working, especially handling those tricky castling and en passant moves. I had bolted on a random move selector to my move generator, and me and my coworkers laughed as it randomly and very rapidly moved pieces, only to somehow manage to draw LaMoSca.

Then I added a fixed depth 4 ply alpha beta search (no q-search yet) and watched it have some fun sloppy 3/0 games against Chad's Chess. It was also a fun little punching bag to play against, just strong enough make a game last 30 or 40 moves, but not strong enough to be a serious threat to win. Then I added iterative deepening and a quiescent search, and I played it... and lost my first game against Tony's Chess. So I played it again... and lost again. I had reached an important milestone, it was now strong enough to win against me more often than it lost.

Tony's Chess hasn't advanced very much since those days, but I had a lot of fun tweaking it, trying some new eval terms, maybe playing with move ordering, or trying various search techniques like PVS, history heuristic, and null moves.

Nowadays, I just can't seem to find the motivation to work on it any more. Even after dropping it for weeks and coming back to it, programming my chess program just seems like a chore, and not fun like it used to. Sometimes, when I'm driving in my car, I'll have a million thoughts in my head about my program and I'll be thinking "yeah, yeah, excellent, I can't wait to try that when I get home!", but as soon as I start up Visual C++ and look at that monospaced indented mass of parentheses and semicolons and asterisks and square brackets, my will to program is just drained, and I end up just closing it and playing a game on PlayChess.

I'd like to know if anyone has hit a similar type of wall before, and what they've done to break through it and regain the fun they used to have.

Tony
I have not read this subject so forgive me if someone has said this already.

For me it is not a loss of love of chess programming so much as when I am down on myself. My happy self can program circles around my melancholy self.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through