A Flaw in Fortnite and PUBG Ties Frame Rate to Fire Rate

(Image credit: Epic Games)

You can play Fortnite and PlayerUnknown's Battlegrounds (PUBG) on pretty much anything. Both games support a wide variety of hardware, and with their fairly extensive graphics options, it's not hard to get decent performance from most setups. But a pair of players have found out there are hidden benefits to playing these battle royale titles on a system that can push as many frames as possible.

Intrepid players of both games, WackyJacky101 on YouTube and u/0x011A on Reddit have discovered that frame rate directly affects how quickly guns fire. It appears to be a relatively simple relationship: more frames per second, more shots per second. However, things are actually slightly more complicated than that for PUBG, and people are still investigating on social media. The problem appears to result from a flaw in Unreal Engine 4, and because Fortnite and PUBG were both made with that engine, it affects them as well.

How does this affect gameplay?

This flaw probably wasn't the reason you last died to someone in either battle royale. All other things—your skill level or equipped weapon, etc.—would have to be equal for that to be the case. The odds of that happening in a given match are minimal.

But a big part of the battle royale genre's appeal is that games aren't pay-to-win (with the exception of certain emotes offering unintended benefits players can exploit). Nor are they limited to team-based modes where your chances of victory depend on the quality of the matchmaking system. Everyone is supposed to be on a level playing field at the start, with the only real advantages they can get being the equipment they find strewn about the map.

Having a higher fire rate than someone else because your system can push more frames than theirs wdefy that concept. Sure, better hardware can offer certain out-of-game advantages, like a smoother experience. But this is a measurable in-game advantage, not a matter of personal preference. 

A tweet from Fortnite's Twitter account responded to streamer Benjamin “DrLupo” Lupo’s tweet about this issue. Lupo has casted several Fortnite tournaments in addition to streaming the game to thousands of subscribers; his tweet was bound to get the company's attention.

"Thanks for bringing this to our attention. We're aware of this issue and are investigating a fix for it," the Fortnite account's response said.

It's not clear if Epic plans to fix the issue in Fortnite or, if it's Unreal Engine 4's fault, the engine itself.

Nathaniel Mott
Freelance News & Features Writer

Nathaniel Mott is a freelance news and features writer for Tom's Hardware US, covering breaking news, security, and the silliest aspects of the tech industry.

  • R_1
    oopsie
    "wdefy that concept"
    Reply
  • Krazie_Ivan
    a single 1fps variance in PUBG is the same as the game attaching/detatching a grip from your gun mid-spray (which alters recoil by up to 15%)... it's a bit more an issue than just RoF, esp if you're like most people & don't own a system that can pin framerate at 138hz constant through RTSS. even then, framerate limiters are not 100% perfect.
    Reply
  • badnewsbruner
    I dont play fortnite because I'm not 14, but as far as pubg goes more frames doesnt mean higher fire rate. If you watch WackyJacky101's video, you'll notice that certain weapons fire faster when your frame rate is a multiple of the number of rounds your equipped weapon fires per second. Everyone is affected by this, it doesnt give an advantage to particular level of hardware. It literally means that the weapons are constantly changing rate of fire as your frame rate fluctuates. This is a HUGE problem for pubg because Bluehole is and has been making the claim that this game is esport ready. I love pubg, but it is definitely NOT esport ready, especially with a bug like this.
    Reply
  • thegsusfreek
    As someone who's developed FPSs on Unreal Engine for 14+ years... yup! Unless you do some work to mitigate it, this is "default" behavior on Unreal (and likely every other game engine).

    The issue is straight-forward. Your framerate determines how fast the game "ticks". When your weapon fires, there is a cooldown time until it can fire again. The next time the weapon will fire will be the first "tick" *after* the cooldown expires. At this point, the timer is reset.

    Probably the best (or at least the quickest) workaround is to subtract the cooldown time from how long it's *actually* been since the last shot, and subtract that delta from the next cooldown time.
    Reply