TheSuperHackers / GeneralsGamePatch

Community Patch to fix and improve original Generals Zero Hour 1.04
Other
60 stars 19 forks source link

USA's Bombardment and HoldTheLine Battleplans are rarely used #1212

Closed ImTimK closed 1 year ago

ImTimK commented 2 years ago

These are pretty much only used with AFG when he flies, since it doesn't affect Aircraft. The Bombardment Cannon then helps out defensively and HoldTheLine makes the Strat center a tougher target.

Other than that there's basically no reason to initiate these battleplans as they are much inferior with Rock/TowVee spam. Probably same story for Tank (+ Tommy) spam.

Proposal 1

Increase Bombardment bonus to +25%, same as AP Bullets/Rockets, Uranium Shells, Chain Guns etc.

Proposal 2

Increase HoldTheLine bonus to +25% HP (0.8), to cancel out AP Bullets/Rockets.

Might need to fix the double Composite Armor bug.

Proposal 3

Increase Bombardment Gun range, damage or radius.

xezon commented 2 years ago
  WeaponBonus = BATTLEPLAN_BOMBARDMENT       DAMAGE        120%
  WeaponBonus = BATTLEPLAN_SEARCHANDDESTROY  RANGE         120%

Object AmericaStrategyCenter
    HoldTheLinePlanArmorDamageScalar      = 0.9 ;Armor damage bonus scalar -- LESS is better!
    SearchAndDestroyPlanSightRangeScalar  = 1.2 ;Sight range bonus -- more is better!
    StrategyCenterSearchAndDestroySightRangeScalar = 2.0
    StrategyCenterSearchAndDestroyDetectsStealth   = Yes
    StrategyCenterHoldTheLineMaxHealthScalar       = 2.0
End

Armor StructureArmor
  Armor = DEFAULT           100%
  Armor = Surrender         0%
  Armor = SMALL_ARMS        50%
  Armor = GATTLING          10%
  Armor = COMANCHE_VULCAN   50%
  Armor = RADIATION         0%
  Armor = MICROWAVE         0%
  Armor = SNIPER            0%
  Armor = POISON            1%
  Armor = MELEE             0%
  Armor = LASER             0%
  Armor = HAZARD_CLEANUP    0%
  Armor = INFANTRY_MISSILE  50%
  Armor = PARTICLE_BEAM     200%
  Armor = KILL_PILOT        0%
  Armor = SURRENDER         0%
  Armor = AURORA_BOMB       250%
  Armor = LAND_MINE         0%
  Armor = FLAME             50%
  Armor = SUBDUAL_MISSILE   0%
  Armor = SUBDUAL_VEHICLE   0%
  Armor = SUBDUAL_BUILDING  100%
End
commy2 commented 2 years ago

The radar is also a nice Lotus/Burton/Demo Jarmen counter. If Strat is placed at the center of the base, Lotus etc. can't do anything.

44% > 20% > 11.1111%

It's really as simple as.

ImTimK commented 2 years ago

Nice analysis, few a remarks/questions though.

commy2 commented 2 years ago

Does HoldTheLine also affect other buildings other than the Strat?

No. It doubles health of Strat Center and independently from that, it gives +10% armor to ground units, except dozers and drones. Anything that gets shut down on battle plan change is affected, if you're in doubt.

Does HoldTheLine stack with CompositeArmor?

Yes. Crusader has +60% effective health with both compared to no upgrade.

I think that using the attackable area makes the comparison look more unfair than it really is. Your units can only attack one unit at a time, so it's really more about the attack radius (vs the enemy's).

It's hard to quantify range bonuses. If you judge by perfect play, it makes your units invulnerable, because now Rockvees outrange enemy rocket infantry, while also being faster.

ImTimK commented 2 years ago

No. It doubles health of Strat Center and independently from that, it gives +10% armor to ground units, except dozers and drones. Anything that gets shut down on battle plan change is affected, if you're in doubt.

Was in doubt because you said "CC" in the first post :P

RisingZH commented 2 years ago

I was thinking about this the other day, it is silly how USA has 3 strategies, but 95%+ of the time only uses one.

Whilst USA remains the vee army, extra range is always going to be so much better than the other two. You could make it so HTL and Bombardment gave 50% extra and SnD would probably still be better.

xezon commented 2 years ago

There is also this setting:

BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed.

Reducing or nulling this could make it more attractive to toggle Strategy Plans, but that may introduce Plan change spamming in return...

commy2 commented 2 years ago

Was in doubt because you said "CC" in the first post :P

Typo for SC. Muscle memory.


Even if you were able to perfectly mathematically balance out the 3 battle plans, all that would achieve is making it so it doesn't matter which plan you chose. I see no advantage of changing plans as long as all of them affect the same units anyway. This whole battle plan feature is not well thought out game design and can't really be fixed without a complete overhaul.

S&D is op, but changing it would not be a good idea, as it fundamentally changes USA play. HDL is underpowered, but you wouldn't really improve the game if you were to buff it. I don't think any of this should change.

ImTimK commented 2 years ago

I think it depends on what type of units you make. For Rockvees S&D will always be the choice most probably. For Towvees it might be different story since they are attack-moved in masses, they typically aren't controlled as precise as Rockvees. Same for Tanks, they only get a few extra shots off before the enemy is in range and can't be microed back at all, so increased Armor/Damage might be the better choice depending on the values.

MTKing4 commented 2 years ago

Agree with Exile, i think it does make a difference if all three strats were equally strong, it also would be better overall to see less SnD since it's the most frustrating to deal with

ImTimK commented 2 years ago

So maybe bombardment +25% same as AP bullets/rockets.

And HoldtheLine armor to +20%, or +15% if overpowered with Tanks, though I doubt it.

Both need test simulations.

commy2 commented 2 years ago

+20% armor would equal +25% health

ImTimK commented 2 years ago

Whatever results in +20% health then. 0.83 or something?

Though +25% health nicely cancels out AP Rockets/Bullets.

commy2 commented 2 years ago

+0.16667 armor, or armor = 83.333% would equal +20% health.

Exactly, a health bonus perfectly balances out an equal damage bonus.

MTKing4 commented 2 years ago

Honestly i think the double armor for USA tanks is stupid, they both own without composite armor anyway, and it was due to a bug they had that buff, and it's inconsistent compared to other armor buffs.

I know it's unrelated, but i think the extra armor should be removed

And with hold the line armor increase we give, it should be equally the same again, instead of being over the top

ImTimK commented 2 years ago

If HoldTheLine can make up for it and beat S&D (or be equal atleast with Tanks) then I would be fine with removing double armor buff.

commy2 commented 2 years ago

I know it's unrelated, but i think the extra armor should be removed

Offtopic: It should've been adjusted to be +25% health, so 480+120=600 after upgrade.

xezon commented 2 years ago

I think you cannot get past Jundiyy to reduce it.

Jundiyy commented 2 years ago

Lol haha. We should take this to the other topic. With our fix, it's no longer a bug, all units now get 200hp.

commy2 commented 2 years ago

all units now get 200hp.

Microwave gets 100 still.

ImTimK commented 2 years ago

Not sure if calculations are correct.

1.04:

Unit Base HP CompositeArmor HoldTheLine Both
Crusader 480 680 (+40%) 533 (+11.11%) 755 (+57%)
Paladin 500 600 (+20%) 555 (+11.11%) 666 (+33%)

Patch (current):

Unit Base HP CompositeArmor HoldTheLine Both
Crusader 480 680 (+40%) 533 (+11.11%) 755 (+57%)
Paladin 500 700 (+40%) 555 (+11.11%) 778 (+33%)

HoldtheLine +15%

CompositeArmor 30%: Unit Base HP CompositeArmor (+30%) HoldTheLine (+15%) Both (+50%)
Crusader 480 625 550 720
Paladin 500 650 575 750
CompositeArmor +40%: Unit Base HP CompositeArmor (+40%) HoldTheLine (+15%) Both (+61%)
Crusader 480 680 552 782
Paladin 500 700 575 805

HoldtheLine +20%

CompositeArmor +20%: Unit Base HP CompositeArmor (+20%) HoldTheLine (+20%) Both (+45%)
Crusader 480 580 580 696
Paladin 500 600 600 720
CompositeArmor +25%: Unit Base HP CompositeArmor (+25%) HoldTheLine (+20%) Both (+50%)
Crusader 480 600 580 720
Paladin 500 625 600 750
CompositeArmor +30%: Unit Base HP CompositeArmor (+30%) HoldTheLine (+20%) Both (+56%)
Crusader 480 625 580 750
Paladin 500 650 600 780

HoldtheLine +25%

CompositeArmor +20%: Unit Base HP CompositeArmor (+20%) HoldTheLine (+25%) Both (+50%)
Crusader 480 580 600 725
Paladin 500 600 625 750
CompositeArmor +25%: Unit Base HP CompositeArmor (+25%) HoldTheLine (+25%) Both (+56%)
Crusader 480 600 600 750
Paladin 500 625 625 780
CompositeArmor +30%: Unit Base HP CompositeArmor (+30%) HoldTheLine (+25%) Both (+69%)
Crusader 480 625 600 812
Paladin 500 650 625 845

HoldtheLine +30%

CompositeArmor +20%: Unit Base HP CompositeArmor (+20%) HoldTheLine (+30%) Both (+56%)
Crusader 480 580 625 754
Paladin 500 600 650 780
CompositeArmor +25%: Unit Base HP CompositeArmor (+25%) HoldTheLine (+30%) Both (+62.5%)
Crusader 480 600 625 780
Paladin 500 625 650 812.5
MTKing4 commented 2 years ago

I think HTL +25% and CA +25% is the best model imo, i think it balances it out nicely and it's a consistent with other armor buffs while still keeps values close to original while also making HTL a viable Choice, next is probably making strat change shutdown bit shorter

xezon commented 2 years ago

May I suggest to compile a list of defensive Upgrades and see what they do to get a better overview where Hold The Line stands? It is not clear to me whether or not +XX is reasonable, because it lacks context to other factions.

commy2 commented 2 years ago

Not complete:

Note that Battle Bus is subject to the Battle Bus premature wreck bug, which makes armor buffs less effective than they would be.

ImTimK commented 2 years ago

May I suggest to compile a list of defensive Upgrades and see what they do to get a better overview where Hold The Line stands? It is not clear to me whether or not +XX is reasonable, because it lacks context to other factions.

I think the relevant comparisons are these:

CompositeArmor vs damage upgrades like AP Rockets etc.

HoldTheLine vs S&D, at which point it becomes attractive to actually pick this Battleplan? Requires test simulations.

ImTimK commented 2 years ago

Also comparing to old stacked values (CA+HTL) is irrelevant because it was literally never picked. It always was S&D (maybe Bombardment with tank spam but I've never seen/done this, it might even be better).

This is what was considered maxed performance in 1.04:

So if we don't make HTL attractive enough, then the CA nerf will be an overall nerf.

ImTimK commented 2 years ago

So here a few tests we need to conduct then (both 1v1 and in masses):

Anymore tests?

Results of fighting against themselves should also reflect performance vs other units right?

MTKing4 commented 2 years ago

That would need two players to test, i can help with that

ImTimK commented 2 years ago

MTKing and I tested 1.04 yesterday.

Interestingly we found that Bombardment is actually slightly better than S&D with attack move. This should make it the better choice with Tanks but also Towvee spam, unless microed.

Now with this fact in mind, do we still want to buff Bombardment? I think it's risky because Towvee spam is already too good.

Another obvious result is that both S&D and Bombardment beat HTL, so it should be safe to increase health bonus to 20% (0.833), that should make it on par with Bombardment.

xezon commented 2 years ago

Interestingly we found that Bombardment is actually slightly better than S&D with attack move. This should make it the better choice with Tanks but also Towvee spam, unless microed.

If that is the case, leave as is.

Stubbjax commented 1 year ago

S&D's Stealth DetectionRange is 500? If so that's crazy large and more than Lotus/Jarmen/Burton ShroudReveal ranges? Should they be able to spot the Strat first?

I think this is a very important point and needs addressing. As all heroes (now) have a sight range of 400, options for reacting to a Strategy Center's presence before being detected are incredibly limited. Not only this, but the structure's extensive stealth detection range over the owner's entire base effectively renders heroes useless - on top of the substantial range bonus that Search and Destroy provides. Reducing the stealth detection range would be a reasonable way to counterbalance the incredible effectiveness of S&D without directly affecting the bonus itself.

A range reduction could also have some additional benefits / implications, such as the increased importance and skill involved in Strategy Center placement - it makes sense that there would be some strategy involved in placing the Strategy Center, after all. In 1.04, players can practically place the structure down anywhere and be covered, but with a reduced stealth detection range, the building's location might have to be more carefully considered. This would also somewhat increase the prospect of stealth / guerilla tactics for opponents and diversify strategies a bit more. It may even increase the utility of Sentry Drones (and Spy Drones - for opposing USAs as well), and it could certainly benefit / reward players who actively pursue stealth detection / awareness, which is far more meaningful than having it handed to them on a silver platter. A stealth detection range of at most 350 (-150) would likely be necessary for heroes to be able to react accordingly.

Another thing to note is the Strategy Center's extreme shroud-clearing range, which is doubled from 400 to 800 under the effects of Search and Destroy, and is another unnecessary advantage that discounts map awareness. This could certainly be reduced to 300 → 600 (-100) or 400 → 600 (×1.5).

I believe both of these changes would be fairly subtle and unlikely to be noticed by the majority of players.

image

Thoughts?

MTKing4 commented 1 year ago

Stealth detection range is absurd, i agree, could do with a reduction a bit Snd should still increase shroud clearing range for strategy Center but not as much as now, i agree that reducing that would increase sentry gun's utility

ImTimK commented 1 year ago

I agree aswell.

You named all the right reasons for it.

If detection for heroes is too easily avoided, 375 could perhaps work aswell. It requires a bit more awareness and carefulness then.

xezon commented 1 year ago

Very good observation. I agree that a reduction appears reasonable. USA has many other options for stealth detection already.

ReLaX82 commented 1 year ago

There is also this setting:

BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed.

Reducing or nulling this could make it more attractive to toggle Strategy Plans, but that may introduce Plan change spamming in return...

I really like to include skill here. We should aim for exactly this. All battle Plans should make sense on their own. If we need go cut one to make it work, we shall do it.

xezon commented 1 year ago

We can test what happens setting it to 0. If the game acts fine with it, it would allow USA to switch Battle Plan more often. 5 seconds is a considerable penalty, which makes it unpractical to switch in adhoc battle situations. It is not clear to me if a more frequent Battle Plan switch is desirable. It could result in too frequent battle plan changes, for example switch to "Bombardement" for using Burton Bomb, then switch to "Search and Destroy" to attack with long range weapon, then switch to "Hold the Line" when the enemy Carpet Bomber approaches. Such a change likely would only be an option if we somehow made USA much weaker than China and GLA. Also, Battle Plan change is a global radar event. If its change frequency was to change, it may would have to be a local radar event, such USA Battle Plan would no longer be discoverable, nor would it matter much, due its volatile state, apart from revealing the building on the map.

ImTimK commented 1 year ago

Spamming and changing midbattle should never be possible imo, it could perhaps be a bit faster though, because even in 'safe' situations it does feel quite long and to the point where it's often too risky to change at all.

xezon commented 1 year ago

Perhaps increase Bombardment Gun range, damage or radius.

ImTimK commented 1 year ago

I think the cannon is quite ok, it can really help defending. It's just that S&D is overall much more valuable.

xezon commented 1 year ago
Weapon StrategyCenterGun
  PrimaryDamage         = 200.0
  PrimaryDamageRadius   = 25.0
  ScatterRadius         = 15.0
  ScatterRadiusVsInfantry = 15.0     ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
  AttackRange = 400.0
  MinimumAttackRange = 100.0
  MinTargetPitch = 45                         ; we may not target anything outside of this pitch range
  MaxTargetPitch = 80                          ; ditto
  DamageType = EXPLOSION
  DeathType = EXPLODED
  WeaponSpeed = 150                           ; dist/sec
  WeaponRecoil = 5                            ; angle to deflect the model when firing
  ProjectileObject = StrategyCenterArtilleryShell
  FireFX = WeaponFX_GenericTankGunNoTracer
  ProjectileDetonationFX = FX_StrategyCenterBarrage
  FireSound = StrategyCenter_ArtilleryRound
  RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots = 7000              ; time between shots, msec
  ShotsPerBarrel = 1                   ; By default, shoot one shot per barrel
  ClipSize = 0                    ; how many shots in a Clip (0 == infinite)
  WeaponBonus = PLAYER_UPGRADE DAMAGE 125% ; UraniumShells

  ; note, these only apply to units that aren't the explicit target
  ; (ie, units that just happen to "get in the way"... projectiles
  ; always collide with the Designated Target, regardless of these flags
  ProjectileCollidesWith = STRUCTURES WALLS
End

Compared to

Weapon NukeCannonGun
  PrimaryDamage           = 400.0
  PrimaryDamageRadius     = 50.0
  SecondaryDamage         = 20.0
  SecondaryDamageRadius   = 60.0
  ScatterRadiusVsInfantry = 30.0     ;When this weapon is used against infantry, it can randomly miss by as much as this distance.
  AttackRange             = 350.0
  MinimumAttackRange      = 150.0
  DamageType              = EXPLOSION
  DeathType               = EXPLODED
  WeaponSpeed             = 200         ; dist/sec
  ProjectileObject        = NukeCannonShell
  FireFX                  = WeaponFX_NukeCannonMuzzleFlash
  FireSound               = NukeCannonWeapon
  VeterancyFireFX         = HEROIC WeaponFX_HeroicNukeCannonMuzzleFlash
  ProjectileDetonationOCL = OCL_NukeCannonShellDetonation ; Patch104p @bugfix commy2 04/09/2022 Fix Nuke Cannon shell detonation position by spawning effect via dummy object.
  RadiusDamageAffects     = SUICIDE SELF ALLIES ENEMIES NEUTRALS NOT_SIMILAR
  DelayBetweenShots       = 10000        ; time between shots, msec
  ClipSize                = 0            ; how many shots in a Clip (0 == infinite)
  ClipReloadTime          = 0            ; how long to reload a Clip, msec
End
ImTimK commented 1 year ago

Think you would have to compare to a firebase or capturable artillery platform.

Anyways, it's good vs infantry, they can't dodge and it one shots them.

fastAiRR commented 1 year ago

didnt read but u cant buff bombardment canon, its beyond a joke as it is, You will also alienate the entire no money community and similar communities, bombardment already destroys half ur base most maps, the damage as well is crazy. U can maybe do something with bombardment, but the canon if anything needs nerfing not buffing. That said, it does have some weird bug or behavior where it wont target things, or refuses to shoot sometimes. Its honestly a mystery to me how that canon works.

xezon commented 1 year ago

The Strategy Center Gun attack bug has been fixed, so the Bombardment Battle Plan is now better than original.

xezon commented 1 year ago

Does not look possible to change Health depending on battle plan. Would require new code feature.

Global health modifiers are limited to

HealthBonus_Veteran
HealthBonus_Elite
HealthBonus_Heroic
HumanSoloPlayerHealthBonus_Easy
HumanSoloPlayerHealthBonus_Normal
HumanSoloPlayerHealthBonus_Hard
AISoloPlayerHealthBonus_Easy
AISoloPlayerHealthBonus_Normal
AISoloPlayerHealthBonus_Hard

There however is this setting

HoldTheLinePlanArmorDamageScalar      = 0.9 ;Armor damage bonus scalar -- LESS is better!

I set it to 0.1 and units will take much less damage accordingly. So Hold The Line does reduce damages, not all that much however.