-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is the one-stop shop for information about Omnipede, here are some important things:
There are 2 ways to download Omnipede
- Right now there are only windows releases, but that may change in the future
- Releases are easier to download
- Downloading the source code allows you to mess with it
- Download the latest release
- You only need
omnipede-win-x64-v[version].zip
oromnipede-win-x86-v[version].zip
- You only need
- Unzip the file
- Run omnipede.exe
- Download the source code
- The zip file can be found in the latest release
- Unzip the file
- Download .NET 7.0
- Run omnipede.exe
- (optional) Open the folder in VScode if you want to mess with the source code
If everything is working the output should look something like this:
Loading Config:
maxDepth: 2
maxTimeMiliseconds: 15000
Ply:
startX: 5
startY: 1
endX: 4
endY: 0
pieceToMoveIndex: 0
hasMoved: False
piecesToAdd: 0
piecesToRemove: 0
startBinary: 10000000000000110
endBinary: 10000000000000110
Ply Value: 0
Depth: 1
Ply:
startX: 5
startY: 1
endX: 4
endY: 0
pieceToMoveIndex: 0
hasMoved: False
piecesToAdd: 0
piecesToRemove: 0
startBinary: 10000000000000110
endBinary: 10000000000000110
Ply Value: 0
Depth: 2
00:00:00.0588891 - Config Loading Time
00:00:00.0282412 - Game State Decoding Time
00:00:00.0426284 - Search Time
00:00:00.1297594 - Total Run Time
On the infinite chess website, at the top of the screen there is a box that displays the cords of your mouse. the move the engine wants you to make is moving the piece form the startX
and startY
to endX
and endY
You will notice that there are multiple plies shown; the most recent one is the one that it thinks should be played. the reason for this is that the program first searches at depth: 1
then depth: 2
until it runs out of time or it reaches the max depth.
Loading Config:
maxDepth: 2
maxTimeMiliseconds: 15000
This part of the output displays the current config options.
Ply:
startX: 5
startY: 1
endX: 4
endY: 0
pieceToMoveIndex: 0
hasMoved: False
piecesToAdd: 0
piecesToRemove: 0
startBinary: 10000000000000110
endBinary: 10000000000000110
Ply Value: 0
Depth: 2
This part of the output displays information about the ply it thinks should be played.
startX
is the x coordinate of the piece it wants you to move
startY
is the y coordinate of the piece it wants you to move
endX
is the x coordinate of the square it wants you to move the piece to
endY
is the y coordinate of the square it wants you to move the piece to
Ply Value
is how good it thinks the move is, positive value means white is winning, negative value means black is winning.
Depth
is the depth of the search in plies
00:00:00.0588891 - Config Loading Time
00:00:00.0282412 - Game State Decoding Time
00:00:00.0426284 - Search Time
00:00:00.1297594 - Total Run Time
This part of the output displays how long the various parts of the program took.
- In the pause menu press the
Copy Game
button - Open
omnipede-input.json
in any text editor - Delete everything that is already there
- Paste in the game
Quick Tip: in most text editors, you can combine steps 3 and 4 by pressing Ctrl
+A
then Ctrl
+V
to quickly select everything and replace it with the contents of your clipboard
{"maxDepth":2,"maxTimeMiliseconds":15000}
-
maxDepth
- Default value: 2
- Unit: plies
- How far the program will try and search into the future
-
maxTimeMiliseconds
- Default value: 15000
- Unit: milliseconds
- The time at which the program will automatically stop the search
- After the search is canceled it may take extra time to stop the program
- if you have a max depth of over 100 it may take awhile to cancel every search
- Because I haven't made infinite sliding movement work, when the slide limit is set to Infinite, it will set it's sliding limit to 50
- It doesn't fully grasp the concept of check, it knows that if a king gets taken, then the game ends and it's really bad for the player who lost their king, so it should follow check rules if depth>=2
- Draws probably cause problems (I haven't tested them yet)