「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く | GameBusiness.jp

「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く

ゲーム開発 サーバー・ホスティング

「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
  • 「プログラミングに国籍はない」日本メーカーと協業して優れたオンラインゲーム運用を―Nettentionペ・ヒョンジク氏に訊く
日本のコンソールタイトルでも採用事例があるなど、知名度の高まってきたネットワークサーバー技術ProudNet。開発・運営するのは韓国のベンチャー企業Nettentionです。GameBusiness.jpでは、過去に開発インタビューを実施して、基本的な技術仕様や運用方法をご紹介しました。今回は韓国の本社オフィスで、Nettention創業者でProudNetの生みの親でもあるペ・ヒョンジク氏を取材して、さらに詳しい話を訊くことができました。

◆大手企業から独立してサーバエンジンを独自開発


――今日はよろしくお願いします。はじめてオフィスに伺いましたが、社内に活気がありますね。それに、すでに手狭ではありませんか?

ペ・ヒョンジク氏(以下ヒョンジク): そうなんです。Nettentoinは2008年に起業して、今は総勢18人の会社になっています。もうオフィスに余裕がなくなっているので、近いうちに移転する計画を立てています。床面積を倍くらいにして、さらに多くの社員を雇用したいですね。


――それはなによりです。ちなみに、最近の韓国ゲーム市場はいかがですか? 日本ではモバイルゲームはレッドオーシャンで、一部の企業はVRゲームの研究開発に力を入れています。韓国はGear VRのお膝元でもありますし、日本より先行しているイメージがあります。

ヒョンジク: いやいや、そんなことはないと思いますよ。たしかにVRゲームの研究開発は進んでいますが、実際にリリースされているものは少ないです。ただ、VRゲームがおもしろいという点には同意です。弊社でも先日、社内のミーティングで「HTC ViveでVRアバターチャットのデモを作ったら、両手も使えておもしろいんじゃないか」という意見が出たところです。

――ご存じの通り、VRでオンラインゲームを作るには、高いネットワークの技術力が必要です。フレームレートの低下やラグは絶対に排除しなければなりません。

ヒョンジク: そのとおりです。正直なところ、弊社ではまだVRゲーム専用のネットワークエンジンの開発に着手しているわけではありません。しかし、業界としてそうした課題を克服していく必要があることは理解しています。

――韓国のオンラインゲームは技術力が高いので期待しています。MOBAのようにリアルタイム性の強いゲームも人気がありますね。

ヒョンジク: たしかに、韓国はPCオンラインゲームから業界が立ち上がった経緯があるため、日本よりもサーバエンジニアリングの技術が進んでいます。一方で日本にはコンテンツの長い歴史があります。韓国のゲーム開発者はみな、日本の漫画、アニメ、ゲームに大きな影響を受けています。

――ProudNetもそうしたゲームサーバ&ネットワークエンジンの一つですよね。

ヒョンジク: はい、ProudNetは世界13カ国、約200タイトルに導入されていて、日本でも家庭用ゲームの『ストリートファイターV』で採用いただきました。他にモバイルだと『セブンナイツ』『MARVEL Future Fight』、PCでは『マビノギ英雄伝』などが有名タイトルだと思います。


――大成功といっていいと思います。ただ、大前提として韓国ではツール&ミドルウェアの会社はそこまで多くありません。日本も同様で、ツール&ミドルウェアはほとんどが海外製です。

ヒョンジク: そのとおりです。ネットワークエンジンを提供する会社は韓国で他に4社くらいありますが、ツール&ミドルウェア全体でいえば、日本と同じように海外産が中心です。

――そうした中で、なぜネットワークエンジンの会社を起業されたのか気になります。というのも、日本ではゲームを作りたくてゲーム業界に入った人が多く、ツール&ミドルウェアを開発して他社のサポートをすることに、あまり興味がないという人が多いのです。

ヒョンジク: よくわかります。もともと私も1995年から2008年まで韓国の大手企業でオンラインゲームを開発していました。実はその企業を退社してから、弊社を立ち上げるまで、2回起業して2回とも失敗しているのです。どちらもインディーゲームの会社でした。

――なんと!

ヒョンジク: それで悟ったんです。自分はプログラミングの才能はあるけれど、ゲームを作る才能はない。だったら他社のゲームに対して全身全霊でサポートする側に進んだ方が良いと。

――そういった経緯があったんですね。

ヒョンジク: ProudNetは当初PCオンラインゲーム向けに開発しましたが、実際にリリースしてみると、ほとんどがモバイルゲームに採用されました。ちょうどスマートフォンの市場が拡大して、その波に乗ったんです。実際、すごく際どいタイミングだったと思います。もし起業が1年遅れていたら、ここでこんな風にお話ししていることは、なかったかもしれません。

◆中国展開で豊富なノウハウを保持


――ProudNetでは、オンラインゲームやMMOゲームにおいて、何人くらいの同時アクセス数に対応できますか?

ヒョンジク: タイトルにもよりますが、モバイルゲーム『モンスター鳴らし』のライブサービスではチャットサーバー1台で約5万人以上の同時接続者数を処理しました。キャラクターの移動処理だけが存在するMMOのテストサーバでは、1台で約14,000人の同時接続数を処理できました。

――日本企業にとって、グローバルでモバイルゲームを展開するとしたら、中国市場を無視できません。ProudNetを使うことで中国展開がスムーズになる可能性はありますか?

ヒョンジク: 弊社は中国のパートナー企業と登記しているので、そこが強みの一つですね。中国は「人口が桁外れに多い」「ハッキング被害が大きい」「インターネットのスピードが不安定」「ルータの種類や構造が複雑」「マルチプレイだけでなく、シングルプレイも必須」などの特徴があります。これらは実際にタイトルをリリースしてみなければわかりませんが、弊社では過去に様々なシチュエーションを経験しています。。

――中国市場は巨大すぎて、見当もつかないというのが正直なところです。

ヒョンジク: 1億人以上のデータベースで運用されているMMORPGも少なくありませんからね。もちろんProudNetもそうしたゲームで採用されています。ProudNetの採用企業に対しては、ただエンジンをライセンスするだけでなく、運用面でのコンサルティングも無償でおこなっています。

――サーバ1台あたりの同時接続者数を改善するには、どのような方法がありますか?

ヒョンジク: ほとんどのゲームサーバはマルチコアCPUで動作しているため、ゲームサーバ上でのロジック処理をThread Pool上で動作するようにするのが定番です。MOゲームではThread Poolを使わなくても、サーバプロセスを多く実行することでたいていは解決できます。しかしMMOゲームではThread Poolを使用することをお勧めします。

――ProudNetでThread Poolのサポートはおこなわれていますか?

ヒョンジク: はい、簡単にオン/オフの切り替えができます。ただし、Thread Poolで本当に効率化を進めるにはノウハウが必要です。それもあって弊社では導入にあたり、さまざまなアドバイスやコンサルティングをおこなっています。

――特に日本ではモバイルゲームが主流で、PCオンラインゲームと違い、ワイヤレスでインターネットに接続されているため、回線が不安定になりやすいです。

ヒョンジク: そのとおりですね。有線ネットワークだと平均して20ミリ秒の遅延が発生する場合でも、ワイヤレスネットワークでは100ミリ秒から、時として500ミリ秒くらいまで遅延が発生することがあります。一方でゲームは30フレーム/秒から60フレーム/秒で動いているわけですからね。

――ネットワークが不安定になることで、しばしば発生するのがラック現象です。どのようにすれば解決できますか?

ヒョンジク: 残念ながらラック問題を完全に解決することは不可能です。まさにネットワークの安定性に起因する問題だからです。そのため「クライアントをサーバとできるだけ近い位置に置く」というのがわかりやすい解決法になります。しかし、これは常に現実的ではありませんよね。

――まったくその通りです(笑)。

ヒョンジク: 他の解決法として、「サーバ内の処理速度をできるだけ速くする」ことがあります。具体的にはTCPプロトコルだけでなく、UDPプロトコルを使うやり方があります。TCPは優れたプロトコルですが、パケット遺失が1%を越えると長い遅延が発生します。そのためTCPとUDPを併用するやり方が向いています。特にキャラクターの移動や機関銃の乱射のようなパケットには、UDPを使用した方が効果的です。ProudNetでもTCPとUDPをすべて使用しています。

◆チャットツールからヒントを得たP2P機能


――他にProudNetならではのやり方はありますか?

ヒョンジク: サーバを経由するから遅くなるので、クライアント同士を直接つなげてしまうやり方があります。いわゆるP2Pです。しかし、これではサーバがまったくロジックに関与しないため、ハッキングのリスクが高まります。そのため命中判定などの重要な処理はクライアント=サーバ間で行い、キャラクターの移動やボイスチャットなどはP2Pで行うなど、処理を切り分ければいいのです。ProudNetではこのように、サーバ=クライアントとP2Pの処理を混在することができます。

――それは大きな強みですね。あまり他で聞かないやり方ですが、御社独自の技術ですか?

ヒョンジク: たしかに私のアイディアですが、特許というわけではありません。ただ、他社ではあまり聞きませんね。

――P2Pの部分というのを、もう少し詳しく教えてください、たとえば、どの範囲でキャラクターの移動情報がやりとりされるのでしょうか。

ヒョンジク: あるキャラクターからみて、ディスプレイ上に表示されている他のキャラクターだけに限定して、移動情報をP2Pでやりとりすることができます。画面から外れると自動的にP2Pからも外れて、逆に画面に新しく入ってきたらP2Pにも接続させるというわけです。こうすることで、常に最低限のネットワーク環境で移動情報の共有ができます。

――それはスマートなやり方ですね。アイディアのヒントは何でしたか?

ヒョンジク: かつてICQなどのチャットツールを使っていた時に、思いつきました。

――他にモバイルゲームではネットワークが切れて、ゲームが中断してしまうこともあります。

ヒョンジク: そうですね。特に端末がWi-Fi接続からLTE接続に移行したり、その逆だったりという時は、数十秒間もパケットのやりとりが止まることがあります。

――日本では電車の中でモバイルゲームが遊ばれることが多いので、急にネットワークが止まることがあります。

ヒョンジク: たしかに、日本のモバイルゲームの遊ばれ方はユニークですからね。ProudNetではこのような時、再接続時に失われたメッセージデータをすべて復旧する「接続回復機能」が用意されています。ゲーム開発者がすることは、画面に「再接続中」などのアイコンを作って表示するだけです。めどうな内部処理はすべてProudNetがやってくれます。

――接続回復機能では、どの程度の時間のデータを復旧できますか?

ヒョンジク: 標準で60秒のデータが復旧できるように設定されています。もちろん、この時間は増減が可能です。

――モバイルゲーム向けの機能がかなり充実していますね。

ヒョンジク: ProudNetはPCオンラインゲーム向けに開発されましたが、実際に過去1年でライセンスされたゲームは、ほとんどがモバイルゲームです。そのためProudNetもモバイル環境下の不安定なネットワークで快適にゲームが体験できるように、特に力を入れて研究開発をしています。

――モバイルゲームでよりアクション性の高いタイトルや、MOBAのようなゲームを作る動きもありますが、ProudNetでもそうしたゲームの採用事例はありますか?

ヒョンジク: はい、韓国でもそうしたゲームが盛り上がりを見せていますね。モバイルだと『ベイングローリー』が人気を集めていますし、PCゲームや家庭用ゲームでは『オーバーウォッチ』の人気が急上昇しています。実際にモバイルMOBAでProudNetを採用されている企業もあります。

◆WindowsとLinuxの両サーバに対応

――これまで数々のアップデートが行われてきたと思いますが、一番大変なものは何でしたか?

ヒョンジク: やはりマルチプラットフォーム対応ですね。ゲームエンジンではUnreal Engine 3、Unreal Engine 4、Unity、Cocos-2dxに対応しています。クライアントではPC、モバイル、組み込み型デバイス(DVD、NVR、IPカメラ)、そしてPS4などで、異なる機種間のクライアント同士によるマルチプレイもサポートしています。Android端末の機種依存対応も重要なポイントです。社内にも大量のテスト用端末があります。

――ProudNetではWindowsサーバとLinuxサーバの両方に対応している点もユニークですね。どちらか一つだけに絞った方が効率的ではありませんか?

ヒョンジク: まったくその通りで、最初はWindowsサーバのみでした。しかし企業からの要望が多く、Linuxサーバにも対応させました。どちらもネイティブで対応しており、だからこそ大変だともいえます。実際にこれまで、ソースコードの約半分を書き替えるような、大規模なアップデートが2回もありました。

――日本ではWindowsサーバよりもLinuxサーバに人気があるようです。

ヒョンジク: 韓国は逆で、もともとPCオンラインゲームが中心だったので、2000年代半ばまでWindowsサーバが人気でした。しかし最近ではモバイルゲームの成長に伴い、Linuxサーバの需要が増えています。ProudNetでも双方のユーザー数は半々といったところですね。

――ProudNetのプログラミング言語は何ですか? また、ソースコードにアクセスすることはできますか?

ヒョンジク: 対応言語はC++、C#、Java。開発ツールはVisual Studio、Xcode、Eclipseなどに対応し、データベースではMySQLをサポートしています。ライセンス形態は複数あり、ソースコードにアクセスできる契約もあります。一方で規模が5人未満のインディーゲーム開発者や、個人開発者は無料で使用できます。

――インディーゲーム開発者にも配慮されているのですね。

ヒョンジク: そうですね。韓国でもインディーゲームはブームになっています。しかし、実際には厳しいビジネスであることに変わりはありません。インディーゲーム開発者にとっては、安価なミドルウェアでさえ負担になることがあります。弊社はProudNetを彼らに無償で提供して、たくさんの人に使い方を覚えてもらいます。そうすることで、大手のゲーム会社がProudNetを使う人材を雇用しやすくなるというわけです。つまり宣伝効果が期待できるのです。

――なるほど、それは気がつきませんでした。

ヒョンジク: 実際にゲーム開発者の求人票の中で、UnityやMayaなどと並んで「ProudNetの使用経験があること」という項目がみられるほどです。そこまで韓国では浸透しているネットワークエンジンだといえます。


――ProudNetはAWSなど、あらゆるクラウドサーバに対応しているとのことですが、オンプレミスとクラウドで違いはありますか?

ヒョンジク: あくまで一般論ですが、オンプレミスの方がより高速・効率的なサーバ環境が構築できるのは事実です。ProudNetでも2割くらい速度が速くできます。ただ、どれだけサーバが速くても、コストが高すぎては意味がありません。けっきょくはビジネスですからね。1台あたりの同時接続社数を増やすよりも、サーバを増設する方が簡単だったりします。クラウドもオンプレミスも手段の一つにすぎないので、どちらかが有利かという問題はナンセンスでしょう。



――ProudNetではロビーやマッチングといった機能の提供はありますか?

ヒョンジク: ProudNetには、そうした機能はありません。こうした機能はゲームごとに求められる内容が異なるため、ゲーム会社がそれぞれで作り込むべきだというのが我々の考え方です。反面、社では今後もネットワークエンジン部分の機能追加と改良に注力していく予定です。ProudNetにも、サンプルコード内にロビー機能を組み込んだソースの大きな一部が存在しています。

――ローンチに関するサポートにはどのようなものがありますか?

ヒョンジク: ProudNetが採用されたゲームがローンチする時は、数日前から非常待機体制とホットラインを準備してサポートに当たります。サーバエンジンだけでなく、全方位でのチェックが必要です。サーバ器機の設置状態と、サーバ増設条件、増設に要する時間、クラウドサーバの場合はデプロイの位置なども考慮すべきポイントです。サーバ内のネットワークとセキュリティ設定、セキュリティのためのソフトウェア、ハードウェアの性能、ネットワーク構成なども重要です。一つでも穴があればすべてダメになります。

――最後に日本の企業に向けてメッセージをお願いします。

ヒョンジク: これまで中国や日本のゲーム開発者と何度も仕事をしましたが、その時に思ったのは「プログラミングに国籍はない」ということです。日本と韓国では文化も言語も歴史も違いますが、問題のあるシステムやバグの入ったソースコードを見たときの対応はいつも同じでした。『ストリートファイターV』の開発も同様で、言葉にするのは難しいのですが、共通の連帯感がありました。ぜひ一緒に仕事をさせていただいて、共におもしろいゲームを創り上げましょう。

――本日はありがとうございました。

次ページ:ペ・ヒョンジク氏による「サーバーエンジン万古風霜ストーリー」をお届け

《編集部》

関連ニュース

人気ニュースランキングや特集をお届け…メルマガ会員はこちら