今回は、私が社会人1年目の時に、大学時代の友人とともに、スマホアプリを開発し、Google PlayとApple Storeでリリースした時の話をしたいと思います。
今回はゲーム『ポケットモンスター』のパーティを診断する、「ポケアナライザー」というアプリを作成しました。
目次
スマホアプリはどうやって作る?
スマホアプリはJava、Swiftというプログラミング言語で作成します。
作成したアプリをGoogle PlayとApple Storeに無料で出店し、広告収入を得るという手法を採用しました。
詳細はポケアナライザーの前に作成した「意識爆上げ君」というアプリを作成した時の記事に記載があるので、参照してみてください。
ポケアナライザーってどんなアプリ?
ポケアナライザーはゲーム『ポケットモンスター』のパーティ診断をしてくれるアプリです。
『ポケットモンスター』は、ゲーム内でポケモンと呼ばれるキャラクターを集めて育成し、相手と対戦をすることができるゲームです。
対人戦を行う際には、互いに6匹のポケモン(=パーティ)を準備して対戦に臨むのですが、このパーティの構成を考えるのが非常に難しいです。
自分が好きなポケモンばかり入れていてもタイプに偏りが出てしまったり、様々なタイプのポケモンで構成していてもどうしても苦手なタイプが生まれてきたりなど、パーティを考える時点でかなり苦戦します。
ここで役立つのが「ポケアナライザー」です。
ポケアナライザーは、6匹のポケモンを入力すると、①攻撃面で苦手なタイプ、②防御面で苦手なタイプ、③要注意ポケモンの3つを分析してくれます。
パーティのバランスを考える際、非常に有用なアプリとなっています。
※ちなみに、2019年7月現在は、アプリの配信は停止しております。
処理ロジックの公開
6匹のポケモンの名前から、どのように①攻撃面で苦手なタイプ、②防御面で苦手なタイプ、③要注意ポケモンの3つを分析・出力しているのか疑問に思った方も多いのではないでしょうか。
1つずつ順番に、分析方法を紹介したいと思います。
①攻撃面で苦手なタイプ
攻撃面で苦手なタイプは、各タイプに対して、自分のパーティで弱点を突けるポケモンが1匹もいない場合に表示する仕組みとしています。
そのためには、全てのポケモンのタイプと、各タイプが攻撃した時に弱点を突くことができるタイプの情報を持っておく必要があります。
これは友人にExcelにまとめてもらい、CSV(カンマ区切りのファイル)の形式でアプリ内に保持する仕組みを採用しました。
全てのポケモンのタイプ
各タイプが弱点を突くことができるタイプ
保持しているCSVファイルを元に、入力されたパーティの6匹のポケモンについて、1匹ずつ弱点を突くことができるタイプを求めていきます。
そして、6匹のうち、1匹も弱点を突くことのできなかったタイプを、攻撃面で苦手なタイプとして出力しています。
②防御面で苦手なタイプ
防御面で苦手なタイプは、自分のパーティのうち、そのタイプの攻撃をされた時に弱点となるポケモンが3匹以上いる場合に表示する仕組みです。
攻撃面で苦手なタイプを求める時と同様に、全てのポケモンのタイプと、各タイプが攻撃された時に弱点となるタイプの情報をCSVファイルで保持します。
保持しているCSVファイルを元に、入力されたパーティの6匹のポケモンについて、1匹ずつ攻撃された時に弱点となるタイプを求めていき、該当する場合はそのタイプに1ポイント加算します。
そして、6匹全てのポイント加算が完了した時、3ポイント以上が溜まっているタイプを、防御面で苦手なタイプとして出力しています。
③要注意ポケモン
要注意ポケモンを求めるのは、非常に地道な作業です。
ポケモンの対戦では、多くの人が使用する「強いポケモン」が存在し、対抗できる手段を持っていないとその1匹にパーティが全滅させられてしまうようなこともあります。
※当時はメガガルーラやガブリアスが強かったです。
そこで、対戦で頻繁に使われる要注意ポケモンを50匹程度リストアップし、それぞれの要注意ポケモンを倒すことができるポケモンを羅列しました。
例のごとく友人にExcelにまとめてもらい、CSVファイルとしてアプリ内に取り込み、各要注意ポケモンを倒すことのできるポケモンが1匹もいない場合、要注意ポケモンとして出力します。
リリースした結果は?
結果は、タイトルの通り、700円ほど収益が発生して終了しました。
色々な人に使っていただけたようで、感想等も貰えたのですが、大きな利益にはなりませんでした。
ですが、アプリ作成で学んだことは、仕事でも活きていますし、失敗だとは思っていません。
今後も機会があればスマホアプリを作成し、ブログの中で紹介していきたいと思います。