我还没有看过任何具有现实物理效果的载具的MMO游戏,而且可以达到高速,为什么?是否因为网络带宽限制?
《第二人生》拥有交通工具,但物理能力很差,最大速度令人遗憾。
我还没有看过任何具有现实物理效果的载具的MMO游戏,而且可以达到高速,为什么?是否因为网络带宽限制?
《第二人生》拥有交通工具,但物理能力很差,最大速度令人遗憾。
Answers:
是和否(但大多数情况下,不是)。
任何MMO游戏都有一些会影响其物理性能的限制。其中最重要的是延迟。延迟是客户端将请求发送到服务器并收到答复所花费的时间。即使在最好的情况下,这个时间也大约是50到100毫秒。在现实世界中,它可能高达500毫秒。这意味着,只要玩家做某事(例如转动自己的方向盘),他就可以在100-500毫秒后看到游戏对其做出反应。
100毫秒实际上是很多。延迟时间长的任何游戏都会感到无响应,而500毫秒的游戏则感觉完全无法玩。这就是游戏客户端采用许多技巧来掩盖此延迟的原因。例如,玩家的汽车可以在转动车轮的那一刻开始转向,而无需等待服务器。但是,这些技巧只能掩盖延迟,而无法真正减少延迟。
例如,假设我们有两个玩家同时向彼此转向。每个客户将立即开始自己的汽车转弯;但其他玩家的汽车不会转弯-因为其延迟的变化信息尚未到达客户。两位玩家都高兴地驾驶自己的汽车,然后踩!-服务器注意到它们实际上彼此崩溃了。
这样的情况是无法避免的。无论我们使用哪种聪明的预测方案,在有其他参与者的情况下,总有可能出错。在任何MMO游戏中,您刚刚看到的约有半秒尚未真正发生,并且可以随时更改。现在,在速度较慢的游戏(如传统的MMORPG)中,半秒的时间并不长。在此期间,角色只能移动一两米。但是,如果我们要谈论快节奏的赛车,那么半秒是很长的时间!您可能会在半秒内崩溃3次(-8
实际上,即使有这些限制,快节奏的游戏也可以工作。会有一些不愉快的时刻,但是只要所有玩家之间都保持良好的联系,就可以玩了。这就是多人赛车游戏的工作方式。但是,MMO还有另一个限制:N平方更新计数。
想象有10个玩家同时玩。为了让他们彼此看到,服务器必须向每个玩家发送有关每个其他玩家的信息。在我们的示例中,这意味着准备和发送10x10 = 100条信息。那是玩家人数的平方,因此是“ N平方”。这个数字增长很快,当同一地区有很多玩家时,甚至传统的MMORPG都开始挣扎。对于我们想象中的带汽车的快节奏游戏,与慢速游戏相比,这些信息的发送速度要快得多。而且它们本身可能更大-您不仅会发送位置,而且还会发送速度,加速度,角速度等。这意味着任何快速的多人游戏只能有有限的玩家。
以上两个问题原则上都不能通过软件解决,只能在一定程度上被掩盖。可以通过限制玩家数量来减少它们的数量-因此,例如,仅在玩家数量有限的情况下使用快车的游戏可能是可行的。我相信这就是APB所做的。但是,用快速汽车进行全面开放世界的MMO游戏是不可能的。直到我们有了量子参与网络接口之类的东西。
让我们先看看您的参考。
GTA本身在多人游戏中存在一些问题,但这是可以预期的。一个例子是,延迟使您的汽车追逐成为一场噩梦。有时玩家会因为延迟而互相残杀。
但是延迟不是唯一的问题,您不能仅与客户端一起运行MMO,您需要服务器,并且这些服务器必须管理大多数(如果不是全部)物理机制,以避免作弊。
因此,想象一下必须与数千名玩家一起跑步。还要想象一下在进行大量物理活动时对CPU的压力。您可以抵消专用GPU的压力。Bullet Physics具有在CPU上运行的实现。
但是为了避免服务器过载,您将需要实现一种机制,以根据播放器密度来处理动态区域重新定义。在这种情况下,它比其他MMO更为重要。
这是可行的。这里的问题是需要扩展游戏以容纳更多玩家并运行跨服务器分布的主要游戏实例。
如果您设法优化物理结构,在服务器之间快速高效地传输对象并找到避免大规模拥挤的方法(例如,实例),那么由于MMO的性质,您可以做到与参考和其他一些类似的限制游戏的
请记住,您不必一直将所有游戏状态更新都发送给所有玩家,而只是与玩家直接相关的更改应该不断发送,其余的可以较低的速率发送。