新規ハイエンド対戦アクション メインプログラマー チームが求める環境づくり Unreal Engineを用いた自社開発

入社5年目 / 新規ハイエンド対戦アクション メインプログラマーチームが求める環境づくり Unreal Engineを用いた自社開発

Unreal Engineをゼロから習得、アクションゲーム開発プロジェクトへ

まずは自己紹介をお願いします。
  • メインプログラマ―
  • 2010年に新卒でゲーム業界に入ったので、今年で14年目になります。学生の頃は高専でプログラミングを勉強していました。昔からゲームで遊ぶのが好きだったので高専を卒業後にゲームの専門学校へ入って、2019年にトイロジックへ中途入社しました

トイロジックではどのような仕事を担当されていますか?
  • メインプログラマ―
  • 入社からずっとネットワーク対戦のアクションゲームプロジェクトに参加しています。このプロジェクトではUnreal Engine 4を使用していて、中でも私はアクションゲーム部分を担当しています。実はチームに入った当初は、Unreal Engineを使用した開発経験がなかったのですが、継続的に情報収集や勉強を行いながら業務に取り組んでいます。

Unreal Engineを使用したアクションゲーム開発について詳しく教えて下さい。
  • メインプログラマ―
  • Unreal Engineはアクションゲームを作るのに向いている機能が多数入っています。例えば「AnimationBlueprint」という機能を使えば、キャラクターの各状態に沿ったアニメーションの指定だったり、ブレンド値の調整を簡単に行うことができます。また、「GameplayAbilitySystem」を使うと、攻撃や防御、ジャンプ等が項目ごとに実装できて、各キャラクターに対して付け外しが可能です。例えばジャンプできるキャラクターとできないキャラクターがいる時に、ジャンプという項目を作ってそれを付け外すだけで良いので、実装コストが低くなります。

    あとは先ほども挙げましたが、「Blueprint」はプログラムのように文字を打ち込むのではなく、矢印で図形を繋げるようにグラフィカルな実装ができるので、プログラマーを介さず、プランナーだけで実装が可能になり、柔軟に開発が進められます。ある程度の勉強期間が必要ですが、既に習熟している人がサポートについてあげればより勉強期間は短縮できるかと思います。実際に私の所属しているプロジェクトチームでは、使用頻度は変わってきますが全員が何かしらの形でUnreal Engineを触っています。

自分の失敗は会社全体のノウハウへ

インタビュー近影01
ネットワーク対戦ゲームを開発する上で、Unreal Engineをどのように活用していますか?
  • メインプログラマ―
  • Unreal Engineには、ネットワーク対戦ゲームを作る機能ももちろん入っています。ですがトイロジックでは、その機能がよりプロジェクト要件に沿うように、適宜高速化や機能の追加等、一部をカスタマイズしてUnreal Engineを使用しています。

    私が担当している具体的な機能で言うと、先ほど挙げた「GameplayAbilitySystem」や、「MovementComponent」ですね。後者はキャラクターがネットワークを介して移動するタイミングで使うものになります。こういった機能に対して必要に応じてプロジェクト用のカスタマイズを行っています。

そういった難しさはどのようにして乗り越えてきましたか?
  • メインプログラマ―
  • プロジェクトの垣根を越えてノウハウを共有し、問題解決に努めています。現在、月に1回ペースで各プロジェクトの共有兼、進捗の発表会が実施されています。2021年の頭くらいに始まったので歴はまだ浅いですが、今後、何か問題が発生した時に「そういえばこの前、○○さんがこの件について話していたな。相談してみよう」と解決のきっかけになることを目指してと取り組んでいます。

先輩、後輩問わず発言しやすい環境を目指して

インタビュー近影02
ゲームプログラマーとして最も重視している事はなんですか?
  • メインプログラマ―
  • 設計の中で、汎用性と拡張性を意識するようにしています。というのも、ゲーム制作は当初の想定通りに開発が進むことが少なく、作成しては改修、もしくは破棄するといったスクラップアンドビルドを繰り返すことが多いです。汎用性が高ければ開発速度が上がり、拡張性が高ければ改修や破棄などの作業が容易になるため、開発の効率も上がります。

    あとはチーム制作ということもあり、メンバー同士の意思疎通も重要だと思っています。プランナーさんが作成した仕様書の意図を全て汲み取るのはなかなか難しいので、できるだけ積極的にどういうものが作りたいかを直接聞きにいくようにしています。特にプランナーさんが若手だと、先輩に対して意見し辛いこともあり得ると思うんですよね。

    でも本来は、同じチームの仲間ですし、お互いに気後れせず感想や意見を言い合えた方が良いと思います。なので、全員が発言しやすい環境を作るよう心がけて行動しています。

    ただこれは一朝一夕でできることではないので、普段から雑談をしたり、冗談を言ったりするところから始めて、意識的に場を和ませる雰囲気づくりに取り組んでいます

トイロジック全体の雰囲気や印象を教えてください。
  • メインプログラマ―
  • フレンドリーな人が多い印象があります。特に私は中途採用で入社したので、最初は既存のコミュニティに入っていくことに対する緊張もありましたが、結果的には全く困らなかったです。チームのメンバーは温かく迎えてくれました。何か困ったことが起きた際も対応が手厚くて、ありがたかったです。

    別の観点だと、福利厚生が充実していると思います。会社でコーヒー等の自販機ドリンクが飲み放題なのは地味に嬉しいです(笑)。それから作業用のPCもハイスペックのものを用意してもらっているので、不便を感じることがないのはありがたいですね。

休日はどのように過ごしていますか?
  • メインプログラマ―
  • 4~5人の友人とグループ通話をしながらゲームをしていますね。新作のゲームが発売されたら、誰かがそれをプレイしているところを画面共有して、みんなでわいわい突っ込んだり、オンライン対戦をしたりとか。特にこれといったタイトルを継続的にやっているわけではなくて、何となくみんなで気になったものをそれぞれ買ってみて遊んでいます。コンシューマーからインディーズまで種類は様々ですね。友人のおかげでいろいろなジャンルのゲームにも触れられるので、楽しく表現方法や遊びのアイディアのインプットもできて一石二鳥です(笑)。

一人では生み出せない面白さを作っていきたい

今後の課題や目標にしていることはありますか?
  • メインプログラマ―
  • 今後、というより常に降りかかっていることではあるのですが、日々新しい技術が出てくる業界なので、取り残されないようにという危機感はいつも持っています。業務で使うかどうかは置いておいて、情報としてはある程度仕入れておくようにしています。

    あとは若手の育成でしょうか。ずっと中堅からベテランの方が主要なパートを担当するのではなく、むしろ若手が早いうちから担当して、ベテランがその補佐をするのも重要だなと。個人的には勉強し続けて、これからも現場にいたいとは思っています。

どんな人と一緒に働きたいと思いますか?
  • メインプログラマ―
  • 職種を問わず、一緒にゲームを作る上で自分では思いつかないことを言ってくれる人が良いなと思います。その内容がどんなに突飛で変わったアイディアだとしても、自分からでは出てこない発想なので、まずは頭ごなしに否定せず揉んでいきたいです。一人では思いつかない、一歩先の面白さに一緒にたどり着きたいです。

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

© Toylogic Inc All Rights Reserved.