現在位置: ホーム torrent No.5 日本語版 卒業生を訪ねて 「第一原理計算からゲームプログラマーの世界へ」

卒業生を訪ねて 「第一原理計算からゲームプログラマーの世界へ」

このページでは、計算物質科学を学び、産業界で活躍している若手を紹介していきます。第1回目は、ゲームプログラマーになった小野哲平さんを、CMSI拠点研究員の小西優祐さんが訪問。大学院での研究、この仕事を選んだ動機、どんな仕事なのか、をお聞きしました。

ゲームプログラミングの仕事って、その魅力は?

小西 まず、今の仕事を説明していただけますか。
小野 私の所属するテクノロジー推進部は社内の技術支援部隊という立ち位置です。その中でも、私はゲームエンジンの開発に携わっています。ゲーム作りは、グラフィック、アニメーション、AI、物理演算など、さまざま仕事から成り立っています。新しいゲームを開発するとき、それらを一から作るのは難しくなってきており、既存のシステムとかライブラリを利用します。そのような共通基盤やシステムを作り、開発環境を整えるのがゲームエンジンで、私はツールプログラミングを担当しています。
小西 ゲーム制作の企画から完成に至るフローの中の、どこに位置しているのですか?
小野 ゲームエンジンの開発自体はゲーム制作のフローには入りません。ゲームエンジンはあくまでゲームを作る手段、それを使うことによってゲーム制作フローの各ステップが効率的、高品質になるのです(図参照)。
小西 その共通基盤というのは、ゲーム機用、PC用、スマートフォン用など、どれを作るときにも共通して使うことができるのですか。
小野 ゲームエンジンを使うことで、PC上で作ったものが、どのマシンでも動くというのが理想です。環境の違いでうまく動かない部分を別のコードに差し替えたりできるように、ゲームエンジンを設計しておくことも大切です。
小西 プログラミングのどういうところが好きなのですか。
小野 スキルを身に着けることにより、もっとうまくプログラムが書けるようになる。それが、すごく楽しくて。
小西 新しい製品が世の中で人気が出て、数百万本売れたりするといった醍醐味もあるのでは?
小野 まだ入社2年目なので、そういう経験はないのですが、もちろん、今までの常識をくつがえすようなゲームを出したいという思いはありますね。

物理からゲームプログラミングに方向転換した動機は?

小西 そもそも、この仕事を選んだ動機は何だったのでしょう。物理を研究した人の就職先としては珍しいですが。
小野 大学1年の終わり頃、ゲーム制作を趣味でやろうとプログラミングの勉強を始めました。最初は2次元のゲームを、スキルがついてから3次元のゲーム制作にも挑戦しました。そこで、ものができていく楽しさを実感すると同時に、ゲームプログラミングの難しさ、奥深さにも惹かれました。ところが、どうしても解決できない問題にぶつかり、またプログラムが巨大になって管理できなくなり、挫折してしまいました。
小西 いつ頃ですか?
小野 大学3年の末くらいですね。でも、諦めたはずなのに、なぜかソースを眺めることをやめられなかったので、もう一度やってみようと思い直し、プログラムの勉強を一から始めました。そうしたら、以前よりはるかに高度なプログラムが書けるようになったのです。これが大きな節目になり、ゲームプログラミングを仕事としてやっていこうと考えるようになりました。
小西 ゲーム会社の中でスクウェア・エニックスを選んだ理由は?
小野 単純に、販売されていたゲームが好きだったということがあります。それと、技術を売りにしている。つまり、ゲームプログラミングに高度な技術を使っているところに、魅力を感じました。

大学院での研究は生かされている?

小西 では、大学院時代には、どんな研究をされていたのですか。
小野 CUDA(GPUのためのプログラム環境)が出始めた頃で、第一原理計算における拡散モンテカルロ法のGPUによる高速化に取り組んでいました。モンテカルロ法は並列計算との相性がよくて、十数倍のスピードを実現できたので、その点では成果を出せました。ただ、ある程度の大きさの分子までは計算できても、プログラムの安定性の問題などがあって、大きな系には適用できませんでした。もう1つの研究テーマはGPUの単精度演算でした。今のGPUは倍精度演算も可能となっていますが、当時はまだまだで、単精度だけでどの程度計算できるのかを模索していました。
小西 単精度だと“丸め誤差”の問題が大きそうですが、そこは?
小野 やはり、高い精度が求められる状況では、単精度だけでは難しいという結論に至りました。GPUに限らず、安価で高速な演算装置が出てきたとしても、単精度演算だけでは有用ではないということが見極められてよかったと思います。
小西 大学院での研究は今の仕事に生かされているのでしょうか?
小野 GPUの知識を得たことは今の仕事に役立っています。実際には、ゲームの中で数値シミュレーション自体を使うことはないかもしれませんが、今後、よりリアルなゲームを制作していく過程で、事前にデータを準備するのに数値シミュレーションを使う可能性があると思います。

先輩から後輩へひとこと

OB訪問:小野vs小西小西 最後に、計算物質科学を学んだ先輩として、後輩へのアドバイスをひとこと。
小野 学生時代に始めたプログラミングは自己流のところがあり、設計の勉強をきちんとやっておけばよかったと思っています。入社してからデザインパターンを本格的に勉強したわけですが、学生のうちにマスターしていれば、研究ももっといい結果になったかもしれません。今、仕事では他の人がそのコードを使うなり拡張するなりするかもしれないという観点から、柔軟で汎用性の高いプログラムを意識して組んでいます。これは科学数値計算でも必要なことですね。特にプログラムが大規模になってくると。
小西 「京」コンピュータを使うとなると、そうなりますね。
小野 はい。あとは環境に関して、今後、複数人開発も増えてくると思うので、バージョン管理ソフトはどうしても使わないといけない。
小西 大規模なソフトウェア開発に必要なノウハウを身につけられる体制作りも、CMSIとして頑張らないといけないですね。

(2012年4月25日 スクウェア・エニックス本社にて)