Book Image

Microsoft XNA 4.0 Game Development Cookbook

By : Luke Drumm
Book Image

Microsoft XNA 4.0 Game Development Cookbook

By: Luke Drumm

Overview of this book

Microsoft XNA attempts to free game developers from writing "repetitive boilerplate code", allowing them to focus on producing enjoyable gameplay rather than tedious and complicated setup. The Framework has reduced the once steep learning curve for game development, transforming it into something more attainable, and this cookbook will help you to take full advantage of XNA to bring reality into your virtual worlds. "Microsoft XNA 4.0 Game Development Cookbook" is the perfect resource for propelling your game development capabilities from the simple 2D demo towards engaging and exciting, professional looking games. With a diverse selection of game-related topics covered, discover how to create rich 2D and 3D worlds filled with interesting characters, detailed scenery and dynamic special effects applicable to PC, Xbox 360, and Windows Phone 7 game play. There is no shortage of introductory texts available for XNA, a number of which are fantastic for getting started with simple 2D games, but "Microsoft XNA 4.0 Game Development Cookbook"ù will help you take the steps to start producing games that have deeper gameplay, compelling graphics and that little bit of extra polish! The book's recipes will get you up and going quickly with the next level of game features such as 3D graphics, AI, and network play. With this practical cookbook to hand, even the more experienced developer will be better equipped to achieve high level tasks with XNA in a quick and efficient manner.
Table of Contents (15 chapters)
Microsoft XNA 4.0 Game Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Rendering crowds


Rendering an individual character onscreen can be a costly exercise in and of itself, so the idea of rendering every member of a large crowd can sound positively insane in terms of overall performance.

The use of virtual billboards to "copy and paste" members of a crowd repeatedly throughout a space is one quite common way to reduce such an overhead.

Getting ready

This example relies upon the GeometricBuffer classes described in Chapter 3's procedural modeling recipes, but they are equally applicable to any method of holding and rendering meshes.

How to do it...

To render a crowd:

  1. 1. In your game, create the instance-level variables to hold the details for the camera, models, effects, and render targets that are going to be needed for rendering:

    Vector3 cameraPosition = new Vector3(0, 2, 2);
    Vector3 cameraTarget = Vector3.Zero;
    Matrix world;
    Matrix view;
    Matrix projection;
    BasicEffect personEffect;
    AlphaTestEffect billboardEffect;
    GeometricBuffer<VertexPositionNormalTexture...