Saturday, January 2, 2016

AMD's GPUOpen; Power to the Developers

For many, PC gaming can never be replaced with consoles but it has a deeply rooted problem that may hamper future growth. I’m not talking about pay-to-play initiatives, rampant DLC, a general lack of creativity or the continued rehashing the same tired franchises year after year. While all of those are hallmarks of what every gamer - regardless of the platform- has to deal with these days, today’s PC game publishers are looking straight down the double barrels of ballooning development costs coupled with limited developer resources. With those factors taken into account, PC games often receive the short end of the stick as those developers focus upon their (typically) higher grossing console sides.

With this unfortunate situation in hand, we are seeing a dearth of unique PC-exclusive titles and a general reduction in the quality of PC games. This comes as developers try in vain to properly port their games over from lower-powered consoles, a process which has proven time and again to be a laborious task that very rarely turns out well. For all the Witcher games there are a dozen Assassins Creeds and Batman Arkham Knights out there. 

Meanwhile, AMD, NVIDIA, Intel and Microsoft have all been trying to facilitate the PC development process in some way or another. NVIDIA has turned to their Gameworks tools to add unique in-game visual features, Microsoft’s DX12 seeks to harmonize cross-platform development and Intel has a large-scale developer relationship program of their own. AMD and by association the Radeon Technology Group are in a rather unique position since they are now poised to drastically change the way PC game development moves into the next generation. 


Unlike a few years ago, AMD now has their Radeon graphics chips in every single current generation console from the Xbox One to the Playstation 4 and the Wii U. This not only opens up rather large opportunities but, given the cross-platform nature of their architecture, it also means that AMD can leverage developers' knowledge of their hardware to positively affect workflow cycles both PC and consoles. In essence, they have a serious leg up on the competition and are now in a position to take advantage of that. 

At this point, the two sides of the gaming coin are somewhat divided with very few coding resources being shared between them. We’ve already heard how consoles allow for much greater hardware transparency and close-to-the-metal programming while the power of the PC is frequently locked behind the door of Windows drivers. Now AMD is moving forward with their ISV partners to the next logical step: how to optimize coding for GPU. 


The Radeon Technologies Group’s latest initiative to allow for easier, quicker and more transparent access to the GPU’s various onboard resources is called GPUOpen. While DX12 accomplishes this to a lesser extent on a system-wide level, GPUOpen is really about opening up access to the graphics subsystem so developers can effectively access its strengths regardless of the platform. More importantly, this is supposed to open the door to a holistic production cycle which will bring many PC and console optimizations under one umbrella, thus minimizing development costs and hopefully leading to improved game quality. It will also allow developers to truly unlock the full hardware potential of current and future graphics architectures. 

GPUOpen may have goals that are stated in a relatively simplistic manner but actually moving the RTG’s directives forward will take a herculean effort. The first step is to promote collaboration between developers by providing them with direct access to the GPU’s coding on a truly open platform. The next item is to provide a manageable ecosystem without any of the so-called black box solutions but still provide enough premade resources that integrating optimized features into a game engine is as simple as possible. Finally, there’s bringing all of these elements together in a kind of straightforward toolbox approach that still allows enough flexibility for a broad range of titles. Sounds simple? Yeah, right. 


In many ways we’ve already seen a lot of this with AMD’s Mantle, which is now discontinued with its core elements folded into the likes of DX12 and Vulkan. Both of those API’s have set out to continue down the trail which Mantle blazed by better leveraging system resources with graphics in particular being the star of the show. GPUOpen on the other hand goes a few steps further by opening up the GPU’s coding pathways quite a bit more. It does so by exposing the same features in both the console and PCs systems regardless of their API so programmers can now better utilize their time by focusing on implementing their vision rather than troubleshooting countless issues. 

Despite the open source roots of its predecessors, there are of course areas where the Radeon Technologies Group will still exercise some control since they don’t want GPUOpen to degenerate into the Wild West of coding where everything and anything goes. We’ve already seen what happens when there’s a lack of first-party focus by putting too much onus on third party generated content (see Havok and HD3D for proof of that); failure typically follows in short order. The last thing AMD needs is to let this golden opportunity slip through their hands. 


As evidenced by its name, GPUOpen accomplishes all of this in a completely open source manner so innovation is ultimately done closer to the source and then gets distributed to the community at large. However that doesn’t necessarily mean that the RTG will leave their partners high and dry. On the contrary. Their intent is to have a complete platform in place for the development community sometime in Q1 2016 with resources, SDKs, premade visual effects and other elements on tap. This will all be further helped with a driver structure that lends itself to close interactions with the graphics processor itself. 

There will be a deep book of resources for developers to draw upon to facilitate their workflow process. This includes effects to improve in-game graphics with pathways for hair, geometry elements, shadows and other items, all of which AMD will provide source code for rather than only the basic closed-source effect. There are also the various in-place SDKs alongside various API libraries for DX11 and 12. These elements are all held together by new and existing productivity tools that grant high and low level access to the graphics processor. As you might expect every single one of these areas will hopefully see expansion as time marches on and they represent just the tip of a very large iceberg. 


Parting Thoughts

What the Radeon Technologies Group is trying to accomplish here has been a long time in coming. It certainly wasn’t a short-term strategy cooked up over cocktails a few months ago. This foundation was first put in place by AMD’s dominance in the console market and now we are starting to see the multi-floored building above that base start to take shape. While none of these goals are guaranteed to work and NVIDIA’s current market share puts a significant amount of strength behind their competing solutions on the PC side, the RTG obviously knows what developers are looking for. They want to save money through a streamlined development process but still deliver a product that gamers will actually want to buy. Bugs and patches cost time and money and if AMD’s partners prove that GPUOpen ultimately leads to financial success it will quickly gain traction. 

The RTG is setting the stage for a potentially game-changing development cycle which ultimately brings consoles and PCs closer together, benefiting both platforms equally. We likely won’t see the effects –either positive or negative- of GPUOpen for at least the next 18 months but there’s certainly hope for better quality PC games in the future.

No comments:

Post a Comment