Zigo - Find the shortest path between two players

Zigo is a game inspired by the competitive Counter-Strike scene. The technologies used for this project are Python for data scraping and processing, and Next.js for building the game’s website. Zigo allowed me to implement solutions to common algorithmic challenges, such as solving the shortest path problem.

Visit the project

me

Elouan Savy

Feb 14, 2025

Zigo's home screen Zigo's home screen

This project was developed collaboratively with @sakutaroo.

Objective of the Game

The concept of the game is straightforward: two professional Counter-Strike players are displayed on the screen. The user’s goal is to find the shortest possible valid chain of teammates that connects the two players. A valid chain consists of a sequence of players who have played on the same team at least once during their careers.

About the Project

This project is divided into two main components:

  1. Data and Analysis (developed with Python)
  2. Web Application (built using Next.js)

Data and Analysis

To gather the necessary data for the game, we conducted a scraping operation on the website hltv.org. This site serves as the go-to reference for the Counter-Strike scene, compiling extensive statistics about players, teams, matches, and more.

Once the data was collected, we tackled the problem of generating gameplay challenges while accounting for the following requirements:

  • All possible paths between two players must be known.
  • Each challenge must be solvable.
  • The dataset involves around 2100 players.
  • The data is relatively stable since player transfers occur only about once a year, with many players remaining on the same teams.

To address these constraints, we implemented the Floyd-Warshall algorithm, taking advantage of the dataset’s mostly static nature. This allowed us to run the algorithm after each transfer period to compute all pairwise paths between players. The resulting matrix serves as the foundation for generating challenges and verifying the paths submitted by users.

Game Interface

The game interface is designed to be simple and intuitive. It enables players to:

  1. Play Challenges
    Test their knowledge of the professional Counter-Strike scene by finding the shortest valid teammate chain.

    Zigo's path submission screen Zigo's path submission screen

  2. Create and Share Challenges
    Create custom challenges and share them with the community.

    Share your challenge with Zigo Zigo's challenge creation screen