Can someone who is into technical stuff explain netcode to me?

In fairly not technical language. I am not an IT guy or programmer, I am just curious.
How does KI netcode work?
Was it hard to develop?
Is it server based or p2p?
Is it pure GGPO or something based on it?


See @TheKeits 's link. The amount of input delay for KI netcode is 3 frames (that is, on top of local play input delay), any inputs which arrive later over the network are handled by rollbacks.



It’s almost certainly a huge ordeal, but tbh, I’m not sure – I’ve never had to build a game incorporating it. What I do know is that it has to be built into the fabric of the game engine: the game needs to be capable of reverting to states that are several frames old, recomputing the intermediate states between said frame and the current one using the updated input stream, and then rendering the resulting frame, half-resolved animations and particle effects and all. The game state needs to be a deterministic function of the input streams otherwise desyncs happen (as sometimes did back when KI launched, see youtube for KI desyncs), but in practice I could imagine there being some sort of system in place now that periodically attempts to detect and fix desyncs. There are probably all sorts of other robustness measures in place that you wouldn’t think of – for example, it makes sense for the game to revert to input delay and chug along if the network suddenly gets really laggy, since the game freezing up is a hell of a lot better than characters teleporting across the entire screen a la SFV.

All of this is to say, at a glance all sorts of non-trivial problems pop up, so the solution in place is probably pretty serious software and probably pretty tightly integrated into the rest of the game engine.

P2P, you want as few intermediaries as possible to cut down on lag. That said, there is communication with the servers for matchmaking and other purposes that I can’t speak to.

In-house. Devs have indicated that they did not license GGPO.

Thank you for that link. That was a neat thing to learn about. :slight_smile:

1 Like

Netcode is a demigod that favors only a chosen few. Thankfully ki is in its good graces.

1 Like