ネットコードソリューションの最新情報を元に更新されました。年版のままとなっています。ほとんどのマルチプレイヤーゲームの開発において、レイテンシ、パケットロス、シーン管理など、ゲームの体験に影響を与えるネットワーク関連固有の課題を考慮して解決しなければならず、その解決方法はゲームにより多岐にわたります。正しい解決策を見つけるには、ゲームのジャンル、プレイヤー数やネットワークされたオブジェクト数の大きさ、競争力に加え、ネットワーク層の制御がどのくらい必要かといった側面も考慮しなければなりません。想定するシナリオによって必要とされるネットコードソリューションにも違いが出てきます。エンジンで使われる一般的なネットワーキングライブラリに加え、これらのソリューションを使っている開発者の体験について行われた研究の結果について解説します。ネットコードとは何かネットコードはマルチプレイヤーの物語の半分を「作り」ます。これは具体的には、あるプレイヤーから別のプレイヤーにデータのビットを送信し、そのビットを同期させて一貫したゲームの状態にするライブラリを指して、開発者がそのことをどう表現するかを示したものです。これは光速の限界やデータが到着するまで待つ間のレイテンシに対処する方法でもあります。完全なソリューションは、ハードウェアへ、あるいはハードウェアからのトラフィックをすべて管理するトランスポート(ベース)レイヤーと、一般的なニーズを単純化するより高レベルのネットコード抽象化およびツールに分けられることがしばしばあります。あらゆる種類のゲームや体験を完璧にカバーできるソリューションはありません。ゲームとでは、ネットコードに対する要件は全く違ってきます。すべてのシナリオに適合する単一のネットコードソリューションはないのですから、開発者は、目の前にある選択肢を評価し、どのネットコードソリューション(またはソリューションの組み合わせ)が開発しているタイトルのニーズに最も適しているかを判断する必要があります。多くの場合、既存のネットコードを拡張したりカスタマイズしたりする必要が生じます。つのファーストパーティ製ネットコードソリューションが別々に存在しています。ゲームエンジン用に構築されたネットワーキングライブラリです。小規模な協力型ゲームの開発をサポートすることに最大の焦点を当てています。ソリューションとの組み合わせが非常に上手く作用します。ECS(Entity-Component-System)機能セットの一部として出荷されたもので、皆さんがスケーラブルなマルチプレイヤーの世界を作り出し、プレイヤーに提供するための力になってくれる製品です。使うと、ゲーム世界のサイズ、プレイヤー数、および複雑なネットワーク間のやり取りを、パフォーマンスを犠牲にすることなく実現することができます。ように、開発者がその対処に頭を悩ませる必要もありません。ストリームリリースの詳細をお読みください。広く使用されているサードパーティ製のネットコードソリューションについてのフィードバックを収集し、どのフレームワークが最適に機能するかを決定するプロセスをガイドするために、ディシジョンツリーを作成しました。つのソースからデータを集めて分析しました。使ってプロトタイプを構築する中で得た教訓これらの観点で評価を行いました。顧客に人気のあるネットコードソリューションを以下に示す軸でスコア化し、ランク付けしてもらうようにお願いしました。安定性とサポートネットワーキングは複雑なものです。そのため、皆さんがネットコードソリューションを通じて得る安定性とサポートの水準は非常に重要です。つの軸に沿って評価しました。提供されているかという観点も含めて、ユーザーに評価していただいた結果をまとめました。パフォーマンスパフォーマンスが低いソリューションを欲しがる人がいるでしょうか。各ネットコードソリューションのこの項目のスコアについては、ガベージコレクションやアロケーションができるだけ少ないこと、レイテンシオーバーヘッドが最小限であること、計算パフォーマンスが高いこと、可能であればマルチスレッド機能を備えていることで評価しました。スケーラビリティ皆さんが作ろうとしているゲームのジャンルによっては、ネットコードソリューションのスケーラビリティが重要な検討項目となります。この項目はパフォーマンスに似ていますが、パフォーマンスを大きく犠牲にすることなく、より多くのクライアント接続をサポートする能力に焦点を当てています。機能の幅広さ機能を完備したネットコードソリューションを持つことは、あらゆるジャンルあるいは皆さんのプロジェクトが持つゲーム特有のユニークなニーズをサポートする上で重要です。ソリューションをランク付けするにあたり、私たちはオブジェクトや変数の複製、RPC、シーン管理などの中間レベルの機能に焦点を当てました。予測やラグの補償など、高レベルの機能についても加味しています。コスト皆さんがネットコードソリューションのための予算を正しく見積もれるよう、各ソリューションのコスト面での評価も盛り込みました。ライブラリおよびソリューションのコストと、別途管理しなければならない運用上のオーバーヘッドなど、隠れたコストの両方を考慮しています。つポイントを強調しておきたいと思います。目は、皆さんのゲームで使うネットコードソリューションの選択とは重要な決定事項であり、調査結果だけを頼りにせず、ぜひ皆さんご自身でも評価していただきたいということです。今回の記事を書いたのは、最も一般的な選択肢をまとめた内容を共有することで、皆さんの意思決定プロセスを楽なものにしたいと思ってのことではありますが、皆さんがそれぞれ自分のゲームに特有の事情を考慮して、独自の評価を行うべきだと考えます。目は、このリストはすべての選択肢を網羅しているわけではないということです。確立したソリューションが多数存在していますが、それらは含まれていません。年に行った調査に基づいたものであり、今日の現状に合わせたソリューションを完全に理解するには追加の調査が必要になるだろうということです。完全版のネットコードに関するレポートもダウンロードして、目を通されることをおすすめします。完全版のレポートでは、これらのサードパーティ製のネットコードソリューションについて、より詳細に説明しています。形式で配布されており、このレポートでは、顧客の言及が最も多かった複数のソリューションをカバーしています。レポートに掲載したもの以外にもいくつかのソリューションの名前を挙げる顧客もいました。Forge、Normcore、Bolt、LL(Enet、LiteNet)など、まだ評価するのに十分な顧客からのエビデンスを集めていない他のソリューションについて議論している方もいらっしゃいました。言及されたソリューションが皆さんの環境における選択肢になるかどうかを考える際に、このポイントは考慮しておくことをお勧めします。マルチプレイヤー開発を始める次に大ヒットをさらうバトルロイヤルゲームの制作を志している人にも、居心地の良いオンライン協力型ゲームを作りたい人にとっても、マルチプレイヤーネットワークや現在使えるネットコードソリューションの基本を理解することは不可欠です。Room』、およびドキュメンテーションをチェックして、次のマルチプレイヤープロジェクトを今すぐ始めましょう。Royale』サンプルをご覧ください。その関係会社の商標または登録商標です(詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。