Nintendo Switchのネットワーク機能はとても多彩です。Wi-Fi、またはLANケーブルを介してインターネットに接続できるだけでなく、近くにあるほかのNintendo Switchとローカル通信(無線通信)を使って直接データのやりとりができたり、Joy-Conを本体から取り外すとBluetoothでつながったりします。ほかにも、いろいろなキャラクターのamiiboをJoy-ConのRスティックにタッチすると、近距離無線通信でデータを受け取る機能もあります。
こうしたネットワーク機能を活用して、Nintendo Switch向けにさまざまなゲームが開発されています。一方で、電波はお互いに干渉する性質があるため、無線を含むネットワークを活用した機能を安定した通信環境で確認することは、実はとても難しい課題です。たとえば、100人以上の社員が開発を行うような執務室では、Nintendo Switchの開発機、PCやスマートフォンなど、数百台を超える電子機器が、同時にさまざまな電波を発しながら稼働するため、ネットワーク機能の開発を進めるうえでは一筋縄ではいかない環境となります。
任天堂には、外部からの電波を遮断する電波暗室(シールドルーム)がありますが、さまざまな用途で使われるため、1台のNintendo Switchだけで占有することはできません。電波暗室の環境を再現できるような、電波が飛び交う執務室内であっても通信機能の開発やデバッグの業務が行える、そのようなシステムの必要性が高まっている状況でした。
私はシステム開発者として、TCP/IPスタックやネットワークドライバーなどネットワーク領域の開発を担当しています。私は、「まずは手を動かし作ってみる」ことを信条としていますが、仕事で担当する業務の対応をする中では、自由に手を動かしてモノづくりできる時間が生まれることがあります。面白そうなアイデアが浮かんでいるときは、その自由な時間を使って、実際に動くモノを試作し、デモを行うようにしています。いくら面白そうなアイデアを思いついても、それをただ説明するだけでは十分ではなく、実際に動くモノを作ることで説得力がとても増します。
このような取り組みの中で作ったモノのひとつには、ローカル通信を疑似的に再現する開発・デバッグ用のシステムがあります。これは、Nintendo Switchの開発機をLANケーブルで接続することで、多数の開発者が集まる執務室でも、無線通信の干渉を気にせずに、あたかもローカル通信を行っているかのようにゲームソフトをプレイできるシステムです。
このシステムでは、ただ単に無線接続を疑似的に再現するだけではなく、無線通信環境の違いをパラメーター設定によって再現することができるようにもしています。一例ですが、この機能を使えば無線通信が難しい環境でゲームソフトの動作がどうなるかをいつでも確認することもできます。任天堂はシステム開発者とゲーム開発者が同じ建物で働いており、距離が近い環境にあるのですが、ゲーム開発者から「デバッグにとても役に立った」というコメントをもらうだけでなく、追加機能の要望も直接もらったときは、とても嬉しく思ったことを覚えています。一度リリースしたら終わりではなく、さらに新しい提案や改善を継続できることを実感した瞬間でもありました。こういう仕事の進め方は、任天堂のカルチャーでもあると思っています。
もちろん手を動かし作ってみたからといって、そのすべてがうまくいくわけではありませんが、自分からどんどんと提案して、さまざまな分野の知識や経験を活かすことができる点は、エンジニアとしてとてもやりがいのある環境だと考えています。そして、自分の考えたもの、自分の作ったものが初めてゲーム機で動いたときの感動はとても大きいものです。また、私にとっては、Nintendo Switchを遊んでくださる世界中のお客様はもちろんのこと、同じエンジニアとして働くシステム開発者やゲーム開発者も重要な存在です。新しく作ったものがだんだんと、さまざまな開発者に採用されていく様子が間近に見えるのは、任天堂のシステム開発ならではの、とてもワクワクする体験だと考えています。