Some pages discussing practical move generation?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Some pages discussing practical move generation?

Post by BBauer »

Hi Louis,
yeah, you are right. The author is Fernando. Sorry for confusion.
I mentioned this code because it is the only bug free code, at least to my knowledge.
Yeah, the source may be hard to get, but Sayed may get it by private communication. At least he may get some hints - in any direction, like pricing, marketing and so on.
Most important would be a really cool name for his new engine.

Kind regards
Bernhard
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 »

vittyvirus wrote:
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?
It's not bad it just doesn't make much sense. Your questions are way too simple for a forum like this. Stackoverflow is a more appropriate place for you. Someone posted a link in earlier in this thread. The link is an excellent description to a array-based board engine. You should read about it, and make sure you understand why it doesn't implement the board as 64 squares. If you don't, forget about chess programming.
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:
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!
I think Bernhard was being sarcastic. Don't you?

In particular, humility is worth considering. Try building a (sturdy) hut before the world-class palace.
User avatar
jsgroby
Posts: 83
Joined: Mon Mar 24, 2014 12:26 am
Location: Glen Carbon, IL USA

Re: Some pages discussing practical move generation?

Post by jsgroby »

zullil wrote:
vittyvirus wrote:
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!
I think Bernhard was being sarcastic. Don't you?

In particular, humility is worth considering. Try building a (sturdy) hut before the world-class palace.
Exactly. No architect builds a palace or mansion as their first project.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Some pages discussing practical move generation?

Post by bob »

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)??
I don't particularly give code, but if you go to www.cis.uab.edu/hyatt and scroll down to "online technical papers" you will find one on board layouts that describe the reasonable approaches and how to use them to generate moves, and then there is one for bit boards that describes everything except for magic bit boards, which I need to add before long.
User avatar
jsgroby
Posts: 83
Joined: Mon Mar 24, 2014 12:26 am
Location: Glen Carbon, IL USA

Re: Some pages discussing practical move generation?

Post by jsgroby »

You mention that you have a partially completed move generator. Instead of worrying about how others do it, I would suggest finishing the move generator and then begin testing it using perft testing. It is the best way to find out if your move generator is doing what it should be doing. If you are wanting to create a 3000+ ELO engine, don't pay attention to what others have done before you.
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 »

jsgroby wrote:You mention that you have a partially completed move generator. Instead of worrying about how others do it, I would suggest finishing the move generator and then begin testing it using perft testing. It is the best way to find out if your move generator is doing what it should be doing. If you are wanting to create a 3000+ ELO engine, don't pay attention to what others have done before you.
Good advice---but probably not for Bob :wink:. Maybe the mods can relocate your post and then delete this one.
User avatar
jsgroby
Posts: 83
Joined: Mon Mar 24, 2014 12:26 am
Location: Glen Carbon, IL USA

Re: Some pages discussing practical move generation?

Post by jsgroby »

zullil wrote:
jsgroby wrote:You mention that you have a partially completed move generator. Instead of worrying about how others do it, I would suggest finishing the move generator and then begin testing it using perft testing. It is the best way to find out if your move generator is doing what it should be doing. If you are wanting to create a 3000+ ELO engine, don't pay attention to what others have done before you.
Good advice---but probably not for Bob :wink:. Maybe the mods can relocate your post and then delete this one.
Oh my. Yeah, not for Bob. He has forgotten more about chess than I will probably ever learn...LOL...Forgive me Bob. This was for Syed.

jeff
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:
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..
I think Bernhard was being sarcastic. Don't you?

In particular, humility is worth considering. Try building a (sturdy) hut before the world-class palace.
Read that again. MY FIRST ENGINE IS SUPPOSED TO BE FOR LEARNING, NOT AS A HOUDINI OR SF 'KILLER'. Isn't that what humility means?
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 »

bob 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)??
I don't particularly give code, but if you go to www.cis.uab.edu/hyatt and scroll down to "online technical papers" you will find one on board layouts that describe the reasonable approaches and how to use them to generate moves, and then there is one for bit boards that describes everything except for magic bit boards, which I need to add before long.
You've always been so nice! Thanks! :D