What actually makes Maps Crash???

I always wondered what makes Maps like LTA, Azeroth Wars, Warcraft total war, WIP, LTF etc to crash? I am genuinely quite interested to do a full investigation in crashes since They kinda are what makes custom maps unplayable more than anything else. I have a ton of questions in regards to this and I hope experienced map makers. The reason I am interested is because Warcraft 3 engine being old has gotten all the blame for all the crashes and I really wonder is this really the case?

1- How do we know a Crash was related to the map being unstable, Not Internet, Hosting site, The person's PC?
2- How do we know the Crash was related to bad design in triggers and memory leaks or to Warcraft 3 engine being pushed to the limits?
3- Is there any statistics on Crashes?
4- What is the chance of crashing related to by %. Is it Number of objects in game? high amount of leaking triggers? Is type of model, animation and spells used related?
5- Why for example FvG, Dota, Legion TD crash less than AWLR? Why AWLR crashes less than LTA/LTF?
6- Does number of players really matter when it comes to Crashing?
7- Why doesn't everyone just crashes? Why is it that 1 person crashes and others are fine? Is it PC related or just bad luck?
8 - How much are hosting sites like MMH are responsible when it comes to crashing?
9 - Does Game time strongly correlates to chance of crashing? In my experience the longer the game goes, far more crashes happen. Why is this?
10- Do custom spells, specially complex ones like @Krotos would severely increase the chance of Crash?
11- Is the size of the map related to chance of Crash? What is the maximum size for a map?
12- I remember months ago, It was much much less likely for people to crash. It was after the update done before the new update. What has happened?
13- What causes Unit lag?

Would love some answers on this, specially from experienced editors like @SvnmS@Woodenplank@Marshmalo. I know the crash chance is not that high and only like 3-4 people crash in one game but even 1 person crashing can be extremely frustrating. Specially in a game like LTF where even 1 crash on a key faction like Blue or Dwarves already ruin and decide the fate of a game. It just seems hopeless for custom macro maps with current situation since these crashes become extremely annoying over time. discourages everyone to start or work on a project.

For maps like Azeroth Wars I think it's due to it's age and people changing, removing and adding in shit through time that has messed it up.

With maps like LTA I think it's simply due to it's size and how complicated the triggers are in that map and the editor was never made for such complicated triggers (Sure, they allow them, but I doubt Blizzard thought people would make triggers like LTA does)
Think about it. 1 faction can have 2-3 events that changes everything about the faction you play as and those events have other events tied to them.

1- Unstable is what it means to have a map with lots of leaks or things that can cause desyncs, it mostly happens when the number of triggers becomes massive and missing things becomes easier and easier. And of course reviewing all the triggers harder and harder.
2- A desync is simple enough to notice, someone doesn't see what the others see. A crash with an error that says "not enough memory" is a leak related crash. Others can be caused by things like referencing a non-accessible memory, or a loop in the dependency equivalence for units. But those are rarer.
3- I don't know any.
4- Some models do cause crashing, but those are kind of deterministic, it happens when the model is introduced by training the unit of that model or making it as a special effect. Memory leaks however crash your game when the leaks go higher than a certain threshold, so if the trigger that leaks is used often, it'll crash faster. In some games, that trigger isn't used at all, and the game doesn't crash.
5- It has to do with the map size I think, LTA and LTF are much larger than the others you mentioned. It is also possible that there are a lot of leaks in them. But not all crashes happen because of memory, so I don't know exactly why.
6- I don't know, I don't think so.
7- The game crashes when it can't assign new memory, it can happen on different thresholds in different PCs, but once someone crashes because of a leak, soon the others will likely follow.
8 - They aren't responsible for crashing. Only for latency and disconnects.
9 - Because the longer the game goes, the more the game has time to fill your RAM with the leaks.
10- It depends on how well the spell is done, if done correctly, it doesn't increase the chance of crashing at all.
11- I have no definite answer to this, but it seems to be the case.
12- On all maps ? you mean the WC3 update ? or the map version update ?
13- When the game has to figure out which path should each unit take, and there are too many units, so it doesn't have time to finish processing everything. So they just pause and wait. It can also happen if triggers are taken CPU time from the path finding algorithm.

DraupneWon't get any more fun than what you make yourselfBrigandMap Maker

Crashes are most often occuring due to memory shortage or performing actions that the software cant manage. In game its almost always due to memory, or multiple triggers adding in information that is incompatible.

1- Unstable is what it means to have a map with lots of leaks or things that can cause desyncs, it mostly happens when the number of triggers becomes massive and missing things becomes easier and easier. And of course reviewing all the triggers harder and harder.
2- A desync is simple enough to notice, someone doesn't see what the others see. A crash with an error that says "not enough memory" is a leak related crash. Others can be caused by things like referencing a non-accessible memory, or a loop in the dependency equivalence for units. But those are rarer.

.

Click to expand...

Thanks for the reply btw, quite helpful.

I see however I find that desync's are rarer. I am mainly referring to errors. For example in MMH when someone drops in the chat it types in: something something error (ECCONRESET). That doesn't give much information. Does that mean the person crashed? Does that mean he got dropped by MMH/ENT? This error happens 2-3 times each game and it's hard to know what does this message mean?
There is an actual "desync" error as well however that is a rare thing to see. It was common for example in early phases of KTA tho.
And there is an extremely error Connection time out error which is internet related.

1-
4- Some models do cause crashing, but those are kind of deterministic, it happens when the model is introduced by training the unit of that model or making it as a special effect. Memory leaks however crash your game when the leaks go higher than a certain threshold, so if the trigger that leaks is used often, it'll crash faster. In some games, that trigger isn't used at all, and the game doesn't crash.
5- It has to do with the map size I think, LTA and LTF are much larger than the others you mentioned. It is also possible that there are a lot of leaks in them. But not all crashes happen because of memory, so I don't know exactly why.
6- I don't know, I don't think so.

Click to expand...

So theoretically what this means here if for example A Master God editor and Codder who knows ins out of Warcraft 3 editor and engine Remakes LTA from scratch and double checks every-single thing and makes the most efficient possible. LTA should not crash? Since technically the triggers in it are not inherently what makes them unstable but rather they way they are implemented? I know there are maps out there with far more triggers that are more complex than LTA but don't crash as often. There are not macro maps tho but RPG ones.

7- The game crashes when it can't assign new memory, it can happen on different thresholds in different PCs, but once someone crashes because of a leak, soon the others will likely follow.

9 - Because the longer the game goes, the more the game has time to fill your RAM with the leaks.
.

Click to expand...

So technically if you have a better computer you should crash last? My PC has 16.0 GB RAM and most often I don't crash until the very end. However there sometimes when I crash earlier than other poeple I'm sure have less RAM than me. This is where I'm not sure should I blame MMH or WC3?

13- When the game has to figure out which path should each unit take, and there are too many units, so it doesn't have time to finish processing everything. So they just pause and wait. It can also happen if triggers are taken CPU time from the path finding algorithm.

Click to expand...

Hmm I see, there is no way around this either apart from a better engine? I know sometimes for example you get unit lag if your units are commanded to go over the sea so instead they just keep trying to walk on the sea which causes immense unit lag. This problem is common in other games too. I guess just have to deal with and find ways to make less irritating.

In editor? Too much data, including pieces of old data that are not properly deleted in the trigger and object editor, as well as too much map data all at once. Also just some general corruption due to errors when saving.

In game? Mostly wasted memory, things like creating units uses up memory permanently that the engine has no way of dealing with it. Not cleaning up used units is also a problem, though a different one. Just cycling through a lot of units is a problem which is why you should adapt a dynamic dummy recycler system instead of creating a new dummy for each spell cast and giving it an expiration timer. Then theres some triggers not being set up properly and causing issues in certain contexts. Desyncs are caused by some triggers not working the same locally compared to other players. And after that theres still a lot of basic things like not assigning stuff to variables and cleaning them, running functions more than needed, running inferior functions and so on which eat up memory as well.

Not trying to insult but compared to the hive workshop most mappers on this site are very bad with triggers and Im very surprised that no one hired some pro hive trigger dude to work with them on a map.

File size and trigger complexity are not a problem for LTA or KTA, just inefficiency of the triggers, but never complexity. Marsh for example just finds creative ways to do this very simply, which I find commendable.

Remember, instead of making one-offs for everything, try to systemize your triggers. Make it so one trigger calls upon other triggers which do smaller tasks instead of copy pasting whole triggers with very small variations, and do this as often as possible.

1- When a player crashes at certain place or after triggering certain events.
2- From an editor POV simply looking a the trigger should be enough to notice bad designs(unless you are an editor who lacks common sense and logic).
3- Bigger maps crash more often, patches 1.28 and 1.29 made these things WAY worse (bad hiring decisions from Blizzard)
4- Dont think you can really calculate and say "This game has 30% chance of crashing" because certain models/triggers arent used at all and game goes to the end without crashing.
5- Those are simplistic maps and smaller in size, AWLR crashes less often because of size compared to KTA/LTA/LTF.
6- Yes, especially if game is lasting a bit longer than expected.
7- SvnmS explained it perfectly.
8 - They are responsible for random dcs.
9 - Once again explained by SvnmS perfectly.
10- Yes and lately i have seen some examples of bad spell design where a complex trigger that creates nothing but leaks is being used for a spell that basicly performs a function of War Stomp or Life Drain.
11- Its explained in previous questions, bigger maps tend to crash more often.
12- Explained in point 3, patches 1.28 and 1.29 only made things worse and people are crashing more often than before (result when Blizzard hire idiots because of nepotism)
13- Explained by SvnmS.

1- When a player crashes at certain place or after triggering certain events.
2- From an editor POV simply looking a the trigger should be enough to notice bad designs(unless you are an editor who lacks common sense and logic).
3- Bigger maps crash more often, patches 1.28 and 1.29 made these things WAY worse (bad hiring decisions from Blizzard)
4- Dont think you can really calculate and say "This game has 30% chance of crashing" because certain models/triggers arent used at all and game goes to the end without crashing.
5- Those are simplistic maps and smaller in size, AWLR crashes less often because of size compared to KTA/LTA/LTF.
6- Yes, especially if game is lasting a bit longer than expected.
7- SvnmS explained it perfectly.
8 - They are responsible for random dcs.
9 - Once again explained by SvnmS perfectly.
10- Yes and lately i have seen some examples of bad spell design where a complex trigger that creates nothing but leaks is being used for a spell that basicly performs a function of War Stomp or Life Drain.
11- Its explained in previous questions, bigger maps tend to crash more often.
12- Explained in point 3, patches 1.28 and 1.29 only made things worse and people are crashing more often than before (result when Blizzard hire idiots because of nepotism)
13- Explained by SvnmS.

Click to expand...

About size actually I wonder in the notion that bigger maps crash more often. Is it related to what is making the map big? For example I know a huge portion of LTF (more than 20% i believe) is just the invincible track. So technically cutting that would mean far less crashes?

Or is that it is mainly related to amount/type of triggers used? but in that case there also maps that are using far more triggers than LTA/LTF, specially them being a complex ones.

Another question I had was do you think crashes are related to the map being a Macro Map? Does it actually matter If you have 400 units fighting another 400. Or is it that Big battles don't actually cause Crashes but mainly just Unit lag and Graphical mess? (LTF)

About size actually I wonder in the notion that bigger maps crash more often. Is it related to what is making the map big? For example I know a huge portion of LTF (more than 20% i believe) is just the invincible track. So technically cutting that would mean far less crashes?

Or is that it is mainly related to amount/type of triggers used? but in that case there also maps that are using far more triggers than LTA/LTF, specially them being a complex ones.

Another question I had was do you think crashes are related to the map being a Macro Map? Does it actually matter If you have 400 units fighting another 400. Or is it that Big battles don't actually cause Crashes but mainly just Unit lag and Graphical mess? (LTF)

Click to expand...

I honestly dont know why custom tracks are used for warcraft related maps when WC3 has great sounds/themes already and yes the smaller size of map would mean less crashes. Alto some maps use more complex triggers those triggers are executed rarely compared maps like LTA/LTF/AWLR etc where some triggers are executed every 10 seconds or whatever is the cooldown on some custom spells for heroes and units.

Its not the same as having multiple 50vs50 battles raging over different places on the map and a single 400 vs 400 units in one place, huge battle of that size would mean instant crash, thats why some of the maps have limited food or limit the number of units you can create through economy (gold/lumber) or simply triggers (units being limited from training to 6/12/24 etc)