Learn all about this game.
Hexidor is a custom two-player strategy game inspired on the popular board game Quoridor, played on a hexagonal field. We tried to keep it as simple and minimalistic as possible. Here's everything you need to know.
The objective of Hexidor is to be the first player to reach the opposite side of the board, while slowing down your opponent by placing walls in their path. That's it.

You can take a look at the livestream here or the replay videos of past games to get an idea of how the gameplay of Hexidor looks.
You can also play around with your bots in the web editor!
Below, you'll find some more detailed information about various aspects of the game. You don't necessarily need to know these in order to start writing your bot, but they will be useful if you plan on optimizing your algorithm to get the most out of your bot.
getPlayerId(), isMyTurn(), getTurnNumber(), getTick(), getStartInfo(): 1 tickrelToAbs(), directionRelativeToMe(), getStepsToGoal(), absToRel(), directionMeToRel(): 5 tickscanPlaceWall(), getWalls(), getTimeLeft(), canPlaceWallRel(): 10 ticksgetTileAbs(), getTileRel(), getWallAbs(), canMove(), canMoveRel(): 20 ticksgetPlayerInfo(): 50 ticksgetSurroundings(), getSurroundingsRel(): 100 ticksmakeMove(), placeWall(), moveInDirection(), moveInDirectionRel(), placeWallRel(): 1,000 ticksEvery tile has fixed axial coordinates (q, r), with (0, 0) at the center of the field. The q axis runs to the lower right (30 degrees below horizontal: the down-right direction); the r axis runs straight down. The third cube coordinate s is implied by s = -q - r and runs straight up. A tile is on the board when |q|, |r|, |s| <= 4. Functions like makeMove, getTileAbs and placeWall work in this frame. Your goal is a fixed column: q = -4 for player 0, q = 4 for player 1.
The six neighbours of a tile are numbered 0-5: 0 up, 1 up right, 2 down right, 3 down, 4 down left, 5 up left. These are the dir arguments of canMove, moveInDirection and getWallAbs.
Your bot also has a facing: the direction of your last move. In the relative frame, your bot's tile is the origin (0, 0), the q axis points to your right, and the r axis to your back left. The frame rotates with your facing: after a turn, the coordinates of every tile around you change, but “straight ahead” stays the same. The ...Rel functions (getTileRel, canMoveRel, placeWallRel, ...) all take this frame, as does relToAbs/ absToRel for converting. Relative directions relDir 0-5 count clockwise from straight ahead: 0 forward, 1 forward right, 2 backward right, 3 backward, 4 backward left, 5 forward left.
Hover a tile to inspect it. Click a tile to move the bot there; the six dark arrows set its facing. In Relative to bot mode every tile shows its (q, r) in the bot's own frame (the one used by getTileRel, placeWallRel, ...). The white numbers on the six neighbouring tiles are their relDir for canMoveRel / moveInDirectionRel: 0 forward, 1 forward right, 2 backward right, 3 backward, 4 backward left, 5 forward left.
Here you find an extended description of the game-specific functions available in Hexidor, grouped by what they are for.