History of Pirate Code: Year Four
October 21st, 2013
By Peter Robinson
One Step Forward, Two Steps Backwards
If you’ve been following along you might be wondering how Pirate Code was ever finished. So far it’s been a sad tale of feature bloat, missed deadlines, and unhelpful programmers, but despite all the problems, we had consistently built important content for the game year after year. Still, we needed to bring it all together into a working finished product and for the past three years, we had failed to find a way to make that happen. The year was 2011, the fourth year of development on Pirate Code, and it was the beginning of the end.
We started the year with Pirate Code completely broken thanks largely to Dean’s decision to reorganize everything. I rewrote the level editor in January. Dean was still reorganizing the code. In February I rewrote the game AI for the third time. Dean was still reorganizing the code. By March Dean was finally done reorganizing the code. I asked him to update the fleet editor. That’s basically where Dean’s journey comes to an end. He never did update the fleet editor. Instead, at some point in May, after a full month of not doing anything, he bailed on me.
Now I hold no grudge against Dean and he certainly was a good programmer, but he had told me that this specifically would not happen. I learned a hard lesson: you can’t add a new programmer to an old project to speed up development–not even if the programmer is a good programmer. It simply doesn’t work. This is actually a well-known phenomenon in the project management world. I had read about it in books, but it was this experience that really hammered it home to me. Dean had worked on Pirate Code for six months and during that time he moved around all the code that was in the game but he never finished one major item on the to-do list. The reorganization had only slowed us down and made it harder for me to find things since I now had no idea where they were. If I had to do it over, I would have told Dean to wait until we could start on a new project together. Things probably would have gone a lot better.
The Burden of Code
Of course losing Dean meant the entire programming burden returned to me. It was painfully obvious that there was a lot more programming to do and only a little more of everything else. Brian had spent most of the 2010 updating various screens with new graphics – most of which I still needed to add into the game. He continued finishing up the last few screens including the captain screen (which we later scrapped), the file screen, the world map, and island screen – to name a few. Meanwhile, Eli was finishing the last of the ships.
My greatest challenge was finding a way to keep myself motivated. At this point we had been working on the game a long time and it was clear that there was a lot more to do. It was very easy to tell the team that I was working on a screen when in fact I hadn’t touched it in two weeks. This is basically what all my programmers did shortly before they fizzled out and if I fizzled out then it was game over for Pirate Code. I decided that I needed accountability. I started tracking my time and reporting it to the team each Monday. My weekly report included a graph showing my time by day and a paragraph or two about what I had done. I found this to be very effective in forcing me forward when morale was low. A few times I had to report that no progress had been made in the previous week and I quickly learned to avoid this scenario. This proved to be the silver bullet I had been looking for and I was able to increase my productivity week after week.
By August, Brian had run out of screens to do and Eli had finished the last of the ships. They continued to play test and give morale support, but programming was all that was left to do. At this point I also released Pirate Code 0.7 which I called an Alpha release. It had been almost a full year since the last release. Many of the graphics and screens had been updated but no actual progress had been made on the campaign. We still only had the first two chapters. Still, just getting another release out was good. I continued to work on adding the last of the content that Brian and Eli had finished. By November I released Pirate Code 0.8 which was basically a much more polished version of 0.7. Because it had become overly complex, I had rewritten the campaign engine. Now we only had one chapter of the campaign done. Year five would prove to be all about the campaign.
Year five is up next! What will 2012 mean for Pirate Code? Find out in The History of Pirate Code: Year Five!