Thursday, May 4, 2023

Months of Apex Legends Bugs Were Caused By a Single Line of Code

Apex Legends developer Respawn Entertainment has revealed that a single line of faulty code tied to an assault rifle was responsible for a slew of audio and graphical bugs that have plagued players during the 16th season of the battle royale game.

Players started reporting the bugs soon after the launch of Season 16 after noticing missing rifle sounds, phantom particle effects, and disappearing grenades that would fail to explode, yet deal the correct amount of damage to nearby enemies. The bugs hadn’t appeared in playtesting, but after a preliminary investigation the most likely cause of the missing effects was narrowed down to a limitation in how the game’s servers parsed out effects.

According to the Reddit post describing the bug hunt, the Apex Legends servers are capable of dispatching up to 128 effect “entries” for each and every frame of gameplay. These entries can include stop/start commands for anything from weapon specific sound effects, to physics impacts, bullet tracers, and more. Any effect requests received by the server after it hit its 128 entry frame limit would be dropped, which could explain the missing sounds and FX reported by players.

This left us with a complex issue that we knew was impacting our community, but was hard to reproduce despite detailed reports

The team then worked to ferret out which faulty process or asset was causing the effect overload. However, as noted in the Reddit update, each new season of Apex Legends sees the introduction of thousands of asset tweaks, and code adjustments. Finding the cause of the problem would be akin to hunting down “a needle in a haystack”.

"This left us with a complex issue that we knew was impacting our community, but was hard to reproduce despite detailed reports, had minimal leads internally, and there were no metrics to prove definitively that this limit was being hit at all," the post read.

Eventually the team found their needle — a single line of code that was attached to the Nemesis rifle that had been introduced in Season 16. The Nemesis was created with a bespoke particle effect, which increased in intensity as the weapon was repeatedly fired.

The team discovered that each player using a nemesis was sending a “stop particle” effect request to the server for every frame that they didn't fire the weapon, even if it was holstered. If enough players were running around with uncharged Nemesis rifles, then the onslaught of stop particle commands was enough to overwhelm the server, causing effects to be dropped.

Thankfully, the team were able to push out a fix for the issue last Tuesday, though the developers warn that the update may not have fixed every one of the FX issues that players have experienced over the course of Season 16.

Anthony is a freelance contributor covering science and video gaming news for IGN. He has over eight years experience of covering breaking developments in multiple scientific fields and absolutely no time for your shenanigans. Follow him on Twitter @BeardConGamer

No comments:

Post a Comment

Nexon's Medieval Fantasy Brawler Warhaven Shutting Down 6 Months After Launching in Early Access

Nexon's medieval fantasy brawler Warhaven is shutting down on April 5, 2024, just six months after it launched on Steam in Early Access...