• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

Reducing map size

Status
Not open for further replies.
Level 13
Joined
Oct 16, 2010
Messages
731
Hi All,

So I've hit a big problem, I've been working on a map for a while now (over a year I believe) and have been aware of the map size slowly creeping up. About a month ago I went through all of the imported things and got rid of everything that wasn't being used which lowered it a bit.

Now I've hit the point where I can't actually play the map online (not on LAN at least as the newest patch broke my WC and I've reverted to the previous one).

What advise does anyone have for reducing the size of the map? I've heard of map optimizing but I'm guessing you do that once the map is 100% complete (which mine is not), and I still have loads of stuff to add which would involve a lot of multiplayer play testing.

As for what my map consists of just under 48 playable Heroes. Each hero has 5 abilities:
- 3 of which are shared with other Heroes and are normally basic things like bonus armor regen etc (most of these are non-triggered).
- 1 is a "unique" ability that only that Hero has which is normally non-triggered, it ranges from things like acid bomb to bash.
- 1 is an "ultimate" ability that only that Hero has, these are ALL triggered with each being MUI. I think this is where most of the space is being taken from if I'm honest as each ultimate uses a minimum of 3 arrays (at a guess).

The ultimates vary in effect but a lot of them fire a missile in a direction or at a target that then hits and does an effect. (Meaning a 0.03 loop to move the dummy to the location)

I have a whole variety of custom units that are used as each unit that spawns has 3 tiers.

I also have a big list of custom items that are randomly dropped from kills, I am happy with how the loot system works so I would prefer not to change that.

I have a "grenade" system in place that basically allows me to create usable item that throws a grenade that has varying damage, AoE, move type and detonation type.

So yeah that's all the stuff that is going on in my map, I'm guessing that I need to look into a missile system to condense my ultimate spells but I thought I would ask for your advise first. Any suggestions would be much appreciated (+REP!!!) as this has got me in quite the panic about the map!!
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,183
The things that take up the most space are:
UI
Music
Loadingscreen

UIs are never used in multiplayer maps because of that. Loadingscreen are usually low quality to make the size low.

If you're really desperate you can replace some of the heavier models with 'budget ones'.

Sadly there is no magical advise that's easy to apply.
You could of course edit every single model and remove unwanted stuff but that's not worth it.
 

LeP

LeP

Level 13
Joined
Feb 13, 2008
Messages
539
Code more or less doesn't cost anything in size as it compresses very good. Images, Sounds and Models hit you hard. If you haven't, check out the usual tools like war3mapoptmizer and widgetsizer. It would also help if you'd tell us how big your map is.
I assume there are also tutorials on how to lower your map size in here.
 
Level 13
Joined
Oct 16, 2010
Messages
731
Well for the first 12(ish) heroes they are all ingame models but after that they are all imported, this is because the intention was that every hero is a vehicle and that became very limited later on. I'll have to filter through that and see what I can remove/swap...

How much effect would icons take? I have made a load of icon for the map where some are just tinted versions of the normal icons (allows me to use 1 icon for an item type and have colours as ranks). I was thinking of removing the disabled icons for some of them as they aren't required for the most part?

Just checked the map size and it's saying it's 8,303 KB. I tried using http://www.wc3c.net/showthread.php?t=79326 to optimize it as a test and it reduced it, but I tried playing it and it doesn't allow me to play it. So that's not gunna work unless I pressed the wrong button or something...


EDIT: Would ability levels have any effect on filesize? Each basic + unique ability has 15 levels each and the ult has 9 levels. This is because you are 1 Hero the whole game and when you switch Hero you keep your level till maxed.
 
Last edited:
Level 19
Joined
Dec 12, 2010
Messages
2,069
use this settings
LmgW.png
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
OK thanks just tried that and it seems to be working on LAN again. What will that have removed? Just so I know what to look out for (AKA does it remove comments etc)
Does it matter? You should always have an optimized published version and an unoptimized source version.

The settings shown by DracoL1ch will just optimize the map JASS script. Nothing else will be removed and the map should even be editable. Of course if you edit it and save again it will need to be optimized again.
 
What will that have removed? Just so I know what to look out for (AKA does it remove comments etc)

Maps are actually bundles of files (triggers, objects, terrain, etc.). When we're looking at optimizing the map for gameplay, we look at two types of files:
  1. Regular Files: these ones are needed for Warcraft 3 to run the map properly.
  2. Editor-Only Files: these files are used only by the editor. Warcraft 3 doesn't actually need them to run the map. For example, all your GUI triggers are converted to a script (the war3map.j) and stored inside your map. Only the war3map.j is needed to run your triggers properly. However, the editor stores the triggers in a file called "war3map.wtg", which stores what the GUI triggers actually look like. This is purely so you can edit the map later. The optimizer will remove it. There are other files like this as well, such as the imports list.

Because the optimizer removes certain editor files, you should always keep at least two versions of your map: (1) the unoptimized version you'll use for editing (as DSG mentioned) (2) an optimized version for people to play.

The optimizer will also compress the war3map.j to remove unneeded code/whitespace and shorten names (i.e. it'll take up less space). There are some other features as well, but those are the two main ones.

-------------------

As others have said, compressing your models/textures/sounds will go a long way. Sounds definitely take up a ton of space, so deal with those first. After that, you can squish your models using this tool, and reimport them. When you use the squisher, it'll look like nothing has changed, but when you import it into your map it'll take up a lot less space than before.

You can use BLP Lab to compress your textures. You really don't need 100% quality textures since you're always seeing them from a distance. Roughly 50-60% will do just fine.

As for removing DISBTN--you can, but having green icons when you pause is really ugly. Icons are usually less than 12 kb each so you don't get too much value from compressing them. But it'll help to remove any unneeded ones, especially if most of them are just recolors.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
As for removing DISBTN--you can, but having green icons when you pause is really ugly. Icons are usually less than 12 kb each so you don't get too much value from compressing them. But it'll help to remove any unneeded ones, especially if most of them are just recolors.
You can probably get disabled icons to only 1 or 2kb since they are usually darkened and so have less color information to store.
 
Level 13
Joined
Oct 16, 2010
Messages
731
Hi Guys,

Thanks for all the replies, I tried the optimizer and I've been removing some of the bigger models in the map (as well as un-needed portraits).

So far that's made it playable on LAN but as you've said it'd probably be better to edit a non-optimized version and then optimize it when it's going to be played.

If I hit more problems I'll try compressing models/textures and what-not.

Thanks again!!
 
Status
Not open for further replies.
Top