Announcement

Collapse
No announcement yet.

Must be on internet to register a high score - how is this OK?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Must be on internet to register a high score - how is this OK?

    I posted a few days ago about a high score I got in Exaclibur, which would have landed me at 75, but didn't register on the leaderboards for some reason.

    The only thing I've been able to figure out is that its because I wasn't on the internet when I scored it. I did get to some WiFi before I switched app focus, but it didn't matter.

    Call me vain but I like to see my name up there on the leaderboard.

    And call me cheap, but I didn't spring for wireless internet for the iPad, and I don't have tethering on my mobile phone (still an extra charge on my VZW unlimited plan). I like burning up my hour train commute on Zen Pinball, but there is no internet on the train.

    Is this something that can be fixed? Zen Studios? Anyone? Or is there something else I should look into.

    Please advise,

    theSchmett!

  • #2
    I know how you feel, it's even more annoying when you were on the internet at the time you did a score and it doesn't register in Game Center.



    No reply from anyone at Zen on this topic. :/

    Comment


    • #3
      I believe it is a flaw with Game Center score reporting. Below is a copy of Apple's programming guide for Game Center score reporting. Take note of the last line that says if scores cannot be reported due to a network error, Game Kit automatically resends the data when the network becomes available. This is not true at all. Game Center is pretty crappy. Hopefully it improves with ios 7 but I won't get my hopes up. Doing a search, I did find that a programmer published open source code for offline score reporting. Maybe Zen's mobile programmer can take a look at it and see if can be implemented. Here's the link https://github.com/simX/offline-game-center

      Reporting Scores to Game Center
      Your game transmits scores to Game Center by creating a GKScore object. A score object has properties for the player that earned the score, the date and time the score was earned, the category for the leaderboard the score should be reported to, and the actual score that was earned. You allocate and initialize a new score object, configure its properties, and then call its reportScoreWithCompletionHandler: method to send the data to Game Center.

      Table 4-3 shows how to use a score object to report a score to Game Center.

      Listing 4-3 Reporting a score to Game Center
      - (void) reportScore: (int64_t) score forLeaderboardID: (NSString*) category
      {
      GKScore *scoreReporter = [[GKScore alloc] initWithCategory:category];
      scoreReporter.value = score;
      scoreReporter.context = 0;

      [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
      // Do something interesting here.
      }];
      }
      The score object is initialized with the leaderboard ID for the leaderboard it reports its score to and then the method sets the value property to the score the player earned. The leaderboard ID must be the identifier for a leaderboard you configured in iTunes Connect. The player who earned the score and the time the score was earned are set automatically when the score object was created. Scores are always reported for the local player.

      Your game should create the score object and report the score to Game Center immediately after the score is earned. This sets the date and time accurately and ensures that the score is reported correctly. If for some reason the score could not be reported because of a network error, Game Kit automatically resends the data when the network becomes available.

      Comment


      • #4
        One workaround that might work if you don't have network access is if you have a really good game, pause the game immediately after you lose your last ball before your enter your initials. Don't force close the app or you will lose your score. If you have a newer device, you might be able to get away with using another app but I have found if you have too many apps open or an app that using a lot memory, your backgrounded ZP app will automatically quit. Anyways, after you pause the game and get a chance to connect to a WLAN, go to the ZP app and make sure you see the "connected to game center" popup. Then resume your game, enter your initials, and then the end of game summary screen pops up. I think this is when your score is uploaded to game center servers. Obviously this is not the best solution because you can't start another ZP game until you upload your score. But it's better than nothing I suppose. Also, take note that any achievements earned offline will not upload to game center and you will have to earn them again.

        Comment

        Working...
        X