(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-22
(45)【発行日】2024-03-04
(54)【発明の名称】プログラム、情報処理装置、情報処理方法、およびシステム
(51)【国際特許分類】
A63F 13/86 20140101AFI20240226BHJP
A63F 13/30 20140101ALI20240226BHJP
A63F 13/497 20140101ALI20240226BHJP
A63F 13/75 20140101ALI20240226BHJP
【FI】
A63F13/86
A63F13/30
A63F13/497
A63F13/75
(21)【出願番号】P 2020181960
(22)【出願日】2020-10-30
(62)【分割の表示】P 2019194760の分割
【原出願日】2019-10-25
【審査請求日】2022-10-07
(73)【特許権者】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(72)【発明者】
【氏名】菊地 圭太
【審査官】田中 洋行
(56)【参考文献】
【文献】特開2001-170360(JP,A)
【文献】特開2019-154467(JP,A)
【文献】特許第6547032(JP,B1)
【文献】特開2000-157724(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F 13/00-13/98
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を受信するとともに、前記複数の端末の各々に他の端末の前記操作関連情報を送信する第2のサーバと、
他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得し、取得した前記送信情報のうち所定の規則に応じた送信情報を保存する第1のサーバとを備え、
前記第1のサーバは、情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信することを特徴とするシステム。
【請求項2】
前記第2のサーバは、ターンサーバである請求項1に記載のシステム。
【請求項3】
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に操作関連情報を生成するとともに他の端末との間で前記操作関連情報を通信し、他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得する情報取得手段と、
前記所定の期間ごとに取得された前記複数の端末からの送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段と、
情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信する送信制御手段として、
コンピュータを機能させるためのプログラム。
【請求項4】
情報処理装置が実行する情報処理方法であって、
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を受信するとともに、前記複数の端末の各々に他の端末の前記操作関連情報を送信する第1のステップと、
他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得し、取得した前記送信情報のうち所定の規則に応じた送信情報を保存する第2のステップと、
情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信する第3のステップと、
を有することを特徴とする情報処理方法。
【請求項5】
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を受信するとともに、前記複数の端末の各々に他の端末の前記操作関連情報を送信する操作関連情報通信手段と、
他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得し、取得した前記送信情報のうち所定の規則に応じた送信情報を保存する情報管理手段と、
情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信する送信制御手段として、
コンピュータを機能させるためのプログラム。
【請求項6】
情報処理装置が実行する情報処理方法であって、
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に操作関連情報を生成するとともに他の端末との間で前記操作関連情報を通信し、他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得する情報取得ステップと、
前記所定の期間ごとに取得された前記複数の端末からの送信情報のうち、所定の規則に応じた送信情報を保存する情報管理ステップと、
情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信する送信制御ステップと、
を有することを特徴とする情報処理方法。
【請求項7】
第1の端末と第2の端末を含む複数の端末の各々においてユーザ操作に応じて所定の期間内に操作関連情報を生成するとともに他の端末との間で前記操作関連情報を通信し、他の端末から受信した前記操作関連情報を含んだ送信情報を前記複数の端末から前記所定の期間ごとに取得する情報取得手段と、
前記所定の期間ごとに取得された前記複数の端末からの送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段と、
情報の取得を要求した
前記複数の端末には含まれない第3の端末に対し、前記保存した送信情報を送信し、前記複数の端末のうちいずれか1の端末からの前記送信情報が受信できない場合であっても
前記複数の端末のうち前記1の端末とは異なる端末からの前記送信情報を受信することによって、前記
第3の端末に対し、前記保存した送信情報を送信する送信制御手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、情報処理方法、およびシステムに関する。
【背景技術】
【0002】
ネットワークを介して接続された複数のクライアント端末間の通信として、P2P(Peer to Peer:ピアツーピア)通信が行われることがある。例えば、オンライン対戦型のゲームシステムの場合、ゲームをプレイする対戦者のゲーム端末(クライアント端末)同士がP2Pで接続され、当該ゲーム端末からは対戦経過の情報が逐次サーバに送られる。
【0003】
なお特許文献1には、ゲームの進行に関する進行データ及びゲームの結果に関する結果データを生成する第1ゲーム装置と、ゲームを観戦する第2ゲーム装置と通信可能であり、プロセッサを備えた管理サーバが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
P2P通信を行っている複数のクライアント端末(以下、端末とする)において表示されるゲーム映像は、一般的には、それらネットワークを介して接続されてP2P通信を行っている端末でのみ表示されるが、P2P通信を行っている端末以外の他の端末(ゲームをプレイしていないユーザの端末)でも、ゲーム映像を閲覧(観戦)したいという要求がある。そのような場合、P2P通信を行っている端末の一つが代表して、対戦経過の情報等をサーバに送り、サーバが、ゲーム映像を表示するために必要な情報を他の端末に送ることになる。しかしながら、代表となった端末が通信不能になると、他の端末においてゲーム映像を閲覧できなくなってしまう。
【0006】
本発明は上述の問題点に鑑みてなされたものであり、ネットワークを介して接続された複数の端末によるゲーム映像を、他の端末でも継続的に閲覧可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るプログラムは、複数の端末の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を含んだ送信情報を、前記複数の端末から前記所定の期間ごとに取得する情報取得手段と、前記所定の期間ごとに取得された複数の前記送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段と、情報の取得を要求した端末に対し、前記保存した送信情報を送信する送信制御手段として、コンピュータを機能させるためのプログラムである。
【図面の簡単な説明】
【0008】
【
図4】ゲームコントローラの概略的な外観を示した図である。
【
図6】ゲーム機から第1のサーバに送信される送信情報に含まれる操作関連情報例を示した図である。
【
図7】ゲーム機の機能構成例を示したブロック図である。
【
図8】第1のサーバの機能構成例を示したブロック図である。
【
図9】第1の実施形態の第1のサーバがゲーム機から送信情報を受信して保存するまでの処理の流れを示したフローチャートである。
【
図10】第1の実施形態における所定の規則に応じた情報管理を模式的に表した図である。
【
図11】第2の実施形態の第1のサーバがゲーム機から送信情報を受信して保存するまでの処理の流れを示したフローチャートである。
【
図12】第2の実施形態における所定の規則に応じた情報管理を模式的に表した図 である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
本実施形態では、ネットワークを介して接続されたクライアント端末間でサーバを介した通信が行われる例として、オンライン対戦型のゲームシステムを挙げる。オンライン対戦型のゲームシステムでは、ゲームをプレイする対戦者のゲーム機(クライアント端末)同士がネットワークを介して接続され、それらゲーム機からは対戦経過の情報が他のゲーム機に送られる。本実施形態におけるゲームシステムでは、サーバ(TURNサーバ)経由で対戦経過の情報が送られる。本実施形態の場合、オンライン対戦を行っている複数のゲーム機は、各々において生成した操作関連情報を、対戦経過の情報としてサーバを経由して通信する。操作関連情報は、ゲーム機が備えているゲームコントローラにおいて生成される操作情報を含んだ情報である。ゲームコントローラには各種ボタンやレバー(スティック)等の操作子が備えられており、ゲームコントローラは、それら操作子に対するユーザ操作に応じた操作情報を生成する。操作関連情報には、ゲームコントローラにより生成された操作情報の他に、所定の期間としてゲーム処理の1単位であるフレーム期間を各々表すフレーム番号情報、このゲーム機の識別情報なども含まれる情報である。
【0010】
[1.第1の実施形態のゲームシステムの概要]
図1は、第1の実施形態に係るゲームシステムの概略構成例を示した図である。
本実施形態に係るゲームシステムは、例えば、第1のサーバ10と、第2のサーバ30と、ネットワーク20を介した対戦(オンライン対戦)を行っているユーザ(参加者)のゲーム機50A,50B,50Cと、ゲーム機50A,50B,50Cによるオンライン対戦を観戦(閲覧)するユーザ(観戦者)のゲーム機50Dとで構成されている。
【0011】
第1のサーバ10は、本発明実施形態に係る情報処理装置の一例であり、ネットワークを介したオンライン対戦ゲームにおける対戦データ等の保存と観戦に関する情報管理等を行うゲームサーバである。本実施形態の場合、第1のサーバ10が保存する対戦データは、オンライン対戦の参加者のゲーム機50A,50B,50Cから送信されてくる後述する操作関連情報を含む送信情報等が挙げられる。第2のサーバ30は、ネットワークを介して接続された各ゲーム機50A,50B,50C間で情報通信を行うためのターンサーバ(TURNサーバ)である。
【0012】
ゲーム機50A,50B,50Cは、所定の期間内であるフレーム期間内において各々のゲームコントローラで生成された操作情報を含んだ操作関連情報を、TURNサーバである第2のサーバ30に送信する。
図1の例の場合、ゲーム機50Aは、接続されているゲームコントローラでフレーム期間内に生成した操作情報を含む操作関連情報OP1を第2のサーバ30に送信し、同様に、ゲーム機50Bは、ゲームコントローラでフレーム期間内に生成した操作関連情報OP2を第2のサーバ30に送信し、ゲーム機50Cは、ゲームコントローラでフレーム期間内に生成した操作情報を含む操作関連情報OP3を第2のサーバ30に送信する。このように、本実施形態のゲームシステムの各ゲーム機50A,50B,50Cは、各々のゲームコントローラで所定の期間内に生成した操作情報を含んだ操作関連情報OP1,OP2,OP3を、各々第2のサーバ30に送信する。
【0013】
TURNサーバである第2のサーバ30は、ゲーム機50Aに対しては、ゲーム機50Bからの操作関連情報OP2とゲーム機50Cからの操作関連情報OP3とを有する操作関連情報OP23を送信する。同様に、第2のサーバ30は、ゲーム機50Bに対しては、ゲーム機50Aからの操作関連情報OP1とゲーム機50Cからの操作関連情報OP3とを有する操作関連情報OP13を送信し、ゲーム機50Cに対しては、ゲーム機50Aからの操作関連情報OP1とゲーム機50Bからの操作関連情報OP2とを有する操作関連情報OP12を送信する。
【0014】
ゲーム機50Aは、操作関連情報OP1と、第2のサーバ30から受け取った操作関連情報OP23とからなる操作関連情報OP123を含む送信情報を、第1のサーバ10へ送信する。同様に、ゲーム機50Bは、操作関連情報OP2と、第2のサーバ30から受け取った操作関連情報OP13とからなる操作関連情報OP123を含む送信情報を、第1のサーバ10へ送信する。ゲーム機50Cは、操作関連情報OP3と、第2のサーバ30から受け取った操作関連情報OP13とからなる操作関連情報OP123とを含む送信情報を、第1のサーバ10へ送信する。すなわち、本実施形態のゲームシステムの各ゲーム機50A,50B,50Cは、各ゲーム機50A,50B,50Cが各々生成した操作関連情報OP1,OP2,OP3を含んだ送信情報を、所定の期間であるフレーム期間ごとに第1のサーバ10に送信する。
【0015】
第1のサーバ10は、各ゲーム機50A,50B,50Cからフレーム期間毎に送信されてきた送信情報を取得する。すなわち第1のサーバ10は、各ゲーム機50A,50B,50Cからの送信情報を取得することで、フレーム期間毎の操作関連情報OP123(つまり操作関連情報OP1,OP2,OP3)を取得する。
【0016】
第1のサーバ10は、各ゲーム機50A,50B,50Cからフレーム期間毎に送信されて取得した複数の送信情報のうち、所定の規則に応じて送信情報を保存するような情報管理を行う。本実施形態において、第1のサーバ10は、所定の規則に応じた情報管理として、各ゲーム機50A,50B,50Cからフレーム期間毎に取得した複数の送信情報のうち、1番目に取得した送信情報を保存し、2番目以降の送信情報を保存しないあるいは一時的に保存した後に破棄する。
【0017】
そして、第1のサーバ10は、ゲーム機50A,50B,50Cによるオンライン対戦を観戦(閲覧)する観戦者のゲーム機50Dから、オンライン対戦のゲーム情報の取得が要求された場合、当該ゲーム情報の取得を要求したゲーム機50Dに対し、前述のように保存した送信情報、すなわち操作関連情報OP1,OP2,OP3を送信するような送信制御を行う。
【0018】
[2.第1のサーバの概略構成]
図2は第1のサーバ10の構成例を示した図である。
第1のサーバ10は、CPU11と、ROM12と、RAM13と、通信部14と、記憶装置15、とを有する。
【0019】
CPU11は、ROM12に記憶された制御プログラムをRAM13に読み出して各種処理を実行する。ROM12は、第1のサーバ10を動作させるために必要な制御プログラム(OS等)を記憶する。ROM12に替えてフラッシュメモリ(NVRAM)を用いてもよい。RAM13は、CPU11の主メモリ、ワークエリア、バッファ等の一時記憶領域として用いられる。通信部14は、ネットワーク20を介して各ゲーム機50A,50B,50Cやゲーム機50D、その他の外部装置との通信処理を行う。記憶装置15は、本実施形態に係るオンライン対戦型ゲームに関するプログラムや、ゲーム機50A,50B,50C,50Dを操作するユーザのID等のユーザ識別情報、その他ゲームに必要なユーザ毎の各種情報を記憶する。なお、不図示のデータベース等にこれらの一部の情報を記憶するようにしてもよい。
【0020】
[3.第2のサーバの概略構成]
ターンサーバである第2のサーバ30は、基本的に
図2に示した構成と同様であるため、
図2を流用して説明する。第2のサーバ30の場合、ROM12は、第2のサーバ30を動作させるために必要な制御プログラム(OS等)を記憶する。CPU11は、ROM12に記憶された制御プログラムをRAM13に読み出して各種処理を実行する。RAM13は、第1のサーバ10の例と同様であり説明を省略する。第2のサーバ30の通信部14は、ネットワーク20を介して各ゲーム機50A,50B,50C、その他の外部装置との通信処理を行う。記憶装置15は、前述したようなゲーム機50A,50B,50Cとの間の通信制御に関するプログラム等や、その他通信に必要な各種情報を記憶する。
【0021】
[4.ゲーム機の概略構成]
図3は、オンライン対戦型ゲームに参加しているゲーム機50A,50B,50Cのいずれかの構成例を示した図である。なお本実施形態において、オンライン対戦を観戦するゲーム機50Dは、オンライン対戦を行っているゲーム機50A,50B,50Cと基本的に同様の構成を有するため、ゲーム機50Dの構成の図示は省略する。また、以下の説明において、ゲーム機50A,50B,50C,50Dを区別しない場合にはゲーム機50とのみ表記する。
【0022】
ゲーム機50は、例えば家庭用ゲーム機、スマートフォン等の携帯型通信装置、携帯型ゲーム専用機器、パーソナルコンピュータ、タブレット等により構成される。
ゲーム機50は、CPU51と、ROM52と、RAM53と、通信部54と、記憶装置55と、操作部56と、表示部57とを備える。
【0023】
CPU51は、ROM52に記憶された制御プログラムをRAM53に読み出して各種処理を実行する。ROM52は、ゲーム機50を動作させるために必要な制御プログラム(OS等)を記憶する。ROM52に替えてフラッシュメモリ(NVRAM)を用いてもよい。RAM53は、CPU51の主メモリ、ワークエリア等の一時記憶領域として用いられる。通信部54は、ネットワーク20を介して第1のサーバ10や第2のサーバ30、その他の外部装置との通信処理を行う。操作部56は、ユーザによる各種操作を受け付けるものであり、例えば家庭用ゲーム機に付属するゲームコントローラや、表示部57に搭載されたタッチパネルがこれに該当する。表示部57は、液晶ディスプレイなどの表示装置にゲームの画面等各種情報を表示する。記憶装置55は、主にゲームに関するゲームプログラムや、ゲームに関連する各種データ等を記憶する。
【0024】
なお、ゲーム機50の機能や処理は、CPU51がROM52又は記憶装置55に格納されているプログラムを読み出し、このプログラムを実行することにより実現される。また、他の例としては、CPU51は、ROM52等に記憶されたプログラムを読み出すのではなく、SDカード等の着脱可能な記憶媒体に格納されているプログラムを読み出してもよい。また、プログラムをコンピュータに供給するための手段は、プログラムを格納したCD-ROM等のコンピュータ読み取り可能な記憶媒体やプログラムを伝送するインターネット等の伝送媒体であってもよい。
【0025】
[5.ゲームコントローラの概略構成]
図4は、ゲーム機50に接続されるゲームコントローラ40の概略的な外観の一例を示した図である。なお
図4のゲームコントローラ40は一例であり、形状等は図示した例に限定されるものではない。
ゲームコントローラ40は、有線あるいは無線によりゲーム機50に接続される。ゲームコントローラ40は、複数の操作子を有して構成されている。複数の操作子には、上ボタン、下ボタン、右ボタン、左ボタン、左スティック(LSレバー)、右スティック(RSレバー)、Aボタン(□ボタン)、Bボタン(△ボタン)、Xボタン(×ボタン)、Yボタン(○ボタン)、L1ボタン、L2ボタン、R1ボタン、R2ボタン等の各種操作子がある。これら各操作子の機能については、一般的に広く知られているため、ここではそれらの詳細な説明は省略する。
【0026】
ゲームコントローラ40は、これら操作子がユーザによって操作されると、そのユーザ操作に応じた操作情報を生成してゲーム機50に送信する。例えば、ゲームコントローラ40では、各操作子の状態が所定の期間毎(フレーム期間毎)にスキャンされ、そのスキャン結果を表す操作情報がゲーム機50に送られる。
【0027】
[6.操作関連情報の概要]
図5は、各操作子が操作された際にゲームコントローラ40が生成する操作情報と、ゲーム機50が生成するフレーム期間を表すフレーム番号情報とを含む操作関連情報の例を示した図である。
図5の上段の「上」~「左スティック」まではゲームコントローラ40の上ボタン~左スティック(LSレバー)の各操作子に対応しており、図の下段の数字は対応した操作子の操作により生成される操作情報の各ビット数を表している。例えば、上ボタン~R2ボタンまでの操作情報は各々1ビットで表され、右スティック(RSレバー)および左スティック(LSレバー)の操作情報は各々16ビットで表される。また、フレーム番号は16ビットで表される。したがって、前述したゲーム機50A,50B,50Cの各々において生成される操作関連情報OP1,OP2,OP3は、各60ビットの情報となる。また、第2のサーバ30からゲーム機50A,50B,50Cに対して送信される操作関連情報OP23,OP13,OP12は、各120ビットの情報となる。
【0028】
図6は、ゲーム機50A,50B,50Cから第1のサーバ10に対して送信される送信情報に含まれる各操作関連情報とフレーム番号情報とを示した図である。
図6の「上」~「フレーム番号」は
図5の例と同様であり、
図6の「C1」は、ゲーム機50Aにおける操作関連情報とフレーム番号情報を、「C2」は、ゲーム機50Bにおける操作関連情報とフレーム番号情報を、「C3」は、ゲーム機50Cにおける操作関連情報とフレーム番号情報を表している。したがって、前述したようにゲーム機50A,50B,50Cから第1のサーバ10に送信される操作関連情報OP123は各180ビットの情報となる。
【0029】
[7.オンライン対戦を行っているゲーム機の機能構成]
図7は、オンライン対戦を行っているゲーム機50の機能構成例を示したブロック図である。オンライン対戦を行っているゲーム機50では、
図3に示したCPU51がROM52又は記憶装置55に格納されているプログラムを読み出し、このプログラムを実行することにより、ゲーム制御部510、操作情報取得部511、操作関連情報生成部512、通信制御部513の機能を実現する。
【0030】
図7のゲーム機50において、ゲーム制御部510は、オンライン対戦ゲームのための各種処理および制御を行う。
操作情報取得部511は、ゲームコントローラ40の各操作子がユーザにより操作された際の操作情報をフレーム期間毎に取得する。
操作関連情報生成部512は、ゲームコントローラ40により生成された操作情報と、ゲーム処理の1単位であるフレーム期間を表すフレーム番号情報、当該ゲーム機50の識別情報などからなる操作関連情報を生成する。
通信制御部513は、第2のサーバ30との間で行われる前述したような操作関連情報の通信、および、第1のサーバ10との間で行われる前述した送信情報の通信に関する各種処理および制御を行う。
【0031】
[8.第1のサーバの機能構成および処理の流れ]
図8は、第1のサーバ10の機能構成例を示したブロック図である。第1のサーバ10では、
図2に示したCPU11がROM12又は記憶装置15に格納されているプログラムを読み出し、このプログラムを実行することにより、情報取得部110、情報管理部111、情報記憶部112、送信制御部113の機能を実現する。
【0032】
情報取得部110は、複数のゲーム機50A,50B,50Cの各々においてゲームコントローラ40に対するユーザ操作に応じてフレーム期間(所定の期間)内に生成された操作関連情報OP123を含んだ送信情報を、それら複数のゲーム機50A,50B,50Cの端末からフレーム所定の期間ごとに取得する。
【0033】
情報管理部111は、フレーム期間ごとにゲーム機50A,50B,50Cから送られてきた複数の送信情報のうち、所定の規則として、1番目に送られてきた送信情報を保存し、2番目以降に送られてきた送信情報は保存しない、という規則に応じて、当該1番目の送信情報を保存する(情報記憶部112に保存させる)。このときの情報記憶部112は、例えば
図2の記憶装置15に、当該1番目の送信情報を記憶させる。
【0034】
送信制御部113は、観戦者のゲーム機50Dから情報の取得が要求された場合、当該ゲーム機50Dに対し、情報記憶部112に保存している送信情報(1番目に受信した送信情報)を送信する。本実施形態の場合、観戦者のゲーム機50Dは、オンライン対戦ゲームの観戦を要求する情報を第1のサーバ10に対して送信し、送信制御部113は、その要求に応じて送信情報を当該ゲーム機50Dに送る。なお、情報の取得要求を行ったゲーム機50Dが複数ある場合、送信制御部113は、それら複数のゲーム機50Dに対し、保存している送信情報を送る。
【0035】
また
図9は、第1のサーバ10が、参加者のゲーム機50A,50B,50Cから送信情報を受信して保存するまでの処理の流れを示したフローチャートである。
以下、
図9フローチャートを参照しながら、
図7の機能構成について説明する。
【0036】
第1のサーバ10の情報取得部110は、ステップS101の処理として、参加者のゲーム機50A,50B,50Cから、前述した操作関連情報OP123を含む送信情報を受信したか否かを判定し、受信していないと判定した場合にはステップS301の判定処理を繰り返す。一方、情報取得部110は、操作関連情報OP123を含む送信情報を受信したと判定した場合には、ステップS102に処理を進める。
【0037】
ステップS102に進むと、情報管理部111は、
図2のRAM13内に設けられた受信バッファ領域に一時的に保持されている送信情報に含まれている操作関連情報OP123からフレーム番号の情報を取得する。
【0038】
次にステップS103において、情報管理部111は、ステップS101で受信された送信情報に含まれている操作関連情報OP123のフレーム番号が、受信バッファに一時的に保存されている送信情報に含まれている操作関連情報OP123のフレーム番号と同じであるかを判定する。つまり、情報管理部111は、ステップS101で受信された操作関連情報OP123と同じフレーム番号の操作関連情報OP123が、受信バッファに既に保存されているかを確認する。
【0039】
情報管理部111は、ステップS101で受信された操作関連情報OP123と同じフレーム番号の操作関連情報OP123が受信バッファに既に保存されていると確認した場合、当該ステップS101で受信された送信情報を保存しないように情報記憶部112を制御した後、ステップS101に処理を戻す。
【0040】
一方、情報管理部111は、ステップS101で受信された操作関連情報OP123と同じフレーム番号の操作関連情報OP123が受信バッファに既に保存されていない場合には、ステップS104において、ステップS101で受信された送信情報を保存(情報記憶部112に保存させるように制御)し、その後、ステップS101に処理を戻す。
【0041】
すなわち第1のサーバ10における情報管理部111は、所定の規則に応じた情報管理として、ステップS101でフレーム期間毎に取得した送信情報のうちで1番目に取得した送信情報を保存し、2番目以降の送信情報を保存しない。
【0042】
図10は、所定の規則に応じた情報管理処理を模式的に表した図である。
図10に示すゲーム機50A,50B,50Cは、各フレーム番号が同じ値のフレーム番号F1となされた操作関連情報OP123(操作関連情報OP1,OP2,OP3からなる情報)を含む送信情報を、第1のサーバ10に送信する。ただし
図10の例の場合、第1のサーバ10は、ゲーム機50Aからの操作関連情報OP123を含む送信情報を1番目に受信し、次にゲーム機50Bからの操作関連情報OP123を含む送信情報を2番目に受信し、その後、ゲーム機50Cからの操作関連情報OP123を含む送信情報を3番目に受信したとする。この場合、第1のサーバ10は、1番目に受信したゲーム機50Aからの操作関連情報OP123を含む送信情報を保存し、2番目以降に受信したゲーム機50Bおよび50Cからの操作関連情報OP123を含む送信情報は保存しない。そして、第1のサーバ10は、観戦者のゲーム機50Dからゲーム情報の要求があった場合には、1番目に受信して保存したゲーム機50Aからの操作関連情報OP123を含む送信情報をゲーム機50Dに送信する。
【0043】
前述したように、第1の実施形態においては、オンライン対戦を行っているゲーム機50A,50B,50Cから、各フレーム番号が同じ値となっている操作関連情報OP123を含む送信情報を第1のサーバ10に送信し、第1のサーバ10は、それら受信したなかで1番目に受信した送信情報を保存する。つまり、第1の実施形態の場合、ゲーム機50A,50B,50Cのうち、例えばゲーム機50Aが通信不能になっていたとしても、第1のサーバ10は、ゲーム機50Bからの送信情報を取得することができ、さらに例えばゲーム機50Bも通信不能になっていたとしても、ゲーム機50Cからの送信情報を取得することができる。これにより、第1のサーバ10は、ゲーム機50A,50B,50Cのいずれかが通信不能になっていたとしても、それらゲーム機50A,50B,50Cにおけるオンライン対戦ゲームの対戦経過を表すことができる操作関連情報OP123を取得して保存することができる。したがって、第1の実施形態によれば、ゲーム機50A,50B,50Cのいずれかが通信不能になっていたとしても、観戦者のゲーム機50Dに対して、ゲーム機50A,50B,50Cにおける対戦結果を再現可能な操作関連情報OP123を送ることができる。そして、ゲーム機50Dでは、取得した操作関連情報OP123を基にゲーム処理がなされ、観戦用のゲーム映像を生成して表示部57の液晶ディスプレイなどに表示する。その結果、ゲーム機50Dのユーザ(観戦者)は、各ゲーム機50A,50B,50Cによる対戦の内容を観戦することができる。すなわち本実施形態によれば、ネットワークを介して接続されたクライアント端末(オンライン対戦しているゲーム機)による映像を、他のクライアント端末(観戦者のゲーム機)でも正常に閲覧可能となる。
【0044】
[9.第2の実施形態]
前述した第1の実施形態では、所定の規則に応じた情報管理として、フレーム期間毎に取得した複数の送信情報のうち1番目に取得した送信情報を保存する例を挙げたが、第2の実施形態では、ハッシュ情報に基づく所定の規則に応じた情報管理の例を以下に説明する。第2の実施形態におけるゲームシステムおよび各サーバ、各ゲーム機の構成は前述の第1の実施形態と概ね同様であるため、それらの図示は省略する。以下の説明では、第1の実施形態とは異なる部分について説明する。
【0045】
第2の実施形態の場合、オンライン対戦を行っているゲーム機50A,50B,50Cは、各々が生成したハッシュ情報を付与した操作関連情報OP1,OP2,OP3を、前述の第1の実施形態と同様にして第2のサーバ30を経由して通信する。そして、ゲーム機50A,50B,50Cは、各々ハッシュ情報が付与された操作関連情報OP1,OP2,OP3からなる操作関連情報OP123を含む送信情報を、第1のサーバ10へ送信する。
【0046】
本実施形態の場合のゲーム機50A,50B,50Cの機能構成は前述の
図7に示した構成と同様であり、操作関連情報生成部512では、ハッシュ情報を付与した操作関連情報を生成する。それ以外の各機能は前述同様である。
【0047】
本実施形態の場合、第1のサーバ10は、所定の規則に応じた情報管理として、複数のゲーム機50A,50B,50Cからフレーム期間毎に送信されて受信した複数の送信情報のうち同じハッシュ情報が含まれる送信情報を保存し、異なるハッシュ情報が含まれる送信情報を保存しないような処理を行う。
【0048】
本実施形態の場合の第1のサーバ10の機能構成は前述の
図8に示した構成と同様であり、情報管理部111では、受信した複数の送信情報のうち同じハッシュ情報が含まれる送信情報を保存し、異なるハッシュ情報が含まれる送信情報を保存しないような情報管理を行う。それ以外の各機能は前述同様であり、例えば、同じハッシュ情報が含まれる送信情報が複数ある場合、それら送信情報のうちで1番目に受信された送信情報を保存し、2番目以降に受信した送信情報は保存しないようにしてもよい。
【0049】
図11は、第2の実施形態における第1のサーバ10の処理の流れを示したフローチャートである。
【0050】
本実施形態の第1のサーバ10の情報取得部110は、ステップS111において、前述した
図9のステップS101と同様に、参加者のゲーム機50A,50B,50Cから操作関連情報OP123を含む送信情報を受信したか否かを判定し、受信していないと判定した場合にはステップS301の判定処理を繰り返す。一方、情報取得部110は、操作関連情報OP123を含む送信情報を受信したと判定した場合には、ステップS112に処理を進める。
【0051】
ステップS112に進むと、情報管理部111は、ステップS111で受信された送信情報に含まれている操作関連情報OP123のハッシュ情報が同じ情報であるかを判定する。情報管理部111は、ステップS111で受信された操作関連情報OP123のハッシュ情報がすべて同じ情報であることを確認した場合、ステップS113に処理を進め、ステップS111で受信された送信情報を保存した後に、ステップS111に処理を戻す。
【0052】
一方、情報管理部111は、ステップS112において、ステップS111で受信された操作関連情報OP123のハッシュ情報に異なる情報が存在している場合、ステップS111で受信された送信情報を保存せず(情報記憶部112に保存させず)、ステップS111に処理を戻す。
【0053】
すなわち本実施形態の場合、第1のサーバ10は、所定の規則に応じた情報管理として、ステップS111でフレーム期間毎に取得した送信情報内の操作関連情報に含まれるハッシュ情報が同じ情報である送信情報のみを保存し、それ以外の送信情報を保存しない。
【0054】
図12は、ハッシュ情報を用いる所定の規則に応じた情報管理処理を模式的に表した図である。
図12に示すゲーム機50A,50B,50Cは、各フレーム番号が同じ値のフレーム番号F1となされた操作関連情報OP123(操作関連情報OP1,OP2,OP3からなる情報)を含む送信情報を、第1のサーバ10に送信する。ただし、
図12の例の場合、ゲーム機50Aからの送信情報内の操作関連情報OP123に付与されたハッシュ情報はすべて同じハッシュ情報HV10であるのに対し、ゲーム機50Bからの送信情報内の操作関連情報OP123に付与されたハッシュ情報はハッシュ情報HV7およびHV8からなり異なっている。また、ゲーム機50Cからの送信情報内の操作関連情報OP123に付与されたハッシュ情報は、ハッシュ情報HV13およびHV14からなり異なっている。
【0055】
このため、第1のサーバ10は、同じハッシュ情報HV10が付与された操作関連情報OP123を含む送信情報を保存し、それ以外の送信情報は保存しない。そして、第1のサーバ10は、観戦者のゲーム機50Dから観戦のための情報要求があった場合には、前述のように保存したゲーム機50Aからの操作関連情報OP123を含む送信情報をゲーム機50Dに送信する。
【0056】
[10.同じハッシュ情報の数に基づく情報管理の例]
前述の例では、第1のサーバ10は、異なるハッシュ情報が付与された操作関連情報を含む送信情報を保存しない例を挙げたが、所定の規則に応じた情報管理のさらに他の例として、送信情報に含まれる複数の操作関連情報OP1,OP2,OP3のうち同じハッシュ情報の数が多い方の操作関連情報を保存してもよい。
【0057】
図12の例を流用し、第1のサーバ10は、例えばゲーム機50Aからの送信情報が通信の不具合などで受信できず、ゲーム機50Bとゲーム機50Cからの送信情報を取得したとする。
この場合、第1のサーバ10は、ゲーム機50Bからの送信情報に含まれる操作関連情報OP123のうち、同じハッシュ情報HV8が付与されている操作関連情報OP1およびOP3を保存し、異なるハッシュ情報HV7が付与されている操作関連情報OP2を保存しない。同様に、第1のサーバ10は、ゲーム機50Cからの送信情報に含まれる操作関連情報OP123のうち、同じハッシュ情報HV13が付与されている操作関連情報OP3およびOP2を保存し、異なるハッシュ情報HV14が付与されている操作関連情報を保存しない。
【0058】
なおこの例の場合、同じフレーム番号の操作関連情報OP3が二つ存在することになる。情報管理部111は、それら二つの操作関連情報OP3を保存してもよいが、例えば先に受信された方を保存して、後に受信された方は保存しないようにしてもよい。
【0059】
そして、第1のサーバ10に対し、観戦者のゲーム機50Dから対戦の観戦のための情報の要求があった場合、送信制御部113は、前述のように保存された操作関連情報から、同じフレーム番号の操作関連情報OP1,OP2,OP3をゲーム機50Dに送信する。
【0060】
第2の実施形態においては、オンライン対戦を行っているゲーム機50A,50B,50Cからはハッシュ情報が付与された操作関連情報を含む送信情報を第1のサーバ10に送信し、第1のサーバ10は、同じハッシュ情報が付与された操作関連情報を含む送信情報を保存する。これにより、第2の実施形態によれば、例えばゲーム機50A,50B,50Cのいずれかにおいて不正な処理が行われた場合に、その不正な処理による情報を排除することができ、観戦者のゲーム機50Dに対しては不正な処理が行われていない情報を送ることができ、ゲーム機50Dでは各ゲーム機50A,50B,50Cによる対戦の正しい内容を観戦することができる。すなわち、第2の本実施形態によれば、ネットワークを介して接続されたクライアント端末(オンライン対戦しているゲーム機)による映像を、他のクライアント端末(観戦者のゲーム機)でも正常に閲覧可能となる。
【0061】
[11.変形例]
本発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲で適宜変更可能である。例えば、第1のサーバ10と第2のサーバ30は一つのサーバにより構成されていてもよい。また、オンライン対戦の参加者のゲーム機50は三つに限らず、二つであってもよいし、四つ以上であってもよい。また対戦に参加している各ゲーム機50同士で通信が行われてもよい。対戦に参加している各ゲーム機50同士はいわゆるP2P(Peer to Peer)による通信が行われてもよい。この場合、第2のサーバ30であるTURNサーバは省略することができる。また、オンライン対戦の観戦者のゲーム機50Dは、一つに限らず、二つ以上であってもよい。上述の実施形態では、所定の期間をゲーム処理の単位であるフレーム期間としたが、フレーム期間以外の期間が用いられてもよい。また上述の実施形態では、ハッシュ情報は、例えば、チェックサム、CRC、MD5、SHA等の情報を含む。本実施形態では、ハッシュ情報を使わず、データ比較によってなされてもよい。
図6では、C1、C2,C3それぞれにフレーム番号が用意されているが、1つあればよい。
図5では、“第2のサーバ30からゲーム機50A,50B,50Cに対して送信される操作関連情報OP23,OP13,OP12は、各120ビットの情報となる”というように、自分自身のデータを省いた形で説明したが、自身のデータを含む形の各160ビットの情報にしてもよい。自身のデータを含むことによって、接続する端末に関わらず、同じデータを送ることで、第2のサーバの送信処理を共通化することができる。
【0062】
上述の実施形態の場合、操作関連情報は、ゲームコントローラの各操作子がユーザにより操作されたことで生成された操作情報を含む情報であるとして説明したが、ゲームコントローラの操作情報を加工した情報、例えば操作情報を基にゲーム機50A,50B,50Cの各々がゲーム処理を行って生成した情報が操作関連情報となされてもよい。ゲームシステムには、大まかに、ゲーム機がゲーム処理を行って画像を生成して表示する第1の形式と、サーバがゲーム処理を行って画像を生成してゲーム機が当該画像を表示する第2の形式と、一方のゲーム機Aはゲーム処理を行って画像を表示し、他方のゲーム機Bでは画像のみを生成して表示する第3の形式と、がある。第1の形式の場合、ゲーム機が情報を送信する宛先は他のゲーム機である。また第1の形式には更に、ゲーム機がゲームコントローラで生成した操作情報を所定の期間(フレーム期間)毎に宛先である他のゲーム機へ送信する形式と、ゲーム機がゲームコントローラの操作情報を加工した情報を必要な時に宛先である他のゲーム機へ送信する形式とがある。第2の形式の場合、ゲーム機が情報を送信する宛先はゲームサーバである。また第2の形式には更に、ゲーム機がゲームコントローラで生成した操作情報を所定の期間(フレーム期間)毎にサーバに送信し、サーバは描画するための情報(座標)をゲーム機に送信する形式と、ゲーム機がゲームコントローラの操作情報を加工した情報を必要な時にサーバに送信し、サーバはストリーミング動画をゲーム機に送信する形式とがある。第3の形式の場合、ゲーム機Aが情報を送信する宛先はゲーム機Bであり、ゲーム機Bが情報を送信する宛先はゲーム機Aであり、情報を送信する側のゲーム機はゲームコントローラの操作情報を加工した情報を必要な時に宛先側のゲーム機へ送信する。また第3の形式の場合、送信側のゲーム機は描画するための情報(座標)を宛先側のゲーム機に送信する。これら各形式のうち、ゲーム機が情報を送信する宛先が他のゲーム機である第1の形式および第3の形式において、ゲーム機間で送受される情報を操作関連情報の範疇に含めることで、前述した実施形態に適用可能である。
【0063】
[12.付記]
以上説明した記載から、本発明は例えば以下のように把握される。
【0064】
(1)
本発明の一態様に係るプログラムは、複数の端末(50A,50B,50C)の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を含んだ送信情報を、前記複数の端末から前記所定の期間ごとに取得する情報取得手段(110)と、前記所定の期間ごとに取得された複数の前記送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段(111)と、情報の取得を要求した端末(50D)に対し、前記保存した送信情報を送信する送信制御手段(113)として、コンピュータを機能させる。
【0065】
(6)
本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、複数の端末(50A,50B,50C)の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を含んだ送信情報を、前記複数の端末から前記所定の期間ごとに取得する情報取得ステップ(110)と、前記所定の期間ごとに取得された複数の前記送信情報のうち、所定の規則に応じた送信情報を保存する情報管理ステップ(111)と、情報の取得を要求した端末(50D)に対し、前記保存した送信情報を送信する送信制御ステップ(113)と、を有する。
【0066】
(7)
本発明の一態様に係る情報処理装置は、複数の端末(50A,50B,50C)の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を含んだ送信情報を、前記複数の端末から前記所定の期間ごとに取得する情報取得手段(110)と、前記所定の期間ごとに取得された複数の前記送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段(111)と、情報の取得を要求した端末に対し、前記保存した送信情報を送信する送信制御手段(113)と、を有する。
【0067】
(8)
本発明の一態様に係るゲームシステムは、複数の端末(50A,50B,50C)の各々においてユーザ操作に応じて所定の期間内に生成された操作関連情報を含んだ送信情報を、前記複数の端末から前記所定の期間ごとに取得する情報取得手段(110)と、前記所定の期間ごとに取得された複数の前記送信情報のうち、所定の規則に応じた送信情報を保存する情報管理手段(111)と、情報の取得を要求した端末に対し、前記保存した送信情報を送信する送信制御手段(113)と、を有する。
【0068】
上記(1)、(6)、(7)又は(8)に係る発明によれば、ネットワークを介して接続された複数の端末による操作関連情報を、それら端末のいずれかが通信不能になったり、不正な処理が行われたりしても、他の端末に送信することができるため、ネットワークを介して接続された端末による映像を、他の端末でも正常に閲覧可能となる。
【0069】
(2)
本発明の一態様では、上記(1)の態様において、前記情報管理手段(110)は、前記所定の規則に応じて、前記複数の端末(50A,50B,50C)から前記所定の期間ごとに取得された複数の前記送信情報のうち一番目に取得された送信情報を保存し、二番目以降の送信情報を保存しない。
上記(2)に係る発明によれば、ネットワークを介して接続された複数の端末のいずれかが通信不能になったとしても、それら各端末による操作関連情報を、他の端末に送信することができるため、ネットワークを介して接続された端末による映像を、他の端末でも正常に閲覧可能となる。
【0070】
(3)
本発明の一態様では、上記(1)の態様において、前記端末(50A,50B,50C)が生成した前記操作関連情報は、前記端末において生成されたハッシュ情報を含み、前記情報管理手段(110)は、前記所定の規則に応じて、前記複数の端末から前記所定の期間ごとに取得された複数の前記送信情報のうち同じハッシュ情報のみが含まれる送信情報を保存し、異なるハッシュ情報が含まれる送信情報を保存しない。
上記(3)に係る発明によれば、ネットワークを介して接続された複数の端末のいずれかで不正な処理が行われたとしても、不正な処理が行われていない端末からの操作関連情報を、他の端末に送信することができるため、ネットワークを介して接続された端末による映像を、他の端末でも正常に閲覧可能となる。
【0071】
(4)
本発明の一態様では、上記(1)の態様において、前記端末(50A,50B,50C)が生成した前記操作関連情報は、前記端末において生成されたハッシュ情報を含み、前記情報管理手段(110)は、前記所定の規則に応じて、前記複数の端末から前記所定の期間ごとに取得された前記送信情報のなかで異なるハッシュ情報がある場合には同じハッシュ情報の数が多い方の前記操作関連情報を保存し、同じハッシュ情報の数が少ない方の前記操作関連情報を保存しない。
上記(4)に係る発明によれば、ネットワークを介して接続された複数の端末のいずれかで不正な処理が行われたとしても、不正な処理が行われていない端末からの操作関連情報を、他の端末に送信することができるため、ネットワークを介して接続された端末による映像を、他の端末でも正常に閲覧可能となる。
【0072】
(5)
本発明の一態様では、上記(1)~(4)のいずれかの態様において、前記端末(50A,50B,50C,50D)はゲーム端末であり、前記情報取得手段(110)は、他のゲーム端末と対戦を行っているゲーム端末(50A,50B,50C)から前記送信情報を取得し、前記送信制御手段(113)は、前記対戦を行っていない前記端末(50D)からの前記情報の送信の要求に応じて、前記保存された送信情報を送信する。
上記(1)~(4)に係る発明によれば、ネットワークを介して接続されてオンライン対戦を行っている複数のゲーム機による操作関連情報を、代表となっているゲーム機が通信不能になったり、対戦しているゲーム機のいずれかで不正な処理が行われたりしても、観戦者のゲーム機に送信できるため、観戦者のゲーム機では、操作関連情報に基づいて対戦中のゲームを進行させる処理を行い、対戦中のゲームの映像を継続的に表示し、観戦者は対戦中のゲームを閲覧可能となる。
【符号の説明】
【0073】
10:第1のサーバ、20:ネットワーク、30:第2のサーバ、50A,50B,50C,50D:ゲーム機、11,51:CPU、12,52:ROM、13,53:RAM、14,54:通信部、15,55:記憶装置、16,56:操作部、57:表示部、40:ゲームコントローラ、110:情報取得部、111:情報管理部、112:情報記憶部、113:送信制御部、510:ゲーム制御部、511:操作情報取得部、512:操作関連情報生成部、513:通信制御部