デザイナー向け内製ツール開発インタビュー

入社 12年目 / デザイナー向け内製ツール開発デザイナーのイメージを実現 描画システムと流体の開発

入社1年目に自分が考案したオリジナル企画を担当

トイロジックに入社したのはいつですか?
  • 内製ツール開発プログラマ-
  • 2012年に新卒として入社し、12年目になります。

トイロジックではどのような仕事を担当されていますか?
  • 内製ツール開発プログラマ-
  • 現在担当しているプロジェクト向けに、内製エンジンの描画部分をチューニングしたり、プロダクトに応じた機能、シェーダーの追加を行ったりしています。それ以外にも、社内のデザイナー向けツールの開発面をやらせてもらっています。

新しい表現をしたい場合の拡張がしやすいシステムです

内製エンジンの描画システムとはどんなのものですか?
  • 内製ツール開発プログラマ-
  • Deferredシェーディングをベースにしたレンダリングシステムになっています。Deferred以外にも半透明や屈折表現のための描画パスや、SSAO、リアルタイムローカルリフレクション、ライトシャフトなどを描画するパスが用意されています。新しい表現をしたい場合には描画パスを追加したり、既存の描画パスを修正することで対応が可能で、拡張がしやすい仕組みになっています。

どのような改良を加えているのでしょうか?
  • 内製ツール開発プログラマ-
  • 私が担当している描画システムは、4~5年前の、私の前任者の頃から存在していますが、今のプロジェクト用に、私のほうでチューニングやメンテナンス、機能追加を行っている状況です。新しいポストプロセスの追加であったり、プロジェクトのリリースのための最適化であったり、高速化といった部分もやっていく予定です。

    他にも、社内でMayaを使っている3DCGアーティストの作業効率を上げるためのツールはすべて私が作っています。

デザイナー向けのツールを開発するにあたって、社内のデザイナーとはどのようなやりとりがありますか?
  • 内製ツール開発プログラマ-
  • もともとあった描画システムは、リアリスティックな表現向けには調整されていませんでしたが、現行のプロジェクトでは、もっとリアルな表現をしたいとデザイナーから要望があったため、いわゆる物理ベースシェーディングの仕組みを取り入れて改造しているところです。

インタビュー近影01
流体シミュレーションの技術を独自に学んで、開発にも取り入れているそうですが、その経緯を教えてください。
  • 内製ツール開発プログラマ-
  • 私自身、トイロジックに入社してから、主にデザイナーのツールまわりを担当していたのですが、グラフィックまわりにも興味がありまして、描画+GPUを使ったシミュレーションを個人的に勉強していました。会社でも休憩時間に調査したり、こっそり作って動かしたりしていたら、たまたま後ろを通りかかったプログラマーが「面白そう」と目を付けたのです。当時は『ハッピーダンジョン』の開発中で、ステージ全体にもっと動きが欲しい、でも動くものをたくさん配置するといったコストはあまりかけられないという声がありました。そこでGPUによる流体シミュレーションを利用し、キャラクターたちが動くとその周りの風の流れを自動的に計算して簡単に空気の動きを表現できる仕組みを作成しました。『ハッピーダンジョン』に組み込んだのは格子法と呼ばれる方式の流体シミュレーションですが、その後技術研究として粒子法という別の方式も調査・実装しました。

流体シミュレーションを勉強して、何か発見は。
  • 内製ツール開発プログラマ-
  • 流体シミュレーションのような大規模な計算をする場合、並列化や効率的なアルゴリズムと同等以上に、メモリ配置が重要であることを実感できたことが印象に残っています。流体シミュレーション、特に粒子法と呼ばれる手法の場合では数万以上の粒子が近傍の粒子と相互作用することで流体をシミュレートします。当然そのような大量の粒子の近傍探索及び計算には、空間分割のアルゴリズムやGPUを利用した並列計算が有効です。

    しかしある程度以上の粒子数になってくるとそういった高速化だけでは限界がありました。そこで、「物体をMorton-Orderという空間重点曲線に沿ってソートしてから近傍探索をする」という、剛体シミュレーション等で用いられる高速化手法を試してみました。これは3D空間上で近くにある物体同士をメモリ空間上でも近くに配置することでキャッシュ効率を向上させて高速化するという方法で、結果として非常に大きな効果を得ることができました。アルゴリズム的な高速化で行き詰っていたところでこのようなメモリ的なアプローチがうまくいったことが個人的に興味深いと感じる点でした。

技術的な知識欲にあふれた人が多い職場です

トイロジックで働いて、どんなところが成長できましたか?
  • 内製ツール開発プログラマ-
  • 入社前は、大学院で情報工学を学んでいて、ゲーム開発やグラフィックのことはあまりわかりませんでした。しかしトイロジックに入って、デザイナーのサポートをする中で、グラフィックスデータの扱い、シェーダー、マテリアル、レンダリング手法など、実際に触れて、手を動かして作ることできたので、そういった知識はかなり付いたかなと感じています。

会社の雰囲気や環境はいかがですか?
  • 内製ツール開発プログラマ-
  • 年上でも年下でも、話しやすい人が多いと思います。ゲーマーが多いのはもちろんですが、特にプログラマーは技術的な知識欲が旺盛な人が多く、仕事中でもそういった話題でよく盛り上がりますね。席の雑談で、ディープラーニングの話をしたり、ゲームエンジンの仕組みの話で、興味のある人間が資料を作って勉強会を開くこともあります。

インタビュー近影02
トイロジックに勤めていちばん大変だったことは?
  • 内製ツール開発プログラマ-
  • 今がいちばん大変です(笑)。現在担当しているプロジェクトでは、60fpsの動作がマストになっているので、それを達成するために、プログラム的な最適化も当然必要ですし、デザイナーと相談してグラフィックデータの調整や代替をするといったやりとりも多く発生します。今まであまり経験がなかったことなので、考えるべきことも多いですが、やりがいもありますね。

今後、トイロジックでやってみたいこと、目標はありますか?
  • 内製ツール開発プログラマ-
  • 今はグラフィック関係の仕事をやっていますが、ベテランの方が熟知しているような最新の技術やセオリーはまだ分かっていないので、経験と知識をもっとつけて、仕事をまかせてもらえるようになりたいです。

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

© Toylogic Inc All Rights Reserved.