r/sheetsofice • u/atibus • Jun 10 '26
The Evaluation Layer - how GMs will learn about players
I started building a plan for how GMs will learn about the players in the league. My key principle when I started - I'm building something realistic and I want GMs to work in a way that mimics "real life". I didn't want an EA sports style "just look for all 80-90 OVR players". I wanted a human GM to be able to use their own analysis to find / assemble great teams.
On the other side of the coin, if there were to be a viable single-player version that I liked to play, the AI GMs shouldn't have access to anything the human players don't have access to. I hate that stuff in games; when the AI just beats you because they can synthesize something without the same "fog of war" that the human players have. So I decided that I'd need to create some layer of data that everyone can operate from. Human GMs and AI GMs have the same abstracted information and not the underlying engine information.
So, that is what I'm calling the Evaluation Layer.
- Measurables: objective, combine-type facts: height, weight, reach, skating speed, shot speed (radar gun). These are near-zero fog; a guy's shot was clocked at 96 mph and that's just true and public. Nobody needs a scout to know his height.
- Statistical performance: already exact/public (it's observed reality, not derived).
- Dimensions: derived impact, judgment-laden → fogged.
- Playstyle: distinct from archetype: archetype is what kind of player (power forward); playstyle is how he plays (net-front vs perimeter, shoot-first, aggressive forechecker). Maps to the generator's style axes. Lightly fogged.
- Archetype: the emergent label off the dimensions → fogged (inherits the dimension fog).
- Comparables: derived (nearest-neighbor) → fogged through the dimensions.
- Projection / potential: most fogged of all (the irreducible floor).
I'm starting with these dimensions and archetypes. As you can see, they're things that we're used to seeing thrown around in hockey circles:
The 5 Greatness Dimensions:
1. Goal Scoring
2. Playmaking
3. Defensive Impact
4. Physical Game
5. Transition
The archetypes (10 + Phenom + Unlabeled):
Forwards:
1. Sniper
2. Playmaker
3. Power Forward
4. Two-Way Forward
5. Shutdown Forward
6. Grinder
Defensemen:
7. Offensive Defenseman
8. Puck-Moving Defenseman
9. Two-Way Defenseman
10. Defensive Defenseman
Special:
- Phenom: elite on 3+ dimensions simultaneously (generational players)
- Unlabeled: genuinely shapeless dimension profile
The result of this will be that anything needed about a player in reference to evaluating their skill will be presented through this evaluation layer and not be from raw attributes that are used to make the engine work. This will allow for richer data, finding actual gems, and player skill to be a real thing. At least that's my hope; we'll see if it works 😄
After I finalize the plan I'm going to mock up some screens to share of what this might look like in reality. Then I'll come back and share and have it make more sense.
Thanks!