気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【ツクールMV】ゲームに回想モードを追加するプラグイン(RecollectionMode.js)を作ってみた

勉強がてら、アドベンチャーゲーム等でよく見られる「シーン回想」や「CG閲覧」といった いわゆる「回想モード」機能を追加するプラグインを作ってみました。

イメージ

f:id:rinne_grid2_1:20151227082227p:plain

f:id:rinne_grid2_1:20151227082237p:plain

f:id:rinne_grid2_1:20151227082245p:plain

デモ

(※音が鳴るのでご注意ください)

http://www.rinsymbol.sakura.ne.jp/tkool/mv/Project2/

利用について(2016/07/11追記)

  • MITライセンスの元で公開されています。
    • ソースコード内のライセンスに関する下記表記は削除しないでください。 //============================================================================= // RecollectionMode.js // Copyright (c) 2015 rinne_grid // This plugin is released under the MIT license. // http://opensource.org/licenses/mit-license.php
  • 非商用/商用ゲーム問わずにご利用いただけます。
  • 年齢制限のあるコンテンツでのご利用も可能です。
  • 利用報告は必要ありません。
    • ゲーム公開した際にご報告いただけると、作者が泣いて喜びます。

ソースコード&サンプルプロジェクト

github.com

雑感

RPGツクールVX aceでゲームを作ったことがあり、RGSS(Ruby)についても、ぼちぼち読み書きできます。 今回MVのプラグインを作成するにあたり、いろいろと学んだことがありました。

  • RGSSとの差異に伴う迷子

RGSSとの若干の違いがあり、RGSSを知っているからこそ、逆にはまってしまうこともあり、わりと時間をかけてしまったように思います。

コードの書き方について、仕事以外のコーディングはわりと「オレオレプラグイン」的な感じで、 「動けばいいや」とやってしまいがちです。

他の人が「使う・見る」ということを意識してコードやドキュメントを書くことの大変さも同時に学びました。

  • 便利な比較

RPGツクールMVは、それまでのツクールと違い、ツクールエディタで指定したイベントやデータを json形式で保存しています。

「エディタで保存したオプションが、どのプロパティと関係しているのか」という点を比較するのに、かなり便利になっています。

以下にざっくりとした手順を記述します。

1.ツクールプロジェクト/dataフォルダをコピーして退避しておく(data_tempとする)
2.ツクールMVにて、オプションを変更し保存
3.ツクールプロジェクト/dataフォルダと、先ほど退避したフォルダ(data_temp)をフォルダごと比較
 →WinMerge(http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html)がおすすめ
4.差分があったプロパティを確認し、JavaScriptファイル内をgrepする
  • まとめ

今後は、機能追加やバグ対応のタスクが入ってくるかと思っています。

ツクールでアドベンチャーゲームを作るときの必須プラグインといえば、RecollectionMode.js」と言ってもらえることを目標に、 今後のタスクに取り組みたいと思います。