General - Map Size Management: Saving the Last Byte

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
Map size management - How to reduce the filesize of my map?

Bigger is better? - Not when it comes to filesizes!

This tutorial is for all those with quite a large amount of imports, who wish to further reduce the filesize of their map.

Your benefit with smaller map sizes: faster up- and down-loading of your map, especially in Battlenet: maps larger than 4 megabytes are against the Battlenet convention

So this tutorial is not about the actual importing of audio and image files, such as icons, floortiles, sounds, etc., it's about how to squeeze the imported files to the optimum: maximum compression at minimal to barely noticeable quality loss

Overview:


1) Introduction
2) Textures
3) Models
4) Sound Files
5) Finishing touches



1) Introduction


What does compression mean?

Basically any filetype imported into your map file will be compressed to a certain extent when saving the map. From its principle it's like putting all imported files into a zip archive, namely your map.
Zip compression of media files is lossless, and therefore in many cases not very efficient. Fortunately, several different codecs (COmpressor-DECompressor) have been developed in the past years, to allow significantly higher compression rates, yet (with few exceptions) at the loss of information. Best example the Fraunhofer mp3 codec, which dramatically reduces the filesize of an audio file when compressed e.g. at 128kb compression, yet keeps the loss of information i.e. 'quality' in the range of barely noticeable.
Warcraft 3 supports only some of them. In quite a few cases a work-around is needed to make use of compression methods. How to do that is explained in the sections following.

Depending on quality and quantity of your imported material, the following procedures may or may not be worthwhile. Obviously, the larger your map size, the more it is recommended to slicken your map. With barely any imports and your map size significantly smaller than 1MB, compression won't be much of an issue for you.

Disclaimer:
Be adviced that the following procedures involve a loss of (redundant) information and therefore a loss in quality which may or may not be noticeable. Any of the procedures described pose potential dangers of corrupting your file. Never overwrite originals, always have savety copies ready!



2) Textures
size saving potential: ~ 20% - 60% per image file

tools needed:

BLPaletter
http://www.wc3campaigns.net/showthread.php?t=86878

download the exe file ( latest versoin 1.5b)
download the GUI
extract both into a new folder

The BLPaletter allows you to compress *.blp files, which is the main image format Wc3 uses. This concerns imported skins / textures and icons. The great thing about BLPaletter is the implementation of jpg compression which allows further significant gains in compression. Its usage with the GUI is very straightforward: Click the button Open to open your texture or icon. Specify the name of the compressed blp in the second field from top. Below, check use JPEG compression to get the full potential of jpg compression. Leave the next field as is when, since it does not apply to JPEG compression. In the field below you can specify your compression rate. I recommend a compression rate of about 75 – 85 for all those textures that are seen a lot in the game, and about 55 – 65 for those rather rarely seen, such as disabled icons.

Links:

The Helper tutorial on icon creation and import
http://world-editor-tutorials.thehelper.net/icons.php



3) Models
size saving potential: ~ 30% - 40% per model file

tools needed:

MDX Squisher
http://www.wc3campaigns.net/showthread.php?t=83416

As its name says, this tool allows you to squish model files resulting in significant compression rates. As stated in the readme, it is adviced not to use this tool several times over already squished models, which may result in a noticeable loss of quality. Recent models (e.g. from hiveworkshop.com) may already come along squished, which should be stated in the model description. In that case, do not squish the model again.
The usage of the MDX Squisher barely merits explanation. Open the model file to be compressed. Save it. Done.



4) Sound-files

size saving potential: ~ 50% - 80% per sound file

tools needed:

BeSweet
http://www.doom9.org/
go to download
go to audio tools
click BeSweet 1.5 to download the file


Lame compressor

http://www.doom9.org/
go to download
go to audio tools
click Lame 3.95.1 to download the file


BeSweet GUI
http://besweet.notrace.dk/BeSweetGUIv0.7b4.zip

Alternative path for the package BeSweet + BeSweetGUI + Ac3Machine:
http://rapidshare.com/files/50817755/BeSweet-guiv07b4-wizardv02b1.rar


Note: for this procedure it is important to use DSPGuru's official GUI. The other BeSweet GUI, BeLight does not include the desired options.

Sound files in Wc3 are saved as 22,050 khz, 16 bit, 1 channel pcm wave files. When you import your own sounds, they have to apply to these specifications, with the exception of music, which is saved in mp3 format.
Wouldn't it be great to import other sounds as mp3, too? Unfortunately, that's not possible. Yet there is a trick, so you can import your sounds with mp3 compression, yet "disguised" as *.wav file. We can nonetheless get hold of the benefits of audio compression using the mp3-wave format, which is mp3 compressed sound attached to a *.wav fileheader. Out of the wide range of commercial and non-commerical audio converters out there, I have found one which is free, very efficient, has an enormous functionality, and can be installed and used within a few minutes.


The great thing with besweet is that it can all be done using the command line. Yet as we're all born with a computer mouse in the craddle, I'll explain the GUI setup and procedure. The setup routine poses a few minutes of work. Fortunately you only have to set it up once.

Setting it up:

1) Extract the BeSweet package to a new directory. Let's call it "BeSweet".

2) Extract the GUI files into your BeSweet directory. Confirm overwriting the *.dll

3) Extract the Lame compressor into your BeSweet directory

4) Open the GUI

5) Set the Besweet.exe file path to the BeSweet.exe

6) Click on Lame1 and set the lame.exe file path


Audio Conversion:

That's for the file setup. As follows what it takes to convert your wave file to mp3-wave

1) select your input file

2) Check through the settings pages:

- Azid1: leave as is; if your sound is too loud, have a play with the normalizing values

- Azid2: uncheck if any is checked

- SSRC: leave as is, or set to 22050

- Lame1: Set "Mode" to mono if your input file is mono, to "Stereo" if your input file is stereo; optionally: check "Turn ATH down to a Flat Noise Factor"

- Lame2: Check "Error Protection", Now the important part: Set "CBR" to 96 (or 128 for slightly higher quality)

- Lame3: Uncheck all

- 2Lame: Leave as is

- BeSweet: Uncheck SRRC, uncheck Boost; important: under Lame set MP3-WAVE
the OTA options should all be unchecked

3) Select output file. Make sure to set a different folder or filename than the original

4) Let's go: Press WAV to WAV

The settings will be saved, btw. I'd yet recommend to save your
settinsg as custom setting profile. Now listen to your soundfile with audioplayer/winamp/other


Links:

Tutorial on custom sound import
http://www.thehelper.net/forums/showthread.php?t=39614



5) Finishing touches


size saving potential: ~ 10% - 20% overall map space

Tools needed: Wc3mapoptimizer
http://www.wc3campaigns.net/showthread.php?t=79326

A very popular tool developed to optimize map code and map strings is Vexorians map optimizer.

This should be the final step in our map compression odyssee. Keep in mind that certain options of the map optimizer prevent the map from being opened and edited. So always make sure to have a copy of your latest map version before using this tool on it!

Leaving aside the grand part of its great functions which are best explained by the readme (found under: About.. - Documentation - readme.html), the following options emphasize on smaller filesizes.

Under Script Optimization check:
ZLib Deflate

Under Map Optimization Options check:
Optimize string usage
Clean BLP's.
If you have script files such as AI scripts imported, also check: also optimize other scripts

Under extra Cleaning check:
Remove Editor Suffixes
Remove Editor Only Files
Remove as much WE-only data as possible

I suggest you have a test run with your map after the procedure.
Having gone through all of the steps above you can with good conscience claim to have optimized the filesize of your map to the utmost possible.


So that's about it! Hope that helps to save one or the other Megabyte!
 

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
music can be imported as normal mp3, as far as I know. the tricky thing here are all the other sounds.

big fat swollen bump

behave well, and I'll update this tutorial to include the latest blp and mdx compression tools :D
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Wc3 Optimizer link dead.
Link it to the thread of wc3c.
 

hell_knight

Playing WoW
Reaction score
126
GUI link does not work, the alternative from rapidshare does not work as it says Im missing a dll file that probaly was not included....
 

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
rapidshare link works perfectly for me.
in case the direct dl link from doom9 does not work, go to the site:
http://www.doom9.org/
-> downloads
-> besweet

if there was some more interest, I'd update this tutorial
 

Sim

Forum Administrator
Staff member
Reaction score
534
> if there was some more interest, I'd update this tutorial

Go on, I'd gladly look at it once there is more information :)

It's useful tutorial, and honestly, I just noticed it for the first time :eek:

Maybe add stuff concerning models? I only see an icon section.
 

SFilip

Gone but not forgotten
Reaction score
634
Please don't use direct links, but official sites/threads/download locations instead.
The way it is now if any of the software you posted gets an update your links will either be outdated or broken. Software developers also generally don't like it when their tools are linked to this way.

Also consider adding something about BLPaletter and MDX Squisher.
 

PurgeandFire

zxcvmkgdfg
Reaction score
509
Please don't use direct links, but official sites/threads/download locations instead.
The way it is now if any of the software you posted gets an update your links will either be outdated or broken. Software developers also generally don't like it when their tools are linked to this way.

Also consider adding something about BLPaletter and MDX Squisher.

Damnit, I was about to mention that. :p

Lol, anyways, good tutorial.
 

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
thanks for interest. time for me to work on an update including blp paletter and mdx squisher.

Thanks for the criticism which helped me make this tutorial even better.

This tutorial is now updated.
 

SFilip

Gone but not forgotten
Reaction score
634
You can also mention that you only need 1 mipmap when using BLPalleter on icons, or 2 if you want them to work for people who set texture quality to low in their games.
It also only needs one mipmap for loading screens.
(reducing the number of mipmaps also reduces the size somewhat)
 
T

themtxaw

Guest
Everytime i try opening the BesweetGUI, I just get an error saying, "This application has failed to start because MSVBVM50.DLL was not found." Why is this happening? i followed the directions exactly...
 
G

Guessed

Guest
it is adviced not to use this tool several times over already squished models, which may result in a noticeable loss of quality. Recent models (e.g. from hiveworkshop.com) may already come along squished, which should be stated in the model description. In that case, do not squish the model again.
No loss of quality will happen if you just squish an MDX twice. The problem is when you go squish-edit-squish. So people should feel free to squish the model again if they are in doubt over whether or not it has already been.
 

Doomhammer

Bob Kotick - Gamers' corporate spoilsport No. 1
Reaction score
67
thanks for correcting this

summing up:
possible (but not really useful): squish - squish
not adviced to do: squish - edit - squish
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top