Game Design Fundamentals
What is Game Design?
"Game design is the act of deciding what a game should be." โ Jesse Schell
The MDA Framework
| Component |
Description |
Designer's Lens |
| Mechanics |
Rules, systems, algorithms |
"What the game is" |
| Dynamics |
Run-time behavior |
"What the game does" |
| Aesthetics |
Player experience |
"How the game feels" |
Designer creates Mechanics โ generates Dynamics โ creates Aesthetics
Player experiences Aesthetics โ through Dynamics โ from Mechanics
Core Aesthetics (8 Kinds of Fun)
| Aesthetic |
Description |
Example |
| Sensation |
Sensory pleasure |
Guitar Hero, Rez |
| Fantasy |
Make-believe |
D&D, Skyrim |
| Narrative |
Story |
The Last of Us |
| Challenge |
Obstacle overcoming |
Dark Souls, Celeste |
| Fellowship |
Social framework |
MMOs, Among Us |
| Discovery |
Exploration |
Minecraft, No Man's Sky |
| Expression |
Self-expression |
Minecraft, Dreams |
| Submission |
Pastime |
Candy Crush, Solitaire |
Core Loops
The fundamental cycle of player activity.
Micro Loop (Second-to-Second)
Input โ Process โ Feedback โ State Change โ Repeat
Meso Loop (Minute-to-Minute)
Encounter โ Decision โ Outcome โ Reward โ Progress
Macro Loop (Session-to-Session)
Session Goal โ Play โ Progress โ Meta-progression โ Retention
Loop Design Principles
| Principle |
Application |
| Clear goal |
Player knows what to do |
| Immediate feedback |
Action โ visible result |
| Scaling challenge |
Difficulty matches skill |
| Meaningful choices |
Decisions matter |
Player Types (Bartle Types)
| Type |
Motivation |
Design For |
| Achievers |
Points, completion |
Leaderboards, achievements |
| Explorers |
Discovery, secrets |
Hidden areas, lore |
| Socializers |
Interaction |
Chat, guilds, trading |
| Killers |
Dominance |
PvP, leaderboards |
Design insight: Most players are hybrids. Design for multiple types.
Game Mechanics Categories
| Category |
Examples |
Purpose |
| Progression |
XP, levels, unlocks |
Long-term goals |
| Economy |
Currency, resources, trading |
Strategic decisions |
| Combat |
Attacks, defense, abilities |
Conflict resolution |
| Social |
Chat, guilds, trading |
Community |
| Exploration |
Map reveal, secrets |
Curiosity |
| Puzzle |
Logic, pattern matching |
Cognitive challenge |
Systems Design
Resource Economy
Sources โ Pools โ Sinks โ Feedback
| Element |
Examples |
| Sources |
Enemy drops, quest rewards, passive gen |
| Pools |
Gold, XP, materials, energy |
| Sinks |
Upgrades, repairs, cosmetics, taxes |
| Transformers |
Crafting, refining, trading |
Balance rule: Source rate โ Sink rate over time
Progression Systems
| Type |
Description |
Example |
| Linear |
Fixed path |
Mario levels |
| Branching |
Choices affect path |
Mass Effect |
| Open |
Free exploration |
Skyrim |
| Prestige |
Reset for bonuses |
Call of Duty |
Difficulty & Flow
Flow Channel (Csรญkszentmihรกlyi)
Anxiety โ
โ โโโโโโโโโโโโโโโ
โ โ FLOW โ โโโ Optimal experience
โ โโโโโโโโโโโโโโโ
โ Boredom โ
โโโโโโโโโโโโโโโโโโโโ Skill
Challenge โ
Dynamic Difficulty Adjustment (DDA)
# Simple DDA
if player_wins_streak > 3:
difficulty += 0.1
elif player_loses_streak > 2:
difficulty -= 0.1
difficulty = max(0.5, min(2.0, difficulty))
// Simple DDA
if (player_wins_streak > 3) {
difficulty += 0.1;
} else if (player_loses_streak > 2) {
difficulty -= 0.1;
}
difficulty = std::clamp(difficulty, 0.5, 2.0);
// Simple DDA
if (playerWinsStreak > 3) {
difficulty += 0.1;
} else if (playerLosesStreak > 2) {
difficulty -= 0.1;
}
difficulty = Math.clamp(difficulty, 0.5, 2.0);
// Simple DDA
if (playerWinsStreak > 3) {
difficulty += 0.1;
} else if (playerLosesStreak > 2) {
difficulty -= 0.1;
}
difficulty = Math.Clamp(difficulty, 0.5, 2.0);
Game Feel (Juice)
"The tactile, kinesthetic sense of interaction."
| Technique |
Effect |
| Screen shake |
Impact weight |
| Hit pause |
Hit confirmation |
| Particle effects |
Visual feedback |
| Sound design |
Audio confirmation |
| Coyote time |
Forgiving jumps |
| Input buffering |
Responsive controls |
Level Design
Pacing
Intro โ Tutorial โ Ramp โ Challenge โ Twist โ Climax โ Resolution
Design Patterns
| Pattern |
Description |
| Lock and key |
Gate progress with requirement |
| Loop |
Return to hub, new paths open |
| Branching |
Multiple paths to goal |
| Arena |
Confined combat space |
| Chase |
Moving threat |
Balancing
The Triangle of Balance
Power
โ
Cost โโผโ Utility
Rock-Paper-Scissors Balance
Unit A beats B beats C beats A
| Approach |
When to Use |
| Transitive |
Clear hierarchy (tier lists) |
| Intransitive |
RPS-style (counter-play) |
| Fruit |
Niche roles (specialized) |
Testing & Iteration
Playtest Types
| Type |
Stage |
Focus |
| Solo |
Early |
Core loop, controls |
| Friends |
Mid |
Fun, confusion |
| Strangers |
Late |
Accessibility, balance |
| Analytics |
Live |
Retention, churn, economy |
Data-Driven Design
| Metric |
What It Tells You |
| D1/D7/D30 retention |
Early/long-term engagement |
| Session length |
Engagement depth |
| Churn points |
Where players quit |
| Economy balance |
Inflation/deflation |
| Difficulty spikes |
Frustration points |
Further Reading
- The Art of Game Design โ Jesse Schell
- Rules of Play โ Salen & Zimmerman
- Game Mechanics: Advanced Game Design โ Joris Dormans
- Level Up! โ Scott Rogers
- Flow โ Mihaly Csikszentmihalyi