我有一个与游戏中心成就有关的问题.是否可以通过其标识符检索成就的名称/描述?我试图避免使用相应的名称对每个标识符进行硬编码,那么是否有可以获得名称的解决方案?谢谢,萨米
我目前有一个使用mongodb的社交游戏应用程序用于它的数据库.我的问题是,如果我想创建一个积分和徽章系统,有什么建议.成就/徽章的业务逻辑可能变得非常复杂并且非常特别,因此实时授予徽章似乎效率不高.我想象将跟踪的动作添加到某个地方的队列,即Amazon SQS,或者只是将用户的活动源作为队列使用,并让另一个离线工作进程通过,只处理每个动作/活动的效果,看看是否有阈值任何特定徽章都是划线的.
我对这种方法的担心是,徽章查询似乎变得非常密集,我还必须跟踪大量的操作.我可以设想一些成就,例如过去4周内每周获得第二名的人的徽章,或者在50个州的每一个中都有朋友的人的徽章......等等......
对于这种类型的东西,有更优雅或经过验证的方法吗?除了mongo之外,使用另一个数据库作为成就/活动供稿/排行榜是否有意义,创建一个mongo/other db hybrid环境?
像Redis,Neo4J这样的选择,还是普通的旧SQL Server都是混合解决方案的不错选择?我喜欢Mongo所以它将作为我们的主要数据库,但很想知道是否添加另一个数据库将有所帮助.
我正在创建类似于支持Game Center的游戏.当玩家正确认证游戏中心但在我想报告我的分数时网络(wifi或手机)不可用时,我在向排行榜报告得分时遇到问题.
我的应用程序适用于iOS 5.0及更高版本,根据文档 - 排行榜 - 它应该像他们说的那样工作 - 我只使用该功能
- (void)reportScoreWithCompletionHandler:(void (^)(NSError *error))completionHandler and
Run Code Online (Sandbox Code Playgroud)
和
如果由于某种原因由于网络错误而无法报告分数,则Game Kit会在网络可用时自动重新发送数据.
但是当我关闭wifi,玩这个游戏并在这个离线模式下报告分数时,我的分数在我重新上线时没有报告!:(与我的成就相同的问题.是否有任何技巧或已知问题?或者此功能仅适用于实时应用而不是测试?
非常感谢你.
关于编码类似于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)
但是现在类本身并不知道它自己的键,它需要(或者它是什么?)如果我现在将它传递给构造函数,我冒着与数字不匹配的风险.
有什么建议?
我正在开发一个有很多成就的应用程序.出于可读性原因,在游戏中心中显示成就的顺序有些相关.随着应用程序的新版本的推出,我正在添加新的成就.现在,改变成就顺序的标准方法是在iTunes Connect界面中拖动它们,正如这个答案所暗示的那样.
然而,正如另一个问题所指出的那样,这并不总是有效,如果你尝试得到一条消息"Failed to update sort order. Please try again."(我从未成功过).作为关于"通用计算硬件和软件"的问题,上述问题被视为偏离主题.
那么,让我从编程的角度来重新解释这个问题:
我正在使用谷歌播放服务,在我的安卓游戏中取得的成就(它实际上是统一的,但并不重要).
为了解锁成就我使用插件调用unlock(GoogleApiClient apiClient,String id)方法.当成就设置为已完成时,Google会显示自己的通知,如下所示:
.
我需要默默地解锁成就,而不显示此通知.有什么可以隐藏的吗?
我正在尝试使用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) 有没有办法从Xbox获取用户的成就列表而不处理屏幕抓取等?http://www.trueachievements.com等网站如何做到这一点?(他们肯定不是屏幕抓取,因为他们没有我的Live ID凭证......)
我知道Xbox LIVE社区开发者计划(XCDP)提供了一些API,但据我所知他们不提供成就信息(链接如下)
http://duncanmackenzie.net/Blog/put-up-a-rest-api-for-xbox-gamertag-data
我正在实施一个网站,我的用户将在完成某些目标或任务时获得徽章.
徽章也有水平/颜色.因此,例如,用户将从0级青铜徽章开始,随着他们的进步,他们将获得1级青铜徽章,并且在更多级别之后,他们将获得0级银徽章等等.
我正在构建数据库,我不知道如何将徽章连接到用户.
我提出的想法是为用户创建1个表,为徽章创建1个表,并将第3个UserID连接到BadgeID:
我关心的是优化.随着越来越多的用户加入网站并获得徽章,访问该表并搜索记录的速度会变慢吗?
我在这里读到如何在Java中使用单例在服务器上定期运行脚本,并根据规则检查用户的状态,以升级符合上限目标的标记.这种方法真的可扩展吗?或者我应该关注这个帖子?
TIA
我正在尝试为应用注册Facebook开放图表成就.我获取了应用访问令牌,并使用开放图形API资源管理器发布了以下请求:
(请注意,上面的访问令牌不是真正的应用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.我能错过什么?
achievements ×10
game-center ×3
ios ×3
android ×2
badge ×2
gamekit ×2
api ×1
architecture ×1
asp.net-mvc ×1
c# ×1
database ×1
facebook ×1
google-play ×1
iphone ×1
java ×1
leaderboard ×1
mongodb ×1
neo4j ×1
optimization ×1
scalability ×1
xbox ×1
xbox360 ×1