ツクールMVをアツマール投稿時、スマホ用に気を付ける事

RPGアツマール

現在、ニコニコ動画内の一コンテンツとして、ブラウザ上でRPGツクールMVのゲームを遊べるRPGアツマールが公開されています。

「インストール無しで手軽にプレイできる」「インターネット環境があれば、スマホでプレイができる」「プレイしながら他人のコメントが読める」……など過去ツクールでは実現不可能だったMVならではのプレイ方法が提供される面白い試みだと思います。

ただ、現状は規約で揉めたり、プレイできない人がいるなど、不備もあります。その中に「スマホでプレイするとすぐ落ちる」、「遅い」など速度面などの不具合が現れる端末も。以下に私がアツマールのゲームをプレイして気になった点とその解決法をまとめておきます。

ボタン・キーボード対応とタッチスクリーン対応 

ツクールでは特定画面でshiftボタンを押下すると特別処理が始まる……このような独自処理を組む場合があります。デフォルトの機能に用意されていないものの、IF条件判定 で「Input.isTriggered(キーの名前)」と記載すると簡単に実現できるため、比較的よく見かける処理です。

問題点は、その関数はキーボードとジョイパッドには対応されているものの、タッチスクリーンには対応していない事です。なので、そのようなゲームをスマホでプレイすると、もちろんキーを打つ事ができず、処理を実行できないため下手をすると進行不能バグとなります。

RPGアツマールのスマホ画面では仮想ゲームパッドが表示されますが、ボタンは決定とキャンセルの2項目のみです。 なので、それ以外のキーの場合は対処が必要になります。

対処方法ですが、まずは以下のサイトをご覧ください。
 [Input]ツクールMVのマウスイベント、キーイベント検知についてのまとめ

このページはキーボード検知やタッチスクリーン検知など、いわゆる入力判定を行うための処理を呼び出すスクリプトを紹介しています。例えば「TouchInput.isMoved()」はマウスが動いた時、タッチスクリーンだとスワイプした時にTrueを返すイベントです。

キー判定を行う際は、対応してスマホ操作でも検知できる判定関数を条件に組み込む必要があります。 使えそうなスクリプト関数は以下の2つです。
  • TouchInput.isLongPressed():画面を長押ししているとTrue
  • TouchInput.isMoved():スワイプしているとTrue(ただ、ちょっとでも動くとTrueになるので繊細な操作をする場面では使用が難しい)
 ゲーム中、Shift判定する場合を例に、スマホの画面長押しでも対応できるようにスクリプトを作ると、
  • Input.isTriggered('shift') || TouchInput.isLongPressed() 
▲普段からキー判定をする時は、常にタッチ判定もセットと意識しましょう。


このようになります。||はorの意味合いで、この場合はShiftを押された時か画面を長押しされた時にTrueを返しますよ。と言う意味合いになります。

また、以下のサイトではタッチ操作の判定を拡張できるプラグインを配布しています。
マウス/タッチ操作改善

クライアントオンリーで配布する場合は意識する必要はありませんが、少しでもブラウザ対応を考えるなら意識して開発しましょう。

 セーブはいつでもできるように

WEBを介してのプレイなので、通信速度が遅くなる、又は通信障害を起こすなど通信に関する予期せぬトラブルが起きる可能性があります。特に画像の読み込みに失敗して強制終了してしまう例は頻繁にあります。

そのため、ブラウザゲームとして公開する場合は、 セーブ禁止処理をなるべくやめましょう。又、ユーザーがセーブを忘れても問題ないようにオートセーブのプラグインを導入しておくと安心です。以下のプラグインが利用できます。ただ、自動でオートセーブになるわけでなく、手動で命令を与えなければいけない点は注意すべきでしょう。

【オートセーブ】セーブコマンドプラグイン for MV - 鳥小屋.txt

ロースペックPCだとクライアントでも強制終了してしまう例があります。 個人的にはMV製ゲームにおいては、常時セーブができる仕様のゲームを作るようにした方がよいと思います。

なるべく最新版MVのコアスクリプトを使用する

RPGツクールMVはVer1.3になってからメモリリーク不具合の解消、CPU負荷の軽減などがはかられています。そして、数ヶ月に一度のペースで改良が成されており、今後もアップデートがある可能性は高いでしょう。

そのため、特に1.3以前を利用している方はコアスクリプトの更新をお勧めします。 コアスクリプトのアップデート手順は以下のページが参考になります。
『RPGツクールMV(Win)』アップデータについて

ただし、コアスクリプトの書き換えはプラグイン不具合を引き起こす原因にもなります。また、開発段階から真面目にテストを行っている場合、コア部分の改良は全てを台無しにして、最初からテストをやり直さなければいけない危険性もあります。

変更は勧めたいところですが、開発状況に応じて、慎重に検討してください。

音楽・画像ファイルの軽量化 

これは、スマホ化に当たっての注意点として他サイトでもさんざん紹介されている事なので詳しい方法はリンクを参考していただく事にします。
ファイルサイズの軽量化

要は、音楽ファイルはビットレートを低くし、画像も圧縮しましょうと言う事。スマホ化の場合は、Google Playで公開できる100MBの容量制限に抑えるための要素が強いのですが、ブラウザ版の場合は通信速度の遅れで画像読み込みが遅かったり、読み込みエラーを起こす場合の対処となります。



0 件のコメント :

コメントを投稿