The game I talked about in the previous post was just a prototype, and once I got a little bit farther in the development of it, I realized it wasn’t that fun to play (i.e. the core mechanics were boring). So I decided to dump it. Oh well! One of the hardest lessons to learn as a game dev is that sometimes when a mechanic or idea seems really fun or good, it may not be that way when you test it out. That’s why one of my biggest rules is:
Prototype, Prototype, Prototype! I cannot stress this enough, don’t focus on art or polishing anything, get the game mechanics and controls down, and work from there. For example, before Braid had any art, Jonathan Blow had the mechanics down and used ‘programmer art’. It looked horrible (Sorry, Jon!). But, it’s always much better for you to discover that a mechanic or game is not fun BEFORE you start the project, not after 6 months.
I cannot stress how many games I have had artists/musicians work on, only for us to realize the mechanic may not be all that we thought it was going to be. Prototyping is something you will need to learn to be good at developing games, because in the gaming industry, time is money. When you don’t prototype you can lose many precious hours, days, or even months.
Not prototyping has been a fatal flaw of mine since day one of me starting to program. If you’ve got an idea, write it on paper, explain the mechanics (down to the number!) and then jump into your IDE. Do not focus on art, polishing or music at all until you can feel reassured that this game idea is fun, can be done, and will be done.
Recently after learning about the oh-so importance of prototyping, I decided to try out FlashPunk because I wanted to rapidly prototype a game in which the player has a jetpack but is in a platformer environment (i.e. Jetpack Joyride + Company Of Myself). The problem is, writing an engine with tilesets, level loading, and collision mixed with simple platformer physics can take up a good chunk of your time- which is exactly why I used an external engine like FlashPunk, because it’s very easy to set up. After only about 2 days of fiddling I got a fairly decent jetpack prototype working:
So, all in all the basic rules of prototyping are:
- Don’t spend your time on art – Notice how in the screenshot of the prototype above, I used Minecraft’s default textures.
- Don’t polish – make sure your game is fun before you start to transition it into that playable state.
- Don’t reinvent the wheel – This can actually go for the majority of game design in general. If you can use an engine, do so! It makes rapid prototyping a ton easier, and when you’re done you can scrap it if you want to.