展开讨论

创业与收入经验摘录 · 机器翻译

"1. 序列化整个场景,压缩数据,并将其传递给加入的客户端"

"1. 序列化整个场景,压缩数据,并将其传递给加入的客户端。我们已经为快速保存和快速加载实现了完整的场景序列化,因此这是可能的,但文件较大:常见大小为30-50 MB,通常更大,因此传输需要较长时间。 [...] 3. 记录确定性的命令流,将其传递给加入的客户端,并让该客户端在加入游戏前对加载的场景应用所有更改。与选项2相比,数据量要小得多,因为我们不发送任何体素数据,但应用更改可能需要较长时间,因为它涉及大量计算。当我们开始研究选项3时,我们意识到它实际上比我们预期的数据量更少,但我们仍然限制缓冲区大小,并在缓冲区满时禁用进行中的加入。这允许一定数量的场景更改后的延迟加入,超过这个数量后,应用命令将需要不合理的时间。" 所以[1]对于想要这样做的玩家来说不是一种选择吗?

源讨论《Teardown多人游戏的不寻常故事》原帖 65 条评论 · 导入时统计
2

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 2

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

FL

fme,这只会带来一点不便。当场景进行到无法加入时,场景已经完全混乱了。不妨重新开始场景。 不过,我并没有玩过那些更复杂的模组,但我知道这可能会成为一个更大的问题。

完整原文
JE

[1] 的问题之一是,你最终仍然需要[3],因为即使你有光纤到光纤的连接,当传输进行时,游戏世界已经继续前进,你仍然需要重新播放这部分。 但是,如果你已经有一个完全正确地解决[3]的方法,那么编写大量用于[1]的代码就变得多余了,即使有保存/加载代码就在那里。不妨从头开始重新播放。 我经常做的一件事是,我有时需要向我的工程师同事解释,根据导致某些变化的因素,我们处理这些变化的速率是有限的。如果你知道在系统另一端的是一个人,他们只能以一定的速度点击、输入和输入文本。是的,如果你的系统需要考虑,你仍然需要考虑像复制和粘贴这样的事情,如果这对你的系统来说是个问题的话,他们可能…

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。