対戦機能、実装!
SRPG Studioに新しい機能として、なんと!
対戦機能が登場しました!
ナッシュくん(SRPG Studio公式主人公) VS ナッシュくんの熱いミラーマッチ!!
これ、実は要望を出した一人は何を隠そう自分(もちろんほかにもいたと思いますが)でして、その縁で動作テストなんかにも協力させてもらっていたりしました。
まあ、ブレブレで動くかテストした時に項目消し忘れちゃったことあったので、気付いちゃってる人はいたかもしれないですが……。
なので、ちょっとズルい気もしますが公開直後の今でも割とどんなことが出来るか見えているんですよね!
ということで、この機能を提案した者の一人として、これがどれほど夢のある機能なのか、それをこの記事で具体的に解説していこうと思います!
対戦機能ってどんな仕組み?
この対戦機能というのの正体は、おおまかに二つで、
1.味方ユニットとカスタムパラメータだけを、特別なセーブデータとして出力する機能
2.特別なセーブデータを読み込んで、そのユニットをゲームに出現させる機能
となっています。
要するに一言で言うと、「別のセーブデータのキャラを、今のセーブデータに持ってこられる」ということ。
その本質は「別のセーブデータからのユニット出張」であって、それを利用して「持ってきた別のデータのキャラと、今のデータで戦う」ようにしたのが、公式さんがアナウンスした対戦。
つまり、これは新規機能の用途の一つであって、実はもっと色んなことが出来るんです!
カスタマイズ対戦
いや、色んなこと出来るって言ったのに結局対戦なんかーい!
と、ツッコミが入りそうですが、公式がプラグインとして提供しているのは、「ユニット出張」機能を利用しためちゃくちゃ単純な対戦機能。
公式さんのスタンスとしては、「対戦の土台を提供するから、各製作陣でカスタマイズしてね」という意図がおそらくあり、なので「実際にカスタマイズしたら、対戦でこういう変化球が出来るんだよ」という例の一つとして挙げるのが、この「カスタマイズ対戦」です!
まず前提として、普通にCPUとプレイヤーが同じくらいの戦力で戦ったら、まずプレイヤーが勝ちます。
SRPG StudioのAIはそこまで賢くないですからね。
すると、どんなに頑張った対戦データを出しても、そのまま戦ったんではただのカモ、という訳です。
では、その戦力差を埋めるために、どういうことが出来るか。
その解答の一つとして、「対戦データを出す側が、ステージの構成を自分で考えるようにすればいいのでは?」と考えたのがここで紹介するカスタマイズ対戦機能です!
出力出来るのは、「味方ユニットとカスタムパラメータ」と上で書いたのを覚えているでしょうか。
そして、「カスタムパラメータ」というのは、うちの武器強化機能の記事を読んだ方なら分かると思いますが、割となんでも出来る魔法の機能です。
だから、ユニットのデータと一緒に、ステージに関する諸々の情報をカスタムパラメータに書きこんで出力するファイルに付け加えることで、対戦データ提供側がステージやユニット配置、ユニットの行動なんかをある程度自由に設定出来ちゃうんです!
例えば、フィールドは全部海!
陸地があるのは自分が出力したチームの方だけで、しかもチームメンバーはほとんど遠距離、なんてクソマップも
こうすることで単純に平らな場所でガチンコ勝負をするよりも、歯ごたえのある戦いが出来るはず!
何より対戦データを作る方も、ここをこうして、と考える余地があって楽しいですよね!
言ってみればプチSRPG Studioですね!
フレンドユニット貸し出し
この新機能の仕組みは、実質「ユニット出張」機能というのは上に書きました。
まず、出張したユニットを「敵」として戦わせるのが対戦です。
でも、出張ユニットを、必ずしも敵として運用する必要はないんです。
そこで考えられるのが、出張したユニットを「味方」として使う可能性。
それを利用した一例が、「フレンドユニット貸し出し」機能です!
簡単に言うと、「ほかの人が育てたキャラクターを、自分のキャラクターとして使える」機能。
そんなものもこの新機能を応用すれば実現出来ちゃうんです!
こんな風にキャラを召喚!
同じキャラが二人に!?
もちろん色んな制限を加えないとゲームバランスがぶっ壊れちゃうので何かしらの制限は必要かと思いますが、これは特にNAROUのモンスターや、ブレブレのキャラ育成など、育成にランダム要素の強いゲームによく刺さると思います!
対戦サンプルゲーム公開
と、口だけで言ってもあまり伝わらないと思いますので、実際にそんな機能を実装したサンプルゲームをここに置いておきます。
対戦サンプル.zip (111.95MB)
ダウンロード公式のサンプルゲームを改造したもので、会話のノリなどはそれに合わせているので、公式サンプルゲームをやったことがある人がいるならなんとなく感じはつかめるのではと思います。
……たぶん。
あんまりテストはしてませんが、対戦を繰り返すことでチームを強くすることも出来る……はずです。
まあ、いないと思いますが、ここでバグ報告とかしてくれたら気が向いたらアップデートもするかもしれません。
それ以外の可能性
とりあえずサンプルとして作ったのはこの二つの機能だけですが、それ以外にも色々なことが出来そうです。
例えば……。
・続編へのキャラデータ引継ぎ
別のデータにキャラを移せるということは、「炎の紋章・前編」の一部ユニットの性能を「炎の紋章・後編」に継続したり、「蒼炎のうんちゃら」から続編の「暁のうんちゃら」に一部キャラの性能をコピー、なんてことも出来るんです!
同じゲームのデータかを判別する機能があるらしいので、その辺りをケアする必要はありますが、これは結構有望な機能かなと!
・DLC追加データ
本編とは別のデータ取り込み方法が出来たということは、ダウンロードコンテンツみたいなことが出来ます。
例えば、対戦用データとして、ゲーム制作側が用意した追加キャラを販売。
それを本編に読み込むと、DLC限定キャラが仲間に!とかいう感じですね。
キャラデータのほかにカスタムパラメータも扱えるので、解除キーという形にすれば、読み込むとDLCマップを解放、みたいなことも出来ます。
そのほか、工夫次第で可能性は無限大!
とにかくゲーム製作側としては一気に夢が広がる機能です!
対戦機能の制限と課題
こんな素晴らしい機能である対戦機能ですが、ちょっとした欠点というか、限界みたいなものもあります。
この機能は特別な形にしたセーブデータをやりとりする機能だと伝えましたが、対戦データの受け渡しや公開をする仕組みは各ゲーム製作側が作らないといけないんですよね!
まあ技術力のある方ならゲームから直接ネットにアクセスさせることも不可能じゃないんでしょうが、基本は手動でデータをぽちぽちやるのが前提。
相当にプレイ人口が多いゲームが、頑張ってそういう場を作らないと、対戦だとかフレンド貸し出しだとかは成り立たないということになります!
実際に純粋な意味で「対戦」を出来るのは、かなりハードルが高く感じます。
なので個人的には、対戦そのもの、というより、この機能を応用した対戦以外の活用法に注目していきたいな、と考えています!
実際の実装
さて、どちらかというと、今回はプレイヤーの人向けというより、SRPG Studioを持っている人向けの内容になってしまった気がしますが、いかがだったでしょうか。
では今後、こちらのゲームにこの機能をどう取り入れるか、ですが、NAROUもブレブレも、あまり人と競って、という感じで作ったものではないんですよね。
だから「別の人のキャラと対戦」よりも「別の人が育てたキャラが使える」という部分に期待をしています。
もちろんそのまま持ってきちゃうと、「能力値100くらいの時点で、能力値100万のばけものがやってきてゲームバランス崩壊!」なんてことになりかねません。
だから、NAROUならモンスターの成長タイプとスキルのみ、ブレブレなら「人物」登録相当の状況のみを扱って、送った時点での強さは反映しない感じになると思いますが。
とはいえ、やっぱり対戦も夢があるとは思うので、実装については、
1.NAROUファンタジーで他人が育てたモンスターと対戦する機能
2.ブレブレで、他人が育てたキャラクターを自軍で活用する機能
ひとまずこの辺りを考えています!
お楽しみに!