Physics online

A few days were spent on adding physics objects to Scout’s Journey, driven by ODE. The hardest part was reading the entire ODE manual. It took a long time to divine all the obscure bits of information hidden around the internet and various source codes. Very little documentation exists for utilizing ODE in games using FTE or Darkplaces.

Anyway, I’ve got bouncing crates and rolling buckets in the game now. Things tumble over edges and down slopes quite naturally. Adding more physics objects is now largely a matter of copy and paste. I can also apply forces to physics objects e.g. by shooting them.

Some routines have been written to auto-enable/disable physics to save performance, and to restock the world with physics objects that have for some reason fallen through the level – this is still a small issue, although it doesn’t break the game.

I think buoyancy can be hacked in quite easily, so objects will swim or sink in water. It is a matter of endless tweaking, mostly. Currently there are only box and sphere geometries, I think cylinder and trimesh are work-in-progress judging from the FTE source.

Another thing I’ve done today is find out how to play SJ with a gamepad. I can report that there is gamepad support under Windows only at the moment. I hope Spike hacks up some gamepad support for Linux, too, at least, in the future.

My Playstation pad clone is quite usable already; I can even intercept gamepad buttons in CSQC. The problem with the GUI right now is making the cursor react to the gamepad.

SJ will probably provide some form of aim assist eventually, so you can play with a pad, although it’ll default to off. Personally I find playing with a gamepad a lot more relaxing, and SJ isn’t exactly a competitive multiplayer FPS, so having the option will be a nice thing.

I’d be very interested in a brief set of instructions on getting ODE to work with FTE if you get time, I tried to experiment with it before, and haven’t gotten anywhere with it at the time, and I’d like to revisit.