見出し画像

ゲーム制作記 2024/1月

毎度のことではありますが、
この記事はゲーム開発知識皆無のティラノビルダー初心者が
自分用につけている備忘録です。
今回も本当にビルダーの基礎の基礎の基礎みたいな内容です。
書くほど需要があるのか?といわれたら多分無い

今月はチュートリアル部分の構成が終わりました。


ゲームの基本システム

今作っているゲーム:ワンバウoneは
謎解き風味のアドベンチャーゲームです。
色んなマップを駆け回って画面に表示されているポイントに特定のアクションやアイテムを使用することで先に進める系のやつですね。

?が上に出ている物が調べられる場所

チュートリアルなのでプレイヤー操作の余地を入れずテキスト表示一辺倒でも良かったんですけど
自分で動かしてなんとなく覚えてもらう方が早いので実際にデモプレイしてもらうことにしました。

このゲームは
選択肢を選んでシナリオを順に進んでいくノベル形式のゲームではないので
おそらくビルダーのメインユーザー層にはあまり参考にならない内容となるかもですがど忘れした未来の自分の為に長ったらしい記録を残しておきます


今回使った機能関連

特定のイメージ画像だけ消したい/動かしたい

コンポーネント「イメージ表示/消去」の説明

ビルダーのコンポーネント「イメージ表示」で出した画像は全てレイヤー1に表示され、
またコンポーネント「イメージ消去」ではレイヤー1内の物全部消します。

特定の画像だけを消したいのなら予めnameをつけて表示する

特定の画像だけを指定したいときは
コンポーネント「ティラノスクリプト」で[image]タグのname付きで画像表示させる必要があります。
公式タグリファレンスのimage欄に説明があるのでここでは簡単に。
レイヤー1以外に画像を置きたいならレイヤー数を指定して配置できるし
[image layer="〇" name=”付けたい名前” ~…]って感じにいれて表示させておくと
その画像を消したい/動かしたいときに
[free layer="〇" name="付けた名前"]などなど、layerと付けたnameを指定すればそのnameが付いている物だけを消すことができたりなんて使えたりします。同じnameが付いてるものにまとめて反映されるので便利。
移動などのアニメーションつけたいときもnameが必須なのでビルダー使用者でもこの仕様を知ってて損はないかと。
nameで付ける名前は半角英数字

name管理するのめんどうだからと適当にした結果偶然キャラの登録名と同じになると干渉することがあります。
簡単に言うと、先にimageでname=inuとつけた画像を出している中でキャラ名がinuとなっているキャラを登場させようとするとキャラの画像が出てこなくなったりするということですね。

ティラノスクリプトで画像が表示できない時によくあるミス

これはあくまで私個人のことではありますが、
①画像を表示させたいlayerがtrueになってない
まず先に[layopt]でそのレイヤーをvisible="true"にしておく、
もしくは[image]内にvisible="true"を入れる、のをうっかり忘れがち

②画像の保存先またはstorageの指定先が間違ってる
デフォルトの指定先であるdata/fgimage/の先にある場所に画像を保存してない、とか
storage="フォルダ名/○○.拡張子"で打ち間違いしてる、とか。
例として、dataからfgimageを開いた中にあるinunekoというフォルダー内に入っている画像:neko.pngを表示させたいなら
storage="inuneko/neko.png"って記述しなきゃいけないってことですね
要するにfgimageを開いた後からその画像が保存されている場所までの経由を全て打ってねという話。
この説明でも何が何だかさっぱりって人は
コンポーネント「イメージ表示」を配置すると欄に画像の指定先が表示されるのでそれを見ればわかるかと。これを丸々storage=のあとに入れてください。

ティラノデフォルトファイルの中に画像入れるとこうなる

③想定外の座標やサイズになってて単純に見落としてる
指定の桁数間違えたり幅が小さかったりすると、
画像同士が重なって先に表示させた方が全く見えなくなってるとか
プレビュー左上のリロードやメッセージウィンドウの下になってて探すみたいなことになります。
左上のリロードボタンはドラッグ&ドロップで任意の場所に移動でき、画面外に出せばその都度消せます。(これ意外と知られていない様子)

[button]タグ(画像ボタン)時の画像フォルダ先の注意

[button]タグを使用した際に使用できる画像データの指定先はデフォルトの設定だとdata/image/の先です。
イメージ画像とは別の場所なので登録してある画像がごちゃごちゃにならないようご注意ください。
該当するのはビルダーの「画像ボタン」、fixレイヤーで使うボタン画像など

名前に全角、日本語、‐ハイフンを使わない

シナリオのラベルやファイルフォルダーや画像(キャラの立ち絵も含む)の名前などに
日本語とかハイフンを使うとビルダー内のスクリプトが上手く機能しなくなったり作品公開時にバグって結局全て名前を差し替えることになりかねないので
多少わかりにくくてもデータ名の段階から半角英数字で一貫した方が結果として楽かと
‐(ハイフン)の代わりとして_(アンダーバー)は使えます


fixレイヤーにボタン作るときの注意

fixと他のボタンとの違い

「分岐ボタン」「画像ボタン」「クリッカブルマップ」と違うのは
・fixはそのボタンが表示されている間でもゲームを進行させることができる
・コール/コールリターンと同じく「リターン」で元の場所に戻ってこられる
この2点かと。
ただそれ故に他のボタン系と異なる仕様も多いのでタグリファレンスの[button]タグの項目をよく確認していただいて…

fixレイヤーは他と別枠

fixは通常の画像やメッセージウィンドウとは違うレイヤーにあるので
clearするときも表示非表示切り替えるときもfixレイヤーを指定します。
[layort]だったらlayer=fix visible=false で非表示にしたり、
[clearfix]を使うとことで文字通りfix内の要素を消せたりします

メッセージウィンドウ消えるとfixボタンも一緒に消えるんだけど?って思った方は2つ下の見出しへ

1度押したらそれ以降機能しなくなるとき

fixボタンで飛んだ先でリターンをせずにジャンプで元のシナリオに戻る仕様にしても、もう一度押しても動かないままボタンだけが置いてある状態となってしまいます。これが起きるときはfixでコールした分のリターンまでもどされてないってことかと。
・「コールリターン」でスタック分全て回収するか
・ティラノスクリプトで[clearstack=call]をしてコールスタックごと全部捨てるかすればという話になるのですが
下の方法は「タイトルに戻る」機能を自作するみたいな一方通行の最終的なゲームリセットのときなど用途限定なので基本的に上の「リターン」で。

メッセージウィンドウとfixレイヤーが連動してて困る

ざっくりとした話、ビルダーにはメッセージレイヤーとfixレイヤーをリンクさせて一緒にon/offするマクロが予め組まれています。
コンポーネント「メッセージウィンドウ表示/消去」は使わず
ティラノスクリプトの[layopt]でメッセージレイヤーを表示/消去する
それぞれのレイヤーが独立して表示されるようになります。
設定弄れる方はビルダー本体弄った方が早い…多分


自分の振り返り用とはいえまとまりのない内容になってますね。

ゲーム全体としては各パートのプレイ時間30分あるかないかで5パート分けくらいにしたいと思っています。
プレイ時間2時間強くらいのボリュームでコンパクトに行きたいです
目標は今年のティラノフェス(あるかわからないけど)に間に合ったら御の字って気持ち


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