What is included with this book?
Aaron Reed has extensive software development experience and more importantly, experience in software development education. Since 2004 he has taught courses at Neumont University in .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.
Preface | p. xiii |
Getting Started | p. 1 |
System Requirements | p. 1 |
Additional Resources | p. 2 |
Installation | p. 2 |
Creating Your First XNA Application | p. 4 |
What You Just Did | p. 5 |
Summary | p. 6 |
Test Your Knowledge: Quiz | p. 7 |
Fun with Sprites | p. 8 |
A Look Behind the Scenes | p. 8 |
Game Development Versus Polling | p. 11 |
Modifying Your Game | p. 14 |
Adding a Sprite to Your Project | p. 15 |
Loading and Drawing Your Sprite | p. 18 |
Transparency and Other Options | p. 21 |
Layer Depth | p. 25 |
Let's Move | p. 28 |
Animation | p. 30 |
Adjusting the Framerate | p. 35 |
Adjusting the Animation Speed | p. 36 |
What You Just Did | p. 38 |
Summary | p. 38 |
Test Your Knowledge: Quiz | p. 39 |
Test Your Knowledge: Exercise | p. 39 |
User Input and Collision Detection | p. 40 |
More Sprites | p. 40 |
Keyboard Input | p. 43 |
Mouse Input | p. 45 |
Gamepad Input | p. 47 |
Keeping the Sprite in the Game Window | p. 50 |
Collision Detection | p. 50 |
What You Just Did | p. 55 |
Summary | p. 56 |
Test Your Knowledge: Quiz | p. 56 |
Test Your Knowledge: Exercise | p. 57 |
Applying Some Object-Oriented Design | p. 58 |
Designing Your Classes | p. 58 |
Creating a Sprite Class | p. 59 |
Creating a User-Controlled Sprite Class | p. 63 |
Creating an Automated Sprite | p. 65 |
Game Components | p. 67 |
Coding the SpriteManager | p. 69 |
Cleaning Up | p. 71 |
Making Them Move | p. 74 |
What You Just Did | p. 74 |
Summary | p. 74 |
Test Your Knowledge: Quiz | p. 75 |
Test Your Knowledge: Exercise | p. 75 |
Sound Effects and Audio | p. 76 |
Using XACT | p. 77 |
Implementing XACT Audio Files in Code | p. 83 |
Using the Simplified API for Sound and Audio | p. 85 |
Adding More Sound to Your Game | p. 86 |
What You Just Did | p. 91 |
Summary | p. 91 |
Test Your Knowledge: Quiz | p. 91 |
Test Your Knowledge: Exercise | p. 91 |
Basic Artificial Intelligence | p. 92 |
The Turing Test | p. 93 |
Creating Sprites at Random Intervals | p. 93 |
Randomly Spawning Sprites | p. 95 |
Irrelevant Objects | p. 99 |
Creating a Chasing Sprite | p. 101 |
Creating an Evading Sprite | p. 107 |
What You Just Did | p. 112 |
Summary | p. 113 |
Test Your Knowledge: Quiz | p. 113 |
Test Your Knowledge: Exercise | p. 113 |
Putting It All Together | p. 114 |
Drawing 2D Text | p. 115 |
Randomly Generating Different Sprite Types | p. 121 |
Adding Some Variety to Your Sprites | p. 123 |
Adding a Background Image | p. 128 |
Game Scoring | p. 130 |
Game States | p. 137 |
Enabling/Disabling GameComponents | p. 141 |
Game-Over Logic and the Game-Over Screen | p. 143 |
Fine-Tuning Gameplay | p. 150 |
Creating Power-Ups | p. 154 |
What You Just Did | p. 159 |
Summary | p. 159 |
Test Your Knowledge: Quiz | p. 160 |
Test Your Knowledge: Exercise | p. 160 |
Deploying to the Microsoft Zune | p. 161 |
Setting Up Your Zune Device Connection | p. 161 |
Creating a Zune Project | p. 163 |
Input on the Zune | p. 165 |
Audio on the Zune | p. 167 |
Resolution and Gameplay Issues | p. 169 |
Converting the Collision Game from Windows to Zune | p. 170 |
Conditional Compilation Symbols | p. 171 |
Converting the Collision Game Audio | p. 173 |
Converting the Collision Game's Player Input Code | p. 175 |
Converting the Collision Game's Screen Size | p. 178 |
Zune Performance | p. 179 |
What You Just Did | p. 180 |
Summary | p. 181 |
Test Your Knowledge: Quiz | p. 181 |
3D Game Development | p. 182 |
Coordinate Systems | p. 182 |
Cameras | p. 184 |
Creating a 3D Camera | p. 186 |
Drawing Primitives | p. 189 |
Matrix Multiplication | p. 194 |
Movement and Rotation | p. 194 |
Backface Culling | p. 197 |
More on Rotations | p. 198 |
Even More Rotations | p. 200 |
Primitive Types | p. 202 |
Applying Textures | p. 204 |
What You Just Did | p. 209 |
Summary | p. 209 |
Test Your Knowledge: Quiz | p. 210 |
Test Your Knowledge: Exercise | p. 211 |
3D Models | p. 212 |
Using 3D Models | p. 212 |
Setting Up the Project | p. 213 |
Adding a Model to Your Project | p. 216 |
Drawing a Model Using a BasicModel Class | p. 217 |
Adding a Model Manager | p. 221 |
Rotating Your Model | p. 224 |
What You Just Did | p. 226 |
Summary | p. 226 |
Test Your Knowledge: Quiz | p. 226 |
Test Your Knowledge: Exercise | p. 227 |
Creating a First-Person Camera | p. 228 |
Components of a Moving 3D Camera | p. 228 |
Moving in a First-Person Camera | p. 232 |
Rotations in a First-Person Camera | p. 235 |
Coding the Camera for the 3D Game | p. 240 |
What You Just Did | p. 244 |
Summary | p. 244 |
Test Your Knowledge: Quiz | p. 245 |
Test Your Knowledge: Exercise | p. 245 |
3D Collision Detection and Shooting | p. 246 |
Creating a Moving Enemy | p. 246 |
Adding Some Game Logic | p. 248 |
Firing Shots | p. 257 |
3D Collision Detection and Bounding Spheres | p. 261 |
Adding a Crosshair | p. 265 |
Adding Sound | p. 266 |
What You Just Did | p. 273 |
Summary | p. 273 |
Test Your Knowledge: Quiz | p. 274 |
Test Your Knowledge: Exercise | p. 274 |
HLSL Basics | p. 275 |
HLSL Syntax | p. 277 |
Dissecting a Sample HLSL Effect File | p. 278 |
Applying an HLSL Effect in C# | p. 287 |
Applying HLSL Using Textures | p. 295 |
HLSL Effects: Creating a Negative | p. 303 |
HLSL Effects: Blur | p. 304 |
HLSL Effects: Grayscale | p. 304 |
What You Just Did | p. 306 |
Summary | p. 307 |
Test Your Knowledge: Quiz | p. 307 |
Test Your Knowledge: Exercise | p. 307 |
Particle Systems | p. 308 |
Creating a Custom Vertex | p. 308 |
Creating a Particle Engine | p. 312 |
Adding a Particle Effect File | p. 320 |
Adding Your Particle Engine to Your Game | p. 322 |
Adding a Starfield | p. 325 |
What You Just Did | p. 330 |
Summary | p. 331 |
Test Your Knowledge: Quiz | p. 331 |
Wrapping Up Your 3D Game | p. 332 |
Adding a Splash Screen Game Component | p. 332 |
Keeping Score | p. 342 |
Adding a Power-Up | p. 347 |
What You Just Did | p. 352 |
Test Your Knowledge: Exercise | p. 353 |
Deploying to the Xbox 360 | p. 354 |
Adding an Xbox 360 Device | p. 354 |
Converting a Project to Run on the Xbox 360 | p. 358 |
Supporting Gamepad Input | p. 361 |
Deploying to the Xbox 360 | p. 367 |
Xbox 360 Display Settings | p. 369 |
The Title Safe Region | p. 370 |
What You Just Did | p. 372 |
Summary | p. 372 |
Test Your Knowledge: Quiz | p. 373 |
Multiplayer Games | p. 374 |
Split-Screen Functionality | p. 374 |
Network Game Development | p. 384 |
Network Configurations | p. 385 |
Writing an XNA Network Game | p. 387 |
Modifying the Sprite Class | p. 388 |
Modifying the UserControlledSprite Class | p. 388 |
Coding Your Game1 Class | p. 391 |
Adding Update Code | p. 394 |
Adding Draw Code | p. 410 |
Adding Biohazard Bombs of Insanity! | p. 415 |
What You Just Did | p. 422 |
Summary | p. 423 |
Test Your Knowledge: Quiz | p. 424 |
Answers to Quizzes and Exercises | p. 425 |
Index | p. 477 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.