标签: achievements

在现代复杂游戏中实现成就系统

如今创建的许多游戏都有自己的成就系统,奖励玩家/用户完成某些任务.stackoverflow上的徽章系统完全相同.

虽然有一些问题我无法找到好的解决方案.

成就系统必须始终关注某些事件,想想一个提供20到30个成就的游戏,例如:战斗.服务器会检查这些事件(如:玩家避免X在这场战斗中对手还是玩家的攻击走到X英里)的所有时间.

  • 服务器如何处理这么大量的操作而不会减速甚至崩溃?

成就系统通常需要仅在游戏的核心引擎中使用的数据,如果没有那些令人讨厌的成就,就不需要那些数据(想想例如:每次战斗中玩家跳跃的频率,你不要我不想将所有这些信息存储在数据库中.)我的意思是,在某些情况下,添加成就的唯一方法是将检查其当前状态的代码添加到游戏核心,这通常是一个非常糟糕的主意.

  • 成就系统如何与拥有后来不必要信息的游戏核心相互作用?(见上面的例子)

  • 他们如何与游戏的核心分离?

我的例子可能看起来"无害",但想想目前在"魔兽世界"和同时在线的众多玩家中可获得的1000 多项成就.

optimization code-separation achievements

39
推荐指数
1
解决办法
5496
查看次数

用于构建成就系统的Ruby/Rails的现代工具

我有兴趣为我的Ruby on Rails应用程序构建一个强大的成就系统.

成就可以以无数种方式发生.通常情况下,我们会有一些标准可能发生在几个模型上,一些是必需的,一些是可选的(混合和匹配)触发成就.

我会说这类似于这里的成就系统或Foursquare徽章.理想情况下,如果有一个现代工具可以帮助抽象出一些DSL中的大量工作,那将是非常棒的.

我很想知道其他人如何使用Ruby或Ruby on Rails解决这个问题.从头开始构建这听起来不合理,因为我确信它已经反复多次解决.

ruby ruby-on-rails achievements

21
推荐指数
1
解决办法
4384
查看次数

IOS游戏中心成就上传

有人知道在iTunes Connect中将所有成就上传到Game Center的方法吗?

我用10种语言大约有30项成就.这是一大堆点击,剪切和粘贴,以便将源文件中的数据导入iTunesConnect.我注意到有一个新功能上传应用程序购买.成就有类似的东西吗?理想情况下,有一个很好的XML上传.我在做梦吗?

谢谢,

院长.

itunesconnect achievements ios game-center

17
推荐指数
2
解决办法
3912
查看次数

如何重置Google游戏服务的成就?

我正在使用谷歌的新游戏服务测试我的游戏,我想重置我的帐户的成就以进行测试.

我发现你可以使用谷歌的API(https://developers.google.com/games/services/management/api/#Achievements)重置成就,我正在使用OAuth 2.0游乐场发送POST请求,但是它不工作:(

具体来说,我是发送POST请求" https://www.googleapis.com/games/v1management/achievements/reset ",详见该链接.

并且,当我转到code.google com并检查我的服务时,所有Play服务都是"开启".

这是输出.如何重置我的成就以进行测试?我甚至关闭了吗?显然我的"访问没有配置"我该怎么做?如果不授予我的访问权限,OAuth2.0游乐场的前两个步骤的重点是什么?

HTTP/1.1 403 Forbidden
Content-length: 205
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
X-google-cache-control: remote-fetch
-content-encoding: gzip
Server: GSE
Reason: Forbidden
Via: HTTP/1.1 GWA
Cache-control: private, max-age=0
Date: Sun, 19 May 2013 04:11:38 GMT
X-frame-options: SAMEORIGIN
Content-type: application/json; charset=UTF-8
Expires: Sun, 19 May 2013 04:11:38 GMT
{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured"
   }
  ],
  "code": 403,
  "message": "Access Not Configured"
 }
}
Run Code Online (Sandbox Code Playgroud)

achievements oauth2-playground google-play-services google-play-games

16
推荐指数
2
解决办法
2万
查看次数

使用排行榜发布Android应用程序,但没有成就

我已将我的排行榜集成到我的Android应用程序中,但不打算添加成就.我已经在Google Play的开发者控制台中完成了游戏服务设置,除了成就之外.当我进入发布部分时,它说我的成就不见了.是否可以在没有成就的情况下发布它?

android leaderboard achievements google-play-services

11
推荐指数
1
解决办法
5243
查看次数

像SO这样的徽章成就系统:正在使用的数据+标准(即时授予和计算机工作)

我一直在寻找SO的开源克隆,

http://github.com/cnprog/CNPROG

我不知道Python/Django但我仍然可以阅读最新消息,

开发人员似乎只是通过cron工作授予徽章,奖项是通过方法给出的,是获得奖项必须满足的标准的"规则".

这个文件中,这是Criteria,

然而,在回答最好的商店徽章标准时,它的说法不是像

"select count(*) from posts where user = :user"// for every post.
Run Code Online (Sandbox Code Playgroud)

这有点像CNPROG方法,而是相反

有一个简单的规则,监视每个帖子来,并"计算它们",将规则状态存储在用户配置文件中.

因此,通过"计算它们"这个词,这是否意味着将所有内容记录在一个表中会更好,比如

class UserStats

      int voteUpCount
      int voteDownCount
      int score  
      int commentCount
      int viewCount
      int offensiveFlagCount
      int imageCount
      int feedbackCount
      int commentEditCount
      int commentDeleteCount
      int questionCount
      int questionEditCount
      int questionDeleteCount
Run Code Online (Sandbox Code Playgroud)

然后使用此数据从中制定规则,只需if(commentCount > 10)...对用户发布的每条注释进行简单处理,然后执行SQL查询

问:如果有人可以从问题的最佳方式到商店徽章标准进一步解释答案,但举一个"规则","标准"和数据库设计的例子

这些将与一些"每用户操作"和cron作业一起使用以提供徽章


cron achievements

10
推荐指数
1
解决办法
992
查看次数

离线游戏中心iOS成就

在离线模式下(例如,打开飞行模式),尝试找出在Game Center中使用成就的最佳方式.

据我所知,iOS 5+中的Game Center负责离线提交的成就和分数.它就像一个代理缓存,并在用户上线时将它们提交到在线游戏中心.考虑到这一点,我在做什么:

用户身份验证成功时,我加载成就并将它们存储在字典中.

[GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *gcAchievments, NSError *error)
{
    if (error) { ..skipped ..}
    //This dictionary will store current achievments, so that we didn't submit them
    //once more and didn't show notification.
    achievments = [[NSMutableDictionary alloc] initWithCapacity:gcAchievments.count];

    //Storing achievments in dictionary
    for(GKAchievement *a in gcAchievments)
        [achievments setObject:a forKey:a.identifier];       
}];
Run Code Online (Sandbox Code Playgroud)

稍后当我提交新成就时,我会在字典中检查成就,如果成就已经完成,则不提交.如果我提交成就,我也会将其添加到achievments字典(内存中),以立即重新表明已经提交了此成就.

GKAchievement *cachedAchievment = [achievments objectForKey:identifier];
if (cachedAchievment && cachedAchievment.percentComplete >= 100)
{
    //Already unlocked this achievment.
    return;
}

GKAchievement *achievement = …
Run Code Online (Sandbox Code Playgroud)

objective-c achievements ios game-center

9
推荐指数
1
解决办法
2327
查看次数

Django:Django项目的最佳徽章应用程序

我想在Django项目中实现徽章应用程序,以提供与Stackoverflow相同的功能来奖励用户徽章.

我查看了各种应用程序(应用程序列表),各种博客都提到了Brabeion.这是Badges最好的Django应用程序吗?

该项目似乎没有维持一段时间,github上的问题仍未得到答复.文档很简单,但是没有解释细节,award_points例如下面示例中的方法.

def my_view(request):
    if request.method == "POST":
        # do some things
        request.user.profile.award_points(15)
        badges.possibly_award_badge("points_awarded", user=request.user)
    # more view
Run Code Online (Sandbox Code Playgroud)

另一方面,djangopackages.com列出了Django成就.文档似乎很好而且详细,但是,每个成就都需要它自己的类(可以是一个长类定义文件).

你在为项目使用什么?如果您使用其中一个描述的软件包,您是否有可能在点注册之间共享一些代码?

django achievements badge

8
推荐指数
1
解决办法
2416
查看次数

如何以最小的系统命中率处理您的APP的成就/徽章/奖励?

我喜欢我正在设计的网站的徽章和成就的概念.它们已经被证明可以提高消费/使用率,我认为这可能是我想要开发的应用程序的一大动力.

从高层次来看,我可以想到3种方法.

检查满足cron工作要求的成员:这对我来说似乎不是一个好主意,因为成员数量增加,cron工作需要更长时间才能完成.

每次动作完成后,可能满足徽章的要求,检查是否任何徽章应该颁给:这似乎是一个好办法做到这一点,但似乎我可能砸向服务器上的徽章连续检查已被授予或用户可能甚至不接近.

每次用户完成可以获得徽章的操作时,请检查他们是否已经拥有徽章,然后检查它们是否符合要求:这似乎也没问题,但如果我将用户存储为对象,则看起来像它可能会变得非常大,或者我可能最终会非常难以检查数据库以检查成就.

我有什么选择吗?我对一种或多种方法的担忧是否被夸大了?

编辑: 这是一个比我想象的要少得多的问题,还是在一个糟糕的时刻问我?我有什么不清楚的地方吗?

achievements badge

6
推荐指数
1
解决办法
548
查看次数

我可以在 google play 游戏中使用相同的排行榜和成就来玩安卓游戏吗

我有两场免费游戏(带广告)和付费游戏。

在 iOS 上,他们共享一组中的排行榜和成就。

是否可以为 Google Play 游戏服务中的这两个应用程序共享一个排行榜。我应该链接到signle GPG配置文件这两个应用程序吗?他们都在同一个平台上(并且有两个不同的名字 xxx 和 xxx free)?

android leaderboard achievements google-play google-play-games

6
推荐指数
1
解决办法
3184
查看次数