Categories
Game Development

Changing to PhysX

In the end, after another few hours, I got Newton sort of working. Sometimes thrust would stop working for no reason, until I died and respawned, usually. Sometimes it would stay not working. And I wanted to fix the location of the fighter’s shield to the fighter’s body, and that never worked. Also, doing the […]

In the end, after another few hours, I got Newton sort of working. Sometimes thrust would stop working for no reason, until I died and respawned, usually. Sometimes it would stay not working. And I wanted to fix the location of the fighter’s shield to the fighter’s body, and that never worked. Also, doing the same simulation on the client and the server was less accurate than with my own code.

It took me 2 days to get Newton sort-of-working. It took me 15 minutes to rewrite my old code back in, as all I wanted was a rotating ship in space with thrust.

My biggest problem with Newton is that if something doesn’t work, you’re basically fucked. The forum is unhelpful, the manual is incomplete, the tutorials don’t help much, and there’s no feedback from Newton as to why. So even if I were to attempt to fix the problem of “Why does my thrust suddenly stop working, but rotation still works?” I have absolutely no idea where to even look, with no source code to rely upon. These kind of things take hours, where just writing my own system velocity = thrust / mass * time takes about 10 seconds and consistently works.

It also lacks in easy-to-use features. For example, people have asked for efficient trigger bounds in the forum over a year ago, and it’s not there. I tried using my own system with AABB collision boxes and Newton was so slow I gave up on that and wrote my own system, again in not much time, which worked perfectly and was O(1). I have no way to update a single entity given a past time and state, which I need for networking. I don’t have access to the physics octtree which I also needed for network culling. There’s no easy way to do explosions or springs, and it goes on and on. I could spend another day guessing and probably get everything working, until I run into the next problem, and then lose another day, and so on.

So PhysX is free for PC games now and I got a developer account with them. I’m going to read over what they have and see if I can make the switch in a day or less. The nice thing about them is
1. A lot more people use that than use Newton, so I can get better support
2. There is a plugin for 3D modelling programs
3. It’s from a professional company so I have a feeling the quality and speed will be much better.

Leave a Reply

Your email address will not be published. Required fields are marked *