The idea of being able to create your own video game is probably what got me started in programming as a child. And it would be fair to say that I have spent many, many hours experimenting with all kinds of game design ideas. I have attempted to build a number of game-engine frameworks over the years using VB.Net, with Xarcade and Xarcade Vengence being example games that grew with the development of those engines.

Just prior to the announcement of XNA, I had been working on a 2D game-engine framework based on DirectX. I was to the point of needing to design what I would later learn is called a "content pipeline" when I learned that the XNA Framework as just around the corner. And when I looked into it, I found that it was nearly identical in concept to what I was building, only it was a complete DirectX implementation, whereas mine was a very narrow implementation and was only supporting 2D rendering of textures.

So I abandoned that engine and began to learn XNA. It turned out to be an amazing framework, if a bit overwhelming when first starting out. And as of this writing, when one is ready to create a real, modern video-game, something XBox-worthy, then XNA is still one of the premier development frameworks to choose from.

More recently though a development environment and game-engine named Unity3D has arrived. And this is true game development power made simple. One can think of Unity3D as a prebuilt "XNA" game engine which is cross-platform compatible. I don't believe it is actually XNA, but it has a similar design concept and is completely scriptable in C#.

But the point is that Unity provides not only the game development framework like XNA, but also a completely rigged game-engine which is ready to be configured via the Unity IDE. So it is something akin to having Visual Studio's drag-and-drop/property grid-based form designer, only for a 3D world space with GameObjects that automatically support rendering, collision, input, updating, and all of the things a game engine needs to provide.

I became a big fan quickly, and created a beta of Xarcade Invasion which is really only lacking an artistic team for completion. This beta demonstrates most of the major components of a complete game, and plays pretty well with a wired XBox controller plugged into your PC's USB port (keyboard works too, but is harder to use).

Here's the thing though: even as well designed and easy to use as Unity is, it is even more overwhelming than XNA when you first get started. And there are quite a few foundational concepts about 3D graphics which one may need to learn before some portions of Unity's options make sense.

So I thought: "what if we took the same pre-designed game-engine concept as Unity, but simplified it down to only handle a classic 2-D style video game?" The answer I came up with is the GdiGaming API.

Last edited Dec 29, 2011 at 7:27 PM by ReedKimble, version 1

Comments

No comments yet.