Ultimate Tic-Tac-Toe

A remixed classic
What is Ultimate Tic-Tac-Toe?

Ultimate Tic-Tac-Toe is a Java Swing GUI (Graphical User Interface) application. Like the classic game, the player tries to win by getting 3 in a row of their game marker. However, there's a catch. Instead of winning just a single board, there are 9 boards arranged in a grid, where you must get 3 boards in a row instead of just 3 X's or O's in a row. This presents a unique challenge as it means in order to win, you must actually win 3 separate games, in addition to winning the correct board as well.

Main Features

Ultimate Tic-Tac-Toe consists of the following features:

  • Full-featured user interface, complete with instructions on how to play the game, strategy tips, and player-configurable options
  • Contains High-Score tracking features and current score tracking features
  • One Player mode to play against the AI and practice your skills, or Two Player mode for fun with friends
  • Rich new Tic-Tac-Toe gameplay that takes strategy to the next level

Why Ultimate Tic-Tac-Toe?

Ultimate Tic-Tac-Toe was made for the Computer Science and Information Systems courses 1400 (Fundamentals of Programming), and 1410 (Object Oriented Programming) at Salt Lake Community College. It was made for the assignments titled "A10 - Final Project" and "A09 - Final Project" respectively. It has been improved upon slightly since then as well.

In the 1400 course, the objective was to show we could write a Java application using loops, arrays, and multiple classes, as well as using proper Java Programming naming conventions and standards. It was a team assignment, so we formed a group and worked on it over the course of several weeks, where we were able to practice interpersonal skills, compromise, and prioritization of features. For example, we ran out of time to implement the score tracking in our submission, so we added a rudimentary score tracking that prints it to the console. So you don't see it in the interface in the initial release, but it is still keeping track in the background.

In the 1410 course, the main objective was to show that we could build a Graphical User Interface, that we could read and write to files (in my case, that's the high scores), use collections in our program, and have proper Object-Oriented code. In my case I took things a bit farther and wrote some basic AI functionality into the game. Not having done anything with artificial intelligence, it is a somewhat basic AI, which its primary directives are in the order of: win, prevent the player from winning, or if neither can happen, to place a marker to start the process of winning. The third one is where the algorithm could use some work, because, as you may find, sometimes it places markers in questionable locations that you are left wondering "why did it put a marker there?". In the future I plan to add multiple difficulties to spice things up a bit.

Ultimate Tic-Tac-Toe offers much more than the classic Tic-Tac-Toe experience, as it is basically Tic-Tac-Toe x 10. It's definitely worth playing simply for the enjoyment of beating your friends at an amped up version of Tic-Tac-Toe, and great to practice your strategy skills so you can become the Tic-Tac-Toe master!


Coming Soon...

Starting the Game

Ultimate Tic-Tac-Toe is an application that uses a Graphical User Interface, or GUI. This means that you (the player) will interact with the program by "pointing and clicking" with your mouse cursor.

When you first launch the application, you will immediately be asked to choose which mode you would like to play (One Player or Two Player). Then you will be asked to enter your name, and if you had selected Two Player mode, Player 2 will be asked to enter their name as well. If no names are entered, the program will default to "Player 1" and "Player 2" (or "The Computer" if playing against the AI). From here, you will be presented with a large game board that looks like a massive Tic-Tac-Toe board with smaller Tic-Tac-Toe boards inside it. That's essentially what Ultimate Tic-Tac-Toe is though. In this game, the objective is to win 3 boards in a row. Seems simple enough at first, but you will quickly realize that it all is not what it seems. You will see that you are only able to play in the highlighted board, and the board you can play in changes based on what square you played on in the last open board. To place your marker, simply click on the button corresponding to the location you would like to place it, in the board that is highlighted with your Player Color, and you will see what we mean.


Like a standard Tic-Tac-Toe game, Ultimate Tic-Tac-Toe also has a set of rules that must be followed.

  1. The small game boards are won just as they are in regular Tic Tac Toe, by placing your marker in three squares in a row (diagonally, horizontally, or vertically).
  2. Gameplay begins in the center game board.
  3. Player 1 will begin by placing their marker in any one of the nine squares.
  4. After Player 1 places their marker on their chosen square, gameplay will move to the game board that corresponds to the position of the marker placed. For example, if the marker is placed in the top left corner of the middle board, the game play will move to the top left game board. Player 2 must then place their marker in one of the squares of that board.
  5. If a marker is placed that would move game play to a board that has already been won, then the current player is free to place their marker in any open square of any board that has not been won.
  6. Small game boards that result in a tie will be awarded to the player that placed the last marker on that board. For instance, if Player 1 places their marker in the last open square of a small game board, they would be awarded that board as a win.
  7. Play continues until a player wins three small game boards in a row.

Ultimate Tic-Tac-Toe offers configuration settings for both players. This includes the name of the player, the marker they use on the game board, and the color they use. You can change these settings at any time by going to the Game Menu > Options and using the specific tabs for each player to control them.


As you play, keep in mind that you want to not only win individual small game boards, but three in a row on the large game board. So just winning small boards alone will not necessarily guarantee your overall win.

Also, remember that your choice in where to place your marker will decide where your opponent must play, just as their choice will decide where you must play. You can use this to your advantage to prevent them from playing on a board where they could win.

Remember that if you send your opponent to an already won board, they will get to play wherever they want! Make sure you only do this if you are aware of the risks!

Helpful Tips
  • Try guessing where your opponnent may place their next game marker so you can plan ahead. Planning ahead can help you determine the best way to win.

  • If possible, try to make a scenario where you have two possibilities to win in your next round. This will ensure your victory, as your opponent only has one opportunity to block you, leaving another one open for you to still win.

  • When not playing with friends, consider playing against yourself a few times by playing against the AI. This can help you work out strategies to ensure your victory when you do play with an opponent next!


Before downloading, it is recommended you review the How To Play tab, which explains how to play Ultimate Tic-Tac-Toe. System Requirements and Installation Instructions can be found below.

  • Current Version

    This is the latest and recommended version of Ultimate Tic-Tac-Toe.

    Version File Size Date Published Changelog
    2.0.0 204 KB July 30, 2018 Click to View
  • Previous Versions

    These are the previous versions of Ultimate Tic-Tac-Toe which are no longer supported. System Requirements remain the same from the current version. Issues may be present in these versions, so we recommend downloading the latest release instead. They are available for download simply for historical purposes.

    Version File Size Date Published Changelog Download
    1.5.0 49 KB June 9, 2018 Click to View file_downloadDownload
    1.0.0 32 KB April 25, 2018 Click to View file_downloadDownload

System Requirements

In order to play Ultimate Tic-Tac-Toe, you will need the following system specifications.

  • Computer: Anything not a dinosaur
  • Operating System: Windows 7 or newer, macOS 10.8 (Mountain Lion) or newer, or Linux
  • Storage Space: At least 1 MB of free space (seriously, this is a small game)
  • Other: Java 8 Runtime Environment or greater

Installation Instructions

Take the following steps to install Ultimate Tic-Tac-Toe on your computer:

  1. Download and install the Java 8 Runtime Environment (or greater) if you don't already have it.
  2. Download the Ultimate Tic-Tac-Toe JAR file to the directory of your choice.
  3. That's it. Now double click the "Ultimate Tic-Tac-Toe.jar" file to run Ultimate Tic-Tac-Toe!