Chapter 1: The Game Jam: Make a real game…right now!
The Game Jam
Modifying the Game Jam
Best Practices
The Game Engine
Game Engine History
Unreal Versions
Installing the Unreal Engine
Game Design Fundamentals: Character Movement and Abilities
Game Design Fundamentals: Axis Direction in 3D Game Engines
Making Our Game
The Third-Person Platformer
Game Design Fundamentals: Graphics
Game Design Fundamentals: Constructivism
Testing The Game
Game Design Fundamentals: Bugs
Publishing The Game
Unreal 4 Publishing Directions
Common Build Problems
Problems running your game?
Packaging in Unreal 5
Game Design Fundamentals: The Post-Mortem
Game Design Fundamentals: Going with the Grain
Congratulations!
Chapter 2: After the Game Jam: Game Design Basics
From Penny Arcades to Video Games
Game Design Fundamentals: The Birth of the Game Designer
Game Design Fundamentals: Iteration
Video Games and the Personal Computer
Game Design Fundamentals: Level Design
What is Fun?
What is a Game?
Sports Games: Not True Games?
Game Design Fundamentals: The Magic Circle
More Basic Ludology
Practical Application
Conclusion
Chapter 3: Game Design Preproduction: The Paper Design Phase
Introduction
Why Do We Document?
What about Generative AI?
Different Types of Documents
The Pitch Document
Out Next Game: Filling in The Pitch Document
Game Design Fundamentals: Making 2D Maps
Patrick’s Time Travel Adventure
Game Overview
Overhead Map
Gameplay Summary
Visual References
The Completed Pitch Document
Game Design Fundamentals: Design Documents Aren’t Contracts
Game Design Fundamentals: When to Use a Larger GDD
Conclusion
Chapter 4: Game Design Production, Part 1: The Whitebox
Introduction
Setting Up Your Map
Game Design Fundamentals: How Big?
Scale: Don’t Build a World for Giants!
Revising Your Whitebox as You Build
Optional: The Unreal Landscape Tool
Designing Effective Game Environments
Game Design Fundamentals: Landmarks
Design Fundamentals: Avoiding The “Trackless Forest”
Game Design Fundamentals: Paths
Completing the Whitebox
Conclusion
Chapter 5: Scripting and Programming Basics
Introduction
Getting Started with Scripting and Programming
Introducing Unreal Blueprint – Events and Actions
Game Design Fundamentals: Pseudo-Code
The Mighty Trigger
Variables and Evaluating Conditions: If This, Do That!
What About Other Programming Languages?
Conclusion
Chapter 6: The First Prototype
Introduction
Getting The Key
Making the Key Blueprint
Game Design Fundamentals: Service to the Player
The Key-Door System: Some Game Development Fakery
Game Design Fundamentals: Thinking in Systems
Game Design Fundamentals: How Open Should a Game Be?
Conclusion
Chapter 7: The MVP (Minimum Viable Product)
Introduction
Reviewing Our Completed Systems
Our Combat System: Historical Perspective
Using A Test Map
Making The Blueprints
Char_Monster
Char_Monster’s Viewport
Char_Monster’s Event Graph
BP_Sword
BP_Sword’s Viewport
The Event Graph of BP_Sword
Game Design Fundamentals: Arrays
Level Placement
Creating A Winning Condition
Implementing
Conclusion
Chapter 8: Environment Art Basics
Introduction
Understanding Visuals – The Visual Language
The Visual Actors
Contrast and Affinity
Game Design Fundamentals: Contrast and Affinity
Exploring Contrast and Affinity in the King’s Castle
Kit Bashing
Game Design Fundamentals: The Beautiful Corner
Pass One: Basic Structure
Pass Two: Props
Pass Three: Lighting and Smaller Details
Game Design Fundamentals: Using Editors Efficiently
Job Complete? Maybe.
Conclusion
Chapter 9: User Interface Design
Introduction
Game Design Fundamentals: UI Design Basics
Game Design Fundamentals: UX Basics
The UI and UX Design of the Sample Game
Creating a UI Widget
Displaying A Game Widget to the Screen
Changing Fonts
Dynamically Changing UI Text
Solving the UX Problem
Constructing the Journal
Conclusion
Chapter 10: Refining Combat
Introduction
Creating More Interesting Gameplay
Game Design Fundamentals: Basic Actions and Strategic Actions
Implementing New Gameplay
Game Design Fundamentals: The Dot Product
Setting Up the Dot Product
Implementing the Critical Hit
Tweaking the Monster Movement Behavior and Game Rules
Game Design Fundamentals: Second-Order Consequences
Fixing the Monster’s Rotation
Experimenting with Level Design
Game Design Fundamentals: Using the Z-Axis
Even More Design Iteration?
Conclusion
Chapter 11: Spreadsheets and Procedural Design
Introduction
Designing A Simple Procedural System for PowerUps
Creating the Blueprints
Creating the Actor Blueprint
Creating a Simple Material
Creating The Spreadsheet and Data Table
Game Design Fundamentals: Spreadsheet Formulas
Manipulating Data Tables in Blueprints
Evaluating What Is Happening So Far
Testing and Observing Results
Placing a Power-Up Manually
Game Design Fundamentals: Hand Crafted versus Procedural Design
Conclusion
Chapter 12: Game AI: Overview and Practical Applications
The “Thinking” Computer
Don’t Get Confused: Rules-Based AI, Generative AI, and Procedural Systems
Game Design Essentials: Neural Networks
Traditional Video Game AI Explained
State Machines: An Explanation for Game Designers
Game AI After Pac-Man
Unreal Behavior Trees
Creating Some Enemies with Unique Behaviors
Step 1: Adjusting Our Third Person Character Blueprint and BP_Sword
Creating Our New Enemy Character
Creating Enemy_Controller
Enemy_Controller Setup 1
Blackboard Setup
Starting Our Behavior Tree Setup: A Randomly Patrolling Enemy That Shoots Fireballs
Behavior Tree Tasks: Where (Minimal) Blueprints Live
Decorators: Modifying Behavior Tree Nodes
Creating Our Behavior Tree – Thinking About Design First
Creating The Behavior Tree: Basic Setup
Creating A Behavior Tree: Enemy_Controller Scripting
Behavior Tree Implementation: Chase Player
Making Our Fireball
Continuing With Our Behavior Tree: The BTT_AttackPlayer Task
Decorators
Using a Simple Parallel Composite Node
Building BTT_FindRandomPatrol
Finalizing The Behavior Tree Graph
Creating A Neural Network Blueprint in Unreal
Implementing The Enemy
Conclusion
Chapter 13: More Behavior Trees and an Introduction to Neural Networks
Building On Our Traditional System, Then Exploring the Future
Continuing Our Behavior Trees: An Enemy That Patrols Two Points
Modifying the Patrol Subtree
Creating the Linear Patrol Subtree: BTT_LinearPatrol
Creating the Linear Patrol Subtree: BTT_Point1Reached
Finishing the New Behavior Tree 214 Final Setup in Your Map
Building A Single Neuron Monster
Basic Blueprint Setup
The Sigmoid Function
Error Amount, Weight Based Learning, Fireball Shooting
Creating the ShootFireball Function
Creating Our Homing Projectile
Setting Up the Material
Setting Input 1
Setting The Neuron Output
The Gameplay: What Do We Do with This?
Killing The Monster!
Setting up the Neural Net Monster on a Map
Game Design Essentials: Why Use Neural Networks in Games?
Experimentation: Perhaps the most important Game Design Essential
Conclusion
Chapter 14: Game Audio Basics
Introduction
Implementing Footsteps for the Player
Game Design Fundamentals: Audio Files
Creating an Environment Loop
Setting Up an Unreal Sound Cue
Placing Sounds and Manipulating Them in a Sound Cue
Game Design Fundamentals: Spatialization
Setting Up Other Game Sounds
Game Pickup Sounds
User Interface Sounds
Sounds for Combat
Implementing Game Music
Game Design Fundamentals: Stems and Music Implementation
Conclusion
Chapter 15: Polish
Introduction
Adding Particle Effects
Adding a Post Process Volume
Game Design Fundamentals: The Uncanny Valley
Revisiting Particle Effects
Conclusion
Chapter 16: Playtesting, Data Gathering, and Quality Assurance
Introduction
Game Design Fundamentals: The Inner Voice
Collecting Feedback
Game Design Fundamentals: Likert Scales and Thematic Analysis
Quality Assurance and Bug Reporting
Creating a Good Bug Report
Other Information in Bug Reports
Game Design Fundamentals: Regression Testing
Bug Reporting Software
Further Exploration: Software Development Methodology
Improving the Sample Game
Applying the Data
Conclusion
Chapter 17: Publishing Games
Introduction
Getting Your Game Out There
Publishing to Itch.IO
Publishing to Steam
Publishing on Home Game Consoles
Marketing And the Problem of Discovery
Don’t Worry and Make Things
Conclusion
Afterword
References
Appendix A: Documentation Examples
Game Pitch Document:
Full Game Design Document Example