Skip to content

Commit

Permalink
docs: 1.6 update
Browse files Browse the repository at this point in the history
  • Loading branch information
Orbital-Web committed Aug 21, 2023
1 parent df82d4b commit 15cdfa1
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 7 deletions.
27 changes: 25 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Both a UCI Chess Engine (**Raphael**) and a Chess GUI (to play against **Raphael

**Raphael** is largely inspired by [Sebastian Lague's Coding Adventure series on implementing a Chess Engine](https://youtu.be/U4ogK0MIzqk), and is a revisit/successor to a previous engine I coded in Python.

*Note: v1.6 will be the last of the minor releases to **Raphael**. The next major release will be v2.0 using a custom NNUE evaluation function.*
*Note: v1.7 will be the last of the minor releases to **Raphael**. The next major release will be v2.0 using a custom NNUE evaluation function.*

<p align="center">
<img src="https://github.com/Orbital-Web/Raphael/blob/8667a6f6db60c5cacce297145246f89a22fa5333/Demo.png" alt="demo of Raphael" width=400/>
Expand Down Expand Up @@ -66,6 +66,7 @@ To use it, refer to the [setup instructions above](https://github.com/Orbital-We
- [x] Time management (`v1.0+`)
- [x] Skip search on stable pv (`v1.6+`)
- [x] Pondering (`v1.2+`)
- [x] Pondering with pv (`v1.6+`)
- [x] Check extensions (`v1.4+`)
- [x] Promotion extensions (`v1.4+`)
- [ ] Recapture extensions
Expand Down Expand Up @@ -112,7 +113,7 @@ Below is the result of each new version against `v1.0` out of 400 matches (20 se
- `v1.3` 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥🟥🟥🟥 `v1.0` [301 / 23 / 76]
- `v1.4` 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥🟥 `v1.0` [333 / 25 / 42]
- `v1.5` 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥🟥 `v1.0` [344 / 23 / 43]
- `v1.6` 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥 `v1.0` [360 / 20 / 20]
- `v1.6` 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜🟥 `v1.0` [355 / 27 / 18]

And below is the more detailed comparison.
<table>
Expand Down Expand Up @@ -242,6 +243,28 @@ And below is the more detailed comparison.
<td>6</td>
<td>v1.4</td>
</tr>
<tr align="center">
<td>v1.6</td>
<td>169</td>
<td>178</td>
<td>8</td>
<td>27</td>
<td>5</td>
<td>13</td>
<td>0</td>
<td>v1.0</td>
</tr>
<tr align="center">
<td>v1.6</td>
<td>122</td>
<td>127</td>
<td>2</td>
<td>77</td>
<td>33</td>
<td>39</td>
<td>0</td>
<td>v1.5</td>
</tr>
</table>

*Note: a timeout usually means that the game was relatively equal*
2 changes: 0 additions & 2 deletions src/GameEngine/GameEngine.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,6 @@ static constexpr int FRAMERATE = 60;
// play move
auto toPlay = movereceiver.get();
if (toPlay == chess::Move::NO_MOVE) {
printf("Hmm ");
std::cout << cur_t_remain << " " << t_remain[!turn] << "\n";
timeout = true;
timeoutwins[(p1_is_white!=turn)]++;
game_result = chess::GameResult::LOSE;
Expand Down
2 changes: 1 addition & 1 deletion src/Raphael/Raphael_v1.6.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ class v1_6: public cge::GamePlayer {
// Assigns a score to the given move
void score_move(chess::Move& move, const chess::Board& board, const int ply) const {
// prioritize best move from previous iteraton
if (move == itermove) {
if (move == tt.get(board.hash(), 0).move) {
move.setScore(INT16_MAX);
return;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Raphael/Transposition.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ static constexpr unsigned int MAX_TABLE_SIZE = 134217728; // 2.5GB
// TranspositionTable methods
public:
// Initializes the Transposition Table (TranspositionTable<size>)
TranspositionTable(const unsigned int size_in): size(size_in), _table(size, {.flag = INVALID}) {
TranspositionTable(const unsigned int size_in): size(size_in), _table(size, {.flag=INVALID, .move=chess::Move::NO_MOVE}) {
assert((size>0 && size<=MAX_TABLE_SIZE)); // size is within (0, MAX_TABLE_SIZE]
assert(((size & (size-1)) == 0)); // size is a power of 2
}
Expand Down Expand Up @@ -57,7 +57,7 @@ static constexpr unsigned int MAX_TABLE_SIZE = 134217728; // 2.5GB

// Clears the table
void clear() {
std::fill(_table.begin(), _table.end(), (Entry){.flag = INVALID});
std::fill(_table.begin(), _table.end(), (Entry){.flag=INVALID, .move=chess::Move::NO_MOVE});
}


Expand Down

0 comments on commit 15cdfa1

Please sign in to comment.