The Escalation programmers come from a completely different background, and the codebase is all STL this, boost that, fill-up-the-property list, dispatch the event, and delegate that. I had been harboring some suspicions that our big codebases might benefit from the application of some more of the various โmodernโ C++ design patterns, despite seeing other large game codebases suffer under them. I have since recanted that suspicion.
John CarmackIt is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today!
John CarmackSome cynical people think that every activity must revolve around the mighty dollar, and that anyone saying otherwise is just attempting to delude the public. I will probably never be able to convice them that that isn't always the case, but I do have the satisfaction of knowing that I live in a less dingy world than they do.
John CarmackThe cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. ... The trick is to pick the features that don't fight each other.
John CarmackThe important point is that the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don't fight each other.
John Carmack