脚本のコピペ地獄をなくすプラグインの紹介 (Text2Frame)

ツクールアドベントカレンダー2023の12/22の記事です。
もう少しでクリスマスですね。

本記事では、筆者と友人が開発した、RPGツクールMV/MZ用メッセージ組み込みプラグインのText2Frameを改めて紹介しようと思います。Text2Frameを始めて公開したページは以下の通りです。

taikai-kobo.hatenablog.com

初公開してからもう5年も経っていることに驚きです。今日までにアップデートを繰り返してきたので、これまでに追加された機能も紹介していきます。

基本機能の紹介

Text2Frameを使って欲しいひとはどんな人かと言うと、キャラクターの会話等をツクール上ではなくて別のエディタ(VSCode, メモ帳、Emacs, Vim等)で書いたあとに、ツクールエディタにコピペしている人です。これ経験ある人は分かると思うんですが、めちゃくちゃ面倒臭いんですよ。なぜかというと、以下の画像のようにメッセージを4行区切りにしないと、一括で貼り付けられないのです。

しかも、うまく貼り付けられたあとも、以下の画像のように各メッセージのイベントコマンドに不要な空白行が入ってしまいます。

これ、ツクールエディタの非常に使い勝手の悪いところだと思ってます。4行毎に区切るのがめちゃくちゃ、めっっっっっちゃくちゃ面倒な上に入ってもなんか気持ち悪い形で入る。もう絶望的です。

そこで登場するのがText2Frameです。これを使えば、以下の画像のように4行毎に区切らなくても、更に不要な改行もなく綺麗にイベントコマンドとして組み込まれます。

これ、手前味噌なんですがめちゃくちゃ便利です。一度使うと、手放せなくなると思います。ツクール上から直接メッセージを書いているという人も、是非一度開発スタイルを変え、別のエディタでセリフ等を書いてText2Frameを試してほしいくらいです。別のエディタで物語を書くの、すごく捗りますよ。言い換えると、すべてのツクラーに使ってほしいということにもなります。筆者はこのプラグインを使うことで、RPGの開発期間を推定9ヶ月から6ヶ月程度には短縮できました。*1

まだ試したことない人は、是非騙されたと思って使ってみてください。世界が広がるはずです。詳しい使い方は、以下のText2FrameのWiki から確認してください。とてもわかりやすく使い方が書かれています。

github.com

ダウンロードは以下のリンクからお願いします。

https://raw.githubusercontent.com/yktsr/Text2Frame-MV/master/Text2Frame.js

追加機能

ここまでは、Text2Frameの初期バージョンから実装されている基本機能の紹介でした。正直それだけでもかなり便利です。しかし、5年間様々な要望に応えて来た結果、とんでもない機能が完成しました。

それは、メッセージだけでなく、RPGツクールMV/MZにあるすべてのイベントコマンドをテキストから組み込める機能です。そう、すべてです。コモンイベントの呼び出しやBGMの演奏、ピクチャの表示、条件分岐等すべてのイベントコマンドを組み込めます。例えば以下の条件分岐のタグを記述したテキストを組み込むと・・・

```
長老に会って挨拶は済ませてきたかい?
<ShowChoices>
<When: はい>
そうか。それならよかった。
早速長老の依頼のとおり、北に向かってくれないかい。
<When: いいえ>
それはいけない。
長老は君のような若者を探しているんだ。
挨拶に行って話を聞いてくれないかい。
<End>
```

以下の画像のように条件分岐のイベントコマンドも綺麗に組み込みます。その他すべてのイベントコマンドも、このようにテキストからタグを記述するがことが可能です。

イベントコマンド等をテキストから記述したい人って実は結構いるんですよね。プロのソフトウェアエンジニア・プログラマなんかはかなりその傾向にあります。RPGツクールは素材の豊富さやコミュニティの大きさがかなりのもので、手軽にゲームを作る上でかなり有力な選択肢となりえます。しかし、プログラミングが出来ない人でもRPGを作れる、というコンセプトで作られたツールであり、非プログラマでも簡単に使える反面、上級者が使うにはどうも使い勝手が悪かったりするのです。そのような上級者がRPGツクールを使う上での使い勝手のギャップを、Text2Frameは埋めてくれます。

このメッセージ以外のイベントコマンドについては、実は当初は想定していませんでした。しかし筆者が使っているうちに、よく使うものだけでも組み込めると便利だなと思い、当初は僅かなイベントコマンドだけ実装されました。その後だんだんユーザが増えてくると、その他のイベントコマンド追加の要望をいろいろな方にいただき、都度追加してきたという歴史があります。3ヶ月前は1/3くらいしか実装されてませんでしたが、いなずまそふとさんより仕様と実装の持ち込みがあり、協力することでつい最近すべてのイベントコマンドに対応することができました。

もはやRPGツクールというスクリプト言語が完成したなと自負しています。

Text2Frameの活用事例

Text2Frameが役立つイメージが思い浮かばないという方向けに、利用イメージをお伝えします。

 個人開発の場合

基本的には、テキストである程度書けるものだけ書いてしまってツクールに組み込んだ後、ツクールエディタ上で微調整したりします。
例えば、筆者はかつてRPGのシナリオパートを、以下のように2段階に分けて作りました。

  • テキストで記述:台本・立ち絵表示や切り替え・BGM・変数操作・アイテムの増加等
  • ツクールエディタ上で編集:ドット絵の移動・マップのスクロール等

明確な使い分けはないですが、テキストに書き込んでおけるものは書いておき、ツクールエディタでクイックに編集したいものについてはツクールエディタから編集して、という感じです。これだけでもかなり開発効率が上がります。RPGの脚本をテキストで一気に書いたあとに、そのテキストに入れることが分かっているイベントコマンドを、予めテキストで入れるイメージですね。私の場合はこうですが、ご自身で使いやすい塩梅で組み込めば良いと思います。この辺の柔軟性の高さも、Text2Frameの魅力です。何もテキストで全部書く必要はないんです。テキストで書くと楽だな、と思うとこだけ使っていきましょう。

ちなみにその時作成したRPGはこれです。

チーム開発の場合

実はText2Frameは、チーム開発の際にその真価を発揮します。

チーム開発をする場合、シナリオの脚本担当はそれ専属で担当することが多いはずです。その場合、ほぼ強制的に脚本担当は別のエディタで台本を書くはずです。このときText2Frameがない場合、地獄のコピペ作業が発生して開発効率が悪くなります。それをText2Frameで防ぐことができます。

さらに、イベントコマンドをテキストから記述することができるため、脚本担当が自分でBGMの指定や、画像の表示等をテキストに直接書いて指示、というか組み込みが可能になります。別のテキストに用意する必要や、テキスト内にメモ書きして後でツクール上で編集、という手間を削減できます。更に、ある程度書き方を指示しておけば、脚本担当はツクールを触る必要も買う必要もなくなります。すなわちText2Frameは、非ツクラーとツクラーの、素晴らしい橋渡し役になってくれるのです。

チーム開発をしている方、是非導入を検討してみてください!

参考作品

Text2Frameを開発するきっかけになった筆者作のRPGを貼っておきます。このシナリオパートは脚本や立ち絵の表示、BGMの指定をテキストで行い、Text2Frameで組み込んだ後に微調整することで作られました。

www.freem.ne.jp

plicy.net

 

まとめ

以上でText2Frameの紹介を終わります。使用者数は把握できてはいないんですが、結構な数の方が使ってくれているのはわかります。もし使っている方は、筆者に教えてくれたり、X(旧Twitter)でText2Frameについてつぶやいてくれると、孤独なプラグイン作者のモチベーション上げてくれるので是非お願いしたいです。

これを使って、みなさん開発効率をバク上げしてください!メリークリスマス、そして良いお年を!

 

*1:9ヶ月というのは、地獄のコピペのストレスによる作業効率の低下も加味した上での推定です