In this article I want you to show how to create a game design document that will be like a guide in your whole game developing process.
This article is not about writing a game concept for the next AAA title to convince EA investing in you.
This kind of game concept is intended for you, the indie game developer, to help you get your project done. To better estimate the effort for the whole project and to expose weak points or problematic parts in your project on an early stage.
Writing and working with a game concept was an eye opening moment for me. The first time I finished a game I used a game concept. You can read the story here about finishing my first game.
In the end of this article you will have a good idea about how a game concept may look like and why it helps finishing your game.
Furthermore you have the chance to get a free copy of my Game Concept package. It contains a game concept template and a real life example concept of my BeliDash game app in PDF, Pages and Word format.
The need to be a Basic member which is completely free, to get the game concept in your download area. The BeliDash game concept is for the paid Premium membership only.
Parts of a game concept
When I write a game concept I work off five different parts:
- Project Overview
- List of Media Files
- List of Game Objects (Classes)
- Time Schedule
I will go through each section and sub-section that I consider as important and helpful. I will explain each section shortly.
1. Project Overview
in general the project overview tells you what the game is about and how it works. What the game rules are, how the game is played and who the targeted audience is.
1.1 App Objectives
This is a short explanation of what the objectives of the app are. It is not what the player needs to achieve in the game. It is about what you, the developer (or your customer), want to achieve with this app.
Do you want to give your user a good casual game experience and earn some money? Or do you want to create brand awareness? Maybe it’s just a project to learn something? Or just a fun app? Maybe it is not a game but an application?
1.2 Target Audience
Who is the player that plays your game? Think about gender, age, income, job. Sometimes you see a pattern, or an opportunity when you think about the targeted audience. Sometimes you expose a conceptualproblem – „No, René! I’m pretty sure hardcore gamers do not like to play with a pink unicorn main avatar.“
Which languages the game will support. Are there special specifications for other languages/countries? Who will create the translations? When will they be delivered to you?
Hint: have in mind, that other languages often do have longer translations. English has rather short texts, but the translation to German is often longer. And French is often terribly long.
This is especially annoying when creating HUD or GUI buttons. The translated texts often do not fit. So if you want to create localized versions of your app, think about how to solve this problem. For example Let the HUD system be flexible, make the GUI elements bigger, use wrappable text fields with smaller fonts etc.
1.4 Target Devices and OS
For which devices and OS will the game be developed for? Smartphones or Tablets or Desktop and for which OS? What are the minimum hardware specifications?
1.5 Game Idea
The core idea and story of the game. Do add some scribbles here to illustrate your ideas.
1.6 Game Rules
What are the rules of the game? How does it work? What are the game mechanics. Which objects of the game exists and how do they interact with the player.
Use scribbles, statistics or tables to explain the rules.
1.7 Game Flow
Describe one example gameplay from beginning to game over situation.
1.8 Game Objectives
What are the objectives in the game? How do the player reaches them?
1.9 Win Situation
What is/are the win situation/s.
1.10 Loose Situation
What is/are the loose situation/s.
How does the scoring exactly work?
1.12 Game networks
Do you want to use game networks? If yes, which one? Do you want to use high score tables. Do you want to use achievements?
If you want to use achievements, make a list of each achievement, its name and description and when it is reached.
1.13 Menu Structure
Think about the menu structure in your app. Which menu screens do you need? Which buttons do you need? Create a graphical visualization of the structure. I created this structure with draw.io but there are dozens of other online drawing, mockup and wireframing tools.
1.14 Style of the Game
Is the game a hyperrealistic simulation or a casual style game? What does the graphic look like? Funny, serious? What is the overall mood during the game?
How do you plan to monetize your game, if you want to monetize?
- Full Charge
- In App Purchase
If using Ads
If you want to monetize with ads, which ad networks do you want to use? Where do you want to place advertisements in the game?
If using In App Purchase (IAP)
What kind of goods do you want to sell in your app?
Remove the ads via IAP? Virtual in game currency? Objects to help the player progress the game faster?
When and where in the app can the player do a purchase and how does the player do it?
3. List of Media Assets
This is really the most diligent part of the concept. But it helps to get a feel for the overall workload of this project. If you are in need to create a proposal for this app or if your graphics get done by an external artist, this part is even more inevitable.
If you are not a genius from another world, you won’t be able to think about every piece of game asset you will need for your project. But try to think about every aspect in your project. Play the game in your head:
- Start at the splash screen. How does it look like?
- Go to the game menu. Which menu screens do you need? Which buttons do you need? Sound/Music?
- Imagine the first game level. What does your level look like? How does the chracter look like? Is it animated? Props? Is there a tutorial? Pause Screen? Game Over Screen? HiScore table? Sound/Music? And so on …
When you are developing this project, you will always find a need for a new asset you haven’t thought about. Add it to the list in your concept. Check your concept on a regular base if you have listed all new assets.
3.1 List of Graphics
Create a list of every piece of graphic.
3.2 List of Animations
Create a list of every animation. Character animation, backround animation, particle FX animation etc.
3.3 List of Music
Create a list of every piece of music.
3.4 List of SoundFX
Create a list of every needed sound effect. GUI sounds, in game effects like walking, shooting, talking, grabbing, explosions etc.
4. List of Game Objects and Properties
Create a list of every game object – think in classes.
Then think about what properties each object do have.
To make things easier try to use inheritance. Start with a base class that contains the most common properties like x and y for the position coordinates of a game object.
Then I create classes that are based on the Object class. This means it inherits all the properties from the Object class (in this case x and y) so I do not have to think about them.
This is really a trivial example. In real life my base class does contain much more complex properties and methods like touch handling, if it is draggable, if it is rotatable, internal identifier, updating, proper removing and so …
This can save huge amount of time. And it is much more easier to maintain – the common complex stuff is all located in the base class.
Furthermore it is nearly always the same – the base class should be highly reusable and you will profit in your next project.
5. Time Schedule
Create milestones for your project. Maybe on a weekly or a monthly basis. It doesn’t matter, if you have no idea which step takes how long. Estimate it, estimate it roughly.
Soon after you have started working on the game, you recognize if your time schedule needs to be modified.
One important fact is – the concept is not set in stone. It’s a living document. If you need to refine the time schedule, and I bet you will, then do it. But do it for a good reason.
If you need to refine the game mechanics – it’s OK. But write it down to the concept.
It will be nearly impossible to know from the beginning, what media assets and game classes/properties you need to build. But you should update your concept on a regular base.
The most important thing is, that you stay in contact with your game concept. For example you could check every monday morning what has changed, which files has been added etc. Do update your concept!
Now it’s your turn. Get my free Game Concept Package and study my real life example concept of my BeliDash game. And then write your own.
Do you think this helps you to finally „finish the damn thing“? What else could be a useful part of a game concept? Lets discuss – use the comments.
Thank you for reading – I wish the most possible success to your current project!