One Knight Studio © 2019

  • Yukkafuzz

The 90-10 Rule

I have heard of a host of "90-10" rules for many different applications - one you might know is "90% of your worry comes from 10% of your problems" - and if you're not convinced there's a host of them, a couple of quick Google searches should enlighten you. Something must fascinate us with these two numbers, usually percentages, that makes rules that use them feel meaningful. And, as I'm sure many fields do, programming, and perhaps specifically game development, has its own:

"90% completion is only 10% of the work." Basically, it's really easy to create a mostly working program, but to actually turn that into a completely working program takes way more time. This rule can also be applied recursively: so to go from 90% completion to 99% completion is only 10% of the work of going from 90% - 100%. (Doing a bit of math, that means the last 1% of completion is actually 81% of the work, and the last 0.1% is 72.9% of it.)

This rule may explain why games notoriously either get delayed or release on time and suck (for lack of a more respectful way to put it). Estimating the time it will take to create a feature becomes very difficult with this principle, since it goes against our natural understanding of things, which is quite linear. If you're driving and you're 90% of the way there, it's going to take approximately one ninth of the time you've already spent to finish. But in programming something with the 90-10 rule, when you're what feels like 90% of the way there, it will take about nine times the time you've already spent to finish. Comparing the two, that's a factor of 81 difference! So even knowing the rule, to actually accurately put an end time to a project is a challenge.

However, you might notice, or protest, that the time estimates by the 90-10 rule are too extreme. That yes, games get delayed, but they don't get delayed by nine times the amount of time already spent. Well, the key here is games never release 100% complete. And if you've ever played games, you know. Bugs abound, especially in the very first versions, and features, including things as large as new playable heroes, etc. get added afterward. This is not because the programmers and designers did not notice that some bugs still existed or that they wanted more features; it's just that to fix or add these things would take too much time. But even the best games with very few bugs and an engaging set of features still don't seem to adhere to the rule at such an extreme - so how do I explain that?

Well, taking from what I have already mentioned, even the best games cannot be considered 100% complete. So, say one of the best games is actually 99.99% complete. Since the rule applies recursively, the last 0.01% of completion would take ~66% of the total time of the project, and so far 34% of the total time has been invested. Now, take away the percentages for a second. So it takes 34 time units to create an amazing game (that 99.99% completion). It takes 10 time units to create a pretty bad, unfinished game (90% completion), but only 19 to create a pretty good game (99% completion), and about 27 to create a great game (99.9% completion). It's about three and a half times as long to develop an amazing game compared to a bad one. And the next time the new game you've been anticipating gets delayed, you can think they're moving from the great to the amazing mark - about 25% more time required.

For an independent game like EXO, the idea behind why early access release works comes from this rule. I can, (hopefully), release my first early access version somewhere around the "pretty good game" mark, where people would be happy to buy it and play - and then, with that sustenance, I can continue developing to try and reach the "great" or "amazing" marks. It often proves impractical or impossible for indie game studios to go for the "amazing" mark as the first release; the reality is they need the money to be able to sustain development for the amount of time it takes to get there. But hopefully you see that even though games knowingly are released into the world incomplete, they remain honest and worth your investment.

In this way, the 90-10 rule transforms from a terrifying warning about the absurd time sink of development into a reassuring caution sign: your progress may feel like it slows down immensely, but keep working, and your end result will be worth it.