Kann Firebase das erforderliche Backend für Unity-basierte MMO-Implementierungen bereitstellen? Ich sehe, dass es eine Unity-Socket.io-Integration gibt. Hat jemand Firebase ausprobiert? MuchDifferent.com bietet sicherlich eine vollständige Suite zur Unterstützung von Unity-MMOs an. Kann Firebase verwendet werden, um die Architektur zu vereinfachen? Unter welchen Umständen wäre ein Versuch ratsam? Nicht ratsam?
Antworten
Zu viele Anzeigen?Firebase kann verwendet werden, um ein MMO zu betreiben, aber es ist einige Arbeit erforderlich, um es mit Unity zu integrieren. Unity bietet eine begrenzte Schnittstelle für die Kommunikation zwischen dem Unity-Player und dem im Browser ausgeführten Javascript: http://docs.unity3d.com/Documentation/Manual/UnityWebPlayerandbrowsercommunication.html
Sie können die Funktion Application.ExternalCall() verwenden, um zum Browser zu gehen und Firebase-Operationen durchzuführen. Das Zurückrufen in den Unity-Player ist etwas einschränkter. Sie müssen die Informationen in Ihren Firebase-Rückrufen nehmen und in einen String marshalen, da die Unity-Schnittstelle nur das Übergeben eines einzelnen String-Arguments erlaubt (siehe SendMessage in den oben genannten Dokumenten). JSON.stringify() sollte hier ziemlich nützlich sein, und dann benötigen Sie eine JSON-Bibliothek in der Sprache, die Sie für Ihr Spiel verwenden. Darüber hinaus sollten Sie aufgrund der Art und Weise, wie sich Unity mit seiner Host-Plattform integriert, sicherstellen, dass Sie keine Nachrichten bei jedem Frame hin und her geben (d.h. setzen Sie nicht die Position eines Spielers in jeder Sequenz in Firebase). Periodische Updates sollten jedoch kein Problem darstellen.
Die gute Nachricht ist, dass es nicht allzu schwierig sein sollte, dieses Verhalten in eine Bibliothek zu abstrahieren. Wenn Sie sich dazu entscheiden, es zu versuchen, lassen Sie uns bitte wissen, wie es läuft, und zögern Sie nicht, uns zu kontaktieren, wenn Sie auf Probleme stoßen.
Hoffentlich hilft Ihnen das weiter!
Es scheint, dass es jetzt ein offizielles Firebase-Unity-Plugin gibt. Firebase-Unity auf Github
Sie können IKVM verwenden, um die Firebase Java-Bibliothek in eine C#-Bibliothek umzuwandeln. Verwenden Sie einfach diesen Befehl:
ikvmc -out:Firebase.dll Firebase.jar
Dann können Sie die gerade erstellte Bibliothek zusammen mit allen IKVM DLLs nach Unity importieren (kopieren Sie alles in das Stammverzeichnis des Assets-Ordners).
Nachdem Sie alles importiert haben, aktivieren Sie Mono SSL Stores und Zertifikate (standardmäßig deaktiviert in Unity) http://www.mono-project.com/FAQ:_Security.
Ich habe eine Lib für Unity erstellt, die auf Rest basiert, sie startet, aber funktioniert.
Wenn du sie überprüfen möchtest, hilft dir der Link zu FBaseUnity