Sick Kreation’s End Game Engine…

Filed Under (Engine) by Ruben on 14-08-2012

Hello Everyone, my name is Kevin and I am the programmer and founder of Sick Kreations Studios.
I want to take a moment and describe the current state of our game engine for anyone that is interested.
The End Game Engine has evolved a lot since the release of KGB in January of 2010. It is built on XNA and the core of the engine is completely propietary C# code. Here is a quick overview of the engine.

Core
Multi-Threaded, running three threads each on their own core on the Xbox 360, separating the ‘Update’, ‘Physics’ and ‘Draw’ task. This allows the End Game Engine to utilize the full power of the Xbox 360 PowerPC and achieve frame rates of 60 frames a second while rendering geometry consisting of hundreds of thousands of vertices’s and hundreds of textures such as the End Of Days Level.

Rendering
Fully deferred rendering at 1280 x 720 HD resolution
Gamma correction on textures for accurate linear lighting
Deferred lighting supports one directional and hundreds of point lights
Baked lighting exported from authoring tools to get highest quality
Dynamic shadow mapping used for FPS player hands and weapons.
Post processing Bloom, Blur and HDR

Collision
Triangle level collision for ray cast at the highest level of detail of the render-able geometry and low polygon mesh collision for FPS character movement in levels. Triggers for running events and moving FPS character on objects such as ladders

Shader
Every render-able model can have Diffuse, Normal , Specular, Emissivity, Reflection and Alpha Blending maps applied

Audio
All sound is authored in XACT3

Optimization
If you are familiar with XNA and C# then you know that a big caveat with frame rate and smooth performance is the Garbage Collector. While developing KGB:Episode One, I found that I was going to have to abandon elegant program code for a mass of ugly public and static variables to avoid garbage collecting hic-cups. The single biggest fix for this was in the “Skinned Model” sample from the XNA tool set. My animation code is based on that example and moving all the base “classes” to “structures” significantly improved garbage collection performance.
Another performance optimization built into the engine is vertex compression. Nuclear Wasteland 2030 was vertex bound and that is why it was released at 30 frames per second. Although the XBox360 can process hundreds of thousands of vertices blazing fast, I ran into a bottleneck in NW 2030 with grass. So immediately after NW 2030 was released I added the vertex compression and tripled the number of vertices that could be processed thus allowing for many model assets to be added to End Of Days.

Since releasing End Of Days I have spent time on two significantly new features; Navigation Mesh based on Recast/Detour for pathing AI and a .DLL that I wrote to support Modifiers in 3DS Max. The Recast/Detour is nice…I wrote an export routine for the Recast demo to save the navigation mesh data in an XBox360 format for the game engine and ported the “detour” part of the code to C# to run in managed XNA. I have also added deferred lighting shaders that output HDR.
Except for a few thousand other small details that I left out, the End Game Engine is running extremely fast, has a very promising future and is allowing us to quickly develop beautiful looking games that are fun to play. We currently cannot offer to sell or share the engine even though we would love to due to the fact that we do not have time to offer support for it. Hopefully in the future we will be able to share our engine with other developers.
If anyone has any questions or comments regarding the End Game Engine then please do not hesitate to leave a comment and I will answer as soon as I can.
~ Thanks, Kevin ~

6 comments on “Sick Kreation’s End Game Engine…

  1. Shea on said:

    Pretty awesome. I don’t develop games, nor anything for that matter, but you guys must have spent quite a bit of time developing the engine. I guess it payed off in the long run :)

  2. Zodiac5517 on said:

    A new engine is a good start to any indie game as long as its optimized correctly but anything else not too sure. I did notice some changes in the game engine on aliens vs romans yet i don’t believe if its using the end game engine or not.

    • sickadmin on said:

      I know, what a late reply. Aliens vs romans is using the End Game Engine, but it has about 40 Omni lights so things really pop. Also the modeling and texturing was done by John Conelea who worked on Nuclear Wasteland and the End of Days modeling and texturing was done by me, to very different art styles.

  3. marcelino on said:

    The graphics in romans v.s aliens did look different from the graphics from end of days game but the graphics do look similar to the elder scrolls 4 oblivion.

    • sickadmin on said:

      The level was original done by John Conelea for an Unreal Engine Art contest, he was inspired by Gears of War when doing the level. We were really excited that the EndGameEngine could actually run a port of the level, it has about 40 Omni lights in it.

  4. Anthony on said:

    What is the next update after the bug fixes?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>