4 people all in a room playing the same game on the same server. Instead of the server handing 4 sets of the same information to each of them 4 separate times, just one set is sent to a host computer, and the other players get data from that host as if they were players at a LAN. Instead of 4 people needing 4 sets of data, they only need one. 8 people only require two, and so on.
Really freaking long version
Over the weekend we had a joint birthday party/lan, and it was pretty sweet. Warcraft 3, TF2, diablo2, and at one point, league of legends. Or, we tried to play league of legends. Each of the games up till league of legends it was possible to just connect directly to each other, but league of legends required a server connection for each client, even for custom games. It was a nightmare, with 10 people all in the same room trying to play at the same time, our bandwidth was choked.
We were all in the same room, connected to the same switch, and all playing in the same custom game, so honestly we only really needed one set of server data, but instead we were having 10 individual sets of the exact same data sent to us. We were suddenly plagued by disconnects, ridiculous ping, and at one point comcast actually shut off our internet for about 15 minutes because of all the trouble we were causing. All this to play with people less than 8 feet away.
When diablo 3 comes out, I'm going to want to play with my friends, and playing in the same room with my friends is even better than just playing with my friends online. However, if we run into these same bandwidth issues, that's going to suck.
My idea is to allow for a pseudo-LAN mode of diablo 3, where your game client recognizes that certain people are all playing in a room together and are all in the same game. The game is set up as if it were an offline lan, where one player would host a game, and the other players connect directly to that host. The player who is pretend-hosting the game gets data for the game, and certain player specific data for all 4 players. Their client then makes 4 copies of the general game data, figures out which player should get which set of player specific data, and sends that data to all of the other players.
What this means is instead of having four different people all getting the same map data, the same mob data, the same player party status data, and so on, just one person gets that server data (since that one set of data will apply the same to each person in that game) and that set is copied and distributed to the other players.
Thoughts on this? I personally don't want to have my lan dreams shot down due to bandwidth issues (like they were this weekend with league of legends. We had a pretty beefy connection speed too, and it just couldn't keep up with 10 people)