[HN Gopher] Epic acquires RAD Game Tools
       ___________________________________________________________________
        
       Epic acquires RAD Game Tools
        
       Author : jsheard
       Score  : 111 points
       Date   : 2021-01-07 18:38 UTC (4 hours ago)
        
 (HTM) web link (www.epicgames.com)
 (TXT) w3m dump (www.epicgames.com)
        
       | gman83 wrote:
       | If Epic wanted to make a video game streaming service like
       | Stadia, the video compression knowledge these guys have could
       | come in very handy I imagine. So maybe it's not just about Unreal
       | Engine, but about making the Epic store in to a streaming
       | service.
        
       | shmerl wrote:
       | What is the point of making custom codecs for Bink, instead of
       | using state of the art free codecs?
        
         | azornathogron wrote:
         | (I don't work in the industry, but am an interested amateur)
         | 
         | [Edit- I may have misunderstood your question, but I'll leave
         | my reply anyway.]
         | 
         | Here are some possible reasons you might use Bink instead of a
         | free codec:
         | 
         | - Bink video has been around for a long time as a product, even
         | though the _codec_ has been updated (probably multiple times, I
         | don 't know). There weren't always good-enough free codecs, and
         | if you have prior experience integrating Bink with your stuff
         | then you may prefer to stick to something you know is good even
         | if it costs money.
         | 
         | - RAD focuses on producing libraries that are very easy to drop
         | in, specifically in the context of games. They know how game
         | code is written and structured. They know game developers want
         | to be able to integrate video in a way that works -- and
         | performs reliably -- within an existing game engine that does a
         | lot of custom management of textures/buffers/graphics memory.
         | State of the art free codecs don't necessarily have free
         | libraries that are actually high performance and easy to
         | integrate within a game context.
         | 
         | - Your state of the art free codec might work great on a modern
         | smartphone or PC, but good luck getting it to work on a
         | Nintendo Switch or whatever weird console you're targeting.
         | Bink is available for whatever game-specific platform hardware
         | you're targeting.
        
         | megameter wrote:
         | It's a combination of patents, features, target devices, and
         | marketing proposition. There are many devices with hardware
         | decoders that work great for watching a TV show, but if you're
         | using video for interactive assets as games do, you probably
         | have latency targets to hit, you might want seek-through
         | performance, you may want transparencies, and so on. And RAD
         | has long had a lock on really supporting the platforms game
         | devs are using, so if you use their stack instead of bodging
         | together a video solution, you're saving time overall.
        
       | nothis wrote:
       | It always seemed like RAD makes the kinds of tools you want as a
       | developer who likes to run its own core systems and license
       | powerful components for key issues. To think these tools will now
       | be locked into the bloated Unreal Engine makes me feel a bit sad.
       | It's like a lot of game companies get bought up by giants in a
       | "just because we can" fashion, recently, and I can't help but
       | wonder how this de-prioritizes quality and diversity in the
       | industry.
        
         | zerocrates wrote:
         | It certainly could happen down the road, but the post says the
         | opposite for the time being, that they'll continue to support
         | usage outside Unreal Engine.
        
       | jcalabro wrote:
       | That's awesome! Congrats to the RAD team and Epic! Epic certainly
       | has acquired a world-class team. Also, I've been a long time fan
       | of Jeff's podcast, it is irreverent and hilarious if you haven't
       | checked it out!
       | 
       | https://jeffandcaseyshow.com/
        
       | bexsella wrote:
       | There's a lot of focus here on Bink, but Oodle has a fascinating
       | history as well. From world-class compression
       | ratios/decompression speeds to being implemented in hardware by
       | Sony in all PS5s. RAD have a great history of getting exactly the
       | right people that are interested in their fields and are great at
       | what they do.
       | 
       | I echo the sentiments of many when saying I am surprised no one
       | had scooped them up earlier (although I doubt it wasn't for lack
       | of offers).
        
       | [deleted]
        
       | [deleted]
        
       | mappu wrote:
       | 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.)
        
         | manfredo wrote:
         | I 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 :\
        
         | gameswithgo wrote:
         | every 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 wrote:
         | It 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?
        
           | kevingadd wrote:
           | Videos 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 wrote:
           | To 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.
        
           | Impossible wrote:
           | I worked on COD:AW and we used video in game often. The lead
           | UI artist would have used it significantly more if
           | performance was better. Might be an exception but it's not
           | uncommon, I've worked on multiple titles with full 3D and
           | video playback at the same time
        
           | neurostimulant wrote:
           | Aren't bink videos can be rendered as textures? A lot of
           | games use such effects on in-game objects (e.g. tv playing
           | real videos).
        
           | jan_Inkepa wrote:
           | Video game loading screens, for instance.
        
         | megameter wrote:
         | While 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.
        
         | cma wrote:
         | I'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.
        
       | xienze wrote:
       | Man, Epic is absolutely flush with cash. They're moving their HQ
       | down the road a mile or so by buying a dying mall for $100M and
       | hiring 2k more employees.
        
         | ineedasername wrote:
         | Well, they're a bit company right now, still riding the revenue
         | success of Fortnite and the potential of their launcher/store.
         | So investors are interested, including Chinese investors that
         | own a decent swathe of shares. I just hope they don't become
         | such huge industry giants that they stomp on anything with a
         | faint smell of competition.
        
           | ameen wrote:
           | Sony recently infused Epic with $250M for 1.4%
           | 
           | Source: https://www.sportspromedia.com/news/sony-epic-games-
           | minority...
        
           | xienze wrote:
           | I'm just amazed with what Fortnite has done for them. I pass
           | by their current HQ regularly and it's pretty modest. You'd
           | never suspect that's the HQ of such a successful company. I
           | was surprised to learn they're still taking funding. I
           | figured they were pulling down absurd profit.
        
             | ameen wrote:
             | Their legal challenges with Apple might've put a dampener
        
       | hertzrat wrote:
       | I've been using unreal for the past 6 months to make a game. It's
       | not as easy to get started with as unity is, but if you are good
       | at figuring stuff out then it's just a powerhouse. The renderer
       | is incredible, the workflows are modular, you can work in a data
       | driven way, you can modify skeletal animations in-engine,
       | performance is amazing, etc etc etc. It's also stable, and non-
       | production ready features are clearly identified as beta or
       | experimental.
       | 
       | I wish this was next week so I could post a link to my alpha
       | build at the bottom of this post
        
       | mikepurvis wrote:
       | Lots of love for Bink, but Bink's predecessor is an earlier video
       | codec/format called Smacker, which was especially for 8-bit
       | colour palettes, where the palette (or part of it) might be fixed
       | due to being needed by UI elements outside the video, but some or
       | all of it may be allowed to vary/rotate as the video played.
       | 
       | I first encountered Smacker videos in Caesar II (which even
       | shipped smkplay.exe on the disc so you could play them from
       | outside the game), but they were used for a lot of games of that
       | era, including a bunch of early Blizzard titles like Warcraft 2
       | and StarCraft.
        
       | anthk wrote:
       | RAD had an amazing software renderer on par on the Unreal one.
        
       | eutectic wrote:
       | RAD's Charles Bloom has a blog (https://cbloomrants.blogspot.com)
       | which is excellent for anyone interested in high-performance
       | programming. Especially compression.
        
         | jo032 wrote:
         | fabien giesen, also at RAD, has a very informative blog as
         | well. https://fgiesen.wordpress.com/
         | 
         | they have a seriously impressive group of developers
        
         | duskwuff wrote:
         | _Especially_ compression. The compression provided by RAD Tools
         | is nothing short of otherworldly -- it can provide compression
         | ratios comparable to XZ, but with decompression speeds more
         | along the lines of what you 'd expect from gzip (or even
         | better).
         | 
         | I hope that Epic does something interesting with what RAD has
         | built here. Taking it more proprietary (e.g, halting new
         | licensing) would be a huge blow for the industry.
        
         | caeril wrote:
         | Everyone who works there is extremely talented. Fabien, Sean,
         | Allen, etc. Jeff has a very keen eye for it.
         | 
         | He's funny, too. Highly recommend The Jeff and Casey Show for
         | podcast content.
        
         | mrec wrote:
         | Not just high-performance, his "Library Writing Realizations"
         | post is also well worth a read whatever domain you're working
         | in.
         | 
         | http://cbloomrants.blogspot.com/2015/09/library-writing-real...
        
       | astlouis44 wrote:
       | As far as I know, they are one of the few video game compression
       | companies out there. Undoubtedly this is amazing news for Unreal
       | Engine 4 devs, but for those not using the engine this is going
       | to be a bit of a blow.
       | 
       | On the plus side, this opens the doors for a "Pied Piper, but for
       | games" style startup to come out of nowhere and take big market
       | share.
        
         | scrollaway wrote:
         | Pied piper did have a whole subplot about compression in the
         | context of reducing VR video game bandwidth latency. You might
         | be more spot on than you think :)
        
           | astlouis44 wrote:
           | Yup! Shameless plug btw - but my startup is working on a
           | suite of tools for gaming on the web, that includes advanced
           | compression libraries.
        
         | egypturnash wrote:
         | "RAD will continue supporting their game industry, film, and
         | television partners, with their sales and business development
         | team maintaining and selling licenses for their products to
         | companies across industries - including those that do not
         | utilize Unreal Engine." - the article
         | 
         | How long this will last is anybody's guess, of course.
        
       | randtrain34 wrote:
       | For those interested in what RAD Game Tools actually makes, as
       | far as I understood from their website
       | (http://www.radgametools.com/):
       | 
       | Bink 2 - video codec Oodle - data compression suite Telemetry -
       | profiling toolkit Granny 3D - toolkit for building 3d games Miles
       | Sound System 10 - sound authoring toolset in 2D and 3D
        
         | bluedino wrote:
         | What's amazing is they have made these same products for
         | like...25 years?
        
           | manfredo wrote:
           | Pretty much. Though they've periodically updated them to use
           | new techniques like animation blending. I think there's also
           | a lot of work in optimizing for different platforms. And
           | perhaps more importantly, there's a lot of work in making the
           | middle ware easy to integrate. Ease of integration is often
           | more important than performance for a lot of middleware.
           | 
           | I've seen their logo on tons of games. I never knew they were
           | a local company (Kirkland, WA near Seattle).
        
         | scrollaway wrote:
         | Really hoping epic takes the opportunity to give Bink a more
         | open license, to be honest. Much as I appreciate how advanced
         | Bink was at the time, i don't know any dev that still use it
         | given that av1 and such are just Good Enough.
        
           | Jasper_ wrote:
           | Bink isn't the codec, though that's good too, it's the
           | software stack. How do you render AV1 on a PS4 or a Nintendo
           | Switch, synchronize it with the audio stream? No, seriously,
           | tell me.
           | 
           | GStreamer with its ridiculous threading architecture and
           | lock-heavy approach? You think that's going to run on a
           | console CPU? ffmpeg / libavcodec? Yes, we can hook that up,
           | have it crank out YUV buffers and display those on the GPU,
           | or we can just use Bink. Yes, it costs a ton of money, but
           | based on when I evaluated it last, it was almost twice as
           | fast as libvpx on our target platforms, it was well-suited
           | for games (worked well with custom allocation strategies,
           | didn't start a bunch of threads by itself, integrated well
           | into our renderer), was easy to integrate, the toolchain was
           | lovely, and when we needed help with a bug, we got an email
           | back the same day from Jeff. RAD's support is top-notch.
           | 
           | Multimedia is not too big of a problem that a company like
           | Epic can probably spend a few days integrating libvpx and
           | opus to make a custom video solution, but big enough that
           | most smaller studios with custom engines don't have time to
           | spend on that, and those are the sort of problems that RAD
           | likes to tackle.
        
             | scrollaway wrote:
             | SDL has always been the stack of reference when
             | implementing your own engine, as far as I've seen in game
             | dev. Now that is probably not the case for AAA games like
             | cyberpunk etc, I don't follow as much tech there. But yeah,
             | I've never seen gstreamer used for that. Curious if you can
             | elaborate bout your experience especially wrt. the switch
             | like you were mentioning downthread, I'm super curious.
        
             | zamadatix wrote:
             | PS4 and Switch both have hardware decoders (though neither
             | would be using AV1 in particular due to age). I'm not sure
             | about how it works on PS4 but on Switch games just use
             | NVDEC like a PC with Nvidia hardware would and the
             | functionality is exposed in the SDK. You can use h.264,
             | h.265, VP8, and VP9 (the hardware supports more but it's
             | not exposed).
             | 
             | When Bink was released and the PS2 and Gamecube were on the
             | horizon this kind of thinking was needed. When you get to
             | PS4/Switch you're just running consumer PCs. The exact same
             | Nvidia SoC used in the Switch is actually used by Nvidia
             | for their Shield Android TV boxes whose literal purpose is
             | to play audio/video streams - it's quite capable of doing
             | so.
        
               | Jasper_ wrote:
               | I can't go into more detail because these platforms do
               | not have any public documentation, but this is not true,
               | you cannot use NVDEC. And it doesn't cover audio or
               | synchronization.
        
               | zamadatix wrote:
               | Without referencing non-public documentation
               | https://yuzu-emu.org/entry/yuzu-nvdec-emulation/
               | 
               | "The Switch uses NVDEC along with VIC (Video Image
               | Composer) in the GPU for video decoding. Games are
               | exposed to higher level APIs by Nintendo which abstract
               | the configuration of these modules."
               | 
               | If you're using a custom engine which does not want to
               | use these APIs you're of course free to do it yourself
               | (and deal with how you're going to syncronize it and the
               | higher resource utilization) but most major titles use
               | the built in hardware decoder provided via the API.
        
             | sudosysgen wrote:
             | Gstreamer and FFMpeg would certainly run on a Switch, a
             | PS4, or whatever else. We know this because it runs on
             | devices with the same processor.
             | 
             | That said, yes, Bink certainly is a more turnkey solution,
             | which can definitely make business sense to use. This is a
             | byproduct of consoles being closed platforms.
        
               | Jasper_ wrote:
               | When I say "run", I mean "runs at target performance".
               | Yes, sure, Turing completeness technically means that
               | software raytracing "runs" on the Switch, we all know
               | that, but it's not a viable solution for a shipping
               | product.
               | 
               | This is not a biproduct of consoles being closed
               | platforms, multimedia is a challenge everywhere; cross-
               | platform, usable multimedia playback lacks a high quality
               | product even on open PC platforms.
        
               | sudosysgen wrote:
               | FFMpeg and Gstreamer both run on both Nvidia Tegra
               | hardware and AMD Jaguar/Bulldozer at 4K 60fps.
        
           | gameswithgo wrote:
           | doom uses bink cyberpunk uses bink
        
           | medecau wrote:
           | shows up on cyberpunk 2077 splash screen
        
         | jsheard wrote:
         | It doesn't appear to be mentioned on the site, but they also
         | collaborated with Sony to develop the hardware decompression
         | unit in the Playstation 5
        
         | azornathogron wrote:
         | Basically any game you've played that has any pre-rendered
         | video (for cutscenes, logos, whatever) most likely uses Bink
         | video for it.
         | 
         | Their stuff is very well regarded and widely used.
         | 
         | At least that is the impression I have got, watching from
         | outside the industry. It's always possible that I've got a
         | distorted view as an outsider.
        
           | koala_man wrote:
           | > Basically any game you've played that has any pre-rendered
           | video (for cutscenes, logos, whatever) most likely uses Bink
           | video for it.
           | 
           | Unless it was a DOS game from the 90s, in which case it may
           | have used its 256 color predecessor Smacker.
           | 
           | It's amazing how this tiny company has managed to stay
           | relevant through decades of huge technological shifts.
        
         | libraryatnight wrote:
         | Almost all of these logos show up at the beginnings of my
         | games. Cyberpunk most recently comes to mind.
        
         | moonchild wrote:
         | You need extra newlines. Reformatted:
         | 
         | Bink 2 - video codec
         | 
         | Oodle - data compression suite
         | 
         | Telemetry - profiling toolkit
         | 
         | Granny 3D - toolkit for building 3d games
         | 
         | Miles Sound System 10 - sound authoring toolset in 2D and 3D
        
       | mrkramer wrote:
       | These guys are my heroes!
        
       ___________________________________________________________________
       (page generated 2021-01-07 23:00 UTC)