前回の記事「RPGツクールMV はアプリ開発に使えるのか検証してみた」からしばらくして、ちょっと簡単なゲームをツクールで作って、ストアに出してみようということになりました。

 (日本語版は12/17発売です。もうすぐですね。)

 

現在は審査待ちの段階です!
2015/12/04 無事にリリースできました!
ダウンロードは以下のリンクから。

Download on the App StoreGet it on Google Play

 

そして、作ったゲームはこちら!

愛されるより逃れたい』(英名はLove Escapeにしました)

loveescape_promotion

いろんな人が追いかけてくるので、隠れたり逃げたりしながらゴールを目指すゲームです。

もっと簡単なゲームでいいかなと思ったけど、やっぱり性分なのか妥協はせずに、ストーリーあり、バトルありのアドベンチャーになりました。

開発時間は約150時間。
これにはツクールだけでなくて、アプリ化に向けていろいろ調べたり、ネイティブ側のプログラミングやツクール側のプラグイン開発、UI作成、検証、テスト、ストア申請作業等全部含めています。

この記事では、スマホアプリ化にあたって工夫したところを書いていきたいと思います。

工夫したところ

大体以下の様な感じです。

・解像度
・キャンセルボタン
・シェアボタンやレビュー依頼ボタン
・バナー広告
・スマホ向けUI調整
・容量削減
・アプリ化独特のバグ?対応

以下の画面に大体集約されています。

tkool_le_01

解像度

まず、解像度です。
今回のゲームは逃走ゲームなので、広い視界が必要になります。
また、ユーザも行きたい場所に頻繁にタップすることになりますので、タップ精度も必要です。
そしてなによりパフォーマンスです。解像度によるパフォーマンスの違いは前回の記事の通り、結構影響があるのでこれも重要なファクターになります。

いろいろ試した結果、

624×352 の横向き

という結論になりました。

そこそこキャラやマップチップが大きくて見やすく、パフォーマンスもギリギリ妥協点(本当はもっと速くしたい)ということで、ここに落ち着きました。

キャンセルボタン

2本指タップでキャンセルなんて認めたくないので、ボタンを用意しました。
問題は、マップにボタンを置くとキャラがそっちの方向へ1チップ分動いてしまうことですね……。
修正できればしたいと思います。
(最近だと@uchuzine様がMITライセンスで仮想パッドプラグインを公開されているのでこちらに変えるかも)

シェアボタンやレビュー依頼ボタン

シェアボタンはプラグインでどうにかしようと思いましたが、ゲーム内で別URLを開こうとするとタイトル画面に戻ってしまいます。
なので、ネイティブ側で実装することにしました。

また、レビュー依頼ボタンはタイトル画面のみに置くこととして、プラグインで実装しました。
プラグインでAppStore、GooglePlayのURL両対応できましたので実装すると楽になりました。

バナー広告

私も飯を食べなくてはいけないので、広告は外せませんでした。
しかし、やはり邪魔になりやすいのも事実。上部のバナーに隠れたところにキャラがいて、見つかったりすると「うわぁぁっ」てなり、理不尽さが際立ってしまいました。

そこで、バナー広告の位置を変更するボタンを用意しました。ボタンを押下するごとに上下に切り替わります。
このボタンによる操作をゲームの一つとして組み込むことで、それ自体が攻略の幅を広げることになるかと思います。

tkool_le_02

ただ、ツクール側からネイティブ側へ連携ができるようになれば(今回はそこまで実装できませんでしたが) ステージ攻略中はバナー広告は非表示にして、ステージクリア時に広告を出したりする方が、ストレスも少なくていいかもしれません。

スマホ向けUI調整

キャンセルボタンやバナー広告などがあるため、画面上部にマージンを設ける必要があります。
そのため「タイトル画面」「セーブ画面」「タイマー表示」「戦闘シーンでのログ表示」など、UI位置に関係するところの大体を位置調整しました。

あとは解像度が変わっているので、それにともなってフォントサイズや行の高さ、バトラーの位置調整を行っています。
この辺りは公式プラグインで対応できました。

容量削減

そのままでは容量がハンパないことになるので、とにかく削減に努めました。
音声ファイルはm4aの音質を HE-AAC 80kbpsに。(これでも十分すぎるかも)
不要なSEファイルはgrepで洗い出して、削除していきました。
(seフォルダ内のファイル名でdataフォルダ内のjsonファイルを or で grepして、一致したファイル以外を削除しました)

画像ファイルも同様、使ってないファイルは削除し、できるだけキャラクターを一つの画像内にまとめるようにしました。

結果、iOSでは30MB以下、Androidで40MBぐらいと、なかなかいい感じの容量になったと思います。

アプリ化独特のバグ?対応

バグなのかスマホOSの問題なのかわかりませんが※AndroidでCrossWalkのver14以降を使用していると、残念ながら「画面の色調変更(Tint Screen)」(おそらくピクチャの色調変更(Tint Picture)も )で、色の指定が効きません。
使用すると、真っ白の画面になります。PCでの開発では何も問題なく表示されていますが、アプリ化すると確認できる現象です。

これに関しては海外の開発者も悩んでいたみたいで、欲しい画面の色のスクリーン画像を用意して、透明度を指定する方法を取るという回答がありました。
ツクールではフェードイン/アウトで時間指定ができないので、画面の色調変更で時間指定をしていたのですが、黒の画像を用意してピクチャの表示(Show Picture)&移動(Move Picture)で透明度を変えていく手法に切り替えました。

あとは、夜だったりセピア調だったりのスクリーンも同様に実装しました。これらはプラグイン化して、取り回しが効くようにしておきました。

※2015/12/06 もうちょっと調査をした結果、iOSでは再現せず、CrossWalkのバージョンによるものと判明しました。誤った情報を記載してしまい、大変申し訳ございませんでした。

まとめ

とにかく「いろいろとやることが多い」の一言に尽きます。
ツクールでゲームを作ってふりーむさん等で公開することに比べたら、とにかく作業量と必要技術が段違いです。
ツクールしか経験がない方の場合は、安易な気持ちで近づいてはいけません……。
(もちろん勉強熱心な方は、ぜひいろいろ勉強してアプリのリリースをしてください!またはできる人と一緒に作ってください!)

ちなみにAndroidのCrossWalkで公式通りのやり方でビルドすると、ユーザがインストールするときの必要権限がかなり美味しいことになります。(いろいろ情報取得するよってことです)
当然これは双方にとってデメリットなので、Android Studioを使って、新規プロジェクトを作ってから、CrossWalkのWebViewを貼り付けるのがいいと思います。

あと、CrossWalkのバージョンによって、微妙に動きが違ったりして「キーッ(#^ω^)」ってなりました。(今回はver 13で落ち着きました)

iOSではObjective-C の独特な方言と申請段階で時間を取られました。

ただ、ネイティブ側を多くいじったり、実際にアプリをストアに申請するのはこれが初めてだったということもあって、とても良い経験になりました。

また、約1人月でこれほどのゲームアプリが公開できるのなら、やはりツクールMVはかなりのポテンシャルを秘めてると思います。
プラグインの作り方やどこまで変えられるのかも大体わかり、もう自前でRPGやマップ探索ADVは作りたくなくなりました^^;

あとはパフォーマンスがもうちょっと良ければ……ですね。

そして最後に……たくさんダウンロードされて、多くの人に届きますようにッヽ(´ー`)ノ

ainoga_icon

 

おまけ

使用したプラグインと自作したプラグインです。CRTA_○○とShowFPSOnStartupが自作。

必要そうなものは、いずれ公開していきたいと思います。

tkool_le_03