Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

I've been playing Borderlands 2 coop, which means that there isn't always a lot of time to evaluate loot before deciding to pick it up or equip it.

What is the fastest way to compare the damage output of two weapons? Does the game provide any indication of which items are an upgrade without having to contrast all of the item's stats?

share|improve this question
2  
While I haven't been able to play it yet :(, if it's anything like Borderlands, it's a little difficult to compare weapons like that. It depends what you're looking for. Two weapons may have the same DPS, but maybe one has a higher rate of fire, and the other has higher damage. Or maybe one weapon has higher DPS, but another has higher accuracy. The game doesn't know what you're looking for, so it can't definitively say "This weapon is better than this weapon." –  SaintWacko Sep 18 '12 at 12:37
2  
I agree, this is probably pretty subjective at some point. For sniper rifles, I don't care about DPS but damage per shot as I want to make sure it only takes 1 shot to kill, but for SMGs I may want more DPS. –  z ' Sep 18 '12 at 12:55
    
@SaintWacko that's true, but 'higher DPS' doesn't mean 'better' anyway, or at least not to all players. (Oops, just noticed this is exactly what yx just said as well) –  Alex Sep 18 '12 at 15:20
1  
And to clarify, just like in BL1, if you point your crosshair at the weapon, it will list all the stats compared to your currently equipped weapon with colored down and up arrows with comparisons. But no it doesn't boil it all down to a single number. –  Mufasa Sep 18 '12 at 19:30
3  
"fastest way to compare" Okay, I'm not going to put this as an answer however this is what I do. 1) What colour is it? Rarer is better. 2) What is it's level requirement? Higher weapons have higher base damage. 3) What is it's sell value? More value = more stats. 4) Do detailed analysis (what everyone here is talking about). 5) Live testing if needed. (good weapons feel nice) –  Annan Sep 28 '12 at 1:07
show 3 more comments

6 Answers

up vote 20 down vote accepted

There is no single DPS number that I have seen (only about 45 minutes play time), much like Borderlands. Instead, you've got to look at multiple stats and make a judgement call based on personal preferences. As with Borderlands, I expect that taking things for a spin will be really important when it's a close call.

In addition to the stats you see when you mouse over a weapon, there are at least a few hidden stats: Zoom Level (present in Borderlands 1), recoil, and stability. Shooting down a sight impacts DPS, obviously, and stability is a major factor there. Recoil will affect dps when firing rapidly/burst.

It's not always desirable to shoot as fast as possible (even when not using scopes/iron sights). I think it's just impractical to include a DPS calculation. I do wish Borderlands weapon "cards" showed more stats though. Stability is really important for sniping, for example.

share|improve this answer
1  
Especially with elemental effects it's impossible for a single number to tell the whole story. –  Ben Brocka Sep 26 '12 at 13:39
add comment

I am 30 hours into the game. There is a way, it's quick and dirty and doesn't cover all aspects, but it's better than nothing :

Multiply the damage by the attack speed. This is not a silver bullet, but it gives you a pretty good idea of what makes 80% of the dps.

For example if it's a 100 damage, 2 fire rate sniper rifle versus a 75 damage, 4 fire rate sniper rifle, it boils down to 200 dps versus 300 dps giving the advantage to the second one.

That being said, other factors enter in a gun's performance that are not shown in the stats. A big one for me is the bullet speed... some weapons have great damage but the bullet are so slow (or behave like grenades) so you don't want to use them. Another factor is quickback, or the quality of the visor. So use this rule of thumb i posted, but for your main weapon always test the new one before you sell the old.

share|improve this answer
    
As long as you don't exit the current game session, you can always buy back sold weapons at their full sale price. But yes, be careful when selling weapons when you haven't tested their replacements. –  Mufasa Sep 22 '12 at 15:38
1  
Damage x Fire rate is not even close to 80% of the DPS. One of the first random drops I got was an assault rifle with both of those high but a small clip size and slow reload - it was actually useless. One of my best weapons is a fire SMG with a very high elemental chance but low non-elemental damage - it just annihilates anything without shields or armour. –  Keith Sep 27 '12 at 7:19
add comment

A comparison of damage and firing rate can give you a broad idea, but that's about it.

The best way to compare two similar weapons is to use them in combat.

There are just too many factors to consider:

  • Firing rate vs damage.
  • Clip size vs rate and reload.
  • All Jakobs guns fire as fast as you pull the trigger, but no quicker.
  • All Tedior guns lob as a grenade when you reload.
  • Elemental effects stack and the chance is per shot, so a low damage fire SMG can do a massive amount of damage over a few seconds.
  • Gun recoils and reloads vary a great deal, Hyperion guns get more accurate as they fire, but some others become 'spray and pray' too quickly to be useful.

So use the guns, change up regularly, you'll probably get more Badass challenges and ranks that way anyhow :-)

share|improve this answer
add comment

Sometimes I use the formula (which is pretty accurate and logical) of the BL1 wiki (sometimes I just use what wpn I like). Every stat is important, as others have said, and sometimes one stat matter more to you than others. I added other stats in the wiki formula. It's as follows:

Legend:

  • dmg: Damage
  • dpel: Damage Pellets (the multiplier shotguns have, for example)
  • acc: Accuracy (added in the formula by me)
  • mag: Magazine Size
  • rs: Reload Speed
  • fr: Fire Rate
  • edps: Elemental DPS (added in the formula by me)
  • echa: Elemental Chance (added in the formula by me)
  • esec: How long the elemental effect lasts (added thanks to OrigamiRobot)
  • bps: Bullets consumed per shot (added in the formula by me)

Formula:

DPS={ [ ( ( dmg * dpel+ (edps*esec*echa/100) ) * (mag / bps) ] / [ ( (mag / bps) / fr) + rs ) ] * acc / 100 }

Other Instructions:

  • If the weapon doesn't have damage pellets, use 1 as the value.
  • If the weapon isn't elemental, use 0 in one or all elemental values; mathematically, it doesn't matter.
  • If the weapon doesn't consume more than 1 bullets per shot, use 1 as the value.
  • Instructions for 'esec' value: fire (esec=5), shock (esec=2), corrosive (esec=8), slag (esec=8). Note: The slag effect doesn't deal damage per se, it allows other types of damage to be more effective. Since I can't translate this into a math formula, I'll let this value be. If you would like, feel free to attribute lower values to the esec variable when it's a slag gun (even 0, effectively making it meaningless).

That's pretty much it. It may seem a bit overwhelming, but it's not that much. I wrote a little program in C, where you just feed the values and the program return the DPS. The program even let you save the values in 4 slots while it is open. If you want, I upload it somewhere.

Wiki post: http://borderlands.wikia.com/wiki/DPS

share|improve this answer
1  
You should take into account how long each elemental effect lasts –  user9983 Sep 27 '12 at 12:09
    
Unless you're a Siren, in which case add your Flicker bonus to echa. Also add your badass ranks for damage, elemental damage, elemental chance, reload rate and clip size. Also all Tedior guns explode on reload, and some Dahl guns have a spin up time. You haven't accounted for recoil at all - I've picked up one or two guns (usually Jakobs) where the recoil on the first shot made the rest of the clip useless. Finally there should be some adjustment for weapon time - low accuracy on a shotgun is near irrelevant. –  Keith Oct 2 '12 at 21:39
add comment

A mix of helpful advice and completely unhelpful hand-waving here.

Michel provided a great (and direct) answer to the technical 'DPS' angle. Since his version was in C, I've plunked down my version of a basic jQuery Mobile based weapon DPS output calculator on Github :

http://jacobsanford.github.com/bl2-dps/

Contribs welcome.

share|improve this answer
    
Actually, that formula isn't very useful, because it doesn't take anything beyond basic information into account. Which is sort of important. –  Frank Oct 17 '12 at 14:48
    
What specifically do you feel is missing? –  Jake The Dweeb Oct 17 '12 at 15:02
    
A fast glance shows that it looks like you just yanked his formula wholesale. In which case, take a look at the comment on his answer. There's much more you need to take into account. –  Frank Oct 17 '12 at 15:20
    
Surprisingly, I began from the start and built up the formulae myself. But thanks for the concern. –  Jake The Dweeb Oct 17 '12 at 15:23
    
I did read the comment on his answer. Consider that most problems like this can be broken down into a linear combination of contributions. Based on that, I would suggest that having a 'raw damage out of gun' metric is a great starting place for a complete model. You are welcome to add in the 'Tediore grenade' factor, Dahl spin-up, or model the loss of accuracy through recoil. That's why I've opened it up in github. Please note, however, that the other factors mentioned in that comment are independent of the weapon. Repeating permutations of 'This is complex' ad nauseum isn't helpful at all. –  Jake The Dweeb Oct 17 '12 at 15:32
show 1 more comment

I've written a terrible program in terribly written Python that attempts to do DPS calculation at a very basic level. I've been using it to compare weapons for a while and it doesn't seem terribly wrong most of the time.

What it does is simulate firing a gun for 60 seconds, then divide the damage dealt by 60. It keeps count of:

  • Weapon damage
  • Fire rate
  • Magazine
  • Elemental damage
  • Damage type (vs flesh, shield, armor)
  • Playthrough (by default it uses the second)
  • Optionally accuracy in mostly bogus ways (but not by default)
  • Optionally recoil in definitely bogus ways (but not by default)
  • Optionally bonus stats from badass ranks (but not by default)

It does not work well if:

  • The weapon has any fancy attributes (= red text)
  • You're comparing shotguns with non-shotguns (because by default all pellets hit all the time)
  • You're comparing sniper rifles with non-sniper rifles (because calculating critical hits is rather complicated... and why would you do that to begin with?)
  • It's a pistol with a "x2" damage multiplier (unless that means it fires two pellets at once, then see above remarks about shotguns)
  • It's an e-tech gun (you really need to see how the e-tech gun works, if at all, before you start comparing damage outputs)
  • The game doesn't behave like I modeled it

I'll put here the bulk of the calculation for easier peer review:

def dps(weapon,
        playthrough = 2,
        bonusStats = zeroStats,
        referenceTime = 60,
        accuracyAdjusting = lambda x: 1, # lambda x: x**(1/3),
        accountForRecoilInVastlyBogusWays = False):
  time = 0
  damage = Damage(0,0,0)
  ammoCount = weapon.magazine
  recoilMalus = 0
  while time <= referenceTime:
    time += 1/(weapon.fireRate * bonusStats.rate)
    for i in xrange(weapon.pelletCount):
      if random() < accuracyAdjusting(weapon.accuracy/100 * bonusStats.accuracy + recoilMalus):
        damage.add(weapon.damage * bonusStats.damage, weapon.element, playthrough)
        if weapon.element:
          if random() < weapon.elementChance/100 * bonusStats.elementChance:
            damage.add(weapon.elementDPS * bonusStats.elementDamage * elementLength[weapon.element],
                       weapon.element, playthrough) #this adjusts damage type vs health type
    ammoCount -= 1
    if accountForRecoilInVastlyBogusWays:
      recoilMalus -= 0.01 * 1/bonusStats.recoil
    if ammoCount == 0:
      time += weapon.reloadTime * bonusStats.reload
      ammoCount = weapon.magazine
      recoilMalus = 0
  return damage/time 

As is the program runs in the console and asks you to pretty much type in the weapon card, spitting out the DPS in return. It's licensed as WTFPL so feel free to improve it in all the ways.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.