Saturday, July 10, 2021

Big Storage Needs?

I've completed Halo 2 of the Master Chief Collection on Steam. It's a different type of first-person shooter compared to say Doom, but it's alright. The story is good enough, and the gameplay is a little more plodding since high speed running and fast dakka with a large arsenal are not the main mechanics of this game.

If you do check out the system requirements blurb on the Steam page though, you would realise that the total storage space required is listed as 43 GB. Mind you, this is for effectively 6 games.

Now check out the same storage requirement for Horizon Zero Dawn Complete Edition (HZD): it weighs in at 100 GB, and that's for one game. That size (and maybe the fact that it is a port from the PS4) is one big reason why I haven't gotten it despite all the raving reviews about it.

``MT, that's an unfair comparison since HZD is an open-world sandbox game, while the Halos are not! So more data is needed!''

Okay, fine. Check out Cyberpunk 2077 then: it is 70 GB. Or an even better open world game that could fight HZD: The Witcher 3: Wild Hunt: 35 GB.

What I am trying to get at is the increasingly stupendously large sizes of the games. It has gotten to the point that having good old platters of spinning rust is too slow to run these games, with solid state drives (SSD) being the expectation. In addition, after taking away the 30 GB for Windows 10 (why does an operating system that has less functionality than a simple Linux install require so much space?), we are looking at an average of less than 10 games for a normal 1 TB SSD. It kinda sucks too considering that using either digital distribution (i.e. via the 'net) or by physical media (you gonna need high density optical media like Bluray instead of DVD-ROM) is stupid costly.

To be fair, modern games have looked incredibly prettier compared to the games of old, with increased hardware capability of pushing literally thousands of times more pixels than the past. This results in a general increase in the detail in the textures used to represent the terrain and entities in-game---nothing much has changed from the old polygon-wrapped-with-textures principle of visualising virtual worlds. One might think that for certain more ``natural'' terrain (and maybe some man-made ones), some kind of fractal texture using less space can be used to regenerate it, sort of like the proof-of-concept game demo .kkrieger. However, this does not scale well for AAA production titles---procedurally generated textures requires either the digital artists to know enough math to create the necessary reproduction steps to get what they want, or the programmers to pick up enough digital art nous to write the functions that generate aesthetically pleasing textures for their game.

Apart from the development team scalability issues, we are also trading ``dumb''/fast bit-blitting in the GPU with potentially recursive programs that may have poor locality of reference characteristics, which leads to an overall slower performance despite the technical smartness. This is a classic case of the space-time trade-off, where we can trade space savings for more time use, and conversely.

Chip speeds are relying more and more heavily on tricks to ``get'' various performances (speculative branch prediction, thermal-limited adaptive clock multipliers, multi-threading), but the associated gains are much smaller as compared to that storage, for the same unit cost spent. So, combining this technical limitation with workforce scalability, we see the case where the prettier the games are trying to look through exploiting whatever the latest and greatest hardware is available, the more storage they are going to require.

Does that affect gameplay? It really depends, but it is generally the case that the more aesthetically pleasing a game is, the more likely someone will be attracted to it. And attractions lead to sales, which in the modern age of digital distribution means that the publisher will get a payment from that sale. Now whether that game can retain the interest of the player, that depends also on the underlying mechanics (interactions, quantification of certain game physics, gimmicks), and possibly narrative-related properties (relatability of the player character, plot, replayability) which combine together to this one word of ``fun''.

So, in the end, does a game really require that much storage space for its assets? I think that it does, in this modern age. Reducing storage space use can be seen as an optimisation problem, and one of the cardinal rules of thumb in software development (game or otherwise) is to not do premature optimisation. The best time to do an optimisation is at the penultimate version, but at that point in the modern era, there is literally no business reason to do so, and thus, it will not be done.

Well, that's all I have for now. Till the next update.

No comments: