Dota allstars loading time!?

SD_Ryoko

Ultra Cool Member
Reaction score
85
Some breakthrough news. True.Rus has edited Guinsoo's original version.

Heres the important part to us:

He reduced the legendary long 3 minute load time to under 20 seconds, leaving the game in tact.

This is invaluable information for us mappers. I've made several posts on other forums, and searched for True.Rus on battlenet, but it seems he is keeping the method a secret, thus burning Guinsoos group, and making his new version most important. He also fixed the latest release as well, and people are playing that one. Rumor has it, they will not acknowledge his version, and anyone who mentions it gets perma-banned.

If I can get my hands on the information, I will definetly post it.

They are both protected, so I cannot compare the two. I don't know HOW True.Rus cracked the map protection either.
 

SD_Ryoko

Ultra Cool Member
Reaction score
85
HERE...after much digging.
It seems 5.84b has 10k strings as well, so I guess that throws the size issue out the window. The only explanation left is the amount of fragmentation of the strings. For those who are having doubts, I can assure you that the strings file is the root of the load time. Without the strings, 6.01 can be loaded in 30 seconds for most people with 5 minute load time, 10 minutes = a minute max.

QUOTE
This is all pretty neat how you were able to find the (probable) cause of the problems, but how exactly did these files become fragmented in the first place?

It is actually quite easy to fragment the strings.
Make item A
write some fields of item A's description
Save
Make item B
write in all the fields of item B.
save
Go back to item A and finish writing description.
Save

Voila, string file fragmented. Now imagine this scenario with thousands of items/abilities/heroes, constantly being updated/changed/created over 50 versions.

Each ability/unit/item is assigned a unique 4 character 'code.' What WE does is separates the all the non triggered custom abilites into 2 files. The mechanic part (damage/duration/effect, etc) into a w3a file and the string base part into a wts file(which includes ALL string base data of the map).

My theory is that when it loads the map, the game engine tries to piece each description back into the ability. It linearly searches the entire string file for that four character 'code' and pieces it into each field of the respective ability/item. Note that despite fragmentation, the string files still follows the order of each abilities's field in the editor, this is probably how it is indexed in addition to the 4 character code.

QUOTE
even just loading the little picture when you enter a game (before the 5..4..3..2..1.. thing) takes a lot of time. Imagine with all those fragmented texts

That again is due to the string file. The map description is the 1863rd string, even though it should have been within the first 5 strings. By deleteing the string file, loading that lil picture takes no time at all. Basically the map linearly searchs the 4 character string code in the entire file, one string after another until it finds a match. So each time it initally loads the load screen picture, it goes through 1863 strings, same with each ability's description, though it can go up to 10k for Soul Assumption (since one of the descriptions for soul assumption is the 9999th string).

I've PM Neichus the the altered map and the string file, so hopefully the mapmakers and Guinsoo can decide what to do with this. One of the ways is to:

1. Delete the wts file
2. Open up the map editor
3. Copy and paste(not import) all the decriptions back in using the wts file
4. Save

This should generate a new wts file in the proper order.
One more note is there are currently descriptions for creeps, the descriptions probably isnt neccessary for these units, leave the name and leave the other fields blank. More strings just means more fields to search through.

Absolutely.
I have a 6.0 map with 0 description that loads in 20/30 seconds flat. Like I said, I'm 50/50 on whether the load time is due to the string file's sheer size or the fragmentation of the descriptions. I'm leaning toward the fragmentation aspect after looking at the file.

Right now I'm not sure whether it's the quanity of the strings that is slowing down the loading, or the fragmentation of the string file. I skimmed through string file, and the sequence of some of the strings is definitiely out of order, this is probably another huge aspect that contribute to the inefficiency that Guinsoo was talking about.
 

SD_Ryoko

Ultra Cool Member
Reaction score
85
I beleive this to be true in my map and probobly Minds; I always go back and edit descriptions everywhere.

But I hear, the guy wrote a program to do it automatically, rather than PASTING in all your descriptions again like suggested. Hmmm. iunno!

[edit]

I posted to Vexorian, the idea is being consisdered for the Warcraft III Optomizer. Our mapping futures may be looking brighter.
 

XXXconanXXX

Cocktails anyone?
Reaction score
284
Wow, I noticed that too, good find! Every game I've hosted of DotA has always had a lagger and the first time I played 5.84c, there weren't any laggers! Thanks True.Rus!
 

XXXconanXXX

Cocktails anyone?
Reaction score
284
*In Command and Conquer Renegade*

Annika99(me): Dude Mig1USA you suck get the hell out of the game.
Mig1USA: Dude I'm the game Moderator...
Anikka99: Oh my god dude I'm glad your on our side you pawn!

Annika99 follows Miggey wherever he goes, being his backup because he's so great.
 

SD_Ryoko

Ultra Cool Member
Reaction score
85
Heh heh.

I just got out of this game, I was Routund'Jere, and had level 3 ult, and FIVE time upgraded dagon.

So 800 damage, plus 90% ultimate. I can kill almost anyone!!!!

So we have the treant on our side? He would make me invisible for me, and I'd sit and wait till someone came a long, and POWWW!

Other team would type, what the hell? Necro invis again?

Then we find a new spot, hide invis, and do it over again. I can't stop laughing.

So we winning, base getin messed, I beg, please do not end the game! They say, OK! So I sit for like 15 minutes, invis, zapping the life out of people. Bwa ha ha.
 
M

Marksman

Guest
Hmmm, i was wondering how True. Rus managed to actually reduce the loading time. Sounds complicated. He fixed all the patch glitches too, but why are there like 3 version of c? In one of the versions i played broodmothers webs didn't make her invisible (...sigh...). Anyway, I love DotA, just finished a game where i killed a 6k hp pudge because i had permastun Jaceless Void, 2 cranium bashers 3 hyperstones :D :D :D
 

XXXconanXXX

Cocktails anyone?
Reaction score
284
Widgetizer is ALOT better than True's method, and Pitzer did a wonderful job at that.

Good job Pitzer, your methods were quite clever. :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top