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 INCLUDES In-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
Les mer
Preface xxiv Part I Game Design and Paper Prototyping 1 1 Thinking Like a Designer 3 You Are a Game Designer 4 Bartok: A Game Exercise 4 The Definition of Game 10 Summary 17 2 Game Analysis Frameworks 19 Common Frameworks for Ludology 20 MDA: Mechanics, Dynamics, and Aesthetics 20 Formal, Dramatic, and Dynamic Elements 24 The Elemental Tetrad 27 Summary 29 3 The Layered Tetrad 31 The Inscribed Layer 32 The Dynamic Layer 33 The Cultural Layer 34 The Responsibility of the Designer 36 Summary 37 4 The Inscribed Layer 39 Inscribed Mechanics 40 Inscribed Aesthetics 46 Inscribed Narrative 49 Inscribed Technology 58 Summary 59 5 The Dynamic Layer 61 The Role of the Player 62 Emergence 63 Dynamic Mechanics 64 Dynamic Aesthetics 70 Dynamic Narrative 75 Dynamic Technology 77 Summary 77 6 The Cultural Layer 79 Beyond Play 80 Cultural Mechanics 81 Cultural Aesthetics 82 Cultural Narrative 83 Cultural Technology 84 Authorized Transmedia Are Not in the Cultural Layer 85 The Cultural Impact of a Game 86 Summary 87 7 Acting Like a Designer 89 Iterative Design 90 Innovation 97 Brainstorming and Ideation 98 Changing Your Mind 101 Scoping! 103 Summary 104 8 Design Goals 105 Design Goals: An Incomplete List 106 Designer-Centric Goals 106 Player-Centric Goals 109 Summary 124 9 Paper Prototyping 125 The Benefits of Paper Prototypes 126 Paper Prototyping Tools 127 An Example of a Paper Prototype 129 Best Uses for Paper Prototyping 138 Poor Uses for Paper Prototyping 139 Summary 140 10 Game Testing 141 Why Playtest? 142 Being a Great Playtester Yourself 142 The Circles of Playtesters 143 Methods of Playtesting 146 Other Important Types of Testing 152 Summary 153 11 Math and Game Balance 155 The Meaning of Game Balance 156 Installing Apache OpenOffice Calc 156 Examining Dice Probability with Calc 157 The Math of Probability 165 Randomizer Technologies in Paper Games 170 Weighted Distributions 173 Permutations 175 Positive and Negative Feedback 176 Using Calc to Balance Weapons 177 Summary 183 12 Puzzle Design 185 Puzzles Are Almost Everywhere 186 Scott Kim on Puzzle Design 186 Puzzle Examples in Action Games 193 Summary 195 13 Guiding the Player 197 Direct Guidance 198 Indirect Guidance 200 Teaching New Skills and Concepts 207 Summary 210 14 The Digital Game Industry 211 About the Game Industry 212 Game Education 215 Getting into the Industry 217 Don't Wait to Start Making Games! 221 Summary 222 Part II Digital Prototyping 223 15 Thinking in Digital Systems 225 Systems Thinking in Board Games 226 An Exercise in Simple Instructions 226 Game Analysis: Apple Picker 229 Summary 234 16 Introducing Our Development Environment: Unity 235 Downloading Unity 236 Introducing Our Development Environment 237 Running Unity for the First Time 241 Setting Up the Unity Window Layout 246 Learning Your Way Around Unity 251 Summary 251 17 Introducing Our Language: C# 253 Understanding the Features of C# 254 Reading and Understanding C# Syntax 259 Summary 262 18 Hello World: Your First Program 263 Creating a New Project 264 Making a New C# Script 266 Making Things More Interesting 271 Summary 279 19 Variables and Components 281 Introducing Variables 282 Strongly Typed Variables in C# 282 Important C# Variable Types 283 The Scope of Variables 286 Naming Conventions 286 Important Unity Variable Types 288 Unity GameObjects and Components 294 Summary 297 20 Boolean Operations and Conditionals 299 Booleans 300 Comparison Operators 303 Conditional Statements 307 Summary 313 21 Loops 315 Types of Loops 316 Set Up a Project 316 while Loops 316 do...while Loops 319 for Loops 320 foreach Loops 322 Jump Statements within Loops 322 Summary 325 22 Lists and Arrays 327 C# Collections 328 List 328 Array 333 Multidimensional Arrays 337 Jagged Arrays 340 Whether to Use Array or List 344 Summary 344 Summary Exercise 344 Moving Forward 347 23 Functions and Parameters 349 Set Up the Function Examples Project 350 Definition of a Function 350 Function Parameters and Arguments 353 Returning Values 354 Proper Function Names 356 When Should You Use Functions? 356 Function Overloading 358 Optional Parameters 359 The params Keyword 359 Recursive Functions 361 Summary 362 24 Debugging 363 Getting Started with Debugging 364 Stepping Through Code with the Debugger 369 Summary 377 25 Classes 379 Understanding Classes 380 Class Inheritance 387 Summary 390 26 Object-Oriented Thinking 391 The Object-Oriented Metaphor 392 An Object-Oriented Boids Implementation 394 Summary 403 27 The Agile Mentality 405 The Manifesto for Agile Software Development 406 Scrum Methodology 407 Creating Your Own Burndown Charts 416 Summary 416 Part III Game Prototype Examples and Tutorials 417 28 Prototype 1: Apple Picker 419 The Purpose of a Digital Prototype 420 Preparing 421 Coding the Apple Picker Prototype 428 GUI and Game Management 440 Summary 448 Next Steps 448 29 Prototype 2: Mission Demolition 449 Getting Started: Prototype 2 450 Game Prototype Concept 450 Art Assets 451 Coding the Prototype 456 Summary 485 Next Steps 485 30 Prototype 3: Space SHMUP 487 Getting Started: Prototype 3 488 Setting the Scene 490 Making the Hero Ship 491 Adding Some Enemies 504 Spawning Enemies at Random 509 Setting Tags, Layers, and Physics 510 Making the Enemies Damage the Player 513 Restarting the Game 518 Shooting (Finally) 519 Adding Power-Ups 531 Resolving Race Conditions in Code 538 Making Enemies Drop Power-Ups 541 Programming Other Enemies 543 Adding Particle Effects and Background 556 Summary 558 Next Steps 558 31 Prototype 4: Prospector Solitaire 561 Getting Started: Prototype 4 562 Build Settings 562 Importing Images as Sprites 564 Constructing Cards from Sprites 566 The Prospector Game 583 Implementing Prospector in Code 585 Adding Scoring to Prospector 604 Summary 619 Next Steps 620 32 Prototype 5: Bartok 621 Getting Started: Prototype 5 622 Build Settings 623 Coding Bartok 624 Summary 655 Next Steps 655 33 Prototype 6: Word Game 657 Getting Started: Word Game Prototype 658 About the Word Game 658 Parsing the Word List 660 Setting Up the Game 665 Laying Out the Screen 671 Adding Interactivity 680 Adding Scoring 684 Adding Animation 687 Adding Color 690 Summary 692 Next Steps 692 34 Prototype 7: QuickSnap 695 Getting Started: QuickSnap Prototype 696 Building the Scene 697 Coding the Game 706 Summary 725 Next Steps 726 35 Prototype 8: Omega Mage 727 Getting Started: Omega Mage Prototype 728 Building the Scene 730 The Mage Character 735 Mouse Interaction 737 Movement 741 The Inventory and Selecting Elements 747 Casting the Fire Ground Spell 754 Changing Rooms 764 Spawning Enemies 768 Abstracting the Enemy Interface 782 Making an EnemyFactory 785 Summary 789 Next Steps 789 Thanks! 789 Part IV Appendices 791 A Standard Project Setup Procedure 793 B Useful Concepts 799 C# and Unity Coding Concepts 801 Math Concepts 822 Interpolation 831 Roleplaying Games 846 User Interface Concepts 848 C Online Reference 851 Tutorials 852 Unity Resources 852 Programming 853 Searching Tips 854 Finding Assets 854 Educational Software Discounts 855 Index 857
Les mer
Praise for Introduction to Game Design, Prototyping, and Development "Introduction to Game Design, Prototyping, and Development combines a solid grounding in evolving game design theory with a wealth of detailed examples of prototypes for digital games. Together these provide an excellent introduction to game design and development that culminates in making working games with Unity. This book will be useful for both introductory courses and as a reference for expert designers. I will be using this book in my game design classes, and it will be among those few to which I often refer." -Michael Sellers Professor of Practice in Game Design, Indiana University, former Creative Director at Rumble Entertainment, and General Manager at Kabam "Prototyping and play-testing are often the most misunderstood and/or underutilized steps in the game design and development process. Iterative cycles of testing and refining are key to the early stages of making a good game. Novices will often believe that they need to know everything about a language or build every asset of the game before they can really get started. Gibson's new book prepares readers to go ahead and dive in to the actual design and prototyping process right away; providing the basics of process and technology with excellent "starter kits" for different types of games to jumpstart their entry into the practice." -Stephen Jacobs Associate Director, RIT Center for Media, Art, Games, Interaction, and Creativity (MAGIC) and Professor, School of Interactive Games and Media "Jeremy Gibson's Introduction to Game Design, Prototyping, and Development deftly combines the necessary philosophical and practical concepts for anyone looking to become a Game Designer. This book will take you on a journey from high-level design theories, through game development concepts and programming foundations in order to make your own playable video games. Jeremy uses his years of experience as a professor to teach the reader how to think with vital game design mindsets so that you can create a game with all the right tools at hand. A must-read for someone who wants to dive right into making their first game and a great refresher for industry veterans." -Michelle Pun Senior Game Designer, Zynga
Les mer

Produktdetaljer

ISBN
9780321933164
Publisert
2014
Utgiver
Vendor
Addison-Wesley Educational Publishers Inc
Vekt
1428 gr
Høyde
181 mm
Bredde
229 mm
Dybde
38 mm
Aldersnivå
06, P
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
944

Biographical note

Jeremy Gibson is a lecturer teaching computer game design for the Electrical Engineering and Computer Science department at the University of Michigan Ann Arbor and is the founder of ExNinja Interactive, LLC. From 2009 to 2013, he was an Assistant Professor teaching game design and protyping for the Interactive Media and Games Division of the University of Southern California's School of Cinematic Arts, which was the number one game design school in North America throughout his tenure there. Jeremy serves the IndieCade independent game festival as the Chair for Education and Advancement, where he is responsible for the IndieXchange and GameU conference tracks, and he has spoken at the Game Developers Conference every year since 2009. Jeremy earned a Master of Entertainment Technology degree from Carnegie Mellon University's Entertainment Technology Center in 2007 and a Bachelor of Science degree in Radio, Television, and Film from the University of Texas at Austin in 1999. Jeremy has worked as a programmer and prototyper for companies such as Human Code and frog design, has taught classes for Great Northern Way Campus (in Vancouver, BC), Texas State University, the Art Institute of Pittsburgh, Austin Community College, and the University of Texas at Austin, and has worked for Walt Disney Imagineering, Maxis, and Electronic Arts/Pogo.com, among others. While in graduate school, his team created the game Skyrates, which won the Silver Gleemax Award at the 2008 Independent Games Festival. Jeremy also apparently has the distinction of being the first person to ever teach game design in Costa Rica.