使用Firebase作为Unity3D的后台,创建大型多人在线游戏。

3
Firebase能否为基于Unity的MMO实现提供必要的后端支持?我看到有Unity-socket.io integration。有人尝试过Firebase吗?MuchDifferent.com肯定提供了完整的套件来支持Unity MMO。Firebase可用于简化架构吗?在什么情况下建议尝试?不建议?
4个回答

5
Firebase可以用于支持大型多人在线游戏,但需要一些工作来与Unity集成。Unity提供了有限的接口,用于在Unity播放器和在浏览器中运行的JavaScript之间进行通信:http://docs.unity3d.com/Documentation/Manual/UnityWebPlayerandbrowsercommunication.html 您可以使用Application.ExternalCall()函数调用浏览器并执行Firebase操作。回调Unity播放器会受到一些限制。您需要将Firebase回调中的信息转换为字符串,因为Unity界面只允许传递一个字符串参数(请参见上述文档中的SendMessage)。JSON.stringify()在此处应该非常有用,然后您将需要一个JSON库,以便在游戏中使用的任何语言。此外,由于Unity如何集成其主机平台,因此您需要确保不会在每个帧上来回传递消息(例如:不要在每个帧中将玩家位置设置到Firebase中)。但是,定期更新不应该构成问题。
好消息是,将此行为抽象为库应该不太困难。如果您决定尝试,请告诉我们进展情况,并且如果遇到任何问题,请不要犹豫与我们联系。
希望这可以帮助您!

一些Unity的人给出了有趣的回应,链接如下:http://forum.unity3d.com/threads/173675-can-Firebase-be-used-to-backend-Unity-MMOs?p=1188205。 - Chip
嗨Chip,我在那个论坛上解决了一些他们的问题,但是总结一下:Firebase在所有支持它们的浏览器中都通过Websockets运行,这类似于普通的TCP连接。Firebase提供了一个强大的身份验证和授权安全框架,帮助您保护客户端应用程序并防止游戏作弊。有关更多信息,请参见此处的屏幕录像:https://www.firebase.com/docs/security-quickstart.html - Greg Soltis
另外,也可以查看roll20。它是一个由Firebase驱动的虚拟桌面游戏网站。它是一个很好的浏览器内多人游戏示例,展示了Firebase的能力。 - Greg Soltis
Unity支持的其他平台如Android和iOS呢? - Oliver
Firebase同时支持Android和iOS。您需要将它们封装在Unity插件中,以便从Unity播放器中使用它们。 - Greg Soltis

1

0

您可以使用IKVM将Firebase Java库转换为C#库。只需使用以下命令:

ikvmc -out:Firebase.dll Firebase.jar

然后,您可以将刚创建的库与所有IKVM DLL一起导入到Unity中(将Assets文件夹的根目录中的所有内容复制)。

导入所有内容后,启用Mono SSL存储和证书(在Unity上默认关闭)http://www.mono-project.com/FAQ:_Security


0
我基于Rest为Unity制作了一个库,它已经开始工作了。
如果想要检查它的帮助,请访问FBaseUnity链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接