Description

Book Synopsis

Jeremy Gibson Bond is a Professor of Practice teaching game design and development at Michigan State University, which in 2022 was ranked the #1 public university for undergraduate game development by Princeton Review three of the last four 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 and has also chaired the GameU summit. In 2013, Jeremy founded the company ExNinja Interactive, through which he develops his independent game projects. Jeremy has spoken several times at the Game Developers Conference. He also created the official Unity Certified Programmer Exam Review specialization on Coursera, which thousands of developers (including several Unity employees) used to prepare for the UCP exam from 2018-2022.

Prior to joining the Games faculty at Michigan State, Jeremy taught for three years as a lecturer in the Electrical E

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
Dictionary
Array
Multidimensional Arrays
Jagged Arrays
Jagged Lists
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


Introduction to Game Design Prototyping and

    Product form

    £53.99

    Includes FREE delivery

    RRP £59.99 – you save £6.00 (10%)

    Order before 4pm today for delivery by Fri 26 Jun 2026.

    A Paperback / softback by Jeremy Gibson Bond

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Introduction to Game Design Prototyping and by Jeremy Gibson Bond

      Publisher: Pearson Education (US)
      Publication Date: 12/10/2022
      ISBN13: 9780136619949, 978-0136619949
      ISBN10: 136619940

      Description

      Book Synopsis

      Jeremy Gibson Bond is a Professor of Practice teaching game design and development at Michigan State University, which in 2022 was ranked the #1 public university for undergraduate game development by Princeton Review three of the last four 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 and has also chaired the GameU summit. In 2013, Jeremy founded the company ExNinja Interactive, through which he develops his independent game projects. Jeremy has spoken several times at the Game Developers Conference. He also created the official Unity Certified Programmer Exam Review specialization on Coursera, which thousands of developers (including several Unity employees) used to prepare for the UCP exam from 2018-2022.

      Prior to joining the Games faculty at Michigan State, Jeremy taught for three years as a lecturer in the Electrical E

      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
      Dictionary
      Array
      Multidimensional Arrays
      Jagged Arrays
      Jagged Lists
      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


      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account