Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#, 2nd edition

Published by Addison-Wesley Professional (August 20, 2017) © 2018

  • Jeremy Gibson Bond
$63.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

Award-winning game designer and professor Jeremy Gibson Bond 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 students master the crucial practice of iterative prototyping using Unity. As the top game engine for cross-platform game development, Unity allows readers 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.

  • The first modern tutorial on both game design and development, revised: covers new Unity releases, C#, as well as Mobile and VR
  • Teaches best practices used by professional game designers to rapidly create working, playable prototypes
  • Covers today's leading, fastest growing game development platform: Unity
  • Focuses on C# and rapid game prototyping
  • Includes a full section of modular projects that can jumpstart your own games
The new edition will incorporate new Unity releases, as well as add additional platforms (Mobile and VR) and other significant updates throughout. See TOC section for a host of details on the new/updated/culled coverage.
Foreword by Richard Lemarchand    xxiii
Preface     xxvii

PART I:  GAME DESIGN AND PAPER PROTOTYPING     1
Chapter 1  Thinking Like a Designer     3

You Are a Game Designer     4
Bartok: A Game Exercise     4
The Definition of Game     10
Summary     17
Chapter 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     28
Summary     29
Chapter 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
Chapter 4  The Inscribed Layer     39
Inscribed Mechanics     40
Inscribed Aesthetics     47
Inscribed Narrative     49
Inscribed Technology     59
Summary     60
Chapter 5  The Dynamic Layer     61
The Role of the Player     62
Emergence     63
Dynamic Mechanics     64
Dynamic Aesthetics     70
Dynamic Narrative     75
Dynamic Technology     78
Summary     78
Chapter 6  The Cultural Layer     79
Beyond Play     80
Cultural Mechanics     81
Cultural Aesthetics     82
Cultural Narrative     83
Cultural Technology     84
Authorized Transmedia Are Not Part of the Cultural Layer     85
The Cultural Impact of a Game     86
Summary     89
Chapter 7  Acting Like a Designer     91
Iterative Design     92
Innovation     98
Brainstorming and Ideation     99
Changing Your Mind     103
Scoping     105
Summary     106
Chapter 8  Design Goals     107
Design Goals: An Incomplete List     108
Designer-Centric Goals     108
Player-Centric Goals     111
Summary     127
Chapter 9  Paper Prototyping     129
The Benefits of Paper Prototypes     130
Paper Prototyping Tools     131
Paper Prototyping for Interfaces     133
An Example Paper Prototype     134
Best Uses for Paper Prototyping     139
Poor Uses for Paper Prototyping     140
Summary     140
Chapter 10  Game Testing     143
Why Playtest?     144
Being a Great Playtester Yourself     144
The Circles of Playtesters     145
Methods of Playtesting     148
Other Important Types of Testing     156
Summary     157
Chapter 11  Math and Game Balance     159
The Meaning of Game Balance     160
The Importance of Spreadsheets     160
The Choice of Google Sheets for This Book     161
Examining Dice Probability with Sheets     162
The Math of Probability     174
Randomizer Technologies in Paper Games     178
Weighted Distributions     182
Permutations     184
Using Sheets to Balance Weapons     186
Positive and Negative Feedback     194
Summary     194
Chapter 12  Guiding the Player     195
Direct Guidance     196
Four Methods of Direct Guidance     197
Indirect Guidance     198
Seven Methods of Indirect Guidance     198
Teaching New Skills and Concepts     206
Summary     209
Chapter 13  Puzzle Design     211
Scott Kim on Puzzle Design     212
Puzzle Examples in Action Games     219
Summary     221
Chapter 14  The Agile Mentality     223
The Manifesto for Agile Software Development     224
Scrum Methodology     225
Burndown Chart Example     228
Creating Your Own Burndown Charts     238
Summary     238
Chapter 15  The Digital Game Industry     239
About the Game Industry     240
Game Education     243
Getting Into the Industry     246
Don't Wait to Start Making Games!     250
Summary     253

PART II:  DIGITAL PROTOTYPING     255
Chapter 16  Thinking in Digital Systems     257

Systems Thinking in Board Games     258
An Exercise in Simple Instructions     259
Game Analysis: Apple Picker     261
Summary     267
Chapter 17  Introducing the Unity Development Environment     269
Downloading Unity     270
Introducing Our Development Environment     273
Launching Unity for the First Time     277
The Example Project     278
Setting Up the Unity Window Layout     278
Learning Your Way Around Unity     283
Summary     283
Chapter 18  Introducing Our Language: C#     285
Understanding the Features of C#     286
Reading and Understanding C# Syntax     292
Summary     294
Chapter 19  Hello World: Your First Program     295
Creating a New Project     296
Making a New C# Script     298
Making Things More Interesting     303
Summary     312
Chapter 20  Variables and Components     313
Introducing Variables     314
Strongly Typed Variables in C#     314
Important C# Variable Types     316
The Scope of Variables     319
Naming Conventions     319
Important Unity Variable Types     320
Unity GameObjects and Components     327
Summary     330
Chapter 21  Boolean Operations and Conditionals     331
Booleans     332
Comparison Operators     336
Conditional Statements     339
Summary     345
Chapter 22  Loops     347
Types of Loops     348
Set Up a Project     348
while Loops     348
do...while Loops     352
for Loops     352
foreach Loops     354
Jump Statements within Loops     355
Summary     357
Chapter 23  Collections in C#     359
C# Collections     360
Using Generic Collections     362
List     363
Dictionary     368
Array     371
Multidimensional Arrays     376
Jagged Arrays     379
Whether to Use Array or List     383
Summary     383
Chapter 24  Functions and Parameters     387
Setting Up the Function Examples Project     388
Definition of a Function     388
Function Parameters and Arguments     391
Returning Values     393
Proper Function Names     395
Why Use Functions?     395
Function Overloading     397
Optional Parameters     398
The params Keyword     399
Recursive Functions     400
Summary     401
Chapter 25  Debugging     403
Getting Started with Debugging     404
Stepping Through Code with the Debugger     410
Summary     418
Chapter 26  Classes     419
Understanding Classes     420
Class Inheritance     428
Summary     431
Chapter 27  Object-Oriented Thinking     433
The Object-Oriented Metaphor     434
An Object-Oriented Boids Implementation     436
Summary     455

PART III:  GAME PROTOTYPE EXAMPLES AND TUTORIALS     457
Chapter 28  Prototype 1: Apple Picker     459

The Purpose of a Digital Prototype     460
Preparing     461
Coding the Apple Picker Prototype     470
GUI and Game Management     484
Summary     494
Chapter 29  Prototype 2: Mission Demolition     495
Getting Started: Prototype 2     496
Game Prototype Concept     496
Art Assets     497
Coding the Prototype     502
Summary     544
Chapter 30  Prototype 3: Space SHMUP     545
Getting Started: Prototype 3     546
Setting the Scene     548
Making the Hero Ship     549
Adding Some Enemies     557
Spawning Enemies at Random     566
Setting Tags, Layers, and Physics     568
Making the Enemies Damage the Player     571
Restarting the Game     575
Shooting (Finally)     577
Summary     581
Chapter 31  Prototype 3.5: Space SHMUP Plus     583
Getting Started: Prototype 3.5     584
Programming Other Enemies     584
Shooting Revisited     592
Showing Enemy Damage     609
Adding Power-Ups and Boosting Weapons     612
Making Enemies Drop Power-Ups     622
Enemy_4—A More Complex Enemy     625
Adding a Scrolling Starfield Background     634
Summary     636
Chapter 32  Prototype 4: Prospector Solitaire     639
Getting Started: Prototype 4     640
Build Settings     640
Importing Images as Sprites     642
Constructing Cards from Sprites     644
The Prospector Game     661
Implementing Prospector in Code     664
Implementing Game Logic     677
Adding Scoring to Prospector     685
Adding Some Art to the Game     698
Summary     704
Chapter 33  Prototype 5: Bartok     707
Getting Started: Prototype 5     708
Build Settings     710
Coding Bartok     711
Building for WebGL     750
Summary     752
Chapter 34  Prototype 6: Word Game     753
Getting Started: Prototype 6     754
About the Word Game     754
Parsing the Word List     756
Setting Up the Game     763
Laying Out the Screen     769
Adding Interactivity     778
Adding Scoring     782
Adding Animation to Letters     785
Adding Color     788
Summary     790
Chapter 35  Prototype 7: Dungeon Delver     793
Dungeon Delver—Game Overview     794
Getting Started: Prototype 7     795
Setting Up the Cameras     796
Understanding the Dungeon Data     798
Adding the Hero     808
Giving Dray an Attack Animation     818
Dray's Sword     821
Enemy: Skeletos     822
The InRoom Script     825
Per-Tile Collision     828
Aligning to the Grid     832
Moving from Room to Room     839
Making the Camera Follow Dray     842
Unlocking Doors     843
Adding GUI to Track Key Count and Health     848
Enabling Enemies to Damage Dray     852
Making Dray's Attack Damage Enemies     856
Picking Up Items     859
Enemies Dropping Items on Death     861
Implementing a Grappler     864
Implementing a New Dungeon—The Hat     872
The Delver Level Editor     877
Summary     877

PART IV:  APPENDICES     879
Appendix A  Standard Project Setup Procedure     881
Appendix B  Useful Concepts     887
Appendix C  Online Reference     947
Index     953




Jeremy Gibson Bond is a Professor of Practice, teaching game design and development in the Media and Information Department at Michigan State University (http://gamedev.msu.edu), which has been ranked a top-ten game design program for the last several years. Since 2013, he has served the IndieCade independent game festival and conference as the Chair of Education and Advancement, where he co-chairs the IndieXchange summit each year. In 2013, Jeremy founded the company ExNinja Interactive, through which he develops his independent game projects. Jeremy has also spoken several times at the Game Developers Conference.
Prior to joining the faculty at Michigan State, Jeremy taught for three years as a Lecturer in the Electrical Engineering and Computer Science department at the University of Michigan Ann Arbor, where he taught game design and software development. From 2009 to 2013, Jeremy was an Assistant Professor of Practice teaching game design for the Interactive Media and Games Division of the University of Southern California's School of Cinematic Arts, which was named the number one game design school in North America throughout his tenure there.
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. He started his career as a programmer and prototyper for companies such as Human Code and frog design; has also 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/Pogo.com, among others. While in graduate school, his team created the online game Skyrates, which won the Silver Gleemax Award for Strategic Gaming 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.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â