見出し画像

ティラノビルダーでシミュレーションゲーム作ってる話

Twitter(現X)でこの動画を上げたら、どうやって作ってんの? 的な反応があったので雑な説明を。
結論から言うとスクリプトがあんまし使えなくても変数が使える人なら根気があれば作れます。
※細かい事はスルーしてください。私はスクリプトあんま知らないビルダー民なので、間違いや非効率の極みがあるかもしれません。何となくこんな感じだよ~ってだけの話です。

まずはマップを準備。このイラストは縦6マス×横10マスです。
で、マス一個一個にナンバー(変数の値)を振り分けます。
例えば f.a_itiっていう変数の値が12 だと 、キャラaが1行目の2列目に居るよ~みたいに自分で分かりやすい変数を作ります。
f.b_iti =35 だとキャラbが左から3番目の上から5番目に居る感じで、数字のルールは統一。キャラごとに変数名を変えます。


あとは上の画像の感じで条件付きジャンプをひたすら作る。
さっきの説明より名前が長いですが、ha1ってキャラの位置が11だと11ってラベルにジャンプ。12だとラベル12するだけ。
数が多いから作るのめんどいけど、やってることは単純。

で、ジャンプ先がこんな感じ(下の画像)。
スクリプト打ってますが、要するに画像ボタンです。細かい演出を抜けばコンポーネントの画像ボタンでOK。
スクリプトの下にあるジャンプの先はただの停止と思って下さい(実際は条件を満たすと伏兵のコマンドが出たりしてますが、ややこしいので割愛)

で、その画像ボタンが赤い枠です。ここでは7個出てます。

んで、その移動先に仲間が居ると一個前(さっきの画像ラベル12とか)に戻る(キャンセルされる)条件付きジャンプを入れたり、敵と被ってたら攻撃の画像ボタンが出る条件付きジャンプを作ります(条件の例 f.a_iti = .teki1_iti)(キャラaの位置が敵1と被ってる)
で、誰も居ない状態だと画像ボタンのジャンプ先にキャラ画像の移動、移動先のマスの変数を代入(左上の赤枠だとf.a=74、キャラaが7列の4行目に移動したって意味)なんかを作ります。
あとはそのマスの地形効果(森林だと防御力ちょっと上がる)とか、そのマスに居ることで入れたい要素を足します。
あとは次のキャラにバトンタッチで同じことを繰り返す感じ。

うん、何言ってんのか分かんないですね。元の仕組みは単純ですが説明難しいです。
せめてビルダーの基本機能で殆どのことが出来てるのが伝わってるといいな……。
やってることは変数と条件付きジャンプやコールが殆ど。実際はマクロとかも使ってますが、所詮スリム化程度の話。コールでも代用できるレベルです。

これ作ってて最も大変だと思うのは変数なんですよね。
兵士数、武将の武力などの能力、地形効果だったり歩兵か弓か攻撃の種類は突撃か、各キャラの位置関係、時間経過に昼夜、天候、……など色々な要素があります。それは普通のノベルゲームではありえない複雑さで、しかもそれをキャラの数だけ作る……のは大変なので上手いこと統合して軽量化したり簡略化したり諦めたりしてます。
スクリプトは苦手でも誤魔化しと力技で大体何とかなる!

そんな中、簡単でありながらかなり使えるスクリプトをご紹介。ビルダーの変数コンポーネントでは厳しい、ややこしい計算をスムーズに行えてるっぽいです。
参照はこちらの記事。難しいことも書いてありますが、終わりの方にあるiscriptは超簡単です。
(絶妙なタイミングの記事、ありがとうございました!)


f.nyuuryoku10 = f.ha1_heisuu * 0.0005 * f.ha_senryoku * f.ha1_buryoku
入力10= キャラ1の兵数 × 0.0005 × 戦力 × キャラ1の武力
( * これが掛け算、/ これ割り算、 + 足し算、- 引き算)

これはダメージ計算の一部なのですが、Twitterに上げた動画の裏ではこんな計算が色々入っています。それでもあのくらいの動作はしてくれます。
ビルダーの一個のコンポーネントでは変数に一個の変数を掛けて、また次のコンポーネントで別の数字を掛けて仮置きの変数を新たに作って……を繰り返すなど、ややこしさ倍増で処理落ちの危険が高まりそうです。
これ、今回唯一必要なスクリプトと思ってます。

iscript ってやつに f. をつけた変数名を入れて計算式を書くだけ。スクリプトは超簡単。計算がめんどいだけ。
なんか実行ってボタンがあるんですけど、放置してても動きました(何に使うんだろ?)
ティラノスクリプトのコンポーネントに
[iscript]
f.nyuuryoku10 = f.ha1_heisuu * 0.0005 * f.ha_senryoku * f.ha1_buryoku
[endscript]
って打ってもほぼ同じ動きですが無駄な文字数が増えます。

どうやって作ってるか少しは伝わったでしょうか? あとこれに記事の表紙である内政なんかもありますが、もうお腹いっぱい。
ちなみに本格的なやつは厳しいかと。欲張ると動作が激重になると思います。

あとレトロ風画像にすることで画像が超軽くなってるのも大きいかも。今回は2ピクセルのドットですが、ファミコンイメージならもっと軽いです。
そして古い感じのゲームなので多少カクカクした動きが許されるどころか逆に味になってる気がします。わざとやってる部分もあります。

他に少ないマップのRPGも作れると思います。余程でなければシミュレーションゲームより変数が少なくて済むはず。
ただ、ノベルゲームエンジンで作ったことは後悔すると思う。私はとっくに後悔してる。

以上、雑な説明おしまい!

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