SunBurn 2.0.13 Update: Get it Now!

Hello SunBurn community!

We’ve just released the latest SunBurn Game Engine update; version 2.0.13 – which is now available in the Downloads section!

This is a very exciting update that focuses on enhancing the overall user-experience for developers and artists alike. It includes new features like:

  • Background importing – continue working while importing large assets or many at a time
  • New Visual Studio templates – create new components, plugins, and managers in a single click
  • Lower release requirements – release Windows games requiring only the XNA Redistributable (~6.7M)
  • And more!



The update includes a few enhancements that change how certain objects behave and select areas of the API, while these changes are small I thought they’re definitely worth mentioning.


Shared Materials

As mentioned in my previous blog materials are now shared across all models. This means if two loaded models both reference the same material file, they will both contain the same instance of the material / effect object.

This reduces memory usage and load times of games – and also allows the editor to present a single instance of the material in the Materials tab, making scene editing easy.

In the past two models referencing the same material file created two separate material / effect instances and we know some developers are using this quirk in their games, so the new behavior can be disabled using:


ResourceManager
.ShareMaterialsBetweenModels = false;


Or by cloning only the effects that need to be unique in code (recommended):


Effect
clonedeffect = originaleffect.Clone();


ObjectType is now UpdateType

In SunBurn 1.3 the ObjectType enumerator indicated whether an object was Static (never moved) or Dynamic (moveable and the scenegraph tracked its movement).

This was an excellent solution at the time, however over the past few months new features have been added that took advantage of the enum and made the meaning a bit less clear.

As an example in previous SunBurn 2.0 releases:

  • Static objects
    • Were not tracked by the scenegraph
    • Could be light mapped
    • Could not be affected by gravity or receive update events for components
  • Dynamic objects
    • Were tracked by the scenegraph
    • Could not be light mapped
    • Were affected by gravity
    • Did receive update events for components

On the surface this seems ok, however what if you have light mapped objects that need to use components? Or moving, collidable objects that should not be affected by gravity?


To make this more flexible in SunBurn 2.0.13 the ObjectType enumeration was replaced with the new UpdateType enumeration and the new AffectedByGravity property.

With this new design the UpdateType enumeration controls:

  • Objects set to None
    • Are not tracked by the scenegraph
    • Do not receive update events for components
  • Object set to Automatic
    • Are tracked by the scenegraph
    • Do receive update event for components

The AffectedByGravity property controls if objects are affected by gravity (even when the UpdateType is Automatic).  Likewise the LightMapped property can control if objects are light mapped independent of the UpdateType.

This new design is far more flexible, and is very easy to transition to from the old ObjectType design.


Collision Members

To help make integrating custom and 3rd party collision and physics systems even easier, we’ve refactored portions of SunBurn’s built-in collision system.

The changes were small, but effective:

  • SceneObject.React(), which is specific to the built-in collision system, was moved from SceneObject into the CollisionMove object (and ICollisionMove interface)
  • ICollisionMove interface only exposes general collision / physics methods and properties

Now SunBurn’s built-in object movement and collision handling is completely contained within the CollisionMove object.

And new collision / physics systems can be implemented by creating a class derived from ICollisionMove that interfaces the 3rd party / custom system, and assigning instances of the class to scene objects.

If you have code that relied of access to the CollisionMove members, but uses the ICollisionMove interface, you can access them again by casting the interface to the CollisionMove class:

(obj.CollisionMove as CollisionMove).Begin();

With this minor change all existing collision code will work like before.


Get it Now!

There are a ton of awesome enhancements and improvements in this update. Make sure to check out the release notes for more goodies. :)

Let us know if you have any questions or comments!

-John Kabus

 

Other SunBurn 2.0 Blogs:

  1. Announcing the SunBurn 2.0 Game Engine - free upgrade, new editions, and updated features
  2. SunBurn 2.0 Collisions, Scenegraph, and Components - new collision system, components, and more
  3. SunBurn 2.0 upgrade for our Torque customers - upgrade path for all of our previous TLK technology customers
  4. SunBurn 2.0 goes Mobile on Windows Phone 7! - full Windows Phone 7 support, light mapping, and more
  5. Holiday, Components, and more! - read about the new components and more
  6. SunBurn 2.0: components, perfabs, and more! - more details about SunBurn's new component system
  7. Festive SunBurn 2.0 Starter Kits, yum, yum! - first release of the new SunBurn Starter kit
  8. SunBurn 2.0.10 update available - streamlined user experience and integrated starter kits
  9. SunBurn Dev Journal: Scenegraph Optimizations - faster scenegraph and City Demo with 10,000 buildings
  10. SunBurn 2.0.12 Update Now Available! - edit components and custom scene object types in editor
  11. SunBurn Update: Windows Redistributable - ship Windows games using only the XNA Redistributable
  12. SunBurn Dev Journal: Workflow Enhancements - background importing, shared materials, Visual Studio templates, and more

 

 

 

 


Posted 04-01-2011 7:53 PM by JohnK "bobthecbuilder"

Comments

Nelxon wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-01-2011 8:36 PM

Nice Work. I've been waiting on a shared material solution for while, I'm glad it's finally implemented. Since the docs have been updated, I can now explore new territories.  

Pérsio Flexa wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-01-2011 9:15 PM

Hey, good news, I'm already doing the tests. ^^

Thank you man!!!

Dean Wadsworth wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-02-2011 12:39 AM

thats great! :)

Though what happened to WorldCollisionMesh.. I was using this with BEPU physics, which worked great!

Anyways poking around hopefully it's still there somewere :)

Dean Wadsworth wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-02-2011 1:02 AM

Oh never mind I found CollisionMesh and CollisionMeshBuilder they work perfectly! :)

Pérsio Flexa wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-02-2011 11:24 AM

Show, the new loading is very very fast now. I tested and really liked what I saw. xD

Thank you SunBurn team.

Kristafer Vale wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-11-2011 10:20 AM

Is there something that changed in this new release that changes what we need to do to distribute to make On Click Publish work again?

I was under the impression that after I did a build all I had to do was copy over the SunBurn Pro.dll from the redistributable folder, but while this used to work my game is now crashing my tester computers, where they don't my develop machines. Normally this means that the requirements are incorrect, ie. the wrong .dll etc, but I've double checked that I'm copying over the redistributable .dll and that the app is set to require only the clinet framework.

Am I missing something?

JohnK "bobthecbuilder" wrote re: SunBurn 2.0.13 Update: Get it Now!
on 04-12-2011 3:47 PM

Hi guys, thanks!

@Kristafer, I posted help in your One-Click thread.

JohnK Blog wrote SunBurn Game Engine: Transparencies, Player Controller, and More!
on 08-17-2011 1:15 AM

Hello SunBurn community! If you follow my blogs you know we’re adding a number of unannounced features

JohnK Blog wrote SunBurn Launches Powerful new Community Plugin System
on 10-16-2011 3:16 PM

Hello SunBurn community! Last night we rolled out a development preview of the SunBurn Game Engine’s

JohnK Blog wrote New SunBurn Community Resources Portal!
on 11-01-2011 5:45 PM

Hello SunBurn community! Two weeks ago we rolled out a powerful new resource system for the SunBurn Game

JohnK Blog wrote SunBurn Game Engine: A Whole New Level of Flexibility!
on 11-16-2011 5:06 PM

Hello SunBurn community! Today we’re announcing the last couple of features in the upcoming SunBurn

JohnK Blog wrote Orbitron: Revolution blasts onto Xbox LIVE Marketplace!
on 12-05-2011 9:52 PM

Hello SunBurn community! Talk about an exciting weekend! The awesome team at Firebase Industries just

JohnK Blog wrote SunBurn 2.0.17 Released – Advanced Lighting, Transparencies, and tons of Enhancements!
on 12-09-2011 4:45 PM

Hello SunBurn community! It’s here! Today we released the SunBurn Game Engine 2.0.17 update –

JohnK Blog wrote New SunBurn Documentation and Silverlight WP7 Example!
on 12-12-2011 9:09 PM

Hello SunBurn community! We’ve just updated the SunBurn Getting Started documentation to ensure

JohnK Blog wrote Starting 2012 with style: SunBurn Game Engine 2.0.18 Preview!
on 01-27-2012 2:01 PM

Hello SunBurn community! We're kicking the year off with a huge new update to the SunBurn Game Engine

JohnK Blog wrote SunBurn Game Engine 2.0.18: Built-in Character Controller!
on 02-04-2012 4:50 PM

Hello SunBurn community! Last night we delivered a feature-complete preview of SunBurn Game Engine 2

JohnK Blog wrote SunBurn 2.0.18 Released - Physics, Char Controller, More!
on 02-14-2012 3:46 PM

Hello SunBurn community! This morning we launched the much anticipated SunBurn Game Engine 2.0.18! The

JohnK Blog wrote New sgMotion Plugin and the SunBurn 2.0.18 Refresh!
on 02-23-2012 4:49 PM

Hello SunBurn community! We just rolled out two exciting new updates for the SunBurn Game Engine ! The

JohnK Blog wrote Latest SunBurn 2.0.18 Update Available!
on 06-06-2012 4:54 PM

Hello SunBurn Community! Today we launched the latest SunBurn Game Engine 2.0.18 refresh! Just in time

JohnK Blog wrote New SunBurn Examples - Learn to Create Scenes in Code!
on 06-12-2012 3:39 PM

Hello SunBurn community! This afternoon we released two new examples for the SunBurn Game Engine - as

JohnK Blog wrote SunBurn 2.0 goes Gold! Framework Edition Ships Too!
on 06-29-2012 8:05 PM

Hello SunBurn community! We're very excited to announce we've shipped the official gold release

JohnK Blog wrote Awesome new SunBurn and Community Updates!
on 07-25-2012 6:54 PM

Hello SunBurn community! Today we posted two new updates! The first is to the community site, which makes



Please login to post comments.