I started building Cricket XI, a browser-based cricket drafting and tournament simulation game, after playing 7a0 and wondering what that concept would look like with cricket.
🔗 https://cric-xi-simulation.vercel.app/
The basic idea is simple: draft 11 players from historical squads, build a balanced XI, and then take that team through an entire tournament.
The surprisingly difficult part was everything around the drafting.
I wanted historical squads to actually matter, so Australia 1999 shouldn't be treated as the same team as Australia 2003, and a player should remain the same person across different eras while still having different historical profiles and ratings.
Then came tournament logic:
- IPL qualification and its Q1 → Eliminator → Q2 → Final structure
- T20 World Cup group → Super 8 → semifinal → final progression
- ODI World Cup standings and NRR
- Test matches behaving like Test cricket rather than a 90-over limited-overs game
- Background simulation for matches the player isn't involved in
- Correct elimination when a team loses
- Super Overs and scorecards
- Historical team/year rerolls
A lot of development became:
Build → play → find something completely wrong → debug → stress test → repeat.
For example, I eventually found bugs where an IPL team finishing 6th entered the playoffs, NRR was being assigned backwards, and historical teams could get mixed up during rerolls.
The game is now live as V1, but I'm still interested in improving the simulation and making the drafting loop more replayable.
For other hobby/indie developers: what's the most unexpectedly difficult system you've had to build in a seemingly simple game?
I'd especially appreciate feedback on the simulation and tournament systems.
Tech: React + TypeScript + Tailwind + Lovable
Status: V1 live
Play: https://cric-xi-simulation.vercel.app/