Delays often happen in games. And more than ever games are being released before they're really finished, full of bugs and issues that get patched later. I'm going to explain to you why and how software development is possibly the most difficult job in the world (not rocket science or brain surgery) so hopefully you'll have some sympathy for us poor coders.
In short, software development is like running a marathon. You have 26 miles to run, or rather, a set of goals to hit. As you tick off each mile, you get closer to the end, until they are all done and you release. Only it doesn't work out like that...
In short, software development is like running a marathon. You have 26 miles to run, or rather, a set of goals to hit. As you tick off each mile, you get closer to the end, until they are all done and you release. Only it doesn't work out like that...
Once you reach mile 4, you realise there's another 3 miles you need to add onto the end of the software to cater for a use case you hadn't noticed until completing the last four miles. Then at mile 9, you're told mile 7 is no good. Sometimes the tools you use get updated and break previous code, and you need to rewrite it. In fact the rewrite is probably the most significant annoyance in software, certainly to me. You can 'complete' a piece of work, only to have to go back and redo the whole thing to accommodate changes or new features, which can then have knock-on consequences. eg. You could implement a user interface, and then after testing come up with a better interface that requires a full UI rewrite. Then there are additional requirements that arise, like the time needed to create store listings for a particular app store, or integrating the latest social media functionality, so even after the game is finished, the project isn't.
At times even the best predictions from the most experienced developers can be little more than general guesswork when there are many unknowns. How long will it take to add networking to your game when you've never done any networking before? A week? A month? How long to add a VR mode when no-one's done VR before? Can we squeeze the engine enough, or do we need to rewrite lots of it? This can lead to Crunch Mode, with developers spending weeks pulling all-nighters in order to hit a publishing deadline that requires code to be at the printing plant ready to print disks, or, worse for the consumers, games released on schedule in an unfit state and a subsequent scramble to patch the game after release. In the case of download titles and indies (like me!), it means self-created deadlines getting pushed back again and again as we refuse to release below a certain quality bar.
Furthermore, imagine the emotional impact this can have. Imagine being an exhausted marathon runner with a clear five miles to go, preparing yourself mentally to count them off, and then being told there was another three miles you had to run after that! Or worse, the marathon wouldn't be over at the 26th mile "but we don't know how much longer it'll be..." Projects that drag on can wear heavily, and there's no crowd lining the route (office/room) to cheer you on. When I started Footy, it was expected to be a 2-3 month project. It was eight months before release as the simple gameplay belied a level of algorithmic complexity to make it happen, and a lot of time was spent just trying to find how to do stuff. Then there was another ninth month learning how broken the (believed complete and working) network code was and fixing it, it being my first networked title. At times it was definitely hard going.
Is software development any hardware than any other complex project? What about authors and rewrites? Well, a lot of Hollywood seems pretty lax in standards in my opinion. No-one seems fussed about plot 'bugs' and confused stories in the same way they won't tolerate glitching characters in games. Or construction, and notorious buildings with delays and being overbudget? Perhaps the problem with software is more scale, that the complexities are disproportionate for the people involved. The intricacies of building a stadium or nuclear power plant that lead to delays are shared across many people, while the same level of complexity is in the hands of a maybe just one or two in the case of software development.
Still, like every marathon runner, I'm determined and no quitter! Adventures is making progress, no matter how unexpectedly long it's taking. Each step is a step, no matter how many more I still need to run. I believe in the value of this game that everyone can play (really want to see little kids playing with their folks!) which shares a message of being NICE! Only, don't be surprised if at the beginning of September when the demo is now due, it's a bit late...
At times even the best predictions from the most experienced developers can be little more than general guesswork when there are many unknowns. How long will it take to add networking to your game when you've never done any networking before? A week? A month? How long to add a VR mode when no-one's done VR before? Can we squeeze the engine enough, or do we need to rewrite lots of it? This can lead to Crunch Mode, with developers spending weeks pulling all-nighters in order to hit a publishing deadline that requires code to be at the printing plant ready to print disks, or, worse for the consumers, games released on schedule in an unfit state and a subsequent scramble to patch the game after release. In the case of download titles and indies (like me!), it means self-created deadlines getting pushed back again and again as we refuse to release below a certain quality bar.
Furthermore, imagine the emotional impact this can have. Imagine being an exhausted marathon runner with a clear five miles to go, preparing yourself mentally to count them off, and then being told there was another three miles you had to run after that! Or worse, the marathon wouldn't be over at the 26th mile "but we don't know how much longer it'll be..." Projects that drag on can wear heavily, and there's no crowd lining the route (office/room) to cheer you on. When I started Footy, it was expected to be a 2-3 month project. It was eight months before release as the simple gameplay belied a level of algorithmic complexity to make it happen, and a lot of time was spent just trying to find how to do stuff. Then there was another ninth month learning how broken the (believed complete and working) network code was and fixing it, it being my first networked title. At times it was definitely hard going.
Is software development any hardware than any other complex project? What about authors and rewrites? Well, a lot of Hollywood seems pretty lax in standards in my opinion. No-one seems fussed about plot 'bugs' and confused stories in the same way they won't tolerate glitching characters in games. Or construction, and notorious buildings with delays and being overbudget? Perhaps the problem with software is more scale, that the complexities are disproportionate for the people involved. The intricacies of building a stadium or nuclear power plant that lead to delays are shared across many people, while the same level of complexity is in the hands of a maybe just one or two in the case of software development.
Still, like every marathon runner, I'm determined and no quitter! Adventures is making progress, no matter how unexpectedly long it's taking. Each step is a step, no matter how many more I still need to run. I believe in the value of this game that everyone can play (really want to see little kids playing with their folks!) which shares a message of being NICE! Only, don't be surprised if at the beginning of September when the demo is now due, it's a bit late...