Jump to content

View more

Image of the Day

Boxes as reward for our ranking mode. ヾ(☆▽☆)
#indiedev #gamedev #gameart #screenshotsaturday https://t.co/ALF1InmM7K
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

"Seeding" Multiplayer Games?

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Toothpix   Members   


Posted 02 August 2012 - 07:50 PM

I am not implementing this on any project in particular, I am just curious. In torrents, the more "seeders" you have than "leechers," the faster the download is. I realize that torrents and multiplayer games are totally different concepts entirely, but could you have something for multiplayer games where instead of one central server serving all the clients, several users would "seed" and there systems would be re-purposed (temporarily, maybe for 30 minutes or so) into servers? How would the seeds communicate to each other?

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.

#2 slicer4ever   GDNet+   


Posted 03 August 2012 - 01:41 AM

essentially, your talking about a near perfect, peer-peer system.

Is it possible:
Short Answer: Sure, anythings possible
Long Answer: Difficult, but it can be done.
First off, the reason why torrents work, is because it sends different segments of the file to the client, from different hosts, with different speeds.
The problem with doing this in a game, is how do you keep everything in sync?, and why do you want to switch hosts?, most multiplayer games with a peer-peer setup simply evaluate the host with the lowest ping time to all the peers, and select them as host. for some games, If they drop, the game kicks everyone, but for others, instead all the remaining peers stop, and reselect a new host, and then resume(like CoD's system).

their are a couple reasons why multiple hosts would be a good thing, perhaps one peer has a higher ping to another peer, but he's not host, however, he's got a faster ping to the host(and potentially, theoretically, this connection to this peer->peer->host is faster than original peer->host, for whatever reason), it might be useful to create a sub-host, to route traffic through, to the master host.

In effect, you still need a master host, to validate all actions against, perhaps sub-hosts could respond to the client with useful data, but submit that data to the master host to validate/correct if necessary.

at the end of the day, syncing is your enemy, and handling that with several hosts is difficult, you need to select someone to say "yes" or "no" to actions from clients, and the problem arises when one host will say "yes", but another might say "no", because by the time it receives the data, it'd be considered an invalid move.
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.

#3 hplus0603   Moderators   


Posted 03 August 2012 - 02:30 AM

We have this discussion every year on this forum, and in the end, nobody has shipped a successful game that actually does it that way.
enum Bool { True, False, FileNotFound };

#4 japro   Members   


Posted 03 August 2012 - 06:30 AM

Isn't Day Z partly peer to peer based? One obvious issue with the torrent comparison is that torrents most likely don't care about latency and in a "graph" of peers the total usable bandwidth is actually higher than with a central host, while the same doesn't hold at all for latency. Well actually it sort of does since the latency via multiple peers is generally "higher" which is not what you want at all.

#5 Postie   Members   


Posted 06 August 2012 - 01:21 AM

The difference between torrents and multiplayer games is that in the case of a torrent, the data doesn't change, so the seed data can be passed around as quick or slow as it likes. A multi-player game by definition is being affected by its players, so the game state is constantly changing. There's just no simple way for that game state to be passed around in a peer to peer fashion that is either timely or accurate.
Currently working on an open world survival RPG - For info check out my Development blog: ByteWrangler

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.