top of page

TIC TAC TOE

Tic Tac Toe
An interactive, logic-driven game built with Figma Variables and Interactive Components
Project Type: Figma Game
Role: Product Owner
Date: February 2025

Project Context

This prototype leverages Figma’s Variables and Interactive Components to build a fully functional Tic Tac Toe game which requre no code. It demonstrates how I can manage state, implement win/draw logic and create seamless reset flows, pushing the boundaries of what’s possible in a design tool.

Live Prototype

Live Prototype
Problem Statement

Problem Statement

Design tools like Figma are often used only for static mockups or basic click through flows. I wanted to push the boundaries of what a design tool can do by building a fully functional game complete with turn tracking, win/draw logic, and a reset flow, all without writing any code.

Project Goal

  • Demonstrate how Figma Variables can manage game state (current player, move count, win/draw)

  • Accurately detect all win conditions (rows, columns, diagonals) and draws

  • Prevent extra input after the game ends

  • Provide a seamless “Play Again” reset that restores every variable and component to its initial state

My Role

  • Logic Architect: Defined variables and mapped out win/draw rules.

    Accurately detect all win conditions (rows, columns, diagonals) and draws

  • Interaction Designer: Built Components, set up Variables, and created on-click triggers.

  • Usability Tester: Ran peer play-tests, gathered feedback, and refined the prototype.

Tools Used

  • Figma: Components, Variables, Interactive Prototype

  • FigJam: Brainstorming, Low fidelity wireframes

Design Process

Design Process
1. Research and Planning

I used a FigJam board to plan the entire Tic Tac Toe prototype before building it in Figma. On the board, I documented every variable, enumerated all eight win scenarios (three horizontals, three verticals, two diagonals) plus the draw rule and sketched the component variants for each cell (Empty, X, O). I also mapped out the full state diagram—start, player turns, win/draw checks and restart flow—and detailed the on-click interaction sequence: update cell, run win check, run draw check, then toggle the player. Having it all laid out in FigJam ensured a smooth, error-free build in Figma.

Visualizes every game state:

  • Start → Player X’s Turn → Place X → Check Win/Draw → Player O’s Turn → …

  • End states branch to “Player X Won,” “Player O Won,” or “Draw,” then loop back via Restart.

Enumerates all eight winning lines:

  • Three horizontal conditions

  • Three vertical conditions

  • Two diaagonal conditions

  • Defines the draw rule: if neither “X” nor “O” wins, the game stops so the user can exit or restart the game.

2. Component and Variable Setup

I turned my FigJam plan into Figma components and variables:

  • Cell Components (c1–c9): Created one master “Cell” with three variants—Empty, X and O.

  • Key Variables:

    • currentPlayer (tracks whose turn it is)

    • moveCount (counts taps to detect a draw)

    • gameOn / gameOver flags (controls when the board is interactive)

    • Winner (stores “X” or “O” when someone wins)

    • Overlay flags (e.g. c1h, c3d) to highlight the winning line

With components in place and variables defined, I was ready to build the interactive rules.

3. Interaction Design & Prototyping

In this phase, I brought the static components and variables together to create a fully interactive prototype in Figma. By configuring simple on-click rules and automated logic checks, the prototype handles turns, win/draw detection, and restart functionality. Finally, I linked frames and added smooth transitions so users can play the game seamlessly.

4. Usability Testing & Iteration

In this phase, I brought the static components and variables together to create a fully interactive prototype in Figma. By configuring simple on-click rules and automated logic checks, the prototype handles turns, win/draw detection, and restart functionality. Finally, I linked frames and added smooth transitions so users can play the game seamlessly.

Learnings & Outcomes 

Outcoms

After iterating on feedback, I applied final polish on refining typography, spacing and color contrast and smoothing out transitions. The prototype achieved robust playability with 100% task completion in tests and clear, immediate feedback for users. This project reinforced the value of upfront planning, modular component design, and rapid peer testing in delivering polished, interactive experiences without writing a single line of code.

Future Improvements & Next Steps

  • Score Tracking 
    Implement a persistent round-by-round scoreboard that records wins, losses, and draws, encouraging competitive replay and allowing users to reset or review their stats.

  • Expand to Mobile & Desktop
    Adapt the current tablet-only prototype into fully responsive mobile and desktop versions, optimizing layoutsfor each platform.

  • Add Dark/Light Mode Toggle 
    Implement a theme switch so users can seamlessly toggle between dark and light modes, improving comfort and accessibility in various lighting conditions.​

Conclusion

This Tic Tac Toe case study demonstrates how thorough planning and Figma’s advanced prototyping features can bring a dynamic, rule-based game to life without code. By mapping every condition in FigJam, building modular components and iterating through peer testing, I created a polished, fully playable prototype that tracks turns, detects wins/draws and supports a one-tap restart.

Let's create something amazing together

Let’s work hand-in-hand to define your goals, craft a custom solution, and achieve outcomes that exceed what you envisioned.

Get in touch

  • LinkedIn
  • Instagram
  • X
  • Facebook

© 2025 Amal Suresh. All rights reserved.  Designed & built by Amal.  

bottom of page