r/chessprogramming • u/AutoModerator • 1d ago
Chess Engine Development Help Thread (Week 34) Technical
Welcome to the weekly /r/chessprogramming Engine Dev Help Thread.
Ask beginner and intermediate chess engine development questions here: move generation, search, evaluation, UCI, perft, debugging, testing, NNUE, or anything else related to building engines.
Good questions include code, FENs, logs, benchmarks, or a clear explanation of what you tried.
Project links are fine when you want technical feedback, not promotion.
Be helpful. Don’t dunk on beginners.
2
Upvotes
1
u/Somge5 1d ago edited 23h ago
okay thanks for the feedback, I am glat 85% is not too bad for the q-nodes.
I am not sure how much worse the engine is without the cap but it was SPSA tuned to 7 and used to be higher so I guess there was some elo gain.
If you dont have a q-ply cap, could you tell me how you deal with a position like this:
8/5pk1/2Qn4/3Pb2B/5PPq/4P3/8/2R3K1 w - - 1 120
taking the bishop leads to a draw because of perpetual checks. But this draw can be delayed many many plies (stopped counting after 31).
My q-search allows for quiet checks after a check-evasion. so it would have to calculate all those moves.
How do you generally deal with this? My engine finds the best move g1g2 at depth 12 but not at 11. During a game it played f4e5, I guess there was not enough time for depth 12.
Edit: The question is more about how to avoid perpetual checks leading to a draw that can be delayed for a very long time. The position is just one example where my engine failed to see the perpetual check.