标签: achievements

通过标识符检索游戏中心成就

我有一个与游戏中心成就有关的问题.是否可以通过其标识符检索成就的名称/描述?我试图避免使用相应的名称对每个标识符进行硬编码,那么是否有可以获得名称的解决方案?谢谢,萨米

iphone achievements ios game-center

5
推荐指数
1
解决办法
2065
查看次数

如何用nosql构建成就和徽章

我目前有一个使用mongodb的社交游戏应用程序用于它的数据库.我的问题是,如果我想创建一个积分和徽章系统,有什么建议.成就/徽章的业务逻辑可能变得非常复杂并且非常特别,因此实时授予徽章似乎效率不高.我想象将跟踪的动作添加到某个地方的队列,即Amazon SQS,或者只是将用户的活动源作为队列使用,并让另一个离线工作进程通过,只处理每个动作/活动的效果,看看是否有阈值任何特定徽章都是划线的.

我对这种方法的担心是,徽章查询似乎变得非常密集,我还必须跟踪大量的操作.我可以设想一些成就,例如过去4周内每周获得第二名的人的徽章,或者在50个州的每一个中都有朋友的人的徽章......等等......

对于这种类型的东西,有更优雅或经过验证的方法吗?除了mongo之外,使用另一个数据库作为成就/活动供稿/排行榜是否有意义,创建一个mongo/other db hybrid环境?

像Redis,Neo4J这样的选择,还是普通的旧SQL Server都是混合解决方案的不错选择?我喜欢Mongo所以它将作为我们的主要数据库,但很想知道是否添加另一个数据库将有所帮助.

database-design achievements mongodb neo4j badge

5
推荐指数
1
解决办法
1010
查看次数

如果网络不可用,Game Center/GameKit报告得分

我正在创建类似于支持Game Center的游戏.当玩家正确认证游戏中心但在我想报告我的分数时网络(wifi或手机)不可用时,我在向排行榜报告得分时遇到问题.

我的应用程序适用于iOS 5.0及更高版本,根据文档 - 排行榜 - 它应该像他们说的那样工作 - 我只使用该功能

- (void)reportScoreWithCompletionHandler:(void (^)(NSError *error))completionHandler and 
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因由于网络错误而无法报告分数,则Game Kit会在网络可用时自动重新发送数据.

但是当我关闭wifi,玩这个游戏并在这个离线模式下报告分数时,我的分数在我重新上线时没有报告!:(与我的成就相同的问题.是否有任何技巧或已知问题?或者此功能仅适用于实时应用而不是测试?

非常感谢你.

leaderboard achievements gamekit ios game-center

5
推荐指数
1
解决办法
944
查看次数

成就/徽章的架构

关于编码类似于SO的徽章系统已经有很多问题,我的问题是不同的.假设我有一个网页系统,徽章/成​​就,作为一行存储在DB中,包含成就键(id),用户ID和任何其他数据.

我的简单问题是,我应该在哪里存储徽章ID?我每个成就都有一个课程,所有数据和测试方法是否已经获得.我想我在某些时候可能会有几十个或几百个.我希望ID只能用硬编码一次,并且在一个简洁的地方,所以我没有机会不小心改变它们或将它们混合起来.

我可以在课堂上对它们进行硬编码,比如

public int Key { get { return 15; } } // I'm calling it Key, not ID
Run Code Online (Sandbox Code Playgroud)

但是,如果我将我的成就分成多个文件,我不想在添加新密钥时查找最高密钥并且冒着错误.

我可以把它们放在另一堂课的一些字典里......

public class AchievementSet
{
    private Dictionary<int, Achievement> _achievements;

    public AchievementSet()
    {
        _achievements = new Dictionary<int, Achievement>()
        {
            { 1, new SomethingAchievement() }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

但是现在类本身并不知道它自己的键,它需要(或者它是什么?)如果我现在将它传递给构造函数,我冒着与数字不匹配的风险.

有什么建议?

c# architecture asp.net-mvc achievements

5
推荐指数
1
解决办法
1194
查看次数

以编程方式更改Game Center中的成就顺序

我正在开发一个有很多成就的应用程序.出于可读性原因,在游戏中心中显示成就的顺序有些相关.随着应用程序的新版本的推出,我正在添加新的成就.现在,改变成就顺序的标准方法是在iTunes Connect界面中拖动它们,正如这个答案所暗示的那样.

然而,正如另一个问题所指出的那样,这并不总是有效,如果你尝试得到一条消息"Failed to update sort order. Please try again."(我从未成功过).作为关于"通用计算硬件和软件"的问题,上述问题被视为偏离主题.

那么,让我从编程的角度来重新解释这个问题:

  • 有没有任何程序化的方法改变在Game Center 中显示成就的顺序,或者,
  • 一旦应用程序上线,是否根本无法改变订单?

achievements gamekit ios game-center

5
推荐指数
1
解决办法
333
查看次数

在没有显示通知的情况下,在Google Play游戏中默默地解锁成就

我正在使用谷歌播放服务,在我的安卓游戏中取得的成就(它实际上是统一的,但并不重要).

为了解锁成就我使用插件调用unlock(GoogleApiClient apiClient,String id)方法.当成就设置为已完成时,Google会显示自己的通知,如下所示: 通知.

我需要默默地解锁成就,而不显示此通知.有什么可以隐藏的吗?

android achievements google-play-services

5
推荐指数
1
解决办法
3410
查看次数

java.lang.IllegalStateException:GoogleApiClient尚未连接

我正在尝试使用Google Play游戏服务为我的游戏添加成就.我的游戏中负责提供成就的活动已经扩展了BaseGameActivity,当它必须给出成就时它调用beginUserInitiatedSignIn,因此用户必须登录,但是当我解锁用户的成就时,我保持得到"java.lang.IllegalStateException:GoogleApiClient尚未连接".谁能告诉我我做错了什么?这是负责解锁成就的代码(它来自BaseGameUtils扩展BaseGameActivity的类):

private void darConquistaDerrubouArvore(int numeroDeAcertos) {
     // start the asynchronous sign in flow
    mSignInClicked = true;
    mGoogleApiClient.connect();
    if(numeroDeAcertos <= 40)
    {
        try
        {
                beginUserInitiatedSignIn();
                Games.Achievements.unlock(gameHelper.getApiClient(), "CgkIs_27xcoSEAIQAQ");
                Log.i("TelaModoCasual", "usuário não está logado");
                this.onSignInFailed();

        }
        catch(Exception exc)
        {
            exc.printStackTrace();
            this.onSignInFailed();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java android achievements google-play

5
推荐指数
1
解决办法
7705
查看次数

获取用户Xbox成就列表?

有没有办法从Xbox获取用户的成就列表而不处理屏幕抓取等?http://www.trueachievements.com网站如何做到这一点?(他们肯定不是屏幕抓取,因为他们没有我的Live ID凭证......)

我知道Xbox LIVE社区开发者计划(XCDP)提供了一些API,但据我所知他们不提供成就信息(链接如下)

http://duncanmackenzie.net/Blog/put-up-a-rest-api-for-xbox-gamertag-data

http://file-pasta.com/file/XML_Feeds.pdf

xbox xbox360 achievements

4
推荐指数
2
解决办法
7766
查看次数

给用户徽章

我正在实施一个网站,我的用户将在完成某些目标或任务时获得徽章.
徽章也有水平/颜色.因此,例如,用户将从0级青铜徽章开始,随着他们的进步,他们将获得1级青铜徽章,并且在更多级别之后,他们将获得0级银徽章等等.

我正在构建数据库,我不知道如何将徽章连接到用户.

我提出的想法是为用户创建1个表,为徽章创建1个表,并将第3个UserID连接到BadgeID:

我关心的是优化.随着越来越多的用户加入网站并获得徽章,访问该表并搜索记录的速度会变慢吗?

在这里读到如何在Java中使用单例在服务器上定期运行脚本,并根据规则检查用户的状态,以升级符合上限目标的标记.这种方法真的可扩展吗?或者我应该关注这个帖子

TIA

database optimization scalability achievements badge

4
推荐指数
1
解决办法
492
查看次数

尝试在Facebook中注册成就时OAuthException 2500(未知路径组件)

我正在尝试为应用注册Facebook开放图表成就.我获取了应用访问令牌,并使用开放图形API资源管理器发布了以下请求:

https://graph.facebook.com/752901688356092/achievements&achievement=https://googledrive.com/host/0B1R_JKMKJc2KbkNqZTdleEZvOUE/brags/fb_achive_100_words.html&display_order=100&access_token=752901688356092|pPwn52AvX-Pkj2n8Tavopew5Rav

(请注意,上面的访问令牌不是真正的应用ID).但是,我收到以下回复:

{
  "error": {
    "message": "Unknown path components: /achievements&achievement=https://googledrive.com/host/0B1R_JKMKJc2KbkNqZTdleEZvOUE/brags/fb_achive_100_words.html&display_order=100&access_token=752901688356092|pPwn52AvX-Pkj2n8Tavopew5Rav",
    "type": "OAuthException",
    "code": 2500
  }
}
Run Code Online (Sandbox Code Playgroud)

我已将应用程序注册为游戏类型应用程序,并且我已使用开放图形调试器验证了成就URL(它显示了成就并报告一切正常).我也尝试了上面没有访问令牌中包含的app-ID.我能错过什么?

api facebook achievements

4
推荐指数
1
解决办法
1万
查看次数