我需要什么才能将 Unity3D 游戏转换为基于 Web 的多人游戏



我正在使用unity3D构建一个游戏,该游戏使用websocket连接到一个或多个Android控制器(使用html5 + js制成(以进行多人游戏。实际版本作为独立应用程序在本地运行,并按预期工作,人们可以作为多人游戏在本地连接和播放。

问题是现在范围发生了变化,他们希望游戏完全在网络服务器上运行。我试图弄清楚这是否可能,我将要做什么以及需要花费多少时间\工作。

到目前为止,该游戏完全可以独立运行。第一件事是将其更改为多人游戏(多个实例(。它必须可以从任何地方访问(运行网络服务器(,他希望它在webgl中,并且同一服务器必须运行游戏的多个实例。

这些功能是否可以实现?我忘记的其他事情(也许可以解决一些webgl限制(?

谢谢大家的关注。

对于服务器端 3 个选项,

  1. 如果您认为用户不多(并发用户不超过 100 个用户。您可以使用 Unity 中的内置库。

http://docs.unity3d.com/Manual/UNet.html

  1. 但是,如果您希望更多用户能够处理它并且您对此有一些预算,请尝试Photon:

https://www.photonengine.com/en-US/Photon

  1. 如果您没有太多预算,但愿意学习如何自己完成并在服务器上自己设置所有内容,请尝试用 Node.JS 编写 Socket.IO。这是最难但最便宜的构建方式,并且可以根据您的知识进行扩展。我可以说的是用户越多,服务器必须处理的复杂性就越高。

http://socket.io/

https://www.assetstore.unity3d.com/en/#!/content/21721

对于客户端,WebGL。我不能说太多,因为不同的游戏有不同的要求,WebGL仍然只能在现代Web浏览器中玩(Internet Explorer只能在版本11中使用WebGL,然后Microsoft Edge从一开始就支持它(。如果在移动设备上播放,它可以,但它会滞后很多,尤其是在旧设备上。由于 socket.io 最初是为网站发明的,所以我认为当它在 opengl 中时,您可以比其他库更容易地适应它。我只能说请尝试导出到WebGL,您将能够查看您的游戏是否能够玩。在IE上试用,您关心的任何移动设备。

最新更新