デベロッパーは、ゲームエンジンを利用すると、技術スタックをまるごと構築せずに済み、ゲームの開発に注力できます。
Android 開発ツールを活用する
Android 開発ツールは、使用されているゲームエンジンに関係なく、Android ゲーム開発を支援します。Android Studio に用意されているツールを使用して、次のことができます。
- システム、CPU、メモリのプロファイラを使用して、ゲームのパフォーマンスを調査する
- ゲームのパッケージまたは App Bundle の内容を検査する
- Android SDK および NDK の追加機能を統合する
Android GPU Inspector を使用すると、ゲームのレンダリング パフォーマンスの特性を明らかにするとともに、フレーム キャプチャを使用してレンダリングされたフレームの詳細を調査できます。
エンジンを評価する
Android で使用するゲームエンジンを検討するにあたっては、Google Play の要件を満たすかどうかと、目的の Android 機能をサポートしているかを評価する必要があります。ゲームエンジンが下記に示す一般的な要件に対応していることを確認してください。
Google Play の要件
2021 年 8 月以降、Google Play では、すべての Android アプリを Android App Bundle として提出し、ターゲット API レベル 30 以上を使用することが求められます。使用するエンジンがこの要件を満たしていることを確認してください。
アプリ内購入
ゲーム設計でアプリ内購入を使用している場合は、エンジンが Google Play Billing Library(GPBL)をサポートしていることを確認してください。エンジンに応じて、GPBL はエンジンに直接統合することも、アドオンまたはプラグインを介してアクセス可能にすることもできます。
Google Play Core の機能
Google Play Core Library は、Google Play ストアへの実行時インターフェースを提供します。Play Core Library を使用すると、次のことができます。
- アプリのアップデートについてユーザーに通知する
- アセットパックのデータをダウンロードして、アクセスする
- アプリ内レビューをリクエストする
これらの機能のいずれかを使用する場合は、エンジンが Google Play Core Library を直接サポートしているか、あるいはアドオンまたはプラグインを介してサポートしていることを確認してください。
アプリの権限
一部の Android 機能をゲームで使用するには、ユーザーの同意が必要です。そうした機能へのアクセスをリクエストするには、Android の権限システムを使用します。ゲームに権限が必要な場合は、エンジンがプロジェクト オプションで権限を指定する方法を備えているか、またはアプリ マニフェストをカスタマイズして必要な権限を含めることができるかを確認してください。
通知
Android の通知は、ユーザーがゲームをプレイしていないときに通知またはメッセージを送信するために使用します。この機能がゲームにとって重要である場合は、エンジンが通知の送信と処理をサポートしていることを確認してください。
エンジンのリソース
以下に示す商用およびオープンソースのゲームエンジンは、Android の安定したサポートを備えています。Google は、ゲームエンジンごとに、エンジン プロジェクトを Android 用に構成するためのガイドを提供しており、Android デバイス上で洗練された魅力的なユーザー エクスペリエンスを実現できるようにしています。
Defold
Defold は、スクリプト言語として Lua プログラミング言語を使用するオープンソース エンジンです。Defold は 2D ゲームとグラフィックを幅広くサポートしており、パーティクル、スプライト、タイルマップ、Spine モデルの組み込みサポートを備えています。2D に重点を置いていますが、3D レンダリング エンジンも使用しており、3D のモデルとメッシュのレンダリングに加えて、マテリアルとシェーダーのカスタマイズもサポートしています。物理計算のサポートが組み込まれており、2D または 3D の物理計算のオプションがあります。Defold は、ゲームシーンとゲーム オブジェクト用のレイアウト ツールとプロパティ ツールを備えたビジュアル エディタをベースにしています。Defold エディタでは、スクリプトの編集機能とデバッグ機能が統合されています。ネイティブ コードは、プラグイン システムを介して Defold エンジンでサポートされます。
ガイド
Godot
Godot は、2D ゲームと 3D ゲームの両方に適したオープンソース エンジンです。2D のスプライトとタイルマップから、物理学に基づくレンダリングとグローバル イルミネーションを備えた 3D モデルまで、幅広い機能をサポートしています。2D と 3D の物理計算に対応した物理計算システムが組み込まれています。Godot では、カスタム GDScript 言語、C# 8.0、C++ などのさまざまなプログラミング言語と、ビジュアル スクリプト作成機能を利用できます。Godot エンジン プロジェクトは、シーン オブジェクトとノード オブジェクトを中核として構築されます。これらのオブジェクトを作成および編集するためのビジュアル エディタが用意されています。エディタでは、GDScript 言語の編集とデバッグのサポートが統合されています。
ガイド
ココス
Cocos Creator は、効率的で軽量、無料のオープンソースのクロスプラットフォーム 2D / 3D グラフィック エンジンであり、リアルタイムのインタラクティブな 2D / 3D デジタル コンテンツ作成プラットフォームです。Cocos Creator には、高パフォーマンス、低消費電力、ストリーミング読み込み、クロス プラットフォーム パブリッシュなど、多くの利点があります。これを使用して、ゲーム、自動車、XR、メタバースなどの分野でプロジェクトを作成できます。
ガイド
- Cocos Creator で Android 用ゲームを作成する手順
- Cocos Creator でゲームを Google Play Instant App として公開する
- Cocos Creator で Android App Bundle を使用してゲームを公開する
- Android でのリモート デバッグ
Unity
Unity は、多くのゲームで使用されている商用ゲームエンジンです。2D ゲームと 3D ゲームの両方を開発できるように設計されています。簡単な 2D スプライト ゲームから、大規模で複雑な 3D 世界を売り物にするゲームまで、あらゆる種類のゲームで利用されてきました。Unity には、ユニバーサル レンダリング パイプラインを含む複数のレンダラ オプションがあり、モバイル デバイス ハードウェア上で 2D または 3D のグラフィックのパフォーマンスを高めることができるように設計されています。Unity は C# プログラミング言語を使用しますが、ネイティブ コードとのインターフェースを提供するプラグインをサポートしています。Unity は人気があるので、公式およびコミュニティ発の幅広い情報と学習リソースがあります。Unity が運営する Unity アセットストアは、Unity プロジェクトで利用できる無料または有料のビルド済みのアートアセットとコードアセットを多数取り扱っています。
ガイド
- Unity による Android 開発
- Android App Bundle を Unity で作成する
- Play Asset Delivery を統合する
- Unity のモバイルゲームにおけるライティング
- Unity で Android Performance Tuner を使用する
Unreal
Unreal Engine 4 は、洗練されたグラフィックを備えた最高級の 3D ゲームに特化した商用ゲームエンジンです。Unreal には、ゲームレベルの編集と、インポートされたモデルおよびマテリアル アセットの操作を行えるビジュアル エディタがあります。Unreal Engine 4 は、組み込みのスクリプト作成プログラミング言語を使用しません。Unreal エディタは、Blueprint と呼ばれるビジュアル スクリプト作成システムを備えており、これを使用してゲームとインターフェースのロジックを構築できます。ゲーム機能は C++ コードとして実装することもできます。Unreal デベロッパーの Epic Games は、Unreal Engine リソースのオンライン ショップである Unreal Engine マーケットプレイスを運営しています。Unreal Engine マーケットプレイスは、Unreal プロジェクトで利用できる無料または有料のビルド済みのアートアセットとコードアセットを多数取り扱っています。Android Game Development Extension を使用すると、Android で稼働する Unreal プロジェクトをデバッグできます。
詳細については、Unreal を使用した Android 開発をご覧ください。