3 ms·
It's true. I've seen tons of games use basically uncompressed audio, badly compressed textures, etc... People often repack video games, making programs to comp
by sudosysgen 4y ago
It's true. I've seen tons of games use basically uncompressed audio, badly compressed textures, etc...
People often repack video games, making programs to compress and decompress them so they are easier to pirate. It's not uncommon to see a 2-3x reduction in size, for bit-identical results.
- sroussey 4y agoTextures are not compressed for size on disk, they are compressed to the format that can be directly loaded into the GPU.
- sudosysgen 4y agoYes, that's the problem. You can compress them for size at download time, and recompress them to a GPU-optimal format at the time of installation. You may even be able to do it at runtime with modern hardware, shortening loadtimes and sometimes even improving performance indirectly.
- coffeebeqn 4y agoThen you have to have the game reprocess all the assets on the users machine which could easily take an hour
- sudosysgen 4y agoEssentially any modern image compression format is going to be limited, or close to, by storage speed (for decompression). So unless the user has insanely fast internet (and the servers are also able to saturate their connection), it will be faster in the end.
- xboxnolifes 4y agoWith the size of games nowadays, that's likely a net time save for many people from the discounted download time.
- jon-wood 4y agoGamers being gamers though they’re not going to say “well, we on reflection I’ve not had to wait so long”, they’re going to slam you with one star reviews for the fact there’s an hour long loading screen on first start.
- xboxnolifes 4y agoThe recompression/decompression logic could (and I would argue, should) be packaged separately for distribution platform instead of being embedded as part of the game's logic. In the case of using Steam, it would be no different than how it shows separation of time spent downloading vs time spent installing. This allows it to be ran automatically after download without having the user need to launch the game.
- lpghatguy 4y agoYou can combine the approaches! KTX2, for example, supports "supercompressing" GPU block compressed formats with LZ4 or Zstandard. The project I have been working on ships BCn textures compressed with zstd and it has been pretty dang good.
- terafo 4y agoYou can add lossless compression, like Kraken, on top of that. PS5 has hardware accelerated Kraken decompression. And you can encode textures for GPU in a way that is better compressable with lossless algorithms.
- midnightclubbed 4y agoHardware accelerated is still not zero cost. Plus if you are publishing for the other console and/or PC there is a question as to whether you want to do the extra work for one platform.
- maccard 4y agoThis is where using something like unreal shines. You get the correct default for all the platforms.
- taeric 4y agoThat is a little surprising to me. Especially if we are talking about games that are delivered online. Thinking on it, I'm actually only surprised for online delivered games. I don't see any incentive to reduce size on delivered disks. I'd expect that they use a compression that is good for transport, at transport time. I'm not too shocked that they have the assets in a way that is easy to use at runtime.
- coffeebeqn 4y agoGames are duct taped together at last minute on impossible deadlines pretty much every time.
- bombcar 4y agoThis is exactly it - and once released there is rarely the motivation to go back and optimize side things. The only game I know that has done anything like that is Factorio, or the open source reimplementations of various engines. The crackers who remove copy protection often repackage (or someone else does) to greatly reduce size; since they’re in there poking around the code they can see what isn’t used. This isn’t new, either, ancient console games have unused assets and even entire levels in the code but disabled.