Work · Figma prototype

Tic-Tac-Toe

A playable tic-tac-toe built entirely in Figma, with no code: one component with twelve variants, and the logic to know when someone has won.

Solo · Interaction design practice · Figma interactive components

Play the prototype
  1. The start screen: TIC TAC TOE in large white letters on navy, and two buttons under "Choose Who Starts:", a green X and a red O.

    01Choose who starts

  2. The game board mid-game: an X in the centre and an O in two corners, with an empty winner box above it.

    02Turns pass on their own

  3. The finished game: three Xs down the middle column with a line struck through them, and an X in the winner box at the top.

    03A completed line ends it

What I was practising

Interactive components. I wanted a prototype that changes on its own, based on its state and what you tap, rather than a click-through of screens I had drawn in advance. Tic-tac-toe is small enough to finish and strict enough to expose a shortcut: every cell has to know whose turn it is, and the board has to know when the game is over.

How it works

You choose who starts. Each tap places the current player’s mark and hands the turn over. Every cell is an instance of the same component, one component with twelve variants, so the board is nine copies of one thing rather than a screen for every possible position. A single move can update the cell, the turn and, when it ends the game, the winner box. That is the state management and cross-component control I set out to practise.

The hard part

Knowing when someone had won. Placing a mark concerns one cell; a win is a fact about three cells at once, along any of eight lines. That logic was the hardest thing to get right, and it is what makes this a game rather than a drawing of one. Complete a line and a strike runs through it, and the winner appears at the top.

← Back to all work