見出し画像

バージョンアップ移植の記憶/ティラノビルダー備忘録

※自分用の備忘録のため内容が初歩的な場合があります※

2019年公開の拙作を…………

2023年に大型アップデートしたぞおおおおお!!!!!!!

キツかったです(瀕死

こちらです。
ティラノビルダーv184で作られしこのゲームをv204bへ引っ越し、中身のティラノスクリプトもV4からV5に変わりました!

その過程でめっちゃ悩んだこととか、2019年の自分をボコボコにしてやりてえと思ったこととかを追憶のために書きとめたいと思いますッ




ビルダーv1→v2の利点


・ビルダーの起動もプレビューも上書き保存も何もかも爆速になる
まじこれ泣くほど嬉しい。
v184では上書き保存に30秒~1分くらいかかってた気がする(いつも待ってる間にツイッターしてた)
あと「ここからプレビュー」がないと生きていけない身なのに画面の調整と確認をしたくても立ち上がりが遅かったり、総合してアップデート作業をしたくない理由となってました。
v2.00以降はデータの展開方法が変わったそうで、本当に何もかも爆速…!!

・セーブしても勝手にセーブ画面が閉じない
ちゃんとセーブできたことを確認してから閉じれる!

・iOSのブラウザでも音量調整が効くようになる
らしいです…!
その代わりに生まれた悩みはまたのちほど述べます!

・分岐ボタンのデザインがめっっっちゃ増えた
プルダウンから選択できるデザインがごっつ増えた。自分でCSSのテンプレ探してコピペしなくてもええ感じのボタンがある……!
私はデザインの気に入ったボタンが四角かったので、エディタソフトで「glink.css」を弄って角を丸めたりしました!
※プロジェクトファイル→tyrano→cssにあるよ!
ちなみにUIテーマ一括変換のテーマ用ボタンは「original」の中にあるよ。私は最初これが見つからなくて七転八倒しました(雑魚


あと思いつかないだけで良い所はたくさんあるはず。

v204bはかなり安定してる気がする!(けど内蔵のティラノスクリプトはまだ最新ではないので最新版、来てもいいのよ)
あ、お気に入りデッキにiscriptコンポを登録するとデッキ全部消えるので気をつけて


ビルダーv1→v2の注意点


・プレビューした瞬間に上書き保存される
試しに変えてみて、プレビューしてみて、アカンかったらシナリオ切り替えて変更をなかったことにする、というオールドスタイルが使えません。
変更したところは覚えておこう…!
また構築序盤の場合はテスト用にシナリオを複製して弄りまくるのもアリ!

・領域選択ツールの分岐ボタンのプレビューが正しくない
プレビューしてみると長さが全然違うことがある。位置は大丈夫!

・BGMの再生前に読み込みが入って一瞬止まる
これでめっちゃ悩んだし助けを呼んだ
これはiOS音量調整と同じ話なので後述します!

・UIテーマのセーブロード画面のレイアウトが少し崩れた
使っているUIテーマでサムネサイズが合わなくなっちゃった


[移植]バージョンアップ移植


をしたかったんですが、自分だと
「v204bで新規プロジェクトファイルを立ち上げて、移植前と全く同じ名前のシナリオファイルをビルダー上で作成してから、エディタソフトで中身のスクリプトコードを全シナリオ1つずつ丸コピペして再現」しか思いつかず。
できんことはないけど続編も制作中なのにそんな時間ないよ(爆泣

そこで誰か協力してくれないか…と悩んでいたところ、
処女作ゆえ幸いなことに
「システムファイルを全然弄っていない」
「ほぼビルダー上の機能だけで作られている」
それならばいけるかも、とお声かけいただきまして

ビルダーv1からv2へのプロジェクトファイルの移植をねこの様にお願いさせて頂く運びとなりましたー!!

もはや毎度おなじみねこの様。
もちろん有償でお願いいたしました!!
今回は真面目に時間を無駄にできなくて、お悩み解決どころか作業自体もお願いしたいことがあって、たくさん見積り出してもらっちゃいました。
いつも恐れ入ります……ありがとうございました……


コンバート結果

さて、ねこの様にv1プロジェクトファイルをv2へコンバートして頂いた結果、一部の設定がリセットされている以外は正常に動くしコンポーネントも維持され編集可能な状態となって帰ってきました!!

リセットされていたのは主に
・キャラクター管理
・変数管理

これは元のプロジェクトファイルと同じ順番、同じ名前で(それぞれビルダー上で)再設定することで事なきを得ました!

・メニューボタンの画像も再設定
・UIテーマは設定画面上は選択されてないけどplugin.ksには記述されたままなので問題なし
※UIテーマのセーブロード画面のレイアウト崩れは懲りずにねこの先生に直して頂きました。UIテーマプラグイン内の問題だったみたいです

これでバージョンアップの移植のみは終わりました(^o^)なんてこったい……


[移植]V5のオーディオ問題


後述すると言っていたやつです。
詳しくはまずこちらを読んでくれないか

つまりV5(ビルダーではv2)から音ファイルの再生方法が変わってiOSでも音量調整が効くようになったけど再生前にデータ読み込むからプリロードしておかないと再生が遅延する!

遅延するというか、読み込み終わるまで一瞬止まる

つまりセリフ途中でBGMを流し始めたい時、
読み込み終わるまで
「メッセージ欄にセリフが出てない状態で少し止まる」

感動シーンでこれは困るんじゃ~~~~~~~

ローカルでもこれなのに、ブラウザ版だと通信速度とかマシンスペックでさらに読み込み時間が長くなるんじゃ~~~~~~~~~~~

そしてティラノビルダーは自動でシナリオの頭にそのシナリオで使用する画像のプリロードが生成されるけど、音ファイルは対象外(一気に大量の音楽ファイルをプリロードするとブラウザクラッシュの恐れがあるため)

・自分でプリロードを仕込むしかない
・しかしもしセーブ地点がプリロードの記述を通り過ぎた後だとロードした時に効果を発揮できない
・でも遅延まじで困る 止まらんでくれ 頼む

頼む…………………………



あとは分かるな?

ということで再びねこの様に「BGMプリロードプラグイン」をご作成いただきました……!!

・各シナリオで使用BGMをプリロード
・ロードしても使用BGMをプリロード
・一曲ずつ読み込むのにゲーム進行を妨げないバックグラウンド式
・データが嵩んでゲームが落ちないよう使わないデータは破棄

という今までの悩みが跡形もなく吹き飛ぶオーダーメイドプラグインです。
本当にありがとうございます……

ちなみに遅延対策として音楽ファイルの再生方法をV4時代に戻す「html5=true」(公式非推奨パラメータ)、ビルダー上にも「HTML5オーディオで再生」というチェックボックスがありますが
試しにやってみたところ「ループ再生するにしてあるのにBGMがループしない」という災厄に見舞われたので封印を決めました。


[改修]ブラウザ対応/フォント


バージョンアップ移植に伴う問題はほとんどクリアできたので、今度は大型アプデすべく色々……本当に色々やりました(瀕死)
基本的には2019年に作った処女作ゆえの過ちを是正していく作業が多く、ゲームの表面では分からない修正も多かったです。

見た目的に分かりやすかったのが
・ブラウザ版でフォントがPCと全く違うものになる
→フォントを同梱してフォント設定しました

▼ビルダーでフォントを入れるやり方

▼フォントデータのダイエット方法

▼オープンフォントライセンスが多いGoogle Fonts
(自サイトにはadobe Fonts使ってるけど、フォントデータ同梱となるとダメだった気がする)


ちなみにこんな感じ

ビルダーのフォント設定にある「ファンタジー」を設定した右半分の文字はiOSブラウザで見るとこんなことになっちゃうんだぜ
フォント同梱ならプレイ環境が違っても心配なし!

ちなみに、ビルダーはttfファイルしか登録できないのだけど
ビルダー上で(サブセット化した)ttfファイルを登録

同名のwoffファイルを変換して用意

プロジェクトファイル→data→othersにwoffを入れる

ttfファイルを削除
でも動きました。データ量の節約になるのでやってみました!


[改修]ブラウザ対応/バッジ機能


ノベコレのバッジ機能を実装しているのですが、短編ゲーム(嘘の手紙)ではよく「バッジ獲得画面が突然出てきて(勝手にブラウザ開いて)ビビる」という受け止められかたが多く……
さらに今回は長編のため、没入してデバッグしてたらいきなりバッジ獲得画面が出てきて自分でもびっくりしちゃいました。

これがブラウザ版だとさらに「バッジ獲得とかノベコレログインとかで別窓開いてる間にゲームの窓が勝手にリロードされる可能性がある」という……
(以前スコアツイート機能でPWAブラウザ版の拙作を放置してツイッター開いてたら、ゲームがタイトル画面に戻ってしまった経験あり)

そこでとりあえず

離脱前にセーブしてくれええええ~~~~~~!!!!!!!!!

「タイトル画面で解放済バッジを獲得する」みたいな画面を作る時間がなかったので、ブラウザが開く前にお知らせを入れてブラウザ勢が進行状況を失わないようにしてみた……!!

※ちなみにダイアログの作り方はこれ



[改修]初心者へ共有したいこの後悔


2019年の自分をボコボコにしたいって思ったのはこの辺!!
初歩的すぎるのですがマジで当時は気づいてなかった……
でもプリロードの話はビルダーというよりスクリプトの知識になってくるので、そこは少し成長したねって思いました(??)


・テキストの改行処理は[p]以外にもできる

この状態にするにはテキストコンポーネントの右の設定を「何もしない」にする必要があった……まじで全然気づかんかった……


・ジャンプのストレージ「--」にするとコピペが楽

これもっと早く知りたかった!!
スクリプトだとstorage未指定にすると現在のシナリオ内でジャンプする。
それがビルダーでもできた……


・シナリオの頭にプリロードが走ってる

なんもない所で「Now loading…」って言ってるように見えるけど
実際はこうなってて(プリロードファイルを呼び出してる)
中身のプリロードがwait=falseな感じなのでセルフで少しお待ち申し上げてる感じです


※ちなみに画像プリロードについて学習したまとめ



[番外編]UIテーマの透明度


before
after

UIテーマのメッセージウインドウの透明度、変え方わっかんねえええーーーーーーーーーー!!!!!!!
ってなってたけど、優しいフォロワーさんが助けてくださり解決しました!

プロジェクトファイル→data→others→plugin
からUIテーマのプラグインフォルダを開き、init.ksをエディタソフトで開いて下記の部分を変えたら変わりました!!(むしろ他の場所は変えても変わらなかった不思議)

opacityが透明度でした。200から230に変更

ちなみに、ビルダーの設定画面を弄っても変わらなかったのと、更新するボタン押すとplugin.ksがリセットされて手動で追加していたスクリプトが消えます!!(BGMプリロードプラグイン導入してたのにいいい!!)

テーマの機能ボタン表示非表示とかは効くんですけどね



[念のため]bgの古いパラメータ


スクリプトV4だと背景変更(bg)のクロスフェードが
method="crossfade"
だったんだけど、
V5だと同じクロスフェードでも内部では
method="fadeIn"
に変更になっていました。

特に問題なく動いていたのですが念のためfadeinに変えたのでした。
他にもそういうのあるんだろうか。



[宣伝]たくさん改良したのでよろしくお願いいたします


たくさん改良したので2019年の作品ですがほぼ生まれたてほやほやみたいになりました!!
画面サイズは相変わらず960×640で文字サイズもPC用だからスマホに優しくないけど、とにかくブラウザでもちゃんと動いたら嬉しい、さらにスマホで遊べたら敷居が低くなるんじゃないかと頑張りました……!!

この機会にぜひ、反動のクラウドレイジシリーズ第一章、ACT1へお越しいただけたら幸いです!!

そして改めましてねこの様、自分一人では絶対ここまでやれませんでした……本当にありがとうございました!!


▼トレーラーGIF

▼ゲームプレイ

▼特設サイト



余談


今回の大型アップデート作業、影の功労者
「Notion」

フォロワーさんから「Notionはいいぞ」と背中を押していただき、使ってみたら進捗・タスク管理にゲームの設定管理と本当に便利……

本当にお世話になりました。タグ付けの自由度よ笑