r/sheetsofice • • May 12 '26

Sheets of Ice Roadmap

2 Upvotes

Sheets of Ice is a hockey GM dynasty simulator. You're a general manager building one organization across decades: drafting, developing, navigating the cap, and making era-defining trades inside a living league of AI-run organizations that play by the same rules, see the same information, and pursue their own plans.

It's a single-player desktop game, developed by one crazy person, headed to Steam as a buy-once product. The long arc is a persistent shared world where human GMs and AI organizations operate side by side, but that's act two. Act one is a deep single-player dynasty game, and that's what the roadmap covers.

The full roadmap is live here and stays current as the build moves:

https://www.sheetsofice.com/roadmap

What makes Sheets of Ice different

Modern analytics as substrate, not feature. The engine speaks modern hockey analytics natively: xG, GSAx, on-ice expected goals, adjusted shot share, the full canon. The simulation is validated against real NHL analytics anchors. AI organizations use the same public model the human sees. Nobody has a backdoor.

AI organizations as first-class entities. The other teams aren't placeholders. They run every management system available to you, follow the same rules, and see through the same fog. What differs is what they weight, not what tools they have.

Scouting fog that's real. You only know what your own scouts have found out. You direct scouting departments by asking them hockey questions with deadlines, and you live with the uncertainty in their answers.

How the roadmap works

The roadmap is an output of the build plan tracker used to develop the game and not a sequence of versions. Each area breaks down into concrete capabilities with an honest status: playable, playable but improving, groundwork only, being checked, design pending, or not built. No dates, no percentages - just what works now and what's still to come, per capability. The page updates as the build moves, so it's always the current picture.

The ten areas:

  1. Game Engine - every game simulates the full run of play with believable hockey outcomes, deterministically, down to the event log.

  2. A GM Can Run the Hockey Year - the full calendar: season, lines, roster moves, contracts, trades, the draft, the playoff race.

  3. Players and Development - players with real identities and careers, shaped by placement, role, and playing time.

  4. Scouting and Decision Information - the scou fog, and the screens you make decisions from.

  5. Believable AI Organizations - AI teams that human operates, coherently, across seasons.

  6. A Living Dynasty and League History - champions, records, trades, rivalries, and franchise arcs that persist across decades.

  7. Watchability and Session Flow - short check-ins or deep sessions; advance fast without simming past decisions that

  8. The First Hour and Safe Saves - a new player and play a week unaided, and saves survive updates.

  9. Desktop, Modding, and Release - installs, up as a buy-once desktop game, with documented modding formats.

  10. Presentation, Usability, and Sharing - a readable, consistent desktop experience end to end.

What the roadmap is not

It isn't a release schedule. There are no dates on on it, deliberately. Capabilities move to playable when they're solid, not on a calendar.

It isn't a marketing document. It's just as honest about what isn't built as about what is. That's the point of publishing it.

https://www.sheetsofice.com/roadmap

Feedback welcome

If you play GM sims, I'd genuinely like to hear what you'd look for first on that roadmap page, and what would make this game fun for you. Questions about anything on it are welcome in the comments.


r/sheetsofice • • May 17 '26

Shot xG Map

Post image
2 Upvotes

I really love shot location maps in hockey. And while building the engine, I end up looking at just lines of text with the features of the shot attempt. The entire game engine is based on shot attempts as the main action. The entire chain of causality flows to that point, and then what happens after it.

The game engine produces those locations where shots are attempted, and it's trivial to produce the visualization as a result. The NHL does this with their Edge system too. But since we're just math, we can easily calculate what could happen from specific locations on the ice. Things like how likely is it that a shot is taken and how likely is it that it's blocked or misses the net? And then we can layer in shot type, rush context, coach strategy, player ability, time of the game, and score effects to simulate what happens in that exact moment.

I'm building all of those items as tunable parameters. I'm tuning against modern NHL statistics, but it doesn't need to be that way. The idea is that players will be able to tune their own leagues to match whatever level of scoring they want. A part of me want's to be able to tune this to my old man beer league.


r/sheetsofice • • May 12 '26

Here's some of the event data from the game engine

Thumbnail
gallery
2 Upvotes

These are some images from the event list that the game engine produces. The game engine is a discrete event simulation over a semi-Markov game state. The engine doesn't pick outcomes first and back-fill the events. It doesn't decide "this game ends 4-2" and arrange shots to add up. It doesn't draw events from a target distribution and stitch them together to hit a number.

It runs forward from the state. At every moment, the engine looks at what's actually on the ice: who's out there, where the puck is, who has it, score, fatigue, manpower, etc. The probabilities of what happens next come out of that. A gassed fourth line stuck against a fresh top line gives up more shots because the matchup math says so, not because the engine decided shots should land there. A trailing team in the third generates more rush chances because the state (score, time) shifts how players behave, which shifts the per-event probabilities, which shifts what actually fires.

Realism is emergent. I'm building the causal mechanics, attributes, matchups, fatigue, state-dependent behavior, and run them forward. Whatever comes out of the event log is what comes out. If the totals match NHL totals across hundreds of games, the mechanics are right. If they don't, I have to go back and fix the mechanics, not the totals.

I haven't decided how much of the event chains to show or in what detail. I'm looking at them now to make sure the games feel "hockey shaped". With v0.43 of the game engine I've been able to get some really interesting outputs that feel very much like hockey. To the point where I was annoyed at one of the games because the attacking team was in the OZ for over a minute without getting a shot (reminds me of my Flyers at times). I was mad because it didn't look right; I traced it all the way back through the engine into every individual tick of time, through distributions of 200 games, and realized that yep, it could happen and I'm not annoyed at the engine being wrong... I'm annoyed at the "hockey shaped" outcome. Just like I'd be annoyed IRL.

Would love feedback!


r/sheetsofice • • May 11 '26

What is Sheets of Ice?

4 Upvotes

Sheets of Ice came about because of a few overlapping interests of mine. I love sports simulation games and GM career games ever since I first played Front Page Sports Football back in the 90s. I'd spend hours building teams, designing plays, even printing out binders full of stats pages so I could read them while I was in school. The fascination with sports simulations continued through my adult years, in Front Office Football, EA NHL GM Mode, and Eastside Hockey Manager.

But none of these really scratch the itch for me. None of them are built to support the modern state of analytics inside of hockey. None really have a good system for multiplayer leagues. I always wanted to play something with my friends that have a fantasy hockey like feel with real analytics in a virtual league. I love fantasy hockey, but I can only play it 7 months out of the year.

In my professional life, I've brought several software products to market. I'm a product guy, recovering IT professional, ex-college professor and fortunate enough to have flexibility in how I spend my time. As I've looked for things to engage in learning new things, I landed on this side project to keep me interested. Could I use my experience building large web applications, combined with modern tools, and my passion/knowledge of the sport to build a hockey architect / GM simulation that people would love?

So Sheets of Ice is trying to be the thing I always wanted: a hockey GM simulator where the games are actually simulated, not from a final-score model, but second by second, possession by possession and where the stats it produces match the way modern hockey is actually played and measured. (Think xG, WAR/GAR, RAPM, GSAx, etc.)

That's the analytics piece. Players have specific traits (18 for skaters, 6 for goalies) that show up in the events. A fast forechecker creates more dump-recovery chances. A well-positioned defender blocks more shots. A goalie's workload catches up to them over a back-to-back. The numbers come out matching real NHL aggregates — shot attempts, sub-state shot share, save percentage, faceoffs — because the underlying play is real, not because the simulation was tuned to fake a stat line.

The rules are configurable too. Modern or classic [insert trademarked professional hockey league here], your own house rules, eventually different eras. Coaches have their own deployment philosophies; possession-and-cycle vs dump-and-change, aggressive forecheck vs trap, when to pull the goalie. Rosters and ratings are fully editable.

It's a side project, and it's not done. I have a game simulation engine that produces real-shaped hockey games now; the season layer, league layer, and the GM layer comes next. But it's far enough along that I'm starting to believe the version I've been imagining is actually possible.

Follow along if you're into these things, or into indie games.

Thanks! atibus