![見出し画像](https://assets.st-note.com/production/uploads/images/154885478/rectangle_large_type_2_5d6902dfe3f2bf9302d15e03f5c000f7.png?width=1200)
【UEFN】50ラウンドの内、たまにすぐにラウンド終了するラウンドが出てしまうへの対処法
◆状況の詳細
●一人でプレイをする場合は起こらない
●すべてのラウンドで起こるわけではなり、10%から30%ぐらいの確率で起こる
・待機場で16人に1つのクラスセレクターを割り当て→30%の可能性でラウンド終了
・待機場で16人に一人ずつクラスセレクターを割り当て→100%でラウンド終了+ラウンド1でゲーム終了
●考えられる仮説
・一つのテレポーターや、ミューテーターゾーン、クラスセレクターに複数人が入るとそのような現象が起こる場合がある。
→比較的クラスセレクター関係で起こるイメージがある。
・クラスデザイナーのスポーン上限と少し関係している可能性もある。
◆結論┃確証度75%
・現在検証中。情報収集中の情報は以下「情報収集・検証中」よりご確認ください。
●◎4チームに分かれている場合は、同じチームになったときにゲームが終了する設定になっている
・この設定でよければこの設定のままでもよい
・島設定で、チームを4チームに設定をして「均等」に設定をすると、同じチームに配属されて、即ラウンドやゲームが終了するのを回避できる。
●△ミューテーター→テレポーターを使わずに直接、
クラスセレクター→テレポーター転送→テレポータ受信
と検討中です。
●△複数のテレポーターを準備をしてみる。
・この方法は、最終的には不要だった気がします。まだ確証度はあまり高くないですが。
◆youtubeチャンネル┃UEFN・UE5について発信
◆情報収集
❒状況
●一人でやるときは、30回に1回ぐらいでる
●2人でやるときには30%ぐらいの確率で出る。
●他にも、待機場で4つの内1つのクラスセレクターに入るとラウンド終了するなどの誤作動的な挙動がある状況である。
❒仮説の言語化→タスクに変換→実行
●島設定、ラウンド設定、クラス設定を確認してみる。
・島設定┃特に設定されていない
![](https://assets.st-note.com/img/1726893537-HWlQEh7i4SrFTXfAvozpJ9bU.png)
・ラウンド設定┃特に終了は設定されていない。
![](https://assets.st-note.com/img/1726893690-fmMXDh5eIUO6v1GoARVN9Q8T.png)
・クラス設定の確認┃これで一回検証をしてみる。
→クラス1に変更されたときや、スポーンしたときに、リスポーンとなり、残りのスポーン回数が0になったラウンド終了する可能性は?
●クラスに複数人いったときに、この現象が起こる可能性がある。
→クラスの設定を確認してみる。
●あと特定のクラスセレクターに特定の人が入るとこの現象が起こる可能性がある。→クラスの設定を確認してみる、
●スポーンパッドのゲーム前とゲーム開始は、各ラウンドごとにどのように管理されているのか?→調べてみる
●スポーンパッドかクラスセレクターの切り替え?関係でラウンド終了する可能性がある。→スポーンパッドとクラスセレクターの設定を確認してみる
●検索AIでUEFNのラウンド終了に関する設定を全て洗い出して全部確認をしてみる。→やってみる
●可能性┃テレポーターを人数分配置したため改善する可能性がある。
●仮説┃一つのスポーンパッドやテレポータに二人がはいると、ゲームが一人であると認識をして終了をする可能性がある。
◇第2回目の検索
❒felo┃確認トップ30
UEFNでラウンドが即終了する問題を修正するために、ラウンド終了に関する設定や関連するデバイスを確認する必要がある。以下に、関連する設定やデバイスを箇条書きでまとめる。
×Island Settingsデバイス: コンテンツドロワーから「Fortnite > Devices」にあるIsland Settingsデバイスをマップにドラッグして配置する。ラウンド終了の条件を設定できる3633。
×End Gameデバイス: 特定のイベントでラウンドを終了させるために使用する。Activateイベントを呼び出すことでラウンドを終了できる278。
×ラウンド設定デバイス: ラウンドの設定を変更するためのデバイス。特定のラウンドの設定を変更し、ウンド終了の条件を設定できる4612。
Verseスクリプト: end_game_deviceクラスを使ってプログラム的にラウンドを制御する。EndRound関数を条件に応じて呼び出す213。
ストームデバイス: ストームのフェーズごとにゲーム性を変更するためのデバイス。ストームのフェーズ設定や終了時の挙動を設定できる1。
プレイヤースポーンパッド: プレイヤーのスポーン位置を設定するデバイス。ゲーム開始時やリスポーン時のスポーン位置を設定できる142247。
テストとフィードバック: 実際にプレイしてラウンド終了時の挙動を確認し、プレイヤーの反応を基に設定を調整する2。
クラスデザイナー: ゲーム中にプレイヤーのクラスやアイテム状態を管理するデバイス。ラウンド間でのプレイヤーの状態を適切に管理する4。
ラウンド終了時の演出: ゲームやラウンドを終了させる際の演出をカスタマイズ可能4。
ラウンド終了の予約機能: ラウンドの開始・終了の予約機能を利用する32。
ラウンド終了時のデータ転送: ラウンド終了時にデータを転送する設定18。
ラウンド終了時のスコア保存: ラウンド終了時にスコアを保存する設定34。
ラウンド終了時のトロフィー表示: 特定の条件でラウンド終了時にトロフィーを表示する設定37。
ラウンド終了時のクラス変更: ラウンド終了時にプレイヤーのクラスを変更する設定4。
ラウンド終了時のデータ保存: ラウンド終了時にデータを保存する設定34。
ラウンド終了時のクラスリセット: ラウンド終了時にプレイヤーのクラスをリセットする設定4。
❒Genspark(検索AI)┃確認できること30個出す→厳選
△クラスデザイナー: プレイヤーが使用するクラスを設計するためのデバイス。クラスごとの能力やアイテムを設定できる7
◎リセットクラス毎ラウンド: 各ラウンド開始時にプレイヤーのクラスをリセットするかどうかの設定。この設定によって戦略が変わる7.
・筆者追記┃これはやってみる価値がある。?有効化イベント管理: 特定の条件下でイベントが発生するよう管理できる機能。これによってゲーム内で動的な要素が増える7.
❒perplexityAI┃確認できること30個→厳選
〇クラスセレクターの設定と使用可能クラス
筆者追記┃不要なクラスの切り替えをなくしてみる。プレイヤーエリミネーションの処理
リスポーン設定
トリガーデバイスの設定
プレイヤーカウンターの使用
チームセッターデバイスの設定
マッチメイキング設定
ゲームループの構造
イベントリスナーの設定
カスタムイベントの使用
エリミネーションマネージャーの設定
ゾーン設定とプレイヤーの相互作用
アイテムスポナーの設定
プレイヤーインベントリの管理
ダメージ処理の設定
プレイヤースポーン時のイベント
ゲーム状態マネージャーの使用
ネットワーク同期設定
◇第1回目の検索
❒CHATGPT
済┃全ラウンドの終了条件を確認して、何か予期せぬ条件で終了しているかチェックする。
トリガーやイベントの条件を見直して、意図しないタイミングでラウンドが終了する原因を探す。
プレイヤーの全滅や特定のアイテムを拾った場合の条件など、ラウンド終了のトリガーが正しく設定されているか確認します。
ゲームの進行をテストし、特定のラウンドでの挙動を細かく確認する。
50ラウンド全体のバランスや問題点を見直し、ラウンドが早く終了しやすい箇所があれば調整する。
可能であれば、他のクリエイターにフィードバックを受け取り、問題が再現するかどうかを確認する。
ログやデバッグ情報を使って、ラウンドが終了する瞬間にどの条件が発生しているかを確認する。
❒perplexity
UEFNで50ラウンド中にたまに即座にラウンド終了するケースへの考えられる対処法を以下にまとめる:
• 済┃エンドゲームの仕掛けの設定を確認し、不適切なトリガー条件がないか精査する。
•△ ラウンド設定デバイスを使用し、各ラウンドの最小継続時間を設定する。
• 済┃スコアマネージャーの設定を見直し、意図しない勝利条件が発生していないか確認する。
• 済┃IslandSettingsでラウンド終了条件を適切に設定し直す。
•? Verseスクリプトでラウンド管理ロジックを実装し、最小ラウンド時間を強制する。
→筆者追記┃確認してみる価値がある
• ?デバッグログを追加し、予期せぬラウンド終了の原因を特定する。
→筆者追記┃確認してみる価値がある
• 済┃プレイヤーのスポーン処理に問題がないか確認し、適切なスポーン地点を設定する。
• 他のデバイスやトリガーとの予期せぬ相互作用がないか調査する。
• テストプレイを繰り返し、再現性の高い条件を見つけ出す。これらの対策を順次試し、問題の根本原因を特定して修正することが重要だ。
❒Genspark
UEFNでラウンドがすぐに終了してしまう問題に対処する方法をいくつか考えてみた。
ラウンド終了のトリガー設定: IslandSettingsでラウンド終了の条件をしっかり設定する。撃破数や時間制限を明確にしておくといい。24
エンドゲームデバイスの活用: 特定のイベントでラウンドを終了させるエンドゲームデバイスを使う。勝利チームの判定やカスタムメッセージも設定できる。13
Verseスクリプトの利用: end_game_deviceクラスを使ってプログラム的にラウンドを制御する。EndRound関数を条件に応じて呼び出す。35
プレイヤーの状態管理: ラウンド間でのプレイヤーのクラスやアイテム状態を適切に管理する。"Keep Items Between Rounds"オプションを活用する。14
テストとフィードバック: 実際にプレイしてみて、ラウンド終了時の挙動を確認し、プレイヤーの反応を基に設定を調整する。
❒felo
・保留
❒youtube(英語動画も)
・保留
❒Google
・保留
◆youtube
◆仕事の依頼は「X」(旧Twitter)まで
UEFNマップ制作・Unreal Engineゲーム開発・産業メタバース案件の制作受注しています。