Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#, 3rd Edition
- Length: 1296 pages
- Edition: 3
- Language: English
- Publisher: Addison-Wesley Professional
- Publication Date: 2022-09-30
- ISBN-10: 0136619940
- ISBN-13: 9780136619949
- Sales Rank: #725680 (See Top 100 Books)
A hands-on book that explains concepts “by doing,” Introduction to Game Design, Prototyping, and Development, Third Edition, takes readers through the process of making both paper and digital game prototypes. Rather than focusing on a single tutorial, as most Unity books have done, this book explores several small prototypes, reinforcing critical concepts through repetition from project to project. Author Jeremy Gibson Bond’s approach creates a stable of “base projects” that serve as starters for readers looking to create their own games), while skipping the aspects of project creation (e.g. modeling, animation, etc.) that are less central to this book. Intermediate readers may browse this book for a tutorial that clarifies the specific prototyping or programming concept that they wish to learn.
This book begins with an introduction to general game design concepts and basic programing concepts. C# is the chosen language used in this book, and it is easy to learn and enforces good coding practices. Game prototyping and programming tutorials use Object-Oriented Programming (OOP), the standard for coding over the past 30+ years, in addition to the new Data-Oriented Technology Stack (DOTS) and Entity Component System (ECS), providing a well-rounded approach. Game development concepts covered help readers find further resources to expand their game design knowledge.
Cover Page About This eBook Halftitle Page Title Page Copyright Page Pearson’s Commitment to Diversity, Equity, and Inclusion Dedication Page Contents at a Glance Contents Foreword Preface The Purpose of This Book What’s New in the Third Edition? Who This Book Is For The Structure of This Book Book Website Why You Should Learn Unity and C# Conventions in This Book There Are Other Books Out There Acknowledgments About the Author Figure Credits Part I Game Design and Paper Prototyping 1 Thinking Like a Designer You Are a Game Designer Bartok: A Game Design Exercise The Definition of Game Summary 2 Game Analysis Frameworks Common Frameworks for Ludology MDA: Mechanics, Dynamics, and Aesthetics Formal, Dramatic, and Dynamic Elements The Elemental Tetrad Summary 3 The Layered Tetrad The Inscribed Layer The Dynamic Layer The Cultural Layer The Responsibility of the Designer Summary 4 The Inscribed Layer Inscribed Mechanics Inscribed Aesthetics Inscribed Narrative Inscribed Technology Summary 5 The Dynamic Layer The Role of the Player Emergence Dynamic Mechanics Dynamic Aesthetics Dynamic Narrative Dynamic Technology Summary 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 7 Acting Like a Designer Iterative Design Innovation Brainstorming and Ideation Changing Your Mind Scoping! Summary 8 Design Goals Design Goals: An Incomplete List Designer-Centric Goals Player-Centric Goals Summary 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 10 Game Testing Why Playtest? Being a Great Playtester Yourself The Circles of Playtesters Methods of Playtesting Other Important Types of Testing Summary 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 12 Guiding the Player Direct Guidance Indirect Guidance Teaching New Skills and Concepts Summary 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 14 The Agile Mentality The Manifesto for Agile Software Development Scrum Methodology Burndown Chart Example Creating Your Own Burndown Charts Summary 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 16 Thinking in Digital Systems Systems Thinking in Board Games An Exercise in Simple Instructions Game Analysis: Apple Picker Summary 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 18 Introducing Our Language: C# Understanding the Features of C# Reading and Understanding C# Syntax Summary 19 Hello World: Your First Program Creating a New Project Making a New C# Script Making Things More Interesting Summary 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 21 Boolean Operations and Conditionals Booleans Comparison Operators Conditional Statements Summary 22 Loops Types of Loops Set Up a Project while Loops do…while Loops for Loops foreach Loops Jump Statements within Loops Summary 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 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 25 Debugging Getting Started with Debugging Stepping Through Code with the Debugger Summary 26 Classes Understanding Classes Class Inheritance Summary 27 Object-Oriented Thinking The Object-Oriented Metaphor An Object-Oriented Boids Implementation Summary 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 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 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 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 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 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 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 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 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 37 Coding Challenges What Is a Coding Challenge? Getting Started on a Coding Challenge Filling in the Blanks How to Approach Each Challenge 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 Index Part V Online Appendices — http://book.prototools.net or informit.com/title/9780136619949 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 B Useful Concepts Topics Covered C# and Unity Coding Concepts Math Concepts Pen-and-Paper Roleplaying Games User Interface Concepts C Online Reference Tutorials Unite Conference Unity’s YouTube Channel Programming Searching Tips Finding and Creating Assets Other Tools and Educational Discounts 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 Code Snippets
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.