Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
The main changes in this release include bug fixes and variable size hash table, along with an adjustment to the reverse futility pruning.
Apollo v1.2 continues on the past UCI engine.
Various optimizations have been added, mainly focusing on better move ordering and bug fixes. The evaluation has also been improved.
A depth 10 search takes about 500 ms, depth 12 about 2 seconds from the starting position.
One major issue is the "stop" command is not implemented.
Apollo v1.1 is a functioning UCI engine. Currently it uses MVVLVA for captures, and a history heuristic for move ordering for quiet moves along with a killer move heuristic. It has a 32 mb transition table used for move ordering, however it seems to have much of a less effect than expected. From the start position, it takes about 5 second to run a depth 10 search.
The board is represented with bitboards and magic bitboards are used for move generation, however the move generation is still slow. Perft 5 runs in under a second.
The evaluation function includes passed pawns, isolated pawns, doubled pawns, centralization, and open files for rooks.
The search uses futility and null move pruning. Quiescence search does not include checks or any delta pruning, and runs to an unlimited depth. However it only analyzes moves with a positive static exchange.