Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune

Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune

by Aaron Reed
Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune

Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune

by Aaron Reed

eBook

$20.99  $27.99 Save 25% Current price is $20.99, Original price is $27.99. You Save 25%.

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

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 Reed has extensive software development experience and more importantly, experience in software development education. Since 2004 he has taught courses at Neumont Universityin .NET, web development and web services, XNA, systems design and architecture, and more.



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

From the B&N Reads Blog

Customer Reviews