Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C# / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $39.38
Usually ships in 1-2 business days
(Save 43%)
Other sellers (Paperback)
  • All (15) from $39.38   
  • New (9) from $42.85   
  • Used (6) from $39.38   


Learn Game Design, Prototyping, and Programming with Today’s Leading Tools: Unity™ and C#

Award-winning game designer and professor Jeremy Gibson has spent the last decade teaching game design and working as an independent game developer. Over the years, his most successful students have always been those who effectively combined game design theory, concrete rapid-prototyping practices, and programming skills.

Introduction to Game Design, Prototyping, and Development is the first time that all three of these disciplines have been brought together into a single book. It is a distillation of everything that Gibson has learned teaching hundreds of game designers and developers in his years at the #1 university games program in North America. It fully integrates the disciplines of game design and computer programming and helps you master the crucial practice of iterative prototyping using Unity. As the top game engine for cross-platform game development, Unity allows you to write a game once and deliver it to everything from Windows, OS X, and Linux applications to webpages and all of the most popular mobile platforms.

If you want to develop games, you need strong experience with modern best practices and professional tools. There’s no substitute. There’s no shortcut. But you can get what you need in this book.


  • In-depth tutorials for eight different game prototypes
  • Developing new game design concepts
  • Moving quickly from design concepts to working digital prototypes
  • Improving your designs through rapid iteration
  • Playtesting your games and interpreting the feedback that you receive
  • Tuning games to get the right “game balance” and “game feel”
  • Developing with Unity, today’s best engine for independent game development
  • Learning C# the right way
  • Using Agile and Scrum to efficiently organize your game design and development process
  • Debugging your game code
  • Getting into the highly competitive, fast-changing game industry
Read More Show Less

Editorial Reviews

From the Publisher

Praise for Introduction to Game Design, Prototyping, and Development

Introduction to Game Design, Prototyping, and Development combines a solid grounding in evolving game design theory with a wealth of detailed examples of prototypes for digital games. Together these provide an excellent introduction to game design and development that culminates in making working games with Unity. This book will be useful for both introductory courses and as a reference for expert designers. I will be using this book in my game design classes, and it will be among those few to which I often refer.”

Michael Sellers

Professor of Practice in Game Design, Indiana University, former Creative Director at Rumble Entertainment, and General Manager at Kabam

“Prototyping and play-testing are often the most misunderstood and/or underutilized steps in the game design and development process. Iterative cycles of testing and refining are key to the early stages of making a good game. Novices will often believe that they need to know everything about a language or build every asset of the game before they can really get started. Gibson’s new book prepares readers to go ahead and dive in to the actual design and prototyping process right away; providing the basics of process and technology with excellent “starter kits” for different types of games to jumpstart their entry into the practice.”

Stephen Jacobs

Associate Director, RIT Center for Media, Art, Games, Interaction, and Creativity (MAGIC) and Professor, School of Interactive Games and Media

“Jeremy Gibson’s Introduction to Game Design, Prototyping, and Development deftly combines the necessary philosophical and practical concepts for anyone looking to become a Game Designer. This book will take you on a journey from high-level design theories, through game development concepts and programming foundations in order to make your own playable video games. Jeremy uses his years of experience as a professor to teach the reader how to think with vital game design mindsets so that you can create a game with all the right tools at hand. A must-read for someone who wants to dive right into making their first game and a great refresher for industry veterans.”

Michelle Pun

Senior Game Designer, Zynga

Read More Show Less

Product Details

  • ISBN-13: 9780321933164
  • Publisher: Addison-Wesley
  • Publication date: 7/11/2014
  • Series: Game Design Series
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 900
  • Sales rank: 178,243
  • Product dimensions: 7.00 (w) x 9.00 (h) x 1.60 (d)

Meet the Author

Jeremy Gibson is a lecturer teaching computer game design for the Electrical Engineering and Computer Science department at the University of Michigan Ann Arbor and is the founder of ExNinja Interactive, LLC. From 2009 to 2013, he was an Assistant Professor teaching game design and protyping for the Interactive Media and Games Division of the University of Southern California’s School of Cinematic Arts, which was the number one game design school in North America throughout his tenure there. Jeremy serves the IndieCade independent game festival as the Chair for Education and Advancement, where he is responsible for the IndieXchange and GameU conference tracks, and he has spoken at the Game Developers Conference every year since 2009.

Jeremy earned a Master of Entertainment Technology degree from Carnegie Mellon University’s Entertainment Technology Center in 2007 and a Bachelor of Science degree in Radio, Television, and Film from the University of Texas at Austin in 1999. Jeremy has worked as a programmer and prototyper for companies such as Human Code and frog design, has taught classes for Great Northern Way Campus (in Vancouver, BC), Texas State University, the Art Institute of Pittsburgh, Austin Community College, and the University of Texas at Austin, and has worked for Walt Disney Imagineering, Maxis, and Electronic Arts/, among others. While in graduate school, his team created the game Skyrates, which won the Silver Gleemax Award at the 2008 Independent Games Festival. Jeremy also apparently has the distinction of being the first person to ever teach game design in Costa Rica.

Read More Show Less

Table of Contents

Preface xxiv
Part I Game Design and Paper Prototyping 1
1 Thinking Like a Designer 3
You Are a Game Designer 4
Bartok: A Game Exercise 4
The Definition of Game 10
Summary 17
2 Game Analysis Frameworks 19
Common Frameworks for Ludology 20
MDA: Mechanics, Dynamics, and Aesthetics 20
Formal, Dramatic, and Dynamic Elements 24
The Elemental Tetrad 27
Summary 29
3 The Layered Tetrad 31
The Inscribed Layer 32
The Dynamic Layer 33
The Cultural Layer 34
The Responsibility of the Designer 36
Summary 37
4 The Inscribed Layer 39
Inscribed Mechanics 40
Inscribed Aesthetics 46
Inscribed Narrative 49
Inscribed Technology 58
Summary 59
5 The Dynamic Layer 61
The Role of the Player 62
Emergence 63
Dynamic Mechanics 64
Dynamic Aesthetics 70
Dynamic Narrative 75
Dynamic Technology 77
Summary 77
6 The Cultural Layer 79
Beyond Play 80
Cultural Mechanics 81
Cultural Aesthetics 82
Cultural Narrative 83
Cultural Technology 84
Authorized Transmedia Are Not in the Cultural Layer 85
The Cultural Impact of a Game 86
Summary 87
7 Acting Like a Designer 89
Iterative Design 90
Innovation 97
Brainstorming and Ideation 98
Changing Your Mind 101
Scoping! 103
Summary 104
8 Design Goals 105
Design Goals: An Incomplete List 106
Designer-Centric Goals 106
Player-Centric Goals 109
Summary 124
9 Paper Prototyping 125
The Benefits of Paper Prototypes 126
Paper Prototyping Tools 127
An Example of a Paper Prototype 129
Best Uses for Paper Prototyping 138
Poor Uses for Paper Prototyping 139
Summary 140
10 Game Testing 141
Why Playtest? 142
Being a Great Playtester Yourself 142
The Circles of Playtesters 143
Methods of Playtesting 146
Other Important Types of Testing 152
Summary 153
11 Math and Game Balance 155
The Meaning of Game Balance 156
Installing Apache OpenOffice Calc 156
Examining Dice Probability with Calc 157
The Math of Probability 165
Randomizer Technologies in Paper Games 170
Weighted Distributions 173
Permutations 175
Positive and Negative Feedback 176
Using Calc to Balance Weapons 177
Summary 183
12 Puzzle Design 185
Puzzles Are Almost Everywhere 186
Scott Kim on Puzzle Design 186
Puzzle Examples in Action Games 193
Summary 195
13 Guiding the Player 197
Direct Guidance 198
Indirect Guidance 200
Teaching New Skills and Concepts 207
Summary 210
14 The Digital Game Industry 211
About the Game Industry 212
Game Education 215
Getting into the Industry 217
Don’t Wait to Start Making Games! 221
Summary 222
Part II Digital Prototyping 223
15 Thinking in Digital Systems 225
Systems Thinking in Board Games 226
An Exercise in Simple Instructions 226
Game Analysis: Apple Picker 229
Summary 234
16 Introducing Our Development Environment: Unity 235
Downloading Unity 236
Introducing Our Development Environment 237
Running Unity for the First Time 241
Setting Up the Unity Window Layout 246
Learning Your Way Around Unity 251
Summary 251
17 Introducing Our Language: C# 253
Understanding the Features of C# 254
Reading and Understanding C# Syntax 259
Summary 262
18 Hello World: Your First Program 263
Creating a New Project 264
Making a New C# Script 266
Making Things More Interesting 271
Summary 279
19 Variables and Components 281
Introducing Variables 282
Strongly Typed Variables in C# 282
Important C# Variable Types 283
The Scope of Variables 286
Naming Conventions 286
Important Unity Variable Types 288
Unity GameObjects and Components 294
Summary 297
20 Boolean Operations and Conditionals 299
Booleans 300
Comparison Operators 303
Conditional Statements 307
Summary 313
21 Loops 315
Types of Loops 316
Set Up a Project 316
while Loops 316
do...while Loops 319
for Loops 320
foreach Loops 322
Jump Statements within Loops 322
Summary 325
22 Lists and Arrays 327
C# Collections 328
List 328
Array 333
Multidimensional Arrays 337
Jagged Arrays 340
Whether to Use Array or List 344
Summary 344
Summary Exercise 344
Moving Forward 347
23 Functions and Parameters 349
Set Up the Function Examples Project 350
Definition of a Function 350
Function Parameters and Arguments 353
Returning Values 354
Proper Function Names 356
When Should You Use Functions? 356
Function Overloading 358
Optional Parameters 359
The params Keyword 359
Recursive Functions 361
Summary 362
24 Debugging 363
Getting Started with Debugging 364
Stepping Through Code with the Debugger 369
Summary 377
25 Classes 379
Understanding Classes 380
Class Inheritance 387
Summary 390
26 Object-Oriented Thinking 391
The Object-Oriented Metaphor 392
An Object-Oriented Boids Implementation 394
Summary 403
27 The Agile Mentality 405
The Manifesto for Agile Software Development 406
Scrum Methodology 407
Creating Your Own Burndown Charts 416
Summary 416
Part III Game Prototype Examples and Tutorials 417
28 Prototype 1: Apple Picker 419
The Purpose of a Digital Prototype 420
Preparing 421
Coding the Apple Picker Prototype 428
GUI and Game Management 440
Summary 448
Next Steps 448
29 Prototype 2: Mission Demolition 449
Getting Started: Prototype 2 450
Game Prototype Concept 450
Art Assets 451
Coding the Prototype 456
Summary 485
Next Steps 485
30 Prototype 3: Space SHMUP 487
Getting Started: Prototype 3 488
Setting the Scene 490
Making the Hero Ship 491
Adding Some Enemies 504
Spawning Enemies at Random 509
Setting Tags, Layers, and Physics 510
Making the Enemies Damage the Player 513
Restarting the Game 518
Shooting (Finally) 519
Adding Power-Ups 531
Resolving Race Conditions in Code 538
Making Enemies Drop Power-Ups 541
Programming Other Enemies 543
Adding Particle Effects and Background 556
Summary 558
Next Steps 558
31 Prototype 4: Prospector Solitaire 561
Getting Started: Prototype 4 562
Build Settings 562
Importing Images as Sprites 564
Constructing Cards from Sprites 566
The Prospector Game 583
Implementing Prospector in Code 585
Adding Scoring to Prospector 604
Summary 619
Next Steps 620
32 Prototype 5: Bartok 621
Getting Started: Prototype 5 622
Build Settings 623
Coding Bartok 624
Summary 655
Next Steps 655
33 Prototype 6: Word Game 657
Getting Started: Word Game Prototype 658
About the Word Game 658
Parsing the Word List 660
Setting Up the Game 665
Laying Out the Screen 671
Adding Interactivity 680
Adding Scoring 684
Adding Animation 687
Adding Color 690
Summary 692
Next Steps 692
34 Prototype 7: QuickSnap 695
Getting Started: QuickSnap Prototype 696
Building the Scene 697
Coding the Game 706
Summary 725
Next Steps 726
35 Prototype 8: Omega Mage 727
Getting Started: Omega Mage Prototype 728
Building the Scene 730
The Mage Character 735
Mouse Interaction 737
Movement 741
The Inventory and Selecting Elements 747
Casting the Fire Ground Spell 754
Changing Rooms 764
Spawning Enemies 768
Abstracting the Enemy Interface 782
Making an EnemyFactory 785
Summary 789
Next Steps 789
Thanks! 789
Part IV Appendices 791
A Standard Project Setup Procedure 793
B Useful Concepts 799
C# and Unity Coding Concepts 801
Math Concepts 822
Interpolation 831
Roleplaying Games 846
User Interface Concepts 848
C Online Reference 851
Tutorials 852
Unity Resources 852
Programming 853
Searching Tips 854
Finding Assets 854
Educational Software Discounts 855
Index 857

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)