Balancing
May 15 2008, 12:32 am
By: DaMiNaToR  

May 15 2008, 12:32 am DaMiNaToR Post #1



The first question is really simple:
Which of the hero ghosts have the exact same range and cool down as the normal ghost?

The second question is not so simple:
I'm making a mass attack map using Hydralisks Ghosts and Dragoons, and I've already done a bunch of testing and I've balanced it so the Hydralisk beats the Dragoon by 25% the Dragoon beats the Ghost by 25% and the Ghost beats the Hydralisk by 25% (25.82% for all three actually but who cares). The problem is all this balancing is based on 1v1 unit fights (ex: 1 Hydralisk versus 1 Ghost, etc.) and it's going to be a mass attack map, so I need them to be balanced when they fight in groups and their different unit sizes are going to affect it. Here are the current stats of each unit:

Quote
Ghost (beats Hydralisk by 25%)
1477 HP
100 Damage
Spawn Rate: 1 Per Second

Hydralisk (beats Dragoon by 25%)
814 HP
100 Damage
Spawn Rate: 1 Per Second

Dragoon (beats Ghost by 25%)
1342 HP
100 Damage
Spawn Rate: 1 Per Second

(All based on 1v1 battles)

Can someone help me mess around with these stats so that when they fight en mass they will have the same win percentage? Thanks.



None.

May 15 2008, 12:38 am Falkoner Post #2



Mappers should really learn how to use DatEdit..

Unit:
Range:

Ghost
14

Sarah Kerrigan
12

Samir Duran
12

Infested Duran
12

Alexi Stukov
12


That's it. So no, no other ghost has that kind of range.

For the second question, I can't really help you there, it requires a ton of testing, just keep trying out things until it seems balanced.



None.

May 15 2008, 1:09 am Impeached Post #3



The ghost will be the best with higher amounts of units, and the dragoon the worst. The ghosts have high range and can bunch up much, making it so many more can fire at a group of enemies at once than the dragoon. The dragoon's range is, of course, shorter, and also the dragoon is bulky so a big group can't bunch up well.



None.

May 15 2008, 1:21 am rockz Post #4

ᴄʜᴇᴇsᴇ ɪᴛ!

I don't know how Datedit works, but it seems inaccurate for melee units.

I read on some guide somewhere that most melee units (zealots, zerglings) have a range of 15, which I assume is pixels. Now, you may notice that Infested Terrans almost never actually explode correctly if the unit is running, because their range is 3, I think. 3 pixels is tiny.

Each square is 32 pixels, so ghosts have a range of 224 (7*32). Hero Ghosts have a smaller range of 192 (6*32). Datedit gives a value of twice the squares. I don't really know why.

Cooldown is the same between heroes, and is all based on the base unit.

There are a few exceptions: Fenix (Dragoon), Raynor (Vulture), Hyperion, Zeratul. All of these normally attack at a speed of 30, and these attack at 22.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

May 15 2008, 1:29 am Falkoner Post #5



Yes, but for ranged units it is about as accurate as you need, you can tell what units have more range than others. And I don't know where you're getting your numbers, because DatEdit says the Infested Terran has 0 range, which basically means it must be touching the unit, and zealots and zerglings both have 0 range as well, I donno where you are getting 15..



None.

May 15 2008, 1:34 am A_of-s_t Post #6

aka idmontie

Quote from Falkoner
Yes, but for ranged units it is about as accurate as you need, you can tell what units have more range than others. And I don't know where you're getting your numbers, because DatEdit says the Infested Terran has 0 range, which basically means it must be touching the unit, and zealots and zerglings both have 0 range as well, I donno where you are getting 15..
He thinks that the numbers that actually RUN SC are inaccuarate.....

Falkoner posted the most accurate ranges of these units.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

May 15 2008, 1:57 am stickynote Post #7



Quote from rockz
I don't know how Datedit works, but it seems inaccurate for melee units.

I read on some guide somewhere that most melee units (zealots, zerglings) have a range of 15, which I assume is pixels. Now, you may notice that Infested Terrans almost never actually explode correctly if the unit is running, because their range is 3, I think. 3 pixels is tiny.

Each square is 32 pixels, so ghosts have a range of 224 (7*32). Hero Ghosts have a smaller range of 192 (6*32). Datedit gives a value of twice the squares. I don't really know why.

Cooldown is the same between heroes, and is all based on the base unit.

There are a few exceptions: Fenix (Dragoon), Raynor (Vulture), Hyperion, Zeratul. All of these normally attack at a speed of 30, and these attack at 22.

He is using a different measuring system. A unit with range below 16 using that measuring system is considered a melee unit. I think he saw that on Arsenal 3.



None.

May 15 2008, 2:08 am rockz Post #8

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from Falkoner
Yes, but for ranged units it is about as accurate as you need, you can tell what units have more range than others. And I don't know where you're getting your numbers, because DatEdit says the Infested Terran has 0 range, which basically means it must be touching the unit, and zealots and zerglings both have 0 range as well, I donno where you are getting 15..
I'm getting 15 from testing. Test it out with a zealot. Place two zealots 15 pixels apart, and another pair 16 pixels apart. Tell one to attack the other. The 16 one will have to move to the zealot, while the 15 one will actually attack.

Try this with infested terrans, and you'll get 2 or 3 (scourges may be 2 or 3 as well, I can't remember, but pretty sure scourges are 2, while infesteds are 3). SCVs have a very short distance, shorter than, say, a probe, because a probe has a distance of 32, while the scv has a distance of 10.
Quote from A_of-s_t
He thinks that the numbers that actually RUN SC are inaccuarate.....

Falkoner posted the most accurate ranges of these units.

My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

May 15 2008, 8:16 am NudeRaider Post #9

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from rockz
My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?
Thats because Kerrigan has a fucking long attack animation. Cooldowns start counting only AFTER the hit is done.


And you can't completely balance Goons, Hyds and Ghosts because of weapon penalties/size:
(1)
Hyd -> Goon: 100% dmg
Goon -> Hyd: 75% dmg
=> Hyd dmg / Goon dmg must be 75/100

(2)
Hyd -> Ghost: 50% dmg
Ghost -> Hyd: 50% dmg
=> Hyd dmg / Ghost dmg must be 50/50 (take equation (1) into account: 75/75)

(3)
Goon -> Ghost: 50% dmg
Ghost -> Goon: 25% dmg
=> Goon dmg / Ghost dmg must be 50/25 (take equation (1) into account: 100/200)
BUT: equation (2) says Ghost must have 75 dmg!

Now you might think you can balance it with HPs. But you cannot. Balance is independent from absolute HPs (it doesn't matter if all above units have 100HP or 5000HP).

Now you might think relative HPs matter (E.g. Give Goon 150% HP compared to others).
But that would change the upper equations and you'll never find a solution.

So you have to think more practical. In real battles special abilities might help to balance, also because you have to micro them, which is harder for many units than for just a few. Also, as already mentioned size matters big time because of bunching up.
You cannot calculate that, you'll have to test that. But the above equations give you a good idea with which values to start with. E.G. All HPs 500
Hyd dmg 75
Ghost dmg 75
Goon dmg 125 (a bit too strong vs hyd (125%), but a bit too weak vs. ghost (83%)


Testing begins... (=> values from here on are only approximations which you'll have to test to verify)
Now play a bit and try what happens when larger armies are battling each other.
Something like that will happen:
Ghost's relative effectiveness will be 250%
Hyd's relative effectiveness will be 150%

That means you should give Goon more HP (like 600 = 120%) Ghost way less HP (like 250 = 50%) and maybe give it a lockdown to make up for the ghost's weakness when he has low numbers. As numbers grow the players won't be able to effectively use lockdown.

Make sure all units go down in about 10 hits to keep battles volatile. Nobody likes to watch battles with no units dying because of ridiculously high HPs/low dmg. Also unit limit would be reached too fast.

In my example ghost will be strong vs. goons in the beginning but weak vs. hyds, but he'll become stronger the more numbers he has. It will be always like this. Certain units will be better in certain situations.

Another way to balance things is to create units with only a percentage of their max. HPs when total numbers of units are exceeding a certain point.

To summarize it: Test - test - test... ;)

Post has been edited 3 time(s), last time on May 17 2008, 11:51 am by NudeRaider.




May 15 2008, 10:47 am fm47 Post #10



I agree most with Nude, but I don't think it's impossible to balance the three.

I'm pretty sure Dragoon and Hydralisk both have the same type of attack, Explosive. This means they do 50% damage to small units, 75 percent to medium, and 100 large units. And the ghost has Concussive attack (100% to small, 50 to medium, 25 to large). This means that, attack-wise, you only need to find a balance between the two types of attacks.

Taking all these into consideration:
Unit Cooldown
Type of attack/Size of unit
Unit move speed
Range

Unit cooldown is obvious. What I is find a common speed to compare all 3 speeds to, so use a unit with the lowest cooldown your game will have. In the case of the 3, let's use the Hydralisk. Then you divide a unit's CD by the hydra's CD. Then you multiply the number you yield from that with the attack of the hydralisk.

Hydralisk
Attack: 100
Def: 10
CD: 15

Dragoon
Attack: 100
Def: 10
CD: 30

The formula would be: ((dragoon CD/hydra CD)*hydra base attack)
translating into ((30/15)*100)+100 = 2*100 = 200.

As the CD's of the two units suggest, hydra is twice as fast as dragoon, so it would make sense to double its attack, right? No. Even though the hydra attacks twice as fast, the armor its attacks encounter are also twice as much. For that balance, you'll just have to find formulas you like and test those. What I like to do is adding only 33% of that yield and add it to the base dragoon's damage. 33% of 200 is 66. So dragoon would have 166 attack while the hydra would have 100.

Let's put this into simulation:
Let's put the dragoon 20 attacks into the hydra, meaning the hydra would've done 40 attacks by then. We'll talk about the type of attack as well as size of units later, for now, let's just keep it simple.
Dragoon - 20*166 = 3320
Hydralisk - 40*100 = 4000

Uh oh, we've a problem. Hydra is doing 680 more than the dragoon! Let's apply armor and see, now.
Dragoon's attack reduced by armor: 20*10 = 100
Hydra's attack reduced by armor: 40*10 = 400
Now let's apply that...
Dragoon's ultimate damage = 3320 - 100 = 3220
Hydra's ultimate damage = 4000 - 400 = 3600

As you can see, the gap has become smaller. As the more attacks the two exchange, the closer the gap beceomes, and further on, the dragoon would overpower the hydra. So what is to be done about this? You have to find that midpoint of which both are doing about the same damage. To do so, decide how many attacks you want them to exchange, then balance their attacks to that. The more attacks they have to exchange, the more precise you can close the gap.

All this, of course, is just one factor. Take all the factors into consideration, and for a mass map, especially how well the units can bunch up. Perhaps ghosts can bunch up much better than dragoons, so maybe have the dragoons pop twice as fast as ghosts. But doing so would make it almost seem unfair, because if you didn't have to bunch, the ghosts would be screwed (perhaps that could be worked into strategy). So you'll have to accomodate the ghosts for that.

Anyway, the system isn't perfect, but it could be worked to be pretty well. All the number typing takes some time, but once you get used to it, it becomes pretty fast. Balance with a touch of your own flavor.

DISCLAIMER: This is just what i've been doing as i'm further improving my balancing system, so I'm only sharing what i know. Take what you like, expose what you do not, dont flame me T-T >_<



None.

May 16 2008, 12:13 am DaMiNaToR Post #11



Quote from Falkoner
Mappers should really learn how to use DatEdit..

Unit:
Range:

Ghost
14

Sarah Kerrigan
12

Samir Duran
12

Infested Duran
12

Alexi Stukov
12

I know how to use DatEdit. I make mods too if you forgot. I don't know if you ever heard about the expansion I was making before Sovereign Modding Empire died, Starcraft: Reclamation. But yeah, I know how to use every modding tool I just didn't think of it lol. Good call though. :P

Quote from NudeRaider
That means you should give Goon more HP (like 600 = 120%) Ghost way less HP (like 250 = 50%) and maybe give it a lockdown to make up for the ghost's weakness when he has low numbers. As numbers grow the players won't be able to effectively use lockdown.

In my example ghost will be strong vs. goons in the beginning but weak vs. hyds, but he'll become stronger the more numbers he has. It will be always like this. Certain units will be better in certain situations.

Another way to balance things is to create units with different max. HPs when total numbers of units are exceeding a certain point.

Good call on the different numbers of units. I found a solution though: I'm giving each unit a different spawn rate and making each unit worth a different number of points per kill. (Ex: Ghosts will spawn fastest and be worth the least to kill.)

Quote from fm47
I agree most with Nude, but I don't think it's impossible to balance the three.

Taking all these into consideration:
Unit Cooldown
Type of attack/Size of unit
Unit move speed
Range

The formula would be: ((dragoon CD/hydra CD)*hydra base attack)
translating into ((30/15)*100)+100 = 2*100 = 200.

Let's put this into simulation:
Let's put the dragoon 20 attacks into the hydra, meaning the hydra would've done 40 attacks by then. We'll talk about the type of attack as well as size of units later, for now, let's just keep it simple.
Dragoon - 20*166 = 3320
Hydralisk - 40*100 = 4000

Uh oh, we've a problem. Hydra is doing 680 more than the dragoon! Let's apply armor and see, now.
Dragoon's attack reduced by armor: 20*10 = 100
Hydra's attack reduced by armor: 40*10 = 400
Now let's apply that...
Dragoon's ultimate damage = 3320 - 100 = 3220
Hydra's ultimate damage = 4000 - 400 = 3600

I actually tried to balance them using damage but because they do different ammounts of damage to each other, I found it impossible like NudeRaider stated. I did in fact manage to balance them perfectly based on HP however. I'll post my concept map so you guys can see. Let me know if I screwed anything up, but the way I did it was by averaging the remaining HP after each fight and adjusting each HP based on the average % of remaining HP. In the end I got them all to match (most of the time) at 25.82% remaining HP after each fight.

Your formula is very interesting though I'd like to understand how it works better but I generally suck at math which is exactly why I made this thread in the first place. :D

Attachments:
COUNTER.scm
Hits: 0 Size: 39.87kb



None.

May 16 2008, 12:15 am A_of-s_t Post #12

aka idmontie

Quote from rockz
My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?
The iscript. An infested kerrigan has more waits in it.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

May 16 2008, 12:19 am DaMiNaToR Post #13



Quote from A_of-s_t
Quote from rockz
My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?
The iscript. An infested kerrigan has more waits in it.

I could've told you the same thing. How did this get from talking about my map to arguing about IScript?

To anyone who's reading this for a second time make sure you look at my second post (2 posts above this one) so you can reply to it. :)



None.

May 16 2008, 12:22 am A_of-s_t Post #14

aka idmontie

Quote from DaMiNaToR
Quote from A_of-s_t
Quote from rockz
My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?
The iscript. An infested kerrigan has more waits in it.

I could've told you the same thing. How did this get from talking about my map to arguing about IScript?

To anyone who's reading this for a second time make sure you look at my second post (2 posts above this one) so you can reply to it. :)
Because if mappers would actually learn to mod, most of their questions would be answered.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

May 16 2008, 12:26 am DaMiNaToR Post #15



Quote from A_of-s_t
Quote from DaMiNaToR
Quote from A_of-s_t
Quote from rockz
My numbers may not be what starcraft runs, but, hey, starcraft tends to run inaccurately. Just take a look at the attack speed of a ghost and infested kerrigan. Any reason why ghosts attack faster with a larger cooldown?
The iscript. An infested kerrigan has more waits in it.

I could've told you the same thing. How did this get from talking about my map to arguing about IScript?

To anyone who's reading this for a second time make sure you look at my second post (2 posts above this one) so you can reply to it. :)
Because if mappers would actually learn to mod, most of their questions would be answered.

Ugh alright whatever I agree but if you wanna talk about that please don't use my map topic, helpful to each other as it may be, I don't care about whether a Zealot or an Infested Terran would win in a fight. I'm not just talking to you and I'm not bitching at anyone I'm just saying it's not what I'm asking about.

(Again, if you're replying to my question make sure you read my second post, now 4 posts above this one. Thanks.)



None.

May 16 2008, 12:28 am Falkoner Post #16



This is quite relevant to your thread, although they are focusing on the wrong units :/



None.

May 16 2008, 12:29 am DaMiNaToR Post #17



Quote from Falkoner
although they are focusing on the wrong units :/

That's my point.



None.

May 16 2008, 1:59 am fm47 Post #18



If I were home with my computer, I could show you a couple units i've balanced this way. And since they're all relative, it's not just a balance between 2 units, but rather many. I only have problem with units that attack more than once per attack animation... could anyone explain how those work VS armor? In StarEdit, it shows the firebat can attack up to 3 hits. How does that work? Do all 3 hits involve Splash? And howcome if the unit is too close, only about 2 hits occur?

Also, how do the upgraded attack numbers work on multi-hitting units? A unit with +5 attack per level up in the editor turns into +20 in the game.

EDIT:
Also with your testing, did you include the factor that the dragoon only does a fraction of its damage to the ghost?

Post has been edited 1 time(s), last time on May 16 2008, 2:23 am by fm47.



None.

May 17 2008, 2:51 am DaMiNaToR Post #19



Alright well I think I've got it... I'm just curious which ratio I should use when balancing in mass battles as far as range goes. What's the size/range ratio between the 3 units? Anyone?



None.

May 17 2008, 6:23 am fm47 Post #20



I use the battle.net page. Go to starcraft and click on unit statistics. I don't know if modding tools and knowledge would tell you better, but if you don't know those then use what i use.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[2024-5-04. : 1:05 am]
Vrael -- that's better
[2024-5-04. : 12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[2024-5-03. : 10:18 pm]
Vrael -- who says I'm not a total madman?
[2024-5-03. : 2:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
Please log in to shout.


Members Online: lil-Inferno, Zycorax