Engine direction: keep improving the native engine, or integrate Stockfish? #40
testtest126
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The native engine has come a long way — iterative deepening, aspiration windows, transposition table (now persistent, with pondering after #16), null-move pruning, killers/history ordering, quiescence, opening book — with fully deterministic, node-count-tested search. Depth-4 from the start position costs ~3k nodes. But it evaluates with material+PST and will plateau around club strength.
Two roads from here:
A. Keep going native. Next rungs: late-move reductions, static exchange evaluation for capture ordering, futility pruning, a real evaluation (king safety, pawn structure, passed pawns — or a small NNUE). Pros: everything stays testable/deterministic, pure Swift, no licensing friction. Cons: months of work to reach what Stockfish gives for free; strength claims are hard to calibrate.
B. Integrate Stockfish for "Expert+" and review. The
ChessEngineprotocol was designed for exactly this swap — UI and game logic wouldn't change. Pros: instant world-class analysis, trustworthy review accuracy. Cons: C++ build integration, GPLv3 obligations for distribution (App Store distribution of GPL code needs care), binary size, and the native engine work becomes a hobby lane.A hybrid seems plausible: native engine stays the opponent at all levels (its beatable, human-ish levels are a feature), Stockfish powers post-game review only. Opinions?
Beta Was this translation helpful? Give feedback.
All reactions