questions about Game Center (sandbox) - 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.

Related

Game Center Leaderboard is only showing current player's score

I tried posting this on the Apple Dev Forums, but I get an error message there.
I have a game up on the App Store that I developed:
https://itunes.apple.com/us/app/trading-day/id973564365?mt=8‌
Players are reporting that they can only see their individual scores on the Game Center leaderboard. The settings for the leaderboard that I created are really simple, and I don't understand how to make a normal leaderboard that shows all player scores.
Anyone have any 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.

Unreal Development Kit Portals/Teleporters

I'm trying to use UTTeleporterCustomMeshes in UDK in a way that is similar to the behavior in the game Portal (the actual portal itself, not the portal gun).
That is:
You can shoot through them as well as walk through them (DONE)
It appears as if you can see through the portal as if it were a window (DONE)
You can stand half way through a portal and be at both sides simultaneously
Shadows and light will also carry through the teleporter
My problem is that I can't seem to find any detailed documentation for UTTeleporters.
Do the teleporters have some built in functionality for this kind of stuff or do I need to implement it all myself?
Ie, create a custom camera to capture the scene to be rendered onto my teleporter and create my own custom teleporter script?
I'm just after SOME sort of direction or ideas ast to how I could achieve this.
Cheers
EDIT:
I've since managed to get steps 1 and 2 working (UTPortal did the trick), though 3 and 4 still remain a challenge.
My first mistake was trying to use UTTeleporterCustomMeshes.
No matter where I went through, it would always spit me out at the middle of the target teleporter. Plus I'd have to do something like #Sebastian said with the TextureRenderTarget.
I still have a long way to go before it starts to look seamless!!
Then, onto stage 2!
Unreal does as far as I know does not support that type of behavior.
You can however build it yourself.
I would look at the TextureRenderTarget classes for rendering the material on the portal.
Standing in the portal with one foot on each "side" will be... very tricky to do but shooting and walking through them should be simple enough by extending the touch event in actor.

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.

How to make a series of dice rolls secure in a client/server scenario?

Imagine the following situation in a game: A series of random numbers is presented to the player. Each number is shown to the player for a short period of time before it goes to the next one. It is the player's aim to pick a high number. He or she just needs to 'click' in the right moment and then the number is chosen.
The question is about how to implement this scenario in a secure way in a client/server scenario.
That means there is a game client which displays the above mentioned scene and there is a server to which the chosen number (in whatever way) needs to be send. The catch is to get this thing secure so that cheating (e.g. by modifying the client) is not possible.
There's really no way to make this completely secure. Even without modifying your client, all someone needs to do is have another program running in the background reading the monitor and looking for a certain number to appear and then send a mouse click event to your client program. This can be done without modifying your client program at all. Even if you somehow managed to make it secure so that they couldn't run any other programs or services at the same time as your program, they could just point a webcam at the screen hooked to a different computer to do the optical digit recognition and send a mouse click event over USB to the computer running your program.
Fortunately, you may be able to get around the problem. Generally if something is to be a "dice roll" you want a random "luck based" outcome. By allowing them to click at a certain time you are making this a skill based game instead of luck based and therefore not really a dice roll. You could make it so there's a slight "delay" from when they click to when the dice stops rolling, so they see it rolling around, click, and it slows down and lands on a number. This way what number was displayed when they actually click does not determine the outcome, but the next (random) number after that one, which would eliminate the possibility of cheating and make this a luck based roll instead of skill based.

Resources