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

A* pathfinding


Finding one's way from point A to point B can seem like an obvious enough task, but doing it in a way that appears vaguely natural tends to be a little less obvious.

The A* (pronounced "A star") family of algorithms comes from various attempts to improve upon Edsger Dijkstra's algorithm for solving the shortest path problem on a connected graph of nodes. It has become the default method of pathfinding in modern gaming.

Presented here is a simple variation of the A* algorithm, which demonstrates the core theme present in all the A* variations. This is a good starting point from which to tailor a solution optimized for your particular situation.

Getting ready

This recipe requires three, 20 x 20 pixel textures to represent a patch of ground, a segment of undecided path, and the final selection of path.

How to do it...

  1. 1. Add a class to hold the map of the landscape to be navigated:

    class Map
    {
    Rectangle arena = new Rectangle(0, 0, 20, 20);
    public int Width
    {
    get
    {
    return arena.Width...