首页 > 解决方案 > 举办锦标赛,如何存储所有玩家分数

问题描述

我希望在我的应用中添加锦标赛,其中:

玩家将在他们的移动设备上与自己在一个简单的游戏中竞争,但排行榜将是全球性的。

我在哪里可以存储比赛期间的球员得分并在比赛结束后访问它们?

标签: c#databaseunity3dstorage

解决方案


有几种方法可以解决这个问题,24 小时重置可能会让事情变得有点复杂:

1.可能最简单的一种是通过 Unity 的社交 API 使用平台特定的游戏功能。这里有一些关于此的文档:https ://docs.unity3d.com/Manual/net-SocialAPI.html 这允许您在 iOS 或 Google Play 游戏上使用例如 GameCenter

  • [+] 易于实施
  • [+] 免费
  • [-] 您可能无法访问每个平台特定的功能
  • [-] 通常不跨平台

2.自己实现平台特定的游戏功能。使用此解决方案,您绝对可以访问所有平台特定功能。

  • [+] 免费
  • [-] 通常不跨平台

3.使用一些第 3 方跨平台排行榜服务,我相信一个简单的搜索会产生其中的一些,很可能还有 Unity 插件。

  • [+] 应该易于实施
  • [-] 可能不是免费的
  • [-] 功能可能会受到限制

4.自己做。您可以编写一个简单的 Web API 连接到某个数据库并将其部署到云提供商。这很复杂,因为您突然有另一件事要开发、保护和维护……再加上托管费用。但由于它是您的设计,它可以做任何您想做的事情——例如,您的 24 小时锦标赛功能可能就是其中之一。

  • [+] 可以做任何事
  • [-] 不能免费托管
  • [-] 你必须编写/维护你自己的

我认为您可以摆脱例如为每天创建一个单独命名的排行榜作为每天重置排行榜的一种方法,但您必须研究所有平台的特定功能。


推荐阅读