ようやくアプリは完成しました。3Dシューティングゲームです。こんなの。
きれいにできました。開発環境のUnityが初めてだったのであれこれ調べながらでかなり時間がかかってしまいました。次からはもっとスムーズでしょう……。
Android向けなので(自分のスマホがAndroidだし)公開するときはGoogle Playに登録します。スクリーンショットなど、必要なものは大体アップロードしてあり、多分あさってくらいにはアプリ自体を送れると思います。
いやー、勉強になりました。Unityの知識、C#の知識(UnityではC#を使います)、アプリを書く過程で知ったよい本、よいサイト、よい動画など、たくさん。ある程度大きなプログラムを書いたのは10年ぶりだったんですが、まあ感覚は同じでした。「こういう風にしたい」と思ったら考えて「ここでこういうデータをこしらえてこっちに持ってきて……」とロジックを検討するのは変わらないのです。当たり前かも。でもやはり公開が前提だと単純に「楽しい」だけではありません。自分用のツールなら雑に作っておけばよかったところも、他人に使ってもらうときにはそうはいきません。また今回特に感じましたが、世の中は昔と違って著作権に敏感です。見る目が厳しくなったというか……。
特にぼくは作曲できませんのでBGMをどうしようかずっと迷っていました。幸い「魔王魂」という素晴らしいサイトがあり、ここの音楽を使わせてもらいました(効果音もたくさんあります)。他、特に辛かったことが2つあります。
ひとつ目。ユーザー全員のトップ20くらいのランキングを表示したかったのですが、結局 Microsoft の PlayFab という仕組みを使いました。一応アプリを使う人全員のランキングが手に入るようにはなりました。しかしどうも料金体系がはっきりしないのです。無料でひと月にAPIコールが××回みたいな書き方だったりして、でもそれを超えたらどうなるのかとか分かりません。サイトによっては「××万人までは無料と考えてよいでしょう」のような記事もあり、しかし累計でその人数を超えたら何が起こるかなど、調べた範囲では不明。はっきりするまではやめておくことにしました。先は長いし。しかしこれだって相当時間をかけてしまっています。そもそもランキングのためにはPlayFabの前にニフクラ、FileBaseも試していて、特にニフクラはPCではうまく動いていたのにあるとき実機テストでエラーが出ることが分かり、それを解決できずに大変でした。
2つ目、広告です。せっかくアプリを書くのです。少しでも収入になればうれしいでしょう。ここのところよくあるのは広告を組み込んだ無料アプリとして公開する方法です。アプリで広告を表示するには広告を配信してくれる会社に申し込み(会社側としても配信先のアプリが必要なんですね)、アプリの側で必要な作業をしなければなりません。具体的にはその会社が作っているSDK(ソフトウェア開発キット)をアプリに入れることになります。しかし!! この作業でまず確実につまずくのです!! 「特に問題なく広告が表示された」という人もいるようですが……。ぼくの場合、いくつか試してnend(広告の配信サービスをしてくれる会社)がうまくいきました(1回問い合わせをしただけ。丁寧な対応、ありがたかったです)。ネットを見るとあっちにもこっちにも「SDKをインポートして××のエラーが出たら××をして、次に……(大量)」などと書いてあります。……これも経験で、よかったと言えばよかったですが辛かったです。nendは単純にSDKをひとつ入れるだけだったので簡単でした。
本来の……と言っていいか分かりませんが、まあ本来のプログラミングの苦労とは何だか違う気がして、この辺、特に疲れました……。
とりあえず公開まで漕ぎ着けたので(まだ何か起こりそうだけど……。公開時につまずく人もいるみたい)、今度は同じゲームにしても効率は上がるし、他のジャンルだとしてももっと力を抜いて書けるようなのを作って公開します。