Photon Unity Networking 或 Bolt 或...?

Photon Unity Networking or Bolt or ...?

我无法决定在基于 Unity 的多人游戏中使用 PUN 还是 Bolt。游戏必须有局域网和互联网播放选项。

根据 photon 网站上的文档,PUN 用于 Internet 上的多人游戏。主服务器托管在光子云或专用服务器中 运行 光子服务器。

另一方面,Bolt 适用于局域网游戏。其中一个客户端成为服务器。

我的游戏同时需要局域网和互联网。我应该同时使用这两个 SDK 吗?两个选项不能有通用代码吗?

编辑:

UNET 现已删除!

您也可以使用 Unity (UNet) 的新网络,它同时具有 lan 和 Internet(如果您是 portforward,但我认为至少应该有一个选项。引用我的话)。

不过你可以看看UNet手册,看看你是否喜欢它。: https://docs.unity3d.com/Manual/UNet.html

我目前正在用它开发一款 3v1 游戏。并且需要一些时间来理解,但您不必担心付款或其他事情。

(我没有50声望只能给个答案)

我会推荐你​​光子。它非常易于使用,而且非常便宜。 Photon 服务器比 UNET 服务器便宜得多。 UNET 和 Photon 都有很好的文档、很多教程和一个很大的社区,所以如果你选择一个或另一个,你应该不会有问题:)

Photon 支持回复,

1] 我应该同时使用这两个 SDK 吗?

组合 PUN + Bolt 没有意义。 Bolt 适用于 LAN 和在线游戏。 Bolt 不是基于 UNET,它是从头开始编写的。 Photon Cloud 和专用服务器也可以与 Bolt 一起使用。 https://doc.photonengine.com/en-us/bolt/current/advanced-tutorials/headless-server

2] 我应该为在线和 LAN 功能编写单独的代码吗?

不,这不是必需的 - 您 "just" 需要处理在线游戏中较高的延迟。

Bolt 也适用于 "internet" 游戏,如果您喜欢通过 internetLAN 来区分游戏。 但是选择哪一个在很大程度上取决于您的游戏本身。 如果游戏需要中央安全服务器来处理逻辑过程,您应该使用 Photon 或类似方法。 如果游戏是 p2p 的,快速面对并且不太关心(不是说根本不关心)安全(例如避免作弊,速度,wall hack)那么你应该选择 Bolt。

Photon在这里做了一个对比: https://doc.photonengine.com/en-us/pun/current/reference/pun-vs-bolt

对我来说主要的区别是主机迁移,Bolt 和 UNet 还不支持主机迁移(UNet 支持 LAN 但不支持 Internet)...

如果你的游戏节奏非常快(每场约 30 秒)并且不关心主机迁移(主客户端断开连接),那么 PUN 或自己的专用服务器(我不会考虑)是唯一的选择.

我听说如果你想把某件事做得很好,那就自己去做吧。这并不意味着 PUN 或 Bolt 或 UNet 不起作用,相反,它们完美地服务于创建的场景,但对于您的特定场景,它们可能不太适合。如果你想要 LAN、互联网、中央服务器或客户端作为服务器,除了避免延迟的算法,如插值和预测,你必须从头开始,创建你自己的框架,为此使用 Unity Networking API.