With the SunBurn 1.3.2 release right around the corner, we thought it was time to showoff some of SunBurn's latest features. :)
This release is massive – it includes SunBurn's new engine-centric design, component system, new and more streamlined editor, terrain system, volume lights, 2D rendering, avatar rendering, and much, much more.
And like all SunBurn updates, it's completely free for SunBurn Engine developers!
SunBurn 1.3 API
In February we launched the SunBurn 1.3 API Preview, a fully functional release that introduced SunBurn's updated api and provided early access to some of the latest features.
While we kept the new api very similar to previous versions (making upgrading easy!), it introduced two very important new features: a component / service system for quickly plugging in custom and 3rd party code, and movable / removable rendered objects to make scene management even simpler.
Custom Managers (Components / Services)
Prior to SunBurn 1.3 game code was generally written to sit alongside SunBurn, sometimes this meant a nice custom engine hierarchy, other times code was simply placed in the main Game class (yuck!).
With SunBurn 1.3 we wanted to provide a very easy to use, streamlined, and well structured architecture for cleanly plugging in systems like physics, ui, projectiles, ..., and the ability to easily replace built-in systems. But we also wanted this to be optional, meaning you can still use your own design side-by-side with SunBurn.
(GameFest 2010 Demo using SunBurn 1.3)
The result is SunBurn's component / service system, which allows plugging modular components (called managers) into the engine. Managers can interact with one another, providing each other with “services”. For instance SunBurn's ObjectManager (a scenegraph) provides the ability to search for scene objects, which other managers and your game code can utilize.
Writing custom managers is very easy, simply derive from IManagerService, and take advantage of:
- Automatic calls to the manager's BeginFrameRendering(), EndFrameRendering(), Update(), Clear(), and Unload() methods without adding them to your game code
- Replace individual built-in managers (scenegraph, lighting, rendering, ...) without writing additional code
- Easily mix forward and deferred rendering
Movable / Removable Scene Objects
When we first developed SunBurn (over three years ago!) the goal was to provide an end-point for rendering xna models and custom meshes. All rendered objects were given lifespans for how long they exist in the scenegraph – static object were stored until the scene was cleared, dynamic objects were resubmitted every frame and stored until rendered.
Over the past couple of years SunBurn evolved into a very open and modular engine. With this evolution and the new api we were able to make scene management easier and more conventional in SunBurn 1.3 – simply submit and remove scene objects whenever convenient and set the world transform to move them.
New Editor
This release also includes the new SunBurn editor; the streamlined, cleaner, and better looking front-end we demoed at GameFest. While the new editor is feature-wise similar, the ui provides a larger 3D viewport, shows more controls on-screen, and allows stacking and organizing object browsers.

Probably the best new feature are real-time assets –
textures are automatically updated in-game when they change on disk.
This adds a whole new dimension to game workflow, you can edit textures
in Photoshop, Gimp, ... and see the changes in SunBurn without toggling
back and forth.
Originally we planned to release the new editor shortly after GameFest, however while working on it we had the opportunity develop an even better workflow. Now instead of being a separate application, the new editor is integrated into SunBurn – hitting F11 opens the editor without tabbing over to the Windows Start menu, and the editor hotkey is customizable. In addition we've added detailed tooltips throughout the editor.
More to Come
These are just a couple of the awesome new features in SunBurn 1.3. Up next I'll cover SunBurn's 2D rendering, terrain system, and new high-detail ambient lighting. ;)
-John Kabus

Posted
05-26-2010 3:47 PM
by
JohnK "bobthecbuilder"