Description

Path Paradox is an online multi-player game based on the popular board game Tsuro. Place a tile in front of your token to continue your path, but be careful to keep your token on the board as the last one remaining wins. One of the major design challenges we tackled was how to convert visual paths into technical terms, including rotations and connections and then storing and sharing it in a Firebase-friendly way.

We built the board as a graph structure of nodes organized into the 36 spaces of the board, 8 nodes per space which correspond to the eight notches in a tile. Placing a tile created "neighbor" associations between nodes which represented the paths on the board. This process creates a collection of linked lists that can be traversed in any direction.

This tile placement is then broadcast to Firebase so all players will receive a real-time update of the state of the board. After they receive this broadcast, each player will move themselves along their paths until they reach the end, the edge of the board, or collide with another player.

We utilized Firebase to store only the essential data to keep players' local game states seamlessly in sync with one another. The minimal structure of the data keeps updates between players speedy and we leveraged the built-in authentication to manage game states between players.

Our game is live on pathparadox.com. We hope you enjoy playing it as much as we enjoyed building it.

Team Members
  • Lori-Anne Ashwood, Jennifer Cen, Torng-Lin (Taffy) Chen, Kimber Lynch

Learn more about our fullstack JavaScript curriculum

Learn More