GameCenter - 考虑应用内购买

时间:2010-10-08 15:24:14

标签: iphone gamekit game-center

在我看来,Apple似乎急于实施GameCenter。也许我忽视了一些事情。

如果您创建的游戏要提供应用内购买(比如说您想要销售额外的地图或添加),有没有办法匹配使用GKMatchRequest共享相同地图(复数)的玩家?即其应用内购买重叠,但不完全相同。

或许你想在比赛中出售汽车。你如何匹配分享他们的一些汽车的玩家,不一定是所有汽车?我认为你不能,因为GKMatchRequest中的playerGroup属性仅在用户属于同一组时进行比较。

因此,如果一个用户购买地图A和地图B而另一个用户购买地图B和地图C,则无法匹配它们,尽管他们可以一起玩地图B.当然,您可以实现您的界面,以便用户必须指定他们想要播放的地图。但是在其他情况下,应用内购买可能不是一个/或者问题,但可能在游戏中组合(例如,如果您可以在战斗游戏中购买不同的士兵类型,然后匹配分享他们的一些士兵的玩家类型...在游戏本身,你可以实现逻辑,以排除玩家不共享的那些类型。)

有人能想到一个有效的解决方案吗?

3 个答案:

答案 0 :(得分:1)

在地图案例中,我认为您需要让用户先选择地图。否则,假设你匹配两个玩家,他们有共同的地图B,C和E.现在你需要一种方法让他们就要播放的地图达成一致。也许玩家1打算玩地图B而玩家2想要地图E.即使他们共享一个子集,现在你必须完成在匹配过程中可以完成的工作。

在汽车的情况下,我想你需要问为什么你想用这种方式比较玩家。如果它只是出于公平性(所以你不能与强大的汽车对抗新手),那么你可以根据最高车速创建一个“水平”。也许你会匹配不同车型的人,但他们可以平等匹配。

最后,如果玩家绝对需要匹配的东西,请尽量使用之前的建议,如果他们不这样做,则弹出一条消息说:“嘿,你没有任何匹配的车。想买这个,这样你就可以一起玩吗?“提议现在购买或找到其他玩家。你可以这样做一些销售。


P.S。很抱歉要说教,但说苹果做半个工作是不公平的。游戏中心是一个必须扩展到数百万用户的系统,他们希望或多或少立即找到匹配。尝试通过重叠子集进行匹配会给系统增加大量的复杂性,我认为您不会意识到这种设计的成本。

这很糟糕,不能完全满足你的需要,但是假设缺点是由于无能而导致的态度很差。

答案 1 :(得分:0)

这是支持应用内购买和游戏中心的另一个难题(请在评论中回复)。

假设我的游戏包含针对十个单独拼图包的应用内购买,我的游戏还包括使用游戏中心的免费多人游戏模式。在任何时候,单个iOS设备都有一个iTunes商店帐户登录,这是用于确定我的应用程序的所有应用内购买状态的帐户。如果用户在单个设备上退出其iTunes商店帐户,并且新用户在同一设备上登录其iTunes商店帐户(使用设置应用程序中的“商店”标签),则会显示应用内购买的状态我的应用程序将针对新登录的iTunes商店用户进行更新。完善!现在,如果我的应用使用Game Center允许不同的用户使用同一个应用,会发生什么?突然间,您似乎有一个应用程序的两种不同类型的用户帐户。 Game Center的一个帐户和iTunes商店的一个帐户,对吗?例如,如果user1使用Game Center登录我的应用程序并购买了三个拼图包,那么这些拼图包将被收取到设备上当前登录的任何iTunes帐户。如果user1退出Game Center并且user2登录到Game Center,那么当前登录的iTunes帐户不会保持不变,这意味着user2可以访问用户1购买的拼图包吗?这是不是也意味着user2可以在用户1使用的同一个iTunes帐户下购买额外的拼图包?

更糟糕的是,如果我想基于完成购买的拼图包创建游戏中心成就怎么办?突然间,不同的Game Center用户会收到他们没有解决的拼图包的成就,因为他们共享相同的拼图包状态,对吗?

答案 2 :(得分:0)

在“游戏套件编程指南>多人游戏>玩家群组”中,他们声明“通常,您的游戏应该呈现自己的用户界面,以允许玩家选择用于计算玩家组号的参数。”我猜他们没有计划允许你需要这种限制。

我只能看到四个选项:

  1. 使用地图的“演示版”(即如果用户购买地图A,它将允许他在A上“主持”匹配,无论客人是否购买了A)。如果您的游戏也可以作为单人游戏玩,那么它可能会被用作为客人提供某种广告。
  2. 创建自己的服务器。这是邪恶和模糊的,但我猜你可以这样做任何匹配规则。
  3. “拒绝”没有购买地图的玩家(从未测试过,但我想这对被拒绝的玩家来说会不愉快)。
  4. 创建“地图组”。使用汽车的例子(适用于摩托车),可能有一个100cc组,一个250cc组,依此类推。人们可以通过“A”(100cc)与竞争对手购买“B”(也是100cc)。使用地图,可以是“水图”,“冬季地图”等。这将为购买增添价值,让我们的生活更轻松。但我想这也需要一些UI编码。
  5. 考虑到玩家的最大数量只有4,我不认为Apple准备游戏中心来举办复杂的游戏。也许它就像OpenGLES:很棒的工具,但你必须是一个超级铁杆开发者才能像虚幻引擎的Epic Citadel那样制造超酷的东西(巴西的App Store上不可用 - 遗憾的是)。