社員紹介

シリコンスタジオの
ゲーム開発ツールエンジニアとは?
桜組の開発を紹介!!

テクノロジー事業本部 技術統括部 技術第1部 
桜組マネージャー K.K. 2018年入社

テクノロジー事業本部 技術統括部 技術第1部 
桜組リードプログラマー N.F. 2019年入社

桜組とは?

任天堂様の内作タイトル制作で使うためのインハウスツール開発を請け負っているグループ。10数名のスタッフで複数チームに分かれて開発中。

桜組エンジニア紹介記事:
働き甲斐◎ 業界を変え新しい開発へ挑戦!
関連記事:
世界中にファンを抱えるゲーム企業様と共に開発するシリコンスタジオ
(同じく任天堂様のNintendoWare Bezel Engine開発をお手伝いさせていただいているグループとはまた別動隊となります)

Q. お二人の入社経緯と現在の業務内容を教えてください。

K.K.:私のキャリアのスタートはゲームプログラマーで、その後SEを経験、次のキャリアを考えたときに、今までのキャリアを活かし、社内エンジンやツール開発をしていきたいならシリコンスタジオだ、と入社に至りました。現在は桜組というグループのエンジニアリングマネージャーをやっています。主な業務は、各スタッフの日頃のケアや技術相談/各チームの作業ディレクションで、社内調整・渉外・採用活動などグループ全体に関わる業務を担当しています。私自身がエンジニア出身なこともあり、スタッフの手が足りないときには開発業務にヘルプで入ることもあります。

N.F.:私は新卒で入社した会社で不動産屋さんが使用するツールをWPFで開発していました。
自分の力を試してみようと転職活動をはじめ、シリコンスタジオでWPFエンジニアを求めていることを知り、元々ゲームが好きで興味のある業界だったこともあり、入社を決めました。現在は桜組内の一つのチームでリードプログラマーをやっています。私のチームでは、CEDEC2024で任天堂様の「知る・創る・繋ぐ『ゼルダの伝説 ティアーズ オブ ザ キングダム』で再構築した開発環境とサウンド制作事例」でも発表された、ProjectPortalというツールの開発をお手伝いさせていただいています。

Q. ProjectPortalとはどのようなツールでしょうか。

K.K.:N.F.からもあった通り、ProjectPortalは任天堂様のCEDEC2024のセッション「知る・創る・繋ぐ『ゼルダの伝説 ティアーズ オブ ザ キングダム』で再構築した開発環境とサウンド制作事例」で詳しい内容が紹介されました。
当該CEDECセッションでもあった通り、任天堂様のゲーム開発においては主として、オールインワンのゲームエンジンではなく、より自由度の高い開発を行うためにコンポーネント指向な開発環境※が採用されています。
一般的にコンポーネント指向を採用する際には、その自由度の高さと引き換えに、特にツール間の連携が弱いという点において、利便性が低下しやすく、利便性を上げるための施策にも高いコストがかかってしまう、という欠点と向き合わなければなりません。

ProjectPortal

N.F.:任天堂様ではこの欠点を補うために「各アセットが持つ情報やその情報間の関係性をデータベース化する」という形でツール間の連携手段を提供しています。各ツールはこのデータベースから読み込むことで、相手のツールやファイル形式等に依らず、他ツールによって作成されたアセットやそれが持つ情報を知ることができる、という仕組みです。
このデータベースのフロントエンドがProjectPortalです。単にデータベースを読み書きできるだけではなく、取り出したデータを有効活用して開発機との連携や任意のツールへの導線、更にはアセット管理からプロジェクトの進捗管理まで、ゲームプロジェクトに必要なあらゆる要素の入り口になる機能を有しております。

※コンポーネント指向なゲーム開発環境とは
エフェクトならエフェクト専用ツール、サウンドならサウンド専用ツールといったように、ツール群やランタイムがそれぞれ独立しており、それらを自由に組み合わせて構築するスタイルの開発環境。一般的に、オールインワンエンジンと比べた性質として、各ツールが独立しているため自由度が高く「各プロジェクトの個別事情に特化した施策を取りやすい」という利点を持つが、各ツールが独立していることの裏返しとして「コンポーネント間の連携が弱い」という欠点を持つ。

ProjectPortal ワークフロー機能

Q. 実際にどんな開発を行っているのでしょうか?

K.K.:このProjectPortalは非常に大規模なツールとなっており、そのこともあってProjectPortalというツール全体を弊社にお任せいただいているわけではないのですが、弊社では現在N.F.以下5名体制で、ProjectPortalの中でも特に目玉機能の一つである、「ワークフロー」と呼ばれるバグトラッキング・タスク管理の機能の開発を主に担当させていただいています。

N.F.:ワークフローとは、JIRAやRedmineなどのような、作業をチケット単位で管理していくタスク管理機能です。最大の特色は、その作業の対象となるゲームコンテンツのリソースと1チケット対1リソースの形で紐づけられる、という点です。このことにより、リソース毎に残件数やバグの発生頻度を確認できるというゲーム開発に特化したトラッキングが可能となっています。また、ProjectPortal自体が前述のデータベースや各ツールと連携しているため、バグ発生時にゲームの画面から直接チケットを作成し、リソースの情報から自動的に担当者がアサインされ、担当者はProjectPortalの画面上からそのリソースをエディタで開いて修正する、といったようなシームレスな開発サイクルを提供できます。

Q. ProjectPortalの開発の面白さ、難しさを教えてください。

K.K.:ProjectPortalは任天堂様のインハウスツールという点で、プロダクトの開発とは性格が大きく異なる点が多々あります。インハウスツールの開発ならではの難しさの一つに「正しさ」よりも「使う人の気持ち」が大事であることがあります。しかし実際は、何が欲しいのか?どうなると便利か?は明確でないことも多いです。顕在化していない要求にこたえるためには、完成度よりもまず「使ってみること」が求められる場合もありますし、ある程度の完成度がないと「使ってみる」にたどり着けないこともあるなど、このさじ加減がとても難しいところです。

N.F.:だからこそ、お客様と一緒に作り上げてくところが、面白いです。実際に使ったフィードバックをダイレクトに聞くことができ、市井のプロジェクトでは決してみられないような機能やツールができあがることもあり、自分が作ったんだという気持ちは一層強くなります。
例として、ワークフローの中にガントチャートの機能を作ったのですが、一般のガントチャートでは1行には1タスクが表示されるものの、ProjectPortalでは1行に1タスク表示するモード以外に、作業者や段取り毎にまとめて1行に複数タスクを並べて表示できるモードがあるガントチャートを実装しました。
ある作業者の作業の期間が被ってしまっていないか、1つの段取りに注目してどのような作業が並んでいるかを把握したいというエンドユーザーからの要望で作成し、大量のタスクだと1行1タスクの表示では縦長になってしまう画面もすっきりとした表示にできました。

ProjectPortalのガントチャート(通常ガントチャートモード表示)

上記ガントチャートを同一作業者のタスクは同じ行に配置するモードで表示したもの

タスクテーブル

Q. 開発例を他にも教えてください。

N.F.:前述したガントチャート以外に、弊社がメインで作成した機能として、タスクテーブルを紹介します。
タスクテーブルはタスクの状況を俯瞰する機能で、作業者×進捗といったように縦軸と横軸で表形式で表示することができます。この縦軸と横軸はタスクに関する様々な情報から任意に設定することができます。この機能を用いることで、多数のタスクを自由度の高い2つの軸でマトリクス状にまとめて評価することで進行状況を把握しやすくなり、またプロジェクトの進行が悪いときにホットスポットが発生していないか、そのホットスポットがどこにあるのかも見つけられるため、主にマネジメントの立場の方から好評をいただいております。

K.K.:冒頭の通り、ProjectPortal以外にもいくつかツールをお任せいただいておりまして、ProjectPortalともう一つ大きな柱としてノードグラフベースのビジュアルプログラミングツールを複数、任天堂様と共同で開発しております。モデルのアニメーションのイベント遷移ロジックをデザイナーさん自身で記述することができるASEditor、インタラクティブミュージックのイベント遷移ロジックをコンポーザーさん自身で記述することができるBgmEditorというツールがあります。これらは、従来ではデザイナーさん/コンポーザーさんが仕様を書き、それを見ながらプログラマーが実装して、その動きを見ながらデザイナーさん/コンポーザーさんが調整したい事項を改めてプログラマーに伝え、プログラマーが実装し・・・を繰り返さなければなりませんでしたが、デザイナーさん/コンポーザーさん自身がロジックを作りそれを調整することで、開発サイクルの短縮に成功しました。

ASEditor

BgmEditor

キャラクターの動作制御ロジックをノードベースで記述するツール

また、ASEditorを下地に、ゲーム内キャラクターの動作制御ロジックをプログラマーが記述する際に、コードではなくノードベースで記述するツールも開発しました。こちらは、プログラマーなので自分でコードを書くこともできますが、「キャラクターのゲーム内でのふるまい」というものを視覚的に記述することで、コードで見るよりもその仕様が把握しやすくなりました。

他には、多言語で発売するタイトルのローカライゼーションのための、翻訳入力・多言語対応データ生成・グロッサリー管理・進捗管理等をワンストップで行うローカライズ支援統合環境の開発も、任天堂様の開発チームにジョインさせていただく形でお手伝いさせていただいております。

Q. インハウスツール開発に関わるエンジニアには必要なことは?

N.F.:ユーザーのユースケースを想定しつつ、こうすると便利・嬉しいという相手の立場にたった想像力を持っていること、そしてそれを実現させて喜ばせたい気持ちでしょうか。この機能を使う人はどう思うのか、を考え抜ける人が活躍する場所だと思います。
そして桜組はゲームが好きなメンバーが集まり、ゲーム開発を支えたい!という熱意を持つチームなので、同じ気持ちで取り組んでいける方をお待ちしております。

K.K.:近年は海外のゲームデベロッパーが躍進目覚ましいですが、そんな中でも日本のゲーム開発現場が一番強みとしているところは「面白さを決して諦めないこと」であると私は考えています。しかしながら、ゲーム制作に携わったことがある方は共感いただけるのではないかと思いますが、開発プロジェクトを進めていく中で、残念ながら開発環境都合の制約によって「実現したかった面白さを諦める」という瞬間が訪れることも決して少なくはありません。ゲーム開発環境に関わるエンジニアには、「その制約によって開発者が面白さを妥協するようなことが起こらない開発環境」を決して諦めない姿勢が大事なことだと思います。

弊社の技術部門に関しては、ゲーム開発向けを中心としたミドルウェア、とくに3Dグラフィクスのミドルウェア専門のランタイム寄りの会社というイメージを持つ方が多いかと思いますし、実際にミドルウェアをはじめ3DCG技術をコアにエンタメ業界の中で技術を培ってまいりました。現在その技術を活かしたソリューション開発を行っており、ゲーム現場に寄り添って開発を続けてきたバックボーンから、ゲーム開発会社様のツール開発も度々お任せいただいております。ゲーム開発を裏方から支えたい、というエンジニアさんをぜひお待ちしています。

採用に関するお問い合わせ

メールからのお問い合わせ
シリコンスタジオ株式会社 コーポレートサービス本部 人事部
careers@siliconstudio.co.jp