Stellar - UCI Chess engine written in C++20
git clone git://
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2024-06-20 18:36Fix __UINT32_MAX__ not supported on WindowsDimitrije Dobrota2+4-3
2024-06-20 18:12Fix time management for big timesDimitrije Dobrota3+4-5
2024-05-20 17:49Fix constexpr issue with older compilerDimitrije Dobrota4+16-16
2024-03-26 21:12Version 1.4Dimitrije Dobrota2+12-1
2024-03-26 21:11Better time management and small improvementsDimitrije Dobrota7+31-21
2024-03-20 20:55Tweak arena for consistent san and winner messageDimitrije Dobrota3+4-3
2024-03-20 18:51Improve transposition table, add stats infoDimitrije Dobrota4+74-7
2024-03-19 20:29Pawn hash tableDimitrije Dobrota7+120-46
2024-03-19 20:28Template transposition tableDimitrije Dobrota2+13-13
2024-03-13 23:52Small fixupDimitrije Dobrota11+29-28
2024-03-13 23:10Improve Zobrist lookup tablesDimitrije Dobrota4+16-16
2024-03-13 21:48Move Type enum to utilsDimitrije Dobrota15+79-104
2024-03-13 21:41Merge square and color into utils out of namespaceDimitrije Dobrota37+336-364
2024-03-13 21:06Merge pawn attacks, better attack dispatchDimitrije Dobrota10+86-103
2024-03-13 20:13Move bitboard from utils and cleanup CMakeList.txtDimitrije Dobrota12+12-24
2024-03-13 19:54Beter enum handling, get rid of to_underlying()Dimitrije Dobrota25+118-152
2024-03-11 17:59Version 1.3Dimitrije Dobrota2+13-3
2024-03-11 17:55Merge pull request #2 from DimitrijeDobrota/1-windows-exeDimitrije Dobrota27+295-337
2024-03-11 16:30Use std::chrono for time measurementsDimitrije Dobrota2+4-5
2024-03-11 15:56Remove constexpr initialization from zobristDimitrije Dobrota9+64-73
2024-03-11 15:32Get rid of precompiled headersDimitrije Dobrota8+4-33
2024-03-11 15:27Get rid of constexpr table initializationDimitrije Dobrota13+214-201
2024-03-11 14:10User bit header for standard functionsDimitrije Dobrota2+4-21
2024-03-11 14:03Enable link-time optimization properlyDimitrije Dobrota2+12-11
2024-02-29 15:19Version 1.2Dimitrije Dobrota2+16-4
2024-02-28 15:03Update LICENSE.mdDimitrije Dobrota1+1-1
2024-02-28 15:02Update README.mdDimitrije Dobrota1+3-1
2023-12-06 20:48Fix leaking pipesDimitrije Dobrota3+44-22
2023-12-01 22:58Modernize the codebase using clang-tidyDimitrije Dobrota21+148-142
2024-02-08 22:05Add profiler build typeDimitrije Dobrota1+11-0
2023-12-01 22:42Change time limit formulaDimitrije Dobrota2+7-1
2023-09-25 19:45Incremental sorting, fix quiescence timeoutDimitrije Dobrota3+28-16
2023-09-12 13:43New evaluations, better interpolation, different ttableDimitrije Dobrota4+204-100
2023-09-19 12:06Version 1.1Dimitrije Dobrota25+770-109
2023-09-21 18:22Version 1.0Dimitrije Dobrota3+78-1
2023-09-21 18:15Fix CMakeLists.txt, add help to perftDimitrije Dobrota2+15-3
2023-09-12 13:42Fix UCI time managementDimitrije Dobrota4+6-6
2023-09-04 20:41Small refactor of pv table and uciDimitrije Dobrota8+70-51
2023-09-03 20:40Major refactorDimitrije Dobrota32+986-839
2023-09-01 15:21Restructure evaluation functionDimitrije Dobrota4+62-53
2023-09-01 13:50Rooks and king on open and semi-open file evalDimitrije Dobrota2+51-50
2023-08-31 21:26Passed, doubled, isolated pawn evaluationDimitrije Dobrota8+177-30
2023-08-31 17:19Attack only move generation, general refactorDimitrije Dobrota11+132-125
2023-08-30 20:15Prevent move repetitionDimitrije Dobrota8+93-34
2023-08-30 18:07General Search ImprovementDimitrije Dobrota6+14-35
2023-08-28 22:23Basic time controlDimitrije Dobrota4+88-25
2023-08-28 19:34Restructure engineDimitrije Dobrota8+85-89
2023-08-28 16:24Rewrite uci logic in c++Dimitrije Dobrota12+179-190
2023-08-28 10:52Inject project version information with CMakeDimitrije Dobrota5+25-5
2023-08-27 13:17clang flags, fix few compilation issuesDimitrije Dobrota3+16-6
2023-08-26 19:22CTest perft testsuiteDimitrije Dobrota3+41-3
2023-08-26 14:54Restructure project, CMake precompiled headersDimitrije Dobrota30+1072-1031
2023-08-15 21:17Trim Move town to 16bitsDimitrije Dobrota5+85-62
2023-08-15 21:17Improve CMake fileDimitrije Dobrota3+20-7
2023-08-15 11:03Fix the issue with the engineDimitrije Dobrota3+8-12
2023-08-14 14:58Fix performance issue, slight problem with engine...Dimitrije Dobrota9+143-150
2023-08-14 12:53Rework sorting as a list of indexesDimitrije Dobrota7+71-82
2023-08-13 19:35Don't use std::function for sortingDimitrije Dobrota10+61-59
2023-08-13 13:41Use global variables instead of stats in engineDimitrije Dobrota4+111-135
2023-08-13 12:52Rework perft to use std::threadDimitrije Dobrota2+85-135
2023-08-13 11:34Improve scoringDimitrije Dobrota5+121-146
2023-08-13 09:24Improve Move and MoveListDimitrije Dobrota24+523-591
2023-08-11 16:19Constexpr random and zobrist hashing initDimitrije Dobrota13+143-146
2023-08-11 13:10Merge branch 'constexpr' into cppDimitrije Dobrota30+640-731
2023-08-11 13:02Fix the bug!Dimitrije Dobrota5+28-24
2023-08-10 19:02Attack generation at compile time with constexprDimitrije Dobrota30+642-734
2023-08-10 13:30Fix almost all of the bugs...Dimitrije Dobrota9+48-88
2023-08-09 21:36Rest of the rewrite, - debugging...Dimitrije Dobrota41+1392-1661
2023-08-09 18:25Rewrite attack, piece and boardDimitrije Dobrota34+1005-771
2023-08-08 17:45Improve move scoringDimitrije Dobrota13+245-201
2023-08-08 15:45Razoring, better null pruning, futility pruningDimitrije Dobrota5+110-50
2023-08-08 12:19Shuffle the stats aroundDimitrije Dobrota5+126-109
2023-08-08 10:39Improve Node CountingDimitrije Dobrota2+25-25
2023-08-07 19:02Implement transposition tablesDimitrije Dobrota6+166-29
2023-08-07 15:27Split moves into generation and make fileDimitrije Dobrota4+232-225
2023-08-07 15:20Fix move generating and incremental hashingDimitrije Dobrota7+93-70
2023-08-07 10:31Initialize Zobrist keys and generate hashDimitrije Dobrota8+94-6
2023-08-07 10:30Extract random number generationDimitrije Dobrota6+50-28
2023-08-07 09:47Mate DetectionDimitrije Dobrota5+63-42
2023-08-05 15:30Null Move PruningDimitrije Dobrota2+14-1
2023-08-05 14:34Aspiration Window, UCI skip unknownDimitrije Dobrota2+25-11
2023-08-05 13:57Late Move ReductionDimitrije Dobrota2+27-11
2023-08-05 13:04Principle Variation SearchDimitrije Dobrota2+12-4
2023-08-05 12:29Sort PV moves, and general improvementDimitrije Dobrota8+98-102
2023-08-01 19:50No more hiding pointers behind typedefs!Dimitrije Dobrota6+203-212
2023-07-31 20:07Perft count only leave move types, fix promotionDimitrije Dobrota5+31-36
2023-07-31 17:59Fix up the engineDimitrije Dobrota3+10-9
2023-07-31 16:13Slight renameDimitrije Dobrota5+73-70
2023-07-31 16:13Use builtin bit instructions when availableDimitrije Dobrota3+28-49
2023-07-30 22:25Improve perft binary, optional move countingDimitrije Dobrota8+164-98
2023-07-29 21:40Split Attacks into multiple filesDimitrije Dobrota8+412-338
2023-07-29 20:41Improve naming consistency of Attacks interfaceDimitrije Dobrota13+411-418
2023-07-29 20:14Prevent potential header guard conflictDimitrije Dobrota8+15-15
2023-07-29 19:48Extract Piece interfaceDimitrije Dobrota14+148-141
2023-07-29 19:13Restructure project for better modularityDimitrije Dobrota27+1128-1052
2023-07-29 17:59Rename custom types and functionsDimitrije Dobrota11+619-605
2023-07-29 14:15RebrandDimitrije Dobrota2+9-15
2023-07-28 21:21Split engine into multiple files for easy refactorDimitrije Dobrota7+592-541
2023-07-28 17:22Refactor move encoding to use bit fieldsDimitrije Dobrota1+47-39
2023-07-28 17:11Fix formattingDimitrije Dobrota4+804-792
2023-07-28 16:46Switch to cmake, use cul libraryDimitrije Dobrota6+94-122
2023-07-28 13:28Add Multithreaded PERFTDimitrije Dobrota1+92-27
2022-10-03 10:34Move rewriteDimitrije Dobrota3+81-59
2022-10-02 13:14Remove global variablesDimitrije Dobrota1+59-49
2022-10-02 12:07Refactoring engineDimitrije Dobrota2+361-335
2022-10-01 21:22Principle VariationDimitrije Dobrota1+26-22
2022-10-01 20:56Killer moves and history movesDimitrije Dobrota1+56-52
2022-10-01 14:55Improve move evaluation by sorting MovesList and checking for following capturing attacksDimitrije Dobrota3+138-17
2022-10-01 05:16negamax alpha beta skeletonDimitrije Dobrota1+92-14
2022-09-29 22:43Basic Evaluation Scheme and improved UCI instructionsDimitrije Dobrota3+270-80
2022-09-29 22:42Support Basic UCI InstructionsDimitrije Dobrota3+125-14
2022-09-29 14:35Start writing UCI commandsDimitrije Dobrota4+39-5
2022-09-28 16:10More RefactoringDimitrije Dobrota5+130-143
2022-09-28 10:28Refactoring CBoard and Piece interface, improve engineDimitrije Dobrota3+395-319
2022-09-25 20:37Perft test suite, and all tests PASSEDDimitrije Dobrota1+139-89
2022-09-25 18:43get_time_ms() functionDimitrije Dobrota3+21-2
2022-09-25 10:00Make Move functionDimitrije Dobrota1+148-13
2022-09-24 16:34Move generation refactoring and bug fixingDimitrije Dobrota2+58-90
2022-09-24 15:50Generated moves added to Move ListDimitrije Dobrota1+150-117
2022-09-24 14:32Encode and Decode movesDimitrije Dobrota1+34-9
2022-09-24 13:25Generate all other movesDimitrije Dobrota1+13-4
2022-09-24 13:05Generate castling movesDimitrije Dobrota1+28-1
2022-09-24 12:42Generate pawn capturesDimitrije Dobrota1+70-26
2022-09-23 21:17Generate quiet pawn movesDimitrije Dobrota4+106-42
2022-09-23 20:06Split engine into attack and utils. Check if square is under attackDimitrije Dobrota5+554-459
2022-09-21 21:49get_queen_attacks() functionDimitrije Dobrota1+7-4
2022-09-21 21:41CBoard_fromFEN() functionDimitrije Dobrota2+97-10
2022-09-21 19:22Display board and basic info, general improvementsDimitrije Dobrota1+60-30
2022-09-21 10:40Piece types and Board representationDimitrije Dobrota1+93-44
2022-09-20 23:36Initialize Slider pieces attack tablesDimitrije Dobrota1+76-1
2022-09-20 22:54Generate magic numbers for Rook and BishopDimitrije Dobrota1+101-11
2022-09-20 22:05get_random_U64_number() and generata_magic_number() functionsDimitrije Dobrota1+33-17
2022-09-20 21:45get_random_U32_number() functionDimitrije Dobrota1+20-9
2022-09-19 20:33Occupancy bit count lookup tableDimitrije Dobrota1+31-5
2022-09-19 20:14Populating Occupancy functionDimitrije Dobrota1+20-10
2022-09-19 19:54Index of the least significant bit functionDimitrije Dobrota1+12-5
2022-09-19 19:38Add Bit Count functionDimitrije Dobrota1+13-0
2022-09-19 19:28Further refactor Bishop and Rook Attack functionsDimitrije Dobrota1+31-47
2022-09-19 19:00Refactor Bishop and Rook Attack functionsDimitrije Dobrota1+38-70
2022-09-19 18:44Bishop and Rook attack on the flyDimitrije Dobrota1+69-2
2022-09-19 18:16Rook attack maskDimitrije Dobrota1+20-0
2022-09-19 18:09Bishop attack maskDimitrije Dobrota1+26-4
2022-09-19 17:26King attack maskDimitrije Dobrota1+17-0
2022-09-19 17:18Knight attack maskDimitrije Dobrota1+20-1
2022-09-19 15:23Write chess engine using bitboard representationDimitrije Dobrota1+144-0
2022-09-05 20:32Initial commitDimitrije Dobrota3+275-0