måndag 14 september 2015

The importance of being flexible

I'm going to try to make the news updates a bit more interesting and worthwhile, starting with this one. Instead of posting updates in the vein of "Stage x has been completed, starting on the next one". I know myself from reading that type of update that it's not very interesting even though it really seems like it from the point of view as a developer. I've been doing this for a few years now and it seems like a great way to share experiences and lessons you learn as you become better and find out what works and what doesn't as far as game development goes.

Planning your game out I think is a good idea and it certainly works for me. Not only does it make the process of developing a game more structured and clear, but it also motivates you to really get your shit together and do what you are supposed to. Excel sheets with checkpoints and deadlines do a wonder here.

There is a dangerous downside to this though that I've found out the hard way. It's very important not to get too stuck with your initial ideas and think that you absolutely can't deviate from them for whatever reason. This will make the game very clunky and it will affect the gameplay negatively. The initial brainstorming ideas always seem perfect on paper but seldom always work that great in practice. Almost always you need to change a few details at the very least, or approach the whole thing from a different angle. The easy way is to stick to your plan 100 percent because then you can just autopilot it.

An example of this is how I approached programming the stages for Mega Man 42. Since I was a little new at programming in GML, I wrote all the stage boundaries in numbers of exactly how big the stages were in pixels. Not a good idea. It made the stages very set in stone and if I would've wanted to change them it would've been a real hassle. You have to always think ahead when programming so that you can add or change everything you do. In my games currently I always use objects instead to determine the boundaries of the stages, which you can change at a whim just by moving them around in the level editor.

Another example is with weapons and enemies I play around a bit to see what works and what doesn't. Some of the best features in Mission: Afghanistan have come up this way, the chainsaw weapon for example.

In other news I just want to mention that four out of five stages are done now so the game is nearing completion. I'm going to focus on Greenlight and Facebook now to get that done.