ゲーム
論説: コンソール モデルを Windows に導入したのは偶然ではありません。
Windows 10向けの『Gears of War: Ultimate Edition』は、現在利用可能な数少ないUWPゲームの1つです。クレジット:Microsoft Studios
Windows 10向けの『Gears of War: Ultimate Edition』は、現在利用可能な数少ないUWPゲームの1つです。クレジット:Microsoft Studios
Epic Gamesのティム・スウィーニー氏はガーディアン紙に寄稿し、MicrosoftのユニバーサルWindowsプラットフォーム(UWP)はWindows、Windows Mobile、HoloLens、そして間もなくXbox Oneをカバーする共通開発プラットフォームであり、「消滅する可能性があり、消滅すべきであり、消滅しなければならないし、消滅するだろう」と述べています。スウィーニー氏の批判は、UWPがロックダウンされている点にあります。デフォルトでは、UWPアプリはMicrosoftストア経由でのみインストール・購入でき、サンドボックス環境で実行する必要があります。そのため、一部のWindows機能はUWPアプリでのみ利用可能、または将来的に利用可能になる予定です。このように、スウィーニー氏はMicrosoftが「ユーザーがフル機能のPCソフトウェアをインストールする自由を制限し、開発者やパブリッシャーが顧客との直接的な関係を維持する権利を侵害している」と述べています。特にMicrosoftが一部のWindows機能をUWP専用にしていることがその理由です。
スウィーニー氏は、UWPを廃止するか、従来のWin32 APIが「オープン」であるのと同様に「オープン」にすることを望んでいます。これは3つの要素から成ります。まず、UWPアプリがWebからデフォルトでダウンロードおよびインストール可能になること(設定を変更したりサイドローディングを有効にしたりする必要なし)、サードパーティがUWPアプリ用の独自のストアフロントを作成できること、そして開発者がMicrosoftに30%の手数料を取られることなく、常にユーザーに直接販売できることです。
これは主に2つの理由から奇妙な苦情です。1つ目は、UWPのロックダウンは全体としては良いことだということです。2つ目は、現時点ではサードパーティによるダウンロード、サードパーティのストアフロント、サードパーティによる課金を阻止する手段が見当たらないということです。
PCは正直言ってちょっと混乱している
UWPの制限はなぜ価値があるのでしょうか?スウィーニー氏が見落としているように見えるのは、PCプラットフォームが多くの人にとって機能不全であり、実際には多くの人がそれを好んでいないということです。PCの「コンソール化」は、それ以前のスマートフォンのコンソール化と同様に、単にソフトウェア販売の支配権を握りたいという願望から生まれたものではありません。PCをそれほどひどいものではないものにしたいという願望が動機となっているのです。
PCプラットフォームは評判が悪い。様々な種類のマルウェアが蔓延し、優れたソフトウェアでさえも望ましくないスパイウェアがバンドルされている。ソフトウェアアプリケーション同士の互換性の問題や、デバイスドライバとの互換性の問題も抱えている。プログラムは正常にアンインストールされず、残骸があちこちに散らばってしまう。また、アプリケーションごとに独自のパッチ適用とアップデートのインフラストラクチャがあるため、アップグレードも常に行われるわけではない。たとえ全てが正常に動作していたとしても、オペレーティングシステムをアップグレードすると全てが壊れてしまう可能性がある。これらの問題は、プラットフォームを批判する人々によって多少誇張されているかもしれないが、少なくともある程度は事実であり、これらの問題はPC以外のプラットフォームの発展に寄与している。
ゲームコンソールが提供する信頼性 ― 統一されたアップデート、クリーンなアンインストール、ビデオドライバの異常なクラッシュなどの問題がない ― は、長らくPCプラットフォームにとって悩みの種となってきました。多くのゲーマーは、究極の柔軟性とオープン性を犠牲にしても、そのシンプルさと堅牢性を明確に選んでいます。これらのコンソールはすべて門戸が閉ざされたプラットフォームであり、ソフトウェアは特定のコンソール向けに公開される前に、何らかの認定プロセスを通過する必要があります。
スマートフォンはこのモデルをより汎用的なコンピューティングにまで拡張し、ゲーム以外にも適用可能であることを示しています。こうしたアプリストアとして圧倒的な成功を収めているiPhone向けに販売されるアプリは、承認されたAPIを適切に使用していることを確認するための簡単なチェックを受けています。これにより、不正な動作に対する保護が強化され、OSのアップグレードによってアプリが動作しなくなる可能性も低減されるはずです。
このアクセス制限と並行して、サンドボックス化の台頭がありました。これは、ひょっとすると、アプリケーションがシステムに大混乱を引き起こすのを防ぐべきかもしれないという衝撃的な概念です。Windows Vista のユーザー アカウント制御 (UAC) は、おそらくこの方向への小さな一歩だったでしょう。Microsoft は、通常のプログラムを完全かつ制限のない管理者権限で実行することを困難にするという大胆な決断を下しました。数年にわたる躊躇の後、ほとんどのソフトウェア開発者はこれに同意しました。ただし、iPhone に搭載されているサンドボックス化はさらに進んでおり、アプリケーションが互いを認識したり、互いのファイルを操作したりすることを防止し、アクセスできるファイルにも制限があります。OS X の Mac App Store から購入したアプリはこの種の制限の対象であり、Windows ストアの UWP アプリも同様です。
ストアにアクセスするための API レベルのチェックに加え、サンドボックス化により、アプリはアクセスすべきでないものにアクセスできなくなります。
セキュリティ、分離性、互換性、信頼性、そして予測可能性の組み合わせにより、コンソール、スマートフォン、タブレット、さらにはChromebookは、PCと比較して大きな魅力を放っています。スマートフォン、コンソール、そしてChromebookはいずれも成長市場であり、拡大を続けています。Windows PCはそうではありません。これらの分野で認識されている欠陥は、多くのユーザーがPCよりもiPhoneやiPadを好む理由の一つです。iPadは安全で一貫性があり、ユーザーはそれが正しく動作することを確信しています。
従来のPCにはこれらの機能が一切備わっていないため、Microsoftはそれを実現しようとしています。その中心となるのがストアです。UWPはインフラストラクチャの大部分、特にサンドボックス化されたセキュリティとクリーンインストール/アンインストールを提供します。ストアはその他の部分も提供します。アプリの更新やアプリ内課金といったインフラストラクチャを提供するだけでなく、Microsoftが様々な技術ルールを適用できるようにもします。例えば、一部のAPIの使用を禁止したり、特定のシナリオで適切なパフォーマンスを義務付けたり、アプリのクラッシュが多すぎる場合に開発者に通知したりするなどです。Microsoftは、消費者が求めているプラットフォームを提供するために、ストアとUWPの両方を必要としています。ストアをなくせば、プラットフォーム全体のコンセプトが損なわれます。
これらの制限は、あらゆるアプリケーションに適切であるとは限りません。例えば、ソフトウェア開発ツールは、このようなサンドボックス化された安全な世界への適応に苦労します。デバッガーは、サンドボックス化されたアプリ内部にアクセスしたり、異なるユーザー権限で実行されているソフトウェアを検査したりする必要があることがよくあります。ドライバ開発者は、さらに特権的なシステムアクセスを必要とします。PCのような汎用マシンでは、何らかの方法で制限を回避し、完全な制御を得ることが不可欠です。
あらゆるフォーム ファクターに対応する 1 つの Windows プラットフォーム。
あらゆるフォームファクターに対応するWindowsプラットフォーム。クレジット:Microsoft
ゲームは、私たちが本当に望んでいないことを行うことが多い
しかし、ほとんどのソフトウェアはこのような権限を必要としません。実際、ほとんどのソフトウェアにとって、このような権限は機能ではなく、むしろデメリットです。同じPCに保存されている税務記録にゲームがアクセスできることに、メリットはありません。せいぜい何も問題が起きない程度で、最悪の場合、アップデートの失敗やゲームのバグの悪用によって損害を受けるだけです。可能性は低いかもしれませんが、そもそもそのようなことが起こり得る理由はありません。同様に、ゲームはシステムライブラリにアクセスすべきではありません。デバイスドライバをいじくり回して侵入的なDRMソフトウェアをインストールするゲームは、もはや遠い過去のものとなるでしょう。サンドボックス化などの技術によって、ゲーム開発者はこうした望ましくない「追加機能」から距離を置くよう強いられているのです。
同様に、OSのアップグレードによって、正常に動作していたゲームが壊れるという正当な理由はありません。ソフトウェアが奇妙な動作や不正な動作をしていないことを簡単に検証することは良いことです。そうすることで信頼性が維持されます。
Epic Games 創設者 Tim Sweeney。
Epic Gamesの創設者ティム・スウィーニー氏。写真提供:Epic Games
これは仮説ではありません。UACが初めてPCに導入されたのは2007年ですが、開発者たちは長年にわたり、何らかの理由で管理者権限で実行した方が動作が改善するゲームを作り続けてきました。例えば、(悲惨な)2013年版のSimCityと、同年発売のBattlefield 4はどちらも管理者権限で実行した方が動作が改善するという報告が広くあります。これはおそらく、(それぞれ)面倒なアップデータと扱いにくいブラウザプラグインのせいでしょう。このようなことは本来必要のないことです。
ベストプラクティスに従っていないのはゲーム自体だけではありません。例えばValveのSteamは、最初のインストール時を除いて、ゲームのダウンロードやアップデート時に管理者権限を要求されないという点で注目に値します。これには理由があります。インストール時に、インストールディレクトリ全体をシステム上のすべてのユーザーが書き込み可能に設定するからです。つまり、Steamはユーザーによる操作なしにゲームをインストールしたり、アップグレードしたりできますが、同時に、誰でも、何にでも変更できる書き込み可能なデータが大量に存在することになります。
マルチユーザーシステムでは、これは壊滅的な事態を招くでしょう。権限の低いユーザー(例えば子供)が、権限の高いユーザー(例えば親)が実行するプログラムを上書きできることになります。おそらく問題にはならないでしょう…おそらく。しかし、決して良い習慣ではありません。
そこに難点がある。ストアとUWPの制限(と機能)の組み合わせはWindowsをより良いプラットフォームにし、開発者に改善を迫る。スウィーニー氏はストアという側面をなくし、Win32プラットフォームが既にそうであるように、UWPだけを自由に使えるようにしようとしている。これはUWPとストアの組み合わせの価値提案を損なうことになる。マイクロソフトは実際の問題に対処するためにストアとUWPを作成した。これらは気まぐれでも恣意的でもない。PCをより良いプラットフォームにするために設計されたのだ。これらのルールに従うことには価値があり、ゲーム会社は伝統的にルールに従うのが苦手だった。
Xbox Oneが登場すると、この傾向は特に顕著になります。PCの性能向上は、MicrosoftがUWPで実現したいことの一つに過ぎません。重要なのは「ユニバーサル」という部分です。UWPアプリは、様々なシステムで簡単に実行できることが前提となっています。Microsoftは3年近くにわたり、UWP開発者に対し、将来的にはXbox Oneをターゲットにできるようになると約束してきました。今月末に開催されるBuild 2016で、Microsoftはついに開発者と具体的な方法について話し合うことになるでしょう。Windows 10とXbox Oneで開発、配信、ストアのインフラが共有されるため、UWPはゲーム開発者にとってより魅力的なプラットフォームになります。しかし一方で、厳格な技術的制約がさらに重要になります。
PCファンは、オープンプラットフォームであるPCには、常に「危険」という要素が多少なりとも付きまとうと主張するかもしれません。より強力で柔軟性が高い一方で、何か問題が発生するリスクも高くなります。そのため、技術的な制限は適切ではないと言えるでしょう。しかし、コンソールファンでこの意見に賛同する人はいないでしょう。UWPの技術的な制限は、PCでは「あったら便利」かもしれませんが、Xbox Oneにとっては不可欠なものです。Xbox Oneのゲームがルールを破り、システムを台無しにすることは、決して許されません。PC側の制限を緩和すれば、Xbox One側の互換性は損なわれます。
Windowsストアには、より問題となる制限がいくつかあります。開発者は、V-syncを常に有効にしておくことが義務付けられているのは過度に面倒だと述べており、SLIやその他のマルチGPUシステムでは問題が発生しているようです(ただし、Microsoftは動作するはずだと言っています)。また、MOD用の適切なメカニズムも用意されていません。Microsoftはこれらの問題に対する解決策に取り組んでいると述べていますが、具体的な解決策の内容や時期については不明です。
ほとんどの人にとって、UWPとWindowsストアによって課せられる一連の制限は、開発者にとってもエンドユーザーにとっても、ほとんどの場合、良いことです。どちらのグループも、急いでそれらを放棄すべきではありません。
サイドローディングは確かに十分だ
スウィーニー氏の投稿を受けて、マイクロソフトのフィル・スペンサー氏は、UWP は「どのストアでも」サポートできる「完全にオープンなエコシステム」であると主張するツイートを投稿した。
Windows を「オープン」と呼ぶことに異論を唱える人も多いかもしれませんが、技術的には確かにその通りです。Windows には、UWP アプリの使用方法を制御するための大きなスイッチが 3 つの設定で用意されています。最も厳格な設定は Windows 10 の出荷当初のデフォルト設定で、ストアからのアプリのインストールのみが許可されます。中間の設定では、どこからでも UWP アプリをサイドロードできます。つまり、Microsoft ストア以外のアプリを有効化するのにも使えるということです。アプリにはデジタル署名が必要ですが、システムが信頼する任意の証明書で署名できます。3 つ目のオプションは開発者モードで、サイドロードだけでなく、デバッグなどの開発者向け機能も利用できます。
このサイドロード設定は私たちが明確に推奨してきたものであり、Windows 10 に追加されたことを嬉しく思います。Windows 10 11月のアップデート バージョン 1511 では、さらに一歩進んでこの設定がデフォルトになりました。プラットフォームとしての PC は完全なパワーを維持し、ユーザーは実行できるものとできないものを完全に制御できますが、システムはデフォルトで十分に安全です。このオプションを有効にすると、直接ダウンロード、サードパーティストア、サードパーティ販売がすべて可能になり、例えばすべてのゲームに独自の署名を持つ、UWP 対応の Steam が実現可能になります。
Webからダウンロードしたアプリでも同じように動作させるのは簡単です。アプリのインストーラーに適切な証明書をシステムに追加させるだけです。
これにより、サードパーティはスウィーニー氏の要望を実現するために必要なツールを手に入れることができます。そして、サードパーティストアの役割は確かに存在します。マイクロソフトのルールは単なる技術的なものにとどまりません。例えば、特定の種類のアダルトコンテンツも禁止しており、「ブルーロー」のないサードパーティストアも容易に想像できます。コンテンツ制限のないストア、異なる購入メカニズムを備えたストア、あるいは独自のフレンドシステムや実績システムを備えたストアがあれば、UWPはより多くの開発者にとって魅力的なものになるでしょう。
しかし、たとえこれらのサードパーティストアがサイドローディング機能を活用するために実現したとしても、Microsoftがストアに設定した技術的制限に従うべきだと私たちは考えています。これにより、他のUWPプラットフォームへの移植性が向上し、ゲームがシステムを自由に支配する時代は終わりを告げるでしょう。これは私たち全員が望むべきことです。
リスト画像: Microsoft Studios
538件のコメント