Large Games Sizes and What to Do
We’ve all seen it. A brand new, high budget, AAA game is released, and the gigabyte amount desired is in the triple digits. Some gamers are delighted! Another game with 4K textures to put their gaming rig through its paces! Others are disappointed, as they debate what they need to remove from their hard drive to fit another massive game while wondering if they’re over their ISP’s download budget.
Not too long ago, though a long time ago in internet time, these large games were the exception, not the rule. I recall when 60gb seemed massive. Now though, it seems to have become the norm, with these triple digit games coming out in rapid succession.
But why?
Initially, I was about to write this article based on what I do know about optimizing games. However, my knowledge is limited to the indie sphere and what I was taught by people who last made a game back when photoshop was the primary texturing program. I’ve attempted to keep up with tech and standard practices, but at the end of the day? I have zero clue what’s going on in the AAA sphere. (Unless a AAA company wants to hire me as a tech artist/performance specialist while letting me work remotely…Just saying, I am available…)
(coughs)
Right, desperate begging for work aside, I decided to pose three questions on BlueSky, Twitter, and Mastodon. These are my three social networks where I’m mutuals with a fair number of awesome game devs who could lend some insight to this situation. The rest of this article will be their responses, with a part two coming out where I discuss specific performance and optimization tricks I’m aware of, as well as the solutions that have cropped up due to a mixture of responses and additional research.
Both these pieces will be on my site and on my medium account, not only for maximum SEO blah blah blah, but also because while I want to keep a record of my writings on my site, I also know Medium has more tools for accessibility.
As for the three questions that were asked, they are as follows:
1. What types of tools and tricks are used to reduce overall game size in AAA games today?
2. What priority are things like optimization and reduced game size given in a typical AAA production environment?
3. How would you solve this issue, or do you not see it as an issue?
Due to how some of the discussions went, particularly on Mastodon, the focus of both this article, and the questions, got expanded to include AA production environments as well. For this purpose, I’m defining AA as a studio with 35+ folks, likely with funding from a well known publisher. Studios like Schell Games or Red Hook!
Fortunately, I got a wide variety of answers from various experts who were willing to be quoted. Many of the responses didn’t specify which questions they were answering, which is fine! To be honest, the questions weren’t in the best order to begin with.
For that reason, let’s start with question two. The priority.
Dmitri Linkiewicz had an answer specifically for 2, which was “it became a much higher priority once we switched to working on live service games. For a variety of reasons, not the least of which is being respectful of player’s bandwidth.
He wasn’t the only one who spoke about how in these AAA and AA environments, file size is something that’s an issue.
That’s right folks, there’s no game dev’s maniacally laughing as you decide what family photos you need to delete from your computer to make room for the latest call of duty.
That said, an interesting trend I noted was that while some devs noted the game’s final file size to be an issue regularly spoken about, others mentioned how it’s just not a priority when compared to other aspects. So which is it?
Well, it’s both. Or rather, there are multiple factors here. Linkiewicz is (an amazing) performance specialist on Warframe, an MMO with ten years of content. A game that I admittedly use as an example of how a game can look amazing, again have ten years of content, but also have a footprint of about 35gb. However, Warframe specifically being an MMO means on top of needing to respect player’s bandwidth, they also need to ensure assets and features of the game do not effect a player’s ability to play in real time with other players. Cutting down sizes, employing programming tricks to create the illusion of real time, yelling at servers, and oh so many tricks.
By the way, if I ever gleefully say I want to work on a multiplayer game, assume I’ve been kidnapped and am asking for help.
But wait you say, Baldur’s Gate 3 lets you play with friends! Don’t they worry about this stuff too? Oh they do, they do.
However, in cases where the game has a more finished story, it’s more likely to be installed, played, and uninstalled, thereby making a player’s long term hard drive space less of a concern. There are also some technical reasons why games not targeted for mobile or Switch may need more space.
You see, there’s two things to think of when it comes to performance. How much of a computer’s resources is being used, and how smooth the game runs. Often, there’s a sort of equivalent exchange. Things like having baked lighting thereby saving on gpu cost, but resulting in larger file sizes due to the lightmap data needing to be kept somewhere.
Additionally, it can be simpler to create 4K textures, and just have the game engine create LOD’s from them, rather than having separate texture sheets. LOD stands for level of distance, and is a sort of shorthand used by devs to describe the smaller texture sheets and models that are generally used farther from where the player can see. In the past, separate models and textures had to be created for specific LOD level, however these days game engines like Unreal are able to handle these calculations on the fly.
On top of that, as pointed out by Ninepoints on mastodon, while the overall technology has improved with all sorts of technical tricks to make a game smaller, the demand by consumers and higher ups for more content has resulted in game sizes exploding. Large open worlds with 4k textures require a lot of space, even with the best in compression technology.
There’s quite a few technical reasons for why there’s large file sizes, but there’s also a couple more human reasons.
As Manuela Malasaña said, “Optimization, at its heart, is a project management issue more than a technical issue.”
Specifics of game production pipelines vary from studio to studio, but at this point the industry has indeed figured out some best practices. Having pre-production, for example, a point where things like the game’s main design pillars are worked out, as well as art style, pipeline, how devs report to other people, and all sorts of gnitty gritty details, can be incredibly helpful to creating a successful game. But more relevant to this conversation, it’s also where techniques that artists and programmers will use are figured out.
Deciding things like how many models will go on a single texture sheet, if the style will allow for smaller assets, how many assets there are, and more are best figured out before the artists start working.
While figuring out the right time to optimize can be tricky, there are arguably elements to the process that are best figured out early, otherwise tech artists and performance specialists have to spend time figuring out the most efficient way to reduce texture sheets and draw calls. Other elements, like lighting set ups, and particle effect set ups, are best figured out later on due to needing the actual set ups in order to adjust them.
Yet there’s another element of production at play here. Who’s working on the game. Many folks are familiar with how difficult it is to get a job...well anywhere really but the game industry has been having these woes for awhile. And it’s effecting how games are made.
According to @Teaceratops, “Companies are no-longer spending the time to train up juniors. There is less mentoring happening, veteran devs are burning out from impossible work loads, leaving the industry, and there’s fewer folk with that knowledge there to train up less experienced folks. Less experienced folks are burning out because there’s not enough senior staff, so the junior staff is having to take on tasks they’re not ready for, it’s a mess.”
A lengthy quote, but one I felt truly summarized the situation. Fewer juniors are being hired, but more senior devs are burning out of game dev entirely. Afterall, other tech jobs simply pay more. After years of demanding devs put in impossibly long days, low pay and little overall reward, many take the first offer they get to go literally anywhere else. This means fewer people with these skills training juniors, which means when the juniors do get to higher levels, if juniors are being hired at all, they simply don’t know the various tricks involved.
(Or someone does tell them, but it’s a marginalized person, so they’re immediately discounted. Yeah, that’s still a problem.)
So what can be done? How do we solve these issues? I’ll tackle some specific tricks in part 2, however there’s a few less technical aspects.
First off is simply to use different art styles. No, I’m not joking. While it’s been the trend in AAA to create graphics card exploding high definition super realistic games, that not only limits the potential player base, but requires vast amount of data. Plus in five years, will it really hold up? The benefit to games like Okami, Hades, and so many others is the art style remains memorable years later while still holding up.
Second, we need to bring down the general scope of games. Not every game needs to take a person’s every waking hour, nor does it need to include every mechanic in existence. Rather, staying true to the key design pillars, is, well, key. Sure there can be some extra features, but keep it within reasonable limits. Why? In addition to cutting down the number of assets needed, keeping a game within scope makes it easier to complete within the time allotted without having to push optimization within the wayside.
It also leaves devs less stressed, which aids in both retention, and having time to provide training to younger devs. All in all, a recipe for success.
Thirdly, we need to accept that to a certain extent, games are going to be bigger. Perhaps not triple digit big, but there is quite a bit of compression technology being used. But monitors got higher definition, images got bigger, more songs are needed, and there’s only so much compression that can be done.
Finally, we need to unionize as an industry. Game devs switch studios around too much for studio by studio unions to work anymore. We need a WGA. We need a SAG-AFTRA. We need to work together, to change the industry for the better. I may not have the mana to lead this movement, but I can aid in providing the push to make this happen. And yes, this may sound superfluous, but unionizing as a whole is how force billioniares to give us the resources we need to make these changes. They won’t give senior devs more pay until we unionize. They won’t stop demanding blockbuster games until we unionize. And they won’t let us focus on issues players not shareholders are worried about until we unionize.
All this said and done, it should also be noted this is an issue across the game industry, though it’s the big names like Starfield that get the media attention. For this reason, the part 2 of this piece will be a more tutorial-esque how you reduce game size as well as other optimizations. Some of which came from people responding, some from my previous knowledge, and some from further research.
I hope this little survey, and discussion has been an interesting read, even with all sorts of delays going on! (So much like game dev…) As always, if you’d like to support me, there’s a few ways of going about that!
My ko-fi can be found here!
I also have a throne which allows folks to give me gifts without knowing my address! There’s even some PCs on my wishlist if anyone has $4k burning a hole in their pocket.
My itch page with various game assets, game jam projects, and project alphas can be found here!
Aaaaannnd if you’d like to commission/contract me to work on a project, just click on my contact page for my email! This includes optimizing Unreal projects!