Some pages discussing practical move generation?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Some pages discussing practical move generation?

Post by velmarin »

lucasart wrote: So now we need to write the entire move generation code for you ? And we also need to write a website to explain it to you ? Then what code are *you* going to write ?

What happenned to the "I'm so smart, I'm gonna revolutionize computer chess and make the next generation SF and Houdini killer" ?

The first thing to learn is humility. And only then you can realize your own limits and compare them to the task at hand, and make informed decisions...
Gets a holiday break,

And do not harass the newcomers, it's a 13 year old boy.

:evil: :evil: :evil:
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Some pages discussing practical move generation?

Post by vittyvirus »

lucasart wrote:
vittyvirus wrote:I googled for it, to my surprise even chessprogramming website hasn't a specific article discussing move generation without confusion. I've programmed a move generator, (BTW, I've implemented bitboards too), but that's for array like representation and is somewhat slower and buggy. But I guess I've completed the challenge, or at least a part of it -_-.
Anyway, is there some webpage with code examples that discusses move generation (except that winglet one)??
So now we need to write the entire move generation code for you ? And we also need to write a website to explain it to you ? Then what code are *you* going to write ?

What happenned to the "I'm so smart, I'm gonna revolutionize computer chess and make the next generation SF and Houdini killer" ?

The first thing to learn is humility. And only then you can realize your own limits and compare them to the task at hand, and make informed decisions...
Oh C'mon, I am just looking for some pages discussing move generation as I find my code alien to what others have done. I am looling for code examples, not to copy paste, but to give a practical idea of how something works. I mean, how do you know what it is when you read "magic bitboards work by multipying bla bla with a magic no and returns an index .........."
chessprogramming has it all, I believe, but maybe I am not able to discover it. that's why I turned to his club. And just like experienced programmers (although i admit k am not, ofc) I take ideas, if I take, but not the code.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Some pages discussing practical move generation?

Post by zullil »

vittyvirus wrote:
zullil wrote:
vittyvirus wrote: I can write a awful move generator myself
Can you write a correct (possibly slow) one? Have you?

It is easy to say "I can do". Doing is what counts.
Yes, infact I have wrote one (partially).
"partially" :(

The fact that you are struggling to create a move generator using your "bitboards" again suggests (at least to me) that you should start with a more basic approach. You must walk before you can run (or crawl before you can walk).

You might consider studying the code so generously provided by Colin Jenkins.
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Some pages discussing practical move generation?

Post by vittyvirus »

zullil wrote:
vittyvirus wrote:
zullil wrote:
vittyvirus wrote: I can write a awful move generator myself
Can you write a correct (possibly slow) one? Have you?

It is easy to say "I can do". Doing is what counts.
Yes, infact I have wrote one (partially).
"partially" :(

The fact that you are struggling to create a move generator using your "bitboards" again suggests (at least to me) that you should start with a more basic approach. You must walk before you can run (or crawl before you can walk).

You might consider studying the code so generously provided by Colin Jenkins.
Not that array representation, but real bitboards... I am not struggling to create a move generator, I just wanted to get an idea of how the world does it...
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Some pages discussing practical move generation?

Post by BBauer »

Hey Sayed,

don't waste your time with these guyes. You want to create a 3300+ elo engine. Most of them have only achieved a 2800+ engine.
How can they help you?
Go for new ideas!
You already have fen experience, so you know about bm.
Dont waste your time with a general move generator.
What you need is a bm move generator. For chess it is enough to generate *one* move, the best move. With some luck you may find it by picking a random move, or by definition.
For board representation use what you can find. It dosnt matter anyhow.
A good starting point may be Pablos great program MORON.

Humility? Who has achieved anything this way?
Keep up doing nothing and asking questions because, as you know there are no stupid questions but only stupid answers.
Good luck!
Bernhard
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Some pages discussing practical move generation?

Post by zullil »

vittyvirus wrote:
zullil wrote:
vittyvirus wrote:
zullil wrote:
vittyvirus wrote: I can write a awful move generator myself
Can you write a correct (possibly slow) one? Have you?

It is easy to say "I can do". Doing is what counts.
Yes, infact I have wrote one (partially).
"partially" :(

The fact that you are struggling to create a move generator using your "bitboards" again suggests (at least to me) that you should start with a more basic approach. You must walk before you can run (or crawl before you can walk).

You might consider studying the code so generously provided by Colin Jenkins.
Not that array representation, but real bitboards... I am not struggling to create a move generator, I just wanted to get an idea of how the world does it...
For someone who is not struggling, you seem to be posting for help very often ...
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Some pages discussing practical move generation?

Post by zullil »

BBauer wrote:Hey Sayed,

don't waste your time with these guyes. You want to create a 3300+ elo engine. Most of them have only achieved a 2800+ engine.
How can they help you?
Go for new ideas!
You already have fen experience, so you know about bm.
Dont waste your time with a general move generator.
What you need is a bm move generator. For chess it is enough to generate *one* move, the best move. With some luck you may find it by picking a random move, or by definition.
For board representation use what you can find. It dosnt matter anyhow.
A good starting point may be Pablos great program MORON.

Humility? Who has achieved anything this way?
Keep up doing nothing and asking questions because, as you know there are no stupid questions but only stupid answers.
Good luck!
Bernhard
I think Fernando is the "author" of Moron. (Pablo is famous for "antichess".) The source code of Moron is hard to locate, but I hear it is completely free of bugs ... :wink:
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Some pages discussing practical move generation?

Post by vittyvirus »

BBauer wrote:Hey Sayed,

don't waste your time with these guyes. You want to create a 3300+ elo engine. Most of them have only achieved a 2800+ engine.
How can they help you?
Go for new ideas!
You already have fen experience, so you know about bm.
Dont waste your time with a general move generator.
What you need is a bm move generator. For chess it is enough to generate *one* move, the best move. With some luck you may find it by picking a random move, or by definition.
For board representation use what you can find. It dosnt matter anyhow.
A good starting point may be Pablos great program MORON.

Humility? Who has achieved anything this way?
Keep up doing nothing and asking questions because, as you know there are no stupid questions but only stupid answers.
Good luck!
Bernhard
1. Yes, I do want to create a 3300+ , and the most strongest engine in the world and I'm not underestimating what I'll be doing. So I am creating my first engine for learning and then I'd create the killer..
2. As you recommended, I'd go for new ideas. I had a lot of ideas before and I will try to implement them in my engine.
3. I suppose you mean best move by bm. An accurate best move generator seems impossible, but a generator that only generates certain 'healthy' moves might be a more realistic goal.
4. I HAVE IMPLEMENTED BITBOARDS IN MY PROGRAM ALREADY!
5. I cant find moron on Google, what's it?
6. +1 for your comments on humility. I personally believe dreams should be high, you can't make a palace while dreaming of an house!
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Some pages discussing practical move generation?

Post by vittyvirus »

zullil wrote:
vittyvirus wrote:
zullil wrote:
vittyvirus wrote:
zullil wrote:
vittyvirus wrote: I can write a awful move generator myself
Can you write a correct (possibly slow) one? Have you?

It is easy to say "I can do". Doing is what counts.
Yes, infact I have wrote one (partially).
"partially" :(

The fact that you are struggling to create a move generator using your "bitboards" again suggests (at least to me) that you should start with a more basic approach. You must walk before you can run (or crawl before you can walk).

You might consider studying the code so generously provided by Colin Jenkins.
Not that array representation, but real bitboards... I am not struggling to create a move generator, I just wanted to get an idea of how the world does it...
For someone who is not struggling, you seem to be posting for help very often ...
I AM STRUGGLING! I write 50-100 lines of code dailly! Yes, I do ask for help too often, but is that bad?
kinderchocolate
Posts: 454
Joined: Mon Nov 01, 2010 6:55 am
Full name: Ted Wong

Re: Some pages discussing practical move generation?

Post by kinderchocolate »

There is no good website for chess programming, even the chess programming wiki is written for people with much better programming experience than you have. So it's not surprising that it's a bit hard for you.

Read source code. You must learn how to read someone's source code. bitboard.cpp in Stockfish tells you everything you ever need about bitboard. If you can't read the source, chess programming is too much for you. You'll need practice your general programming knowledge.