lauriet wrote:No i cant swear that i have no bugs.......can anyone?
My first suspicion goes exactly into that direction. See my other comments below.
lauriet wrote:No transposition table.
In check, scans out from the king looking for attackers.
Quiescense has its own move gen that only gives captures.....no checks. Moves are ordered via captured - capturing.
Eval has pst, mobility, pawn structure, king safety, 2 rook/knight/bishop reward.
havent done any profiling yet......i will look into this.
Nothing from this list seems to indicate any kind of severe problem so far. But ...
lauriet wrote:branchinf factor is probably very poor as it can take 7 times longer to search the next ply.
nps is maybe about 1000-2000 per second.
An EBF of 7 is definitely too much, considering also that you have implemented null-move and obviously also regular move ordering stuff. Part of your problem is here. And nps, do you really mean 1000-2000 nodes per second, or 1000-2000 kNodes per second?
- In the former case I would say: yes, there are bugs, and you need to find and fix them first before you change *anything*. That would be roughly a factor of 1000 away from what's reasonable today. Here I would suggest to use profiling to find the bottleneck.
- In the latter case I'd propose to concentrate on finding the exact reason for the bad EBF only. Maybe transposition table is already the key here, but I would not start implementing a complex task like that until I am reasonably sure about having excluded other sources of the problem.
I would also do another check: disable all of your evaluation features except material and PST, and look how your engine performs. The first observation should be: much faster. A second observation *might* be that it also helps to get a much better EBF; in this case an explanation for your bad EBF might be a severe problem within your positional evaluation. Then re-enable your features again step by step to see their influence on performance and on EBF. Use identical test scenarios of course. Maybe you find one feature that kills your search.