変則大富豪「切札おんらいん」公開と、アプリ開発について

2020/04/28Application,DevelopmentGame,Unity

※ この記事は「プロ生ちゃん アプリ開発支援プログラム」を使って、iOS アプリを公開した Inuha さん自身によるアプリ紹介と少し開発者向けの記事です。


こんにちは Inuha と申します。この度「プロ生ちゃん アプリ開発支援プログラム」を利用し、「切札おんらいん」を App Store で配信いたしました。アプリの紹介と開発支援プログラムに関しての情報を記事にしています。

「切札おんらいん」ゲーム紹介

切札は、10枚の手札と16枚の場札を用いて戦う変則大富豪です。手札はすべて使えますが、4列ある場札は手前から順に使います。

基本的なルールは大富豪と同じですが、通常とは異なり、1が一番弱く、12が一番強いのが特徴です。手札は相手に見えませんが、場札は相手からも確認できるため、場札の活用が勝利への鍵となります。

札は、1~12の数字カードが4色ずつある他に、灰色のギミックカードが数種類登場します。ギミックカードは1枚で使ったときのみ、あらゆる効果を発動します(効果についてはゲームプレイ中に確認できます)。ギミックカードを複数枚で出して数字カードとして使うか、単体で出して効果を発動させるか、それを考えるのも切札の醍醐味と言えるでしょう。

レートバトルではオンライン対戦でランキングを競うことができ、ルームバトルではレートを失わずに友人と対戦を楽しめます。ぜひ周りの方と一緒に遊んでみて下さい!

開発の背景

「切札おんらいん」開発のきっかけ

切札との出会いは小学生の頃でした。大阪くらしの今昔館というミュージアムで切札(カード版)と出会いました。最初はルールがわからず、お蔵入りとなってしまいましたが、中学生の頃は友人とよく遊んでいました。その頃からアプリ版の開発を考え始めていましたが、技術力の問題で断念していました。大学に合格し、手に入れた時間を何に使うか考えた際、頭に浮かんだのは「切札おんらいん」の開発でした。切札(カード版)の公式アカウントは2016年より活動を停止しており、廃れていく切札を再び広めるべく、手探りで切札おんらいんの開発を始めました。

プロ生との出会い

通信ゲームを開発できるエンジンは限られており、Unity 2D を使用することはすぐに決まりました。一週間で Uity の使い方と C# の基礎を覚え、2019年の11月より開発を始めました。その際、Android 版のリリースは開発者登録の 25$ だけで済むものの、iOS 版のリリースには、Mac が必要な上に、Apple Store の年会費が年間 99$ もかかることがわかりました。Mac を所持していない自分は、Windows 環境だけで iOS 版アプリをリリースする方法を調べる中で、「プロ生ちゃん アプリ開発支援プログラム」と出会いました。学生の方は支援プログラムを活用することで、金銭的ハードルの高い iOS アプリのリリースを無料で行えます。

ベータテストと正式リリース

ゲーム自体は2カ月という短期間で完成させました(自分でも驚き)。そこから Twitter を活用し、Android および iOS にてベータテストを1カ月行いました。ベータテストでは、深刻な不具合の修正や、参加者から頂いた貴重な意見をもとに、ゲームをより良いものに仕上げることができました。ベータテストを終え、2020年3月5日 無事にリリースできました。

リリースを終えて

アプリ支援プログラムが無ければアプリの開発は断念していたかもしれません。支援プログラムの提供及びサポートをして頂いたプログラミング生放送、そしてベータテストに参加して下さった皆さん、本当にありがとうございました。そして今後ともよろしくお願いいたします。

支援プログラムに関して

Unity アプリを開発する上で、アプリ開発支援プログラムでは以下の3つを支援して頂きました。

  • Unity クラウドビルド
    • → App Store に提出する IPA ファイルを Windows だけで作ることができる。
  • Mac 開発環境の提供
    • → Unity クラウドビルドで作成したIPAファイルをAppStoreに提出する際に必要なMacを遠隔操作で借りることができる。
  • iOS アプリを無料で公開
    • → iOS アプリを掲載するAppStoreアカウントを共用で借りることができる。

Cloud Build & Collaborate

Unity には Collaborate という無料サービスがあり、Unity で作ったプロジェクトをクラウド上に保存できます。これはバックアップとしても機能し、プロジェクトデータを過去に戻すといった作業も行えます。

Cloud Build とは、Unity の有料サービスであり、これを用いると、Collaborate にアップロードしたプロジェクトデータを使ってクラウド上でビルドを行い、完成したビルドデータをダウンロードすることができるようになります。これを使って Windows から iOS のビルドデータを簡単に作ることができます。支援プログラムに参加することにより、クラウドビルドを無料でお借りすることができます。クラウドビルドはビルドエラーが発生することが多いため、フルログをしっかり見て、エラーを解消すれば便利に使うことができます。頑張ってください。

Application Loader

支援プログラムで Windows から Mac の遠隔操作が可能になった際、IPA ファイルは、クラウドビルドで作成し、Windows 側でダウンロードしたものをギガファイル便や Dropbox などを用いて、インターネット経由でデータを Mac に移します。その Mac 上で Application Loader というソフトを使用して IPA ファイルを App Store にアップロードできます。App Store にアップロードして初めて、Apple の審査を受けてリリースできます。

Unity アプリ開発に関して

Photon

Unity でのオンライン対戦に必要な通信部分は Photon を使用しました。同時接続20人までは無料、同時接続100人までは99$(1回払い)で手軽にオンライン対戦を実現できます。どうぶつタワーバトルも同じく Photon を使用しています。

NCMB

ランキングには NCMB(ニフクラ mobile backend)を使用しました。サーバーへのデータ保存や取得が簡単に行えました。その反面、セーブデータなどセキュリティ上保存は難しいと感じました。また、NCMB を導入した際にクラウドビルドで発生したエラーに悪戦苦闘しましたので、もし導入される場合は以下を参考にしてください。

発生したエラー:
* Webkit フレームワークが参照できない
* → UpdateXcodeProject.cs をダウンロードして、既存の cs ファイルと置き換えてください。
* 証明書でプッシュ通知が許可されていない
* → Apple Developer にある Identifiers の設定で App Services に Push Notifications を加えてください。

おわりに

私は様々なプログラミング言語に対して、どれも同等のものであると考えています。つまり Scratch, HTML & CSS, PHP, Python, C言語, etc… どれも書き方が異なるだけで同じものだと考えています。Scratch が使いこなせればC言語だって使いこなせるはずです。例えば、Unity は C# ですが、わからないことはインターネットで調べればすぐに慣れることができると思います。本を書写するだけのプログラミングは楽しくありません。ぜひ、インターネットを活用して、自分の力でプログラミング言語を習得して頂けたら楽しいと思います(コードを写すのではなく、自分で考えて書く)。Unity は比較的簡単にゲームが作れるゲームエンジンとなっています。もし、Unity でアプリを作ろうと思い立った場合は、プロ生さんの支援プログラムへの参加を考えてみてくださいね。本当に皆さんありがとうございました!