PacktLib: 3D Game Development with Microsoft Silverlight 3: Beginner's Guide

3D Game Development with Microsoft Silverlight 3

Credits

About the Author

Acknowledgement

About the Reviewer

Preface

Lights, Camera, and Action!

UFOs in the sky!: Invaders

Time for action - preparing the development environment

Time for action recognizing digital art assets

Time for action - creating the raster digital content

Time for action - installing tools to manipulate scalable digital content

Time for action - creating the scalable digital content in XAML

Time for action - testing the scalable digital content using XamlPad

Preparing a gaming framework

Time for action - creating Silverlight applications

Time for action - building and running Silverlight applications

Time for action - creating XBAP WPF applications

Time for action - building and running the XBAP WPF applications

Summary

Working with 2D Characters

Creating an accelerated graphics viewport

Time for action - enabling hardware acceleration

Time for action - transforming media using the GPU

Time for action - shaking many illustrations at the same time

Time for action - detecting GPU-acceleration problems

Creating encapsulated object-oriented characters

Time for action - creating User Control classes to hold images

Time for action - displaying images and sprites

Summary

Combining Sprites with Backgrounds

The first remake assignment

Time for action - creating sprites based on XAML vector-based graphics

Time for action - creating a specialized sprite management class

Time for action - creating a superclass for some characters

Time for action - creating the subclasses for the characters

Time for action - creating methods for the game loop

Time for action - writing the game loop

Time for action - detecting collisions between 2D characters

Summary

Working with 3D Characters

The second remake assignment

Time for action - exporting a 3D model without considering textures

Time for action - from DCC tools to WPF

Time for action - displaying a 3D model in a 2D screen with WPF

Time for action - using other XAML exporter for DCC tools

Time for action - adding 3D elements and interacting with them using Expression Blend

Silverlight and the 3D world

Time for action - exporting a 3D model to ASE

Time for action - installing Balder 3D engine

Time for action - from DCC tools to Silverlight

Summary

Controlling the Cameras: Giving Life to Lights and Actions

Understanding 3D cameras

Time for action - when seeing is believing

Time for action - performing transformations

Time for action - zooming in and out

Time for action - understanding perspective and orthographic cameras

Silverlight and the cameras

Time for action - controlling cameras on the fly

Summary

Controlling Input Devices to Provide Great Feedback

Giving life to the game!

Time for action - creating a keyboard manager class

Time for action - programming the input control in the game loop

Time for action - mapping a gamepad to the keyboard

Time for action - using the gamepad

Time for action - creating a mouse manager class

Time for action - using the mouse manager in the game loop

Time for action - using the gamepad as a mouse

Time for action - rotating cameras using input devices

Bridging with DirectInput capabilities

Time for action - installing the necessary SDKs

Time for action - understanding sticks and buttons

Time for action - testing the input devices with a DirectInput wrapper

Time for action - adapting a joystick manager class

Time for action - using the steering wheel in the game loop

Summary

Using Effects and Textures to Amaze

Dressing characters using textures

Time for action - adding textures in DCC tools

Time for action - exporting 3D models from DCC tools to Silverlight

Time for action - enveloping 3D models

Time for action - replacing textures

Displaying lights, shadows, materials, and textures

Time for action - working with lights and understanding shadows

Summary

Animating 3D Characters

Invaders 3D

Time for action - adding a UFO

Time for action - creating a new game superclass to generalize time management capabilities

Time for action - specializing a game superclass

Time for action - creating a subclass for a 3D character

Time for action - adding an Actor to the game

Time for action - rotating 3D characters

Time for action - scaling 3D characters

Using bones and skeletons

Time for action - animating models with skeletons and bones

Time for action - adding an Actor with skeletons and bones to the game

Summary

Adding Realistic Motions Using a Physics Engine

Using physical principles in games to beat invaders

Time for action - installing Farseer Physics Engine

Time for action - adding parallel physics bodies and geometries to 3D characters

Time for action - working with forces, impulses, acceleration and speed

Time for action - working with torques and rotations

Summary

Applying Artificial Intelligence

Detecting collisions between 3D characters

Time for action - adding a second UFO

Time for action - detecting collisions between 3D characters

Using artificial intelligence in games to control 3D characters

Time for action - using chasing algorithms

Time for action - using evasion algorithms

Summary

Applying Special Effects

Working with 3D characters in the background

Time for action - adding a transition to start the game

Time for action - creating a low polygon count meteor model

Time for action - from 3D Studio Max to Silverlight

Time for action - creating a subclass for a 3D meteor

Time for action - creating and controlling a meteor rain

Time for action - simulating fluids with movement

Time for action - creating a subclass for a complex asteroid belt

Time for action - adding an asteroid belt background to the game

Summary

Controlling Statistics and Scoring

Showing gauges and scorecards

Time for action - using special fonts

Time for action - creating a score gauge showing text

Time for action - showing a score gauge

Time for action - creating a bonus gauge showing text

Time for action - creating a fuel gauge

Time for action - creating a remaining lives gauge

Time for action - showing and updating multiple gauges

Summary

Adding Environments and Scenarios

Working with levels and stages

Time for action - installing Windows Presentation Foundation Pixel Shader Effects Library

Time for action - adding screens to organize the game

Time for action - applying transition effects

Time for action - changing the transition effect

Time for action - using skill levels

Time for action - changing and improving the environments according to the skill level

Time for action - saving configurations

Summary

Adding Sound, Music, and Video

Hear the UFOs coming

Time for action - installing tools to manipulate videos

Time for action - preparing a video to use it in Silverlight

Time for action - reproducing videos

Time for action - applying projections

Time for action - animating projections

Time for action - solving navigation problems

Time for action - reproducing music

Time for action - preparing audio files to use them in Silverlight

Time for action - creating a class to handle audio concurrency

Time for action - generating sounds associated to game events

Summary

Pop quiz - Answers