Self reporting stops at what people say
It cannot show what someone does when attention, pressure and adaptation are live. It captures the story a person tells, not the behaviour underneath it.
It starts with why play works at all, and ends with a model you can put inside a product. This page walks the whole route.
Every other way of measuring a person interrupts them. A questionnaire asks them to describe themselves. A test tells them they are being assessed, and they behave accordingly. A game asks for none of that. People play because they want to, and while they are playing they are simply themselves.
It cannot show what someone does when attention, pressure and adaptation are live. It captures the story a person tells, not the behaviour underneath it.
It interrupts the experience to take a reading, and goes stale as mood, readiness and performance move through the week.
Clicks, scores and completion rates say what happened. They say nothing about how the person got there.
Games ask people to do the things work and learning ask of them, compressed into a few minutes and repeated hundreds of times. Games, simulations, quizzes and interactive experiences can all contribute the same signals.
“Games are a microcosm of reality.”
Demis Hassabis · Google DeepMind
Which option, how quickly, and what they do when the first choice was wrong.
What happens to their play when the rules shift or the pace climbs past comfortable.
Whether attention holds through a long session, and where it starts to slip.
Confidence, frustration and flow, read from behaviour rather than asked for afterwards.
Reading behaviour only works if every game speaks a common language. The Human × Game ontology is that language: 87 features every game is rated on. The map below is not a taxonomy drawn in a circle — it is those features correlated across roughly seven hundred rated games, so how far apart any two sit is measured. The six colours are the groups that fall out of the data, and they cut straight across our own Skill, Mood, Goal and Genre categories. Explore it below.
150+ game mechanics resolve into the verbs a session actually asks for: obtain, avoid, choose, solve, collaborate.
Those verbs, with their timing and accuracy, are what every human reading is inferred from. Never the genre label.
50+ cognitive skills, 60+ personality traits and 9+ moods combine into one comparable Skillprint.
A session is not scored on whether someone won. It is read on how they played: the shape of their decisions, what they did after a mistake, and whether they held their form as the game got harder.
Which option, how fast, and how consistently across a rising difficulty curve.
What a player changes after a failure, and how many attempts it takes to find a new route.
Whether accuracy and timing hold across a long session, and where concentration drifts.
Confidence, frustration and flow, inferred continuously from behaviour rather than asked for.
How far ahead a player is working, and whether they hold a plan or improvise each move.
In multiplayer and cooperative formats, how a player shares load, signals and defers.
A fine tuned vision model watches gameplay, scores the player against the ontology, and returns parameter updates that keep the game in flow. Nothing is added to the game itself, and the player is never interrupted.
See the developer viewUnity and JavaScript SDKs sit inside the game, alongside the loop you already built.
FlowPlay is captured as timestamped chunks, so a reading can always be traced back to a moment.
chunksSchema constrained inference at temperature zero, so the output is always machine readable.
VLMSkill and mood readings returned for every chunk, against the ontology's own vocabulary.
structured JSONThe Skillprint profile updates, and difficulty tunes live to keep the player in flow.
parameter_updatesSupervised fine tuning on gameplay frames paired with expert structured output, then a blind model against model benchmark run inside real games — with a control arm where no AI is in the loop at all.
The same model, four ways in. Each one has its own page, its own outputs and its own next step.