Home > Store

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

eBook

  • Your Price: $61.59
  • List Price: $76.99
  • Includes EPUB and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    Adobe Reader PDF The popular standard, used most often with the free Acrobat® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Also available in other formats.

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

Description

  • Copyright 2022
  • Pages: 1296
  • Edition: 3rd
  • eBook
  • ISBN-10: 0-13-661996-7
  • ISBN-13: 978-0-13-661996-3

Learn All the Design & Development Skills You Need to Make Great Games with Unity, the World's Most Popular Professional Game Engine

If you want to design and develop games, there is no substitute for strong, hands-on experience with modern techniques and tools. That is exactly what this book provides. Leading instructor and indie game developer Jeremy Gibson Bond covers all three disciplines that you need to succeed: game design theory, rapid iterative prototyping, and practical programming.

Building on two previous best-sellers, this Third Edition contains hundreds of improvements across more than 400 new pages, all designed to make it even easier to understand and more useful in modern game development.

The five game tutorials have been thoroughly revised and expanded to cover even more best practices for prototyping and development, and all examples now use Unity 2020.3 LTS (Long Term Support), a stable and feature-rich standard for years to come. The new content includes greatly enhanced tutorials, a chapter on Unity's high-performance Data-Oriented Tech Stack (DOTS), new Coding Challenges to help you transition to making your own games from scratch, and tips on next steps after you have finished the book. The revamped website includes playable versions of all example games, plus an exciting new tool that provides immediate feedback on potential errors in your own code.

Part I: Game Design and Paper Prototyping

  • Use the Layered Tetrad to understand and design powerful interactive experiences.
  • Explore the core game design practices of paper prototyping, testing, and iteration.
  • Learn effective strategies for staying on track and on schedule.
  • Get tips for finding a rewarding job in today's industry.

Part II: Programming C# in Unity

  • Learn C# from the basics through class inheritance, object-oriented programming, and data-oriented design.

Part III: Game Prototype Tutorials

  • Implement games across five genres: arcade, casual physics, space shooter, solitaire card game, and top-down adventure game. Each game is designed to be easily extensible into your own projects.Take three games from prototype to first playable through new extended tutorial chapters that refi ne the games further than in previous editions of the book.

NEW! Part IV: Next Steps

  • Tackle the new, growing library of Coding Challenges, a proven method for transitioning from tutorials to creating your own projects from scratch.Get ideas and resources for new projects to tackle on your own.

Sample Content

Sample Pages

Download the sample pages (includes Chapter 1)

Table of Contents

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


Updates

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.

Overview


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.

Surveys

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.

Newsletters

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.

Security


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

Children


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

Marketing


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.

Choice/Opt-out


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.

Links


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