In this first article of a two part series, I'm going to go through and explain what I think are the main foundations for good game design, but taken from a more holistic and general point of view rather than focusing on specific details related to genre and style. So, these tips are directed at guiding you in the game design process rather than actually giving you hard and fast design rules to follow.
In the articles we'll discuss some general design tips that have been proven to work, no matter what type of game you are creating, starting this week with discussing motivation, hook and documentation, and then next week we'll move on to discuss game atmosphere, variety and few other things. Hopefully they'll help you to think about your game in different ways and let you give it a unique set of design values to set it apart from all the others.
This first design foundation may seem like an obvious one, but it really needs said and is probably the most important thing I can tell you in this article... In order to make a good game, you need to want to make the game, you need to love the game idea, and you need to love playing the game. If you don't love what you are doing then it will show and the end user will notice, resulting in poor comments and poorer sales performance. So, if you are not happy with the game idea, you can be sure that noone else will be, and you should maybe think about changing ideas and starting another project if you aren't enthusiastic about the current one.
Yes, not only do you need to love your game idea, you also need to love developing it! If you don’t enjoy the development process itself, if you don't relish the challenge of every new line of code that you need to write, or if you don't get a buzz from every bug that you squash, then you'll quickly find yourself putting tasks off for later, getting bored, getting frustrated and eventually leaving the project to one side to do something else anyway. Obviously, developing any game has it's highs and lows (I hate, for example, programming things like high scores and achievemnts), but when you find that working on your game is more of a chore than a pleasure, and when the lows out-number the highs, it's time to rethink things...
My next tip is another important one, and it's probably also the most difficult one to get right. Getting your game a hook. What's the killer idea that will set your game apart from the mountain of other games? You, as an independent developer, will need a hook to get people to play your game and to get it to stand out from the crowd.
You may be wondering why you need this and why it's so important... I mean, other games that don't have a specific hook do well, don't they? That depends... franchise games in my opinion are the only ones that can usually get away without having a specific hook other than being the next in the series, but you can be sure the first game of the series had a definite hook to make it stand out, or else they wouldn't have made it into a franchise! So, unless you have a marketing budget of several million, an established fan base for your game, and a whole franchise to back you up, you'll need something to make it stand out from the crowd.
To help you get an idea of how to define your game hook, you should look at other games which have done well and see what their hook was. For example, let's take a look at one of the biggest game franchises around and see what their hook is - Grand Theft Auto. What was the hook? Killing people? No, that’s been done to death. Stealing cars? Maybe - it did add to the experience, but any driving game could add that feature and it wouldn't be GTA. To me, the hook for that game was freedom. The unparalleled freedom offered in GTA is fantastic, and at the time of it's release it was unheard of! Do what you want, when you want, the way you want to do it... and that is why, in my opinion, it has hooked so many millions of players.
So, you need to discover the hook in your game - but how? One way is to examine your concept and look for what makes it unique. Then ask the following questions:
Your hook doesn't have to be limited to a cool gameplay element - it can be the graphics style, the music, the story, et cetera. There are many ways to hook your audience so look at your game and see what stands out, then concentrate on that element. Also note that your hook could simply be that your game will appeal to a niche audince. If you play towards a small and specific group of people, you may get less coverage but you'll have almost gauranteed sales, so that could be a hook which pays. Consider all your options, but try and make sure there is something in your game that you can point to and say "that makes it different".
My last tip for today is another important facet of game design - as well as an excellent way to keep focused - and it's to create a design document for your game. Now, while I know that for an indie developer creating your game can be an organic thing with ideas coming to you as you program, that doesn't mean you can't keep a design document. At it's most basic you can simply open up the Game Information window in GMS and jot down ideas, plans and changes that you want to have for the future, but I do advocate for a more structured approach, especially if you are working with a team of people.
The design document can be as long or as short as you wish, but I would suggest that you start with a short, single paragraph that outlines the core elements and concepts that you want for your game. Next you'll want to use this to create a page or so with some more detail that expands upon these core elements, and then finally you write a more detailed document that goes into the nitty-gritty of everything. Also think about sketching out your ideas on paper - giving life to your characters or scenery at this early stage will help inspire you and give you great reference material for later.
The final document needn’t be complete at this point, and it will certainly not be “law” as you will inevitably come up with ideas and mechanisms as you program, but you should aim to have it (more or less) complete and finished before you get more than 50% into the game programming so as to have a reference and a focus for continuing. This doesn't mean this final document can't change though. It can (and should) change, but as you get further into the development it should be changing less and less, otherwise you risk getting stuck in a circle of revisions and re-workings which will cause the production of your game to stall. This “inverse pyramid” approach to design helps you to focus on what is really important in your game first and then gradually spread out to cover all the bases in the final document, and the act of writing it down helps you to fix the core ideas in your head before actually writing a line of code.
You can find a great example of a design document for the independent game Play With Fire on GamaSutra, and if you want to see how the pros do it, then check out the Bioshock pitch from the Irrational Games Vault. You can also get a fascinating insight into how a game that has been classed by many a reviewer as “perfect” was created by reading the developeremails and design notes for the game Threes from the developer Asher Vollmers web site.
You may think that game design is all about the programming and visuals, but hopefully you can see that there is a lot of thinking and planning that goes into making a great game. Writing a design document, for example, may be a chore to start with, but the focus and guidance that it gives you as you progress is well worth the time spent writing it, as is the time spent researching other games and play testing alpha prototypes of your projects. However, that's not the end of the game design story and in part 2 of this article next week, I'll be talking about some more fundamental design elements which you can use in your games to enhance their playability and general design values - specifically the role of atmosphere and the importance of variety, but we'll cover a few other things too.