Nvidia Corp. has denied accusations of its arch-rival Advanced Micro Devices of providing cash to game developers for implementing GPU-accelerated processing of physics effects using PhysX middleware. While Nvidia admits that it can provide engineers or artists to help game developers to incorporate certain effects into titles, the company cannot influence their decision to utilize PhysX, but not other libraries or engines.
“There could be no deal under which we would cash somebody in for using PhysX,” said Ashutosh Rege, the worldwide director of developer technology at Nvidia.
Nvidia Cannot Force Game Developers to Use PhysX
Physics engines of video games are developed along with graphics, audio and other parts of the titles. As a result, designers of games have to make their choices to use or not to use certain middleware well before any content of the title becomes apparent. Therefore, for Nvidia it hardly makes any sense to pay game developers to choose PhysX instead of Havok or other competing technologies and it also does not make a lot of sense for creators to take any cash from a third party and pick up a tool that does not comply with their requirements. There is a clear logic in this: even though Nvidia has a lot of financial resources, it cannot pay for development of a game that will eventually fail on the market; for a game developer it also makes more sense to create a playable title rather than a tech demo for a technology company.
“Physics engines are critical components of games. The game developers are not going to choose a physics engines based on any kinds of incentives if that is going to jeopardize the game itself. Primary criteria for game developers [when selecting a physics engine] are feature-set, algorithms, tools, support from the vendor. The most important factor for game developer today is market platform. In other words is whether that supports X360, PS3, PC and some developers are targeting iPhone and Wii with our PhysX engine. We support all of those, which is the reason why PhysX has become so popular,” said Mr. Rege.
We Help to Implement GPU PhysX – Nvidia
Nvidia PhysX middleware is truly utilized by many games that process physics effects on various kinds of central processing units, including homogeneous multi-core chips inside personal computers and Xbox 360 or heterogeneous multi-core chips inside PlayStation 3 or much less advanced processors installed into Wii or other platforms. There are also around fifteen games that can take advantage of PhysX processing on Nvidia GeForce graphics processors and those titles are usually criticized by AMD’s software developers relationship managers. The reason? According to Richard Huddy, who is the head of software developer relations of AMD in Europe, Nvidia provides cash to game developers for using GPU PhysX. Nvidia does admit that it supports such titles actively, however, it does not bribe game designers in any way.
“Developers can also choose to add some GPU PhysX features. We will, of course, help them to do that; we will help them with engineering and we will help them even with artists, who also go on-site and spend a lot of time with their artists to [help creating content]. Adding GPU PhysX to a game is a lot more different than adding just general physics effects. There is more work than adding post-processing effects. So we help them with that. We also help them with marketing with any kind of bundle deals with add-in-card makers if the latter are interested in bundling those games,” stressed the worldwide director of developer technology at Nvidia.
Nvidia makes no secret of the fact that it sends engineers and even artists to help development companies to implement certain functionality; nevertheless, it is also not a secret that ATI, graphics business unit of Advanced Micro Devices, does the same to support certain game developers and ensure that its graphics innovations are implemented in a timely manner. In fact, large game creators from time to time sign marketing deals with ATI or Nvidia about half a year or a little more before the launch of a game, after which the appropriate independent hardware vendors (IHV) work with designers to incorporate certain functionality into those titles. Needless to say that it is nearly impossible to make the games look radically different in half a year, which is why software constantly lags behind hardware.
Make No Harm
ATI/AMD earlier this year also accused Nvidia of intentionally lowering performance of non-Nvidia platforms in titles that support GPU PhysX, however, Nvidia pointed out a number of times that it did not do that.
“What we do when we add GPU PhysX engagement with the developer is that in no shape or form we do anything harmful for the rest of the platforms, those that do not support GPU PhysX. It is just an additive value to our GeForce customers and eventually it boosts game experience on the PC,” said Mr. Rege.
PhysX Is Not Glide!
Ashutosh Rege of Nvidia also does not agree that PhysX is akin to the 3dfx Glide application programming interface that vanished into oblivion after 3dfx was acquired by Nvidia in 2000. According to Mr. Rege, Glide only worked on 3dfx hardware, meanwhile, PhysX middleware is compatible with all three modern video game consoles, PlayStation 3, Wii and Xbox 360, as well as all personal computers and even Apple iPhone platform. However, in those games that use GPU PhysX, end-users will get better experience.
“The comparison of Glide against PhysX is not smart. PhysX is not an API, it is a full set of software, it is a middleware. In the middleware business you have game developers saying ‘I’ve got these features, I’ve got these licensing terms and I need to deploy on these platforms. What is the best solution here?’. Of course, the cost of license is also important to developer. Based on all of that, they make their decision what package to choose. […] I will be honest: the GPU PhysX is not the biggest consideration for game developers, it is something that is cool, it is something that comes as a bonus, but this is not the main deciding factor,” explained Mr. Rege.
Still, GPU-accelerated PhysX only works on Nvidia hardware and only in cases when an Nvidia GeForce graphics card is used for graphics rendering. The practice is rather controversial since this limits consumers’ choice, but Nvidia has always claimed that it would not validate certain functionality on non-Nvidia platforms.
Nvidia Supports Industry-Standard Implementations, Too
It is also noteworthy that besides its own PhysX middleware, Nvidia is working with open-source developers of physics processing tools, including those that use OpenCL.
“We are happy to support all OpenCL or DirectCompute [implementations of physics engines]. If a developer asks us to help implement certain feature, we will add it. If he asks to port something to DirectCompute, we will certainly do our best to get that to him. […] We will support game developers to the extent of our knowledge of, [for example], Bullet. Obviously, we do not have engineers, who are exposed in Bullet to [provide technical support], but we are working with the Bullet Engine team on specific things. […] At the end, we are selling GPUs, not PhysX,” said the worldwide director of developer technology at Nvidia.