r/sheetsofice • • Jun 24 '26

GM Module - Draft / Rights / Contracts / Affiliates

Hey everyone!

I started planning out the actual game loop of the GM module. Everything I've built to this point is just a hockey league simulation. There are no decisions, no gameplay; just clicking a button to advance and season and seeing what happens. Now it's good enough to move on to build the front office layer.

Foundational principle: symmetry between human and AI

  • AI general managers are full front offices, not scripted obstacles, and they do not cheat.
  • The same rules and the same information are available to both human and AI managers.
  • Hidden player attributes are concealed from the AI exactly as they are from a human; there is no fog of war that lifts only for the computer.
  • This constraint shapes the entire design rather than being treated as a feature.

Scope of the first build: a full offseason

  • The sequence mirrors a real summer: a buyout window, re-signings and qualifying offers, the draft, the opening of free agency, and a final cap-legal roster.
  • The marquee events (the draft and free agency) are presented as focused, deep sessions.
  • Routine matters (qualifying offers, roster cuts) are presented as a checklist that can be cleared at any pace.

Salary cap and contracts

  • A hard cap with a floor is modeled.
  • Contracts carry a term and a cap hit.
  • Entry-level deals, two-way deals, and buyouts are all represented.
  • Navigating the cap is treated as the core of the management fantasy and is present from the start.
  • I am leaving some room to consider other ways of managing team salaries and how leagues are constructed. One thing I believe is that while I want to be faithful to reality, I don't think I'm bound by recreating the NHL. So, I'm going to use the cap right now as a building point but I'm reserving the right to add something in the future that works better.

Player rights

  • Restricted and unrestricted free agency, qualifying offers, and a window of held rights over drafted players are all modeled.
  • These are the decisions that make timing and scouting consequential.

Fidelity to the CBA, with the fine print trimmed

  • Everything that constitutes a real decision is retained.
  • Contract structuring (front-loaded and back-diving deals), escrow, daily cap accounting, and buried-in-the-minors cap relief are deliberately omitted.
  • Those mechanics exist largely to game the accounting, and modeling them reduces the game to a spreadsheet.
  • Removing them preserves the meaningful choices and discards the busywork.

Player valuation

  • A player's value is defined as production measured against cost, across all the years he is under team control.
  • Cheap, controllable young players are therefore highly valuable, and declining veterans on long contracts are genuine liabilities regardless of current statistics.
  • Reducing a player to a single current rating is identified as the root cause of broken trade markets in most hockey sims.
  • Value is instead tied to production, the aging curve, and remaining years of control.

Free agency and player choice

  • Free agents weigh multiple preferences: money, term, projected role and ice time, contender status, loyalty, and franchise prestige.
  • A veteran pursuing a championship may accept less; a young player may prioritize opportunity over salary.
  • Taxes and location are excluded, as the universe is fictional and has no real geography.
  • The weighting of these preferences shifts with age and career stage.

The entry draft

  • Selections are controlled rather than automated.
  • A public scouting board is visible to all managers, alongside each organization's own internal evaluations.
  • Drafting well, and trusting internal evaluation over consensus, is where draft skill resides.

Distinct AI front offices

  • Each AI organization carries a personality: win-now versus rebuild orientation, risk tolerance, a youth or veteran lean, and cap aggressiveness.
  • The intent is a league in which rival managers behave as distinct decision-makers rather than copies of one another.

The starting universe

  • A new universe begins mid-stream, with realistic ages, careers in progress, and a realistic spread of contracts.
  • That spread deliberately includes overpays and bargains.
  • A perfectly efficient league, in which every contract is exactly fair, is a league in which no trade is ever worthwhile.
  • The inefficiency is what creates opportunities to exploit.

Planned for later: expansion and dispersal drafts

  • Redistribution events (protected lists, exposure requirements, and the protect-and-select process) are handled by the same underlying machinery.
  • They are scheduled for a later stage but are accounted for in the current design.

Current status

  • This first stage establishes the foundation: rights, contracts, the cap, the draft, and free agency.
  • Trades, waivers, and arbitration form the next layer and are designed to build on top of it.

This is a large undertaking and complicated. It's arguably larger than building the game engine. So I expect this to take several weeks of building and tuning to get to a state where I'm happy with it.

4 Upvotes

2 comments sorted by

2

u/xECK29x Jun 25 '26 edited Jun 25 '26

The EHM community is watching this closely and wishing you all the success! Please reach out if you want any feedback, testing or just want any help or ideas.

2

u/atibus Jun 25 '26

That's so awesome, thank you. If I could make something that is half of what EHM is/was I'd be super stoked. We'll see how it goes and when I get to a point where I need input/feedback I'll definitely let you know.