Wednesday 4 May 2011

Alternate Ends

A few days ago I claimed that the only good way to finish a personal project was with an internally imposed deadline. This is a great call to arms, suggesting that I need to better discipline my creative process. But when I begin to think about this in detail, it doesn’t hold up to reality. I’m aware of lots of projects that seem to have slowly meandered to their completion or others that manage to finish in a timely manner without any need of a planned end date. Even my own single finished solo game ‘Taunting Donut’ didn’t have a deadline. If I want to get good at this completing projects thing, I really need to develop an understanding of how projects are completed that goes beyond a simplistic belief in the necessity of deadlines.

Taunting Donut started as an attempt to make the smallest and simplest game I could, in the effort to get something finished. I decided to make a one room text adventure with only a few simple puzzles. I started by planning out exactly what the puzzles would entail; which inventory items would need to be combined to get what results. Using Inform 7, I created the basic logic of the game. Finally I added the fiction to go around the puzzles. Then I got everyone I knew to play through it, using their feedback to tweak the experience until several people playing in a row didn’t have any significant problems. All this took a couple of months worth of lunchtimes, though the longest part was certainly the playtesting. Trying to get a parser to recognize everything that a player might try is hard! But I finished it, and I finished it within a timely manner, all without an internally imposed deadline.

So why did this work? Why did I finish this project even though I never set a deadline? I think it might be that I set clear measurable goals and stuck to them. I didn’t have a temporal end, but I had a clear content end point. It’s not that there wasn’t any feature creep; half way through the project I decided to implement a response for each of the five senses on every object in the game. But this feature creep was kept to a huge minimum. All other personal (and professional) projects I’ve worked on have at some point included a “Hey, why don’t we try this!” moment where everything can change. Most have several. I don’t see this as a bad thing; lots of innovation happens at these times, but if I don’t find a way to limit this, then it can go on forever. This is the whole tweaking towards perfection that I talked about earlier, except here it’s not perfection that is being pursued but exploration and innovation for the sake of exploration and innovation.

In my reading of writer’s advice, I’ve come across several versions of how much tweaking during the process of writing is a good idea. All of this advice comes from different speculative fiction writers, all of whom have successfully published multiple books. I’ve heard that you need to plan your book down to smallest details before you begin, that any planning is impossible, and that you need to plan some but leave room for yourself to play. All of these authors seem convinced that their way is the only way that really works; that other methods are doomed to failure. Given these assertions, I believe we can conclude that all of the methods do work, but only for some people. Or rather, it takes a certain amount of skill to pull off any of these, but different techniques require different sets of skills. I would like to think that I can master all of them, but first I think I need to understand what makes them work or not work.

One thing that all writers have agreed on is that you need to write. You need to set yourself target word counts and you need to stick to them. So even if there isn’t a meticulous plan, there is still a goal that can be tracked against. Successful writers always know approximately how much more work they need to do before they are done.

Bringing these ideas back into the general view of all projects, I think I can see that measurable goals are the common factor throughout. Internally enforced deadlines are just one form of measurable goal, though they are slightly abstract. But as long as I am able to stick to the goal, to finish at a certain point in time, it doesn’t matter if I spend time exploring in strange directions or even procrastinate for long stretches. As long as I come back before my due date and do whatever I need to do to finish, whether it be cutting sleep or dropping loved features, then I will still finish. Likewise, if I know from the start exactly which features I will ship with and what steps I need to take in order to get there, then it doesn’t matter how long I take to go through those steps, because I will always know where I am on the map. While I can add steps part way through the project, I need to plan these extra pieces carefully and be aware of what consequences they will have on my overall work. Still, as long as I keep putting one foot in front of the other and keep my targets manageable, I will eventually finish.

The model used by those book writers who like planning the least, that of writing a certain amount every day and just being consistent with this, appears to be a different model within the general case of setting and following a measureable goal. But it is neither having a strict deadline nor is it having a detailed plan. Does such a model exist for other project types, such as games? I’m not so sure it does. The big difference between a book and a game is that a book is strictly linear while a game can be very much non-linear. The reader of a book goes through each word and considers them; the length of a book is dependent solely on the number of words within. In contrast, the player of a game can spend variable amounts of time playing with any given system. While there are aspects of a game that can be measured by their volume (the content of the game is usually dependent on the amount of authored graphics and levels), other aspects can’t be (the gameplay available in a game is largely independent of the amount of code used to create that gameplay).

So it seems that the model of writing a certain number of words per day until one is finished could have a counterpart if you only look at the content within a game rather than the systems. Given that this would not be a full game by itself, I propose that a project could be broken up into a number of sub-projects each of which has its own sets of measurable goals. For instance, at the beginning of a project there could be a set period of time of unplanned prototyping, by the end of which all the game mechanics of the project should be defined. Then the engine can be planned out and built. Finally, a commitment to create a certain amount of content with that engine per day could be made, until there is enough content for a release. Ultimately, I would like to learn how to master each of these techniques as well as how to combine them. However, I think this will take time, and time for me is at a premium. I think I’m going to have to stop blogging every day.

No comments: