Android Game Development Kit(AGDK)は、Androidゲームの開発、最適化、デリバリを簡単にするためのものだ。既存と新規のツールおよびライブラリを組み合わせて構成されたAndroid Game Development Kitは、パフォーマンスを最大化するため、CとC++のAPIを使って構築されている。
おもな目標のひとつは、Javaを使用する必要性を最小限にしたAndroid用ゲーム開発を可能にすることだ。その動機となったのは、ほとんどのゲームとゲームエンジンがパフォーマンス上の理由からCあるいはC++で記述されているという事実であり、JNIを使用するJava Androidプラットフォームが一般的に複雑なタスクであるという事実である。そのためにAGDKは、このブリッジを提供することによって、JNIを使用した互換性の確保に特有な、すべての複雑性に対処している。
AGDKの最初のリリースには、既存のフレームペーシング(frame pacing)やハイパフォーマンスなオーディオライブラリに加えて、Game Activity、Game Text Input、Game Controllerといった新たなコンポーネントが含まれている。
Game Activityクラスは、ゲーム用のアクティビティクラスとして、NativeActivityの代替になる。Native Activityに代えてGame Activityを使用することのメリットは、Jetpackやフラグメントと互換性があることと、ほとんどのゲームエンジンをサポートするように拡張可能であることだ。特に注目すべきなのは、デバイスローテーションやアプリのライフサイクルを含む、すべてのAndroidアクティビティイベントを処理できることだ。
Game Text Inputライブラリは、ソフトキーボードの表示と非表示、編集中のテキストの設定と取得、テキスト変更時の通知の受信といったAPIを提供する。スペルチェックや入力補完、マルチキー文字といった高度な入力メソッドを備えた編集機能をサポートしてはいるが、本格的なテキストエディタでの使用を意図したものではない。
Game Controllerライブラリは、コネクションとディスコネクション、コントローラ記述(controller description)、入力データの読み込みといった、ゲームコントローラ用サポートの実装を支援する。
Google AGDKはパフォーマンス最適化ツールにも注力しており、GPU関連の問題を調査するための改善型Android GPU Inspectorや、CPU、電力、ネットワーク、メモリの使用量を調査する新しいAndroid Studioプロファイラなどが含まれている。Androidデバイスが極めて多様であることを考慮して、Googleは、Android Performance Tunerの改良を通じて、ユーザテレメトリのサポートも強化している。これによって開発者は、ロード時間やグラフィックの忠実度、廃棄といった情報をより深く知ることができるようになる。
その他、AGDKが開発者エクスペリエンスを向上する領域としては、ワークフローの統合サポートがある。
ワークフローにGoogle独自の価値を付加することによって、Android固有の問題解決に注目すると同時に、慣れ親しんだ既存のワークフローとの親和性を考慮しています。
そのために、AGDK最初のリリースにはVisual Studio Android Game Development Extensionが同梱されており、既存のVisual StudioプロジェクトのプラットフォームとしてAndroidを統合することを可能にしている。さらにGoogleは、ゲームエンジンメーカと共同でAGDKを直接統合可能にするか、あるいは統合を容易にするプラグインを開発する計画であることを明言している。
Android Game Development Kitは、Googleの開発者Webサイトからダウンロード可能だ。