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

プログラミングやRPGツクール、DTM等について、学んだことや備忘録をアウトプットとして残し、情報を必要としている誰かにとって「かゆいところに手が届く」ブログとなることを願いながら記事を書いています。

【RPGツクール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
  • 非商用/商用ゲーム問わずにご利用いただけます。
  • 年齢制限のあるコンテンツでのご利用も可能です。
  • 利用報告は必要ありません。
    • ゲーム公開した際に、ゲームのURL等をご報告いただけると、とても嬉しいです。

サンプルプロジェクトのファイルの利用について(2018/06/18追記)

  • 対象ファイル
    • never_watch_picture.png
    • blank_memories.ogg
  • 上記ファイルに関しても、非商用/商用ゲーム問わずご利用いただけます
  • 年齢制限のあるコンテンツでの利用も可能です
  • 利用報告は必要ありません

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

https://github.com/rinne-grid/tkoolmv_plugin_RecollectionMode

雑感

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」と言ってもらえることを目標に、 今後のタスクに取り組みたいと思います。