By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Microsoft Discussion - MS Research:Donnybrook-enabling large-scale, high-speed, peer-to-peer games

http://research.microsoft.com/apps/pubs/default.aspx?id=72879

Without well-provisioned dedicated servers, modern fast-paced action games limit the number of players who can interact simultaneously to 16–32. This is because interacting players must frequently exchange state updates, and high player counts would exceed the bandwidth available to participating machines. In this paper, we describe Donnybrook, a system that enables epicscale battles without dedicated server resources, even in a fastpaced game with tight latency bounds. It achieves this scalability through two novel components. First, it reduces bandwidth demand by estimating what players are paying attention to, thereby enabling it to reduce the frequency of sending less important state updates. Second, it overcomes resource and interest heterogeneity by disseminating updates via a multicast system designed for the special requirements of games: that they have multiple sources, are latency-sensitive, and have frequent group membership changes. We present user study results using a prototype implementation based on Quake III that show our approach provides a desirable user experience. We also present simulation results that demonstrate Donnybrook’sefficacy in enabling battles of up to 900 players.

 

Here is the full paper.

http://research.microsoft.com/pubs/72879/donnybrook.pdf

 

 

Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SIGCOMM’08, August 17–22, 2008, Seattle, Washington, USA.
Copyright 2008 ACM 978-1-60558-175-0/08/08 ...$5.00.

 

 

 

The paper is a great read.  Very interesting.  Thoughts?  I am going to be reading it again and highlighting important segments and I will post them here in case anyone does not feel like reading the entire thing.

 

 



Around the Network

I only had time to skim it and read a few sections, but it sounds pretty impressive. I hope to have more time later to go into it in greater detail.



P2P multiplayer's most limiting factor is upload bandwidth.

The basic idea of the Donnybrook is three things. 

1.  Is to generate an interest set.  An interest set is a set of players that the player is interested in an will recieve updates from.  A player is determined to be interesting using the sum of three parameters and a threshold.  The threee parameters are aim, proximity, and recent interaction.  Interest sets are useful because players will only send updates to those who are interested in them and will only recieve updates from players that they are interested in.

2.  A guidance update is sent and recieved once every second to and from those who are uninterested in each other.  This guidance is an estimation of what the player will be doing over the next second based on physics, previous actions, etc.  In certain circumstances, an uninterested player might still be in the player's field of view.  Only recieving an update every second will result in a player appearing to skip around, current techniques(dead reckoning, etc) can only extrapolate a couple hundred milliseconds.  To resolve this issue, doppelgangers are used.  Doppelgangers are a basic AI that use the guidance information to emulate the player's actions over the second without information.  This is smoother and is often unnoticeable due to the player not being in the interest set.

3.  Message forwarding.  This technique offers a method for players with insufficient upload bandwidth to use other players with extra bandwidth to forward updates.  Instead of the player sending updates to all other players, the player sends a single update to a forwarder, who then sends the update.  A set of valid forwarders are determined based on available bandwidth and a specified threshold.  The use of forwarders also reduces the number of bytes necessary for headers due to consolidation of updates by the forwarders.



Very cool technology, but I hope you realize that this isn't "news." I think we've known about this for almost 3 years now.

It'll be even more interesting to see if Microsoft does anything with this technology.



JaggedSac said:

P2P multiplayer's most limiting factor is upload bandwidth.

The basic idea of the Donnybrook is three things. 

1.  Is to generate an interest set.  An interest set is a set of players that the player is interested in an will recieve updates from.  A player is determined to be interesting using the sum of three parameters and a threshold.  The threee parameters are aim, proximity, and recent interaction.  Interest sets are useful because players will only send updates to those who are interested in them and will only recieve updates from players that they are interested in.

2.  A guidance update is sent and recieved once every second to and from those who are uninterested in each other.  This guidance is an estimation of what the player will be doing over the next second based on physics, previous actions, etc.  In certain circumstances, an uninterested player might still be in the player's field of view.  Only recieving an update every second will result in a player appearing to skip around, current techniques(dead reckoning, etc) can only extrapolate a couple hundred milliseconds.  To resolve this issue, doppelgangers are used.  Doppelgangers are a basic AI that use the guidance information to emulate the player's actions over the second without information.  This is smoother and is often unnoticeable due to the player not being in the interest set.

3.  Message forwarding.  This technique offers a method for players with insufficient upload bandwidth to use other players with extra bandwidth to forward updates.  Instead of the player sending updates to all other players, the player sends a single update to a forwarder, who then sends the update.  A set of valid forwarders are determined based on available bandwidth and a specified threshold.  The use of forwarders also reduces the number of bytes necessary for headers due to consolidation of updates by the forwarders.

This sounds really interesting....particularly the message forwarding bit.  I have terrible upload speeds, but it is the best I can get in my area (about 25Mbps Down/<1up). 

Be interesting to see if/when this is actually used.

 



Around the Network

Yes, I know this was written in 2008. I never said it was news.

It matters now because it has had sufficient time to actually start possibly trickling into consumer goods.



Sweet! I would make a very reliable resource in these games, I think. 25Mbps download/15Mbps upload!



I know this is somewhat offtopic but I wish internet companies would completely do away with dial up and make the lowest download speed 5mb/s, 2.5mb/s up that would pretty much solve all lag problems, and it would be easier for MS to see who is lagswitching (happens way way too often now)

Too bad thats not gonna happen for a long time cause of the greedy internet companies...



Based on the date of this paper, I think it's possible that we could see this tech by the next Xbox...900 people at a time...WOW...then M$ will really have the Army wanting to use this technology!



"...You can't kill ideas with a sword, and you can't sink belief structures with a broadside. You defeat them by making them change..."

- From By Schism Rent Asunder

yo_john117 said:

I know this is somewhat offtopic but I wish internet companies would completely do away with dial up and make the lowest download speed 5mb/s, 2.5mb/s up that would pretty much solve all lag problems, and it would be easier for MS to see who is lagswitching (happens way way too often now)

Too bad thats not gonna happen for a long time cause of the greedy internet companies...

I don't think you understand one bit about how business works.

Should I explain? I guess in order not to look like a jerk, I will try to explain why things are they way they are, when it comes to speeds:

 

You cannot magically create cable, DSL, FioS or any other sort of internet connection. Somewhere along the line, physical lines have to be laid. These physical lines cost money, lots of money. In many cases, costs are very prohibitive when laying down cable in hard-to-reach areas of sparse populations. So because of that, it takes time to develop fast connections in sparsely populated regions where costs are high, and revenue is low.

Having stated that, dial-up already has an established network which is essentially 'free' to companies, as the lines are laid, and fully available. Of course, as time goes on, more cable will be laid as it becomes more economically viable, or other mediums such as 3G are able to be used.

 

So no, johnnyboy, its not because of companies greed. Its simple supply and demand: A company can't put or upgrade lines in som areas as quickly as we'd all like, because the money simply isn't there to do it.



Back from the dead, I'm afraid.