2018.05.18 エンジニア ゲーム

「新しいもの、使いたいよね。」ファイトリーグを支えるエンジニア対談。

こんにちは、XFLAG スタジオのキャリア採用担当です。
XFLAG スタジオの各職種の仕事内容や働き方を紹介する社員インタビュー。今回は、『ファイトリーグ』のサーバ開発・運用を行うエンジニアとして袁と姜、そしてたんぽぽグループの古城に話を聞きました。

プロフィール写真袁 雷(えん らい)

中国出身。新卒で日本のゲーム会社の上海支社に籍を置き、本社転勤をきっかけに日本へ。別会社を経験したあと、2016年7月ミクシィに入社。2018年1月よりファイトリーグ サーバ開発グループのマネージャーを務める。

プロフィール写真姜 明秀(かん あきひで)

SIerなどで受託開発に従事した後、新しいチャレンジを求めて2018年1月、ミクシィに入社。サーバサイド開発に携わる。
趣味は自宅でおいしいコーヒーを淹れること。

プロフィール写真古城 秀隆(こじょう ひでたか)

2007年ミクシィに入社。SNS『mixi』のインフラ開発などに携わり、現在はXFLAG スタジオのたんぽぽグループに所属。
社外活動ではElixirのコミュニティ運営などにも積極的。

tokyo.exが生んだ出会い

――まずは皆さんの経歴をお伺いします。

袁:
私は中国の大学を卒業後、日本のゲーム会社の上海支店に在籍し、2011年本社へ転勤になったことで日本に渡りました。ただ、もう少し自分にとってチャレンジングな環境に身を置きたいという想いがあり転職。別のゲーム会社を経て、ミクシィに入社しました。

――ミクシィを選んだきっかけは何だったんですか?

袁:
tokyo.exで古城の発表を聞いたのがきっかけです。当時まだ使う人が少なかったElixirを自分で勉強していましたが、XFLAG スタジオがすでに積極的に採り入れている姿勢に魅力を感じました。それと、実際に面接を受けてみて感じたのはスピード感です。2次面接の帰宅中、電車の中で通過のメールをもらったのには驚きました。

――続いて姜さん、お願いします。

姜:
私はもともとゲーム領域外のプログラマーです。直近ですと、AWS環境上でのソフトウェア開発をしていました。ただ、もっと新しいことに挑戦したいという想いがあり、Elixirにも興味を抱いていました。そんな中、袁と同じくtokyo.exで古城の登壇を目にする機会がありまして。他社がElixirの採用を宣言する中、XFLAG スタジオはすでに本番環境で運用までしていたことに大きなインパクトを覚えました。

――その先進性に魅力を感じた、ということですね。

姜:
はい。国内のゲーム業界というくくりで見ると、XFLAG スタジオによるElixirへの取り組みは非常に早いと感じました。ここに入れば、自分が作ったものをスピーディーに世に出せるのではと思いましたね。

――最後に古城さん、お願いします。

古城:
私は新卒入社なのであまりエピソードはないのですが(笑)。そうですね......入社のきっかけで言うと、2006年にミクシィが上場したことでしょうか。当時私は大学の修士2年で、ドクターに行くか迷っていました。そのタイミングでミクシィ上場のニュースを目にして、「ここなら何か面白いことができるのではないか?」と思いまして。入社後はいろいろな部署を転々として、今はたんぽぽグループに籍を置いています。

※たんぽぽグループ:「刺⾝の上にタンポポをのせる仕事」 のような単純作業の仕事から社内開発者を解放しよう、というミッションのもと設⽴されたグループ。大局的な視点からすべてのシステムに横断的に関わり「開発者のための開発」を行う組織。

――古城さんはElixir事例紹介本である『Adopting Elixir』の中でインタビューを受けているんですよね。

古城:
はい。最近は発表よりもコミュニティ運営側に回っているのですが、以前はElixir関連のカンファレンスで発表なども行っていました。去年のElixir Conf Japan 2017で発表したのですが、その時にElixirの作者であるジョゼ・ヴァリム氏と話す機会に恵まれまして。そこで、採用例をインタビューしていただき、その内容が『Adopting Elixir』に掲載されています。

エンジニアの興味がElixir採用の根本

――『ファイトリーグ』にElixirを採用した経緯について教えてください。

古城:
『ファイトリーグ』は複数名のユーザーさんがゲームに同時接続し、リアルタイムにプレイを進めていくという設計が前提としてあります。そのため、WebSocketを用いたフレームワークの利用が必要だと思った時に、Elixirが比較的向いているとなったのが経緯と言えば経緯なのですが......。
根本的な部分は「新しいもの、使いたいよね」というエンジニアならではの興味ですよね(笑)。『ファイトリーグ』以前からすでにXFLAG スタジオでは『モンスターストライク スタジアム』の裏側でElixirを使っていましたし、検証も十分でしたので採用しました。責任さえ持てれば新しい技術を使うことを許容してくれるというのは、XFLAG スタジオならではだと思います。

――他にも特徴的な点はありますか?

袁:
サーバ・クライアント間の開発を効率化するために、APIやWebSocketの通信データをThriftファイルで定義してサーバとクライアントのコードを自動生成するスクリプトを作ったのですが、そこではElixirとC#の他に、Elmも吐くようになっています。

古城:
そうそう。Elmとか、Elixirより使ってる人少ないんじゃない?

姜:
その辺りのクラスタって重なってる印象ですけどね。とにかく、そうした新しい技術に対して寛容なのはXFLAG スタジオの魅力だと思います。

古城:
同じ仕事をするのであれば、より面白い・楽しい環境で働ける仕組み作りをするようには工夫しています。新しい言語を採り入れるのもそのうちのひとつで、エンジニアのモチベーションドリブンになっていますね。

『ファイトリーグ』のシステム構成

――続いて、『ファイトリーグ』のシステム構成について教えてください。

古城:
分かりやすいように概略図をご用意しました。

『ファイトリーグ』では、ソケットを抱えるサーバとロジックを動かすサーバを分離した構成を採用しています。ユーザーさんの数や接続がどれだけ増えても大丈夫で、かつマシンを増やすだけでいくらでもスケールできるというのがコンセプトです。

姜:
生産性を下げないよう、接続管理まわりの部分とロジックが入った部分とを分けている形ですね。サービスを停止しないでバージョンアップやバグ修正ができる仕組みを目指しています。

古城:
あとは、チート対策とかですね。クライアント側にロジックがあると、改ざんによるチートの可能性が出てくる。『ファイトリーグ』は対戦ゲームなので、これを防ぐためにサーバへインゲームのロジックを積んでいます。あと、ロジックの更新を多くかけたいので、接続を別のサーバに管理させているというのもサーバを分ける理由のひとつです。

姜:
ただ、WebSocketを使うのは接続周りの管理が結構大変で、正直難易度も高くなります。

古城:
端末や環境によっては通信が不安定なユーザーさんもいますからね。できるだけゲームが中断されないよう、裏側の部分で再接続を行ったりといった部分には気を遣っています。

――なるほど......モバイルゲームならではですね。

古城:
あとは、サーバにロジックがあるというのは詳細なゲーム中のログが取れるということ。これを機械学習などに活用できる可能性があるのも、実は狙いのひとつです。実際に、深層学習を使って強いAIを作るといった取り組みにもすでに着手していますしね。こうした未来に向けた設計ができている点もこの構成の特徴です。

少数精鋭でサービスを支えるチーム&ツール

――先ほど袁さんからサーバとクライアントのコードを自動生成するスクリプトのお話も出ましたが、その他にもチーム開発をうまく回すために取り組んでいることはありますか?

古城:
たとえば、クライアントの開発者が動作確認をしやすくするために、指定のブランチのサーバコードと開発中のデータで環境を構築できる開発者用Webアプリケーションを運用しています。まあこれを作ってくれたのはインターンの子なんですけど(笑)。それに手を加えて使っています。

姜:
非エンジニア向けですと、Slack経由でデータ更新やサーバデプロイができるような仕組みもあります。これによって、エンジニアはもちろん、運用やカスタマーサポートのメンバーなどの生産性向上も実現しています。

袁:
こうしたツールを作れば工数も減ります。それは同時に、もっと重要なものやチャレンジしたいものに充てられる時間が増えるということですよね。チャレンジができれば個々の成長にもつながりますし、自分なりの目標も見つけやすくなります。すると結果的に、組織全体の成長にもつながると考えています。

――ちなみに、現在のサーバサイドエンジニアは4名ということですが、サービスの規模を考えると少ない印象ですよね?

姜:
そうですね。ただ、少人数で大きなことをやれるのは、エンジニアとしては楽しい環境だと思います。

袁:
無理に大きなチームを作る必要はないですよね。大切なのは必要な人数が揃っていること。そのほうがコミュニケーションも取りやすいですし、開発の効率もよい。理想的なのは、個人の能力が十分発揮できることだと思います。そのために、適度な裁量をエンジニアに与え、目標に向かって努力し続けられるような環境づくりに努めています。

エンジニアが感じるXFLAG スタジオの魅力

――皆さんが思うXFLAG スタジオの魅力を教えてください。

古城:
私はこれまでいろいろな部署を転々としてきましたが、それぞれの場所で異なる課題がありました。これは、XFLAG スタジオがエンタメに関することは何でもやるという組織だからこそだと思います。目の前にある課題一つひとつに対してどのようなアプローチがあるのかを考え、実行し、解決に導く。それを繰り返していくと、自分の中の引き出しが増えていくんです。しかも、自分にとっての未開拓の分野でもありますから、経験値もたくさん積める。これはエンジニアにとって、大きな魅力ですよね。もちろんそれは、会社がエンジニアをある程度信頼してくれているからなのですが。

また、エンタメ系のサービスはユーザーさんとの距離が近いのも魅力だと思います。サービスに対してダイレクトにリアクションが届くので、やりがいにもつながりますよね。特に、コンテンツの良し悪しが直接評価されるという側面を持つゲームに関しては、より生の声が聞こえてきます。そういう意味でも、ユーザーさんに近いところで仕事ができる環境だと思います。

姜:
古城と同じく、自分たちの技術力で解決できる問題が多いというのは大きな魅力だと私も思っています。XFLAG スタジオがITを軸に事業を展開しているという点もポイントですよね。加えて、会社がエンジニア、プログラマーを尊重してくれているというのは非常にありがたく感じています。

また、SNS『mixi』時代から引き継がれている負荷分散の知見などを学べるのも大きいです。私からすると、当時のエンジニアの皆さんが挑戦してきた技術というのはやはり参考になります。あとは何よりスピード感ですよね。「世に出すのが遅い」ということにストレスを感じるエンジニアの方にとっては、退屈しない環境だと思います。

袁:
私が感じるのは技術的なチャレンジの多さです。『ファイトリーグ』で言えば、Elixirの採用がひとつ、大きなチャレンジだったと思います。もちろん、細かい仕事の中にもたくさんのチャレンジがあるので、成長につながりますよね。

また、業務内容の幅広さも特徴だと思います。他社の場合、エンジニアの仕事は細かく役割分担が決められていることも多いです。一方、XFLAG スタジオの場合はインフラやDBの設計、API実装、ソケットの通信まわりなど、広い領域を担当できます。

もちろん、広範囲の知識を身につけるためには勉強が欠かせませんが、それを業務を通じて身につけていけるというのも魅力ですよね。自分の学んだもの・ことが成果につながるというのは、物事を学習するうえで非常に効率的だと思います。会社が個人の目標達成を後押ししてくれる風土もあるため、成長の機会はとても多いです。

XFLAG スタジオで活躍できる人物像

――XFLAG スタジオで活躍できるエンジニアというのはどういう人でしょうか?

古城:
仕事やミッションなどから問題を見つけ、どのようなアプローチができるかを自分なりに考えることができれば、たいていのことは楽しくなると私は考えています。どんなタスクも楽しみながら実行できる人と一緒なら、きっとその周りの人も楽しく働けると思うんですよね。だから、そうした人はきっと活躍できると思いますし、周囲からの協力も得られるだろうと思います。

――続いて袁さんはいかがでしょうか?

袁:
能動的に仕事ができることはベースのラインかなと思います。それに加えて欲しいのは、「+αの意識」ですね。自分が他に何かアクションを起こすことで、チームや他のセクションによい影響を与えられることをイメージしながら働ける人だといいですね。そしてより高いレベルの話にはなりますが、組織の目標に合わせて自分の目標を明確にし、チャレンジをしていける人は活躍できると思います。

――なるほど。次に姜さん、お願いします。

姜:
そうですね......新しいことにチャレンジするのが好きな人、だとちょっとありきたりなので......。たとえば古城と袁に関して言えば、めちゃくちゃ優秀だな、と日々感じています。なので、こうした人がXFLAG スタジオで活躍できる人物像だよな、とは思います......と、言っておきます(笑)。

古城:
言っておきますって!(笑)

  • image04
  • image05

今後の展望

――最後に、個人・組織にとらわれず、将来に向けた展望などあればお聞かせください。

姜:
とりあえず私の場合は、まだ入社して日が浅いということもありますし、もっと改善できる点を見つけながら一つひとつ取り組んでいる状態です。まずは自分のできることを続けていこうと考えています。

古城:
組織における技術分野で言うと、機械学習ですね。ユーザーさんがプレイをしてくれればログはたまりますし、強化学習のためのシミュレーターも元々ある。そういう意味で、ゲームと機械学習は相性がいいんです。XFLAG スタジオでも、これからどんどん推し進めようとしている分野のひとつですね。
個人で言えばもっと広い分野に関わりたいとも考えています、楽しみながら。そういう意味で、最近は週に1回、チームで仕事とは関係ない分野の勉強会を開いています。とにかく、今は忙しくて時間がないというより、やりたいことが多すぎて時間がないという感覚ですね。

袁:
もう少し広い話になると、技術で人々の日常生活によい影響を与えたり、習慣を変えたりしていきたいですね。これはゲーム、エンタメに限らずですが。今は技術の変化が激しい時代です。昔では想像もできなかったものが実現できるようになりました。今後も、こうしたイノベーションが起こり続けていくはずです。そこに、自分は技術で関わっていきたいなと考えています。

***

インタビュー中も和気あいあいと、楽しそうに質問に答えてくれた三人。普段も、よいコードが書けた時などはドヤ顔で自慢し合うなどしているそうで、仲の良さが伺えます。また、本文中には載せられませんでしたが、「サーバエンジニア側からも自分たちの知見を活かした提案を行って、よりよいプロダクトに成長させていきたい」など、熱い想いも語っていました。先進的な技術を使いながらチャレンジを続けて行くXFLAG スタジオのエンジニア。この輪に加わり、挑戦をしていきたいとお考えの方はぜひエントリーをご検討ください。


エンジニアの募集職種一覧はこちらから。
https://career.xflag.com/career/#engineer



※本文中の組織名・所属・役職はインタビュー時点のものです

社員インタビューに戻る