(57)【要約】【課題】マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができるゲームシステムを提供する。【解決手段】セーブデータ管理部５８は、ゲーム状況データに関連付けて、ゲームに参加する各プレイヤについての、プレイヤの識別子をセーブデータ記憶部４４に出力する。セーブデータ管理部５８は、ゲーム状況データが示す状況からのゲームの実行の際に、ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、この操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う。ゲーム実行部５６は、ゲーム状況データが示す状況からゲームをセーブデータ管理部５８による設定に従って実行する。【選択図】図５
2012125451.tif 000002
【特許請求の範囲】
【請求項１】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、
を含むことを特徴とするゲームシステム。
【請求項２】
前記出力手段は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子及び当該プレイヤに対応付けられる操作入力の出力元を示す出力元情報を記憶手段に出力し、
前記設定手段は、前記ゲームに参加する各プレイヤについて、受け付ける操作入力を、当該ゲーム状況データに関連付けて前記記憶手段に記憶されている出力元情報で当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う、
ことを特徴とする請求項１に記載のゲームシステム。
【請求項３】
前記出力手段は、前記ゲームの実行中に受け付ける要求に応じて、実行中のゲームにおいてプレイヤからの操作入力として取り扱っている操作入力の出力元を示す情報を、当該プレイヤに対応付けられる出力元情報として前記記憶手段に出力する、
ことを特徴とする請求項２に記載のゲームシステム。
【請求項４】
前記記憶手段に識別子が記憶されている複数のプレイヤのうちの所定数以上が前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する通知手段、をさらに含む、
ことを特徴とする請求項１から３のいずれか一項に記載のゲームシステム。
【請求項５】
前記通知手段は、前記複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する、
ことを特徴とする請求項４に記載のゲームシステム。
【請求項６】
前記複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行する、
ことを特徴とする請求項１から５のいずれか一項に記載のゲームシステム。
【請求項７】
前記記憶手段に識別子が記憶されている複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行する、
ことを特徴とする請求項６に記載のゲームシステム。
【請求項８】
前記出力元情報は、各プレイヤが操作するコントローラを示しており、
前記設定手段は、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、コントローラから受け付ける操作信号を、当該ゲーム状況データに関連付けて前記記憶手段に記憶されている出力元情報で当該コントローラを操作するプレイヤとして示されているプレイヤが操作するコントローラからの操作信号として取り扱う設定を行う、
ことを特徴とする請求項２から７のいずれか一項に記載のゲームシステム。
【請求項９】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、
を含むことを特徴とするゲームシステム。
【請求項１０】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段と、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、
を含むことを特徴とするゲームシステム。
【請求項１１】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、
を含むことを特徴とするゲームシステムの制御方法。
【請求項１２】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力ステップ、
を含むことを特徴とするゲームシステムの制御方法。
【請求項１３】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得するステップと、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、
を含むことを特徴とするゲームシステムの制御方法。
【請求項１４】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段、
前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１５】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、
前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１６】
複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、
当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、
前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１７】
請求項１４から１６のいずれか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
ネットワークを介して複数のゲーム装置を接続して、ゲームに参加するプレイヤが自分のゲーム装置を操作することで、複数のプレイヤが参加するゲーム（マルチプレイのゲーム）を楽しむことができるゲームシステムが存在する。
【０００３】
特許文献１には、所定の目的を達成してエリアをクリアすることで、敵キャラクタに倒されるなどして死亡したプレイヤを救済することができる友好モードと、相手のプレイヤのプレイヤキャラクタとの対戦に勝利したときに、敵キャラクタに倒されるなどして死亡したプレイヤを救済することができる敵対モードと、の２種類のマルチプレイを楽しむことができるゲーム装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−８８６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチプレイのゲームを楽しむことができるゲームシステムにおいては、マルチプレイのゲームを複数のプレイヤが楽しんでいる途中に、ゲームの状況を保存できることが望ましい。そして、同じプレイヤの組合せによりゲームを再開させようとした場合に、保存されているデータを用いて、セーブ時点におけるゲームの状況だけでなく、各プレイヤに割り当てられているコントローラの接続状況、などといった、各プレイヤについての操作入力の出力元に関する状況も再現できることができれば便利である。
【０００６】
本発明は上記課題に鑑みてなされたものであって、マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができるゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段と、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、を含むことを特徴とする。
【０００８】
また、本発明に係る別のゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、を含むことを特徴とする。
【０００９】
また、本発明に係るさらに別のゲームシステムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段と、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段と、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段と、を含むことを特徴とする。
【００１０】
また、本発明に係るゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、を含むことを特徴とする。
【００１１】
また、本発明に係る別のゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力ステップ、を含むことを特徴とする。
【００１２】
また、本発明に係るさらに別のゲームシステムの制御方法は、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得するステップと、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定ステップと、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定ステップでの設定に従って実行するゲーム実行ステップと、を含むことを特徴とする。
【００１３】
また、本発明に係るプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子を記憶手段に出力する出力手段、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、としてコンピュータを機能させることを特徴とする。
【００１４】
また、本発明に係る別のプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、及び、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、を含む装置により取得される前記ゲーム状況データを記憶する前記記憶装置に、前記ゲームに参加する各プレイヤの識別子に関連付けられた前記ゲーム状況データを出力する出力手段、としてコンピュータを機能させることを特徴とする。
【００１５】
また、本発明に係るさらに別のプログラムは、複数のプレイヤが参加しているゲームの状況を示すゲーム状況データに関連付けて、当該ゲームに参加する各プレイヤについての、プレイヤの識別子が記憶されている記憶手段から、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、プレイヤの識別子に関連付けられたゲーム状況データを取得する手段、当該ゲームに参加する各プレイヤについて、受け付ける操作入力を、プレイヤと、操作入力の出力元と、が対応付けられている情報において、当該操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定を行う設定手段、前記記憶手段に記憶されているゲーム状況データが示す状況から、当該ゲーム状況データに関連付けて前記記憶手段に識別子が記憶されている複数のプレイヤが参加する前記ゲームを前記設定手段による設定に従って実行するゲーム実行手段、としてコンピュータを機能させることを特徴とする。
【００１６】
また、上記のいずれのプログラムもコンピュータ読み取り可能な情報記憶媒体に記憶することもできる。
【００１７】
本発明によると、ゲーム状況データが示す状況からのゲームの実行の際に、ゲームに参加する各プレイヤについて、受け付ける操作入力を、ゲーム状況データに関連付けられている出力元情報でこの操作入力の出力元に対応付けられているプレイヤからの操作入力として取り扱う設定が行われるので、マルチプレイでのゲームを再開する際に、ゲームの状況が再現されるだけではなく、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現することができる。
【００１８】
本発明の一態様では、前記出力手段は、前記ゲームの実行中に受け付ける要求に応じて、実行中のゲームにおいてプレイヤからの操作入力として取り扱っている操作入力の出力元を示す情報を、当該プレイヤに対応付けられる出力元情報として前記記憶手段に出力することを特徴とする。
【００１９】
また、本発明の一態様では、前記記憶手段に識別子が記憶されている複数のプレイヤのうちの所定数以上が前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知する通知手段、をさらに含むことを特徴とする。
【００２０】
この態様では、前記通知手段は、前記複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤにその旨を通知してもよい。
【００２１】
また、本発明の一態様では、前記複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行することを特徴とする。
【００２２】
この態様では、前記記憶手段に識別子が記憶されている複数のプレイヤのすべてが前記ゲームシステムにログインしている際に、当該複数のプレイヤのうちの少なくとも一部から受け付ける要求に応じて、前記設定手段が前記設定を行い、前記ゲーム実行手段が前記ゲームを実行してもよい。
【００２３】
また、本発明の一態様では、前記出力元情報は、各プレイヤが操作するコントローラを示しており、前記設定手段は、前記記憶手段に記憶されているゲーム状況データが示す状況からのゲームの実行の際に、コントローラから受け付ける操作信号を、前記ゲーム状況データに関連付けられている出力元情報で当該コントローラを操作するプレイヤとして示されているプレイヤが操作するコントローラからの操作信号として取り扱う設定を行うことを特徴とする。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。
【図２】セーブデータ一覧画面の一例を示す図である。
【図３】セーブデータの一例を示す図である。
【図４】本実施形態に係るクラウドサービスとクライアントとの関係の一例を示す概念図である。
【図５】本実施形態に係るクラウドサービスで実現される機能の一例を示す機能ブロック図である。
【図６】ユーザステータス管理データの一例を示す図である。
【図７】セーブデータの一例を示す図である。
【図８】ユーザステータス管理データの一例を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００２６】
図１は、本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。図１に示すように、インターネットなどのコンピュータネットワーク１４には、いずれもコンピュータを中心に構成されたクラウドサービス１０、クライアント１２（１２−１〜１２−ｎ）、が接続されている。そして、クラウドサービス１０、クライアント１２は、互いに通信可能になっている。
【００２７】
クライアント１２は、クラウドサービス１０のユーザが利用するコンピュータであり、例えば、パーソナルコンピュータ、ゲームコンソール、テレビ受像器、携帯型ゲーム装置、携帯情報端末、などである。そして、クライアント１２は、例えば、ＣＰＵ等の制御装置、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブ等の記憶装置、ディスプレイ、スピーカ等の出力装置、ゲームコントローラ、タッチパッド、マウス、キーボード、マイク等の入力装置、ネットワークボード等の通信装置、ＤＶＤ−ＲＯＭやＢｌｕ−ｒａｙ（登録商標）ディスクなどの光ディスク（コンピュータ読み取り可能な情報記憶媒体）を読み取る光ディスクドライブ、等を備えている。
【００２８】
また、本実施形態に係るクライアント１２は、ウェブブラウザ及びクライアントプログラムが予めインストールされており、これらのアプリケーションプログラムが実行される。
【００２９】
クラウドサービス１０は、例えば、分散コンピューティング環境であり、互いに通信可能に接続されている複数台のＷｅｂアプリケーションサーバ、複数台のデータベースサーバ、複数台のストレージデバイス、などを含んで構成されている。クラウドサービス１０に含まれるサーバは、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードなどの通信インタフェースである通信部、を含んで構成されている。これらの要素は、バスを介して接続される。
【００３０】
クラウドサービス１０を利用するクライアント１２は、クラウドサービス１０内に存在するサーバやストレージデバイスなどのリソースの所在を特に意識することなく、クラウドサービス１０が提供する各種サービスを利用することができる。
【００３１】
本実施形態では、クライアント１２が、ウェブブラウザを通じてクラウドサービス１０にアクセスし、ユーザＩＤ及びパスワードを入力してログインしてから、その後に所定のＵＲＬにアクセスすると、クライアント１２のディスプレイに所定のＵＲＬに対応する画面が表示される。なお、ユーザＩＤ及びパスワードを入力した後は、クラウドサービス１０は、例えば、クッキーを参照することによりクライアント１２を利用するユーザのユーザＩＤを特定することができるようになっている。
【００３２】
本実施形態では、例えば、ユーザＡ、ユーザＢ、ユーザＣが、クラウドサービス１０にログインしており、ユーザＤ、ユーザＥが、クラウドサービス１０にログインしていないこととする。以下、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥのユーザＩＤは、それぞれ、「００１」、「００２」、「００３」、「００４」、「００５」であることとする。本実施形態では、ユーザがクラウドサービス１０にログインすると、クライアント１２のディスプレイに、図２に例示するセーブデータ一覧画面２０が表示される。セーブデータ一覧画面２０には、ユーザにより再開することができるゲームに対応づけられる、個別セーブ情報２２が少なくとも１つ含まれている。図２は、ユーザＡがクラウドサービス１０にログインした際にユーザＡのクライアント１２のディスプレイに表示されるセーブデータ一覧画面２０の一例を示す図である。個別セーブ情報２２は、図３に例示するセーブデータ２４に基づいて生成される。図３は、個別セーブ情報２２に対応するセーブデータ２４の一例を示す図である。セーブデータ２４の詳細については後述する。
【００３３】
ここで、ユーザは、クライアント１２のディスプレイにセーブデータ一覧画面２０が表示されている際に、プレイヤとして参加するゲーム（マルチプレイのゲーム）をはじめから開始するゲーム新規開始要求をクライアント１２からクラウドサービス１０に送信しても、個別セーブ情報２２に対応するゲームの状況からマルチプレイのゲームの実行を再開するゲーム再開要求をクライアント１２からクラウドサービス１０に送信してもよい。
【００３４】
本実施形態では、ユーザＡ、ユーザＢ、ユーザＣのそれぞれが、クライアント１２からゲーム新規開始要求を送信すると、クラウドサービス１０は、３人のユーザ（ユーザＡ、ユーザＢ、ユーザＣ）がプレイヤとして参加するマルチプレイのゲームをはじめから実行する。一方、ユーザＡ、ユーザＢ、ユーザＣのそれぞれが、クライアント１２からゲーム再開要求を送信すると、クラウドサービス１０は、ユーザＡ、ユーザＢ、ユーザＣの３人のユーザがプレイヤとして参加するマルチプレイのゲームを、個別セーブ情報２２に対応するゲームの状況から再開する。
【００３５】
本実施形態では、クラウドサービス１０で上述のゲームが実行されている際に、例えば、ユーザＡがコントローラのセーブボタンを押下するなどのセーブ操作を行うと、ユーザＡのクライアント１２はセーブ要求をクラウドサービス１０に送信する。すると、クラウドサービス１０は、セーブ要求を受け付けた際におけるゲームの状況を示すゲーム状況データ、ユーザＡ、ユーザＢ、ユーザＣそれぞれについての操作入力の出力元に対応する出力元情報、を少なくとも含むセーブデータ２４を生成して保存する。
【００３６】
そして、本実施形態では、上述のユーザＡ、ユーザＢ、ユーザＣがクラウドサービス１０にログインしているが、クラウドサービス１０で上述のゲームが実行されていない際に、ユーザＡ、ユーザＢ、ユーザＣがゲーム再開要求をクライアント１２からクラウドサービス１０に送信すると、クラウドサービス１０は、上述のセーブデータ２４に含まれるゲーム状況データが示す状況からゲームを再開するとともに、セーブデータ２４に含まれる出力元情報に基づいて、各ユーザが使用するコントローラと、クラウドサービス１０との接続関係を再現する。このようにして、本実施形態では、セーブ時点におけるゲームの状況から、各ユーザが使用するコントローラと、クラウドサービス１０とのセーブ時点における接続関係が維持されたままゲームを再開することができる。
【００３７】
図４は、本実施形態に係るクラウドサービス１０とクライアント１２との関係の一例を示す概念図である。本実施形態に係るクラウドサービス１０では、例えば、管理プロセス３０、サービス提供プロセス３２、エミュレータ３４が実行される。また、クラウドサービス１０に含まれるストレージデバイス等の記憶装置には、予め、各種ゲームプログラムのイメージファイルが記憶されている。ゲームプログラムには、ゲームタイトル及びゲームの識別子であるゲームＩＤが関連付けられている。
【００３８】
サービス提供プロセス３２は、例えば、クラウドサービス１０に含まれるサーバが、ショッピングサイトやＳＮＳ（Social Networking Service）等、クラウドサービス１０が提供する種々のサービスを実現するプログラムを起動することで生成されるプロセスである。
【００３９】
管理プロセス３０は、例えば、クラウドサービス１０に含まれるサーバが、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされている管理プログラムを起動することで生成されるプロセスであり、エミュレータ３４の所在管理処理、エミュレータ３４の起動処理及び停止処理、クライアント１２からの要求に応じたクライアント１２とエミュレータ３４との接続処理及び切断処理、などを実行する。
【００４０】
本実施形態では、エミュレータ３４は、複数の仮想コントローラポートを備えている。また、クライアント１２は、複数のコントローラポートを備えている。そして、管理プロセス３０が、クライアント１２とエミュレータ３４とを接続する際に、ユーザが操作入力を行うコントローラが接続されるクライアント１２のコントローラポートを、エミュレータ３４の仮想コントローラポートに割り当てる。
【００４１】
エミュレータ３４は、例えば、クラウドサービス１０に含まれるサーバやストレージデバイスに記憶されているゲームプログラムを実行するための仮想マシンとして機能するプロセスである。エミュレータ３４は、管理プロセス３０が、クライアント１２からの要求に応じて、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされているエミュレータプログラムを起動することにより生成される。そして、管理プロセス３０は、クライアント１２からの要求に応じて、クライアント１２により指定されたゲームプログラムのイメージファイルを読み込み、エミュレータ３４にロードする。このことによって、エミュレータ３４上でゲームプログラムが実行されることとなる。なお、エミュレータ３４が、クライアント１２により指定されたゲームプログラムを自プロセスにロードするようにしてもよい。
【００４２】
また、エミュレータ３４は、例えば、クライアント１２や管理プロセス３０からの要求に応じて、エミュレータ３４が管理しているエミュレートされたメモリイメージやレジスタ（例えば、プログラムカウンタ等）、エミュレータ３４上で動作するゲームプログラムによる入出力アクセスログ、エミュレータ３４上で実行されるＣＰＵ命令やＧＰＵ命令のログなどを出力する。
【００４３】
本実施形態では、図４に示すように、１つのエミュレータ３４を１つのクライアント１２が専有することができる（ゲームプログラムＰ１参照）。また、１つのエミュレータ３４に対して複数のクライアント１２が接続可能となっている（ゲームプログラムＰ２参照）。また、１つのエミュレータ３４上で複数のゲームプログラムが実行可能となっている（ゲームプログラムＰ３、Ｐ４参照）。
【００４４】
また、本実施形態では、図４に示すように、クライアント１２にエミュレータプログラムがインストールされている場合は、管理プロセス３０は、クライアント１２からの要求に応じて、クライアント１２にエミュレータ３４の起動指示や停止指示を出力する。クライアント１２は、管理プロセス３０から受け付ける起動指示に応じて、クライアント１２にインストールされているエミュレータプログラムを起動する。また、クライアント１２は、管理プロセス３０から受け付ける停止指示に応じて、実行中のエミュレータ３４を停止する。そして、クライアント１２に記憶されているゲームプログラムをクライアント１２で実行されているエミュレータ３４で実行することもできるようになっている（ゲームプログラムＰ５参照）。また、クライアント１２で実行されているエミュレータ３４に対して他のクライアント１２から接続できるようになっている（ゲームプログラムＰ６参照）。
【００４５】
また、本実施形態では、図４に示すように、１つのクライアント１２が複数のエミュレータ３４に接続することもできる（ゲームプログラムＰ７、Ｐ８参照）。
【００４６】
また、本実施形態では、クライアント１２が複数のコントローラポートを備えているので、１つのクライアント１２が備える複数のコントローラポートのそれぞれが互いに異なる仮想コントローラポートに割り当てられることがある。
【００４７】
図５は、本実施形態に係るクラウドサービス１０で実現される機能の一例を示す機能ブロック図である。なお、図５には、以下の説明と特に関係がある機能が示されているにすぎず、本実施形態に係るクラウドサービス１０では、図５に示す機能以外の機能も実現されている。
【００４８】
図５に示すように、本実施形態に係るクラウドサービス１０は、アカウントデータ記憶部４０、ユーザステータス管理データ記憶部４２、セーブデータ記憶部４４、データ受信部４６、ログイン処理実行部４８、セーブデータ一覧画面生成部５０、データ送信部５２、エミュレータ管理部５４、ゲーム実行部５６、セーブデータ管理部５８、を含んで構成される。アカウントデータ記憶部４０、ユーザステータス管理データ記憶部４２、セーブデータ記憶部４４は、例えば、クラウドサービス１０に含まれるサーバに含まれるメモリやハードディスクドライブ、ストレージデバイス、などといった記憶装置を主として実現される。データ受信部４６、データ送信部５２は、クラウドサービス１０が備えるネットワークボードなどの通信インタフェースを主として実現される。ゲーム実行部５６は、例えば、エミュレータ３４で実現される機能に対応する。その他の要素は、例えば、管理プロセス３０で実現される機能に対応する。
【００４９】
クラウドサービス１０は、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、図５においてクラウドサービス１０が担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介してクラウドサービス１０に供給される。
【００５０】
アカウントデータ記憶部４０には、ユーザＩＤ、パスワード、ユーザ名、住所、電話番号、メールアドレス、などが含まれる、ユーザのアカウントデータが記憶されている。
【００５１】
ユーザステータス管理データ記憶部４２には、図６に例示するユーザステータス管理データ６０が記憶されている。ユーザステータス管理データ６０は、例えば、ユーザがログインしているか否かなどといった、ユーザによるクラウドサービス１０の利用状況を示すデータである。本実施形態では、ユーザステータス管理データ６０は、例えば、ユーザＩＤと、ユーザステータスデータと、を含む。本実施形態では、ユーザステータスデータの値は、例えば、ユーザがクラウドサービス１０にログインしている状態を表す「オンライン」、又は、ユーザがクラウドサービス１０にログインしていない状態を表す「オフライン」のいずれかに設定されている。
【００５２】
セーブデータ記憶部４４には、図３に例示するセーブデータ２４が記憶されている。セーブデータ２４は、本実施形態では、例えば、セーブデータ２４の識別子であるセーブデータＩＤ、セーブされるゲームのゲームＩＤ、上述のゲーム状況データの一例である、セーブ要求を受け付けた時点における、ゲームを実行しているエミュレータ３４が管理しているメモリイメージの内容やレジスタの値を示すスナップショットデータ、セーブデータ２４が生成された日時を示すセーブ日時データ、セーブ要求の出力元のユーザ（セーブデータ２４の所有ユーザとなる。）のユーザＩＤである所有ユーザＩＤ、セーブされるゲームにプレイヤとして参加しているユーザ（以下、参加ユーザと呼ぶ。）を管理する参加プレイヤ管理データ、を含んでいる。
【００５３】
本実施形態では、１つのセーブデータ２４には、少なくとも１つの参加プレイヤ管理データが含まれている。本実施形態では、参加プレイヤ管理データには、参加ユーザのユーザＩＤである参加ユーザＩＤ、ゲームにおける参加ユーザのプレイヤ番号を示すプレイヤ番号情報、参加ユーザに割り当てられているエミュレータ３４の仮想コントローラのポート番号を示す仮想ポート番号情報、参加ユーザの操作入力の出力元となる装置やコントローラを識別する出力元情報が含まれる。また、本実施形態では、出力元情報には、参加ユーザが利用するクライアント１２のＩＰアドレスを示すクライアントＩＰアドレス情報と、クライアント１２においてユーザが使用しているコントローラが接続されているコントローラポートのポート番号を示すポート番号情報と、が含まれている。このように、本実施形態では、セーブデータ２４に、各参加ユーザに対応付けられる操作入力の出力元を示す出力元情報が含まれている。
【００５４】
本実施形態では、例えば、データ受信部４６が、クライアント１２からユーザＩＤ及びパスワードを受け付けると、ログイン処理実行部４８が、受け付けたユーザＩＤに関連付けられているパスワードが、アカウントデータにおいてそのユーザＩＤに関連付けられているパスワードに合致するか否かを判断するログイン処理を実行する。合致した場合（ログインに成功した場合）は、ログイン処理実行部４８が、ログインに成功したユーザのユーザＩＤに関連付けられているユーザステータスデータの値を「オフライン」から「オンライン」に更新するとともに、セーブデータ一覧画面生成部５０が、セーブデータ記憶部４４に記憶されている、ログインしたユーザのユーザＩＤが所有ユーザＩＤとして設定されているセーブデータ２４に基づいてセーブデータ一覧画面２０を生成する。そして、データ送信部５２は、セーブデータ一覧画面２０をクライアント１２に送信する。すると、クライアント１２が、セーブデータ一覧画面２０を受信して、ディスプレイに表示出力する。データ受信部４６が受け付けたユーザＩＤに関連付けられているパスワードが、アカウントデータにおいてそのユーザＩＤに関連付けられているパスワードに合致しない場合（ログインに失敗した場合）は、データ送信部５２が、ログインに失敗した旨をクライアント１２に通知する。
【００５５】
ここで、ユーザＡ、ユーザＢ、ユーザＣがクラウドサービス１０にログインしている（すなわち、ユーザＡ、ユーザＢ、ユーザＣのユーザステータスデータの値が「オンライン」になっている）状況で、この３人のユーザがプレイヤとして参加するマルチプレイのゲームをはじめから実行し、ゲームの途中でゲームの状況をセーブし、各ユーザがゲームを終了し、クラウドサービス１０からログアウトする場面における、クラウドサービス１０及びクライアント１２の動作について説明する。
【００５６】
まず、データ受信部４６が、ユーザＡ、ユーザＢ、ユーザＣそれぞれのクライアント１２から、プレイの対象となるゲームのゲームＩＤ（本実施形態では、例えば、「０１５」）に関連付けられた、ゲーム新規開始要求を受け付けると、エミュレータ管理部５４が、ゲーム新規開始要求に応じて、エミュレータ３４を起動し、起動したエミュレータ３４に、ゲーム新規開始要求に関連付けられたゲームＩＤに対応するゲームのイメージファイルをロードする。
【００５７】
そして、エミュレータ管理部５４が、各ユーザにプレイヤ番号に割り当てる。本実施形態では、例えば、ユーザＡにプレイヤ番号「１Ｐ」を割り当て、ユーザＢにプレイヤ番号「２Ｐ」を割り当て、ユーザＣにプレイヤ番号「３Ｐ」を割り当てる。
【００５８】
そして、エミュレータ管理部５４が、エミュレータ３４の仮想コントローラポートに、ユーザが操作するコントローラの操作入力を割り当てる。エミュレータ管理部５４は、具体的には、例えば、ユーザＡのクライアント１２のＩＰアドレス「ｘｘ．ｘｘ．ｘｘ．ｘｘ」とユーザＡが使用するコントローラが接続されているクライアント１２のコントローラポートのポート番号「２」の組合せを、仮想ポート番号が１番である仮想コントローラポート（仮想第１ポート）に関連付ける。また、エミュレータ管理部５４は、ユーザＢのクライアント１２のＩＰアドレス「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」とユーザＢが使用するコントローラが接続されているクライアント１２のコントローラポートのポート番号「１」の組合せを、仮想ポート番号が２番である仮想コントローラポート（仮想第２ポート）に関連付ける。また、エミュレータ管理部５４は、ユーザＣのクライアント１２のＩＰアドレス「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」とユーザＣが使用するコントローラが接続されているクライアント１２のコントローラポートのポート番号「１」の組合せを、仮想ポート番号が３番である仮想コントローラポート（仮想第３ポート）に関連付ける。
【００５９】
そして、ゲーム実行部５６は、ロードされたゲームの実行を、ゲームにおける最初の場面から開始する。ゲーム実行部５６は、本実施形態では、ゲームの開始以降、所定のゲーム更新時間（例えば、１／６０秒）毎に、ゲームの状況を示すゲーム状況データを更新するゲーム状況データ更新処理、更新後のゲーム状況データに基づいてゲームのプレイ内容を表すフレーム画像を生成するフレーム画像生成処理、生成されたフレーム画像をクライアント１２に送信するフレーム画像送信処理、の順に、これら３つの処理を実行する。すなわち、ゲーム実行部５６は、ゲーム更新時間間隔で、上述の３つの処理を順次実行するという処理を繰り返し実行する。
【００６０】
本実施形態では、ゲーム実行部５６は、ゲーム状況更新処理において、ゲームにおけるプレイヤオブジェクトや敵オブジェクトといったキャラクタオブジェクトなどの位置や向きを示すゲーム状況データを更新する処理を実行する。また、本実施形態では、ゲーム実行部５６は、ゲーム状況更新処理において、更新後のオブジェクト間の衝突判定処理や、衝突判定結果に基づく、ゲームステージクリア判定処理、ミス判定処理なども併せて実行する。
【００６１】
また、本実施形態では、ゲーム実行部５６は、フレーム画像生成処理において、例えば、更新後のオブジェクト群の位置や向きを示すゲーム状況データに基づいてフレーム画像を生成する処理を実行する。また、本実施形態では、ゲーム実行部５６は、フレーム画像送信処理において、例えば、生成されたフレーム画像を生成時刻順に順序付けられているフレーム画像の識別子であるフレームＩＤに関連付けてクライアント１２に送信する。なお、本実施形態では、ゲーム実行部５６は、各クライアント１２に、そのクライアント１２を利用するユーザに対応するフレーム画像を送信する。
【００６２】
本実施形態では、クライアント１２は、クラウドサービス１０から順次送信されるフレーム画像を受信する。そして、クライアント１２は、受信したフレーム画像が含まれるゲーム画面をディスプレイに表示出力する。本実施形態では、クライアント１２は、関連付けられているフレームＩＤ順にフレーム画像を表示出力する。そして、表示出力されるフレーム画像は、順次更新される。このようにして、ゲームをプレイする様子を表す動画像がクラウドサービス１０からクライアント１２へストリーミング配信される。
【００６３】
また、本実施形態では、ゲームの実行中に、クライアント１２が、ユーザによるボタンの押下などのキー入力を受け付けた際に、入力に応じたキー情報（例えば、ユーザによるコントローラ操作に応じた操作信号（押下されたボタンの種別を示す信号など））を、クラウドサービス１０に送信する。そして、データ受信部４６は、キー情報を受け付ける。そして、ゲーム実行部５６は、キー情報に対応する操作入力が、ユーザに割り当てられたエミュレータ３４の仮想コントローラポートから入力されたものとして、キー情報に応じたゲーム状況データの更新（例えば、押下されたボタンが示す方向へのプレイヤオブジェクトの移動等）を実行する。本実施形態では、ゲーム実行部５６は、ゲーム状況データの更新にあたって、ＩＰアドレスが「ｘｘ．ｘｘ．ｘｘ．ｘｘ」であるクライアント１２のポート番号「２」のコントローラポートに接続されたコントローラからの操作入力を、仮想第１ポートに入力された操作入力として取り扱い、ＩＰアドレスが「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」であるクライアント１２のポート番号「１」のコントローラポートに接続されたコントローラからの操作入力を、仮想第２ポートに入力された操作入力として取り扱い、ＩＰアドレスが「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」であるクライアント１２のポート番号「１」のコントローラポートに接続されたコントローラからの操作入力を、仮想第３ポートに入力された操作入力として取り扱う。
【００６４】
そして、クラウドサービス１０によるゲームの実行中に、ゲームに参加するユーザのクライアント１２が、クラウドサービス１０にセーブ要求を送信すると、データ受信部４６は、セーブ要求を受け付ける。そして、セーブデータ管理部５８は、セーブ要求に応じて、例えば、図３に例示するセーブデータ２４を生成して、セーブデータ記憶部４４に出力する。図３に示すように、この状況においてセーブデータ管理部５８が生成するセーブデータ２４には、例えば、セーブデータＩＤの値として新規の値である「００１」が設定され、ゲームＩＤの値としてセーブの対象となるゲームのゲームＩＤである「０１５」が設定され、セーブ要求を受け付けた時点のスナップショットデータが含まれ、セーブ日時データの値としてセーブ要求を受け付けた日時が設定され、所有ユーザＩＤの値としてセーブ要求の要求元のユーザのユーザＩＤ「００１」が設定されている。そして、このセーブデータ２４には、それぞれ参加ユーザに対応する３つの参加プレイヤ管理データが含まれている。参加プレイヤ管理データには、参加ユーザのユーザＩＤが参加ユーザＩＤの値として設定され、参加ユーザに割り当てられたプレイヤ番号がプレイヤ番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザが利用するクライアント１２のＩＰアドレスが出力先情報のクライアントＩＰアドレス情報の値として設定され、参加ユーザが操作するコントローラが接続されるクライアント１２のコントローラポートのポート番号が出力先情報のポート番号情報の値として設定されている。
【００６５】
このようにして、本実施形態では、セーブ時点におけるゲームの状況を示すスナップショットデータが、ゲームに参加している各ユーザが利用するクライアント１２やコントローラを識別する出力元情報と関連付けられて記憶されることとなる。
【００６６】
本実施形態では、ゲームに参加しているユーザのクライアント１２が、ゲームの終了要求をクラウドサービス１０に送信すると、データ受信部４６がゲームの終了要求を受信して、ゲーム実行部５６がエミュレータ管理部５４に、ゲームの終了を指示する。そして、エミュレータ管理部５４は、ゲームが実行されていたエミュレータ３４とクライアント１２との接続を切断する処理を実行して、ゲームが実行されていたエミュレータ３４の停止処理を実行する。
【００６７】
また、本実施形態では、ユーザがクライアント１２からログアウト要求をクラウドサービス１０に送信すると、データ受信部４６は、このログアウト要求を受信する。そして、エミュレータ管理部５４が、クライアント１２とクラウドサービス１０との接続を切断するとともに、ユーザステータス管理データ６０において、そのユーザのユーザＩＤに関連付けられているユーザステータスデータの値を「オンライン」から「オフライン」に更新する。
【００６８】
次に、ユーザＡ、ユーザＢ、ユーザＣがクラウドサービス１０にログインしている（すなわち、ユーザＡ、ユーザＢ、ユーザＣのユーザステータスデータの値が「オンライン」になっている）状況で、この３人のユーザがプレイヤとして参加するマルチプレイのゲームを、セーブデータ２４が示すゲームの状況から再開する際における、クラウドサービス１０及びクライアント１２の動作について説明する。
【００６９】
ここでは、ユーザＡのクライアント１２に、図２に示すセーブデータ一覧画面２０が表示されていることとする。セーブデータ一覧画面２０には、クライアント１２を利用するユーザのユーザＩＤが所有ユーザＩＤの値として設定されているセーブデータ２４に対応する個別セーブ情報２２が含まれている。個別セーブ情報２２には、セーブデータ２４に含まれるゲームＩＤに基づいて特定されるゲームタイトル、セーブデータ２４に含まれるセーブ日時データが示す日時、セーブデータ２４に含まれる各参加ユーザＩＤそれぞれのユーザ名と、そのユーザのログイン状況を示すアイコン（オンラインであるかオフラインであるかを示すアイコン）、が含まれている。また、本実施形態では、個別セーブ情報２２には、セーブデータＩＤが関連付けられている。
【００７０】
本実施形態では、セーブデータ一覧画面生成部５０は、ユーザステータスデータに基づいて、参加ユーザＩＤが示すユーザがログインしているか否かを判断する。ここでは、ユーザＡ、ユーザＢ、ユーザＣは、クラウドサービス１０にログインしており、ユーザステータスデータの値が「オンライン」であるので、セーブデータ一覧画面生成部５０は、ユーザＡ、ユーザＢ、ユーザＣそれぞれのユーザ名の右に丸印のアイコンを配置する。また、ユーザＤ、ユーザＥは、クラウドサービス１０にログインしておらず、ユーザステータスデータの値が「オフライン」であるので、セーブデータ一覧画面生成部５０は、ユーザＤ、ユーザＥそれぞれのユーザ名の右にバツ印のアイコンを配置する。
【００７１】
また、本実施形態では、図２に示すように、セーブデータ一覧画面生成部５０は、セーブデータ一覧画面２０内の、参加ユーザＩＤに対応するユーザのすべてがオンラインになっている個別セーブ情報２２を強調表示（枠線の表示、他の個別セーブ情報２２とは異なる色の表示等）させる。
【００７２】
そして、ユーザＡが、クライアント１２のコントローラで、強調表示されている個別セーブ情報２２（参加していたユーザのすべてがログインしているゲームに対応する個別セーブ情報２２）を選択する操作を行うと、ユーザＡのクライアント１２は、ゲーム再開要求をクラウドサービス１０に送信する。すると、データ受信部４６は、ゲーム再開要求を受け付ける。ゲーム再開要求には、選択された個別セーブ情報２２に関連付けられているセーブデータＩＤが関連付けられている。そして、データ送信部５２は、ユーザＡ以外の参加ユーザである、ユーザＢ、ユーザＣのクライアント１２にゲーム再開要求受付通知を送信する。
【００７３】
すると、ユーザＢのクライアント１２、及び、ユーザＣのクライアント１２は、ゲームゲーム再開要求受付通知を受け付ける。そして、クライアント１２は、ゲーム再開要求受付通知に応じて、ゲームの再開を承認するか否かを選択する画面をクライアント１２のディスプレイにポップアップ表示させる。
【００７４】
ここで、ユーザＢ、ユーザＣのクライアント１２が、ゲーム再開要求をクラウドサービス１０に送信すると、データ受信部４６が、ゲーム再開要求を受け付ける。このようにして、クラウドサービス１０が、セーブデータ２４に対応するゲームの参加ユーザ全員からゲーム再開要求を受け付けると、エミュレータ管理部５４は、ゲーム再開要求に応じて、エミュレータ３４を起動する。そして、セーブデータ管理部５８は、セーブデータ２４においてゲーム再開要求に関連付けられたセーブデータＩＤを含むセーブデータ２４をセーブデータ記憶部４４から取得する。そして、エミュレータ管理部５４は、起動したエミュレータ３４に、取得したセーブデータ２４に含まれるゲームＩＤに対応するゲームのイメージファイルをロードする。そして、セーブデータ管理部５８は、取得したセーブデータ２４に含まれるプレイヤ番号情報に基づいて、ユーザＡにプレイヤ番号「１Ｐ」を割り当て、ユーザＢにプレイヤ番号「２Ｐ」を割り当て、ユーザＣにプレイヤ番号「３Ｐ」を割り当てる。また、セーブデータ管理部５８は、取得したセーブデータ２４に含まれる仮想ポート番号情報及び出力元情報に基づいて、ＩＰアドレス「ｘｘ．ｘｘ．ｘｘ．ｘｘ」とコントローラポートのポート番号「２」の組合せを、仮想第１ポートに割り当て、ＩＰアドレス「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」とコントローラポートのポート番号「２」の組合せを、仮想第２ポートに割り当て、ＩＰアドレス「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」とコントローラポートのポート番号「１」の組合せを、仮想第３ポートに割り当てる。
【００７５】
そして、ゲーム実行部５６は、セーブデータ管理部５８が取得したセーブデータ２４に含まれるスナップショットデータが示す状況からのシューティングゲームの実行を開始する。ゲーム実行部５６は、具体的には、例えば、セーブデータ２４に含まれるスナップショットデータに応じた、ゲームを実行しているエミュレータ３４が管理しているメモリイメージの内容やレジスタの値の設定を行った上で、上述のゲームの実行を開始する。そして、本実施形態では、ゲーム実行部５６は、ゲームが実行されている間、ＩＰアドレス「ｘｘ．ｘｘ．ｘｘ．ｘｘ」のクライアント１２のポート番号「２」のコントローラポートに接続されたコントローラからの操作入力を、仮想第１ポートに入力された操作入力として取り扱い、ＩＰアドレス「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」のクライアント１２のポート番号「２」のコントローラポートに接続されたコントローラからの操作入力を、仮想第２ポートに入力された操作入力として取り扱い、ＩＰアドレス「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」のクライアント１２のポート番号「１」のコントローラポートに接続されたコントローラからの操作入力を、仮想第３ポートに入力された操作入力として取り扱う。
【００７６】
このようにして、ユーザＡ、ユーザＢ、ユーザＣは、セーブ時点におけるゲームの状況から、各ユーザが使用するコントローラと、クラウドサービス１０とのセーブ時点における接続関係が維持されたままゲームを再開することができる。
【００７７】
なお、本発明は上述の実施形態に限定されるものではない。以下、本発明の別の実施形態について、上述の実施形態とは異なる点を中心に説明する。なお、この実施形態において、以下の説明で特に触れていない点については、上述の実施形態と同様であることとする。
【００７８】
図７は、この実施形態におけるセーブデータ２４の一例を示す図である。そして、図８は、この実施形態におけるユーザステータス管理データ６０の一例を示す図である。
【００７９】
図７に示すように、この実施形態におけるセーブデータ２４に含まれる出力元情報には、参加ユーザが利用するクライアント１２のＩＰアドレスを示すクライアントＩＰアドレス情報が含まれておらず、クライアント１２においてユーザが使用しているコントローラが接続されているコントローラポートのポート番号を示すポート番号情報だけが含まれている。
【００８０】
また、図８に示すように、この実施形態におけるユーザステータス管理データ６０は、例えば、ユーザＩＤと、ユーザステータスデータと、クライアントＩＰアドレス情報と、が含まれている。本実施形態では、ユーザステータスデータの値が「オンライン」であるユーザについては、そのユーザが現在使用しているクライアント１２のＩＰアドレスが、クライアントＩＰアドレス情報として設定される。すなわち、ログイン処理実行部４８は、ログインに成功したユーザについては、そのユーザのユーザＩＤに関連付けられているユーザステータスデータの値を「オフライン」から「オンライン」に更新するとともに、ユーザＩＤ及びパスワードの出力元のクライアント１２のＩＰアドレスを、そのユーザのユーザＩＤに関連付けられているクライアントＩＰアドレス情報の値として設定する。
【００８１】
そして、この実施形態では、データ受信部４６がセーブ要求を受け付けた際に、セーブデータ管理部５８は、参加ユーザのユーザＩＤが参加ユーザＩＤの値として設定され、参加ユーザに割り当てられたプレイヤ番号がプレイヤ番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザに割り当てられた仮想コントローラポートのポート番号が仮想ポート番号情報の値として設定され、参加ユーザが操作するコントローラが接続されるクライアント１２のコントローラポートのポート番号が出力先情報のポート番号情報の値として設定されたセーブデータ２４を生成する。
【００８２】
そして、この実施形態では、データ受信部４６が、ゲーム再開要求を受け付けた際には、エミュレータ管理部５４によるエミュレータ３４の起動、セーブデータ管理部５８によるセーブデータ２４の取得、エミュレータ管理部５４によるゲームプログラムのロードが行われる。そして、セーブデータ管理部５８は、取得したセーブデータ２４に含まれるプレイヤ番号情報に基づいて、ユーザＡにプレイヤ番号「１Ｐ」を割り当て、ユーザＢにプレイヤ番号「２Ｐ」を割り当て、ユーザＣにプレイヤ番号「３Ｐ」を割り当てる。
【００８３】
また、セーブデータ管理部５８は、ユーザステータス管理データ６０に基づいて、ユーザＡが現在使用しているクライアント１２のＩＰアドレスが「ｘｘ．ｘｘ．ｘｘ．ｘｘ」であること、ユーザＢが現在使用しているクライアント１２のＩＰアドレスが「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」であること、及び、ユーザＣが現在使用しているクライアント１２のＩＰアドレスが「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」であること、を特定する。
【００８４】
そして、セーブデータ管理部５８は、取得したセーブデータ２４に含まれる仮想ポート番号情報及び出力元情報、並びに、特定されたＩＰアドレスに基づいて、ＩＰアドレス「ｘｘ．ｘｘ．ｘｘ．ｘｘ」とコントローラポートのポート番号「２」の組合せを、仮想第１ポートに割り当て、ＩＰアドレス「１ｙｙ．ｙｙ．ｙｙ．ｙｙ」とコントローラポートのポート番号「２」の組合せを、仮想第２ポートに割り当て、ＩＰアドレス「２ｚｚ．ｚｚ．ｚｚ．ｚｚ」とコントローラポートのポート番号「１」の組合せを、仮想第３ポートに割り当てる。
【００８５】
この実施形態では、ゲームをセーブする際に使用していたクライアント１２と、ゲームを再開する際に使用しているクライアント１２が異なっていても、プレイヤが使用しているクライアント１２を特定することができるので、マルチプレイでのゲームを再開する際における、ゲームに参加するプレイヤの操作入力の出力元に関する状況も再現精度が向上することとなる。
【００８６】
なお、本発明は上述の実施形態にも限定されるものではない。
【００８７】
例えば、セーブデータ一覧画面生成部５０が、セーブデータ一覧画面２０の送信先となるクライアント１２を利用するユーザのユーザＩＤが所有ユーザＩＤの値として設定されているセーブデータ２４に対応する個別セーブ情報２２が含まれているセーブデータ一覧画面２０を生成する代わりに、セーブデータ一覧画面２０の送信先となるクライアント１２を利用するユーザのユーザＩＤが参加ユーザＩＤの値として設定されているセーブデータ２４に対応する個別セーブ情報２２が含まれているセーブデータ一覧画面２０を生成してもよい。こうすれば、ユーザは、プレイヤとして参加したゲームの個別セーブ情報２２を選択して、選択された個別セーブ情報２２に関連付けられているセーブデータＩＤが関連付けられたゲーム再開要求をクライアント１２からクラウドサービス１０に送信することができる。
【００８８】
また、例えば、所定数のユーザ以上がオンラインになっている（ログインしている）個別セーブ情報２２については、ユーザは、その個別セーブ情報２２を選択して、選択された個別セーブ情報２２に関連付けられているセーブデータＩＤが関連付けられたゲーム再開要求をクライアント１２からクラウドサービス１０に送信できるようにしてもよい。そして、データ送信部５２が、このゲーム再開要求に応じて、参加ユーザのクライアント１２にゲーム再開要求受付通知を送信するようにしてもよい。
【００８９】
また、例えば、データ送信部５２は、受け付けるゲーム再開要求に応じて、クライアント１２（例えば、オフラインであるユーザのクライアント１２）に電子メールでゲーム再開要求受付通知を送信してもよい。
【００９０】
また、例えば、セーブデータ管理部５８が、セーブデータ２４に含まれる参加プレイヤ管理データそれぞれに対応するユーザのユーザステータスデータの値を監視するようにしてもよい。そして、セーブデータ管理部５８が、セーブデータ２４に含まれる参加ユーザＩＤに対応するユーザのうち所定数以上のユーザについて、ユーザステータスデータの値が「オンライン」であることを検出した際に（例えば、セーブデータ２４に含まれる参加ユーザＩＤに対応するすべてのユーザについて、ユーザステータスデータの値が「オンライン」であることを検出した際に）、データ送信部５２が、その旨を、各参加ユーザのクライアント１２に通知するようにしてもよい。
【００９１】
また、クライアント１２に複数のコントローラポートを備えていなくてもよい。そして、出力元情報が、例えば、クライアント１２のアドレスだけを含んでいてもよい。
【００９２】
また、例えば、クラウドサービス１０は、記憶装置に記憶されているセーブデータ２４を取得して、ゲームに参加する各プレイヤについて、仮想コントローラのポート番号に対する、クライアント１２のＩＰアドレス及びプレイヤが操作するコントローラのポート番号の組合せを割り当てた上で、セーブデータ２４が示す状況からのゲームの実行を行う機能（いわゆるロード機能）だけを備えていてもよい。また、例えば、クラウドサービス１０は、上述のロード機能を備えた装置に、図３や図７に例示するセーブデータ２４を提供する（ロード機能を備えた装置がデータを読み取ることができる（アクセス可能な）記憶装置にセーブデータ２４を出力する）機能（いわゆるセーブ機能）だけを備えていてもよい。
【００９３】
また、例えば、ゲーム状況データは、ゲームにおけるパラメータやステータスを示すデータでもよい。また、例えば、クラウドサービス１０で実現されている機能が単一のサーバにより実現されていてもよい。また、ゲームプログラムはエミュレータ３４上で実行される必要はなく、例えば、クラウドサービス１０やクライアント１２のシステムソフトウェア（オペレーティングシステム等）上で実行されてもよい。また、クラウドサービス１０とクライアント１２の役割分担は上述の例には限定されない。
【００９４】
また、上記の具体的な数値や文字列や図面中の具体的な数値や文字列は例示であり、これらの数値や文字列には限定されない。
【符号の説明】
【００９５】
１０  クラウドサービス、１２  クライアント、１４  コンピュータネットワーク、２０  セーブデータ一覧画面、２２  個別セーブ情報、２４  セーブデータ、３０  管理プロセス、３２  サービス提供プロセス、３４  エミュレータ、４０  アカウントデータ記憶部、４２  ユーザステータス管理データ記憶部、４４  セーブデータ記憶部、４６  データ受信部、４８  ログイン処理実行部、５０  セーブデータ一覧画面生成部、５２  データ送信部、５４  エミュレータ管理部、５６  ゲーム実行部、５８  セーブデータ管理部、６０  ユーザステータス管理データ。
【図１】
2012125451.tif 000003
【図２】
2012125451.tif 000004
【図３】
2012125451.tif 000005
【図４】
2012125451.tif 000006
【図５】
2012125451.tif 000007
【図６】
2012125451.tif 000008
【図７】
2012125451.tif 000009
【図８】
2012125451.tif 000010