| |
| |
Preface | |
| |
| |
| |
Getting Started | |
| |
| |
System Requirements | |
| |
| |
Additional Resources | |
| |
| |
Installation | |
| |
| |
Creating Your First XNA Application | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
| |
Fun with Sprites | |
| |
| |
A Look Behind the Scenes | |
| |
| |
Game Development Versus Polling | |
| |
| |
Modifying Your Game | |
| |
| |
Adding a Sprite to Your Project | |
| |
| |
Loading and Drawing Your Sprite | |
| |
| |
Transparency and Other Options | |
| |
| |
Layer Depth | |
| |
| |
Let's Move | |
| |
| |
Animation | |
| |
| |
Adjusting the Framerate | |
| |
| |
Adjusting the Animation Speed | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
User Input and Collision Detection | |
| |
| |
More Sprites | |
| |
| |
Keyboard Input | |
| |
| |
Mouse Input | |
| |
| |
Gamepad Input | |
| |
| |
Keeping the Sprite in the Game Window | |
| |
| |
Collision Detection | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Applying Some Object-Oriented Design | |
| |
| |
Designing Your Classes | |
| |
| |
Creating a Sprite Class | |
| |
| |
Creating a User-Controlled Sprite Class | |
| |
| |
Creating an Automated Sprite | |
| |
| |
Game Components | |
| |
| |
Coding the SpriteManager | |
| |
| |
Cleaning Up | |
| |
| |
Making Them Move | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Sound Effects and Audio | |
| |
| |
Using XACT | |
| |
| |
Implementing XACT Audio Files in Code | |
| |
| |
Using the Simplified API for Sound and Audio | |
| |
| |
Adding More Sound to Your Game | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Basic Artificial Intelligence | |
| |
| |
The Turing Test | |
| |
| |
Creating Sprites at Random Intervals | |
| |
| |
Randomly Spawning Sprites | |
| |
| |
Irrelevant Objects | |
| |
| |
Creating a Chasing Sprite | |
| |
| |
Creating an Evading Sprite | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Putting It All Together | |
| |
| |
Drawing 2D Text | |
| |
| |
Randomly Generating Different Sprite Types | |
| |
| |
Adding Some Variety to Your Sprites | |
| |
| |
Adding a Background Image | |
| |
| |
Game Scoring | |
| |
| |
Game States | |
| |
| |
Enabling/Disabling GameComponents | |
| |
| |
Game-Over Logic and the Game-Over Screen | |
| |
| |
Fine-Tuning Gameplay | |
| |
| |
Creating Power-Ups | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Deploying to the Microsoft Zune | |
| |
| |
Setting Up Your Zune Device Connection | |
| |
| |
Creating a Zune Project | |
| |
| |
Input on the Zune | |
| |
| |
Audio on the Zune | |
| |
| |
Resolution and Gameplay Issues | |
| |
| |
Converting the Collision Game from Windows to Zune | |
| |
| |
Conditional Compilation Symbols | |
| |
| |
Converting the Collision Game Audio | |
| |
| |
Converting the Collision Game's Player Input Code | |
| |
| |
Converting the Collision Game's Screen Size | |
| |
| |
Zune Performance | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
| |
3D Game Development | |
| |
| |
Coordinate Systems | |
| |
| |
Cameras | |
| |
| |
Creating a 3D Camera | |
| |
| |
Drawing Primitives | |
| |
| |
Matrix Multiplication | |
| |
| |
Movement and Rotation | |
| |
| |
Backface Culling | |
| |
| |
More on Rotations | |
| |
| |
Even More Rotations | |
| |
| |
Primitive Types | |
| |
| |
Applying Textures | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
3D Models | |
| |
| |
Using 3D Models | |
| |
| |
Setting Up the Project | |
| |
| |
Adding a Model to Your Project | |
| |
| |
Drawing a Model Using a BasicModel Class | |
| |
| |
Adding a Model Manager | |
| |
| |
Rotating Your Model | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Creating a First-Person Camera | |
| |
| |
Components of a Moving 3D Camera | |
| |
| |
Moving in a First-Person Camera | |
| |
| |
Rotations in a First-Person Camera | |
| |
| |
Coding the Camera for the 3D Game | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
3D Collision Detection and Shooting | |
| |
| |
Creating a Moving Enemy | |
| |
| |
Adding Some Game Logic | |
| |
| |
Firing Shots | |
| |
| |
3D Collision Detection and Bounding Spheres | |
| |
| |
Adding a Crosshair | |
| |
| |
Adding Sound | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
HLSL Basics | |
| |
| |
HLSL Syntax | |
| |
| |
Dissecting a Sample HLSL Effect File | |
| |
| |
Applying an HLSL Effect in C# | |
| |
| |
Applying HLSL Using Textures | |
| |
| |
HLSL Effects: Creating a Negative | |
| |
| |
HLSL Effects: Blur | |
| |
| |
HLSL Effects: Grayscale | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Particle Systems | |
| |
| |
Creating a Custom Vertex | |
| |
| |
Creating a Particle Engine | |
| |
| |
Adding a Particle Effect File | |
| |
| |
Adding Your Particle Engine to Your Game | |
| |
| |
Adding a Starfield | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
| |
Wrapping Up Your 3D Game | |
| |
| |
Adding a Splash Screen Game Component | |
| |
| |
Keeping Score | |
| |
| |
Adding a Power-Up | |
| |
| |
What You Just Did | |
| |
| |
Test Your Knowledge: Exercise | |
| |
| |
| |
Deploying to the Xbox 360 | |
| |
| |
Adding an Xbox 360 Device | |
| |
| |
Converting a Project to Run on the Xbox 360 | |
| |
| |
Supporting Gamepad Input | |
| |
| |
Deploying to the Xbox 360 | |
| |
| |
Xbox 360 Display Settings | |
| |
| |
The Title Safe Region | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
| |
Multiplayer Games | |
| |
| |
Split-Screen Functionality | |
| |
| |
Network Game Development | |
| |
| |
Network Configurations | |
| |
| |
Writing an XNA Network Game | |
| |
| |
Modifying the Sprite Class | |
| |
| |
Modifying the UserControlledSprite Class | |
| |
| |
Coding Your Game1 Class | |
| |
| |
Adding Update Code | |
| |
| |
Adding Draw Code | |
| |
| |
Adding Biohazard Bombs of Insanity! | |
| |
| |
What You Just Did | |
| |
| |
Summary | |
| |
| |
Test Your Knowledge: Quiz | |
| |
| |
| |
Answers to Quizzes and Exercises | |
| |
| |
Index | |