SunBurn 2.0.11 & IGF v0.2.0.0 released!

Today, SynapseGaming released SunBurn engine 2.0.11 with just huge features (you can read release notes here) and with it, I’m now releasing the Indiefreaks Game Framework v0.2.0.0. I had IGF v0.2.0.0 fully tested and ready 24 hours ago but I was waiting for this SunBurn release to avoid making another distribution that would support it.

I’ve already seen plenty of great things to add to the framework based on the latest release notes and especially the Custom SceneEntity and SceneObject support in the Editor: I should then be able to let developers using IGF manipulate their AlphaBlended SceneEntity instances in the Editor… Must have for the next version ;)

Until then, here is the release notes for v0.2.0.0 and as usual, you can download the latest version here.

v0.2.0.0: 04 February 2011

  • Feature: Implements SunBurn engine 2.0.11.8: Benefits from all the optimization and additional features (Click here for release notes)
  • Feature: Easy Hardware Instancing: The InstancingManager allows you to add hundreds of similar meshes to your scene with low framerate impact using SunBurn geometry instancing while allowing you to control each created instance world transform.
  • Feature: ThreadPool: The Application class now contains a Threads property which allows you to launch long background tasks while updating and rendering your main game loop. Optimized to create threads per Core processor available (Xbox360 ready).
  • Feature: Asynchronous Preloading: You can now load a GameState using a LoadingGameState instance that will update & render itself until the desired GameState is fully loaded. Allowing you to create static or animated sequences while the content is loading to notify the player on current progress.
  • Feature: Keyboard & Mouse input device support: Each logical player in the available InputManager Player properties (PlayerOne, PlayerTwo, PlayerThree and PlayerFour) have now a Virtual GamePad mapped to keyboard and mouse keys, buttons and axis that can be easily customized to fit your needs. Also provides optimized access to pressed keys and held keys.
  • Feature: Fade In/Out effect at GameState level: You can now easily fade in and out your entire GameState instances through a call to their FadeIn(Color startColor, float length) and FadeOut(Color endColor, float length) methods for smooth transitions.
  • Feature: RandomGeometry helper class: First helper class to help developers randomly retrieve Vector3 within or on the surface of spheres and inside a cube.
  • Feature: Interpolator & Timer helper classes: (Courtesy of Nick Gravelyn) Easily interpolate between values or execute code on custom timer ticks without the hassle of handling state updates.
  • Fix: Cannot sort alpha blended entities on first Render call: Fixed a bug that occurred when SunBurn overriden renderers were trying to sort entities supporting alpha blending because the SceneState wasn’t initialized in certain circumstances.
  • Fix: Base GameState.Update() and Draw() methods aren’t called in SunBurnGameState: Forgot to add the base.Update() and base.Draw() calls in the SunBurnGameState class. My bad ;)
  • Samples: Added AlphaBlending Sample: Demonstrates how to create custom SceneEntity classes that support Custom rendering as well as AlphaBlending and add them to the SunBurn rendering pipeline (forward and deferred).
  • Samples: Added Instancing Sample: Demonstrates how to create thousands of Boxes with fewer draw calls using the builtin InstancingManager and SunBurn shaders.
  • Samples: Updated previous samples: Previous releases samples now support Keyboard&Mouse input device uncommenting a few lines and also include an asynchronous loading mechanism to demonstrate its usage.

7 Comments

  1. Wim Vancoillie says:

    Hi Philippe,

    One again an awesome job! I’ll started testing the framework to speed up our game development and liked what I’ve seen until know.

    However I discovered a little bug when using the mouse and keyboard for input. I did not find a link to your Pivotal Tracher to log it over there.

    Now the 2.11 editor is a huge step forwards to become a real world editor I decided to give it a try to develop a level with it. I used the Alphablend sample for my testing and uncommented the input of the mouse and the keyboard (yes, also the line that centers to mouse on the screen). When in the game I press F11 for starting/editing the level the mouse can not be controlled due to the fact it is always centered. Is it possible to bypass this centering behavior while the sunburn editor is active?

    Kind regards,

    Wim

  2. Philippe Da Silva says:

    Hi Wim,

    Thanks for the bug report, I’m investigating a solution and will quickly deploy a Hotfix.

  3. Philippe Da Silva says:

    Ok, I’m working on the hotfix but I need to do some tests before releasing it as it may have several impacts on Samples and Core execution.

    Until I deliver it, here is a quick hack you can place in your Application.Update override to get proper Editor usage:

    protected override void Update(Microsoft.Xna.Framework.GameTime gameTime)
    {
        var editor = Feature< SunBurnPlugin >().SceneInterface.Editor;
        if (editor != null 
            && editor.EditorAttached 
            && Input.PlayerOne.UseKeyboardMouseInput)
            Input.Enabled = false;
        else
            Input.Enabled = true;
        base.Update(gameTime);
    }
    
  4. Philippe Da Silva says:

    You can now download v0.2.0.1 which fixes the issue. ;)

  5. Wim Vancoillie says:

    Thanks Philippe,

    Issue solved (one less ;-) )

  6. Tom says:

    Hi,

    Thanks for adding me (twice) in your sidebar :D

    Are you planning on a built-in editor for the framework? My Gizmo is currently in open beta on codeplex and should have a stable release ‘fairly soon’ :)

    Btw, your GSM features(pre-loading etc.) look pretty interesting, any chance on source-code releases?

  7. Philippe Da Silva says:

    Hi Tom,

    I don’t have any editor planned in the framework letting that to SunBurn right now. However, I have been thinking on a way to use SunBurn Editor outside of the game development process. I’ll probably post about this sometime later to see if that would be useful to the community.

    I’ve seen your Gizmo and always found it very useful. I used it a few times in some builds just to make some really precise transformations (I generally don’t use the SunBurn editor as my games are generally content free except the game entities (Space game :) )

    Yes, I’ll release the source code with v0.3.0.0 of the framework.

Leave a Reply