Hacker News new | ask | show | jobs
by alkonaut 2654 days ago
The useful application for AI in streamed gaming seems like it would be for predicting the next 30ms to avoid input lag.

This seems gimmicky at best. Prediction has to take place on the client though - so the challenge is making it cheap.

2 comments

This is really cool to think about. In practice though I would imagine every incorrect prediction to be incredibly jarring. Additionally my intuition is that latency is easier to decrease than predicting the next 30ms. If there is some level of latency that is very difficult to reduce (more so than training an AI to predict the next 30ms with very high accuracy), I'd be curious to know why.
Between e.g. central and west US you'd have a physical ping of ~10ms so 20 round trip just based on the speed of light (i.e. very hard to get rid of). Meanwhile the input lag you want is one or two frames so on the same order. But this lag is additive, when the game receives the new state it has to compute and render the world, the display has its lag before it shows up etc. So the new frame has to start computing as soon as the input is registered in order to hit reasonable input lag.

Predicting 2-3 frames should't beyond what we can do at least roughly. Especially for some important inputs such as turning in first person view it should basically just start moving the screen. I belive John Carmack tried some kind of rotational prediction (Not based on AI) for Oculus.

I am not a game developer, but couldn't you make a multiplayer game more fair in this situation by adding artificial lag into everyone's controls to match the highest lag person? Just limit it to a certain amount, like no more than 200-300ms.
I wasn’t considering fairness here (that’s a whole different can of worms). Even for a game where everyone’s lag is the same, X milliseconds of input lag and Y milliseconds of network latency is painful for some values of X and Y. For fast paced games I’d say X is probably just a couple of frames (15-30ms) and Y is about 100ms.