編集●ナカカドTweet一覧Pocketイブオンラインの内側を探る第3回目のレポートではイブオンラインのシステムについてチーフテクノロジーオフィサーのハルドール・ファンナー氏とのインタビューから得られた情報を元にイブオンラインの内側を探ってみよう。Onlineの日本公式サイト。オンラインゲームで有名なネクソンが取り扱っている。Onlineの重厚な世界観がわかる丁寧な日本語ガイドも用意される。ちなみにイブオンラインが稼働しているシステム、Tranquilityはロンドンでホスティングされており、約100台のIBM製64bitサーバー及びクラスターで構成されている。2.5GHzから4.4GHzのマルチコアCPUに32GBから512GBのメモリ、SSDで構成されたHDDなど大量なアクセスを捌くための必要十分な仕様を持ったスーパーコンピュータクラスターだ。松下「MMORPGとしてのイブオンラインの凄さは何か?」ファンナー氏「シングルシェアードエクスペリエンスということを実現していることだ。ひとつの宇宙というモデルの中で全てのプレイヤーがゲームをすることが出来る。これは他のMMORPGには無い特徴だと思う。非常に多くのユーザーをその中に格納していること。それを実現しているのはコンピュータが高性能化していることも大きな要因だ。想定していたのと違うのは、CPUのクロックがどんどん上がるのではなくてマルチコアになったこと。それに合わせたソフトウェア開発を余儀なくされたのは事実だ。松下「イブオンラインは6万3千人の同時接続数を実現しているが、今後もっと多くのプレイヤーをサポートする際の技術的なハードルは何か?」ファンナー氏「既に同時接続数として6万3千人のプレイヤーを処理することは可能だが、今後、FPSであるDUST514のプレイヤーが入ることで同時にプレイ出来る人数が増えることになり、数十万という規模が必要となる。その場合、必要となるのはハードウェア的にはひとつのCPUコアで処理をするのではなく複数のコアに分散させて処理を可能にすることがひとつ。ひとつは、同時接続数が増えた時に突然サーバーが停止するのではなく、徐々にサーバーからの反応を遅らせて処理が飽和しないようにする技術を開発して組み込んであること。これは徐々に処理を遅らせてシステムを稼働させ、システムが飽和して突然死しないようにすることが目的だ。それによってユーザーは突然ゲームから締め出されること無く、ある程度は快適にリアルタイムのゲームプレイを進めることができる。Pythonで全てを記述するのではなく必要な部分はC++で記述して高速なスピードとマルチスレッドの処理を実現している。松下「巨大なソフトウェアを開発する際のポイントは?」ファンナー氏「ソフトウェア開発という側面ではソフトウェアの分離、アイソレーションというのが非常に重要だ。イブオンラインは巨大なシステムなので、様々な機能=アプリケーションが存在する。モノを売買する「市場」というのもひとつの大きなアプリケーションだ。そのアプリを開発メンテする際に他のシステムに影響を与えないように分離して開発及びテストを行うことが必要となる。分離を実現するために新たな自動テスト機能を開発した。この自動化されたテストでは87%のテストが自動化することができるため様々なアプリケーションの開発、メンテナンスの効率が上がったのだ。このように分離することでイブオンラインにDUST514という全く別のアプリケーションをプラグインすることが出来るのだ。松下「非常に巨大なコードベースということだが、イブオンラインの開発チームはどういう構成なのか?」ファンナー氏「イブオンラインの開発チームは約100名、そのうちグラフィックスに関する部分だけでも10名程度。多くのデザイナーが関わっている。開発はプログラマーがコードも書きメンテンナンスもする。「ステーキだけではなく、たまには野菜も食べなさい」というスタンスだ。書いたコードがスパゲッティのように絡み合わずにラビオリの様にキレイに分かれているのが理想。なるように努力しているがね。松下「宇宙がベースのイブオンラインだが、SF小説によく出てくる人工知能をエージェント的なキャラクターとして採用する予定はあるのか?」ファンナー氏「イブオンラインが宇宙とSFをベースにしていることから人工知能は我々のファンにとっても馴染みがある、理解されるコンセプトだろう。社内でも議論を重ねているが、個人的には人工知能を用いたプレイヤーもしくはエージェントが存在したとしても今のネットの集合知には敵わないと思う。人間の知能や経験、ネットなどのツールによってすぐに攻略法が解明されてしまう。イブオンラインはあくまでも人間対人間の戦い、活動の場だと思う。」CCPのチーフテクノロジーオフィサー、ハルドール・ファンナー氏。同じ質問をイブオンラインのエグゼクティブプロデューサーのジョナサン・ランダー氏にも聞いてみた。ランダー氏は「人工知能は興味深いコンセプトだと思う。現在のイブオンラインにはAPIがあり、そのAPIを通じて様々な情報を引き出すことが可能だ。コーポレーションの管理機能というのはコアなファンには不満が多い部分。したら良いのか?と100人に聞いてみれば、きっと100人それぞれがそれぞれの管理方法が良いと主張してまとまらない。いう部分にAPIを公開して読み込みだけではなくデータの書き込みを行うインターフェイスを採用すれば各々が好きな方法でコーポレーションを管理する事ができる。そのような入出力が可能なAPIを活用して人工知能を作れば、面白いことができるかもしれない。その場合でも、ツールを提供してユーザーに開放することになると思う。イブオンラインのエグゼクティブプロデューサー、ジョナサン・ランダー氏。数十万人を同時接続して同じメモリー空間でゲームが稼働させられる巨大なシステム、Tranquility。Darkness」でも活かされるだろう。