Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Balancing Options
Balancing Options
Jun 17 2018, 6:11 am
By: iDoodler  

Jun 17 2018, 6:11 am iDoodler Post #1



I just came back after about a year and thinking about making a new map or reworking my map. However, I remember one of the biggest reasons I stopped updating the map is because I was unable to figure out a good system for balancing waves/units for a Defense style game. I was just tweaking and testing; essentially brute forcing the balancing process. However, when relying on a good team to test higher potentials for those tweaked numbers, some times it felt like nothing changed or rather too much changed when it could have just been a weak player.

One of the things I was trying to do was to make a table in Google Sheets AND Excel that would act like a calculator for damage taking into account for all factors(# of Units, Upgrades, Armor, Attack Speed, amount of Resources, etc.). But the thing that I always got caught up on was the variance between the amount of upgrades and amount of units. I used an add-on that could find the optimized ratio via Non-Linear Optimization. But the add-on didn't use the data in cells so I would have had to manually input the data for the calculation 700 times, for just 1 point in the game. If I was able to get that to work I could have applied it to basically ANY game and balancing would literally take a fraction of the time.

So... I guess my problem and question is how or what do you use to balance your maps?



PS. First post here, excuse my format if its shit. Thought I'd finally join this community. :)



Noob Map Maker

Jun 17 2018, 11:20 am NudeRaider Post #2

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

I'm not aware of any tools for the process. It has always been tedious work, that involves getting feedback from players (or playing yourself) to hammer out the problems. And it's not a one time job either. You need to continue to change balance as the metagame evolves, if the map is complex enough to allow it.

This is basically what we see with StarCraft as well. Or rather have seen during its first 10 years. And Blizzard would have the resources to get all the tools they want. Although, it's probably useful to create a spreadsheet that keeps track of the various unit stats and through math can give you a rough approximation of gameplay performance.

What we can help you with is giving advice on how to solve specific balance problems. It's not always just about (hp+armor)*numbers / resources available. Unit size (pathing and damage types), map layout, teamwork options, spell power, etc. all those can be variables too. And now, thanks to EUDs unit size, spell powers, and and many more unit aspects are actually variables that can be changed mid-game.

So you're welcome to ask for specific advice on how to balance a certain aspect, but I'm afraid we can't offer shortcuts.




Jun 17 2018, 1:28 pm jjf28 Post #3

Cartography Artisan

I just play, find the most frustrating aspects, and try to smooth them out - in the process creating more balance.

If you're getting into the math keep in mind the damage types , also that balance isn't all in the damage math, there's high ground/low ground, maneuvering space, choke points, buildability, exposure (e.g. two fronts, one front, vulnerable to drops) and endless game-changing spells (dark swarm will prevent all non-melee/non-splash damage, plague prevents interceptors from leaving carriers, ensnare steals 20% attack speed and lotsa movement, storm ignore armor, mael freezes but keeps units vulnerable, statis takes units out the the picture for a few mins, blind makes detectors useless, restoration removes almost every spell, lockdown also freezes but keeps units vulnerable, etc.).

Also try where possible to balance against the learning curve of your map - that is don't rely too much on map-specific knowledge of various secrets when balancing - keep the core on the starcraft mechanics/micro/strategy sense and your map will grow faster.



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Jun 18 2018, 7:59 pm iDoodler Post #4



Quote from NudeRaider
What we can help you with is giving advice on how to solve specific balance problems. It's not always just about (hp+armor)*numbers / resources available. Unit size (pathing and damage types), map layout, teamwork options, spell power, etc. all those can be variables too. And now, thanks to EUDs unit size, spell powers, and and many more unit aspects are actually variables that can be changed mid-game.

So you're welcome to ask for specific advice on how to balance a certain aspect, but I'm afraid we can't offer shortcuts.

I understand factoring in all the variables, even though at times I do undervalue some more than others. Regardless, I feel like my knowledge of how things interact behind the scenes in maps is relatively sound, that is until EUD's are in play. However, taking you up on that offer for advice, my knowledge of EUDs is shallow. I understand the concept but not the execution. I have seen and read Roy's very thorough and detail posts about them, but it still seems a bit too much. I'm the type of person to learn in practice rather than in theory.

Anyways, I remember running tests like a year ago to find the max HP possible by conventional means(iirc ~167k? Maybe 167772?). This is rather limiting for my concept of a "Boss". Originally I was just thinking I would reset its HP at XX% HP over and over until I hit the amount of HP I wanted, but I feel that is a rather clunky method to achieve what I want. However, I'm not sure the limitations of EUD's and I'm wondering if you could have an uncapped amount of HP or atleast a much larger one(~12+ million HP would be nice; ~2 million HP is sufficient). What are my options for having a unit with a higher than the normal max HP?



Noob Map Maker

Jun 18 2018, 8:48 pm NudeRaider Post #5

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

You can give units millions of HP. I don't know when it'll cut off, but I suspect at just over 8 million (2^23). However once you run out of space to display the numbers the numbers just disappear. It will work correctly though. You just can't see the exact number anymore, instead you have to estimate using hp bar. I haven't tested, but it's possible the display problem has been fixed in remastered.




Jun 18 2018, 9:20 pm iDoodler Post #6



I want to believe you, but I just tested HP over the number(167772, I double checked), they get 1 shot. The HP values are displayed for some reason displayed as -X/-X. They are "full" HP but are on fire. I have tried lower values, but same result.





Noob Map Maker

Jun 19 2018, 4:02 pm NudeRaider Post #7

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

It appears you are correct. I was fooled by the map name "1 million hp unit", which in fact, only has 100,000 hp.
So the limit determined by you is about right. I wouldn't know of a way around. :sorry: to get your hopes up. :oops:

Of course there's always ways around it: Respawn the unit 10 times, give it armor, spawn more of the same, or virtual hp.

For the latter make the unit invincible, and center burrowed units beneath it. Each time a burrowed unit is killed, set the main unit's hp to a few percent less. For example, to achieve 1 million virtual hp:
Burrow a ling with 100,000 below the main unit, when the ling dies, create another and the the main units hp to 90%. When the 2nd dies, recreate the ling and set to 80% hp, and so forth. When the 10th ling dies 1 million hp have been drained and you kill the main unit.

Post has been edited 1 time(s), last time on Jun 19 2018, 4:08 pm by NudeRaider.




Jun 20 2018, 10:03 am iDoodler Post #8



No worries. For the map I'm trying to solve this problem, the end boss I want to have atleast 12 Million HP but I've been doing it via spawning ALOT of them. Problem with that is splash damage, I've countered splash to some degree by spawning 2 in each lane per second to spread them out but all the lanes converged into one for the last lane(Boss is also a lifted build so 1 second intervals is hardly spread out). So DPS on the splash units while hitting ~15 of the bosses is about 5 times more than I want splash units to do.

Regardless I actually like the idea of re-spawning the unit as it would keep its progress towards the end, but for 12 million HP I would have to respawn it 75 times. Achievable without too much of a hassle.

Virtual HP idea isn't too bad either, but I don't think it would suit me for this map. Will definitely add it to my arsenal of ideas though. :)



Noob Map Maker

Jun 21 2018, 3:39 pm 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

Another idea would be to repair with an scv. Build time would determine the hp gained per second.
For ai to repair on its own certain conditions need to be met. Not sure if they're even viable in your case. I hope some of the ai experts here can chime in and guide you if necessary.




Jun 23 2018, 12:28 am Sie_Sayoka Post #10



I suggest that you look at other defense maps to see how they used the mechanics of the game. Most maps are monolithic in their approach to waves in that you need to deal x amount of DPS within y seconds in order to clear the wave. There are a few outliers to this approach and by utilizing them you can make your mechanics unique and diverse. I'll be talking more about the different ways map makers use the mechanics in the game to make it engaging and the history of some defense maps in general. These topics will indirectly talk about balancing and hopefully give you some ideas on how you want to build your map.


Regional Differences

Here's a quick history lesson about defense maps and the ways map makers have shifted and refined gameplay. When I say regional differences it's not just West (English speaking) vs Korean maps but also the generational differences between the maps. Most of the Korean maps I'll be talking about were made around 10 years after those of the West and as such have had the time to refine and address some issues that the defense map genre had. Neither is better than the other as they each have their own pros and cons. I will list some heavy generalizations between them, know that there will of course be outliers.


Regional Differences: The West

1. 2000-2008. Roughly the height of map making for English speaking players. Started with (the original) Turret Defense and many subsequent defense maps followed the same general formula.
The Issue. Because some of the older maps were made when advanced map editors and techniques were either unknown or not made yet some maps are very crude in construction.

2. The Track. Waves spawn at the start and move to the exit. When enemies reach the exit live(s) are deducted until defeat.
The Issue. Units with low range are inherently at a disadvantage. Because enemy units move from x to y splash units may not be as effective.

3. Team Defense. Most maps in this era were team maps that shared the same waves.
The Issue. Since most of the maps gave resources based on kills, players with more kills could get stronger resulting in a feedback loop. This is one of the largest issues I see with these older maps. The game wouldn't change at all if most of the players left after a certain level because one or two players would be getting all the kills anyway.

4. Heroes or Selectable Units. Players are able to choose their unit type to upgrade from the start or purchase them at a later time.
The Issue. Some units are just better than others in the general sense. It can be mitigated to some extent with effective upgrade balancing but the longer the game progresses the larger the disparity between the efficiency of different units.

5. Ground based waves. Maps that did not use air only waves had to have anti-wall techniques or some other type of mechanic to allow waves to pass through.
The Issue. Anti-wall techniques such as having the computer unally the player and order move would be based on the AI which can be risky in some situations. An example would be turreted units attacking despite there being a clear path through or waves blocking themselves resulting in unprovoked attacks.

6. Damage Types. A lot of players will choose units based on their favorite, these include ghosts and hydralisks which have non-normal damage types.
The Issue. Concussive damage is the worst damage type followed by explosive. It's extremely hard to balance them with upgrades as the efficiency of the player's DPS will change wave by wave.

7. Game Limits. pre-1.18 a limit of 1700 units and 200 bullets were allowed.
The Issue. No valkyries, no mass units, etc. Of course in some maps at later levels this would always become an issue.

8. Replayability. Because there is no RNG in many of the maps players are able to refine their decisions on how to play it.
The Issue. Min-Maxing. As stated in 4 there will always be an optimal unit no matter how well you balance.

The Issue. After a while playing the map will get boring. This is most evident in later stages where you just sit back and press the upgrade button.
9. Extra Stuff. In maps like Tarpit Defense there's an exploit(?) with drones that players can do to keep themselves occupied once their defense is set up.

Regional Differences: Korea

1. 2010-Present A lot of time has passed and the tools and knowledge available to map makers has grown. Many of the maps are very refined and polished by comparison.

2. The Circle. Units will generally stay within the same area. Defeat occurs when too many enemy units have accumulated in the player area.
The Issue. By resolving the issue of the track the mechanic of strategically placing units (like on a corner) is lost.

3. Individual Defense. All players theoretically can get the same amount of resources because they all have the same opportunity.
The Issue. You get lonely.

4. RNG. Korean maps have an overwhelming amount of RNG associated with them. This often takes form with the 'gamble' option where the player will get a random assortment of units.
The Issue. Bad Luck.

4a. Combinations. Because of the heavy amount of RNG some control over the player's progress is given back with the use of combination units. e.x. if you have x and y units you can combine them for z.
The Issue. It's a very convoluted system that has to have built-in charts of each combination within the map. The majority of playtime will be spent looking at the chart.

5. See 2.

6. Damage Types. Some maps that I've seen have Protoss units as enemies. Because shields take full damage from all damage types it doesn't matter what units you have.
The Issue.[/b] Protoss only enemies.

6a. Shield Recharge. In NemoNemo D shields will recharge to full every few DC cycles. There will also be a lot of enemies within the wave. Having non-focus fire units (cannons, storm, etc.) will mean you wont be able to break the shields to deal damage to the unit.

7. Game Limits. Korean maps tend to use less units on average. This is mainly because of point 2 and there usually isn't an issue with CCMU.
[i]The Issue.
No valkyries still because fuck you.

8. Replayability. Because of point 4 each game will play out differently.
The Issue. Since RNG is such a large mechanic within the game the lower levels tend to be easier causing the average game length to be longer. Furthermore it can be frustrating to the player as their outcome is somewhat out of their control.

9. Extra Stuff. I think in NemoNemo D there's a lot of extra things you can do for both income and defense. This is just an example as there are many things you can do.


Conclusion

Again, neither is better than the other. Hopefully this gives you some ideas on what to use for your map. In regards to balancing I feel that it'd just be a bunch of trial and error. Adding in more factors such as RNG complicates things. Maybe you can figure out what kind of method or scaling (if any) the makers used. Hopefully this helped.

To see some Korean maps check out the DLDB defense category I've uploaded some there. I'll also upload some maps here as well. I think these maps are decent but it has been quite a long time since I've played them. Also some have really shitty music. Also check out this map.

Attachments:
Homeplus D.scx
Hits: 0 Size: 656.46kb
Nemo Nemo D E2.scx
Hits: 0 Size: 133.59kb
Team Medic Def.scx
Hits: 0 Size: 100.21kb
Warri point defense 2.5F[P].scx
Hits: 0 Size: 294.59kb
Mania Defense.scx
Hits: 0 Size: 415.99kb
Girl group Random D V6.0.scx
Hits: 0 Size: 146.06kb



None.

Jun 23 2018, 12:44 pm iDoodler Post #11



That is actually a really good bit of information there, with some decent points. I feel like there are some disputable statements, like for instance replayability. Some times people will play the same thing regardless of how simple, easy, repetitious it is. They just like it and will play it either way. However, I do agree with RNG helping with replayability. Sometimes the RNG just comes with the people you play with though. LOL

A lot of things you have mentioned though I've already considered. And I definitely try to pull from all types of these styles of maps (The Circle, Track, Individual, Team Defense, etc), and even as many of the mechanics you have listed (Per kill reward systems, Combinations, 'Extra Stuff'). As long as a mechanic, idea, or system makes thematic sense for the concept, I don't see why it shouldn't be used unless it makes the map clunky.

You have given me some ideas as to how to balance for the speed of units. Before I was trying to calculate the max damage potential given the attacking units dps, and then multiplying that by the duration the attacked unit would be within the attackers range without moving(There is kite-ability that is to be considered as well but not a huge factor at play). While this is probably more accurate this is ALOT more work and it could be simplified just by having a blanket multiplier that would be based on the duration you have to affect the unit. Rather than trying to calculate it specifically for every different unit. This is obviously more relevant for 'Track type' defense maps, and basically unfactorable with 'The Circle' styles. However it should be basic and efficient, leaving less work required to do manually later via balance testing.

I do know there will be no program or calculation that can apply to the who map to balance it perfect. I'm just looking to dial into those numbers faster. Start with a good foundation and you can build a strong house. Start with a weak foundation and your house will collapse.

I do want to dabble into RNG, but I want to get as random as possible not just psuedo random. What are some good ways to implement RNG?



Noob Map Maker

Jun 23 2018, 1:34 pm Pr0nogo Post #12



Basically all forms of RNG hinder skill expression, as does anything else that takes control away from the player. I wouldn't recommend it just like I wouldn't recommend QTEs in all games or excessive stuns in mobas. Balancing is also completely thrown off no matter how insignificant the RNG is, and obviously the less impactful something is, the less it justifies itself in the broader equation of what makes up your game space.

I include some randomness in my campaign-style missions with regards to what units an AI incorporates into its army for attack waves, but I keep the waves at relative strength to one another, which makes it more of a game of scouting your enemy and preparing an adequate counter (or out-microing an enemy who has you classically outgunned otherwise). This element of RNG doesn't take any more control away from the player than the AI building units in a predictable way does and forces the player to adjust their strategies, but also reaffirms elements already present within the game space in melee play: scouting, microing, planning your army, communicating with a co-op partner if they are present, etc. As you aren't making an RTS map it's a little harder to migrate this philosophy 1:1 but whatever equation you settle on as your bread and butter should always be consistently reaffirmed by the mechanics you choose to elevate.




Jun 23 2018, 3:44 pm MTiger156 Post #13

Veteran Mapper

If you know how to use EUDs, then you could try my approach to RNG. I will be referencing "Zombies: Warehouse Survival" http://www.staredit.net/topic/17530/

First off, I have RNG as an "option" instead of hard-coded into waves. Players can choose whether or not to activate it. Activating the RNG in my map means picking "HELL" mode, in which the zombies use EUDs to randomly mutate their attacks/properties for every wave. I designed it to be a very painful experience (hence the name), but you wouldn't need to go that far.
To translate something like this into a D map, you could have player units receive small EUD mods at the start of certain waves, and reset at the end of each.

The major point is to make it an option players can choose in-game. This is what makes money/unit gamble semi-viable.




Jun 23 2018, 9:17 pm NudeRaider Post #14

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 iDoodler
I do want to dabble into RNG, but I want to get as random as possible not just psuedo random. What are some good ways to implement RNG?
Basically all randomness you can achieve in sc is pseudo-random (in the true sense of the technical term). But I think you don't need (or care for) actual true randomness. It should suffice that the player can't predict the outcome, and with appropriate methods, is also unbiased, right?

Depending on the actual mechanic you need the randomness for, there's 2 popular ways to achieve it:
  • Switches - especially convenient if you have number of options n that are expressable as a power of 2. (2, 4, 8, 16, etc.)
  • Death counter - convenient if the event is somehow influenced by player actions (e.g. not scripted after x trigger loops or something) because you can easily implement any number of options
And a "class" with several "sub-methods" that are quite situational:
  • Physical representation - created by junkyard dog, or player start location, units shooting each other, etc. - only recommended if it fits your gameplay somehow.





Jun 24 2018, 4:29 am Sie_Sayoka Post #15



Quote from iDoodler
You have given me some ideas as to how to balance for the speed of units. Before I was trying to calculate the max damage potential given the attacking units dps, and then multiplying that by the duration the attacked unit would be within the attackers range without moving(There is kite-ability that is to be considered as well but not a huge factor at play). While this is probably more accurate this is ALOT more work and it could be simplified just by having a blanket multiplier that would be based on the duration you have to affect the unit. Rather than trying to calculate it specifically for every different unit. This is obviously more relevant for 'Track type' defense maps, and basically unfactorable with 'The Circle' styles. However it should be basic and efficient, leaving less work required to do manually later via balance testing.

I do know there will be no program or calculation that can apply to the who map to balance it perfect. I'm just looking to dial into those numbers faster. Start with a good foundation and you can build a strong house. Start with a weak foundation and your house will collapse.

One thing I forgot to mention about combination units is that they are based on tiers. This helps tremendously with balance as you don't really have to worry about lower tier unit balancing for mid to late game. The base and upgrade damage of a low tier unit will be irrelevant after a certain point and you only have to worry about balancing the next tier unit for subsequent waves. This isn't restricted to combination units as many defense maps implement some form of trade-in or simply the option to buy the hero unit of the base unit. By viewing waves and units as tiers it should become easier to balance the map since you will effectively reset the disparity creep with each subsequent tier. Assuming no upgrades of course :)

The only downside of using this system would be the upgrade types available to units. You can use EUDs to remedy this at the cost of lower map limits.

Quote
I do want to dabble into RNG, but I want to get as random as possible not just psuedo random. What are some good ways to implement RNG?

As nude said you can use any of those that are listed. Personally I'd recommend a DC counter based on when a player purchases something.

Please don't use civs and (normal) beacons for the shop. Their pathing is horrendous.



None.

Jun 26 2018, 4:58 pm iDoodler Post #16



Even though I never used it, my idea of RNG was to randomize switches. Each switch would hold some value. And then based on the instance that you apply that randomness to, you would add all the switches value up (If Switch 1 is set, Add X Deaths; If Switch 2 is set, Add Y Deaths; etc.). Then at the end have rewards based on the end value. If you are good enough with probability and statistics, you would be able to calculate the exact percentages for each possible outcome.

Good part of this would be you could make it to the exact odds that you wanted as long as you have the know how. And you get the flexibility to set each switch for any value; If each switch holds the same value a more lottery type system would be created. In which you are most likely to return a value that is in the mid point as every switch is 50% to be set or cleared. So your extremes are where you can have larger rewards. For example for 10 Switches to all be set or to all be cleared has a 0.09765625% chance for both of those scenarios. If you are to have each switch hold different values you have a weighted system where you can tweak the probability of getting specific outcome to almost an exact percentage both by changing the number of switches and the amount of value each of them hold. It would also make for a lot more different outcomes. You could even mix things up even further by having a different modifier if the switch is clear like this:
If Switch 1 is set, Add X Deaths; If Switch 1 is clear, Subtract Y Deaths; If Switch 2 is set, Add Z Deaths; If Switch 2 is clear, Add XX Deaths.
This would add just another layer of complexity to every switch. Another example of good use would be if you wanted 1 outcome to be weighted so heavily as to always happen say 50% of the time, you can do so rather easily. Add 1 switch to the end that if set would just subtract more than the maximum possible death count.

It didn't sound like this was what NudeRaider was getting at, but both Switches and Death Counts would be used. So it sounds similar enough. So thats why I felt inclined to bring it up. I would assume this system would work just fine, I just didn't want to like overlook some much simpler mechanic for RNG.



Noob Map Maker

Jun 27 2018, 4:13 pm NudeRaider Post #17

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

I probably should write up a long theory post why you don't need all those additional factors, but I'll leave it at pointing that fact out. It'll be just as random with 10 evenly weighed switches and the results will be evenly distributed. No fall-off at the edges of the spectrum of possible numbers.

Keep it simple.

EDIT:
Let me add a suggestion for giving options more weight:
Create lots of more values than you have options. For example, for 20 options create 1024 values (10 switches) and instead increase the range of values that correspond to one option, and decrease all others. For example for doubling chance of the first option:
1024 values, 20 options, +1 option to make the first doubly important
=> 1024 / 21 = 48.8 values per option. Now round down to 48, so values 0 to 48*21-1 = 1007 are valid, values 1008-1023 cause a reroll.
0-48*2-1=0-95 = option one, then even distribution:
96-143 = option 2
144-191 = option 3
etc.

Post has been edited 1 time(s), last time on Jun 27 2018, 5:09 pm by NudeRaider.




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:46 am]
RIVE -- :wob:
[2024-4-22. : 6:48 pm]
Ultraviolet -- :wob:
[2024-4-21. : 1:32 pm]
Oh_Man -- I will
[2024-4-20. : 11:29 pm]
Zoan -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
You should do my Delirus map too; it's a little cocky to say but I still think it's actually just a good game lol
[2024-4-20. : 8:20 pm]
Ultraviolet -- Goons were functioning like stalkers, I think a valk was made into a banshee, all sorts of cool shit
[2024-4-20. : 8:20 pm]
Ultraviolet -- Oh wait, no I saw something else. It was more melee style, and guys were doing warpgate shit and morphing lings into banelings (Infested terran graphics)
[2024-4-20. : 8:18 pm]
Ultraviolet -- Oh_Man
Oh_Man shouted: lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
oh ya I saw that when Armo posted it on Discord, pretty crazy
[2024-4-20. : 8:09 pm]
Vrael -- thats less than half of what I thought I'd need, better figure out how to open SCMDraft on windows 11
[2024-4-20. : 8:09 pm]
Vrael -- woo baby talk about a time crunch
[2024-4-20. : 8:08 pm]
Vrael -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
so that gives me approximately 27 more years to finish tenebrous before you get to it?
Please log in to shout.


Members Online: lil-Inferno, C(a)HeK, Dem0n, No-Name-Needed-II