Typically, you start developing your game in a game engine, such as Unity,
Unreal, Defold, or Godot. That's likely to be where you do your visual design,
as well. Then you work in Android tools to develop, optimize, and distribute
your game.

## Develop

To develop Android games, you use the
[Android Game Development Kit (AGDK)](https://developer.android.com/games/agdk) in combination
with your game engine. The AGDK comprises core Android game development tools
and libraries. It includes C/C++ game integration, performance tuning,
high-performance audio, and features for using or customizing game engines.

Some game engines have integrated AGDK components, so you can build Android
games without modifying the game engine. You can also use AGDK to develop or
customize a game engine yourself.

You can use the [Android Game Development Extension (AGDE)](https://developer.android.com/games/agde), a
Visual Studio extension you can use to develop games in Visual Studio that
include Android as a target platform.

You can use [Google Play Games services](https://developer.android.com/games/pgs/overview) to add social
features to your game, view
gameplay stats, and provide cross-platform gameplay across multiple devices. You
can set up and manage Play Games Services in the Google Play Console, and then
add features using the Play Games Services APIs for Android, C, and Unity.

You can use [Google Play Games for PC](https://developer.android.com/games/playgames/overview), a platform
that brings your Android game to PCs
using high-performance emulation with Android and ChromeOS cross-device play
from a single codebase.

You can use the [Android NDK](https://developer.android.com/ndk) to develop an Android app in
native code using C or C++. It can increase the performance of your game by
providing it with more direct access to device hardware. It also lets you
reuse C and C++ libraries, and share game code across multiple platforms. For
certain types of apps, this can help you reuse code libraries written in those
languages.

[Go to Develop](https://developer.android.com/games/develop/overview)

## Optimize

You can optimize your games for the characteristics you want, such as battery
life or improved performance. Optimization tools include the following:

- [Android GPU Inspector (AGI)](https://developer.android.com/agi), an advanced
  graphics and system profiling tool that provides tracing and
  analysis of individual frames.

- [Android Performance Tuner (APT)](https://developer.android.com/games/sdk/performance-tuner), a tool you
  can use to measure and optimize frame rates, graphical fidelity, loading time
  and loading abandonment across many Android devices at scale.

- [Android Dynamic Performance Framework (ADPF)](https://developer.android.com/games/optimize/adpf), a set of
  APIs you can use to optimize
  game performance at a sustainable level that doesn't overheat devices.

[Go to Optimize](https://developer.android.com/games/optimize/overview)

## Publish

You use [Google Play](https://developer.android.com/games/distribute) to add services to and distribute
Android games.

With [Play as you Download](https://developer.android.com/games/distribute/play-as-you-download), you can
allow your players to get into gameplay quickly after a
small download while remaining game assets are fetched in the background.

[Go to Publish](https://developer.android.com/games/distribute/overview)