Introduction to Game Design, Prototyping, and Development, 3rd Edition

Book description

A hands-on book that explains concepts "by doing," Introduction to Game Design, Prototyping, and Development, Third Edition, takes readers through the process of making both paper and digital game prototypes. Rather than focusing on a single tutorial, as most Unity books have done, this book explores several small prototypes, reinforcing critical concepts through repetition from project to project. Author Jeremy Gibson Bond's approach creates a stable of "base projects" that serve as starters for readers looking to create their own games), while skipping the aspects of project creation (e.g. modeling, animation, etc.) that are less central to this book. Intermediate readers may browse this book for a tutorial that clarifies the specific prototyping or programming concept that they wish to learn.

This book begins with an introduction to general game design concepts and basic programing concepts. C# is the chosen language used in this book, and it is easy to learn and enforces good coding practices. Game prototyping and programming tutorials use Object-Oriented Programming (OOP), the standard for coding over the past 30+ years, in addition to the new Data-Oriented Technology Stack (DOTS) and Entity Component System (ECS), providing a well-rounded approach. Game development concepts covered help readers find further resources to expand their game design knowledge.

Table of contents

  1. Cover Page
  2. HalfTitle Page
  3. Title Page
  4. Copyright Page
  5. Pearson’s Commitment to Diversity, Equity, and Inclusion
  6. Dedication Page
  7. Contents
  8. Table of Contents
  9. Foreword
  10. Preface
    1. The Purpose of This Book
    2. Who This Book Is For
    3. The Structure of this Book
    4. Book Website
    5. Why You Should Learn Unity and C#
    6. Conventions in This Book
    7. There Are Other Books Out There
  11. Acknowledgments
  12. About the Author
  13. Part I: Game Design and Paper Prototyping
    1. Chapter 1. Thinking Like a Designer
      1. You Are a Game Designer
      2. Bartok: A Game Exercise
      3. The Definition of Game
      4. Summary
    2. Chapter 2. Game Analysis Frameworks
      1. Common Frameworks for Ludology
      2. MDA: Mechanics, Dynamics, and Aesthetics
      3. Formal, Dramatic, and Dynamic Elements
      4. The Elemental Tetrad
      5. Summary
    3. Chapter 3. The Layered Tetrad
      1. The Inscribed Layer
      2. The Dynamic Layer
      3. The Cultural Layer
      4. The Responsibility of the Designer
      5. Summary
    4. Chapter 4. The Inscribed Layer
      1. Inscribed Mechanics
      2. Inscribed Aesthetics
      3. Inscribed Narrative
      4. Inscribed Technology
      5. Summary
    5. Chapter 5. The Dynamic Layer
      1. The Role of the Player
      2. Emergence
      3. Dynamic Mechanics
      4. Dynamic Aesthetics
      5. Dynamic Narrative
      6. Dynamic Technology
      7. Summary
    6. Chapter 6. The Cultural Layer
      1. Beyond Play
      2. Cultural Mechanics
      3. Cultural Aesthetics
      4. Cultural Narrative
      5. Cultural Technology
      6. Authorized Transmedia Are Not Part of the Cultural Layer
      7. The Cultural Impact of a Game
      8. Summary
    7. Chapter 7. Acting Like a Designer
      1. Iterative Design
      2. Innovation
      3. Brainstorming and Ideation
      4. Changing Your Mind
      5. Scoping!
      6. Summary
    8. Chapter 8. Design Goals
      1. Design Goals: An Incomplete List
      2. Designer-Centric Goals
      3. Player-Centric Goals
      4. Summary
    9. Chapter 9. Paper Prototyping
      1. The Benefits of Paper Prototyping
      2. Paper Prototyping Tools
      3. Paper Prototyping for Interfaces
      4. A Paper Prototype Example
      5. Best Uses for Paper Prototyping
      6. Poor Uses for Paper Prototyping
      7. Summary
    10. Chapter 10. Game Testing
      1. Why Playtest?
      2. Being a Great Playtester Yourself
      3. The Circles of Playtesters
      4. Methods of Playtesting
      5. Other Important Types of Testing
      6. Summary
    11. Chapter 11. Math and Game Balance
      1. The Meaning of Game Balance
      2. The Importance of Spreadsheets
      3. Examining Dice Probability with Sheets
      4. The Math of Probability
      5. Randomizer Technologies in Paper Games
      6. Weighted Distributions
      7. Weighted Probability in Google Sheets
      8. Permutations
      9. Using Sheets to Balance Weapons
      10. Positive and Negative Feedback
      11. Summary
    12. Chapter 12. Guiding the Player
      1. Direct Guidance
      2. Indirect Guidance
      3. Teaching New Skills and Concepts
      4. Summary
    13. Chapter 13. Puzzle Design
      1. Scott Kim on Puzzle Design
      2. The Steps of Solving a Puzzle
      3. Puzzle Examples in Action Games
      4. Designing and Developing Puzzle Games
      5. Summary
    14. Chapter 14. The Agile Mentality
      1. The Manifesto for Agile Software Development
      2. Scrum Methodology
      3. Burndown Chart Example
      4. Creating Your Own Burndown Charts
      5. Summary
    15. Chapter 15. The Digital Game Industry
      1. About the Game Industry
      2. Game Education
      3. Getting Into the Industry
      4. Don’t Wait to Start Making Games!
      5. Summary
  14. Part II: Programming C# in Unity
    1. Chapter 16. Thinking in Digital Systems
      1. Systems Thinking in Board Games
      2. An Exercise in Simple Instructions
      3. Game Analysis: Apple Picker
      4. Summary
    2. Chapter 17. Introducing Unity HUB and The Unity Editor
      1. Downloading Unity
      2. Introducing Our Development Environment
      3. Creating a Unity Account
      4. Checking Out a Sample Project
      5. Creating Your First Unity Project
      6. Learning Your Way Around Unity
      7. Setting Up the Unity Window Layout
      8. Summary
    3. Chapter 18. Introducing Our Language: C#
      1. Understanding the Features of C#
      2. Reading and Understanding C# Syntax
      3. Summary
    4. Chapter 19. Hello World: Your First Program
      1. Creating a New Project
      2. Making a New C# Script
      3. Making Things More Interesting
      4. Summary
    5. Chapter 20. Variables and Components
      1. Introducing Variables
      2. Statically Typed Variables in C#
      3. Important C# Variable Types
      4. The Scope of Variables
      5. Naming Conventions
      6. Important Unity Variable Types
      7. Unity GameObjects and Components
      8. Summary
    6. Chapter 21. Boolean Operations and Conditionals
      1. Booleans
      2. Comparison Operators
      3. Conditional Statements
      4. Summary
    7. Chapter 22. Loops
      1. Types of Loops
      2. Set Up a Project
      3. while Loops
      4. do…while Loops
      5. for Loops
      6. foreach Loops
      7. Jump Statements within Loops
      8. Summary
    8. Chapter 23. Collections in C#
      1. C# Collections
      2. Using Generic Collections
      3. List<T>
      4. Dictionary<Tkey, TValue>
      5. Array
      6. Multidimensional Arrays
      7. Jagged Arrays
      8. Jagged List<T>s
      9. Choosing Whether to Use an Array or List
      10. Summary
    9. Chapter 24. Functions and parameters
      1. Setting Up the Function Examples Project
      2. Definition of a Function
      3. What Happens When You Call a Function?
      4. Function Parameters and Arguments
      5. Returning Values
      6. Returning void
      7. Function Naming Conventions
      8. Why Use Functions?
      9. Function Overloading
      10. Optional Parameters
      11. The params Keyword
      12. Recursive Functions
      13. Summary
    10. Chapter 25. Debugging
      1. Getting Started with Debugging
      2. Stepping Through Code with the Debugger
      3. Summary
    11. Chapter 26. Classes
      1. Understanding Classes
      2. Class Inheritance
      3. Summary
    12. Chapter 27. Object-Oriented Thinking
      1. The Object-Oriented Metaphor
      2. An Object-Oriented Boids Implementation
      3. Summary
    13. Chapter 28. Data-Oriented Design
      1. The Theory of Data-Oriented Design
      2. DOTS Tutorial and Example
      3. The Future of Unity DOTS
      4. Summary
  15. Part III: Game Prototype Tutorials
    1. Chapter 29. Apple Picker
      1. What You Will Learn
      2. The Apple Picker Prototype
      3. The Purpose of a Digital Prototype
      4. Preparing
      5. Coding the Apple Picker Prototype
      6. GUI and Game Management
      7. Summary
    2. Chapter 30. Mission Demolition
      1. What You Will Learn
      2. The Mission Demolition Prototype
      3. Getting Started: Mission Demolition
      4. Game Prototype Concept
      5. Art Assets
      6. Coding the Prototype
      7. From Prototype to First Playable
      8. Summary
    3. Chapter 31. Space shmup – Part 1
      1. What You Will Learn
      2. Getting Started: Space SHMUP
      3. Setting the Scene
      4. Making the Hero Ship
      5. Adding Some Enemies
      6. Spawning Enemies at Random
      7. Setting Tags, Layers, and Physics
      8. Making the Enemies Damage the Player
      9. Restarting the Game
      10. Shooting (Finally)
      11. Summary
    4. Chapter 32. Space shmup – Part 2
      1. What You Will Learn
      2. Getting Started: Space SHMUP – Part 2
      3. Enemy to Enemy_0
      4. Programming Other Enemies
      5. Shooting Revisited
      6. Showing Enemy Damage
      7. Adding Power-Ups and Boosting Weapons
      8. Race Conditions & Script Execution Order
      9. Making Enemies Drop PowerUps
      10. Enemy_4 — A More Complex Enemy
      11. Tuning Settings for the Game Entities
      12. Adding a Scrolling Starfield Background
      13. Summary
    5. Chapter 33. Prospector Solitaire – Part 1
      1. What You Will Learn
      2. The Prospector Game
      3. Getting Started: Prospector Solitaire
      4. Build Settings
      5. Setting Up the Unity Window Layout
      6. Setting Up the Camera and Game Pane
      7. Importing Images as Sprites
      8. Constructing Cards from Sprites
      9. Implementing Prospector in Code
      10. Implementing Game Logic
      11. Summary
    6. Chapter 34. Prospector Solitaire – Part 2
      1. What You Will Learn
      2. Getting Started: Prospector – Part 2
      3. Additional Prospector Game Elements
      4. Adding GUI Elements to Display the Score
      5. Building and Running Your WebGL Build
      6. Summary
    7. Chapter 35. Dungeon Delver – Part 1
      1. What You Will Learn
      2. The Dungeon Delver Game
      3. Getting Started: Dungeon Delver — Part 1
      4. Setting Up the Cameras
      5. Understanding the Dungeon Data
      6. Showing the Map with a Unity Tilemap
      7. Adding the Hero
      8. Giving Dray an Attack Animation
      9. Dray’s Sword
      10. Programmatic Collision in Unity Tilemap
      11. The InRoom Script
      12. Enemy: Skeletos
      13. Keeping GameObjects in the Room
      14. Aligning to the Grid
      15. Moving from Room to Room
      16. Making the Camera Follow Dray
      17. Summary
    8. Chapter 36. Dungeon Delver – Part 2
      1. What You Will Learn
      2. Getting Started: Dungeon Delver — Part 2
      3. Dungeon Delver — Part 2 Overview
      4. Implementing TileSwaps
      5. Swapping in LockedDoor GameObjects
      6. Implementing Keys and Unlocking Doors
      7. Adding GUI to Track Key Count and Health
      8. Enabling Enemies to Damage Dray
      9. Making Dray’s Attack Damage Enemies
      10. Modifying Enemy to Take Damage
      11. Picking Up Items
      12. Enemies Dropping Items on Death
      13. Implementing a New Dungeon—The Hat
      14. Implementing a Grappler
      15. Summary
  16. Part IV: Next Steps
    1. Chapter 37. Coding Challenges
      1. What Is a Coding Challenge?
      2. Getting Started on a Coding Challenge
      3. Filling in the Blanks
      4. How to Approach Each Challenge
    2. Chapter 38. Beyond this Book
      1. Continue to Learn Unity Development
      2. Build a Classic Game
      3. Start a Small Game Project or Prototype
      4. Make Games for Lifelong Enrichment
      5. Consider Going to School for GameDev
      6. Dig Deeper into Game & Systems Design
      7. Finally, Drop Me a Line
  17. Part V: Appendices
    1. Appendix A. Standard Project Setup Procedure
      1. The Set Up Sidebar for Tutorial Projects
      2. Setting Up a New Project
      3. Importing a Starter UnityPackage
      4. Setting the Scene Name
      5. Setting the Game Pane to Full HD (1080p)
      6. Setting Up a WebGL Build
      7. Understanding Unity Version Control
      8. Summary
    2. Appendix B. Useful Concepts
      1. Topics Covered
      2. C# and Unity Coding Concepts
      3. Math Concepts
      4. Pen-and-Paper Roleplaying Games
      5. User Interface Concepts
    3. Appendix C. Online Reference
      1. Tutorials
      2. Unite Conference
      3. Unity’s YouTube Channel
      4. Programming
      5. Searching Tips
      6. Finding and Creating Assets
      7. Other Tools and Educational Discounts
    4. Appendix D. Tips for Teaching From This Book
      1. The Goal of this Appendix
      2. Introduction to Game Design
      3. Introduction to Game Programming
      4. More Information Is Available Online

Product information

  • Title: Introduction to Game Design, Prototyping, and Development, 3rd Edition
  • Author(s): Jeremy Gibson Bond
  • Release date: June 2022
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780136619918