HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Shopping list of help needed - some Vexorian stuff, some AOS stuff.

09-22-2004, 05:05 PM#1
Baron Crinkle
Hey folks, I am oncemore in need of some insight for things. I've been working on this map for quite a while at this point, and with your invaluable help on several occaisions progress has been -great-! I've also managed to learn quite a bit in the world editor, which has made things easier and easier as they've progressed. I've got a couple of 'tricky' things that I need help with however, and then a couple problems with some of Lord Vexorian's finely crafted abilities.

I'll start with the Lord Vexorian stuff first:

-I have an ability using Lord Vexorian's 'Earth Crush' leap from his Feng Shui panda-- the panda leaps, then performs a stun on impact a la warstomp. The first thing with this is that while in the air, the user loses line of sight with what's going on--- I figure I could fix this by spawning a caster dummy just to keep visual contact and then removing it when the ability is done. Is there a more efficient (less laggy?) way to handle this? Also, I would like to tweak the 'travel' speed while the unit is mid-jump, but am unable to find a point in the Jass where I could adjust this. Finally, it would be desirable to be able to utilize an AOE cursor instead of a pinpoint cursor for the stun area, though not entirely necessary or urgent.

A general note, a couple of the hero abilities from Lord Vexorian's system really bring systems down to a crawl in large multiplayer tests; I've been trying to keep this to a minimum, but a skill using Blessed Hammer and an incineration nova never fail to make everyone in the game lag. What would be the best way to streamline these abilities? Reducing the visual effects, tweaking the Jass?


Some more general questions for you folks:

-How does one start going about a random hero select for an AOS map? A Unit-Type array I would presume, but how can I then snag a random entry for the appropriate team and then initiate the rest of my hero selection process once the choice is made? For that matter, is there a more efficient way of setting it up with triggers besides setting each index of the array to each hero type upon map initialization?

-General lag / loading time reduction for the map. I've got a large-size map with four fairly long-distance lanes for creeps to travel. Early-game things run fairly fine (though there is a tremendous pre-game loading time), but by late-game things start to really slow down. Presently I am navigating the creeps by issuing attack-move commands from waypoint to waypoint, which are reversed for the appropriate sides, whenever units owned by that AI player enter the given waypoint region. I suspect this might be a culprit to performance issues.

What is the best way to speed up a map's load time? Fewer doodads? Any particular 'visuals' or trigger setups to avoid? I would appreciate any tips you folks have from your experience in improving map performance.

Pillage; I have a hero whose summoned creeps have the ability, a sort of 'raiding party' if you will-- Is the only way to prevent them from aquiring lumber to make all potential targets have no lumber cost?


As always, your help is greatly appreciated, and keeps the mapmaking going :D
09-22-2004, 08:53 PM#2
aaero
I haven't taken a look at Lord Vexorian's system yet, so I can't help you there.

I don't know a lot about how Warcraft handles things like variable assignment, but I don't think that there would be much lag caused by looping through heroes and initializing your unit-type array (and by that I mean it probably takes considerably less than 1/10 second). Generally programming languages are designed so that variable assignment is a very fast process.

I do random hero assignment with Math - Random Number. Tell it to pick a random number between 1 and the size of your array. Then give the player the hero with that index.

When you say that late game you start getting bad lag - do you suspect it is because of the number of creeps on the map? As the game progresses, are there significantly more units, or is there a (fairly) consistent number of units? If the number of units is consistent, then there is some kind of memory leak/inefficient trigger that is causing the lag. It's hard to speculate too much without knowing if it's related to the number of units though.

I don't know what you can do to reduce loading time, and can't help you with pillage :/. Good luck to you!
09-23-2004, 12:13 AM#3
Baron Crinkle
Thanks for your insight on the math picking for random, I figured I was missing something like that.

As for the units, I have a large-sized map with four 'lanes'-- each lane starts with 4 melee and 1 ranged unit for both sides, and every 40 seconds or so another 'wave' is created to start their journey too. As the game progresses, there are two upgrades a team can buy to improve their waves-- one which adds a caster to each, and one which adds a heavier melee to each. So, essentially, every 40 seconds if both teams are fully upgraded they're sending out 48 units. :/

It's the right balance, though, as far as scale and damage output and whatnot. Ergh. I -do- presently use regions and attack-move commands, and I am creating new units each wave, but I'm not 100% on how to do variable-based navigation or recycle that many units...
09-23-2004, 03:19 AM#4
aaero
I'm not the best person to reply to this topic - this isn't an area I'm experienced with, but...

96 units get sent out at a time, potentially. How close together are the waves - how many waves could you have on the screen at a time? 96 units isn't really THAT many units, but 384 is. Hopefully someone with more experience in working with this kind of thing can reply.

If I were coding an AoS, I would use regions and attack-move commands as well. I better stop replying, people are going to think I'm actually helping you instead of just saying "Huh?" with you.
09-23-2004, 05:32 AM#5
Baron Crinkle
Quote:
Originally Posted by aaero
I'm not the best person to reply to this topic - this isn't an area I'm experienced with, but...

96 units get sent out at a time, potentially. How close together are the waves - how many waves could you have on the screen at a time? 96 units isn't really THAT many units, but 384 is. Hopefully someone with more experience in working with this kind of thing can reply.

If I were coding an AoS, I would use regions and attack-move commands as well. I better stop replying, people are going to think I'm actually helping you instead of just saying "Huh?" with you.

48 units counting both sides' waves
09-23-2004, 07:34 PM#6
Baron Crinkle
Ahhh hell, Lord Vexorian's Enrage spell targets buildings, so a player can make another team's towers bombard their own units....
09-24-2004, 04:29 AM#7
Rafael Br
You are using an Attack-Move order, they need points, points cause leaks, set the the point that the orders use to a variable( mostly "Temppoint"), then, after issuing the order, use the custom script:call RemoveLocation(udg_(YourVariable)), like this:
Actions
Set Temppoint = (Your Point)
Do your order thing here
Custom script: call RemoveLocation(udg_Temppoint)
For the Lord Vexorian spells, I would suggest to send a PM to him.
EDIT: For the Pillage, try to make a triggered version of it, you could base the gold added on the attacked building hitpoints, use Player - Add Property to add gold to the player.