【问题标题】:Google Cloud Platform with Unity [closed]带有 Unity 的 Google Cloud Platform [关闭]
【发布时间】:2017-02-22 17:45:12
【问题描述】:

我曾考虑将 Google Cloud Platform (GCP) 作为 Unity 的后端。

有人可以指导我将 GCP 流程开发为具有权威性,例如是否有请求 扣除X宝石换算成数量,然后GCP得到宝石 元数据的转换率,计算用户游戏状态中的金额和增量金额,还返回新的总余额作为回调 [记住:元数据/游戏状态保存在 MongoDB (JSON)]

由于我使用的是 AWS 服务器,所以我想知道如何在 GCP 中进行操作。

对此的任何帮助将不胜感激

【问题讨论】:

  • 这里不是很清楚你在问什么,但最好写一个具体的问题,而不是看起来像两个问题。您的第一个问题看起来像是“我应该如何从 Unity 与我的后端交谈?”而您的第二个问题看起来像是“我应该如何实现我的后端?” - 这些是非常不同的问题。
  • 一是如何集成,二是如何使用GCP处理具体情况。看来,你理解这个问题,所以任何关于这方面的帮助都会很棒:) 我搜索了很多,但找不到相关材料
  • 对,所以你有两个问题应该问,每个问题都应该更详细。目前这个问题太宽泛(涵盖太多)并且没有提供足够的细节来回答任何一个部分,。
  • 然后请编辑问题,提供所有相关信息并且只问一件事。这将是我的最后一条评论,除非对问题进行了适当的编辑,因为我反复要求您改进问题并没有看到任何变化是没有意义的。
  • 您所做的就是移除 Unity 部分。 没有澄清其余部分 - 包括没有说明您已经尝试过什么或遇到了什么问题。请阅读我之前提供的链接,并记住 Stack Overflow 的目的是创建一个高质量问题和答案的存储库。

标签: java c# json unity3d google-cloud-platform


【解决方案1】:

如果您希望在 Google Cloud 中运行服务器,则必须记住 Unity 只是一个软件,可以完全访问 C#。这意味着您可以利用整个 .NET 框架、Mono、.NET Core 或任何其他 C# 库来完成您希望完成的任何任务。

让服务器运行的最简单方法是使用 NodeJS,就像我之前看到的那样。 NodeJS 非常快,我有一个朋友单独使用 NodeJS 进行多人游戏。这意味着您可以毫不费力地让后端工作,假设您不必也有一个网站从中提取数据。 This would be where I'd start with that endeavour.

如果您想坚持使用 C#,还有另一种选择,称为 ASP.Net Core。微软最近发布了一个名为 .NET Core 的东西,这意味着你可以在 Linux、Mac 等平台上运行 .NET(某种)代码。无论哪种方式,使用 C#,你都需要通过 Unity make post requests 到网络服务器,process the returned JSON.

最后,如果您想坚持使用 C#,但不使用 ASP.Net 内核,您可以随时just use sockets,或者使用您选择的技术从头开始编写整个 Web 服务器。

但是,您应该从中得到的最重要的一点是,Unity 能够在游戏之外将 C# 代码作为软件本身运行。所有 .NET 代码都可以访问,例如,如果计算机上安装了 .NET。这意味着从理论上讲,您可以使用 Mono 进行设置,然后改用 Mono。 Unity 只是一个完全为您处理图形、物理和输入的引擎,它有一个层为您公开 C# 脚本(其中 C# 是一种中间语言)。

祝你好运。

【讨论】:

  • 与GCP无关
  • GCP 不会为您创建服务器端。它只是托管它。我列出的是创建服务器端的工具,然后您将其托管在 GCP 上
【解决方案2】:

您基本上是在问“如何云托管我的游戏服务器”,这是一个极其复杂的问题。

该过程与您在谷歌基础设施中使用 AWS 的过程完全相同。

【讨论】:

  • 因此任何与它相关的教程或相关帮助都会有所帮助
  • 那么如何与 Unity 集成
  • 我认为您并不真正了解 Google Cloud Platform 的真正含义。它们不会神奇地使您的游戏服务器凭空产生。您必须编写该软件,然后通过 GCP 托管它
  • 是的,我知道 GCP 不会神奇。这就是为什么我要求一个教程如何做到这一点
【解决方案3】:

需要将处理 gems 的 Unity 后端逻辑加载到虚拟机上以运行 gem 转换计算。 Google Cloud Platform 提供了不同类型的 VM compute options 来运行您的 gem 转换逻辑(例如 App Engine 和 Compute Engine),可以通过从您的 Unity 客户端调用 URL Endpoints 以通过 JSON 进行通信来访问这些 VM。

然后这些虚拟机可以连接到databases 以存储您的 gem 和用户游戏状态信息,以便您可以保存用户游戏记录。建议您阅读 Google Cloud Game Server Reference Architecture 指南,其中提到使用 Google Cloud Datastore 作为可扩展的云数据库解决方案。

您可能还想查看Firebase Cloud Messaging,以便为您的所有 Unity 客户提供快速的游戏更新,以执行诸如通知每个用户用户的新宝石数量之类的事情。

【讨论】:

  • 你有没有找到任何教程一步一步实现宝石/货币的相关场景
  • 没有与您的确切 gem/货币逻辑相关的教程,但您可以按照 Hello World tutorial 设置您的后端,然后将 Hello World 逻辑替换为您要创建的 gem/货币逻辑.
猜你喜欢
  • 2019-10-21
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-08
  • 2017-11-29
  • 2020-02-07
  • 2017-06-03
  • 1970-01-01
相关资源
最近更新 更多