Jeff Harris

Software engineer, hobbyist game developer

Material modifiers

I’ve been working on implementing material modifiers. Material modifiers give a certain material physical properties, like bumpiness, slipperyness, what kind of particles should used when driving / skidding.

It means that now the grass is bumpy and more slippery than the road, so just like in the original game its easier to spin out. Simulating bumpiness is a cool idea, because the environment polygon count is kept low by using large flat polygons, but with the car bouncing around it makes the environment seem more detailed.

Probably the coolest thing is the frozen lake in the winter maps, now the car goes sliding with almost no grip across the lake. Lots of fun!

Right now I am working on tire tracks (which are also affected by the material modifiers)

EDIT: Someone asked how I actually implemented the bumpiness. I used the PhysX method AddLocalForceAtLocalPosition to randomly push the car upwards under one of the wheels every few milliseconds

Physics Test 3

Another video :) This one shows some pretty big gains in the vehicle physics, breakable objects and particle effects (sparks and vehicle bits when you crash)

I’ve also implemented audio and race countdown animations.

Next step is implement tyre tracks, material modifiers and special volumes. Then checkpoints, other vehicles, pedestrians and powerups…

Vehicles with weird numbers of wheels

Today I implemented support for vehicles with less or more than 4 wheels (previously I had assumed all cars had 4 wheels, and were rear wheel drive). This means weird cars like Faust, Hammer and awesomely the 6-wheeled Big Apc can be driven in OpenCarma