Jeff Harris

Software engineer, hobbyist game developer

Correct field of view - my favorite 'feature' so far!

I’ve been struggling for a while to understand why the maps in OpenCarma feel smaller than in the original game. I hadn’t been able to put my finger on why until now. I was watching a youtube video of the Maim Street map when I noticed the view from the start grid was not the same as in my engine. After some head scratching and double checking all my maths, I found out the Field of View I was using was wrong! The field of view controls how much the camera sees sideways, which has the effect of making objects directly in front of the camera seem stretched.

Heres a screenshot from the original game. Note the lampost and small amount of yellow barrier on the right.

Now my game, first using the default 45 degree field of view, and then 55.55 degree (as found in general.txt settings file). On the left, you can’t see the lamppost and the buildings look taller and closer compared the shot on the right, where the buildings appear to stretch into the distance more. Its made a huge difference to the feel of the game as you drive around :)

Grooves and Funks (in other words, Carmageddon texture and model animations)

Heres the latest video. It shows grooves and funks on both cars and tracks.

It also shows some signs being pushed over. That part doesn’t work like the original game yet, where they should bend a certain amount before detaching. PhysX isn’t playing nicely with the necessary joint constraints to make that happen at the moment…

Car and track animations

In carmageddon-speak, Grooves are model animations, and Funks are texture animations.

Grooves are done. Funks are half done (flic, roll funks implemented, still need to do slither, throb and frames)

Will take another video tonight :)

After spending more time than I should have to get grooves working properly, (Ivan’s swinging motor which has a swinging blade really nailed me for a while!) it turns out only a few cars and tracks actually use them :(