Home > Store

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

Register your product to gain access to bonus material or receive a coupon.

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


  • Sorry, this book is no longer in print.
Not for Sale



  • Teaches students 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 -- useful for classrooms as well as of indie game developers
  • Includes a full section of modular projects that can jumpstart students' own games
  • By Jeremy Gibson, former instructor in USC's nationally-renowned game development program
  • Description

    • Copyright 2015
    • Dimensions: 7" x 9"
    • Pages: 944
    • Edition: 1st
    • Book
    • ISBN-10: 0-321-93316-8
    • ISBN-13: 978-0-321-93316-4

    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


    Related Article

    Unity 101: A Video Tutorial with Jeremy Gibson

    Companion Site

    Please visit the site associated with Introduction to Game Design, Prototyping, and Development at book.prototools.net/

    Sample Content

    Online Sample Chapter

    Game Design Prototyping: Introducing the Unity Development Environment

    Sample Pages

    Download the sample pages (includes Chapter 16 and Index)

    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


    Submit Errata

    More Information

    InformIT Promotional Mailings & Special Offers

    I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


    Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

    This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

    Collection and Use of Information

    To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

    Questions and Inquiries

    For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

    Online Store

    For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


    Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

    Contests and Drawings

    Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


    If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

    Service Announcements

    On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

    Customer Service

    We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

    Other Collection and Use of Information

    Application and System Logs

    Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

    Web Analytics

    Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

    Cookies and Related Technologies

    This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

    Do Not Track

    This site currently does not respond to Do Not Track signals.


    Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


    This site is not directed to children under the age of 13.


    Pearson may send or direct marketing communications to users, provided that

    • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
    • Such marketing is consistent with applicable law and Pearson's legal obligations.
    • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
    • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

    Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

    Correcting/Updating Personal Information

    If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


    Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

    Sale of Personal Information

    Pearson does not rent or sell personal information in exchange for any payment of money.

    While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

    Supplemental Privacy Statement for California Residents

    California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

    Sharing and Disclosure

    Pearson may disclose personal information, as follows:

    • As required by law.
    • With the consent of the individual (or their parent, if the individual is a minor)
    • In response to a subpoena, court order or legal process, to the extent permitted or required by law
    • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
    • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
    • To investigate or address actual or suspected fraud or other illegal activities
    • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
    • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
    • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


    This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

    Requests and Contact

    Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

    Changes to this Privacy Notice

    We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

    Last Update: November 17, 2020