Google Launches Android Game Development Kit (AGDK)

AGDK is a full suite of tools and libraries to help developers develop, optimize, and deliver high-quality Android games.

Recently, Google launched the Android Game Development Kit (AGDK), which is a full range of tools and libraries to help developers develop, optimize, and deliver high-quality Android games. The Kit brings together new and existing libraries, tools, and functionality.

Well, the AGDK tools work across many different Android versions and work across almost any device in use today. In this initial launch, the Android team is focusing on covering three major areas i.e Integrated workflows, C/C++ game libraries, and performance optimization.

Google said that all of AGDK libraries have been built and tested with performance in mind using C or C++ APIs. Going on features will be improved by future Android platform updates, and the libraries will also provide backwards compatibility when possible.

Google said that with AGDK, it is providing new tools to facilitate Android game development in their primary IDE. The Android Game Development Extension adds Android as a platform target to Visual Studio. This allows existing multi-platform VS game projects to quickly integrate Android as a new platform.

The Android team is also working with some of the most popular game engine developers to integrate Android tools and libraries directly, and where that’s not possible, the team is focused on building plugins for game engines such as Unity. 

Well, the majority of games and game engines are written in C++, whereas Android development often needs using the Java programming language. Combining these two languages using a Java Native Interface requires effort and can create bugs or performance regressions. AGDK helps developers build and customize game engines by providing C game libraries that minimize the use of the Java Programming language and JNI.

Android is also launching a significant update to the Android GPU Inspector (AGI), which includes frame profiling functionality. This works alongside the existing GPU profiling elements to help users fully understand any GPU related issues. There is also a suite of profilers in Android Studio and AGDE for the system, power, CPU, and the new native memory profiler that users can use to find inefficiencies.

The team said that its focusing on what users have told them are top frustrations. Initially, this will involve building foundational classes for activity and input. The team plans to make more C libraries to offer functionality that is commonly used across game engines. Android is incorporating its existing frame pacing and high-performance audio libraries into this effort, and adding three new ones: Game Activity, Game Text input, and Game Controller.

Game Activity offers a foundation for C++ games to be built on. The library provides C interfaces for all the Android events that you'd expect, from screen rotation to app lifecycle. Moreover, unlike Native Activity, it is compatible with fragments and extendable, making it easier to integrate some of your favourite SDKs.

Game Text input offers a stable way to make use of the software keyboard in C, that is officially supported and will work across Android versions. And, Game Controller gives you a way to handle input from game controllers in C, to map their functions and to reconnect to the device when necessary.