Tuesday, March 31, 2009

Structure of Game Design

So this past month, I had a class in which we were given one month to make a game of our choice. I chose to do a platformer which I called "Just Beyond".

The concept of it was you were a teddy bear who was accidentally dropped out a car window on a road trip, and spent every waking moment trying to find the boy who owned him. I'm pretty proud of what I achieved, however incomplete it may be (I plan to polish it up and put it up over spring break). However, The class taught me some really valuable lessons about designing a game.

Know your limits:
By limits, I mean both deadlines (time limits) and what you can achieve. I tend to have the attitude that whatever you put your mind to you can achieve, and I truly believe that. However, having the first game I made being a platformer with three different levels, all with (digitally) hand drawn graphics made by myself, that's a bit much to do in one month. I did get surprising amounts of it done, but unfortunately, alot of graphics fell by the wayside, which leads into another important fact...

Feature Creep:
It's called creep for a reason, those little "wouldn't it be cool if..." moments we ALL have that just slide into our minds while we're doing something. What makes it worse, is when you have an art program, or a compiler in front of you, you have the ability to try out that idea right then. Break that habit now, right now. It's great to have ideas, but when you have a plan, stick to it. Write the new ideas down, and set them aside, finishing what you have planned first, that's why you have the design doc. 

For instance, when I made the projectiles that my character throws (blueberries) I had them hit the ground, splat, then slowly drip and leak over the edge of the platform. It looked great, and it came from one of those "wouldn't it be cool if" moments, but I ended up spending an entire afternoon working on that, that could have been better spent getting my data saving and loading from the game. In the end, I had to disable that animation anyways, because I didn't have an animation for when they hit the walls, and didn't have time to make one.

Never Give up:
Take the term deadline seriously. The nights before both of my milestones were due, me and some buddies from class had study groups that lasted from 11am one morning to 5pm the next day. All of that was coding, with maybe a couple 10-20 minute breaks for food or caffeine. The point is, we were going to work our hardest to knock our games out of the park, even if that meant not sleeping til after we turned in the assignment and left class. If this is what you want to do, prove it to yourself, and your instructors, by stepping up to the plate and putting all your energy into what you're making. The game will come out better for it, and you'll have something you can be proud of in the end.

All in all the class was a great experience, and alot of fun. I have alot of things to keep in mind for my next projects, but having experienced them first hand, I'll be all the more prepared for them the next time they come around.