on Apr 4, 2013
This episode was recorded at the tail end of a long session that included a podcast. We were all pretty ragged by this point, which is why we were so quiet until everything went wrong.
Thinking more about the level-size problem:
We crossed a pretty big threshold back in the early 2000’s. In the first two Thief games we had gigantic levels that you would explore for hours. Then we got to Thief 3 and suddenly levels were severely compartmentalized and each location was broken up by multiple loading screens. It basically ruined the flow of the game. The jump from Deus Ex to Deus Ex: Invisible War had the same problem. At the time, this was probably due to the fact that the games had to fit into the tiny 64MB memory of the original XBox.
Then the current generation came along and we got a little breathing room. The levels today are much more open than in those Xbox games, but still fairly small in comparison to what PC’s could do in 1998. This Sokolov mission is broken into 4 different areas, while Thief 2 could easily hold it all in a single level. (Disregarding the graphical differences and various line-of-sight challenges level designers would need to cope with back then. We’d probably have just as many WALLS, but there wouldn’t be loading screens.)
But the more I think about it, the more I’m convinced we’re never going back to those old days. No matter how much memory or CPU we get, it’s probably impractical to go for areas that large with today’s development pipelines.
It’s a matter of scale. You can’t have four level designers build an entire AAA game now. These levels are just too dang detailed. You need a system where people can work in parallel. You can’t wait eight months for a single person to make the Sokolov level. You need to give it to 4 people and have it done in two. This is exacerbated by the way pipelines are getting longer.
In the old days, one artist might make the textures and another might make the geometry. Now you’ve got someone doing textures, and someone else sketching the concept layout, which will be handed off to the person building the actual layout of the place. Someone else is building all the furniture and decorations. You might even have someone dedicated just to atmospheric stuff like lighting and ambient sounds. And someone else is scripting. And someone else is animating little scenes and scripts. And often some of these people need to wait for others, who also need to wait for others. And the playtesters need to wait for everyone, and if they have any issues with the layout the level might need to pass through the entire pipeline again.
There are ways around this, but they’re fiddly. And even if you had one that worked well, you’d still have loading screens to deal with. Sure, the player’s machine might have 8GB of memory now, but you really don’t want to have to wait for 6GB of data to load in from the hard drive or (shudder) optical media.