Android ゲームの開発を始める前に、開発環境に関する 3 つの基本コンポーネントを決める必要があります。具体的には以下の 3 つです。
- ゲームエンジン
- 統合開発環境(IDE)
- グラフィック API
ゲームエンジンを使用して開発する
ゲームエンジンは、ゲーム開発用のライブラリとツールのセットを含むソフトウェア フレームワークです。ゲームエンジンを使用すると、次のようなものを簡単に実装しながら、ゲーム コンテンツの作成と最適化に集中できます。
- グラフィック
- アニメーション
- サウンド
- ゲームループ
- 入力デバイスのサポート
通常、ゲームエンジンには、機能を構成し、ゲームの設計、開発、コンパイルおよび Android などのプラットフォームへのエクスポートを行うための IDE などのツールが付属しています。
ゲームエンジンを使用して開発する場合、次の方法から選択します。
- 事前構築済みのゲームエンジンを使用する(推奨)
- 既存のゲームエンジンをカスタマイズする
- 新しいゲームエンジンを開発する
事前構築済みのゲームエンジンを使用する(推奨)
事前構築済みのゲームエンジンを使用するのが、Android ゲームを最も簡単に開発できる方法です。そのためには、Android の開発要件を満たすゲームエンジンを選択する必要があります。
事前構築済みのゲームエンジン
Android 開発をサポートする既存のゲームエンジンには、次のようなものがあります。
- Unity: C# プログラミング言語を使用する商用ゲームエンジン。
- Godot: GDScript、C#、C++ などの複数のプログラミング言語をサポートするオープンソースのゲームエンジン。
- Defold: Lua プログラミング言語を使用するオープンソースのゲームエンジン。
- Unreal: ハイエンド 3D グラフィックに特化した商用ゲームエンジン。Blueprint というビジュアル スクリプト作成システムと C++ を使用します。
これらのエンジンのセットアップと操作については、Android でゲームエンジンを使用するをご覧ください。
IDE を使用して開発する
Android ゲームの開発に使用する IDE は、利用するゲームエンジンとワークフローによって異なります。よく利用されるゲームエンジンには、設計とコード編集をサポートするゲームエディタが付属しています。通常、ゲーム デベロッパーはゲームエディタを Android Studio と一緒に使用します。
ゲームエディタ
ゲームエディタではゲーム設計機能とコード編集機能が緊密に統合されていることが多く、設計者はコードを記述せずに開発タスクを完了できる場合もあります。
初めて Android ゲームを開発する場合、ゲームエディタを Android Studio と組み合わせて使用するのが最も簡単で最適な方法です。ゲームエディタには次のようなメリットがあるからです。
- ゲーム設計に重点を置いた UI とツールセットが構築されている。
- アセット設計タスクとコード編集タスクが統合されている。
- サポートされているプログラミング言語に重点が置かれている。
- モデリング ツールとレンダリング ツールが付属している。
Android Studio
Android Studio は、Android アプリを開発するための公式 IDE です。使用する予定の他の IDE と一緒にインストールする必要があります。Android Studio では次のことができます。
- C / C++、Java、Kotlin のいずれかで記述されたコードをデバッグする。
- Android ゲームのビルドに必要な Android SDK を管理する。
- ゲームのビルド、テスト、プロファイリング、最適化を行う。
- Android NDK を使用して C / C++ コードを編集する。
- アプリのパッケージと Google Play 設定を構成する。
詳しくは、Android Studio をご覧ください。
Visual Studio
Windows で Visual Studio を使用してゲームを開発する場合は、Visual Studio 向け Android Game Development Extension(AGDE)を使用して、Android をターゲットとして追加できます。高度なスキルを持つゲーム デベロッパー向けのこのオプションは、すでに Visual C++ プロジェクトを使用して開発中のゲームをターゲットにしたものです。AGDE を使用すると、次のようなことができます。
- 既存の Visual C++ プロジェクトを使用して Android ゲームを作成する。
- Visual Studio を使用してゲームをデバッグおよびプロファイリングする。
- Incredibuild や SN-DBS などの分散ビルドシステムを使用する。
詳しくは、AGDE をご覧ください。
Google Play Games サービスを使用して開発する
ソーシャル機能をゲームに追加する、ゲームプレイの統計情報を表示する、複数のデバイスでのクロス プラットフォーム ゲームプレイを実現するには、Google Play Games サービスを使用します。Play ゲームサービスの設定と管理は Google Play Console で行えます。その後、Android、C、Unity 用の Play ゲームサービス API を使用して機能を追加できます。詳細については、Google Play Games サービスの概要をご覧ください。
グラフィック API を使用して開発する
Android ゲームで 2D および 3D グラフィックのパフォーマンスを最適化するには、低レベル グラフィック API を使用して GPU と通信する必要があります。Android ゲーム開発で最も広くサポートされているオプションは次の 2 つです。
- OpenGL ES
- Vulkan
Android Game Development Kit(AGDK)を使用して C または C++ でゲームを開発するには、OpenGL ES または Vulkan が必要です。Android GPU Inspector(AGI)グラフィック プロファイリング ツールがサポートしているグラフィック API はこの 2 つだけです。
Android GPU Inspector について詳しくは、AGI をご覧ください。