我需要将unity3d游戏转换为基于网络的多人游戏

时间:2016-02-13 00:21:06

标签: unity3d websocket server multiplayer unity-webgl

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

问题是现在范围已经改变,他们希望游戏完全在网络服务器上运行。我想弄清楚它是否可能,我将要做什么以及花费多少时间\工作。

到目前为止,游戏完全独立运行。首先是将其更改为propper多人游戏(多个实例)。它必须可以从任何地方访问(运行os web服务器),他希望它在webgl中,并且同一服务器必须运行多个游戏实例。

这些功能是否可以实现?我正在伪造的其他事情(也许可以解决一些webgl限制)?

谢谢大家的关注。

1 个答案:

答案 0 :(得分:0)

对于服务器端3选择,

  1. 如果您认为用户不多(并发用户不超过100个用户)。您可以使用统一的内置库。
  2. http://docs.unity3d.com/Manual/UNet.html

    1. 但是,如果您希望有更多用户能够处理它并且您有一些预算,请尝试使用Photon:
    2. https://www.photonengine.com/en-US/Photon

      1. 如果您没有太多预算但愿意自己学习如何自己操作并自行设置服务器上的所有内容,请尝试使用Node.JS编写的Socket.IO.这是最难的方式,但最便宜的构建方式,可以根据您的知识扩大规模。我可以说用户越高,服务器的复杂性就越高。
      2. http://socket.io/

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

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