Ultimate Tic Tac Toe
You probably know the original Tic Tac Toe game. If not: it's a simple game where one player is the X and the other player is the O, playing on a field of 3x3 squares. The players take turns picking one of the squares that is not occupied. When one of the players gets three squares in a row, horizontal, vertical, or diagonal, that player wins.
Now Ultimate Tic Tac Toe is quite similar, except each square in the field is actually small game of Tic Tac Toe. Only if you win the small game, you get the square of the big game. The goal again is to get three (big) squares in a row. Further rules will be explained below. This game requires quite a bit of strategy because you can influence which of the big squares your opponent has to play in. We're very excited to see how good bots can get in this game, so start coding and show us what your bot can do! If you have any questions, suggestions or if you've found a bug, please post on the discussion page.
Above was explained how to get three of the big squares in a row, but there is a catch. The most important rule of Ultimate Tic Tac Toe is the following: whichever small square your opponent picks, is the next big square you must play in. So if your opponent moves first and picks the middle small square in the top-right big square, you must pick a small square of the middle big square. This might be a bit confusing so an example is shown to the right as well, where your color is red and the opponent has just placed the blue X.
So what happens if your opponent sends you to a big square that is already won (or a draw)? Then you are in luck! You may place your next move on any empty square that is not in a big square that is already won. So always keep this in mind when doing your own moves.
The final rule for this game is what happens when one of the small games ends in a draw. If this is the case, the big square is not owned by any of the players.
Winning the game
As also explained in the first section, the game is won when 3 small Tic Tac Toe games are won in a row, either horizontal, vertical, or diagonal. To clarify this, an example of a game won by the blue player is shown on the right.It's possible that the Ultimate Tic Tac Toe game ends in a draw. If there are no three big squares in a row that are owned by the same player, it's a draw.
The timeout settings are the same as for our newer competitions. You get an initial maximally filled timebank of 10 seconds and each time a move is requested 500ms will be added to your timebank. The engine will give the amount of time left in your timebank each time it asks your bot for a move. If your bot does not respond before the timeout, the engine will ask again for a move. If it doesn't respond twice, your bot will be shut down. Bots that do not output anything at all, a.k.a. fail their input test, can not be placed in the ranked matches.
When uploading your bot, you can upload a
file. Make sure you either put the source files directly in the compressed folder, or in their respective class folders. So do not put a folder with the source files in the compressed folder, or your bot won't compile.