日本語
    • 한국어
    • ENGLISH
    • 日本語
    • 中文-繁體

    2023.04.21 Press Release

    TECH Standard | EP01. MMORPGのグローバルワンビルドに向けた技術的挑戦

    NCは国内サービスを越えたグローバルレベルで、より多くのプレイヤーが同じように体験し没入できる巨大メタバースを実現するためにグローバルワンビルドを目標に設定しました。 まず〈リネージュW〉にグローバルワンビルドを適用し、様々な国のプレイヤーが同じサーバーに接続して楽しんでいます。 初日だけで190万人が同時に接続し、現在、世界12カ国の数多くのプレイヤーがスムーズにゲームプレイをしています。

    密なオブジェクトで埋め尽くされた広大なワールドで、多くのプレイヤーが同時多発的に相互作用するMMORPGジャンルでは「連結性」が何より重要です。 すべてのプレイヤーのネットワーク接続はもちろん、プレイヤー間の接続もサポートしなければならないからです。 このため、MMORPGは他のカジュアルゲームに比べて高い技術力が必要とされます。 特に世界中の幅広い範囲をつなぐには、技術レベルがさらに高くなければなりません。〈リネージュW〉もグローバルワンビルドという目標に至る過程で多くの技術的難関に直面し、その度にNC開発チームと内部サポート組織が色々な方案を検討し新規システムを開発し、導入するなど奮闘をしました。

    「TECH Standard」シリーズの映像では、今の状況に慢心せず、より高いレベルに向けて新しい「基準」を作っていくNCの様々な技術的挑戦を紹介します。 最初のエピソードでは、世界中のプレイヤーがいつでもどこでも同時にプレイできるようにMMORPGの連結性を極大化した過程をご紹介します。

    グローバルMMORPGを可能にする:RIOモデル導入

    グローバルプロジェクトで真っ先に検討したのは通信の安定性でした。 韓国とは異なり、ネットワーク状況が良くない国でも安定的にゲームプレイができる環境を構築することが大きな課題でした。 ネットワークが切れると、ゲームを楽しむことが難しくなり、プレイヤーのさまざまなプレイ情報が消えてしまう可能性があります。 したがって、ネットワークは遅くても安定的に接続されなければならず、途切れてもすぐに復旧されなければなりません。 このように早く復旧するためには情報を小さな単位に分けて大量のデータを一度に処理しなければなりませんが、この条件に合致する技術がまさにRIO(Registered I/O)という技術でした。

    一般的にMMORPGで使用されるIOCP(I/O Completion Port)はスレッドを自動的に管理してくれるため安定的です。 また、送受信が完了すれば知らせてくれるため、非同期プログラム方式を使用することができ、高性能プログラムの開発に有用です。 例えば、宅配システムで考えてください。 宅配便の現在位置をいちいち知らせず、到着する時にだけ送った人と受け取る人に知らせることと似ています。 こうすればCPUがその間に他の仕事を処理できます。 IOCPの後に発表された技術であるRIOは開発難度が高い反面、安定性はもちろん小さい単位で行われる大量通信の効率性がIOCPより優れています。 すなわち、管理体系がよく整った宅配会社を通じて、より安定的により多くの宅配を処理すると考えてみてください。

    〈リネージュW〉はもともとIOCPで始めましたが、悩んだ末にリリース直前にRIOに変更しました。 リリース直前に、それも国内はもちろん海外でも実際のプロジェクトに適用された前例がなかった技術を導入するということは相当な冒険でしたが、自信を持って試みた理由がありました。 NCの他のプロジェクトで既にRIOを適用し、検証まで終えた状態だったためです。 NCでは多様な試みが共有され、後発プロジェクトの生産性と安定性を引き上げることに貢献しています。その結果、新技術を円滑に導入することができました。

    RIOを実際に適用してみると、IOCPに比べてCPU使用量が著しく低く安定的であり、大幅なメモリ増加やサーバーへの高負荷もありませんでした。 これにより、グローバル環境において大規模なプレイヤーが移動したり戦闘したりする際の動きに遅延が生じず、より自然な動きだとプレイヤーが体感できるほどになりました。

    真のシームレスMMORPGの実現:レベルセグメントグラフ

    シームレス(seamless)とは、継ぎ目や隙間が見えないという意味で、ゲームではマップ内のすべての地形が連結されてローディングなしに他の地域へ移動できる状況を意味します。 シームレスは不必要なローディング時間をなくし、プレイヤーに連続的な経験を提供し、巨大な世界観に没頭できるよう支援するため、MMORPGで何よりも重要な要素の一つです。

    ゲームで地域間を歩いたり乗り物で移動したりするのとは異なり、特定位置に瞬間移動すれば一般的なシームレスローディングに比べて多くの負荷がかかります。 MMORPGでの瞬間移動は主に移動地点が決まっており、瞬間移動時に地域ローディング演出と共に移動する方式が使われています。 この時、瞬間移動地点の周辺地域を含めて一度にローディングしなければならないため、ローディング時間が長くなってしまいます。 しかし、〈リネージュW〉ではこのような弱点を克服し「1秒以内にゲーム内すべての地域に無作為に瞬間移動できること」を目標に設定しました。

    目標をUnreal Engine4で実現するには困難がありました。 Unreal Engine4にもシームレスマップローディングのための機能がありますが、マップに含まれた物が大量であると一度に読み込むマップのオブジェクト数が多くなり性能が急激に低下する問題があったためです。〈リネージュW〉は他のゲームに比べてマップに配置された物が多く、マップ個数自体も多く、他の方法が必要でした。 その結果、Unreal Engine4が提供するシームレス地形処理機能に代わる〈リネージュW〉だけの新しいシームレス地形処理システム「レベルセグメントグラフ」を独自開発しました。

    レベルセグメントグラフの核心の一つは、マップ領域を細分化し自動的に管理できるという点です。 〈リネージュW〉の全体マップはおよそ441平方キロメートルで、ソウル江南区面積の約11倍です。 1つのマップを「レベル」と表現しますが、一般的にPC 3D MMMORPGはレベルが2~300個程度であるのに対し、〈リネージュW〉は約3,000個程度が適用されています。 このように広大なマップを手動で作業すれば、均一に管理することが難しくならざるを得ません。 レベルセグメントグラフは、これを仮想空間に分離して自動的に整理してくれるため、各種作業および管理が容易です。

    2番目の核心は優先順位を設定できるということです。 例えば、プレイヤーが他の地域に移動すると、複数のレベルが一緒にロードされます。 この時、本当に重要なレベルとそれほど重要でないレベルなどの優先順位がありますが、既存のシステムではこれを区分し重要度を詳細に指定することはできませんでした。 しかし、レベルセグメントグラフを適用した後は、移動時に重要度の高いレベルを先にロードし、残りのレベルを後でロードする方式で飛躍的にロード時間を減らすことができました。 つまり、ランダムテレポートが2~5秒から0.7秒に、最大では0.1秒まで減り、プレイヤーがローディングを全く感じられないほどにまで性能が向上しました。

    いつでもどこでも安定したサービスを提供するために:ネットワーク最適化のためのたゆまぬ努力

    世界中のプレイヤーに対し同じ様な安定したゲーム環境を提供するため、グローバルプロジェクトではネットワークの安定性を最も重要視しています。 そのため、物理的距離を短縮してネットワーク性能を向上させ、グローバルサービスインフラを構築するなど、ネットワーク最適化に様々な努力を傾けています。

    ネットワーク最適化とは通信経路を減らし、不完全なところがあれば改善して効率的かつ円滑に通信できるようにすることです。 例えば、ソウルから釜山に行く状況を考えてみてください。 KTX(新幹線)に乗ることもできるし、バスに乗って何回か乗り換えて行くこともできます。 KTXは費用が多くかかりますが、一直線で迅速に行くことができ、バスは安いですが時間がかかり経路も非効率的でしょう。 ゲームネットワークも同様です。 直線に近い高性能接続網は費用が多くかかりますが、より速く通信できます。

    現在〈リネージュW〉をサービスしている12カ国のうち最も遠い国はサウジアラビアです。 NCはネットワーク状況が韓国ほど良くないサウジアラビアでも円滑にサービスするためにすべての方法を検討しました。 最適なネットワーク拠点を探すために直接インターネット速度および性能を測定し、最短距離で速い通信のために、陸地ではなく海底網を活用するなど高コストながらもグローバルサービスインフラを構築しました。

    特にNCは以前から海外拠点の性能をテストしていますが、今回は必要に応じて、直接現地に行って検証し信頼度の高いデータを確保しました。 また、I&O Centerの専門担当組織がネットワーク経路に問題が発生した場合の迅速な対応や、品質が良くないところを24時間モニタリングしています。全世界のネットワークを24時間モニタリングし、性能データを収集して検証することは決して容易ではありませんが、このような粘り強い努力でNCは差別化されたグローバルサービス品質を実現することができました。

    グローバルプレイヤーをきめ細かくつなぐ:AI翻訳技術

    前述したMMORPGの「連結性」は物理的にコンピュータを接続するだけでなく、プレイヤー同士をつなげることまで含む概念です。 ジャンルの特性上、MMORPGはプレイヤー同士が多くコミュニケーションをとり、関係性も固くなります。 それぞれ異なる言語を使用するプレイヤーが集まるグローバル環境でも、このような面白さを完全に感じられるようにさらに細心の注意を払いました。 NCが見つけた方法はAI翻訳技術でした。 NC内部で独自の技術力で開発し、〈リネージュW〉に適用したAI翻訳エンジンは現在、グローバルプレイヤーが対話するのに問題がない水準まで発展しました。

    〈リネージュW〉に適用されたAI翻訳エンジンの特徴は、リネージュに合わせて特化した翻訳が可能だということです。 例えば、「テレポート」の意味を盛り込んだ「베르」というリネージュ用語を他の翻訳エンジンは正確に翻訳できません。 しかし、〈リネージュW〉のAI翻訳エンジンは「베르」を「テレポート」に転換し、該当国の言語に翻訳した後、「テレポート」を意味する該当国のリネージュ用語に切り替える。 また、文化的な違いのため問題になりうる表現を選び出し、類似した他の言語に代替したりもします。

    *詳細については、「言語の壁を越えて世界中のすべてのゲーマーをつなぐリアルタイムAI翻訳エンジン、NCMT」もご参照ください。 [リンク]

    果てしない挑戦を通じて「基準」を作っていくMMORPGの本家

    「MMORPGで大規模プレイヤーが円滑に接続できなければならない」、「大規模戦闘が可能でなければならない」に続き「グローバルワンビルドでMMORPGが作動しなければならない」、「グローバルプレイヤー同士のコミュニケーションに問題があってはならない」まで。 NCは持続的により高い目標を設定し、失敗を恐れず挑戦してきました。 その過程には「MMORPGはプレイヤーに何を提供しなければならないのか?」という問いが常に内在していました。 より多くのプレイヤーが何の制約もなくゲームに没頭し、最高の経験ができるMMORPGのために、NCは自らの基準を絶えずアップグレードするしかないでしょう。