Wednesday, June 30, 2010

Status update

So I have almost finished my rewrite of the engine. It's looking pretty good. I also started writing a replacement for SpriteBatch. I'm calling it QuadRenderer for now. It is basically a direct replacement for SpriteBatch except adapted to work with my engine without modification. All that is left to finish it is to implement flipping and texture sorting.

I created a UV space texture to help with creating the standard non-flipped texture coordinates.


You should note that texture space is what you make it. I decided I wanted texture space to map texture space to look like it does above. The actual texture coordinates are like this


So as you can see the texture is automatically flipped for you. Note that this is with a standard orthographic projection where + X axis is to the right and + Y axis is up. Now when you choose your own UV size and UV position it will be mapped to the above image. This makes it easy to create sprite sheets and never worry about why your sprites appear upside down. The same style UV mapping will apply to the SunBurn renderer.

Saturday, June 26, 2010

Rewrite/Reorganization

So after adding a few more features, physics in particular, I decided the engine was getting to hacky and needed to be reorganized into a better structure. I have decided to do away with sprite trees (sprites with children) because I want this to be primarily a physics based engine and it would have been way to complex to keep that feature. Since doing away with sprite trees greatly simplifies pretty much everything about the engine I will have a lot more time to focus on more important stuff like scripting.

As part of the reorganization I have decided to add a Layer class to hold the static foreground and background art. This will allow users to easily add a parallax effect to there levels.

Another feature that I'm adding is dual rendering capabilities. Some items in the game might not want to be lit by SunBurn. So you can simply set a flag per sprite to allow that sprite to be rendered with SpriteBatch. Other then the setting the flag this should be seamless to the user.

MovieSprite



Added a sprite that plays movies! Very cool that you could very easily add a movie sprite to say a computer screen in your game and simply control the time position and interact with it much like Half-Life 2. What I like is how amazingly easy it was to add this to the engine and how easy it is to use. I will try and have this incorporated into the first release demo.

Sunday, June 20, 2010

Better Demo Artwork



Here is a quick demo with 3 lights and a much better sprite animation with normal maps. Yes that's a sprite not a 3D model. The final 0.1 demo will include a complete room, a light swinging in the center and a controllable character.

Also on the goals list I forgot to add 3D model support. You will be able to include 3D models in your 2.5D game!

Goals...

Currently, SecondDegreeBurn's goals are to provide are stable easy method of creating 2.5D SunBurn powered games. Here is a detailed list of what is likely to be included.
  • Fire and forget property animation - allows you to easily time and program animations in object space.
  • Physics Integration - 2D games will feature Farseer Physics 3.0.
  • The ability to easily combine normal animation with physics based animation. 
  • Documentation and examples.
  • Scripting - create scripts and run your game without recompiling.
  • SunBurn integration - harness the power of SunBurn for your game.
  • Animated sprites - easily setup frame based animation with sprite sheets.
  • Key frame animation - easily setup complex paths for objects to follow.
  • XML based loading and saving.
  • Editors - one editor combines everything into a productive workhorse
    • Collision shapes - define, decompose, fine-tune.
    • Entities - combine sprites, collision shapes, scripts, and more.
    • Levels - easily place entities, triggers, and more.

First Test of AnimatedMaterialSprite





First test of AnimatedMaterialSprite.

Saturday, June 19, 2010

Welcome

Welcome to the SecondDegreeBurn Engine's Development Blog. Here you can read about the development process of my 2.5D SunBurn powered XNA Engine. Based partially upon the Zoom Engine by Brandon Furtwangler.

In my blogs I will talk about newly added features and give some basic examples to work on yourself.

I hope you will enjoy reading this blog. If you have any questions or comments, just add a comment below the blog.