Kayane interviews Katsuhiro Harada of Namco


I don't have my hopes in play SCV or the next Tekken with a good online mode; but in my mind there's only the wish to have a good "offline" experience game; If they don't have the budget to make a good online experience, then use this budget to make a great offline game experience!!

By the way, nice job Kayane, you are our heroin.
I don´t know what to think about this interview... In my oppinion, Harada is the wrong guy When it comes to questions about SoulCalibur. It seems he was always only slighty involved in the process of some SC-games, he has much more to do with Tekken. And about Online, that should imo already confirm that SCV will be crap again... Online i mean. BTW. Harada must be tiny ´cause he is barely taller than Kayane. ^^

But i liked the idea of a SCV arcade-version.... Bring it!!
There's no way they'd have to start 100% from scratch. A ton of the code should be separate enough that it shouldn't be affected, and all the assets shouldn't have to be touched.

This is a lot of speculation though. Without getting an indepth look at the code, it's pretty hard to say how difficult or easy it would be to implement. Anyway, if they've been able to implement the current crappy netcode, there's no excuse for them to not implement a better one instead.

I'm not a professional programmer but I've done it as a hobby for many years now. I've also worked on netcodes for a few projects.
I'm not can you explain to me why this is better then what the are doing, or attempting to do...
I'm not can you explain to me why this is better then what the are doing, or attempting to do...
I'm not sure what specifically you want me to explain, but I can explain the types of netcodes which is talked about.

1) The type of netcode which is commonly used in most fighting games. Each client (running copy of the game) sends player input to the other client. The game waits to update until it receives player inputs from both clients. This ensures the game is always in sync, but the input lag becomes proportional to the ping (the latency between players. basically, if your opponent is really far away, the input lag increases). This is what SC4 used.

2) GGPO: It has the same basis that each client sends player input, but it keeps updating with your current input without waiting for input from the other client. This means there's drastically less input lag, but the game easily becomes out of sync. To combat the desyncs, it will roll back to a previous frame and then calculate the current position based on up to date input from both players. This happens behind the scenes all the time and it's part of the netcode which would potentially be demanding on resources, and make it difficult to implement.

As far as I know, just about all fighting games uses the first netcode mentioned, although there's many minor variants to try to hide or reduce the input lag. Only a very few uses GGPO. There's potentially other netcodes which could be designed for fighting games, but why that hasn't happened yet is anyone's guess (my answer: developers are lazy).
there's a general rule that older (or styled after older) games use rollback, and newer ones use variable input delay.

With rollback you can basically think of each system running 2 copies of the game. They're not literally doing that, but that's close to the system demands.
Everywhere I read about GGPO two commonly used phrases are "latency hiding" and "lagfree illusion". I wonder if this really means more time for me to react when I see the opponents move on my screen, or if it simply means that my own moves are lagfree on my screen. I mean, if all it can do is hide the latency with illusions and not reduce it, then I don't see the point.

If someone can explain in detail how GGPO actually reduces latency I'd be very happy to know.

(Example: Opponent Mitsurugi does 1A out of the blue. GGPO can't anticipate this of course, so the input has to travel over the wire to me. When it has, I see it and try to block it as soon as I can. How will this play out with and without GGPO? Will I somehow have more time to react with GGPO?)
(Example: Opponent Mitsurugi does 1A out of the blue. GGPO can't anticipate this of course, so the input has to travel over the wire to me. When it has, I see it and try to block it as soon as I can. How will this play out with and without GGPO?)
With GGPO and a high latency, there's a chance that the game will guess wrong, and all of a sudden the attack you were blocking is a totally different one. To my understanding it goes back to where the problem was (which sometimes causes a visible staggering or teleport) and redoes everything with the inputs that actually were entered. This means that if they did an overhead or a throw, you're eating it. Its worth noting that rollbacks like that don't happen very often, but they're more likely to be a disaster when they do. To give another example, with rollback you can get the 'wait he attacked?'

With input delay, there's a chance that you won't block in time, but in general it's not too bad for that (Unless you're having really unacceptably bad pings, but you'd notice right away). The place you see bad effects from delay is trying to do tight links and combos. If you're say playing SF and trying to do a 1 frame link, the fact that it could take 1-6 frames from your button press to the move starting, and it changes, can make it almost impossible to do tight combos online. (also things like timing AA's in 2D games, since if the move comes out late you tend to get stuffed)


In general rollback can make defending harder, and input delay makes doing combos harder.
Thanks for replying :)

So basically GGPO does nothing to actually reduce latency, but it makes just frames and such easier? It surely doesn't hurt, but it seems to me that Soul Calibur isn't a game where people have troubles with combos and just frames online. Well, I have huge troubles with Xianghua's one and only just frame, but I think that's mostly because I suck at it :(

Another solution could be to simply make just frames easier to do in online mode.
it HIDES latency, which is different than reducing it.

in its PC form you'd have less lag in general tho' because its open P2P instead of either server based or heavily encrypted P2P (and believe me encryption slows things down).

I hadn't thought of just frames, yeah they'd be hellish to do under the rules of Variable Input Delay. Rollback would be better for that.