January 5, 2010

Moving to XNA 3.1

I’m moving my Innovation Engine project to XNA 3.1 (the new version of XNA that came out a while ago). You won’t see any changes until the next hunk of code is uploaded (in the next chapter of the tutorial, for example), as I won’t be updating previous uploads. However, if you have not installed 3.1, you probably won’t be able to open future uploads until you do so by downloading the update from http://creators.xna.com.

Once you’ve installed 3.1 you will be able to open new uploads, and work with previous uploads by right clicking on the project in the Solution Explorer once it’s loaded and clicking “Upgrade Solution”, at which point XNA will take care of the upgrade for you.



October 18, 2009

Innovation Engine Roadmap 2009-2010

The XNA Game Engine tutorial series is designed to walk new or experienced programmers through building a game engine from scratch with XNA.

This is actually version 2.0 of these tutorials. If you are looking for the old series, it is available here.

The following is the tutorial road map through the end of the year and into next year.

I’m not sure exactly how far into the year this is going to take us, but keep in mind that I do in fact have to write each tutorial before I post them, which I’ll be doing more regularly now that we have a clear set of tutorials. So, the first few sections should be up very soon!



December 29, 2009

New Stuff!

Once again it’s been a long time, because once again I’ve been really busy! No, I haven’t given up on the blog, so don’t worry – I really want to see this engine finished so we can all play with it. I’ve posted a number of new things, including:

  • Content Manager tutorial: This one basically brings back the Content Manager from the old engine series, because it’s incredibly useful and flexible and needs love too.
  • Loading Content: In this chapter we add some functions to the Component and GameScreen classes that actually allow them to load content.
  • An important correction to the “Engine” class constructor.
  • The long awaited Space Innovaders sample game! It uses the Engine we’ve built up so far to recreate the classic “Space Invaders” game. It’s filled with comments and example-y-ness just for you!

In other news, Innovative Games turned one year old on October 7th! Hard to believe it’s been a year already.

I’ve also moved all the uploaded code we’ve had so far to CodePlex, so it will hopefully be easier to manage, access, and (for me) monitor. The Innovative Games CodePlex page is available at http://www.codeplex.com/ig.

So, hopefully the next set of stuff will be out much sooner than the gaps we’ve had so far. But bear with me, I’ve got stuff to do too you know. :)



January 3, 2010

Correction: Component “Parent” Set Accessor

The “Set” accessor in the Component’s “Parent” property should be changed to the following to avoid a condition where a component’s would be “orphaned” (have its “parent” property set to null and not appear in any GameScreen’s list of components) when its parent is set to the same value.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public GameScreen Parent
{
    get { return parent; }
    set
    {
        if (parent == value)
            return;
 
        if (parent != null)
            parent.RemoveComponent(this);
 
        parent = value;
 
        if (value != null)
            parent.AddComponent(this);
    }
}

Thanks go to “Shane” for finding this bug. And for making me actually run all the stack traces to check my code instead of lazily assuming it would work. ;)