LoL Player Graph PROTOTYPE
A social network graph of League of Legends players built from shared ranked games. Starting from Season 15 (January 2025), the tool crawls the Riot API outward from a seed player or the master+ ladder, storing every ranked solo/duo match and all ten participants. Two players share an edge for every game they appeared in together.
The main feature is shortest-path queries — given any two players, find the minimum chain of shared games that connects them (think six degrees of separation, but for League). The graph can also be exported to GraphML for visualization in Gephi.
Six Degrees of League
The shortest-path command traces the chain of shared games between any two players. Each hop represents a game where that pair appeared on the same or opposing team.
0 SqfeWalk#NA1 (DIAMOND I 85LP) ── played together 4x ──▶
1 SomePlayer#NA1 ── played together 1x ──▶
2 AnotherPlayer#NA1 ── played together 2x ──▶
3 TargetPlayer#NA1 (PLATINUM II 40LP)
What it does
Data Collection
Async BFS crawl seeded from a player or the master+ ladder. All 10 participants from every ranked game are stored as graph edges.
Shortest Path
NetworkX shortest-path or a SQL-only BFS for large graphs. Shows each hop with the number of times that pair played together.
Hub Detection
Ranks players by connection count — identifying accounts that bridge multiple player communities across the server.
Gephi Export
Exports to GEXF (Gephi's native format) with node colors scaled by game count, size by activity, and a gold highlight on the seed player. Colors apply automatically on import.
Roadmap
- ✓ Async data collection pipeline (BFS crawl, all 10 participants per game)
- ✓ Shortest-path queries (NetworkX + SQL BFS fallback)
- ✓ Hub and neighbor analysis
- ✓ GEXF export for Gephi (auto-colors by game count, gold seed node)
- ○ Web UI with D3.js force-directed graph
- ○ Per-patch edge filtering
- ○ Smurf detection heuristics
- ○ Champion overlap heatmap between connected players
Tech Stack
Built with Python 3, aiohttp for async Riot API collection, SQLite for local storage, and NetworkX for graph algorithms. CLI output rendered with Rich.