How can I change the ordering of my leaderboards in Game Center? - game-center

I'm working on an iPhone game. In iTunesConnect I created Game Center leaderboards for levels 10 through 20 of my game. Then I decided to add leaderboards for levels 5 through 9. Now when I look at them in the gamecenter app they are sorted according to the sequence in which I entered them, not alphabetically, so levels 5 - 9 appear at the end after level 20. I don't see any way on the itunesconnect site to change the ordering. Do I have to delete all of the leaderboards and create them over again? What a pain that would be!
This is in the sandbox. I haven't submitted the game yet.

Using your web browser, just grab the leaderboard and drag it and it will reorder them.

Related

How to match user height between VR and AR?

I asked this some time ago on GitHub and was asked to move the question here, so I will.
From my experience, starting a game with a Hololens makes the camera start at 0,0,0 in the scene. When starting with an HMD, the head has approximately the correct height, which can also be adjusted in the Mixed Reality Portal if not perfect.
If those two were to meet in a networked environment, one would see the other at his feet or high up in the air when viewed the other way around.
To get those two to meet at eye level, you either raise one up or lower the other down. No matter the case, you need to know by how much.
The Hololens does not have an internal height representation, you could calculate it from the generated spatial mesh at best. The HMD on the other hand does have an information about it's height, a base height even, otherwise I couldn't configure that in the Portal, kneel down etc. and just be the correct height above the floor.
Now the question is, how do I read this base height for the HMD so I can lower the floor to that height, effectively setting the networked parties to eye level?
For now I have to set an arbitrary height of like 1.6 meters, but that's my colleagues standing height. I am about 1.93 meters tall
NeerajW on GitHub wanted to see if he could find an API that returns the Portal default height, but never replied.
With the Hololens 2 joining the community that's now two AR devices that might want to meet VR avatars from around the world.
How do you guys do this?
In your scenario, are you trying to 1-to-1 match the actual user heights? If so, you may wish to place the avatars at eye level (if they are small/hovering objects) or on the floor plane (if they are humanoid).
Since the VR user's cannot actually see the HoloLens user, this may work well. For the HoloLens user it may feel odd, presuming the VR user is visible (in the same room).
In the Holograms 250 academy course (please note this uses the legacy HoloToolkit), the app represents HoloLens users as floating clouds in VR. The VR user was represented as a small figure on an island model to the HoloLens user.
I hope this is helpful.
David
(I also have an inquiry with other members of the team to see if there are other ideas).

Some but not all matches disappearing, not loaded from Game Center

I have an iOS turn-based match app using GameKit. Recently, I've had some matches on Game Center disappear. It's about one in six with no rhyme or reason. GKTurnBasedMatch.loadMatchesWithCompletionHandler fetches Game Center matches successfully, but a few of my ongoing or old matches are no longer there. However, when I go to the separate Game Center app and look at my Turns, I can see the missing matches there -- my app just can't access them.
the weird thing is that it is only a fraction of the total that have disappeared. Not sure if it matters, but when this happened I had more than 30 total matches but fewer than 30 active matches. The issue occurs both in sandbox and production versions. Has anyone else seen this issue?
According to this wwdc session http://asciiwwdc.com/2013/sessions/506 a game can have up to 30 matches. The speaker doesn't describe what happens if you try to create a 31st. It appears, based on your experience, that any extras are subject to disappearing.
I have never seen this limit mentioned in any of the game center docs, just in the wwdc videos.

Get Average GameCenter Leaderboard Score?

1) So I currently have a leaderboard that is based on people's score. Their scores are doubles, 0.00 - 100.00.
So if there are only 2 people on the leaderboard, one with a score of 90.00 and the other with a score of 80.00, i want to be able to tally up all of the scores and divide by the number of people on the leaderboard... in this case 90.00 + 80.00 / 2.0
So does anyone know how to do this?
2) Second, I want to create a leaderboard that the user can see their ranking, but is unable to see other people's names. Is there a way to do that as well? I know I could make a custom interface that only shows their ranking, but then if they open the gamecenter app, they would be able to look up my app and see names and rankings but I don't want to allow that.
3) Is there a way to make a leaderboard only show the user's most recent submission? For instance, if their first submit a 70.0, then a 80.0, then a 60.0, then a 71.2, it will only show the 71.2?
To answer your questions:
1. This is not possible with standard GameKit API. You will need your own server to achieve this.
2. You are right, even if you create a custom UI for leaderboards, the user will be able to see other players scores in the game center app. But if you just want local player highscore, store it locally and use iCloud to synchronise it.
3. This is also impossible with GameKit. But if you store it locally, you can do it your way.
Game Center doesn't provide API for fetching an average score. If you could fetch all the scores on the leaderboard, you could easily use KVC collection operators to compute their average. However, you can't get all the scores on a leaderboard -- its range property only allows you to fetch up to 100 scores.
Any leaderboards you create using Game Center will be visible in the Game Center app, names and all. (Note that only nicknames are shown for people not in your friends list -- if your question has to do with privacy of real names, you needn't be concerned.)
You can now use iTunes Connect to control whether a leaderboard shows each player's highest score or their most recently submitted score -- see under "score submission type" in iTunes Connect Developer Guide.

Game center sandbox

Ok, so I have an app available in the app store, for its next update I want to add Game Center functionality, I have done all my coding and everything is working as I would expect (using NSLog to make sure that the correct coding is called) but, when I open up Game Center, one achievement is there but not the second one that I got and one of the leader boards was showing a score a few hours ago, now its not and on the other leaderboard the score is showing as an old score.
is the Game Center Sandbox mode really this bad as I have been searching for errors in my code for hours now and I swear, there arent any.
Can anyone help me please?
Note - I saw on here someone suggested to use the game with 2 game center accounts, I have done that and on the second account no highscore or achievements are showing at all.
Thanks Graham
In my experience two accounts do seem to be necessary and you have to wait a while (sometimes hours or overnight) for results to appear. Other times they appear quicker. I actually tested with 3 accounts but I doubt the third made any difference.
And double check that the leaderboard ID in iTunes Connect exactly matches the ID in your code.

questions about Game Center (sandbox)

I'm using pretty straightforward code, modeled on the code in Strougo & Wenderlich, but wacky things are happening that I'm trying to figure out. A couple of them:
1) In the Game Center app on the device one game I bought from the app store (namely Temple Run) is showing up in the sandbox along with the game I'm trying to debug. How did that get there? I have several other app store games with game center features that don't show up so it isn't that everything on my device is showing up.
2) The game I'm developing has achievements and leaderboards. The code for submitting both seems to be working but only my achievements show up in the Game Center app. It says "No Leaderboards" instead of showing my leaderboards. However if I run the code that retrieves leaderboard information it works as expected and I get back my scores.
3) The game center app in the simulator doesn't say "No Leaderboards". It has leaderboards for my game but it says "No score". On the leaderboard detail screen it shows my rank as #1 of 1 friend and #2 of 2 players, and on the detail of that it shows the actual scores in my test game.
4) The simulator's game center app says I have no achievements even though the device's game center app shows the achievements correctly. Is the simulator's Game Center app simulating the Game Center Server and not communicating with the real Game Center server?
5) Do I count as one of my own "Friends" even though I didn't do anything to become a friend (to explain #3 above)?
6) The leaderboard screen on the device looked like it was working at first glance but I just realized that the scores it's showing are numerically wrong! What's with that? Maybe they're left over from yesterday or some other time?
1) Game Center accounts get stuck in sandbox mode sometimes, one solution is to log out from the Game Center application and log-in from the game (temple run in this case)
2) I'm having similar issues too, I think some has to do with sandBox accounts. For example I can't see any of the leader board scores uploaded when I send a score from just one device, as soon as a second device submits a score, they both appear in the leader board.
Also have you also enabled Game Center for the current version from iTunes Connect?
I know this is old, but I found an answer that helped me, and might help someone else. Also the itunes connect changed a lot through time, maybe this answer is more relevant for recent problems. I hope the OP have fixed all his issues by now.
2) This one might do the trick. 2 test accounts. iOS Game Center: Scores not showing on leaderboard in sandbox
Even having one device you can have multiple test accounts with generics emails:
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SettingUpUserAccounts.html#//apple_ref/doc/uid/TP40011225-CH25-SW9
This answer is more about the 2 question that helped me.
But for the other ones:
1) It happened with me too. I don't know if it was because the app were open when I logged into Sandbox environment or if recent downloads apps might affect this somehow - anyways the apps show there; but it seem harmless.
3) I always hear to test on devices always, so I believe you shouldn't take simulator in consideration on this. And the answer of 2 might solve this issue as well.
4) Did you check inside the itunes connect if you have added the Achievements to the game? And I mean added, not just created. After creating you must insert them on the "Versions" tab, find the Game Center part, press "+" on Achievement. I always forget to add in-app purchases the same way.
5) As you said about "temple run" appears on your account out of the blue, maybe your test game appeared on your "not test account" somehow, but with no data GC data recorded on it.
6) Didn't understand well. Sorry about my english.
A) They are like out of regular order (high to low), or
B) the score itself is wrong? Like: you scored 7, but it shows a previous 5.
A) This happens all the time and I figure the sandbox is a lil buggy. So I double check the high score on Player Preferences and when checking I always parse the value again.
B) you can change the order of score displaying when creating the leaderboard.
https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/GameKit_Guide/LeaderBoards/LeaderBoards.html#//apple_ref/doc/uid/TP40008304-CH6-SW22
Every time I create a new game is a fight testing GC. Hope this helps anyone out there.

Resources