1
/
5

VRSNS上で1インスタンス62人収容の対戦格闘ゲーム大会を実践してみた反省


ムシコロリです。

以前『VRSNS上でオンライン対戦格闘ゲームを制作してみてわかったこと(同期編)』と題したVR格闘ゲーム製作についての記事を書かせていただいたのですが、今回はその続きです。
参考URL:https://www.wantedly.com/users/163384756/post_articles/418878?utm_source=t.co&utm_medium=share&lang=ja

昨日8月7日にVRChatの一団体である『VRChat関西部』様とコラボしたVRChatボクシング大会を開催させていただきました。
 ほとんどの出場者が初心者というビギナー向け大会でしたが、ある程度スタッフ数と参加人数が確保できることから、8月21日に開催される『Vket 2022 SUMMER杯』に向けてのスタッフリハーサルも兼ねて行われました。
 今回は、そんな大会をいざ開催してみたときに発生した大人数インスタンス特有の問題や、よかったこと等をつらつらと書いていきます。大会の内容にはあまり触れず、記事全体は短めです。

1.よかったこと
(1)インスタンスの最大人数60人収容してもボクシングギミックが壊れなかったこと
 ゲームはクラッシュするものです。クラッシュすることを前提として制作しなければ、エラーが出た際にゲームの復帰手段が存在しません。逆に言えば、あらかじめ壊れやすいところをふさいでおけばゲームは動作します。
 昨日は60人もの方々がインスタンスに入り、各々が好きなように動いていました。アバター負荷の制限もかけていなかったため、おそらく通常よりも高負荷な大会になっていたと思います。
 その中でも2時間弱ギミックが壊れなかったのは素直にうれしかったです。

(2)ワールドの評判が想定よりよかったこと
 一部アセットを除き大会ワールドはほぼほぼワンオフで製作したのですが、その評判が思ったより良く、大会終了後に褒めていただけることが多々ありました。

(3)スタッフが場慣れしていたこと
 今回は完全新規の会場ではあったのですが、もともとVRChat上に存在するボクシングゲームで大会を運営していたこともあり、多少に問題があってもスタッフが上手く対応してくれました。自分はSE・演出担当だったのですが、ステージ上から見て特に大きな問題等は見られませんでした。

2.ダメだったことと対策
(1)ボクシングギミック周りの詰めの甘さが目立ったこと
 ボクシングゲームはもともと平均30人程度の運用想定で負荷もそれに耐えうるものにしてはいたのですが、その倍の人数が入るとネットワーク系処理の負荷が著しく高くなり、それが原因なのかSEが複数回鳴ったりダウン処理がやたらと重くなっていたりと、大人数を入れないとわからなかったプログラム上の詰めの甘さを見つけることができました。
 「設計時点で気づけよ」という話ですが、30人入れて「ちょっと重いかなー」くらいの負荷で動いていたので油断していました。昨日この問題の修正を行い、より厳密なダウン処理を実装しました。

(2)60人もいると選手のPC負荷に甚大な影響が出ること
 これが最大かつ甚大な問題でした。ギミックは壊れていなくても、プレイヤーのPCが重いと競技になりません。一部プレイヤーからは「ゲーム中にたくさんの人数を目に入れるとFPSが6~10FPSになる」という声もあり、どうにか対策が必要でした。
 ゲームプレイヤーから他プレイヤーを見れないようマジックミラーのようなものを設定するか、VRChatの設定だけでどうにか乗り切るかを模索中です。
 VRChat側の設定で、一定以上のポリゴン数やマテリアル数があると負荷が軽いアバターを代わりに表示する「フォールバックアバター」の設定閾値を下げることでかなりの負荷軽減ができることがわかったので、次のリハの際に試してみます。

(3)配信用ギミックの配置がよくなかったこと
 8/21の本番、Vket杯ではyoutube配信を行います。そのために配信用カメラスイッチャーギミックを制作し実際に動作させてみたのですが、配置がどうにもよろしくなく音声バランスやカメラのスイッチングが上手くできないという声が配信班から上がりました。
 実際のカメラスイッチングの方式を勉強して作り直してみます

3.最後に(宣伝)
8月21日にVRSNS『VRChat』上でボクシング大会『Vket 2022 Summer杯』を開催します。
できれば会場で、もしくは配信でご覧いただけると嬉しいです。
誰が見ても楽しめるような大会にしますので、どうぞよろしくお願いいたします!