A Fighting Chance to Live: The Story of FightCade
How FightCade saved an online classic gaming community from the brink of doom.
This article first appeared on USgamer, a partner publication of VG247. Some content, such as this article, has been migrated to VG247 for posterity after USgamer's closure - but it has not been edited or further vetted by the VG247 team.
EVO is only a few weeks away.
As usual, the main headliners will be current releases like Ultra Street Fighter IV and Ultimate Marvel Vs. Capcom 3. But behind the scenes, classics like Super Street Fighter II Turbo and Street Fighter III Third Strike will make the rounds behind the scenes for casual games and high-level exhibitions. So, if you want your personal road to this year’s EVO paved with the bodies of your foes, it can't hurt to use these old timey favorites as the perfect concrete base. Lucky for us, the internet has FightCade to help out with all of that boning up you need to do.
In fact, "lucky" barely describes it. FightCade is a middleware solution to help make playing an emulator online with your friends (or maybe worst enemies) as stable and lag-free as possible. Born from the same DNA as another program called GGPO, FightCade makes it easy for you to play games like Super Turbo (ST) without too much of a hassle. Naturally, it has a huge base of players all over the world that call its online client their home for competitive play. Had it not hit the internet last year, though, this competitive scene may have vanished.
It all began with Super Street Fighter II Turbo. "I went to have lunch with an old friend who plays Super Street Fighter II Turbo," says programmer Pau Oliva. “I mentioned I played Street Fighter II back in the day and he encouraged me to play [Super Turbo] with him. I tried his fightstick, and decided I should buy one too."
This quick bite with a friend took place in November 2013, almost 20 years after Super Turbo's arcade debut. As luck would have it, it wound up saving a small but ravenously dedicated corner of the internet. Oliva subsequently found his way to the online fighting game communities of GGPO and SuperCade, both something of a curation for 90s sprite-based arcade games and some of the last bastions for ultra- competitive Super Turbo. Immediately, there were things he wanted to change. "Both run on Windows," he says. "I’m a Linux user." So, instead of teaching himself how to mash out of stun or link a standing short kick into a Tiger Uppercut, Oliva went to work. He spent the following few months reverse engineering GGPO and wrote a command line client for it to run in Linux and Mac OSX. But in October of 2014, though, things basically ground to a halt.
"[The] GGPO server was down for 4 or 5 days in a row, and I was afraid it would never come up again so I decided I should start coding a GGPO server myself. As I already had reverse engineered the protocol and written a client, writing a server was not really difficult. In a few days I had something that was 'usable' and my plan was to use it only with my friends to play [Super Turbo] if GGPO went down again, but people whom were invited to beta-test my GGPO server reimplementation liked it and encouraged me to make it public. I also let Tony Cannon (aka Ponder, the author of the original GGPO) know about my server, which I named GGPO-NG.”
The fire quickly spread. As it was become increasingly clear that the GGPO client was no longer going to be maintained for public use, Pau's private server for some just-in-case Super Turbo had to be a going concern, and he brought it to the public. Starting with invitations to a small, private Facebook group of Super Turbo enthusiasts and followed by word of mouth, Pau’s GGPO server had 700 registered users on November 1st of last year. By the end of the month, it was up to 8000. Cannon politely requested that Pau drop the GGPO title, and after a little naming help from ST player Brendan O'Dowd, FightCade was born, and all that was left was a web domain to build upon.
So why is the resurrection of an emulator such a big deal? The answer is twofold.
The first, and probably most important to the layman, is how FightCade improves upon GGPO in such a profound way: by making it as easy as possible to set up. Created nearly ten years ago by the Tony Cannon and his brother Tom (who can also take credit for building not only the Shoryuken forums but also the EVO fighting game tournament; the largest dedicated fighting game tourney in the world) after being dissatisfied with current online versions of Street Fighter II, the brothers Cannon took it upon themselves to build a web client to reliably play their favorite games online with their friends. When unleashed upon the unsuspecting internet, GGPO was a revelation with its smooth online play and “net rollback” functionality. The only problem was the graveyards of messed up routers in its wake. To properly set up GGPO to function, players had to muck with their private web settings, including opening and forwarding ports. Nothing entirely too taxing with a little help from the internet, but it was never reliable and routinely finicky from one play session to the next.
Olivia’s FightCade is different in a way that would make Steve Jobs proud: It just works. "The technique is called UDP hole punching," he says. "It's a modern NAT traversal technique that allows bidirectional communication between hosts inside a private network connected via a NAT router to the Internet."
Translation: go to the FightCade home page, download the client, find some game ROMs yourself, and voila; instant, stable online competition for classic games like Super Turbo, Third Strike, or a goldmine of Neo Geo favorites. No forwarded ports, no tears shed over calling a router manufacturer’s tech support.
The real miracle, though, comes back to Street Fighter, and again, Super Turbo specifically. As of this writing, there has been no completely perfect home port of the seminal fighting game to play online. For pro players and the dedicated church of classic games, this has always been a thorn. Some versions like 2008’s Super Street Fighter II Turbo HD Remix were close, but even playing that game in its classic mode wasn’t precise enough for the hardcore; its added screen dimensions being the biggest sticking point. With the end of GGPO support came the universe’s whimpering death to a large, monastically devoted player base. If anything, Oliva took a situation that he didn’t agree with into his own hands for the good of the community, like the Cannon brothers before him.
But Oliva is only one man, and FightCade is by no means finished. Ultimately, the client as a reimplentation of GGPO, which, again, hasn’t had a whole lot of updating over the past several years. This includes the fact that GGPO itself was built around an arcade emulator called Final Burn Alpha (FBA).
"This is what has more room for improvement and what limits the games FightCade can support right now," he says. "Unfortunately, emulator programming is not my area of expertise and it will take time until we have a decent replacement or update, especially if there are no contributions from someone with knowledge on that area."
Thankfully, some help has already come. A user going by the name Pokeshark has done some work with Oliva to help with sorting the game list and favorite lobby functionality. Another user named 3xcl4m4t10n has been working tirelessly to get the client’s save states in order with a few more unnamed helpers. But FightCade is an open source project, and to really make it shine, it needs the added support of its talented players (and maybe their programming buddies).
In the meantime, Oliva and his cohorts have added some welcome extra functionality to the client and its website, including player and game profiles and a tracking system that surveys the best time of day to find as many people playing one particular game – just in case you were wondering when the other guy across the vast internets that wants to play X-Men: Children of the Atom will be on. But if some underappreciated vintage greats like Garou: Mark of the Wolves and World Heroes 2 Jet are your bag and you’re afraid they’ll go unsupported, you can rest easy.
Says Oliva, "I have added pretty much everything that was available on GGPO and Supercade, plus some other games that people have requested and work fine when playing online." When I asked if adding some lesser known games was even worth it, his stance was clear. "I don't care if it's a niche game that only a few people play, if those few people love the game then it's ok to have it in FightCade."
The community is behind it, too. Tournaments are being held for people to play randomized games chosen by bots, and quarterly randomized FightCade tourneys are broadcast by the Arkadeum Twitch team.
But there’s other work to be done, and keeping the lights turned on is part of that. Currently, FightCade is as free to use as GGPO was, but keeping the server up and running and finding a way to store all of those replay videos indefinitely costs money, and is a concern for Oliva. He tells me that he’s still unsure if donations or a monetized “premium” account (with extra features, of course) is the answer. When the time comes, though, at least it’s a way that all of us can contribute to such a useful passion project, programming acumen or no.