Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune
510Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune
510eBook
Related collections and offers
Overview
Do you have what it takes to become a game developer? With this hands-on book, you'll learn quickly and easily how to develop computer games with Microsoft's XNA 3.0 framework-not just for your PC, but for Xbox 360 and the Microsoft Zune as well.
Written by an experienced university-level game development instructor, Learning XNA 3.0 walks you through the framework in a clear and understandable step-by-step format. Each chapter offers a self-contained lesson with lots of illustrations and annotated examples to help you master key concepts. Once you finish the book, you'll know how to develop sophisticated games from start to finish.
- Learn game development concepts from 2D animation to 3D cameras and effects
- Delve into high-level shader language (HLSL) and introductory artificial intelligence concepts
- Develop three complete and exciting games using 2D,3D and multiplayer concepts
- Develop and deploy games to the Xbox 360 and the Microsoft Zune
While teaching XNA to beginning game developers, author Aaron Reed noticed that several key concepts were difficult for students to grasp. Learning XNA 3.0 was written specifically to address those issues. With this book, you can test your understanding and practice new skills as you go with unique "Test Your Knowledge" exercises and review questions in each chapter.
Why wait? Amaze your family and friends by building your own games for the PC, Xbox 360, and Zune-with Learning XNA 3.0.
"An outstanding book! Teaches you XNA development in a smart way, starting from 2D basics and going into 3D and shader development. What I really like is the 'peeling the onion' approach the author takes, which builds up knowledge from previous chapters."--David "LetsKillDave" Weller, CEO, Cogito Ergonomics, LLC, and former XNA program manager
Product Details
ISBN-13: | 9780596554293 |
---|---|
Publisher: | O'Reilly Media, Incorporated |
Publication date: | 11/22/2008 |
Sold by: | Barnes & Noble |
Format: | eBook |
Pages: | 510 |
File size: | 8 MB |
About the Author
Aaron's experience in teaching both DirectX and XNA for several years to university-level students helps him understand what topics are easily understood and which ones need more depth and emphasis. Through experience in the classroom he also has a good understanding of what format and sequence makes the most sense to present the material. This book follows that format and is meant to present game development concepts in the way most efficient and most comprehendible as proven in the classroom.
Table of Contents
Preface xiii
1 Getting Started 1
System Requirements 1
Additional Resources 2
Installation 2
Creating Your First XNA Application 4
What You Just Did 5
Summary 6
Test Your Knowledge: Quiz 7
2 Fun with Sprites 8
A Look Behind the Scenes 8
Game Development Versus Polling 11
Modifying Your Game 14
Adding a Sprite to Your Project 15
Loading and Drawing Your Sprite 18
Transparency and Other Options 21
Layer Depth 25
Let's Move 28
Animation 30
Adjusting the Framerate 35
Adjusting the Animation Speed 36
What You Just Did 38
Summary 38
Test Your Knowledge: Quiz 39
Test Your Knowledge: Exercise 39
3 User Input and Collision Detection 40
More Sprites 40
Keyboard Input 43
Mouse Input 45
Gamepad Input 47
Keeping the Sprite in the Game Window 50
Collision Detection 50
What You Just Did 55
Summary 56
Test Your Knowledge: Quiz 56
Test Your Knowledge: Exercise 57
4 Applying Some Object-Oriented Design 58
Designing Your Classes 58
Creating a Sprite Class 59
Creating a User-Controlled Sprite Class 63
Creating an Automated Sprite 65
Game Components 67
Coding the SpriteManager 69
Cleaning Up 71
Making Them Move 74
What You Just Did 74
Summary 74
Test Your Knowledge: Quiz 75
Test Your Knowledge: Exercise 75
5 Sound Effects and Audio 76
Using XACT 77
Implementing XACT Audio Files in Code 83
Using the Simplified API for Sound and Audio 85
Adding More Sound to Your Game 86
What You Just Did 91
Summary 91
Test Your Knowledge: Quiz 91
Test Your Knowledge: Exercise 91
6 Basic Artificial Intelligence 92
The Turing Test 93
Creating Sprites at Random Intervals93
Randomly Spawning Sprites 95
Irrelevant Objects 99
Creating a Chasing Sprite 101
Creating an Evading Sprite 107
What You Just Did 112
Summary 113
Test Your Knowledge: Quiz 113
Test Your Knowledge: Exercise 113
7 Putting It All Together 114
Drawing 2D Text 115
Randomly Generating Different Sprite Types 121
Adding Some Variety to Your Sprites 123
Adding a Background Image 128
Game Scoring 130
Game States 137
Enabling/Disabling GameComponents 141
Game-Over Logic and the Game-Over Screen 143
Fine-Tuning Gameplay 150
Creating Power-Ups 154
What You Just Did 159
Summary 159
Test Your Knowledge: Quiz 160
Test Your Knowledge: Exercise 160
8 Deploying to the Microsoft Zune 161
Setting Up Your Zune Device Connection 161
Creating a Zune Project 163
Input on the Zune 165
Audio on the Zune 167
Resolution and Gameplay Issues 169
Converting the Collision Game from Windows to Zune 170
Conditional Compilation Symbols 171
Converting the Collision Game Audio 173
Converting the Collision Game's Player Input Code 175
Converting the Collision Game's Screen Size 178
Zune Performance 179
What You Just Did 180
Summary 181
Test Your Knowledge: Quiz 181
9 3D Game Development 182
Coordinate Systems 182
Cameras 184
Creating a 3D Camera 186
Drawing Primitives 189
Matrix Multiplication 194
Movement and Rotation 194
Backface Culling 197
More on Rotations 198
Even More Rotations 200
Primitive Types 202
Applying Textures 204
What You Just Did 209
Summary 209
Test Your Knowledge: Quiz 210
Test Your Knowledge: Exercise 211
10 3D Models 212
Using 3D Models 212
Setting Up the Project 213
Adding a Model to Your Project 216
Drawing a Model Using a BasicModel Class 217
Adding a Model Manager 221
Rotating Your Model 224
What You Just Did 226
Summary 226
Test Your Knowledge: Quiz 226
Test Your Knowledge: Exercise 227
11 Creating a First-Person Camera 228
Components of a Moving 3D Camera 228
Moving in a First-Person Camera 232
Rotations in a First-Person Camera 235
Coding the Camera for the 3D Game 240
What You Just Did 244
Summary 244
Test Your Knowledge: Quiz 245
Test Your Knowledge: Exercise 245
12 3D Collision Detection and Shooting 246
Creating a Moving Enemy 246
Adding Some Game Logic 248
Firing Shots 257
3D Collision Detection and Bounding Spheres 261
Adding a Crosshair 265
Adding Sound 266
What You Just Did 273
Summary 273
Test Your Knowledge: Quiz 274
Test Your Knowledge: Exercise 274
13 HLSL Basics 275
HLSL Syntax 277
Dissecting a Sample HLSL Effect File 278
Applying an HLSL Effect in C# 287
Applying HLSL Using Textures 295
HLSL Effects: Creating a Negative 303
HLSL Effects: Blur 304
HLSL Effects: Grayscale 304
What You Just Did 306
Summary 307
Test Your Knowledge: Quiz 307
Test Your Knowledge: Exercise 307
14 Particle Systems 308
Creating a Custom Vertex 308
Creating a Particle Engine 312
Adding a Particle Effect File 320
Adding Your Particle Engine to Your Game 322
Adding a Starfield 325
What You Just Did 330
Summary 331
Test Your Knowledge: Quiz 331
15 Wrapping Up Your 3D Game 332
Adding a Splash Screen Game Component 332
Keeping Score 342
Adding a Power-Up 347
What You Just Did 352
Test Your Knowledge: Exercise 353
16 Deploying to the Xbox 360 354
Adding an Xbox 360 Device 354
Converting a Project to Run on the Xbox 360 358
Supporting Gamepad Input 361
Deploying to the Xbox 360 367
Xbox 360 Display Settings 369
The Title Safe Region 370
What You Just Did 372
Summary 372
Test Your Knowledge: Quiz 373
17 Multiplayer Games 374
Split-Screen Functionality 374
Network Game Development 384
Network Configurations 385
Writing an XNA Network Game 387
Modifying the Sprite Class 388
Modifying the UserControlledSprite Class 388
Coding Your Game1 Class 391
Adding Update Code 394
Adding Draw Code 410
Adding Biohazard Bombs of Insanity! 415
What You Just Did 422
Summary 423
Test Your Knowledge: Quiz 424
Appendix Answers to Quizzes and Exercises 425
Index 477