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 サービスを使用します。Google Play Console で Play ゲームサービスをセットアップして管理できます。その後、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 をご覧ください。