• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

widgetizer breaks pathing maps?

Status
Not open for further replies.
Level 5
Joined
Aug 19, 2015
Messages
68
[solved] widgetizer breaks pathing maps?

is there an alternative or a setting i have to use?
i really need to optimize my map because even on my very good system my map takes 1 minute to load.
if i use widgetizer, it simply removes my pathing map and all buildings can be freely placed.
help please
thanks

edit:
solution:
vexorians wc3 optimizer optimizes the map without breaking pathing maps
 

Attachments

  • 4x4withborder.tga
    76 bytes · Views: 72
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Disable various options in Widgitizer until it works. I would not be surprised if some less used features such as custom pathing maps are not supported.

Widgitizer is fine to use as long as you make it very clear to the players to restart WC3 if they want to play a different map. People have no excuse to complain about restarting WC3 being a lot of work as it takes only 15 seconds, including entering login details, at most on a modern computer.
 
Widgitizer is fine to use as long as you make it very clear to the players to restart WC3 if they want to play a different map. People have no excuse to complain about restarting WC3 being a lot of work as it takes only 15 seconds, including entering login details, at most on a modern computer.
The thing is: most players and mapmakers are not aware of this issue. They just think "omg 20 seconds shorter loading screens GIMME!" and don't care or know about the consequences.

Unaware players will just join other games afterwards, get desynced and don't even know why. What's worse: if they played an unknown map, they will automaticly assume this map is broken and never try to play it again. Also, it obfuscates the debugging of maps. We get questions about random desyncs in the help section every day. And because of people using widgetizer, we can not even be sure it is the fault of the mapper to begin with.
Widgetizing a map is kind of a dick-move towards other mappers.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
The thing is: most players and mapmakers are not aware of this issue. They just think "omg 20 seconds shorter loading screens GIMME!" and don't care or know about the consequences.
Which is surprising seeing how there have been Widgitized maps for 8+ years.

Also, it obfuscates the debugging of maps. We get questions about random desyncs in the help section every day. And because of people using widgetizer, we can not even be sure it is the fault of the mapper to begin with.
It is always WC3's fault for being buggy and slow.

Widgetizing a map is kind of a dick-move towards other mappers.
But required with some maps. The gains it brings increase with map complexity. No one wants to be stuck around for 5 minutes waiting for the map to load, in fact after that much time a lot of players will have dropped thinking the game crashed. Widgitizing such a map might reduce it to only 1-2 minutes load time. Obviously the best is still not to create such a complex map (avoid abilities with lots of levels) but that is not always desirable.
 
But required with some maps. The gains it brings increase with map complexity. No one wants to be stuck around for 5 minutes waiting for the map to load, in fact after that much time a lot of players will have dropped thinking the game crashed. Widgitizing such a map might reduce it to only 1-2 minutes load time. Obviously the best is still not to create such a complex map (avoid abilities with lots of levels) but that is not always desirable.
All high quality (complex) maps I have played so far loaded in a reasonable time, with or without widgetizer.
It's not the complexity that matters, but how the mapper handles the complexity.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
Widgetizer has been around for 8 years, but the map makers are usually people that didnt know wc3 for 8 years, and some/most players dont even want to give a fuck about map widgetizer.

It is wc3's bug yes, but we know about it, and so we should try to work around it, instead of destroying other maps.

How would you like if someone said your map causes desyncs just because the group that played it first played something widgetized first? You would be hunting desync issues for several hours and they will never play it again anyways.


That being said, anyone knows what is the exact reason why widgetizer causes your map/game to crash when you play another map?
 
Level 18
Joined
Nov 21, 2012
Messages
835
by Dr Super Good:
Quote:
Below are the most widly used tactics to avoid desyncs.
1. Restart WC3 TFT (exit and then reopen) before playing the map. This resets all the data caches WC3 has after playing a map. Maps that have been effected by widgiitizer curropt this cache in a way that other maps will usually split you.

I lost many weeks in 2013 when I searched for a desync reason on my Ashenvale map. It turned out that previous map played by some players was widgetized. Even Dota is affected if loaded after widgetized map: you can see coloured boxes instead of some doodads. It might by related with deleted (by widgetizer) unused doodads.

To be honest I used widgetizer once, only to extract abilities/units data to .slk format to import to MySql database (for website). But never use this tool for your map, it can also affect your own map also (I know example where people play the same widgetized map few times and have to restart war3 for *every* game..)
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
How would you like if someone said your map causes desyncs just because the group that played it first played something widgetized first? You would be hunting desync issues for several hours and they will never play it again anyways.
Which is why I always assume that until they can cause it reproducibly.

That being said, anyone knows what is the exact reason why widgetizer causes your map/game to crash when you play another map?
WC3 caches object data. This is usually aimed for the melee/campaign object data which is constant between all sessions. All custom object data is produced by extending this base object data, probably something that is very resource intensive to do (bad optimization).

Widgitizer causes your map object data to be loaded as base game data. I believe this is done by feeding it in as slk files instead of object editor files. Combined with inlining object editor text the result is the object data loads at lighting speed.

The problem is that the game now thinks your map's object editor data is the cacheable unmodified melee/campaign object editor data. As such when a person joins another map it uses your data as the base and applies their modifications to it. This obviously results in total garbage object data with the wrong stats so anyone with the correct stats will immediately fall out of sync with that player.

To be honest I used widgetizer once, only to extract abilities/units data to .slk format to import to MySql database (for website). But never use this tool for your map, it can also affect your own map also (I know example where people play the same widgetized map few times and have to restart war3 for *every* game..)
Widgitizer will not work "out of the box" and should only really be used by people who need extra map load time optimization or know what they are doing. It was very popular with people like Vexorian and the WC3C lot who fancied themselves a cut above the rest of WC3 modders.
 
Widgetizer has been around for 8 years, but the map makers are usually people that didnt know wc3 for 8 years, and some/most players dont even want to give a fuck about map widgetizer.

It is wc3's bug yes, but we know about it, and so we should try to work around it, instead of destroying other maps.

How would you like if someone said your map causes desyncs just because the group that played it first played something widgetized first? You would be hunting desync issues for several hours and they will never play it again anyways.


That being said, anyone knows what is the exact reason why widgetizer causes your map/game to crash when you play another map?
It's not crashing, just desync. Also, I don't know the exact reason for it; but I can 100% reproduce it with certain maps (for example, playing a game of Legion TD will desync me when I play Gaias afterwards without restarting).
I know that the former is widgetized and the latter is not.

EDIT: Yeah, what DrSuperGood said sounds extremely plausible to me.
 
Status
Not open for further replies.
Top