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
Products list

Details

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

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

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.

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

Need help? Get in touch