Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By : Kurt Jaegers
Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By: Kurt Jaegers

Overview of this book

Move beyond the world of flat 2D-based game development and discover how to create your own exciting 3D games with Microsoft XNA 4.0. Create a 3D maze, fire shells at enemy tanks, and drive a rover on the surface of Mars while being attacked by alien saucers."XNA 4 3D Game Development by Example: Beginner's Guide" takes you step-by-step through the creation of three different 3D video games with Microsoft XNA 4.0. Learn by doing as you explore the worlds of 3D graphics and game design.This book takes a step-by-step approach to building 3D games with Microsoft XNA, describing each section of code in depth and explaining the topics and concepts covered in detail. From the basics of a 3D camera system to an introduction to writing DirectX shader code, the games in this book cover a wide variety of both 3D graphics and game design topics. Generate random mazes, load and animate 3D models, create particle-based explosions, and combine 2D and 3D techniques to build a user interface."XNA 4 3D Game Development by Example: Beginner's Guide" will give you the knowledge to bring your own 3D game creations to life.
Table of Contents (16 chapters)
XNA 4 3D Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Time for action – flying the saucer


In order to give the saucer a more realistic flight path, perform the following steps:

  1. 1. Add a new Fields region to the EnemySaucer class, containing the following items:

    #region Fields
    private Random rand = new Random();
    private int flybyChance = 2;
    private float minflyByDelay = 5f;
    private float flyByTimer = 0f;
    private float curveProgress = 0.0f;
    private float curveDelta = 0.2f;
    private Vector3[] curvePoints = new Vector3[4];
    public bool IsOnScreen = false;
    public bool IsDestroyed = false;
    #endregion
  2. 2. Add the Spline Helper Methods region and its two methods to the EnemySaucer class as follows:

    #region Spline Helper Methods
    public void GenerateNewCurve()
    {
      curvePoints[0] = new Vector3(-60, (rand.Next(0, 3) - 1) * 25, 64);
      curvePoints[1] = new Vector3(-45, rand.Next(12, 19), 64);
      curvePoints[2] = new Vector3(45, rand.Next(12, 19), 64);
      curvePoints[3] = new Vector3(60, (rand.Next(0, 3) - 1 * 25), 64);
    
      if (rand.Next(0, 2) == 0)
      {
          Vector3...