- ホーム
- > 洋書
- > 英文書
- > Computer / General
Full Description
Learn Game Design, Prototyping, and Programming with Today's Leading Tools: Unity (TM) 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.COVERAGE INCLUDESIn-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
Contents
Preface xxivPart I Game Design and Paper Prototyping 11 Thinking Like a Designer 3You Are a Game Designer 4Bartok: A Game Exercise 4The Definition of Game 10Summary 172 Game Analysis Frameworks 19Common Frameworks for Ludology 20MDA: Mechanics, Dynamics, and Aesthetics 20Formal, Dramatic, and Dynamic Elements 24The Elemental Tetrad 27Summary 293 The Layered Tetrad 31The Inscribed Layer 32The Dynamic Layer 33The Cultural Layer 34The Responsibility of the Designer 36Summary 374 The Inscribed Layer 39Inscribed Mechanics 40Inscribed Aesthetics 46Inscribed Narrative 49Inscribed Technology 58Summary 595 The Dynamic Layer 61The Role of the Player 62Emergence 63Dynamic Mechanics 64Dynamic Aesthetics 70Dynamic Narrative 75Dynamic Technology 77Summary 776 The Cultural Layer 79Beyond Play 80Cultural Mechanics 81Cultural Aesthetics 82Cultural Narrative 83Cultural Technology 84Authorized Transmedia Are Not in the Cultural Layer 85The Cultural Impact of a Game 86Summary 877 Acting Like a Designer 89Iterative Design 90Innovation 97Brainstorming and Ideation 98Changing Your Mind 101Scoping! 103Summary 1048 Design Goals 105Design Goals: An Incomplete List 106Designer-Centric Goals 106Player-Centric Goals 109Summary 1249 Paper Prototyping 125The Benefits of Paper Prototypes 126Paper Prototyping Tools 127An Example of a Paper Prototype 129Best Uses for Paper Prototyping 138Poor Uses for Paper Prototyping 139Summary 14010 Game Testing 141Why Playtest? 142Being a Great Playtester Yourself 142The Circles of Playtesters 143Methods of Playtesting 146Other Important Types of Testing 152Summary 15311 Math and Game Balance 155The Meaning of Game Balance 156Installing Apache OpenOffice Calc 156Examining Dice Probability with Calc 157The Math of Probability 165Randomizer Technologies in Paper Games 170Weighted Distributions 173Permutations 175Positive and Negative Feedback 176Using Calc to Balance Weapons 177Summary 18312 Puzzle Design 185Puzzles Are Almost Everywhere 186Scott Kim on Puzzle Design 186Puzzle Examples in Action Games 193Summary 19513 Guiding the Player 197Direct Guidance 198Indirect Guidance 200Teaching New Skills and Concepts 207Summary 21014 The Digital Game Industry 211About the Game Industry 212Game Education 215Getting into the Industry 217Don't Wait to Start Making Games! 221Summary 222Part II Digital Prototyping 22315 Thinking in Digital Systems 225Systems Thinking in Board Games 226An Exercise in Simple Instructions 226Game Analysis: Apple Picker 229Summary 23416 Introducing Our Development Environment: Unity 235Downloading Unity 236Introducing Our Development Environment 237Running Unity for the First Time 241Setting Up the Unity Window Layout 246Learning Your Way Around Unity 251Summary 25117 Introducing Our Language: C# 253Understanding the Features of C# 254Reading and Understanding C# Syntax 259Summary 26218 Hello World: Your First Program 263Creating a New Project 264Making a New C# Script 266Making Things More Interesting 271Summary 27919 Variables and Components 281Introducing Variables 282Strongly Typed Variables in C# 282Important C# Variable Types 283The Scope of Variables 286Naming Conventions 286Important Unity Variable Types 288Unity GameObjects and Components 294Summary 29720 Boolean Operations and Conditionals 299Booleans 300Comparison Operators 303Conditional Statements 307Summary 31321 Loops 315Types of Loops 316Set Up a Project 316while Loops 316do...while Loops 319for Loops 320foreach Loops 322Jump Statements within Loops 322Summary 32522 Lists and Arrays 327C# Collections 328List 328Array 333Multidimensional Arrays 337Jagged Arrays 340Whether to Use Array or List 344Summary 344Summary Exercise 344Moving Forward 34723 Functions and Parameters 349Set Up the Function Examples Project 350Definition of a Function 350Function Parameters and Arguments 353Returning Values 354Proper Function Names 356When Should You Use Functions? 356Function Overloading 358Optional Parameters 359The params Keyword 359Recursive Functions 361Summary 36224 Debugging 363Getting Started with Debugging 364Stepping Through Code with the Debugger 369Summary 37725 Classes 379Understanding Classes 380Class Inheritance 387Summary 39026 Object-Oriented Thinking 391The Object-Oriented Metaphor 392An Object-Oriented Boids Implementation 394Summary 40327 The Agile Mentality 405The Manifesto for Agile Software Development 406Scrum Methodology 407Creating Your Own Burndown Charts 416Summary 416Part III Game Prototype Examples and Tutorials 41728 Prototype 1: Apple Picker 419The Purpose of a Digital Prototype 420Preparing 421Coding the Apple Picker Prototype 428GUI and Game Management 440Summary 448Next Steps 44829 Prototype 2: Mission Demolition 449Getting Started: Prototype 2 450Game Prototype Concept 450Art Assets 451Coding the Prototype 456Summary 485Next Steps 48530 Prototype 3: Space SHMUP 487Getting Started: Prototype 3 488Setting the Scene 490Making the Hero Ship 491Adding Some Enemies 504Spawning Enemies at Random 509Setting Tags, Layers, and Physics 510Making the Enemies Damage the Player 513Restarting the Game 518Shooting (Finally) 519Adding Power-Ups 531Resolving Race Conditions in Code 538Making Enemies Drop Power-Ups 541Programming Other Enemies 543Adding Particle Effects and Background 556Summary 558Next Steps 55831 Prototype 4: Prospector Solitaire 561Getting Started: Prototype 4 562Build Settings 562Importing Images as Sprites 564Constructing Cards from Sprites 566The Prospector Game 583Implementing Prospector in Code 585Adding Scoring to Prospector 604Summary 619Next Steps 62032 Prototype 5: Bartok 621Getting Started: Prototype 5 622Build Settings 623Coding Bartok 624Summary 655Next Steps 65533 Prototype 6: Word Game 657Getting Started: Word Game Prototype 658About the Word Game 658Parsing the Word List 660Setting Up the Game 665Laying Out the Screen 671Adding Interactivity 680Adding Scoring 684Adding Animation 687Adding Color 690Summary 692Next Steps 69234 Prototype 7: QuickSnap 695Getting Started: QuickSnap Prototype 696Building the Scene 697Coding the Game 706Summary 725Next Steps 72635 Prototype 8: Omega Mage 727Getting Started: Omega Mage Prototype 728Building the Scene 730The Mage Character 735Mouse Interaction 737Movement 741The Inventory and Selecting Elements 747Casting the Fire Ground Spell 754Changing Rooms 764Spawning Enemies 768Abstracting the Enemy Interface 782Making an EnemyFactory 785Summary 789Next Steps 789Thanks! 789Part IV Appendices 791A Standard Project Setup Procedure 793B Useful Concepts 799C# and Unity Coding Concepts 801Math Concepts 822Interpolation 831Roleplaying Games 846User Interface Concepts 848C Online Reference 851Tutorials 852Unity Resources 852Programming 853Searching Tips 854Finding Assets 854Educational Software Discounts 855Index 857