注意:以下文本是使用 AI 翻译的,所以如果它看起来像 AI 生成的,我很抱歉。


与我的双胞胎兄弟一起,我们开始创作一个基于物理的体验,既能让玩家感到挫折,也能让玩家感到开心。我们的主要灵感来源是“Chained Together”和“Only Up”。我们的想法很简单:2–4名玩家通过一根绳子连接在一起,共同完成挑战性的跳台。

在第一版原型中,我使用了经典的角色控制器和简单的绳子系统。它在技术上工作,但游戏体验并不令人满意。在那时,我决定转变方向,转向一个类似于“Human Fall Flat”游戏的ragdoll系统。这就是真正的挑战开始的地方。

将一个ragdoll角色与不断通过物理交互的绳子系统结合起来比我预期的要复杂得多。此外,我使用了不同资产的每个系统。即使在单独使用时,它们也很难设置。让它们在稳定方式下一起工作变得是一个严重的工程挑战。添加多人玩法的要求使一切变得更加复杂。

尽管如此,我没有放弃。我真正想要玩这个游戏自己。

我花了大约3个月的时间,专注于使角色和绳子交互稳定和一致。最终的结果既技术上坚实,又真正令人愉快

接下来的一步是测试游戏在真实网络条件下。 我集成Steam Relay(通过Heathen Steamworks)。然而,一个在本地测试中完美工作的系统在与中继连接时开始出现严重的延迟问题。我获得了110ms的ping,结合了tick率和插值,导致了有效延迟250–300ms。对于一个要求精确时刻的游戏,这是不可接受的。

为了提高性能,我尝试了以下方法:

  • 添加骨骼的外推
  • 增加tick率
  • 优化数据流

这些改进了游戏体验,但仍然没有达到我想要的平滑度。

为了进一步减少延迟,我决定实现一个直接(P2P / Nat punchthrough)连接选项。由于Steam的新网络API不允许这样做,我尝试了Epic Online Services。它很容易设置,但不靠谱在一些机器上。由于我无法明确识别问题,我不得不移除它。

经过更多的研究,我发现Steam的旧网络API支持直接连接。我实现了一个自定义集成FishNet,最终得到了可靠的结果。

结果是:

  • 中继延迟从250–300ms降低到约130–150ms
  • 直接连接延迟降低到20–30ms

玩家现在可以选择直接连接以获得更低延迟中继以获得IP隐私

最初的想法转变为一个更大的项目,时间过去了。然而,我仍然很满意。花时间建立一个坚实的东西,而不是匆忙地实施一个浅薄的实现总是值得的。


我可能会在下个月分享我们的游戏愿望清单和销售表现。希望你喜欢这篇文章。请不要犹豫,提出问题。我会尝试回答所有问题。


我们现在正在收集愿望清单。在Steam Next Fest(6月15日-22日)将有可玩的demo。并将在“早期访问”模式下发布(2-3天后)。

希望你喜欢这个游戏。如果你喜欢它,请考虑将它添加到你的愿望清单中 ❤️

游戏名称:不要拉我

Don’t Pull Me! on Steam

https://reddit.com/link/1tx696k/video/34oie5xu8d5h1/player