Play either against the AI or another player. The AI learns as you play. No, the AI is not extremely smart, but its moves are (usually) based on moves that you've made. Currently, it does not try to win by itself. How It Works: The AI is made of a (BIG) tree of possibilities. It learns from the moves you've inputed. With each difficulty, the tree grows more complex. When the AI is set to easy, it picks randomly (1-9) until the tile selected isn't filled. In medium, the AI is aware of some combinations (after its first move is picked randomly) that could lead you to a win. And in hard, it is aware of most combinations. Originally, due to the AI being aware of many combinations, it ended up always forcing a tie and would become 'broken' and take turns ignoring any previous placement. To fix this, this part of the tree would need to store additional moves and then selecting the move it makes, at random. This also allows the AI to try and win. Making it more fair and beatable. 9/6/20 Enhanced AI AI can no longer repeat moves in Hard difficulty Added a turn counter Games now properly end upon a winner Strikes through correct winning combinations Pressing space resets the board 10/9/20 Cleaned up a few scripts 1/26/26 Reworked hard mode AI, can now better predict moves [Edit:] I broke hard 1/27/26 Reworked both medium and hard mode AI. It can predict more movesets and has some knowledge on how to win on its own. I will expand this further in the future. I hope to prioritize blocking as I develop it further. Added VFX to show when the AI is thinking. 1/28/29 If there are no possible combinations to block or win, the AI will then determine its best move to keep itself from being in a "thinking" state. The game can now properly read a tie. 1/30/26 Added game mode info that explains how the bot thinks. Hard states that it prioritizes blocking over winning, but that isn't currently true. I will add it in the next update. Recolored everything to make it darker. Hard mode alternates the starting move between the player and the bot on resets. Changed the intro.