『クラウドゲームをつくる技術 ──マルチプレイゲーム開発の新戦力』p.iii-vより
クラウドが、あらゆるものを飲み込んでいきます。
1990年、Tim Berners-Leeが最初のWebブラウザである「WorldWideWeb」をNeXT用に開発し、HTTPを提案したときから、ドキュメントを置くための理想的な場所は、手元のコンピューターではなく、サーバーに変わりました。ドキュメントをWebサーバーに置き、Webブラウザからインターネット接続して取得することで、ドキュメントの価値そのものが飛躍的に高まりました。
これが、ドキュメントがクラウドに飲み込まれた瞬間だと言えます。このときから、クラウドの膨張は、指数関数的に加速してきました。
2002年に登場した現Amazon Web Servicesは、2006年からストレージサービスのS3と、計算機そのものをネット経由で提供するコンピューティングのEC2という、2つの重要なサービスの提供を開始しました。これによって、メールサーバーやWebサーバーのマシンを買う必要がなくなりました。また、手元で使うコンピューター用のストレージも、コンピューターそのものがクラウドに飲み込まれたので、大きなディスクも、強力なPCも、買い求める必要がなくなってしまいました。
地球全体を覆う、海底光ファイバー網が猛烈な速度で拡張され、また、携帯電話網がデジタル通信の能力を飛躍的に高めたことで、クラウドは、あらゆるデータ、あらゆるアプリケーションを次々と飲み込んでいきます。
2010年には、AWSがEC2において、NVIDIA Fermi GPUを搭載したインスタンスタイプを追加しました。これによって、GPUを利用する3D CADやレンダラー、映像制作ソフトウェアなども、クラウドに飲み込まれました。
2016年頃からは、各種のFPGA(Field-programmable Gate Array)や、GoogleのTPU(Tensor Processing Unit)などの人工知能/機械学習向けの特別なプロセッサ、IBM QやGoogleのQuantum Computing Playgroundといった量子計算機なども、クラウドで利用可能になりました。
このように、クラウドは、あらゆるデータ、あらゆるアプリケーションを、次々と飲み込み続けてきましたが、ビデオゲームだけは、クラウドに飲み込まれることはありませんでした。
ビデオゲームは、他のさまざまなアプリケーションと比べても、毎秒60回、操作に反応して画面を更新したいという、非常に強い要求があります。この要求のために、これまでクラウドは、ゲームを飲み込むことができませんでした。
しかし、2018年現在、AWSだけをとってみても、地球上の18個の地点で高性能のデータセンターが利用可能で、ゲームをプレイできるほぼすべての人口の生活位置からそれぞれ1000km以内をカバーし、極めて高速かつ低遅延な通信が可能になりました。ユーザーに十分近い位置に、クラウドサーバーを置くことが可能になったのです。光ファイバーの能力は、現在も、早いペースで増強され続けています。IPv6によって通信効率が改善し、また数年後には5Gネットワークによって、モバイル通信が現在の有線通信並みに高速化します。
筆者は、そのような高速通信の時代には、いよいよクラウドが、ビデオゲームを飲み込んでしまうのではないかと考えています。クラウドがビデオゲームを飲み込んだら、ゲームの利用者にとっては、ゲームを都度インストールしたり、アップデートする必要がなくなる上に、
- Webページを見るのと同じように、プレイしたいと思ったら、次の瞬間にプレイを始められる
- 途中でやめても、いつでも瞬間的にプレイを再開できる
- ゲームプレイの途中の状態で友達に送る
- 誰かがプレイしている最中のゲームを検索して参加する
など、これまでのゲームにはなかった楽しみ方ができるようになるでしょう。
また、ゲームを作る開発者にとっては、各種のコンピューター向けにゲームを作る必要がなくなり、使い慣れたサーバーマシンで動くゲームを作れば、それを地球上の誰に対しても瞬間的に提供できるようになります。
PCやゲーム機、モバイル端末の機種ごとに移植をする必要がなくなれば、機種ごとに移植層を出力することが基本となっているゲームエンジンの設計も、変わるかもしれません。プログラミング言語やライブラリの構成にも、大きな影響を与えるでしょう。
マルチプレイゲームの実装方法についても、大きく変わることになります。従来、マルチプレイゲームを実装するためには、通信の遅延による問題が起きないように、非同期I/O、ソケット、RPCなどを駆使しながら、不正行為の余地が入り込まないように注意深くプログラミングをする必要がありましたが、その作業が不要になり、今までよりも多くの開発者がマルチプレイゲームの実装に参入できるようになるでしょう。
本書では、ネットワークにつながっているゲームの大きな魅力である、マルチプレイのクラウドゲームの実装について、実際にゲームを制作して評価をするなど、本格的に踏み込んだ解説を行っています。
本書は、クラウドが、まさにこれからゲームを飲み込むかもしれない……! というタイミングで書かれた、クラウドに飲み込まれた後のゲームのしくみと作り方についての本です。
筆者の前著『オンラインゲームを支える技術』は、2011年の時点ですでに確立していた、いわゆる「枯れた技術」を詳しく説明した本でしたが、本書は、これから起きることに焦点を当てた、かなり異なる方向性の本になりました。
読者の皆さんには、これから数年以内に起きるであろう、携帯電話の5Gネットワークをはじめとした通信技術、クラウド技術のさらなる進歩をイメージしながら、これからの時代に対応したゲーム開発を考えてみるきっかけにしていただけたらうれしく思います。
2018年8月