Tutorial: A proper Pre-Production

I wrote this article, inspired by this thread: http://blenderartists.org/forum/showthread.php?t=78643
Thanks to Social for writing it.

This article covers the ‘preparation’ of a game project, I also wrote something about working in teams. I hope it is helpfull.

I do not claim that this is the best methode, this is just the way that works for me.


Often I see people with great game ideas,
but often this is just no more then a vague idea.
Mostly they do not take the time to properly prepare their project.
Instead, the first thing they do is opening Blender and starting off.

They start working on a game before they even know what kinda game they are
exactly trying to make. As a result: this project just dies after a few months.

It wouldn’t if the creator would take the time to prepare he’s project properly.

So how do we properly ‘prepare’ a game project?
I’ll try to explain…

Instead of ‘the preparation’, I’ll call the preparation of a game project ‘the Pre-Production’
(becuase ‘preparation’ is not as cool as 'pre-production :))

The Concept, the game idea
Try to come up with a unique idea,
people are not very intrested in the next Quake clone, they are just tired of running around with a gun and shooting everyone they see. Instead try to create something they have never seen before. Be creative.
Take your time to ‘develop’ this game idea, its better to take a month
and have a very exciting idea then having a stupid idea you came up with in less then an hour.
You are going to be working on this project for very long time (depending on the size of the project ofcourse),
so be sure you have a good game idea.

Ofcourse, be realistic. Design with your limitations in mind, don’t try to make something
when you are not skilled enough to finnish it.

Also, your game has to be fun… And developing a fun game is much harder then you maybe think,
I like to call it the Art of Game Design.

What is Game Design?
Some people seem to think that game design is “creating your game, like programming it and creating game assets and such”.
But that is not really correct,
Game Design is the art of designing the content, background and rules of a game in a way the people who will play the game (the players) also will enjoy it. I personally think its the most important
part of game development, if your game design is bad, your game will be bad.
Only a true Game Designer is able to create a game that is really ‘fun’.

How can you learn it? It is simple to understand, but very very hard to master. To become a true Game Designer you do not have to study at a university or anything like that, you have to read books, articles, practise, and have alot of patient.

I highly recommend to read this book:http://www.erasmatazz.com/free/AoCGD.pdf
It is old, but its free, and one of the best books about game design you can find. It is written by Chris Crawford, who is a very good game designer. He also wrote alot of intresting articles. You can find them on he’s homepage www.erasmatazz.com

The Design Document
Ok, now you have an idea of your game, you can write it down in a document called the Game Design Document (I like to call it just ‘Design Document’) and is the most important document of your whole project.
You have to be as detailed as possible when you are writing your game idea into the design document. Design documents of complex games are often more then 100 pages long.
Be sure your design document covers every aspect of your game, from top to buttom.

If you would like to see an example of a design document, here is the game design document of ‘Monolith Productions’ Claw Design Document:

Technical Design Document
A technical design document is a bit like a game design document, but it covers the technicall aspects of your project.
A technicall document is a document where you can:

  • List projected system requirements and dependencies.
  • Write an overview of how objects/functions/data interact.
  • List all the classes/structures/variables, and what they are to contain.
  • Specify coding conventions such as variable naming and commenting.
  • List all the technologies the game uses, and how the game benefits from them.
  • Specify coding conventions such as variable naming and commenting.
  • List file types, data layout, etc.Its handy when you are programming the game and is especially helpfull when you are working in team.


So… you want to develop a game with a team? You probably want to do this when you are developing a big, complex game.
But managing a team can be very hard, I’ll give some tips on how to manage a team,
and ‘playing the leader’ in a ‘proper’ way (yeah, I like the word ‘proper’ :)).

Before you can work in team, you have to find some people who want to work for you :).
So, write a simple description of the game you want to make. I recommend not to write
a whole design document, leave some place so your new team members can add some
features themselves, otherwise they won’t buy into your design and leave the team.

So post the simple description on a forum,
in your post you should tell who you need, a programmer, an artist, a story writer, a musican etc.
Tell what they have to do when they would join the team, be as detailed as possible.

Show in this post everything you already have like artwork, models, maybe you already have a litle demo etc.
Don’t be afraid to tell them how you will organize your project, the way you work and that kind of things.

Also give your post a nice layout, split it up in “chapters”. Just give it a nice and clear structure :slight_smile:

If everything goes well some people will tell you they want to help you, choose wisely. Ask them to show some of their work, previous projects
they worked on etc. Take your time to choose a new team member,
having a good team is very very important.

Managing your team
You are the leader of this team, this means you are the one who has to manage it, and this is not easy.
Read anything on Team Management where you can get your hands on.

You are the one who has to motivate the team members, you have to be their for them, you will have to listen to their problems and try to solve those.

I also reccomend to set up a private wiki to store all your files on, like your design document and your technicall document, you can also write down the contact information of your team members here, or write down the deadlines and such.

A nice free wiki host is: http://pbwiki.com/
You can set up a free private wiki there.

Being a leader is not always easy you know… You set up wiki systems, you motivate everyone, solve the problems of your team members, but they do not solve yours, often they don’t even thank you for setting op a wiki or motivating them. They won’t motivate you, so self-motivation is for a leader a requirement.

If you want to read more on this topic, I recommend to take a look at the articles on this website: www.dexterity.com/articles/


Properly ‘preparing’ your game project will not just make your life in the ‘Production’ stage easier,
I think that the pre-production is the most important part of the development of a game because
the Game Design is also done in this stage.
I also think the reason why so many projects fail is because of the lack of a good preparation.

The Pre-Production is the “groundbase” where your game is build on, your game would just collapse without it.
So do it properly.

If you would like to learn more on this topic, then these links may be of interest:

  • Fenryal

Very nice article and like some of the other threads going here this subject needs to be a sticky

This is a great guide; I’ve always done my games like this, Thanks to a game design book I purchased in 2000’… I must say it was worth it. Great article, sticky would be nice. I’m sure this will help many people

Good work. This is article has some very useful suggestions in it. I hope that others will find it helpful as well.

Hmm…Yea…Very good advice :rolleyes:.

Thank you all for your replies!

Hehe :), I wrote that because I see some people just come up with ideas like “the next Quake clone”… They go with the concept of Quake becuase it is a game that had alot of succes.
I think it is way more intresting when you put unique features in a game instead of “stealing” features from another game.
Quake had alot of succes because it was a quite unique game back then.

  • Fenryal

It would be nice if it actually worked. These tips of yours. Tho… They just might work. I am going to perhaps try. Nice text anyway. :rolleyes:

Really well written. I think requirements management is one of the most neglected aspects of any computer related production such as software, games, animations etc. Also it helps one to get clearer picture about what he is about to begin to make and how long it could take to produce for instance first playable version. If you know what you are doing, it is much easier to do it.

One issue that you did not mention in your text is risk management. A good leader should evaluate the risks related to the project and handle them that way. It helps in the long run as you are prepared for ill fortune. This involves taking backups of work, readying the team for possible retirements of team members etc.

I found this link particularly useful when learning about how to write a script\create characters.

Haha :smiley:
It works very well for me and my team, we are using this methode for more then a year now… But ofcourse, you should look at what works best for you…

Thank you for the reply:)
Yeah, maybe I write something about that. Mostly I warn the members of the team that its not sure that the project will actually succeed. I also write such things down, somewhere on the wiki.
And about taking backups: I “split” the project up in ‘Milestones’ (maybe I write something about that too). A milestone is a piece of the game that has to be finished by a certain date. A simple example: “The fighting system of our RPG has to be finished, the player can draw he’s sword when s/he press SHIFT. More information in the design doc.”
When this Milestone is finished, I copy all the files to a disc, or put them on a USB stick etc.

Actually this is a quite brief text, I wrote some links at the end of the post to webpages where you can learn more about this topic.

  • Fenryal

I myself have done some older DOS based gaming (as project leader) for some years (non-comercial / allegro based). After several trial/errors i found out that putting project (last two projects) together by using “building brick by brick” technique worked pretty well. Basicly each small part of functionality was project of its own. Well kinda basic way how Bounties work (which is nice idea if you got the money/prizes for it).
It even worked on the current short film i made. People involved in it around Finland and even abroad (UK, USA, Austria).

I would like to point out that having things done by Brick’by’Brick is nice way to do it. So you dont really have to have static team. Just get people to help you with one part and other people to another part. This might take bit longer but this way you are not overloading the team members with work. This however requires great planing since all the parts must fit together. (easy in Filming tho)

edit: The bricks might be as tiny (in programming) as just have one function to show world time.

Yes, splitting up a project in ‘milestones’ is a similiar technique
Every milestone is a little project of its own, and all these milestones together form a big project.

I write down what needs to be done to complete a milestone, and then I appoint tasks to every team member.
Team Member A does this and that texture.
Team Member B Programs this and that.
Team Member C makes the music for that map.

He, he. You didn’t get what I was trying to say with that.

Ok then :smiley:

Amazing… this is something I wish I would have found when I first started out
After reading something like this I definitly go back to the drawing board; being only sixteen and ignorant I had know idea how much pre production was involved in making the game
oh well - kudos on the documentation…

Thank you very much for your reply :slight_smile:

I recommend you to take a look at the websites I linked to at the end of the tutorial. You can find there much better documentation on this topic.

  • Fenryal