日本語

How to use Egaroucid

This page is a machine translation of the Japanese version. Please refer to the Japanese version for the official content.

This is the official documentation for the Othello AI Egaroucid. It briefly introduces how to use each feature. The content of this page is aligned with the latest version, but updates may not always be up to date.

Last updated: 2025/12/25 Egaroucid 7.8.0

Table of Contents
  1. Reference Links
  2. How to Read the Screen
  3. Game
  4. Settings
  5. Display
  6. Display in Graph Area
  7. Operate
  8. Input/Output
  9. Book
  10. Help
  11. Language

This page only explains how to use each feature, but another page has been written about how to actually utilize those features. It will be updated as needed.

How to Read the Screen

This section explains how to read the screen in five parts.

Board

This is the Othello board. You can display legal moves (where you can play), evaluation values, and more. You can make a move by clicking directly on a square.

Game Information

This area displays information related to the board and the AI.

It shows the move number, whose turn it is, the current number of discs, the opening name, the AI's level, and the best line of play the AI is considering.

Graph

This displays a graph showing the game's situation, etc.

The horizontal axis is the number of moves (from 0 to 60), and the vertical axis is the position (disc difference).

The graph is even at 0 in the middle, Black is advantageous when it goes up, and White is advantageous when it goes down.

The value on the vertical axis represents the predicted final disc difference. Specifically, it is the value of "which player will win by how many more discs if both players continue to make the best moves from this position."

The graph is normally set to show the game's situation, but it can also be set to display the cumulative disc loss for both players.

Menu

Performs various operations.

Since there are various functions, this site will introduce the functions according to the menu structure.

Log

Displays the AI's calculation process, etc. The user doesn't need to worry too much about it, but the calculation process is displayed in detail, so it may be easy to understand what calculations are being performed. It may also provide a hint for a solution if there is a problem.

Game

These are the functions that can be accessed from here in the menu.

New Game (Human vs. Human)

Resets the board to the initial state. Since the AI is set not to make moves, humans can proceed to play as is. It is intended to be used when arranging stones or for games between humans.

This function is assigned the shortcut key N.

New Game (Human Black)

Resets the board to the initial state and starts a game with a human as Black and the AI as White. It can be used for playing games, but it is also intended for simply arranging stones.

New Game (Human White)

Resets the board to the initial state and starts a game with the AI as Black and a human as White.

Since the AI makes the first move, a game start button will appear in the upper right corner of the screen. Press it to start the game.

New Self-Play

Resets the board to the initial state and has the AI play against itself.

A game start button will appear in the upper right corner of the screen. Press it to start the game.

Analyze

Analyzes the game.

It recalculates the evaluation value for each move and draws it on the graph. It is easy to see where a bad move was made.

Game Information

You can view information about the game (player name, memo). You cannot edit it on this screen, so if you want to edit it, please press the edit button.

For games loaded with the Load Game function, you can view the player names and memos saved with that game.

If the player name or memo is long, you can scroll with the scroll bar or mouse wheel.

Settings

These are the functions that can be accessed from here in the menu.

Use Book

You can choose whether or not to use the book for AI moves and hint calculations.

A book is a pre-calculated evaluation value for a position.

Make AI Lose Discs

This is a setting that makes the AI play bad moves probabilistically. By turning the checkbox on and off, you can quickly switch between the setting where only the best move is played and the setting where disc loss is allowed.

The setting can be changed with two parameters: "Max Disc Loss per Move" and "Disc Loss Rate". Of the moves made by the AI, disc loss is allowed for Disc Loss Rate% of the moves. At that time, "Max Disc Loss per Move" represents how many disc losses are allowed from the best move. One move is randomly selected from the best move up to the set maximum disc loss.

Level

You can set the AI's level.

The AI's level is defined by three aspects:

Increasing the level will result in deeper mid-game searches, earlier endgame search completion, and a higher probability of search accuracy.

The level set here is used for all of AI moves, hint display, game analysis, and Book learning.

I wrote "Probability of search accuracy" to refer to the probability used in a technique called Multi-ProbCut. Multi-ProbCut omits the search for obvious bad moves. If the probability is low, it omits boldly, and if the probability is high, it omits a little. Note that if it is 100%, the search is not omitted.

The parameters for each level are displayed in the graph area. The figure below is a graph for level 27. From this, you can see that:

This is easy to understand because it is drawn on top of the graph, showing what kind of search the points on the graph are the result of.

Number of Threads

Here, you can set the settings for parallel computing.

If your CPU is $X$ cores and $Y$ threads, I think setting it to a value close to $Y$ will make it faster.

It is automatically set to $Y$ by default.

Hash Level

Egaroucid saves some search results during search. You can decide the size of that storage area. Making it larger will increase memory consumption and increase the possibility of faster searches when performing deep searches.

This storage area consumes the memory shown in the table below. If the available physical memory of the computer you are using is less than the memory consumption, the maximum level you can set will be less than 30.

Hash LevelMemory Consumption (GiB)
250.75
261.5
273.0
286.0
2912
3024

For endgame searches, I think hash level 25 is sufficient up to about 25 moves. In the author's environment, it becomes slightly faster to set the hash level to 27 or higher when it exceeds 30 moves. I don't feel much benefit from hash level 28 or higher, but I've made it possible to set it just in case.

Internally, if the hash level is $X$, a hash table is created that can store $2^X$ positions.

AI Move Settings

You can change the AI's move settings even during a game by using "AI makes a move for Black" and "AI makes a move for White".

If you uncheck both, it will become a human vs. human game from the middle (just arranging stones).

I have assigned shortcut keys B (AI makes a move for Black) and W (AI makes a move for White).

Pause on Pass

This is a setting for whether a human should explicitly press a button to indicate a pass when it is the human's turn to pass in a human vs. AI game. The figure below shows when this mode is on, and it is Black's (human's) turn, but there is no place to put a stone, so a pass button appears.

Force AI Opening

You can force the AI to play a certain opening. When playing against the AI, if there is a particular opening you want to practice, you can register it to practice that opening intensively. By turning the checkbox on and off, you can quickly switch between forcing the opening and not.

The opening to be forced can be freely set from "Force AI Opening > Opening Settings". You can register an opening by pressing the "Add" button, entering your desired opening, and pressing the "Register" button. Note that if the game record is incorrect, the register button will be grayed out and cannot be pressed.

Each opening can be divided into folders with arbitrary names. You can also create folders within folders, and you can move folders and openings to the parent folder.

Pressing the X button in the upper left of a registered opening will delete the registration of that opening. The checkbox on the right allows you to not select that opening without deleting it. You can also edit it with the pencil button on the right.

You can set a "weight" for each opening. If multiple openings are registered in a folder, which opening is chosen is determined probabilistically, but the larger the weight, the higher the probability that that opening will be chosen. Specifically, when a certain board position appears in the registered openings and there are multiple registered moves, if the set of weights of those moves is {W} and the weight of a move $m$ is $w$, then

Probability of choosing $m = \frac{w}{\sum{\{W\}}}$

In addition, the weight attached to a folder represents the probability of choosing a move within that folder.

In other words, in the example of the image below, if the probability of choosing a parallel move is 1, a vertical move is chosen with a probability of 5. A diagonal move is not chosen because it is turned off by the checkbox. Once a vertical or parallel move is determined probabilistically, the same process is repeated within that folder to determine the final move to be chosen.

When tracing a forced opening, "Forcing" is displayed in the information area.

Shortcut Key Settings

Egaroucid has shortcut keys assigned to frequently used functions, and this setting allows you to freely add and change them. You can freely assign shortcut keys to almost all functions of Egaroucid. Functions that are not displayed can be seen by scrolling. You can scroll with the mouse wheel, as well as the up and down buttons and the Page Up and Page Down buttons.

If you want to delete (cancel) a shortcut key that has already been registered, press the delete button.

If you want to change/register a shortcut key, find the corresponding function, press the change button, and press the shortcut key you want to register on the spot. If there is no problem with the registration content, press the assign complete button or press the Enter key to complete the registration. In the image below, we are trying to assign Ctrl+Shift+N to the Game > New Self-Play function.

You cannot register a shortcut key that has already been registered for another function. In that case, the assign complete button cannot be pressed, and it will show which function it is registered for. In the image below, it is shown that the shortcut key A is already assigned to the Game > Analyze function.

The Ctrl, Shift, and Alt keys support simultaneous pressing. In other words, you can assign shortcut keys such as Ctrl+A and Ctrl+Shift+A. Note that the Ctrl, Shift, and Alt keys cannot be registered as shortcut keys by themselves. Also, the Enter key and Esc key cannot be registered as shortcut keys.

For functions with shortcut keys set, the shortcut key is displayed in parentheses in the menu bar. For example, in the image below, the equal key is assigned as a shortcut to the shortcut key setting function, so (=) is displayed in the menu.

Pressing the initial settings button allows you to batch change to the default shortcut key settings. The initial settings are as follows.

In addition, as a basic operation, for all functions, buttons with nuances such as "Import," "Output," "Start," and "OK" can be operated with the Enter key. Buttons with nuances such as "Back" and "Exit this screen" can be operated with the Esc key.

Display

These are the functions that can be accessed from here in the menu.

You can set whether to display legal moves on the board. Legal moves are represented by small light blue dots.

You can choose whether to display the evaluation value (final disc difference) on the legal move squares. It may also be referred to as hint display.

The evaluation value display can be turned on and off with the shortcut key V.

Number of Displays

Also, if calculating the evaluation value for all legal moves is slow, you can select the number of displays. In the image below, 4 is selected, which means that the evaluation values of the top 4 moves are displayed.

If you display the evaluation value on the legal moves, the graph will be automatically updated using that value.

Level

You can turn on/off the display of the level of the AI that is calculating the hints.

Display even on AI's turn

You can see the evaluation value during the AI's thinking even on the AI's turn. Turning this item on may increase the calculation time.

Book Accuracy

Displays the Book accuracy in 6 levels from A to F. It also displays the AI level at which the Book value was registered and the number of Book lines, which are internal information of the Book. For Book accuracy, A is the most reliable, and F is the most incomplete. For the registration level of the Book value, a larger value is more reliable. The larger the number of Book lines, the more reliable the Book value tends to be.

The number of lines in a certain position represents the number of positions registered in the book among the positions that can be reached by making a move from that position. When the number becomes large, it is displayed with K (1000 times) or M (1000000 times).

When learning the Book, I think it is good to prioritize learning unreliable moves.

Note that if this display is turned on, the word "book" will not be displayed on the squares due to space constraints.

Book accuracy is determined by the state of the Book terminal when each player continues to make moves with a disc loss of less than 2. Please refer to the table below for details.

AccuracyStateJudgment Criteria
AThe value is almost perfectAll terminals are perfect reads
BHigh reliabilityOne or more terminals are perfect reads, and the other terminals are read to the end of the game
CAccurateAll terminals are read to the end of the game
DReasonably accurateOne or more terminals are perfect reads, and there are other terminals that have not been read to the end
EFairly accurateOne or more terminals are read to the end of the game
FThe value is suspiciousThere is no position read to the end of the game at the terminal

From Egaroucid 7.3.0 onwards, accuracy A is further evaluated in detail from AA to AF. AA to AF are judged by the state of the Book terminal when moves with a disc loss of 2 or less are continued.

Colored Hints

From version 7.8.0, we have prepared two color schemes for the hint numbers. In both color schemes, the best move is displayed in bold.

Default color scheme:

AccuracyValueColor
Book/Perfect Read+Cyan
Book/Perfect Read0White
Book/Perfect Read-Light Green
Mid-game Search/Probabilistic Endgame Search+Yellow
Mid-game Search/Probabilistic Endgame Search0Yellow
Mid-game Search/Probabilistic Endgame Search-Light Green

Color scheme up to 7.7.0

ValueColor
BestCyan
Other than bestWhite

Simple Hint Display

By turning off the display of the level and Book accuracy, and further turning off the display of the Umigame number, you will enter "simple mode" where the evaluation value is displayed large in the center of the board. In this mode, a check mark is placed in the upper right corner of the square only when the value becomes a perfect read.

For positions registered in the book, the Umigame number is calculated and displayed.

In the lower right of the square, the Umigame numbers for Black and White are displayed.

The Umigame number display can be turned on and off with the shortcut key U.

You can also set the depth to refer to the book when calculating the Umigame number. The default is 60 (refer as long as there is a book).

When you hover the mouse over a square, it will show you the name of the opening.

The opening name is written in the Game Information, but that is "what opening has been played so far." On the other hand, what is displayed by this function is "what opening will it be if you play this move."

When you go back on the board, such as when reviewing a game, the move that was played immediately after is displayed faintly.

Note that if you select "Display on Legal Moves > Next Move > Change Display" here, you can change the display to a purple square.

Display on Discs > Last Move

You can display the last move made with a small red circle.

Display on Discs > Stable Discs

Displays the stable discs on the board with yellow circles. Note that this cannot calculate all stable discs.

The implementation of this function reuses the part where stable discs are calculated for search within the AI.

Display on Discs > Move Order

Displays the order of moves as 1, 2, 3 from the first move. It is useful when you want to display the board and the game record together. There are two display methods: "board format" which displays the board after the move, and "game record format" which displays the turn of the move.

As an example, the F.A.T. draw is as follows.

Display in Information Area > Opening

You can display the name of the opening that led to the current position in the information area.

Display in Information Area > Best Line

You can display the best line of play calculated by the AI in the information area. You can freely decide the length to display from 2 to 40 moves. Turning this setting on may increase the AI's calculation time.

Laser Pointer

Makes the mouse cursor look like a laser pointer. This is useful when you want to make the mouse cursor stand out, such as during streaming.

Display in Graph Area

You can display information such as the AI's judgment of the situation as a graph.

The graph is automatically updated when the AI makes a move, when hints are displayed, and when the game is analyzed.

There are two types of graphs that can be displayed.

Display in Graph Area > Graph > Evaluation Value Graph

The evaluation value graph is a graph that displays the evaluation value calculated by the AI. When the graph goes up, Black is advantageous, and when it goes down, White is advantageous.

If you start over from the middle, it will be displayed as a branch with a black line.

Display in Graph Area > Graph > Cumulative Disc Loss Graph

The cumulative disc loss graph displays the cumulative value of disc loss (how far the played move is from the best move) from the first move for each of Black and White. The black line represents the cumulative disc loss for Black, and the white line represents the cumulative disc loss for White. If you start over from the middle, the branch will be displayed as a dark/light gray line.

The graph starts at 0 (the top) and gradually goes down. A place where the graph drops significantly is where a bad move was played. A position where the graph drops sharply can be seen as a difficult position for the player whose turn it is. Also, if the graph can be kept at the top for a long time, it means that good moves were played throughout the game.

Show/Hide Graph

You can choose to show or hide the graph. If you hide it, the graph will be drawn with only light gray dots, as shown in the image. These dots are only at 0 and do not go up or down.

Display in Graph Area > Endgame Disc Loss

Displays the disc loss for each player in the last 20 moves of the endgame. This feature was added in version 7.8.0.

AI's Focus

A function that visualizes which disc is how advantageous for which player. When this function is turned on, some squares will be colored. Orange represents a disc that is advantageous for Black, and blue represents a disc that is advantageous for White. The darker the color, the greater the degree of advantage. Furthermore, when you hover the mouse over a legal move, the good places for that turn among the discs that will be flipped and not flipped by that move are enclosed in a blue square, and the bad places are enclosed in a red square. At that time, a solid square represents a disc that is actually flipped, and a dotted square represents a disc that is not actually flipped.

As an example, in the image below, the upper left is advantageous for Black. This is because White has played on the b2 square, and Black can aim for the upper left corner, and also because White cannot play on the top side. In contrast, the shape on the left side is advantageous for White. Also, in the image, when hovering over h3, the diagonal line is displayed with a red square. This means that if Black plays on h3, the diagonal line will be flipped, which is not good. In fact, due to the d7 disc that is flipped by h3, Black can no longer play on the bottom side. Also, by flipping the g4 and f5 discs, a good move of g5 is generated for White.

Log

You can switch the log display on and off.

During the AI's calculation, the evaluation value appears in the log, so if you want to play seriously, we recommend hiding the log along with the graph.

Change Color Tone

You can change the color tone of the graph. Please use this if the graph is difficult to see due to color vision characteristics.

The creator's intention was to make it easy to see for those with type 2 dichromacy and type 3 dichromacy. If you have any ideas about colors, please contact us.

Operate

These are the functions that can be accessed from here in the menu.

Make AI Play One Move

You can have the AI play one move from the current position. G is assigned as a shortcut key.

Forward/Backward

You can go back and forth between positions. If you can't go back/forward any further, nothing will happen.

In addition, as shortcut keys, you can simply press the right arrow key or the D key to advance the position. You can also press the left arrow key or the A key to go back.

Furthermore, you can also go back and forth between positions by dragging the white vertical line displayed on the graph to the left and right.

Undo

You can go back to the previous position and at the same time undo the last move. You can use it when you want to "undo" during a game or when you want to change a move when arranging stones.

In addition, BackSpace is assigned as a shortcut key.

Save This Branch

When you are arranging stones in the human vs. human game setting, if you go back to a position once and play a different move than last time, the evaluation value will be displayed on the graph with a black line (figure below). At this time, the black line is the branch side, and the white line is the main line.

This function is assigned the shortcut key L.

The moves on the branch side will be automatically erased if you go back to a position before the branch start position. However, if you press the "Save This Branch" button, you can make the moves on the branch side the main line and erase the moves that were the main line. The graph after saving the branch in the state of the above figure is the figure below.

Generate Random Position

Automatically generates a random mid-game position. I implemented it for the purpose of studying Othello, such as generating a position without hints and judging the situation of that position.

Pressing the generate button will automatically generate a mid-game position. By changing the number of generation moves, you can select what move number of the position to generate. You can also set the score range of the generated position. In the image below, it is set to generate a position in the range of +21 to +38 for White, that is, -38 to -21 for Black, after 18 moves have been played. However, since the board is generated so that it is roughly within the score range in the mid-game search, it cannot be guaranteed that the generated board will be strictly within the score range.

Ctrl+R is assigned as a shortcut key for random position generation.

How to Choose Moves

In this function, for each move, a move with a disc loss of 4 or less is chosen with a probability of 68%, and a move with a disc loss of 8 or less is chosen with a probability of 95%, so that unexpected positions are unlikely to appear.

The specific way of choosing a move is as follows.

First, for each move up to the specified number of moves - 2, a move is chosen by the following calculation.

Let $\mathrm{randdst_{0,4}()}$ be a function that randomly outputs a number according to a normal distribution with a mean of 0 and a standard deviation of 4.

$E=\mathrm{round\left(\mathrm{randdst_{0,4}()}\right)}$

to determine the allowable error $E$ as an integer.

For a given position, let the set of evaluation values be $A=\{(v,m)\}$. Here, $v$ is the evaluation value (from the turn player's point of view), and $m$ is the move.

$B=\left\{(v,m)\in A\middle|v\geq v_{\mathrm{max}}-E\right\}$

Create $B$ defined by and select moves with a disc loss of $E$ or less. Note that $v_{\mathrm{max}}$ is the evaluation value of the best move.

A move is randomly selected from this $B$.

Note that since there is no need to choose a strong move here, the evaluation value of the move is the book registered value or the evaluation value of a 2-ply search.

For the last two moves up to the specified number of moves, if there is a move that falls within the specified score range, that move is chosen, and if not, a move close to the score range is chosen.

Transform

You can transform the position symmetrically in the following 7 ways.

The black line is the line from h1 to a8 (the line where the black discs are lined up in the initial position), and the white line is the line from a1 to h8 (the line where the white discs are lined up in the initial position).

AI Operation > Stop Calculation

If the AI's calculation does not finish, you can force it to stop by pressing this button.

AI Operation > Clear Cache

The AI automatically saves the evaluation values of some positions during search to speed up subsequent searches. This erases all saved positions.

Input/Output

These are the functions that can be accessed from here in the menu.

Input > Input from Clipboard without Specifying Format

This function loads game information in text format. If you copy a character string to the clipboard and then press this button, the game will be immediately reflected on the screen without a screen transition. By default, Ctrl+V is assigned as this shortcut key. This function is the same as "Input text without specifying format," but you can input more quickly with this one.

Egaroucid supports five types of text format input: game record, board format, GGF (Generic Game Format), Othello Quest format, and a general-purpose board + game record format. Egaroucid automatically determines these formats. Please refer to the following for each supported format.

Input > Input text without specifying format

This function is for writing game information in a text box and having Egaroucid read it. The input format is automatically determined by Egaroucid. As shortcut keys for each button, you can perform the "Import" operation with Enter and the "Back" operation with Esc.

Egaroucid supports five types of text format input: game record, board format, GGF (Generic Game Format), Othello Quest format, and a general-purpose board + game record format. Egaroucid automatically determines these formats. The details of each format are as follows.

Game Record Format: You can set the position by inputting the game record in f5D6 format. Case and spaces are ignored. If there is a pass, you can omit the pass or use "PA", "PS", "pa", or "ps" as a character string representing a pass. However, you cannot pass in a position where you cannot pass. Furthermore, you can also input the game record from the position set on the main screen as the start. Egaroucid determines whether to start from the initial position or the set position.

Example of game record format: f5d6c3d3c4

Board Format: Input the board state with the squares arranged in a single line from a1, b1, c1... to h8. Empty squares are represented as "." or "-", black discs as "X", "x", "B", "b", "0", or "*". and white discs as "O", "o", "W", "w", or "1". They can be mixed, and spaces and line breaks can be included. Finally, enter a character representing black or white for the turn. In the figure below, the tiger opening (f5d6c3d3c4) is input as an example. The input character string is

Example of board format: ------------------XO------XXX------OXX-----O-------------------- O

GGF (Generic Game Format): A format that can describe various games, not just Othello. Egaroucid also automatically reads player data.

Example of GGF: (;GM[Othello]PC[]PB[b_player]PW[w_player]RE[-32]TI[0]TY[8]BO[8 ---------------------------O*------*O--------------------------- *]B[E6]W[F6]B[F5]W[D6]B[C3]W[G4]B[C6]W[F4]B[H4]W[F3]B[G5]W[E3]B[D3]W[C4]B[C5]W[G6]B[H6]W[H3]B[G3]W[E2]B[E1]W[D7]B[D8]W[B3]B[B5]W[F7]B[F8]W[D2]B[D1]W[C7]B[A3]W[H5]B[H2]W[C8]B[F2]W[E8]B[B8]W[E7]B[B4]W[A4]B[A6]W[A5]B[B6]W[H7]B[H8]W[G8]B[G7]W[A8]B[PA]W[A7]B[PA]W[B7]B[PA]W[A2]B[B2]W[G2]B[F1]W[H1]B[PA]W[A1]B[C2]W[G1]B[B1]W[C1];)

Othello Quest Format: The save format used as internal data in Othello Quest. Egaroucid also automatically reads player data.

Example of Othello Quest format: {"name":"player","args":[{"attrs":["opp:human","opp:strong","opening:vs-DiagonalOpening"],"id":"id","gtype":"reversi1","players":[{"id":"b_player_id","name":"b_player","oldR":1500.0,"newR":1500.0,"oldD":0,"newD":0},{"id":"w_player_id","name":"w_player","oldR":1500.0,"newR":1500.0,"oldD":1,"newD":1}],"position":{"moves":[{"t":1,"m":"e6"},{"t":218,"m":"f6"},{"t":639,"m":"f5"},{"t":467,"m":"d6"},{"t":685,"m":"c3"},{"t":884,"m":"g4"},{"t":687,"m":"c6"},{"t":705,"m":"f4"},{"t":1265,"m":"h4"},{"t":1013,"m":"f3"},{"t":2397,"m":"g5"}]},"tcb":60000,"created":"2024-12-24T00:00:00.000Z","finished":false}]}

General-purpose board + game record format: A format consisting of board information (optional) and game record information. It supports the formats of various software. The game record part automatically ignores extra character strings, so it can be read even if character strings such as "1." are mixed in.

Example of board + game record: ---------------------------OX------OXX-----O-------------------- X c3d3c4f4f6f3

For example, you can also input the game record that can be copied in PlayOK: F5 f4 2. F3 g4 3. H3 f6 4. G5 g6 5. E6 h6 6. H5 e7 7. E3 d2 8. F7 f8 9. E2 c5 10. B5 d6 11. C4 c3 12. D7 b3 13. C6 b6 14. D3 c7 15. D8 c8 16. E8 b4 17. C1 c2 18. G3 b7

Input > Edit Board

You can manually set the state of the discs on the board. Select the "Color" checkbox on the center right of the screen and click on the board on the left to place the discs as you like. Finally, select the turn as black or white and press "Import" to reflect it. The turn is the same as the turn before editing by default.

As shortcut keys, I have assigned the B key for black, the W key for white, and the E key for empty squares to change the color to be placed. You can also import with Enter and go back with Esc.

Input > Load Game

Egaroucid can save a game in its own format. This is the function to load that game.

The save date and time, players, result, and memo are displayed together, so you can load it by double-clicking. You can also delete the game by pressing the X mark in the upper left.

If there are many games, you can scroll. In addition to the mouse wheel, you can also scroll with the up and down buttons and the Page Up and Page Down buttons. Folder division and sorting by drag and drop are possible. Furthermore, you can edit the game file and folder names on the spot from the pencil button. An empty folder will have an X button in the upper left, and you can delete it, but you cannot delete a file that contains something. In that case, you can delete it by dragging and dropping what's inside or deleting it.

If the player name or memo is long, it will be omitted as appropriate. Also, the name of the winning player is displayed in red, and the name of the losing player is displayed in blue. A draw is orange. For games that are not saved to the end, the score is displayed as ??-??, and the background color of the name is not applied.

Input > Input Bitboard

This is a function for Othello AI developers.

Egaroucid uses a bitboard (two 64-bit unsigned integers) to represent the board internally. You can manually input this information as is.

Please input each of the turn side and the opponent side as a hexadecimal number and select whether it is black's turn or white's turn. In the figure below, the tiger opening is input.

You don't have to add "0x". Also, you can omit the leading zeros if they continue. Both uppercase and lowercase alphabets are supported.

You can switch the input area with the Tab key.

This is a function corresponding to Output Bitboard.

In Egaroucid, the least significant bit is h8, and the most significant bit is a1. If you want to reverse it, please rotate the board 180 degrees after importing.

Output > Copy Game Record up to Current Position

You can easily copy the game record up to the position displayed in the board area.

This is a function corresponding to Input Game Record.

Ctrl+C is assigned as a shortcut.

You can copy a game record in this format.

f5d6c3d3c4f4f6f3e6e7d7g6f8f7g5h6h4g4h3h5h7

Output > Copy Board as String

You can copy the position displayed in the board area as a string.

This is a function corresponding to Input Board.

You can copy board information in this format.

------------------XO-O-X--XXOOOX---XXXOX---XXXXX---XXO-X-----X-- O

Output > Screenshot

You can take a screenshot of the board. In addition to copying the image to the clipboard, the image is saved with the date and time + game record as the file name. The default save location is the Egaroucid/screenshots folder in the Documents folder. The save location can be freely changed in "Output > Screenshot > Change Save Location".

The resolution of the image depends on the size of the Egaroucid screen. If you want a high-resolution image, please maximize the screen before taking a screenshot.

Output > Edit Board Image

You can freely mark the Othello board and save the image. It is intended for use in Othello commentary booklets, etc.

Select a mark and freely click on stones and squares.

You cannot change the placement of stones on this screen, so please create the stone placement by inputting a game record or editing the board before using this function.

You can also convert to a monochrome image so that it looks beautiful when printed in black and white.

"Save Image" copies the image to the clipboard and saves the image. The default save destination is the Egaroucid/screenshots folder in the Documents folder, and the file name is the date and time + game record. If you want to change the save location, please change it from "Output > Screenshot > Change Save Location".

I assigned Esc as a shortcut key for "Back".

The resolution of the image depends on the size of the Egaroucid screen. If you want a high-resolution image, please maximize the screen before saving the image.

Output > Save Game

Saves the game in Egaroucid's original format. The final result and graph information are also automatically saved.

Write the names and memos of the black and white players and save with the "Save Main Line" button. In addition, "Save up to Set Position" allows you to save information up to the position displayed in the board area. In other words, if you go back to a position and then save the game with this button, it will be saved up to the point where you went back.

You can copy and paste with Ctrl+V. As shortcut keys, you can switch the input area with the Tab key and perform the "Back" operation with Esc. Cursor movement is supported from version 6.5.2. There is a limit of 10,000 characters for memo input.

From version 7.7.0, you can now create folders arbitrarily. Select the save destination folder and press the "Save Here" button. You can move folders by double-clicking. You can also move folders and game information to any folder by drag and drop.

If you want to load a game, please check the list from Load Game and load it.

The data is saved in the Egaroucid/games folder in the Documents folder.

Output > Output Bitboard

This is a function for Othello AI developers.

Egaroucid uses a bitboard (two 64-bit unsigned integers) to represent the board internally. You can output this information as is.

Two 64-bit unsigned integers are copied as hexadecimal numbers separated by tabs. You can copy in two ways.

As an example, for the tiger opening (f5d6c3d3c4, white's turn), the following character string is copied.

Turn/Opponent: 0x0000100010100000 0x000020380c000000

Black/White: 0x000020380c000000 0x0000100010100000

In Egaroucid, the least significant bit is h8, and the most significant bit is a1.

This is a function corresponding to Input Bitboard.

Book

This is a function for advanced users. For Book-related functions, I have written here about usage examples and format details, so please read it together. You can access it from here in the menu.

Book Operation Settings

Egaroucid has functions to automatically operate the book (automatic learning, automatic reduction, etc.). In Egaroucid, the operation is set with four items: depth, error per move, accumulated error, and leaf error.

Depth $D$ simply represents the depth of the book. It operates on positions up to a maximum of $D$ moves from the first move.

Error per move $E_1$ means that it searches up to $E_1$ disc loss from the best move in that position.

Accumulated error $E_{\mathrm{sum}}$ means that it only searches for moves where the disc loss is $E_{\mathrm{sum}}$ or less, adding up the disc loss from the position where the book learning started.

Leaf error $E_{\mathrm{leaf}}$ means that it only searches for leaves that have a disc loss of $E_{\mathrm{leaf}}$ or less with respect to the value of the position already registered in the book.

Note that this setting has a checkbox. If you uncheck it, that item will be calculated as unlimited (displayed as Inf).

Book Operation > Edit with Right Click

You can manually correct the book value or add a position to the book by right-clicking a legal move, typing in a number (ten-key is also supported), and pressing Enter.

Right-clicking a legal move enters book manual editing mode. You can exit this mode by right-clicking the same square again or pressing the Esc key. If you manually input a value, the level at which the book value was calculated is recorded as "S", which is higher than all AI settings.

The edited book is automatically saved when Egaroucid is closed. The default save location is Egaroucid/book.egbk3 in the Documents folder.

Book Operation > Book Learning

This is the automatic book learning button.

Create the starting position where you want to start learning, check the AI level to use and the book learning settings, and then press this button to go to the confirmation screen. If the starting position is not a position registered in the book, it will automatically register the book up to the starting position using the value last registered in the book in the game record leading to the starting position.

Press "Start" here to start learning. After a while, "Completed" will appear, and you can go back.

In addition, if you want to force quit during learning, a "Stop Learning" button will appear, so please press it. To prevent unforeseen accidents during learning, the X button in the upper right corner of the window is disabled.

The edited book is automatically saved when Egaroucid is closed. The default save location is Egaroucid/book.egbk3 in the Documents folder.

This function became almost exactly the same implementation as Edax's Book deviate in version 7.3.0. Before that, it was implemented to have more registered positions than Edax.

The book has a concept called a leaf, which means "this is the best-looking move among the moves not registered in the book." The book learning function of Egaroucid is implemented by repeating the work of registering this leaf in the book as long as the conditions are met. Therefore, if the evaluation value and move of the leaf are too absurd, learning will not go well. In such a case, please try the leaf recalculation function.

Book Operation > Book Learning with Specified Game Record

This function was added in version 7.1.0. In the Book learning above, you had to set the starting position for learning yourself, but with this function, you can set multiple starting positions for learning as a game record and learn them in order. If the starting position is not a position registered in the book, it will automatically register the book up to the starting position using the value last registered in the book in the game record leading to the starting position.

Please input the game record separated by newlines as shown in the figure below. At this time, there is a limit of 10,000 characters for the entire text. You can also create a separate text file with the game records listed separated by newlines and drag and drop it. In this case, there is no character limit. When inputting a large amount of game records, we recommend preparing an external text file from the viewpoint of character limit and ease of dealing with errors when they occur.

Pressing the start button will start learning. At this time, if you press the "Start" button in the middle, normal book learning will start, but if you press the "Start with specified number of loops" on the right, learning will be performed for the specified number of loops. This number of loops is an index of how many times the book learning process is performed. If nothing is specified (in normal learning), it will be infinite, but by specifying it, you can shorten the learning time. However, there is a possibility that the number of mistakes in the book will increase. I feel that 15 is usually good, so I added this option.

When you press the start button, it first checks for mistakes in the game record, and an error will be issued if there is a mistake. The line where the error occurred will be displayed, so press the back button and correct the game record.

Book Operation > Add Current Game Record to Book

Adds the game record up to the current position to the Book up to the specified depth. At that time, the best move is also additionally registered for each position. This is a function similar to Book Store in Edax.

Book Operation > Fix Book

A function that recalculates the connections of the positions registered in the book, calculates the book value from the end in a negamax manner, and deletes the positions that are isolated from the initial position. In addition, this function also updates the line number information of the book at the same time.

The corrected book is automatically saved when Egaroucid is closed.

The default save location is Egaroucid/book.egbk3 in the Documents folder.

Until version 7.7.0, there was a similar function for Edax-compliant Book modification, but this was abolished in 7.8.0. Instead, the behavior when loading an Edax format Book was changed so that the same process as Edax's Book Fix is performed with normal Book modification. However, perfect compatibility is not guaranteed.

Book Operation > Reduce Book

According to the items set in the book settings, for the positions ahead of the specified position, if a move is too bad or if a position beyond the set depth is registered in the book, the registration is canceled.

The corrected book is automatically saved when Egaroucid is closed.

The default save location is Egaroucid/book.egbk3 in the Documents folder.

Book Operation > Recalculate Leaves

As I wrote a little in book learning, the concept of a leaf, which is held as internal information of the book, is very important in the book learning function. Depending on the book (especially when importing past egbk2 or egbk formats), the calculation of the leaves may not be going well. In such a case, you can use this function to calculate the evaluation value and move of the leaf with high accuracy.

In this function, the AI level that can be set in Settings>Level and each item that can be set in the book settings item are used.

Similar to automatic book learning, it generates a position registered in the book that satisfies the conditions of error per move and total error of the move sequence, and calculates the leaf of that position at the set AI level.

Increasing the level or increasing the allowable error will greatly increase the calculation time.

Book Operation > Recalculate Line Numbers

Recalculates the number of lines in the Book (how many positions are registered ahead of that position). If the Book Accuracy is displayed, you can see that the value has been updated.

File Operation > Load Book

You can load Books in various formats. The supported formats are Egaroucid format (.egbk3, .egbk2, .egbk) and Edax format (.dat). If the extension is not one of these, the load button cannot be pressed.

The loaded Book is converted to .egbk3 format internally. For .egbk format, you need to manually set the AI level when loading due to compatibility issues.

In version 7.8.0, some of the processing when loading an Edax format Book was changed.

File Operation > Export Book

You can export the currently used Book to a file in Egaroucid format or Edax format. Note that Egaroucid automatically saves the Book when it is changed upon exit, but this is a separate function to export the Book to an arbitrary location.

As internal information of the Book, it contains information for each position about what level of AI was used to search that position. Pressing the "Export" button will export at the level currently held in the app, but pressing "Export at specified level" will export at the level set in the lower bar. Pressing the Enter key has the same behavior as pressing the "Export" button.

Please enter the path with the extension .egbk3 for Egaroucid format and .dat for Edax format. It is designed so that it cannot be exported with any other extension.

Conversion to Edax format does not guarantee perfect compatibility. In addition, we are not responsible for any problems caused by conversion to Edax format.

In version 7.8.0, some of the processing when exporting an Edax format Book was changed.

File Operation > Merge Book

You can merge two books. For the book you want to merge, please enter the path or drag and drop it.

The new book is merged with the book loaded at Egaroucid startup, and if there is a conflict, it is overwritten with the one with the higher AI level that calculated the Book value. If the levels are the same, it is overwritten with the new one.

You can also use Egaroucid format books (.egbk3) and Edax format books (.dat). For older Egaroucid format books, please use the Book loading function to convert them to .egbk3 format before using this function.

Conversion from Edax format does not guarantee perfect compatibility. In addition, we are not responsible for any problems caused by conversion from Edax format.

File Operation > Reference Book

You can change the book to be loaded at startup. Please enter the path or drag and drop it.

The default is Egaroucid/book.egbk3 in the Documents folder.

Book Information

Displays information about the positions registered in the Book. The left half displays the number of registered positions for each AI level, and the right half displays the number of registered positions for each number of moves played. This function is a simple implementation, so it is a little difficult to see.

Help

How to use

This is a button that takes you to this page.

Website

This is a button that takes you to the top page of the Egaroucid official website.

Bug Report

This is a button that takes you to a Google Form where you can report bugs and request new features.

Check for Updates

Checks if a new version is available. If there is a new version, you can open the download page by pressing the download button.

Automatic Update Check

You can choose whether to automatically check for updates when Egaroucid is started. Egaroucid is developed with the highest possible compatibility with past versions, and various bugs are fixed in the latest version, so we always recommend updating to the latest version.

License

You can display the license of Egaroucid and the licenses of the libraries used in Egaroucid together.

Language

You can change the language. It supports Japanese, English, and Chinese (Simplified and Traditional (Taiwan)). Chinese (both Simplified and Traditional) is a user translation.

By creating a language pack with a json file, it should be possible to support other languages (as long as the font supports it...). The language pack is language_name.json in resources/languages in the Egaroucid installation folder. If you add a language pack here, write the English name of the language and the display name of the language in languages.json, and create an image of the language name to be displayed, it will be reflected in Egaroucid.

If you translate it yourself, please contact us and we will officially adopt that translation. Please do not hesitate to contact us.