You’ve got this great idea for a game, and you just know everyone will love it… so where do you go from here?
Well, the first thing you need to do is test out your concept. Just because a game sounds fun in your head, or even on paper, doesn’t mean it will actually be fun to play. How many times have you tried out a game which sounded like great fun from the description or marketing blurb only to be bored with it 5 minutes later? It could be that the graphics style, story line, or audio is detracting from the game play and frustrating you… but chances are the actual game mechanic just isn’t any fun. This is why you need to make a prototype.
If you dive straight in and start making beautiful graphics, gorgeous sounds and music, working out complex algorithms for the underlying code… and then 6 months later realise that no one’s actually going to enjoy playing the game you’re going to be kicking yourself. Of course, some of the resources you’ve created might be reusable, but wouldn’t it be better to save yourself all that effort?
This is where a prototype comes in handy! :)
The basic idea is to get something up and running as quickly as possible which will enable you to test out the basic gameplay. Sometimes you can actually do this without any code:
- If you’re considering a new card game, go and grab a pack of cards (or three)
- If it’s more of a board game style, then draw out a basic layout and pieces on paper and try playing it
- A white board can be great for trying out ideas, particularly word games in my experience
Your next job is to do some very, very quick coding. Throw together some really bad art, just the bare minimum, using squares or letters for objects is fine, it doesn’t have to look pretty. Work in whatever language you think you can create it fastest in regardless of what you think the final project will be created with. Don’t worry about getting it perfect! Grab bits of code from old projects and smoosh it all together. Don’t worry about edge cases, or loading times, or file size, just get the basic game mechanic running! :)
Prototyping is one of my favourite processes. Taking that twinkle of an idea and turning it into something which people can actually play. It might be quick and dirty, and oh yes, it crashes if you do X, Y or Z, but it plays. At this point you can see whether your game idea is going to be worth pursuing.
Next, get people to try it out! Get your prototype onto a device you can carry around with you and ask your friends to test (or invite a bunch of people over to your house if you’re not making mobile games!) Warn them that it’s just an idea, the graphics are obviously bad, and tell them the basic premise (because you didn’t bother to give it a title screen, or instructions, or a tutorial now did you?)
If they give your device back to you after 2-5 minutes you probably haven’t found the next big craze. If, however, you have to fight your phone/iPod out of their hands, and promise to show them the next version, then you just might have a hit! Of course, not every game is everyone’s cup of tea, so you need to ask a number of people before getting disheartened. Some people hate word games and just won’t be interested, some people hate RPGs or racing games or puzzles. Try to find a mix of friends and see what reactions you get. Make note of any suggestions they make for the final game… a lot of them will likely be things you knew would be included, but some of them might be great ideas you’d never have considered.
If your prototype didn’t go down well think about what people said to you. Did everyone complain that the controls didn’t work right? Is this something you could change and try again? In my latest prototype you shoot balls into a circle and people were complaining that the balls weren’t going where they expected. I added in a simple line to indicate where the next ball would go and it showed me that my maths was just plain wrong for calculating the angles. I hadn’t noticed as I’d adjusted my playing to how it was working without realising. I fixed this bug, left the indicator there to help people, and suddenly every one liked it a lot more! :) Try making a few changes based on the responses you received and try again.
A prototype can help highlight ideas which just aren’t as much fun as they sounded, and also help you realise how complex a game is going to be to create. Even if the idea goes down well, you might decide that the amount of work it will require is just too much for the likely return. Alternatively, you might realise how simple a game is going to be to create, and realise you can add extra features without dramatically increasing development time.
Basically, prototyping is awesome and it’s fun! :) You don’t have to worry about the tidiness of your code because no one else is ever going to see it (seriously, when you start work on the real game you will start afresh!) You don’t have to worry about catching every bug or making all the various boring forms that every game needs. You get to just turn that spark of an idea into something you can actually play and show others how awesome you are when you can do that in less than a day! :)