【エンジニア募集中】バンダイナムコスタジオが新たに発足した“ゲームタイトル横断型”共有ネットワークライブラリ開発チーム。革新のため立ち上がったチームが求めるエンジニア人材とは
バンダイナムコスタジオでは現在、「タイトルを横断する」共通ネットワークライブラリを開発中。バンダイナムコスタジオは、バンダイナムコエンターテインメントの完全子会社にあたるゲームスタジオだ。『アイドルマスター』シリーズや『鉄拳』シリーズ、『テイルズ オブ』シリーズといったさまざまな人気シリーズを手がけている。過去には弊誌AUTOMATONでも、オープンワールドゲームを視野に入れた、内製ゲームエンジンの開発に携わるエンジニア求人について取材した(関連記事)。
そして現在バンダイナムコスタジオでは、ゲームのネットワーク部分を専門とする新鋭チームが立ち上がっている。社内の複数タイトルに横断的に関わり、ゲームのオンライン機能やクロスプレイ機能の搭載をサポートするチームだ。タイトル間で共通のネットワークライブラリを作るという目標のもと、トップダウンではなくエンジニアたち自らが立ち上げた組織だという。その背景には、ネットワーク開発体制を改革し、より良いゲーム作りを実現する意思があったそうだ。その新鋭チームではネットワークエンジニアを募集している。
・ネットワークエンジニア採用ページはこちら
ネットワークライブラリ開発への意思はどのような経緯で生まれたのか、ゲームネットワークの先鋭である同チームは、どのような人材を求めているのか。チームで活躍するリードエンジニアの、川ノ上哲規氏に話を訊いた。なお取材については、新型コロナウイルス感染症対策をした上で実施している。
ーー本日は宜しくお願いいたします。まずは自己紹介をお願いいたします。
川ノ上哲規(以下、川ノ上)氏:
バンダイナムコスタジオ オンラインテクノロジー部 マルチプレイヤーネットワークユニットの川ノ上と申します。現在バンダイナムコスタジオで開発中のネットワークライブラリにおいて、リードエンジニアを担当しております。業務内容としては、主にライブラリの設計方針の策定や実装に携わっています。
「力を結集し、新たな挑戦をするため」誕生したネットワークライブラリ開発チーム
ーー今回、ネットワークエンジニアを募集されている理由はなんでしょうか。
川ノ上氏:
現在開発中のネットワークライブラリに携わる人材として、ネットワークエンジニアを募集しています。このネットワークライブラリは、ゲームタイトルを横断して、共通部分のネットワーク機能を提供する役割を担っています。機能としては、リアルタイム通信を中心に、ゲーム内のさまざまなネットワーク機能を扱えるように設計・実装しております。
オンライン対戦機能をもつゲームを例に挙げると、対戦相手を見つけるためのマッチメイキング機能、マッチングした相手と通信するためのP2P通信や、対戦結果をサーバーにアップロードするためのリーダーボード機能などをネットワークライブラリがサポートします。ゲームプレイのあらゆる場面で使われるネットワーク機能を、ネットワークライブラリで提供できるようにしています。
また昨今のオンラインゲームでよく見かける、プラットフォームをまたいでほかのプレイヤーと一緒に遊べるクロスプレイ機能についても、ネットワークライブラリのサポート領域として開発を進めています。
ーーネットワークライブラリは、ゲームのネットワーク機能の全域をカバーするんですね。タイトル間で共通のネットワークライブラリを作る取り組みは、どのような経緯で始まったのでしょうか。
川ノ上氏:
前提として、ゲームのプログラミングにおいて、ネットワークの分野を専門としているエンジニアはとても少ないんです。今取り組んでいるネットワークライブラリを開発する前は、タイトルごとに専任で配属されていた1〜2名の担当エンジニアが、各タイトルのネットワーク機能の実装を担当していました。
そうした体制でそれぞれのタイトルで同じような実装をゼロからおこなっていたため、各タイトルで同じような不具合を起こすという非効率な状態でした。社内の経験豊富な先輩エンジニアに聞けば、事前にバグを回避したり不具合への対処法を聞くことができたりしたかもしれません。しかしネットワーク担当者が社内の有識者の存在を把握することが難しく、エンジニア間での情報共有の場もありませんでした。そのため、以前の体制でのネットワークエンジニアは、先人が踏んできたバグや不具合もまったく同じように踏んでしまい、その解決にも無駄な時間を使うことが少なくありませんでした。
また各タイトルに割り当てられるネットワーク開発人員も少人数です。ネットワーク部分の開発期間と人員がどうしても不足しやすい状態でした。そのため新しい機能の導入などの挑戦をしたくても開発やデバッグの期間が足りず、断念するしかない場合も多くありました。
そういった状況の中でも、現行のタイトルの続編であればノウハウを踏襲することで新しい不具合を起こしにくいというのもあり、個別対応でネットワーク仕様を作り続けることはできていました。それでもやはり、もっと新しいゲームデザインや革新的な取り組み、今まで自分たちが挑戦してこれなかったような大きな課題に対して、みんなの力を集結させてクリアしていきたい、という考えが強くありました。
そこで4年ほど前から、社内のネットワーク担当エンジニアが集まって情報を共有する場を設けました。業務の合間を縫って、社内の有志ネットワーク担当エンジニアが毎月1回集まるかたちです。そこではそれぞれが新規に実装した内容や、自分が直面した不具合をどのように解決したかといったノウハウの共有をおこなっていました。共通ネットワークライブラリという構想は、3年ほど前に会議を続ける中で生まれました。各所で同じような失敗を重ねるのではなく、担当者たちのノウハウをひとつに集結し、全員で同じ問題解決に向かえる構造を作ろうという考えです。
ーー既存の問題を解決し、なおかつ新たな挑戦をするために生まれたということですね。ネットワークライブラリの立ち上げや開発において、苦労はありましたか。
川ノ上氏:
共通ネットワークライブラリの話を立ち上げる時に、すでにそれぞれのタイトルにいたネットワーク担当者を集めるのが一番大変でした。以前はタイトルごとに少人数が専属でネットワーク開発を担当していたので、開発体制が個人に強く依存している場合がほとんどでした。当然ネットワーク以外の開発側としては、そのメンバーが違う部署に異動してしまうと「ネットワーク人員を取られた」という感じになってしまうので、なかなか同意を得られない状況でした。
ただ、やはりそういった個人に依存する体制のままだとネットワークエンジニアにかかる負荷も高いですし、どうしても非効率な部分が出てきてしまいます。現状を維持していても同じようなタイトルばかりになってしまい、新しいチャレンジがしにくくなることを私たちも危惧していました。そういった問題を各タイトルのディレクターに説明して、理解してもらえるように説得する部分が大変でした。
ネットワークライブラリ開発が始まってからも、あるタイトル開発チームに対するヒアリングで得た要望が、別のタイトル開発チームからヒアリングした要望とうまく噛み合わないことがありました。複数のタイトルに幅広く使ってもらいたいという気持ちがありますので、このさまざまな需要を両立させるにはどうすればいいか、というところに頭を悩ませることもあります。各タイトル間の要件の落としどころを見つけることが、一番大変かつ重要なところかもしれません。
ーー現在、ネットワークライブラリの開発はどこまで進んでいるのでしょうか。今後の展望も含めてお聞かせください。
川ノ上氏:
最初期に構想・設計したネットワークライブラリである「Ver1.0」は現在開発の終盤で、実際にプロジェクトで開発に組み込んでもらっているところです。その段階ではクロスプレイを意識していなかったので、Ver1.0はクロスプレイをサポートしていません。
ただ、クロスプレイでプラットフォームを超えてプレイヤーを集められれば、対戦・協力プレイの幅もより広がっていくと考えています。弊社としてもその分野にも積極的に乗り出していきたいと考えており、クロスプレイ機能をサポートするサーバーサービスの基盤開発を並行して進めています。そこでクロスプレイのサポートや、Ver1.0からの改善を盛り込んで再設計した「Ver2.0」の開発を、Ver1.0と並行して進めています。Ver2.0は来年の夏頃を完成の目処としています。
その後の展開としては、ゲーム以外の分野とネットワーク技術を融合させて、新しい体験を産み出そうという構想があります。具体的なところはお話しできませんが、ライブ配信やリアルイベントの演出にネットワーク技術を融合させて、新しい体験を生み出すアイデアを検討しています。将来的にはそうした技術研究を始めていきたいですね。
タイトル開発に二人三脚で寄り添い、成果をあげる
ーーネットワークライブラリの開発を進める「マルチプレイヤーネットワークユニット」では、ほかにもタイトル開発チームへのアドバイザリー業務をおこなうと伺っています。そうした業務はどのように進んでいくのでしょうか。
川ノ上氏:
まずタイトルの企画段階で、ゲームデザイナーの方からタイトルのオンライン部分に関するゲームの仕様が提出されます。企画書を読み込んでゲームデザイナーの意図を汲み取り、場合によっては直接ゲームデザイナーと話をして、何を実現したいのか、どういう面白さがあるのかというところから理解を始めます。その上でネットワークエンジニアの視点から、仕様の実現可能性や「こうしたほうがいい」という部分をフィードバックしていきます。時には実現が困難な要件もあるので、それを指摘しつつ代替案を提示することもネットワークエンジニアの仕事のひとつです。このような仕様の妥当性の検証作業に加えて、実際にネットワークライブラリを提供してインテグレートまで実施することもあります。実際にコードのプログラミングまで介入するパターンもありますね。
開発の過程で起こり得るのが、ネットワークライブラリチームの中だけで閉じた状態のまま、自分たちの経験だけを頼りにライブラリ開発を進めてしまうことです。その結果として、誰も欲しがらない機能をもった無用なライブラリが完成してしまうのを恐れています。そうならないように、実際の需要を重要視してタイトル開発チームに寄り添い、一体となって要件定義を進めていきます。
実際にネットワークライブラリを使ってもらったチームに「どうでしたか?」と聞くと、狙い通りというか、ネットワークライブラリを簡単に組み込むことができて助かったという反応が得られました。タイトル開発チームの立場としては、ネットワークの機能をネットワークチームが担保してくれる安心感があり、実装が簡便かつ安定したものになるので助かるとのことでした。工数も抑えられたそうで、素直に嬉しかったです。
どのような作品に関わる場合でも、そのタイトルが実現しようとしているゲームの仕様や、面白さのポイントなどを把握する必要があります。タイトル開発チームと私たちの考え方を擦り合わせて、二人三脚で開発を進めるかたちになります。そういう意味ではネットワークエンジニアも、タイトル開発チームの一員として動くという意識がないと、本当の意味でのアドバイザリーはできないと感じています。
多様な背景のメンバーが集うチーム
ーーネットワークライブラリ開発チームは、社内ではどのような立ち位置になるのでしょうか。
川ノ上氏:
正式名称としては「技術スタジオ オンラインテクノロジー部 マルチプレイヤーネットワークユニット」がネットワークライブラリの開発を担当しています。ネットワークライブラリの開発だけではなく、マッチングサーバーやリーダーボードサーバーといったサーバー基盤開発のメンバーもここに所属しています。この部署から、社内で開発されている多くのタイトルに向けて、幅広くネットワークライブラリを提供しています。
エンジニア同士の情報共有会を前身として、そこから5~6名が集まり、少しずつメンバーが増えてきました。現在マルチプレイヤーネットワークユニットには20名ほどが在籍しており、うちライブラリ開発には10名弱が従事しています。中には新卒で配属になった方や、ゲーム業界の外から中途で入ってこられた方もいます。いろいろな背景の方が集まっていますが、「ネットワークにのみ携わってきた」という方はむしろ少ないです。私自身を含めて、ゲーム開発出身のメンバーでも経歴は幅広く、描画に携わっていた、UIに携わっていたという方も多いです。
ーーチームの皆さんは、どのような雰囲気ですか?
川ノ上氏:
チームメンバーが集まったのが3年ほど前なんですが、同時期にテレワークが始まったこともあり、実は同じ場所に全員が集まって仕事をしたことは一回もないんです。でもWeb会議等で毎日話すので、壁のようなものは感じないですね。みんなオープンというか、積極的にコミュニケーションを取りに行くメンバーばかりだと思います。話し好きな人が多くて、話し始めると止まらない人もいます(笑)
ーーチームとして、お休みなどもしっかり取れる体制でしょうか。
川ノ上氏:
休日については概ねカレンダー通りだと思います。休日出勤が必要な場合は限られていて、基本的には自分の裁量で休みなどを取れます。あわせて、バンダイナムコスタジオでは会社として有休取得推奨日が設けられておりますが、それとは別で私たちの部署独自の施策としても有休取得推奨日を設けています。有給休暇を使い切るのが難しい業界ですが、なるべく消化していきましょうという施策です。
求める人物像
ーーネットワークエンジニアに応募するにあたって、必要なスキルなどを教えてください。
川ノ上氏:
プログラミング言語でいえばC++、特にC++11以降を扱える方です。あとはネットワークプログラミングの実務経験や、マルチスレッドのプログラミング経験が必要になります。ただ必要なのはそれぐらいで、オンラインゲームに関する特別な知識や経験が必要というわけでもありません。新しいオンライン実装に挑戦する時はみんな未知の分野で知恵を絞りますし、過去のオンライン実装の知見については、経験を積んだメンバーが詳しいので、素早く吸収してもらえると思います。
また特筆するほどではないものの、他者と円滑に協業できる力は必要になると思います。チームで作業を進めていく以上は、コミュニケーションを取る必要があるためです。
ーーそのほか、応募する上で有利な実績や経験はありますか。
川ノ上氏:
あるとすれば、マネジメント経験ですね。幅広く手を伸ばす部署なので、いろんな人と話をしたり調整したりといったことができる人は強みになります。そこを引っ張っていけるような人材はどうしても不足しがちです。
あとは一般に公開されているゲームエンジンやネットワークライブラリの利用経験などがあると、開発目標が想像しやすいと思います。実務でなくても「趣味で触ったことがある」「APIを覗いたことがある」などの経験でも良いヒントになるはずです。
最後に、「オンラインゲームをよくプレイしている」というのも実は結構いいポイントになると考えています。ゲームをパッと見たときに、どういう仕組みで動いているのかが想像できれば、自分たちが何を求められているのかの推測に活かせるので、心強い点だと思います。
「ゲーム全体を見渡す」ネットワークライブラリ開発だからこそ得られるもの
ーーバンダイナムコスタジオでネットワークライブラリ開発に携わる魅力は何でしょうか。
川ノ上氏:
ネットワークライブラリの開発とタイトルへの組み込みをおこなう過程では、ゲームプログラム全体を理解しながらの進行が求められます。ゲームシーケンスやUI、場合によってはキャラクターの行動制御といったところにも、ネットワークの要素はちりばめられています。そのため、ネットワークエンジニアの仕事はネットワークライブラリを組み込むだけではなく、UIやキャラクターへの影響も含めて妥当性を検証する作業にも関わっていきます。そうすると自然と、ゲームのさまざまな部分の知識が身についてきます。そうした経験は、将来のキャリアパスの幅も広げるのではないでしょうか。
またバンダイナムコスタジオでは、自社で数多くのタイトルを開発しています。それぞれのタイトルがユニークなゲーム仕様を持っていて、必要となるネットワークサービスもさまざまです。見たこともないようなアイデアも今後出てくるかもしれません。そのような多彩なタイトルの開発に横断的に関わり、いろいろなゲームを知ることができるのは、ネットワークライブラリ開発のひとつの魅力かなと思っています。また一般に、ゲームプログラムのネットワークを担当する実務を経験している人材は、社内外問わず本当に少ないです。その経験自体が希少価値といえると思います。
ーー最後に、応募を検討されている方へメッセージをお願いします。
川ノ上氏:
今やほとんどのゲームタイトルはネットワーク機能を持っていて、ネットワーク技術はなくてはならないものになっています。チーム全体の意思として、そうしたネットワーク技術をより発展させ、安定させたいと考えています。何よりもゲームタイトルのことを最優先に考えて、その共通ネットワークライブラリおよびオンライン技術をタイトルに供給していく基盤を整備していきます。
そして、ゲームネットワークエンジニアの人材不足を解消するための、人材育成にも力を入れていきます。現時点でしっかりしたスキルをもっていない方でも、人材不足の現状を踏まえれば、それは当然と考えています。育成も込みで、新たに一緒に仕事をしていただけるメンバーを探しています。私たちの取り組みに興味があり、自分の知識をゲームネットワークエンジニアとして活かしてみたいと少しでも思っていただけたなら、ぜひご応募ください。ゲーム業界未経験の方からのご応募も歓迎です。
ーーありがとうございました。
バンダイナムコスタジオでは、ネットワークエンジニアを募集中。そのほかにも数多くのポジションで開発に加わってくれる仲間を求めている。求人の詳細については下記からご覧いただきたい。
バンダイナムコスタジオ キャリア採用 求人ページ
[聞き手・編集: Seiji Narita]
[聞き手・執筆・写真:Aya Furukawa]