I'm advocating for a system where each weapon is assigned a value to represents it "CPU cost" on the "Targeting Computer". Each time you fire a weapon, the cost is added to the computer and the computer returns a firing solution. The Targeting Computer can only process "X" CPU per second. Overloading the CPU causes the computer to return incorrect firing solutions. The more the Targeting Computer is overloaded, the more inaccurate your fire will be. Under normal circumstances fire will be 100% accurate, but firing too many weapons at the same time will likely cause an overload. Smaller weapons and spray fire weapons (SRMs, LB10X) will have a lower CPU cost than larger weapons.
The system shall be represented with a cylinder of fire. The more the Targeting Computer is overloaded, the larger the cylinder of fire. The CoF is completely unaffected by heat or movement. The system is based on Homeless Bill's original idea from 2013 but does not use convergence as that adds more technical overhead (and losing convergence is really bad, as per my last demo).
This CoF solution proposes to solve high damage alpha strikes from any combination of weapon systems by causing that damage to be more spread out than if those weapons were not all fired at once. It is an intuitive system from a players perspective, as CoF mechanics are already present in every top FPS game on the market. Skilful players will won't be punished for their skill in aiming, as long as they can also develop a skill in trigger discipline. It will replace ghost heat, and fill in the voids that ghost heat could not solve - boating mixed lasers / combinations of lasers and AC. This solution will require developer work with relation to balancing weapon CPU values as well as artist work creating new UI elements to represent the CoF and Targeting Computer's load. Depending on how the code is written, the CoF could use existing code based on the jump jet inaccuracy code.
Here is a video of roughly how it will work. Keep in mind that all numbers for CPU "processing", CPU cost,and the maximum amount of spread are all subject to change should any value be too extreme.
This video shows how 6 "Large Lasers" would work when fired in different numbers
and how 6xAC5 would work (1:50)
If you would like to try the demo scene yourself you can download it here (~20mb). Controls are 1-6 for weapons, and Enter to switch between.
Re: This is going to be a lot of work for the devs to do / it's too hard
Yes I agree there is a lot of work to do testing wise, but adding in the mechanics and UI is rather simple as I have just displayed (Server code may require more work, I'm not sure what their netcode is like). A simpler system would be nice, but we already have a "simpler" system called Ghost Heat and it's too easy to work around it and it doesn't solve alpha strikes, it just punishes them after the fact. This system would be impossible to bypass with different combinations of weapon systems. It's a future proof system that can be used to address most balance problems for the foreseeable future.
If I were to balance it I would start off and say that alpha of "~25" are okay, and that anything above that would need some spread. Then you would set the Targeting Computer's limit to 25, and then set each weapons CPU to the same as it's damage value. Then you would work out the finer details from there. Reduce the CPU for LBX weapons and SRMs, increase Gauss and PPC CPU slightly.
After that point you would take it to the test server and gather metrics. You can check if the maximum cylinder is too large or small. If any weapons are too inaccurate/powerful you can decrease/increase their CPU. If any mechs are too heavily effected you could increase their total CPU limit.
Later you can start to use the system to add value to other less used in game items like the Command Console and the Clan Targeting Computers. These items could improve the CPU cap at the expense of tonnage and slots in addition to their other benefits. You could even use it to buff / nerf underpowered / overpowered mechs.
Edited by Troutmonkey, 12 February 2016 - 09:46 PM.