Creating a Simple 3D Game with XNA

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 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

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

  Means that there is little information or the information there may not be reliable.
  Means that there is some information, but it's not very detailed or extensive.
  Means that much of the information is there, but it needs to be touched up or organized. This is still usable.
  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.