With a new console generation on the horizon, Microsoft, Sony, and gamers are all collectively bracing for the impact on next-generation console storage capacities. While it’s true that game sizes have grown for decades, what we’re seeing for the first time with this upcoming generation is that hard drive / SSD sizes really aren’t increasing all that much to keep pace. The Xbox Series X will offer a 1TB SSD, which is the same capacity as the Xbox One X (though vastly faster) and only 2x larger than the Xbox One in its launch configuration back in 2013.
The problem is, of course, game sizes haven’t merely doubled since then. We’ve now got titles like Call of Duty: Modern Warfare at an eye-popping 185GB. Remember back when Titanfall, at 50GB, was raising eyebrows and breaking records? We’ve exceeded that by 3x in the past seven years.
According to Microsoft, it has a compression technology, BCPack, intended for this generation that should substantially improve the situation. First, the company has built hardware-level decompression directly into the console, reducing the overhead from handling the workload at top speed from ~3 CPU cores to nothing. There’s a dedicated controller handling this task now.
That’s beneficial for performance, but it doesn’t do much to help your hard drive’s aching bits. According to reports online, however, Microsoft’s new texture-packing methods have hit unparalleled heights of compression, reducing size by as much as 50 percent compared with current methods. Sony’s Kraken, in contrast, will supposedly improve texture compression by about 30 percent.
I’m interested in the details because I want to know what tech console game developers have access to in hardware. I’ve been writing lossless/texture codecs for around 15 years, so it’s key info.
— Richard Geldreich (@richgel999) March 22, 2020
This is potentially huge. Most of the data held in VRAM or transferred across the PCIe bus is fundamentally texture data. With a single uncompressed 4K texture now as large as 8MB, most of what gets stored on an HDD for a game is texture data. Improving compression algorithms and implementing hardware-based decompression is how Microsoft is hoping to keep costs down without giving up on next-gen fidelity.
At the same time, though, we’ve seen the impact of changes like this before, as when Microsoft introduced a 30 percent compression ratio improvement during the lifetime of the Xbox 360.
There’s a really great presentation over at VentureBeat on the cost of making games and how it’s changed over the past few decades. While it dates to 2017, I only recently discovered it, and there’s some useful information I haven’t seen before, measuring concepts like the cost-per-byte to develop a AAA game. One of the more interesting findings of the report is that bytes don’t increase in a stepwise fashion with each console generation.
This is a log scale, so each marker on the y-axis is 10x the size of the previous. Game sizes have grown at a remarkably steady rate. An interesting point the author, Raph Koster, makes is that the cost per byte has plateaued in recent years (this was 2017, I couldn’t find an updated slide):
Net change in cost per byte hasn’t really come down since 2005, which is one profound reason why games are so much more expensive now than then. We create more bytes, and we create better bytes, but we aren’t really building cheaper bytes. While the discussion of how games have become more expensive over time may seem to have nothing to do with the question of total storage capacity on the Xbox Series X, both questions relate to how much storage the system needs in the first place, which impacts its overall price. The reason we’ve seen Microsoft sinking so much effort into optimizing every aspect of its content delivery network, I suspect, is partly to avoid the pinch pain of offering less storage capacity relative to game size than we’ve seen at launch in previous consoles.
Both the Xbox Series X and PS5 support add-on drives to increase their base capacities, which is good — I suspect both will need it.