『BATTLEFIELD 4(バトルフィールド 4)』で幾度と無く改善が繰り返されているネットコードですが、現在CTEでテストが行われているDICEとVisceralがタッグを組んで改善したネットコードが何やら凄い事になっていると話題になっています。
現在のネットコード
ハイフリクエンシーアップデートの実装から早数ヶ月。現在の稼働版では全てのプレイヤーが下記のチックレートとアップデートレートでプレイを行っている状態です。
- サーバーのチックレートは30Hz
- クライアントのチックレートは30Hz
- クライアントからサーバーへのアップデートレートは30Hz
- サーバーからクライアントのアップデートレートは10Hz、ハイフリクエンシーアップデートのエリア内とダメージのみ30Hz
これらの値はリリース時から大きく改善されており、多くのユーザーが満足しているのではないでしょうか。
チックレートとアップデートレートとは?
チックレートとは、サーバーかクライアントが1秒間に処理を行う回数で、30Hzの場合はシミュレーションやコマンドの入力を含む処理を1秒間に30回行う形になります。ゲームでよく使われる画面への1秒間の描画回数であるFPS(フレームパーセカンド)と良く似ており、サーバーかクライアントで何回ゲームが更新されるかを表しています。
アップデートレートとは、サーバとクライアントの間でデータの交換が行われる回数を示しており、30Hzの場合はデータの送信が1秒間に30回行われる形となります。
チックレートやアップデートレートが低いと何が起きるかというと、充分な間隔でデータの送受信が行われずに体感できるほどの遅れが生じます。これが、壁の裏に隠れてからのデスや、一瞬で大量のダメージを受けたり、1フレーム内で突然キルされたりといった現象に繋がります。
実際、リリース時の『BF3』、『BF:BC』、そして『BF4』はサーバーからクライアントへのアップデートレートが10Hz(1秒に10回)でした。
最新のネットコード
現在CTEにてテストされているネットコードのプロトタイプでは、新たに60Hzと120Hzのチックレートのサーバーが登場しています。ハイフリクエンシー内のアップデートレートも同様の60Hzと120Hzに変更されており、大幅な改善が施されています。(120Hzの場合)
- サーバーのチックレートは120Hz
- クライアントのチックレートは120Hz
- クライアントからサーバーへのアップデートレートは120Hz
- サーバーからクライアントのアップデートレートは10Hz、ハイフリクエンシーアップデートのエリア内は120Hz
ダメージのアップデートはFPSとリンク
さらに凄いのが、クライアントからサーバーへのダメージのアップデートレートのみ、クライアントのFPSとリンクするということです。つまり高いFPSを出せるマシンを持っている場合は、その分だけサーバーにダメージの情報を送る回数が増えるので、正確なダメージの登録がサーバー側で行われやすい形となっています。
CS:GOに勝利
2人のプレイヤーとカメラを用いたテストでは、レイテンシーが35ms以下の環境で60Hzのサーバーを用いた場合、一方が射撃を行った際のダメージの表示、ヘルスの表示、発射アニメーションがもう一方に3ミリ秒以内に表示されることが分かっています。これは、現在の製品版のネットコードと比べる2倍の速度となります。
120Hzでの同様のテストでは2ミリ秒以内の表示が確認されたものの、撮影を行ったカメラが60FPSでの撮影を行っていたのもあり、正確な数値は不明ではありますが、十分すきるほどの早さを実現しています。
じゃあ製品版への適用はいつ?
気になるのが製品版への適用ですが、今回テストされているネットコードはプロトタイプであること、そして60Hzと120Hzを実現するにはサーバーの性能や位置はもちろん、クライアント側の性能や回線も必要となるので、今のままの形で適用されることは無いと思われます。
また、Xbox 360とPS3では30FPSでゲームが稼働しているのもあり、新しいネットコードの恩恵は大きくないと思われます。
一方、Xbox OneとPS4では60FPSでの稼働となるので60Hzのサーバーの登場は恩恵が大きいものの、120Hzに関してはPC版しか恩恵がないことや、更なるサーバーとクライアントの性能が必要になってくるため、今後の運用がどうなるのか興味深いところ。
大人数サーバーを60Hzで稼働させることが目下の課題となると思われ、今後も更なるテストが継続して行われると思わます。30Hz以上のサーバーは現状のサーバーより性能を必要とすることから、レンタルサーバーの利用料金が上がる可能性もあるかもしれません。
乞うご期待
最後は少し残念なお知らせになりましたが、BFシリーズのゲームエンジンであるフロストバイトエンジンは『BF:BC』の時代から30Hzのチックレートとなっていたので、ここに来てのチックレートが引き上げが可能になったことは大きな一歩だと言えます。
新作の『BFH』ではすでに新しいネットコードがCTEに適用されることも発表されており、そしてシリーズ次回作にも新しいネットコードが使用されと予想されるので、『BF』ファンにとっては大ニュースと言えるのではないでしょうか。
酷評され続けたネットコードですが、改善に改善を重ねることで、大人数FPSでは今まで誰も体験したことのない領域まで足を踏み入れつつあると言えるのかもしれません。
コメント
コメント一覧 (27件)
3ミリ秒以内に表示って3フレーム以内の間違いでは?
同様に2ミリ秒以内のところも
tick rateだけ変えたのが、NetCode変更って言ってるんですかね?
根本原因ってそこだったんですか?
いや、もちろん弾抜けも含めた判定についても修正入ってるからね
一部の情報だけ見て批判するのではなくCTEの情報やフォーラム、Davidのtwitterなど
自分でちゃんと調べてから書こうな
NetCodeってネットワークに関するコードだと思って考えてたんですが、違いましたか。
フォーラムも開発者のtwitterも見てはいましたが、ネットワーク関連の修正についてtick以外見当たらなかったのでそう書いたのですが、認識違いのようですね。
失礼しました。
いや、自分も過剰反応しすぎたと思う、ごめんね。過去のCTEの更新情報にHitregなどを弄ったっていうのが書いてあるよ
以前から判定関連は調整を続けてて完成してきたからTickrateも変更した感じ
FPS144のワイに少しでも恩恵があればうれC
PC版は恩恵受けられそうで良かった
問題はCS版の鯖の性能だけど日本はi3Dらしいからなあ