[MUSIC PLAYING]
DAN GALPIN: 10 things game developers
should know-- this is the third time I've
done this talk in GDC-- especially
if they want to get featured.
So let's start with Android design applies to you,
or at least considerate it, mostly.
What we mean is you don't have to use flat sprites,
but you should take a look at the core app quality guidelines
we have on developer.android.com.
And especially look at things like launcher
icons, because it's the most important asset for your brand.
Please consider not making it a rounded rectangle.
It's not required on our platform.
Also, look at navigation [? in ?] handling
the back key, because even if your UX looks
completely custom, the back key better
work in a reasonable way.
Phones sometimes have hardware keys.
And notifications-- the featuring team
hates spammy notifications.
Your application should not use more than one notification
at a time as a guideline.
And you should combine notifications on Jelly Bean
and above.
Two, support the new stuff and the old stuff.
What do we mean by this?
In your manifest, always support the latest version
you have tested against.
This turns off any compatibility hacks
that might slow your performance,
and the [? featured ?] committee likes it.
But of course, if you're using an NDK application,
your app platform must be less than or equal to your min SDK
version, because this is a C++ ABI after all,
so we don't have forward compatibility.
Three, using immersive mode.
One of the new features you might want to use
is immersive mode when it makes sense.
If you're not doing an immersive game,
you probably don't need immersive mode.
So it just makes a potentially confusing navigation
experience your players when the nav bar disappears.
But if you have some awesome real time space
simulation that would benefit from immersive mode, go for it.
Four, support cloud save.
It doesn't have to be ours-- any cloud save.
But your users will really appreciate it.
And of course, it's nice if it's ours.
You get all sorts of great features,
along with Play Game services.
And we call this Saved Games, really creatively.
Five, respect user privacy.
What we mean here is minimize permissions, OK?
So I used to talk about the top 10 bad game permissions.
There's really no bad list.
But if you're using anything like this,
you probably don't have a good reason.
And if your middleware requires it,
you probably shouldn't be using that middleware.
Finally, make sure that you understand when the advertising
ID can and must be used.
Remember that you really are responsible for any middleware
your game uses.
Six, play by the rules of Google Play.
Speaking of advertising ID, take a close look
at your developer distribution agreement and your program
policies.
Read these policies.
Remember that our enforcement team
deals with thousands of infractions daily
and has little patience with the bad guys.
So if you think what you're doing is even
violating the spirit of these policies, think again.
All right.
Seven, controls.
Be flexible with your controls.
For example, on developer.android.com,
we've got this fantastic example of what standard button
mapping looks like.
So consider supporting game pads.
And also consider both phones and tablets
when designing touch controls.
Just because my screen is bigger doesn't
mean my fingers are longer.
And of course, think of TVs.
This means you shouldn't require touch at all.
And you consider supporting D-pads, at least in your menus.
Eight, size matters, always.
So this is our Nexus 6.
It is our biggest, baddest phone,
and it has 64 gigs of onboard storage, up to.
That's still not enough.
It has a whopping three gigs of memory.
That's also not enough.
So smaller APKs tend to get more downloads.
Use things like multi APK and GPU Native Texture formats
to keep things small in memory.
Use WebP, a distribution size, as your highest concern.
Consider hosting assets for post install
to make the initial download size smaller.
The size in Flash matters, too.
OK?
Because people will delete things that are big.
On lower memory devices, adapt by using Native Texture
formats.
Finally, we can't make batteries much larger.
Keep people playing the game more
by avoiding excessive network use and wake locks.
If you need to keep the screen on,
use a window flag, not a wake lock.
Nine, testing.
Don't panic.
Use the matrix.
As you can see, with the matrix, it's just five devices.
We've tested three screen size buckets, five resolutions,
four memory configurations, five GPUs, five CPUs
from five different manufacturers.
It's not that hard.
10, have fun.
Build great games.
And what do I mean when I say that?
Well, here is an example of a featured list
from a current Google Play session.
And if you take a look at these, they all
have something in common.
Users love them.
Ultimately, we want to promote games both we
and our users love.
So that's it-- 10 things that will help you build games
that your users will love and that Google Play will
want to feature.
All right?
Thank you.
[APPLAUSE]
[MUSIC PLAYING]