"残念"をそぎ落とす仕事

馬の動きをプログラム

プログラマーとして入社した私は、2年目に『ゼルダの伝説 ブレス オブ ザ ワイルド』の開発チームに配属され、しばらくしてから馬の動きのプログラムを担当することになりました。そのとき私は「大丈夫かな?」と思うと同時に身が引き締まる思いになりました。というのも、入社してからWii Uの本体機能や、あるゲームの開発に関わってきたものの、ほとんどがお手伝い的な仕事で、本格的にゲーム開発に携わるのは初めてのことだったんですね。

馬の動きを作るにあたっては、たとえばコントローラーの入力のとおりに動かすという方法があります。でもそうすると、まるで機械のような馬をラジコンで操縦するような感覚になって、生き物に乗っているという感じがしなくなるのではないかと考えました。そこで私は、馬を担当する前に関わっていた経路探索のプログラムを使うことにしました。たとえばリンクが敵モンスターの集団に遭遇したとき、彼らはいろんな障害物を避けながら、それぞれのルートで襲ってきますけど、それは経路探索のプログラムが使われているからなんですね。

目の前にある障害物を避ける仕組み

そこで、経路探索を馬に応用してみたのですが、複雑な地形を進んでいるときに、プレイヤーが理解できないような動きをするんです。つまり、馬が賢くなりすぎたために、遠くの方にある、まだプレイヤーには見えない障害物を先読みして、迂回していたんですね。すると、プレイしていてもすごく気持ちが悪いので、いろいろと試行錯誤を重ねてみたのですが、最終的には目の前にあるタルや岩のような障害物だけを避けることにしました。このように、思い入れのある経路探索を使ったプログラムをバッサリ切り捨てることにしたのは、完成する4か月前のことだったのです。

かわいいけど、憎らしい

『ブレス オブ ザ ワイルド』の世界はとても広大です。しかも行きたいところに行けるということも、このゲームの魅力なのですが、馬を走らせるときに邪魔になる障害物もたくさんあります。そこで私は、馬をいろんな場所で走らせて検証することにしたのですが、ほんの少しでも自分の思ったとおりの動きをしないと、プログラムをした自分にとってはすごく残念に感じられるんです。それはほんの些細なことである場合もあります。ただ、それでも残念に感じられるところを少しでも減らすために、そのシーンの録画を見直しながら、どういう計算で、そういう動きをしたのかをひとつひとつ検証し、完成の直前まで修正の作業を続けることになりました。

さまざまな動き

馬は走らせるだけでなく、いろんな動きをプログラムしています。たとえばリンゴやニンジンを地面に置くと、食べてくれますし、主人公のリンクが口笛を吹くと、馬が駆け寄ってきますが、それは先にお話しした経路探索のプログラムを使っているんですね。また、リンクが口笛を吹きながら走ると、後ろから走ってくる馬にタイミングよく飛び乗れるようなこともプログラムしました。そういった馬の動きを見ていると、すごくかわいいと思う半面、最後まで苦労させられたという点では、ちょっぴり憎らしい存在でもあったりするんです。

社員略歴

奥田企画制作部/2012年 入社
2012年「理工系(ソフトウェア)」入社。
Nintendo Switch / Wii U『ゼルダの伝説 ブレス オブ ザ ワイルド』(2017年)では、ゲームプログラマーとして、経路探索の仕組みや馬を動かす実装などに携わった。

↑