PlayScout Taxonomy & Matcher Methodology

Last reviewed: · ~10 minute read

Why mood-based discovery exists

Most players already own more games than they will ever finish. Industry telemetry points to the same uncomfortable truth across every storefront: the long tail of older, owned-but-unplayed titles takes up a majority of the hours, and a single weekend of release-week hype rarely translates into long-term play. The bottleneck isn\u2019t supply. It\u2019s decision fatigue. You open Steam with an hour to kill and spend forty minutes scrolling.

Genre labels were never built to solve this. Genre answers the question “what is this game,” which is the wrong question. The right question is “will I enjoy playing this tonight.” Two soulslikes share a shelf and demand completely different moods. A roguelike can be a tense skill grind or a chill background loop depending on its design. The label hides the design. The design is what determines whether the next forty-five minutes feel good.

PlayScout\u2019s thesis: discovery should sort by how a game feels to play, not by what category it ships in. We tag every catalog entry across five primary mood dimensions \u2014 energy, vibe, time, social, art style \u2014 and run a deterministic matcher against player input. The catalog covers indie and AAA. The mission is helping players find the right game, regardless of budget or studio size. Everything else on this page documents how we do that.

The five dimensions

Every game in the catalog is tagged across five primary axes plus one tiebreaker. Tags map to gameplay decisions you make at the controller \u2014 pacing, difficulty curve, emotional register, partner count, visual register \u2014 not to marketing categories. A game can carry multiple values per dimension (a roguelike that is both flow and challenge), and the matcher accounts for that explicitly: a game that has only your chosen tag scores higher than a game that has it among others.

Energy

The pace and emotional register of moment-to-moment play. Energy describes how the game asks you to feel while you hold the controller, independent of subject matter.

ValueDefinitionExamples
chillLow-stakes pacing, generous failure systems, no time pressure. The game is calming on its own terms, not just easy.Stardew Valley, A Short Hike, Dorfromantik
challengeDifficulty is the point. Failure costs progress, and the loop is "fail, learn, retry." Skill ceilings are visible from hour one.Elden Ring, Hollow Knight, Slay the Spire
emotionalDesigned to land a feeling — awe, grief, joy, regret. Pacing favors moments over throughput, and writing or art carries the weight.Outer Wilds, Disco Elysium, Spiritfarer
flowTight feedback loops that reward focused attention without requiring punishing skill. The brain locks in; time disappears.Tetris Effect, Hades, Vampire Survivors

Energy is scored, not filtered. A game scores +2 if its energy tag list contains only your chosen value, +1 if your value is among others, and 0 otherwise. Energy also drives the wildcard diversity swap: when the top five recommendations all share the same primary energy tag, position four is replaced with the next highest-scoring game from a different primary energy to keep the list from feeling monotonous.

Vibe

The dominant flavor of the experience \u2014 what the game is asking your brain to do beyond the immediate input loop. Vibe captures the texture of the game\u2019s ambition.

ValueDefinitionExamples
funnyComedy is a primary design goal. Writing, physics, or systemic chaos generates the laughs.Untitled Goose Game, Disco Elysium, West of Loathing
mindbendingAsks you to think about what is actually happening. Knowledge, perception, or rules are the real progression system.Outer Wilds, The Witness, Return of the Obra Dinn
narrativeStory is the spine, not a wrapper. Choice, character, or atmosphere drive the loop instead of mechanics alone.Disco Elysium, Citizen Sleeper, Pentiment
skillMastery is the reward. The game has a measurable ceiling and rewards execution, timing, or pattern reading.Sekiro, Celeste, Devil May Cry 5

Vibe is the only multi-select dimension on the player side: you can pick up to three vibes that fit your mood. The matcher takes the best score across your selections and uses that as the vibe contribution. Vibe is the second-strongest signal in the soft-scoring stack and the second tiebreaker after art style.

Time

How long a single satisfying session takes. Time is about session shape, not total runtime \u2014 a 100-hour RPG with a clean chapter system can still be a quick or medium time game.

ValueDefinitionExamples
quickA meaningful session fits inside roughly an hour. Designed to be picked up, played, and put down without losing progress.Vampire Survivors, A Short Hike, Inscryption (per act)
mediumSessions run roughly 60–120 minutes. Discrete chunks — a roguelike run, a narrative chapter, a multiplayer set — finish inside the window.Hades, Slay the Spire, Pentiment (per act)
deepLong companion games. Real progress demands a full evening or more, and the design assumes you will live in it for weeks.Stardew Valley, Elden Ring, Baldur’s Gate 3

Time is a hard filter, not a score. If your time answer is quick, every game whose time tag list does not include quick is dropped from the candidate pool before scoring begins. This keeps recommendations honest: a deep-only RPG will never appear on a quick session list, no matter how well it scores on energy and vibe.

Social

Number of players the game is designed for. Solo, duo, and group are mechanically distinct categories \u2014 a four-player co-op that technically supports two is not a duo experience.

ValueDefinitionExamples
soloDesigned for one player. Stories, mysteries, and skill ladders that depend on you being the only one noticing.Outer Wilds, Hades, Disco Elysium
duoBuilt for two. Either local couch co-op or sized-for-two online. Mechanics assume a partner, not a fourth random.It Takes Two, A Way Out, Unravel Two
groupThree or more players. Party games, raids, large co-op campaigns. Designed for shared screens or coordinated voice.Overcooked 2, Deep Rock Galactic, Lethal Company

Social is a hard filter. Choose duo and the candidate pool collapses to games whose social tag list explicitly includes duo. This dimension prevents the most common recommendation failure mode \u2014 surfacing a great solo game to a player who came looking for couch co-op.

Art style

The dominant visual register. Art style is taste, not quality \u2014 cinematic realism is not better than minimalist low-poly, just different.

ValueDefinitionExamples
cinematic-realismPhotoreal or near-photoreal rendering. Grounded lighting, subsurface skin, motion-captured animation.The Last of Us Part II, Red Dead Redemption 2, Cyberpunk 2077
stylized-cartoonBright, exaggerated 3D with cartoon proportions. Saturated palettes, simplified materials.Psychonauts 2, Bugsnax, It Takes Two
cel-shadedHard-edged shading bands that make 3D models read like comic panels or anime.The Legend of Zelda: The Wind Waker, Ni no Kuni, Borderlands 3
modern-pixel-artHand-placed pixels in a contemporary palette. Limited resolution, deliberate dithering, smooth modern UX.Stardew Valley, Celeste, Eastward
hand-drawnFrame-by-frame 2D animation or painted assets. The brushstrokes are visible.Cuphead, Hollow Knight, Hades
minimalist-low-polyGeometric simplicity. Flat shading, low triangle counts, clean negative space.Monument Valley, A Short Hike, Mini Motorways

Art style is scored on the same +2 / +1 / 0 rule as energy. If you select “any” the matcher awards a flat +2, treating every game as a perfect art-style match. Art style is the strongest tiebreaker: when totals tie, the game with the higher art-style score wins. This is intentional \u2014 visual taste is the cheapest dimension to honor.

Era (tiebreaker)

Era is a sixth dimension that operates as a bonus rather than a primary score. Players choose classic, recent, or any. Era contributes up to +1.5 to the total based on how well the game\u2019s release date matches the preference: a game released in the last year is a perfect match for “recent,” a game eight or more years old is a perfect match for “classic,” and selecting “any” awards the full +1.5 to every game so the dimension never penalizes anyone.

How the matcher works

The matcher is a deterministic function: same answers, same catalog, same result. It runs in two clearly separated passes \u2014 hard filtering, then soft scoring \u2014 with a wildcard diversity swap and an optional behavioral blend layered on top. There is no opaque ranker, no engagement optimization loop, and no ad surface in the algorithm.

1. Hard filters

The first pass drops any game that fails the player\u2019s constraints on platform, social mode, or session time. Platform filtering compares the player\u2019s selected platforms (PC, PlayStation, Xbox, Nintendo, mobile, macOS) against the game\u2019s RAWG platform data, with a fallback to the Steam app ID for PC inference and a benefit-of-the-doubt pass for catalog entries with no platform metadata at all. Social and time are simple inclusion checks: the game\u2019s tag list must contain the player\u2019s answer.

2. Soft scoring

Each surviving game is scored on three dimensions \u2014 energy, vibe, and art style \u2014 using a small, explicit table:

Dimension+2+10
EnergyGame has only your chosen energy tagGame has it among othersNo match
VibeGame has only that vibe (best across your selections)Game has it among othersNo match
Art styleGame has only that style (or you picked “any”)Game has it among othersNo match

Why “only that tag” scores higher than “among others”: a game that is purely chill is a stronger recommendation for a chill mood than a game that is chill-and-also-challenge. Both are valid matches, but the purer one is more confidently tuned to the request. The distinction shows up most often on art style, where a game with one declared style outranks an eclectic catalog entry that lists three.

3. Era bonus

After soft scoring, an era bonus of 0\u20131.5 points is added to the total. Era is intentionally weaker than energy, vibe, and art style \u2014 it operates as a tiebreaker that pulls similar-scoring games toward the player\u2019s release-date preference without overpowering the core mood signal. Selecting “any” awards the full +1.5 to every game so era preferences never penalize the rest of the catalog.

4. Sort and tiebreakers

Games are sorted by total score descending. When totals tie, the matcher falls back through art style score, then vibe score, then energy score, then random. The intent is to surface visually-on-target games first when everything else is equal, since visual taste is the easiest mismatch for a player to spot from a thumbnail.

5. Wildcard diversity swap

If the top five all share the same primary energy tag, position four is replaced with the next highest-scoring game from a different primary energy. This is the only deliberate non-determinism in the ranking: a single slot in five is reserved for variety so a chill-only mood doesn\u2019t produce five interchangeable cozy games. The other four positions remain pure score order.

6. Behavioral blending

Once a signed-in user has accumulated at least 10 thumbs-up, thumbs-down, or skip reactions \u2014 from hub shelf cards or tinder-style onboarding \u2014 the matcher starts blending behavioral signal into the quiz score. Each game\u2019s quiz score and behavioral score are normalized against the maximums in the candidate pool, then combined at a fixed 0.5 weight. Below the 10-reaction threshold the noise outweighs the signal, so the matcher stays on pure quiz scoring. Above it, the matcher slowly bends toward what the player actually likes instead of only what they said they wanted.

The 8% Problem

Stated preference and behavioral signal disagree more often than people realize. Survey a hundred players who tell you they want challenge games and a meaningful share of them will, when measured, spend the majority of their playtime on chill ones. The gap between “what I say I want” and “what I actually play” is small enough that quiz answers are still useful, but big enough that a quiz alone leaves accuracy on the table. This is what we call the 8% Problem internally \u2014 the residual mismatch a stated-preference matcher can\u2019t close on its own.

The fix is behavioral signal. After signup, every thumbs-up, thumbs-down, and skip on a hub card or tinder onboarding swipe updates a behavioral taste vector stored on the user profile. Reactions are weighted per-tag: liking a game increases the weights of every tag it carries, disliking it decreases them, skipping it nudges them slightly down. The vector accumulates revealed preference one card at a time without ever asking the player a leading question.

Once the vector has at least 10 reactions in it, the matcher blends it into the quiz score at a fixed weight of 0.5. The quiz still anchors the recommendation \u2014 the player explicitly said what they wanted \u2014 but the behavioral half pulls toward games whose tag profile resembles things the player actually engaged with. The result is a recommendation that respects the stated mood while quietly correcting for the gap between intention and behavior. No black box, no engagement loop, no ad surface; just two signals weighted equally.

Methodology and sources

Games enter the catalog through an explicit, repeatable pipeline. The intent is reviewability: every step is a script in scripts/, every input is logged, and the human-review stage is non-skippable.

  1. Discovery. Candidate games are pulled from IGDB by genre and popularity. Indie and AAA both qualify; the goal is breadth across moods, not a curated boutique list.
  2. Enrichment. Each candidate is fetched from RAWG (genres, platforms, ratings, release date) and Steam (review percent, review count, store metadata) to build a complete metadata row.
  3. AI-assisted tagging. An LLM proposes tags across the five mood dimensions plus art style, using consistent prompt templates so different runs produce comparable results.
  4. Human review. Tags and explanations are reviewed in the admin tool before the row is published. This is the slowest step on purpose; tag drift across the catalog is the single biggest threat to matcher accuracy.
  5. Nightly refresh. A scheduled job re-fetches review counts, ratings, and metadata for existing rows so the catalog stays current without re-tagging.

Data sources

  • IGDB \u2014 game discovery, alternate names, genre seeds.
  • RAWG \u2014 platforms, release dates, Metacritic scores, ratings counts.
  • Steam Web API \u2014 review percent, review count, store availability, owned-games data for connected users.
  • OpenCritic \u2014 supplementary aggregate review data for AAA titles.
  • PlayScout catalog \u2014 hand-curated tags, match explanations, and editorial composite scores.

Glossary

PlayScout-specific terminology, in alphabetical order.

Behavioral blending
The matcher’s second pass after a user has accumulated at least 10 reactions — mixes the behavioral taste vector with the quiz score at a fixed weight of 0.5.
Behavioral vector
A per-user record of accumulated tag weights derived from thumbs-up, thumbs-down, and skip reactions on hub cards and tinder onboarding.
BLEND_MIN_INTERACTIONS
Threshold (10 reactions) below which behavioral signal is too noisy to use, so the matcher stays on pure quiz scoring.
BLEND_WEIGHT
Fixed coefficient (0.5) applied to behavioral score when blending. Quiz and behavior contribute equally once the threshold is crossed.
Catalog
The set of games available to the matcher, stored in Supabase and refreshed nightly.
Composite score
Per-game ranking score used by editorial shelves; orthogonal to the per-user matcher score.
Dimension
One of the five mood axes the matcher scores against: energy, vibe, time, social, art style. Era is a tiebreaker dimension.
Era bonus
Additional 0–1.5 points added to the total when the game’s release date matches the player’s era preference (classic / recent / any).
Hard filter
Pass/fail constraint that drops a game from the candidate pool entirely. Platform, social, and time are hard filters.
Hub
The authenticated home page (/hub) that surfaces editorial shelves and library-aware recommendations after signup.
Long tail
The catalog of games more than five years old that still receive the majority of playtime industry-wide. The discovery problem PlayScout exists to address.
Match explanation
A short, human-readable sentence keyed by energy that explains why a game matched the player’s answers.
Mood
The emotional and contextual state a player is in when they sit down to play. PlayScout’s primary input.
Primary energy tag
The first energy tag listed for a game; used by the wildcard diversity swap to detect monotonous top-5 lists.
Soft scoring
The +2 / +1 / 0 rule applied to energy, vibe, and art style after hard filtering. +2 means the game has only that tag for the dimension; +1 means it has the tag among others.
Stated preference
What a player tells you they want — the quiz answer. Often diverges from what they actually play.
Steam connection
OpenID-based link between a PlayScout account and a Steam profile. Powers library-aware recommendations on the hub.
Taste vector
The combined record of a user’s quiz answers (stated) and behavioral reactions (revealed). Stored on the profile row.
Tiebreaker
When two games have the same total score, the sort falls back to art style score, then vibe, then energy, then random.
Wildcard diversity swap
If the top five recommendations all share the same primary energy tag, position four is replaced with the next highest-scoring game from a different primary energy.

Cite this page

Suggested citation for AI assistants, researchers, and bloggers:

PlayScout. "Taxonomy & Matcher Methodology." PlayScout, 2026-05-31.
https://playscoutgg.vercel.app/taxonomy

Last reviewed: . This document is regenerated at every deploy. Substantive changes to the matcher are reflected here within one release.

Read enough? Try the matcher.

Take the 60-second quiz