見出し画像

ティラノビルダー勢がティラノスクリプトに切り替えた感想

はじめに

こんにちは、豹牙晃です。
はじめましての方は「ヘブンズ・ロワイヤル」のシナリオや「地下監獄ESCAPE」を作ったやつと覚えていただければ幸いです。

私はこれまで非公開もあわせて5作ゲームを作ってきましたが、ほぼ長編で全部ティラノビルダーを使っていました。
そして、2021年8月に公開した「リードマインド」でティラノスクリプトに切り替えたんですが、その時に苦戦したことや役に立ったことなどを備忘録として書けたらと思っています。
ビルダー使い向けの記事となりますが、これはあくまでスクリプト初心者の豹牙の感想ですので、「もっと効率的なやり方があるだろ!」「こいつ間違えてるぞ!」というツッコミは受け付けます。
自作を少し例に出しますが、未プレイでも問題ないです。

なぜスクリプトに切り替えたのか

リードマインド制作直前に、ちょうどティラノビルダーV5のベータ版が公開されました。
私はベータ版で長編を作るのに少し抵抗があったのと、ビルダーproを購入したDLsiteで当時まだV5が反映されていなかったので迷っていました。
前作同様V4で作ることも考えましたが、今作は選択肢が多いので、選択肢のデザインが豊富で起動が速いV5にしたい気持ちがありました。
ティラノスクリプトのほうは既にV5になっていましたし、こちらは無料で制限がないので切り替えるのが手っ取り早いのでは?と思いました。
あとこのトランプ演出↓をやりたかったのと、前からスクリプトに挑戦してみたかったので今回切り替えることにしました。

画像1

見ての通り、トランプやコインなど表示する画像が多いんですよね。
あとこのトランプをめくるアニメーションがついています。
このゲームの場合、トランプを一枚だけ消したり、コインを残してトランプだけ消すという処理が必要でした。
ビルダーは画像表示機能でレイヤーを指定することができず、画像消去を使うと表示している画像が全て消えます。
ビルダーでレイヤー指定をする時やアニメーションは直接スクリプトを打ち込むしかなかったんですよね。
あとこのトランプ演出で、メッセージウインドウをそのままに文字を表示する位置を右にずらしているんですが、これはスクリプトでウインドウの仕組みを分かっておいた方がやりやすかったです。
ビルダーで立ち絵をウインドウの前に表示するには顔グラプラグインがありますし、どれも直接打ち込めばできる処理ですが、この辺りはスクリプトの知識があるともっとやりやすいと思います。

最初にやったこと

・公式チュートリアルガン見
・公式ガイドブックを購入
当たり前のことですが、やっぱり最初は公式を見た方がいいです。

・スクリプト本体、ティラノスタジオ、Atomエディタのインストール
私が切り替えた頃はバージョンがV5だったので必然的にスタジオになりました。(V4まではティラノライダー)
エディタに関してはメモ帳でも可能ですが、公式でMery、サクラエディタ、Atomなどが推奨されています。
私はAtomを選びました。
ティラノスクリプト⽤のプラグインがあり、これを入れるとタグが色付けされて分かりやすくなりますし、候補もでてくるので入力しやすいです。
こちらは公式で説明されているので割愛。

・ティラノスクリプトに最初から入っているサンプルゲームをエディタで開く
チュートリアルやガイドブックを見ながら、どこで何をしているのか照らし合わせていました。
ビルダーの時にやる必要がなかった処理がでてくるので、最初は戸惑いました。
あと、ビルダーでやってみたかったメッセージウインドウを全画面表示に切り替えるやり方なども載っています。

・ビルダーで作ったゲームのシナリオファイルをエディタで開く
ビルダーでやっていた処理をやりたいって時に見ていました。
キャラの定義やメッセージウインドウの処理などはビルダーとスクリプトで違うので、少し戸惑うところもありました。

役に立ったこと

・公式の機能デモ、タグリファレンス
「こいつ当たり前のことしか言わねえな」とつっこまれそうですが、詰まったら最初にこれを見ていました。
機能デモはビルダーの基本機能ではできなかった演出がでてくるので参考になります。(画面の色調変更、キーフレームアニメーションなど)
空き時間にタグリファレンスを見てみるのもオススメです。

・ねこのさんのnote
本当にお世話になりました。
初期設定からテストプレイに関する記事まで載っていますので、未読の方はぜひ読んでみてください。

・デバッグ支援プラグイン
ビルダーでは右クリックで好きなところからテストプレイができるんですが、スクリプトはそれがないです。
テストプレイはセーブしておいてそこから読み込むなどの方法があるんですが(もしかしたらもっと効率の良い方法もあるのかもしれません)、私はこちらのプラグインを使ってテストプレイをしていました。
ゲーム画面のみのスクショ機能や強制スキップなどがあって便利です。

・HTMLとCSSの知識
これはビルダーでもそうなんですが、セーブ画面などのUIデザインを細かく変えたい時にはあった方がいいです。
私は学生時代に情報系の講義を受けていたので少し知識がありましたが、今はゲーム制作でしか使わないのでだいぶ忘れていましたね。

・Twitter
全ての情報を鵜呑みにするのはよくないですが、検索してみると同じトラブルで行き詰まっている人のツイートや、公式からの対処法が載っていたりします。
私は詰まった時Twitterで、スクリプトを使っている方にいくつか教えていただきました。
本当にありがとうございます。

ここからは私が苦戦したことについて書いていきます。

キャラの定義ってなに?

ビルダーでやらないことは大体壁になってたんですが、これは私が最初にぶつかった壁でした。
キャラ名と使う差分画像、表情名を登録したりする処理なんですが、これをやらないとキャラが表示されません。
ビルダーでキャラの名前と差分を登録するキャラクター管理画面がありますが、やっていることはあれと近いですね。
私はこれをやるタイミングが分からず迷っていました。

サンプルゲームでははじめからを選んだ後のシナリオの冒頭で定義されていますが、冒頭の一回でいいのか分からなかったので、私はTyrano.ksで定義しました。
タイトル画面の前に読み込まれるのがTyrano.ksなんですが、ここに書いておけばみんな絶対通るだろ!という考えです。
(起動後一番最初に読み込まれるFirst.ksはビルダーだと初期化されると聞いたので、スクリプトでもあまりいじらないようにしていました)
機能ボタン(セーブやスキップなどのボタン)はマクロで何度か呼び出す必要があるので、マクロもTyrano.ksに書きこみました。
(マクロとは複数の処理を事前に定義しておいて、後で1行で呼び出すというものです。うーん説明下手。
トランプをめくるアニメーションもそうですが、何度も使う処理はマクロを使うと良いと思います)
機能ボタンのマクロは公式のサンプルゲームに載っているので、それを参考に調整しました。

画面サイズの変更

画面サイズをデフォルトの1280×720(16:9)のままでやる方や、UIテーマ一括変換を使っている方は特に気にしなくてもいいポイントかもしれません。
ビルダーだとプロジェクトを作る際に960×640やたて型が選べて、セーブ(ロード)画面もそのサイズで反映されます。
私は背景素材などの都合上960×640にしたんですが、スクリプトは最初から1280×720になっているので、他のサイズにする時は調整が必要になります。
タイトル画面はボタンをずらすだけで済みますが、セーブは調整が難しく私はここで詰まりました。(NO DATA=キャプチャ部分も16:9になっていたりする)
そこでこちら↓を教えていただき、調整が楽になりました。

画像3

画像3

個人的にびっくりしたところなんですが、ビルダーV5でも1280×720(上)と960×640(下)ではセーブ画面のデザインが違うんですよね。
私はこれまでV4で960×640しか作ったことがないので、上のセーブ画面が新鮮でした。

プリロードってなに?

[preload]は画像などのデータを事前に読み込んでおくタグという説明があるんですが、私は「事前に読み込んでおいたら何が変わるの?読み込まなくても動くよね?」という状態でした。
実際、スタジオのプレビューではプリロードがなくても問題なく動きます。
ダウンロード版は最初から自分のPC(ローカル)に画像があるからですね。
なのでこれはダウンロード版ではあまり必要ないんですが、ブラウザ版がある時はやった方がいいです。
プリロードをしなかったらその画像を表示する際にブラウザで読み込み時間が発生し、表示が少し遅れたりします。
ボタンなどのサイズが小さい画像はなくても大丈夫そうですが、スチルなどの大きい画像はやった方がいいかもしれません。

私が一番困ったのはこのプリロードをするタイミングでした。
二回プリロードを通るとフリーズするという不穏な噂を聞いていたからです。(今のバージョンはどうか分かりませんが、実際私もゲームオーバー後のニューゲームで効果音のプリロードを二回通るとフリーズしました。なので音楽と効果音はプリロードしませんでした。画像は二回通っても大丈夫です)
最初は、起動後一度しか通らないTyrano.ksで一気にやるという方法をとっていました。(Tyrano.ksはタイトル画面の前で読み込まれています)
短編など使う素材が少ない時はこれもありなんですが、ここで大量のデータを読み込むと読み込み時間が長くなりますし、スマホなどの環境によってはブラウザがクラッシュします。
また、冒頭から読み込み時間が長くなると、プレイヤー側が「全然始まらんしやーめた」になりかねません。
読み込み中に「Now Loading...50%」といった表示をしておくとまだ待ってくれる方もいると思いますが、それも長いと「別のゲームやろー」になるかもしれません。
このローディング画面を作ってくれる有料プラグインがあるので、詳しい人でない限り自力で実装するよりはそっちにした方がいいと思います。
(ちなみにリードマインドでは、このローディング画面を自力で実装しようとして古い記事を鵜呑みにし、初日ブラウザ版が起動しないというデカい不具合を起こしました)

自分はここでようやく、「ビルダー製のゲームは[preload]入力してないけど冒頭の読み込み時間ほとんどなかったよな?」と気づきました。
ビルダーのシナリオファイルをエディタで覗いてみると、各シナリオファイルの冒頭で、使う画像がその都度プリロードされているのが分かります。

tyranobuilder_v184c_win_ja_pro\myprojects\プロジェクト名\data\scenario\system

つまり、自動で入力されているんですよね。
長編の場合は冒頭で全て読み込まずに、ビルダーと同様に使うシナリオの冒頭でプリロードするのが良いかもしれません。↓


スクリプトに切り替える個人的メリット・デメリット

・立ち絵の表情指定
夏服、冬服、私服、武器持ち、負傷…たまに差分が大量にあるキャラがいますよね。(ヘブンズ・ロワイヤルのラビは差分が54枚ありました)
そういうキャラがいる時はスクリプトの方が楽だと思いました。
スクリプトだとあらかじめ定義しておいた表情名を打ち込むだけなので、探す手間がなく速いです。
ビルダーだと「キャラクター変更」をドラッグ&ドロップ→キャラを選ぶ→表情を探すという手間があり、差分の多いキャラは探すだけでも結構時間がかかります。
いっそ「A太郎夏服」「A太郎私服」のように別キャラ扱いにして登録すれば入力は楽になりますが、話しているキャラを強調するフォーカス演出ができなかったり。
私はボイスを実装したことがありませんが、ボイスにも影響が出るらしいです。
もし複数の名前を同じキャラとして指定する方法があったら、ぜひ教えてください!

・修正、検索&置換、微調整
ビルダーはシナリオの切り替えに毎回保存を挟みますが、スクリプトはそれがないので早かったです。
長編だと作業終盤、ビルダーでドラッグ&ドロップが重くなってしまうことがありましたが、スクリプトはエディタだけなので快適でした。(私のPCの問題かもしれません)
また上記の立ち絵組み込みもそうですが、慣れるとスクリプトの方が早く入力できるかもしれません。
あと、立ち絵の表示時間を一括で変えたい!という時にエディタですぐ置換できるのがよかったですね。
これはビルダーで作ったシナリオファイルをエディタで開けば同じことができると思いますので、デメリットではないかもしれません。

・UIのカスタマイズ、凝った演出
こちらはビルダーでもできますが、スクリプトを知っているほうが理解しやすいと感じました。
あと最初にも書きましたが、画像を複数使った演出はスクリプトのほうがやりやすいと思います。

・プリロード、画像のプレビュー、テストプレイ
これはビルダーの方がやりやすかった印象です。
プリロードは自動でやってくれますし、画像の位置がすぐに確認できますし、右クリックでシナリオの途中から即プレビューは本当に便利でした。

基本ビルダーで、細かくカスタマイズしたくなったらスクリプトを併用するのもありかもしれません。

終わりに

というわけで、この記事は以上です。
説明下手でつたない部分もありますが、少しでもお役に立てば幸いです。

最後にここで名前を出した作品を少し宣伝させていただきます。

ではでは!

この記事が気に入ったらサポートをしてみませんか?