WBP: further weapon balance suggestions (+ test excel sheets)

Please read the entirety of this post before using the tables or commenting on the changes proposed.

This post contains rebalance/rework sheets based on IA’s excel file. They contain various changes made to almost every weapon. I’m sharing them in this post so that others can test them as well. I’ve discussed these reworks with galbatorix, and we think they’re reasonable.

Now, before some of you start screaming at me for daring to touch the overheat values: overdrive is supposed to allow us to balance the formerly manual weapons with the formerly automatic ones. Yes, the slow firing weapons are harder to use, which is why I’ve given them a slightly longer overheat time than I would’ve otherwise. All the overheat changes I’ve made I tested thoroughly to make sure they at least feel right to me.

With that out of the way, let’s go over the changes I made.

Changes

Ion Blaster:

  • Damage: 340; 480
  • Overheat time: 8500

This change brings the max power damage jump down to 24,7% and makes it consistently stronger than Utensil on all power levels. 8,5s overheat time is to counterbalance the 19,3k DPS.


Laser Cannon:

  • Damage: 250; 500; 750; 1000 (so exactly the same, except with proper rounding (IA pls fix))
  • Firing interval: :zap:0-10: 0,270; :zap:20: 0,245
  • Overheat time: 6000

This change brings the max power damage jump up to 22,4% and reverts its previous 20k DPS and overheat time.


Neutron Gun:

  • Damage: 350; 700; 1100 (x2 multiplier)
  • Firing interval: :zap:0-10: 0,315; :zap:20: 0,295
  • Overheat time: 9500

This change increases the rate of fire to make the weapon more usable. It also brings the max power damage jump up to 24,9%.


Vulcan Chaingun:

  • Overheat time: 7800

Not much changed here, just a slight buff to overheat time to make it more manageable.


Plasma Rifle:

No changes so far.


Utensil Poker:

  • Damage: 375; 750
  • Firing interval: :zap:0-10: 0,300; :zap:20: 0,280
  • Overheat time: 10000

This change rebuffs Utensil’s max power level and brings the max power damage jump up to 25%.


Boron Railgun:

  • Damage: 105; 180; 240 (x1,5 multiplier) / 194; 333; 444 (x1,85 heat boost)
  • Overheat time: 7500

This change reduces Boron’s minimum heat damage significantly to balance it with Hypergun and Vulcan. Max damage is also slightly reduced, bringing the sweetspot closer to 20k DPS.


Moron Railgun:

  • Damage: 110; 220

I decided to tone down Moron’s damage, mostly on low power. The way it’s set up is that the weak bolt can two shot chicks and the strong one can two shot chickens on 33% difficulty (the upper difficulty limit on easy daily).


Photon Swarm:

  • Damage: 120; 400
  • Firing interval: 0,300; 0,249; 0,212; 0,185; 0,164; 0,147; 0,134; 0,123; 0,113; 0,105; 0,098; 0,098
  • Supercharge probability: 0%; 7,5%; 15%, 22,5%; 30%; 37,5%; 45%; 52,5%; 60%; 67,5%; 75%; 100%
  • Overheat time: 10000

Modified version of the WBP progression, bringing the low level DPS down to a more reasonable level. The max fire rate has been halved to comply with the recently discussed technical limitations.

Regarding the changes to probability: including supercharged photons in low power levels is actually quite important, because of their improved homing. Not only for fighters, but also for bombers, which currently don’t fire any supercharged photons until :zap:11. So I’d highly suggest using the WBP probability values instead of just overbuffing the low power levels’ damage output.


Lightning Fryer:

  • Damage: 140; 215; 290; 395, 510; 645; 780; 940; 1100; 1290; 1500; 1800
  • Overheat time: 8000

A new progression, based on the WBP 2.0 one, revamped to keep the current rate of fire. It relies on the chaining rework that I first mentioned in my Plasma and Positron post.
Overall, the point of the rework is to make chaining more reliable. This could mean making it proximity-based instead of angle-based, or the bouncing could be made (way) more lenient. The exact way this is done is not massively important, as long as the weapon can reliably reach 17k to 17,5k average DPS on max power in most situations.

Another problem with the current verison of Lightning Fryer, is that it’s underpowered against bosses. To fix this, we propose further tweaking the chaining mechanic in the following way:
When a lightning bolt hits a boss, as long as there are more chains available to it, it connects a second time with the boss (after which it can keep chaining to other targets) at a random spot at the edge of the boss’s hitbox (some limitations will probably have to be added for bosses with hitboxes that mostly reside outside of the screen (Yolk-Star™, Henterprise, etc.). This effectively gives Lightning Fryer a x1,5 damage multiplier against bosses.

I have one more important thing to say about mechanics like chaining: making these mechanics more “intuitive” (like the recent changes to splitting) doesn’t help. This is because the player largely has no control over the positioning of the enemies. At most, the player can position themselves in a way that will guarantee a single chain or split, the rest is out of their hands. Therefore, it’d be better to make chaining more effective overall, rather than making it easier to manipulate.

Speaking of which…


Positron Stream:

  • Damage: 100; 200; 300; 400; 500; 600; 700; 800; 900; 1000; 1100; 1350
  • Overheat time: 7500
  • Splitting: None
  • Damage ramp: x1,3 multiplier
  • Ramp time: 1500

Readjusted version of the damage ramp progression, with the max power damage jump bumped up to 22,7%.

Yes, we could attempt to increase its base damage and further lower the damage of splitting, but I’d at least like to see this in action. Like with Lightning, Positron Stream’s base DPS is quite insufficient for bossfights. The issue is that even with its low base damage, the splitting is absolutely overkill in its current state. The weapon (and Lightning too, to a lesser extent) currently attempts to deal with the unreliability of the splitting mechanic by having an absurdly high max damage output, which doesn’t exactly lead to consistent performance.
So once again, I’d like to suggest scrapping splitting and giving Positron Stream damage ramping instead, leaving the “crazy beam” factor up to the visuals.

Now of course, I can’t modify the weapon to include ramping. However, I am going to include a version of Positron that attempts to emulate it in my spreadsheet. The beam damage is set to the average damage of the base and max values, and splitting is disabled (or rather, its damage is set to 0). This of course doesn’t produce completely accurate results - in some cases the weapon would deal more damage, and in some it would deal less. That being said, I think this version is effective enough and gives a pretty good idea of how the weapon would perform if it were reworked in this way.


Hypergun:

  • Damage: 120; 240
  • Firing interval: 0,200; 0,185; 0,171; 0,160; 0,150; 0,141; 0,133; 0,126; 0,120; 0,114; 0,109; 0,103
  • Volley changes: :zap:20: 0 * B1 + 7 * B2
  • Overheat time: 9000

Readjusted WBP progression, bringing the low level damage down to a more reasonable level, lowering the max power damage jump down to 23,5%, and significantly increasing the overheat time. It should also be a lot more usable on :zap:8-10 than the current version.


Riddler:

  • Firing interval: :zap:0-10: 0,100; :zap:20: 0,095

A slight, but in my opinion needed mid power nerf. This progression brings it more in line with Hypergun, and brings the damage jump up to 24,4%. I thought about increasing the firing period on max power up to 0,097, but I decided to leave it as it is for now.


Corn Shotgun:

  • Damage: 465; 300
  • Damage type: None/NULL/non-aligned (or just anything other than bio, for the love of [insert deity here])
  • Firing interval: 0,690; 0,690; 0,510; 0,510; 0,405; 0,405; 0,336; 0,336; 0,287; 0,287; 0,250; 0,250
  • Overheat time: 8000

As long as its not strong against regular chickens, this should be fine.


Absolver Beam:

  • Damage (uncharged): 140; 270; 400; 530; 660; 790; 920; 1050; 1180; 1310; 1440; 1730
  • Damage (full): 2100; 4050; 6000; 7950; 9900; 11850; 13800; 15750; 17700; 19650; 21600; 25900
  • Firing interval (uncharged): 0,200
  • Firing interval (full): 1,4 (4*0,35)
  • Overheat time (uncharged): 8500
  • Overheat time (full): 8500

Edited WBP 2.0 progression. The uncharged beam is now stronger, and the full charge time is 1,4s instead of 1s. This is due to the possibility of introducing overdrive for this weapon. Additionally, if the damage stages are replaced with a smooth increase like in Boron’s case, the weapon might become flexible enough to the point where it might not necessarily need a base 1s charge rate. This is just a theory, as the spreadsheet doesn’t allow for changing Absolver’s firing intervals, and therefore I don’t have the ability to test this.

This rework relies on IA implementing the piercing rework detailed in the WBP 2.0 post. Nevertheless, the values are included in the spreadsheet for those who are interested.


So, what is actually in those spreadsheets?

Due to the way some of the weapons are coded (?) and/or due to the limitations of what we can actually tweak using this excel sheet, some of those reworks are technically impossible to test properly. This includes:

Neutron Gun, Laser Cannon, Utensil Poker, and Riddler: since they use a constant firing interval, testing them on :zap:20 is impossible
Hypergun: because we can’t edit volleys using the spreadsheet, testing it on :zap:20 is also impossible
Corn Shotgun: because we can’t change weapon groups, fully testing this weapon against regular enemies is impossible
Photon Swarm: because we can’t edit the supercharge probability (this technically also counts as editing volleys), testing the proposed progression is completely impossible
Absolver Beam: not just because of requiring piercing to be reworked, but also because we can’t change the weapon’s firing periods.
Lightning Fryer and Positron Stream: for obvious reasons

To get around this, I’m including two files in this post:

Sheet 1: This includes all reworks that can be fully tested (including Corn, just bear in mind that testing it against regular enemies might not produce accurate results), as well as the base for Neutron, Laser, Utensil, Riddler, and Hypergun (:zap:0-10). Included are also the values for Lightning, Positron, Photon (the probability is included separately from the volleys in an additional Misc. tab at the end) and Absolver. (Note that these values are not there for testing in-game, they’re there for IA to use if he wants to follow my rework suggestions)

Sheet 2: This includes the :zap:20 values for Neutron, Laser, Utensil, Riddler, and Hypergun. To test them you’ll have to end session once you reach :zap:20 and then swap the file out for this one. This sheet also includes a Lightning boss chaining test (damage multiplied by x1,5 for B1-B3), the aforementioned Positron test, and an approximation of the Photon rework (as close as I could’ve gotten with the same damage values. Though this approximate progression is objectively terrible, it should give you a decent idea of how the actual rework would perform).


Overdrive

All weapons in this sheet have overdrive enabled (aside from Absolver, which currently does not support it). Moron is set to 33,3% and everything else is set to 50%.
In my opinion it could easily stay like that, as long as some limitation is introduced (like giving it a cooldown and making the available duration depend on the reactor).


Using the spreadsheets

Follow the instructions detailed in IA’s post (📊 Weapon data spreadsheet). Bear in mind that you’ll have to rename the excel files (by removing the ‘S#’) for the game to accept them.

Note that I’ve changed the way some data is marked:

Grayed-out values are ones that haven’t been changed in relation to the original spreadsheet, black values are ones that were changed (this only applies to values in the Bullets sheet and the FiringInterval, OverheatTime and Volley tables).

  • Red cell means that the value couldn’t be applied properly due to some technical limitation.
  • The values for Photon in S1 are blue, to signify that they are good.
  • The values for Photon in S2 are red, to signify that they are bad.
  • If any of the technical limitations are somehow lifted, I will make an updated version of the sheet that contains the full reworks (value-wise, anyway).

Also note that the FiringInterval table is, in cases of weapons I’ve edited, decoupled from the values located to the right of it. If you want to work on your own changes or tweak these and would like to see the end result in the charts, I’d suggest using IA’s original file.


And that’s it. If you have any questions or suggestions regarding these, let me know.
(Also tell me if you find any discrepancies between this post and the sheets, so that I can fix them ASAP.)

Sheets: https://drive.google.com/drive/folders/1JMo6o_WOzeW2lG9RrYsiEfl8c8O_FhIx?usp=sharing




Updates and fixes

V1.1

  • Removed all links to other files from the spreadsheets - if something was broken before, it should work now.

V1.2

  • Reverted popcorn damage back to 300 (from 350).
31 Likes

I’ve made some changes to the engine to support some of these suggestions, an I’m going to start tackling them now. It’s a multi-faceted undertaking and it requires several passes on my part, so I’m going to use this topic as a scratchpad as I go.

I’ll unlock the topic once I’m finished. Until then, do not rely on any information you see here as being final.

11 Likes

Done.

10 Likes

Done.

8 Likes

Done.

8 Likes

Done.

8 Likes

Done.

8 Likes

Done.

Notes:

  • Unsure about exactly where the “sweetspot” lies. Perhaps collect experimental data?
8 Likes

Done.

Notes:

  • Must revisit this when enemy health is reworked to increase less steeply than the current 10x.
  • It’s acceptable for Moron to be OP at low power levels, given its role/purpose.
6 Likes

Done.

  • I can’t get the Firing Interval values to match exactly (the formula in the override Excel has been lost and it’s just baked values) 1/x curve matches exactly
  • Feels very underpowered at low power levels. Combined with low accuracy, it’s useless. At least it’s homing (sort of – at short distances homing capability isn’t really effective).
  • Revisit constant overheat time (was 20s->10s, now it’s 10s). Maybe 15s->10s? It’s fine, for now.
  • Reduced firing rate severely harms “spectacle” of projectiles. Make faster (ignore multiplayer restrictions for now). Decreased firingInterval to 0.075 (13.3fps) from 0.098 (10.2fps) at PL10 (reduced projectile damage to compensate).
5 Likes

Changes

  • Bosses can be hit multiple times (by all nodes).
  • Chain instantly extends to full length (configurable in Excel).
  • Multi-hit reduces damage of additional hits (beyond first) to 60% (configurable in Excel).

Overheat time: Done
Damage: Done, but a +20% boost has been applied to compensate for less-than-expected buff (due to instant chain extension). Must collect updated impressions. Hopefully tweaking a combination of base damage multiplier and “multi-hit penalty” will be sufficient.

See :CIU weapon balance program - Part 10: Lightning Fryer
See for “chaining rework”: On the subject of Plasma Rifle and Positron Stream reworks

Notes:

  • Finally managed to get “multiple hits per target” working using a fan of rays.
  • The closer you are to the target (and the bigger the target), the more rays will hit.
  • Once a beam hits a boss, it can never move onto another enemy.
  • Client simulation is not 100% accurate (no information about bounce angles), which will cause transient glitches (they’re only cosmetic).
  • Potentially, all rays (=chains) will hit. Excessive damage? From tests, this is usually not a problem because either (i) targets are small, so subsequent rays generally miss or (ii) smaller enemies interfere so there isn’t a clear shot. Exception: Yolk-Star. Also, could this be a problem even with other bosses if you’re point-blank (being closer is more dangerous, but is it a sufficient trade-off)? Fixed(?) via applying penalty to multi-hit damage.
2 Likes

Changes:

  • Bosses can be hit multiple times (by all nodes).
  • Chain requires 0.25s to extend for each node split (configurable in Excel).
  • Multi-hit reduces damage of additional hits (beyond first) to 60% (configurable in Excel).
  • Splitting node damage 100%/2x25%/4x10%

Overheat time: Done
Damage: Done
Ramping: Not yet. Progressive (delayed) splitting provides an approximation of ramping. Will revisit in v.54

See: On the subject of Plasma Rifle and Positron Stream reworks

Notes:

  • Fixed “multiple hits per target”. See Lightning.
  • Same “excessive damage” problem as Lightning. Perhaps limit splitting to 1-level deep in this case? Or splits take a further 50% damage penalty?
2 Likes

Done.

2 Likes

Done.

2 Likes

Done.

  • Notes: Same problem as Swarm: underpowered at low power levels (slow & low accuracy).
  • Uncertain about rationale behind removing “bio” strength. Is the problem that it’s too overpowered at low difficulties, or too underpowered at high ones? At 100% difficulty, chance of spawning bio-weak enemies is 6% (chicks) and 20% (chickens). 36% metals (weak – perhaps change this to strong?) , 21% elites (mixed: Toxic is strong, Coward is weak), 13% saucers (weak), 6% minibosses (mixed: Chickenaut is strong, Armored & Slob are neutral). Barriers are always strong.
2 Likes

See(?): On the subject of Absolver Beam rebalance

Done. Too many variables have changed – must check performance and revisit this in the next update. Key variables have been exposed for experimentation

Notes:

  • Exposed “damageSharing”, “timeToCharge”, “initialHeatCost”, and “heatDrainRate” in Excel.
  • Beam damage is equally split among all hit targets. Controlled by “damageSharing” (0=each target receives full damage, 1=damage is equally split, fractional values are a mixture of the two). Default = 50% due to an oversight, this is 0% in v.53.
  • Fully charged beam width now depends on power (30-50 native px radius).
  • Re-mixed firing sound effect.
  • Each charge level now has a separate sound effect.
  • Reduced charge duration from 0.450s to 0.350s (can fire 5 shots back-to-back until overheat – note that heat sink affects this, so ~10 shots for best+rarest heat sink).
  • Damage progression is linear with increasing charge levels (was previously 75% quadratic+25% linear).
  • Damage 300-900 (uncharged), 5000-15000 (fully charged)
  • Higher one-off heat (10%), lower heat drain (8%)
  • Pushes back feathers 3x as hard.
6 Likes

Done, but incomplete. Will collect data over the coming month to decide about cooldown/overheat acceleration/other mitigating mechanics.

Notes:

  • Overdrive on all weapons: Set to 50% (exceptions: Moron, Corn, Absolver) experimentally.
  • “Cooldown mechanic” would interfere with the current “faster overheat” mechanic. Choose either one, but not both (unless it turns out that overdrive is a net win, in which case a combination might be appropriate).
  • Reactor controls cooldown strength? How?
  • Moron is 0%.
  • Corn is 0% unless the cooldown mechanic is implemented.
  • Chargeable weapons do not support overdrive (ignored).
  • Make overdrive equippable? Perishable, or per-use (similar to Damage Amplifier)?
10 Likes

Topic re-opened. Please actually play through v.53 before commenting here.

4 Likes