Transcript
>> Mike Lampell: Hello and thank you for coming.
Mike Lampell here to tell you all about Game Center.
So, we're really excited about Game Center and we
want to tell you a little bit more about what's in it.
So, first off, Game Center is a developer preview right now.
So, it's there for you guys to work with
and we will be saying when, later this year,
you'll be able to use it and shift games with it.
Game Center includes three pieces.
You have the Game Center application and that's
where you go to discover new Game Center friends,
to discover new Game Center games and to
compare how you're doing against your friends.
It also includes GameKit, which a powerful, flexible,
framework and the Game Center Services,
which is our backbone set of servers.
We're going to be going over this and a lot more detail
today in this session and then the next two sessions,
we're going to be going into detail on
how to use these and how to code for them.
So, first of all, just as a big overview,
Game Center sits on top of GameKit,
our Game Center application and so do your games.
They both take advantage of the same framework, there's
a couple of pieces of the framework that are limited only
to Game Center application and those have to
do with account management, friends management
and being able to see multiple games at once.
So, this is kind of the overall picture of how it looks and
we're going to be talking about all these in more detail.
Just want to encourage everybody to go to the other
two parts, we have Game Center Techniques Part 1,
which is going to go into Leader Boards, Achievements,
Game Center Techniques Part 2 is going to go into more
of the multiplayer aspects of it, Invites,
Auto-Matching and a couple other features like that.
Graham did a session this morning,
if any of you missed it, on Quest.
Those are going to be repeated on Friday.
We encourage you to go to those.
We also have two labs which we encourage you to go to.
So, what you'll learn in the overview.
First, we're going to go over the definition
of what is a Game Center game and we'll go
over the definition of what is a Game Center player.
Once we got those definitions out of the way, we're going
to go on and start looking over what's in the application,
what's in the framework and then I want to highlight some
differences between what you're going to see in development
and what the consumer's going to see in production.
First of all, what is a Game Center game?
So you have to do two things to be a Game Center game.
First of which you have to register your
bundle identifier through the developer portal.
Second thing is, when you, when your game is launched,
you have to authenticate a Game Center player.
You do those two things, you're a Game Center game.
Pretty simple.
There's a couple optional things that we
encourage people to use such as Leader Boards,
Achievements and Multiplayer functionality that we
have and we'll be going into all this in more detail.
But, I want to say, if you just do the first two things
and become a Game Center game, actually maybe multiplayer
for the first one, you get a lot of extra things.
If you have multiplayer you, you
get the invite notifications.
This is a fantastic way to increase
discoverability of your games.
When a person gets an invite notification, if they don't
have the game, they'll get a purchase upgrade option
or upgrade option if they have it in the wrong
version and purchase option if they don't have it.
If you just do the first two things, you're automatically
listed in Game Center as a game a person has played.
This means when other people looking at their
friends games, they'll see your game listed.
You get all the friend comparison
stuff in our Game Center application,
you get the secure player registration authentication
and you get all our friend relationships
from our social gaming network.
Game Center player, again you have to do
two things to be a Game Center player.
You have to have an account and
most people already have an account.
We leverage the iTunes accounts there to there
or you can create a new account that's an
Apple ID without the iTunes information.
You can do either, but almost everybody out there using
an iPhone right now or iPod touch has the iTunes account.
You also have to create a unique nickname.
Some people already have unique nicknames.
This is the same name space as the iTunes Store
today, when you do reviews of music or apps,
it asks you for a nickname, this is the same name space.
So, a lot of people already have these first two things.
There's some optional things, just listed a few here, but,
but optional things for players is creating
a status message and making friends.
So, just a couple of things as a highlight you get from a
Game Center player, first of all, you the developers find
out the person's nickname, as I said
it's unique, but it's not persistent.
We also have the unique Player ID,
this one is unique and persistent.
So it, the deal is the person can change their nickname if
they decide to, but this unique Player ID would persistent
and unique and this is what you
should use to reference that player.
There's also a flag letting you know if the player is under
age and there's the information about that player's friends.
In the Game Center app, there's also, obviously editing the
styles, message, seeing all your friends status messages,
the games played and statistics for those games.
The Game Center is there to pull all of this together
so people can browse how their friends are doing,
how they're doing and all their different games, all that.
And you also get a list of recently played
people and games and we'll go into that in a bit.
So, I want to do an overview of the Game Center application
and we're going to do something kind of un-Apple like here.
I'm going to be talking about some
features you haven't seen yet.
I'll try and call out the ones that are
different from what you see and what's available
in the developer seeds right now, and what will
be available to the consumers, as we go along.
The Game Center application is a built in application.
It's, it comes with iOS 4 and it's available to
everybody to use and it's there to promote social gaming.
It's where you go to do your player account creation and
modification, create and manage your friend relationships,
view your friend details, view your game details,
purchase games and launch games with or without invites
and again I'll get into this in more detail.
So, first off, I want to show the Me tab.
This is where you go to get your player overview, you
get a high level look at yourself, you're the player,
it's where they can manage their status,
change their status and manage their account.
Here's where you go to, if you click on
the Account button, you go to Log Out,
Change Accounts or change any of your account settings.
I also want to point out the bottom are four tabs, what
you're seeing today in the developers seed has three tabs,
because one tab we don't enable in the
developer seed and that is the Games tab,
third tab in, and I'll be going into that.
In the Games tab you see a list of games,
Game Center games that you've played.
These are ordered in the order you played them last and
there's some extra high level information per game there.
It also has a button there to go
find more Game Center games.
Obviously, trying to increase the
discoverability of all the Game Center games.
Now, I want to go back one tab to
the Friends tab and talk about that.
These will kind of coincide in a minute.
Friends tab is a list of all your friends, most of
this you're seeing today, some of this your not.
It's ordered by the ones that most recently played, so you
kind of get an indication of when this player last played.
It also tells you what game they last played.
That part you're not seeing today.
And, this is a great way for you to discover if
a lot of your friends are playing a certain game
or which ones most popular among your friends.
Right here, at a quick glance, you can see.
You have a lot of people playing Onword, so
then it gives you their status message, also.
So, great way to get a high level information about
your friends, you hit the + button to add more friends
or you can drill down and look at any
detail on these friends in more detail.
So let's do that.
So we're going to go look at Ares of War.
So this is a friend's detail page and what you see
on here is high level information about the friend,
real similar to what you see for yourself.
You got the how many friends they have,
how many games they've played and ooh,
they don't have many achievements yet, but they
show how many achievements they had if they did.
And there's their status message and now there's three
categories underneath this of the games they've played.
We break them down to three sections,
the games that I've played with Ares
of War is the first section,he games we've played together.
And then the second section is the games
they've played that I haven't, but we both own.
And then the games they own that I don't and this is
another great way for discoverability of new games,
so I don't have Blocks, they do, tells me the
overall rating of this game, how much it is
and if I click on it, it takes me to the store.
I can go buy that game.
We got a lot of I think features like that built
in to Game Center for discoverability of new games.
We're going to really help people find good games.
So now, I want to drill into one of
those games in a little bit more detail,
so now I'm looking at a game my friend played, Tanks.
So what it does in this case is, since I'm looking
at my friend's game, it knows we both have this game,
it's comparing my progress in this game versus my friend's.
So, right away I can see where we rank in the leaderboards
and how many achievements they have versus how many I have.
Real quick and easy.
So now let's drill down a little bit, we're going to look
at the leaderboard for them and real, it highlights me
and highlights my friend if they're on there
and I can quickly and easily see where we're at.
Now, each leaderboard comes with the
basic filters for friends or anyone
and for time, today, this week or all time.
It's all built in for you and real easy to use.
So there's the friend's leaderboard and
there's the overall leaderboard listed here.
Now, let's go look at achievements.
Again, since I'm looking at my friend's game, it
does a real quick comparison of my achievements
in Tanks versus their achievements in Tanks.
Real quick and easy.
And, we don't give away any spoilers, so if
I don't have the achievement it doesn't show
that achievement to me, it shows it as I would see it.
So, you see the one with the question mark,
I haven't earned that yet, but my friend has.
Doesn't show me what it is, we
aren't giving away the spoiler alert.
So, just real quick, I want to look at how the Game Detail
screen looks at for me, so now, it's a little bit different
than how it looks at from looking at my friend's.
I'm looking at my game detail for Tanks and in this case,
there's no comparison here, it has the leaderboards,
it has achievements, it has my overall summation of those
two, but it also has a button called Recently Played.
What Recently Played does is this will give me a
list of all the people I've recently played in Tank.
This way, if I played somebody and I liked them but forgot,
I can go in there, find them and friend them from there.
It's an easy way if some games don't show me who I
was playing or something like that, I can go in here
and find out and still make friends with them.
We also have a Tell a Friend button, another great
way to increase that discoverability about your game.
I'm going to tell my friends that I
love this game and they can go buy it.
There's been this Play button in the upper
corner there that I haven't talked about.
And I want to talk about that for a little bit right now.
So, it's on every Game Detail screen and it may do something
a little bit different depending on which screen it's on.
This one, I'm on my friend's Tank screen, their Game
Detail, if I hit Play here it's going to launch Tank.
So no matter, on all of them, if I click
the Play button it will launch that game.
But in this case, since I'm on my friend's
Tank Detail, it will launch the game
and tell the game I want to play with this friend.
So, it will automatically start the invitation process.
So if I click Play it launches
Tank, brings up the Invite Flow,
this is a UI we provide and automatically
selects that friend.
From here I can click Next, put in a
personalized message for them and send it.
We're going to do a quick demo of this, we're actually
going to do a quick demo of launching the invite
from within a game and Albert Ho, if
you can come up and help me on this.
>> Albert Ho: We fired up two iPhones here, so, I'm
logging in as Thunder Zeus with this device here
and I'm also going to go ahead and fire Tanks up, first.
So you see when Tanks boots, you'll
see a "Welcome back" message drop
and that's how you know you've
authenticated against Game Center.
And so Tank is a game we use internally for testing.
It's really a head to head, you destroy the other
team's tanks before you lose any tanks of your own.
And we built this game largely to test the various
invite and auto-matching features of Game Center.
So, I'll just demonstrate the Invite Flow here, so
I'll click on Invite and it'll will bring up a UI,
which lists the, what we call the multiplayer
sort of game screen, so this is a list of U,
this is a list of UI that we provide for game developers,
you don't have to do anything to write this UI.
Just ingrade this view controller into your code.
So you'll notice that there is a, a slot representing, that
says Auto-match, so if I were to click Play Now and any,
if there were other players for
example in the audience playing Tanks
and clicking Play Now the game would
automatically auto-match and start.
But in this demo we're going to
show the invite sequence instead.
So if I click on Invite Friend it will bring up a list
of all my friends and I'm going to select Ares of War
and then click Next and I can type him a quick message.
Then the Push notification came from
the other device and with my message
and so on invitee side I'll click Accept
Now and the Tank game will launch.
So you'll notice it launched automatically
into the Tank game
and into the multiplayer game screen and it was very quick.
But, the devices were connecting, trying
to establish a peer-to-peer connection
and now at this point they're both marked as ready.
So they have a peer-to-peer connection at this point
and if I go back to this device and click Play Now,
the game will start and they are connected inside the game.
So, I'll move the tanks around, just to show that
we're in the same game, they're tanks so they're very,
very slow and so as you can see the games are connected.
So, there really wasn't a lot of
code at all to get this to work.
In the later sessions you'll see actually
how simple it is to get this connected.
>> Mike Lampell: I just wanted to
show how quick and easy it all works.
Now I want to move in and talk about the
GameKit framework that enables all this to work.
And again we're just doing an overview here
to familiarize yourself with the pieces
and then the next two sessions we're going
to go into detail on how to use them.
Here's another look at the overall
layout of the GameKit framework.
There's basically broken down into the
general section of the multiplayer section,
we provide the ways to authenticate a user, submitting
scores, displaying leaderboards and using our standard UI
or a custom UI, submitting and displaying
achievements, again standard UI, custom UI,
establishing multiplayer games, an example
is just shown there and in game voice chat.
All these I'm going to talk about a little bit more.
So authenticating a user.
That was one of the requirements to be a Game Center
game is to authenticate a user when it starts up.
When do you do this?
You do this as soon as the UI can be presented.
What it's going to do is authenticate that
user through our servers if we can reach them,
but I got to mention that it's, it's all asynchronous,
you don't really know when that's going to happen,
it could be that we can't get to our servers, it
could be it takes a little bit to get to our servers,
it could be that player hasn't logged in yet and we have to
log them in, it could be they don't even have an account,
I'm going to have to create an account and then log in.
So, we maybe presenting different UIs
depending on the state of that user.
But, as soon as we can log them in we present the
Welcome Back screen and return you an authentication.
Now it could be we'll return you an
authentication even if we can't get to our servers
and we'll cover that in the next sessions.
The player information that you get back from this like
I was saying before is the unique ID and the nickname.
And again, please use the unique ID as the persistent
information you store if you want to remember this person.
Leaderboards.
Leaderboards are, are a great way I think for adding
another dimension to games, letting people compete worldwide
and believe me, you know iPhone OS or iOS is
worldwide so, I mean it's a great feature and we tried
to make it real simple for you guys to add and use.
We provide a standard UI that you can just use to
display your leaderboards works in landscape or portrait,
comes with the basic filters I talked about or
you can customize the UI as they did for Quest
and in that case you get a fully immersive feel in it.
It's the same data, we're, we're keeping on our
servers and providing back to you when you ask
for it, but we, but we provide that flexibility.
The features, as I was saying, includes the filters
and you can also query the number of entries
so you can see how many friends of mine have
played this game which is the Friends Leaderboard,
how many people overall have played this
game and that's the, Everyone Leaderboard
or you, and you can also retrieve ranges.
So if, so if you have a player who's ranked
700th, you can retrieve a range around that player
and show him who's right above him or who's right below him.
Is, so leaderboard setup, this is done through
iTunes Connect, real simple and easy to use.
A lot of you have already used iTunes
Connect for some other features.
You enable it through iTunes Connect, you set the sort
order whether your leaderboard is ascending or descending,
you know golf games will be different than the first
person shooter game in the order they're sorted.
You specify the suffix, this is if it says
points or oranges or tanks or whatever it says
and you specify the format you want the numbers to be in.
So it's not only integers, we support
a lot of other formats.
We'll be going over those in later
sessions, the exact formats.
And for each of these we provide a way to localize
it into all the languages we support for this.
I want to talk a little bit about leaderboard usage.
One of the things is, there's one
leaderboard for all versions of your game.
So, a lot of people put out a game and then put out
another version and another version and another and I want
to say they're all referencing the same leaderboard
data, so it would be really bad game design
if at one point you changed your, your scoring mechanism
because all of that's going up to our same server.
Now each game has their own leaderboard
or leaderboards but all the versions
of your game share the same leaderboard or leaderboards.
Another thing I want to say is do not download all entries.
You may have millions of people who
have played your game, hopefully.
And you don't want to try and download
the entire leaderboard.
It's a bad user experience, it will take forever
you just download what the player needs to see.
So, here's another thing that's coming soon, it's
not available right now but due to strong demand,
we're making sure it gets in for the first
release and that's multiple leaderboards
and this is set up really similar to everything else.
You go to iTunes Connect and there you can specify
the different categories of leaderboards you want,
we also do something, we, you can have an overall
leaderboard skill, so if you have let's say a leaderboard
for easy and a leaderboard for medium and a
leaderboard for hard difficulties in your game,
if you want to do it that way, you can also have an
overall leaderboard and what this does is all scores,
we will automatically copy those up to the overall
leaderboard, you just have to submit to your category.
You can have leaderboards if you have like
a race track per track or whatever you want.
And again, you can have one overall
one, we'll take care of that for you.
If you don't have an overall leaderboard you have to
specify a default leaderboard because that's the one
that by default will come up in the Game
Center, in our Game Center application.
And the way this works different from what you're
doing today is there's another field you can specify
which category you're submitting this score for.
And then when you query the data
back, you use that same category.
All this we're going into more detail later.
Now I want to talk about achievements.
Achievements are another great way to add dimension
to a game and I think we've made it real simple again.
Just like on leaderboards we provide a standard UI, you can
just use and then the achievements will look very similar
in your game as they do in Game Center or you can choose to
customize it and make it fully immersive within your game.
We provide the flexibility to do either.
I'm going to talk about what our achievements do because
it's a little bit different than what you might be used to.
One, we, we provide before and afters, so you can
have a description before the person has accomplished
that achievement and then a separate description for
after the person has accomplished that achievement.
So, if you want to be fun you go find
the hidden treasure and you know before
and then after "Congratulations
on finding the hidden treasure."
I'm sure you can be much more creative on that.
We also offer progress on achievements, so if
one of your achievements might be, Kill 500 Orcs
and the players killed 400 so far, well they
haven't quite achieved the achievement yet,
but we can show progress towards it.
So if you report up that 80 percent of that achievements
been accomplished, we'd be able to show that.
We also support hidden achievements.
Hidden achievements are, they don't show up until
your game tells us to show it for that player.
They can be used for a lot of different things, if you
want to keep the achievements secret and just don't want
to let the user know about it until they've achieved
it and let them know, you can do it that way.
I think they're going to be really
useful for in app purchases.
So, for instance if you want to tie some achievements
to an in app purchase you start them out hidden,
when the person purchases that in app
purchase, you can then unhide those achievements
and so that's how you'd do it with hidden achievements.
You set them up the same way, through
iTunes Connect, real simple and easy.
So, again just like leaderboards, one set of achievements
per app, not as you have different versions of your app,
they all point to the same achievement
data so you have to kind of plan ahead
and design these out appropriately for your game.
Cause you would, it would be bad to give your user an
achievement and then put out another version of your game
and that achievements now something totally different.
So, just plan ahead when you do this and like
I said, you set it up through iTunes Connect.
Here's an example of how Quest customized
the leaderboard display for their game.
Now I want to move on to multiplayer.
Multiplayer is normally extremely
difficult thing to implement in games
and we've gone and made it much, much more simple.
Part of one of the things that we offer for multiplayer
is game invitations, in the example you just saw,
auto-matching, multiplayer UI,
matchmaking only, and in-game voice chat.
Let me go into these in a little bit more detail.
Multiplayer game invitations, I think you just
saw how that worked with the push notifications.
Push notifications have been really,
really robust and popular
and we're leveraging that for the in game invitations.
So wherever you are you can invite
a friend and wherever they are,
whatever they're doing they can get an
invite, so this is really mobile multiplayer.
They click Accept, as you saw, it launches the game.
Now, we also identify when a friend doesn't have your
application and in this case we'll give them the option
to go to the App Store and purchase your application.
So great way of discoverability of your game, you
leverage our entire social gaming network to do this.
We also, if they have your game but they don't
have the appropriate version to play against,
we take care of that also and tell
them to go to the App Store to update.
Auto-matching.
Auto-matching I think is an awesome feature that we
have, invites are great for friends to invite friends
but I just want to play a multiplayer game now,
I want to be able to play against anybody else
and our auto-matching service helps to do that.
Players launch the game, then they select
to be auto-matched, all the people selecting
to be auto-matched feed up to our server, our server
does some great logic, figures out the best matches
out of all those people and returns that information.
We can set up a peer-to-peer connection after that
or you can take these matches to your own server,
if you have your own server to host
the games, and then you're playing.
We also have some other features to extend our
auto-matching which I'll talk about briefly,
just player groups and player attributes.
So first, I just want to kind of do a
visual example of what I just explained
so make sure everybody gets it in their head.
We have, this is another game we created just to test out
stuff, this is Onword done by one of our engineers, Ken.
And, I choose to hit Multiplayer and that brings up our UI.
This is a UI we provide, it's consistent for all
the games so you, the user is very familiar on how
to do invites and how to do auto-matching.
And this game supports up to 2 to 4 players, went and made
it a 4 player game by hitting Add a Player a few times
and at this point, by default,
everybody comes up to be auto-matched.
So if I were to hit Play now, it's going
to go to our server and say auto-match me.
I could choose to invite a friend or not, we did an example
of that, I'm going to do auto-match for all these people.
That information gets compute, communicated
up to our Game Center auto-matching service
and I'm assuming you guys are writing popular games, right?
So there's going to be lots of
other people doing the same thing.
There's a probability thing, there's always going
to be lots of people wanting to play your game
and all that information gets fed into our services and
our services then do some great logic and figure out,
here's the best, here's a good grouping of those
people asking and it will do this for everybody.
So everybody will get matched and it does it very,
very quickly, passes that information back to the games
and then we can set up real quickly and easily, we've
provide the services to set up the peer-to-peer network
with all these people or like I said you can
take it to your server and connect up there.
So we support both of those.
We've built in the peer-to-peer
connectivity to make it super simple,
that's usually another very difficult
thing for games to develop.
We've done a lot of great technologies
there, we're really happy about that.
We should be able to connect just about
any two devices over Wi-Fi or over 3G.
So, now I want to talk about some of the expansions
we've put on and excuse the art a little bit.
Let's say you have a racing game and you have 4 race
tracks and what you want to do is have people select
which race track they want to race on and
then go out and match from there so that,
"Hey I want to race on the figure 8 one," and I get matched
to other people that want to race on the figure 8 track.
Well the way this works is we provide player groups.
You communicate up to our services the
groupings you want to be matched into
and we find the best matches within
anyone of those groupings.
Now we also provide some other functionality on top of this.
There's a way to query the service so you can find out,
see this one poor guy, he's the only guy that wants to play
that one track right now and you can query the
services and kind of see that that's happening
and either provide the user with some feedback or
automatically adjust them over to a more popular race track.
So that they will get matched.
All this is, you can create as many
of these player groups as you want
or you can adjust them dynamically during run time.
So now I want to talk about player attributes and
this will work, I'm going to do an example here
for like a dungeon crawler game, this will work
equally well for lots of different types of games.
There's a lot of different ways this could be used, if
you have the, let's say a music type game and you wanted
to create a band with a drummer, a guitarist and
whatever else, it could be used for that also.
But, this time, what we want to do is put a match
together with four different types of people
or different combinations of people in the same match.
And we do this with our player attributes, so we're going
to do a dungeon crawl, so now, just to make it simple,
I've gone back to one player group,
everybody communicates up to our service
and they communicate up also their player attributes.
And we get a little bit of logic based on this
on how to use those attributes to match people.
Again, we do our logic plus the extra
logic the game sends up to us and are able
to match back the people with the right player attributes.
These two extensions are really powerful and flexible
and I can't wait to see what you guys do with them.
This game has a range of players,
2 to 4 players can play it.
Your game may only be for 2, only for 4, if you tell us that
then that's the default we use and there is no adjusting.
But if you offer the range, the user can
select how many people they want to play with.
He has a racing game he wants to
race with three people right now.
Maybe he wants to race with only one other
person, his friend head to head, he can choose,
he can choose whether he wants to be auto-matched, he can
choose whether he wants to invite a friend, it's all there,
he can also add a personalized message for all
the friends he's inviting or one per friend.
He can do it all through our invite UI.
It's also a possibility of doing a combination of the two.
I can invite one of my friends and
then be Auto-Matched for two others.
So let's say we want to play a 4 player game but
I only have one other friend available right now.
We provide the UI to do this and we make it simple and we
make it consistent across all the games using multiplayer
in Game Center, so that the user gets
very familiar with how this works
and I think it will be great for
getting a lot of people to play.
Here's a feature I really love, so, in-game voice chat.
I'm playing a multiplayer game, I have a phone here.
I have a device capable of voice
and a speaker and everything on it.
I want to be able to talk to the people I'm playing with,
so we also hook into all of this in game voice chat.
We provide the controls for you to set the participation, so
if you have a 4 player game, you can have everybody talking
to everybody or you can choose to have Team A talking
amongst themselves and Team B talking amongst themselves,
there's a lot of flexibility here including
flexibility on the volume and new controls
and we'll be going over these in a lot more detail.
I just kind of wanted to do the high level here.
Went through Game Center application, that's where
people go to find everything and I talked about some
of the new features that you're not seeing right now.
Went through the framework which I think is powerful and
flexible, we allow you to do a lot of things really easily,
when it comes to, when we show you the code later, you'll
be really surprised at how little code it takes to add
like leaderboards, achievements or multiplayer to your game.
Now I want to talk about the difference between what
you're doing right now and what will be in production.
Part of which I already went over and that's
what you're seeing and developer's seed
for the Game Center application is slightly
different than what the consumer will see.
For one there's an extra tab.
One of the things we hide in the developer's
seed is the games you're playing or have played.
And we do this for your privacy.
So if you have friends that are working at a rival
company, they won't see all the games you're working on
and that's one of the reasons we do that.
So let me step through this in a little bit more detail.
First of all, development versus production,
we often call development sandbox,
so you will hear it referred to that way also.
This is the development area.
This is where you make new games or you
make new versions of current titles.
So, if you've already put out a version of your
game and you're working on the next version,
even though you already have one in production, the one
you're working on is in our development section sandbox.
I also want to mention the difference
in accounts and the data.
So, it's a separate nickname space
in sandbox versus production.
It can be the same iTunes account, but it
will be a separate nickname name space.
So any nicknames you're creating right now
on, in our sandbox, in our developer preview,
those are different than what you will have in production.
Just so you know.
But also the Game Center Service, servers are different.
You're hitting a different set of
servers than our production servers.
That means that all the matching you're doing is
to a different set of people than in production.
All the leaderboard data you have right now is
separate than what will be seen in production.
And the same is true with achievements.
This is great, so you can mess with this stuff, you
can play with it, you can change the way it works
and it won't affect anything you've already
shipped if you're working on another version of it.
You won't, you won't accidentally be matched with
somebody that's a, has a production version of your game.
And maybe you can take an unfair advantage of
them if you're working on a debugged version.
One other thing I failed to mention earlier which I
should mention is, we also have a compatibility matrix
that you can set up through iTunes
Connect, it doesn't really matter right now,
because nobody's shipped any Game Center games yet,
but once you've shipped one and let's say you come
out with a future version where you don't want
people to be matched that have the previous version.
You can set that up in iTunes Connect.
And so we call that the Compatibility and we will
be talking about that a little bit more later, too.
Once Game Center goes live it will be possible
for you to have production Game Center games
and development Game Center games
both on your device at the same time.
Now there'll only be one Game Center application
on your device that will be able to switch back
and forth between sandbox and production mode.
And what we're trying to do is make it
easy for you guys so it's not confusing
when you're in one or when you're in another.
Let me walk you through how that works a little bit.
I just want to talk about how you switch between the two.
This is some of the internal games we made to test out Game
Center and what we're going to do is first of all I want
to reinforce that this isn't really an issue
right now, I'm preparing you guys for the future
because I don't think we're going to have
another WWDC before the end of the year.
So what you do is, you logout of your
current game through Game Center.
I think I showed you before there's that Account
button, you hit the Account button and you hit Sign Out.
And that will sign you out of Game Center, then you go
back to here so you can select one of your applications,
you select the one you want to launch and
if it happens to be a sandbox application,
one in development, you get a different sign in.
It tells you you're going to be signing in to sandbox.
And from here you can choose to use an existing
account and log into that or create a new account.
When you sign in here, you will now be signed into
our sandbox servers and if you go back to Game Center,
you'll have a , you'll see a slightly different Game Center.
One that's hitting our sandbox servers.
The third tab, the Games tab will disappear
and there will be a couple other changes,
but it will be getting all it's data from
our sandbox servers as will your game.
Now you can reverse the process easily and go back to a
production by logging out through Game Center application
and logging in using a production application.
Real simple and easy to do and we've tried to make it
obvious which one you're hitting, even in the password box.
One more little difference between some, what we've done
before at Apple and what we're doing now, as I said,
Game Center is available as a developer preview right now.
We'll be out later this year for
consumer release and we'll give you plenty
of notice before it's available
so you'll know when to go out.
You can't ship any games on Game Center until then, but I
want to make sure you can get at the Game Center features
and it will be available, you can download it as
an IPSW from the developer site, you see here.
And again, no submissions to the App Store until later,
so I want to make sure everybody's aware of that.
So, let me summarize a little bit what we've gone through.
We've tried to make it real simple for you
to adopt all these Game Center features.
Easy ways to enhance social game play.
We provide the player identification to you, we
provide the leaderboards and achievements stuff for you
and we host it all on our servers, take care of sorting
and filtering it and all that for you, the game invites,
we've tried to streamline that as much as
possible, make it super simple and easy to use.
You can use our standard UI which allows the user a lot
of flexibility, they choose who they want to invite,
they choose if they want to invite or do auto-matching.
We also provide the ability for
you to just do auto-matching.
There's no UI involved in it.
It's real quick and easy, your game
says auto-match this person, it goes up,
they get auto-matched and they're in a game.
So, all that we've tried to streamline, take something
very difficult and hard to do and make it real easy.
We also do the connectivity layer underneath for
peer-to-peer connectivity, very, very robust.
We've done some amazing things there and I'm really excited.
Can't wait until that's all out
and you guys can try all that.
Everything is really flexible.
We've provided a lot more features than
are normally available for these things to,
we know we've got a wide variety of games out
there and we wanted to appeal to all of them.
We want the wide variety of games that you guys are
providing and so we've put a lot of flexibility in here.
Including the skin ability in most of these screens
so that you can make them totally immersive,
use the data we're giving you and make them fit your game.
We've also, as you saw as we were going through here,
I hit some of the viral distribution
options we offer in Game Center.
It's been one of the things we focused on.
We want to help sell your game so we've
put a lot of discoverability things
in Game Center and we talked about a lot of them.
There's more and I think it's going
to be great for the entire community.
Players will be able to find great games.
They'll be able to use their friends to
help find recommendations for new games,
they'll get the friend invites which
they, give them the ability to get it.
There's a lot of things in there and
I'm really excited about all that.
For more information, please contact
our Game Technologies Evangelist Allan.