Introduction to game design, prototyping, and development
Subtitle: from concept to playable game--with Unity and C#
By: Jeremy Gibson
Publisher: Addison-Wesley
Published: 2015
Language: eng
Number of pages: 908
ISBN-13: 9780321933164
Subjects: Development; Computer games; Design; Application software; Unity (Electronic resource); C# (Computer program language); Video games; Programming
Other titles: Game design, prototyping, and development.
Description: This hands-on guide covers both game development and design, and both Unity and C#. Written by an instructor who helped pioneer America's #1 university game development program at USC, this guide illuminates the basic tenets of game design and presents a detailed, project-based introduction to game prototyping and development, using both paper and the Unity game engine. Jeremy Gibson presents prototyping as a core game design skill (much as sketching is a core artist's skill), taking a straightforward, commonsense approach that has been refined over many years of teaching beginners. Throughout, students are encouraged to experiment on their own, and to discover that most problems have multiple solutions.
Notes: Includes bibliographical references and index.
Table of contents: title: 1.Thinking Like a Designer; title: You Are a Game Designer; title: Bartok: A Game Exercise; title: The Definition of Game; title: Summary; title: 2.Game Analysis Frameworks; title: Common Frameworks for Ludology; title: MDA: Mechanics; Dynamics, and Aesthetics; title: Formal, Dramatic, and Dynamic Elements; title: The Elemental Tetrad; title: Summary; title: 3.The Layered Tetrad; title: The Inscribed Layer; title: The Dynamic Layer; title: The Cultural Layer; title: The Responsibility of the Designer; title: Summary; title: 4.The Inscribed Layer; title: Inscribed Mechanics; title: Inscribed Aesthetics; title: Inscribed Narrative; title: Inscribed Technology; title: Summary; title: 5.The Dynamic Layer; title: The Role of the Player; title: Emergence; title: Dynamic Mechanics; title: Dynamic Aesthetics; title: Dynamic Narrative; title: Dynamic Technology; title: Summary; title: 6.The Cultural Layer; title: Beyond Play; title: Cultural Mechanics; title: Cultural Aesthetics; title: Cultural Narrative; title: Cultural Technology; title: Authorized Transmedia Are Not in the Cultural Layer; title: The Cultural Impact of a Game; title: Summary; title: Contents note continued: 7.Acting Like a Designer; title: Iterative Design; title: Innovation; title: Brainstorming and Ideation; title: Changing Your Mind; title: Scoping!; title: Summary; title: 8.Design Goals; title: Design Goals: An Incomplete List; title: Designer-Centric Goals; title: Player-Centric Goals; title: Summary; title: 9.Paper Prototyping; title: The Benefits of Paper Prototypes; title: Paper Prototyping Tools; title: An Example of a Paper Prototype; title: Best Uses for Paper Prototyping; title: Poor Uses for Paper Prototyping; title: Summary; title: 10.Game Testing; title: Why Playtest?; title: Being a Great Playtester Yourself; title: The Circles of Playtesters; title: Methods of Playtesting; title: Other Important Types of Testing; title: Summary; title: 11.Math and Game Balance; title: The Meaning of Game Balance; title: Installing Apache OpenOffice Calc; title: Examining Dice Probability with Calc; title: The Math of Probability; title: Randomizer Technologies in Paper Games; title: Weighted Distributions; title: Permutations; title: Positive and Negative Feedback; title: Using Calc to Balance Weapons; title: Summary; title: Contents note continued: 12.Puzzle Design; title: Puzzles Are Almost Everywhere; title: Scott Kim on Puzzle Design; title: Puzzle Examples in Action Games; title: Summary; title: 13.Guiding the Player; title: Direct Guidance; title: Indirect Guidance; title: Teaching New Skills and Concepts; title: Summary; title: 14.The Digital Game Industry; title: About the Game Industry; title: Game Education; title: Getting into the Industry; title: Don't Wait to Start Making Games!; title: Summary; title: 15.Thinking in Digital Systems; title: Systems Thinking in Board Games; title: An Exercise in Simple Instructions; title: Game Analysis: Apple Picker; title: Summary; title: 16.Introducing Our Development Environment: Unity; title: Downloading Unity; title: Introducing Our Development Environment; title: Running Unity for the First Time; title: Setting Up the Unity Window Layout; title: Learning Your Way Around Unity; title: Summary; title: 17.Introducing Our Language: C#; title: Understanding the Features of C#; title: Reading and Understanding C# Syntax; title: Summary; title: 18.Hello World: Your First Program; title: Creating a New Project; title: Contents note continued: Making a New C# Script; title: Making Things More Interesting; title: Summary; title: 19.Variables and Components; title: Introducing Variables; title: Strongly Typed Variables in C#; title: Important C# Variable Types; title: The Scope of Variables; title: Naming Conventions; title: Important Unity Variable Types; title: Unity GameObjects and Components; title: Summary; title: 20.Boolean Operations and Conditionals; title: Booleans; title: Comparison Operators; title: Conditional Statements; title: Summary; title: 21.Loops; title: Types of Loops; title: Set Up a Project; title: while Loops; title: do...while Loops; title: for Loops; title: for each Loops; title: Jump Statements within Loops; title: Summary; title: 22.Lists and Arrays; title: C# Collections; title: List; title: Array; title: Multidimensional Arrays; title: Jagged Arrays; title: Whether to Use Array or List; title: Summary; title: Summary Exercise; title: Moving Forward; title: 23.Functions and Parameters; title: Set Up the Function Examples Project; title: Definition of a Function; title: Function Parameters and Arguments; title: Returning Values; title: Proper Function Names; title: When Should You Use Functions?; title: Function Overloading; title: Optional Parameters; title: The params Keyword; title: Recursive Functions; title: Summary; title: 24.Debugging; title: Getting Started with Debugging; title: Stepping Through Code with the Debugger; title: Summary; title: 25.Classes; title: Understanding Classes; title: Class Inheritance; title: Summary; title: 26.Object-Oriented Thinking; title: The Object-Oriented Metaphor; title: An Object-Oriented Boids Implementation; title: Summary; title: 27.The Agile Mentality; title: The Manifesto for Agile Software Development; title: Scrum Methodology; title: Creating Your Own Burndown Charts; title: Summary; title: 28.Prototype 1: Apple Picker; title: The Purpose of a Digital Prototype; title: Preparing; title: Coding the Apple Picker Prototype; title: GUI and Game Management; title: Summary; title: Next Steps; title: 29.Prototype 2: Mission Demolition; title: Getting Started: Prototype 2; title: Game Prototype Concept; title: Art Assets; title: Coding the Prototype; title: Summary; title: Next Steps; title: 30.Prototype 3: Space SHMUP; title: Getting Started: Prototype 3; title: Setting the Scene; title: Making the Hero Ship; title: Adding Some Enemies; title: Spawning Enemies at Random; title: Setting Tags, Layers, and Physics; title: Making the Enemies Damage the Player; title: Restarting the Game; title: Shooting (Finally); title: Adding Power-Ups; title: Resolving Race Conditions in Code; title: Making Enemies Drop Power-Ups; title: Programming Other Enemies; title: Adding Particle Effects and Background; title: Summary; title: Next Steps; title: 31.Prototype 4: Prospector Solitaire; title: Getting Started: Prototype 4; title: Build Settings; title: Importing Images as Sprites; title: Constructing Cards from Sprites; title: The Prospector Game; title: Implementing Prospector in Code; title: Adding Scoring to Prospector; title: Summary; title: Next Steps; title: 32.Prototype 5: Bartok; title: Getting Started: Prototype 5; title: Build Settings; title: Coding Bartok; title: Summary; title: Next Steps; title: 33.Prototype 6: Word Game; title: Getting Started: Word Game Prototype; title: About the Word Game; title: Parsing the Word List; title: Setting Up the Game; title: Laying Out the Screen; title: Adding Interactivity; title: Adding Scoring; title: Adding Animation; title: Adding Color; title: Summary; title: Next Steps; title: 34.Prototype 7: QuickSnap; title: Getting Started: QuickSnap Prototype; title: Building the Scene; title: Coding the Game; title: Summary; title: Next Steps; title: 35.Prototype 8: Omega Mage; title: Getting Started: Omega Mage Prototype; title: Building the Scene; title: The Mage Character; title: Mouse Interaction; title: Movement; title: The Inventory and Selecting Elements; title: Casting the Fire Ground Spell; title: Changing Rooms; title: Spawning Enemies; title: Abstracting the Enemy Interface; title: Making an EnemyFactory; title: Summary; title: Next Steps; title: Thanks!; title: A.Standard Project Setup Procedure; title: B.Useful Concepts; title: C# and Unity Coding Concepts; title: Math Concepts; title: Interpolation; title: Roleplaying Games; title: User Interface Concepts; title: C.Online Reference; title: Tutorials; title: Unity Resources; title: Programming; title: Searching Tips; title: Finding Assets; title: Educational Software Discounts.