About This Page

This page covers game design theory and practice — from foundational concepts to advanced AAA and indie techniques. For technical implementation see Game Development. For engine scripting see Godot, Unity, Unreal Engine.

History

  • How: Game design as a discipline emerged from tabletop games (chess, Go) and arcade machines (1970s). As games grew complex, designers separated from programmers — formalizing design as its own craft.
  • Who: Pioneers include Shigeru Miyamoto (Mario, Zelda), Sid Meier (Civilization), Will Wright (SimCity, The Sims), and academics like Marc LeBlanc, Robin Hunicke, and Richard Bartle.
  • Why: To create intentional, meaningful interactive experiences — not just functional software. Good design is the difference between a game people play once and one they play for 1,000 hours.

Timeline

timeline
    title Game Design Evolution
    1970s : Arcade Era
          : Pong, Space Invaders
          : Pure mechanics, no story
    1980s : Home Consoles
          : Mario, Zelda, Metroid
          : Levels, progression, narrative emerge
    1990s : PC Golden Age
          : Doom, Warcraft, Myst, Final Fantasy
          : Genre diversification, 3D begins
    2000s : Online Multiplayer
          : WoW, Halo, Counter-Strike
          : Social and economy design
    2010s : Mobile and Indie Explosion
          : Angry Birds, Minecraft, Dark Souls
          : Free-to-play monetization dominates
    2020s : Live Service and AI Era
          : GaaS, UGC, AI-assisted design
          : Accessibility-first, player-driven economies

Introduction

  • Game design is the art and science of creating rules, systems, and experiences that make games fun, engaging, and meaningful. It sits at the intersection of psychology, systems thinking, storytelling, and UX design.

Game Design Knowledge Map

mindmap
  root((Game Design))
    Theory
      MDA Framework
      Game Loops
      Flow State
      Fun Theory
    Systems
      Mechanics
      Economy
      Progression
      Balancing
    Experience
      Player Psychology
      Difficulty
      Onboarding
      Game Feel
    Content
      Level Design
      World Building
      Encounter Design
      Puzzle Design
    Narrative
      Story Structure
      Dialogue
      Branching
      Environmental
    Production
      GDD
      Prototyping
      Playtesting
      Iteration

Types of Game Designers

RoleResponsibility
Systems DesignerRules, mechanics, economy, progression
Level DesignerSpaces, encounters, puzzles, flow
Narrative DesignerStory, dialogue, world-building, branching
UX DesignerMenus, HUD, accessibility, onboarding
Combat DesignerWeapons, enemies, abilities, feel
Economy DesignerResources, currencies, monetization
Technical DesignerScripting, tools, bridges design + code

Common Beginner Mistakes

MDA Framework

MDA Flow

graph LR
    DB["🎮 Designer builds"]
    M["⚙️ MECHANICS \n Rules & Systems \n Code & Logic"]
    D["🌀 DYNAMICS \n Emergent Behavior \n Patterns in Play"]
    A["✨ AESTHETICS \n Fun & Emotion \n Player Experience"]
    DB --> M
    M -->|produces| D
    D -->|creates| A
    PE["👤 Player experiences"]
    A2["✨ Feel something"]
    D2["🌀 Interact with systems"]
    M2["⚙️ Learn the rules"]
    PE --> A2
    A2 -->|leads to| D2
    D2 -->|reveals| M2

The 8 Aesthetics

IndexAestheticFeelExample Games
1SensationSensory pleasureRez, Thumper, Tetris Effect
2FantasyImmersion / worldSkyrim, Zelda, Elden Ring
3NarrativeStory / dramaThe Last of Us, Disco Elysium
4ChallengeSkill / masteryDark Souls, Celeste, CS:GO
5FellowshipSocial / coopAmong Us, WoW, It Takes Two
6DiscoveryExplorationMinecraft, No Man’s Sky, BotW
7ExpressionCreativity / selfThe Sims, Dreams, Minecraft
8SubmissionRelaxation / idleStardew Valley, Candy Crush

MDA in Practice

graph TD
    Q1["What should players FEEL?"]
    Q2["What behaviors produce that feeling?"]
    Q3["What rules create those behaviors?"]
    Q1 -->|Step 1 Define Aesthetics| Q2
    Q2 -->|Step 2 Design Dynamics| Q3
    Q3 -->|Step 3 Write Mechanics| DONE["✅ Game Design"]
    EX["Example: Stealth Game"]
    A["Aesthetic: Tension + Challenge"]
    B["Dynamics: cat-and-mouse, near-misses, planning"]
    C["Mechanics: FOV cones, noise radius, alert states, patrol routes"]
    EX --> A --> B --> C

Game Loops

Three Loop Hierarchy

graph TD
    SL["🌐 SOCIAL LOOP\nweeks to months"]
    S1["Guilds · Leaderboards · Seasons · Live Events"]
    ML["📈 META LOOP\nhours to days"]
    M1["Progression · Unlocks · Story · Base Building"]
    CL["⚡ CORE LOOP\nseconds to minutes"]
    C1["ACTION"] --> C2["RESULT"]
    C2 --> C3["REWARD"]
    C3 --> C4["UPGRADE"]
    C4 --> C1
    SL --> S1
    SL --> ML
    ML --> M1
    ML --> CL
    CL --> C1

Core Loop Examples

GameCore Loop
Clash of ClansAttack → Win → Gold → Build → Attack
DiabloKill → Loot → Equip → Kill stronger
Candy CrushMatch → Clear → Stars → Next level
FortniteLand → Loot → Fight → Win/Die → Queue
MinecraftExplore → Mine → Craft → Build → Explore
Dark SoulsExplore → Die → Learn → Try again → Win
Stardew ValleyFarm → Sell → Upgrade → Farm better

Feedback Loops

graph LR
    subgraph Positive["🔺 POSITIVE FEEDBACK LOOP"]
        P1["Win"] --> P2["Get Stronger"]
        P2 --> P3["Win Easier"]
        P3 --> P1
    end
    subgraph Negative["🔻 NEGATIVE FEEDBACK LOOP"]
        N1["Lose"] --> N2["Get Catch-up Help"]
        N2 --> N3["Recover"]
        N3 --> N1
    end
    Positive -->|"Risk: Snowballing\nFix: catch-up mechanics"| Balance["⚖️ Balanced Game"]
    Negative -->|"Risk: Feels unfair\nFix: subtle rubber-banding"| Balance
Loop TypeRiskFixExample
Positive (amplifying)Snowballing — early leader always winsCatch-up mechanicsMario Kart blue shell
Negative (balancing)Feels unfair to skilled playersSubtle rubber-bandingLeft 4 Dead AI Director

Player Psychology

Flow State

graph LR
    Boredom["😴 BOREDOM\nSkill > Challenge\nToo easy"] -->|increase challenge| Flow
    Flow["🎯 FLOW STATE\nSkill ≈ Challenge\nPerfect engagement"]
    Anxiety["😰 ANXIETY\nChallenge > Skill\nToo hard"] -->|reduce challenge or\nbuild player skill| Flow
    Flow -->|player skill grows| Boredom

Intrinsic vs Extrinsic Motivation

TypeExamplesEffect
Intrinsic — MasteryGetting better at a skillLong-term engagement
Intrinsic — AutonomyMaking meaningful choicesPlayer ownership
Intrinsic — PurposeFeeling actions matterEmotional investment
Intrinsic — CuriosityWanting to discover what’s nextExploration drive
Extrinsic — XP/LevelsVisible progress numbersShort-term motivation
Extrinsic — LootRandom rewardsVariable ratio dopamine
Extrinsic — AchievementsCompletion badgesCompletionist drive
Extrinsic — LeaderboardsSocial comparisonCompetitive drive

Bartle’s Player Types

graph TD
    subgraph World["Acting on World"]
        ACH["🏆 ACHIEVERS\nWin, collect, complete\nWoW raiders, completionists"]
        EXP["🗺️ EXPLORERS\nDiscover, map, understand\nMinecraft, open world fans"]
    end
    subgraph Players["Acting on Players"]
        KIL["⚔️ KILLERS\nDominate, compete, grief\nPvP, competitive games"]
        SOC["💬 SOCIALIZERS\nChat, cooperate, roleplay\nMMOs, party games"]
    end
Player TypeMotivationDesign For Them
AchieversWin, collect, completeAchievements, leaderboards, 100% completion
ExplorersDiscover, understandHidden areas, lore, procedural worlds
SocializersConnect, cooperateGuilds, chat, co-op, trading
KillersDominate, competePvP modes, ranked ladders, griefing tools

Dopamine & Reward Schedules

SchedulePatternAddictivenessExample
Variable RatioReward after unpredictable N actions⭐⭐⭐⭐⭐ HighestLoot boxes, random drops
Fixed RatioReward after every N actions⭐⭐⭐ MediumKill 10 enemies = reward
Fixed IntervalReward after fixed time⭐⭐⭐ MediumDaily login bonus
Variable IntervalReward after unpredictable time⭐⭐⭐⭐ HighRare world events

SECI Player Engagement Model

graph LR
    S["S — Skill Acquisition\nLearning controls and rules\nTutorial phase"] --> E
    E["E — Exploration\nDiscovering world and systems\nEarly game"] --> C
    C["C — Challenge\nTesting mastered skills\nMid game"] --> I
    I["I — Investment\nCaring about outcome\nLate game / story"] -->|Retention loop| C
    S -->|"Drop-off: tutorial too hard"| X1["❌ Player Leaves"]
    E -->|"Drop-off: world feels empty"| X2["❌ Player Leaves"]
    C -->|"Drop-off: difficulty spike"| X3["❌ Player Leaves"]
    I -->|"Drop-off: story boring"| X4["❌ Player Leaves"]

Game Mechanics Design

Mechanics Hierarchy

graph TD
    Core["⚡ Core Mechanics\nPrimary action — Shoot, Jump, Build, Match"]
    Secondary["🔧 Secondary Mechanics\nSupporting actions — Dodge, Reload, Craft"]
    Meta["📈 Meta Mechanics\nProgression rules — Level up, Unlock, Prestige"]
    Social["👥 Social Mechanics\nMultiplayer rules — Trade, Vote, Cooperate"]
    Core --> Secondary --> Meta --> Social
CategoryDescriptionExamples
CorePrimary player actionShoot, Jump, Build, Match
SecondarySupporting actionsDodge, Reload, Craft, Block
MetaProgression rulesLevel up, Unlock, Prestige, Season pass
SocialMultiplayer rulesTrade, Vote, Cooperate, Compete

Good Mechanic Checklist

Mechanics Interaction — Breath of the Wild

graph LR
    Fire["🔥 Fire"] --> Wood["Burns Wood"]
    Fire --> Ice["Melts Ice"]
    Fire --> Wind["Spreads in Wind"]
    Wood --> Updraft["Creates Updraft"]
    Updraft --> Glider["Paraglider Lifts"]
    Ice --> Path["Reveals Hidden Path"]
    Wind --> WindMatters["Wind mechanic\nbecomes more important"]

Decision Quality Framework

graph TD
    Decision["Player faces a Decision"]
    Q["Is there a clearly correct answer?"]
    Bad["❌ Bad Design\nFake choice — redesign needed"]
    Good["✅ Good Design\nReal trade-off — player must think"]
    Q -->|Yes| Bad
    Q -->|No| Good
    Good --> Dilemma["⚖️ Dilemma\nBoth choices have real cost"]
    Good --> Tradeoff["🔄 Trade-off\nGain something, lose something"]
    Good --> Irreversible["💀 Irreversible\nPermanent consequences, high stakes"]
Decision TypeQualityExample
Obvious — one choice clearly better❌ BadStrength +5 vs Strength +3
Dilemma — both choices have real cost✅ GoodSave the city or save your friend
Trade-off — gain something, lose something✅ GreatStrength +5 vs Speed +5
Irreversible — permanent consequences✅ High stakesPermadeath, faction choice

Difficulty Design

Difficulty Curve

graph LR
    Start["🟢 Start\nEasy intro"] --> Z1["Zone 1\nGradual rise"]
    Z1 --> B1["⚔️ Boss 1\nDifficulty spike"]
    B1 --> R1["😮‍💨 Relief\nNew mechanic taught safely"]
    R1 --> Z2["Zone 2\nHarder than Zone 1"]
    Z2 --> B2["⚔️ Boss 2\nBigger spike"]
    B2 --> R2["😮‍💨 Relief"]
    R2 --> Z3["Zone 3\nAll mechanics combined"]
    Z3 --> B3["⚔️ Final Boss\nPeak challenge"]

Difficulty Techniques

TechniqueHow It WorksUse Case
Enemy HP scalingMore health = longer fightsEndgame zones
Enemy damage scalingHigher damage = less margin for errorHard mode
Enemy countMore enemies = more chaosHorde sections
Enemy AISmarter behavior, better reactionsElite enemies
Resource scarcityLess ammo/health = more tensionHorror games
Time pressureCountdown timers, faster enemiesEscape sequences
Information hidingFog of war, hidden mechanicsStrategy games
Complexity increaseMore mechanics active simultaneouslyLate game
Punishment severityPermadeath, lose progress on deathRoguelikes

Tutorial Design Flow

graph TD
    Intro["Player starts game"]
    Skip["⏭️ Skip option for veterans"]
    Safe["Safe environment\nLow stakes, no punishment"]
    Teach["Introduce ONE mechanic\nvia environment cues\nnot text walls"]
    Test["Test the mechanic\nslightly harder version"]
    Fail["Fail → retry\nNo harsh punishment"]
    Combine["Combine with previous mechanic"]
    Next["Next mechanic"]
    Intro --> Skip
    Intro --> Safe --> Teach --> Test
    Test -->|Pass| Combine --> Next
    Test -->|Fail| Fail --> Teach
GameTutorial ApproachWhy It Works
PortalWalk through portal with no explanationDiscovery by doing
CelesteEach screen is a micro-tutorialMechanic introduced then tested
Dark SoulsTutorial boss that teaches rollingFailure teaches the core mechanic
Breath of the WildGreat Plateau teaches all 4 runesIsolated safe sandbox

Accessibility Options

OptionBenefitWho It Helps
Enemy damage multiplier (0.5x–2x)Adjust challengeCasual and hardcore players
Player health multiplierForgiveness controlNew players
Game speed (0.5x–1.5x)Reaction time adjustmentMotor-impaired players
Auto-aim assist toggleReduces aiming precision neededController players, accessibility
Colorblind modesDeuteranopia, Protanopia, Tritanopia~8% of male players
Subtitle size and contrastReadabilityHearing-impaired, older players
Input remappingCustom controlsAll players
One-handed modeFull game with one handMotor-impaired players

Level Design

Core Principles

PrincipleDescription
ReadabilityPlayer always knows where to go
FlowMovement through space feels natural
PacingTension and relief alternate
TeachingLevel teaches its own mechanics
RewardExploration is worth it
ReplayabilityMultiple paths or approaches

Linear Level Flow

graph TD
    Start["🚪 Start"] --> Intro["Intro Mechanic\nsafe, no enemies"]
    Intro --> C1["Challenge 1\nmechanic tested"]
    C1 --> Secret["🌟 Optional Secret\nreward exploration"]
    C1 --> C2["Challenge 2\nharder version"]
    Secret --> C2
    C2 --> Check["💾 Checkpoint"]
    Check --> C3["Challenge 3\ncombine mechanics"]
    C3 --> Boss["⚔️ Boss / Climax\nall mechanics tested"]
    Boss --> Reward["🏆 Reward + Exit"]

Open World Structure

graph TD
    Hub["🏠 Hub / Start"] --> POI1["📍 POI 1"]
    Hub --> POI2["📍 POI 2"]
    Hub --> POI3["📍 POI 3"]
    POI1 --> Hidden["🗝️ Hidden Area\nreward exploration"]
    POI2 --> POI4["📍 POI 4\nunlocked by POI 2"]
    POI3 --> POI5["📍 POI 5\nunlocked by POI 3"]
    POI4 --> Final["🏁 Final Area\nrequires 2+ POIs"]
    POI5 --> Final
    Hidden --> Final

Visual Language Table

Visual CuePlayer Reads It As
Bright light / warm glowGo here / safe zone
Open doorwayPath forward
Ledge with coins / collectiblesJump here
Red barrelExplosive / danger
Glowing objectInteractable / collectible
Narrow corridorTension / ambush ahead
Wide open spaceBoss arena / safe rest
Broken floor / cracked groundDon’t step here
Arrows on groundDirection to go
Warm colors (orange/red)Danger, fire, heat
Cool colors (blue/green)Safe, water, calm
High groundAdvantage, reward

Encounter Design Variables

VariableOptionsEffect
Enemy count1 / 5 / 20Complexity and chaos
Enemy typesMelee + ranged + tank + healerForces different tactics
Arena shapeOpen field / corridor / multi-levelChanges movement options
Cover placementSymmetric / asymmetric / sparseAffects strategy
Entry points1 / 2 / 3+Flanking options
Escape routesYes / NoTension level
ReinforcementsNone / waves / triggeredEscalation
Time pressureNone / timer / hostageUrgency

Puzzle Design Ladder

graph TD
    B["🟢 Beginner\nOne mechanic, one step\nSolution obvious"]
    M["🟡 Medium\nTwo mechanics, two steps\nRequires combining"]
    H["🟠 Hard\nThree mechanics\nNon-obvious combination"]
    E["🔴 Expert\nSubvert expectations\nUse mechanic differently"]
    B --> M --> H --> E
Good PuzzleBad Puzzle
Solution uses known mechanicsRequires knowledge not in the puzzle
All info visible in the puzzleHidden information required
”Aha moment” — obvious in hindsightArbitrary or illogical solution
Multiple solutions allowedOnly one rigid solution
Failure teachesFull reset on failure

Game Economy & Balancing

Economy Flow

graph LR
    subgraph Sources["💰 Sources"]
        S1["Kill enemies"]
        S2["Complete quests"]
        S3["Mining / Farming"]
        S4["Trading"]
    end
    subgraph Storage["🏦 Storage"]
        ST["Inventory · Wallet · Bank"]
    end
    subgraph Sinks["🕳️ Sinks"]
        SK1["Buy items"]
        SK2["Crafting"]
        SK3["Upgrading"]
        SK4["Death penalty"]
    end
    Sources --> Storage --> Sinks
    Sinks -->|"Sources ≈ Sinks"| Balanced["⚖️ Healthy Economy"]
    Sources -->|"Sources >> Sinks"| Inflation["📈 Inflation\nCurrency worthless"]
    Sinks -->|"Sinks >> Sources"| Deflation["📉 Deflation\nPlayers go broke"]

Balancing Methods

graph TD
    subgraph RPS["⚔️ Transitive Balance — Rock Paper Scissors"]
        A["Unit A"] -->|beats| B["Unit B"]
        B -->|beats| C["Unit C"]
        C -->|beats| A
    end
    subgraph Sit["🎯 Intransitive Balance — Situational"]
        X["Option X\nbest in situation 1"]
        Y["Option Y\nbest in situation 2"]
        Z["Option Z\nbest in situation 3"]
    end
MethodDescriptionUsed In
Transitive (RPS)A beats B, B beats C, C beats AFighting games, MOBAs, RTS
Intransitive (Situational)Each option best in specific contextWeapon loadouts, builds
Soft capDiminishing returns after thresholdStat scaling in RPGs
Hard capAbsolute maximum valueLevel 100, max gear score

Loot Rarity System

RarityColorDrop RateDescription
Common⬜ Grey/White60–70%Basic, always useful
Uncommon🟩 Green20–25%Slight upgrade
Rare🟦 Blue8–10%Meaningful upgrade
Epic🟪 Purple2–3%Significant power spike
Legendary🟧 Orange/Gold0.1–1%Game-changing, unique effect

Progression Curve Types

CurveXP PatternFeelBest For
Linear100 per levelPredictable, boringSimple mobile games
Exponential100, 200, 400, 800…Slows down, feels grindyMMOs with long tails
Polynomial100, 150, 210, 280…Sweet spot, feels fairMost RPGs
Flat then spikeEqual until boss gatesSudden wallsSoulslike games

Narrative Design

Story vs Narrative Design

ConceptDefinition
StoryWhat happens — plot, characters, events
Narrative DesignHow the story is delivered through gameplay
Delivery MethodDescriptionExample
CutscenesCinematic, high production, breaks gameplayFinal Fantasy, Metal Gear
EnvironmentalStory told through the world itselfDark Souls, Bioshock
DialogueNPC conversations, player choicesMass Effect, Disco Elysium
Codex / LoreOptional text for deep-diversDragon Age, Halo
EmergentPlayer creates their own story through playMinecraft, Dwarf Fortress
LudonarrativeMechanics reinforce the story themeCeleste, Papers Please

Ludonarrative Harmony vs Dissonance

graph TD
    subgraph Harmony["✅ Ludonarrative Harmony"]
        H1["Spec Ops: The Line\nYou commit atrocities\nGame makes you feel bad"]
        H2["Papers Please\nBureaucratic mechanics\nmirror oppressive theme"]
        H3["Celeste\nClimbing mechanic\nmirrors overcoming anxiety"]
    end
    subgraph Dissonance["❌ Ludonarrative Dissonance"]
        D1["Uncharted\nNathan Drake is a good guy\nbut kills 800 people"]
        D2["Far Cry 3\nJason is traumatized by violence\nbut you enjoy it"]
    end

Branching Narrative Structures

graph TD
    subgraph Linear["Linear — No branches"]
        LA["A"] --> LB["B"] --> LC["C"] --> LD["End"]
    end
    subgraph Converging["Converging — Illusion of choice"]
        CA["A"] --> CB1["B1"]
        CA --> CB2["B2"]
        CA --> CB3["B3"]
        CB1 --> CC["C"]
        CB2 --> CC
        CB3 --> CC
        CC --> CD["End"]
    end
    subgraph True["True Branching — Multiple endings"]
        TA["A"] --> TB1["B1"] --> TC1["End 1"]
        TA --> TB2["B2"] --> TC2["End 2"]
        TA --> TB3["B3"] --> TC3["End 3"]
    end
StructureCostPlayer FeelExample
LinearLowCinematic, guidedThe Last of Us
ConvergingMediumIllusion of choiceMass Effect
True BranchingVery HighReal agencyDisco Elysium
Modular (open world)HighFreedom + reactivitySkyrim, Fallout

Environmental Storytelling

TechniqueExample
Prop placementChild’s toy next to a grave tells a story
DestructionBurned village shows what happened before
Notes / journalsOptional lore for curious players
NPC behaviorCivilians fleeing = danger ahead
ArchitectureRich district vs slum tells social story
Weather / lightingDark and stormy = danger, bright = safe

Game Feel (Juice)

Components of Game Feel

ComponentDescriptionExample
Input responseHow fast does the game react to input?< 16ms ideal
AnimationDoes movement look and feel weighty?Squash and stretch
CameraDoes it enhance or fight the action?Screen shake on hit
Audio feedbackDoes every action have a sound?Satisfying click/crunch
Visual feedbackParticles, screen shake, hit flashDoom glory kills
HapticsController rumble at the right momentPS5 DualSense

Juice Techniques

TechniqueHow It WorksUsed In
Screen shakeSmall shake on hit, large on explosionAlmost every action game
Hit stop (freeze frames)Pause 2–5 frames on heavy hitStreet Fighter, Doom, Hollow Knight
Particle effectsCoins explode, enemies burst, footstep dustMario, Celeste
Sound layeringBase hit + crunch + reverb combinedDoom, Hades
Pitch variationSame sound at slightly different pitch each timePrevents audio fatigue
Coyote timeJump still works 100–150ms after walking off ledgeAlmost every platformer
Input bufferingAccept input 100–200ms before it can executeCeleste, Hollow Knight

Camera Design

Camera TypeDescriptionBest For
FixedCinematic, designer-controlledResident Evil classic, horror
FollowTracks player with smooth lerpMost 2D games
OrbitPlayer controls rotation3D action games
First PersonMaximum immersion, no character visibleFPS, horror
IsometricTop-down angleStrategy, RPG, Diablo
Over-shoulderThird person closeTPS, Resident Evil 4
Camera TechniqueEffect
Lead spaceCamera looks ahead of player movement direction
Trauma systemAccumulate trauma value, shake based on it
Zoom on actionZoom in for precision, zoom out for overview
Rule of thirdsPlayer at 1/3 of screen, not center

UI/UX Design for Games

HUD Design Principles

┌──────────────────────────────────────────────────────────┐
│  [Minimap]                              [Objective]      │
│                                                          │
│                                                          │
│                       [Crosshair]                        │
│                                                          │
│                                                          │
│  [Health ████░░]                    [Ammo: 30/90]        │
│  [Armor  ███░░░]                    [Grenade: 2]         │
└──────────────────────────────────────────────────────────┘

Diegetic vs Non-Diegetic UI

UI TypeDescriptionImmersionReadabilityExample
Non-diegeticFloating on screen, outside game worldLowHighHealth bar overlay
DiegeticExists inside the game worldHighMediumDead Space spine health
MetaPlayer knows, character doesn’tMediumHighPause menu, inventory
SpatialIn world space, not screen spaceMediumMediumFloating damage numbers
GameDiegetic UI Example
Dead SpaceHealth bar on Isaac’s spine
Alien IsolationMotion tracker is a physical device
Metroid PrimeHUD is inside Samus’s helmet visor
Resident Evil VillageInventory is a physical briefcase

Settings Categories (Standard)

CategoryOptions
GameplayDifficulty, assists, HUD options, camera sensitivity
GraphicsResolution, quality preset, FOV, brightness, VSync
AudioMaster, music, SFX, voice, subtitles, audio language
ControlsSensitivity, invert Y, button remapping, vibration
AccessibilityColorblind mode, text size, motor assists, one-handed

Monetization Design

Monetization Models

ModelRevenue SourcePlayer PerceptionExample
Premium (B2P)One-time purchaseMost respectedElden Ring, Celeste, BG3
SubscriptionMonthly feeAccepted for valueWoW, Xbox Game Pass
Free-to-PlayIn-app purchasesVaries widelyFortnite, Genshin Impact
FreemiumF2P + premium featuresMixedClash of Clans
GaaSSeasons + DLC + cosmeticsAccepted if fairDestiny 2, Warframe
Ad-supportedAd revenueTolerated on mobileCasual mobile games
Early AccessPre-release salesRisky but acceptedHades, Valheim

Ethical vs Predatory Monetization

graph TD
    subgraph Ethical["✅ Ethical Monetization"]
        E1["Cosmetics only\nno gameplay advantage"]
        E2["Battle pass with\nearnable currency"]
        E3["Clear pricing\nno confusing conversion"]
        E4["Pity systems\non gacha/loot boxes"]
        E5["No pay-to-win\nin competitive modes"]
    end
    subgraph Predatory["❌ Predatory Monetization"]
        P1["Loot boxes targeting minors"]
        P2["Artificial energy/stamina\nto force spending"]
        P3["Confusing currency\n1000 gems = $9.99 = ?"]
        P4["Pay-to-win in PvP"]
        P5["Manipulative countdown\ntimers on purchases"]
    end

Battle Pass Design

ElementGood DesignBad Design
Duration60–90 days (one season)Too short (FOMO) or too long (fatigue)
Free trackBasic rewards earnable by allWorthless filler only
Paid trackPremium cosmetics ~$10/seasonGameplay advantages
CurrencyEarnable premium currency to offset costPure money sink
CompletionAchievable for casual playersRequires daily play
Content expiryStays accessible after seasonGone forever (FOMO)

Genre-Specific Design Patterns

FPS (First-Person Shooter)

Design ElementConsiderations
Core loopMove → Aim → Shoot → Kill → Advance
TTK (Time-to-Kill)Short (<0.5s) = punishing skill-based / Long (>3s) = tactical
Movement feelMust be responsive, zero input lag
Weapon varietyEach weapon has a clear role and range
Map designSightlines, choke points, flanking routes
AudioFootsteps, reload, ambient all critical for awareness

RPG (Role-Playing Game)

Design ElementConsiderations
Core loopExplore → Fight → Level up → Get gear → Explore harder
Character buildsMultiple viable builds, not one optimal path
Quest typesMain (narrative) + Side (world-building) + Radiant (procedural)
DialogueChoices with consequences, NPC memory
EconomyLoot, crafting, trading, vendor balance

Platformer

Design ElementConsiderations
Core loopMove → Jump → Navigate → Reach goal
Movement feelCoyote time, jump buffering, variable jump height, air control
Level structureIntroduce → Test → Combine mechanics
Death recovery< 5 seconds to retry
SecretsReward exploration, not required for completion

Strategy (RTS/TBS)

Design ElementConsiderations
Core loopGather → Build → Research → Attack → Expand
BalanceRock-paper-scissors unit counters
InformationFog of war creates asymmetry
ComebackLosing player gets slight advantage
MapChoke points, multiple resource nodes, high ground

Roguelike / Roguelite

FeatureRoguelikeRoguelite
PermadeathYesYes
Procedural generationYesYes
Meta-progressionNoYes
ExampleNetHack, Caves of QudHades, Dead Cells, Slay the Spire
Design ElementConsiderations
Run length20–60 minutes per run
Build synergiesDiscovered mid-run, reward experimentation
RandomnessSeed-based — random but fair
DeathTeaches, not just punishes
Meta progressionPermanent unlocks, narrative advances between runs

Prototyping & Production

Prototype-First Mindset

Prototype TypeSpeedCostBest For
Paper prototypeHoursFreeTesting rules, economy, turn structure
Digital prototypeDaysLowTesting core mechanic feel
Vertical sliceWeeksMediumPitching to publishers, team alignment

Playtesting Rules

QuestionWhat It Reveals
Where did players get stuck?Tutorial / UX failures
What did players try that didn’t work?Missing affordances
What did players enjoy most?Core strengths to amplify
What did players ignore?Wasted content
Did players understand the core mechanic?Onboarding quality
Did players want to keep playing?Core loop quality

One-Page GDD Template

Game title:
Genre:
Core verb (what player does):
Core loop (3 steps):
Target aesthetic (from MDA):
Win condition:
Lose condition:
Unique selling point:
Target platform:
Target audience:

Advanced Design Systems

Emergent Gameplay

GameEmergent Behavior
MinecraftPlayers build computers using redstone
Dwarf FortressPlayers create epic stories from simulation
Breath of the WildPlayers use physics + fire + wind creatively
GTA OnlinePlayers create their own missions and economies

Systemic Design

graph LR
    Physics["⚙️ Physics"] --> Fire["🔥 Fire"]
    Fire --> Smoke["💨 Smoke"]
    Smoke --> AIVision["👁️ AI Vision Blocked"]
    Fire --> Spread["Spreads to objects"]
    Physics --> Destruction["Destruction of cover"]
    AIVision --> Investigate["Enemy investigates"]
    Destruction --> Tactics["New tactical options"]

Procedural Generation Design

TypeAlgorithmExample
TerrainPerlin/Simplex noise → heightmapsMinecraft, No Man’s Sky
DungeonsBSP trees, room placementBinding of Isaac, Spelunky
LootStat ranges + affixesDiablo, Path of Exile
QuestsTemplate + variable fillSkyrim radiant quests
NPCsTrait combinationsDwarf Fortress, RimWorld
MusicProcedural audioNo Man’s Sky

Live Service Design (GaaS)

CadenceContentPurpose
WeeklyChallenges, events, small updatesDaily/weekly engagement
MonthlyBalance patches, new cosmeticsFreshness
Seasonal (3 months)New battle pass, major contentLong-term retention
AnnualExpansion, major featureRe-engagement
Retention MechanicHow It Works
Daily login bonusReason to open game every day
Weekly challengesReason to play multiple sessions/week
Season passReason to play for 3 months
FOMO eventsLimited time content (use carefully)
Social featuresFriends, guilds, clans

AI-Assisted Game Design (2024+)

ToolUse Case
ChatGPT / ClaudeBrainstorm mechanics, write dialogue, generate quest ideas
Midjourney / DALL-EConcept art, mood boards, UI mockups
Inworld AI / ConvaiProcedural NPC dialogue
Unity ML-AgentsTrain AI to find exploits and imbalances
Meshy AI / Luma AI3D model generation from text/image
ElevenLabsAI voice acting for NPCs
Suno / UdioAI music generation for prototypes

Design Patterns Reference

Essential Patterns

PatternWhat It DoesExample
Core LoopRepeatable action cycleAny game
Feedback LoopAction → visible resultLeveling up
Progression GateLock content behind skillBoss gate
Catch-up MechanicHelp losing playerMario Kart blue shell
Pity SystemGuarantee after N triesGacha games
Soft CapDiminishing returnsStat scaling
Hard CapAbsolute maximumLevel 100
PrestigeReset for bonusCoD prestige
Seasonal ResetWipe + fresh startDiablo seasons
Onboarding FunnelGuided first experienceAny game
Tutorial IslandSafe learning zoneWoW, RuneScape
Breadcrumb TrailVisual path to goalCoins, light
Gating by TimeContent unlocks over timeMobile games
Gating by SkillContent unlocks by masterySoulslike
Gating by StoryContent unlocks by progressRPGs
Emergent NarrativeStory from systemsMinecraft
Procedural DifficultyAdapts to player skillLeft 4 Dead
Social ProofShow others’ progressLeaderboard
Loss AversionFear of losing progressPermadeath

Anti-Patterns (Avoid)

Anti-PatternWhy It’s Bad
PaddingArtificial length — fetch quests, grinding
Fake choicesDecisions with no real consequence
Invisible wallsArbitrary movement restrictions
Escort missionsProtect dumb AI — frustrating
Unskippable cutscenes after deathPunishes failure twice
Mandatory grindProgress locked behind repetition
BacktrackingForced revisit with no new content
Difficulty spikeSudden jump with no warning
Pixel huntingTiny interactive objects with no visual cue
Adventure game logicIllogical puzzle solutions
SoftlockPlayer stuck with no way out

Which Technology Supports

More Learn

Books (Essential Reading)

Free Online Resources

Design Tools

  • Machinations — Visual tool for designing and simulating game economies.
  • Twine — Free tool for prototyping narrative/branching story games.
  • GDevelop — Free, no-code game engine for rapid prototyping.
  • Excalidraw — Free whiteboard for sketching level layouts and system diagrams.
  • Bitsy — Tiny game maker for small narrative games. Great for prototyping.