社内ライブラリ チームリーダ-インタビュー

入社7年目 / 社内ライブラリ チームリーダ-既存のエンジンとは違う魅力 自社ライブラリーの設計思想

ゲームの芯の部分が作れるプログラマ-という仕事を選んだ

トイロジックに入社したのはいつですか?
  • トイロジックには2010年に新卒入社しました。8年目になります。

担当している仕事は?
  • ポジションとしてはプログラム課のマネージャーで、社内ライブラリチームのリーダーを担当しています。主に、チームの意見をまとめたり、ゲーム開発チームとの意見のすり合わせだったり、スケジュール管理などをしています。

    ライブラリチームには各パートでスペシャリストがいますので、専門的な部分は各担当にお任せしています。私は主にリソースやメモリの管理を担当しています。また、ライブラリ層とゲーム層とプログラムが二極化しやすいため、ライブラリチームが作った機能を、ゲーム開発側が使いやすいように、要望を聞きながら調整する作業も行っています。

既存のゲームエンジンとは違う魅力があります

トイロジックの社内ライブラリとはどんなものなのでしょうか?
  • トイロジックでは、PCや家庭用据え置き機のマルチプラットフォーム開発に対応した、ゲームライブラリの作成を行っています。ライブラリといっても、配置ツールなどのパラメータ編集ツールや、リソースのビルドパイプラインといった、プログラムコード以外の部分も含んだものとなっています。トイロジックの過去の資産を組み合わせたり、必要な部分は新たに作成したりして、将来的にはフレームワークやエンジンと呼ばれるようなものを目指しています。
インタビュー近影01
社内ライブラリを導入することになった背景は?
  • 当社は、自社オリジナルタイトルに加え、受託開発のプロジェクトを複数手掛けています。受託開発では、開発コストであったり、契約上の都合であったり、あるいはゲームのジャンルによって、既存のゲームエンジンが利用できない、あるいは適さないケースがあります。そうした場合、会社がゲームエンジンに依存してしまうと、その仕事自体が受けられなくなってしまう。トイロジックとしては、躊躇なく内製環境でゲーム開発が可能な基盤を整えたいという考えがあったからです。

    加えて、当社は『ハッピーダンジョン』をはじめとしたオンラインゲームの開発で実績があり、独自のネットワークライブラリを導入しています。そのネットワークライブラリの機能をフルで活かすような環境を提供できるという点でも、既存のゲームエンジンとは違う魅力があります。

社内ライブラリの特徴、開発体制を教えてください。
  • オールインワンのゲームエンジンというよりは、依存度の低い機能をいくつか作成して、それらを組み合わせて簡単にゲームが作成できる環境を用意しています。その上で、スキーマファイルを利用したコードの自動生成や、ツールと実機パラメータの連携、パラメータの自動バイナライズ機能など、当社独自の開発環境やツールワークフローを組み込んで、ライブラリが構成されています。既存のゲームエンジンを追従するというよりは、パーツパーツで利用可能な機能を提供していって、データの見える化などの、トイロジックに合わせた使いやすいゲーム開発環境を目指しています。

    社内ライブラリの開発チームは、約6名の少人数チームとなっていて、ツール、ハードウェア、グラフィクス、サウンドといった開発環境を各々がサポートし合いながら作業しています。現在は、新規のゲームプロジェクト開発にも密接に関わっており、ライブラリ層以外にもゲーム側に近いソースコードの作成や提供も行います。内製でしか利用しないコードのため、ゲーム開発チームの要望を取り入れやすい環境となっています。ライブラリに専念するチームというよりは一緒にゲームを作成しているようなイメージです。

大量のパラメータ初期化も低コストで実現

社内ライブラリの開発において最近取り組んでいることは?
  • 現在、大きく作り変えている部分としては、PBR(物理ベースレンダリング)やDirectX 12に対応したレンダリング基盤の作成と、ビッグサイズかつ大量のリソースを管理するアセットビルドパイプラインなどの開発環境の構築も行っています。他には、最近流行りのアセットベースの配置ツールを作成して、それを基盤にゲームを作成していくような環境を用意しているところです。

    個人的にイチ押しの部分としては、スキーマファイルベースの開発環境を作成していて、プログラマーがスキーマファイルを定義すると、自動でコードの作成やエディタの準備が行われ、最終的にそのパラメータが実機用バイナライズされるところまで自動で行うという環境を提供しています。ゲームプログラマーが各種環境でEnumの保守をしていたり、プラットフォーム依存のコンバータを作成していたりする場合がありましたが、その辺りをまったく気にせずに自由にパラメータを用意できる環境です。最近のゲームエンジンによく聞かれるような、読み込み時に大量のデシリアライズが発生してロードが遅いといったこともないよう、当社では、デシリアライズが発生しない読み込みをサポートしており、それによって大量のパラメータの初期化が低コストで実現できています。近年問題になっているロード時のJsonパースが重い、アロケーションが多いという問題とも無縁です。

    さらに、実機コードも自動生成されるため、List,Map,Dynamic型(データの動的ポリモーフィズム)など複雑な型情報にもデシリアライズ無しでの読み込みに対応しています。中間ファイルからのバイナライズ機能が独立しているので、まったく別のツールから出力された中間フォーマットを当社の定義したデータに変換するだけで、実機コードや各プラットフォームに対するバイナライズ機能を簡単に利用することも可能です。こうした機能は、ゲーム開発者からも好評で、パラメータの編集環境自体は各種ゲームエンジンと同じ状態を保持しつつ、トイロジック独自の進化を遂げた面白い構造ではないかと考えています。
インタビュー近影02

様々な大型タイトルに携われる環境

約7年前のトイロジック入社当時から、どんなところが成長できたと思いますか?
  • 私は、入社当時から、Project Sora様の「新・光神話 パルテナの鏡」(ニンテンドー3DS)や、Tango Gameworks様のサイコブレイク」(PS4®, PS3®, Xbox One, Xbox 360)など、他社様のタイトル開発にも数多く携わってきました。

    最近ではスクウェア・エニックス様の「ドラゴンクエストXI 過ぎ去りし時を求めて」(ニンテンドー3DS)でも、スクリプトやストーリー進行の制御といった部分を担当しています。そういった協業での制作において、開発環境は毎回まったく異なるので、色々なゲームエンジンやツールを実際に触って経験を積めたのは今に活かされていると思います。また、協業の開発チームの方々と直接やりとりする機会が多いので、色々な調整を行いながらプロジェクトをスムーズに進めていくという部分では、入社当初に比べたら成長できているかなと感じます。

トイロジックという会社のどこが気に入っていますか?
  • 優しい人が多くて、働きやすいですね。飲み会以外の社内の交流がけっこう多く、ゲームで遊んだり、一緒にサバゲーやキャンプに行ったり、社長が社員を誘ってスノボーに行く会もあります。社内では、ボードゲーム部や3Dプリンター部などの部活もあって、私が所属している漫画部も、仲間を募集していますよ(笑)。

トイロジックではプログラマ-を積極採用しています。

© Toylogic Inc All Rights Reserved.