(57)【特許請求の範囲】
【請求項１】
第１のユーザによるゲームのプレイ中に当該ゲームのプレイ内容を表す動画像を当該第１のユーザとは異なる第２のユーザが利用するクライアントに配信する配信手段と、
前記動画像の配信中に前記第２のユーザが利用するクライアントから前記ゲームの実行要求を受け付ける実行要求受付手段と、
前記第１のユーザによりプレイされるゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる前記動画像の再生位置に基づいて特定されるゲーム状況データを取得するゲーム状況データ取得手段と、
前記ゲーム状況データ取得手段により取得されるゲーム状況データが示す状況から、前記第２のユーザがプレイする前記ゲームを実行するゲーム実行手段と、
を含むことを特徴とする情報処理システム。
【請求項２】
前記実行要求受付手段が、既にプレイされたゲームのプレイ内容を表す動画像の再生中に、当該動画像の再生位置に対応付けられる、ゲームの実行要求を受け付ける、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ゲーム状況データ取得手段が、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置に基づいて特定されるゲーム状況データを取得する、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記ゲーム状況データ取得手段が、前記記憶手段に記憶されているゲーム状況データの少なくとも一部のうちの、関連付けられている再生位置が、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置に最も近いゲーム状況データを取得する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記ゲーム状況データ取得手段が、関連付けられている再生位置が示すタイミングが、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置が示すタイミング以前である前記記憶手段に記憶されているゲーム状況データのうちのいずれかを取得する、
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記ゲーム状況データ取得手段が、前記記憶手段に記憶されているゲーム状況データのうちの、関連付けられている再生位置が示すタイミングが、前記ゲームの実行要求の際に再生されていた前記動画像に含まれるフレーム画像の再生位置が示すタイミングから所定の時間だけ遡ったタイミングに最も近いゲーム状況データを取得する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項７】
前記記憶手段が、前記ゲームの進行段階に対応するゲームステージの開始時におけるゲーム状況データを含んでおり、
前記ゲーム状況データ取得手段が、前記実行要求に対応付けられる再生位置に対応するゲームステージの開始時におけるゲーム状況データを取得する、
ことを特徴とする請求項１から６のいずれか一項に記載の情報処理システム。
【請求項８】
前記ゲームの実行中に、当該実行中のゲームの現況を示す前記ゲーム状況データを生成するゲーム状況データ生成手段、をさらに含む、
ことを特徴とする請求項１から７のいずれか一項に記載の情報処理システム。
【請求項９】
第１のユーザによるゲームのプレイ中に当該ゲームのプレイ内容を表す動画像を当該第１のユーザとは異なる第２のユーザが利用するクライアントに配信する配信ステップと、
前記動画像の配信中に前記第２のユーザが利用するクライアントから前記ゲームの実行要求を受け付ける実行要求受付ステップと、
前記第１のユーザによりプレイされるゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる前記動画像の再生位置に基づいて特定されるゲーム状況データを取得するゲーム状況データ取得ステップと、
前記ゲーム状況データ取得ステップにより取得されるゲーム状況データが示す状況から、前記第２のユーザがプレイする前記ゲームを実行するゲーム実行ステップと、
を含むことを特徴とする情報処理方法。
【請求項１０】
第１のユーザによるゲームのプレイ中に当該ゲームのプレイ内容を表す動画像を当該第１のユーザとは異なる第２のユーザが利用するクライアントに配信する配信手段、
前記動画像の配信中に前記第２のユーザが利用するクライアントから前記ゲームの実行要求を受け付ける実行要求受付手段、
前記第１のユーザによりプレイされるゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる前記動画像の再生位置に基づいて特定されるゲーム状況データを取得するゲーム状況データ取得手段、
前記ゲーム状況データ取得手段により取得されるゲーム状況データが示す状況から、前記第２のユーザがプレイする前記ゲームを実行するゲーム実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
ユーザにより登録された動画像を配信する動画像配信サイトが存在する（例えば、特許文献１参照）。そして、動画像配信サイトには、テレビゲームをユーザがプレイした内容を表す動画像が数多く登録されているものがある。
【０００３】
そして、テレビゲームをなかなかクリアできないユーザが、動画像配信サイトに登録されている、他のユーザによるプレイが示された動画像を閲覧することにより、そのゲームをクリアするためのヒントを得ることができることがある。また、ユーザが、動画像配信サイトに登録されている動画像に示されているゲームに興味を持ち、そのゲームを購入するということがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００８／０２７６２７２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザが、動画像配信サイトに登録されている、他のユーザがゲームをプレイした内容を表す動画像を閲覧していると、そのゲームをプレイしてみたくなるということがあり得る。ここで、例えば、ユーザが、閲覧している動画像の再生位置を指定した際に、その再生位置に応じたゲームの状況からそのゲームをプレイすることができるとなると、ユーザはそのゲームをより楽しむことができるようになると思われる。このことは、動画像配信サイトに登録されている動画像に限らず、テレビゲームをユーザがプレイした内容を表す動画像においてあてはまる。
【０００６】
本発明は上記課題に鑑みてなされたものであって、ゲームのプレイ内容を表す動画像の再生位置に応じたゲームの状況からユーザがゲームをプレイすることができる情報処理システム、情報処理方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理システムは、ゲームのプレイ内容を表す動画像の再生位置に対応付けられる、当該ゲームの実行要求を受け付ける実行要求受付手段と、前記動画像の再生位置に関連付けられた、前記ゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる再生位置に基づいて特定されるゲーム状況データを取得するゲーム状況データ取得手段と、前記ゲーム状況データ取得手段により取得されるゲーム状況データが示す状況から前記ゲームを実行するゲーム実行手段と、を含むことを特徴とする。
【０００８】
また、本発明に係る情報処理方法は、ゲームのプレイ内容を表す動画像の再生位置に対応付けられる、当該ゲームの実行要求を受け付ける実行要求受付ステップと、前記動画像の再生位置に関連付けられた、前記ゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる再生位置に対応するゲーム状況データを取得するゲーム状況データ取得ステップと、前記ゲーム状況データ取得ステップにより取得されるゲーム状況データが示す状況から前記ゲームを実行するゲーム実行ステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、ゲームのプレイ内容を表す動画像の再生位置に対応付けられる、当該ゲームの実行要求を受け付ける実行要求受付手段、前記動画像の再生位置に関連付けられた、前記ゲームの状況を示すゲーム状況データを記憶する記憶手段から、前記実行要求に対応付けられる再生位置に対応するゲーム状況データを取得するゲーム状況データ取得手段、前記ゲーム状況データ取得手段により取得されるゲーム状況データが示す状況から前記ゲームを実行するゲーム実行手段、としてコンピュータを機能させることを特徴とする。
【００１０】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に記憶することもできる。
【００１１】
本発明によると、ゲームの実行要求に対応付けられる動画像の再生位置に基づいて特定されるゲーム状況データが示す状況からゲームが実行されるので、ゲームのプレイ内容を表す動画像の再生位置に応じたゲームの状況からユーザがゲームをプレイすることができる。
【００１２】
本発明の一態様では、前記実行要求受付手段が、既にプレイされたゲームのプレイ内容を表す動画像の再生中に、当該動画像の再生位置に対応付けられる、ゲームの実行要求を受け付けることを特徴とする。こうすれば、既にプレイされたゲームのプレイ内容を表す動画像の再生位置に応じたゲームの状況からユーザがゲームをプレイすることができる。
【００１３】
また、本発明の一態様では、前記ゲーム状況データ取得手段が、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置に基づいて特定されるゲーム状況データを取得することを特徴とする。こうすれば、ゲームの実行要求の際に再生されていた場面に応じたゲームの状況からユーザがゲームをプレイすることができる。
【００１４】
この態様では、前記ゲーム状況データ取得手段が、前記記憶手段に記憶されているゲーム状況データの少なくとも一部のうちの、関連付けられている再生位置が、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置に最も近いゲーム状況データを取得してもよい。こうすれば、記憶手段に記憶されているゲーム状況データの少なくとも一部それぞれが示すゲームの状況のうちの、ゲームの実行要求の際に再生されていた場面での状況に最も近い状況からユーザがゲームをプレイすることができる。
【００１５】
また、この態様では、前記ゲーム状況データ取得手段が、関連付けられている再生位置が示すタイミングが、前記ゲームの実行要求の際に再生されていたフレーム画像の前記動画像における再生位置が示すタイミング以前である前記記憶手段に記憶されているゲーム状況データのうちのいずれかを取得してもよい。こうすれば、ゲームの実行要求の際に再生されていた場面以前のゲームの状況のうちの、ゲームの実行要求の際に再生されていた場面での状況に最も近い状況からユーザがゲームをプレイすることができる。
【００１６】
また、本発明の一態様では、前記ゲーム状況データ取得手段が、前記記憶手段に記憶されているゲーム状況データのうちの、関連付けられている再生位置が示すタイミングが、前記ゲームの実行要求の際に再生されていた前記動画像に含まれるフレーム画像の再生位置が示すタイミングから所定の時間だけ遡ったタイミングに最も近いゲーム状況データを取得することを特徴とする。こうすれば、ゲームの実行要求の際に再生されていた場面から所定の時間だけ遡った場面でのゲームの状況に最も近い状況からユーザがゲームをプレイすることができる。
【００１７】
また、本発明の一態様では、前記記憶手段が、前記ゲームの進行段階に対応するゲームステージの開始時におけるゲーム状況データを含んでおり、前記ゲーム状況データ取得手段が、前記実行要求に対応付けられる再生位置に対応するゲームステージの開始時におけるゲーム状況データを取得することを特徴とする。こうすれば、ゲームの実行要求に対応付けられる再生位置に対応するゲームステージのはじめからユーザがゲームをプレイすることができる。
【００１８】
また、本発明の一態様では、前記ゲームの実行中に、当該実行中のゲームの現況を示す前記ゲーム状況データを生成するゲーム状況データ生成手段、をさらに含むことを特徴とする。こうすれば、実行中のゲームの現況を示すゲーム状況データが生成される。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。
【図２】ゲーム画面の一例を示す図である。
【図３】リプレイ動画像表示画面の一例を示す図である。
【図４】本実施形態に係るクラウドサービスとクライアントとの関係の一例を示す概念図である。
【図５】本実施形態に係るクラウドサービスで実現される機能の一例を示す機能ブロック図である。
【図６】復帰データの一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００２１】
図１は、本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。図１に示すように、インターネットなどのコンピュータネットワーク１６には、いずれもコンピュータを中心に構成されたクラウドサービス１０、動画像管理システム１２、クライアント１４（１４−１〜１４−ｎ）、が接続されている。そして、クラウドサービス１０、動画像管理システム１２、クライアント１４は、互いに通信可能になっている。
【００２２】
クライアント１４は、クラウドサービス１０や動画像管理システム１２のユーザが利用するコンピュータであり、例えば、パーソナルコンピュータ、ゲームコンソール、テレビ受像器、携帯型ゲーム装置、携帯情報端末、などである。そして、クライアント１４は、例えば、ＣＰＵ等の制御装置、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブ等の記憶装置、ディスプレイ、スピーカ等の出力装置、ゲームコントローラ、タッチパッド、マウス、キーボード、マイク等の入力装置、ネットワークボード等の通信装置、ＤＶＤ−ＲＯＭやＢｌｕ−ｒａｙ（登録商標）ディスクなどの光ディスク（コンピュータ読み取り可能な情報記憶媒体）を読み取る光ディスクドライブ、等を備えている。
【００２３】
また、本実施形態に係るクライアント１４は、ウェブブラウザ及びクラウドサービス１０用のプラグインプログラムが予めインストールされており、これらのアプリケーションプログラムが実行される。クライアント１４は、ウェブブラウザを通じてクラウドサービス１０や動画像管理システム１２が提供する各種サービスを受ける。クラウドサービス用プラグインプログラムの詳細については後述する。
【００２４】
動画像管理システム１２は、例えば、クライアント１４やクラウドサービス１０から受け付ける動画像を登録したり、クライアント１４からの要求に応じてクライアント１４に動画像の配信を行ったりするコンピュータシステムである。
【００２５】
クラウドサービス１０は、例えば、本発明の一実施形態に係る情報処理システムとして機能する分散コンピューティング環境であり、互いに通信可能に接続されている複数台のＷｅｂアプリケーションサーバ、複数台のデータベースサーバ、複数台のストレージデバイス、などを含んで構成されている。クラウドサービス１０に含まれるサーバは、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードなどの通信インタフェースである通信部、を含んで構成されている。これらの要素は、バスを介して接続される。
【００２６】
クラウドサービス１０を利用するクライアント１４は、クラウドサービス１０内に存在するサーバやストレージデバイスなどのリソースの所在を特に意識することなく、クラウドサービス１０が提供する各種サービスを利用することができる。
【００２７】
本実施形態では、クライアント１４が、ウェブブラウザを通じてクラウドサービス１０にアクセスし、ユーザＩＤ及びパスワードを入力してから、その後に所定のＵＲＬにアクセスすると、クライアント１４のディスプレイに所定のＵＲＬに対応する画面が表示される。なお、ユーザＩＤ及びパスワードを入力した後は、クラウドサービス１０は、例えば、クッキーを参照することによりクライアント１４を利用するユーザのユーザＩＤを特定することができるようになっている。
【００２８】
本実施形態では、例えば、あるユーザ（ユーザＡ）がクライアント１４からシューティングゲームの開始要求をクラウドサービス１０に送信すると、クラウドサービス１０はそのゲームの実行を開始する。そして、このゲームが実行されている間、クラウドサービス１０は、このゲームのプレイ内容を表すフレーム画像を、順次、ユーザＡのクライアント１４にストリーミング配信する。そして、ユーザＡのクライアント１４のディスプレイにはブラウザを介してこのフレーム画像が順次表示される。以下、このようにして順次ストリーミング配信されるフレーム画像群から構成される動画像を実況動画像と呼ぶこととする。ユーザＡは、実況動画像を見ながら、ゲームコントローラのボタンを押下するなどしてゲームを楽しむことができる。
【００２９】
図２に、ユーザＡのクライアント１４のディスプレイに表示されるゲーム画面２０の一例を示す。ゲーム画面２０には、上述の実況動画像が表示される。本実施形態では、ゲーム画面２０に、シューティングゲームにおいてプレイヤが操作する戦闘機等を表すプレイヤオブジェクト２２、プレイヤオブジェクト２２から発射される弾丸を表す弾丸オブジェクト２４、プレイヤオブジェクト２２が倒すべき敵を表す敵オブジェクト２６が含まれている。ユーザＡは、ゲームコントローラのボタンを押下するなどの、キー入力を行うことにより、シューティングゲームにおけるプレイヤオブジェクト２２の移動や弾丸オブジェクト２４の発射等の操作を行うことができる。ユーザＡは、迫り来る敵オブジェクト２６をかわしながら、敵オブジェクト２６に向けて弾丸オブジェクト２４を発射して、敵オブジェクト２６を倒していく。
【００３０】
本実施形態では、上述のシューティングゲームは、ゲームの進行段階に対応する複数のゲームステージから構成されている。そして、ユーザＡがゲームステージをクリアする、あるいは、ゲームオーバーとなる、などのイベントが発生した際に、クラウドサービス１０は、そのゲームステージの開始時点からイベント発生時点までのゲームのプレイ内容を表す動画像（以下、この動画像をリプレイ動画像と呼ぶこととする。）を動画像管理システム１２に登録する。このようにして、本実施形態では、既にユーザＡによりプレイされたシューティングゲームのプレイ内容を表すリプレイ動画像が動画像管理システム１２に登録される。そして、別のユーザ（ユーザＢ）がクライアント１４から動画像管理システム１２にこのリプレイ動画像の再生要求を送信すると、動画像管理システム１２は、このリプレイ動画像をユーザＢのクライアント１４にストリーミング配信する。
【００３１】
図３に、ユーザＢのクライアント１４のディスプレイに表示されるリプレイ動画像表示画面２８の一例を示す。リプレイ動画像表示画面２８には、上述のリプレイ動画像が表示される。また、リプレイ動画像表示画面２８には、リプレイ動画像の再生位置に応じた状況への復帰（リプレイ動画像の再生位置に応じた状況からのゲームの実行）を要求するための復帰リンク３０が含まれている。また、リプレイ動画像表示画面２８には、動画像の再生を制御するための各種ボタン及び動画像が再生されるに従って左から右へ移動するノブ３２が配置されている。リプレイ動画像の再生中にユーザＢが復帰リンク３０をクリックすると、クライアント１４は、この再生位置に応じた状況からのゲームの実行要求をクラウドサービス１０に送信する。すると、クラウドサービス１０は、この状況からのゲームの実行を開始する。そして、このゲームが実行されている間、クラウドサービス１０は、このゲームのプレイ内容を表す実況動画像をユーザＢのクライアント１４にストリーミング配信する。そして、ユーザＢのクライアント１４では、図２と同様のゲーム画面２０が表示されることとなる。そして、ユーザＢは、このゲームを、ユーザＢが指定した再生位置に応じた状況から楽しむことができる。
【００３２】
図４は、本実施形態に係るクラウドサービス１０とクライアント１４との関係の一例を示す概念図である。本実施形態に係るクラウドサービス１０では、例えば、管理プロセス３４、サービス提供プロセス３６、エミュレータ３８が実行される。また、クラウドサービス１０に含まれるストレージデバイス等の記憶装置には、予め、各種ゲームプログラムのイメージファイルが記憶されている。ゲームプログラムには、ゲームの識別子であるゲームＩＤが関連付けられている。
【００３３】
サービス提供プロセス３６は、例えば、クラウドサービス１０に含まれるサーバが、ショッピングサイトやＳＮＳ（Social Networking Service）等、クラウドサービス１０が提供する種々のサービスを実現するプログラムを起動することで生成されるプロセスである。
【００３４】
管理プロセス３４は、例えば、クラウドサービス１０に含まれるサーバが、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされている管理プログラムを起動することで生成されるプロセスであり、エミュレータ３８の所在管理処理、エミュレータ３８の起動処理及び停止処理、クライアント１４からの要求に応じたクライアント１４とエミュレータ３８との接続処理及び切断処理、などを実行する。
【００３５】
エミュレータ３８は、例えば、クラウドサービス１０に含まれるサーバやストレージデバイスに記憶されているゲームプログラムを実行するための仮想マシンとして機能するプロセスである。エミュレータ３８は、管理プロセス３４が、クライアント１４からの要求に応じて、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされているエミュレータプログラムを起動することにより生成される。そして、管理プロセス３４は、クライアント１４からの要求に応じて、クライアント１４により指定されたゲームプログラムのイメージファイルを読み込み、エミュレータ３８にロードする。このことによって、エミュレータ３８上でゲームプログラムが実行されることとなる。なお、エミュレータ３８が、クライアント１４により指定されたゲームプログラムを自プロセスにロードするようにしてもよい。
【００３６】
また、エミュレータ３８は、例えば、クライアント１４や管理プロセス３４からの要求に応じて、エミュレータ３８が管理しているエミュレートされたメモリイメージやレジスタ（例えば、プログラムカウンタ等）、エミュレータ３８上で動作するゲームプログラムによる入出力アクセスログ、エミュレータ３８上で実行されるＣＰＵ命令やＧＰＵ命令のログなどを出力する。
【００３７】
本実施形態では、図４に示すように、１つのエミュレータ３８を１つのクライアント１４が専有することができる（ゲームプログラムＰ１参照）。また、１つのエミュレータ３８に対して複数のクライアント１４が接続可能となっている（ゲームプログラムＰ２参照）。また、１つのエミュレータ３８上で複数のゲームプログラムが実行可能となっている（ゲームプログラムＰ３、Ｐ４参照）。
【００３８】
また、本実施形態では、図４に示すように、クライアント１４にエミュレータプログラムがインストールされている場合は、管理プロセス３４は、クライアント１４からの要求に応じて、クライアント１４にエミュレータ３８の起動指示や停止指示を出力する。クライアント１４は、管理プロセス３４から受け付ける起動指示に応じて、クライアント１４にインストールされているエミュレータプログラムを起動する。また、クライアント１４は、管理プロセス３４から受け付ける停止指示に応じて、実行中のエミュレータ３８を停止する。そして、クライアント１４に記憶されているゲームプログラムをクライアント１４で実行されているエミュレータ３８で実行することもできるようになっている（ゲームプログラムＰ５参照）。また、クライアント１４で実行されているエミュレータ３８に対して他のクライアント１４から接続できるようになっている（ゲームプログラムＰ６参照）。
【００３９】
図５は、本実施形態に係るクラウドサービス１０で実現される機能の一例を示す機能ブロック図である。なお、図５には、以下の説明と特に関係がある機能が示されているにすぎず、本実施形態に係るクラウドサービス１０では、図５に示す機能以外の機能も実現されている。図５に示すように、本実施形態に係るクラウドサービス１０は、機能的には、例えば、エミュレータ管理部４０、ゲーム実行部４２、リプレイ動画像管理部４４、データ記憶部４６、復帰データ生成部４８、ゲーム状況監視部５０、復帰要求受付部５２、再生位置特定部５４、ゲーム状況データ取得部５６、を含んで構成される。データ記憶部４６は、例えば、クラウドサービス１０に含まれるサーバに含まれるメモリやハードディスクドライブ、ストレージデバイス、などといった記憶装置を主として実現される。また、ゲーム実行部４２は、例えば、エミュレータ３８で実現される機能に対応する。その他の要素は、例えば、管理プロセス３４で実現される機能に対応する。
【００４０】
クラウドサービス１０は、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、図５に示す各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介してクラウドサービス１０に供給される。
【００４１】
エミュレータ管理部４０は、本実施形態では、例えば、クライアント１４からの要求に応じてエミュレータ３８を起動したり停止したりする。また、エミュレータ管理部４０は、クライアント１４からの要求に応じた、クライアント１４とエミュレータ３８との接続処理及び切断処理を実行する。また、エミュレータ管理部４０は、起動したエミュレータ３８へのゲームプログラムのイメージファイルのロードも行う。また、エミュレータ管理部４０は、エミュレータ３８の所在管理処理も実行する。
【００４２】
ゲーム実行部４２は、本実施形態では、例えば、エミュレータ３８にロードされたゲームプログラムを実行する。
【００４３】
本実施形態では、例えば、ユーザＡがクライアント１４からシューティングゲームの開始要求をクラウドサービス１０に送信すると、クラウドサービス１０のエミュレータ管理部４０が、この開始要求に応じて、エミュレータ３８を起動し、起動したエミュレータ３８にシューティングゲームのイメージファイルをロードする。そして、ゲーム実行部４２が、ロードされたシューティングゲームを開始する。
【００４４】
ゲーム実行部４２は、本実施形態では、シューティングゲームの開始以降、所定のゲーム更新時間（例えば、１／６０秒）毎に、ゲームの状況を示すゲーム状況データを更新するゲーム状況データ更新処理、更新後のゲーム状況データに基づいてゲームのプレイ内容を表すフレーム画像を生成するフレーム画像生成処理、生成されたフレーム画像をクライアント１４に送信するフレーム画像送信処理、の順に、これら３つの処理を実行する。すなわち、ゲーム実行部４２は、ゲーム更新時間間隔で、上述の３つの処理を順次実行するという処理を繰り返し実行する。
【００４５】
本実施形態では、ゲーム実行部４２は、ゲーム状況更新処理において、例えば、プレイヤオブジェクト２２、弾丸オブジェクト２４、敵オブジェクト２６、それぞれの位置や向きを示すゲーム状況データを更新する処理を実行する。また、本実施形態では、ゲーム実行部４２は、ゲーム状況更新処理において、更新後のオブジェクト間の衝突判定処理や、衝突判定結果に基づく、ゲームステージクリア判定処理、ミス判定処理なども併せて実行する。
【００４６】
また、本実施形態では、ゲーム実行部４２は、フレーム画像生成処理において、例えば、更新後のオブジェクト群の位置や向きを示すゲーム状況データに基づいてフレーム画像を生成する処理を実行する。また、本実施形態では、ゲーム実行部４２は、フレーム画像送信処理において、例えば、生成されたフレーム画像を生成時刻順に順序付けられているフレーム画像の識別子であるフレームＩＤに関連付けてクライアント１４に送信する。
【００４７】
本実施形態では、クライアント１４は、クラウドサービス１０から順次送信されるフレーム画像を受信する。そして、クライアント１４は、受信したフレーム画像が含まれるゲーム画面２０をディスプレイに表示出力する。本実施形態では、クライアント１４は、関連付けられているフレームＩＤ順にフレーム画像を表示出力する。そして、表示出力されるフレーム画像は、順次更新される。このようにして、実況動画像がクラウドサービス１０からクライアント１４へストリーミング配信される。
【００４８】
また、本実施形態では、ゲームの実行中に、クライアント１４が、ユーザによるボタンの押下などのキー入力を受け付けた際に、入力に応じたキー情報（例えば、押下されたボタンの種別を示す信号）を、クラウドサービス１０に送信する。そして、クラウドサービス１０のゲーム実行部４２は、このキー情報に応じたゲーム状況データの更新（例えば、押下されたボタンが示す方向へのプレイヤオブジェクト２２の移動、プレイヤオブジェクト２２からの弾丸オブジェクト２４の発射等）を実行する。
【００４９】
リプレイ動画像管理部４４は、本実施形態では、例えば、ゲーム実行部４２がフレーム画像を生成した際に、そのフレーム画像を、生成時刻順に順序付けられているフレーム画像の識別子であるフレームＩＤに関連付けてデータ記憶部４６に出力する。
【００５０】
復帰データ生成部４８は、本実施形態では、例えば、所定の復帰データ生成間隔（例えば、５秒間隔）で、リプレイ動画像の再生位置に応じた状況への復帰（リプレイ動画像の再生位置に応じた状況からのゲームの実行）に用いられる復帰データ５８を生成して、データ記憶部４６に出力する（図６参照）。図６は、復帰データ５８の一例を示す図である。本実施形態では、復帰データ生成部４８は、ゲームステージが開始される際に、そのゲームステージの開始時点の復帰データ５８を生成して、データ記憶部４６に出力する。そのため、データ記憶部４６には、ゲームステージの開始時における復帰データ５８が記憶されることとなる。図６に示すように、復帰データ５８は、例えば、上述のリプレイ動画像の識別子である動画像ＩＤと、プレイされているゲームの識別子であるゲームＩＤと、ゲームステージの開始時点からの経過時間を示す経過時間データと、そのときのゲームの状況を示すゲーム状況データ（図６には、本実施形態におけるゲーム状況データの一例として、経過時間データに対応する時点における、シューティングゲームを実行しているエミュレータ３８が管理しているメモリイメージの内容やレジスタの値を示すスナップショットデータが示されている。）と、を含んでいる。復帰データ５８に含まれる経過時間データによって、復帰データ５８とリプレイ動画像に含まれるフレーム画像とは関連付けられていることとなる。
【００５１】
本実施形態では、復帰データ生成部４８は、復帰データの生成タイミングが到来した際に、その時点におけるエミュレータ３８のメモリイメージの内容やレジスタの値を取得する。そして、復帰データ生成部４８は、リプレイ動画像の識別子である動画像ＩＤと、プレイされているゲームの識別子であるゲームＩＤと、ゲームステージの開始時点から復帰データの生成タイミングまでの時間を示す経過時間データと、取得した内容に対応するスナップショットデータと、を含む復帰データ５８を生成する。
【００５２】
このようにして、本実施形態では、ゲーム実行部４２が実況動画像をクライアント１４にストリーミング配信している際に、同時進行で、リプレイ動画像管理部４４によるフレーム画像のデータ記憶部４６への出力、及び、復帰データ生成部４８による復帰データ５８の生成出力が行われることとなる。また、本実施形態では、ゲームの実行中に、その実行中のゲームの現況を示すスナップショットデータが順次生成されることとなる。
【００５３】
ゲーム状況監視部５０は、例えば、ゲーム実行部４２が実行しているシューティングゲームのゲーム処理の進行状況を監視する。本実施形態では、予め、各ゲームステージの終了時点のフレーム画像、及び、ゲームオーバー時点のフレーム画像がデータ記憶部４６に記憶されている。以下、これらのフレーム画像を判定画像と呼ぶこととする。本実施形態では、ゲーム状況監視部５０は、例えば、ゲーム実行部４２により生成されるフレーム画像を監視する。そして、ゲーム状況監視部５０は、公知の画像処理技術を用いて、監視されたフレーム画像と、データ記憶部４６に記憶されているいずれかの判定画像とが一致していることを確認した際に、ゲームステージが終了した、又は、ゲームオーバーとなったということを判定する。このようにして、本実施形態では、ゲームステージの終了時点やゲームオーバー時点を検出することができるようになっている。
【００５４】
そして、本実施形態では、ゲーム状況監視部５０は、ゲームステージが終了した際、及び、ゲームオーバーとなった際に、リプレイ動画像管理部４４にその旨を通知する。すると、リプレイ動画像管理部４４は、この通知を受け付けた際に、それまでにデータ記憶部４６に出力された、そのゲームステージの開始時点から上述の通知を受け付けた時点までの１又は複数のフレーム画像、及び、上述の動画像ＩＤが含まれるリプレイ動画像を生成する。このリプレイ動画像に含まれるフレーム画像はフレームＩＤに関連付けられている。
【００５５】
そして、リプレイ動画像管理部４４は、リプレイ動画像を動画像管理システム１２に送信する。すると、動画像管理システム１２はこのリプレイ動画像を受信して、動画像管理システム１２に含まれるハードディスクドライブ等の記憶装置に出力する。このようにして、リプレイ動画像が動画像管理システム１２に登録される。
【００５６】
本実施形態では、動画像管理システム１２は、ユーザＢのクライアント１４から、検索条件となる文字列を受け付けた際に、その検索条件に合致するリプレイ動画像の概要の一覧画面（図示せず）を生成して、ユーザＢのクライアント１４に送信する。そして、ユーザＢのクライアント１４は、この一覧画面を受信して、ディスプレイに表示出力する。そして、ユーザＢが一覧画面のうちから上述のリプレイ動画像の概要が示されている部分をクリックすると、ユーザＢのクライアント１４は、このリプレイ動画像の再生要求を動画像管理システム１２に送信する。そして、動画像管理システム１２は、この再生要求を受信する。そして、動画像管理システム１２は、この再生要求に応じて、対応するリプレイ動画像に対応するリプレイ動画像表示画面２８を生成して、ユーザＢのクライアント１４に送信するとともに、リプレイ動画像のストリーミング配信を開始する。
【００５７】
本実施形態では、ユーザＢのクライアント１４は、リプレイ動画像表示画面２８を動画像管理システム１２から受信した際に、ユーザＢのクライアント１４にインストールされているクラウドサービス１０用のプラグインプログラムがクラウドサービス１０に対して、受信したリプレイ動画像の動画像ＩＤを送信して、受信したリプレイ動画像に対応する復帰データ５８が存在するか否かを問い合わせる。そして、復帰データ５８が存在する旨をクラウドサービス１０から受信すると、プラグインプログラムが、図３に示すように、リプレイ動画像表示画面２８内に、復帰リンク３０を埋め込む。
【００５８】
ユーザＢが、リプレイ動画像表示画面２８に配置されている、再生、スロー再生、早送り、巻き戻し、一時停止、等の、動画像の再生を制御するためのボタンをクリックすると、クライアント１４は、対応する信号を動画像管理システム１２に送信する。すると、動画像管理システム１２は、この信号を受信して、信号に応じた動画像の再生制御を行う。また、ユーザＢが、マウス等を用いてノブ３２を移動する操作を実行すると、クライアント１４は、移動後の位置に対応する再生位置を示す信号を動画像管理システム１２に送信する。そして、動画像管理システム１２は、この信号が示す再生位置からのリプレイ動画像の再生を行う。
【００５９】
ここで、リプレイ動画像の再生中に、ユーザＢが復帰リンク３０をクリックすると、クライアント１４は、再生されているリプレイ動画像の動画像ＩＤと再生時点のフレーム画像のフレームＩＤとの組合せに関連付けられた、そのフレーム画像に対応する状況への復帰要求（すなわち、そのフレーム画像に対応する状況からのゲームの実行要求）であるゲーム復帰要求をクラウドサービス１０に送信する。すると、クラウドサービス１０の復帰要求受付部５２が、このゲーム復帰要求を受け付ける。
【００６０】
そして、再生位置特定部５４は、受け付けた動画像ＩＤ、及び、フレームＩＤに基づいて、復帰リンク３０がクリックされた時点におけるそのリプレイ動画像の再生位置（例えば、ゲームステージの開始時点からの経過時間やフレーム数等）を特定する。そして、再生位置特定部５４は、このゲーム復帰要求に関連付けられている動画像ＩＤに基づいて、プレイされているゲームを特定する。また、再生位置特定部５４は、ゲームステージの開始時点から、復帰要求受付部５２が受け付けたゲーム復帰要求に関連付けられているフレームＩＤのフレーム画像が再生されたタイミングまでの時間（以下、復帰時経過時間と呼ぶ。）もしくは復帰時経過時間よりも短い時間を示し、かつ、復帰時経過時間に最も近い時間を示す経過時間データに関連付けられているスナップショットデータを特定する。
【００６１】
そして、ゲーム状況データ取得部５６が、本実施形態では、例えば、再生位置特定部５４により特定されたスナップショットデータを取得する。そして、エミュレータ管理部４０が、新規のエミュレータ３８を起動するとともに、ユーザＢのクライアント１４とこのエミュレータ３８との接続処理を実行する。そして、エミュレータ管理部４０が、再生位置特定部５４により特定されたゲームのイメージファイルをこのエミュレータ３８にロードする。そして、ゲーム実行部４２が、スナップショットデータが示す状況からのシューティングゲームの実行を開始する。ゲーム実行部４２は、具体的には、例えば、ゲーム状況データ取得部５６が取得したスナップショットデータに応じた、シューティングゲームを実行しているエミュレータ３８が管理しているメモリイメージの内容やレジスタの値の設定を行った上で、上述のシューティングゲームの実行を開始する。このようにして、そして、ユーザＢは、ユーザＢのクライアント１４で、復帰リンク３０がクリックされたタイミングでのリプレイ動画像の再生位置に応じた状況から開始されるシューティングゲームを楽しむことができる。
【００６２】
なお、本発明は上述の実施形態に限定されるものではない。
【００６３】
例えば、ゲーム状況データ取得部５６が、復帰時経過時間から、所定の時間（例えば、１分）だけ遡った時間に最も近い時間を示す経過時間データに関連付けられているスナップショットデータを取得するようにしてもよい。こうすれば、例えば、復帰リンク３０をクリックしたタイミングから少し遡ったタイミングにおける状況からゲームを開始するということができることとなる。
【００６４】
また、例えば、復帰要求受付部５２がゲーム復帰要求を受け付けた際に、ゲームステージの最初からゲームを開始したいか、ゲーム復帰要求を受け付けた際に再生されていたフレーム画像により表されている場面付近からゲームを開始したいかの選択を促す選択画面（図示せず）を出力してもよい。そして、クライアント１４が、後者の選択肢をクラウドサービス１０に送信した際には、再生位置特定部５４が、復帰時経過時間以下の時間を示し、かつ、復帰時経過時間に最も近い時間を示す経過時間データに関連付けられているスナップショットデータを特定し、前者の選択肢をクラウドサービス１０に送信した際には、ゲーム復帰要求に対応するゲームステージの開始時点のスナップショットデータを特定するようにしてもよい。
【００６５】
また、例えば、再生位置特定部５４は、受け付けたゲーム復帰要求に関連付けられているフレームＩＤのフレーム画像が示すタイミング以前、以後に関わらず、復帰時経過時間に最も近い経過時間を示す経過時間データに関連付けられているスナップショットデータを特定するようにしてもよい。
【００６６】
また、例えば、クラウドサービス１０が、受け付けたゲーム復帰要求に応じて、プレイされているゲーム、及び、スナップショットデータを特定した後で、このゲームのゲームＩＤ及びスナップショットデータに関連付けられたエミュレータ３８の起動指示をクライアント１４に送信してもよい。そして、クライアント１４がこの起動指示を受信して、エミュレータ３８を起動してもよい。そして、クライアント１４が、クライアント１４のハードディスクドライブ等に記憶されている、受信したゲームＩＤに対応するゲームプログラムのイメージファイルをエミュレータ３８にロードしてもよい。そして、クライアント１４が、受信したスナップショットデータに応じたエミュレータの設定を行って、エミュレートされたゲームを開始してもよい。なお、クライアント１４は、ハードディスクドライブ等に記憶されているイメージファイルの代わりに、光ディスクに記録されたゲームプログラムを光ディスクドライブから読み込んでエミュレータ３８にロードしてもよい。
【００６７】
また、例えば、クラウドサービス１０が、ユーザＢのクライアント１４から、ユーザＡの実況動画像の配信要求を受け付けた際に、ユーザＢのクライアント１４とユーザＡがプレイしているゲームがロードされているエミュレータ３８とを接続するようにしてもよい。そして、クラウドサービス１０が、ユーザＡのクライアント１４にストリーミング配信している実況動画像をユーザＢのクライアント１４にも配信するようにしてもよい。その後、クラウドサービス１０が、ユーザＢのクライアント１４から、ゲーム復帰要求を受け付けた際に、その時点における実況動画像の再生位置に基づいて復帰データ５８を特定してもよい。そして、クラウドサービス１０が、新規のエミュレータ３８を起動して、起動したエミュレータ３８に、特定された復帰データ５８に含まれるゲームＩＤに対応するゲームプログラムをロードしてもよい。そして、クラウドサービス１０が、ユーザＢのクライアント１４とユーザＡがプレイしているゲームがロードされているエミュレータ３８との接続を切断して、ユーザＢのクライアント１４とこの新規のエミュレータ３８とを接続してもよい。そして、ゲーム実行部４２が、特定された復帰データ５８に含まれるスナップショットデータに応じたエミュレータ３８の設定を行った上で、ゲームの実行を開始してもよい。
【００６８】
また、例えば、クライアント１４による、クラウドサービス１０から配信されている実況動画像、又は、リプレイ動画像の再生中に、クライアント１４が、再生されている動画像の動画像ＩＤと再生時点のフレーム画像のフレームＩＤとの組合せに関連付けられた、ブックマーク要求をクラウドサービス１０に送信してもよい。そして、クラウドサービス１０が、このブックマーク要求を受け付けた際に、動画像の配信を中止せず、受け付けたブックマーク要求に関連付けられている、動画像ＩＤとフレームＩＤとの組合せをブックマークデータとしてデータ記憶部４６に出力するようにしてもよい。そして、クラウドサービス１０が、クライアント１４からの要求に応じて、ブックマークデータの一覧をクライアント１４に送信するようにしてもよい。そして、クライアント１４がブックマークデータの一覧をディスプレイに表示出力してもよい。ここで、クライアント１４が、ユーザにより一覧の中から選択されたブックマークデータをクラウドサービス１０に送信したら、クラウドサービス１０が、このブックマークデータに対応するゲーム及びスナップショットデータを特定して、特定された状況からのシューティングゲームの実行を開始するようにしてもよい。なお、クラウドサービス１０は、ブックマーク要求を受け付けた際には要求元のユーザに対する課金処理を実行せずに、シューティングゲームの実行要求を受け付けた際に要求元のユーザに対する課金処理を実行するようにしてもよい。
【００６９】
また、この場合において、クライアント１４が実況動画像を再生している際には、クラウドサービス１０が、ブックマーク要求の受付をトリガとして、リプレイ動画像管理部４４によるフレーム画像のデータ記憶部４６への出力、及び、復帰データ生成部４８による復帰データの生成・出力を開始するようにしてもよい。
【００７０】
また、例えば、復帰要求受付部５２がゲーム復帰要求を受け付けた際に、ゲームの実行を開始するか否かを確認する画面をクライアント１４に送信してもよい。そして、復帰要求受付部５２がゲームの実行を開始する旨をクライアント１４から受け付けてはじめて、再生位置特定部５４が、復帰リンク３０がクリックされた時点におけるそのリプレイ動画像の再生位置を特定するようにしてもよい。
【００７１】
また、例えば、クラウドサービス１０が、上述の動画像管理システム１２が提供するサービスを提供するようにしてもよい。また、クラウドサービス１０が、クライアント１４から受け付けるキー情報をその受け付けたタイミングを示すデータと関連付けてキーログとしてデータ記憶部４６に出力してもよい。そして、リプレイ動画像管理部４４が、キーログに基づいてリプレイ動画像に含まれる各フレーム画像を生成して、クライアント１４にストリーミング配信するようにしてもよい。
【００７２】
また、例えば、データ記憶部４６には、予め、判定画像の代わりに、ゲームステージの終了時点や、ゲームオーバー時点における、エミュレータ３８が管理しているエミュレートされたメモリイメージの内容やレジスタの値が記憶されていてもよい。そして、ゲーム状況監視部５０が、エミュレータ３８が管理しているエミュレートされたメモリイメージの内容やレジスタの値を監視して、その監視結果とデータ記憶部４６に記憶されている上述のデータとの比較結果に基づいて、ゲームステージの終了時点やゲームオーバー時点を検出するようにしてもよい。
【００７３】
また、例えば、リプレイ動画像管理部４４が、リプレイ動画像を生成する際に、ユーザＡのクライアント１４から、リプレイ動画像を生成するフレーム画像の範囲を指定する情報を受け付けてもよい。そして、リプレイ動画像管理部４４は、指定された範囲のフレーム画像を含んで構成されるリプレイ動画像を生成してもよい。そして、リプレイ動画像管理部４４は、指定された範囲外のフレーム画像に対応する復帰データ５８をデータ記憶部４６から削除するようにしてもよい。
【００７４】
また、例えば、動画像ＩＤが、復帰データ５８が存在するか否かを示す情報を含んでいてもよい。そして、ユーザＢのクライアント１４が、リプレイ動画像表示画面２８を動画像管理システム１２から受信した際に、ユーザＢのクライアント１４にインストールされているクラウドサービス１０用のプラグインプログラムが、受信したリプレイ動画像の動画像ＩＤに基づいて、このリプレイ動画像に対応する復帰データ５８が存在するか否かを判定してもよい。そして、プラグインプログラムは、リプレイ動画像に対応する復帰データ５８が存在すると判定した場合に、リプレイ動画像表示画面２８内に、復帰リンク３０を埋め込むようにしてもよい。
【００７５】
また、リプレイ動画像の再生中に、ユーザＢが復帰リンク３０をクリックし、クライアント１４がゲーム復帰要求をクラウドサービス１０に送信した際に、クラウドサービス１０が、このリプレイ動画像に対応する復帰データ５８が存在するか否かを確認してもよい。そして、復帰データ５８が存在する場合に、上述のように、再生位置特定部５４が、プレイされているゲームの特定、及び、スナップショットデータの特定を行ってもよい。
【００７６】
また、例えば、ユーザＡが、自らがプレイしたプレイ内容を表すリプレイ動画像が再生されているリプレイ動画像表示画面２８の閲覧中に、ユーザＡが復帰リンク３０をクリックしてもよい。この場合、ユーザＡのクライアント１４は、この再生位置に対応するゲーム復帰要求をクラウドサービス１０に送信する。そして、クラウドサービス１０は、ゲーム復帰要求に応じた状況からのゲームの実行を開始して、そのゲームのプレイ内容を表す実況動画像をユーザＡのクライアント１４にストリーミング配信する。こうすれば、例えば、ユーザＡが、自らがプレイした内容を表すリプレイ動画像を見ていて、再度そのゲームを楽しみたくなったときなどに、自らが指定した再生位置に応じた状況からそのゲームを楽しむことができる。
【００７７】
また、例えば、ゲーム状況データは、例えば、ゲームにおけるパラメータやステータスを示すデータでもよい。また、動画像ＩＤが、上述のようなリプレイ動画像に含まれるメタ情報ではなく、リプレイ動画像に関連付けられている属性データであってもよい。また、例えば、クラウドサービス１０で実現されている機能が単一のサーバにより実現されていてもよい。
【００７８】
また、ゲームプログラムはエミュレータ３８上で実行される必要はなく、例えば、クラウドサービス１０やクライアント１４のシステムソフトウェア（オペレーティングシステム等）上で実行されてもよい。また、例えば、クライアント１４がゲーム装置である場合において、リプレイ動画像の再生中に、ユーザＢが復帰リンク３０をクリックした際に、クライアント１４が、再生されているリプレイ動画像の動画像ＩＤと再生時点のフレーム画像のフレームＩＤとの組合せに対応する、オブジェクト群の位置や向きを示すゲーム状況データを生成するようにしてもよい。そして、ゲーム装置であるクライアント１４が、生成されたゲーム状況データが示す状況からリプレイ動画像に対応するゲームを実行するようにしてもよい。
【００７９】
また、動画像管理システム１２は、クラウドサービス１０を提供する事業者とは異なる事業者によって動画像配信サービスが提供されている一般的なサーバであっても構わない。
【００８０】
また、上記の具体的な数値や文字列や図面中の具体的な数値や文字列は例示であり、これらの数値や文字列には限定されない。
【符号の説明】
【００８１】
１０  クラウドサービス、１２  動画像管理システム、１４  クライアント、１６  コンピュータネットワーク、２０  ゲーム画面、２２  プレイヤオブジェクト、２４  弾丸オブジェクト、２６  敵オブジェクト、２８  リプレイ動画像表示画面、３０  復帰リンク、３２  ノブ、３４  管理プロセス、３６  サービス提供プロセス、３８  エミュレータ、４０  エミュレータ管理部、４２  ゲーム実行部、４４  リプレイ動画像管理部、４６  データ記憶部、４８  復帰データ生成部、５０  ゲーム状況監視部、５２  復帰要求受付部、５４  再生位置特定部、５６  ゲーム状況データ取得部、５８  復帰データ。
【図１】
0005542020.tif 000002
【図２】
0005542020.tif 000003
【図３】
0005542020.tif 000004
【図４】
0005542020.tif 000005
【図５】
0005542020.tif 000006
【図６】
0005542020.tif 000007