Search found 244 matches

by emadsen
Mon Feb 22, 2021 6:20 am
Forum: Computer Chess Club: General Topics
Topic: We are the Computer Chess Community. We control ourselves.
Replies: 118
Views: 4406

Re: We are the Computer Chess Community. We control ourselves.

Its time that people stand up and become the change that this community so badly needs, and that so many of us would like to see. That means not using ChessBase products. I stopped using ChessBase software years ago when it became apparent they'd never fix the flicker problem that afflicts their GU...
by emadsen
Sun Feb 21, 2021 4:52 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: How to make movelist using bitboards
Replies: 30
Views: 685

Re: How to make movelist using bitboards

It seems you explain me how to do, not what to do. The title of your post is How to make movelist using bitboards. OK, well hopefully the comments and code here have helped you understand the concept and possible implementations. Let us know if you get it working or get stuck. This community is hel...
by emadsen
Sat Feb 20, 2021 1:30 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: How to make movelist using bitboards
Replies: 30
Views: 685

Re: How to make movelist using bitboards

Luis Babboni wrote:
Sat Feb 20, 2021 1:09 am
What i do not understand is how to produce EACH possible move.
That’s what I explained in my previous post.
by emadsen
Sat Feb 20, 2021 12:43 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Search testing strategies
Replies: 2
Views: 106

Re: Search testing strategies

Once I implemented perft for my engine and found a decent sized test suite, my quality of life improved quite a bit! It was so nice to be able to refactor code in move generation and make/unmake move with the protection of that test suite in place. Amen. I'm curious what people are using to accompl...
by emadsen
Sat Feb 20, 2021 12:39 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Which features offer the best return?
Replies: 28
Views: 8793

Re: Which features offer the best return?

Congrats!
lojic wrote:
Fri Feb 19, 2021 11:07 pm
I still think I'll skip some of the more esoteric features, and leave the serious chess coding to others.
Beware, the chess programming virus is contagious.
by emadsen
Sat Feb 20, 2021 12:30 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Any engines with a "mostly functional" style of code?
Replies: 6
Views: 358

Re: Any engines with a "mostly functional" style of code?

In my opinion, it makes code easier to reason about when variables are passed to the function vs. referring to global variables - even if you're passing pointers to minimizing copying. Totally agree. And like you said, the function inliner helps too. I even provide hints to the compiler for small f...
by emadsen
Fri Feb 19, 2021 11:50 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Any engines with a "mostly functional" style of code?
Replies: 6
Views: 358

Re: Any engines with a "mostly functional" style of code?

I realize (code that causes side effects) may be motivated by efficiency concerns (large functions to avoid functional call overhead in languages where it may be expensive, and global variables to avoid the cost of copying, etc.), and in some cases, a functional programming style can be a little le...
by emadsen
Fri Feb 19, 2021 6:05 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: How to make movelist using bitboards
Replies: 30
Views: 685

Re: How to make movelist using bitboards

I think I´m able to find a bitboard with, for example, a 1 in each of possible moves (say 8) for a given knight and a 0 in all other positions... My question is how, from that, I could make a list move with those 8 possible moves. I mean, how to separate each move from others. This code creates a m...
by emadsen
Sun Feb 14, 2021 4:54 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Thought bitboards was faster :-)
Replies: 38
Views: 2230

Re: Thought bitboards was faster :-)

Perft is totally useless for chess engines. 1. Just play 1M games against SF. 2. grep for illegal moves. 3. If there's none then your movegen is good. Also makes your UCI code battle proof. This technique doesn't find the absence of a legal move. That's where perft is valuable. I'm just arguing the...
by emadsen
Fri Feb 12, 2021 6:21 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Thought bitboards was faster :-)
Replies: 38
Views: 2230

Re: Thought bitboards was faster :-)

This discussion prompted me to adjust how I count nodes per sec in my engine to a more honest measurement (not incrementing node count when verifying legality). Also note that in many engines the large majority of time is spent in evaluation. So even a bulk-counting perft, which is a good measure fo...