Capcom discusses GGPO net code technology

Posted by Jonathan 'Catalyst' Grey • December 23, 2010 at 2:31 a.m. PST
Capcom discusses GGPO net code technology It's been an often discussed subject why Capcom hasn't used GGPO technology in their fighting games. While they've used net code that resembles it in some of their 2D fighters, this approach has been noticeably absent in many of their games with 3D models like the Street Fighter 4 series and Marvel vs. Capcom 3.

Seth Killian and Christian Svensson recently offered many details as to why this has been the case.

Why is Capcom not using GGPO on all of their fighting games?

Seth Killian: GGPO has been fantastic for 2D-style fighting games, and the dev teams here have been very pleased with our results.

That said, it is not as easy to impelement for games that use 3D models and other very processor and/or memory intensive functions. Those processor and memory intensive functions make roll back much more, "expensive," and depending on the design architecture, it can be prohibitive in some cases. That doesn't mean those challenges can't be solved, but it does mean it's definitely not as simple as it might sound.

I can't get in to much more detail for two reasons I hope you can accept:

1) Although I understand parts of the process very well, and have some understanding of coding, I am not a programmer or a network engineer. I have been in enough of these technical discussions to see some of the challenges, and see that they are not able to be solved immediately by back-of-the-napkin math.

2) Getting into further technical detail would point to pieces of our internal development that are sensitive industry info.

For the record, you don't need to sell me on GGPO :) I started talking about GGPO at Capcom literally the day after I started (yes, literally). Since that time, Capcom has been very impressed with the results and the tech has attracted some other big internal advocates, including Christian Svensson. As a result Capcom has not only licensed GGPO officially, we've gone from using GGPO-style netcode in games like Super Street Fighter 2 Turbo HD Remix and MvC2, to the real deal with the more recent Final Fight: Double Impact. Capcom is most definitely not done with GGPO.

Anyway, you'd be hard-pressed to find bigger GGPO advocates than myself and Sven, but your voices are a very valuable contribution to that dialogue here, so if you have strong feelings like I do, please continue to share :)

GGPOish technology first appeared in hardware-intensive 3D games, like 1st person shooters, so it doesn't make a lot of sense to bring that up as a limitation.

Seth Killian: There are some major dis-analogies between Capcom fighters and some other games that use 3D models (for instance shooters are able to use predictive rollback in a transparent way much more easily for a variety of reasons (ask Ponder!), although YouTube is also full of outraged, "I shot first!" videos showing that there are still some problems).

I'm sure it's possible to make a 3D fighter where it might be as simple as what you suggest, but in our case, it isn't. Beyond reiterating that, "I am not a (real) programmer," and some internal issues about the way the games are built, I will add at least that when I was making some of the initial pushes for this tech, I came to the table with many of your same views. I'm still bullish on GGPO, but I've learned the hard way that it's definitely not as simple as it's being described here. Far from impossible, but also far from simple.

The only games that have used GGPO are various Capcom games from Backbone Entertainment and Blazblue.

Svensson: To be clear on a few points, to date, I believe the the only commercially released game using GGPO anywhere has been Final Fight: Double Impact (or at least, it was the only one... if there's something that's come out after it that I'm not aware of, apologies). I am aware of other games in development using GGPO, but not yet on the market that I'm aware of. Until they're in the market, let's not sing their praises just yet (though I am happy to see Ponder getting more support).

Other games have used "similar gamestate replay" concepts but not GGPO specifically. And please stop comparing 1st person shooters to fighting games in terms of networking and predictive code. They are apples and oranges in terms of the sensitivities of having predictive collision, arbitration and error correction. They are not less challenging, but they are different.

Lastly, I thought Blazblue used variable input delay, not fixed frame like GGPO (I'm sure someone will correct me).

For those of you not familiar with GGPO technology, it's essentially net code which helps make online play feel more like the offline experience, keeping the timing for combos and moves the same as if you weren't playing online.

Lag is handled via rollbacks which rewind the state of the game when things fall out of sync.

Source: Capcom Boards.

Load comments (28)