100% developed

Creating a Simple 3D Game with XNA

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Creating a Simple 3D Game with XNA is a guide to the basic methodology needed to program a 3D game.

XNA, the Microsoft developed programming tools acting as a wrapper for the industry standard Direct X, has been increasing in popularity thanks to its goal of streamlining the 3D programming process and its innate ability to cross-develop for the Xbox 360. Along with this Blender, developed by 'The Blender Foundation' is a 3D development tool publicly available for free download, having a breadth of features comparable to commercial 3D applications.

This tutorial is designed to provide a guide to combining these two easily available tools to help create games in as simple and a visual way as possible, for the purposes of;

  • amateur developers looking for an introduction to these features,
  • hobby coders, to provide a framework for future, more advanced projects,
  • programmers with some experience in the popular 2D aspects of XNA, looking to broaden their knowledge.

This tutorial revolves around a simple game revolving around the user playing a fish chasing other fishes swimming in the opposite direction. Examples of all of the basic elements to get started on a simple game are included, including controls, sound, and gameplay.

If you are a programmer or 3D modeler, feel free to contribute! Any extra content is appreciated!

Contents[edit | edit source]

Before each target there is an image with a subjective indication of how complete that target is:

25%.svg Means that there is little information or the information there may not be reliable.
50%.svg Means that there is some information, but it's not very detailed or extensive.
75%.svg Means that much of the information is there, but it needs to be touched up or organized. This is still usable.
100%.svg Means that the information is basically complete. However, more detail can always be added.


Anyone looking to focus more on the 3D side would benefit from reading Blender 3D: Noob to Pro, but this tutorial presumes no prior knowledge.


Anyone reading this tutorial would benefit from a prior knowledge of C# or XNA, but is designed to be simple enough for a programming amateur to at least place together and edit to what they need. Any absolute beginners would be better off reading through this tutorial to cover the basic concepts.