みなさまこんにちは!ソリューションアーキテクト部の金杉です。
ご存知の方も多いかと思いますが、2/24から7日間に渡り、dots. Conference 2016 Springが渋谷で開催されました。
最終日の3/1、「ゲーム開発の裏側」をテーマとしたセッションにて、IDCフロンティアもパネルディスカッションを行いました。
もちろん、私もその場にいましたので、今回は一参加者としてこのイベントをみなさまにご報告します!インフラエンジニアのみなさん、ぜひご一読を!
dots.の会場につきました。まだまだ真冬を感じさせる寒さですが、テーマカラーは春らしいピンクです!春と言えば、新入社員が入る季節ですね。二年目を迎える私は複雑な気持ちです。(おろおろ)
19:15。パネルディスカッションが始まる前に、まずはIDCFクラウドのPR!この枠でお話する機会を頂きましたが、3分で魅力を伝えるのは想像以上に難しかったです。ここでdots.さんのインフラを(許可を頂いて)ばらしてまいりました!
19:20。いよいよパネルディスカッション開始です!今回はゲーム開発企業の技術マネージャー各位による、オフレコスレスレのトークを繰り広げていただきました。
テーマ
「わが社のチームビルディング ~絶対落とさないインフラの裏話~」
パネラー
株式会社マーベラス 開発本部 副本部長 兼 開発部長 河本公志氏
クルーズ株式会社 技術統括本部 執行役員 最高技術責任者 / CTO 鈴木優一氏
株式会社ドリコム 執行役員 テクノロジー本部長 白石久彦氏
モデレーター
株式会社IDCフロンティア ビジネス開発本部 副本部長 高橋健太郎
※登壇者プロフィールはこちらをご覧ください。 eventdots.jp
♦Topic 1. チームビルディング
「とにかくプレッシャーを楽しみ、プロダクトに関心を持ってもらう。評価は難しいが、”変態”やホスピタリティスピリットを持っている人は輝く。」
世間一般的に見ると、”落としてはいけない”ではなく、”落とさないのが当たり前”。そんな業界で働いているインフラエンジニアは、プレッシャーが大きそうでモチベーションの維持も大変そう。しかし、そんなインフラエンジニア達を統括しているマネージャーさんたちのお話を聞いていると、大変は事実でも、思ったより楽しそうなものでした。
1. よそから見るとプレッシャーかもしれないが、実はそれがインフラの醍醐味
インフラは何かを支えるためにあるものだから、実際に自分らが支えているものを愛し、事業にコミットするのはとても大事。だからインフラと開発を分けたりしないのが一般的で、むしろその一体感がモチベーションに繋がっているのです。
そして突然問題が訪れても、対応するのは当たり前であって、そこに妥協というオプションはない。ハードそうに聞こえても、それを対応するのが当たり前だし、ググっても答えがでない問題じゃないと問題とも呼べない。そんな問題解決を、インフラエンジニアはプロとして責任を持ってやっていて、それが楽しみでもあるのです。
2. 自分なりのこだわりを持っている人が輝き、評価軸の変動が激しい。それがゲーム業界
ハードウェアの性能にだいぶ甘えても良いご時世になってきたにも関わらず、技術に対してとことんこだわるエンジニアはやはりいるみたいです。そして経験からも言えるのは、トップエンジニアはそんな”変態”と呼びたくなるほどのこだわりの持ち主が多いそうです。
しかし変動が激しいゲーム業界、インフラエンジニアへの評価は言うまでもなく難しいもの。短期間の数字は決められても、それは来期の参考にはならない。難しい業界で難しい仕事をされているので、経営陣などへの説明も一苦労するらしい。適切な評価においては、どこも工夫をしているみたいです。
♦Topic 2. インフラのお仕事
「インフラエンジニアとプログラマーの間にはっきりとした境界はない。」
インフラエンジニアは地味で、プログラマーは花。そんな勝手なイメージを持っている人もたくさんいるのではないでしょうか。しかし、それはただの先入観であって、実は紙一重でした。
1. 重なっている部分も多い
インフラエンジニアでもコードが書ける人はたくさんいるが、インフラの仕事が好きで続けているというケースなんかもある。お互いが中間まで理解し合うようにする方針もあれば、インフラエンジニアにコーディングをスキルとして求める場合もあるらしい。プログラミング言語が多様化している今では、プログラマーでさえすべてにおいて精通するのは難しいため、プログラミング経験が少なめのインフラエンジニアでもスタート点はさほど変わらないのが現実みたいです。
2. 基礎の理解が大事
インフラもプログラミングも結局コンピューターを使う仕事なので、そこに互換性は必ずあり、基礎や仕組みをきっちり理解していれば転身することも難しくはなさそうです。
「予測不能、それがリアルユーザー。だが負荷試験にはやる意味がある。」
システムリリースの前に行う負荷試験。サイジングはこれで終わりと思っている単純なあなた、ゲームの世界においてそれはただの始まりにすぎません。急なピークがきてもさばけられるように設計されるゲームのインフラは、インフラエンジニアたちの知恵の固まりでした。
1. データベース、ザ・ボトルネック
システム負荷といえばDB、それは業界共通の観点でした。フロントは多く並べて分散すればいい話ですが、すべてのユーザーデータを一括で扱うDBはそういきません。サービスリリース後も、やはり一番ボトルネックになりやすいところ。DBは奥深く課題も多いが、よく使われているのはDB分割の技術だそうです。あらかじめDBを分割して、DBへのアクセスが増えた際に一カ所に負荷がたまらないように、ユーザーごとに分散する仕組みです。設計段階でDBの案をレビューするDB系のエンジニアさんもいるそうなので、DBがいかにキーポイントだというのがよく分かります。
2. 現実と負荷試験シナリオの違いは大きい
負荷試験をやろうと思うと必ずシナリオを立てる事が必要になってきます。ですが、シナリオは開発者が立てているため、生のユーザーの行動パターンとはだいぶ差がつきます。例えばリリース後に、DBのとある目立たないテーブルに大量にアクセスするとか、予測不能な部分が多いため精度も低いのです。
3. それでもやらなければいけない負荷試験、その意味とは
リリース後の負荷は変わると分かっていても、みんなやる負荷試験、それにはやはり意義があるのです。先ほども話に出たボトルネックになりやすい点・DBですが、プロによって設計されたDBはやはりパフォーマンスが優れていて、なんと負荷試験で一番早くダウンしてしまうのは負荷ノードなのです。“これだけたくさんの負荷ノードがかけきれないほどのシステムを作る”、”ありえるリスクは未然に防ぐ”、それが大手タイトルの負荷試験の実態でした。
また、負荷試験シナリオをよりリアルにするため、全社員を集めて一斉にアクセスして、そのデータに基づいてシナリオの改善をすることもあるみたいです。全社員が一緒に自社タイトルを遊ぶ、なかなか想像しづらい光景ですが、これも事業への関心度アップに繋がるのではないでしょうか。
☆ご参考☆ ゲーム・アプリ開発向け特設ページ 限界を試せる!秒間6万リクエスト実施可能な負荷テスト環境を無償提供
♦Topic 3. ゲーム業界技術
「内製化や差別化は常に力を注ぐ部分。」
同じゲーム業界なら似たような技術に注目しているのではないかと思われる一方、3名のパネラーの答えは人それぞれ。そこにはその企業特別な歴史や今後のプロダクトと密接な関係があり、異なる領域で内製化や特化をしようとしていました。
1.多彩な技術で支えられているゲーム業界
ここではゲーム業界と一括で呼ばれていますが、ゲームにもコンシューマーやモバイル等の様々な形態があります。形態によって、開発も使われる技術もガラッと変わってくるため、企業によって注力する技術が幅広く存在するのは当然と言っても良いでしょう。
今回のパネルディスカッションで出てきたキーワードは、内製エンジン、3D、WebGLやDeep Learningなどがありました。ゲームのユーザー体験をあげるための技術もあれば、開発コストを削減するためのものもあります。2016年度もゲーム業界で新しい技術の花を咲かせてくれるのに期待です。
2.ゲーム業界、今後の動向は?
日本で長い歴史を持つゲーム業界。ピークは2000年にはすでに終わったと言われていますが、それはゲームがより身近な物になったため、定義そのものが変わってきたからではないでしょうか。人が生活していてハピネスを求める限り、ゲーム業界は存続し、私たちを驚かせてくれるでしょう。そんなゲーム業界の今後の発展にも注目していきたいです。
以上、金杉からのレポートでした!