I put together a fleet calculator/planner/organiser database application for a friend, and decided I'd share it with y'all, in the case someone finds it helpful.
Check it out: http://insomnia-party.com/heff/static.php?page=sinscalc
Current version: v2.2
Well, DPS is just damage divided by cooldown so I don't understand what you mean..
Well let's look at the Disciple Vessel: Damage/Cooldown is easy, as it only has 1 gun.
46.75 damage, I'm not sure which property defines cooldown, but let's assume it's 3. Therefore: 46.75/3 = 15.58 DPS.
But what about ships with multiple batteries/targets per battery? Like the Solanus Adjudicator - 1 forward facing weapon battery, doing 60 damage per shot. Except that battery can have up to 5 simultaneous batteries. Do I divide the damage by 5? Do all targets take 60 damage?
Capitals get even more complicated - many batteries, many targets. I'm just not sure how to bring it together. Maths is not my strong suit
Okay. I'll copy over some data from a capital ship and go through the relevant stuff for such a program.
TXT
entityType "CapitalShip"ability:0 "AbilityGaussBlast"ability:1 "AbilityFlakBurst"ability:2 "AbilityAdaptiveShield"ability:3 "AbilityLastStand"ability:4 ""defaultAutoAttackRange "GravityWell"defaultAutoAttackOn TRUEprefersToFocusFire TRUEusesFighterAttack FALSEautoJoinFleetDefault TRUEcanBomb TRUEhasBombingLevels FALSEbaseDamage 43.000000basePopulationKilled 1.700000bombingFreqTime 10.000000baseRange 3000.000000bombTransitTime 12.000000bombEffectCount 3bombEffectAngleVariance 15.000000bombEffectsDef weaponType "Projectile" burstCount 1 burstDelay 0.000000 muzzleEffectName "Weapon_TechCapitalPlanetBombing_Muzzle" muzzleSoundMinRespawnTime 0.100000 muzzleSounds soundCount 1 sound "WEAPON_TECH_PLANETBOMB_MUZZLE" hitEffectName "Weapon_TechCapitalPlanetBombing_Hit" hitHullEffectSounds soundCount 3 sound "EXPLOSION_SUB4" sound "EXPLOSION_SUB4_ALT1" sound "EXPLOSION_SUB4_ALT2" hitShieldsEffectSounds soundCount 3 sound "EXPLOSION_SUB4" sound "EXPLOSION_SUB4_ALT1" sound "EXPLOSION_SUB4_ALT2" projectileTravelEffectName "Weapon_TechCapitalPlanetBombing_Travel"mainViewIcon "MAINVIEWICON_CAPITALSHIP_TECHBATTLESHIP"basePrice credits 3000.000000 metal 400.000000 crystal 250.000000slotCount 50.000000BuildTime 75.000000MaxHullPoints StartValue 3000.000000 ValueIncreasePerLevel 120.000000MaxShieldPoints StartValue 1250.000000 ValueIncreasePerLevel 135.000000HullPointRestoreRate StartValue 1.500000 ValueIncreasePerLevel 0.100000ShieldPointRestoreRate StartValue 3.000000 ValueIncreasePerLevel 0.200000ArmorPointsFromExperience StartValue 5.000000 ValueIncreasePerLevel 0.450000maxMitigation StartValue 0.650000 ValueIncreasePerLevel 0.011110MaxAntiMatter StartValue 225.000000 ValueIncreasePerLevel 20.000000AntiMatterRestoreRate StartValue 0.750000 ValueIncreasePerLevel 0.080000CultureProtectRate StartValue 0.300000 ValueIncreasePerLevel 0.050000NameStringID "IDS_CAPITALSHIP_TECHBATTLESHIP_NAME"DescriptionStringID "IDS_CAPITALSHIP_TECHBATTLESHIP_DESCRIPTION"picture "CAPITALSHIPPICTURE_TECHBATTLESHIP"Prerequisites NumResearchPrerequisites 0roleType "Invalid"statCountType "CapitalShipBattleship"numRandomDebrisLarge 6numRandomDebrisSmall 12numSpecificDebris 0armorType "CapitalShip"hudIcon "HUDICON_CAPITALSHIP_TECHBATTLESHIP"smallHudIcon "HUDICONSMALL_CAPITALSHIP_TECHBATTLESHIP"infoCardIcon "INFOCARDICON_CAPITALSHIP_TECHBATTLESHIP"minZoomDistanceMult 1.250000NumWeapons 3Weapon WeaponType "Beam" damageEnums AttackType "CAPITALSHIP" DamageAffectType "AFFECTS_SHIELDS_AND_HULL" DamageApplyType "OVERTIME" DamageType "ENERGY" WeaponClassType "BEAM" DamagePerBank:FRONT 126.000000 DamagePerBank:BACK 0.000000 DamagePerBank:LEFT 0.000000 DamagePerBank:RIGHT 0.000000 Range 5000.000000 PreBuffCooldownTime 14.000000 CanFireAtFighter FALSE SynchronizedTargeting TRUE PointStaggerDelay 0.250000 TravelSpeed 0.000000 Duration 4.000000 fireConstraintType "CanAlwaysFire" WeaponEffects weaponType "Beam" burstCount 1 burstDelay 0.000000 muzzleEffectName "Weapon_TechCapitalBeamHeavy_Muzzle" muzzleSoundMinRespawnTime 0.100000 muzzleSounds soundCount 1 sound "" hitEffectName "Weapon_TechCapitalBeamHeavy_Hit" hitHullEffectSounds soundCount 1 sound "" hitShieldsEffectSounds soundCount 1 sound "" beamEffectSounds soundCount 1 sound "WEAPON_TECHCAPITALBEAMHEAVY_TRAVEL" beamGlowTextureName "TechCapitalBeam_Glow" beamCoreTextureName "TechCapitalBeam_Core" beamWidth 35.000000 beamGlowColor ffffffff beamCoreColor ffffffff beamTilingRate 3.000000Weapon WeaponType "Projectile" damageEnums AttackType "CAPITALSHIP" DamageAffectType "AFFECTS_SHIELDS_AND_HULL" DamageApplyType "BACKLOADED" DamageType "PHYSICAL" WeaponClassType "AUTOCANNON" DamagePerBank:FRONT 27.000000 DamagePerBank:BACK 49.500000 DamagePerBank:LEFT 49.500000 DamagePerBank:RIGHT 27.000000 Range 5000.000000 PreBuffCooldownTime 4.500000 CanFireAtFighter FALSE SynchronizedTargeting FALSE PointStaggerDelay 1.000000 TravelSpeed 4000.000000 Duration 0.000000 fireConstraintType "CanAlwaysFire" WeaponEffects weaponType "Projectile" burstCount 15 burstDelay 0.060000 muzzleEffectName "Weapon_TechCapitalAutoCannonHeavy_Muzzle" muzzleSoundMinRespawnTime 0.770000 muzzleSounds soundCount 3 sound "WEAPON_TECHCAPITALAUTOCANNONHEAVY_MUZZLE" sound "WEAPON_TECHCAPITALAUTOCANNONHEAVY_MUZZLE_ALT1" sound "WEAPON_TECHCAPITALAUTOCANNONHEAVY_MUZZLE_ALT2" hitEffectName "Weapon_TechCapitalAutoCannonHeavy_Hit" hitHullEffectSounds soundCount 1 sound "WEAPONIMPACT_PHYSICALHEAVY_HITHULL" hitShieldsEffectSounds soundCount 1 sound "WEAPONIMPACT_GENERICHEAVY_HITSHIELDS" projectileTravelEffectName "Weapon_TechCapitalAutoCannonHeavy_Travel"Weapon WeaponType "Projectile" damageEnums AttackType "CAPITALSHIP" DamageAffectType "AFFECTS_SHIELDS_AND_HULL" DamageApplyType "BACKLOADED" DamageType "ENERGY" WeaponClassType "LASERTECH" DamagePerBank:FRONT 45.375000 DamagePerBank:BACK 0.000000 DamagePerBank:LEFT 0.000000 DamagePerBank:RIGHT 0.000000 Range 5000.000000 PreBuffCooldownTime 5.500000 CanFireAtFighter FALSE SynchronizedTargeting TRUE PointStaggerDelay 0.900000 TravelSpeed 2000.000000 Duration 0.000000 fireConstraintType "CanAlwaysFire" WeaponEffects weaponType "Projectile" burstCount 1 burstDelay 0.000000 muzzleEffectName "Weapon_TechCapitalLaserHeavy_Muzzle" muzzleSoundMinRespawnTime 0.100000 muzzleSounds soundCount 2 sound "WEAPON_TECHCAPITALFIREBALLHEAVY_MUZZLE" sound "WEAPON_TECHCAPITALFIREBALLHEAVY_MUZZLE_ALT1" hitEffectName "Weapon_TechCapitalLaserHeavy_Hit" hitHullEffectSounds soundCount 1 sound "WEAPONIMPACT_PHYSICALHEAVY_HITHULL" hitShieldsEffectSounds soundCount 1 sound "WEAPONIMPACT_GENERICHEAVY_HITSHIELDS" projectileTravelEffectName "Weapon_TechCapitalLaserHeavy_Travel"m_weaponIndexForRange 0firingAlignmentType "Default"TargetCountPerBank:FRONT 1TargetCountPerBank:BACK 1TargetCountPerBank:LEFT 1TargetCountPerBank:RIGHT 1
...
This is WIP to see what it looks like. I'll double post when done.
Note: Port=left, starboard=right, fore=front, aft=back in case you didn't know. I'll be using these terms.
I've highlighted the relevant things. The way a ship such as this works is that it will focus as many guns as possible on a single target. In the case of the Kol, you can easily look at it's damage banks and tell that it's foreward guns are going to deal more total damage than any of it's other sides. That means that if you give it an attack order, it will face the target ship. Some ships (such as the Akkan for instance) will actually turn sideways because they have most of their DPS on one side or another. I'm assuming you know what to do with the hull, shields, cost, etc, so let's just look at the damages.
Beam Cannons---------------------------------------------------
DamagePerBank:FRONT 126.000000PreBuffCooldownTime 14.000000
That means that it's beam cannons will deal 126/14=9 DPS.
Aurocannons---------------------------------------------------
DamagePerBank:FRONT 27.000000DamagePerBank:BACK 49.500000DamagePerBank:LEFT 49.500000DamagePerBank:RIGHT 27.000000PreBuffCooldownTime 4.500000
That means that the various autocannon banks on the Kol will deal 6/11/11/6 DPS from it's fore/aft/port/starboard banks respectively. Now, because most of the Kol's damage is towards the front, all forward facing guns will constitute it's "Focused DPS" while all others will only be included in "Total DPS." Focused DPS is the amount of damage output a ship (or fleet) can deal to a single target. It could also be noted here that the Kol is one of the few ships that can actually fire behind itself while retreating as it has rear autocannons
Laser Cannons-----------------------------------------------------
DamagePerBank:FRONT 45.375000PreBuffCooldownTime 5.500000
Once again, simple math dictates that the laser batteries deal 45.375/5.5=8.25 DPS.
Bank Targets------------------------------------------------------
TargetCountPerBank:FRONT 1TargetCountPerBank:BACK 1TargetCountPerBank:LEFT 1TargetCountPerBank:RIGHT 1
This signifies that on the Kol (as well as almost every other capital and frigate in the game; the only exceptions are the Advent's Solanus Adjudicator, starbases, and titans) may target one enemy ship per bank. If the fore bank could have two targets instead, that would not increase focused DPS of the ship. Additional bank targets, even if on the dominant bank, do NOT add to focused DPS. They will target a different ship within their firing arc. In this way, doubling all bank targets for instance will double Total DPS, but will not change Focused DPS.
Now we know and have all we need to calculate the focused and total DPS of the Kol. As observed prior, most of it's damage is output through the front. We will prove this now. By adding the damage from each bank together, we can see how the foreward bank's DPS compares to that of the others.
Fore: 9 (beam) + 6 (autocannon) + 8.25 (laser) = 23.25 DPSAft: 11 (autocannon) DPSPort: 11 (autocannon) DPSStarboard: 6 (autocannon) DPS
Total DPS: = 23.25 (fore) + 11 (aft) + 11 (port) + 6 (starboard) = 51.25 DPS
As you can see, forward guns clearly overpower the remaining ones, which means that during combat, the Kol will face it's target with it's forward guns. It's remaining guns will only acquire targets if enemy ships happen to be in their firing arcs. The ship's AI will NOT actively try to fire multiple banks. It's primary bank is active and the ship will automatically rotate it's primary bank towards the enemy. All subordinate banks are passive, that is, if enemy ships happen to be in their firing arcs, they'll fire; otherwise, no.
Knowing all of this, we can easily identify the focused DPS of the Kol as 23.25 DPS while it's total DPS is 51.25.
The reason that both of these are useful is that focused fire is the primary way that damage is dealt and is ultimately what matters in the game, particularly in larger battles. If you look at the equation I used earlier to calculate Fleet Efficiency, I weighted focused DPS as 1.5 and total as only 0.8. Both are relevant, but focused is more important.
aforementioned notifying double post.
Great guide. Two more questions though: do I assume multiple target ships (Adjudicator) are firing on one target, for simplicity's sake? And carriers: Drone Host total DPS = DPS of their fighters X fighter capacity?
Taken from the patch notes:
Solanus Adjudicator damage increased from 60 to 70; Targets per Bank reduced from 5 to 4.
This means that each target under fire from the Adjudicator will take 70 damage per volley, which with a cooldown of 4.0 seconds, comes out to 17.5 DPS. Because having multiple banks will not increase damage against individual targets, it's focused DPS is 17.5. It's total DPS however is 17.5 * 4 bank targets = 70 DPS.
Total DPS should always be viewed as an ideal situation, though one that is not achievable. For instance, IIRC, when the Adjudicator was first made, it had very low damage, but could attack seven different targets simultaneously. That was great for turret farms, but most people will only have a few useful (and therefore priority target) structures, meaning that it was largely useless, resulting in reductions in targets per bank and increases in damage.
A drone host is interesting as of course it's damage is indirect. A Light Carrier houses squads which themselves are groups of fighters/bombers which deal the actual damage. The damage output of a carrier is the number of squads multiplied by the DPS of each strike craft within that squad.
Let's take a look at the Vasari Light Carrier. It houses two squadrons. Let's go with bombers for a moment. A Vasari bomber squad has three individual bombers, each of which deals 5.70 DPS, meaning that presuming using exclusively bombers, the carrier's indirect damage output would be 5.70 * 3 bombers * 2 squads = 34.18 DPS.
Looking at the Aeria Drone Host, it houses 3.29 DPS bombers which number seven per squad and three squads per Aeria, resulting in a total DPS of 3.29 * 7 * 3 = 69.09 DPS.
Perhaps there should even be an alternate field that is only visible when light carriers are present: "Peak Strikecraft Damage." Such a field would be dedicated to the direct damage output of the first pass of bombers. For instance, with the Advent's bombers, their damage dealt via a single beam strike is 34.41. You would then multiply that by the number per squad times number per carrier to get peak damage. In the case of Aerias fully loaded with bombers, you end up with 34.41 * 7 * 3 = 722.61 damage. Now, because the first few bombers will instantly max mitigation, the remaining bombers will only deal 40% damage at maximum. That said, it is still fearsome to behold.
Those numbers are why bomber spam is so good. Bombers are free to produce once you have the carriers and deal more damage than any other unit by a long shot.
EDIT: Let's just see what the Vasari's PSD would be.. 76.9*3*2=461.4 damage dealt on the first pass. Likewise, TEC Percheron Light Carriers with bombers have a PSD of 444. Carrying on for fighters, it would be...
Advent Fighters PSD: 3*9*16.00=384Vasari Fighters PSD: 2*4*30.75=246TEC Fighters PSD: 2*6*19.50=234
Hey, I just happened apon this thread... Volt I've often wondered how the multi-target/multi-bank weapons work exactly...
For instance, what you mentioned above about the Adjudicator: I'm not sure if you're taking the 70 damage and diving it by the targets per bank or the cooldown to get to the dps per target or if you would need to divide by 16 to do that... or is 'targets per bank' a maximum number? if there's only 1 target in range of 1 bank.... how much damage is done to it?
I kinda noticed the titans have multiple targets and such, and I was thinking about how I'd handle all this on my chart
A ship's listed bank damage from it's weapons is the maximum amount of damage per volley that can be dealt to a single target. In the case of the Adjudicator, that number is 70. If you have four targets, each target will receive 70. If you have 1 target, it will receive 70. Bank targets cannot fire on the same target unfortunately, or perhaps fortunately because otherwise the FF from titans and starbases would annihilate everything else without effort.
ah, so if the adjudicator has 4 targets in range of 1 bank, the total damage it deals is 70*4 targets = 280?
Yep, but it's focused damage will still only be 70 damage.
Update: I'm currently adding the properly calculated DPS values to the database, as well as effective hull and shield values.
As per a user request, I'm also adding defense structures (Starbase, Turrets, Hangar Bays) to the database.
looking forward to it
Volt: if you could power up your super math skills and give me an equation (explained, as I am stupid) for a "fleet score" like you mentioned previously, I can plug that in when I update the program itself.
Extracted from previous posts & the excel file... Raw values are in italics while computed values are bolded.
Mult Efficiency = (Quantity of Ship Type)*((Quantity of Ship Type)*(1.(Focus DPS)+0.7*(Total DPS))+(Quantity of Ship Type)*(Effective Hull+0.8*Shields))/(Quantity of Ship Type)*(2.(Metal+Crystal)+Credits+(Build Time)+100*(Fleet Supply for Ship))
Fleet Score = (100 * SUM(Mult Efficiencies)/SUM(Quantity of Ship Type)) / (1+ln(1 + (Most Common Armor Count - Second Most Common)))
Basically, you calculate the Ship Efficiency, which is a measure of the effectiveness of a given type of ship. This is then multiplied by the number of ships that exist of that type for Mult Efficiency. You then sum all Mult Efficiencies from all ship types in the fleet and divide that by the total number of ships in the fleet. Last, you multiply Fleet Efficiency by 100 and divide by one plus the logarithm of one plus the difference between the two most common armor types.
With just variables, it would look more friendly:
E = Q*(Q*(1.F+0.7*T)+Q*(H+0.8*S))/(Q*(2.(M+C)+$+B+100*S))
F = (100 * SUM(E)/SUM(Q)) / (1+ln(1 + (A1 - A2)))
Looking at this, I'm seeing that you can simplify it a bit, so I'll do that for you.
E = Q*(4.F+2.T+H+0.8*S)/(2.(M+C)+$+B+100*S)
EDIT: Due to the stupidity of the forums, it thinks a number followed by a * is that, so just read as 3 multiplied by ___
Oh boy...that's going to take awhile to comprehend. Lol. Stay in school, kids. Few questions:
What does $ represent in Efficiency?
What does ln mean in in fleet score?
edit: $ = credits. durrr
edit 2: ln = natural logarithm?
yep
Update: the database is now completely tuned for the new features, with the exception of the new Strikecraft category, and I've decided to omit starbases, as their infantile form in no way represents their usefulness, and I can't come to a consensus on how they should be expressed in the database without massively throwing off the point.
All that's left to do now is update the program itself to consider the new data. Expect a new release within a day or so.
Good. Very good program.
Alright guys! v2.2 is here!
What's new:
-Orbital Defense structures!
-Proper DPS calculations!
-Vasari now uses data ripped straight from Rebellion, so it should be a decent representation!
-Fleet Scoring!
Find it in the usual spot: http://insomnia-party.com/heff/static.php?page=sinscalc
Or direct link: http://insomnia-party.com/heff/res/SinsFleetCalc_2200.rar
Some notes:
1. As with previous releases, this version will be incompatible with old databases due to the new additions.
2. I believe the program is now in a somewhat stable state, and as such, all upcoming releases will come with a tool to convert your old database to whatever database I deploy with the next versions - this will enable you to transfer your fleets from old versions to the latest version.
3. The fleet score is calculated like so:
Efficiency of a unit = credits + (metal * 1.5) + (crystal * 2) + (supply * 100) / effective hull + (shields * 1.5) + (dps * 5)
Note: I ranked the resources in order of importance (in my opinion) on the left side of the equation, hence their multiplied values. The multipled number = just how much more important they are, or so the idea is. Similar for the other side of the equation.
Fleet Score = Sum of all efficiency scores for the fleet, divided by 100.
As usual, feedback, criticisms and whatnot are all welcome. Have fun!
The way you are calculating efficiency, the worse the unit is, the higher the score which will lead to a higher score. I also hope that you forgot some parentheses when typing this out because otherwise this won't work very well. Last, presuming that you forgot some parentheses, I would suggest that you flip your numerator and denominator such that you would have better fleets with higher scores as follows:
Efficiency of a unit = (effective hull + (shields * 1.5) + (dps * 5)) / (credits + (metal * 1.5) + (crystal * 2) + (supply * 100))
Something else, your fleet score system is linear, meaning that having higher numbers of ships will almost always result in a higher score. I would at least suggest changing it to the following if you don't intend to make it as complicated as my version:
Fleet Score = 100 * (SUM(Efficiencies) / Number of Ships)
You see, what you're doing is you're just adding together and dividing by 100, meaning that a small fleet is always going to have a tiny score while only large ones will have decent scores. I understand the point behind that, but I feel like there should be some sort of universal-ish standard that a user can look at regardless of fleet size to determine how they are doing.
What I suggested above (though I still prefer my system found a few posts prior, but I'm allowed to be biased) would IMO be better as you effectively find the average efficiency and multiply that number by 100 to get a whole number with some decimals after it which IMO is what a score should look like, not just an arbitrary decimal as is the case with yours.
I know your equation was superior, calculus and whatnot, but making it work was giving me grief thanks in no small part to an extreme headache that just won't gtfo, so I went with something simple for the time being. It'll be fixed in a coming update.
.. That didn't have calculus in it.. It was just algebra. I mean, I suppose I could do something to collect such a wide breadth of data that integrals/derivatives could be useful, but so far as I can tell, they don't really apply.
can't tell if sarcasm
Great explanations guys. I've pinned this to the Modder's Answer page. Looks like I am going to have to figure some sort of graphical UI for it with all these links.
I'd love for whoever does the official SoaSE wiki to let me in so I could start annotating and condensing these things and putting them there. i think the wiki is great and would love to start expanding content on it.
Call me.
Great job SkyMarshall--you're linked there too.
I'm being completely serious. All mine was was algebra and sums, neither of which is calculus. If it was calculus, you'd have seen limits, derivatives, and/or integrals.
The wiki isn't done by a single person so far as I know. I've edited it before when I found inaccuracies on the Jarrasul and Kortul for instance.
There are many great features available to you once you register, including:
Sign in or Create Account