見出し画像

シナリオやリストの書き方を統一するとツールや仕様次第では仕事が圧縮できるお話

今回のお話はゲームプランナー、スクリプター寄りのお話です。
本職の方や長年やられていた方などは、すでに周知の内容かもしれません。

本題。
今まで仕事をしてきた中で、シナリオの書き方を統一するとツールや仕様次第では仕事が圧縮できるのでは?と思い至りました。幸いにも協力者が現れ、力になってくださったのでその経験を記します。

・最終的な結果
1:ボタン一発で、メッセージを表示するだけのスクリプトデータが完成
2:ボタン一発で、台本データが完成

・シナリオの書き方の統一とメリットとは?

シナリオの書き方は人それぞれですが、統一しておくことによって、とてつもないメリットがあります。
特に重要視しているのが、発言者名、セリフ、セリフの最後の行、コメント、です。
台本や脚本などでは『キャラ名「セリフ」』といった表記ですが、自分が関わる場合は以下のように各所に目印を入れます。※ライターさんもだいたい目印入れてくださいます

■サンプル
// イベント発生条件:前のイベントから自動で続く
// SE:扉を叩く音
発言者名「
セリフ一行目78901234567890
セリフ二行目78901234567890
セリフ三行目78901234567890」

コメントの冒頭に『//』を、発言者名の後に『「』を、セリフの最後には『」』を入れています。
プログラム的な考えにはなりますが、これらがあることによってルール化され判定を取ることができます。

実際にセリフを入れてみます。

桃太郎「
イヌ、サル、キジ!
鬼ヶ島に行くぞ! 覚悟はいいか?」

イヌ「
もちろん!
でも、桃太郎、本当に行くの?
もう少し準備してからの方が……」

キジ「
そうだぞ、桃太郎!
オレもイヌと同意見だ」

サル「
さすがに鬼ヶ島に行ったら
引き返すのは難しいだろうからなあ…。
桃太郎、もっとよく考えようぜ」

この状態で『桃太郎』と検索をかけてみてください。
検索すると、桃太郎という言葉は4つ出てきます。
もし、桃太郎のセリフだけを確認したい場合ができたとき『桃太郎「』と検索すると、発言者名の桃太郎のみがヒットします。

桃太郎のセリフだけで何ワードあるのか、を出したいときに役に立ちます。
音声収録がある場合、予算の都合上、何ワード以内にしてくれ、というオーダーが入ることもあります。

同様にメモも『//』で書かれているため、検索したとき把握しやすいです。
セリフの最後に『」』を入れているのは、それがセリフのラストというのが明記するためです。※この書き方はシナリオ中に「」を使用しない前提でのお話です。目印なので、シナリオ中絶対に使わないものを使用してください。@、#、$、★、■など

書き方を統一することによって、作業者が作業しやすく(検索しやすく)なります。

・スクリプトデータを作るときのメリット

テキストツールでスクリプトを打つさい、シナリオの書き方を統一することによってスクリプトの一括変換が可能です。※スクリプトの仕様、ツールによっても変わります

発言者名を表示する命令があった場合、置換前に『桃太郎「』を、置換後に該当の命令をいれるだけで桃太郎の名を表示するスクリプトが完成します。
また、セリフの最後にページ送りの命令を入れる場合は、同様に置換前に『」』を、置換後に該当の命令をいれるだけで桃太郎のセリフが完成します。

スクリプトの仕様によっても変わりますが、たった二回置換しただけで桃太郎のセリフ表示が完成です。
これらを繰り返すことによって、爆速でセリフ表示の仕事が終わります。

・さらに一歩踏み込んでツール化すると、ボタン一発でセリフ表示の仕事が終わる

ここから先は、プログラマーさんの力が必要になる領域です。※勉強して自分で作るのでも可

一括置換を何度も繰り返すことにより、セリフ表示を簡単に作成するということは書きましたが、登場人物が少ない、小規模な開発ならばよいのですが、主要な登場人物が多い、といった場合は、ツール化するとボタン一発でセリフ表示の仕事が終わることがあります。

もし、運よく協力者が現れ、ツールを作成することが出来るような場合は、何がしたいかを明確に協力者に伝えてください。
変換リストを作成したり、最終的に吐き出されるデータがスクリプト用の拡張子のデータがよいのか(スクリプトの共通処理やお約束があるのであれば、それもいれて貰うなど)、それともコピペ前提でのデータなのか。ほか、エラー時や変換リストにないものがあった場合はどうするかなどの情報が必要になってきます。要は詳細なツール仕様ですね。

台本についても同様です。
各キャラのボイスナンバーや、メインシナリオ、サブシナリオ、システムボイスなどの番号はどうするのか、など。
台本化するさいは、複数のフォーマットを台本フォーマットに落とし込むため、こちらもそれぞれ書き方を統一なければなりません。
(担当者によって、戦闘ボイスリスト、メニューボイスリスト、○○ボイスリスト、とフォーマットをバラバラに作ると厄介なので、一律で統一させましょうね、ということです)

カンのいい方やすでにそんなのやっている!という方はよいのですが、わからない方に向けると、書き方やフォーマットを統一すると、プログラムの介入ができるようになり、いちいちコピペしていた面倒な作業や、ちまちま入力していた気の遠くなる作業が自動化できる、というのが今回のお話です。

・具体例「.txt」の「エクセルデータ化」

わかりやすい具体例で言うと『.txtデータ』の『エクセルデータ化』です。

ソシャゲの現場ではシナリオの納品がエクセルで、というのを聞きます。
ライターさんにお願いしてエクセル化していただいている会社さんもあるみたいですが、(逆に開発内部で手動でやっていたりなども聞く)自分の関わっているプロジェクトでは書き方が統一されているので.txtからエクセルに変換するツールを使用しています。

ひとつ社内で作成しておけば、多少書き方が変わったとしても流用して別プロジェクトで使用できたりすることもありますので、二年、三年と長期で行うプロジェクトやスクリプトは今後ずっとエクセルを使うといった場合は、社内でそういったツールを作成するのもひとつの手です。

手間のかかる作業は自動化できないか、もっと作業効率よくできないかなど考え始めると底なし沼ですが、うまく実現できると時間やミスの削減につながります(大抵はできないのですが…!!)。

・実際にやった自動化

たとえば、過去のプロジェクトで……
データを実装するさいに、いろんなフォルダにある複数のバッチを順番に叩かなければいけませんでした。フォルダ移動が手間な上、順番ミスが発生するかもしれないので、バッチファイルから別のバッチファイルを呼び出すバッチを作りました。
これにより、フォルダ移動して、バッチファイル探して、違うバッチファイル叩いたり、どこまでやったっけ…などの無駄が発生しないため、ミスや時間の削減ができました。

最後に……
楽できることは楽しよう!!です!!

応援されると生きる気力がわいてきます! もう少しがんばります!!