筆者は、XBoxの3世代目(表01)であるXBox Oneまでは、XBoxのハードウェアを購入していた。筆者はゲームコンソール好きというわけではないが、ゲームコンソール用にしか出荷されないゲームソフトがあり、そのためにハードウェアを入手する必要があった。


XBoxシリーズの場合は、「HALOシリーズ」を遊ぶためにハードウェアを購入していた。同シリーズは、簡単にいうと宇宙人を撃ちまくるFPS(First person shooting)ゲームである(表02)。

Microsoftは、2001年にXBoxでゲームコンソールビジネスに参入した。前年に出たPlayStation 2のメディア再生機能が、当時Microsoftが、家庭用メディア再生デバイスとして開発中だった「Windows Media Center」(最初の製品は、2002年にWindows XP用として出荷)普及の障害になるとの考えた。そこで「Windows Media Center」下位レベルの機能持ったゲームコンソールを開発することで、コンソールユーザーにも、マイクロソフトが「Windows Media Center」機能を提供しようと考えた。このため、XBoxには、Windows Media Centerのものによく似たリモコンがオプションで用意された。また、XBox 360では、HD DVDをサポートした。

XBoxシリーズは、実行環境としてWindowsに近いものがあった。もともと、NT系カーネルは、高級言語での記述を想定し、CPUアーキテクチャに依存する部分と、共通で利用できる部分を分離してある。このため、Windows NTは、MIPS、PowerPC、Itanium、x86、x64(x86の64 bit実行環境)などのハードウェア上で動作していた。XBoxは、UNIXのように高級言語で記述されたカーネルを利用することで、ネットワーク機能などの高度な機能をゼロから開発せずに既存のコードを流用して開発期間を短縮できた。

2004年のXBox 360(2世代目)でXNAと呼ばれる開発環境を用意し、PC(Windows)とゲームコンソール(XBoxシリーズ)用のソフトウェアを共通して開発できるようにした。
.NET Framework 2.0と.NET Compact Framework 2.0(組み込み向け.NET Framework)でソフトウェアを記述できるように開発環境を整えた。

XNAには、2002年にXBox SDKに含まれていたXACT(Microsoft Cross-Platform Audio Creation Tool)と呼ばれるオーディオエンジンとライブラリをXNAに統合した。

当時のMicrosoftの基本的なスタンスは、PCゲームとXBoxゲームの開発を同時に行うときの効率を高め、PCゲームの開発者にXBoxゲームの開発を促したいというもの。

ベースにNTカーネルを選んだ(選ばざるを得なかった)XBoxシリーズだが、XBox Oneでは、2015年にWindows 10と同じ実行環境が導入される。もともと、XBox Oneは、CPUが持つ仮想マシン支援機能とMicrosoftのHyper-Vを使い、ゲームの実行だけが可能な「Exclusive」パーティションと、ゲームを起動する前のさまざまな機能を実現するための「Shared」パーティションが動作している。

Hyper-Vは、仮想マシンをパーティションと呼び、その中でゲストオペレーティングシステムを動作させる。詳細に関しては「XBox OneのOSがWindows 10ベースに One Windows化が進む」を参照のこと。

XBox Oneでは、SharedパーティションにWindows 10相当のゲストオペレーティングシステムが導入され、その上でXBox Shellが動作する。また、Sharedパーティション側では、一部のUWPアプリが動作できるようになり、標準のWebブラウザがEdge(今で言うEdge-Legacy)に変更になった。そのほか、当時の標準音楽アプリGroove MusicやSkype、OneDriveアプリなどが動作するようになり、当時のWindows 10との親和性が高くなった。この時点では、Microsoftは、UWPアプリの普及を目指していたため、UWPアプリの実行環境をXBoxに取り込み、開発者にPC+XBoxという市場を見せたかったのだと思われる。また、マイクロソフトとしても、UWPアプリを開発することでXBox側の環境整備も、という色気もあっただろう。


Windows 10側に「XBoxアプリ」(ゲームツールバー)が導入され、XBox Oneで動作しているアプリケーションをWindows 10 PCから表示、操作できるようになった。イメージ的にはXBox Oneゲームの「リモートデスクトップ」機能である。ただし、操作するPC側にXBox One互換のコントローラーが必要だった。

今回のProject Helixでは、XBox側のハードウェアで、マイクロソフト・ゲームコンソール用ゲーム(XBox用ゲーム)と一般的なWindows用に作られたPCゲームの両方を実行可能にする。これまでの動きは、XBoxとPCを近づけようという試みだった。しかし、今回はXBoxゲームコンソールでPCゲームを実行可能にするものだ。

ゲームコンソールの市場に対して、PCゲームの市場は成長率が高いものの規模は半分以下なので、次世代XBoxが大きく成長したとしても、PlayStationと同程度にしかならない。

PCとXBoxのゲーム開発環境を統合し、コンソール側でもPCゲームを実行可能にするということは、XBoxゲームからPCゲームへの転換を容易にする。これにより、マイクロソフトはWindows(PC)ゲーム市場にXBoxゲーム市場を統合させ、PCゲームをメインストリームに持っていきたいと考えているのではないか? これまでも、Windows 10 MobileやWindows CEなどがそれぞれ持っていた市場は、結果的にすべてWindows(PC)に取り込まれた。WindowsがMicrosoft唯一の得意分野であり、ここに引っ張り込めば、世界中にある大量のWindowsマシンが飲み込んでくれる。こうすることで、Microsoftは、PCの進化に乗っていけばいいだけで、ゲームコンソールの開発競争から抜け出し、ソフト開発を主戦場にできるというわけだ。

今回のタイトルネタは、京極夏彦の「魍魎の匣」(もうりょうのはこ)である。
胡乱なことを書くとネタバレしそうなのが、同氏作品毎回のきわどい部分。海野十三の「蠅男」と江戸川乱歩の「押絵と旅する男」を、筆者は思い出したと言うに止めておこう。
編集部おすすめ