ゲームエンジンを使用すると、技術スタック全体を構築する必要がなくなり、ゲームの構築にエネルギーを集中できます。
Android 開発ツールを活用する
Android 開発ツールは、使用されているゲームエンジンに関係なく、Android ゲーム開発を支援します。Android Studio には、以下に使用できるツールが用意されています。
- システム、CPU、メモリのプロファイラを使用して、ゲームのパフォーマンスを調査する
- ゲームのパッケージまたはアプリケーション バンドルの内容を調べる
- 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 モデルを組み込みでサポートしています。Defold には 2D フォーカスがありますが、3D レンダリング エンジンを使用し、3D モデルとメッシュのレンダリング、マテリアルとシェーダーのカスタマイズをサポートしています。物理学のサポートが組み込まれており、2D または 3D の物理学のオプションを使用できます。Defold は、ゲームのシーンとオブジェクト用のレイアウト ツールとプロパティ ツールを備えたビジュアル エディタを基盤としています。Defold エディタには、スクリプトの編集機能とデバッグ機能が統合されています。ネイティブ コードは、プラグイン システムを介して Defold エンジンでサポートされています。
ガイド
Godot
Godot は、2D ゲームと 3D ゲームの両方に適したオープンソース エンジンです。2D スプライトやタイルマップから、物理レンダリングとグローバル イルミネーションを備えた 3D モデルまで、あらゆるものを網羅する幅広い機能をサポートしています。2D と 3D の物理をサポートする物理システムが組み込まれています。Godot には、カスタム GDScript 言語、C# 8.0、C++、ビジュアル スクリプトなど、複数のプログラミング言語オプションがあります。Godot エンジンのプロジェクトは コア Scene と Node オブジェクトを中心に構築されますこれらのオブジェクトを作成および編集するためのビジュアル エディタが含まれています。エディタには、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 は、多くのゲームで使用されている商用ゲームエンジンです。Unity は 2D と 3D の両方のゲーム開発向けに設計されています。Unity は、基本的な 2D スプライト ゲームから、大規模で複雑な 3D 世界をプレイするゲームまで、あらゆる用途に使用されてきました。Unity には、ユニバーサル レンダリング パイプラインなど、モバイル デバイス ハードウェアで 2D または 3D グラフィックのパフォーマンスを向上させるためのレンダラ オプションが複数用意されています。Unity は C# プログラミング言語を使用し、ネイティブ コードとのインターフェースとしてプラグインをサポートしています。人気が高いため、Unity には公式およびコミュニティに関する幅広い情報や教育リソースが用意されています。Unity は Unity Asset Store を運営しています。Unity Asset Store は、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 Editor には、Blueprints というビジュアル スクリプト作成システムが用意されており、ゲームとインターフェースのロジックの作成に使用できます。ゲーム機能は C++ コードとして実装することもできます。Unreal のデベロッパーである Epic Games は、Unreal Engine リソースのデジタル ストアフロントとして Unreal Engine Marketplace を運営しています。Unreal Engine マーケットプレイスには、Unreal プロジェクトで使用できるさまざまなビルド済みアートアセットとコードアセット(無料および有料)が用意されています。Android Game Development Extension を使用すると、Android で実行されている Unreal プロジェクトをデバッグできます。
詳細については、Unreal を使用した Android 開発をご覧ください。