You're not logged in | Login / Register | News Filter | Submit News

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.

Comments

RoKtheReaper said on December 23, 2010 at 2:37 a.m.

"Expensive", to me it sounds like it once again comes down to monetary gain. Though, that's understandable, CAPCOM is a company, but are you placing a limit on the quality you will give to us?

We are already getting DLC for MvC 3, got a lot of DLC and including Yun and Yang (If they come) for SSFIV, made us buy a new disc and everything else.

I feel that CAPCOM should be looking to better their online, especially since they have been saying MvC 3 had online issues due to 3 on 3, and that the 3 on 3 with everyone controlling one char was thrown out. We have been supporting CAPCOM a lot lately, all of their products, and will in the future, so no matter the expense, giving us the highest quality of online play should go without saying if you really care about your consumers.

Nuff said.

#1
Greyline108 said on December 23, 2010 at 3:01 a.m.

@RoKtheReaper
In this context, "expensive" has nothing to do with money, he's talking about system resources. All the data being moved around makes it harder for GGPO to work than in 2D games.

#2
Nyoronoru said on December 23, 2010 at 3:05 a.m.

People forget sometimes how old the Xbox 360 is.

#3
RoKtheReaper said on December 23, 2010 at 3:49 a.m.

@Greyline

Thanks for pointing that out, re-reading it, I found that he was talking about the context of how much the system would actually be using in terms of it's memory and processing power. So, they're basically saying that (I'm sure Xbox) wouldn't be able to really utilize it because it doesn't have the strongest processors and the power to do what needs to be done.

Damn, sounds like Xbox is holding the gaming industry back a bit. Which sucks since I have one. Maybe they should release a Xbox 540 or something.

#4
JIHADJOE said on December 23, 2010 at 4:02 a.m.

"Expensive" here is probably means memory use, not just programming time.

GGPO is easy when used in conjunction with an old 2D fighter, as your PC has more than enough RAM to run ST or 3s several times over, but when it comes to a big 3D figher like Tekken or SF4 things become different.

Try firing up SF4, go in to a match, alt-tab out and start task manager. How much memory does SF4 take up? Now if you want to save the complete game state for another frame, (worst case scenario) you'll need at least that much memory again. Now do it over for 3-10 frames, if that's the amount of rollback you want to be able to do.

With an old game, GGPO could just store the entire game state, transmit it even, much the same way you could take multiple save states (and email those relatively small files) when playing ST or 3s over an emulator. SF4 uses a LOT more memory, and this approach becomes impractical pretty quickly.

#5
Birdie said on December 23, 2010 at 4:05 a.m.

"""Posted by RoKtheReaper on December 23, 2010 at 2:37 a.m. #1

"Expensive", to me it sounds like it once again comes down to monetary gain. Though, that's understandable, CAPCOM is a company, but are you placing a limit on the quality you will give to us?

We are already getting DLC for MvC 3, got a lot of DLC and including Yun and Yang (If they come) for SSFIV, made us buy a new disc and everything else.

I feel that CAPCOM should be looking to better their online, especially since they have been saying MvC 3 had online issues due to 3 on 3, and that the 3 on 3 with everyone controlling one char was thrown out. We have been supporting CAPCOM a lot lately, all of their products, and will in the future, so no matter the expense, giving us the highest quality of online play should go without saying if you really care about your consumers.

Nuff said."""

The use of the word "expensive" was in reference to the system resources needed to "pay" for certain things to occur while in gameplay. It has nothing to do with money.

#6
Mr_Clack said on December 23, 2010 at 5:18 a.m.

Sounds like this is served for more simpler games. Games like this with stuff blasting everywhere and is timing based. Not a good idea now.

AMERICA NEEDS FIBER OPTICS EVERYWHERE LIKE JAPAN!!!

#7
Psycho said on December 23, 2010 at 5:24 a.m.

So is that why CPS3 games have delayed input problems? because it's "expensive" in some sorta way?

#8
mcfizzle said on December 23, 2010 at 7:39 a.m.

Mr_Clack - yeah and they they need to move like 200 million people from all the other states into California so that the fiber networks will reach everyone, the companies can get a good return on their investment and we can all play with green bars.

#9
Rave_Zero said on December 23, 2010 at 7:40 a.m.

LOL, he is talking about 3D, while they only need to process inputs + calculate 2D-hitbox collision in SSF4.
Only amateurs would send anything beyond this data in online matches.

At least in SSF4 there is no real 3D hit-detection, this is why there are so many weird crossups/attacks.

#10
SHOGUN said on December 23, 2010 at 7:48 a.m.

We need nation wide Fiber Optics, we need a bullet train system, we need our own tentacled monster with phallics at the end of them , we need, we need. I agree whole heartedly.

#11
xShonuffx said on December 23, 2010 at 7:57 a.m.

#10 What if you were to lose sycronization and the character ends up one character space futher than usual? How can input detection solve that? If you don't consider the entire game as a whole then you run into problems like that. Nothing is ever as simple as it seems Zero, if it's as complicated as they make it im sure it is.

#12
Raven said on December 23, 2010 at 8:35 a.m.

That sucks, the online in this country and I'm sure a few others just suck. Sometimes I'll just stop playing the game and do something else, because lag often shows its ugly head when it's not wanted.

In a fighter where there is more than 2 characters in a game...lag would be a whole lot more detrimental.

I've often thought about how we could get online experience to similar to offline, and I'm sure something in the future will come out to solve this problem. Japan doesn't have much lag online and they use xbox, so it's not just about system resources as a problem. People have a variety of connections instead of just one solid connection, which means a "variety" of delay and lag issues. So either we need an ultra powerful system or just plain better internet to avoid it in the first place.

#13
Rave_Zero said on December 23, 2010 at 9:01 a.m.

#12 Sending a "character position on stage" would be only 2 numbers in SSF4.

This game is completely dependant from frames (all moves have a certain frame number), no frames are skipped. This is why the game slows down when 1 client can't handle all calculations at once, it was especially annoying in the PC version (with "variable framerate ON").

So it's not really necessary to have a position-info, only supplementary, this is how SSF4 replays work.

I agree with you that there are maybe some other issues, but it's definitely not af problem of 3D, because the game uses 2D hitboxes.

#14
Gameplan said on December 23, 2010 at 11:06 a.m.

@#14
I think the reference to 3d by Seth is because a 3d game like SF4 requires much more memory and processing power for graphics, than a fighter with simple 2d sprites, so you have much less resourcess to play with, not because the game uses 3d positioning or hitboxes.

#15
tokyobassist said on December 23, 2010 at 12:14 p.m.

Interesting. GGPO is probably possible on the PS3 for fighters seeing how the Cell processor can do specified tasks and multiple at the same time. Seeing how developers don't want to make the PS3 version superior in every way possible without screwing 360 owners out of content, we probably won't see GGPO as a standard until the 360 catches up hardware wise.

My 2 cents. Also this is the most productive bunch of comments I've seen in months lol. Cookies all around.

#16
JIHADJOE said on December 23, 2010 at 12:24 p.m.

@Rave_Zero

But you see, that's exactly why they can't use GGPO netcode. GGPO is designed for use with old, emulated systems where it's possible to save the entire game state. With SF4, the "complete" game state is much larger.

Yes, it is possible to save the positions, momentums and status of the characters at any one time, but once you get to that point (and move away from complete save states), you're not running GGPO anymore. This is basically what Seth is getting at when he says they have to basically use their own netcode for SF4.

Doing a "rollback" in a system where you don't have the entire state saved to memory is a LOT more complicated. For instance, do you delete the entire scene and re-render the characters from a set of saved positions? Some motion or delicate positioning may be lost in this case.

Do you play animations in reverse until both machines reach a certain frame number when they were last in sync? Do you restart the match and fast forward to the last synced frame in a deferred or simple render state before restoring complexity?

You see there are a LOT of tradeoffs from not being able to save the full game state. Just open up a game replay in Starcraft II and try playing around with the game slider. You'll see it's quite easy to speed up the replay or skip forward, but very costly to skip back.

#17
ibLeo said on December 23, 2010 at 12:33 p.m.

Sounds to me like 3rd Strike Online Edition will use GGPO. It's 2D and the guys have already said how excited they are by good it's going to be. Plus, parrying would be nearly impossible otherwise.

#18
otter said on December 23, 2010 at 12:37 p.m.

Frankly, you guys aren't considering what these developers would have to give up in order to allocate for perfect online play. I don't want it at the expense of having real matches still be excellent.

Besides, America's lackluster internet infrastructure is not really Capcom's responsibility.

#19
TwoCoins said on December 23, 2010 at 2:20 p.m.

to me the issue seems that the programmers and network engineers aren't really up to the challenge. They aren't trying to optimize their games while games like

Killzone 3 are graphically amazing have split screen coop and online coop with move support and 3D.

They either just don't have the skill to optimize GGPO to work for their 3D/2D fighters or they don't want to bother with it since they have a "working" system and for them japan is all that matters since it's made for their infrastructure.

I'm sure it's not easy but it's not IMPOSSIBLE...they just need to put forth SOME effort.

#20
JIHADJOE said on December 23, 2010 at 4:20 p.m.

@tomotombo

Capturing input is not the problem, it's dealing with synchronization when someone lags.

Let's say you and me both have SF4 and we have a driver that transmits our inputs over the net. We start our copies of SF4 at exactly the same time. Any buttons I hit get sent to you, and buttons you hit get sent to me. So long as we have perfect, lagless internet the games will remain perfectly in sync and we're effectively playing each other. That's essentially netcode at its most basic.

But if one of our computers, or connections stutters for an instant, then that synchronization is broken and we'd be playing two completely different matches. I could have DP'd you on my end, but on your end my DP didnt' come out and I'm knocked down. At that point, we'd be sending buttons that are completely irrelevant to each other's game.

GGPO deals with this by constantly saving the game state, so when sync is broken it can roll back to the last synchronized saved state.

#21
JIHADJOE said on December 23, 2010 at 4:22 p.m.

IMO Capcom should just go over to Sega and license VF5's 360 netcode. It's brilliant.

#22
steamwolf said on December 23, 2010 at 8:48 p.m.

This just more Capcom PR bs. Seth's job is about 90% of the time telling us why our complaints are not valid (when they are really). Namco is putting GGPO into a 2-4 player DBZ game. 3D models and everything. Capcom = invalidated now. Everyone, I encourage you to bring that up to Seth, and ask him to get us someone who will answer the question and explain "why not" since he's incapable of doing so.

#23
monkeydhugo said on December 23, 2010 at 11:54 p.m.

lets all hope for the best.

#24
judgespear said on December 26, 2010 at 2:10 p.m.

DHZ games are essentially third person shooters with fighting controls. I'm not going to reiterate how netcode for shooters work since I'm fairly certain you can just search or look up what has already been said.

#25
judgespear said on December 26, 2010 at 2:12 p.m.

And the comments here explained it better than Seth did. I'm sure these comments aren't PR bs. Anyone who knows anything about netcode programming would tell you the same.

#26
judgespear said on December 26, 2010 at 2:12 p.m.

*DBZ

#27
steamwolf said on December 30, 2010 at 9:09 p.m.

You are assuming that the camera angle of the modern DBZ games means the engine is the same as an FPS. Until you have some actual fact on this? Your point is not counted at all. Its not a 2D plane fighter, but that doesn't mean it uses the same engine as an FPS.

Also: on the topic of "anybody who knows about 'netcode' programming"? Well hate to tell you this, but people actually involved in IT companies, private or public, who are involved in web programming and networking? Will tell you even the word "netcode" is not a real word or definition. In fact, if you look outside of the fighting game community, you will not find this word used. So obviously, you don't know too many people actually involved in programming ;p

#28


Post a comment

You're not logged in, you must Login to your account to post a comment.

If you do not have an account, you need to Register to comment. It's a free and quick process.

You're not logged in, you must Login to your account to post a comment.

If you do not have an account, you need to Register to comment. It's a free and quick process.



Live Streams
Name  Viewers 
VGBootCamp 2,269
TheJustinFlynn 1,038
ZeRo 818
leveluplive 458
D1MX 334
Tiers
Gains
 Losses 
Game-Specific News
Follow & Search EventHubs
RSS Twitter Facebook

          Submit News | Advertise | About | Privacy Policy
Capcom Pro Tour     Major League Gaming (MLG)