我一直在思索一个将如何去玩多人游戏创建一个P2P系统(如BitTorrent是对文件)。这个想法是从多人架构除去传统的服务器。据我所知,某种服务器可能需要发起通信和发送世界更新等,但我有兴趣到你将如何减少服务器上的负载和带宽的压力。

顺便说一句,这也适用于任何大小的游戏,从两个播放跳棋游戏一直到30分+的球员FPS。

我疯?

有帮助吗?

解决方案

我一直在思考同样的事情。我有一个分布式系统的长期影响应该是分布式的,而无需中央控制器。与MMO或类似游戏的问题是,每个球员都应该能够看到相同的“世界”。你结束了类似爱因斯坦相对论伊恩和“同时性”的问题 - 相隔越远,你是,越多,你对世界的看法不同。

在一般情况下,解决的办法是,你必须能够传播信息给其它客户端在你的近邻 - 在中游戏玩家的空间,不一定物理空间 - 足够快的更新同时出现所有本地播放器。

我怀疑,答案是有一个“服务器”或者世界模型每个玩家,而不是代表一个世界服务器的玩家作为载体。

其他提示

的一个大问题是不是bandiwdth或等待时间或分配改变到游戏状态。最大的问题是信任。

如果我告诉你,我杀了一个怪物,你怎么验证我其实做的吗?你如何确认我其实45级?如何验证我不是在世界各地瞬移?记住,你不能检查每个小细节的服务器:这就是我们试图避免

您需要玩家观看选手们,即使这样,他们可能共同作弊。我真怀疑任何人会很快工程师一个值得信赖的P2P网络游戏任何时候。

有很多事情在你的问题需要考虑:

1)的分布式主 - 谁在游戏开始时呢?我在哪里可以找到的第一个节点?如果每个人都决定如何在同一时间关闭其P2P客户端?世界是否结束?

2)Distrubuted规则 - 谁可以确认该玩家77出102235杀害在X,Y,Z怪物?我看到黑客带来很大麻烦/“命令酋长”作弊了......

3)延迟 - 当已经在客户端收到的所有数据?如果网络出现故障?或在一个局域网游戏,如果是硬盘的模具 - ?将这个疯狂的游戏中其他人

我确实认为,P2P思想是有趣的,但在所有的比赛,我认为我们将需要一个“法官”谁可以处理的规则,因为当你对“匿名人士”,那么它的“没关系竞争欺骗”了许多认为

我觉得某种形式的网格计算可能是做到这一点,但同样,如果一些网格掉下来,或者是能够呈现世界和发送结果反馈太慢了..然后我们整场比赛“滞后” ...... =为大家可怕的游戏......这已经看到很多FPS游戏有一个主服务器。如果网络协议犯规手柄滞后太清楚了,它越来越难打了一个人跑步或他们从哪儿冒出来拍你的脸。

这是昂贵的解决方案可能是有,你有一些数据更贴近玩家的“子服务器”(代理游戏的服务器)。我相信这将要求您在世界各地获得了不少serverfarms的(暴雪与WOW一样)或者你将不得不创造某种智能的“P2P主机”,将更新自己以“子服务器”时,则带宽足够大,足够玩家都在它的(检查总是从它的角度来看...滞后)proxsamity关闭...现在可以说,这是可能的。如果该行此子服务器和全球主要gameloop之间打破什么再次?

LOL ...这可以继续下去......这听起来越来越像与互联网一般的麻烦: - )

快乐编码...!

当然,我不是专家,但它听起来有点疯狂的给我。根据我的经验,你需要因为带宽和性能的专用游戏服务器。随着P2P你会失去这两点。在我看来,P2P是好了一些东西。分发文件和研究是其中之一。不过,这些2个东西不需要实时数据。如果你有某种形式的大型多人在线游戏世界,那么你很可能使用P2P分发游戏文件,甚至卸载数字运算。

我认为有可能性,但它们的数量似乎限制,但潜在的强大。

我想,这可能是在理论上是可行的,但它仍然是一个很长的路要走。

正如在其他职位指出,延迟可能只保证更新谁是附近其他玩家保持在较低水平。这已经在分布式游戏做过多年。

数据损失可能通过让若干节点负责每片数据被保持在可容忍的水平。

关于信任的问题,将有可能有一个协议,其中一个玩家可以“挑战”另一名球员揭开作弊。即挑战者将复制其他玩家计算的某些部分,并要求比较结果。目前已经有加密协议里面做这样的事情,但我不知道的细节或者他们在实践中是否可行。

在我看来,真正的问题是,有什么理由要开发诸如系统。成本将会很高,增加了复杂性,但游戏体验(产品)不会显著改善。比它在单成本是可行的一个省钱的活动必须节省更多的钱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top