← Back to context

Comment by DimitriBouriez

13 hours ago

Wouldn't it have been simpler (even if technically heavy) to host the game on a single machine and just stream each player's camera? That way all the physics would be computed in real time on one computer, and each player would just receive a different video stream.

This seems to get brought up in every hn post on video game mulriplayer, and it makes me wonder: do you play video games? I dont know of any video games that do multiplayer that way, and i would think that alone suggests its not a good idea.

Who wants to play a game with 50ms+ keypress to screen update delay? Sounds miserable.

  • It makes me laugh whenever there's a post about anticheat on the frontpage and without missing a beat there's always a comment there - "why don't they just run the entire game logic server side and stream the updates to the client??? are they stupid?"

  • I don't play it much anymore, but I used to be a heavy player: the latency isn't 50 ms on GeForce Now (with a French connection, which is pretty good).

    • GeForce Now has the advantage of being able to pick a server closest to specifically you. If you're near a major datacenter, you're probably getting sub 20ms delay. Annoying, but playable for many games. That is not the case as soon as you try multiplayer with people in different metro areas.

Video streams are not known for their low bandwidth needs, let alone adding in RTT latency for inputs.

  • That's true, I'm not saying it comes without trade-offs. But in return you get a perfectly consistent and physically accurate simulation. It would mostly be expensive, I think, but it's technically feasible (services like Shadow or GeForce Now already demonstrate that).

    • Which one of your friends can host an mp physics heavy game with a number of low-latency high-resolution video streams? I would estimate the average answer to be zero.

      3 replies →

    • Running several raytracers on a single videocard isn’t free either. Syncing the world changes as they do is the least intensive for the server, and the last bandwidth. It’s probably optimal in all ways.

    • Most consumer GPUs have a limit on the number of video streams their hardware encoder can handle at once, and in some cases the limit is as low as 2.

      1 reply →

They targeted/ended up with a 1Mbit throughput requirement per player.

Please figure out a way to generate 1440p video at 90hz with pixel perfect rendering at 1Mbit per video stream.

Half the point of Teardown is that it looks really really good and crisp because it required a beefy GPU at the time it was released. I don't want blocky streamed video.

Might have been a key differentiator for Stadia.

Other comments are worrying about the streaming and latency but local split screen could also be another use case here.

In addition to what others have said: even where remote play works, some games are worse candidates than others, and I expect Teardown would be towards the "worse" side of the set.

Teardown, visually speaking, is a pretty noisy game at times, and doesn't give a great visual clarity when streamed at real-time-encoding-type bitrates during these noisy moments.

FPS mouse+keyboard is also one of the worst-case scenarios for Moonlight/GFNow/etc. remote play, because first person aiming with a mouse relies very heavily on a tight input-vision feedback loop, and first person camera movement is much harder to encode while preserving detail relative to, say, a static-camera overhead view, or even third person games where full-scene panning is slower and more infrequent.