Blood on the optimized rooftops

MagnaChem research & development unit.

Moderators: coffeycup, Toshiba-3

Post Reply
User avatar
motorised death
Posts: 1197
Joined: Tue May 13, 2008 3:56 am
Location: Den Haag, Holland

Blood on the optimized rooftops

Post by Harmalarm » Sun Mar 27, 2011 11:19 am

I've been looking into the track files of carmageddon 1 lately. These files are heavily severed by the preprocessing of carmageddon.

Preprocessing is a method for cutting up a track into columns and rows. This enables the game to index the track into small pieces, making it easier to determine which part of the track is closest the the part you are already in. This way the game knows where to put active non-cars and active pedestrians so it doesn't have to calculate the non-car and pedestrian behavior of the entire track all at once.

anyway, the preprocessing heavily fucks up the models faces and especially ruins the smoothing groups. I took some time to optimize the blood on the rooftops map from carmageddon 1. The two pictures below show the difference between the direct port of the track and the optimized one. I took away all unnecessary edges and vertices, leaving only poly's and quads.



In the end, the number of polygons saved isn't as dramatic as I had hoped. I took off a total of 2000. (this is we re-adding the curbs which were missing in the direct port, so these add up again)

The preprocessing cutting is especially noticeable in the big meshes. We knew this already, but what was fun to see is that the actual number of columns you define in plaything for the preprocessing matches the number of cutting lines on the model. The preprocessing basically throws a cutting grid on the biggest model, cutting it into the appropriate pieces.

I will keep this model, as I might just have a go at it turning it into an up to date model with new shit 'n all ya know! :)

User avatar
アルカリ (単3形)
Posts: 3948
Joined: Thu Jul 24, 1986 12:13 pm
Location: Belgium/France

Blood on the optimized rooftops

Post by Toshiba-3 » Tue Mar 29, 2011 8:22 pm

Well illustrated infos Harm :)

I'm not sure about the car and pedestrian beheaviour part though. I mean in the sense that it would help the game calculate smaller parts rather than the whole. But yes in C2 pre-processing is necessary to have peds and smashables, so it does index materials in a way that the game can use them.

As you implied, pre processing only attacks the biggest meshes. How much however is difficult to determine without a proper test track. Might be the buffer thing, seems unlikely though.

The most important advantage of pre processing is how it fastens the loading of the track. The larger the column matrix, the faster the loading becomes. This can generate a lot of models for the game to store, and thus unpatched games might often shout "Not enough model slots in storage area" while attempting to load a very big track.

Best way to deal with the pre processing is to split the whole track per smoothing groups as much as possible. And let really large components like sea, building rooftops, sidewalks, flat components thus apart so that the pre processing choose them as a base to form columns with the splitted parts.
I often used invisible large planes under the track to avoid pre processing but it wasn't always totally successful.
Image / carmageddon add-ons at road reaction

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest