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.
Below is an outline of the namespaces contained in Xna.Custom.dll and a brief introduction to the classes that they contain.
Provides intergration with sgMotion animation system.
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.
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.
Provides Sunburn intergration with the DPSF 3D particle system.
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.
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.
Provides classes to implement single layer perceptrons for ANN based AI.
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.
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.
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!.