Why leagues
Quick pitch: league play is the best way to play a wargame, and the software for running one is universally terrible. This app is my attempt to fix the second problem so more people enjoy the first. A few ideas drive every decision here.
Play the people you'd otherwise never play
Not everyone is free every Thursday night. Some of us have jobs, kids, or a crippling fear of the local game store's air quality. A league doesn't care. Games get scheduled between the two of you, whenever actually works, so your opponent pool stops being "whoever survived this week's game night" and becomes basically everyone. The people you'd never cross paths with otherwise suddenly become the folks you play the most.
Guaranteed games, with flexibility
Joining a league is a gentle commitment. You're signing up to play some games, and that's exactly what makes them guaranteed. No more standing in a shop trying to make eye contact with a stranger and negotiating a match like it's a hostage situation. There's always someone who also committed, and people who join leagues are usually the ones actually dedicated to the game, not just there for the free table space. You get the certainty of a schedule with the freedom to pick a time that suits you both.
A league is a community, not a spreadsheet with extra steps
A league can be so much more than a place to play. It's a whole season-long story that ties a group together, and this app is built to celebrate that, not just tally up wins like some joyless auditor of the Adeptus Administratum.
- Community. Visit different stores, rematch old opponents, and build a real history with the people across the table. Ideally people, anyway.
- Sportsmanship. Rate the folks you play. Being a decent opponent should count for something, even in a hobby about tiny plastic war crimes.
- Fun achievements. Reward more than winning. Painting a brand new team, doing the hobby thing, or the truly cursed stuff, like re-rolling a 1 into another 1 twice in the same game. The dice gods demand tribute and we're here to document it.
- Stories and pictures. Share photos of your games and the moments around them. A one-day event ends and vanishes. A league leaves a paper trail, which is either heartwarming or evidence, depending on the game.
Smart pairings, not a coin flip
Pure random matchmaking feeds rookies to the tournament sharks and pairs the same people for the fourth time. So the app has groups: sort players however makes sense (pros, rookies, that one clan, the folks without cars) and the matchmaker treats them as soft nudges toward variety, not rigid rules. A little organization doing the boring work so the games come out more interesting.
So why does this exist?
Because I love league play, and I don't actually mind running one. What I don't trust is myself. I'm not a details person. Left to my own devices I'm sloppy: a missed pairing here, a scoring mistake there, standings I swear I updated and definitely didn't. Every existing league tool is either built for every game on Earth and therefore good at none, or it's a spreadsheet held together with hope, VLOOKUP, and quiet swearing. Doing best-cost pairings by hand is my personal grimdark future: no time for peace, only endless war against merged cells.
The one thing I am good at is writing software, so I made the computer be the details person. It doesn't forget, it doesn't fat-finger a score, and it doesn't skip a step because it got distracted mid-round. That means your experience stays great even when I'm running things, which, trust me, is the whole point. Pairings, rounds, and standings that just work, so the organizer can get back to the important business of losing games with dignity.
New here? Everything else in the app, the standings, quests, awards, galleries, is just a tool in service of these ideas. And in the grim darkness of my free time, there is only this.
John, jfreal on Discord.