Does anyone have a list of data types that produced by the apple watch without any additional apps or integrated devices? It must be a subset of these, but I can't figure out which ones
The exact list of data types depends on the model, but the latest Apple Watch models automatically collect data for all of the following HealthKit types:
Active energy
Basal energy
Environmental audio exposure
Headphone audio exposure
Noise notifications
Exercise minutes
Flights climbed
Heart rate
Heart rate variability
Resting heart rate
Walking heart rate average
High heart rate notifications
Low heart rate notifications
Stand hours
Stand minutes
Step count
Walking + running distance
VO2 max
Apple Watch will also collect cycling distance, but only if the user explicitly records a cycling workout. There are also other types of HealthKit data that can be recorded manually by the using the built-in apps on the Apple Watch, such as mindful minutes.
Is there a way to learn how many players using Game Center or waiting for a game to play ? In my application there is a scene where you select the type of game you are going to play. There are three types "Single Player" "Multiplayer" and "Multiplayer via Game Center". I want to show how many players playing using game center to the user and how many players are trying to find a match.
I want to know if there is a way to know it ?
I found a way to show how many users are currently using my app and logged in with game center.
First make a leaderboard, call it something like "Online Players". Make it's Score Submission Type "the most recent score" and sort order "high to low". When users authenticates with game center send 1 to your leaderboard and when application goes background send 1 to your leaderboard. Ask for the leaderboard scores where you want to show the online players and get highest 100 values. Set timeScope GKLeaderboardTimeScopeToday and range 100 (MAX). Only bad part is that max value, you can show only 100 players online and if you get more online players, you can't show them.
I made a game with cocos2d for iOS. and I will put a network kit for people to play multiplay game. but I wanna put also a ranking system so that people would see how well he does.
but I don't wanna make a server.. nor do something, so I just wanna use a game center leader board. Do you think is this OK?
I mean people play with random people and get a points if they win. so It shows on leader board as ranking. It's like "battle.net" of Warcraft 3 or Starcraft. Is it possible with just using game center?
[POINT]
- Can I play with random person?
yes you can totally do that! game center allows you to match users of the same groups , you can sort your users into groups, (example: by their level) and game center allows you to match users based on these groups
here you can read up about matchmaking in game center, of course you will need to read up on most of gamecenter docs as this is not so much of a plug and play piece of code
similarly it leads to here where they talk about player groups and how you sort your players into groups which you can add to your matchmaking request to sort matchrequest by groups so that players get someone of their own skill level
and yes it will be a random person
cheers
Yes, GameKit supports Leader boards.
In Game Center, a leaderboard is used to record scores earned by anyone who plays your game. Your game posts player scores to Game Center. When a player wants to see their scores, they bring up a leaderboard screen, either in the Game Center application or by viewing the leaderboard inside your game.
You can also use matchmaking to create games with random persons.
Your game can provide automatic matching to create a match. When you use automatic matching, players do not invite other players into the match. Instead, you send a request to Game Center and the player is connected into a match with any other players waiting to join a match (not just friends).
So I'm programming a game for the iPhone that the best score is the lowest score, but when I submit scores through the GameKit to the Gamecenter leaderboards, only the highest score shows up, aka the worst score for that player. Is there a way to make Gamecenter accept lower scores, or a way to check the players score and force gamecenter to replace it if it's lower?
Thanks
According to the Game Kit Programming Guide, you can configure whether the scores are ranked in ascending or descending order through iTunes Connect.
On page 114 of the iTunes Connect
Developer Guide 6.6, you can see how to change this.
If you want the lowest score to be the best, you'll want to rank in ascending order.
You can try below link for reference.
Here I am talking about GKLeaderBoardViewController.This class is for counting Highest Score.For more details I suggested you to read below link.Thanks
http://developer.apple.com/library/ios/#documentation/GameKit/Reference/GKLeaderboardViewController_Ref/Reference/Reference.html
It looks to me like Apple was in a bit of a hurry to implement GameCenter. Maybe I am overlooking something.
If you create a game where you want to offer in-app purchases (say you want to sell additional maps or add ons), is there any way at all to match players who share the same maps (plural) using GKMatchRequest? i.e. whose in-app purchases overlap, but are not the exact same.
Or maybe you want to sell cars in a race game. How can you match players who share some of their cars, not necessarily all of them? I think you can't, because the playerGroup property in a GKMatchRequest compares only if users belong to the same group.
So if one user buys map A and map B and another user buys map B and map C, there is no way to match them, although they could be playing map B together. Of course you could implement your interface so that users have to specify which map they want to play on. But there are other scenarios where an in-app purchase might not be an either/or question, but might be combined in a game (e.g. if you can buy different soldier types in a battle game and then match players who share some of their soldier types... in the game itself you could then implement logic to exclude those types the players do not share).
Can anyone think of a solution that works?
In the map case, I think you would need to let the user choose the map first. Otherwise, say you match two players and they have maps B, C, and E in common. Now you need a way for them to agree on what map to play on. Maybe player 1 intended to play map B and player 2 wanted map E. Even if they share a subset, now you have to do the work that could have been done in the matching process.
In the cars case, I think you need to ask why you want to compare players this way. If it is simply out of fairness (so you don't match someone with powerful cars against a newbie) then you can create a "level" based on top car speed. Maybe you will match people with different sets of cars, but they can be evenly matched.
Finally, if the players absolutely need to have a matching thing, make a best effort using the previous suggestion, and if they don't, pop up a message saying, "Hey, you don't have any matching cars. Want to buy this one so you can play together?" Offer to buy it now or find another player. You might make some sales this way.
P.S. Sorry to be preachy, but it's not fair to say Apple did a half-a***d job. Game Center is a system that must scale up to millions of users, who want to find matches more or less instantly. Attempting to match by overlapping subsets would add a significant amount of complexity to the system, and I don't think you are appreciating the cost of such a design.
It sucks that can't do exactly what you need, but it's a poor attitude to assume the shortcomings are due to incompetence.
Here's another dilemma with supporting both In-app purchases and Game Center (please respond in the comments).
Say my game includes in-app purchases for ten individual puzzle packs and my game also includes a free multiplayer mode using Game Center. At any time, a single iOS device has an iTunes store account logged in and this is the account that is used for determining the status of all in-app purchases for my app. If a user logs out of their iTunes store account on a single device and a new user logs into their iTunes store account on the same device (using the "Store" tab in the settings application), then the status of in-app purchases for my app will be updated for the newly logged in iTunes store user. Perfect! Now what happens if my app uses Game Center to allow different users to use the same app? It seems suddenly you have two different types of user accounts for a single app. One account for Game Center and one account for the iTunes store, correct? For exmaple, if user1 logged into my app using Game Center and bought three puzzle packs, then those puzzle packs would be charged to whatever iTunes account is currently logged in on the device. If user1 logs out of Game Center and user2 logs into Game Center, won't the iTunes account that is currently logged in remain the same, meaning user2 will have access to the puzzle packs bought by user 1? Doesn't that also mean user2 can purchase additional puzzle packs under the same iTunes account that user1 used?
Even worse, what if I want to create Game Center achievements based on completing a purchased puzzle pack? Suddenly, different Game Center users would receive the achievements for puzzle packs they didn't solve since they share the same puzzle pack state, right?
In "Game Kit Programming Guide > Multiplayer > Player Groups", they state that "typically, your game should present its own user interface to allow the player to select parameters that are used to calculate the player group number." I guess they didn't planned to permit this kind of restriction you need.
I can only see four options:
Use a "demo version" of the map (i.e. if a user bought map A, it will allow him to "host" a match on A, wherever guest players bought A or not). If your game can also play as single player, it may be used as some kind of advertising for guests.
Create your own server. This is evil and obscure, but I guess you can make any kind of matching rule this way.
"Reject" a player that didn't bought the map (never tested, but I guess it will be unpleasant for the rejected player).
Create "groups of maps". Using the car's example (adapted to motorcycles), there could be a 100cc group, a 250cc group, and so on. People could by "A" (100cc) and compete against players that bought "B" (also 100cc). With maps, could be "water maps", "winter maps", and so on. This will add value to the purchase and make things easy for us. But I guess this will require some UI coding, too.
Considering the maximum number of players is only 4, I don't think Apple prepared Game Center to host complex games. Maybe it's just like OpenGLES: great tool, but you must be a super-hardcore-developer to make something uber-cool like the Unreal Engine's Epic Citadel (not available on Brazil's App Store - sadly).