Part 1 - The Proposal
Current Enhancements leave a lot to be desired in terms of effect and usefulness. A large number of them will have no actual effect in game, due to a few issues that were unforeseen during Development. Those Enhancements that are in the game now need to be reviewed in order to restore the necessary and important balance in the Player vs Player (PvP) aspect of DarkSpace, and above all, to make them all useful.
I have a personal enmity towards useless objects in games. Those items that you may get to start with as freebies, but serve no point beyond your initial progress. This is extremely important in PvP oriented play, where the focus is supposed to be more on player skill, as opposed to item viability.
This is something that also applies to loot drops as well as you usually end up carrying around bags full of essentially useless items until you can sell them to another player, or to a merchant. People want to get back to the fun, IE. killing things, preferably other players, not traipsing back and forth doing rather mundane tasks.
I have always been in favor of the idea that everyone should be able to use everything, if even somewhat ineptly, and gain a useful benefit from it.
How does this apply to DarkSpace and Enhancements?
DarkSpace has several 'tiers' of enhancements. These are:
Tier 1 - Minor Enhancements - Very Common
Tier 2 - Limited Enhancements - Common
Tier 3 - Standard Enhancements - Uncommon
Tier 4 - Enhanced Enhancements (go figure?) - Rare
Tier 5 - Advanced Enhancements - Very Rare
Tier 6 - Prototype Enhancements - Unique - Only one per ship
As it stands, due to various coding limitations, Minor and Limited (Tier 1 and Tier 2) Enhancements are relatively pointless. Everyone has a stack of them, but due to the numbers involved in the back end, most of them don't actually do anything.
A brief(ish) explanation of this...
There are a few basic types of numbers that you can use in programming, C++ in particular. The ones we are interested in DarkSpace are called Integers and Floats. Integers are whole numbers with no decimal places. They are relatively quick to process, but any decimal places involved in the results get automatically dropped during processing. This makes them fast, but somewhat inaccurate.
Floats have decimal places, and are therefore very accurate, but due to this they are far more processor intensive to calculate. In a program where you are processing several thousand calculations a second, this can quickly mount up to a very high overhead, so we have to limit their use where possible.
Most numbers we use in DarkSpace are Integers, except where precision is absolutely required due to the above explanation. This becomes a problem when dealing with small numbers and percentages. Adding 1% (0.01) to 10 as an Integer value, will just return 10, not 10.01 as you might expect. You may wonder why we don't just multiply all the affected values by 100, and avoid the issue we are facing. This would indeed seemingly fix the problem, but due the complexity of the game and the calculation interactions, it would have needed to have been done when DarkSpace first started development as part of the original design. I actually tried to do this shortly after Enhancements were introduced - you really do not want to know what happened in the resulting mess. It was not pretty.
Back to the Proposal...
The only way to really fix this is to use bigger number's on Enhancements themselves, but then this will lead to some very overpowered combination's for the rare Enhancements if they have no inherent penalties or negative attributes.
Do we really want players having +200% damage output on a dreadnought? Short answer: No! Certainly not without some serious drawbacks.
We understand that players want to improve and customize their ships to suit their own particular style, and this is what we want to encourage and facilitate. However, we do not want to give 'veterans' an unfair advantage over new community members due to this, or we at least want to limit any advantage that we do provide so that new players are able to achieve balance parity relatively quickly and easily.
With this is mind, this is what I want to do with Enhancements:
All Enhancements would have a basic "free" improvement modifier. For Minor Enhancements, this would be the only value. You would get a small boost, but nothing else. No negatives, no penalties.
If we say that the default value is a 5% bonus, then this means a ship can have a maximum possible 40% "free" boost to any stat. This could be 40% faster weapons recharge, 40% more damage, 40% more armor or 40% more ammunition, entirely depending on the devices in question.
This may sound quite a lot, and indeed, a fully tricked out Battle Cruiser (as an example), using all Minor Enhancements would have a significant advantage over a stock ship. But then, due to the high drop rate of Minor Enhancements, any player could achieve the same with just an hour or two of destroying AI ships.
Any additional bonus to stats would need to come with a draw back to to help balance it. Instead of being better than the lower tier Enhancements, Tier 2 Enhancements and above would allow more extreme customization of play style, but at a cost that is relevant to the additional bonus.
Lets say we have a Minor Weapon Multiplexer. It adds +5% damage.
A Limited Multiplexer might then add +9% damage, but with a -4% slower recharge rate. This maintains the overall damage output and balance of the weapon.
Standard would therefore be +12% damage, and -7% recharge rate. Following depreciating returns (5(+4),9(+3),12(+2),14(+1),15), this would cap individual Enhancement bonuses to 15% each with a 10% penalty, or 120% total, with an 80% total penalty. As such a Tier 5 Enhancement would be effectively equal to a Tier 1 Enhancement, but allow a greater degree of extreme modification.
Prototype Enhancements would follow a similar principle, but also combine multiple different bonuses and negatives from different areas into one unit. Perhaps +45% damage output to ALL weapons, but with a 40% reduction in armor, or vice versa.
Your thoughts and feedback would be much appreciated.
Part 2 - Further Balance
Even with the above system, there are still concerns with regards to the possibility of one shot kills and 'newbie' farming.
Therefore each type would always have an associated penalty, using a system as follows:
Multiplexer - Additional damage would always be accompanied by reduced range.
Accelerator - Additional range would be countered by slower recharge.
Cooler - Faster recharge would be countered by reduced damage.
Condenser* - Faster recharge rate would be countered by reduced range.
This act's a self limiting system. To increase damage beyond +40% and maintain range would require using a combination of two sets of Enhancements. +120% projectile damage for a Gunboat Destroyer would limit it's actual Particle Cannon range to only 298.8gu, instead of the normal 1494gu range.
To increase damage while retaining near standard range with Tier 5 Enhancements, you would require 5 Advanced Multiplexers and 3 Advanced Accelerators - giving a total of:
-5% range (1419gu, instead of 1494gu))
-30% recharge rate (5 seconds per volley, instead of 3.85 seconds)
Lets compare this to a stock ship, and another vessel using all Minor Multiplexers. for the purposes of this, we will assume the average cannon damage of the stock ship is 100 per volley.
RoF = Rate fo Fire (seconds)
Stock (1494gu range, 3.85 RoF)
100 damage * (60/3.85 RoF) = 1558 damage per minute.
Minor Multiplexers (1494gu range, 3.85 RoF)
140 damage * (60/3.85 RoF) = 2181 damage per minute.
Advanced (all Advanced Multiplexers, 298.8gu range)
220 damage * (60/3.85 RoF) = 3428 damage per minute.
Advanced (combo, 1419 gu range, 5.005 RoF)
175 damage * (60/5 RoF) = 2100 damage per minute.
You will notice that the Minor Multiplexers actually work out slightly better than going all Advanced, DPS wise. This is considered an acceptable compromise.
You should be able to work out the relevant differences for the other Tiers and Enhancement combination's from the above information.
*Condenser - These were originally intended reduce actual energy cost, but due to the whole Integer issue this has to be changed. We do not want to actually remove any items, so they need to be made usable.