Capitalist Innovation. Just more in shitification. Nothing but the lowest common denominator.
196
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
Other rules
Behavior rules:
- No bigotry (transphobia, racism, etc…)
- No genocide denial
- No support for authoritarian behaviour (incl. Tankies)
- No namecalling
- Accounts from lemmygrad.ml, threads.net, or hexbear.net are held to higher standards
- Other things seen as cleary bad
Posting rules:
- No AI generated content (DALL-E etc…)
- No advertisements
- No gore / violence
- Mutual aid posts are not allowed
NSFW: NSFW content is permitted but it must be tagged and have content warnings. Anything that doesn't adhere to this will be removed. Content warnings should be added like: [penis], [explicit description of sex]. Non-sexualized breasts of any gender are not considered inappropriate and therefore do not need to be blurred/tagged.
If you have any questions, feel free to contact us on our matrix channel or email.
Other 196's:
I highly doubt it was the code. They probably reduced texture and background fidelity and compressed the cutscenes heavily. It's simply impossible to reduce a codebase by 91% and have it still be recognizable. However, the N64 had better hardware and it's possible that some code could be eliminated because the chips had features that made them code not needed. But not nearly 686 MB worth.
So part of it is that it was only 2 discs partially for marketing reasons, partially because of limitations of how discs work (ironically enough, other than storage size, carts are magnitudes better for gaming compared to discs.) Discs often have to have multiple copies of the exact same content in multiple places because of physical/spacial concerns on the disc regarding load times.
Part of it is, yes, slightly reduced texture fidelity and sound quality, but you're sleeping on the compression- they actually invented an entirely new compression mechanism for the FMVs that was effectively magic. Add that into a bunch of tricks they did to take advantage of the n64 being vastly more powerful than the ps1, and the ability to take advantage of cartridges having insta-load capabilities, they were able to release a version of RE2 that had better controls, slightly less graphical fidelity, less z-index jutter, better animations, surround sound, more lore, VASTLY better load times, and did I mention better controls, because god damn does that need to be mentioned lol... in 9% of the space.
Mostly the difference between PlayStation games and N64 games was whether they came with a bunch of CD-quality audio tracks.
Once gpu hardware becomes good enough that even low end computers can support real time ray tracing at usable speeds, game developers will be able to remove the lightmaps, ao maps, etc that usually comprise a very significant fraction of a game's total file size. The problem with lightmaps is that even re-used textures still need to use different lightmaps, and you also need an additional 3d grid of baked light probes to light dynamic objects in the scene.
Activision has a very interesting lighting technique that allows some fairly good fidelity from slightly lower resolution lightmaps (allowing normal maps and some degree of specular to work over a single lightmap texel) in combination with surface probes and volume probes, but it's still a fairly significant amount of space. It also requires nine different channels afaik instead of the three that a normal lightmap would have. (https://advances.realtimerendering.com/s2024/content/Roughton/SIGGRAPH%20Advances%202024%20-%20Hemispheres%20Presentation%20Notes.pdf)
Don't blame the devs, blame the timelines and the pressures of implementing features.
Blaming the Devs in the era of fly-by-night employment, heavy sub-contracting, and AI integration into the dev cycle seems so painfully misplaced.
COD is pretty much just a huge confusing user interface with a bit of a game attached to it, released yearly. They for some reason force all assets for their online game to be installed if you install any cod game. It's ridiculous.
I already know that people are going to excuse this practice or say it's progress but it's not excusable, space wasting is a big problem in modern game development. Especially since modern games do not use the same optimization, such as the fact that you do not need to store duplicate rotated or mirrored versions of textures. Since one idiot I've met on Lemmy doesn't understand what that means and thinks I'm talking about actual mirrors. Here's a short demonstration.
Here is an example of a texture tile from an RPGmaker game. It's a lower quality but this concept does scale up and really applies to any game where textures are stored images and not solid colors or AI generated on the fly (basically the vast majority of games out there).
This is an example of Mirroring or Reflection. Yeah that's right the word mirror can refer to a transformation I know wild but for people who are actual game devs you should know this already. Even though this texture is small if you have a lot like this which could easily be mirrored it can add up fast especially with larger textures.
This last one is called rotating, it's not always ideal since some textures are orientation sensitive and could handle being mirrored but get messed up in tiling if they get rotated. So it can't always be used but should be used in cases where it can be.
Both of those are very computationally cheap and simple ways to save space on textures by only having as many as you need to paint the scene.
Another way to optimize is to simply use lossless compression schemes, which these images are already doing since they are .png files. This might seem like a no-brainer but I've seen many modern games which store textures completely uncompressed and waste a lot of space, especially for bigger textures. It also applies to FMVs and animated textures too. Use lossless compression standards for your assets, I really shouldn't have to say that.
Finally one way to reduce size dramatically is to just omit assets that aren't needed. If your machine isn't 4K capable or doesn't have a 4K display than 4K or higher graphics aren't going to do you any good and are going to be a waste of space. Most games don't let you omit them during the download process but worse, some games complain or redownload them if you delete them, despite them not being used at all. Basically these games could fit in a smaller size but they just don't because they have duplicate unused assets that could be removed but either make it difficult or don't let you at all.
I want to comment that "duplicate textures" isn't typically wastes a lot of space. It's one thing, but not typically the biggest thing.
The biggest thing is really unnecessarily high-definition textures, as you already said. If you have 4K textures for everything, that means you roughly use 5 MB per asset, even when using compression. If you have 2000 of these assets in your game, you immediately need 10 GB or storage space, and RAM when they are loaded into memory, and that's what makes the game so heavy.
Just to make a counter-example, Luanti, which is like open-source Minecraft, uses 64x64 pixel assets at the most, where each asset consumes less than 1 KB of storage space if compressed, and that's why even using a thousand assets in the game or more, the total game size is less than 30 MB. And that literally contains the whole game, including all assets and logic, which is just as complex as proprietary Minecraft.
It isn't the biggest thing but it's one example of space saving that isn't done out of laziness. Obviously it's easy to not do it in the drafting and design phase but it really should be optimized after the fact. No the big space wasters are the duplicate video scenes for higher resolutions that may or may not be used. The 2K and 4K videos waste a lot and that's a big drawback if they aren't ever going to be used if say, the person doesn't have a monitor that goes that high.
The problem is, if you used normal compression formats, you would have to decompress them and then recompress them with the GPU supported formats every time you wanted to load an asset. That would either increase load times by a lot, or make streaming in new assets in real time much harder.
There are still other compression schemes which can be used to save space, and not compressing anything is a bad idea, it's not the biggest waste of space but it is a waste.
Is there any way an additional decompression step can be done without increasing load times and latency?
There are a number of compression algorithms that prioritize decompression speed, usually at the expense of higher compression times.
It can actually be quicker to store them compressed because memory and bus bandwidth is often a bottleneck. So instead of the cpu or gpu wasting cycles waiting for data to be moved, some of that movement time is shifted to the processors by using compression. Especially if there are idle cores that could be put on that task.
As for going from one compression format to another, you could store them in the final format (and convert on install if it differs between hardware setups, repeating if another hardware setup is detected).
Though if there's any processing done on the uncompressed data (like generating mipmaps or something), that conversion might not even cost extra because it needs to be decompressed and the new data compressed again anyways.
Though on that note, you'd get faster load times by just storing all of those preprocessed and faster install times by just sticking it all in the install download, so there is still a conflict between optimal load speeds and minimal storage space.
Choosing which resolution you install sounds like a great idea. How much would you estimate it would reduce the aforementioned 300GB game?
Probably a significant amount, by far the heaviest storage usage in any game is the duplicate videos at different resolutions.
I get a paragraph for anything politically complex. At best. Why are the replies here 2000 word essays?
This is what the coders like talking about.
It’s funny because you don’t even have to go that far to find examples of really poor space usage.
Final Fantasy VII has the entire game on each disc. Only the cutscenes are different between each disc, that’s why the natural breakpoint for the game after the party splits up was shifted, because the ending video was too big and required a disc by itself.
The second a developer doesn’t have to worry about something, they don’t. Give them 2TB NVMe, 5090, i9-14900k and 32GB of RAM, and suddenly that will all be at max utilization. But this isn’t a modern thing, it’s just one of many “necessity is the mother of invention” examples.
Another great example: Every modern desktop app and most mobile apps that just package & run an entire web browser for every single app. There is zero benefit to the user experience or resource utilization to use these sorts of tools, the only reason to do so is to allow code reuse & simplify development.
Especially that every desktop app re-packages a whole web browser is infuriating me, as it could easily be avoided. The operating system should just provide a web browser library, that can be dynamically linked by each application. It's such an easy solution but it isn't used :(
Don't forget the next step in the evolution: each web browser ships inside its own entire operating system container
There is a project called tauri that uses the web browser libraries provided by operating systems. The problem is that each operating system has a different browser library, so features may not be supported or can work differently. Browser vendors seem allergic to actually following the standards for some reason.
some games did the opposite, when they ported to platforms with better hardware they would have improved graphics, longer intros, better sounds, maybe even extra levels. my favorite game of the time (still one of my favorites today) Prince of Persia is an example.
original apple II version:
popular dos version:
macintosh version:
SNES version:
That is a cool example! Thanks for sharing
Fun fact about that specific example btw, it is the reason we got assasins creed series.
what a great limited series of five games that was
Also by making the videos blurry https://m.youtube.com/watch?v=BaX5YUZ5FLk
Videos and textures are usually the biggest part of games, closely followed by audio
(☝︎ ՞ਊ ՞)☝︎
Game Dev here.I WISH we could still ship with N64 quality textures and audio. We'd use so much less disc space and probably finish sooner and cleaner.
FTL, Valheim, Muck, Brawlhala, Amongus, Lethal Company, Loop Hero, Papers Please, Balatro, Slay the Spire, Undertale, Stardew Valley, Dead Cells, Ion Fury .... are all under 1 gig.
Selaco, Prodeus, Ultrakill, Project Warlock, Cultic, DUSK... all between about 2 and 5 gigs.
This is far from an exhaustive list.
You can ship games like these.
People have done it, and made a good chunk of change, with dev teams of between ... what, a single person to a max of maybe 10? Less?
You need to wish to work at a different studio, with different management, maybe a different engine, not wish its possible to make a successful game without stupendously huge asset libraries.
Hell, even Alien Isolation, SOMA and No Man's Sky are just above 20 gigs, MGS V is just under 30 gigs of on disk size.
It is totally possible to do pretty darn good graphics without breaking over 100 gigs of disk space.
None of these have anything even remotely close to 4k textures. We can argue all day about whether or not those are required for "good graphics" (I don't think so either). But there's no amount of optimization that compresses those textures without losing the fidelity you're using them for.
It's got absolutely nothing to do with the engine or optimization.
Uh, for the larger lists at the top of my post:
Yes, that is the point.
A game does not need to have 4K textures, does not need to have super high fidelity, super realistic graphics, to be successful.
...that is the point.
There is absolutely no unbreakable law of gaming that says a game's success is directly proportional to or reliant on stupendously high res, high fidelity graphics.
Fortnite. Roblox. Minecraft.
Every goddamned Anime Waifu gacha game.
Stupendously successful and popular games.
Cartoony or low fidelity graphics.
......
For MGS V, Alien Isolation, No Mans Sky, SOMA... those are games that have pretty darn high fidelity graphics (No Mans Sky somewhat recently got a 4k texture including, major graphical overhaul update) ... not quite as high fidelity as more recent, 'cutting edge realism graphics'... but their on disk file sizes are in the ballpark of an order of magnitude less.
So uh... that would lend creedence to the idea that yes actually, there are a great number of optimizations and design paradigms that can and have been employed in the past to keep overall disk size of a game down... and those concepts are no longer being utilized by many big name game dev studios.
I hear you, but I will say that there's a lot of indy games out that are great but mimic the graphics (and requirements) of old. Crow Country is a good one top of mind.
Point being it's more about what people want to make, IMO.