武器強化システム大幅改造!!(ブレブレ)
「そういえばいつもふわっとした話ばっかりしてるなー」と思い至ってしまったので、今回は割とガチなゲーム製作話をします!
と、いうのもですね!
最近武器の強化システムを大幅に作り直したんですが、それがめっちゃくちゃ大変だったんですよ!
どうして大変だったかというと、「プログラム素人だから」というのが一番の理由なんですが、そもそもの話として、SRPG Studioでランダム性能武器を作ろうとすると結構難しいんですよね!
ということで、「SRPG Studioでハクスラゲームを作るには」というところに焦点を当てて、製作のいつもよりガチな内容をちょっとだけ書いてみようと思います!
SRPG Studioとは
まず根本的なところで、SRPG Studioって何かというと、SRPGが作れるPCソフトです。
SRPG Studio販売ページ
このツールの優れた点は色々ありますが、特に出来上がったゲームの操作性がめちゃくちゃいいのが特徴で、そのせいか近年のSRPG製作ツールはこれに一本化されてる感じがありますね!
ただ、SRPGなら何でも作れるかというと必ずしもそうではなく、ファンタジー世界でユニットを動かして殴り合う「手ごわいシミュレーション」の製作に向いています。
マス目で区切られたマップでターンバトルを行う、ファイアーエ〇ブレム方式のゲームが作れる
たまーにネットとかで、「これじゃSRPGスタジオってよりファイアーエ〇ブレムツクールじゃねえか!」って怒ってる人を見かけたりするんですが……その通りです!
というかこれは完全に私見ですが、出来るんだったら作者の方も「ファイアーエ〇ブレムツクール」って名前で出したかったんじゃないかと思うんですよね。
そっちのが分かりやすくてみんな買いそうですし。
でもそんな名前で出したら、任〇堂とKAD〇KAWAからダブルで訴えられる地獄が発生しますからね!
だからこれは「ファイアーエ〇ブレムツクール」ではなく
「SRPG Studio」なんです!
SRPG Studioの拡張性
ではそのSRPG Studioで実際どんな風にゲームを作っていくかと言うと、こんな感じです。
これがSRPG Studioの設定画面。画面が黒いのはダークモードをオンにしているため。
ここに出ているのはみんな大好き主人公くんの設定画面ですが、こんな感じの画面に細かい入力項目があって、そこをポチポチといじって設定していきます。
ここを設定することで、主人公くんの初期スペックが決まってくる、ということですね!
……ただ、ブレブレをやっていた人は「おや?」と思ったのではないでしょうか。
そう、この画面にあるのはLvやHP、力や魔力といった項目だけで、ブレブレにあった「ライフ」「スタミナ」なんていう要素を入れる場所がないんです!
画面にある「ST(スタミナ)」「♡♡♡(ライフ)」も、「晩成2(成長タイプ)」「疲労」「反撃回数」も全て独自仕様で、デフォルトのツールだけでは作れない!
ライフやスタミナなんてのはSRPG Studioのデフォルトの機能にはないんですが、じゃあどこで設定しているの、と言われると、画面下部にあるカスタムパラメータです!
このカスタムパラメータのボタンから設定する
このカスタムパラメータはまさに「自分でカスタム出来るパラメータ」!
当然機能拡張には重要で、ここを使えば自分で自由なパラメータが作れます!
ここに例えば {stamina:100} と書いて、あとはそれに対応するプログラムを書けば(それが難しいんですが)、ゲーム内のそのキャラにスタミナという新しい要素を入れることが出来ます!
ユニットのライフやスタミナ、スキルの習得レベルや成長の方向性、性格や親密度、ついでに奥義の情報なんかも全部このカスパラ……カスタムパラメータにぶち込んで実現させている、ということです!
絶体絶命!封じられたカスタムパラメータ!
勘のいい人はお分かりでしょう。
「武器にランダムな性能をつけるにはどうすればいいか」の答えの一つは、「武器のカスタムパラメータに色々と特殊な設定を書き込む」となります!
そして、実際にツールの設定画面を見てみると
武器にも確かにカスタムパラメータはあります。
ただ、ユニットと違ってアイテムは「同じものが複数出てくる」ことがあります。
つまり、ここで「鉄の剣」のカスパラに「攻撃力100アップ」という内容を書き込むと、あらゆる人が持っている鉄の剣の攻撃力が100アップしてしまうんです!
例えば主人公が持っている鉄の剣をパワーアップさせたいと思ってここでカスパラに攻撃アップを書き込んだら、敵の骸骨剣士が持っている鉄の剣まで強くなってしまったみたいなことが起こってしまう訳ですね。
求めているのはランダム性能武器によるハクスラ要素。
つまり、「同じ武器だけど性能が違う」武器を厳選して楽しむことが出来ないといけないので、全部に適用されてしまっては意味がありません。
じゃあ、どうするかというと、このデータベースではなくて、個人が持っている武器に直接カスパラを書き込めばいいんです。
データベースでいじれるのは「鉄の剣全て」ですが、イベントやプログラムを使って「主人公が持っている鉄の剣」だけを直接いじるというイメージですね。
……ただ、ここで立ちはだかるのがSRPG Studioのアイテムの独自仕様です。
ゲームに登場するアイテムはゲームをロードした時、大元のデータベースにある武器データを参照して作り直されるみたいなんですよ!
つまりこの方式で進めると、仮に主人公が「攻撃力100高い鉄の剣」を見つけてやったーとなっても、一度ロードをはさんでしまうと、強かったはずの鉄の剣が「普通の鉄の剣」に変化してしまう、なんて事故が起こってしまうんです!
耐久型ランダムアイテム!
カスタムパラメータが保存されないなら、もうお手上げなのか……。
いえ、そんなことはありません!
SRPG Studioのアイテムにもたった一つだけ、個別に保存されるパラメータがあります!
それが「武器の残り使用回数」です!
参考元であるファイアーエ〇ブレムをやっていれば分かると思いますが、あのゲーム、武器には使用回数があって、0になると壊れてしまいます。
いえ、シリーズの中では壊れないものもあったりもしますが、重要なのはこのパラメータが「武器の種類ごと」ではなく、「個別の武器ごと」に管理されていること。
考えてもみてください。
「鉄の剣」全体で使用回数を共有していたら、「主人公の持っている鉄の剣を使ったら、敵が持っている鉄の剣の使用回数が減った」みたいなアホなことが起こってしまいます!
だから、使用回数については「鉄の剣」全体ではなく、「主人公が持っている鉄の剣」や「敵の傭兵が持っている鉄の剣」の使用回数を別のものとして管理しているんです!
賛否両論あるシステム。強い武器ほど使用回数が少なく、簡単に壊れがち。
こうなればあとは簡単です!
どうせブレブレには武器の使用回数はないので、この使用回数のパラメータを「武器の強化度を示す値」として代用してしまえばいいんです!
仕組みは単純明快!
例えば、元の武器から「威力を三段階強化、命中を二段階強化、必殺を一段階強化」させたいのであれば、その武器の残り使用回数を「321」にします!
本来であれば残り使用回数は使う度に減りますが、プログラムをいじって武器が壊れない設定にすればずっと321のままなので問題なし!
あとは「武器の攻撃力に、武器の残り使用回数の百の位を足す」ようなプログラムを追加しておけば、使用回数をいじるだけで武器の威力をアップさせられます!!
こうして、ついに「ランダムな性能を備えた武器」をブレブレに実装させられたのです!
耐久型の限界と救世主
ただし、この「残り使用回数を強化度として使用する」方式には、明確な欠点があります。
残り使用回数の設定可能な上限は「99999」。
桁が5つに数字は9までなので、「5つの項目を9段階まで強化する」のがこの仕様の限界で、例えば「一つの項目を20段階まで強化したい!」「数字で表せない能力を持った武器を作りたい」なんていう要望には応えられないのです!
「耐久」と書かれているのが武器の使用回数の最大値。
99999は武器の使用回数としては多いが、強化の度合いを表すには少し物足りない。
その問題を解決するため、今度は使用回数をアドレス代わりに使って、強化度合いは別の場所から引っ張ってくる方式なども考えていましたが、どうしても煩雑になります。
どうしたものか、と悩んでいましたが、しかし、答えは外からもたらされました。
全てを解決に導いたその答えというのが、有志の方が作ったプラグイン。
「SRPG Studio界のトリ〇コンタン」と名高い(?)あの名前未定(仮)さんが作った武器強化プラグインです!!
武器強化プラグインとは
プラグインというのは、いわゆる拡張プログラム、
SRPG Studioのフォルダに放り込むだけで、今までになかった機能を追加してくれるありがたいアイテムです!
では武器強化プラグインというのが何かというと、まさに名前の通り!
これを導入すると、武器を強化出来るショップがゲームに追加されるんです!
これが導入した場合のサンプル。簡単な設定ですぐに武器強化が出来る。
自分で強化システムを実装するのにかけた労力を考えると、このプラグインはめちゃくちゃすごい……んですが、画面をよく見てください。
強化項目は「攻撃・命中・必殺」の3項目だけ。
強化の段階は10段階。
ぶっちゃけ、99999で表せる強化と大差ありません。
これだとわざわざ武器の使用回数を使った強化から、こちらのプラグインの強化方式に乗り換える理由がないんです!
しかし、プラグインの中身のプログラムを見ると、考えは変わりました!
自作していた「武器強化システム」は、武器の強化度合いを無理矢理武器の残り使用回数にあてはめる、という苦肉の策によって実現したもの。
ですが、しっかりとしたプログラムが作れる人が作ったこのプラグインは、そこが違いました。
この記事の中で、「武器の個別のカスタムパラメータはセーブされない」と書いたと思いますが、このプラグインは、まさにその基本構造を根底から覆す代物!
おそらくですが、独自の方式を用いて武器個別のカスタムパラメータをパッケージ化、ロード時にそれを解凍して適用させることでカスタムパラメータを再現するものであり……まあ要するに、「武器の個別のカスタムパラメータを保存する」機能をつけることで、武器の強化の度合いを保存していたのです!!
新しくなった武器強化システム
このプラグインを使わせてもらうことによって何が変わるのか、と言えば、全てです!
特に重要なのは保存の仕組みで、このプラグインをベースに改造をしていけば、「武器の個別のカスタムパラメータを使って、好き勝手に武器の強化機能をつけられる」んですよ!!
とはいえ、既存のプラグインをいじるのにも多少のプログラム知識が必要になりますし、何より改変にはめっっっちゃくちゃ手間がかかります!
具体的に言うと、推定で小説を10話書くくらいの労力をかけて何とかシステムを改修。
いまだにあふれ出るバグに悩まされながらも、ひとまず武器強化の方式を「武器耐久保存式」から自由度の高い「カスパラ保存式」に変えることが出来ました!
そうして生まれ変わった武器強化システムが、こちらです!
どうでしょうか!?
アホみたいに高い強化上限!
訳の分からないほどの種類の強化項目の数々!
そして、それらがそのまま詰め込まれた目に優しくないUI!
でも、ここには5項目9段階では表現しきれなかった夢があります!!
ちなみにさっき鍛えていた武器のスペックがこれ↓
八倍近い攻撃力上昇値を筆頭に高水準の能力を持ち、さらにランス特性まで備えている上に通常攻撃が三回攻撃な鉄の剣!
「鉄の剣の姿か? これが……」
「はぁ~、武器強化しょっぼ! ファミコン時代のゲームかよ。ディスクシステムからやり直せよほんま」とため息をついていた脳内厄介プレイヤーもこれにはにっこり!
これで誰にでも存分に強化沼に浸かっていただけることでしょう!!
終わりに
初めてゲーム製作の具体的な内容について触れて説明してみましたが、どうだったでしょうか?
これでもまだ説明が全然足りてないんですが、正直真面目に製作の中身をまとめると時間かかる上に読み物としてはぶっちゃけつまんなくなるんですよね!
とはいえ、これを読んだ方が、なんとなく製作の空気感的なものが感じ取れていたら幸いです!
あ、ちなみにこの記事で触れたブレブレ試験版はこちらのページで公開中です!
ぜひ新しい強化システムを試してみてください!