Network multicasting

Looking at the estimated required upstream bandwidths:

1 vs. 1: ~24 kbps

2 vs. 2: ~64 kbps

3 vs. 3: ~105 kbps

4 vs. 4: ~145 kbps

5 vs. 5: ~186 kbps

 

it appears as though there is no multicasting being performed at the network layer. Assuming all players are being sent the same data from a player's machine, it is not necessary to send it from a computer multiple times.  Using multicasting, http://en.wikipedia.org/wiki/Multicast, you send the data once along with a set of target IPs, and the message is just copied whenever it reaches nodes in the network cloud where the path to the target ips forks. I'm sure the network engineers are aware of this, so I am curious as to why it is not employed in this game.If it were, the necessary upload bandwidth should be constant, independant of the number of players in a game.

Thoughts?

 

 

1,521 views 5 replies
Reply #1 Top

Hard to say.

Its not the first RTS I play and this game is the only game that will go "screenshot slide show"  because someone lags.

And its not that rare. Ill even say it happen almost often.

Ive played blizzard games for years and never encounter this kind of lag.

But weirdly I have encouter this lag in other GPG game like supreme commander / Forged Alliance.

 

So imo in all respect that I have to the developer, I think they could do better in the multiplayer area.

Reply #2 Top

Multicast has to be supported from end to end. The internet in general does not implement multicast.

 

Its a technology mostly used within the same network, or several networks designed for it specifically.

 

FIOS TV uses multicast to deliver all that streaming content to their customers and not saturate their own network.

Reply #3 Top

Well there is a possibility that someone's router may not support multi-cast, but most do, and I would think a large portion of the internet backbone's ip stack recognizes it. I can't say for sure how pervasive it is, but I think it would be worth investigating.I think that before a game is launched a quick network diagnostic should be performed.

 

1. A tcp connection could be opened between all participants tp facilitate reliable communication during the diagnostic.

2. Each user's UDP upload and download bandwidths could be measured, along with packet loss.

3. Multicasting could be attempted from each machine to all others. It may not work, but if it does, use it.

4. Using this and probably more information, players could be informed that the match is either playable or unplayable.

5. If performance is measured as acceptable, then the game proceeds.

 

Reply #4 Top

With regard to ISP multicast support, isn't it possible to tunnel a user's connection to a server that is on the mbone? If that's possible, then the proxy servers put in place could act as endpoints for these tunnels.

Reply #5 Top

Here's an interesting article talking about the quiet adoption of multicasting recently. I think if a game developer got on this they could produce a killer networking stack..

http://www.whetten.net/documents/press%20clippings/Multicast%20article%20for%20TTW-edit2.doc