説明

ゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体

【課題】マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができるゲームシステムを提供する。
【解決手段】セーブデータ管理部58は、ゲーム状況データに関連付けて、ゲームに参加する各プレイヤについての、プレイヤの識別子をセーブデータ記憶部44に出力する。セーブデータ管理部58は、ゲーム状況データが示す状況からのゲームの実行の際に、ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、この操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う。ゲーム実行部56は、ゲーム状況データが示す状況からゲームをセーブデータ管理部58による設定に従って実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
ネットワークを介して複数のゲーム装置を接続して、ゲームに参加するプレイヤが自分のゲーム装置を操作することで、複数のプレイヤが参加するゲーム(マルチプレイのゲーム)を楽しむことができるゲームシステムが存在する。
【0003】
特許文献1には、所定の目的を達成してエリアをクリアすることで、敵キャラクタに倒されるなどして死亡したプレイヤを救済することができる友好モードと、相手のプレイヤのプレイヤキャラクタとの対戦に勝利したときに、敵キャラクタに倒されるなどして死亡したプレイヤを救済することができる敵対モードと、の2種類のマルチプレイを楽しむことができるゲーム装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−88694号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
マルチプレイのゲームを楽しむことができるゲームシステムにおいては、マルチプレイのゲームを複数のプレイヤが楽しんでいる途中に、ゲームの状況を保存できることが望ましい。そして、同じプレイヤの組合せによりゲームを再開させようとした場合に、保存されているデータを用いて、セーブ時点におけるゲームの状況だけでなく、各プレイヤに割り当てられているコントローラの接続状況、などといった、各プレイヤについての操作入力の出力元に関する状況も再現できることができれば便利である。
【0006】
本発明は上記課題に鑑みてなされたものであって、マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができるゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段と、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、を含むことを特徴とする。
【0008】
また、本発明に係る別のゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、を含むことを特徴とする。
【0009】
また、本発明に係るさらに別のゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段と、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、を含むことを特徴とする。
【0010】
また、本発明に係るゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、を含むことを特徴とする。
【0011】
また、本発明に係る別のゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力ステップ、を含むことを特徴とする。
【0012】
また、本発明に係るさらに別のゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得するステップと、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、を含むことを特徴とする。
【0013】
また、本発明に係るプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、としてコンピュータを機能させることを特徴とする。
【0014】
また、本発明に係る別のプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、としてコンピュータを機能させることを特徴とする。
【0015】
また、本発明に係るさらに別のプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、としてコンピュータを機能させることを特徴とする。
【0016】
また、上記のいずれのプログラムもコンピュータ読み取り可能な情報記憶媒体に記憶することもできる。
【0017】
本発明によると、ゲーム状況データが示す状況からのゲームの実行の際に、ゲームに参加する各プレイヤについて、受け付ける操作入力を、ゲーム状況データに関連付けられている出力元情報でこの操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定が行われるので、マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができる。
【0018】
本発明の一態様では、前記出力手段は、前記ゲームの実行中に受け付ける要求に応じて、実行中のゲームにおいてプレイヤからの操作入力として取り扱っている操作入力の出力元を示す情報を、当該プレイヤに対応付けられる出力元情報として前記記憶手段に出力することを特徴とする。
【0019】
また、本発明の一態様では、前記記憶手段に識別子が記憶されている複数のプレイヤのうちの所定数以上が前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する通知手段、をさらに含むことを特徴とする。
【0020】
この態様では、前記通知手段は、前記複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知してもよい。
【0021】
また、本発明の一態様では、前記複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行することを特徴とする。
【0022】
この態様では、前記記憶手段に識別子が記憶されている複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行してもよい。
【0023】
また、本発明の一態様では、前記出力元情報は、各プレイヤが操作するコントローラを示しており、前記設定手段は、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、コントローラから受け付ける操作信号を、前記ゲーム状況データに関連付けられている出力元情報で当該コントローラを操作するプレイヤとして示されているプレイヤが操作するコントローラからの操作信号として取り扱う設定を行うことを特徴とする。
【図面の簡単な説明】
【0024】
【図1】本実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。
【図2】セーブデータ一覧画面の一例を示す図である。
【図3】セーブデータの一例を示す図である。
【図4】本実施形態に係るクラウドサービスとクライアントとの関係の一例を示す概念図である。
【図5】本実施形態に係るクラウドサービスで実現される機能の一例を示す機能ブロック図である。
【図6】ユーザステータス管理データの一例を示す図である。
【図7】セーブデータの一例を示す図である。
【図8】ユーザステータス管理データの一例を示す図である。
【発明を実施するための形態】
【0025】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0026】
図1は、本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。図1に示すように、インターネットなどのコンピュータネットワーク14には、いずれもコンピュータを中心に構成されたクラウドサービス10、クライアント12(12−1〜12−n)、が接続されている。そして、クラウドサービス10、クライアント12は、互いに通信可能になっている。
【0027】
クライアント12は、クラウドサービス10のユーザが利用するコンピュータであり、例えば、パーソナルコンピュータ、ゲームコンソール、テレビ受像器、携帯型ゲーム装置、携帯情報端末、などである。そして、クライアント12は、例えば、CPU等の制御装置、ROMやRAM等の記憶素子やハードディスクドライブ等の記憶装置、ディスプレイ、スピーカ等の出力装置、ゲームコントローラ、タッチパッド、マウス、キーボード、マイク等の入力装置、ネットワークボード等の通信装置、DVD−ROMやBlu−ray(登録商標)ディスクなどの光ディスク(コンピュータ読み取り可能な情報記憶媒体)を読み取る光ディスクドライブ、等を備えている。
【0028】
また、本実施形態に係るクライアント12は、ウェブブラウザ及びクライアントプログラムが予めインストールされており、これらのアプリケーションプログラムが実行される。
【0029】
クラウドサービス10は、例えば、分散コンピューティング環境であり、互いに通信可能に接続されている複数台のWebアプリケーションサーバ、複数台のデータベースサーバ、複数台のストレージデバイス、などを含んで構成されている。クラウドサービス10に含まれるサーバは、例えば、CPU等の制御部、ROMやRAM等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードなどの通信インタフェースである通信部、を含んで構成されている。これらの要素は、バスを介して接続される。
【0030】
クラウドサービス10を利用するクライアント12は、クラウドサービス10内に存在するサーバやストレージデバイスなどのリソースの所在を特に意識することなく、クラウドサービス10が提供する各種サービスを利用することができる。
【0031】
本実施形態では、クライアント12が、ウェブブラウザを通じてクラウドサービス10にアクセスし、ユーザID及びパスワードを入力してログインしてから、その後に所定のURLにアクセスすると、クライアント12のディスプレイに所定のURLに対応する画面が表示される。なお、ユーザID及びパスワードを入力した後は、クラウドサービス10は、例えば、クッキーを参照することによりクライアント12を利用するユーザのユーザIDを特定することができるようになっている。
【0032】
本実施形態では、例えば、ユーザA、ユーザB、ユーザCが、クラウドサービス10にログインしており、ユーザD、ユーザEが、クラウドサービス10にログインしていないこととする。以下、ユーザA、ユーザB、ユーザC、ユーザD、ユーザEのユーザIDは、それぞれ、「001」、「002」、「003」、「004」、「005」であることとする。本実施形態では、ユーザがクラウドサービス10にログインすると、クライアント12のディスプレイに、図2に例示するセーブデータ一覧画面20が表示される。セーブデータ一覧画面20には、ユーザにより再開することができるゲームに対応づけられる、個別セーブ情報22が少なくとも1つ含まれている。図2は、ユーザAがクラウドサービス10にログインした際にユーザAのクライアント12のディスプレイに表示されるセーブデータ一覧画面20の一例を示す図である。個別セーブ情報22は、図3に例示するセーブデータ24に基づいて生成される。図3は、個別セーブ情報22に対応するセーブデータ24の一例を示す図である。セーブデータ24の詳細については後述する。
【0033】
ここで、ユーザは、クライアント12のディスプレイにセーブデータ一覧画面20が表示されている際に、プレイヤとして参加するゲーム(マルチプレイのゲーム)をはじめから開始するゲーム新規開始要求をクライアント12からクラウドサービス10に送信しても、個別セーブ情報22に対応するゲームの状況からマルチプレイのゲームの実行を再開するゲーム再開要求をクライアント12からクラウドサービス10に送信してもよい。
【0034】
本実施形態では、ユーザA、ユーザB、ユーザCのそれぞれが、クライアント12からゲーム新規開始要求を送信すると、クラウドサービス10は、3人のユーザ(ユーザA、ユーザB、ユーザC)がプレイヤとして参加するマルチプレイのゲームをはじめから実行する。一方、ユーザA、ユーザB、ユーザCのそれぞれが、クライアント12からゲーム再開要求を送信すると、クラウドサービス10は、ユーザA、ユーザB、ユーザCの3人のユーザがプレイヤとして参加するマルチプレイのゲームを、個別セーブ情報22に対応するゲームの状況から再開する。
【0035】
本実施形態では、クラウドサービス10で上述のゲームが実行されている際に、例えば、ユーザAがコントローラのセーブボタンを押下するなどのセーブ操作を行うと、ユーザAのクライアント12はセーブ要求をクラウドサービス10に送信する。すると、クラウドサービス10は、セーブ要求を受け付けた際におけるゲームの状況を示すゲーム状況データ、ユーザA、ユーザB、ユーザCそれぞれについての操作入力の出力元に対応する出力元情報、を少なくとも含むセーブデータ24を生成して保存する。
【0036】
そして、本実施形態では、上述のユーザA、ユーザB、ユーザCがクラウドサービス10にログインしているが、クラウドサービス10で上述のゲームが実行されていない際に、ユーザA、ユーザB、ユーザCがゲーム再開要求をクライアント12からクラウドサービス10に送信すると、クラウドサービス10は、上述のセーブデータ24に含まれるゲーム状況データが示す状況からゲームを再開するとともに、セーブデータ24に含まれる出力元情報に基づいて、各ユーザが使用するコントローラと、クラウドサービス10との接続関係を再現する。このようにして、本実施形態では、セーブ時点におけるゲームの状況から、各ユーザが使用するコントローラと、クラウドサービス10とのセーブ時点における接続関係が維持されたままゲームを再開することができる。
【0037】
図4は、本実施形態に係るクラウドサービス10とクライアント12との関係の一例を示す概念図である。本実施形態に係るクラウドサービス10では、例えば、管理プロセス30、サービス提供プロセス32、エミュレータ34が実行される。また、クラウドサービス10に含まれるストレージデバイス等の記憶装置には、予め、各種ゲームプログラムのイメージファイルが記憶されている。ゲームプログラムには、ゲームタイトル及びゲームの識別子であるゲームIDが関連付けられている。
【0038】
サービス提供プロセス32は、例えば、クラウドサービス10に含まれるサーバが、ショッピングサイトやSNS(Social Networking Service)等、クラウドサービス10が提供する種々のサービスを実現するプログラムを起動することで生成されるプロセスである。
【0039】
管理プロセス30は、例えば、クラウドサービス10に含まれるサーバが、クラウドサービス10に含まれるサーバやストレージデバイスにインストールされている管理プログラムを起動することで生成されるプロセスであり、エミュレータ34の所在管理処理、エミュレータ34の起動処理及び停止処理、クライアント12からの要求に応じたクライアント12とエミュレータ34との接続処理及び切断処理、などを実行する。
【0040】
本実施形態では、エミュレータ34は、複数の仮想コントローラポートを備えている。また、クライアント12は、複数のコントローラポートを備えている。そして、管理プロセス30が、クライアント12とエミュレータ34とを接続する際に、ユーザが操作入力を行うコントローラが接続されるクライアント12のコントローラポートを、エミュレータ34の仮想コントローラポートに割り当てる。
【0041】
エミュレータ34は、例えば、クラウドサービス10に含まれるサーバやストレージデバイスに記憶されているゲームプログラムを実行するための仮想マシンとして機能するプロセスである。エミュレータ34は、管理プロセス30が、クライアント12からの要求に応じて、クラウドサービス10に含まれるサーバやストレージデバイスにインストールされているエミュレータプログラムを起動することにより生成される。そして、管理プロセス30は、クライアント12からの要求に応じて、クライアント12により指定されたゲームプログラムのイメージファイルを読み込み、エミュレータ34にロードする。このことによって、エミュレータ34上でゲームプログラムが実行されることとなる。なお、エミュレータ34が、クライアント12により指定されたゲームプログラムを自プロセスにロードするようにしてもよい。
【0042】
また、エミュレータ34は、例えば、クライアント12や管理プロセス30からの要求に応じて、エミュレータ34が管理しているエミュレートされたメモリイメージやレジスタ(例えば、プログラムカウンタ等)、エミュレータ34上で動作するゲームプログラムによる入出力アクセスログ、エミュレータ34上で実行されるCPU命令やGPU命令のログなどを出力する。
【0043】
本実施形態では、図4に示すように、1つのエミュレータ34を1つのクライアント12が専有することができる(ゲームプログラムP1参照)。また、1つのエミュレータ34に対して複数のクライアント12が接続可能となっている(ゲームプログラムP2参照)。また、1つのエミュレータ34上で複数のゲームプログラムが実行可能となっている(ゲームプログラムP3、P4参照)。
【0044】
また、本実施形態では、図4に示すように、クライアント12にエミュレータプログラムがインストールされている場合は、管理プロセス30は、クライアント12からの要求に応じて、クライアント12にエミュレータ34の起動指示や停止指示を出力する。クライアント12は、管理プロセス30から受け付ける起動指示に応じて、クライアント12にインストールされているエミュレータプログラムを起動する。また、クライアント12は、管理プロセス30から受け付ける停止指示に応じて、実行中のエミュレータ34を停止する。そして、クライアント12に記憶されているゲームプログラムをクライアント12で実行されているエミュレータ34で実行することもできるようになっている(ゲームプログラムP5参照)。また、クライアント12で実行されているエミュレータ34に対して他のクライアント12から接続できるようになっている(ゲームプログラムP6参照)。
【0045】
また、本実施形態では、図4に示すように、1つのクライアント12が複数のエミュレータ34に接続することもできる(ゲームプログラムP7、P8参照)。
【0046】
また、本実施形態では、クライアント12が複数のコントローラポートを備えているので、1つのクライアント12が備える複数のコントローラポートのそれぞれが互いに異なる仮想コントローラポートに割り当てられることがある。
【0047】
図5は、本実施形態に係るクラウドサービス10で実現される機能の一例を示す機能ブロック図である。なお、図5には、以下の説明と特に関係がある機能が示されているにすぎず、本実施形態に係るクラウドサービス10では、図5に示す機能以外の機能も実現されている。
【0048】
図5に示すように、本実施形態に係るクラウドサービス10は、アカウントデータ記憶部40、ユーザステータス管理データ記憶部42、セーブデータ記憶部44、データ受信部46、ログイン処理実行部48、セーブデータ一覧画面生成部50、データ送信部52、エミュレータ管理部54、ゲーム実行部56、セーブデータ管理部58、を含んで構成される。アカウントデータ記憶部40、ユーザステータス管理データ記憶部42、セーブデータ記憶部44は、例えば、クラウドサービス10に含まれるサーバに含まれるメモリやハードディスクドライブ、ストレージデバイス、などといった記憶装置を主として実現される。データ受信部46、データ送信部52は、クラウドサービス10が備えるネットワークボードなどの通信インタフェースを主として実現される。ゲーム実行部56は、例えば、エミュレータ34で実現される機能に対応する。その他の要素は、例えば、管理プロセス30で実現される機能に対応する。
【0049】
クラウドサービス10は、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、図5においてクラウドサービス10が担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介してクラウドサービス10に供給される。
【0050】
アカウントデータ記憶部40には、ユーザID、パスワード、ユーザ名、住所、電話番号、メールアドレス、などが含まれる、ユーザのアカウントデータが記憶されている。
【0051】
ユーザステータス管理データ記憶部42には、図6に例示するユーザステータス管理データ60が記憶されている。ユーザステータス管理データ60は、例えば、ユーザがログインしているか否かなどといった、ユーザによるクラウドサービス10の利用状況を示すデータである。本実施形態では、ユーザステータス管理データ60は、例えば、ユーザIDと、ユーザステータスデータと、を含む。本実施形態では、ユーザステータスデータの値は、例えば、ユーザがクラウドサービス10にログインしている状態を表す「オンライン」、又は、ユーザがクラウドサービス10にログインしていない状態を表す「オフライン」のいずれかに設定されている。
【0052】
セーブデータ記憶部44には、図3に例示するセーブデータ24が記憶されている。セーブデータ24は、本実施形態では、例えば、セーブデータ24の識別子であるセーブデータID、セーブされるゲームのゲームID、上述のゲーム状況データの一例である、セーブ要求を受け付けた時点における、ゲームを実行しているエミュレータ34が管理しているメモリイメージの内容やレジスタの値を示すスナップショットデータ、セーブデータ24が生成された日時を示すセーブ日時データ、セーブ要求の出力元のユーザ(セーブデータ24の所有ユーザとなる。)のユーザIDである所有ユーザID、セーブされるゲームにプレイヤとして参加しているユーザ(以下、参加ユーザと呼ぶ。)を管理する参加プレイヤ管理データ、を含んでいる。
【0053】
本実施形態では、1つのセーブデータ24には、少なくとも1つの参加プレイヤ管理データが含まれている。本実施形態では、参加プレイヤ管理データには、参加ユーザのユーザIDである参加ユーザID、ゲームにおける参加ユーザのプレイヤ番号を示すプレイヤ番号情報、参加ユーザに割り当てられているエミュレータ34の仮想コントローラのポート番号を示す仮想ポート番号情報、参加ユーザの操作入力の出力元となる装置やコントローラを識別する出力元情報が含まれる。また、本実施形態では、出力元情報には、参加ユーザが利用するクライアント12のIPアドレスを示すクライアントIPアドレス情報と、クライアント12においてユーザが使用しているコントローラが接続されているコントローラポートのポート番号を示すポート番号情報と、が含まれている。このように、本実施形態では、セーブデータ24に、各参加ユーザに対応付けられる操作入力の出力元を示す出力元情報が含まれている。
【0054】
本実施形態では、例えば、データ受信部46が、クライアント12からユーザID及びパスワードを受け付けると、ログイン処理実行部48が、受け付けたユーザIDに関連付けられているパスワードが、アカウントデータにおいてそのユーザIDに関連付けられているパスワードに合致するか否かを判断するログイン処理を実行する。合致した場合(ログインに成功した場合)は、ログイン処理実行部48が、ログインに成功したユーザのユーザIDに関連付けられているユーザステータスデータの値を「オフライン」から「オンライン」に更新するとともに、セーブデータ一覧画面生成部50が、セーブデータ記憶部44に記憶されている、ログインしたユーザのユーザIDが所有ユーザIDとして設定されているセーブデータ24に基づいてセーブデータ一覧画面20を生成する。そして、データ送信部52は、セーブデータ一覧画面20をクライアント12に送信する。すると、クライアント12が、セーブデータ一覧画面20を受信して、ディスプレイに表示出力する。データ受信部46が受け付けたユーザIDに関連付けられているパスワードが、アカウントデータにおいてそのユーザIDに関連付けられているパスワードに合致しない場合(ログインに失敗した場合)は、データ送信部52が、ログインに失敗した旨をクライアント12に通知する。
【0055】
ここで、ユーザA、ユーザB、ユーザCがクラウドサービス10にログインしている(すなわち、ユーザA、ユーザB、ユーザCのユーザステータスデータの値が「オンライン」になっている)状況で、この3人のユーザがプレイヤとして参加するマルチプレイのゲームをはじめから実行し、ゲームの途中でゲームの状況をセーブし、各ユーザがゲームを終了し、クラウドサービス10からログアウトする場面における、クラウドサービス10及びクライアント12の動作について説明する。
【0056】
まず、データ受信部46が、ユーザA、ユーザB、ユーザCそれぞれのクライアント12から、プレイの対象となるゲームのゲームID(本実施形態では、例えば、「015」)に関連付けられた、ゲーム新規開始要求を受け付けると、エミュレータ管理部54が、ゲーム新規開始要求に応じて、エミュレータ34を起動し、起動したエミュレータ34に、ゲーム新規開始要求に関連付けられたゲームIDに対応するゲームのイメージファイルをロードする。
【0057】
そして、エミュレータ管理部54が、各ユーザにプレイヤ番号に割り当てる。本実施形態では、例えば、ユーザAにプレイヤ番号「1P」を割り当て、ユーザBにプレイヤ番号「2P」を割り当て、ユーザCにプレイヤ番号「3P」を割り当てる。
【0058】
そして、エミュレータ管理部54が、エミュレータ34の仮想コントローラポートに、ユーザが操作するコントローラの操作入力を割り当てる。エミュレータ管理部54は、具体的には、例えば、ユーザAのクライアント12のIPアドレス「xx.xx.xx.xx」とユーザAが使用するコントローラが接続されているクライアント12のコントローラポートのポート番号「2」の組合せを、仮想ポート番号が1番である仮想コントローラポート(仮想第1ポート)に関連付ける。また、エミュレータ管理部54は、ユーザBのクライアント12のIPアドレス「1yy.yy.yy.yy」とユーザBが使用するコントローラが接続されているクライアント12のコントローラポートのポート番号「1」の組合せを、仮想ポート番号が2番である仮想コントローラポート(仮想第2ポート)に関連付ける。また、エミュレータ管理部54は、ユーザCのクライアント12のIPアドレス「2zz.zz.zz.zz」とユーザCが使用するコントローラが接続されているクライアント12のコントローラポートのポート番号「1」の組合せを、仮想ポート番号が3番である仮想コントローラポート(仮想第3ポート)に関連付ける。
【0059】
そして、ゲーム実行部56は、ロードされたゲームの実行を、ゲームにおける最初の場面から開始する。ゲーム実行部56は、本実施形態では、ゲームの開始以降、所定のゲーム更新時間(例えば、1/60秒)毎に、ゲームの状況を示すゲーム状況データを更新するゲーム状況データ更新処理、更新後のゲーム状況データに基づいてゲームのプレイ内容を表すフレーム画像を生成するフレーム画像生成処理、生成されたフレーム画像をクライアント12に送信するフレーム画像送信処理、の順に、これら3つの処理を実行する。すなわち、ゲーム実行部56は、ゲーム更新時間間隔で、上述の3つの処理を順次実行するという処理を繰り返し実行する。
【0060】
本実施形態では、ゲーム実行部56は、ゲーム状況更新処理において、ゲームにおけるプレイヤオブジェクトや敵オブジェクトといったキャラクタオブジェクトなどの位置や向きを示すゲーム状況データを更新する処理を実行する。また、本実施形態では、ゲーム実行部56は、ゲーム状況更新処理において、更新後のオブジェクト間の衝突判定処理や、衝突判定結果に基づく、ゲームステージクリア判定処理、ミス判定処理なども併せて実行する。
【0061】
また、本実施形態では、ゲーム実行部56は、フレーム画像生成処理において、例えば、更新後のオブジェクト群の位置や向きを示すゲーム状況データに基づいてフレーム画像を生成する処理を実行する。また、本実施形態では、ゲーム実行部56は、フレーム画像送信処理において、例えば、生成されたフレーム画像を生成時刻順に順序付けられているフレーム画像の識別子であるフレームIDに関連付けてクライアント12に送信する。なお、本実施形態では、ゲーム実行部56は、各クライアント12に、そのクライアント12を利用するユーザに対応するフレーム画像を送信する。
【0062】
本実施形態では、クライアント12は、クラウドサービス10から順次送信されるフレーム画像を受信する。そして、クライアント12は、受信したフレーム画像が含まれるゲーム画面をディスプレイに表示出力する。本実施形態では、クライアント12は、関連付けられているフレームID順にフレーム画像を表示出力する。そして、表示出力されるフレーム画像は、順次更新される。このようにして、ゲームをプレイする様子を表す動画像がクラウドサービス10からクライアント12へストリーミング配信される。
【0063】
また、本実施形態では、ゲームの実行中に、クライアント12が、ユーザによるボタンの押下などのキー入力を受け付けた際に、入力に応じたキー情報(例えば、ユーザによるコントローラ操作に応じた操作信号(押下されたボタンの種別を示す信号など))を、クラウドサービス10に送信する。そして、データ受信部46は、キー情報を受け付ける。そして、ゲーム実行部56は、キー情報に対応する操作入力が、ユーザに割り当てられたエミュレータ34の仮想コントローラポートから入力されたものとして、キー情報に応じたゲーム状況データの更新(例えば、押下されたボタンが示す方向へのプレイヤオブジェクトの移動等)を実行する。本実施形態では、ゲーム実行部56は、ゲーム状況データの更新にあたって、IPアドレスが「xx.xx.xx.xx」であるクライアント12のポート番号「2」のコントローラポートに接続されたコントローラからの操作入力を、仮想第1ポートに入力された操作入力として取り扱い、IPアドレスが「1yy.yy.yy.yy」であるクライアント12のポート番号「1」のコントローラポートに接続されたコントローラからの操作入力を、仮想第2ポートに入力された操作入力として取り扱い、IPアドレスが「2zz.zz.zz.zz」であるクライアント12のポート番号「1」のコントローラポートに接続されたコントローラからの操作入力を、仮想第3ポートに入力された操作入力として取り扱う。
【0064】
そして、クラウドサービス10によるゲームの実行中に、ゲームに参加するユーザのクライアント12が、クラウドサービス10にセーブ要求を送信すると、データ受信部46は、セーブ要求を受け付ける。そして、セーブデータ管理部58は、セーブ要求に応じて、例えば、図3に例示するセーブデータ24を生成して、セーブデータ記憶部44に出力する。図3に示すように、この状況においてセーブデータ管理部58が生成するセーブデータ24には、例えば、セーブデータIDの値として新規の値である「001」が設定され、ゲームIDの値としてセーブの対象となるゲームのゲームIDである「015」が設定され、セーブ要求を受け付けた時点のスナップショットデータが含まれ、セーブ日時データの値としてセーブ要求を受け付けた日時が設定され、所有ユーザIDの値としてセーブ要求の要求元のユーザのユーザID「001」が設定されている。そして、このセーブデータ24には、それぞれ参加ユーザに対応する3つの参加プレイヤ管理データが含まれている。参加プレイヤ管理データには、参加ユーザのユーザIDが参加ユーザIDの値として設定され、参加ユーザに割り当てられたプレイヤ番号がプレイヤ番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザが利用するクライアント12のIPアドレスが出力先情報のクライアントIPアドレス情報の値として設定され、参加ユーザが操作するコントローラが接続されるクライアント12のコントローラポートのポート番号が出力先情報のポート番号情報の値として設定されている。
【0065】
このようにして、本実施形態では、セーブ時点におけるゲームの状況を示すスナップショットデータが、ゲームに参加している各ユーザが利用するクライアント12やコントローラを識別する出力元情報と関連付けられて記憶されることとなる。
【0066】
本実施形態では、ゲームに参加しているユーザのクライアント12が、ゲームの終了要求をクラウドサービス10に送信すると、データ受信部46がゲームの終了要求を受信して、ゲーム実行部56がエミュレータ管理部54に、ゲームの終了を指示する。そして、エミュレータ管理部54は、ゲームが実行されていたエミュレータ34とクライアント12との接続を切断する処理を実行して、ゲームが実行されていたエミュレータ34の停止処理を実行する。
【0067】
また、本実施形態では、ユーザがクライアント12からログアウト要求をクラウドサービス10に送信すると、データ受信部46は、このログアウト要求を受信する。そして、エミュレータ管理部54が、クライアント12とクラウドサービス10との接続を切断するとともに、ユーザステータス管理データ60において、そのユーザのユーザIDに関連付けられているユーザステータスデータの値を「オンライン」から「オフライン」に更新する。
【0068】
次に、ユーザA、ユーザB、ユーザCがクラウドサービス10にログインしている(すなわち、ユーザA、ユーザB、ユーザCのユーザステータスデータの値が「オンライン」になっている)状況で、この3人のユーザがプレイヤとして参加するマルチプレイのゲームを、セーブデータ24が示すゲームの状況から再開する際における、クラウドサービス10及びクライアント12の動作について説明する。
【0069】
ここでは、ユーザAのクライアント12に、図2に示すセーブデータ一覧画面20が表示されていることとする。セーブデータ一覧画面20には、クライアント12を利用するユーザのユーザIDが所有ユーザIDの値として設定されているセーブデータ24に対応する個別セーブ情報22が含まれている。個別セーブ情報22には、セーブデータ24に含まれるゲームIDに基づいて特定されるゲームタイトル、セーブデータ24に含まれるセーブ日時データが示す日時、セーブデータ24に含まれる各参加ユーザIDそれぞれのユーザ名と、そのユーザのログイン状況を示すアイコン(オンラインであるかオフラインであるかを示すアイコン)、が含まれている。また、本実施形態では、個別セーブ情報22には、セーブデータIDが関連付けられている。
【0070】
本実施形態では、セーブデータ一覧画面生成部50は、ユーザステータスデータに基づいて、参加ユーザIDが示すユーザがログインしているか否かを判断する。ここでは、ユーザA、ユーザB、ユーザCは、クラウドサービス10にログインしており、ユーザステータスデータの値が「オンライン」であるので、セーブデータ一覧画面生成部50は、ユーザA、ユーザB、ユーザCそれぞれのユーザ名の右に丸印のアイコンを配置する。また、ユーザD、ユーザEは、クラウドサービス10にログインしておらず、ユーザステータスデータの値が「オフライン」であるので、セーブデータ一覧画面生成部50は、ユーザD、ユーザEそれぞれのユーザ名の右にバツ印のアイコンを配置する。
【0071】
また、本実施形態では、図2に示すように、セーブデータ一覧画面生成部50は、セーブデータ一覧画面20内の、参加ユーザIDに対応するユーザのすべてがオンラインになっている個別セーブ情報22を強調表示(枠線の表示、他の個別セーブ情報22とは異なる色の表示等)させる。
【0072】
そして、ユーザAが、クライアント12のコントローラで、強調表示されている個別セーブ情報22(参加していたユーザのすべてがログインしているゲームに対応する個別セーブ情報22)を選択する操作を行うと、ユーザAのクライアント12は、ゲーム再開要求をクラウドサービス10に送信する。すると、データ受信部46は、ゲーム再開要求を受け付ける。ゲーム再開要求には、選択された個別セーブ情報22に関連付けられているセーブデータIDが関連付けられている。そして、データ送信部52は、ユーザA以外の参加ユーザである、ユーザB、ユーザCのクライアント12にゲーム再開要求受付通知を送信する。
【0073】
すると、ユーザBのクライアント12、及び、ユーザCのクライアント12は、ゲームゲーム再開要求受付通知を受け付ける。そして、クライアント12は、ゲーム再開要求受付通知に応じて、ゲームの再開を承認するか否かを選択する画面をクライアント12のディスプレイにポップアップ表示させる。
【0074】
ここで、ユーザB、ユーザCのクライアント12が、ゲーム再開要求をクラウドサービス10に送信すると、データ受信部46が、ゲーム再開要求を受け付ける。このようにして、クラウドサービス10が、セーブデータ24に対応するゲームの参加ユーザ全員からゲーム再開要求を受け付けると、エミュレータ管理部54は、ゲーム再開要求に応じて、エミュレータ34を起動する。そして、セーブデータ管理部58は、セーブデータ24においてゲーム再開要求に関連付けられたセーブデータIDを含むセーブデータ24をセーブデータ記憶部44から取得する。そして、エミュレータ管理部54は、起動したエミュレータ34に、取得したセーブデータ24に含まれるゲームIDに対応するゲームのイメージファイルをロードする。そして、セーブデータ管理部58は、取得したセーブデータ24に含まれるプレイヤ番号情報に基づいて、ユーザAにプレイヤ番号「1P」を割り当て、ユーザBにプレイヤ番号「2P」を割り当て、ユーザCにプレイヤ番号「3P」を割り当てる。また、セーブデータ管理部58は、取得したセーブデータ24に含まれる仮想ポート番号情報及び出力元情報に基づいて、IPアドレス「xx.xx.xx.xx」とコントローラポートのポート番号「2」の組合せを、仮想第1ポートに割り当て、IPアドレス「1yy.yy.yy.yy」とコントローラポートのポート番号「2」の組合せを、仮想第2ポートに割り当て、IPアドレス「2zz.zz.zz.zz」とコントローラポートのポート番号「1」の組合せを、仮想第3ポートに割り当てる。
【0075】
そして、ゲーム実行部56は、セーブデータ管理部58が取得したセーブデータ24に含まれるスナップショットデータが示す状況からのシューティングゲームの実行を開始する。ゲーム実行部56は、具体的には、例えば、セーブデータ24に含まれるスナップショットデータに応じた、ゲームを実行しているエミュレータ34が管理しているメモリイメージの内容やレジスタの値の設定を行った上で、上述のゲームの実行を開始する。そして、本実施形態では、ゲーム実行部56は、ゲームが実行されている間、IPアドレス「xx.xx.xx.xx」のクライアント12のポート番号「2」のコントローラポートに接続されたコントローラからの操作入力を、仮想第1ポートに入力された操作入力として取り扱い、IPアドレス「1yy.yy.yy.yy」のクライアント12のポート番号「2」のコントローラポートに接続されたコントローラからの操作入力を、仮想第2ポートに入力された操作入力として取り扱い、IPアドレス「2zz.zz.zz.zz」のクライアント12のポート番号「1」のコントローラポートに接続されたコントローラからの操作入力を、仮想第3ポートに入力された操作入力として取り扱う。
【0076】
このようにして、ユーザA、ユーザB、ユーザCは、セーブ時点におけるゲームの状況から、各ユーザが使用するコントローラと、クラウドサービス10とのセーブ時点における接続関係が維持されたままゲームを再開することができる。
【0077】
なお、本発明は上述の実施形態に限定されるものではない。以下、本発明の別の実施形態について、上述の実施形態とは異なる点を中心に説明する。なお、この実施形態において、以下の説明で特に触れていない点については、上述の実施形態と同様であることとする。
【0078】
図7は、この実施形態におけるセーブデータ24の一例を示す図である。そして、図8は、この実施形態におけるユーザステータス管理データ60の一例を示す図である。
【0079】
図7に示すように、この実施形態におけるセーブデータ24に含まれる出力元情報には、参加ユーザが利用するクライアント12のIPアドレスを示すクライアントIPアドレス情報が含まれておらず、クライアント12においてユーザが使用しているコントローラが接続されているコントローラポートのポート番号を示すポート番号情報だけが含まれている。
【0080】
また、図8に示すように、この実施形態におけるユーザステータス管理データ60は、例えば、ユーザIDと、ユーザステータスデータと、クライアントIPアドレス情報と、が含まれている。本実施形態では、ユーザステータスデータの値が「オンライン」であるユーザについては、そのユーザが現在使用しているクライアント12のIPアドレスが、クライアントIPアドレス情報として設定される。すなわち、ログイン処理実行部48は、ログインに成功したユーザについては、そのユーザのユーザIDに関連付けられているユーザステータスデータの値を「オフライン」から「オンライン」に更新するとともに、ユーザID及びパスワードの出力元のクライアント12のIPアドレスを、そのユーザのユーザIDに関連付けられているクライアントIPアドレス情報の値として設定する。
【0081】
そして、この実施形態では、データ受信部46がセーブ要求を受け付けた際に、セーブデータ管理部58は、参加ユーザのユーザIDが参加ユーザIDの値として設定され、参加ユーザに割り当てられたプレイヤ番号がプレイヤ番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザが操作するコントローラが接続されるクライアント12のコントローラポートのポート番号が出力先情報のポート番号情報の値として設定されたセーブデータ24を生成する。
【0082】
そして、この実施形態では、データ受信部46が、ゲーム再開要求を受け付けた際には、エミュレータ管理部54によるエミュレータ34の起動、セーブデータ管理部58によるセーブデータ24の取得、エミュレータ管理部54によるゲームプログラムのロードが行われる。そして、セーブデータ管理部58は、取得したセーブデータ24に含まれるプレイヤ番号情報に基づいて、ユーザAにプレイヤ番号「1P」を割り当て、ユーザBにプレイヤ番号「2P」を割り当て、ユーザCにプレイヤ番号「3P」を割り当てる。
【0083】
また、セーブデータ管理部58は、ユーザステータス管理データ60に基づいて、ユーザAが現在使用しているクライアント12のIPアドレスが「xx.xx.xx.xx」であること、ユーザBが現在使用しているクライアント12のIPアドレスが「1yy.yy.yy.yy」であること、及び、ユーザCが現在使用しているクライアント12のIPアドレスが「2zz.zz.zz.zz」であること、を特定する。
【0084】
そして、セーブデータ管理部58は、取得したセーブデータ24に含まれる仮想ポート番号情報及び出力元情報、並びに、特定されたIPアドレスに基づいて、IPアドレス「xx.xx.xx.xx」とコントローラポートのポート番号「2」の組合せを、仮想第1ポートに割り当て、IPアドレス「1yy.yy.yy.yy」とコントローラポートのポート番号「2」の組合せを、仮想第2ポートに割り当て、IPアドレス「2zz.zz.zz.zz」とコントローラポートのポート番号「1」の組合せを、仮想第3ポートに割り当てる。
【0085】
この実施形態では、ゲームをセーブする際に使用していたクライアント12と、ゲームを再開する際に使用しているクライアント12が異なっていても、プレイヤが使用しているクライアント12を特定することができるので、マルチプレイでのゲームを再開する際における、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現精度が向上することとなる。
【0086】
なお、本発明は上述の実施形態にも限定されるものではない。
【0087】
例えば、セーブデータ一覧画面生成部50が、セーブデータ一覧画面20の送信先となるクライアント12を利用するユーザのユーザIDが所有ユーザIDの値として設定されているセーブデータ24に対応する個別セーブ情報22が含まれているセーブデータ一覧画面20を生成する代わりに、セーブデータ一覧画面20の送信先となるクライアント12を利用するユーザのユーザIDが参加ユーザIDの値として設定されているセーブデータ24に対応する個別セーブ情報22が含まれているセーブデータ一覧画面20を生成してもよい。こうすれば、ユーザは、プレイヤとして参加したゲームの個別セーブ情報22を選択して、選択された個別セーブ情報22に関連付けられているセーブデータIDが関連付けられたゲーム再開要求をクライアント12からクラウドサービス10に送信することができる。
【0088】
また、例えば、所定数のユーザ以上がオンラインになっている(ログインしている)個別セーブ情報22については、ユーザは、その個別セーブ情報22を選択して、選択された個別セーブ情報22に関連付けられているセーブデータIDが関連付けられたゲーム再開要求をクライアント12からクラウドサービス10に送信できるようにしてもよい。そして、データ送信部52が、このゲーム再開要求に応じて、参加ユーザのクライアント12にゲーム再開要求受付通知を送信するようにしてもよい。
【0089】
また、例えば、データ送信部52は、受け付けるゲーム再開要求に応じて、クライアント12(例えば、オフラインであるユーザのクライアント12)に電子メールでゲーム再開要求受付通知を送信してもよい。
【0090】
また、例えば、セーブデータ管理部58が、セーブデータ24に含まれる参加プレイヤ管理データそれぞれに対応するユーザのユーザステータスデータの値を監視するようにしてもよい。そして、セーブデータ管理部58が、セーブデータ24に含まれる参加ユーザIDに対応するユーザのうち所定数以上のユーザについて、ユーザステータスデータの値が「オンライン」であることを検出した際に(例えば、セーブデータ24に含まれる参加ユーザIDに対応するすべてのユーザについて、ユーザステータスデータの値が「オンライン」であることを検出した際に)、データ送信部52が、その旨を、各参加ユーザのクライアント12に通知するようにしてもよい。
【0091】
また、クライアント12に複数のコントローラポートを備えていなくてもよい。そして、出力元情報が、例えば、クライアント12のアドレスだけを含んでいてもよい。
【0092】
また、例えば、クラウドサービス10は、記憶装置に記憶されているセーブデータ24を取得して、ゲームに参加する各プレイヤについて、仮想コントローラのポート番号に対する、クライアント12のIPアドレス及びプレイヤが操作するコントローラのポート番号の組合せを割り当てた上で、セーブデータ24が示す状況からのゲームの実行を行う機能(いわゆるロード機能)だけを備えていてもよい。また、例えば、クラウドサービス10は、上述のロード機能を備えた装置に、図3や図7に例示するセーブデータ24を提供する(ロード機能を備えた装置がデータを読み取ることができる(アクセス可能な)記憶装置にセーブデータ24を出力する)機能(いわゆるセーブ機能)だけを備えていてもよい。
【0093】
また、例えば、ゲーム状況データは、ゲームにおけるパラメータやステータスを示すデータでもよい。また、例えば、クラウドサービス10で実現されている機能が単一のサーバにより実現されていてもよい。また、ゲームプログラムはエミュレータ34上で実行される必要はなく、例えば、クラウドサービス10やクライアント12のシステムソフトウェア(オペレーティングシステム等)上で実行されてもよい。また、クラウドサービス10とクライアント12の役割分担は上述の例には限定されない。
【0094】
また、上記の具体的な数値や文字列や図面中の具体的な数値や文字列は例示であり、これらの数値や文字列には限定されない。
【符号の説明】
【0095】
10 クラウドサービス、12 クライアント、14 コンピュータネットワーク、20 セーブデータ一覧画面、22 個別セーブ情報、24 セーブデータ、30 管理プロセス、32 サービス提供プロセス、34 エミュレータ、40 アカウントデータ記憶部、42 ユーザステータス管理データ記憶部、44 セーブデータ記憶部、46 データ受信部、48 ログイン処理実行部、50 セーブデータ一覧画面生成部、52 データ送信部、54 エミュレータ管理部、56 ゲーム実行部、58 セーブデータ管理部、60 ユーザステータス管理データ。

【特許請求の範囲】
【請求項1】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、
を含むことを特徴とするゲームシステム。
【請求項2】
前記出力手段は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子及び当該プレイヤに対応付けられる操作入力の出力元を示す出力元情報を記憶手段に出力し、
前記設定手段は、前記ゲームに参加する各プレイヤについて、受け付ける操作入力を、当該ゲーム状況データに関連付けて前記記憶手段に記憶されている出力元情報で当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う、
ことを特徴とする請求項1に記載のゲームシステム。
【請求項3】
前記出力手段は、前記ゲームの実行中に受け付ける要求に応じて、実行中のゲームにおいてプレイヤからの操作入力として取り扱っている操作入力の出力元を示す情報を、当該プレイヤに対応付けられる出力元情報として前記記憶手段に出力する、
ことを特徴とする請求項2に記載のゲームシステム。
【請求項4】
前記記憶手段に識別子が記憶されている複数のプレイヤのうちの所定数以上が前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する通知手段、をさらに含む、
ことを特徴とする請求項1から3のいずれか一項に記載のゲームシステム。
【請求項5】
前記通知手段は、前記複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する、
ことを特徴とする請求項4に記載のゲームシステム。
【請求項6】
前記複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行する、
ことを特徴とする請求項1から5のいずれか一項に記載のゲームシステム。
【請求項7】
前記記憶手段に識別子が記憶されている複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行する、
ことを特徴とする請求項6に記載のゲームシステム。
【請求項8】
前記出力元情報は、各プレイヤが操作するコントローラを示しており、
前記設定手段は、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、コントローラから受け付ける操作信号を、当該ゲーム状況データに関連付けて前記記憶手段に記憶されている出力元情報で当該コントローラを操作するプレイヤとして示されているプレイヤが操作するコントローラからの操作信号として取り扱う設定を行う、
ことを特徴とする請求項2から7のいずれか一項に記載のゲームシステム。
【請求項9】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、
を含むことを特徴とするゲームシステム。
【請求項10】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段と、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、
を含むことを特徴とするゲームシステム。
【請求項11】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、
を含むことを特徴とするゲームシステムの制御方法。
【請求項12】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力ステップ、
を含むことを特徴とするゲームシステムの制御方法。
【請求項13】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得するステップと、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、
を含むことを特徴とするゲームシステムの制御方法。
【請求項14】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項15】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項16】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項17】
請求項14から16のいずれか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate