こんにちは。プログラマの堀内です。
前回に引き続き、インタビューをお送りします。 今回は立場を入れ替えて、僕からプログラマの寺沼さんにインタビューを行います。 寺沼さんは『リトル・リコレクター』のプログラムディレクターとして、開発の初期からプロジェクト全体を支えてきた人物です。どんな話が聞けるのか楽しみですね。

プログラマ 寺沼さん
今回インタビューを受ける人。『リトル・リコレクター』ではプログラムディレクターを担当。
長年の開発経験でチームを支える、頼れる司令塔だ!
——それでは始めていきます。よろしくお願いします。 まずはルーツ系の質問から。寺沼さんがプログラマー、そしてゲーム業界を目指したきっかけは何でしたか?
記憶にあるのは小学校の頃です。 図書室に、いろいろな職業を紹介する学習漫画のようなものが置いてあって、そのうちの一つに「ゲーム作り」があったんです。 そこで初めて「そういえばゲームって、作ってる人たちがいるんだな」と気づいて。それが「ゲーム開発者」という概念との初めての出会いでした。 「これになれたら面白そうだな」と思ったのが一番最初ですかね。
それはそれとして、「プログラミングってかっこいいな」という思いももともとあって。 小学校の頃に初めてパソコンを買ってもらって、そこからお遊びみたいなことをしているうちに、いつの間にか情報系の大学に行って、ゲーム会社に入っていました。
——初めて書いたプログラムはどのようなものでしたか?
初めて触った言語はVisual Basicです。 Windowsフォームアプリケーションで簡単にウィンドウが出せたので、それを使ってよく分からないものを作って遊んでいたのが一番最初です。 ボタンを押したらよく分からないメッセージが出るジョークアプリみたいなところから始まって、あとはスクリーンセーバーを作ってみたり。
——フォームアプリケーションだとC#もあったと思いますが、当時は触らなかったんですか?
C#は大学に入ってからですね。 当時、僕とは別にもう一人プログラムをやっている友人がいて、彼が紹介してくれたのがVisual Basicだったんです。特に不足も感じていなかったので、ずっとそこに収まっていた感じですね。
——結構、友達の影響も大きかったんですね。
そうですね。彼はDTMも教えてくれたので、今の僕を形作っている、結構重要な人物と言えるかもしれません。
——人生のキーパーソンという感じがしますね。 では、初めて作ったゲームはどのようなものでしたか?
初めて作ったゲームでいうと、大学の文化祭ですね。 プログラミングのサークルのようなものに入っていて、文化祭でゲームを作って展示しようという話になったんです。そこでDXライブラリを使ってリバーシを作りました。
——作ってみた感想はどうでした?
面白かったですね。 文化祭での公開なので、大学の人もそうですし、一般公開日には外部の人も来てくれるんですよ。そこで不特定多数の人に見てもらえたという経験は、就職するときの原点の一つになっていると思います。
——寺沼さんは長くウニコで受託開発をやってきましたが、受託とオリジナルを比べて、プログラマーとして一番違うと感じた部分はどこですか?
受託だと、やはり僕以外の人間が仕様を作ってくれていて、それをもとに実装していくという側面が大きいです。 それに比べて自社タイトルだと、もちろん他の人が仕様を作っている部分もあるんですけど、「自分でこうした方がより面白くなるんじゃないか」と考えられる範囲が広い。 受託でそれをやろうとすると、一旦先方の会社に「こんな感じのはどうですか」という提案をしないといけないので、ワンクッション入るんですよね。その意味では、自分の頭にある創造性をより強くゲームに反映できるのがオリジナルだと思います。
——開発の最初の頃、よそで見聞きしたやり方を試験的に取り入れるのを結構やっていましたよね。Unityのフォルダ構成だったり、プレイヤーの細かいロジックの切り出しだったり。あれはどうでした?
ディレクトリ構成に関しては、正直「普通にしちゃおう」と、なし崩し的になっちゃったなと思っています(笑)。 デザイナー側から「グラフィックのリソースが分散するのはちょっと扱いにくいかも」という要望が出たこともあって。もしかしたら、ちゃんとやってみたら普通にうまくいく方法だったのかもしれないけれど。
どちらかというと、これまで関わってきた受託開発は途中参加が多くて、僕が参加する頃には「どういう方針でいこう」という部分がすでに決まっていることが多かったんです。 『リトル・リコレクター』は一から参加できたプロジェクトだったので、「積極的に新しい考えを取り入れてみよう」と、いろいろ試していた部分はありますね。やらないことには、その効果は測れないので。
——このゲームでは、インゲーム・アウトゲームのどちらも僕(堀内)が書かせてもらっていますが、寺沼さんの中で「任せる」と「自分でやる」の線引きはどうしていましたか?
ほぼやってもらってるじゃん、という話はあるんですが(笑)。 僕がやるか堀内くんに任せるかというよりは、まず作業自体をどう分けるかという話になります。アクションゲームなら「アクション部分」と「UI・アウトゲーム部分」で明確に分かれるので、まずそういう分類をしていきます。 もしこのプロジェクトにもっとプログラマーがいて、より細かく分けるんだったら、アクション部分なら「プレイヤー挙動」「ステージ挙動」、UIなら画面ごと、という分け方を想定していたと思います。なるべくお互いに影響がない単位で分けるのがやりやすいのではないでしょうか。
——「どうしてもここだけは自分で書きたいんだ」みたいな部分はなかったんですか?
これまでのプロジェクトでは僕はUIをメインに触ってきていたので、「なるべくアクションを書いてみたい」という気持ちはありました。かつては(笑)。 でも、そうも言っていられなくなったので、現在は信頼できる堀内くんに全てをお任せしています。
——僕がインターンとして入った頃の話も聞きたいです。あの頃はどんな感じで作業を振っていたんですか?
最初は「出力がどのくらいなのか、これをやってもらってみて様子を見よう」という感じでした。 ただ、堀内くんは「プログラマーの中のプログラマーだな」と、割と早い段階からなんとなく感じていた気がします。会話していても分かるし、そもそも自分でグラフィックスライブラリを書いているといった事前情報も知っていたから。 なので「こいつの実力がよく分からないな」という時期はそこまでなくて、それなりに信頼して任せられました。
自分のことを、プログラマーの中で上澄みの実力を持っているとは思っていないんです。それよりは、会社の中で正しく成果を積み重ねていこうというタイプで。それで言うと、堀内くんを自分より下だと思って見ていた瞬間はなかったですね。
——作業を振るとき、「ここまで言えば伝わる」という説明の塩梅はどうしていましたか?
堀内くんを信頼して、雑に振っていました(笑)。結構抽象的な注文をつけていた気がします。 用語の説明とかはしなくてもなんとかなるだろうし、「分からなかったら聞いてくれ」というスタンスで、説明はそこまで細かくしなかったかな。 僕が逆の立場で細かく説明されると、てんやわんやになってしまうタイプなので。それよりは、一旦現状のコードを見たり、いろいろ調べたりした上で、分からないところを質問できる方が嬉しいだろうなと。
——僕も分からなかったら聞くタイプなので、そこの噛み合わせが良かった感じはしますよね。
——次は「企画への口出し」について。プログラマーとして、企画や仕様にはどこまで口を出しますか?
さっき話した通り、企画への口出しは自社開発の方が明らかにやりやすいです。 特に僕はプログラムディレクターという立場にあることもあり、あまり躊躇せず口を出していたと思います。
軸は二つあって、「より面白くする」提案と、「面白さをなるべく損なわずに作業を短縮する」提案です。 これまでそれなりにやってきた蓄積があるので、その経験はなるべく共有したいし、面白さを損なわずに済む方法があるならそうしたい。この二つを両方かなえられるものを思いつくと、結構提案していたかなと思います。より面白くなるし、作業短縮にもなるので。
——プログラムにも好きな領域と苦手な領域があると思うんですよ。開発の最初期はアクションを作っていましたよね。あのときはどうでした?
楽僕の思い描いたアクションを、思い通りに入れられたので。しかったですよ。
——難しさを覚えたりはしましたか?
難しさ……。後に堀内くんが、より書きやすいように色々と書き直してくれたので、「すごいな」と思いました。「ここもスパゲッティだったんだ」と(笑)。 僕としても、書きやすいように設計から考えて書こうとはしていたんですが、結果として複雑になってしまって、大変だなと思っていました。その状態で堀内くんに引き継ぎました(笑)。
——少し話を変えて、オン・オフの切り替えについて。仕事とプライベートを結構分けている印象がありますが、切り替えのコツはありますか?
帰ってしまえば、仕事のことを考えるのは1割ですね。 プライベートではプログラムはほぼ書きません。あまり必要がないので。
——「こういう新機能が追加されたらしいぜ」みたいな、技術的な話題には興味がある方ですか?
そういった動機で動くタイプというよりは、作りたいものが先にあって、そのたびにプログラムを書くタイプですね。
——コードを書かない分、新しい技術のインプットはどうしていますか?
SNSのタイムラインを眺めていたら流れてくるんですよ(笑)。 能動的に、という感じではないですけど。
——では、「開発環境でこれがないと困る」というツールはありますか?
ちょっと考えさせてください。……開発環境と言えるかは微妙ですが、PowerToysは新しいPCを手に入れたら絶対に入れます。あれはあらゆる面で便利なので。 PowerRenameが好きですね。あとカラーピッカー。カラーピッカーは清水くんも使っています。
あとはRiderを結構使いたいという気持ちがあるんですが、どちらかというとあれはUnreal Engineで使いたくて。本作においてはそこまで主役ではないんですよね。
えーと……じゃあ、一番好きなツールは……File Locksmithで(笑)。
——(一同笑)
あ、そうだ。あとは、机にキシリトールガムを常備していることが多いです。 飲み込むタイプのものを食べると太ってしまうので、口寂しいときはガムで我慢しています。
——では少し毛色を変えて、一番思い出に残っているゲームは何ですか?
「一番好きなゲームは?」と聞かれたら、『星のカービィ』シリーズと答えることにしています。
——特に思い出に残っている作品はありますか?
どの作品も面白いので、1つに絞るのは難しいですね… でも、「思い出」という意味で言うと、子どもの頃に遊んだ『ドロッチェ団』や『ウルトラスーパーデラックス』は思い出に残ってますね。 あとは、『ディスカバリー』が発表された時は、「ようやくカービィ本編が3Dになった!」と嬉しくなったのを覚えています。 もちろん『エアライダー』も遊んでいます。
——カービィ作品の魅力はなんですか?
初心者と上級者を同時に楽しませる仕組みがすごいな、と思います。 『リトル・リコレクター』でも、上級者専用のゲームにしない、ということはかなり意識していました。
『リトル・リコレクター』を作っていて感じたのですが、ゲーム開発者は放っておくと、ゲームに慣れてどんどん難しくしようとしてしまう側面があるんです。なので「これ、難しすぎませんか?」と言う役目は、ちょいちょいやろうとしていた記憶があります。 これも、僕がこれまでやってきたゲームの傾向がそうさせているのかもしれません。
——アクション面でも難易度面でも、いろんな人に気持ちよく遊んでもらえるように障壁を減らす努力をしている感じはありましたね。 それでは最後に、読者へ一言お願いします。
めちゃくちゃ面白いので、買ってください。
我々から言えることは、そのくらいですね(笑)。 アクション部分は、僕の経験からなるべく手触りが良いものになっていますし、なにより「持って帰る」というコンセプト自体がかなり面白いゲームなので、ぜひ遊んでみてください。
今回は寺沼さんへのインタビューでした。 普段の開発の中では聞けない、寺沼さんのルーツやディレクションの考え方が知れて面白かったです。
それでは、また次回の日誌でお会いしましょう!


