Sign in to follow this  
Vevusio

PhysX - Driver required

Recommended Posts

ok this is not directly linked to a programming issue but i figured this would be the most appropriate forum to put it now, the physx engine from ageia/nvidia requires a 40mb heavy driver which you have to install in order to run it including a few mb of libraries here and there dont seem like a big deal but dont you think people would be scared off by having to install that driver? im talking small time free game development here, imagine someone is bored and browsing for some nice free game to play and he stumbles upon your creation which happens to be using physx; now the guy thinks "ye that looks nice" and decides to give it a go only to figure out he needs to download yet another piece of software which has 40mb and has to be installed separately if that guy was me i would just be like "nyaah, lets try something else" what are your thoughts on the matter, id be happy to learn from other peoples mistakes for once :P

Share this post


Link to post
Share on other sites
I decided to switch to the Bullet physics library after I noticed NVIDIA is likely not going to give me any better support. I noticed that the PhysX developer forum at NVIDIA doesn't get much attention from the NVIDIA people. So it is mostly a user-to-user support forum.

And the positive thing about Bullet is that I have full source code to it. It's not that I am expecting to be modifying it much, but I like it as I can compile it statically into my application and I don't have to worry about the library being installed on the user's computer.

It's also great for cross-platform use, which I want to do.

I just figured out that what I want to do can very likely be accomplished with something like Bullet so the hassle and uncertainty with the PhysX is not worth it.

Share this post


Link to post
Share on other sites
Physx is becoming more and more likely to be found on the computer of the average PC gamer, both casual and "hardcore". But still your concern is quite valid - I for one am using a 2005 version of the DirectX SDK just so the user won't have to go download the latest DirectX runtime, and I am guilty of shying away from games that require the .net 3 framework. On the other hand, I'm using Physx in the same project too, because it supports hardware acceleration and because I already know my way around in it. So, umm.. it's up to you. It depends on the nature and size of your project, the intended audience, your skill set... etc.

Share this post


Link to post
Share on other sites
These days it's already a requirement to have a proper installer for your game that silently handles the redists for DirectX/VC++ Runtime/.NET Framework, etc. Adding one more redist to the list really shouldn't be a big deal.

It's also a lot nicer these days now that the PhysX driver doesn't constantly run in the background with the little notification area icon.

Share this post


Link to post
Share on other sites
Quote:
Original post by reptor
I decided to switch to the Bullet physics library after I noticed NVIDIA is likely not going to give me any better support. I noticed that the PhysX developer forum at NVIDIA doesn't get much attention from the NVIDIA people. So it is mostly a user-to-user support forum.

And the positive thing about Bullet is that I have full source code to it. It's not that I am expecting to be modifying it much, but I like it as I can compile it statically into my application and I don't have to worry about the library being installed on the user's computer.

It's also great for cross-platform use, which I want to do.

I just figured out that what I want to do can very likely be accomplished with something like Bullet so the hassle and uncertainty with the PhysX is not worth it.


The help forum to Bullet is usually pretty worthless too. The documenation has nothing on the PhysX stuff. Basically need to pick through source code to figure anything out. Then it doesn't always seem to work right. After all the stuff I've had to do I'm switching to PhysX after this project is done. But of course there are at least two Wii games using Bullet so it certainly does work. Just doesn't work well for my project it seems.

As for the PhysX driver, you can get a installer just for 2.8.1 which is just four megs. The system driver is so big because it has copies of all the .dlls way back to like 2.3. If you are using the newest version then you can only have your user install the stuff for that version and not all the rest. Post #15 has the link to the download.

And as MJP said its pretty easy to get the NSIS installer to connect to a website, download a file, and run it all in the installer. So there is no reason for the user to have to manually download the file themselves. When I was messing with replacing Bullet with PhysX I found some NSIS scripts on the internet to do this.

Share this post


Link to post
Share on other sites
I agree that the Bullet documentation is not so good.

But if I look at their forums, it's about the same quality as PhysX's forum. So, apart from the documentation, the support given is about the same as I see it. I would expect a lot more effort from NVIDIA at their forums, to support their products, even for hobby users - they could become commercial at some point, or tell their "commercial" friends about how good/bad PhysX is.

I think it depends quite a lot in what kind of a project you have - as I said, I figured out I can do what I want with Bullet so using PhysX is just going to complicate things more. And limiting me to platforms NVIDIA wishes to support.

Share this post


Link to post
Share on other sites
Quote:
Original post by Vevusio
ah i wasn't aware of that stupid_programmer (what a name :P), thanks


It seems to be an apt name for me sometimes.

Quote:
Original post by reptor
I agree that the Bullet documentation is not so good.

But if I look at their forums, it's about the same quality as PhysX's forum. So, apart from the documentation, the support given is about the same as I see it. I would expect a lot more effort from NVIDIA at their forums, to support their products, even for hobby users - they could become commercial at some point, or tell their "commercial" friends about how good/bad PhysX is.

I think it depends quite a lot in what kind of a project you have - as I said, I figured out I can do what I want with Bullet so using PhysX is just going to complicate things more. And limiting me to platforms NVIDIA wishes to support.


As a general physics engine for things interacting with an enviroment or for vehicles it does seem really good. But something as simple as having a stack of blocks and removing the bottom and have the rest fall doesn't work most of the time. But it is cross platform and does support quite a few more primitives then PhysX.

Share this post


Link to post
Share on other sites
well at least according to wikipedia physx is cross-platform as well (at least windows and linux, mac useres are lame anyway)

unless bullet has a way better api and usability then physx i dont really see a reason to use it especially now since it seems that according to some of you guys its a little buggy

i was thinking of newton game dynamics as an alternative or maybe ODE since its been mentioned here and there as i was looking around - also some commercial titles like STALKER and BloodRayne2 etc. used it

the problem is that i dont want to waste a lot of time checking out all these engines before deciding on one

and while what im intending to do doesnt need a lot of physics capabilities it would be nice to have learned a decent engine i could use for more advanced stuff in the future eventually

Share this post


Link to post
Share on other sites
As taken from the PhysX Documentation:

"
Deployment
The core NVIDIA PhysX files (PhysXCore.dll, NxCooking.dll and the firmware binaries) are no longer intended for distribution within a game installer. Instead, a dedicated installer for developers to execute as part of the install process is provided. The installer will install the software runtime files and, if necessary, the NVIDIA PhysX hardware drivers."

That sounds to me as if you can incorporate it into your installer and have it all taken care of at once. I'd simply notify the user of it being installed, similar to how when installing Visual Studio it has the various components that it's installing and checks them off as it goes down.

Share this post


Link to post
Share on other sites

I believe at the moment the situation is such that there is no small installer for PhysX which you could execute as part of the installation of your application. At least for non-paying customers this is the situation at the moment - they removed the links to the small "game_installers" from their web page and are not providing new ones. I don't know the reason for this but if you search the Nvidia PhysX forum then you can read comments wondering what happened to the small "game installers" nvidia was providing at some time.

I don't know what Nvidia's plan is regarding that in the future - perhaps they temporarily ran out of resources and are planning to improve the situation in the future, but I don't know, you would have to ask them if they are going to provide such small installers again (for free) at some point in the future.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this