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.

Elouan Savy
Feb 14, 2025
Enter focus mode
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:
- Data and Analysis (developed with Python)
- 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:
-
Play Challenges
Test their knowledge of the professional Counter-Strike scene by finding the shortest valid teammate chain.Zigo's path submission screen
-
Create and Share Challenges
Create custom challenges and share them with the community.Zigo's challenge creation screen