Persistence

続けることに意味がある。

RPGツクールMV テスター日記1

テスターに当選したので昨日からRPGツクールMVをさわっています。 もともとはスクリプトがRGSSからJavaScriptに変わったことで何ができるようになったのかに興味があり応募したので、そのあたりを中心に調べたことを書いていきます。 とはいえ最近のツクールの知識や情報は全く持っていない素人なので、的外れなことを書くかもしれませんがご了承ください。

RPGツクールMV

デプロイ

  • RPGツクールMVのプロジェクトを新規作成すると標準のアセットがプロジェクトにコピーされます。このままプロジェクトをデプロイすると標準アセットがすべて梱包され400MBほどのサイズになります。モバイルでの配布を考えると配布可能ではあるものの厳しいサイズです。すべて梱包されてしまう理由のひとつにスクリプトが使用するアセットが特定できないためということがあるそうです。なので配布する側がプロジェクトから必要のないアセットを削除してやる必要があります。また不要なアセットを削除するようなツールも作られ始めているようです。

Web公開

  • Web公開の方法は、プロジェクトファイルをそのままWebサーバに置くだけ。
  • WindowsIIS上に配置したところ.jsonが404エラーで読み込まれない。
    • IISの既定ではMIMEタイプとしてJSONを許可していないため、MIMEタイプの追加が必要。
  • Web公開したときのセーブデータはどこにあるのか。
    • Web Storage(Local Storage)に保存される。Web Storage(Local Storage)は永続化されるものの、ブラウザに保存されるので、セーブした他のブラウザや他のPCではセーブデータにアクセスできない。
    • まじめに永続化したいならOpenID認証を使ってセーブデータをサーバ側で保存するようなAPIを作って、スクリプトからセーブデータをやりとりするなんて方法も考えられる。
  • Web公開した場合、スクリプトを取得されてゲーム自体の解析が容易ではないか?
    • 試してはいないけどWebで公開されている以上、防ぐことは不可能ではないか。
    • どのプラットフォームでも結局は解析されるので、この辺はあきらめているのかなと思う。
    • どうしても解析されたくないならjsの難読化とかもあるが結局は解読される。
  • どうやってWeb公開したらいいか
    • AWS S3とGithub Pageを使って試してみた
    • AWS S3
      • 手順
        • S3にプロジェクトごとアップロードする
        • 静的ウェブホスティングを有効にする
        • アクセス許可のバケットポリシーで読み込みを許可する
    • Github Page
      • 手順
        • gh-pagesブランチでpushする
        • ページにアクセスする http://<アカウント名>.github.io/<リポジトリ名>
      • プロジェクト自体をGit管理できるしデプロイも簡単なのでとても良い。
      • ただしプロジェクト自体も公開されてしまうことを許容しなくてはならない。
      • Githubリポジトリあたりのデータ量は1GBまでってことになっている。
  • 結局Web公開はどういうときに使うのが良いか
    • セーブデータが消えても痛くないような小規模なゲーム
    • 体験版
      • ユーザがすぐにゲームを始められるので、とりあえず興味を持ってもらうという敷居が下がる

セーブデータ

  • セーブデータはすべてのプラットフォームで同じか?
    • 見た感じ同じっぽいけどもう少し調査が必要
      • 全部同じだったらセーブデータをサーバ側でもってどのプラットフォームでも同じセーブデータが使えるようにできるかもしれない。

感想

RGSSでどこまでできていたのかわかりませんが、RPGツクールMVはWebとの連携が容易になったので、Socket.ioを使ったサンプル RPGツクールMVでオンラインゲームを作ってみた - Qiita なんかも出てきていて(そこまでやるならUnity使うわって話もありますが)できることの幅が大きく広がったように感じます。

広告を非表示にする