Poor netcode is a cardinal sin for a modern fighting game. We live in a world of online play, and in a genre that’s all about competition, decent network coding is paramount. And early in Street Fighter V’s life, players began to notice something troubling: The online play was pretty rough, leading to a widespread belief that the netcode was somehow flawed. As it happens, there was a small but significant bug causing the problem, one that Capcom failed to fix for nearly four years. Now, the publisher has finally taken steps to address the underlying issue, but the community didn’t spend all that time waiting around. In fact, one unofficial fix, created by a modder named Altimor and released this January, solved the problem sooner—and, according to some fans, actually solved it better than the official patch.
Let’s get everybody up to speed here. Street Fighter V launched in February 2016 to mostly middling reviews. (The PlayStation 4 Metacritic average of 77 might not seem too bad—but Street Fighter IV notched a 94 back on PS3.) The sequel failed to catch the attention of casual fans of the series, and with no story mode at launch and little single-player content since, there really wasn’t much to draw in newcomers. This multiplayer-centric approach stood in stark contrast to the broader trends in the genre. Since 2011’s Mortal Kombat, NetherRealm Studios has seen a huge rise in the success of its fighting games thanks in large part to their fleshed-out story modes, finding huge success with casual players. The expectation was that Street Fighter V would follow suit. When no such content came at launch, neither did a huge wave of new fans.
All Capcom had left, then, were the hardcore fans: the people who play Street Fighter for the competition, and even then Street Fighter V proved to be a tough sell. To say there was a mass exodus would be overstating things, but we’ve certainly seen Street Fighter cede ground to the competition in recent years. Tekken 7 is reaching new heights of popularity for the franchise. More eyes are on games like Super Smash Bros. Ultimate and Dragon Ball FighterZ. Street Fighter is now sharing a spotlight it once held alone.
The state of the game at launch had some players and critics accusing Capcom of rushing the game out before it was ready. At the time Street Fighter V entered development, Capcom was recovering from two years of underperforming titles that had led to a downturn in profits, and when launch rolled around the company was making a substantial push into esports. Launching a big title quickly, and especially in time for the planned Capcom Pro Tour and Evo 2016, would have been a reasonable priority.
And the most glaring issue—certainly the most enduring—has been its online play. Understanding what netcode is and how it can fail can be a bit technical, so I reached out to Altimor, the modder who helped discover and eventually develop a solution for the problem, for his perspective.
“I decided to look into SFV‘s netcode because it’s a major issue with the game and the issues seemed to be only caused by one small bug,” Altimor said. “During the beta, Mike Zaimont [the creator of Skullgirls] theorized that it was caused by timing desync, and the evidence for that was very strong. I don’t play SFV much, but I thought it was silly that Capcom hadn’t fixed the bug after nearly four years when the cause was known. I had a good idea of what to look for, and the issue turned out to be exactly as expected.”
In layman’s terms, Street Fighter V uses a system for online play that regularly desynchronizes and resynchronizes players in order to keep the game feeling the way it should. Due to latency and other network considerations, not every frame of action can match your opponent’s exactly in an online match. Effective netcode checks in at regular intervals to catch up or slow down the action for each player—resynchronizing the two instances of the game—ideally in a smooth, seamless, and fair way. However, in Street Fighter V’s case, Altimor noticed that there was a problem where the game would desync without resyncing correctly, or at all. This often meant online matches could feel perfectly fine for one player while being completely busted for their opponent. So why was nothing done?
“I think Capcom never bothered to look into it,” Altimor theorized. “While a lot of people in the West were aware that the issues were likely caused by timing desync, it’s possible that that knowledge didn’t get circulated in Japan. We’ve seen similar things with Japanese development teams not being aware of the existence of GGPO, a fighting game networking library that’s well known in the Western [fighting game community] for providing a great online experience in games that use it.
Rumors have circulated that Capcom outsourced Street Fighter V’s netcode. If true, Altimor said, it’s possible “Capcom couldn’t get a hold of the developers that wrote that code and didn’t have anyone with sufficient familiarity with rollback networking in-house.” Altimor does not have access to the source code of the game and is forced to reverse engineer everything. His initial patch took him two days to make, but he said that with proper access he could have done it in 30 minutes.
It’s worth noting that Capcom has never confirmed this theory, though it’s gained significant traction among the Street Fighter V community as to why this problem persisted for so long. Whatever the cause, it’s undeniable that Capcom was either unable or unwilling to fix this serious issue in one of its biggest titles, and other easy explanations are hard to come by. Case in point: The next fighting game the company released, Marvel vs. Capcom: Infinite, has similar netcode design but not this particular bug. Everything works as it should.
With just a couple of days of digging around in the Street Fighter V code, Altimor was able to create a simple patch that largely fixed the online issue. Many prominent members of the Street Fighter community tried his fix and were pleased with the results. People were playing across continents and finding they could play better matches than ever before. Altimor was onto a winner, but there were still issues to be ironed out.
First, to implement Altimor’s fix, you had to install the files manually into your game. This would mean that the improvement is only on your end, and in all likelihood your opponent’s experience would be unchanged. Bad news for the PC players who weren’t using the fix, and even worse news for PlayStation 4 players who couldn’t. And since Street Fighter V has crossplay between the two platforms, PC players who installed the unofficial patch arguably had an unfair advantage. As such, Altimor set to work improving his patch to also enact the fix for the opponent, regardless of their platform.
You’ll notice a lot of past tense in that previous paragraph, and that’s because Altimor’s patch no longer works. Last month, when Capcom released its own patch designed to improve Street Fighter V’s netcode, Altimor’s earlier fix was rendered unusable. After the update, players reported that the game would only run if the modified files were rolled back, but Altimor told me this wasn’t some intentional effort on Capcom’s part to “ban” players using modded code. “My mod relies on certain data structures and code remaining unchanged, so the changes in the patch broke it unintentionally,” he said.
So was the official fix, delayed as it was, worth the wait? General discussion online suggests the latest patch has improved the game—although some argue not as drastically as Altimor’s earlier solution. Another modder called Fluffy who also made a netcode patch has called this change a baby version of what Altimor did.
Capcom, perhaps notably, hasn’t addressed why the patch took so long to release or what prompted it to implement a fix. The company stayed silent in the weeks after Altimor first released his solution, leading many fans, myself included, to assume it had already turned its attention to a sequel. Indeed, rumors of Street Fighter VI are beginning to emerge, sparked in part by this year’s Capcom Cup. Each year, the grand final winner of this tournament automatically qualifies for the next year’s event. But in 2015, the winner didn’t automatically qualify—because the following year the tournament moved from Street Fighter IV to Street Fighter V. Now, the publisher has confirmed that the winner of the Capcom Cup 2020 will not automatically qualify for 2021. Could that be because Street Fighter 6 will launch before next year’s event? Coupled with the recent launch Street Fighter V: Champion Edition, which feels a lot like a final update, it’s reasonable enough to speculate that Street Fighter V is on its way out.
That state of affairs, coupled with the timing of the official fix (just a little more than a month after Altimor’s unofficial patch first went live), has led some to speculate that Capcom only updated the game because of Altimor. But there’s another plausible explanation. Later this year, Street Fighter V will be one of two games, along with Rocket League, that players will compete in during the Intel World Open. This tournament is an extremely high-profile one for Capcom, because the finals will be held at the 2020 Summer Olympics in Tokyo. (That is, assuming the current coronavirus outbreak doesn’t prompt the International Olympic Committee to delay or cancel the event.) And the qualifiers will take place online: a tricky situation for any fighting games, but a particular challenge for Street Fighter V, given its history.
Now, with the new patch, the proceedings will play out a little bit smoother. Whether or not competitors have Altimor to thank for that, we may never know.
All images: Capcom