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 (including its advanced rendering, networking, performance patterns, and DOTS details), 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

  • Avoid These

    Building before designing (no GDD, no prototype) Copying mechanics without understanding WHY they work Designing for yourself, not your target player Ignoring playtesting until it’s too late Feature creep — adding more instead of polishing what exists Skipping the “why is this fun?” question No feedback loops — player actions have no visible consequence Flat difficulty — no curve, no escalation

MDA Framework

  • Core Principle

    MDA (Mechanics, Dynamics, Aesthetics) — the most widely used formal framework for analyzing and designing games. Created by Robin Hunicke, Marc LeBlanc, Robert Zubek (2004).

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
  • Design Rule 2-3 aesthetics intentionally. Dark Souls → Challenge + Fantasy + Discovery Animal Crossing → Submission + Expression + Fellowship Fortnite → Challenge + Fellowship + Expression

    Most successful games target

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

  • Flow Theory primary goal of game design. Flow = Skill level matches challenge level. As skill grows → challenge must grow too.

    Flow (Mihaly Csikszentmihalyi) — the mental state of complete immersion and enjoyment. The

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
  • Overjustification Effect kill intrinsic motivation if overused. When everything has a reward attached, the activity starts to feel like work. Best games combine both: "I want to master this boss" + "I also get rare loot when I beat it."

    Extrinsic rewards can

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
  • Design Tip

    MMOs must serve all 4 types. Single-player games can focus on 1-2. Know your primary player type before designing systems.

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
  • Ethical Note

    Variable ratio is the most powerful but also the most exploitative. Use responsibly — especially in games targeting younger players. Loot boxes using variable ratio on minors are banned in several countries.

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
  • Technical Implementation Unity remote Procedure Calls (RPCs) and Unity networkvariable & Syncing.

    For multiplayer/social mechanics, see RPC and state syncing patterns in

Good Mechanic Checklist

  • Mechanic Quality Test

    • ✅ Easy to learn, hard to master
    • ✅ Has clear cause and effect
    • ✅ Interacts meaningfully with other mechanics
    • ✅ Creates interesting decisions
    • ✅ Feels good to execute (game feel / juice)
    • ✅ Has depth — many ways to use it, many situations to apply it

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"]
  • Emergent Design other mechanics more interesting. Test: Can players combine mechanics in ways you didn't plan? If yes → emergent design ✅. If no → isolated mechanics ❌.

    Each mechanic makes

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"]
  • Pacing Rule gradual rise → spike (boss) → relief → rise again Each "relief" valley after a boss teaches new mechanics safely. Never stack 3 hard sections without a breathing room moment.

    Pattern:

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
  • Gold Standard The Last of Us Part II — 60+ accessibility options covering motor, visual, and audio needs. Accessibility is not a feature — it's a design responsibility.

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
  • Consistency Rule NEVER break it. If red = danger, red must ALWAYS mean danger. Breaking this destroys player trust.

    Once you establish a visual language,

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
  • Pity System (Modern Standard) guarantee one. Prevents extreme bad luck, maintains fairness. Used in: Genshin Impact, Diablo 4, Path of Exile, Honkai Star Rail.

    After N attempts without legendary →

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
  • Design Goal FEEL like the story, not just illustrate it.

    Make mechanics

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

  • Show, Don't Tell

    “The city was destroyed” (telling) vs Player walks through ruins, finds a family photo in rubble (showing)

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)

  • What is Game Feel? "juice" — the layer of polish that makes actions feel satisfying even before you understand the rules.

    Game feel = the tactile, moment-to-moment sensation of playing. Also called

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
  • Coyote Time & Input Buffering dramatically better. Without them, players constantly say "I pressed jump!" — with them, controls feel responsive and fair.

    These two techniques alone make a platformer feel

  • Technical Implementation DOTween and particle setups like Unity's Core Concepts — GameObjects & Components (under the ParticleSystem component) without allocating garbage memory (see Unity's Garbage Collection (GC) Optimization).

    In Unity, implementing juice like squash-and-stretch, screen shake, and visual feedback is commonly achieved via tweening libraries like

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
  • Technical Tooling Cinemachine (see Unity's Library & Frameworks).

    In Unity, advanced camera techniques like lead space, camera shake, and smart dampening are implemented out of the box using

UI/UX Design for Games

HUD Design Principles

  • HUD Rules

    1. Show only what the player needs RIGHT NOW
    2. Critical info (health, ammo) → most visible position
    3. Secondary info → corners, smaller
    4. Diegetic UI > non-diegetic UI (immersion)
    5. Never block the action with UI elements
┌──────────────────────────────────────────────────────────┐
│  [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
  • Industry Trend (2024+) banned in Belgium, Netherlands, and several other countries.

    Players increasingly reject predatory monetization. Games with ethical models (Hades, Baldur’s Gate 3) outperform predatory ones in long-term reputation and sales. Loot boxes targeting minors are

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
  • Map Design Formula (Competitive FPS)

    2 bomb sites (A and B) + Mid area connecting both + Multiple routes to each site + Choke points that reward grenades/utility CS:GO Dust2 is the gold standard.

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

  • Core Rule

    “Make the game before you make the game.” Build in hours, not weeks. Use placeholder art. Throw it away if it doesn’t work.

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

Playtesting Rules

  • Playtesting Rules

    1. Watch, don’t help — if player is stuck, note it, don’t explain
    2. Ask “what were you trying to do?” not “why did you do that?”
    3. Record sessions (with permission)
    4. Look for confusion, frustration, boredom
    5. Note where players stop playing (drop-off points)
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

  • Definition

    Emergent gameplay = complex player behavior arising from simple rules. The designer didn’t plan it — the system produced it.

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
  • How to Design for Emergence

    1. Make systems interact with each other (not isolated)
    2. Give players tools, not just content
    3. Simulate, don’t script
    4. Leave gaps for player creativity
    5. Don’t over-constrain — let players break things

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"]
  • Systemic Games

    Deus Ex, Dishonored, Prey, Hitman, Breath of the Wild Player action cascades through interconnected systems → emergent solutions

  • Decoupling Systemic Interactions Unity's ScriptableObject-based Variables & Events.

    For building decoupled, scriptable systemic events that allow objects to respond to triggers without hard references, see

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
  • Procedural Design Rules

    1. Seed-based — same seed = same result (reproducible)
    2. Constrained randomness — random within designer-set bounds
    3. Guarantee fun — ensure minimum quality floor
    4. Curated + procedural — hand-craft key moments, proc-gen the rest
  • Technical Implementation (Performance) Unity's Data-Oriented Technology Stack (DOTS).

    For high-performance voxel, terrain, or dungeon generation (e.g. generating millions of tiles/entities), you can offload calculations to multithreaded systems like the C# Job System and Burst Compiler. See

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
  • Important

    AI assists designers — it doesn’t replace design thinking. The “why is this fun?” question still requires human judgment.

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.