0

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

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

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

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

谢谢大家的关注。

4

1 回答 1

0

对于服务器端 3 选择,

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

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 仍然只能在现代网络浏览器中玩(Internet Explorer 只能在版本 11 中使用 WebGL,然后 Microsoft Edge 从一开始就支持它)。如果在移动设备上玩,它可以,但它会滞后很多,尤其是在旧设备上。由于 socket.io 最初是为网站发明的,所以我认为你可以在 opengl 中比其他库更容易地调整它。我只能说请尝试导出到 WebGL,您将能够查看您的游戏是否可以玩。在 IE 上试用,您关心的任何移动设备。

于 2016-02-13T05:47:51.280 回答