3D Games Examples

  • Current WIP of Egypt Adventure. A 3rd Person game written using the Sunburn Engine and the first game with full side by side 3D support.

  • Video of first First Person Shooter written using Sunburn Engine.

  • Example of scene management in Xna. Classes removed from Xna.Custom.dll when migrated to Sunburn engine.

  • First game written using Xna Framework V1.0

  • 2D Games Examples

    Example of implementation of genetic AI classes contained in Xna.Custom.dll.

  • Remake of the classic 80`s platformer Monty On The Run. Level TileSet created from images of original spectrum version. Sprites riped from original spectrum tape binary`s. Graphics processed and updated using TileStudio. Music recorded from an emulated copy of the C64 version.

  • Remake of the ledgendary Manic Miner. Graphic TileSets and music taken from Andy Noble`s classic remake.

  • Remake of puzzle game Bobby Carrot. Music and Tilesets taken from Java versions of all 4 Bobby Carrot games.

  • 2D Platform game created using assets from the Xna Platformer template.


XNA.Custom.dll is a collection of classes written over a period of 6 years covering all major aspects of game development from scene management and tileset manipulation to intergrated 3D particle systems and AI.

Code Example Resources

.csv file containing tile data.

TileSet of tile images. NOTE: TileSet created by Andy Noble from his remake of Manic Miner.

Output of code example.

XNA Development Portfolio

Welcome to the Xna Development Portfolio section of stuarttaylor.info! The purpose of this section is to demonstrate my abilities in C# and the Microsoft XNA Framework and showcase the games and demos that I have produced. A large part of this section is dedicated to XNA.Custom.dll, a comprehensive set of classes and namespaces designed to vastly lower the workflow involved in producing Xna content. I will outline the major classes and namespaces contained in Xna.Custom.dll and provide code for a small project that demostrates some of the main features of the Xna.Custom.dll.

Xna.Custom.dll Namespaces

Below is an outline of the namespaces contained in Xna.Custom.dll and a brief introduction to the classes that they contain.

  • Xna.Custom.Models.Animation

    Provides intergration with sgMotion animation system.

  • Xna.Custon.Sunburn

    Provides intergration with the SunBurn game engine. SunBurnScene3D is the main class for providing access to Sunburn and includes features such as scene file loading and native side by side 3D support, features that can be seen in action on the Egypt Adventure YouTube video.

  • Xna.Custom.Sunburn.Components

    Provide access to a set of Sunburn components that are used directly from the Sunburn Editor. Components include AnimationLoopComponent which provides Editor level control over animations, LockCameraToSceneObjectComponent which locks the camera to the position and rotation of an object, ThirdPersonCameraComponent which impliments a 3rd person camera around an object and 2DControllerComponent that provides 2D gamepad control of an object based on the current camera angle and position.

  • Xna.Custom.Sunburn.ParticleSystems

    Provides Sunburn intergration with the DPSF 3D particle system.

  • Xna.Custom.TileMap

    Only contains one class as the rest have been removed over the years! TileSet provides full manipulation of 2D Tileset bitmaps for use in 2D Tilemaps and 2D sprites.

  • Xna.Custom.AI

    Provides a set of classes designed to implement genetic AI. GeneticBase provide an abstract template for producing solutions and manipulating them. PathFinder is an implemented version of GeneticBase that provides path finding AI and was used in the AI example contained in the Youtube links.

  • Xna.Custom.AI.NeuralNetworks

    Provides classes to implement single layer perceptrons for ANN based AI.

  • Xna.Custom.Containers

    Contains the Array3D class, which provides a dynamic 3D Array of Int containing methods that allow for loading and saving in several formats including TileStudio and CSV.

  • Xna.Custom.General

    Provides general classes such as the Entity Interface and the EntityManager class which are used to provide a pseudo concurrent environment. Also includes the ConsoleEnity class that is an abstract class that provides the base for a game console with "user input", "in code" and "batch file" console support.

  • Xna.Custom.Models

    Provides basic classes for producing 3D graphics in Xna such as a Camera class and a Model3D class. The PolyRenderModel3D class provides a means of implimenting LOD by assigning multliple meshes to the same model and rendering based on camera distance. This can be seen in action in the fully managed scene containing 235,986 models! in the Xna Frame Test video on the left.

Xna Code Example

The following single class project demostrates the use of the Array3D and TileSet classes to draw a 2D tile map using a CSV text file and a single bitmap Tileset in only 14 lines of code!.