How to reduce the size of your mod.
Why does this matter?
After having to upgrade my web hosting package recently due to you lot busting my bandwidth limits

, I thought I'd have another look at my biggest mod to see if I could reduce its file size.
Currently the PilgrimMod.zip file is 41MB in size. Using the following tips I brought it down to 21MB. A ~50% size reduction.
Here are some comparison images.

Here's some more:
Before2 ,
After2 ,
Before3 ,
After3 ,
Before4 ,
After4
There's very little difference. When you're driving through the track, there is no difference at all because you're watching the track, not the textures, and in peripheral vision, focus isn't required.
Quick reminder: Diffuse texture *D.dds: This is the image that gives the surface its detail.
Specular texture *S.dds: This is the image that gives the surface its shine.
Normal Map texture *N.dds: This is the image that gives the surface its bumpmap (lumpiness).
What to do:
Size does matter
First thing to do, is to half the size of the specular (*S.dds) and normal map (*N.dds) .dds files. Therefore create your diffuse *D.dds file as normal and save it.
To alter the textures surface shine, make changes to the lighting/contrast of this image (as you like), then using Photoshop’s Image/ImageResize option, alter the values to half. So if your image is 1024 x 512, change it to 512 x 256. You must maintain the sizes as multiples of 4 or the dds plug-in rejects it when you try to save.
Now save it as (Filename)S.dds. Now do the same for the Normal image. Reopen the Diffuse(D.dds) texture, apply the Normal Map Filter, resize to half and save. Alternately, create the normal map from the resized S.dds.
You can apply this to ‘almost’ every texture.
Negatives: The bumpmap and shine effect are ‘grainier’. See images above.
No one will ever point that out though. I would not suggest doing this to the most obvious textures i.e. StadiumCircuitD, StadiumPlatformD, StadiumWarpAuvent2D and StadiumRoadD as these are what everyone sees up close, being the common walls, floor, ceiling and road textures. Also StadiumWarpAuvent2D and StadiumPillarD are stretched over some of the bigger structures so try to keep detail on these two.
Here’s how the files sizes and image size compare in the XnView Image viewer:
Before:
After
It's all in the detail
Some images don't really need to be very detailed, as they're normally seen from a distance. For these you can half or even quarter the Diffuse texture image size (most have no *S or *N.dds). Typical examples are StadiumWarpParking, StadiumWarpRouteD, StadiumWarpStandsD.
You can also ¼ size StadiumGrass1, StadiumGrass2, StadiumDirt1, StadiumDirt2 and StadiumGrassStripe although a little tessellation effect will creep in when looking from afar if you go too small on the grass/dirt textures.
Do not resize the following: StadiumWarpRoute, StadiumCircuitScreenMask, StadiumWarpParvis as the game seems to require them at their original size and will show red images if tampered with.
Alter your mood
You can reduce the size of the StadiumFXClouds.dds. The game will stretch whatever file you give it to make the lighting changes. Also the Targa (.tga) files that make up the Moods/Day folder files can all be cropped, so the CloudsMinColor.tga can be cropped from 512x64px to (say) 512x8px giving a saving from 128kB to 16kB. You can do the same with the other .tga files as the game will stretch these images to suit. You can crop these to 1px wide if you want, but your graphics card/cpu will have to work harder to stretch these image around the game world.
Like this:
These tips won’t suit some mods, that have less detailed surfaces, or smoother panel textures, and, they might not suit images with transparency, but they come in handy on the wood/brick/stone/foliage detailed type textures.
What's the benefit?
Faster downloads. A smaller mod file takes a much shorter time to download to your pc when playing online.
If you host your mod yourself, your bandwidth allocation will last a lot longer. I had to upgrade my hosting package when the Pilgrims Passage [RPG] (which uses the pilgrim mod) was played online. My 5Gig a month bandwidth went up to 15Gig! Now I pay for 50Gig a month, which I'll need if I continue making mods (or until a new TM-MOD site appears).
The idea was to get the right balance of quality but without causing me bandwidth issues and then additional costs.
Hope you found this useful.
If you have any tips to add to this tutorial, add a comment (or pm me) and I’ll update it.
pop