【ティラノスクリプト】テストプレイをしよう
「テストプレイは大切だ!」
はい、百も承知です。大抵の製作者は同じ認識でしょう。
しかしながら「テストプレイって何をすればいいの?ただオートモードとかで流して大丈夫ならそれでいいんじゃないの?」という認識で痛い目を見ている方をよく目にします。(でも通しプレイは最低限してみてね。それは間違いじゃなくて大正解だよ)
もちろん、選択肢があるゲームであれば「すべての選択肢のパターンを選んで想定された分岐をする」とか、トリッキーなシステムを取り入れた場合「きちんと想定通りの要件で動いているかの確認をする」とかも大切です。これも恐らく言うまでもないでしょう。
ここではティラノスクリプト使用者が発生させやすいバグや、回避方法、お勧めのテストプレイ方法などをご紹介します。
文章チェック(V5のみ)
ゲームエンジンの特性上、最も需要ありそうなので最初に持ってきます。ただし、これはティラノスタジオを使用した文章チェック方法となります。(ティラノビルダーに関してはティラノスクリプトV5に対応したら使用可能になると思います)
・自分のシナリオは展開がわかってるから読み直そうとしても目が滑る!勝手に補正がかかって誤字脱字に気付かない!!
はい。私もです。
・シナリオ終盤の感動的なシーンで誤字をぶっこんでいることに気付かず、そのままリリース。実況動画などで気付かされて顔面蒼白…。
はい。私のことです。
誤字脱字や台詞回しのおかしさ等は、自分で音読すればある程度は発見できますが、やっぱり漏れがちです。
それ故に実況動画で丁寧に読み上げられることにより気付くことが多いです。
「誰か私の代わりに読み上げてくれないかな!?」
そんな要望に応えてくれる素敵なタグがこちら!
[speak_on]
ティラノスクリプトV5では[speak_on]タグが実装されており、これを適当な場所(first.ksのどこかとか)で仕込んでおけばメッセージウインドウに表示される文章を機械音声で読み上げてくれるという優れものです。
機械的に読み上げてくれるので勿論漢字の読み間違い等はあるものの、誤字脱字がある場合は聴いていて必ず違和感が出てくるので検知率が爆上がりします。
ボイス入り作品などの場合は、台本チェックとかねて使用できます。これ本当に有能タグです…。
お勧めテスト項目
次に、これはやっておいた方がいいよっていうテスト項目です。
文章チェックに関しては前述してあるので省きます。
1.通しプレイと全パターン網羅
2.最初から最後までskipしてプレイ
3.コンフィグ画面を一度開いた後にプレイ
4.冒頭でセーブ、そのデータをロードしてプレイ
1に関しては冒頭にも書いたの割愛。
2に関してはこれをやっていないでフリーズバグを出す人が結構います。
例えば下記のスクリプトが該当し、フリーズを引き起こす可能性があります。
[chara_mod name="test" face="face_1" time=300 wait=false]
文章を表示しながら表情が変わるよ![p]
[chara_mod name="test" face="face_2" time=300 wait=false]
もう一回別の表示に変えるよ![p]
[chara_hide name="test" ]
立ち絵を消すよ![p]
普通にプレイしたら問題ないのですが、skipをしながらや、速読できる人が文章速度を最大まで早めてプレイした場合にフリーズします。
これは1行目のchara_modでwait=falseを指定している為、skip状態では次のface="face_2"の変更に処理が間に合わずフリーズしてしまうというものです。
skip状態に関しては下記のようなスクリプトを組むことで解決します。
[iscript]
tf.is_skip = TG.stat.is_skip;
[endscript]
[if exp="tf.is_skip != true"]
[chara_mod name="test" face="face_3" time=500 wait=false]
[else]
[chara_mod name="test" face="face_3" time=10]
[endif]
解説するとこの項目が長くなるから需要がありそうなら別記事作るね!
このあたりはマクロ化したり、ついでに応用でwaitタグもskip中は飛ばせるようにしたりと中級者以上なら思い付くかなと。
※ただし速読に関してはこのスクリプトでは対応できないので注意です。timeの値や次に出てくるwait=falseのタイミングを調整するなどして回避してください。
3と4に関しては、セーブやロード、コンフィグ画面を開いた後の挙動がおかしいゲームが稀にあります。
初心者の場合、コンフィグ画面へ移行する際に[sleepgame]タグを使用していなかったり、逆に[awakegame]タグで抜けていなかったり。
また、make.ksの最後で[return]タグで抜けていなかったり、削除されていたりすると、ロード後やコンフィグ画面後の挙動がおかしくなったりします。
中級者以降ではカスタマイズによってはロード後に変数処理がおかしくなっていたりもするかもしれません。
注意した方がいい記述
これは以前呟いた内容ですが、wait=falseに関しては前述のとおりです。
time=0 の指定は過去に、環境によっては特定のタグで停止する可能性がありました。
time=0を使用している場合、time=10に変更してみて気にならないようであればtime=10の指定をお勧めしたいです。
ちなみに前述のchara系のタグについては基本的にtime=0が使用可能です。
chara_modなどはtime=0を指定することで、フリーズ回避にもつながります。(chara_modに関しては、タグリファレンスに0を指定した場合の動作が明記されています。)
どうしてもtime=0をしたい場合は、自分が想定している環境での動作テストをしっかりしておきましょう。(とはいえ、アップデートで仕様変更の多いブラウザ環境ではある日突然動かなくなるリスクもあったりしますが…)
ファイル名に日本語名や大文字小文字混在については、PC環境では気付き辛く、ブラウザ環境で動作不良を起こす代表格となります。
特に「gazou.JPG」のようなファイル名があったとして、
[bg storage=gazou.jpg time=1500]
のような記述をしてみます。
これはPC版では正常に表示されますが、ブラウザ上では大文字と小文字は別の文字と判断する為、読み込まれません。
また、ファイル名に日本語を使用している場合も何かと環境依存のトラブルを起こす可能性があります。…今の時代だとかなり緩和されたと思いますが。
ファイル名の可読性もあるので一概に何がベストかは人によると思いますが、特別な理由がない限り、拡張子を含め小文字で統一してしまった方がこのあたりでバグを出さずに済みます。
ブラウザ版のテスト
ブラウザ版の動作も意識するなら、自サーバーにデータをアップロードしてテストを行いたい所です。ですが初リリースではここまでやらなくても問題ないと個人的には思います。余裕のある人は是非やっておきましょう。
とは言え、自サーバーを持っていない人の方が多数でしょう。その場合は下記の記事を参照にしてみてください。
上記の方法であれば自サーバーを持っていない方でもテストが可能です。
しかしながら、ノベルゲームコレクションではプロジェクトファイル申請後に、運営さんがブラウザ版へデータをコンバートします。
これにより、スクリプトの記述によっては一部想定していない動作になる可能性もあります。(ただし大抵の場合は問題になりません。本当に一部です)
ですので、ブラウザ版で動作テストを行う際は下記のように一度ブラウザ版にコンバートしたデータをアップロードしてテストを行うことをお勧めします。(※画面はティラノスタジオのものです)
ビルダーではファイルの変換のオプションがないようなので、V4の場合はライダーを使用する必要があります。
赤枠のオプションをつけてコンバートを実行することで、ノベルゲームコレクションで公開されるブラウザ版に近い挙動を再現できると思います。(サーバーにもよるらしいのですが、私の場合さくらサーバーを使用していて大体これで問題がない状況です)
スマホ向けの簡易テスト
ティラノビルダーやティラノスタジオに付属している開発者向けツールを使用して、スマホ向けにエミュレートした環境でのテストも可能です。
詳しくはツイートの内容を参照してください。
あくまでタブレット端末向けにエミュレートされたものですので、実機とは勿論細かい部分での動きが違う可能性はありますが、スマホで発生する大抵の問題はここでテスト可能です。
なるべくならね…
誤字脱字や動作不良などにより、作品に対する心証に影響を及ぼす可能性があります。そもそも最後までプレイできないほどの致命的なバグを抱えていた場合は、その後に修正版をアップロードしても、プレイを諦められる可能性が高いです。
製作者同士なら寛大な部分がありますが、そうでない大半のプレイヤーに関しては作品そのものの評価に直結する可能性もあります。
とは言え、人間である以上、完璧なものを作ることは不可能です。
それでも、なるべくならベストな状態でユーザーに提供できるようにしたいですよね。
最後に…