Please sign in to access this page
[NOTICE: ONLY TAKES 'REAL TIME' GAMES] Mostly built from scratch, except for reliancy on (a) Disservin's chess-lib (b) a Polyglot reader library and (c) magic_enum. May not always be online ... Uses Negamax with alpha/beta pruning, a material/positional eval function, quiescence search, and transposition table. NNUE eval function coming soon!
nosrep
Check their projects out: trout, human benchy, my website
Ethan Chen
Check their projects out: Osmium -- Chess Engine, CHESS 2
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
bruhhhh its too slow it seems so the old version is stronger, cause of mobility eval slowing everything down :(
removed threading for mobility since it slows it down, not speed up suspecting overhead in starting the threads, etc
yay removed the makeNullMove by gettting chess.hpp to expose both
template <MoveGenType mt = MoveGenType::ALL>
void static legalmoves(Movelist &movelist, const Board &board, int pieces)
template <Color::underlying c, MoveGenType mt>
static void legalmoves(Movelist &movelist, const Board &board, int pieces);
publicly so i can use chess::Color::BLACK instead of flipping board state using null moves, also added some minor optimizaions
True iterative deepening added (searches until time runs out) Before it was just upto depth 5, not good in situation where you have lots of time and want to use it
ADDED ITERATIVE DEEPENING, MASSIVE SPEED GAIN (5x faster from 1550ms to 300 ms)
still unit tests for iter, mvvlva, transpo, and qsearch not here lol
FINALLY FIXED THE BUG
std::numeric_limits<int>::min() is one smaller than -max, which causing wraparound, fixed by adding one lol
Optimized the program by using more const & refs in function arguments but still trying to find why its dropping so much material
Quality of life upgrades -> refactored code, added logging with spdlog, and added unit tests (only for evaluation so far tho)
Bug is in evaluate function, it is actually a piece of work
i am on the verge of an existensial crisis
Moved everything to C++ and ran a basic test, huge improvement in speed. I miss you, Python, but you're just too slow 😭.
Finally got c++ eval working to the bare minimum, not pushed to main lichess bot yet tho
Quiescence search fleshed out with features reccomended by chess programming wiki [helps calculate long tactics to avoid loss of material/checkmate]