さんごぱんのゲーム制作日誌

ゲーム作りなどの話をします。日誌と言いつつ不定期更新。

【ゲーム制作】シナリオを入力したCSVファイルを、SRPG Studioにインポートできる形式に変換するツールを作ってみた

こんばんは! さんごぱんです。

 

SRPG Studioでの制作に役立ちそうなツールを作ったので、

今日はその紹介をしようと思います。

 

どういうツールかというと……

ツールの使用イメージ

 

SRPG Studioのメッセージ関連のイベント内容を入力したCSVファイルを、SRPG Studioにインポートできる形式のテキストファイルに変換する」

というものです。

名付けてSRPG Studio用CSVコンバーター!(そのまんま)

 

これだけだとなんのこっちゃ?で終わりそうなので、

  • なぜこのツールを作ろうと思ったか
  • どのように使うか
  • 改良・機能追加できそうな点

について書いていきます。

 

 

なぜこのツールを作ろうと思ったか

「そんなことしなくてもSRPG Studioに直接打ち込めばいいんじゃないの?」

という声が聞こえてきそうですが、

なぜわざわざこのツールを作ったかというと、

「もっと快適に」「もっと効率的に」イベントの作成や執筆作業ができる手段があると思ったからです。

より良い環境が実現し得るなら、それを追い求めたくなる性分なもので……

 

「具体的にどう快適に、効率的になるのか?」について、

SRPG Studioのイベント作成の仕様から順を追って説明していきます。

 

SRPG Studioのイベント作成についておさらい

通常、SRPG Studioのイベント作成は「イベントの設定」ダイアログで行います。

(厳密にはユニットイベントとか他にもいくつかありますが、

ここでは「イベントの設定」に絞って話します)

 


例えばここに新たにメッセージを追加するなら、

 


このようにイベントコマンドを作成すると、

 

 

セリフが増えましたね!

 

SRPG Studioで作業する上で気になる点

SRPG Studioのイベント作成周りの仕様は直感的で、

触りたてでも使い方が分かりやすい作りになっていると思います。

 

ただ、気になる点もいくつかあります。

 

一つは「一度に把握できる情報量が少ないこと」

 

「イベントの設定」ダイアログでは、

スクロールなしだとイベントコマンドは最大13個分、

右側のメッセージのプレビューは最大6個分しか確認できません。

 

イベントコマンドが増えるとこうなる

「一度に把握できる情報量が少ないこと」は、

「俯瞰性の低さ」につながります。

 

例えば

「あの台詞、ちょっと見直したいな。どこだったっけ……」

「会話の流れがスムーズになっているか、ざっと見て確認したいな」

というとき、

長大なイベントだとスクロールバーを忙しなく上下させることになるでしょう。

 

仮に400字詰め原稿用紙に読書感想文を書いているときに

「今注目している1行以外は全部黒塗りに見える」

という不思議な力がはたらいていたら、

作業効率が落ちることは想像に難くないと思います。

 

この俯瞰性に関しては、

テキストエディタなどの外部ツールを使って作業することで解決できます。

 

 

もう一つは「各種素材がある程度揃っていないと少し不便」

 

例を挙げてみましょう。

 

「イベントの設定」ダイアログの右側のプレビューは、

ユニット名や表情差分を指定していると顔グラも表示されます。

 

ユニット設定や顔グラの素材さえ準備してあれば、

イベントの臨場感を味わいながらコマンドの作成・確認作業ができるでしょう。

 

……そう、素材さえあれば。

 

今このプロジェクトはオリジナル素材を一切インポートしていない状態ですが、

ここでナッシュの表情を微笑むに指定してメッセージを作成してみると・・・

 

 

 

誰だお前!?

 

と、顔グラが全く別のキャラになったりします。

これはSRPG Studioの仕様で、

各表情差分はそれぞれ顔グラの画像データの特定の位置に対応していて、

「微笑むは1行目の左から2番目のものを表示する」という風に処理されています。

 

微笑むはここ、キメ顔は一つ右隣、という具合

 

ランタイム素材には表情差分がないので、

意図していないキャラの顔が表示されてしまう可能性があるわけですね。

 

「とりあえずランタイム素材でイベントは作っておいて、後から個別に顔グラを設定する」

という方針で制作する場合、

「イベントの作成」ダイアログのイベントコマンド一覧を見ただけだと

「誰が」

「どの表情差分で」

発言しているかを文字情報で把握できないので、

後で見返したときに

「突然横から出てきて何だこの男は……あれ、これナッシュじゃん!?」

と困惑してしまいそうです。

 

「表情は素材が準備できてから後で決めればいい」と言われてしまえばそれまでですが……

どうせなら台詞を書きながら表情も指定したい!と私は思いますし、

何より表情を先に決めておくことで、

シナリオが一通り書けた段階で

「このキャラは表情差分が○枚必要で、内訳はこう」

と見積もりを立てやすいというメリットもあります。

 

 

外部ツールでシナリオを書くメリット

ここまで書いたことを踏まえて

SRPG Studioに直接打ち込まず、外部ツールでイベント内容を書くこと」

のメリットを考えてみると

  • 一度に多くの情報を把握できる
  • 全体を俯瞰しやすい
  • 各種素材がない状態でもシナリオを書ける
  • 単純に書きやすい(個人差あり)

などが挙げられます。

 

制作スタイルにもよりますが、

台詞などのイベント内容の執筆を外部ツールメインで行うのは

有力な選択肢になり得ると思います。

 

 

「そうは言っても、テキストエディタとかで書いた文章をSRPG Studioのイベントコマンドにコピペしていくのって大変じゃない?」

 

という声が聞こえてきそうですね!

 

私も最初はそう思っていたのですが、

実はSRPG Studioにはテキストファイルをインポートしてイベント内容を反映する機能があります!

 

srpgstudio.com

 

詳細なフォーマットなどは上記リンク先の公式サイト様を見ていただくとして……

この機能を活用すれば、

外部ツール(テキストエディタなど)で執筆

SRPG Studioにインポートして微調整

という風に作業の棲み分けができます。

 

 

ところで、今回ご紹介する「SRPG Studio用CSVコンバーター」はどういうツールだったでしょう?

 

そう!

SRPG Studioのメッセージ関連のイベント内容を入力したCSVファイルを、SRPG Studioにインポートできる形式のテキストファイルに変換する」です!

 

 

台詞、会話、イベント……

これらはキャラクターを、そして物語を彩る大事な要素です。

 

その執筆作業をより快適に、より効率的に、より楽しくできるようにしたい。

それが「SRPG Studio用CSVコンバーター」を作った理由です。

 

 

どのように使うか

前置きが長くなってしまいましたが、

ここからは「SRPG Studio用CSVコンバーター(以下CSVコンバーター)」の使い方について書いていきます。

 

まず、以下のリンク先からファイル一式をダウンロードします。

 

mega.nz

 

リンクを開くと以下のような画面が出るので、

「すべてZIP形式でダウンロード」をクリックしてください。

 

 

ダウンロードしたZIPファイルを解凍すると4つのファイルが入っています。

 

 

ファイルの内訳は以下の通りです。

 

  • srpg_csv_convert.exe・・・CSVコンバーターの実行ファイル
  • テンプレート.ods・・・イベント内容入力用のテンプレート
  • sample1.csv・・・テンプレート.odsのシート「入力例1」をcsvで保存したもの
  • sample2.csv・・・テンプレート.odsのシート「入力例2」をcsvで保存したもの

 

作業の流れとしては

  1. テンプレートにイベント内容を入力
  2. CSV形式で保存
  3. CSVコンバーターを実行し、CSVファイルをテキストファイルに変換する
  4. テキストファイルをSRPG Studioにインポートする

という感じです。順に説明していきますね。

 

1.テンプレート.odsにイベント内容を入力

CSVコンバーターを実行する前に指定のフォーマットに沿ったCSVファイルを用意する必要がありますが、

何の補助もなしに直打ちするのもちょっと大変なので、

同梱のテンプレート.odsにイベント内容を入力していきます。

 

テンプレート.odsをExcelLibreOffice Calcなどで開くとこのようになっています。

 

テンプレート.ods

入力作業はこのシート「テンプレート」上で行います。

(もちろん、別のファイルを作ってそちらにシート「テンプレート」をコピーする等もOKです!)

 

形式

「形式」のプルダウンリスト

A列の「形式」にはイベントコマンドやイベントの種類を入力します。

ここで何を入力したかによって、B列以降の入力形式も変わってきます。

 

プルダウンリストの一番下にある「※メモ」は、

テキストファイルに出力したくない備考やメモなどを書きたいときにお使いください。

 

発言者

B列の「発言者」にはメッセージやスチルメッセージの発言元のユニット名を入力します。

 

上の行と同じユニットのメッセージが続いている場合、

位置や表情の変化がない限り(つまり上の行と同じイベントコマンドなら)空欄のままにします。

 

また、

  • 【~イベント】のidを指定する(半角数字)
  • 選択肢のidを指定する(半角数字)
  • 情報ウィンドウの種類(なし/情報/重要)を指定する

という役割もあります。

 

位置

「位置」のプルダウンリスト

C列の「位置」にはメッセージやテロップなどの表示位置を入力します。

 

ここも上の行と同じイベントコマンドのときは空欄のままにします。

 

表情

「表情」のプルダウンリスト

D列の「表情」にはユニットの表情指定を入力します。

何も入力しなかった場合、デフォルトの「通常」扱いになります。

 

ここも上の行と同じイベントコマンドのときは空欄のままにします。

 

内容

E列の「内容」には各種イベントコマンドで表示するメッセージ内容を入力します。

 

「形式」で「選択肢」を入力した場合、選択肢の文章をカンマ区切りで入力します。

 

選択肢の入力例

 

 

以上が入力形式の概要になります。

 

説明文だけだとちょっと分かりづらい部分もあると思うので、

シート「入力例1」「入力例2」を適宜参考にしていただけると幸いです。

 

2.CSV形式で保存

次に1.で編集したシートをCSV形式で保存します。

 

基本的にはどのソフトでも「名前を付けて保存」で拡張子csvで保存すればOKです。

ExcelLibreOffice Calcでは現在選択しているシートだけ保存されるので注意してください。

 

拡張子csvで保存する

このときsrpg_csv_convert.exeと同じフォルダに保存しておくと、

後の作業がちょっとだけ楽になります。

 

同じフォルダに保存した状態

 

3.CSVコンバーターを実行し、CSVファイルをテキストファイルに変換する

さて、やっとここまで来ました…!

srpg_csv_convert.exeをダブルクリック等で実行し、CSVコンバーターを開きます。

 

 

「参照」ボタンを押すとファイルの選択画面が開くので、

先ほど保存したCSVファイルを開きます。

CSVコンバーターの動作確認だけやってみたい!という方は、

サンプルのCSVファイルを選んでください。

 

ファイル選択画面

ファイルを選択したら「変換」→「はい」で変換処理が行われます。

 

 

フォルダを確認すると、変換されたテキストファイルがあるはず!

(特にエラーも出てないのにファイルがない!という方はご報告ください……)

 

変換後のテキストファイルが同じフォルダに作成される

 

4.テキストファイルをSRPG Studioにインポートする

あとはテキストファイルをインポートするだけ!

 

……と言いたいところですが、その前にファイルの中身を確認してみましょう。

 

入力例1を変換するとこうなります

上の方に"<OP0>"という記述がありますね。

これは「形式」に【オープニングイベント】を、

「発言者」に0を入力したことで出力されたものです。

「ここから下はid:0のオープニングイベントだよ」という意味ですね。

 

インポートするテキストファイルにはこの「タグ」と呼ばれる記述がないと

正常に読み込んでくれないケースがあるので、

1.の時点で【~イベント】を必要な箇所に忘れず入力しておきましょう。

 

タグの一覧。出典は公式サイト(https://srpgstudio.com/lecture/textimport.html)より

 

また、インポートするファイルは○章のマップイベントなら"ch○.txt"、

マップ共有とブックマークイベントなら"mapcommon.txt"、

という風にファイル名を設定しておく必要があります。

 

 

さて、それではテキストファイルをインポートしてみましょう!

新規プロジェクトを作り、ユニットの設定をして……

 

ユニットの設定

[リソース]→[テキストファイル]→[インポート]でファイルのインポート画面を開きます。

 

ファイルのインポート画面

ここに先ほど作成したテキストファイルを、

名前を"ch1.txt"にしてドロップします。

 

 

「イベントの設定」ダイアログでオープニングイベントを開いてみると……

 

インポートした結果。ナッシュの表情差分は ゆめみのやまい 様より

ちゃんとインポートされていますね!

 

 

改良・機能追加できそうな点

  • 複数のCSVファイルを同時に読み込み、一つのテキストファイルに統合して出力できると更に楽かも
  • テキスト→CSVの逆変換機能もあると便利かも
  • (2022/11/11追記)ODSファイルのまま読み込む方法もあるみたいで、そっちの方がいろいろ便利そう

 

おわりに

以上、「SRPG Studio用CSVコンバーター」の紹介でした!

 

最初は自分用に作っていたのですが、

こういうツールは独占するより他の人にも使ってもらった方が界隈全体の活性化に繋がるだろうと思い、

公開するに至りました。

 

改良や機能追加のアイディアとか、使ってみた感想とか、疑問点とか、

ふ、不具合報告とか……がありましたら、

コメントやTwitter(https://twitter.com/sangoopan )で声をかけていただけると嬉しいです。

 

 

ここまでお読みいただきありがとうございました。