Tag Archives: Game

Answering your top questions on Android Game Development Kit

Posted by Wayne Lu, Technical Lead Manager, Android DevRel

hand holding a phone with game and chat

We launched the Android Game Development Kit (AGDK) in July, and have collected some top questions from developers - ranging from AGDK libraries and tools, optimizing memory in Android, and implementing graphics.


AGDK and game engines

Firstly, we’ve heard questions from early, rising game developers on how to use our set of AGDK libraries and tools. We have the following recommendations depending on your setup:

  1. For game developers using popular game engines such as Defold, Godot, Unity, or Unreal - you can follow our guides to learn how to develop apps on Android. Using these game engines lets you focus on building gameplay instead of the entire technology stack.
  2. If you're using Unreal Engine and targeting multiple platforms such as PC or consoles, Android Game Development Extension (AGDE) may be a great addition to your workflow.
  3. We also support developers who want to customize and write their own game engine - you can learn more about this with our C or C++ documentation.

After choosing your game engine and workflow, you should look into our tools such as the Android Studio Profiler to inspect your game, Android GPU Inspector to profile graphics and Android Performance Tuner to optimize frame rates and loading times.


Game Mode API and Interventions

Following this, we’ve received questions on developing for Android 12. While you don’t have to do anything special for your game to run on Android 12, we’ve introduced Game Mode API and interventions to help players customise their gaming experience.

  1. Read more about the Game Mode API, and find out how to optimize your game for the best performance or longest battery life when the user selects the corresponding game mode.
  2. Learn about the Game Mode interventions - these are set by original equipment manufacturers (OEMs), to improve the performance of games that are no longer being updated by developers. For example: WindowManager backbuffer resize to reduce a device's GPU load.

Memory Access in Android

Secondly, you’ve asked us how memory access works in Android game development versus Windows. In short, here are a couple of pointers:

  1. Games need to share memory with the system. Some devices have less available memory than others, so testing is needed to check for low memory issues on a range of supported devices. Testing should be done on devices with typical apps that a user would have installed (i.e. not a clean device).
  2. The amount of memory a game can allocate depends on various factors such as the amount of physical memory, the number of dirty pages, and the amount of total zRam (for compressed swapping)
  3. Symptoms of low memory can be: onTrimMemory() calls, memory thrashing, or termination of the game by the Low Memory Killer. Use bugreport logs to check if the game was killed by the Low Memory Killer, or on Android 11 and later check the ApplicationExitInfo to see if the game was terminated because of REASON_LOW_MEMORY.
  4. Avoid memory thrashing: this occurs when there’s low but insufficient memory to kill the game. You can detect this via system tracing, and should reduce the overall memory footprint to avoid this issue.
  5. Use the Android Profiler and other tools to inspect your memory usage.

Implementing Graphics in Android

Thirdly, we’ve received questions about implementing graphics in Android. You have the following options: OpenGL ES or Vulkan graphics APIs:

  1. Learn how to configure OpenGL ES graphics for your C++ game engine by initializing variables, rendering with the game loop, scenes and objects.
  2. Read our Vulkan guides to learn how to draw a cube, compile shaders, setup validation layers, and other best practices.

Check out the Q&A video to view the top questions on AGDK and visit g.co/android/AGDK for our latest resources for Android game development.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.

Plan for success on Google Play with Reach and devices

Posted by Lauren Mytton, Product Manager, Google Play

Google Play has over 2.5B monthly active users, distributed across the world, using many different devices. How do you make the most of this opportunity?

The concept of quality reach

The foundations for your game’s (or app’s) success on Google Play are its reach and its quality:

  • Reach: Can a player access your game?
  • Quality: Does the player experience good quality when playing your game?

To unlock the opportunity for any single user on Google Play, you need both: every user must be able to access your game, AND have a good technical experience when playing it.

This is the ideal state of quality reach.

Why quality reach is foundational to your game’s success

When you have quality reach, your game development, marketing budgets, and growth strategy can be lined up to reinforce each other, because you acquire users for whom your game performs well, and your engagement and retention strategies have higher ROI for users with good experiences.

If you have poor quality reach, you can inadvertently acquire users whom you will not be able to engage and retain. Any spend to acquire these users is likely to be wasted. But the bigger problem is that poor quality reach makes it harder for you to acquire users for whom your game does perform well, since Android vitals and user ratings may affect your game’s discoverability and conversion in the Play store.

Another scenario to keep an eye on is missed reach. Unlike poor quality reach, it may not hurt your ability to acquire users who can access and enjoy your game. However it still limits your game’s scale and possibly also its ROI.

How you achieve quality reach

There are three types of decisions that determine your quality reach:

  • Devices: the device specs you build for and target
  • Geographies: the countries, languages or localization you offer
  • Testing and optimization: what you plan for and prioritize during development and pre-launch

You make these decisions when you develop and publish a game for the first time, and you continue to make them with every new release over the lifecycle of your game. You also need to think about these decisions outside your release cycle, since the Play ecosystem is constantly changing, which means your quality reach will also change over time, even if you do nothing.

However these decisions can be very hard. They require you to answer, or predict the answers to, two questions:

  1. Where are my users?
  2. Where are my issues?

These questions are challenging because of the scale and diversity of users on Google Play, both technically and geographically. Not only that, but these decisions may be made at different points in time, across both business and technical teams. How do you get them to line up?

How Reach and devices can help

We’re launching a new tool in Play Console called Reach and devices to help with these challenges. Reach and devices is a data and insights tool that helps you to plan for quality reach, by helping you understand or predict the distribution of your users and your issues across the Google Play ecosystem.

Reach and devices takes data about your app and its peers and presents it in new ways, to help you answer these questions. It also makes it easier to get all the relevant teams in your organisation on the same page.

Key features:

  • Distribution and trends of user and issue metrics, starting with install base, crash rate and ANR rate (more metrics to come)
  • Metric breakdowns by key attributes including Android version, RAM, SoC, OpenGL ES version, Vulkan version and screen metrics (with more to come)
  • Peer data so you can spot opportunities in your current game, or even plan your next game
  • Country-level filtering for more precise launch and expansion planning
  • Export all data for bespoke analysis

We’ve received great feedback during closed beta from developers who have found it useful in a variety of ways:

  • Deciding what device specs to support
  • Spotting optimization opportunities
  • Assessing the ROI of addressing issues
  • Narrowing down the root cause of technical issues

Get started

Visit g.co/play/reachanddevices for more information or go straight to Play Console to check it out.

Plan for success on Google Play with Reach and devices

Posted by Lauren Mytton, Product Manager, Google Play

Google Play has over 2.5B monthly active users, distributed across the world, using many different devices. How do you make the most of this opportunity?

The concept of quality reach

The foundations for your game’s (or app’s) success on Google Play are its reach and its quality:

  • Reach: Can a player access your game?
  • Quality: Does the player experience good quality when playing your game?

To unlock the opportunity for any single user on Google Play, you need both: every user must be able to access your game, AND have a good technical experience when playing it.

This is the ideal state of quality reach.

Why quality reach is foundational to your game’s success

When you have quality reach, your game development, marketing budgets, and growth strategy can be lined up to reinforce each other, because you acquire users for whom your game performs well, and your engagement and retention strategies have higher ROI for users with good experiences.

If you have poor quality reach, you can inadvertently acquire users whom you will not be able to engage and retain. Any spend to acquire these users is likely to be wasted. But the bigger problem is that poor quality reach makes it harder for you to acquire users for whom your game does perform well, since Android vitals and user ratings may affect your game’s discoverability and conversion in the Play store.

Another scenario to keep an eye on is missed reach. Unlike poor quality reach, it may not hurt your ability to acquire users who can access and enjoy your game. However it still limits your game’s scale and possibly also its ROI.

How you achieve quality reach

There are three types of decisions that determine your quality reach:

  • Devices: the device specs you build for and target
  • Geographies: the countries, languages or localization you offer
  • Testing and optimization: what you plan for and prioritize during development and pre-launch

You make these decisions when you develop and publish a game for the first time, and you continue to make them with every new release over the lifecycle of your game. You also need to think about these decisions outside your release cycle, since the Play ecosystem is constantly changing, which means your quality reach will also change over time, even if you do nothing.

However these decisions can be very hard. They require you to answer, or predict the answers to, two questions:

  1. Where are my users?
  2. Where are my issues?

These questions are challenging because of the scale and diversity of users on Google Play, both technically and geographically. Not only that, but these decisions may be made at different points in time, across both business and technical teams. How do you get them to line up?

How Reach and devices can help

We’re launching a new tool in Play Console called Reach and devices to help with these challenges. Reach and devices is a data and insights tool that helps you to plan for quality reach, by helping you understand or predict the distribution of your users and your issues across the Google Play ecosystem.

Reach and devices takes data about your app and its peers and presents it in new ways, to help you answer these questions. It also makes it easier to get all the relevant teams in your organisation on the same page.

Key features:

  • Distribution and trends of user and issue metrics, starting with install base, crash rate and ANR rate (more metrics to come)
  • Metric breakdowns by key attributes including Android version, RAM, SoC, OpenGL ES version, Vulkan version and screen metrics (with more to come)
  • Peer data so you can spot opportunities in your current game, or even plan your next game
  • Country-level filtering for more precise launch and expansion planning
  • Export all data for bespoke analysis

We’ve received great feedback during closed beta from developers who have found it useful in a variety of ways:

  • Deciding what device specs to support
  • Spotting optimization opportunities
  • Assessing the ROI of addressing issues
  • Narrowing down the root cause of technical issues

Get started

Visit g.co/play/reachanddevices for more information or go straight to Play Console to check it out.

Plan for success on Google Play with Reach and devices

Posted by Lauren Mytton, Product Manager, Google Play

Google Play has over 2.5B monthly active users, distributed across the world, using many different devices. How do you make the most of this opportunity?

The concept of quality reach

The foundations for your game’s (or app’s) success on Google Play are its reach and its quality:

  • Reach: Can a player access your game?
  • Quality: Does the player experience good quality when playing your game?

To unlock the opportunity for any single user on Google Play, you need both: every user must be able to access your game, AND have a good technical experience when playing it.

This is the ideal state of quality reach.

Why quality reach is foundational to your game’s success

When you have quality reach, your game development, marketing budgets, and growth strategy can be lined up to reinforce each other, because you acquire users for whom your game performs well, and your engagement and retention strategies have higher ROI for users with good experiences.

If you have poor quality reach, you can inadvertently acquire users whom you will not be able to engage and retain. Any spend to acquire these users is likely to be wasted. But the bigger problem is that poor quality reach makes it harder for you to acquire users for whom your game does perform well, since Android vitals and user ratings may affect your game’s discoverability and conversion in the Play store.

Another scenario to keep an eye on is missed reach. Unlike poor quality reach, it may not hurt your ability to acquire users who can access and enjoy your game. However it still limits your game’s scale and possibly also its ROI.

How you achieve quality reach

There are three types of decisions that determine your quality reach:

  • Devices: the device specs you build for and target
  • Geographies: the countries, languages or localization you offer
  • Testing and optimization: what you plan for and prioritize during development and pre-launch

You make these decisions when you develop and publish a game for the first time, and you continue to make them with every new release over the lifecycle of your game. You also need to think about these decisions outside your release cycle, since the Play ecosystem is constantly changing, which means your quality reach will also change over time, even if you do nothing.

However these decisions can be very hard. They require you to answer, or predict the answers to, two questions:

  1. Where are my users?
  2. Where are my issues?

These questions are challenging because of the scale and diversity of users on Google Play, both technically and geographically. Not only that, but these decisions may be made at different points in time, across both business and technical teams. How do you get them to line up?

How Reach and devices can help

We’re launching a new tool in Play Console called Reach and devices to help with these challenges. Reach and devices is a data and insights tool that helps you to plan for quality reach, by helping you understand or predict the distribution of your users and your issues across the Google Play ecosystem.

Reach and devices takes data about your app and its peers and presents it in new ways, to help you answer these questions. It also makes it easier to get all the relevant teams in your organisation on the same page.

Key features:

  • Distribution and trends of user and issue metrics, starting with install base, crash rate and ANR rate (more metrics to come)
  • Metric breakdowns by key attributes including Android version, RAM, SoC, OpenGL ES version, Vulkan version and screen metrics (with more to come)
  • Peer data so you can spot opportunities in your current game, or even plan your next game
  • Country-level filtering for more precise launch and expansion planning
  • Export all data for bespoke analysis

We’ve received great feedback during closed beta from developers who have found it useful in a variety of ways:

  • Deciding what device specs to support
  • Spotting optimization opportunities
  • Assessing the ROI of addressing issues
  • Narrowing down the root cause of technical issues

Get started

Visit g.co/play/reachanddevices for more information or go straight to Play Console to check it out.

Introducing the Android Game Development Kit

Posted by Posted by Scott Carbon-Ogden, Product Manager Android Games

Today we’re launching the Android Game Development Kit (AGDK), a full range of tools and libraries to help you develop, optimize, and deliver high quality Android games.

AGDK features follow three key tenets:

  • Code built for game development. All of our libraries have been built and tested with performance in mind using C or C++ APIs.
  • Reduce fragmentation. The AGDK tools and libraries work across many different Android versions. Most of these features will work on almost any device in use today.
  • Built by Android, for Android. Features will be enhanced by future Android platform updates, and the libraries will provide backwards compatibility when possible.

In this initial launch, we’re focusing on covering three major areas where we heard a lot of feedback from our developer community: Integrated workflows, C/C++ game libraries, and performance optimization.

Integrated workflows

Generally, the less you need to switch tools, the more efficient you can be, so with AGDK, we’re providing new tools to facilitate Android game development in your primary IDE. We will focus on the bits of workflow where Google can add unique value and solve Android specific problems, while being compatible with whichever parts of your existing workflow you are comfortable with.

  • The Android Game Development Extension adds Android as a platform target to Visual Studio. This enables existing multi-platform Visual Studio game projects to quickly integrate Android as a new platform. Learn more in the AGDE session.
  • We are working with some of the most popular game engine developers to integrate our tools and libraries directly, so you can benefit from enhanced performance and stability without needing to make any changes.
  • Where that’s not possible, we’ve focused on building plugins for game engines such as Unity. These plugins are available in one place to help you quickly get what you need.

C/C++ game libraries

Start your C development with less Java Native Interface (JNI) by using our game libraries for C/C++ development. Most games and game engines are written in C++, whereas Android development often requires using the Java programming language. Bridging these two languages using a Java Native Interface requires effort and can introduce bugs or performance regressions. AGDK will help you build and customize game engines by providing C game libraries that minimize the use of the Java Programming language and JNI. This makes your games easier to build, debug, and maintain.

We’re focusing on what you’ve told us are your top frustrations. Initially, this will involve building foundational classes for activity and input. Longer term, we plan to make more C libraries to provide functionality that is commonly used across game engines. We're incorporating our existing frame pacing and high-performance audio libraries into this effort, and adding three new ones:

  • Game Activity provides a foundation for C++ games to be built on. It provides C interfaces for all the Android events that you'd expect, from screen rotation to app lifecycle. This way you can minimize the amount of development time you spend in the Java language. Unlike Native Activity, Game Activity is compatible with fragments and extendable, making it easier to integrate some of your favourite SDKs.
  • Game Text input provides a stable way to use the software keyboard in C, that is officially supported and will work across Android versions.
  • Game Controller is a way to handle input from game controllers in C, to map their functions and to reconnect to the device when necessary.

Learn more about these libraries in our C/C++ libraries session.

To make integration as easy as possible, you can get all our libraries as a Maven dependency, as a pre-compiled Zip file, or as source code.

Performance optimization

Our goal is to help you find any stability or performance issues before launch and monitor your game post-launch to catch any issues. We’re starting with the most important metrics like frame rate, loading time, and memory, and will be including new metrics over time.

  • We’re launching a major update to the Android GPU Inspector (AGI), that includes frame profiling functionality. This works alongside the existing GPU profiling elements to help you fully understand any GPU related issues. AGI is currently in open beta, and you can learn more in our GPU inspector session.
  • We also have a suite of profilers in Android Studio and AGDE for the system, power, CPU, and our new native memory profiler that game devs can use to find inefficiencies.
  • Android Performance Tuner provides user telemetry. You can use it to see how different parts of your game perform and how your game performs across different devices. You may already be using this tool for frame rate, and now we’re launching a new loading time function. Learn more in our Android Performance Tuner session.

Visit g.co/android/AGDK for our latest resources for Android game development and to download the AGDK. Check out the mobile session track for the full lineup of sessions from the Google for Games Developer Summit.

Updates from the Google for Games Developer Summit

Posted by Posted by Greg Hartrell, Product Management Director, Google Play & Android

Last year we saw Android and Play reach new heights with people playing more games safely at home. By continually making Google Play a better place for consumers, we've made it a richer place for game developers to connect with a diverse global audience. So much in fact, that Android has reached 3B monthly active devices, and Play grew to reach 2.5B monthly active users driving 140B installations worldwide.

At Google we build for everyone, and that means we’re here to help all developers reach gamers in the right moments: from the largest game studios, to the indie shops conjuring up fun and innovative games across the world.

During our Game Developer Summit, we shared updates on a breadth of tools and solutions to help you across the lifecycle of your gaming business. We announced new tools to make game development easier, updates on a growing ecosystem to help get your games running on more screens, and new opportunities to drive your go-to-market success on Google Play.

Here’s more about everything we shared and how you can get started today.

Easier development

  • We launched the Android Game Development Kit, a full range of tools and libraries to help you develop, optimize, and deliver high quality Android games. In this initial launch, AGDK covers three major areas:

    1. Integrated workflows (e.g. a new Visual Studio extension)

    2. Essential C/C++ game libraries (e.g. the new Game Text Input library)

    3. Performance optimization (e.g. frame profiler support in our GPU profiler and new loading time support in Android Performance Tuner)

    • In Android 12, we’re working on two new areas. Game dashboard provides an overlay experience with quick access to key utilities during gameplay - like screen capture, recording, and more, and will be available on select devices later this year. With Game Mode APIs, you can react to players selecting a performance profile for their game - like better battery life for a long commute, or performance mode to get peak frame rates. Integrate Game Mode APIs prior to the launch of Android 12 via Beta releases.
    • Reach and devices is a new data and insights tool that helps you plan for more success on Google Play. It enables you to understand and predict the distribution of your users and technical issues across countries and key device attributes (like Android version, memory, graphics stack and chipsets). You can use it to make the business case for country and device targeting decisions, to spot optimization opportunities, and to set test priorities for your next release.
    • Firebase Remote Config lets you update the behavior and appearance of your game for different audience segments without releasing a new version. The new personalization feature is now available in early access via the Firebase Alpha program. It uses the power of Google’s machine learning to automatically deliver the best experience to each of your users, individually.

More screens

  • On Chrome OS this past year, Google Play usage grew 300%, marking its biggest year of app and game usage since we launched Google Play on Chromebooks in 2016. Unity recently introduced support for Chrome OS on Unity 2021.2, with support for Unity 2020 LTS coming later this year. Optimize your game and join the growing number of developers building for Chrome OS today to access this rapidly expanding audience.

Go-to-market success

  • Play as you download, built into the core of Android 12, will allow users to get into gameplay in seconds while game assets are downloaded in the background. We are seeing games being ready to open at least 2 times faster and we are very excited about the improved user experience.
  • We’ve continued our innovation with Play Asset Delivery to ensure players spend less time waiting for downloads without sacrificing the quality of your game. Now, Texture Compression Format Targeting automatically figures out what modern compression formats to use to further reduce your game’s size.
  • Ratings and Reviews in the Play Console now offer new ways to help you understand your game’s ratings with views across different form-factors, the ability to access and query your ratings history, and new historical ratings metrics.
  • We refreshed Pre-registration in Play Store to be more useful. And now you can use App campaigns for pre-registration to build greater excitement for your game in open testing, or to drive pre-registrations in the Play Store.
  • The new Play Integrity API is designed to help you fight abuse, such as cheating and unauthorized early access by helping you determine if you’re interacting with your genuine game binary, installed by Google Play, on a genuine Android device. Express interest in the Play Integrity API early access program.

Check out the mobile session track for the full lineup of sessions from the Google for Games Developer Summit and bookmark g.co/android/games for our latest resources for Android game development.

Join us for Google for Games Developer Summit 2021

Posted by Greg Hartrell, Head of Product Management, Games on Android & Google Play

Google for Games Dev Summit header

With a surge of new gamers and an increase in time spent playing games in the last year, it’s more important than ever for game developers to delight and engage players. To help developers with this opportunity, the games teams at Google are back to announce the return of the Google for Games Developer Summit 2021 on July 12th-13th.

Hear from experts across Google about new game solutions they’re building to make it easier for you to continue creating great games, connecting with players, and scaling your business. Registration is free and open to all game developers.

Register for the free online event at g.co/gamedevsummit to get more details in the coming weeks. We can’t wait to share our latest innovations with the developer community.