| ▲ | 10000truths 8 hours ago | |||||||
It's not as ludicrous as you think, for two reasons: 1. Bandwidth requirements scale quadratically with player count, since the state of each player needs to be broadcast to every player. You can optimize this with clever tricks like server-side occlusion culling, but that's heavily dependent on your specific game's mechanics, and it still doesn't address the worst case scenario of lots of players clustering in a small visible area. 2. Players are not the only entity that need to be synced. Every server-side entity affecting a client needs to have its state broadcast to that client. A dynamically destructible environment that physically interacts with players is a perfect example of this - launch a rocket at a building, compute the Voronoi fractures server-side based on impact location, sync thousands of pieces of flying concrete debris (each with its own rigid body) across all players. | ||||||||
| ▲ | frollogaston 8 hours ago | parent | next [-] | |||||||
"Every server-side entity affecting a client needs to have its state broadcast to that client" is true, but you're presuming all those entities are going to be server-side, which in most cases they're not. Yes I can imagine if you put all the state on the server and broadcast all that to the clients, you can easily use 20mbps for a massive game, more like 200mbps. Would also imagine it'd be insanely laggy, and not because of the bandwidth itself. At that point you're probably better off just streaming the video, cause at least clients can uh "parse" that quickly. | ||||||||
| ||||||||
| ▲ | Stevvo 8 hours ago | parent | prev | next [-] | |||||||
2. Is an absurd example. That is not how you do networked physics in 2026. You use jolt for cross-platform determinism with rollback, replicating only inputs. | ||||||||
| ||||||||
| ▲ | xboxnolifes 8 hours ago | parent | prev | next [-] | |||||||
It does not scale quadratically per client though, and the number given is per client. | ||||||||
| ||||||||
| ▲ | 8 hours ago | parent | prev [-] | |||||||
| [deleted] | ||||||||