ハル研ブログ BLOG

仕事内容
執筆者:加藤 タグ: プログラマー

『星のカービィ ディスカバリー』の仕事 プログラム編

© HAL Laboratory, Inc. / Nintendo

こんにちは。プログラマーの加藤です。
『星のカービィ ディスカバリー』では、プロシージャルフィールドプログラマーとして、主に背景を構築するシステムを担当しました。

今回は、背景に関するプログラマーの仕事紹介を、ざっくりとさせていただきたいと思います。

背景に関するプログラマーの仕事は、大きく2つに分けられると思います。
作りたい背景を快適に作れる環境を作ること、そして、背景の品質をプログラムの側面から向上させることです。

「背景を快適に作れる環境を作る」
ゲーム制作の序盤は主にこの仕事になります。
どのような背景を作るのか、またその制作人数や期間によって、求められる開発環境も変わってきます。

広大な自然地形が広がっているような背景なのか、都会の中でビル群が密集している背景なのか、はたまた現実世界にはない独特な空間なのか。
また、レベルデザイナーが多いチームなのか、フィールドアーティストが多いチームなのか。

それらによって、「今作では地形を簡単に調整できる仕組みが重要だから、多少時間をかけてもその仕組みに取り組もう」となったり「広いマップを作りたいから、複数人で並列に作業できる環境を作ろう」となったりします。
ディレクターやアーティストと一緒に、そのワークフローを模索することが背景を担当するプログラマーの最初の仕事です。

ワークフローが決まり「よし、今作はこれで行けそうだ」となったら、次は、マップエディタなどのツールの開発&機能追加、そして、それらのエディタで作ったデータをゲーム側で受け取る仕事が待っています。

マップエディタへの機能追加の例としては、
「いろんな形状のエリアを配置できるようにし、そのエリアを使って地面の質感を変えられるようにする」とか
「空間にパスを引いて、そのパスをギミックで使えるようにする」とか
「単純に、オブジェクトをたくさん置いてもマップエディタがカクカクしないように高速化を図る」などがあります。
これも、その背景の特性によって、毎作変わります。

これらの機能追加によって、それまで作れなかったものが作れるようになったり、それまで数時間かかっていた作業が数分で終わるようになったりすることがあります。
レベルデザイナー、フィールドアーティスト、そしてプログラマーがそれぞれの得意分野で能力を発揮し、その相乗効果によって、最大限のアウトプットを目指すというのは、なんだか胸が熱くなりますね。

「背景の品質をプログラムの側面から向上させる」
ゲーム内のプログラムの高速化や、データサイズの削減がこれに当たります。
ワークフローを考え、様々な機能追加を行い、そうして大量のデータが作られる中で、ある時期から、処理負荷やデータサイズの懸念が出てきます。

例えば、データサイズが大きくなりすぎると、シーン遷移時のロード時間が長くなったり、ソフトのデータサイズが大きくなり、ゲーム機のストレージを圧迫するということが起きます。
背景の品質として、グラフィックが魅力的であることは最も大きな尺度ですが、処理負荷が低いこと、データサイズが小さいことなども品質を表す尺度の一つであり、ここの削減はプログラマーの頑張りどころです。

とはいえ、アーティストの作った見た目のクオリティを下げるわけにはいきません。
まずは、処理負荷が高い原因の調査から始め、なんとか見た目を変えないように削減を図ります。
それでもまだ足りない場合は、レベルデザイナーやフィールドアーティストと相談しながら、現実的な落としどころを探していきます。
それぞれの担当分野は違いますが、ゲームとして良いものにしたいという気持ちがベースにあるので、なんとかなります。

以上、背景に関するプログラマーの仕事紹介でした。
『ディスカバリー』の背景はこんな感じで作られていきました。その雰囲気が伝われば嬉しいです。

『ディスカバリー』では、ゲームの舞台がこれまでの2Dから3Dになったことで、開発環境も大きく変わることになったのですが、これからも新しいゲームを作るたび、様々な変化が必要になるのだと思います。
求められる変化にできうる限りの答えを返せるよう、これからも精進していきたいと思います。

『星のカービィ ディスカバリー』公式サイト