« Interview | Main | Notes on Slay »

April 25, 2008



That really reminds me of the graphs from Benoit Mandlebrot's The (Mis)Behavior of Markets.


If you flip the curve vertically, it would become a curve of "work done" rather than "work left" and it would kinda look like a square root curve (here's an example).

This means that if you did X amount of work in Y time, doing 2X work would take 4Y time. In other words, development time rises to the square of the complexity of work to do. This intuitively makes sense, because when you're just starting you have few systems interacting with each other. Every time you add something new, you have to consider how it interacts with every other system, raising the complexity geometrically.

If this is true -- and I'm no mathematician so I could be entirely wrong -- then this has a good and a bad side. The good side is that it's not an asymptotic equation, so you'll eventually reach whatever quality level you're aiming for. The bad side -- beside development time climbing much faster than complexity -- is that even if you start ahead of the curve with an established engine, it doesn't change the shape of the curve and it's still not going to be a straight line that's easy to plan for.

Dave Rickey

Frankly, it looks to me like an "exponential decay" curve, and the operative element is not bugs fixed, but bugs found. It becomes steadily more difficult to detect bugs, as the more obvious ones are discovered, you have to look deeper, test longer, to find more. You never reach zero bugs, it just eventually becomes more work to find them (not fix them, *find* them) than it's worth.

Of course, when the million monkeys are turned loose, they expose a lot of bugs that your testers could not have in any reasonable period.

More complex systems not only contain more opportunities for bugs, but increasingly obscure and subtle bugs that will be difficult to identify and repeat. Given the nature of emergent complexity, both number and obscurity are not going to rise in a linear fashion, but an exponential one.

The comments to this entry are closed.

Jamie's Bragging Rights

  • Spider-Man 2
    The best superhero games of all time Game Informer
    Top five games of all time Yahtzee Croshaw
    Top five superhero games of all time MSNBC
    Top 100 PS2 games of all time Official Playstation 2 Magazine
    1001 Games You Must Play Before You Die Nomination for Excellence in Gameplay Engineering Academy of Interactive Arts & Sciences
  • Schizoid
    Penny Arcade PAX 10 Award
    Nominated for XBLA Best Original Game
    Nominated for XBLA Best Co-Op Game