お客様にNintendo Switchをもっと楽しんでいただくために、たくさんのゲームが提供できるようにすることは、プラットフォーマーとしての任天堂の重要な役割のひとつです。そのため、任天堂や大手ソフトメーカーさんだけでなく、小中規模のデベロッパーさんで作られた個性豊かなインディーゲームなども遊べることがますます重要になってきました。ただ、たとえば日本のデベロッパーさんが海外でゲームを発売しようとすると、支払いが現地通貨であるなど、小中規模の会社さんにとっては対応が難しいこともありました。
そこで、多くのデベロッパーさんがもっと簡単に各国でゲームを販売できるようにしたい、という考えのもとではじまったのがグローバルな支払いシステムの開発です。このシステムにより、ニンテンドーeショップの売り上げを希望する通貨で受け取れるようになります。
ただ、このシステムを実現するには、いくつかの問題がありました。任天堂の社内システムの中には数十年の歴史を持つシステムもあるのですが、このようなシステムは特定のベンダーのハードウェアやフレームワークに依存しがちでした。高品質でサポートが手厚い点はよいのですが、ニンテンドーeショップの大規模データを扱うためにサーバーの増設を繰り返すと、かなりのコストがかかってしまいます。
また、社内システムは細分化されて開発されていたため、それぞれのシステムや業務に関する知識がその担当者にとどまってしまう、いわゆる属人化も問題となっていました。
そこでグローバルな支払いシステムは、一般に公開されているオープンソースソフトウェアを活用して作ることにし、同時にそれぞれが開発したプログラムを社内でレビューする仕組みを作りました。すると、お互いに知識が共有できるようになっただけでなくシステムの品質も大幅に向上したのです。
大規模なデータの処理は膨大な時間がかかったり、あっという間にメモリーが枯渇したりしてしまうんですが、それを解決するため、フレームワークの仕組みをソースコードレベルで理解し、任天堂の業務やデータに最適化していく過程は、まさに技術者の腕の見せ所でした。また、レビューを繰り返すことで知識共有が進み、プログラムも洗練されていきました。結果、大幅な性能改善を実現でき、周囲から、「あんなに時間がかかっていたのが噓のように早くなった」というコメントをもらったときは、本当に嬉しかったですね。
このシステムの開発プロジェクトを通して、大きく2つの境界を取り除くことができたと考えています。
ひとつは国や地域の境界です。配信や、支払いにおけるリージョンの境界を取り除くことにより、多くのデベロッパーさんの参入を促進し、多様なゲームを配信できるようになりました。ニンテンドーeショップやパブリッシャーさんへのレポートを目にして、Nintendo Switchではこれまで以上に多様で魅力的なゲームを遊べるようになったと実感しています。
そしてもうひとつは、技術・知識の境界です。オープンソースソフトウェアを活用することで、ベンダー製品による制限という境界を、また、レビュー文化を定着させることで、開発者間にあった境界を取り除くことができました。今もなお、新たな税制度や送金方式などへの対応が続いていますが、効率的にシステムの改修が行えています。
こういった点において、今回のプロジェクトは、任天堂の社内システム開発の歴史において、大きな意味を持つプロジェクトになったと考えていますし、社内外の人たちの期待に応えられるシステムを作ることができたと考えています。