デベロッパーはゲームエンジンを使用することで、技術スタック全体を構築する必要がなくなり、ゲームの構築にエネルギーを集中させることができます。
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 グラフィックを実現するよう設計された、Universal Render Pipeline などの複数のレンダラ オプションがあります。Unity は C# プログラミング言語を使用し、ネイティブ コードとのインターフェースをサポートするプラグインをサポートしています。Unity は人気があるため、公式とコミュニティに関する幅広い情報や教育リソースを提供しています。Unity が運営する 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 エディタには、Blueprints と呼ばれるビジュアル スクリプト システムが搭載されており、これを使用してゲームとインターフェースのロジックを構築できます。ゲーム機能は C++ コードとして実装することもできます。Unreal のデベロッパーである Epic Games は、Unreal Engine リソースのデジタル ストアフロントとして Unreal Engine Marketplace を運営しています。Unreal Engine Marketplace には、Unreal プロジェクトで使用できる、無料と有料の両方で、ビルド済みのさまざまなアートアセットとコードアセットが用意されています。Android Game Development Extension を使用して、Android で実行されている Unreal プロジェクトをデバッグできます。
詳しくは、Unreal による Android 開発をご覧ください。