About Imperialism Map
A side project about what happens when you let every game redraw the map. Make your own, or replay 150 years of real ones.
Where This Idea Came From
Sports imperialism maps started in Reddit's college football community around 2017. The rules are simple: every team owns the territory around its home venue. Win a game, take all of your opponent's land. Lose, and everything you built disappears. By the end of the season the map has turned into a story about conquest and collapse.
Those Reddit posts were static images, posted once a week and then lost to the scroll. You saw where the map ended up, never how it got there. That gap is the whole reason this site exists: put every week on a time slider and the season becomes something you can replay instead of something you catch up on.
History of ImperialismMap.com
I built the first version in 2018 to teach myself JavaScript and D3.js. It was a single static map, I never published it, and it sat forgotten in a folder for six years.
When I found it again in 2024, the concept was still going strong on Reddit, but nobody had built an actual interactive site around it. People were clearly searching for this and landing on screenshots. So I rebuilt it properly, and I have been adding to it in my spare time ever since: more leagues, more seasons, and eventually the map maker.
What You Can Do Here
Make Your Own Map
The editable imperialism map maker lets you pick the winners yourself. Take any league, decide every matchup by hand or spin the arrow to settle it, and redraw the country however you want.
Replay Any Real Season
Drag the time slider through a season that actually happened and watch the borders move game by game. Stop on the week your team peaked, or the loss that ended it.
Go Back to the Beginning
MLB from 1871. NFL from 1920. NBA, NHL, and historic leagues like the ABA. Every season is built and browsable, not just the famous ones.
Built From Real Venues
Territory is drawn from the actual coordinates of the stadium or arena a team played in that year, not from city names or state lines. Relocations, rebrands, and new buildings all move the map with them, so a 1950s season looks like the 1950s.
How the Maps Are Made
Every map starts as a Voronoi diagram: each team owns the land closest to its home stadium or arena. From there the game results take over. A win takes everything the loser holds, and the map is recalculated after every week or day of play. The full rules, edge cases, and strategy are covered on the rules page.
Technical Details
For anyone curious what is under the hood:
- D3.js draws the maps and computes the Voronoi territories in the browser
- Django and django-distill build the whole site to static files, so pages load without waiting on a server
- ESPN's API, Baseball Reference, and Basketball Reference supply the schedules and results, with the reference sites covering the historical seasons ESPN does not
- VenueStats, a companion site of mine, is where the venue data comes from: every stadium and arena, when each team played there, and the coordinates the territories are drawn from
- Python scripts handle the data pipeline and turn all of that into the territory files the maps load
- AI assistance: most of the code here was written in collaboration with Claude
- More writing: I write up the technical side of projects like this one at andycarnevale.com
Sponsored by Territory Creator
Imperialism Map is proudly sponsored by another of my projects:
Territory Creator
Sales territory management software
Because not all territorial conquests happen on the field.
Territory Mapping SoftwareWhat's Next?
Ideas I want to get to, roughly in the order I am likely to build them:
- County-based territories as an alternative to Voronoi regions
- Population data, so "biggest empire" can mean people rather than square miles
- More leagues
The Endgame Problem
The concept fits football almost perfectly: a short season, one game a week, every loss catastrophic. It fits basketball, hockey, and baseball much less well. Play 82 or 162 games and one team usually swallows the map long before the season is over, after which nothing interesting happens. Mid-season resets and alternative rules are the obvious fixes, and I have not landed on one I like yet. Suggestions welcome.
Get In Touch
Found a bug, spotted wrong data, or want a league added? Tell me. This is a one-person side project, and most of what has been added since 2024 started as somebody's suggestion.
Popular Sports Territory Maps
College Football Imperialism Map
The CFB imperialism map that started it all. Watch conference realignment happen in real-time as teams steal territory with every upset. Updated after every Saturday (and weeknight MACtion).
CFB Imperialism Map
NBA Imperialism Map
82 games means 82 chances to expand your empire. Track how teams claim territory on our NBA imperialism map through winning streaks.
NBA Imperialism Map
NFL Imperialism Map
32 teams. One map. Infinite trash talk potential. Our NFL imperialism map updates after every game, showing exactly how much territory your team owns (or just lost to a backup QB).
NFL Imperialism Map
NHL Imperialism Map
82 games of ice-cold territorial conquest. Track which NHL teams control the most territory across North America.
NHL Imperialism Map
WNBA Imperialism Map
Explore WNBA imperialism maps across multiple seasons. See how Basketball teams compete for territorial dominance.
WNBA Imperialism Map