Thursday, April 23, 2009

Game Design: The Beginning

I’ve always been interested in making games. In fact that interest is the reason why I became interested in computer programming and in many ways has lead me to my current place in life. Anyway, I have recently downloaded and attempted (still trying) to install XNA which I will use for the development. Since it is C# .NET based and that’s what I program in every day I thought it would be a good place to start. Plus, if my game turns out awesome I could publish it to XBOX Live. Tonight hopefully I will begin making my first real game.

I have decided to go with a simple 2D platform game since it’s a relatively simple place to start while still having the potential to be really awesome. Being a programmer rather than an artist I am a little more interested in the gaming elements rather than just making a pretty looking game. I think the 2D approach obviously simplifies graphics even if only from a technical perspective.

So far I’m still brainstorming ideas for an actual setting and story for my game, but I’ve thought of some more technical elements which I can start on before I get that far. In terms of setting and story though I’m still at the vague stage of cool concepts, though I’ve begun to lean the way of a fantasy setting. Something like from the Golden Compass movie though rather than a Lord of the Rings kind of thing. I like the idea of the fantasy world having a kind of childish grace and largeness to it.

I’ve definitely got a few more concrete ideas about the technical side though. I like the idea of having power ups or items in the world which you can use. Even something as simple as the mushroom in Super Mario is cool. I think that linking this idea into some kind of limited character development might also be cool. Maybe nothing quite so complicated as levelling up, but maybe something like choosing which power-ups to be using at a given time.
I also like the idea of procedurally generated levels. This can add a lot of replay-ability to a game and its also a complex and interesting problem. For a project at university I did make a simplistic maze game with procedurally generated levels (the only saving grace of a horrible project), so I think I’m ready for another go at it. I’ve also been playing Spelunky recently which is an awesome platform game with procedurally generated levels so I’ll take some inspiration from that.

The other element I’ve decided is a must have is more graphical but from a technical perspective. I saw the technique watching a show about how the Simpson’s movie was made and while subtle it can make a huge difference. It involves overlapping several 2D background images (you can also include foreground images I guess) at different depths. For a single frame this makes no difference, but then as you alter the images for each subsequent frame you alter each depth individually in a way that corresponds to its depth. This means that with simple 2D images for a background you can create the illusion of a complex 3D background scrolling by. Since I’m no good at drawing anything I can do to add some sheen to the graphics would be cool so I really like that idea.

Anyway, those are my ideas so far. I still have to get XNA going and figure out how it works so it may be a while before I actually get anything done on my game but hopefully I will have something to show before too long. I while post a few updates as I go to chronicle my first attempt. If you have any cool ideas feel free to leave a comment.