Author Topic: Balance in the sequel  (Read 10824 times)

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Balance in the sequel
« Reply #30 on: December 20, 2016, 11:21:47 am »
Rerunning the base example with some changes:

1) Keeping the four defense types of Structure, Armor, Evasion, and Shields, and keeping the distinctive features of each (Armor is generally only countered by short-range stuff and is good against AOE, Evasion is generally countered by medium/long range stuff and is good against engine/reclamation/etc damage but bad vs tractors, shields cover an area and a ship can have both shields and other defense type "underneath" that functions when the shields are down, and many of the "objective" targets use Structure) but dropping the idea of trying to "simulate" the multipliers via the durability_multiplier_vs_noncounter, durability_multiplier_vs_counter, and dps_multiplier attributes. Instead, just have the multipliers, but have it be based on the attacking weapon type rather than the attacking ship type. So fusion bombs/rockets are always good against structure, armor-piercing shells are always good against armor, guided missiles and lasers are always good against evasion, and plasma is always good against shields. Similar with other weapon types

2) "cost" wise each ship picks a single defense type and it doesn't cost anything; offensively the norm would be for each ship type to have a weapon with a 4x multiplier against one of the four defense types. Different numbers of multipliers would vary the base dps.
- I'm thinking to avoid having multipliers of higher or lower "strength" than 4x, with the idea that the complexity of the unit relationships will come from other things, but we'll see.
- Similarly, we could reintroduce the idea of some defenses being "better" than others by having it cost (say) 20% of your dps to have armor compared to just structure. This may be necessary for shields in particular, since the area coverage is such a great boon. But I'm trying to start simple here, and work up if necessary.

3) Instead of having some tradeoffs "charge" both hp and dps, have them only charge dps. If the ship designer wants to pay hp for dps (or vice versa) they can do so through the glass-cannon vs tank spectrum.

4) Instead of having low-rate-of-fire give bonus dps and high-rate-of-fire charge dps, have both charge dps the further you get away from the "normal" of one shot each second.


More concretely:

- Wherever you saw "hp_and_dps_multiplier", replace with "dps_multiplier"

- For the rate-of-fire section, substitute:

<rof name="ExtremelyLow" rof_multiplier="0.125" dps_multiplier="0.7" />
<rof name="VeryLow" rof_multiplier="0.25" dps_multiplier="0.8" />
<rof name="Low" rof_multiplier="0.5" dps_multiplier="0.9" />
<rof name="Normal" rof_multiplier="1" dps_multiplier="1" />
<rof name="High" rof_multiplier="2" dps_multiplier="0.9" />
<rof name="Misery" rof_multiplier="4" dps_multiplier="0.8" />

- Ignore the durability_multiplier_vs_noncounter, durability_multiplier_vs_counter, and dps_multiplier fields on the defense types, and consider "Structure" to be in the list rather than just the absence of any of the other three. Possibly "Bulk" is a better name for it, dunno.

- add the section:

<number_of_defenses_countered name="Zero" dps_multiplier="1.5" />
<number_of_defenses_countered name="One" dps_multiplier="1" />
<number_of_defenses_countered name="Two" dps_multiplier="0.75" />
<number_of_defenses_countered name="Three" dps_multiplier="0.5" />

So basically you can do 4x damage to one-out-of-four defense types, 3x damage to two-out-of-four defense types, 2x damage to three-out-of-four defense types, or 1.5x to everyone. But generally most "normal" weapons would be designed to counter exactly one of the defense types.


And the results:

Bomber
shots_per_salvo = 1
ships_per_squad = 5
granularity = MildLowCap (dps*0.9)
durability = Normal
speed = normal
range = short
rate of fire = ExtremelyLow (dps*0.7)
defense type = armor
weapon type = fusion bombs (anti-structure)
fuel cost = high (dps*1.15)
metal cost = high (dps*1.1)
special abilities = none

So a cap (100, in 20 squads of 5) of MkI bombers would get:

HP = base_hp_scale * strength_per_cap
= 100 * 200
= 20,000 hp, or 200 hp per bomber or 1000 hp per squad

DPS = ( base_hp_scale / seconds_per_fight ) * strength_per_cap * 0.9 (MildLowCap) * 0.7 (ExtremelyLow rof) * 1.15 (high fuel) * 1.1 (high metal)
= ( 100 / 20 ) * 200 * 0.79695
= 796.95 dps, or 7.9695 dps per bomber or 39.8475 dps per squad
An individual bomber would fire 1 shot every 8 seconds, doing 63.756 damage per shot.

Fighter
shots_per_salvo = 1
ships_per_squad = 10
granularity = normal
durability = MildTank (hp*1.2, dps*0.9)
speed = normal
range = short
rate of fire = normal
defense type = evasion
weapon type = armor-piercing shells (anti-armor)
fuel cost = normal
metal cost = low (dps*0.9)
special abilities = none

So a cap (200, in 20 squads of 10) of MkI fighters would get:

HP = base_hp_scale * strength_per_cap * 1.2 (MildTank)
= 100 * 200 * 1.2
= 24,000 hp, or 120 hp per fighter or 1200 hp per fighter squad

DPS = ( base_hp_scale / seconds_per_fight ) * strength_per_cap * 0.9 (MildTank) * 0.9 (low metal)
= ( 100 / 20 ) * 200 * 0.81
= 810 dps, or 4.05 dps per fighter or 40.5 dps per squad
An individual fighter would fire 1 shot every second, doing 4.05 damage each shot.

Missile Corvette
shots_per_salvo = 1
ships_per_squad = 5
granularity = LowCap (dps*0.8)
durability = MildGlassCannon (hp*0.5,dps*1.5)
speed = normal
range = medium (dps*0.6) (dropped this down from long, thinking it'd be nice to reserve truly long-range stuff for bonus ships and starships, etc)
rate of fire = VeryLow (dps*0.8)
defense type = structure
weapon type = guided missiles (anti-evasion)
fuel cost = high (dps*1.15)
metal cost = normal
special abilities = none

So a cap (50, in 10 squads of 5) of MkI missile corvettes would get:

HP = base_hp_scale * strength_per_cap * 0.5 (MildGlassCannon)
= 100 * 200 * 0.5
= 10,000 hp, or 200 hp per corvette or 1000 hp per squad

DPS = ( base_hp_scale / seconds_per_fight ) * strength_per_cap * 0.8 (LowCap) * 1.5 (MildGlassCannon) * 0.6 (medium range) * 0.8 (VeryLow rof) * 1.15 (high fuel)
= ( 100 / 20 ) * 200 * 0.6624
= 662.4 dps, or 13.248 dps per corvette, or 66.24 dps per squad
The corvette would fire 1 shot every 4 seconds, doing 52.992 damage per shot.


Effective CapDPS:

Bomber vs Bomber = 796.95 * 1 => 796.95
Bomber vs Fighter = 796.95 * 1  => 796.95
Bomber vs Missile Corvette = 796.95 * 4  => 3187.8

Fighter vs Bomber = 810 * 4 => 3240
Fighter vs Fighter = 810 * 1 => 810
Fighter vs Missile Corvette = 810 * 1 => 810

Missile Corvette vs Bomber = 662.4 * 1 => 662.4
Missile Corvette vs Fighter = 662.4 * 4 => 2649.6
Missile Corvette vs Missile Corvette = 662.4 * 1 => 662.4


So bombers attacking bombers would do 6375.6 damage in the initial salvo, theoretically killing 31 bombers (31%). The groups would basically reduce each other by a third every 8 seconds. After 48 seconds, each side would be at roughly 10% strength.

Bombers attacking fighters would get similar results from the initial salvo (killing 53 fighters, or 26.5%), but the return salvo of 3240 damage kills 16 bombers, and there's a follow-up salvo every second instead of every 8 seconds. Even if the bombers' initial salvo hits before the second fighter salvo goes off, the remaining 2381 damage-per-salvo kills 11-12 bombers per salvo, so in 7 salvos they'll kill an additional 83 bombers, which is basically all the bombers had left. The bombers might have a chance to fire again, but not with enough bombers left to make a difference. After 8 seconds, the battle would be over with the fighters having only suffered roughly 1/4 losses.

Bombers firing on missile corvettes would first have to withstand at least one salvo of 2649.6 damage before they could return fire. The second salvo would presumably also be at least in the air. So a real analysis of this depends on exactly how long it takes to close from "medium range" to "short range". But for the sake of argument let's say:
Corvettes fire, unopposed: 2649.6 damage => 13 bombers dead (bombers at 87%)
Corvettes fire again, but bombers fire before the salvo lands. Corvette salvo does 2649.6 damage => 13 more bombers dead (bombers at 64%)
Bomber salvo lands, 25502.4 damage * 0.87 = 22187 damage, wiping out the missile corvettes completely

Of course, that doesn't speak much to the how they would fare if they were in a general fleet action with tons of other stuff flying around. Notably, whether the missile frigates shield coverage from a friendly starship. And, of course, as our dear friend kasnavada would remind us, if the missile corvettes have freedom of movement they can just kite the bombers until the bombers die. Moral of story: don't allow missile corvettes freedom of movement. And if you're a corvette, don't allow bombers into range. Good luck with that.


In general these results reflect that the "seconds_per_fight" number needs to factor in "what is the normal multiplier?" Because if you're using a divisor of 20 (for 20 second fights) but the expectation is that in good matchups you always do 4x damage, that means 5 second fights.

Which might be better, but if that's what we want then we should just say seconds_per_fight=5 rather than saying 20 when we mean 5.


Thoughts?
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: Balance in the sequel
« Reply #31 on: December 20, 2016, 12:14:23 pm »
Thoughts?

Probably good, but I'm not awake enough.

Offline Vyndicu

  • Sr. Member
  • ****
  • Posts: 319
Re: Balance in the sequel
« Reply #32 on: December 20, 2016, 12:24:40 pm »
After a quick look over.

It look good from perspective of "easy to learn and hard to master".


My only remaining concern is creating custom unit and failing to take something into account.

For example: Like why is my *custom* missile corvette dying to missile corvette attacks? Only to realize your custom missile corvette has evasion armor.

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: Balance in the sequel
« Reply #33 on: December 20, 2016, 12:27:23 pm »
I still have complete faith in the multi-dimension math approach to balance. I further argue that from the outside, it is easy to describe it in terms of multipliers. So while it would be based on beautiful math, it could be described as Fighters have a x4 multiplier against Pollysillicate. Or just Fighters: Anti-Armor, Evasive. The catch is creating a ship balance space that looks good from the outside.


(And Keith posts a small book)
  • My intuition is to separate the defenses into 3 dimensions: Structure, Armor/Evasion, and Shields. And have the costs of those filter into resource costs.
  • Actually I think everything should have a resource cost, which really turns into a point budget for ships. You can have a ship that's great at everything, but its going to be expensive.
  • I'd drop the free defense type. If everyone gets 1 for free, it is the same as no one getting a defense for free. Just have each ship pay separately for each defense, and you remove complexity. And if someone wants a defenseless ship, then they get a little more bang for the buck.
  • I think the trend of simplifying each trait to have a single benefit and a single cost, is the right direction.



Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Balance in the sequel
« Reply #34 on: December 20, 2016, 12:43:27 pm »
Actually I think everything should have a resource cost, which really turns into a point budget for ships. You can have a ship that's great at everything, but its going to be expensive.
The problem is that a significant buff has to cost a _huge_ amount of metal/fuel or it becomes an obvious case of always wanting the most expensive ship types. Who wouldn't pay 3x as much metal/fuel for a mobile fleet that's twice as good? And who would accept a fleet half as good in exchange for 1/3rd the normal metal/fuel? So it has to be more like 3x as much metal/fuel for a 25% boost or 1/3rd as much metal for a 20% nerf, and even that could be excessively big.

Now, it can be balanced by increasing Science (Knowledge) cost because people care a lot more about K, but then you're basically just paying "more than a cap's worth of K" for "more than a cap's worth of strength", so the underlying balance problem remains the same. And the corresponding fabricators would just be obviously more useful than the other units' fabs, because you don't pay K for those.

Quote
I'd drop the free defense type. If everyone gets 1 for free, it is the same as no one getting a defense for free. Just have each ship pay separately for each defense, and you remove complexity. And if someone wants a defenseless ship, then they get a little more bang for the buck.

But if you had no defense type, then who does which damage to you? Do they just get 4x against you automatically? How does that make sense, intuitively? Why not just take the "1/4 normal HP" GlassCannon choice?

That said, Armor, Evasion, and Shields probably need a dps cost, since they have more utility than Structure. So either we make Structure more useful (I don't see why), or we make it "cheaper" than the others.

Quote
I think the trend of simplifying each trait to have a single benefit and a single cost, is the right direction.
Yep.

To get back to the first point I quoted here: basically the "currency" I'm using here is "dps" (rather than metal, fuel, science, etc). Every advantage a ship takes costs it some dps. Every disadvantage a ship takes gives it some extra dps. So if you want a fast but fragile ship with normal dps, you pay dps to get a speed-advantage, and then you take an hp-disadvantage to earn back the dps.


Naturally this doesn't work for ships which were never about the dps, like the Riot Starship, tractor turrets, etc. Which means that really "dps" is just a more concrete expression of "utility". It just happens to be very measurable, and to apply to all "my purpose is to kill the enemy" ship types.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Cyborg

  • Master Member Mark III
  • *****
  • Posts: 1,957
Re: Balance in the sequel
« Reply #35 on: December 20, 2016, 01:21:22 pm »
I don't think there's much disagreement that DPS is the measuring point. In some ways, metal cost is not the real currency, it's power and ship caps, both of which are hard limits. Metal is moreā€¦ a measure of time. The time you need to build your offenses tactic or rebuild before getting steamrolled by the AI, that's where the metal value really comes in. So in some sense, I think we should be talking balancing power. An unintentional pun.
Kahuna strategy guide:
http://www.arcengames.com/forums/index.php/topic,13369.0.html

Suggestions, bugs? Don't be lazy, give back:
http://www.arcengames.com/mantisbt/

Planetcracker. Believe it.

The stigma of hunger. http://wayw.re/Vi12BK

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: Balance in the sequel
« Reply #36 on: December 20, 2016, 04:14:10 pm »
Just a small quibble about terminology.

"Evasion", to me, sounds like it would involve accuracy and thus random shots, even though from what I have read it doesn't at all, it fully deterministic.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Balance in the sequel
« Reply #37 on: December 20, 2016, 04:19:07 pm »
Just a small quibble about terminology.

"Evasion", to me, sounds like it would involve accuracy and thus random shots, even though from what I have read it doesn't at all, it fully deterministic.
I originally called it "Deflectors" but folks objected to it being too conceptually close to "Shields".

Either way, yes, the idea is that some things are missing and other things are detonating at less-than-optimal range, etc.

But having shots actually miss (or have any significant random component to damage) is on a similar level with firing arcs, shield/armor arcs, vertical movement, slower acceleration, sub-system targeting and damage, etc: all well and good in their place, but too micro-level for this game. The additional burden of control would reduce the player's enjoyment more than it would increase it.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: Balance in the sequel
« Reply #38 on: December 21, 2016, 12:45:46 am »
Caveat: I need to become more of an expert in the design docs for AIW2 because I'm afraid my context and therefore conclusions are off.

I also agree with Cyborg in that I think we are using very similar models and the only differences are in how the model should be oriented. The DPS model that Keith is proposing is fixing the point value of a ship at some value, and then all additions are taken from the ships DPS rating. In my language, I allow the point value of the ship to vary and everything comes directly out of it. If you require ships to have a specific point value, then my system is identical to Keith's system.

re: Expensive Ship Cons
Lower DPS per resource efficiency rates
Longer build times
Lower ship caps?

re: Cheap Ships Pros
Extra-short build times
higher ship caps?

re: defenseless ships
All attacks would do normal damage (e.g., the damage an anti-armor shot would do against a ship with evasion). The net effect of this versus Keith's described system would be the same.
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: Balance in the sequel
« Reply #39 on: December 21, 2016, 01:02:23 am »
I also agree with Cyborg in that I think we are using very similar models and the only differences are in how the model should be oriented. The DPS model that Keith is proposing is fixing the point value of a ship at some value, and then all additions are taken from the ships DPS rating. In my language, I allow the point value of the ship to vary and everything comes directly out of it. If you require ships to have a specific point value, then my system is identical to Keith's system.

I think the difference is "point buy" (like in D&D) where you get X number of points to allocate to your attributes (but purchasing a higher value cost increasingly more points) vs. "priority build" (ShadowRun made this one well known) where you have X priorities (A, B, C...) to assign to X vague groupings (Attributes, Skills, Gear...).  If you assign a higher priority, then you get "more stuff."

If you assign Priority A to attributes, then you get stat values [18, 17, 15, 14] assigned to your attributes.  If you assign Priority B, then you get [16, 15, 15, 13] instead.  Priority E in Gear always gives you $10 to spend however you please, you're poor, deal with it.

Point Buy gives a wider variety of options, but those options must be carefully balanced to insure there isn't an optimal way to spend them (aka "min-maxing").  Priority you have less freedom, but your options always make one of your areas of expertise just suck (you can be a martial arts grand master with all the stats in the world, but you're still living in a ditch, chummer...) and you generally only need to consider the balance of each group against another.  It's a lot harder to min-max with priority build because you can't take $5000 because it's all you need and spend the other points elsewhere. You either get $10 or $10,000.

Offline NichG

  • Full Member
  • ***
  • Posts: 125
Re: Balance in the sequel
« Reply #40 on: December 21, 2016, 10:13:44 am »
Generally the way to break out of min-maxing in point-buy systems is to only allow points to exchange between things which cannot be easily objectively compared or cannot be compared in a void. For example, if you're buying accuracy or damage, you can compare them because you can calculate accuracy's contribution to damage and fold them into each-other. Or, if you buy damage or health, you can figure out the total damage you're able to do before being destroyed and it comes down to the same thing. So that kind of thing lends itself to min-maxing and one optimal build, and that's what all the 'fancy math' is basically needed to prevent or realize ahead of time.

That leaves things that are not directly comparable. Is it better to have higher health, or faster movement? Well, faster movement might mean effectively infinite health in some cases where you're free to kite an enemy without interference, but in other cases it might not mean much at all. Is it better to deal more damage, or gain zombie versions of every ship you destroy, or slow nearby enemy ships, or to gain slightly less AIP when using that particular ship to deal the final blow to structures like radar jammers and black hole generators?

The other kind of thing you can use to escape single optimal builds is stuff which gains value only in combination with other stuff, or with situational opportunities. The ability to heal other ships is an example - if your other ships have area shield generators and can protect the medics, and the medics can heal the shield generators, then that combo is significantly different than if you just have unprotected medics on their own. Overly reliable combos can just become optimal combos rather than optimal builds, but if the ship selection for each game is a small subset of the total set of ships, it means players will have to find combos on the fly using the hand that they're dealt.

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: Balance in the sequel
« Reply #41 on: December 21, 2016, 01:06:36 pm »
I'm not sure I understand the arguments against the min-maxing. Isn't the purpose of this process to do the min-maxing ahead of time?
The ship-archetype for bomber: Do most damage for the cheapest, and spend a little on surviving?
The ship-archetype for fighter: Do the most damage against bombers, and spend a little on surviving?
The ship-archetype for missile corvettes: Do the most damage against fighters, and spend a little on surviving?

In essence, the min-maxing at the ship level is: design the best rock (i.e., bomber). Then the min-maxing at the system strategic level would be: The AI has only missile corvettes in this system, I need more bombers. Then the min-maxing at the universe strategic level would be: The AI loves to build missile corvettes, I need to specialize in bombers.

As I understand things, this system is supposed to balance the rock-paper-scissors ship designs. And then be extensible so that additional ships and dimensions can be added to the original rock-paper-scissors relationship. This way you can compare the best rock against the best scissors and know they are equally good, given equal circumstances. And that the player's task is to identify the circumstances and have a counter ship for that particular set of challenges.


Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline Vyndicu

  • Sr. Member
  • ****
  • Posts: 319
Re: Balance in the sequel
« Reply #42 on: December 21, 2016, 01:22:23 pm »
I'm not sure I understand the arguments against the min-maxing. Isn't the purpose of this process to do the min-maxing ahead of time?
The ship-archetype for bomber: Do most damage for the cheapest, and spend a little on surviving?
The ship-archetype for fighter: Do the most damage against bombers, and spend a little on surviving?
The ship-archetype for missile corvettes: Do the most damage against fighters, and spend a little on surviving?

In essence, the min-maxing at the ship level is: design the best rock (i.e., bomber). Then the min-maxing at the system strategic level would be: The AI has only missile corvettes in this system, I need more bombers. Then the min-maxing at the universe strategic level would be: The AI loves to build missile corvettes, I need to specialize in bombers.

As I understand things, this system is supposed to balance the rock-paper-scissors ship designs. And then be extensible so that additional ships and dimensions can be added to the original rock-paper-scissors relationship. This way you can compare the best rock against the best scissors and know they are equally good, given equal circumstances. And that the player's task is to identify the circumstances and have a counter ship for that particular set of challenges.

I think the main issue at least to me is if we don't figure out balance moving from a few dozen unique gimmicky (AI War One) to squad of unit (AI War 2). We may not have any foundation to stand on to speak of. Nevermind the HUGE amount of changes we may have to get used to such as mobile Commander Ship to power/fuel to squad balancing vs thousand of units balancing.


Offline MaxAstro

  • Sr. Member Mark II
  • ****
  • Posts: 345
  • Love, Peace, and Calvinball
Re: Balance in the sequel
« Reply #43 on: December 24, 2016, 03:25:14 am »
Yes, because that's obviously what we've been discussing ;)

That said, I have been leaning more back in the direction of multipliers, but in a grid of weapon types vs defense types, rather than ship types vs hull types. The math of making the whole "structure is the absence of defense, but the presence of a ton of hp" has proven more complex than I anticipated.
I was mostly joking - I have more faith in you guys then that.  :)

That said, I do feel that trying to make things all mathematically balanced with each other is likely to result in more work for a result that is at best equally fun as intentionally "unbalanced" niche ships like classic.

THAT said, I trust you guys to deliver a fun game and balance math/design is way over my head.  So... carry on.  :P