現在取り組んでいるパフォーマンス最適化の一部として、私たちは多くの時間をシロディールに関する問題の分析および改善に費やしてきました。
この記事ではここ数年で起こった出来事や、問題を解決するために私たちが行ってきた取り組み、そしてこれからの計画などをご紹介します。
ESOのサーバーパフォーマンスに関してお話しするにあたり、ゲーム内のすべてのアビリティ(一部の例外を除く)の使用回数に「ソフト」な制限があることを理解していただくことが大切です。
まず、「ハード」な制限があるアビリティの例としては、2秒に1度しか使用できないようにサーバーに制限されているアビリティなどが挙げられます。
ESOではこのようなアビリティの数は少ないため、その代わりとして「ソフト」な制限のアビリティを設けました。
これらのアビリティは、詠唱するために必要なスタミナやマジカのリソースがある限り好きなだけ使用することができます。
これらすべてのアビリティにはグローバルな「クールダウン」時間があり、それは1000ミリ秒に設定されています。
ゲーム内にソフトな制限を設計する上での私たちの目標は、選択肢に応じてより高い頻度でアビリティを使用することができるビルドを作成可能にし、ダメージや秒ごとの回復に対する厳しい上限を設定しないことです。
これにより、プレイヤーの皆さまに操作性を多く与えることが可能な楽しくて興味深いシステムが誕生します。
しかし、リソースの徹底的な制限が強制されない場合、プレイヤーが多くのアビリティを短い間隔で(そして連続して)詠唱することが可能となってしまいます。
ここ数年に渡って、プレイヤーが持つ力が大幅に拡大しています。
チャンピオンシステムや様々な防具や武器のセット、そしてアビリティの変更などによって、適切なビルドを構築するプレイヤーがほぼ無限にアビリティを詠唱することができます。
敵への攻撃に集中するメンバーと回復や再生に集中するメンバーの両方がいる非常にバランスのとれたグループに所属している場合、アビリティの詠唱を永遠に続けることが可能となります。
上記を念頭に置いて、範囲攻撃アビリティがどのように機能するのかをご説明します。
プレイヤーはアビリティを詠唱する時、まずは特定のターゲットエリア(多くの場合は詠唱者の周辺)を定め、次にターゲットを見つけた上でアビリティを発動します。
そして、これらの各ステップごとにサーバーによる計算が行われています。
ESOのリリース当時は、スタミナやマジカの制限により多くのプレイヤーが範囲攻撃を慎重に使用する必要があったため、シロディールは詠唱される複数の範囲攻撃を問題なく処理することができました。
しかし、次第にプレイヤーの皆さまの知識が増え、回復専用ビルドがより強くなったことにより、これまで以上にプレイヤーがリソースを使い果たすまでにより多くの範囲攻撃を使用できるようになりました。
ここ数年、私たちはシロディールに関する多数のパフォーマンス問題を発見し、修正を加え続けてきました。
重大な問題を一つ修正すれば、再び新たな問題が現れる。
そのようにして、私たちはアップデートごとに新たな問題を発見しては修正を加え続けています。
しかし、根本的な問題が一つ残っています。
ある時点から、基準値を超えた数のプレイヤーがリソースを使い果たすことなく、無限に範囲攻撃アビリティを詠唱することができるようになったことです。
これはプレイヤーの皆さまの知識、ビルド、そしてチームの構成などが組み合わさって発生している現象となり、多くのプレイヤーが他の種類のアビリティを使用せずに範囲攻撃を次々と発動し続けるという結果となっています。
私たちはこれらの現象を意図していませんでしたが、思いもよらない強力なビルドを作成できることもElder Scrollsの楽しみの一つであるため、私たちはこれらの問題を許容しました。
しかし、非常に小さなエリア内で多くの範囲攻撃が連続して詠唱されることがより一般的になると共に、次第にサーバーの処理が追い付かなくなりました。
その結果として「ラグメーター」の数値が上がり、サーバーが一時的に無反応となる現象が発生するようになりました。
私たちはアップデート第22弾でこの問題に対処し始め、まずは範囲攻撃アビリティの計算における複数の問題を発見し(そして修正し)、パフォーマンスの向上に取り組みました。
これにより問題には(ほぼ)対処することができましたが、より多くのプレイヤーが最大チャンピオンレベルに到達し「連続範囲攻撃」を使用し始めたことにより、問題を間接的に修正することが不可能となりました。
この問題には核心から対処する必要があり、私たちはアップデート第27弾でその作業に取り組んでいます。
この作業を行うにあたってまず必要となるのは分析であり、分析はライブサーバーでしか行うことができません。
ライブサーバーでのテストはできる限り避けていますが、プレイヤーの挙動、特定のビルド、そして大規模な戦闘の相関はライブサーバーでしか確認することができません。
そのため、8月24日の週からライブサーバーにてシロディールにおいてのテストを実施します。
各テスト期間は約一週間を予定していますが、必要に応じてテスト期間を延長する場合があります。
最初に予定しているテストではシロディールでの範囲攻撃アビリティに注目し、すべての範囲攻撃のクールダウン、コスト、再生値を調整することで範囲攻撃アビリティのみを使用することをより難しくします。
シロディールで行うテストの詳細は下記となります:
テスト① 共通の範囲攻撃のグローバルクールダウン:3秒間。
このテストでは、すべての範囲攻撃アビリティに共通の3秒間のグローバルクールダウンを追加します。
つまり、一度範囲攻撃を詠唱すると3秒経過するまで次の範囲攻撃を詠唱できません。
例えば、テンプラーとして報復の儀式を詠唱すると、その後3秒間は穿刺薙ぎ払いを詠唱することができません。
テスト② 個別の範囲攻撃のクールダウン:3秒間。
このテストでは、各範囲攻撃アビリティに個別で3秒間のクールダウンを追加します。
つまり、範囲攻撃を詠唱すると3秒経過するまで同じ範囲攻撃を詠唱できません。
例えば、テンプラーとして穿刺薙ぎ払いを詠唱すると、その後3秒間は穿刺薙ぎ払いを詠唱することができません。
テスト③ 増加する範囲攻撃のグローバルコスト:クールダウンなし。
このテストでは、各範囲攻撃を詠唱する度に増加する範囲攻撃のグローバルコストを追加します。
雷光やロール回避と同様、範囲攻撃を詠唱すると5秒間のデバフが有効になり、デバフの各累積により範囲攻撃を詠唱するためのコストが増加します。
テスト④ 個別の範囲攻撃のクールダウン:3秒間、増加する範囲攻撃のグローバルコスト。
このテストでは、テスト➁と同様に各範囲攻撃アビリティに個別のクールダウンを追加するのに加え、テスト➂の増加するグローバルコストも合わせて追加します。
これらのテストが実施される期間中は、シロディールで活動しているプレイヤーの皆さまに同盟ポイントを2倍付与します。
上記のテストが完了したら、範囲攻撃アビリティのクールダウン、消費、再生の値を他の組み合わせでテストする予定です。
しかし、まずはこれらのテストを実施してデータを出す必要があります。
テスト後に、テスト結果とそれを基に私たちが行う取り組みについて皆さまにお伝えします。
これらのテストで私たちの仮説が裏付けられた場合、ここ数年ESOにおけるPvPプレイの核となっていた連続した範囲攻撃アビリティの詠唱は、今後は以前とは異なったものになることを前もって皆さまにお伝えしておきます。
その後各クラスを調べて適応可能なビルドがあるかどうかを確認し、必要に応じて調整を行います。
これらの変更用のコードは、本国では7月27日のPTSサーバーで適用されています。
また、メンテナンスやダウンタイムを必要とせずに上記の変更を行うことができることを確認するために、7月28日にシロディールで1日を通した基本的なテストを行いました。
8月24日にアップデート第27弾をリリースする際には、テストがいつ開始されるかをゲーム内でお知らせし、現在どのテストが実施されているかを詳細に説明するフォーラムスレッドをご用意します。
これらはシロディール限定のテストとなり、他のPvPスペース(インペリアルシティとバトルグラウンド)での範囲攻撃アビリティの変更は現時点では行われないためご注意ください。
テスト終了後、テスト結果とその後の計画を皆さまにお知らせします。
テストへのご理解とご協力ありがとうございます。
これらはチームにとって非常に重要であり、シロディールのパフォーマンス向上に向けて大変役立ちます。