アプリ「TapThe宝箱」の作り方とAndroid版リリース総集編&公的相談先

2D / 3D ゲームを作成できる無料・オープンソースの軽快なゲームエンジン「Godot Engine 4」で、広告付きの Android 用アプリとして開発・リリースした「タップ The 宝箱」の紹介と、約1か月にわたって連載したそのゲームの作り方の手順を一気に振り返る総集編です。

※この記事の内容は、アプリ タップ The 宝箱 の開発の総集編です。
※ GodotEngine のバージョンは 4.1.2 です。 .NET 版ではありません

※「いらすとや」様の画像を使用しています。
※「ふい字」フォントを使用しています。
※「魔王魂」様のサウンドを動画内で使用しています。
※「無料効果音で遊ぼう!」様のサウンドを動画内で使用しています。

※記事で紹介するスクリプト / プログラム / コードは自己責任で使用してください。

アプリ「タップ The 宝箱」の簡単な説明

サンプルアプリ TapTheTakarabako は、以下の機能を Android 11 (API Level = 30) スマートフォンでデバッグ確認GooglePlay ストアにリリースするために作りました。

主な機能は以下です。

  • クリック / タップの入力イベントの検知と座標の取得
  • 波紋アニメーションを await を用いて実装
  • スプライト画像(宝箱などの画像)の表示
  • スプライト画像の当たり判定
  • スコアや音量調節のラベル・スライダーUIの表示と更新
  • 効果音BGMの再生
  • スコアなどのセーブ・ロード(保存・読み込み)
  • 広告バナーの表示

2024 年 3 月末に GooglePlayConsole デベロッパーアカウントが閉鎖された(これについては最後の方の章をご覧ください)ので、今は GooglePlay からはインストールできませんが、WebGL (HTML5) 版をエクスポートできたので、以下のサイトでブラウザゲームとしてプレイできます。
Android スマートフォンからもブラウザゲームとしてプレイできました

タップ The 宝箱 | フリーゲーム投稿サイト GodotPlayer

以下は、スクリーンショット(広告あり)とプレイ動画(広告なし)です。

GooglePlay 本番用IDによる実際の広告の表示 アプリを起動して3秒程度で実際の広告が表示されました....

次は、このアプリの作り方を紹介する記事を順番に紹介していきます。

プロジェクトの作成と当たり判定の設定

Godot4 で新規プロジェクトを作成して、操作の基本になるクリック・タップを検知する処理を実装します。

以下の二つの記事で、クリック・タップ時に用いる波紋アニメーションを実装します。
メインは2つ目の記事になります。

作成した波紋アニメーションを、クリック・タップした場所に発生させるために、波紋アニメーションのシーンを子ノードとしてメインのシーンに動的に配置する処理を実装します。

宝箱の画像を表示して、それをクリック・タップした際に呼び出されるイベント処理をシグナルで実装します。

画面サイズと UI の配置

ゲーム画面のサイズを設定して、エディターにもそのサイズを示す枠線を表示させて、 UI を配置しやすくします。

スコアを表示するラベル UI を配置します。フォント(字体)も設定します。

配置したラベル UI と画面全体との間のマージン(余白)の比率アンカーで指定して、画面サイズが変わったときの配置バランスを設定します。

様々な画面サイズ(解像度)に対応して、縦横比(アスペクト比)を維持した画面の表示方法を設定します。

タップ時に宝箱からコインや宝石を出現させる実装

宝箱画像をクリック・タップすると、コイン画像が物理関数によって飛び出す実装をします。

衝突判定なしで、コインの画像を回転しながら落下させるように改良します。

次々と飛び出すコインは画面の下まで落下したら必要なくなります。
その後も存在し続ける処理が重くなるので、一定の高さより下に落下したコインのノードは削除します。

コイン以外にも3つの宝石を指定した確率でランダムに出現するように改良します。

波紋アニメーションよりもコインや宝石の画像が常に手前に表示されるように、各ノードの表示順を指定します。

効果音とBGMの再生

コインや宝石が飛び出す際の効果音を再生します。
同時に複数の音源の再生を行います。

ループ再生する BGM を再生します。
再生される全体の音量を調節するスライダー UI を実装します。

スコアの更新とセーブとロード

コインや宝石が出現した際に、独自シグナルを発して、それを受けた受信側メソッドスコアを更新します。

変更されたスコア音量設定をセーブして、次回はその値をロードして以前のスコアや設定を復元します。

Android 用アプリの作成

作成した「タップ The 宝箱」を Android スマートフォンにインストールするために apk 形式で出力します。

作成した apk で Android スマートフォンにアプリをインストールしてデバッグ実行します。

Android スマートフォンの実機デバッグで発見されたバグの修正

Android スマートフォンで実行した際に、画面の向き横長(ランドスケープ)になってしまったので、縦長(ポートレート)に修正します。

宝箱の当たり判定の反応がとても良くない現象を修正します。
アプリのアイコンもデフォルトからアプリ独自の物に変更します。

Android スマートフォンでは、オートセーブができない問題を修正します。

Godot4 で AdMob 広告を表示するためのプラグインの導入

プラグインの導入の前に、そのライセンス (MIT)などを表示するためのスクロールできるラベルを UI として配置します。

AdMob プラグインを Godot4 プロジェクトに追加します。

AdMob プラグインを含めて Android 用のアプリをビルドするための環境を構築します。

Google AdMob 広告ユニットの作成

アプリに広告を配信・表示してくれるプラットフォーム Google AdMob の凍結解除と、広告を配信してもらうアプリの申請を行います。

ポリシーに違反せずにテストを行うために、広告表示のテストに用いる Android スマートフォンを AdMob のテストデバイスとして登録します。

アプリに表示する AdMob の広告ユニットを作成します。

AdMob プラグインの初期化処理のスクリプトを紹介します。
失敗例についても紹介します。

AdMob 広告を追加した Android アプリのビルド

AdMob から広告の配信を承認されたアプリの ID を Android のエクスポートに用いる AndroidManifest.xml に設定します。
※アプリの ID がない場合に用いるデバッグ用のサンプル ID についても紹介します。

AdMob に申請する前でもテストできるサンプル ID を用いて、テスト広告を表示するための設定を行いビルドします。

AdMob から承認して得られるアプリ ID と広告ユニット ID を用いて、実際の広告を表示するための設定を行いビルドします。

GooglePlay アプリストアで広告付きアプリへのアップデート

GooglePlay アプリストアが推奨する aab 形式にアプリをエクスポートして、広告付きアプリをアップロードします。

AdMob 広告を追加したことによる申告内容の変更を申請します。
あわせて、広告を追加した新しいバージョンのアプリのリリースを申請します。

Google Play アプリストアでのリリースした結果

アプリ作成後、広告を追加したバージョンのアプリを GooglePlay アプリストアで公開してインストールできるようにしました。

Godot4 GooglePlayからのインストール 自作アプリのページでインストールボタンを押します....

AdMob の広告が表示されるアプリを Android スマートフォンで出来ました。

GooglePlay アプリをアップデートして起動すると広告が表示されました.

リリース後、 2024 年 3 月末にデベロッパーアカウントが閉鎖された際の相談先

アプリ TapTheTakarabako(GooglePlay 版) は、デベロッパーアカウントの閉鎖と同時にアクセスできなくなりました。

アカウント閉鎖によりアクセスできなくなったアプリのページ

GooglePlayConsole にログインした後に右上の?ボタンから質問を選んで、GoogleSupport のチャットをしましたが、明確な理由は得られませんでした。

そういった場合に相談にのってくれる経済産業省の相談窓口を紹介します。

リリースしたアプリに関する公的な相談窓口

そうした場合にツイッターでデジタル庁にツイートしてみましたが、埋もれてしまったようで反応はなく、それをみた方が、案内してくれた「デジタルプラットフォーム (METI/経済産業省)」を経由して、以下の場所でアプリに関する相談を個人でも法人でも対応してくれる場所を案内されました。
※どちらもすぐに電話に出てくれてきちんと話を聞いてくださいました。

デジタルプラットフォーム取引相談窓口(アプリストア利用事業者向け)(METI/経済産業省)

デジタルプラットフォーム取引相談窓口(アプリストア利用事業者向け)
デジタルプラットフォームを利用する事業者の相談に応じ、解決に向けた支援を行うための相談窓口です。

アプリ単位での相談ができますが、今回のようなアカウント閉鎖に関する内容にも丁寧に対応してくれました。
※最初電話で話し、その後案内に従いフォームを送信しました。話によるとどんな結果でも必ず返信があるようです。実際、とても丁寧な対応のメールのやりとりを行わせていただきました。

もしも、アプリストアで公開しているアプリなどに関するトラブルがあった場合、アプリストアのサポート以外にも、公的機関に相談できることを覚えておくと困ったときに役に立つかもしれません。

まとめ

今回は、2D / 3D ゲームを作成できる無料・オープンソースの軽快なゲームエンジン「Godot Engine 4」で、広告付きの Android 用アプリとして開発・リリースした「タップ The 宝箱」の紹介と、約1か月にわたって連載したそのゲームの作り方の手順を総集編として一気に振り返りました。

デベロッパーアカウントの閉鎖などは、経済産業省の「デジタルプラットフォーム取引相談窓口(アプリストア利用事業者向け)(METI/経済産業省)」で相談できることもわかりました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました