Paradigm 2D Rendering Engine & World Builder

Project: Paradigm 2D Rendering Engine & World Builder

Development Time: 6 Months

Current Status: VERSION 1.0 BETA

Tools Used: Microsoft Visual Studio 2008

Language: C#

Framework: Microsoft XNA Game Studio 3.1

Project Downloads*: Source, Binaries

Code Snippets (Engine): DeferredRenderer.cs, EntityRenderer.cs, Map.cs, Tile.cs

Code Snippets (World Builder): MainForm.cs, MapEditor.cs

*Source and binaries require Microsoft XNA Game Studio 3.1 to be installed, well as either Visual Studio 2008, or Visual C# Express, as the World Builder uses the MSBUILD engine.

Project Description:

This project evolved from an earlier 2D platformer project I am currently developing, combined with the need for an open ended 2D tile engine / level editor / rendering framework.

This engine provides the functionality needed to render maps, entities, and particles in a 2D environment. The world builder provides the ability to use tile sheets to design a map. In addition, it provides functionality to create map entities (objects, spawn points), animated tiles, particle emitters, portals, and shader regions, as well as multiple different types of collision mapping, These objects are all serialized as XML files which can be then loaded directly into a game project. Maps created within the editor are identical to how they are seen in game, which provides a very organic approach to 2D world building.

The newest version of the rendering engine supports a 2D deferred lighting system which uses color, normal, and depth maps in order to present a pseudo 3D scene with fully dynamic lights. The editor utilizes this system by allowing the user to place lights in 3D space.

In addition, the World Builder supports a basic plugin architecture. The allows the builder to be extended in order to fit specific needs of game projects if they so need.

This project is currently being used as the rendering framework for my platformer project, as well as a larger scale student project called ‘A World Apart’, both of which are in development at this time.

*Portions of the particle system are derived from Building XNA 2.0 Games: A Practical Guide for Independent Game Development, and are used with expressed permission from James Silva.