Balance is a tricky thing, and we often get debates (really good debates often) about what the state of things are. And modders have often tried to make 'balanced' content. But the actual system used to determine values in vanilla (well...at least in theory) was not, before now, publicly accessible. Since that's a bit unfair, and I did get permission to release all this stuff a long time ago, here's how the balance curve works for weapons, more or less:
-There's a curve that handles average damage per shot. You look this up for the level of the gun you want. It also has the power consumption.
-You then apply a rate of fire multiplier that increases or decreases that value to one appropriate for the gun.
-There's then a second table of modifiers for different attributes (eg. launcher, dual, wall, etc) that are then applied in turn. These stack (so a launcher that has overheat is multiplied by both the overheat modifier and a launcher modifier. These sometimes have ranges (eg. 'launcher' is a x3-6 depending on rarity)
-These are all a little bit out of date compared with some recent buffs, particularly to missiles, and are for an average weapon (ie: do not balance exclusively to the exact values you get from running these calculations). However, they're quite useful. Since I got into the registered developer group I've used these (and my own notes) extensively for Shrike's Mines & Missiles (and More!) and some other side projects. As a modder, these tables are really good for providing the starting point for a weapon. You still have to go by ear after that, but it gets you nice and close.
All content that I've written myself is clearly (I hope!) noted as such, and should not be considered official. Rather it's my own attempts to annotate and refine an incomplete set of guidelines and correct what I think are a few deficiencies. I've marked George's own notes where possible. The numerical values of stuff that isn't marked as my own work is from the Registered Developers Wiki and is official.
I apologise in advance for the rather clunky formatting: the ancient and annoying forum software can't handle tables (Edit: Atarlost assures me that it can, but until I find out how and have the time to edit it, I'm not able to do that) so I have to use lists. All different values are separated with commas, and I'm including keys on each list.
I'm presenting this as a "How to", because the original materials are spread across 2-3 URLs and take a fair bit of work to use properly. This way alters it somewhat and adds in some steps that may not actually be official as such (the last few steps are all mine), but makes it a lot easier to use.
Step 1: Find your level on this table, and get the average damage per shot/fragment, cost and poweruse. Note that poweruse and cost is adjusted by other attributes and is an average/pseudoaverage only.
(Format: Damage per shot/fragment, cost (in credits), reactor drain (with unit))
- Level 1: 4hp, 650cr, 1MW
- Level 2: 5hp, 1300cr, 2MW
- Level 3: 7hp, 2600cr, 5MW
- Level 4: 9hp, 5200cr, 10MW
- Level 5: 12hp, 10400cr, 20MW
- Level 6: 16hp, 20800cr, 30MW
- Level 7: 21hp, 41600cr, 50MW
- Level 8: 27hp, 83200cr, 100MW
- Level 9: 35hp, 166000cr, 200MW
- Level 10: 46hp, 333000cr, 300MW
- Level 11: 60hp, 666000cr, 540MW
- Level 12: 78hp, 1.3M cr, 600MW
- Level 13: 101hp, 2.7M cr, 1GW
*The source material I'm using goes up to Level 20, but let's be honest: there is no way in hell that's going to be accurate.
Step 2: Multiply base average damage by the appropriate rate of fire modifier:
Format is "Firerate (as seen in XML): Modifier "
If the rate of fire is an odd number, add one before working it out, as that's what the engine will do ingame.
- 2: 0.125
- 4: 0.25
- 6: 0.375 (George Note: Shuriken Neutron Blaster fire rate)
- 8: 0.5
- 10: 0.625 (George Note: Laser cannon fire rate)
- 12: 0.75 (George Note: Katana star cannon fire rate
- 14: 0.875
- 16: 1.0 (George note: 'Standard' fire rate)
- 18: 1.125
- 20: 1.25
- 22: 1.375
- 24: 1.5
- 26: 1.625
- 28: 1.75
- 30: 1.875 (George Note: NAMI missile launcher fire rate)
- 32: 2.0
- 34: 2.125
- 36: 2.25
- 38: 2.375
- 40: 2.5 (George note: Typical howitzer fire rate)
- 42: 2.625
- 44: 2.75
- 46: 2.875
- 48: 3.0
- 50: 3.125
- 52: 3.25
- 54: 3.375
- 56: 3.5
- 58: 3.625
- 60: 3.75
(George notes are from the source material, were accurate when he wrote them many years ago)
Step 3: Multiply the adjusted average damage you've worked out by each modifier that the weapon qualifies for..
Sorry chaps, but this one's a bit clunky. George, please update the forum to something that can handle tables. My will to live is being sapped by the minute....
Note: I have no idea what "level" means and there's no notes to explain it.
Note Also: "Frequency" is often a lie. It's the intended frequency rather than the frequency that it actually occurs ingame. (Thus a "frequent" mechanic may not turn up, but it means you can safely add a lot of them into the game because it fits (???) )
Note also also: Yeah, I know that the mechanic should be above the level. Complain to George: he made the table I'm porting over. I'll revise it to a saner layout later.
Important Note: not all of these modifiers are per-shot. Several of them are "per burst" or "For all fragments". I will try to write when this occurs, but use common sense if something seems off (and let me know so I can edit out a mistake). In general, the modifers apply to "everything you get when you push the space-bar, at once"[/Shrike Technical Term]
Damage Adjustment: X1 (No adjustment)
Examples: Laser cannon, recoilless cannon
George's Notes from the Original (RegDev) table: The most basic possible weapon
Shrike's Unofficial Notes: To be precise, a weapon with "standard" configurate (one shot, firing from default position) with no other modifiers that doesn't use ammo or have anything else to distinguish it.
Damage Adjustment: X3-6
Examples: Akan 30 cannon
George's Notes from the Original (RegDev) table: Requires ammo; damage multiplier depends on ease of finding ammo.
Shrike's Unofficial Notes: Mass (and to some extent price) of ammunition should also impact how much damage it does. Err on the higher side, then nerf if testing shows a problem. Poweruse of weapons should be significantly reduced if it requires ammo.
Damage Adjustment: X2-3
Examples: DM600 disposable missile rack
George's Notes from the Original (RegDev) table: Disposable weapons have a limited number of shots (generally a few score); they are often auto-installable.
Shrike's Unofficial Notes: Tricky to balance without making them a bit scrappy. Either make them cheap, or powerful, or reloadable. Possibly two or three. If external, can be damaged by hits to armor (although this is NOT an attribute of the disposable weapon system, but the external weapon system).
Damage Adjustment: X0.5 per shot, X1 total.
Examples: Dual laser cannon, dual recoilless cannon
George's Notes from the Original (RegDev) table: Fires two parallel shots instead of one. The total damage (of both shots) should equal the level damage.
Shrike's Unofficial Notes: The original table lists the modifier as "X1", however it's clearly intended to not do double the level's damage so I've included a correction above as well as the original value.
Damage Adjustment: X3-6
Examples: NAMI missile launcher
George's Notes from the Original (RegDev) table: Launchers are ammo weapons that can switch ammo; they use a dedicated slot (meaning you cannot install more than one launcher). Damage multiplier depends on ease of finding ammo.
Shrike's Unofficial Notes: These values may be out of date: launchers had to be buffed recently because they were a bit weedy. Note that for fragmentation weapons the balancing gets very complicated (see 'Fragmentation', 'Radius' and 'Shockwave' entries on this list.). Generally soeaking, err on the higher side and then reduce the power of the weapon until it's not overpowered.
Mechanic: Repeat Fire
Damage Adjustment: X1 (For entire burst.)
Examples: mining laser, DK10 Arbalest
George's Notes from the Original (RegDev) table: Fires multiple inline shots.
Shrike's Unofficial Notes: Keep the per-shot damage low enough such that the average of all shots in the burst equals the level-average (the modifier above is per burst rather than per shot, as mentioned previously). Messes up weapon sounds if you're trying to replace them because of how the mixer and scripting systems work.
Frequency: Uncommon (Shrike note: I'd say "rare" actually)
Damage Adjustment: X2 (for all fragments/beams)
Examples: Laser Cannon Array, TK10 Trident cannon
George's Notes from the Original (RegDev) table: Fires three diverging shots; only effective at short range. The total damage of all three shots should equal twice the level damage.
Shrike's Unofficial Notes: Do NOT use the default "spread3" configuration if you can possibly avid it. It's terrible and makes your weapon useless because of the overly high spread. Instead, use a custom configuration similar to that used by the TK10 Trident. Note that the damage adjustment is for all beams/fragments fired per shot, not per individual beam/fragment.
Frequency: Very Rare
Damage Adjustment: X1
Examples: Blinder Cannon
George's Notes from the Original (RegDev) table: Chance of target being blinded (SRS damage).
Shrike's Unofficial Notes: Broken and useless for what it's intended for. Only blinds the player, has no effect on NPCS. Prevents HP damage to armor and internal compartments. Used by some modders to make autodefensedevice projectiles that won't hurt any ships or stations that they hit.
Damage Adjustment: X6 (For all fragments)
Examples: KM110 Starburst Missile
George's Notes from the Original (RegDev) table: Explodes into fragments, each of which does damage. The total damage of all fragments should be limited to ×6 the level damage (on the assumption that, on average, only one-sixth of the fragments hit the target).
Shrike's Unofficial Notes: While not a bad assumption, this is overly simplistic. Ensure that fragments have lifetime and speed settings that will actually hit things, and assume that the effect will do less damage than that X6 value until proven otherwise. Tuning your missile fragments for different range and speed has dramatic effects on actual damage done, and you should always assume that. When using tracking fragments (eg. S3), playtest until something seems balanced.
Frequency: Common (Shrike Note: ?????!!??)
Damage Adjustment: X0.25
Examples: Omnidirectional laser cannon
George's Notes from the Original (RegDev) table: Automatically swivels to aim at target.
Shrike's Unofficial Notes: Using this modifier in the lategame will cripple your omni weapons, especially if they lack WMD. Thus in the lategame it's best to alter to at least a 0.5X modifier if no WMD because internals mess up the effectiveness of omnidirectional weapons disproportionately. You should test all weapons that you make, preferably in an actual non-cheat game, but especially your lategame non-WMD low ROF weapons....and omni weapons almost always fit that description.
Damage Adjustment: X0.4
Examples: Rasiermesser SmartCannon
George's Notes from the Original (RegDev) table: Projectile tracks target.
Shrike's Unofficial Notes: Unless you've specifically messed with the missile agility, assume that most if not all tracking projectiles or sub-projectiles will hit a target.
Mechanic: Particle Cloud
Frequency: Common (Shrike Note: Oh no it isn't)
Damage Adjustment: X2
Examples: PK25 Morning Star cannon, 1.7's version of the Ares Plasma Archcannon
George's Notes from the Original (RegDev) table: Shoots a cloud of tiny particles, each of which does damage.
Shrike's Unofficial Notes: Has its own, “unique” hit detection quirks. Damage is set differently to other types of weapon. Playtest heavily if you don't have experience with them (even if you do, you should probably be careful). Pseudo-WMD: Each hit of a particle will do 1 damage to multihull/internalled stuff if it does damage at all even if the particle is WMD0.
Damage Adjustment: X1 (No Adjustment)
Examples: XM300 Reaper missile, Actinide Waste Cannon
George's Notes from the Original (RegDev) table: Chance of target being contaminated.
Shrike's Unofficial Notes: Useless after L6 except on certain armors (eg. Ceralloy), 100% kill on NPCs before that. 'Chance' seems to be 100% on non-immune armor.
Level: 5 (Shrike note: Wait, what?)
Mechanic: Alternating Fire
Damage Adjustment: X1
Examples: Shuriken Neutron Blaster
George's Notes from the Original (RegDev) table: Same as a normal weapon but shot origin is displaced.
Shrike's Unofficial Notes: To be precise, it's a weapon with multiple origin points that alternates between them. I think these "level" things are the lowest level that they turn up ingame rather than anything sensible. Custom configs are useful with alternating weapons. You can't at present have "groups" of shot origins in an alternating configuration, but it's ticketed to be a thing "eventually".
Mechanic: EMP (Electromagnetic Pulse)
Damage Adjustment: X1
Examples: EMP Cannon
George's Notes from the Original (RegDev) table: Chance of target being disabled by EMP.
Shrike's Unofficial Notes: Prevents HP damage to armor and internal compartments. Makes things stop and spin, even though this makes no sense in outer space. Length of EMP is tied to damage somehow, so X1 modifier may be overpowered. Look at what you want the weapon to do, and nerf the damage heavily if it's EMPing too long: being stunned isn't fun. It also make killing large ships very difficult as their spin makes hitting a single compartment enough to destroy the ship impossible. EMP is an instakill when used near stars with a gravity well (as the ship is dragged in and torn apart).
Level: 5 (Shrike Notes: .....yeah, this is just the minimum level the mechanic shows up in the game when George wrote this isn't it?)
Damage Adjustment: X1
Examples: Mark I Howitzer
George's Notes from the Original (RegDev) table: Howitzers are the same as normal weapons but rate of fire is decreased to increase damage.
Shrike's Unofficial Notes: Howitzers (that use the appropriate tag in their item code) are affected by speedloaders. They should also (generally) have recoil set so they feel different to smaller guns.
Frequency: Common (Shrike Notes: ......no it isn't....)
Damage Adjustment: X1 (for entire burst)
Examples: Lancer cannon
George's Notes from the Original (RegDev) table: Lancers are the same as repeating weapons, but always using light-speed beams.
Shrike's Unofficial Notes: Designed to emulate a continuous beam (which the engine can't handle very well). Same rules as a repeating weapon: the entire burst is balanced as if it were a single projectile, so each actual beam should have a fraction of the total ideal damage.
Level: 6 (Shrike Note: Ok, I have no idea what 'level' means now)
Frequency: Common (?????)
Damage Adjustment: X2-X4
Examples: Ares lightning Turret
George's Notes from the Original (RegDev) table: Weapon must recharge for a certain time after shooting. Damage multiplier should reflect the proportion of time that can be spent shooting.
Shrike's Unofficial Notes: Need to also balance the values of the capacitor itself. Needless to say, you need to heavily playtest anything using this. Doesn't damage the ship when 'dry-fired'.
Mechanic: Shield disruption
Frequency: Uncommon (Shrike Note: Closer to 'rare' in practical terms)
Damage Adjustment: X3 (to shields), X0.33 (to armor).
Examples: JB2 Shieldbuster MAG
George's Notes from the Original (RegDev) table: Damages shields but (generally) not armor. If armor is damaged, it should be no more than one-third of level damage.
Shrike's Unofficial Notes: In actual fact, all shieldbusters in the game right now also damage armor. Since shieldbusting is level-based (IE: when a weapon does 1d10, ShieldX, the extra damage is based on the level of the armor being hit relative to the value of X, as a proportion of the damage roll) it is really freaking difficult to get that ideal balance. Generally, most people don't bother. I'd advise just playtesting the hell out of things to test them. Some vanilla weapons (eg. Ares Positron Cannon) show how overpowered this mechanic can be if not handled carefully.
Mechanic: 'Area' (in Original Table) 'Radius' (What it actually is)
Damage Adjustment: X0.75
Examples: XM900 Lucifer
George's Notes from the Original (RegDev) table: All targets in a certain radius take damage.
Shrike's Unofficial Notes: All fragments that are “radius” type. Note: If the edge of the image of a ship hit by a radius fragment is not within the max radius (eg. If the lag in hit detection causes a very small radius fragment to be spawned inside a very large ship), it will not be damaged. Radius fragments are instantaneous and will hit anything in their affected area.
Mechanic: Build Up
Damage Adjustment: X1 (?)
Examples: *a lone tumbleweed drifts past in the wind.....*
George's Notes from the Original (RegDev) table: Hold trigger down to build up charge; release to fire. The longer the trigger is held-down, the more powerful the shot. The increase in damage will be proportional to the time.
Shrike's Unofficial Notes: Yeah, this mechanic doesn't actually exist and there's no way to make it (unless you want to try playing around with scripts and torturing results out of the engine). George has talked about it for many many years, so it may actually exist in the future.....but right now this is a dummy entry.
Mechanic: Device Disruption
Frequency: Very Rare
Damage Adjustment: X1 (?)
Examples: Ion Disruptor
George's Notes from the Original (RegDev) table: Chance of (temporarily) disabling devices.
Shrike's Unofficial Notes: People 'love' this mechanic. Disruption time seems to be linked to damage. Some bugs in the game make disruption permanent for some devices under certain circumstances. There is also engine support for device damage, but you shouldn't use it without a very good reason, and no balance advice is given for it.
Damage Adjustment: X0.75
Examples: Katana Star Cannon
George's Notes from the Original (RegDev) table: Shot continues to do damage after it passes through.
Shrike's Unofficial Notes: This modifier may be too high for most passthrough weapons. Playtest heavily and adjust passthrough chance and damage to balance the weapon. Note: Passthrough chance must be set manually. Passthrough weapons hitting a shield or armor segment that reflects their damage type will tend to multiply, potentially causing lag, crashes, or hilarious carnage.
Damage Adjustment: X4
Examples: Ares Micronuke, Ares Warhammer nuke.
George's Notes from the Original (RegDev) table:Same as fragmentation, but with passthrough.
Shrike's Unofficial Notes: To be precise, shockwave spawns a ring-shaped fragment and expands it outwards at a set speed for a set duration. This looks like it has 100% passthrough, but by default it actually has 85% passthrough, which can lead to some issues (eg. the problems with vanilla mining charges having false negatives). You can alter passthrough manually in the XML. Shockwave fragments block other projectiles shockingly well. Because of the high passthrough rating and large area of effect, shockwave weapons can become seriously overpowered if you aren't careful. Take the X4 modifier with a pinch of salt.
Damage Adjustment: X3
Examples: ion flame cannon, Avalanche cannon
George's Notes from the Original (RegDev) table: Shoots multiple, parallel shots over a wide area.
Shrike's Unofficial Notes: George's description is a bit baffling since the ion flame isn't a parallel weapon, and a parallel weapon doesn't affect a wide area. I believe that "wall" means more a spread weapon that fires a lot of shots (or a lot of particles) from many origins at once, optimised for short ranged combat. This is only my own interpretation, however. Unlike spread3 (seen previously for 'triple' weapons, Spread5 and Spread7 are perfectly fine to use on weapons designed for close-range combat.
Damage Adjustment: X3-6
Examples: Advanced tritium cannon
George's Notes from the Original (RegDev) table: Same as capacitor, but chance of damaging weapon if overheating. Damage multiplier should be roughly 50% more than Capacitor mechanic.
Shrike's Unofficial Notes: “Chance” is 0% the first time it happens, and 100% the second time it happens, unless you uninstall and re-install again. I personally find this to be a seriously bad mechanic that makes for either very boring or very annoying weapons. Unless you really want to, this is something you can avoid without really causing problems.
Damage Adjustment: X0.75 (for all shots/fragments)
Examples: IM90 multitarget blaster
George's Notes from the Original (RegDev) table: Weapon shoots multiple, independent shots. Generally combined with omnidirectional or tracking. Multiplier applies to total damage of all shots.
Shrike's Unofficial Notes: This is probably on top of the existing modifier for the configuration. This currently has issues with some weapons and may be bugged. Good for fancy submunitions as in the S3 Medusa.
Frequency: Very Rare
Damage Adjustment: X1 (??)
Examples: Quantumsphere Disintegrator
George's Notes from the Original (RegDev) table: Chance of disintegration.
Shrike's Unofficial Notes: “Chance” is 100% if hit on non-immune armor. Instakill effect. No wreck on kill. Just don't use this if you don't have to, ok? This isn't a very fun mechanic.
Step 4: Create a dice code that has an average value that matches or gets close to the number you've calculated after doing all those multipliers
I recommend finding an online dice calculator to do this, because it can be very annoying. Don't be fussed if you can't get it exact: these numbers are for a perfectly average weapon....which leads us on to
This is the end of the official content, but the rest is what you should be doing anyway!
Step 5: Alter your weapon to not be perfectly average, and balance with the other factors
While some weapons should be the perfect "average" value, it's important to make some weapons better or worse than average. Not by too much, but enough that you have a spread. Lower-damage weapons should have lower costs, power use, or have good range or shot attributes that make them easy to use. Weapons that are better than average should be more expensive, use more power, and/or have other things that make them less of an obvious choice for the player.
If you're making lots of weapons, make sure that not everything is above average. It's called an average for a reason!
Step 6: Playtest and tweak
Playtest all weapons made, and ensure they do what you think they will, and that they work properly. Be careful not to let them creep towards being too good, or not good enough! Remember step 5: you want the average balance to be average, so some weapons have to be "worse" than others in a strictly numerical sense, when only looking at damage. But you have many other things to tweak to make them still appeal to players.
That's all for the first part of this. Later, I'll be editing in some of my own notes into a reply just under this post to fill in some gaps in the official content!