8 ms·
The history of RAD is a history of media read speeds - playing back full-motion video from a CD on a PS2 with its near-zero available CPU resources was a superh
by mappu 6y ago
The history of RAD is a history of media read speeds - playing back full-motion video from a CD on a PS2 with its near-zero available CPU resources was a superhuman effort.
So low-overhead (fast) decompression is essential for AAA titles. But recently I guess developers think disks are fast enough now, because PC games have been using more uncompressed assets to free up CPU time, massively bloating install size. Current-gen consoles also all have NVMe SSDs.
Given this trend, RAD's heyday was definitely in the days before consoles had NVMe disks (Bink in particular let games punch far above their weight) so this might be a nice forever-home.
Blame Intel for not making faster CPUs, and consumers for tolerating massive install sizes, i guess.
The other angle to this story is that the PS5 has a hardware decode unit for RAD Kraken. To get the best use out of the PS5 hardware, it's essential that the encoder is still made available. This is a huge competitive moat. (PCs probably won't get a comparable decompression accelerator card and such a card wouldn't get enough market penetration anyway.)
- cma 6y agoI'm sure Sony didn't burn kraken decompression into hardware without a license saying all their third party devs can use the compressor for Sony's PlayStation console (and future ones for backwards compatibility at least) in perpetuity.
- manfredo 6y agoI heard that the main issue with decompressed assets was audio, not video (granted, video is image and audio so one is a strict superset of the other). One game - Titanfall or a CoD game, IIRC - had something like 20 GB of uncompressed audio in a 35GB installation footprint. Rationale was saving CPU cycles. Meanwhile here I am with a sound card in my desktop PC for no real reason anymore :\
- ratww 6y agoThat doesn't really compute. Audio decompression is pretty light on CPUs these days. It takes about half a second in a single core to decompress a 4 min MP3 to WAV in my 2012 MB Air, including writing to disk. In a gaming machine it will be way less. If anything, the audio could be decompressed and cached on demand, when loading levels, or even during installation. Also sound cards do not participate on the decompression process. It's been CPU from the start, baring rare exceptions. Sound cards just receive raw PCM. There used to be hardware codecs but they're not really common, especially in consumer/gamer-grade soundcards.
- dharmab 6y agoKeep in mind that Titanfall had to ship on the Xbox 360 and PS3.
- ratww 6y agoInterestingly, those two consoles had dedicated hardware decoders. It doesn't make any sense to have uncompressed audio for them.
- gruez 6y agoIf it's any similar to the hardware decoders on iPhones, they're probably limited to n streams. That might be good for playing some background music or ambient sounds, but it gets tricky really quickly when you have multiple sounds playing at once.
- ratww 6y agoNot really: The Xbox has 320 independent decompression channels according to its marketing material, which is kinda powerful. The PS3 had similar tech in its Motion Decoder, but they didn't disclose how powerful it was. And even if it had just a single decoder, there's always the possibility to pre-decode audio. Or just decode the music/film.
- jorvi 6y agoAll the console versions shipped with compressed audio due to the anemic hard drive and disk speeds, as well as tiny RAM amount. In general it doesn't make sense to use wavs. Games have been using compressed audio since the late 90s without any significant trouble, and mp3s are aurally transparant at 320kbps.
- klik99 6y agoCouple of things to note: MP3 is not appropriate for use in real time due to a variable amount of silence added to the start of the sample intrinsic to the compression. You can sometimes use it for music But if there’s any changes based on game events mp3 is unusable. A lot of work has been put into optimizing mp3 including at os and hardware levels but that’s not usable in games. Commonly it’s some custom spin on vorbis which is Additionally, there can easily be 20-40 sounds playing at once, more if you haven’t optimized yet (which typically happens in the last few months before release). These also need to be preloaded slightly, and once playing stream from disk, so source starvation needs to be handled and the codec needs to not be glitchy if missing some packets. It’s also happening in a system that needs to be real-time and keep each frame timer on the order of milliseconds, though Moore’s law moving to parallelization has helped a lot. You’d be surprised how under powered the consoles are in this regard (caveat: I haven’t developed on the upcoming gen, which is getting better) As for loading and caching on demand, that’s limited by memory, given the sheer amount of samples used in games, it’s just not practical. For specific example in a very well known game, there are over 1600 samples for boxes hitting stuff (impact sounds). What I’m building right now is meant to make generative audio easier and reduce the number of samples needed, so more tools to process sound could make this naive caching approach practical
- moritonal 6y agoRumour I heard was that it was because they realised 20% of their customers using much older PC's wouldn't be able to decode fast enough, so they distributed it with the uncompressed to everyone because no distribution platform allowed "optional" downloads.
- sitkack 6y agoThis sounds like the most plausible.
- bayindirh 6y ago> Meanwhile here I am with a sound card in my desktop PC for no real reason anymore... I think better opamps and audio quality is always enough reason to have a separate sound card in your PC.
- gameswithgo 6y agoevery aaa game still uses rad tools. compression is still a thing for various reasons: fitting more textures in the gpu/ram/etc. for instace, with decode happening on gpu
- tomc1985 6y agoIt seems weird to use specialized video decode hardware when videos are almost always played in a full-screen exclusive fashion. Like, other than loading, what is the CPU doing during those times?
- jan_Inkepa 6y agoVideo game loading screens, for instance.
- kevingadd 6y agoVideos have been used frequently for all sorts of other stuff in games since the playstation, if not earlier. In StarCraft the portrait of your selected unit was a movie file (RAD smacker, I think? But I don't have a copy of starcraft lying around to double check). Supergiant Games' titles since Bastion all use RAD's Bink codec to store offline renders of their character models (as movies) instead of traditional sprite sheets or realtime rendered 3d models, so they're playing back dozens of movies at all times. As another reply mentioned, it's also standard at this point for loading screens to be movies.
- incrudible 6y agoTo be clear, Kraken is for general compression, not video. Of course you can do video decoding in software, that's what Bink is. It can do 4K60 on a PS4 CPU.
- tomc1985 6y agoMakes sense. If it were just video it'd seem like it would be cheaper to include an h.264 chip, they're a lot more common and you get the same thing
- Danieru 6y agoEncoding videos across consoles in h.264 is a pain and unreliable. I did it, and so I can see why a big budget title would use blink. Each console has its own odd and undocumented requirements for the encoding specification. Think 1079p at 29.99fps pm one console while vannila 1080p 30fps on another. Get it wrong and your video is blank with only a "failed to decode" in the logs.
- megameter 6y agoWhile the codecs have been central to RAD nearly from the start(Miles was the first product, closely followed by Smacker), the talent pool they have is exceptional across many other categories relevant to Epic - so there is an element of aquihire here, even considering the IP. It's probably a good time to exit since the alternative would mean coming up with a sufficiently awesome next-gen thing again, and even with experienced hands, that can be a moonshot.
- 0x7feb38ad 6y agoThe PS2 had a hardware MPEG decoder and could also play DVDs so I don't think it had much trouble doing FMV.
- anthk 6y agoYeah, is like most of HN should be kids, because, FFS, it's a PS2, not a Nintendo from the 80's. They are so used to badly implemented software in Electron requiring humoungous CPU and RAM requeriments that basic performing tools it's mind blowing to them. Heck, any Pentium2 on par of a PS2's CPU or better could play DivX videos under MPlayer under Linux/NetBSD with ease. 420p, ok, but video.
- anthk 6y ago>playing back full-motion video from a CD on a PS2 with its near-zero available CPU resources Eh, a PS2 with a ~300mhz MIPS CPU is more than able to play VCD with MPEG1 encoded video. You must be young, because the PS2 is on par a Pentium MMX/Pentium 2 and for sure you could play MPEG videos back in the day.
- naikrovek 6y agoIf that's all it was doing while the video played, sure. That's not all they were doing while videos played. Often, videos were shown while assets were unloaded from RAM and others were loaded from disk.
- anthk 6y agoThat's nothing when the PS2 is able to play MPEG2 video (DVD's), something only a late Pentium2 could do, often with a hardware decoder or a good video card. And the MPEG1 spec is compatible with MPEG2 based decoders on the PS2, so the effort on it would be almost null. As I said, Gen-Zers understimate late 90's/early 00's hardware. Also, the PS2 GPU was a data monster, refilling the VRAM like nothing. Ask the PCSX2 developers about that.
- midnightclubbed 6y agoPS2 had hardware to decompress DVD quality video with very low cpu overhead. Rad's bink video compression (at the time of the PS2) was slower and more dvd bandwidth heavy, only reason to use it was if you didn't want a separate set of video files for your PS2 game sku. On the PC Bink was a great choice for FMV as it had a really clean API and 'just worked'.
- p1necone 6y agoThe PS5 launched with only 667gb of usable disk space, asset compression has some use still.
- klodolph 6y agoThe PS5 has hardware-accelerated decompression, which is probably what you’d want to use when targeting PS5. Mind you, it’s based on an algorithm that RAD devised…
- BatteryMountain 6y agoAnother thing that changed from say 10 years ago, some games have better launchers and ways to configure them. What I'm hoping to see at this front, since install sizes are bloating, that the installers/configuring becomes slightly more advanced. When I install a game I want to be able to choose the following at install-time: Texture Packs (main blobs that takes up a lot of space - why download 50GB if you need the 10GB version) Language Packs Voice/Audio Packs Mode Packs (Single Player Campaigns, Multi player, maps) This way you can take a game that currently cost say 80GB for everyone to average out 30GB to 50GB for most players. On the low end the same game needs to work at 10GB and at the high end can consume the whole 80GB for the person with hardware that can take it. Obviously for console players, they just want to play and get on with it and maybe wont enjoy the choices mentioned above, but PC and tweakers/benchmarkers/modders should enjoy it.
- fsloth 6y agoA 1TB SSD drive costs around 100 (€/ $). A person who enjoys tweaking their PC likely can easily get terabytes of storage space. I don't really see the utility of fiddling with 10GB here and there...
- Aerroon 6y agoI wonder if it would be possible to get 250 GB SSDs for like $25 or less. You could then literally sell your game on an SSD. According to this [0] Nintendo charges $8-20 per cartridge to third parties.
- audunw 6y agoYeah, this is basically exactly what Nintendo is doing. I guess for PC and larger consoles you could use larger memory cards that might be cheaper to make. But anyway, it's still a problematic approach since it eats into the margins unless you increase the price of the game, which most game publishers try to avoid. I really like Nintendo Switch cartridges, I prefer to buy physical copies when I can, but I don't think there's a future in them. I kind of wish someone would make "smart cards" that just gives you access to the game online. Since there's so many essential updates to games these days, that's almost what cartridges are anyway. You forgot the reference link btw.
- numlock86 6y ago> massively bloating install size On release the new CoD:MW was 130 GB large. A few updates later we are now at over 256 GB.
- NetOpWibby 6y agoSo you’re saying Fortnite is gonna be amazing for us PS5 owners?
- perryizgr8 6y ago> PCs probably won't get a comparable decompression accelerator card and such a card wouldn't get enough market penetration anyway I doubt this particular moat means much since PC has practically unlimited disk space. This recent install size hype is basically irrelevant if you're on PC. Just get a nice $100 SSD and continue. It matters only to PS/Xbox because they do not provide easy/cheap expansion.
- GlennS 6y ago> consumers for tolerating massive install sizes You don't find out until after you've bought the game...
- dfgdghdf 6y agoI have stopped playing games because the updates were too big and I got sick of waiting for them to download. I'm sure the games companies are tracking this stuff, so I'm likely in the minority.
- MaxBarraclough 6y ago> PC games have been using more uncompressed assets to free up CPU time, massively bloating install size Filesystem compression could help here. To my knowledge games consoles don't support filesystem compression, but I'm not sure why.
- garmaine 6y agoThat would undo the entire point of it, no?
- mlatu 6y ago> > PC games have been using more uncompressed assets to free up CPU time, massively bloating install size > Filesystem compression could help here. How? Compression is not free, no matter where you put it, someone has to decompress it again. Are you talking about some exotic SATA controller or other hardware that does that?
- MaxBarraclough 6y agoNo I was thinking of modern filesystem compression solutions. They offer relatively poor compression ratios, but computationally efficient decompression.