We're in heavy crunch now to finish the Steef game. Crunch sucks, but we are getting a lot done. Personally, I'm working at 2-3X my normal productivity, which is very high; there's no way I can sustain this for long, hopefully I can do it for the rest of the game. I've got to start going to my Chiropractor and exercising, though, or I'm going to self-destruct, my body is falling apart and I feel like shit.
The management at Oddworld rightly thinks that our code team is great. Well, that's true, but we also have many many weaknesses. We've run way behind on this game and made several signifiant medium-sized mistakes in the technology design. We've been led badly by management, producing, desing, and publishers. We've probably done 1/2 or less of what we could have done in the 28 months we've been working on this game (we could have finished a better game in 18 months). Now, if our management ever reads this they'll be shocked and say "dear god, what's wrong!". Well, nothing's really wrong. Most teams in the game industry work at far lower efficiency than what we've acheived. I think our productivity is about 2X of what a normal team reaches. Yes, we've made some mistakes, but most teams make a large number of mistakes, and some of our bigger mistakes were because we were led in the wrong direction.
Our wise Dave says there are two ways that game development can go smoothly - either you 1) have a locked down code base, and the designers can fiddle with it and experiment and come up with a game, or 2) you have a locked down design, and the coders figure out how to make it happen. Having unstable code and experimental unclear design is a recipe for disaster.
Many people think making a game engine or a fresh game code base is fundamentally very hard. Not so, it's actually very easy. A good, focused, responsible, disciplined team could do it in 6 months. Making a new game engine while supporting an ever-changing design and keeping a content team running is very very hard. Just the fact that we have to keep our code-base always working and always backwards compatible probably takes at least 1/2 of our work each day (!!). Managers never understand the idea that keeping the code running and bug-free is a huge task in itself. If you're freed of the burden of keeping the code running, you get a huge productivity boost.