We were approached by a client to make a game which could be played by a group of people in a festival tent.
The idea was that anyone could join in (or drop out of) the game at literally any time. The game should be instantly understandable, suitable for children and fully co-operative. It should feature a group of up to four players travelling down a river and tackling mini-game tasks that promoted a spirit of working together and helping others.
Co-operative game design presents an interesting set of challenges. In most co-operative games, gameplay can be very interlocked and quite ‘formal’ – i.e. there are puzzles and challenges where each player has to do a certain particular thing in order to complete the puzzle (e.g. one player stands on a switch to open a door while the other one runs through it and props it open from the other side). This didn’t fit our game for a number of reasons: we didn’t have the time/resources for this intricate design; it didn’t fit the more simple co-operation that would be required between a group of people (possibly children) that had never met before; and most importantly we had to ensure the game was still playable by someone playing on their own!
Instead we tried to design games where everyone could contribute, but where it was clear who was doing the most work, where players could mess things up and get in each other’s way. In this way a lot of fun can emerge from very simple games. Players shout at each other, boast, encourage, remonstrate and generally have a good time – exactly the sort of thing you’d want at a festival! Examples include pushing crates into place to make a bridge, and patching & pumping up a giant (and very leaky) balloon.
However, the game had a very limited budget and time-scale. Roughly speaking we had about four weeks each for a coder, designer and artist. So we had to make some tough decisions early on: the mini-games would have to be very simple; we would adapt art assets from the Unity Asset Store rather than making everything from scratch; we would use a single PC and 4-way split-screen on a large screen rather than networking four PCs together.
We built the game in Unity. I’d never used this game development environment before last year, and I am still amazed at how much it speeds up and improves the development cycle. I would estimate that using Unity at least doubles the speed of development. The coder can ‘expose’ all the important variables, which means the designer can tweak gameplay and difficulty directly in the editor without any code changes. And if you search the Asset Store you can find some great assets for tens of pounds that would have cost tens of thousands to produce in-house.
Kev Cook did the coding – I’ve worked with him a number of times over the years and he is quite simply the best (and fastest!) coder I’ve ever worked with. We have a similar broad-brush approach to game development, which makes it very easy to work together. I think the following email exchange nicely illustrates this approach:
Kev: I’m whipping together the Rhythm game at the moment. It is good that they’re all coming together nicely. I love working like this. Rough blockout of the whole game. Then another pass, getting it very roughly playable. Then revisiting and filling in some more gaps, adding animations, control tweaks, sound etc. Having people play it and offer opinions at each pass.It’s very ‘Top Down’, a bit like an artist would with a painting.
Most coders would tell you this is the wrong way of doing it. You need to break down every task at the start and build up the components. “If it’s planned correctly, then it only takes one pass”. But I’ve been doing it for 24 years and know that’s bullsh*t. So f*** ‘em! Only after each iteration can people get their hands on it and see what will and won’t work, what art and animations will look best and where. Changes can be made mid-process. Game development should be a very flexible process. Unity suits me down to the ground because it allows me to knock up prototypes in no time. Me and Unity sitting in a tree…
Tom: I absolutely agree with every word of your email. This is definitely the way to make games. It’s impossible to design and plan a game completely in advance. You can make an educated guess on what will be fun, and what assets you need and how long it will take. But you need a process of iteration to make things feel right and fun.
I am conscious that when I write designs sometimes it comes over a bit wishy-washy, because I say “we could do this or we could do that” but often it’s just a case of trying something and seeing if it works, and having a plan B ready for if it doesn’t. And the best way to do that is trying a very rough version and tweaking it and then being prepared to abandon it if you need to (which is a pain, but at least you haven’t plowed huge amounts of time, effort and finished art assets into that one perfect version which seemed like a good idea on paper but which is actually no fun to play).
In summary: yeah, f*** ‘em!
Kev: Exactly! How many projects have you worked on that have been planned to death, detailed schedules, task breakdowns, etc. Then months of work by tens of people manage to produce something that just doesn’t work. Sounded ok on paper, but actually, it’s no fun at all.
And amazingly, almost everyone you talk to in development houses will still insist that this is the way to do it.
The thing is: developing a little co-op game this way really is fun in a way that, sadly, big game development so often isn’t. And it looks like we’re not the only ones to think that the days of behemoth all-encompassing game design documents may be numbered.