Introduction to Game Design, Prototyping, and Development - Jeremy Gibson Bond

Introduction to Game Design, Prototyping, and Development

From Concept to Playable Game with Unity and C#
Buch | Softcover
944 Seiten
2014
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-93316-4 (ISBN)
85,50 inkl. MwSt
zur Neuauflage
  • Titel gebraucht verfügbar
  • Artikel merken
Studibuch Logo

...gebraucht verfügbar!

Zu diesem Artikel existiert eine Nachauflage
Learn Game Design, Prototyping, and Programming with Today’s Leading Tools: Unity™ 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

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.

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

Erscheint lt. Verlag 24.7.2014
Reihe/Serie Game Design
Verlagsort New Jersey
Sprache englisch
Maße 229 x 181 mm
Gewicht 1428 g
Themenwelt Informatik Software Entwicklung Spieleprogrammierung
Informatik Weitere Themen Computerspiele
ISBN-10 0-321-93316-8 / 0321933168
ISBN-13 978-0-321-93316-4 / 9780321933164
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich