コロプラのゲームプログラマー哲学 〜クライアントエンジニア座談会 〜
-
『白猫テニス』マネージャー/
ゲームプログラマーアッキー
-
新作タイトル ゲームプログラマー
イッシー
-
『クイズRPG 魔法使いと
黒猫のウィズ』ゲームプログラマーミッシー
コロプラのエンジニアには、大きく分けて3つの職種があります。オンラインゲームのデータ通信を支える「サーバーサイドエンジニア」、巨大なトラフィックをさばく「インフラエンジニア」、そして今回集まった「ゲームプログラマー(クライアントエンジニア)」です。
ひと言で説明するのは難しいのですが、ゲームはボタンや画面などを操作することでいろんな要素が連動して「動く」ことで成立していて、このプログラミングを書いているのがゲームプログラマーです。......と言われてもちょっと漠然としていますよね。
そこで今回は『白猫テニス』のチームでマネージャーを務めるアッキーさん、新作タイトルの開発を担当するイッシーさん、『クイズRPG 魔法使いと黒猫のウィズ』を担当するミッシーさんの3名に、ゲームプログラマーの仕事内容とその醍醐味を語ってもらいました。コロプラのゲームプログラマー哲学とは?
設計図をもとに、素材を組み合わせて作る
ゲームプログラマーは「大工」に似ている?
コロプラ社内ではみなさんの職種を「クライアントエンジニア」と呼んでいますが、あまり一般的な呼称ではないみたいですね?
アッキー ゲーム会社ではエンジニアを「サーバーサイド」と「クライアント」に分けることがありますけど、エンジニア業界では総称で「ゲームプラグラマー」というのが一般的だと思いますね。
イッシー 僕は前職でコンシューマーゲームの会社に勤めていたんですけど、コンシューマーの場合はサーバーサイドがない場合があるので、「ゲームプログラマー」と言ってましたね。「サーバーサイド」と「クライアント」というふうに分けるのは、ソーシャルゲーム業界ならではだと思います。
「ゲームプログラマー」というと非常に幅広く感じられて、仕事内容がイメージしにくいのですが、具体的にどんなお仕事をされていますか?
アッキー サーバーサイドのエンジニアが、サーバー側でデータ処理などの作業をしているのに対し、ゲームプログラマーはUIを中心にユーザーさまに"見える部分"を実装する仕事になります。僕は今、『白猫テニス』のマネージャーを務めているので、実装業務よりもメンバーのタスク管理や、他セクションと連携して施策を作るという業務が多いですね。
イッシー 僕は新作タイトルの開発を担当しています。アッキーさんと同じく、タスク管理や他セクションとやりとりする業務が多いのですが、新作タイトルなので設計の話し合いやコードの確認も綿密にやらないといけない。自分が実装の作業をすることもありますが、どちらかというと今はメンバーの作業環境を作っているような感じですね。
ミッシー 僕はコロプラに入社してからずっと『クイズRPG 魔法使いと黒猫のウィズ』を担当しています。今は5人で戦う「協力バトル」をメインで担当していて、敵のモーションが動く仕組みを作っていますね。
たとえばモーションデザイナーが「攻撃用モーション」を用意したら、敵のどの行動でそのモーションが作動して、どれくらいのダメージを与えられるかを設定します。その設定をプランナーに試してもらって、そこでOKが出たら実装していきます。
アッキー ゲームにとって大切なUIの「手触り」に関わる部分なので、テストを何度も繰り返して調整していきますね。先ほど"見える部分"と言いましたけど、舞台にたとえると、黒子の仕事にも近いかもしれない。
たとえば役者が階段を上がるシーンがあれば、黒子ががんばって階段を動かしているわけですけど、それと同じようにゲームプログラマーが階段を配置して、上がる動作を設定していくわけです。3Dモデル、モーション、エフェクトそれぞれを専門のデザイナーが作って、それを舞台に適切に配置していくようなイメージですね。
イッシー 家を建てる大工さんのようだとも言えますよね。プロジェクトマネージャーやプランナーが設計図を書いて、それに沿って各デザイナーが3Dモデルやエフェクトといった素材を作る。それを組み合わせてゲームを作るのがゲームプログラマーという仕事です。
ミッシー たしかに、組み立てる仕事ですよね。
なるほど! 大工さんというたとえはイメージしやすいですね。そうすると基礎工事から完成まで、すべての工程に関わるんでしょうか?
アッキー そうですね。ひととおりすべてに関わります。
ミッシー さらに、リフォームもずっとし続けます(笑)。
イッシー コロプラのゲームはリリース後にどんどん新しい機能やイベントが追加されるので、運用になると、常に不具合なく遊べるようにすることもゲームプログラマーの大事な役割になってきますね。
それだけ仕事の範囲が広いと、幅広い技術と知見が求められてくるのでは?
アッキー そうですね。守備範囲はかなり広いと思います。重いデータを最適な大きさに設定するのもゲームプログラマーの役割ですし、3Dモデルの見え方に関してもゲームプログラマーの領域になります。たとえば鎧が光を反射してテカテカ光って見える表現とか......。
ビジュアル面はデザイナーの仕事だと思ってましたが、違うんですか?
ミッシー ゲームプログラマーが担当するのは、光って見える表現を技術的に可能にするということなんですよね。
イッシー 先にゲームプログラマーが『光って見える機能』を作って、その機能を使ってデザイナーがモデルを作るという流れになります。いわばデザイナー用の「筆」を作っているようなものですよね。その筆を使わないと、テカテカ光って見える絵はゲーム上で表現できないわけです。
アッキー 「リフォーム」という言葉が出ましたけど、それに対応するために常に新しい技術を勉強し続けなければいけないんですよね。僕はゲーム業界に10年近くいるんですけど、ハードが進化するにつれて、できることの幅も広がってきます。そのぶん勉強しなければいけないことも多いですね。
ゲームで遊ぶことが、一番勉強になる
ゲームプログラマーは「ゲーム好き」が理想
新しい技術に関心があって、自分の技術を向上させていきたい人にとっては、やり甲斐も大きそうですよね。
アッキー やっぱり楽しいですよね。新しい技術を勉強することで、自分にできることの幅がどんどん広がっていく喜びがあります。習得しているときは大変なんだけど、それも含めて楽しんでいる自分がいますね。先日も某アクションRPGを遊んでいたとき、岩が転がるモーションを見て、「自分もこういう物理系の処理をやってみたい」と思って、家でプログラミングを書いてました。もはやクセですよね(笑)。
ミッシー 僕もゲームで遊んでいるとき、キャラを拡大して「こんなふうに表現しているのか」とじっくり見るのが好きです。鑑賞モードでカメラアングルがぐるぐる回ったりしたらもう最高ですよね(笑)。
イッシー ゲームで遊ぶことが一番勉強になると思いますね。僕は「こういうゲームが作りたい」という目標があってゲーム業界に入ったので、自分が作りたいゲームを実現するために必要な技術があれば、それについて調べるというスタンスです。それを実現できるのであれば、古い技術でも新しい技術でもかまわないと思ってますね。
ミッシー 僕は学生時代にラジオやロボットといったモノづくりをしていたんですが、プログラミングに出会って、材料がなくてもパソコンさえあれば何でも思いどおりに作れるということが面白くて、どんどんプログラミングを勉強していったんです。
就活のときに、どうせ作るなら面白いものを作りたいと思ってゲーム業界に入りました。コロプラに入社して3年目になるんですけど、技術が向上していることを日々実感しますね。学んだぶんだけ自分の武器にもなるので、学ぶことが大変だと思ったことはないです。
根本的に勉強が好きで、作り手視点でゲームをプレイするんですね。プレイする際、どんなところをチェックしていますか?
アッキー 僕は遊びと研究は切り分けるようにしてます。たとえばラスボスを倒してひと通り遊んだら、もう1回プレイし直して、2回目はじっくり見直したりします。表現の面では映画やドラマも参考になると思うんですけど、やっぱりゲームプログラマーはゲーム好きな人が向いていると思いますね。
ミッシー ソーシャルゲームの場合だと、通信していることを感じさせずにシームレスに動いているかを見ますね。待ち時間のストレスがないと、「スゲエな。たぶんこの場面で先に通信をしているんだろうな」と考えながらプレイしたりしますね(笑)。
ゲームプログラマーの仕事のどんなところにやり甲斐や達成感を感じますか?
アッキー プランナーやデザイナーは、けっこう無理難題を言ってきたりするものなんですよ(笑)。だけど、それも大事なことなんですよね。ゲームプログラマーだけでアイディアを出していると、自分たちの能力や技術的に可能なことがわかっているので、その範囲の中でしか考えられないことがある。
最初は「本当にできるのか......?」と思いながらも、勉強してなんとか要望に応えられると、みんなが「スゴイ」といって評価してくれる。その瞬間の達成感のためにこの仕事をやっているような感覚がありますね。
イッシー エンジニアという職種の中でも、ゲームプログラマーの仕事は勉強しなければいけないことも多いですけど、ゲーム作りのサイクルも早いですし、ユーザーさまの反響もすぐにわかるので、達成感も感じやすいと思いますね。
ミッシー 企画を考えたり、絵を描いたり、サーバー側の仕組みを作ったり、ゲームにはいろんな人が関わっています。僕ひとりじゃ何もできないけど、ユーザーさまに届けるところで、すべてを組み合わせてゲームとして出すことができる。それがゲームプログラマーの仕事で一番やり甲斐を感じる部分です。だからこそ他のセクションの人と信頼関係を築いていくことが大事だと思っていますね。
難しく思えることでも、なんとかやり切って
反響が得られたとき、達成感を感じる
ゲームプログラマーの仕事は、プランナーやデザイナーといった他のセクションとやりとりをする機会が多いようですね。
アッキー ほぼ全部署の人と話します。ときにはマーケティング部の人とも打ち合わせをしますね。最初の試作段階では、プランナーやデザイナーが中心になるんですけど、実際にそれを組み合わせて作るのはゲームプログラマーの仕事になってくるので、いろんな人と相談しながら話を詰めていくコミュニケーションが求められてきます。
ミッシー 仕事上で話さない職種の人はほぼいないくらいですよね。
アッキー この仕事は、最初に仕様がかっちり決まっていて言われたとおりに作るというふうになりがちなんですけど、コロプラの場合は、こちらからも意見が提案できて、風通しの良さはすごくあると思います。自分も意見を出しているからこそ、やり切る責任感も発生するし、達成感もあるんですよね。
ミッシー 開発に入る前に「キックオフ」という時間があって、プランナーが考えた企画をもとにみんなで話し合う場があるんです。そこでみんなが「こうしたほうがいいんじゃないか」と意見を言いまくる。そうやって企画がどんどんブラッシュアップされていくんですよね。新人だった頃は引き出しが少なくてなかなか意見を言えなかったんですけど、だんだん提案できるようになってきて、楽しいですよね。
イッシー 企画の段階から関わって自分の意見を言えることは、ゲームプログラマーやデザイナーの裁量が広いとも言えますよね。特に運用の場合は、短いスパンで新しいパッケージを出していくことになるので、やる気さえあればいろんなことに挑戦できると思います。
「この仕事をしていて良かった」と思えるような思い出深いエピソードはありますか。
アッキー 以前『クイズRPG 魔法使いと黒猫のウィズ』のゲームプログラマーをしていたんですが、毎年実施しているアニバーサリーイベントは思い出深いですね。運用はチーム内でさらにスモールチームに分かれてローテーションを組んでいるので、忙しい時期とそうでもない時期があるものなんですけど、アニバーサリーの時期だけは、全員が何かしら大きな実装を担当しているという状態になる。
そのときのお祭り騒ぎ感が好きでした。なんとかやり切ってリリースできたときの達成感がとにかく気持ち良くて、チームの団結力が一層高まった瞬間で。
イッシー 僕は以前『白猫プロジェクト』のゲームプログラマーだったんですけど、そのときに作ったキャラの機能が強いか弱いかは別として、今でも人気が高いスキルなんですよね。やっぱりソーシャルゲームはリリース後のユーザーさまの反響が一番の醍醐味だと思います。
アッキー それはゲームプログラマーだけでなく、ゲーム作りに関わったみんなが思っていることだと思います。やっぱり世の中に出して多くのユーザーさまに認められたときが一番うれしいですよね。
それを一回経験すると、たとえ難しい要望があったとしても、達成できたときのやり甲斐も大きいだろうから、絶対にやり切ってみせようと思える。今はマネージャー職なので、新人の方には達成感を感じられる仕事を振るようにしていて、やり切る喜びを経験してほしいと思っています。
本日はありがとうございました!