ゲーム開発チームの一員としてゲーム開発チームの一員として

すべてのデータを管理・編集するツール

ゲーム機の性能の進化とともに、ゲーム開発の規模は大きくなり、扱うデータの量も増えています。データの種類やデータ同士の関係性について把握することは、ゲームを面白くするうえでとても重要です。例えば、キャラクターの種族と内訳がどうなっているか、家具と色のバリエーションはどれぐらいあるか、といった情報は、ゲームを調整するために必要になります。これらをゲーム開発に活かすために、ゲームに関わるすべてのデータを管理・編集するツールを制作しています。

私はキャリア採用で入社してから、このツールの開発に携わっています。

ゲーム開発チームの一員としてツール開発に取り組む

ツール開発専門のチームに所属してツール開発に専念することもできますが、私はツールを導入しているゲーム開発チームに所属して、チームのサポートをしながらツール開発に取り組みました。その時に所属していたチームは規模が大きく、膨大な量のデータがあったのですが、目的のデータをうまく見つけられない時にチームメンバーがプログラマーへ相談しているのをよく見かけていました。相談を受けたプログラマーは、各々の方法で調べて対応をしていました。そのやり取りを見て、もっと簡単にデータを絞り込めるようになれば、チームの開発効率が上がるのではないかと考えて、ツールに機能を追加することを決めました。

はじめに、調べる際のデータのフォーマットが統一されていなかったため、データベースに情報を集約して、すべてのデータをSQLで検索できるようにしました。つぎに、SQLをフィルターとして登録しておいて、ツール上で組み合わせて、さまざまな条件でデータを絞り込めるようにしました。登録されたフィルターを使うことで、プログラマー以外の人でも簡単にデータを絞り込めるようになり、目的のデータを探しやすくしました。そしてさらに、フィルターを組み合わせたものをチーム内で共有できるようにもしました。こうすることで、ツールに慣れた人が手元で組み合わせたフィルターを共有して、ほかの人をサポートできるようになり、実際にそのような場面をチーム内でもよく見かけるようになりました。

自由にフィルターを登録して組み合わせられるという仕様を実現するにあたっては、高速にデータを絞り込むための工夫が必要でした。手始めに、CIで定期的にSQLを評価して検索用の情報を作っておく方法を検討したのですが、この方法だと手元で変更したデータの内容が即座に反映されないため、使い勝手が悪くなりそうに思いました。そこで、各開発者の席でリアルタイムにデータを収集して構築したデータベースに問い合わせて、その結果をキャッシュしてデータを絞り込む方法を採用することにしました。この方法はツールに大量の情報を保持する必要があり、パフォーマンスが低下する懸念があったのですが、膨大な量のデータで検証をしながらチューニングを行ったおかげで、快適に使える機能に仕上げることができました。

ゲーム開発チームに所属して、チーム内でのユースケースやフィードバックを元に、実データを使ってチューニングを行うことができたからこそ、今回のようなフィルター機能を実現できたのだと思います。チームメンバーとコミュニケーションを取りながら、どうすれば周りの人たちがゲームを面白くすることに専念できるかを考えて、自分の取り組みによってチーム全体の開発効率を高めることができる、そのような今の働き方がとても気に入っています。これからもゲーム開発に貢献できるように、ゲーム開発チームに寄り添ってツール開発を行っていきたいです。

社員略歴

日髙企画制作部/2018年入社
2018年にキャリア採用で入社。
入社前はゲーム会社で業務用ビデオゲームやスマートデバイス向けアプリの開発を経験。
任天堂に入社後はゲーム開発で使用するツールの開発、およびツール使用者のサポート業務を担当。
職種

↑