I usually create a prototype before I start to work on a new game. I also prototype complex features quick and dirty at first. Why is this important?

Because you can learn so much from it. If you prototype early, you will write better, cleaner and more efficient code later.

So you want to start working on a new game? Your game designer comes up with this revolutionary new game concept. It isn’t worked out yet. But it’s for sure that this game will rock… probably.

Now you have two possibilities:

Either you write down many hundred pages of a game design document and start to think endless hours about how to implement everything. Or you just boot up your favourite IDE and start to code.

Don’t think much about how you will design your interfaces, classes, security or performance issues. Just write that damn code. If you wrote the basics, play with the prototype. Add things you think could be cool, remove things that turned out to be silly. Talk about what would be cool and important for the prototype, go crazy and have fun with it.

The code doesn’t have to be super-sexy, you won’t use it later anyway.

What are the benefits of a prototype?

  • If your game sounds great but is boring, you’ll find out early.
  • You will be more creative if you play around with the prototype in early design stage.
  • You will gain a lot of knowledge early: Does your database design work? Where are the performance bottlenecks? What about the problems during implementation? With this information, you can design and write much better and more efficient code, when you start on the real project.
  • You don’t spend time in endless meetings, discussing if a feature is good and fun. You just push it in your prototype and will find out.
  • You can make better time estimations later on.
  • You know the technical requirements better, and can easily decide which technology would fit best.
  • You are allowed to make mistakes and dirty hacks. If you can fake it – just fake it. It doesn’t matter.
  • You can concentrate on the gameplay logic not on security, scalability and performance stuff.
  • It’s possible to use your prototype to pitch your game idea to a publisher. This is more impressive than a boring presentation with a lot of marketing-bla-bla.

What should you be aware of?

The first and most important rule – with no exception: Never ever use prototype code in a productive system or your final product. You will regret it! If your boss will force you to do so: Shoot him, beat him, set his house on fire and destroy the prototype and all backups!

Don’t put your brain at rest. Only because you’re allowed to write quick and dirty code, it doesn’t mean you should stop thinking. You don’t need to plan and think about things for hours or even days. Just think a few minutes about it. Implement it. If it didn’t work out, rethink and change it.

Concentrate on the important aspects. Work on the things that are important to proof that the game is fun. If it isn’t fun think about what you should change to make it fun. If you’re out of ideas, you’d better stop working on this boring shit and start something new.

Should I prototype features?

If you want to implement a new, complex feature in your game, all the same rules are applying.

It happens very often, that coders will think about the design of their code and how they could implement it, just to find out later, that they haven’t thought of all relations or technical problems. Prototyping leads to better and maintainable code in the long-term, and you will save time in the beginning trying to think of every problem that could occur and every possibility you have to concern about.

Also, the game design, can learn from prototypes and they can designer better games – or they even will get inspired by the prototype.

  1. Leone Simonetti @9leone (2011-01-22 05:10)

    I totally agree with your article.I had some similar experiences, i tried to program a game (worst idea ever for an artist) and the first version of the code was very very dirty, but was enough to see the who would be the gameplay, i could call that prototype, and after i made a code more clean. but i stopped because i got stucked in programing : Tanyway, good article!

  2. joe (2011-01-22 09:04)

    ┬┐Hablas espa├▒ol? @JuDelCo was so kind to translate this article into Spanish. Read it here: http://goo.gl/a2lHs

  3. Utkarsh Upadhyay (2011-01-22 13:18)

    Nice article!I agree with the fun behind prototyping and I think that the benefits of Prototyping you describe apply to all branches of software development. However, there is a pitfall involved, which also I think applies across all software development.The problem is of putting too much time and effort into the first prototype and making it a little too good. 1. It makes others want to urge you to continue development on the Prototype rather than starting again. 2. They are sometimes one’s dev partners who do not know how the code is _really_ written, and as you point out, it might be sometimes one’s senior who does not want to redo something which already works, but most importantly,3. Sometimes it one’s own maternal affection to a couple of lovely _tricks_ pulled in the code.So though the prototype was made with the purpose of only testing and trying the new ideas, working too long on it will inevitably make it find its way into the final product.Personally, I have found scheduling actual code writing _before_ starting with advanced features very helpful. My cycles are:i. 1 month of prototyping, throwing all features I can at it and having plenty of funii. Freezing the prototype and two/three months of making it into a stable milestone, rolling up my sleeves and ‘paying’ for that month of fun.iii. Starting with this stable base for another month of fun filled prototyping, repeat …However, I have not done game development myself. Will these sort of cycles work there? Or are there no stable milestones until the last feature is in?~musically_ut

  4. Emme (2011-02-04 02:34)

    Well, there should be milestones, actually.When You are game prototyping You don’t think about sugar coating and cherry, You cram in the very basic gameplay and test that until its the best fun You can offer.Throw out everything that makes the game not better (can be hard sometimes).You cant put TOO MUCH time in the protoype, simply because if You fail at spotting the weak parts, those might remain in there til release.

Add your comment now