where to start chess programming?

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

Moderator: Ras

User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: where to start chess programming?

Post by cdani »

vittyvirus wrote:by what goes into a strong engine, i meant some technical stuff eg razoring or endgame knowledge. but still, thanks for the inspiration!
Hi!

A lot of technical stuff and a lot of work to adjust all the stuff. Requires understanding each single thing and how they interact between them. The second it's not simple understanding, it emerges from experience.

Good luck and good patience!
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: where to start chess programming?

Post by vittyvirus »

cdani wrote:
vittyvirus wrote:by what goes into a strong engine, i meant some technical stuff eg razoring or endgame knowledge. but still, thanks for the inspiration!
Hi!

A lot of technical stuff and a lot of work to adjust all the stuff. Requires understanding each single thing and how they interact between them. The second it's not simple understanding, it emerges from experience.

Good luck and good patience!
what does 'technical stuff' mean, specifically? and, can almost all of the computer chess programmers make a engine rated 3000+?
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: where to start chess programming?

Post by Henk »

vittyvirus wrote:
cdani wrote:
vittyvirus wrote:by what goes into a strong engine, i meant some technical stuff eg razoring or endgame knowledge. but still, thanks for the inspiration!
Hi!

A lot of technical stuff and a lot of work to adjust all the stuff. Requires understanding each single thing and how they interact between them. The second it's not simple understanding, it emerges from experience.

Good luck and good patience!
what does 'technical stuff' mean, specifically? and, can almost all of the computer chess programmers make a engine rated 3000+?
Romans introduced "honestly stealing".

If you try to be original you probably never gonna make it.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: where to start chess programming?

Post by cdani »

vittyvirus wrote:What does 'technical stuff' mean, specifically?
I was referring to what you told, razoring, lmr, evaluation, hash, etc. All what you can find in http://chessprogramming.wikispaces.com/ or you can imagine.
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: where to start chess programming?

Post by vittyvirus »

i guess you guyz need to give me a broader ans.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: where to start chess programming?

Post by zullil »

vittyvirus wrote:i guess you guyz need to give me a broader ans.
W----R----I----T----E M----O----V----E G----E----N----E----R----A----T----0----R.

T----H----E----N P----O----S----T A----G----A----I----N.

(Broad enough? :twisted:)
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: where to start chess programming?

Post by cdani »

vittyvirus wrote:i guess you guyz need to give me a broader ans.
The problem with a broader answer is that it will require a lot of even broader answers. How would you explain in a broader way what is programming to someone that don't knows how to program and it's requiring you to explain it in a way that he can start programming? There is no way, just he must start and going step by step.
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: where to start chess programming?

Post by vittyvirus »

I'm sorry if i was being a fool, seriously. i know these situations where people ask u for clear answers when they dont know much about it, and i guess m being among those people as many experienced people are here. You guyz are really tough.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: where to start chess programming?

Post by elcabesa »

I'll try to sare my experience with you.
I started many years ago programming a chess engine and created my first playing program in c# after few month. I tought I have understood everything about chess programming and added everything looks good. The engine played at 1400 elo point rating and everything I tried didn't work.
few years later a good boy created a tutorial about chess programming, the tutorial was called writing a chessprogram in 99 point and the final program was called winglet. The program wasn't strong at all, maybe less than 2000 but explained very well the basics of chess programming. studying this program and his code I created my second engine and some his code is still nside my code.
now I am on my third engine and I know that at the time of my first engine I hadn't understood anything. I still miss lots of things but my engien is nowadays in the 2850 elo point range.

The algorithm under the hood of the engine are not easy to fully understand, when you think you understood verything you found a bug in your code and you understood you have understimated the difficulty of putting everything together.

one iportant thing is to write easy code and bug free code.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: where to start chess programming?

Post by elcabesa »

since you ask us "where to start" I'll try to say what I think could be logical way to start chessprogramming

1) board rapresentation
2) parsing a fen string and displaying the board position
3) definition of move rapresentation
4) code to do/undo a move
5) if you like you could write a code to detect if a move is valid or more easily if a position is valid ( you cannot leave the king in check)
6) move generator
7) writing /debugging perft of some position.
8) writing a very easy board evalutation { material counting}
----------- up to know you only have don propedeutic work-------
9) write an easy alphabeta searcher
10) implementing a protocol to command your engine (uci/winboard are the most used)

from there you can start your REAL chess programming adventure.