- Board representation: Bitboards
- Evaluation
- Search
- PVS
- TT
- Null Move Pruning
- Razoring
- LMR (to test)
- iterative deepening
- mate distance pruning
- check extensions (check-evaders for the moment)
- Quiescence Search
- Move Orderning
Sliding pieces move generation uses magic bitboards. If your computer supports BMI2, Algae uses the PEXT bitboards optimization to make the engine faster. You can force using the BMI2 optimization (if supported by your computer) with make bmi2.
- Tord Romstad and Maksim Korzh for the explaination and code of Magic Bitboards generation and use.
- Disservin for his Smallbrain engine, heavily inspiring the make/unmake move method and the time management.
- Slender for his Rice engine, heavily inspiring the UCI function.
