ゲームソフトは自社で作るだけでなく、ソフトウェアメーカーさんが個性的なゲームを開発してくださることで、ゲーム機にバラエティ感が生まれ、活性化することになります。ですので、任天堂ハードに向けて他社さんが積極的にゲームを開発してくださることは、とても大事なことなんです。
ファミコンやスーパーファミコンの時代では、いろんなゲーム会社さんが独自に絵や3Dモデルを表示するプログラムを作って、ゲームを開発されていました。しかし、ゲーム機が時代とともにどんどん高性能になり、複雑化することで、そうすることは容易ではなくなってきました。たとえば3Dモデルを画面に表示させたり、サウンドを鳴らすといった基本的なことをやろうとするだけで、その準備に数か月もかかってしまい、ゲームの開発がいっこうにはじめられないという状況になってきているんです。
そこで、社外の開発者の方々が作りやすい環境を整備していこうという目的で、「NintendoWare Bezel Engine」というゲームエンジンの開発が行われることになり、私はそのチームの一員としてゲームエンジン開発に関わることになりました。開発の立ち上げから携わったのですが、立ち上げ時は人数が少なかったこともあり、先輩からいろいろな機能の制作を任されました。自分にできるか不安もありましたが、私は自分自身で考えて何かを作ることが好きだったので、やりがいを感じることもできました。
開発の立ち上げ時は「どうしたらゲームエンジンを使ってもらえるか」について悩むことが多くありました。中途半端なものではゲーム開発者に使ってもらえません。その中で意識したことは「ゲーム開発者の立場にたって、使いやすいものになっているか」についてです。開発をしていると、どうしても開発側の視点で物事を考えてしまいがちで、それを使う側の気持ちを忘れてしまうことがあります。
作ったものを自分達で使い、実際にゲームやデモを作る取り組みを行うことで、どうすればゲームが作りやすくなるのか、どういう機能があれば便利かということを考えながら開発することができました。また、使っていただいているゲーム開発者の方にどのように使っているのか見せてもらったり、話を聞きに行ったりもしました。
使いやすさだけではなく、ゲーム開発者の方々に安心して使ってもらえるように、コードレビューや自動テストにも力を入れています。チームメンバー同士がお互いのコードをレビューすることにより、自分の作ったソースコードに誤りがないか、先輩プログラマーにチェックしてもらえただけでなく、先輩が作っているプログラムのコードを見て学ぶ機会が増え、お互いの品質を高め合うことができたのです。また、ソースコードのテストを自動的に行ってくれるCI(継続的インテグレーション)といった仕組みを整えることで、ゲームエンジンの品質を高めていくことができました。
このような取り組みを行いながら Nintendo Switch の発売にゲームエンジンの開発を間に合わせることもでき、発売からいくつものゲームタイトルで採用してもらえるようになりました。発売タイトルのゲーム開発者の方からお話を聞かせていただくこともあるのですが、ひとりの方から「前からこういうものが欲しかったんだ」と言っていただいたときは、その言葉が自分への何よりの最高のご褒美になったように感じました。