- « 2005年02月14日 - 政治的に妥当な愛の記念日 |
- | 2005年03月19日 - 転換する時間軸 »
Norrathの造り方
スクウェア・エニックスは、network gameの通信面について通常の手法以外にも工夫を施しています。EQ2でもこれらには期待出来そうです。
EQ2の舞台であるNorrathという仮想世界は、現実世界では複数のIA(Intel architecture) server machineと、それらを接続する回線によって造られています。広義では、playerへのfront endであるclient machineと、そこへ至るまでの回線をも含めることが出来るでしょう。
技術屋としては、創世神話にあるようにNamelessの実体のみが存在した時代からNorrathがいかように“創造”され、Veeshanその他の神によって“運営”されているか、roleplay的な没入感とは別に興味をそそられます。
ということで、やや遅ればせながら日経NETWORKの2月号を読みました。「ゲームを支える巨大ネット」という記事が目的です。のっけから、Final Fantasy XIとLineage IIの著作権表示がそれぞれの写真に対して入れ違っていたのはご愛敬です。
さて、当該記事はそれらの二つのMMORPGを題材として、通信部の作り込みや、通信設備について紹介しています。これについて、EQ2 playerとして感じたことなどをぼちぼちと記してみます。
(2005年02月28日 - 微妙に内容を追補しました)
network gameの鬼門、遅延
生死を分ける通信往復時間
network gameの技術的な要諦は通信部の作り込みです。ここが貧弱だと、たとえcontentsがどんなに素晴らしくても、満足にgame(の通信)が出来ないという状態に陥ってしまいます。
記事に取り上げられているFF11などは、流石に雨後の竹の子のような量産型network gameとの格が違うことが解ります。
例えば通信の仕組み自体について。web siteの閲覧程度では、私達のmachineであるclient PCの表示が多少重かろうが大した問題ではありませんが、MMORPGでは1秒に何回ものserverとの通信をやりとりしていますので、遅延が起きないようにする仕組みが求められます。
一秒未満を争う世界では、このnetworkの僅かな際でさえも結果が二分されることは良くあることです。例えばuber mobをpullし、固定状態に持って行くまでで、20分の1秒(50ms)遅くmobをcatchしただけで、mobは何feetも余分に走ってきてしまいます。
私達がEQ2USをplayする際に、ping値すなわち往復時間(round trip time)が低い米国西海岸設置のserverを選択する理由は、ひとえにこの遅延を避けることにあります。
TCP……packetの確実な送信/送信処理の重さ
Lineage IIはgameの通信にTCP protocolを使用しています。このprotocolはpacket lossが生じても、同じpacketを(正常に送信出来るまで何度でも)再送する仕組みが備わっており、信頼性を高められる利点があります。その反面、処理がやや重くなること等が欠点となりますので、packetのdata量そのものを小さなものにする工夫が施されているとのことでした。
UDP……送信処理の軽さ/packet lossの可能性
これに対して、Final Fantasy XIではUDP protocolを使用しています。こちらはpacket lossが生じた場合でも再送をしない代わりに、処理が軽くなる利点があります。といっても失われたpacketを単純に「なかったもの」として扱えば、あの悪名高き「瞬間移動」等々の弊害が生じてしまいます。そこで、この手のMMORPGでは、仮にpacket lossが生じた場合でも、直前に受信した幾つかのpacketから「lostしたpacketにより実現される状態」をclient側で予測する仕組みが備わっています。
なお、EverQuest IIの実際のgame clientの通信にはUDP protocolが使用されています。これはFinal Fantasy XIと同じです。
記事ではPCの移動に伴う座標変化等が例示されていますが、何もかも「予測」している訳では勿論ないでしょう。例えば幾らpacket lossが起きてもtreasure boxを開けた結果が判らないことが(概ね)ないように、「client側に送信されるべき情報」(例えば、client画面に表示される宝箱の中身)が毎packet毎に存在するために、packet lossが起きようが起きまいが、宝箱の中身は消えて無くならないという次第です。当然、これはpacketに含まれるdata量が多くなっても問題ないというUDPならではの処理と言えます。
この辺りはEQ2JEの要諦である「T4 engine」(clientで表示する文字列をserverから逐一送信し、その文字列について英語/日本語を選択出来るoverlayの処理=通信するdata量が多くなる)とも関係して来ますので、EQ2 playerとしても「言われてみればその通りだ」と膝を叩くこともあるのではないでしょうか。
「たかがgame」への投資
もっとも、予測という仕組みはありふれているもので、当該記事に取り上げられるまでもなく、技術的には有名なものでありました。しかしFF11を包含するPlayOnlineのみは、或る接続方法を通信構成に積極的に加えることによって、往復時間を抑えるようにしていることを私は今回初めて知りました。
詳細は記事の根幹に触れるために省きますが、「たかがgameに何でそこまで」という多少の驚きがあったからこそあのように記事として採り上げられたのではないかと思えます。network gameが確実なbusinessとして、そしてnetwork applicationの一分野として、確たる地歩を固めたことの表れですね。
純粋にnetwork面、hardware面のみに着目すれば、以前から言われているように、PlayOnlineは世界一の品質を誇っていると言えるでしょう。少なくともこの両面では、スクウェア・エニックス社へは大きな期待をして然るべきですし、その期待は間違いなく叶えられるでしょう。
興味を持たれた方は、当該記事を是非お読みください。記事の内容をそのまま引き写すようなことは本web siteでは行えませんので、あしからずご了承ください。
なお、EQ2USでtraceを試してみたところ、めくるめくrouterたらい回しの世界が垣間見られましたことを併せて紹介しておきます。EQ2JEでは上述の仕組みと、何よりserverが国内に設置されることも相まって、挙動に感動するようなことが最初は起きるでしょう。もっとも、これはclient PCの速さの問題と一緒で、数日もすれば慣れてしまっていそうなのが恐ろしいところです。人間というものはつくづく罪な生き物ですね。
忘れてはならないclient側の処理
さて、しかしながら実際には通信面以外にも、MMORPGにはplayerを悩ませる「重さ」が存在します。それはclient PCの力不足による、描画面由来のコマ落ちです。EQ2は設定により十分現実的な描画速度を実現出来るとはいえ、或る程度描画品質に舵を取れば、現状では桁違いの重さとなってしまいます。
client/server方式である以上、こればかりはいくら運営側が努力しようが変えることの出来ない面です。
某「世界一汚いscreen shot」が生み出される恐怖のclient PC側の画面の書き換え頻度(FPS=frame per second)の低さがあったとしても、例えば1秒間の通信のやりとりが何度発生しようと、仮にpacket lossがなかった場合には、通信の速度が1frame分の画面の書き換え時間より遅くとも問題がないとさえ言えるのです。
もっとも、client PCが速ければ速いで、その分滑らかな動きになることも事実です。上述の「予測」は、或る時点での世界の状態をsamplingし、それにより導き出された予測状態をframe毎に割り振っている訳ですから、割り振られるべきframeが時間軸に対して「詰まっている」ほど、滑らかな動きが実現出来る訳ですから。また、packetの受信と画面の書き換えの同期が取られていない(普通は取る物ではない)という要因も存在します。
MMORPGの体感速度はこれら複数の要因が複雑に絡み合って醸成されますので、技術的な側面を意識することも面白いかも知れません。
PlayOnlineとEQ2JE
なお、当該記事を読む限りでは、PlayOnlineのnetworkの一環としてEQ2が提供されることは確実です。PlayOnlineのnetwork構成図に、しっかりとEverQuest IIのserver群が書かれていましたし、記事中にもEQ2等の運営を契機として構成を変えた(game毎にlayer 3 switchを割り当てる)ことが書かれていました。しかし、認証をPlayOnlineと共通にするかどうかといった点は明らかではありません。この辺りは今後スクウェア・エニックス社のweb site等により明らかにされることでしょう。
……その時期はさて措いて。
Ethelbert @ Sebilis (2005年02月26日 11時49分)
関連記事
- category
- Columns
- Norrath世論調査結果発表 (2005年05月15日)
- Norrath世論調査の結果を発表します。EQ2JEに対する期待と、運営に関する切実な願いが込められた印象的な統計結果が導き出されました。
- Norrathは護られるか (2005年06月11日)
- EQ2JEのbeta test最終日には、もはや「お約束」と化した感のある、mobの大群による両都市侵攻が行われることとなりました。結末には希望も持てそうです。
- Norrath 500年の旅 (2005年04月01日)
- EQ2とEQ1の双方のPCが行き来出来るcross access zoneが導入される見込みです。一見難しいsystem上の課題を乗り越える仕組みにも注目です。
- 20万PV記念懸賞企画 Norrath世論調査 (2005年04月21日)
- 本web siteの20万PV達成を記念して、懸賞としてclient package(CE:コレクターズエディション)の当たる世論調査企画を開催します。
感想
本日の与太話。
重いTCP/IPの処理から愛するCPUを解放したいのでTNIC(TOE card)を買いたい、と知人に話したら呆れられました。
まぁ、確かにいくら重いといっても、serverではなくclientなら、GbEを目一杯使うことはありませんしね。特にEQ2のためだけにTNICを買ったりしたら、呆れられるどころの話ではなくなります。
しかし浪漫が(以下略
Ethelbert (2005年03月14日 04時18分)
そりゃ誰でも呆れますがな(笑)
Lava以下略 (2005年03月14日 23時23分)
あなたの感想等をお寄せください
handle name, URLの記入は任意です。