Ultimate Tic-Tac-Toe

This is a meta version of Tic-Tac-Toe with 9 simultaneous games playing on a large grid of tic-tac-toe boards. The wikipedia article is a good intro.

There are 9 smaller tic-tac-toe boards, in a 3×3 grid. So there's one large board, with a smaller board in the places where you would normally put an X or O. Here's the trick: You must play in the smaller board dictated by your opponent's last move.

Since X played in the top-right corner of the local board, O is forced to play their next move in the top-right local board.

The first move may be placed anywhere. After that, moves must be played in the small board dictacted by the previous move.

When someone wins one of the small boards, mark the whole board with the winner.

The board of an incomplete ultimate tic-tac-toe game (the large “X”s and “O”s representing local board games which have been won by that player). The most recent move was O playing in the middle-left square of the top-middle grid, forcing X to play their next move in the middle-left grid.

If your opponent's last move directs you to play in a small board that has already been won by someone, then you may play in any small board still in play.

The winner is the player who gets three of the small boards in a row.