今や世界中の人々とオンラインで繋がるのが当たり前になりつつあるコンシューマーゲーム。その潮流に寄与し、業界を牽引してきたのが『モンスターハンター』『ストリートファイター』といった弊社のヒットタイトルと言っても過言ではないでしょう。
そのような「オンライン通信」を支えてきたのがネットワークエンジニア。限りなくオンライン通信のタイムラグを削り、ストレスなくプレイできるようになったのは、彼らの努力の賜物です。
今回は、14年に渡りネットワークエンジニアとして、ゲーム開発を支えてきた中村にインタビューを実施。ネットワークエンジニアとしてカプコンで働くやりがいについて聞きました。
国内では数少ない「ゲームエンジン」メーカーを探して入社
―まずはカプコンでどのような仕事をしてきたのか教えてください。
わたしは入社当初から今まで、ゲームエンジンを作る部署でネットワークを担当しています。大学院でもネットワークを勉強していたので入社してすぐに、カプコン独自のゲームエンジンである、MT FRAMEWORKのネットワーク機能の開発部分に着手しました。
特に多く携わったのが格闘ゲームのタイトル。「ストリートファイター」や「MARVEL VS. CAPCOM」シリーズのいくつかで入力同期通信の実装に携わりました。直近ではMT FRAMEWORK同様、独自の次世代ゲームエンジン「RE ENGINE」で開発されたストリートファイター6が、世界的にも評判がよく、これまでのキャリアが報われた気がしますね。
―改めてゲームエンジンとはどのようなものなのでしょうか?
ゲームエンジンというのは、スマホでいうOSのようなイメージです。セッション機能やランキング機能など、多くのゲームで使われる基本的の機能をパッケージしたもので、それを使うことで効率的にゲームが開発できます。
ゲームエンジンの多くは海外で作られていますが、カプコンは国内では珍しく自社で開発エンジンを作っています。
―中村さんがカプコンを選んだ理由も教えてください。
「私がこれを作ったんだ」と言えるような仕事をしたかったからです。私が入社した14年前というのはゲーム業界でネットワークエンジニアという肩書での採用は少なく、同期の多くは家電メーカーや携帯電話メーカー(当時はガラケー)やSIerに就職していました
一方で私は、 子供の頃Dante(今でいう「RPGツクール」)というゲームを作るソフトが大好きで、自分でもゲームの開発エンジンを作ってみたいと思ったのです。そして、国内でゲームエンジンを作っている会社を探して見つけたのがカプコンでした。
―ゲームエンジンに関わるには大学院での研究や知識が必要ですか?
研究の種類などにはよると思いますが、私の場合は大学で身につけた専門的な知識が実務でそのまま役に立つということはありませんでした。
知識としてはプログラミングをしている人なら、大抵は身につけているようなものです。 ただし、問題に対してどのように対策を立て、それを周りの人と共有するためにどのようなプレゼンや根回しが必要なのかは社会に出て活きたと思います。
世界的ヒットタイトルの裏側にあった「遅延ゼロ」へのこだわり
―ゲーム業界でネットワークエンジニアとして働く面白さを聞かせてください。
自分が作ったもので、みんなが楽しんでいる様子を見られることです。特に今は動画配信サービスなどで、オンライン機能を使ったプレイ動画が数多く配信されていますよね。それらを見ると、自分のしてきた仕事をダイレクトに感じられます。
最近だと「ストリートファイター6はオンライン通信の反応がよくなった」というコメントを掲示板で多く見られ、非常に嬉しく思います。実はシリーズの前作では、日本とアメリカで対戦するとロールバックがあって、満足に遊べなかったという声もあったんです。
それを克服するために、今回は様々な工夫を凝らしてきたので、その努力が報われた気がしました。
―どのようにタイムラグを削減していったのでしょうか?
ネットワークエンジニアだけではなく、ストリートファイターの開発チーム全体で細かい調整を積み重ねてきました。特にストリートファイターチームはロールバックへのこだわりが強くて。前作では、例えば100ミリ秒の通信遅延があるとそれに応じたロールバックが起きていたのですが、「海を隔てた対戦だったらこんなものだよね」と受け入れてしまうレベルのものでした。
しかし、ストリートファイターチームは、その妥協を許さずオフラインと遜色ないレベルでのプレイにこだわりました。そのこだわりがあったからこそ、世界中が満足するレベルのゲームを実現できたのだと思います。
―チームでの仕事というと、他のメンバーともコミュニケーションが多いんですね。
いえ、そんなことはないです。特にネットワークエンジニアは技術者以外と話すことはほとんどなく、それぞれ自分の仕事に黙々と集中している時間が長いですね。
ただし、唯一話すことが多いのはゲームの企画部です。「こんなゲームを作りたいんだけど」と相談されることが多く、それに対して「こういう技術を使えばできるよ」「このツールを使えばコストを抑えられるよ」技術的なアドバイスをすることはよくあります。
「好奇心旺盛で職人気質」ネットワークエンジニアに求められる気質
―どんな人がカプコンのネットワークエンジニアに向いているか聞かせてください。
好奇心旺盛で、新しい技術に前向きな方です。カプコンは自社でゲームエンジンを作っているからこそ、新しい技術をどんどん取り入れられます。そのため、新しい技術が好きで、すぐに使ってみたいという方は、カプコンで思う存分力を発揮できると思います。
私自身も、新しい技術を提案して実装されたことがあります。逆に言えば、新しい技術に抵抗のある方にとっては厳しいかもしれませんね。
あとは一つの領域を極めるのが好きな人。ネットワークのチームは、一人ひとりが自分の専門領域を持っています。たとえば「プレイステーションの専門家」「Nintendo Switchの専門家」、私で言えば「格闘ゲームの通信の専門家」などです。新しいもの好きだけど「これだけは絶対に負けない」というものが欲しい人には向いているのではないでしょうか。
もちろん、入社した時は専門領域をもっていなくても大丈夫です。仕事をしながら作っていければいいと思いますね。
―仕事をしていてやりがいを感じる瞬間を教えてください
自分が開発したエンジンを使って、社内のエンジニアが仕事をしやすそうにしているのを見ていると嬉しいですね。直接的に感謝の言葉を言われることはほとんどありませんが、縁の下の力持ちとして開発チームを支えられているのが嬉しいです。
―ゲームエンジンを作る上で、どんなことを心がけていますか。
研修を終わったばかりの新人のエンジニアでも、すぐに開発ができるツールを心がけて作っています。ネットワークに起因する難解なバグが発生したら原因を調べて修正方法を提案しなければならないので、そもそもエンバグしにくいようなツールを目指してきました。
実は、以前は開発の後半になってプロジェクトが炎上することがあり、発売ギリギリまでツールの修正をすることも多くてツールの開発を止めて、アプリの不具合調査に専念することも多くて。PC2台を駆使して、1台でバグを修正してビルドをしている間に、もう1台で別のバグを修正するなんてこともありました。そのような時は1日に十数ものバグを修正しなければならず、体力的にも精神的にも大変でしたね。
そのような経験を乗り越えてきたので、できるだけバグが発生しないツールを目指しています。おかげで最近ではフォローすることも少なく、暇になって少しさびしいです笑。
―ネットワークエンジニアは今でもゲーム業界でも珍しいのでしょうか?
以前に比べれば増えましたが、今でも珍しいと思います。ゲーム業界にはゲームを作るのが好きなエンジニアは大勢いますが、ネットワークのことまで考えるのが好きなエンジニアは多くありません。
それでもこれからネットワークに繋がるゲームは増えていきますし、海外の人と一緒にプレイするシーンは増えていくので、需要はどんどん高まっていくと思いますね。
―最後に、カプコンのネットワークエンジニアに興味を持った方にメッセージをお願いします。
ネットワークエンジニアなら、自分の専門領域でやりたいことは、全て自分で決めることができます。ネットワークのチームは人数が少ないので、専門領域が自分と重なるエンジニアがいないんです。
私は格闘ゲームのスペシャリストなので、そこは任されています。これだけの大組織でありながら、自分の好きなように仕事ができるのは大きなやりがいだと思います。
また、働き方がホワイトなのも大きな魅力です。昔は炎上したタイトルを手伝って働きすぎていた時代もありましたが、そうならないようにゲームエンジンを作り込んで改善してきました。そのおかげで今は定時で帰れますし、快適に仕事ができています。自分の働く環境を自分で作り出せるとことも、この仕事の面白いところだと思います。