3D Game Development with Microsoft Silverlight 3: Beginner's Guide Table Of Contents

Back to BOOK PAGE

Table of Contents

Preface
Chapter 1: Lights, Camera, and Action!
Chapter 2: Working with 2D Characters
Chapter 3: Combining Sprites with Backgrounds
Chapter 4: Working with 3D Characters
Chapter 5: Controlling the Cameras: Giving Life to Lights and Actions
Chapter 6: Controlling Input Devices to Provide Great Feedback
Chapter 7: Using Effects and Textures to Amaze
Chapter 8: Animating 3D Characters
Chapter 9: Adding Realistic Motions Using a Physics Engine
Chapter 10: Applying Artificial Intelligence
Chapter 11: Applying Special Effects
Chapter 12: Controlling Statistics and Scoring
Chapter 13: Adding Environments and Scenarios
Chapter 14: Adding Sound, Music, and Video
Appendix: Pop Quiz Answers
Index

  • Chapter 1: 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
      • Digital Content Creation tools
      • Basic elements of a 2D and/or 3D real-time game
      • Programming responsibilities
      • Time for action – installing tools to manipulate scalable digital content
      • XAML works fine with Silverlight 3
      • Time for action – creating the scalable digital content in XAML
      • Previewing and scaling XAML vector graphics
      • Time for action – testing the scalable digital content using XamlPad
      • Editing vector illustrations using Expression Design
    • Preparing a gaming framework
      • Time for action – creating Silverlight applications
      • Time for action – building and running Silverlight applications
      • Programming event handlers in the main page
      • Time for action – creating XBAP WPF applications
      • Time for action – building and running the XBAP WPF applications
    • Summary
  • Chapter 2: Working with 2D Characters
    • Creating an accelerated graphics viewport
      • Time for action – enabling hardware acceleration
      • Time for action – transforming media using the GPU
      • Caching rendered content
      • Scaling and rotating a vector-based illustration
      • Time for action – shaking many illustrations at the same time
      • Running loops faster
      • Accelerating transforms and blends
      • Using 2D vectors
      • Time for action – detecting GPU-acceleration problems
      • Understanding GPU acceleration limitations
    • Creating encapsulated object-oriented characters
      • Time for action – creating User Control classes to hold images
      • Time for action – displaying images and sprites
      • Showing a sprite on the screen
      • Defining the behavior
      • Understanding dimensions
      • Managing resolutions
      • Screen resolutions
    • Summary
  • Chapter 3: Combining Sprites with Backgrounds
    • The first remake assignment
      • Time for action – creating sprites based on XAML vector-based graphics
      • Defining the relative center point
      • Time for action – creating a specialized sprite management class
      • Taking full advantage of object-oriented capabilities
      • Preparing the classes for inheritance
      • Wrapping a UserControl to manage it
      • 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
      • Creating objects on the fly
      • Managing dynamic objects
      • Time for action – writing the game loop
      • Animating multiple sprites
      • Managing a complex game loop
      • Time for action – detecting collisions between 2D characters
      • Using colors to paint sprites
    • Summary
  • Chapter 4: Working with 3D Characters
    • The second remake assignment
      • Time for Action – exporting a 3D model without considering textures
      • XAML 3D models
      • Time for action – from DCC tools to WPF
      • XBAP WPF applications with 3D content
      • Time for action – displaying a 3D model in a 2D screen with WPF
      • Understanding the 3D world
      • X, Y, and Z in practice
      • GPU 3D acceleration
      • Understanding meshes
      • Time for action – using other XAML exporter for DCC tools
      • Time for action – adding 3D elements and interacting with them using Expression Blend
      • Interacting with 3D elements 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
      • Displaying a 3D model in a 2D screen with Silverlight
      • Using 3D vectors
    • Summary
  • Chapter 5: Controlling the Cameras: Giving Life to Lights and Actions
    • Understanding 3D cameras
      • Time for action – when seeing is believing
      • Controlling the position, the direction, and the up vector
      • Time for action – performing transformations
      • Defining and applying transformations
      • Time for action – zooming in and out
      • Controlling the perspective field of view
      • Controlling the clipping planes
      • Time for action – understanding perspective and orthographic cameras
    • Silverlight and the cameras
      • Time for action – controlling cameras on the fly
      • Understanding cameras related to matrixes
    • Summary
  • Chapter 6: Controlling Input Devices to Provide Great Feedback
    • Giving life to the game!
      • Time for action – creating a keyboard manager class
      • Using the keyboard
      • Time for action – programming the input control in the game loop
      • Time for action – mapping a gamepad to the keyboard
      • Understanding the gamepad as an input device
      • Time for action – using the gamepad
      • Time for action – creating a mouse manager class
      • Using the mouse
      • 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
      • Considering deployment's additional requirements
      • Time for action – understanding sticks and buttons
      • Understanding the steering wheel as an input device
      • Time for action – testing the input devices with a DirectInput wrapper
      • Understanding the analog axis for a steering wheel
      • Understanding the analog axis for a gamepad
      • Time for action – adapting a joystick manager class
      • Time for action – using the steering wheel in the game loop
      • Using the joystick manager
      • Working with many input devices
      • Using other input devices
    • Summary
  • Chapter 7: 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
      • Displaying a 3D model using textures in a 2D screen with Silverlight
      • Time for action – enveloping 3D models
      • Understanding textures
      • Repeating textures as tiles
      • Time for action – replacing textures
    • Displaying lights, shadows, materials, and textures
      • Time for action – working with lights and understanding shadows
      • Understanding different kinds of lights
    • Summary
  • Chapter 8: 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
      • Using an Actor to represent a 3D character
      • Time for action – adding an Actor to the game
      • Moving 3D characters as Actors
      • Time for action – rotating 3D characters
      • Using the World matrix in order to perform transformations to meshes
      • Performing compound transformations
      • Time for action – scaling 3D characters
      • Using the World matrix in order to scale meshes
    • Using bones and skeletons
      • Time for action – animating models with skeletons and bones
      • Using skeletons and bones
      • Time for action – adding an Actor with skeletons and bones to the game
      • Understanding complex 3D animation techniques
    • Summary
  • Chapter 9: 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
      • Creating bodies
      • Creating geometries
      • Updating a 3D model according to the associated body's properties
      • Time for action – working with forces, impulses, acceleration, and speed
      • Specifying the gravitational force
      • Applying forces
      • Applying impulses
      • Working with a 2D physics simulator in the game loop
      • Time for action – working with torques and rotations
      • Applying torques
      • Translating 2D physics to a 3D world
      • Working with Farseer Physics Engine in XBAP WPF applications
    • Summary
  • Chapter 10: Applying Artificial Intelligence
    • Detecting collisions between 3D characters
      • Time for action – adding a second UFO
      • Time for action – detecting collisions between 3D characters
      • Working with advanced responses to collisions
      • Controlling collision moments using events
      • Working with collision categories
      • Using engines to improve collision detection precision
    • Using artificial intelligence in games to control 3D characters
      • Time for action – using chasing algorithms
      • Working with states for the characters
      • Pursuing an enemy
      • Generating and controlling random situations
      • Time for action – using evasion algorithms
      • Evading an enemy
      • The advantages of using an AI engine
    • Summary
  • Chapter 11: 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
      • Advantages of using multiple physics engines
      • Time for action – simulating fluids with movement
      • Simulating waves
      • Time for action – creating a subclass for a complex asteroid belt
      • Using an Actor to represent a wave in the background
      • Time for action – adding an asteroid belt background to the game
      • Working with encapsulated physics controllers
    • Summary
  • Chapter 12: Controlling Statistics and Scoring
    • Showing gauges and scorecards
      • Time for action – using special fonts
      • Embedding fonts in the project
      • Time for action – creating a score gauge showing text
      • Using Expression Blend to create 2D gauges
      • Time for action – showing a score gauge
      • Calculating, saving, and showing statistics
      • Time for action – creating a bonus gauge showing text
      • Time for action – creating a fuel gauge
      • Time for action – creating a remaining lives gauge
      • Using a panel to show many aligned user controls
      • Time for action – showing and updating multiple gauges
      • Working with multiple gauges
    • Summary
  • Chapter 13: 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
      • Rendering a WriteableBitmap and using it as an ImageBrush
      • Creating a StoryBoard
      • Working with a StoryBoard to animate an effect
      • Time for action – changing the transition effect
      • Exploring transition effects
      • Working with multiple transition effects
      • Time for action – using skill levels
      • Time for action – changing and improving the environments according to the skill level
      • Retrieving values for parameters using LINQ to XML
      • Time for action – saving configurations
    • Summary
  • Chapter 14: 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
      • Video formats supported in Silverlight 3
      • Using free applications to convert video formats
      • Time for action – reproducing videos
      • Locating videos in a related web site
      • Stretching videos
      • Taking advantage of GPU acceleration to scale videos
      • Time for action – applying projections
      • Time for action – animating projections
      • Working with a StoryBoard in XAML to animate a projection
      • Time for action – solving navigation problems
      • Time for action – reproducing music
      • Time for action – preparing audio files to use them in Silverlight
      • Audio formats supported in Silverlight 3
      • Using free applications to convert audio formats
      • Time for action – creating a class to handle audio concurrency
      • Using a round robin algorithm to work with concurrent sounds
      • Time for action – generating sounds associated to game events
    • Summary

Back to BOOK PAGE

Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z