(57)【特許請求の範囲】
【請求項１】
デモンストレーション版及び完全版の両方として利用可能なプログラムを実行するエンタテイメント装置であって、
ネットワークを介して遠隔装置と通信するネットワーク通信器と、
前記プログラムの前記完全版を同様に実行している遠隔装置と対話するように動作可能な、該プログラムの該完全版を実行するためのプログラムコード及びプログラムリソースと、
前記プログラムの前記デモンストレーション版にいずれのプログラムリソースが提供されているか、又はいずれのプログラムリソースが前記プログラムの前記デモンストレーション版と互換性を有するかを分類するプログラムリソース分類器と、
前記遠隔装置が前記プログラムの前記デモンストレーション版を実行中である場合に、前記プログラムリソース分類器を用いて、前記プログラムの前記デモンストレーション版に提供されているプログラムリソース又は前記プログラムの前記デモンストレーション版と互換性を有するプログラムリソースを識別し、プログラムリソースの使用を前記識別されたプログラムリソースに制限し、前記制限されたプログラムリソースを使用して前記エンタテイメント装置の前記プログラムを実行する実行部と、
を備えるエンタテイメント装置。
【請求項２】
請求項１に記載のエンタテイメント装置であって、
前記プログラムの前記完全版は、
前記遠隔装置上で実行中の前記プログラムの前記デモンストレーション版と対話するために、実質的に該プログラムの該デモンストレーション版として実行されるエンタテイメント装置。
【請求項３】
請求項１又は２に記載のエンタテイメント装置であって、
前記プログラムリソース分類器は、
前記プログラムにより使用され、プログラムリソースをロードするか、又は他の様式でプログラムリソースに対して動作するローディングスクリプトを備え、
該ローディングスクリプトは、
各前記プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かの指示を含むエンタテイメント装置。
【請求項４】
請求項１又は２に記載のエンタテイメント装置であって、
前記プログラムリソース分類器は、
各プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かの指示を含む参照テーブルを備えるエンタテイメント装置。
【請求項５】
請求項１又は２に記載のエンタテイメント装置であって、
前記プログラムリソース分類器は、
各プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かについて、該リソース内に埋め込まれる指示を含むエンタテイメント装置。
【請求項６】
請求項１から５のいずれか一項に記載のエンタテイメント装置であって、
遠隔装置ランク付け器を備え、
前記エンタテイメント装置により交信される１つ又は複数の遠隔装置が、前記プログラムの前記完全版を実行しているか、又は前記プログラムの前記デモンストレーション版を実行しているかに応答してランク付けされるエンタテイメント装置。
【請求項７】
請求項１から６のいずれか一項に記載のエンタテイメント装置であって、
前記遠隔装置は、サーバとして動作しているエンタテイメント装置。
【請求項８】
請求項１から６のいずれか一項に記載のエンタテイメント装置であって、
前記遠隔装置は、
前記エンタテイメント装置とピアツーピア様式で通信している別のエンタテイメント装置であるエンタテイメント装置。
【請求項９】
請求項１から８のいずれか一項に記載のエンタテイメント装置であって、
前記プログラムの完全リテール版又は該プログラムのデモンストレーション版をホストするように動作可能なサーバと、
サーバステータスリポータと
を備え、
前記サーバステータスリポータは、
前記サーバが、現在、完全サーバとして動作しているか、又は、デモサーバとして動作しているかを報告するように動作可能であるエンタテイメント装置。
【請求項１０】
請求項１から９のいずれか一項に記載のエンタテイメント装置であって、
前記プログラムは、テレビゲームであるエンタテイメント装置。
【請求項１１】
サーバであって、
ネットワークを介して遠隔装置と通信するネットワーク通信器と、
ホストされるプログラムの完全版を実行している遠隔装置と対話するように動作可能な、該プログラムの該完全版を実行するためのプログラムコード及びプログラムリソースと、
前記プログラムのデモンストレーション版にプログラムリソースが提供されているか、又はプログラムリソースが前記プログラムの前記デモンストレーション版と互換性を有するかを分類するプログラムリソース分類器と、
前記プログラムの前記完全版又は前記デモンストレーション版を選択するモード選択器と、
前記モード選択器が前記プログラムの前記デモンストレーション版を選択した場合、前記プログラムの前記デモンストレーション版を実行している前記遠隔装置と対話するように、前記プログラムリソース分類器を用いて、前記プログラムの前記デモンストレーション版に提供されているプログラムリソース又は前記プログラムの前記デモンストレーション版と互換性を有するプログラムリソースを識別し、プログラムリソースの使用を前記識別されたプログラムリソースに制限し、前記制限されたプログラムリソースを使用して前記サーバの前記プログラムを実行する実行部と、
を備えるサーバ。
【請求項１２】
請求項１１に記載のサーバであって、
前記プログラムの前記完全版は、
前記遠隔装置上で実行中の前記プログラムの前記デモンストレーション版と対話するために、実質的に該プログラムの該デモンストレーション版として実行されるサーバ。
【請求項１３】
請求項１１又は１２に記載のサーバであって、
前記サーバによりホストされる前記プログラムの前記完全版は、完全サーバ版であるサーバ。
【請求項１４】
請求項１１から１３のいずれか一項に記載のサーバであって、
前記遠隔装置によりホストされる前記プログラムの前記完全版は、完全クライアント版であるサーバ。
【請求項１５】
請求項１１から１４のいずれか一項に記載のサーバであって、
前記モード選択器は、
完全モード又はデモモードを選択するユーザインタフェースを備えるサーバ。
【請求項１６】
請求項１１から１４のいずれか一項に記載のサーバであって、
前記モード選択器は、
完全モードで動作すべきか、又は、デモモードで動作すべきかについてマスタサーバから命令を受信する受信器を備えるサーバ。
【請求項１７】
請求項１１から１４のいずれか一項に記載のサーバであって、
前記モード選択器は、
前記遠隔装置からリソース選択要求を受信する受信器と、
このような要求の閾値レベルが完全モードでの動作を要とする否かを判断する閾値処理器（thresholder）と
を備えるサーバ。
【請求項１８】
請求項１１から１４のいずれか一項に記載のサーバであって、
前記モード選択器は、
遠隔装置の閾値割合分が前記プログラムの前記完全版をサポートするか否かを判断する閾値処理器を備えるサーバ。
【請求項１９】
請求項１１から１８のいずれか一項に記載のサーバであって、
他のサーバと通信するネットワーク通信器を備え、
前記モード選択器は、
前記サーバをデモモードから完全モードに切り替えさせ、
前記サーバは、
現在デモモードで動作中の他のサーバをポーリングして、前記プログラムの前記デモンストレーション版のみを含む前記サーバのクライアントを収容するための空きがあるか否かを判断し、前記サーバのクライアントのうちの幾人か、又は、全員を一緒に前記他のサーバのうちの１つに移すように構成されるサーバ。
【請求項２０】
プログラムの完全版を実行するエンタテイメント装置の対話方法であって、
前記エンタテイメント装置が、前記プログラムをホストしている遠隔装置にアクセスするステップと、
前記エンタテイメント装置が、前記遠隔装置が前記プログラムのデモンストレーション版をホストしている場合に、前記プログラムの前記完全版を実行するためのプログラムリソースのうちいずれが、前記プログラムの前記デモンストレーション版に必要とされるかを分類するプログラムリソース分類情報にアクセスするステップと、
前記エンタテイメント装置が、前記プログラムリソース分類情報に基づいて、前記プログラムの前記デモンストレーション版の実行に必要なプログラムリソースを識別し、プログラムリソースの使用を前記識別したプログラムリソースに制限し、前記制限されたプログラムリソースを使用して前記エンタテイメント装置の前記プログラムを実行するステップと
を含む対話方法。
【請求項２１】
請求項２０に記載の対話方法であって、
前記プログラムリソース分類情報にアクセスするステップは、
前記プログラムリソースをロードするか、又は、前記プログラムリソースに対して他の様式で動作するために、前記プログラムにより使用されるローディングスクリプトにアクセスすることを含み、
前記ローディングスクリプトは、
各前記プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かの指示を含む対話方法。
【請求項２２】
請求項２０に記載の対話方法であって、
前記プログラムリソース分類情報にアクセスするステップは、
各プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かの指示を含む参照テーブルにアクセスすることを含む対話方法。
【請求項２３】
請求項２０に記載の対話方法であって、
前記プログラムリソース分類情報にアクセスするステップは、
各プログラムリソースが前記プログラムの前記デモンストレーション版により必要とされるか否かについて、該リソース内に埋め込まれる指示にアクセスすることを含む対話方法。
【請求項２４】
請求項２０から２３のいずれか一項に記載の対話方法であって、
前記エンタテイメント装置が、前記プログラムの完全版として実行されているか、又は前記プログラムのデモンストレーション版として実行されているかに応答して、前記装置により交信される１つ又は複数の遠隔装置をランク付けるステップを含む対話方法。
【請求項２５】
請求項２０から２４のいずれか一項に記載の対話方法であって、
前記遠隔装置は、サーバとして動作している装置である対話方法。
【請求項２６】
請求項２０から２５のいずれか一項に記載の対話方法であって、
前記遠隔装置は、前記装置とピアツーピア様式で通信している別の装置である対話方法。
【請求項２７】
プログラムの完全版を実行するサーバの対話方法であって、
前記サーバが、前記プログラムを実行する完全モード又はデモンストレーションモードの選択を受ける選択ステップと、
前記サーバが、前記デモンストレーションモードの選択を受けた場合に、前記プログラムの前記完全版を実行するためのプログラムリソースのうちいずれが、前記プログラムのデモンストレーション版に必要とされるかを分類するプログラムリソース分類情報にアクセスするステップと、
前記サーバが、前記プログラムの前記デモンストレーション版を実行している遠隔装置と対話するように、前記プログラムリソース分類情報に基づいて、前記プログラムの前記デモンストレーション版の実行に必要なプログラムリソースを識別し、プログラムリソースの使用を前記識別したプログラムリソースに制限し、前記制限されたプログラムリソースを使用して前記サーバの前記プログラムを実行するステップと
を含む対話方法。
【請求項２８】
請求項２７に記載の対話方法であって、
前記サーバによりホストされる前記プログラムの前記完全版は、完全サーバ版である対話方法。
【請求項２９】
請求項２７または２８に記載の対話方法であって、
前記遠隔装置によりホストされる前記プログラムの前記完全版は、完全クライアント版である対話方法。
【請求項３０】
請求項２７から２９のいずれか一項に記載の対話方法であって、
前記選択ステップは、
完全モード又はデモモードを選択するユーザインタフェースを生成することを含む対話方法。
【請求項３１】
請求項２７から２９のいずれか一項に記載の対話方法であって、
前記選択ステップは、
完全モードで動作すべきか、又は、デモモードで動作すべきかについてマスタサーバから指示を受信することを含む対話方法。
【請求項３２】
請求項２７から２９のいずれか一項に記載の対話方法であって、
前記選択ステップは、
リソース選択要求を前記遠隔装置から受信すること、及び、このような要求の閾値レベルが完全モードでの動作を必要とするか否かを判断することを含む対話方法。
【請求項３３】
請求項２７から２９のいずれか一項に記載の対話方法であって、
前記選択ステップは、
遠隔装置の閾値割合分が前記プログラムの前記完全版をサポートするか否かを判断することを含む対話方法。
【請求項３４】
請求項２０から３３のいずれか一項に記載の方法のステップをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンタテイメント装置及び方法に関する。
【背景技術】
【０００２】
ソフトウェアの見込みユーザが、例えば、ソフトウェアが所望の機能を実行するか否か、他のソフトウェアとの互換性を有するか否か、自分のコンピュータの構成上で実行されるか否か、又は（特にゲームの場合）使用を楽しめるか否かを判断するために、ソフトウェアを購入する前にそのソフトウェアを試すことを望むことは一般的である。
【０００３】
このため、ユーザがまず、購入前にソフトウェアを無料で試せるソフトウェアの配布モデルが発生した。これらの配布モデルは、異なる市場を満足させる「完全コード」配布又は「部分コード」配布に分類することができる。
【０００４】
完全コード配布は一般に、いわゆる「ナグウェア」方式及び「シェアウェア」方式の形態をとる。
【０００５】
ナグウェアは一般に、完全コードを提供するが（一般に必要とされるすべての機能が無制限で提供されるという点で）、また、オプション機能を追加、又は単なるリマインダの除去をするアップグレードの購入をユーザに勧めるリマインダ画面又は初期ダイアログボックス等の不便さを加える。このような配布モデルは、例えば、WinZip（非特許文献１）又はRealPlayer（非特許文献２）等、市場シェアでの優位性がビジネスモデルにとって不可欠であるアプリケーションの典型である。
【０００６】
シェアウェアも一般に完全プログラムコードを提供するが、その使用を何等かの様式で制限する。例えば、プログラムは完全に使用できるが、特定の日数のみ、又は特定の使用回数のみ機能する。代替的に、完全プログラムは時間制限されず、プログラム出力の保存等のいくつかの重要な機能が無効にされる。シェアウェアは通常、例えば、ウェブページからのダウンロードを介するような、配布の手段が限られている小規模ベンダーにより使用される。
【０００７】
通常、ユーザインタフェースを介してプログラムに入力されるか、又はオペレーティングシステムのレジストリに追加される主要コードをアクティブ化することと引き換えにベンダーに料金を支払うことにより、しつこいメッセージ若しくは時間制限が取り除かれるか、又は主要機能がロック解除される。
【０００８】
しかし、ナグウェア及びシェアウェアは両方とも、必要なすべてのソフトウェアが潜在的に利用可能であるため、無制限な形態に復元するようにハッキングすることが比較的容易である。大半の小規模ベンダーの場合、ハッキングが普及する危険性は非常に小さい。大規模ベンダーの場合、ナグウェア及びシェアウェアの配布は、追加リリースを頻繁に行うことにより、レジストリキーを変更することにより、且つユーザのオンライン登録を求めることにより、ハッカーに対抗しようとする。これらの対策はハッカーを抑制し得るが、ユーザにとって不便でもある。
【０００９】
これとは対照的に、一般に追加リリースがなく、ハッキングを試みられる危険性が高い、ゲーム等の知名度の高いソフトウェアの場合、完全なゲームコードを無料で配布し、それから、後に上記方法を通して支払いを取り戻そうとする見込みは魅力に欠ける。
【００１０】
実際に、海賊版のターゲットとなりやすいソフトウェアは通常、上記配布モデルに対して不利に作用する対策を利用している。例えば、大半のゲームでは、プレイするために、インストールディスクが物理的に存在することが必要とされると共に、ゲームのインスタンスを一意に識別可能にするために、インストールプロセス中にその特定のディスクに関連付けられる一意のコードを入力する必要がある。多くの場合、インストールディスクは、あらゆる形態の複製を困難にするように製造される。
【００１１】
さらに、ゲームベンダーは一般に、部分コードのみを含むゲームのデモンストレーション版をリリースする。このようなコードは通常、完全なゲームエンジン（グラフィカルレンダリングシステム及びユーザインタフェース）を含むが、完全なゲームの内容（すなわち、ゲームエンジンによりレンダリングされ、実際にゲームを構成する環境）のわずかな割合のみを含む。
【００１２】
このようにして、ソフトウェアベンダーは、デモが完全なゲームコードを含まないため、ハッカーが完全なゲームをデモから抽出できないことを確実にすることができる一方で、見込み購入者は完全なゲームのわずかな部分を評価することができる。
【００１３】
その結果、ゲームの完全リテール版には上で概説したような海賊版に対抗する任意の所望の対策を実施可能でありながら、ゲームのデモ版を自由に流通させることができる。その結果、ゲームのリテール版の最初のリリース時には、デモンストレーション版が完全版を数の上で大幅に上回って流通している可能性が高い。逆に、配布者が後に、デモを（例えば、マガジンディスク上に）再リリースすることにより販売を再活性化することを望む場合には、潜在的に、リテール版が数の上でそのデモを上回る。最終的には、リテール版のリリース後、或るかなりの時間が経つと、少数の完全版又はデモ版のインスタンスのみが依然として流通し得る。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】http://www.winzip.com/
【非特許文献２】http://uk.real.com/player/
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明の実施の形態は、ゲームのデモ版とリテール版との流通におけるこのような不均衡を軽減して、特定のゲームカテゴリでのより小さな配布グループのユーザ経験を向上させることができることを認識する。
【課題を解決するための手段】
【００１６】
本発明の実施の形態では、完全リテールゲームの初期採用者（ファン及び批評家を含む）が、デモプレーヤの既存のオンライン人口を十分に有利に利用して、オンラインゲーム経験を高める一方、古いデモをプレイするゲームの後期採用者が、完全リテールゲームのプレーヤの既存のオンライン人口を十分に利用することができる。
【００１７】
オンラインテレビゲーム（例えば、Counter-Strike等の一人称視点のオンラインコンバットゲーム）に関連する問題は、ゲーム経験が、そのゲームをプレイ中の人々をすでに有し、プレイを実際的にするために十分に高速な応答時間（この応答時間は「ピング」又は「ラグ」と呼ばれる）を有するオンラインゲームサーバを見つけることに依存することである。ゲームを商業的に成功させるためには、必要不可欠数のオンラインプレーヤが一般に必要とされる。
【００１８】
ゲームによっては、利用可能なサーバを集中管理して、供給と需要とを均衡にすることにより、この問題を軽減するものもあれば、コンピュータ制御される非プレーヤキャラクタ（「ボット」と呼ばれる）を提供して、プレーヤの見掛け数を増大させるものもある。しかし、これらの解決策は、限られた数のサーバではユーザにとって遅く、結果として高いピング率及び無応答プレイになるため、又はボットが下手な対戦者若しくは逆に上手すぎる対戦者であるため、一般に不十分であるとみなされる。不十分にプログラムされたボットは多くの場合、遮蔽物を探す等の自然な挙動を表示せず、したがって、満足のいく対戦者ではないが、それと同時に高精度の射撃手でもある。これは、人間の操作による殺傷率とコンピュータ制御される殺傷率との統計的均衡を与え得るが、実際にプレイするプレーヤにとって苛立たせるものである。
【００１９】
本発明の実施の形態は、ゲームの広く流通した無料デモをプレイするユーザの人口が、ゲームの完全リテール版を購入するユーザの人口よりも先に、そのようなオンラインプレーヤの必要不可欠数に達し得るため、ゲームの完全リテール版及びゲームのデモ版を一緒にオンラインでプレイできるようにし、それにより、完全リテール版が、確立されたデモユーザベースを十分に利用できるようにすることを理解する。
【００２０】
本発明の様々な各態様及び特徴は、添付の特許請求の範囲に規定される。従属クレームからの特徴の組み合わせは、明示的に記載されているクレームのみならず、適宜、独立クレームの特徴と組み合わせることが可能である。
【００２１】
ここで、本発明の実施の形態を、添付図面を参照して例として説明する。
【図面の簡単な説明】
【００２２】
【図１】エンタテイメント装置の概略図である。
【図２】セルプロセッサの概略図である。
【図３】ビデオグラフィックスプロセッサの概略図である。
【図４】本発明の実施形態によるオンラインマルチプレーヤゲームシステムの概略図である。
【図５Ａ】本発明の実施形態によるゲームエンジンの概略図である。
【図５Ｂ】本発明の実施形態によるゲームエンジンの概略図である。
【図６】本発明の実施形態によるソフトウェア対話方法のフロー図である。
【発明を実施するための形態】
【００２３】
本発明の実施形態例の概要では、パーソナルコンピュータ又はソニー（登録商標）（Sony（R））プレイステーション３（登録商標）（Playstation 3（R））エンタテイメント装置等のエンタテイメント装置に、ゲームの完全リテール版がロードされる。実行されると、ゲームは、ピング及び／又は人口によりランク付けされ、完全ゲーム版をサポートしているか、又はデモ版をサポートしているかを示すようにマークされたサーバリストをユーザに提示する。ユーザが、デモプレーヤをホストしているサーバでプレイすると決定した場合（例えば、そのサーバがかなり高速のピングを有するか、又は他よりも多い人口を有するため）、ゲームの完全リテール版は、それ自体をデモ版で利用可能な機能のみの実施に制限する。例えば、これは、デモ版のゲーム内特徴に準拠するようなナビゲーション可能な環境のサイズの制限又はアクセス可能なゲーム内リソース（武器、サウンド効果、キャラクタクラス、又はファクション（faction）等）の数若しくは種類の制限を含み得る。デモ版と互換性を有する構成要素は、ファイル内フラグにより、ゲーム内のデータベース若しくはテーブルを参照することにより、構成ファイルを参照することにより、又はサーバから送信されるデータにより、識別することができる。複数のデモ版がリリースされる場合、複数のデモプロファイルをこのようにして符号化することができる。
【００２４】
ユーザがデモプレーヤの人口をオンラインゲームに利用できるようにすることに加えて、これは、ゲームの口コミによる勧めも促進する。すなわち、第１の人物がゲームの完全リテール版を有し、そのゲームの魅力を友人に伝えた場合、その友人は、第１の人物とプレイすることができるそのゲームの無料デモンストレーション版をダウンロードすることができる。これは、ゲームを一緒に完全にプレイできるように、友人もゲームを購入することを促進する。
【００２５】
ここで図１を参照すると、本発明の実施形態では、エンタテインメント装置は、ソニー（登録商標）（Sony（R））プレイステーション３（登録商標）（Playstation 3（R））（ＰＳ３（登録商標））である。図１は、ソニー（登録商標）（Sony（R））プレイステーション３（登録商標）（Playstation 3（R））エンタテインメント装置の全体的なシステムアーキテクチャを概略的に示す。システムユニット１０には、該システムユニットに接続可能なさまざまな周辺デバイスが設けられる。
【００２６】
システムユニット１０は、セルプロセッサ１００、ラムバス（登録商標）（Rambus（R））ダイナミックランダムアクセスメモリ（XDRAM）ユニット５００、専用ビデオランダムアクセスメモリ（VRAM）ユニット２５０を有するリアリティシンセサイザ（Reality Synthesiser）グラフィックスユニット２００、及びＩ／Ｏブリッジ７００を備える。
【００２７】
また、システムユニット１０は、ディスク４４０から読み出しを行うためのブルーレイ（登録商標）（Blu Ray（R））ディスクビーディーロム（登録商標）（BD-ROM（R））光ディスクリーダ４３０及び着脱可能スロットインハードディスクドライブ（HDD）４００も備える。ＨＤＤ４００は、Ｉ／Ｏブリッジ７００を通じてアクセス可能である。オプションとして、システムユニットは、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）（Memory Stick（R））メモリカード等を読み出すためのメモリカードリーダ４５０も備える。メモリカードリーダ４５０も、同様に、Ｉ／Ｏブリッジ７００を通じてアクセス可能である。
【００２８】
Ｉ／Ｏブリッジ７００は、４つのユニバーサルシリアルバス（USB）２．０ポート７１０、ギガビットイーサネット（登録商標）ポート７２０、IEEE802.11b/g無線ネットワーク（Wi-Fi）ポート７３０、及び最大７つまでのブルートゥース（登録商標）（Bluetooth（R））接続をサポートできるブルートゥース無線リンクポート７４０にも接続している。
【００２９】
動作中、Ｉ／Ｏブリッジ７００は、１つ又は複数のゲームコントローラ７５１からのデータを含めて、すべての無線データ、ＵＳＢデータ、及びイーサネット（登録商標）データをハンドリングする。例えば、ユーザがゲームをプレイしている時、Ｉ／Ｏブリッジ７００は、ブルートゥースリンクを介してゲームコントローラ７５１からデータを受信し、そのデータをセルプロセッサ１００に移動させる。セルプロセッサ１００は、それに従ってゲームの現在の状態を更新する。
【００３０】
無線ポート、ＵＳＢポート、及びイーサネット（登録商標）ポートは、ゲームコントローラ７５１に加えて、リモコン７５２、キーボード７５３、マウス７５４、ソニープレイステーションポータブル（登録商標）（Sony Playstation Portable（R））エンタテインメント装置等のポータブルエンタテインメント装置７５５、アイトイ（登録商標）（EyeToy（R））ビデオカメラ７５６等のビデオカメラ、及びマイクロホンヘッドセット７５７等の他の周辺デバイス用の接続性も提供する。したがって、このような周辺デバイスは、原則として、システムユニット１０に無線で接続することができる。例えば、ポータブルエンタテインメント装置７５５は、Ｗｉ−Ｆｉアドホック接続を介して通信できる一方、マイクロホンヘッドセット７５７は、Bluetoothリンクを介して通信することができる。
【００３１】
これらのインタフェースを設けることは、Playstation 3デバイスが、デジタル・ビデオレコーダ（DVRs）、セットトップボックス、デジタルカメラ、ポータブルメディアプレイヤ、ボイスオーバーＩＰ電話、移動電話、プリンタ、及びスキャナ等の他の周辺デバイスとも潜在的な互換性を有することを意味する。
【００３２】
加えて、ＵＳＢポート７１０を介してレガシーメモリカードリーダ４１０をシステムユニットに接続することもでき、プレイステーション（登録商標）（Playstaion（R））デバイス又はプレイステーション２（登録商標）（Playstation 2（R））デバイスによって使用される種類のメモリカード４２０の読み出しが可能になる。
【００３３】
本実施形態では、ゲームコントローラ７５１は、ブルートゥースリンクを介してシステムユニット１０と無線で通信するように動作可能である。しかしながら、ゲームコントローラ７５１は、代わりにＵＳＢポートに接続することもでき、それによって、ゲームコントローラ７５１のバッテリを充電するための電力を提供することもできる。１つ又は複数のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、各軸における平行移動及び回転に対応する６つの自由度の動きに反応する。その結果、ゲームコントローラのユーザによるジェスチャ及び動きを、従来のボタン又はジョイスティックのコマンドに加えて又はこれに代えてゲームへの入力として変換することができる。オプションとしてプレイステーション・ポータブルデバイス等の他の無線対応周辺デバイスをコントローラとして使用することもできる。プレイステーション・ポータブルデバイスの場合、追加のゲーム情報又は制御情報（例えば、制御命令又はライブ数）をデバイスの画面上に設けることができる。ダンスマット（図示せず）、ライトガン（図示せず）、ステアリングホイール及びペダル（図示せず）、又は即答クイズゲーム（同様に図示せず）用の単一又はいくつかの大きなボタン等の特注のコントローラ等、他の代替的な制御デバイス又は補助的な制御デバイスも使用することができる。
【００３４】
リモコン７５２も、ブルートゥースリンクを介してシステムユニット１０と無線で通信するように動作可能である。リモコン７５２は、ブルーレイディスクビーディーロムリーダ４３０の操作に適した制御手段及びディスクコンテンツのナビゲーションに適した制御手段を備える。
【００３５】
ブルーレイディスクビーディーロムリーダ４３０は、従来の事前に記録されたＣＤ及び記録可能ＣＤ並びにいわゆるスーパーオーディオＣＤに加えて、プレイステーションデバイス及びプレイステーション２デバイスと互換性のあるＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ４３０は、従来の事前に記録されたＤＶＤ及び記録可能なＤＶＤに加えて、プレイステーション２デバイス及びプレイステーション３デバイスと互換性のあるＤＶＤ−ＲＯＭを読み出すようにも動作可能である。リーダ４３０は、さらに、従来の事前に記録されたブルーレイディスク及び記録可能ブルーレイディスクだけでなく、プレイステーション３デバイスと互換性のあるＢＤ−ＲＯＭを読み出すように動作可能である。
【００３６】
システムユニット１０は、ディスプレイ３０５及び１つ又は複数のスピーカ３１０を有するモニタ又はテレビセット等の表示・音響出力デバイス３００へのオーディオコネクタ及びビデオコネクタを通じて、リアリティシンセサイザグラフィックスユニット２００を介してプレイステーション３デバイスにより生成又は復号されるオーディオ及びビデオを供給するように動作可能である。オーディオコネクタ２１０は、従来のアナログ出力及びデジタル出力を含むことができる一方、ビデオコネクタ２２０は、コンポーネントビデオ出力、Ｓビデオ出力、コンポジットビデオ出力、及び１つ又は複数の高精細マルチメディアインタフェース（HDMI）出力をさまざまに含むことができる。その結果、ビデオ出力は、PAL又はNTSC等のフォーマットにすることもできるし、720p、1080i、又は1080pの高精細にすることもできる。
【００３７】
オーディオ処理（生成、復号等）は、セルプロセッサ１００によって行われる。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）（Dolby（R））５．１サラウンドサウンド、ドルビー（登録商標）（Dolby（R））シアターサラウンド（DTS）、及びブルーレイ（登録商標）（Blu-Ray（R））ディスクからの７．１サラウンドサウンドを復号したものをサポートする。
【００３８】
本実施形態では、ビデオカメラ７５６は、イントラ画像ベースのＭＰＥＧ（モーションピクチャエキスパートグループ）標準規格等、システムユニット１０による復号に適切なフォーマットで圧縮ビデオデータを送信できるように、単一の電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、及びハードウェアベースのリアルタイムデータ圧縮・符号化装置を備える。カメラＬＥＤインジケータは、例えば不都合な照明条件（adverse lighting condition：逆光条件）を示すシステムユニット１０からの適切な制御データに応答して照明するように構成されている。ビデオカメラ７５６の実施形態は、ＵＳＢ通信ポート、ブルートゥース通信ポート、又はＷｉ−Ｆｉ通信ポートを介してシステムユニット１０にさまざまに接続することができる。ビデオカメラの実施形態は、１つ又は複数の関連付けられたマイクロホンを含むことができ、また、オーディオデータを送信できる場合もある。ビデオカメラの実施形態では、ＣＣＤは、高精細ビデオキャプチャに適した解像度を有することができる。使用中、ビデオカメラによって捕捉された画像は、例えば、ゲーム内に組み込むこともできるし、ゲーム制御入力として解釈することもできる。
【００３９】
一般に、システムユニット１０の通信ポートの１つを介したビデオカメラ又はリモコン等の周辺デバイスとのデータ通信を成功させるために、デバイスドライバ等の適切なソフトウェアが提供されるべきである。デバイスドライバ技術は、既知であり、ここでは、デバイスドライバ又は同様のソフトウェアインタフェースが、説明される本実施形態で必要とされ得ることを当業者は認識するであろうと言う以外には、詳細に説明しない。
【００４０】
次に図２を参照すると、セルプロセッサ１００は、４つの基本構成要素を備えるアーキテクチャを有する。この４つの基本構成要素は、メモリコントローラ１６０及びデュアルバスインタフェースコントローラ１７０Ａ、１７０Ｂを備える外部入力構造及び外部出力構造と、パワー処理要素（Power Processing Element）１５０として参照されるメインプロセッサと、相乗演算処理要素（ＳＰＥ）１１０Ａ〜１１０Ｈとして参照される８つのコプロセッサと、要素相互接続バス１８０として参照される上記構成要素を接続する循環データバスとである。セルプロセッサの総浮動小数点性能は、プレイステーション２デバイスのエモーションエンジンの6.2GFLOPSと比較して、218GFLOPSである。
【００４１】
パワー処理要素（PPE）１５０は、3.2GHzの内部クロックで動作する双方向同時マルチスレッディングパワー９７０準拠のパワーＰＣ（PowerPC）コア（PPU）１５５に基づいている。ＰＰＥ１５０は、512kBのレベル２（L2）キャッシュ及び32kBのレベル１（L1）キャッシュを備える。ＰＰＥ１５０は、１クロックサイクル当たり８つの単一位置演算（single position operation）が可能であり、3.2GHzで25.6GFLOPSに換算される。ＰＰＥ１５０の第１の役割は、相乗演算処理要素１１０Ａ〜１１０Ｈのコントローラとして機能することである。相乗演算処理要素１１０Ａ〜１１０Ｈは、計算作業負荷のほとんどをハンドリングする。動作中、ＰＰＥ１５０は、相乗演算処理要素１１０Ａ〜１１０Ｈのジョブをスケジューリングしてそれらのジョブの進行を監視するジョブキューを保持する。その結果、各相乗演算処理要素１１０Ａ〜１１０Ｈは、カーネルを動作させる。カーネルの役割は、ジョブのフェッチ、ジョブの実行、及びＰＰＥ１５０との同期である。
【００４２】
各相乗演算処理要素（SPE）１１０Ａ〜１１０Ｈは、それぞれの相乗演算処理ユニット（SPU）１２０Ａ〜１２０Ｈ及びそれぞれのメモリフローコントローラ（MFC）１４０Ａ〜１４０Ｈを備える。それぞれのＭＦＣ１４０Ａ〜１４０Ｈは、それぞれのダイナミックメモリアクセスコントローラ（DMAC）１４２Ａ〜１４２Ｈ、それぞれのメモリ管理ユニット（MMU）１４４Ａ〜１４４Ｈ、及びバスインタフェース（図示せず）を備える。各ＳＰＵ１２０Ａ〜１２０Ｈは、3.2GHzでクロック制御され且つ原理的には4GBに拡張可能な256kBローカルＲＡＭ１３０Ａ〜１３０Ｈを備えるＲＩＳＣプロセッサである。各ＳＰＥは、理論的な25.6GFLOPSの単精度性能を与える。ＳＰＵは、単一のクロックサイクルで４つの単精度浮動小数点数、４つの３２ビット数、８つの１６ビット整数、又は１６個の８ビット整数に対して処理を行うことができる。同じクロックサイクルで、ＳＰＵは、メモリ操作も行うことができる。ＳＰＵ１２０Ａ〜１２０Ｈは、システムメモリＸＤＲＡＭ５００に直接アクセスしない。ＳＰＵ１２０Ａ〜１２０Ｈによって形成される６４ビットアドレスが、ＭＦＣ１４０Ａ〜１４０Ｈに渡され、ＭＦＣ１４０Ａ〜１４０Ｈが、自身のＤＭＡコントローラ１４２Ａ〜１４２Ｈに、要素相互接続バス１８０及びメモリコントローラ１６０を介してメモリにアクセスするように命令する。
【００４３】
要素相互接続バス（EIB）１８０は、上記プロセッサ要素、すなわち、ＰＰＥ１５０、メモリコントローラ１６０、デュアルバスインタフェース１７０Ａ、１７０Ｂ、及び８つのＳＰＥ１１０Ａ〜１１０Ｈの合計１２個の関連要素を接続するセルプロセッサ１００の内部の論理的循環通信バスである。これらの関連要素は、１クロックサイクル当たり８バイトのレートで、バスの読み出し及びバスへの書き込みを同時に行うことができる。前述したように、各ＳＰＥ１１０Ａ〜１１０Ｈは、より長い読み出しシーケンス又は書き込みシーケンスをスケジューリングするためのＤＭＡＣ１４２Ａ〜１４２Ｈを備える。ＥＩＢは４つのチャネルを備え、時計回りの方向及び反時計回りの方向にそれぞれ２つのチャネルがある。その結果、１２個の関連要素について、任意の２つの関連要素間の最長のステップワイズデータフロー（step-wise data-flow）は、適切な方向で６ステップである。したがって、１２個のスロットに対する理論的ピーク瞬時ＥＩＢ帯域幅は、関連要素間のアービトレーションを通じた完全利用の場合に、１クロック当たり96Bである。これは、3.2GHzのクロックレートにおける307.2GB/s（１秒当たりのギガバイト）の理論的ピーク帯域幅と同等である。
【００４４】
メモリコントローラ１６０は、ラムバス社によって開発されたＸＤＲＡＭインタフェース１６２を備える。このメモリコントローラは、25.6GB/sの理論的ピーク帯域幅を有するラムバスＸＤＲＡＭ５００と相互作用する。
【００４５】
デュアルバスインタフェース１７０Ａ、１７０Ｂは、ラムバスフレックスアイオー（登録商標）（Rambus Flex IO（R））システムインタフェース１７２Ａ、１７２Ｂを備える。このインタフェースは、それぞれが８ビット幅である１２個のチャネルに編成され、５つのパスはインバウンドであり、７つのパスはアウトバウンドである。これによって、コントローラ１７０Ａを介したセルプロセッサとＩ／Ｏブリッジ７００との間、及び、コントローラ１７０Ｂを介したセルプロセッサとリアリティシミュレータグラフィックスユニット２００との間で、62.4GB/s（36.4GB/sのアウトバウンド、26GB/sのインバウンド）の理論的ピーク帯域幅が提供される。
【００４６】
セルプロセッサ１００によってリアリティシミュレータグラフィックスユニット２００へ送信されるデータは、通常、表示リストを備える。この表示リストは、頂点の描画、ポリゴンへのテクスチャの適用、照明条件の指定等を行うコマンドシーケンスである。
【００４７】
次に図３を参照して、リアリティシミュレータグラフィックス（RSX）ユニット２００は、セルプロセッサ１００によって生成されるコマンドのリストを処理及びレンダリングするアヌヴィディア（登録商標）（NVidia（R））Ｇ７０／７１アーキテクチャに基づくビデオアクセラレータである。ＲＳＸユニット２００は、セルプロセッサ１００のバスインタフェースコントローラ１７０Ｂと通信するように動作可能なホストインタフェース２０２と、８つの頂点シェーダ２０５を備える頂点パイプライン２０４（VP）と、２４個のピクセルシェーダ２０７を備えるピクセルパイプライン２０６（PP）と、８つのレンダ出力ユニット（ROPs）２０９を備えるレンダパイプライン２０８（RP）と、メモリインタフェース２１０と、ビデオ出力を生成するためのビデオ変換器２１２とを備える。ＲＳＸ２００は、600MHzでクロック制御され且つ25.6GB/sの理論的ピーク帯域幅でＲＳＸ２００とインタフェースするように動作可能な256MBダブルデータレート（DDR）ビデオＲＡＭ（VRAM）２５０によって補完される。動作中、ＶＲＡＭ２５０は、フレームバッファ２１４及びテクスチャバッファ２１６を保持する。テクスチャバッファ２１６は、ピクセルシェーダ２０７にテクスチャを提供する一方、フレームバッファ２１４は、処理パイプラインの結果を記憶する。ＲＳＸは、ＥＩＢ１８０を介してメインメモリ５００にアクセスして、例えば、テクスチャをＶＲＡＭ２５０にロードすることもできる。
【００４８】
頂点パイプライン２０４は、主として、レンダリングされる画像内のポリゴンを規定する頂点の変形（deformation）及び変換（transformation）を処理する。
【００４９】
ピクセルパイプライン２０６は、主として、あらゆるピクセル透明度を含めて、これらのポリゴンへの色、テクスチャ、及び照明の適用を処理し、処理される各ピクセルに対する赤、緑、青、及びアルファ（透明度）の値を生成する。テクスチャマッピングは、グラフィック画像を表面に単に適用する場合もあるし、バンプマッピング（表面の概念方向（notional direction））が、テクスチャ値に従って摂動され、照明モデルの明るい表示及び陰影が作成される）又はディスプレースメントマッピング（適用されたテクスチャが頂点位置をさらに摂動させて、テクスチャと一致する変形された表面が生成される）を含む場合もある。
【００５０】
レンダパイプライン２０８は、ピクセル間の深さ比較を行い、いずれが最終画像にレンダリングされるべきかを判断する。オプションとして、介在するピクセルプロセスが深さ値に影響を与えない場合（例えば、透明度又はディスプレースメントマッピングがない場合）、レンダパイプライン及び頂点パイプライン２０４は、それらの間で深さ情報を通信することができ、それによって、ピクセル処理よりも前に、遮蔽された要素の除去が可能になり、したがって、全体的なレンダリング効率が改善される。加えて、レンダパイプライン２０８は、結果の画像にわたって、全画面アンチエイリアシング等のその後の効果も適用する。
【００５１】
頂点シェーダ２０５及びピクセルシェーダ２０７の双方は、シェーダモデル３．０標準規格に基づいている。１クロックサイクル当たり最大１３６回までのシェーダ演算を行うことができ、したがって、結合されたパイプラインは、毎秒７４８億回のシェーダ演算が可能であり、毎秒最大８億４０００万個の頂点及び１００億個のピクセルの出力が可能である。ＲＳＸ２００の総浮動小数点性能は、1.8TFLOPSである。
【００５２】
通常、ＲＳＸ２００は、セルプロセッサ１００と密接に連携して動作する。例えば、爆発、又は雨若しくは雪等の気象効果を表示するとき、多数の粒子をシーン内で追跡、更新、及びレンダリングしなければならない。この場合、セルプロセッサのＰＰＵ１５５は、粒子のそれぞれの群の軌道を計算するように１つ又は複数のＳＰＥ１１０Ａ〜１１０Ｈをスケジューリングすることができる。その間に、ＲＳＸ２００は、要素相互接続バス１８０、メモリコントローラ１６０、及びバスインタフェースコントローラ１７０Ｂを介してメインシステムメモリ５００から、ビデオＲＡＭ２５０に現在保持されていないいずれかのテクスチャデータ（例えば、雪片）にアクセスする。そのＳＰＥ又は各ＳＰＥ１１０Ａ〜１１０Ｈは、自身が計算した粒子の特性（通常、位置及び姿勢を示す座標及び法線）をビデオＲＡＭ２５０に直接出力する。そのＳＰＥ又は各ＳＰＥ１１０Ａ〜１１０ＨのＤＭＡコントローラ１４２Ａ〜１４２Ｈは、バスインタフェースコントローラ１７０Ｂを介してビデオＲＡＭ２５０をアドレス指定する。したがって、実際には、割り当てられたＳＰＥは、タスクの継続期間の間、ビデオ処理パイプラインの一部となる。
【００５３】
一般に、ＰＰＵ１５５は、利用可能な８つのＳＰＥのうちの６つにこのようにしてタスクを割り当てることができ、１つのＳＰＥはオペレーティングシステム用に確保される一方、１つのＳＰＥは効率的にディセーブルされる。１つのＳＰＥをディセーブルすることによって、１つのＳＰＥが製造プロセスで不合格になることが許容されるので、セルプロセッサの製造中、より大きな許容レベルが提供される。代替的に、８つのすべてのＳＰＥが機能している場合、８番目のＳＰＥは、セルプロセッサの寿命期間中に、他のＳＰＥの１つがその後に故障した場合の冗長性の余地を提供する。
【００５４】
ＰＰＵ１５５は、いくつかの方法でＳＰＥにタスクを割り当てることができる。例えば、ＳＰＥを共に連鎖させて、ＤＶＤ、ビデオ、及びオーディオの復号並びにエラーマスキングへのアクセス等の複雑な操作の各ステップを別々のＳＰＥに割り当てて、それらの各ステップをハンドリングすることができる。代替的に又は加えて、上記粒子アニメーションの例のように、入力データ上で並列に動作するように２つ以上のＳＰＥを割り当てることもできる。
【００５５】
セルプロセッサ１００及び／又はＲＳＸ２００によって実施されるソフトウェア命令は、製造時に供給して、ＨＤＤ４００に記憶することができ、且つ／又は、光ディスク若しくはソリッドステートメモリ等のデータキャリア若しくは記憶媒体で、若しくは有線ネットワーク、無線ネットワーク、若しくはインターネット接続等の伝送媒体を介して、若しくはこれらの組み合わせを介して供給することができる。
【００５６】
製造時に供給されるソフトウェアは、システムファームウェア及びプレイステーション３デバイスのオペレーティングシステム（OS）を含む。動作中、ＯＳは、ユーザがゲームのプレイ、音楽を聞くこと、写真の鑑賞、又はビデオの鑑賞を含むさまざまな機能の中から選択することを可能にするユーザインタフェースを提供する。このインタフェースは、機能のカテゴリーが水平方向に配置されたいわゆるクロスメディアバー（XMB）の形態を取る。ユーザは、所望の機能アイコンを強調表示するために、ゲームコントローラ７５１、リモコン７５２、又は他の適した制御デバイスを使用して水平方向に（機能を表す）機能アイコンを移動することによってナビゲートする。この強調表示の時点で、その機能に関係するオプションが、その機能アイコンを中心として垂直方向にスクロール可能なオプションアイコンのリストとして現われる。この垂直方向にスクロール可能なオプションアイコンのリストも、類似の方法でナビゲートすることができる。一方、ゲーム、オーディオ、又は映画のディスク４４０がＢＤ−ＲＯＭ光ディスクリーダ４３０に挿入された場合、PlayStation 3デバイスは、（たとえば、ゲームを開始することによって）適切なオプションを自動的に選択することもできるし、（たとえば、オーディオディスクのプレイ又はそのコンテンツのＨＤＤ４００への圧縮を選択するための）関連のあるオプションを提供することもできる。
【００５７】
加えて、ＯＳは、オンライン能力も提供する。このオンライン能力は、ウェブブラウザ、追加のゲームコンテンツ、デモンストレーションゲーム（デモ）、及び他のメディアをダウンロードすることができるダウンロード元のオンラインストアとのインタフェース、並びに友人管理能力を含む。友人管理能力は、例えば利用可能な周辺デバイスに応じてテキスト、オーディオ、又はビデオによる、現在のデバイスのユーザによってノミネートされた他のプレイステーション３デバイスユーザとのオンライン通信を提供する。このオンライン能力によって、適切に構成されたゲームのプレイ中にオンライン通信、コンテンツダウンロード、及びコンテンツ購入も提供され、また、プレイステーション３デバイス自体のファームウェア及びＯＳの更新も提供される。「オンライン」という用語は、さまざまなタイプの無線接続にも該当し得るので、ワイヤの物理的な存在を暗に意味するものでないことが理解されよう。
【００５８】
ここで図４を参照すると、ゲーム３０００（図５Ａ及び図５Ｂに示す）の完全リテール版を実行中のプレイステーション３システムユニット１０は、オンラインサーバ１０１０に接続される。追加のプレイステーション３  ２０１０、２０２０、及び２０３０もオンラインサーバに接続され、ゲーム３０００のデモ版を実行している。より多数又はより少数のプレイステーションをサーバに随時接続することもでき、３台が単に説明のためのものであることが理解されるであろう。
【００５９】
サーバ１０１０は、ゲームのデモ版のサーバをホストし、ゲームのデモを実行中のプレイステーションは、従来通りにオンライン接続し、オンラインでプレイする。
【００６０】
ここで図５Ａも参照すると、ゲーム３０００はゲームエンジン３０１０を備える。これは、主要ゲーム実行ファイルであり、通常、グラフィクスプロセッサにシーンをレンダリングするように命令する手段、このようなシーンを生成するために必要なリソースを選択的にロードする手段、シーンのコンピュータ制御される構成要素（例えば、非プレーヤキャラクタ、物理学シミュレーションを受ける物体等）を更新する手段、及びコントローラ７５１等のユーザ入力を介してプレーヤ制御される構成要素（プレーヤキャラクタ等）を更新する手段を備える。
【００６１】
そして、シーンを生成するために選択的にロードされるリソースは通常、プレーヤキャラクタモデル３０２０Ａ〜３０２０Ｃ、一般サウンド効果３０３０Ａ〜３０３０Ｃ、及びキャラクタ挙動情報（キャラクタモデルのスクリプトに書かれた顔の表情、リップシンクデータ、及び手足アニメーション等）３０４０Ａ〜３０４０Ｃ等の、すべてのレベルで共通の一般リソースを含む。これらのリソースに加えて、そのレベル３０５０Ａ〜３０５０Ｃ並びに３０７０Ａ及び３０７０Ｂに固有又はそれらのレベル内に出現する（featured）敵モデル並びに背景環境（例えば、都市空間、森林等）３０６０Ａ及び３０６０Ｂ、並びに３０８０Ａ及び３０８０Ｂを提供する環境マップ及びテクスチャ等のレベル固有のリソースもロードされる。一般に、レベルは必要に応じてロードされ、メモリ使用を低減するために、オプションとして、所与のレベルに対する環境マップをセクション内にロードし得る。
【００６２】
レベル固有のサウンド、特定のビジュアル効果を実施するためのレベル固有のグラフィックスシェーダ、及び敵が環境内で動作することができる場所を定義する移動路、又はプレーヤキャラクタ間若しくは非プレーヤキャラクタ間のスクリプトに書かれた対話等のレベル固有のキャラクタ挙動等の他のリソースが当業者に明らかであろう。他のリソースは、動的リンクライブラリ及びデモ版に含まれていないゲームの態様に関連付けられる他の補足的な実行可能コードを含み得る。
【００６３】
ここで図５Ｂを参照すると、本発明の実施形態では、リソースは、ゲームのデモ版にも提供されるか否かに応じて、条件的に選択的にロードされる。
【００６４】
図５Ｂの例では、完全ゲームを実行中のプレイステーション３システムユニット１０は、ゲームのデモ版をホストするサーバに接続されると、キャラクタモデル＃１  ３０２０Ａのみがロードされる（例えば、デモ版は、プレーヤが属することができる３つのファクションのうちの１つのみを扱うためである）。その結果、使用されないキャラクタモデルのうちの１つに固有のキャラクタアニメーション／挙動３０４０Ｃも必要ない。
【００６５】
例を続けると、ゲームのデモ版は、（例えば）ゲームの第１のレベルの第１の部分のみをサポートする。この第１の部分は、そのレベルのすべての敵モデルタイプ３０５０Ａ〜３０５０Ｃを扱うが、使用する必要があるのは、環境マップ３０６０Ａの第１の部分のみである。マップの選択を各ゲームインスタンスでの使用に提供される、構造化されたレベル進化を辿らない他のゲーム型の場合（例えば、Counter-Strikeと同様のゲーム）、デモ版によりサポートされるマップのみが選択可能であることが理解されるであろう。
【００６６】
本発明の実施形態では、通常使用される完全ゲームリソースのサブセットの条件付き選択は、このようなリソースをゲームエンジンにロードせず（若しくはこのようなリソースをエンジンに関連付けず、この場合、エンジンは単に、グラフィックスカード若しくはサウンドカード上の専用プロセス等の、他の専用プロセスによるこのようなリソースの使用を調整する）、且つ／又は一旦ロード若しくは関連付けられてからこのようなリソースの使用をディセーブルする形態とすることができる。使用される技法は、リソースがどのように符号化され、記憶されるか（例えば、環境マップ毎に別個のファイルにより、選択的にロードすることができるものであってもよく、一方で、いくつかのキャラクタテクスチャを含む単一のテンプレートイメージのすべてがロードされる必要があるが、選択的に使用される）に依存し得る。デモモード又は完全モードのいずれかでプレイされるゲームを開発する当業者が、このようなプロセスを容易にするようにリソースを適宜分割し得ることが理解されるであろう。ゲームエンジン自体が、ゲームの完全版により要求される追加機能に対応するように変更された場合、この追加機能は、ゲームエンジンがデモゲームモードで動作しているか、又は完全ゲームモードで動作しているかを条件とする。
【００６７】
本発明の実施形態では、完全ゲームのいずれのリソースがデモ版と互換性を有するかの識別は、ゲームエンジン３０１０により実行されるローディングスクリプトにより提供される。ローディングスクリプトは、ゲームリソースをロードするか、又はゲームリソースに基づいて他の様式で動作する（例えば、テクスチャをグラフィックスハードウェアに関連付ける）明示的な命令を含むプログラムコードの形態をとることができ、この場合、命令は、リソースがデモンストレーション版との互換性を有するか否かを条件とされ、又は代替的に、ローディングスクリプトは、プログラムにより解析される一連のファイルパス、及びファイルパスにより表されるリソースがデモンストレーション版との互換性を有するか否かについての追加情報が追加された他の情報である。したがって、ローディングスクリプトは、完全リテール版及びデモ版として実行される両方の場合にレベルをロードする際に、いずれのリソースが必要とされるかをゲームエンジンに教える。代替的に、デモ版との互換性が求められる場合、デモ版との互換性を有するリソースのみを識別する別個のローディンスクリプトを使用してもよい。
【００６８】
本発明の実施形態では、デモ版との互換性を示すフラグは、リソースデータ自体の中に組み込まれ、他の点では従来通りのローディングスクリプトに従う場合にチェックされる。
【００６９】
本発明の実施形態では、リソース及びリソースのデモ版との互換性を列挙した別個のテーブルが提供され、標準のローディングスクリプトが実行される際にチェックされる。オプションとして、このテーブルは、プレイステーション３が接続されたサーバからダウンロードされるか、又はプレイステーション３が接続されたサーバにより補強され、追加のリソースを識別できるようにする（例えば、オンラインゲームによっては、サーバホストによりテクスチャ及びサウンドのカスタマイズが可能なものがあり、ゲームがサーバに接続すると、テクスチャ及びサウンドがプレイステーション３等のクライアント装置にダウンロードされる）。
【００７０】
ゲームに行われた変更を反映するために、上述したように、デモと互換性がないリソースを必要とするオプションをグレー表示するか、又は提示しないことで、ユーザインタフェース（例えば、スタートメニュー及び構成オプション）も、前述の方法でデモと互換性を有するリソースに合わせる（上の例では、この結果、通常は利用可能なキャラクタファクションのうちの２つを選択できず、ゲームマップのサブセットのみが選択可能であり得る）。
【００７１】
異なるリソースの組み合わせを必要とする異なるデモがリリースされ得ることが理解されるであろう。したがって、複数のフィールドを適宜ローディングスクリプト、テーブル、又はリソースデータにおいて使用して、異なるデモを識別することができる。
【００７２】
別々に設計されたゲームのバージョンが、対応するデモと共にリリースされる場合（例えば、ドイツでリリースされたゲームのバージョンは、人間ではない敵を使用する可能性が高く、国内法に従うためにいくつかのゲーム要素が省かれるかもしれない）、同じソフトウェアリリースの完全版及びデモ版とは対照的に、ソフトウェアの異なるリリース間のいかなる互換性の問題も、本発明の範囲外であることが理解されるであろう。同様に、異なるプラットフォーム（例えば、ＰＣ、エックスボックス360（登録商標）（Xbox360（R））、プレイステーション３（登録商標）（Playstation3（R）））用にゲームの複数のバージョンがリリースされる場合、異なるプラットフォームリリース間のあらゆる互換性の問題も、本発明の範囲外である。しかし、ゲームがプラットフォーム間で互換性を有するように開発された場合、原理上、或るプラットフォーム上のゲームの完全リテール版が、本明細書において説明される本発明の実施形態により別のプラットフォーム上のゲームのデモ版と対話可能なことが理解されるであろう。
【００７３】
ゲームの存続期間を通じ、多くの場合、ゲームの完全リリースから生じる様々なバグ、ハードウェア互換性問題、及びゲームプレイ問題に対処するためにパッチが発行されることが理解されるであろう。同様に、時折、ゲームのデモリリースから生じる様々なバグ、ハードウェア互換性問題、及びゲームプレイ問題に応じて、リリース前変更がゲームの完全リテール版に対して行われる。場合によっては、パッチは、もはやゲームのデモ版と互換性がなくなるように、完全リリースゲームの一部分を変更してもよい。この場合、パッチ前リソースを、デモ版との使用のために保管することができ、又はパッチは、ゲームが使用するリソース互換性リスト又はフラグを必要に応じて更新することができる。
【００７４】
まれに、パッチは、オンラインゲームがプレイされるプロトコルを変更してもよい。これは、完全リテールゲームを全体的に、デモ版と互換性がないようにし得る。しかし、一般に、開発者は、ゲームの完全リテール版のすべてのプレーヤがパッチを適用しない限り、ゲームのパッチが適用されたリテールコピーとパッチが適用されていないリテールコピーとの間にも互換性問題が生じることになるため、開発者はこのような変更を避けようとする。
【００７５】
ゲームの完全リテール版を実行中のプレイステーション３システムユニット１０は一般に、両方がゲームサーバを介して対話しない限り、別のＰＳ３（２０１０、２０２０、２０３０）上で実行中のゲームのデモ版と、対話することはない。
【００７６】
オンラインゲームは一般に、ゲーム中のクライアントマシン間のプレーヤの移動情報を調整し、ゲーム持続時間等のゲームの特徴を定義するグローバルパラメータを設定し、ゲーム環境が可変の場合には、ゲーム環境の選択を調停する（例えば、ユーザが次のゲームのマップを推薦することができ、他の人々がそのマップに投票することができ、サーバが多数決を実施する）サーバによりホストされる。異なるゲームのサーバは、別様に動作し得るが、何等かの様式で、各プレーヤが共有ゲーム環境内に存在する他の人々と対話するために必要な情報を調整する。
【００７７】
本発明の実施形態では、プレイステーション３システムユニット１０は、マスタサーバリストに当分野において既知の方法でアクセスすることにより、適切なサーバを探索する。マスタサーバリストは一般に、ゲームの発行元によりホストされるマスタサーバにより保持され、すべての登録サーバのＩＰアドレスを列挙する。このリストは、ＰＳ３と同じ地理的領域（即ち、国）内のサーバのみを考慮するように、まず（サーバ又はＰＳ３のいずれかによって）フィルタリングすることができる。ＰＳ３は次に、各サーバにアクセスして、現在の状態についての情報の取得を試み、結果に基づいてサーバをランク付けする。
【００７８】
通常、サーバは、サーバに接続された場合のゲームの応答性を示すピング又はラグに従ってランク付けされ、高いピング又はラグは他のプレーヤとの正確な対話を難しくする。さらに、サーバは、占拠レベルによりランク付けすることができる。例えば、ゲームがマップ上に最高で１６人のプレーヤをホストするように構成された場合、占拠度が１０人を超えるサーバは、ほんの一握りのプレーヤのみの占拠度を有するサーバよりも好ましい可能性が高い。これは、ほんの一握りのプレーヤのみの占拠度を有するサーバでは、マップが空に感じられ、他のプレーヤとの頻繁な対話を達成することが難しいことがあるためである。さらに、サーバは、プレイ中の現在のマップ等のさらなる情報を提供することもできる。
【００７９】
本明細書に説明したようにゲームのデモ版及び完全リテール版の両方を同じサーバでプレイできるようにすることは、そのゲームの完全リテールコピーの所有者がデモプレーヤの既存のオンラインコミュニティを利用でき、且つその逆も同じにするように、平均マップ占拠度の増大に役立つ。
【００８０】
当然ながら、ユーザは時折、デモによりサポートされていない構成内で特にプレイすることを望むことがある（本明細書で進行中の例では、ユーザが、デモではサポートされていないファクションのメンバとしてプレイすることを望む場合、又はデモでは提供されないマップ内でプレイすることを望む場合）。この場合、接続先のサーバを探索している場合、デモサーバを格下げするか、又はランキングから除去することが望ましい。
【００８１】
したがって、本発明の実施形態では、ピング及び占拠データに加えて、ゲームサーバは、自身がゲームのデモ版をホストしているのか否かを示す。この情報は、ランキング結果をフィルタリングして、ゲームの完全リテール版をサポートしているサーバが全体ランキングリストのさらに下にある場合であっても、そのサーバを積極的に選択するために使用することができる。
【００８２】
異なるランキング方法を利用してもよいことが当業者には明らかであろう。例えば、ゲームの完全リテール版をホストしているサーバを全体ランキングの上に向けてバイアスすることができる。さらに、バイアスは、特定数の完全ゲームサーバがランキングリストのトップ１０内に表されるまで増大させることができ、それにより、サーバタイプの明確な選択をユーザに自動的に提供する。代替的に、完全ゲームサーバ及びデモサーバの並列ランキングを提供してもよく、ここでも、ゲームの両版の占拠度及びピングを単純に比較することができる。
【００８３】
オンラインマルチプレーヤ構成要素を有するゲームのデモ版及び完全リテール版は通常、ゲーム自体及びゲームコード内に統合されたサーバソフトウェアを備える。これにより、任意のユーザが、自身のマシンをサーバとしてセットアップすることができる。実際には、場合によっては、ゲームアーキテクチャは、サーバモデルに基づき、ゲームのコンピュータ制御されるボットがサーバに「ログイン」してユーザとプレイできるように、統合ゲームサーバがオフラインモードで使用される（例えば、コンピュータがオンラインに接続されてない場合）。このことは、ローカルプレーヤとリモートプレーヤとの区別をなくすことにより、ゲームコードを簡易化する。
【００８４】
サーバソフトウェアをゲームのデモ版又は完全リテール版とパッケージすることの動機は、多数の潜在的なサーバをユーザに提供することである。ランキングシステムは、異なる地理的エリア又はネットワークエリア及び異なる時間帯にあるユーザが、随時、これらのサーバのうちのわずかな比率のサーバに集中する傾向を有することを意味するが、より高いレベルの冗長性、サービスの偏在性、及びより低い平均ピング時間を全体的に可能にする。
【００８５】
ゲームのデモ版は、原理上、サーバの完全リテール版をホスト可能であり得るが、そのためデモの所有者は、ホストされるゲームのいくつか又はすべての可能な変形でプレーヤとして参加することができない。したがって、これは実際には起こりそうにない状況であり、ゲームサーバのデモ版は、デモ版のみをオンラインでサポートする可能性が高い。
【００８６】
ゲームの完全リテール版は、完全リテールサーバ又はデモサーバとして動作可能である。ユーザはプリファレンスを設定してもよく、又はユーザは、プリファレンスをマスタサーバにより設定させてもよい。この場合、サーバは、サーバがオンラインであることをマスタサーバに通知し、オンラインプレーヤの構成を報告する。次に、マスタサーバは、ゲームのデモ版又は完全リテール版に対する需要がサーバの分布に反映されているか否かを判断することができる。代替的に又は加えて、サーバは、誰が参加したかに従ってモードを切り替えることができ、参加した最初のプレーヤがゲームのデモ版を実行している場合、サーバはデモサーバとして動作する。閾値割合を超える数のプレーヤがゲームの完全版を実行中である場合、サーバは完全リテールフォーマットへの切り替えをオファーし、現在のプレーヤが投票できるようにする。同様に、プレーヤの大半が、完全リテール版のみに提供されるリソース（例えば、特定のマップ）を必要とするゲームのバージョンのプレイに投票した場合、サーバはモードを完全リテール版に切り替えることができる。
【００８７】
プレーヤの大半が、ゲームの完全リテール版への移行又は完全リテール版のみで提供されるゲームオプションに投票した場合、オプションとして、サーバ・サーバ転送プロトコルを介してデモプレーヤをグループとして別のデモサーバに移すことができる。サーバ・サーバ転送プロトコルでは、サーバは他のデモサーバをポーリングして、いずれが、移す必要があるプレーヤを収容するのに十分な占拠度を有するかを判断し、ピングが最小のものを選択する。一般に、これはしたがって、新たなサーバに移るプレーヤのピングが比較的低いことも意味する。オプションとして、この選択は、ゲームのデモ版に基づくデモサーバに制限し、それにより、第２のサーバが投票で締め出される可能性をなくすことができる。
【００８８】
したがって、多種多様なサーバ構成、すなわち、デモソフトウェアに基づくデモサーバ、完全リテールソフトウェアに基づくデモサーバ、及び完全リテールソフトウェアに基づく完全サーバが可能である。完全リテールソフトウェアに基づくデモサーバは、実施形態により、ユーザプリファレンス、マスタサーバプリファレンス、又はプレーヤ投票プリファレンスにより、明示的に変更されるまで、又はセッションベースでそのように設定することができる。
【００８９】
インターネット上でサーバとして動作中の或る装置に加えて、ローカルエリアネットワーク上で動作中又はピアツーピア様式で通信中の装置等の他の変形が存在することが理解されるであろう。
【００９０】
完全ゲームサーバが、完全ゲームと同様にして互換性のあるリソースを決定し利用することが理解されるであろう。
【００９１】
全体的にゲーム専用のサーバが別個に存在し得ることも理解される。ゲームのメーカがゲームサーバを運営してもよく、これらのサーバは、完全版又はデモ版のゲームのサーバ要素を含み得る。さらに、これらのサーバはＰＳ３上で実行される必要はなく、それに代えて、例えば、ＰＣベースであってもよい。したがって、ソフトウェアのクライアント版又はエンドユーザ版（上述したようにサーバソフトウェア自体を含むこともできる）に加えて、ソフトウェアの専用サーバ版を提供し得る。しかし、依然として同じ原理が当てはまり、サーバコードは、原理上、デモのみのバージョン又は本明細書において説明したようにデモ版として動作するように切り替えることができる完全版であることができる。
【００９２】
ここで図６を参照すると、ソフトウェア対話の方法は、コンピュータのプログラムの完全リテール版を、プレイステーション３等の適した計算装置にインストールする第１のステップｓ１０を含む。第２のステップｓ２０において、コンピュータプログラムの制御下にあるプレイステーション３は、ソフトウェアのデモ版をホストしているサーバにアクセスする。第３のステップｓ３０において、コンピュータプログラムは、ローディングスクリプト又は同様の参照にアクセスして、デモ版内に存在することを示すリソースに関連付けられたフラグを解析することにより、デモ版が必要とするコンピュータプログラムのためのこれらのさらなるリソースが判断される。第４のステップｓ４０において、コンピュータプログラムは、最終的なオンライン構成において、デモ版と互換性のあるリソースを含むため、コンピュータプログラムの完全リテール版のユーザが、コンピュータプログラムのデモ版のユーザと、及びその逆に対話できるようにする。
【００９３】
上記で開示した装置の様々な実施形態の動作に対応する上記の方法の変形であって、
−サーバが完全モードで実行されているか、又はデモモードで実行されているかに応答してサーバのランキングを生成すること、
−完全モードか、又はデモモードに変更可能なコンピュータプログラム内にサーバを組み込むこと、
−このようなサーバが、クライアント装置により交信されたとき、完全モードであるか、又はデモモードであるかを報告すること、
を含むが、これらに限定されない変形が本発明の範囲内にあるとみなされることが当業者には理解されるであろう。
【００９４】
本発明の実施形態では、ソフトウェアの対話の方法の要素及び動作装置の実施が、再プログラミング、又はクライアント若しくはサーバとして動作している１つ又は複数のプレイステーション３等の１つ又は複数の装置内の１つ又は複数の１つ又は複数のプロセッサにより実施され得ることも理解されるであろう。したがって、従来の同等の装置の既存部分に対して必要な適合は、フロッピー（登録商標）ディスク、光ディスク、ハードディスク、ＰＲＯＭ、ＲＡＭ、フラッシュメモリ、又はこれら若しくは他の記憶媒体の任意の組み合わせ等のデータキャリアに記憶されているか、或いはイーサネット（登録商標）、無線ネットワーク、インターネット、又は他のネットワークのうちのこれらの任意の組み合わせ等のネットワーク上のデータ信号を介して伝送されるか、或いはＡＳＩＣ（特定用途向け集積回路）若しくはＦＰＧＡ（フィールドプログラマブルゲートアレイ）、又は従来の同等の装置の適合における使用に適した他の構成可能回路としてハードウェア内に実現される、プロセッサ実施可能命令を備えたコンピュータプログラム製品の形態で実施され得る。
【図１】
0005570421.tif 000002
【図２】
0005570421.tif 000003
【図３】
0005570421.tif 000004
【図４】
0005570421.tif 000005
【図５Ａ】
0005570421.tif 000006
【図５Ｂ】
0005570421.tif 000007
【図６】
0005570421.tif 000008