I am a programmer. Well, sort of; I program, at any rate. Currently, I’m working with Double Cluepon as their tools and client engine developer. That means that — basically — I’m making Emerald Kingdom all on my lonesome (not really, of course — we’ve got a very solid team here, it’s just that at the moment everyone has other tasks — art, animation, networking, design, writing — and so the tool development is mine.). It’s sort of a daunting task, to be sure; there are literally hundreds of thousands of words in the backstory, we’ve got a webcomic coming up, and my boss is looking for a pretty aggressive timeline to reach Alpha.

And that’s what I’m here today to talk about, because it’s something of a wall that I’ve hit my head against a lot. It’s a big, heavy concrete wall, and it’s filled with spikes. Because Deadlines can be your best friend and they can be your worst enemy.

From Blank Slate To Bank…. Somethingthatrhymeswithslate

The problem with a deadline is, for the most part, you have no clue when the hell you’ll be done with any given thing. This is something that can be winged, and your wild guesses get more accurate as you go on, but quite frankly even three years in the business of software development hasn’t made it any easier. At least, not for big projects. A big project encompasses so much that a 1 hour delay early on could translate into a three week delay down the road. There’s no way of knowing what bugs will crop up, what features will need to get chopped, what will need to get added, so on and so forth. The easiest way to deal with the Long Term Problem is to use a ticketing system (I recommend Redmine, although Trac is….. eeeh, really, it’s not very good, but it is popular. Really, check out Redmine.) to cut up the work you need to do into sizeable, more easily understood parts.

Building a Map Editor is hard; but if I split that up into “be able to paint tiles”; “be able to paint objects”; “be able to scroll with the mouse”; “be able to delete painted tiles or objects”; “be able to specify borders”; “be able to save and load maps”; and so on and so forth, I can eventually come up with a much more reasonable SWAG (Scientific Wild-Ass Guess) than if I just went with the first thing. (more…)