IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社カプコンの特許一覧

<>
  • 特許-ゲームプログラムおよびゲームシステム 図1
  • 特許-ゲームプログラムおよびゲームシステム 図2
  • 特許-ゲームプログラムおよびゲームシステム 図3
  • 特許-ゲームプログラムおよびゲームシステム 図4
  • 特許-ゲームプログラムおよびゲームシステム 図5
  • 特許-ゲームプログラムおよびゲームシステム 図6
  • 特許-ゲームプログラムおよびゲームシステム 図7
  • 特許-ゲームプログラムおよびゲームシステム 図8
  • 特許-ゲームプログラムおよびゲームシステム 図9
  • 特許-ゲームプログラムおよびゲームシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-18
(45)【発行日】2025-02-27
(54)【発明の名称】ゲームプログラムおよびゲームシステム
(51)【国際特許分類】
   A63F 13/55 20140101AFI20250219BHJP
   A63F 13/35 20140101ALI20250219BHJP
   A63F 13/79 20140101ALI20250219BHJP
【FI】
A63F13/55
A63F13/35
A63F13/79
A63F13/79 500
【請求項の数】 5
(21)【出願番号】P 2021169783
(22)【出願日】2021-10-15
(65)【公開番号】P2023059662
(43)【公開日】2023-04-27
【審査請求日】2024-01-05
(73)【特許権者】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】池永 裕幸
(72)【発明者】
【氏名】上田 智広
【審査官】進藤 利哉
(56)【参考文献】
【文献】特開2012-024618(JP,A)
【文献】特開2011-087869(JP,A)
【文献】特開2015-054125(JP,A)
【文献】特開2003-144744(JP,A)
【文献】特開2012-213491(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F 13/00-13/98
(57)【特許請求の範囲】
【請求項1】
複数のユーザによりそれぞれ操作される複数のゲーム装置と、前記複数のゲーム装置とネットワークを介して接続されるサーバ装置とを備えるゲームシステムにおいて、前記複数のゲーム装置の制御部および前記サーバ装置の制御部の少なくとも1つにより構成されるコンピュータに実行させるゲームプログラムであって、
各前記ゲーム装置が、ゲーム画面が表示される表示部、および、ユーザにより操作される操作部を含み、前記サーバ装置が記憶部を含み、
前記コンピュータを、
ゲーム状況を監視する監視手段、
前記操作部に対するユーザの操作により生成される操作情報に基づき、ゲーム空間に配置されたプレイヤキャラクタの動作を制御するプレイヤキャラクタ制御手段、
前記操作情報を、前記操作情報に対応するユーザの操作がされたときの前記ゲーム状況を示すゲーム状況情報と関連付けて過去データとして前記記憶部に記憶し、前記過去データを、ユーザを識別するまたはユーザが属するグループを識別する識別情報に関連付けて前記記憶部に記憶する記憶手段、
前記識別情報に基づき前記記憶部に記憶された前記過去データを選択する過去データ選択手段、
前記記憶部に記憶され、前記過去データ選択手段により選択された複数の前記過去データに基づき、前記監視手段により監視された前記ゲーム状況に対応する操作情報を決定する操作情報決定手段、および、
前記操作情報決定手段により決定された操作情報を用いて、前記ゲーム空間に配置されたノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ制御手段、
として機能させ
前記複数のゲーム装置のうちの第1ユーザの第1ゲーム装置は、第2ユーザの第2ゲーム装置と通信して、前記第2ゲーム装置における前記操作部に対する第2ユーザの操作により生成される操作情報を受信し、
前記プレイヤキャラクタ制御手段は、前記第1ゲーム装置における前記操作部に対する第1ユーザの操作に応じて前記プレイヤキャラクタである第1プレイヤキャラクタの動作を制御するとともに、前記第2ゲーム装置から受信した操作情報に基づき、前記ゲーム空間に配置された第2プレイヤキャラクタの動作を制御し、
前記過去データ選択手段は、前記第2ユーザを識別する前記識別情報に基づき、前記第2ユーザについての前記過去データを選択し、
前記第1ゲーム装置と前記第2ゲーム装置との通信が切断された場合、
前記操作情報決定手段は、前記過去データ選択手段により選択された前記第2ユーザについての前記過去データに基づき、前記監視手段により監視された前記ゲーム状況に対応する操作情報を決定し、
前記ノンプレイヤキャラクタ制御手段が、前記操作情報決定手段により決定された操作情報を用いて、前記プレイヤキャラクタ制御手段の代わりに、前記第2プレイヤキャラクタの動作を制御する、ゲームプログラム。
【請求項2】
前記操作情報決定手段は、
前記記憶部に記憶された複数の前記過去データに含まれる前記ゲーム状況のうち、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を特定する状況特定手段と、
前記過去データを用いて、前記状況特定手段により特定された前記ゲーム状況に対応する操作情報を取得する操作情報取得手段と、を含み、
前記ノンプレイヤキャラクタ制御手段は、前記操作情報取得手段により取得された操作情報を用いて、前記ゲーム空間に配置されたノンプレイヤキャラクタの動作を制御する、請求項1に記載のゲームプログラム。
【請求項3】
前記状況特定手段は、前記監視手段により監視された前記ゲーム状況と前記記憶部に記憶された前記ゲーム状況情報が示すゲーム状況との類似度に基づき、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を特定する、請求項に記載のゲームプログラム。
【請求項4】
前記過去データは、時系列データであり、
前記操作情報取得手段により取得された前記操作情報を用いた前記ノンプレイヤキャラクタの動作が開始された後に、前記状況特定手段は、前記監視手段により監視された前記ゲーム状況と、前記ノンプレイヤキャラクタの動作の制御に用いられる過去データのゲーム状況との類似度の推移を監視し、
監視された前記類似度が所定の閾値を下回ったときは、前記状況特定手段は、前記記憶部に記憶された複数の前記過去データに含まれる前記ゲーム状況の中から、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を再度特定する、請求項に記載のゲームプログラム。
【請求項5】
請求項1~のいずれか1項に記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラムおよびゲームシステムに関する。
【背景技術】
【0002】
従来、仮想のゲーム空間内にユーザの操作により直接的に動作が制御されるプレイヤキャラクタと、ユーザの操作によっては直接的にその動作が操作されないノンプレイヤキャラクタが登場するゲームが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-144363号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ノンプレイヤキャラクタは、予め定めたアルゴリズムに従って動作を行うよう制御される。例えばノンプレイヤキャラクタの行動が、人間がキャラクタを操作した場合のキャラクタの行動とかけ離れている場合、ノンプレイヤキャラクタの動作が機械的であるという印象をユーザに抱かせ得る。このことは、ゲームにおけるリアリティを低減したり、ゲームへのユーザの没入感を削いだりする原因となり得る。
【0005】
そこで本発明は、ノンプレイヤキャラクタの動作を、人間に操作されるキャラクタの動作に近づけて、ノンプレイヤキャラクタの動作に人間味をもたせることができるゲームプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、第1の発明は、ゲーム画面が表示される表示部と、ユーザにより操作される操作部と、記憶部と、コンピュータとを備えるゲームシステムにおいて、前記コンピュータに実行させるゲームプログラムであって、前記コンピュータを、ゲーム状況を監視する監視手段、前記操作部に対するユーザの操作により生成される操作情報に基づき、ゲーム空間に配置されたプレイヤキャラクタの動作を制御するプレイヤキャラクタ制御手段、前記操作情報を、前記操作情報に対応するユーザの操作がされたときの前記ゲーム状況を示すゲーム状況情報と関連付けて過去データとして前記記憶部に記憶する記憶手段、前記記憶部に記憶された複数の前記過去データに基づき、前記監視手段により監視された前記ゲーム状況に対応する操作情報を決定する操作情報決定手段、および、前記操作情報決定手段により決定された操作情報を用いて、前記ゲーム空間に配置されたノンプレイヤキャラクタの動作を制御するノンプレイヤキャラクタ制御手段、として機能させる、ゲームプログラムである。
【0007】
前記ゲームプログラムによれば、操作情報決定手段が、記憶部に記憶されたゲーム状況(情報)と操作情報とを用いて、監視手段により監視されたゲーム状況に対応する操作情報を決定し、ノンプレイヤキャラクタ制御手段が、操作情報決定手段により決定された操作情報を用いて、ゲーム空間に配置されたノンプレイヤキャラクタの動作を制御する。このため、あるゲーム状況におけるノンプレイヤキャラクタの動作を、そのゲーム状況と同じ状況におけるプレイヤキャラクタの動作に類似させることができる。従って、ノンプレイヤキャラクタの動作を、人間に操作されるキャラクタの動作に近づけて、ノンプレイヤキャラクタの動作を人間味あるものに近づけることができる。
【0008】
また、第1の発明において、前記ゲームシステムは、複数のユーザによりそれぞれ操作情報される複数のゲーム装置と、前記複数のゲーム装置とネットワークを介して接続されるサーバ装置とを備え、各前記ゲーム装置が前記表示部および前記操作部を含み、前記サーバ装置が前記記憶部を含み、前記記憶手段は、前記過去データを、ユーザを識別するまたはユーザが属するグループを識別する識別情報に関連付けて前記記憶部に記憶し、前記コンピュータを、前記識別情報に基づき前記記憶部に記憶された前記過去データを選択する過去データ選択手段として更に機能させ、前記操作情報決定手段は、前記過去データ選択手段により選択された前記過去データに基づき、前記監視手段により監視された前記ゲーム状況に対応する操作情報を決定してもよい。前記ゲームプログラムによれば、例えば、過去データ選択手段が、ある特定のユーザの識別情報に関連付けられた過去データを選択した場合には、その特定のユーザ自身の癖や技術が反映されたノンプレイヤキャラクタを作り出すことができる。例えば、過去データ選択手段が、ゲームの技術レベルが同等とされるユーザのグループの識別情報に関連付けられた過去データを選択した場合には、そのグループの技術レベルのユーザ操作が反映されたノンプレイヤキャラクタを作り出すことができる。このように、ノンプレイヤキャラクタの動作を、ある特定のユーザまたはある特定のグループに属するユーザに操作されるプレイヤキャラクタの動作に近づけることができる。
【0009】
また、第1の発明において、前記複数のゲーム装置のうちの第1ユーザの第1ゲーム装置は、第2ユーザの第2ゲーム装置と通信して、前記第2ゲーム装置における前記操作部に対する第2ユーザの操作により生成される操作情報を受信し、前記プレイヤキャラクタ制御手段は、前記第1ゲーム装置における前記操作部に対する第1ユーザの操作に応じて前記プレイヤキャラクタである第1プレイヤキャラクタの動作を制御するとともに、前記第2ゲーム装置から受信した操作情報に基づき、前記ゲーム空間に配置された第2プレイヤキャラクタの動作を制御し、前記過去データ選択手段は、前記第2ユーザを識別する前記識別情報に基づき、前記第2ユーザについての前記過去データを選択し、前記第1ゲーム装置と前記第2ゲーム装置との通信が切断された場合、前記操作情報決定手段は、前記過去データ選択手段により選択された前記第2ユーザについての前記過去データに基づき、前記監視手段により監視された前記ゲーム状況に対応する操作情報を決定し、前記ノンプレイヤキャラクタ制御手段が、前記操作情報決定手段により決定された操作情報を用いて、前記プレイヤキャラクタ制御手段の代わりに、前記第2プレイヤキャラクタの動作を制御してもよい。前記ゲームプログラムによれば、第1ユーザの第1ゲーム装置において、第2ユーザの第2ゲーム装置との間の通信が切断された場合に、第2プレイヤキャラクタの動作が、第2ユーザについての識別情報と関連付けられた過去データを用いて決定された操作情報に基づき制御される。このため、第1ゲーム装置において、第2ゲーム装置との通信が切断された場合に、第1ユーザに違和感を与えることなくゲームを進行させることができる。
【0010】
また、第1の発明において、前記操作情報決定手段は、前記記憶部に記憶された複数の前記過去データに含まれる前記ゲーム状況のうち、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を特定する状況特定手段と、前記過去データを用いて、前記状況特定手段により特定された前記ゲーム状況に対応する操作情報を取得する操作情報取得手段と、を含み、前記ノンプレイヤキャラクタ制御手段は、前記操作情報取得手段により取得された操作情報を用いて、前記ゲーム空間に配置されたノンプレイヤキャラクタの動作を制御してもよい。前記ゲームプログラムによれば、過去データさえあれば、監視手段により監視されたゲーム状況に対応する操作情報を決定できるため、監視手段により監視されたゲーム状況に対応する操作情報の決定を容易に行うことができる。
【0011】
また、第1の発明において、前記状況特定手段は、前記監視手段により監視された前記ゲーム状況と前記記憶部に記憶された前記ゲーム状況情報が示すゲーム状況との類似度に基づき、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を特定してもよい。前記ゲームプログラムによれば、過去データの中に、現在監視されているゲーム状況に完全に一致するゲーム状況を示すゲーム状況情報が存在しなくても、現在監視されているゲーム状況に類似したゲーム状況に対応する操作情報を特定することができる。また、過去データに含まれる複数のゲーム状況の中から、現在監視されているゲーム状況に最も類似したゲーム状況を特定することも可能である。
【0012】
また、第1の発明において、前記過去データは、時系列データであり、前記操作情報取得手段により取得された前記操作情報を用いた前記ノンプレイヤキャラクタの動作が開始された後に、前記状況特定手段は、前記監視手段により監視された前記ゲーム状況と、前記ノンプレイヤキャラクタの動作の制御に用いられる過去データのゲーム状況との類似度の推移を監視し、監視された前記類似度が所定の閾値を下回ったときは、前記状況特定手段は、前記記憶部に記憶された複数の前記過去データに含まれる前記ゲーム状況の中から、前記監視手段により監視された前記ゲーム状況と一致するまたは類似するゲーム状況を再度特定してもよい。前記ゲームプログラムによれば、監視されるゲーム状況の変化に対応した適切な操作情報を特定することができる。
【0013】
第2の発明は、上記のいずれかのゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステムである。
【発明の効果】
【0014】
本発明によれば、ノンプレイヤキャラクタの動作を、人間に操作されるキャラクタの動作に近づけて、ノンプレイヤキャラクタの動作に人間味をもたせることができるゲームプログラムおよびゲームシステムを提供することができる。
【図面の簡単な説明】
【0015】
図1】一実施形態におけるゲームシステムのハードウェア構成を示すブロック図である。
図2】ゲーム装置のコントローラを示す外観図である。
図3】ゲームの対戦画面の一例を示す図である。
図4】ゲーム装置およびサーバ装置の各制御部の機能的な構成を示すブロック図である。
図5】過去データを記憶する処理の流れを示すフローチャートである。
図6】過去データを用いてノンプレイヤキャラクタを動作させる処理の流れを示すフローチャートである。
図7】疑似プレイヤキャラクタとの対戦を選択可能な画面の一例を示す図である。
図8】疑似プレイヤキャラクタの条件を設定可能な画面の一例を示す図である。
図9】ゲーム状況の類似度に応じた操作情報の決定方法の一例を説明するための模式図である。
図10】通信切断があった場合の対戦継続処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0016】
<実施形態>
以下、本発明の一実施形態に係るゲームシステムおよびゲームプログラムについて、図面を参照しつつ説明する。
【0017】
[ハードウェア構成]
まず本発明の一実施形態に係るゲームシステム1の構成について説明する。図1は、当該ゲームシステム1を構成するゲーム装置2のハードウェア構成を示すブロック図である。図1に示すように、ゲームシステム1は、ゲーム装置2とサーバ装置4とを備え、ゲーム装置2は、ゲーム装置本体20と、ゲーム装置本体20に有線または無線で接続される一以上のコントローラ31(操作部)、モニタ32(表示部)およびスピーカ33を備えている。
【0018】
ゲーム装置本体20は、その動作を制御するコンピュータである制御部21を備える。制御部21は、例えばCPUを含む。制御部21には、メディアI/F部22、記憶部23、ネットワークI/F部24(通信部)、無線通信制御部25、グラフィック処理部26およびオーディオ処理部27が、それぞれバス21aを介して接続されている。
【0019】
メディアI/F部22は、ゲームを実行するためのゲームメディア34を装填可能なインターフェースである。ゲームメディア34は、例えばDVD-ROM等のディスク型記録媒体であり、その中にゲームの実行に必要なゲームプログラム34aおよびゲームデータ34bが記録されている。このゲームデータ34bには、ゲームを実行するために必要な各種データが含まれる。
【0020】
記憶部23は、例えば、大容量記録媒体であるHDD、マスクROMまたはPROMなどの半導体メモリであるROM、および、DRAMまたはSRAMなどから成るRAMで構成される。記憶部23には、ゲームメディア34から読み込んだゲームプログラム34aおよびゲームデータ34b、並びにセーブデータ等が記録される。なお、本実施形態では、ゲーム起動時にゲームメディア34内の全てのゲームデータ34bを読み込まず、ゲームの進行状況(例えばゲームシーンの変わり目など)に応じて適宜必要となるゲームデータを読み込む。
【0021】
ネットワークI/F部24は、インターネットまたはLANなどの通信ネットワークNWに対してゲーム装置2を接続するインターフェースである。ゲーム装置2は、他のゲーム装置2およびサーバ装置4との間で通信ネットワークNWを介して互いに通信可能である。例えば、ゲーム装置2は、外部と通信しながらゲームを進行させる場合に、通信ネットワークNWを介して、他のゲーム装置2との間および/またはサーバ装置4との間でデータの送受信を行う。
【0022】
無線通信制御部25は、ゲーム装置本体20に付属するコントローラ31との間で無線により接続され、コントローラ31との間でデータの送受信が可能となっている。コントローラ31は、ユーザによる操作を受け付ける操作装置である。コントローラ31がユーザにより操作されることにより、その操作に対応した操作情報が、無線通信制御部25を介してコントローラ31からゲーム装置2の制御部21に送られる。制御部21は、コントローラ31からの操作情報に基づきゲームを進行させる。
【0023】
図2は、図1に示すコントローラ31を示す外観図である。コントローラ31は、略U字形をしており、ユーザが両翼部のハンドル201L,201Rを左右両手で把持して操作する。コントローラ31は、複数の操作子を有する。例えば、コントローラ31の左右上面には操作ボタン群210,220、アナログスティック212,222が設けられており、コントローラ31の右前面にはR1ボタン211、左前面にはL1ボタン221がそれぞれ設けられている。操作ボタン群210およびアナログスティック212はユーザの右手親指で操作され、操作ボタン群220およびアナログスティック222はユーザの左手親指で操作される。また、R1ボタン211、L1ボタン221は、それぞれユーザの右手人指し指、左手人指し指で操作される。
【0024】
さらに、コントローラ31は、操作ボタン群210と操作ボタン群220との間にタッチパッド230を備えている。タッチパッド230は、横長の長方形状を成しており、周知のように、ユーザがタッチパッド230の表面に指先等を接触または近接させることで、接触または近接点(入力点)の位置情報(座標)を、図1の制御部21へ出力するものである。さらに、タッチパッド230は、全体を押し込むことで操作ボタンとしても機能する。
【0025】
図1に戻って、グラフィック処理部26は、制御部21の指示に従ってゲーム画像を動画形式で描画する。グラフィック処理部26によって描画されたゲーム画像は、ゲーム画面としてモニタ32に表示される。モニタ32は、ゲーム画像を表示する表示装置(表示部)である。モニタ32は、例えば液晶ディスプレイである。
【0026】
オーディオ処理部27は、制御部21の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ処理部27は、外部のスピーカ33と接続される。オーディオ処理部27により再生および合成されたゲーム音声は、音響出力装置としてのスピーカ33から外部へ出力される。なお、オーディオ処理部27には、スピーカ33に加えてまたは代わりに、外部のヘッドフォンなどが接続され得る。
【0027】
サーバ装置4は、その動作を制御するコンピュータであるサーバ制御部41を備える。サーバ制御部41は、例えばCPUを含む。サーバ制御部41には、記憶部42およびネットワークI/F部43が、それぞれバス41aを介して接続されている。なお、サーバ装置4は、必要に応じてキーボード等の入力装置、および液晶ディスプレイ等の出力装置を備えていてもよい。
【0028】
記憶部42は、例えば、大容量記録媒体であるHDD、マスクROMまたはPROMなどの半導体メモリであるROM、および、DRAMまたはSRAMなどから成るRAMで構成される。ネットワークI/F部43は、インターネットまたはLANなどの通信ネットワークNWに対してサーバ装置4を接続するインターフェースである。サーバ装置4は、複数のゲーム装置2との間で通信ネットワークNWを介して互いに通信可能である。
【0029】
[ゲームの概要]
以下では、本実施形態におけるゲームシステム1により実現されるゲームの一例として、ユーザが一のキャラクタを操作して、別のキャラクタと仮想のゲーム空間内で1対1の格闘を行わせる対戦型格闘ゲームを説明する。
【0030】
図3は、ゲームシステム1により行われる対戦ゲームの対戦画面D1の一例を示す図である。仮想のゲーム空間Sには、ユーザが操作する一のプレイヤキャラクタであるユーザキャラクタPAと、そのユーザキャラクタPAと戦うキャラクタである対戦相手キャラクタPBが配置される。このゲームでは、ユーザが操作するユーザキャラクタPAは、予め定めた複数の種類のキャラクタの中からユーザにより選択可能となっている。
【0031】
ユーザキャラクタPAの動作は、コントローラ31に対するユーザの操作に応じて決定される。具体的には、コントローラ31が有する各操作子(つまり、各操作子に対する操作)には、予め定めたユーザキャラクタPAの動作が割り当てられている。例えば、操作ボタン群210が含む4つのボタンには、それぞれ、「弱パンチ」、「強パンチ」、「弱キック」、「強キック」などの動作が割り当てられている。例えば、操作ボタン群220が含む4つのボタンには、それぞれ、「画面右への移動」、「画面左への移動」、「ジャンプ」、「しゃがむ」などの動作が割り当てられている。
【0032】
また、このゲームでは、コントローラ31に対して予め定めた複数の操作入力(例えば操作ボタン群210,220のうちの複数のボタンの同時押しや、所定の時間内の予め定めた順での一連のボタン押し、それらの組合せなど)がなされることにより、ユーザキャラクタPAは、予め定めた1または一連の動作(以下、「特殊動作」または「特殊技」と呼ぶ)を実行する。
【0033】
特殊動作が一連の動作である場合、特殊動作は、例えばパンチやキックなどの複数の動作を含む。また、特殊動作が含む複数の動作のそれぞれは、コントローラ31に対する1つの操作入力(1回のボタン押し)に対応しているのではなく、特殊動作が含む複数の動作セットが、コントローラ31に対する複数の操作入力のセットに対応している。
【0034】
特殊動作は、ユーザキャラクタPAの種類に応じて異なる。このゲームでは、特殊動作は、ユーザキャラクタPAに特有の攻撃技である。特殊技を発動するためのコントローラ31に対する予め定めた複数の操作入力は、ユーザキャラクタPAの種類に応じて異なる。
【0035】
一方、対戦相手キャラクタPBの動作の決定方法は、ユーザがプレイするゲームモードに応じて異なる。具体的には、このゲームでは、ユーザがプレイするゲームモードとして、他ユーザ対戦モードとCPU対戦モードが含まれている。いずれのゲームモードでプレイするかは、コントローラ31を介してユーザが選択可能である。
【0036】
他ユーザ対戦モードは、他のユーザとオンライン対戦を行うゲームモードである。より詳しくは、他ユーザ対戦モードは、ユーザが操作するユーザキャラクタPAを操作して、通信ネットワークNWを介して他のユーザが操作するプレイヤキャラクタとしての対戦相手キャラクタPBと格闘させるゲームモードである。CPU対戦モードは、ユーザが操作するユーザキャラクタPAを操作して、CPUにより動作が制御されるノンプレイヤキャラクタとしての対戦相手キャラクタPBと格闘させるゲームモードである。
【0037】
本実施形態では、ユーザあるいは他のユーザによって操作されたプレイヤキャラクタの対戦データ(後述の過去データ)を利用することによって、ノンプレイヤキャラクタとしての対戦相手キャラクタPBに、過去の対戦におけるプレイヤキャラクタの動作に類似した動作を行わせることが可能となっている。これについて、詳細は後述する。
【0038】
[機能的構成]
図4は、ゲーム装置2およびサーバ装置の各制御部21,41の機能的な構成を示すブロック図である。ゲーム装置2の制御部21は、ゲームプログラム34aを実行することにより、通信手段51、ゲーム空間生成手段52、プレイヤキャラクタ制御手段(以下、PC制御手段)53、監視手段54、操作情報決定手段55、およびノンプレイヤキャラクタ制御手段(以下、NPC制御手段)56として機能する。サーバ装置4の制御部41は、記憶部42に記憶されたゲームプログラムを実行することにより、通信手段61、記憶手段62、および過去データ選択手段63として機能する。
【0039】
通信手段51は、通信ネットワークNWを介して他のゲーム装置2およびサーバ装置4との間で通信する。
【0040】
ゲーム空間生成手段52は、二次元または三次元の仮想のゲーム空間Sを生成する。ゲーム空間Sには、上述したユーザキャラクタPAおよび対戦相手キャラクタPBが配置される。
【0041】
PC制御手段53は、コントローラ31に対するユーザの操作により生成される操作情報に基づき、ゲーム空間Sに配置されたユーザキャラクタPAの動作を制御する。また、他ユーザ対戦モードでは、PC制御手段53は、対戦相手である他のユーザのゲーム装置2から受信した操作情報(他のゲーム装置2にてコントローラ31に対する他のユーザの操作により生成された操作情報)に基づき、ゲーム空間Sに配置された対戦相手キャラクタPBの動作を制御する。
【0042】
監視手段54は、ゲーム状況を監視する。ゲーム状況には、例えばキャラクタPA,PBの各種パラメータ(例えば、キャラクタの体力ゲージや、消費することで特殊技を発動できる特殊技ゲージなど)、対戦の経過時間あるいは対戦に設定された制限時間までの残り時間、対戦相手キャラクタPBが行ったまたは行っている途中の動作の種類(攻撃の種類、防御の種類、ジャンプ、移動の有無、移動方向、移動の速度、姿勢、実行中または実行された技の種類など)、キャラクタPA,PBの一方に対する他方の相対位置(キャラクタPA,PB同士の距離など)、各キャラクタPA,PBの絶対位置(ゲーム空間SにおけるキャラクタPA,PBの位置)などが例示される。
【0043】
操作情報決定手段55は、サーバ装置4の記憶部42に記憶された複数の過去データに基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する。より詳しくは、操作情報決定手段55は、サーバ装置4にて過去データ選択手段63により選択された複数の過去データをサーバ装置4から受信してゲーム装置2の記憶部23に記憶し、記憶部23に記憶された複数の過去データに基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する。ここで、過去データは、コントローラ31に対するユーザの操作により生成される操作情報と、その操作情報に対応するユーザの操作がされたとき(例えばその操作情報が生成されたとき)のゲーム状況を示すゲーム状況情報とを含む。
【0044】
なお、操作情報決定手段55は、状況特定手段55aおよび操作情報取得手段55bを含む。
【0045】
状況特定手段55aは、記憶部23に記憶された複数の過去データに含まれるゲーム状況のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況を特定する。具体的には、状況特定手段55aは、監視手段54により監視されたゲーム状況と記憶部23に記憶されたゲーム状況情報が示すゲーム状況との類似度を算出する。そして、状況特定手段55aは、算出した類似度に基づき、記憶部23に記憶された複数の過去データに含まれるゲーム状況(情報)のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況(情報)を特定する。
【0046】
操作情報取得手段55bは、状況特定手段55aにより特定されたゲーム状況を含む過去データを用いて、状況特定手段55aにより特定されたゲーム状況に対応する操作情報を取得する。
【0047】
NPC制御手段56は、操作情報決定手段55により決定された操作情報(より詳しくは、操作情報取得手段55bにより取得された操作情報)を用いて、ゲーム空間Sに配置されたノンプレイヤキャラクタとしての対戦相手キャラクタPBの動作を制御する。
【0048】
サーバ装置4では、通信手段61は、通信ネットワークNWを介してゲーム装置2との間で通信する。
【0049】
記憶手段62は、ゲーム装置2から受信した操作情報を、その操作情報に対応するユーザの操作がされたときのゲーム状況を示すゲーム状況情報と関連付けて過去データとして記憶部42に記憶する。また、記憶手段62は、過去データを、ユーザについての識別情報に関連付けて記憶部42に記憶する。
【0050】
ユーザについての識別情報とは、そのユーザを識別するまたはそのユーザが属するグループを識別することを可能にする情報である。ユーザを識別することを可能にする情報としては、例えば、ゲームをプレイする前に予めユーザにより登録されたユーザ名や、サーバ装置4がユーザに対して付与したユーザIDなどが例示される。ユーザが属するグループとしては、例えば、本ゲームにおける技術レベル、ゲームランク、ユーザの居住する国や地域などのユーザの所定の特徴により分類されたグループ、または、ユーザが参加しているゲーム内コミュニティなどが例示される。
【0051】
過去データ選択手段63は、上述の識別情報に基づき、記憶部42に記憶された過去データを選択する。
【0052】
[過去データの生成および利用]
次に、本実施形態のゲームシステム1における過去データの生成および利用の方法について、図5~10を参照して説明する。
【0053】
(過去データ記憶処理)
図5は、操作情報およびゲーム状況情報を過去データとして記憶する過去データ記憶処理の流れを示すフローチャートである。なお、図5には、過去データ記憶処理の例として、他ユーザ対戦モードで2人のユーザ同士がネットワークNWを介して対戦した場合の処理を説明する。
【0054】
以下の説明において、便宜上、対戦する2人のユーザを第1ユーザおよび第2ユーザと呼び、第1ユーザが操作入力するゲーム装置2を第1ゲーム装置2a、第2ユーザが操作入力するゲーム装置2を第2ゲーム装置2bと呼ぶこととする。なお、第1ゲーム装置2aと第2ゲーム装置2bとで実行される処理は互いに同じであるため、以下の説明では、第1ゲーム装置2aと第2ゲーム装置2bのうち、第1ゲーム装置2aで実行される処理を主に説明し、第2ゲーム装置2bでの処理については説明を適宜省略する。
【0055】
第1ゲーム装置2aにおいて、コントローラ31に対する第1ユーザの操作に基づき、ゲームモードとして他ユーザ対戦モードが選択されると、通信手段51は、第1ゲーム装置2aからサーバ装置4へマッチング要求を送る(ステップS101)。第2ゲーム装置2bでも同様に、通信手段51は、第2ゲーム装置2bからサーバ装置4へマッチング要求を送信する。
【0056】
サーバ装置4では、サーバ制御部41にて周知のマッチング処理が実行される(ステップS201)。これにより、ゲーム装置2a,2b同士がサーバ装置4を介して互いに同期する(ステップS202)。こうして、対戦が開始される。
【0057】
対戦が開始すると、第1ゲーム装置2aの通信手段51は、第1ゲーム装置2aにて生成した操作情報を、サーバ装置4を介して第2ゲーム装置2bへ送信したり、第2ゲーム装置2bにて生成された操作情報を、サーバ装置4を介して第2ゲーム装置2bから受信したりする(ステップS102)。また、第1ゲーム装置2aの通信手段51は、第1ゲーム装置2aにて操作情報に対応するユーザの操作がされたときのゲーム状況を示すゲーム状況情報もサーバ装置4へ送信する(ステップS103)。なお、ゲーム状況情報は、ゲーム装置2(例えば第1ゲーム装置2a)から対戦相手側のゲーム装置2(例えば第2ゲーム装置2b)に送られる必要はない。
【0058】
第1ゲーム装置2aでは、PC制御手段53は、コントローラ31に対する第1ユーザの操作により生成された操作情報に基づき、ユーザキャラクタPAの動作を制御する。また、PC制御手段53は、第2ゲーム装置2bから受信した操作情報(つまり、第2ゲーム装置2bにてコントローラ31に対する第2ユーザの操作により生成された操作情報)に基づき、対戦相手キャラクタPBの動作を制御する(ステップS104)。こうして、他ユーザ対戦モードにおける対戦が進行される。
【0059】
一方、サーバ装置4では、記憶手段62が、ステップS102およびS103で受信した操作情報およびゲーム状況情報を過去データとして、ユーザごとに記憶部42に記憶する(ステップS203)。例えば、記憶手段62は、第1ゲーム装置2aから受信した操作情報を、その操作情報に対応する第1ユーザの操作がされたときのゲーム状況を示すゲーム状況情報と関連付けて過去データとして、記憶部42に記憶する。その際、記憶手段62は、過去データを、第1ユーザについての識別情報に関連付けて記憶部42に記憶する。同様に、記憶手段62は、第2ゲーム装置2bから受信した操作情報およびゲーム状況情報を含む過去データも、第2ユーザについての識別情報に関連付けて記憶部42に記憶する。
【0060】
以上のように、ユーザ同士の対戦ゲームが行われるたびに、サーバ装置4の記憶部42には、過去データが蓄積される。なお、ゲームモードとしてCPU対戦モードが選択された場合にも、サーバ装置4の記憶部42に過去データが蓄積されてもよく、この場合、ステップS102では、通信手段51は、サーバ装置4への操作情報の送信のみ行う。
【0061】
(疑似プレイヤキャラクタ対戦処理)
図6は、記憶した過去データを用いて対戦相手キャラクタPBを動作させる疑似プレイヤキャラクタ対戦処理の流れを示すフローチャートである。
【0062】
ゲーム装置2において、コントローラ31に対するユーザの操作に基づき、ゲームモードとしてCPU対戦モードが選択されると、さらに、ユーザは、通常のCPU対戦を行うか、疑似プレイヤキャラクタとの対戦を行うかを選択可能となっている。疑似プレイヤキャラクタとは、過去データを用いて制御されることで、過去のプレイヤキャラクタの動作に似た動作を行うノンプレイヤキャラクタである。
【0063】
図7は、疑似プレイヤキャラクタとの対戦を選択可能なゲーム画面の一例である。通常のCPU対戦を選択する場合、ユーザは、更に対戦相手キャラクタPBの強さのレベル(図例ではEASY、NORMAL、HARD)を選択可能となっている。通常のCPU対戦では、予め定めたプログラムに従って動作を行うようノンプレイヤキャラクタが制御される。
【0064】
疑似プレイヤキャラクタとの対戦を選択する場合、ユーザは、更にどのような疑似プレイヤキャラクタと対戦するかを決定することが可能となっている。言い換えれば、対戦する疑似プレイヤキャラクタの制御に用いられるデータとして、どのようなユーザの過去データを使用するかを決定することが可能となっている。例えば、図7に示す項目B1を選択することにより、予め登録されたユーザ名、あるいは複数のユーザが所属する予め登録されたグループ名を検索して、1以上のユーザを指定することが可能となっている。
【0065】
また、図7に示す項目B2を選択することにより、対戦する疑似プレイヤキャラクタの条件、言い換えれば、どのユーザの過去データを疑似プレイヤキャラクタの制御に用いるかを絞り込むための条件を設定することが可能となっている。図8は、疑似プレイヤキャラクタの条件を設定するゲーム画面の一例を示す図である。この例では、疑似プレイヤキャラクタの条件として、ユーザ所在地、ユーザの強さ、ユーザが使用したキャラクタの種類の少なくとも1つの項目E1,E2,E3を設定することが可能となっている。
【0066】
このうち、ユーザ所在地についての項目E1では、ユーザの居住地として予め登録された大陸(例えば、アジア、北アメリカ、ヨーロッパなど)、国(日本など)、地域(関東、関西、大阪など)の区分を選択可能となっている。
【0067】
また、ユーザの強さについての項目E2では、ゲーム内の対戦結果などに応じてユーザに付与されたランキング、ランク、技術レベル、スキルなどの範囲を指定または選択可能となっている。
【0068】
また、ユーザが使用したキャラクタの種類についての項目E3では、対戦する疑似プレイヤキャラクタの種類が設定される。これにより、選択した種類のキャラクタを使用した経験のあるユーザ(つまり、そのユーザの過去データ)を絞り込むことが可能となっている。例えば、これから対戦する予定の対戦相手キャラクタPBの種類を、ユーザが予め決めている場合などに使用される。なお、上記の条件は例示にすぎず、上記の条件以外の条件も、疑似プレイヤキャラクタの制御に用いられる過去データを選択するための条件として適用可能である。
【0069】
図6に戻って、どのような疑似プレイヤキャラクタと対戦するか(どのようなユーザの過去データを疑似プレイヤキャラクタの制御に用いるか)が、コントローラ31に対するユーザの操作に基づき決定されると、通信手段51は、ゲーム装置2からサーバ装置4へ疑似プレイヤキャラクタ情報を送る(ステップS111)。疑似プレイヤキャラクタ情報には、コントローラ31に対するユーザの操作に基づき決定された、どのような疑似プレイヤキャラクタと対戦するかを示す情報が含まれる。
【0070】
サーバ装置4では、通信手段61が、ゲーム装置2から疑似プレイヤキャラクタ情報を受信する。過去データ選択手段63は、通信手段61により受信された疑似プレイヤキャラクタ情報に基づき、記憶部42に記憶された過去データを選択する(ステップS211)。具体的には、過去データ選択手段63は、疑似プレイヤキャラクタ情報に含まれるまたは疑似プレイヤキャラクタ情報が示す識別情報に基づき、記憶部42に記憶された複数の過去データの中から、その識別情報に関連付けられた1以上の複数の過去データを選択する。
【0071】
通信手段61は、過去データ選択手段63により選択された過去データをゲーム装置2へ送信する(ステップS212)。
【0072】
ゲーム装置2では、通信手段51が、サーバ装置4から過去データを受信し、受信された過去データは、記憶部23に記憶される(ステップS112)。
【0073】
対戦が開始されると、監視手段54は、ゲーム状況の監視を開始する(ステップS113)。操作情報決定手段55は、記憶部23に記憶された過去データに基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する(ステップS114)。
【0074】
具体的に、ステップS114では、操作情報決定手段55が含む状況特定手段55aが、監視手段54により監視されたゲーム状況と記憶部23に記憶されたゲーム状況情報が示すゲーム状況との類似度を算出する。状況特定手段55aは、算出した類似度に基づき、記憶部23に記憶された複数の過去データに含まれるゲーム状況(情報)のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況(情報)を特定する。そして、操作情報決定手段55が含む操作情報取得手段55bが、状況特定手段55aにより特定されたゲーム状況を含む過去データを用いて、状況特定手段55aにより特定されたゲーム状況に対応する操作情報を取得する。
【0075】
PC制御手段53は、コントローラ31に対するユーザの操作により生成された操作情報に基づき、ユーザキャラクタPAの動作を制御する。また、NPC制御手段56は、操作情報決定手段55により決定された操作情報を用いて、ゲーム空間Sに配置されたノンプレイヤキャラクタとしての対戦相手キャラクタPBの動作を制御する(ステップS115)。こうして、ゲーム装置2において、CPU対戦モードにおける疑似プレイヤキャラクタとの対戦が進行される。
【0076】
(操作情報の決定方法)
次に、上記のステップS114での類似度に応じた操作情報の決定方法の一例を説明する。本例では、過去データは、時系列順に並んだ、操作情報およびゲーム状況情報のセットを複数含む時系列データであるものとして説明する。1つの過去データは、例えば1つの対戦が開始されてから終了するまでの1つの対戦データである。また、1つの過去データが含む各操作情報は、対戦相手キャラクタPBの動作に対応する。例えば、操作情報は、「弱パンチ」という1つの動作に対応する1つのボタン操作を示す情報であったり、1つの特殊技を発動するための複数のボタン操作を示す情報であったりする。
【0077】
図9は、類似度に応じた操作情報の決定方法の一例を説明するための模式図である。図9には、対戦中における経過時間を横軸とし、監視手段54に監視されるゲーム状況と過去データのゲーム状況との類似度を縦軸としたグラフが含まれる。
【0078】
本例において、過去データは時系列データであり、一旦、操作情報取得手段55bにより操作情報が取得されると、基本的には、操作情報取得手段55bにより取得された操作情報を含む過去データは、取得された時点以降も対戦相手キャラクタPBの動作の制御に用いられる。
【0079】
図9を用いて説明すれば、例えばある時刻t0において、状況特定手段55aが、複数の過去データに含まれるゲーム状況のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況として、過去データQ1が含むゲーム状況を特定したとする。この場合、上述したように、操作情報取得手段55bは、特定されたゲーム状況を含む過去データQ1を用いて、特定されたゲーム状況に対応する操作情報を取得し、NPC制御手段56が、この操作情報に基づき、ゲーム空間Sに配置されたノンプレイヤキャラクタとしての対戦相手キャラクタPBの動作を制御する。
【0080】
NPC制御手段56は、時刻t0で用いた過去データQ1を、時刻t0の後にも用いて、対戦相手キャラクタPBの動作を制御する。例えば、過去データQ1が、操作情報R0,R1,…, RT, RT+1, RT+2,…(時系列順)を含んでおり、時刻t0に、NPC制御手段56が、対戦相手キャラクタPBの動作の制御に過去データQ1中の操作情報RTを用いた場合、時刻t0より後には、NPC制御手段56は、過去データQ1中の操作情報のうち、時系列的に操作情報RTの後に続く操作情報RT+1, RT+2,…を順次用いて、対戦相手キャラクタPBの動作を制御する。
【0081】
ただし、監視手段54に監視されるゲーム状況と使用中の過去データQ1のゲーム状況とが類似しなくなった場合には、その過去データQ1の使用を取りやめる。そして、操作情報決定手段55は、再度、操作情報の決定(言い換えれば使用する過去データの決定)を行う。
【0082】
図9を用いて説明すれば、上述のように、時刻t0以降においてNPC制御手段56が過去データQ1を用いて対戦相手キャラクタPBの動作を制御している間、状況特定手段55aは、監視手段54により監視されたゲーム状況と、過去データQ1のゲーム状況(対戦相手キャラクタPBの動作の制御に用いられる過去データのゲーム状況)との類似度の推移を監視する。つまり、時刻t0より後に、NPC制御手段56が、操作情報RTの後に続く操作情報RT+1, RT+2,…を順次用いる間、状況特定手段55aは、監視手段54により監視されたゲーム状況と、使用中の操作情報に対応するゲーム状況(操作情報RT+1, RT+2,…に対応するゲーム状況情報ST+1, ST+2,…)との類似度の推移を監視する。
【0083】
そして、時刻t1において、監視された類似度が所定の閾値(基準値)を下回ったときは、操作情報決定手段55による操作情報の決定が再度行われる。つまり、時刻t1において、状況特定手段55aが、時刻t0時点で行ったように、複数の過去データに含まれるゲーム状況のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況を特定する。操作情報取得手段55bは、特定したゲーム状況を含む過去データQ2を用いて、状況特定手段55aにより特定されたゲーム状況に対応する操作情報を取得する。時刻t1より後は、NPC制御手段56は、時刻t1で用いた過去データQ2を用いて、対戦相手キャラクタPBの動作を制御する。このように、状況特定手段55aにより監視される類似度が閾値を下回るたびに、疑似プレイヤキャラクタの動作に用いられる過去データが変わり得る。
【0084】
なお、上述の操作情報の決定方法は一例にすぎない。例えば、操作情報取得手段55bにより取得された操作情報を含む過去データは、取得された時点以降も対戦相手キャラクタPBの動作の制御に用いられる必要はない。例えば、疑似プレイヤキャラクタとの対戦においても、基本的には、NPC制御手段56は、通常のCPU対戦と同様に予め定めたプログラムに従ってノンプレイヤキャラクタとしての対戦相手キャラクタPB(疑似プレイヤキャラクタ)の動作を制御してもよい。そして、ゲーム進行中、状況特定手段55aが、監視手段54により監視されたゲーム状況と記憶部23に記憶されたゲーム状況情報が示すゲーム状況との類似度を算出し、算出した類似度が所定の値を超えたときにだけ、そのゲーム状況とそれを含む記憶部23に記憶された複数の過去データを特定してもよい。つまり、疑似プレイヤキャラクタは、過去データの中に、対戦中のゲーム状況と一致または類似するゲーム状況が過去データの中にあったときに、過去データを用いて制御され、それ以外のときには通常のCPU対戦と同様の動作を行うよう制御されてもよい。
【0085】
また、類似度の数値化方法は、特に限定されず、ゲーム状況を示す各種パラメータに応じて適宜設定される。例えば、ゲーム状況を示すパラメータごとに、類似度に対する寄与率が異なってもよい。例えば、ゲーム状況を示すパラメータに、対戦相手キャラクタ行っている途中の動作の種類が含まれる場合に、監視手段54により監視されたゲーム状況としてのキャラクタ動作の種類と、記憶部23に記憶されたゲーム状況としてのキャラクタ動作の種類が、互いに異なる場合には、類似度をゼロとしてもよい。また、例えば、ゲーム状況を示すパラメータに、対戦するキャラクタ同士の距離が含まれる場合に、対戦するキャラクタ同士の距離の逆数に所定の値を乗じたものを類似度に反映させてもよい。
【0086】
(対戦継続処理)
次に、2つのゲーム装置2間でオンライン対戦している途中に通信が切れた場合に過去データを利用して対戦を継続させる対戦継続処理について説明する。図10は、対戦継続処理の流れを示すフローチャートである。
【0087】
なお、対戦継続処理でも、図5の過去データ記憶処理の説明と同様に、他ユーザ対戦モードで2人のユーザ同士がネットワークNWを介して対戦した場合の処理を説明する。図10の説明において、図5の説明と同様、対戦する2人のユーザを第1ユーザおよび第2ユーザと呼び、第1ユーザおよび第2ユーザが操作入力するゲーム装置2をそれぞれ第1ゲーム装置2aおよび第2ゲーム装置2bと呼ぶこととする。また、第1ゲーム装置2aと第2ゲーム装置2bとで実行される処理は互いに同じであることから、以下の説明では、第1ゲーム装置2aと第2ゲーム装置2bのうち、第1ゲーム装置2aで実行される処理を主に説明し、第2ゲーム装置2bでの処理については説明を適宜省略する。
【0088】
対戦継続処理において、対戦するユーザ同士(第1ユーザと第2ユーザ)がマッチングされるまでの処理は、図5のステップS101,S201,S202と同じであるため、説明を省略する。
【0089】
マッチングが完了した後(例えばゲーム装置2a,2b同士がサーバ装置4を介して互いに同期した後)、サーバ装置4の過去データ選択手段63は、互いに対戦する第1ユーザと第2ユーザのそれぞれについての過去データを選択する。そして、サーバ装置4の通信手段61は、各ゲーム装置2へ、そのゲーム装置2のユーザの対戦相手についての過去データを送信する(ステップS221)。
【0090】
具体的には、過去データ選択手段63は、第1ユーザを識別する識別情報に基づき、第1ユーザについての過去データを選択し、通信手段61は、第1ユーザのゲーム装置2aへ、第2ユーザについての過去データを送信する。また、過去データ選択手段63は、第2ユーザを識別する識別情報に基づき、第2ユーザについての過去データを選択し、通信手段61は、第2ユーザのゲーム装置2bへ、第1ユーザについての過去データを送信する。
【0091】
こうして、第1ゲーム装置2aでは、サーバ装置4から受信した第2ユーザについての過去データが記憶部23に記憶され、第2ゲーム装置2bでは、サーバ装置4から受信した第1ユーザについての過去データが記憶部23に記憶される。
【0092】
対戦ゲーム開始後は、互いの通信が切断されるまでは、図5に示した処理と同様に、ステップS102,S103,S104の順に処理が進む。すなわち、対戦が開始すると、第1ゲーム装置2aの通信手段51は、第1ゲーム装置2aにて生成した操作情報を、サーバ装置4を介して第2ゲーム装置2bへ送信したり、第2ゲーム装置2bにて生成された操作情報を、サーバ装置4を介して第2ゲーム装置2bから受信したりする(ステップS102)。また、第1ゲーム装置2aの通信手段51は、第1ゲーム装置2aにて操作情報に対応するユーザの操作がされたときのゲーム状況を示すゲーム状況情報もサーバ装置4へ送信する(ステップS103;図10で省略)。
【0093】
第1ゲーム装置2aでは、PC制御手段53は、コントローラ31に対する第1ユーザの操作により生成された操作情報に基づき、ユーザキャラクタPA(第1プレイヤキャラクタ)の動作を制御する。また、PC制御手段53は、第2ゲーム装置2bから受信した操作情報(つまり、第2ゲーム装置2bにてコントローラ31に対する第2ユーザの操作により生成された操作情報)に基づき、対戦相手キャラクタPB(第2プレイヤキャラクタ)の動作を制御する(ステップS104)。こうして、他ユーザ対戦モードにおける対戦が進行される。
【0094】
対戦中に第1ゲーム装置2aと第2ゲーム装置2bとの通信が切断された場合、対戦相手キャラクタPBは、プレイヤキャラクタからノンプレイキャラクタへ変わる。具体的には、第1ゲーム装置2aでは、通信手段51が、対戦相手側のゲーム装置2である第2ゲーム装置2bとの通信が切断されたか否かを判定する(ステップS121)。第2ゲーム装置2bとの通信が継続していると判定される場合(ステップS121:NO)、PC制御手段53による対戦相手キャラクタPBの動作の制御が継続する。
【0095】
第2ゲーム装置2bとの通信が切断されたと判定された場合(ステップS121:YES)、対戦相手キャラクタPBの動作が、第2ゲーム装置2bから受信した操作情報に基づく動作から、記憶部23に記憶された第2ユーザについての過去データに基づく動作に切り換わる(ステップS122)。
【0096】
具体的には、図6の疑似プレイヤキャラクタ対戦処理で示したステップS113,S114,S115と同様の処理が実行される。つまり、第2ゲーム装置2bとの通信が切断されると、監視手段54は、ゲーム状況の監視を開始する。操作情報決定手段55は、記憶部23に記憶された過去データ(つまり、ステップS221で過去データ選択手段63により選択された第2ユーザについての過去データ)に基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する。そして、NPC制御手段56は、操作情報決定手段55により決定された操作情報を用いて、PC制御手段53の代わりに、対戦相手キャラクタPB(第2プレイヤキャラクタ)の動作を制御する。
【0097】
このように、第1ユーザの第1ゲーム装置2aにおいて、第2ユーザの第2ゲーム装置2bとの間の通信が切断された場合に、対戦相手キャラクタPBの動作が、第2ユーザについての識別情報と関連付けられた過去データを用いた操作情報に基づき制御される。言い換えれば、第2ユーザ(のゲーム装置2b)との通信が切断された後に、対戦相手キャラクタPBは、第2ユーザに操作されるプレイヤキャラクタの過去の動作に似た動作を行い続ける。このため、通信が切断されても、第1ユーザに違和感を与えることなくゲームを進行させることができる。なお、第1ゲーム装置2aと同様の処理が、第2ゲーム装置2bでも実行される。
【0098】
以上をまとめると、本実施形態に係るゲームプログラム(ゲーム装置2の制御部21に実行されるゲームプログラムおよびサーバ装置44の制御部41に実行されるゲームプログラム)は、ゲーム画面が表示されるモニタ32(表示部)と、ユーザにより操作されるコントローラ31(操作部)と、記憶部42と、コンピュータ(ゲーム装置2の制御部21およびサーバ装置44の制御部41)とを備えるゲームシステム1において、コンピュータに実行させるゲームプログラムであって、コンピュータを、ゲーム状況を監視する監視手段54、コントローラ31に対するユーザの操作により生成される操作情報に基づき、ゲーム空間Sに配置されたプレイヤキャラクタの動作を制御するPC制御手段53、操作情報を、操作情報に対応するユーザの操作がされたときのゲーム状況を示すゲーム状況情報と関連付けて過去データとして記憶部42に記憶する記憶手段62、記憶部42に記憶された複数の過去データに基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する操作情報決定手段55、および、操作情報決定手段55により決定された操作情報を用いて、ゲーム空間Sに配置されたノンプレイヤキャラクタの動作を制御するNPC制御手段56、として機能させる、ゲームプログラムである。
【0099】
本実施形態によれば、操作情報決定手段55が、記憶部42に記憶されたゲーム状況と操作情報とを用いて、監視手段54により監視されたゲーム状況に対応する操作情報を決定し、NPC制御手段56が、操作情報決定手段55により決定された操作情報を用いて、ゲーム空間Sに配置されたノンプレイヤキャラクタの動作を制御する。このため、あるゲーム状況におけるノンプレイヤキャラクタの動作を、そのゲーム状況と同じ状況におけるプレイヤキャラクタの動作に類似させることができる。従って、ノンプレイヤキャラクタの動作を、人間に操作されるキャラクタの動作に近づけて、ノンプレイヤキャラクタの動作を人間味あるものに近づけることができる。
【0100】
また、本実施形態では、過去データ選択手段63が、識別情報に基づき記憶部42に記憶された過去データを選択し、操作情報決定手段55は、過去データ選択手段63により選択された過去データに基づき、監視手段54により監視されたゲーム状況に対応する操作情報を決定する。このため、例えば、過去データ選択手段63が、ある特定のユーザの識別情報に関連付けられた過去データを選択した場合には、ユーザ自身の癖や技術が反映されたノンプレイヤキャラクタを作り出すことができる。また、例えば、過去データ選択手段63が、ゲームの技術レベルが同等とされるユーザのグループの識別情報に関連付けられた過去データを選択した場合には、そのグループの技術レベルのユーザ操作が反映されたノンプレイヤキャラクタを作り出すことができる。
【0101】
また、本実施形態では、状況特定手段55aが、記憶部42に記憶された複数の過去データに含まれるゲーム状況のうち、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況を特定し、操作情報取得手段55bが、過去データを用いて、状況特定手段55aにより特定されたゲーム状況に対応する操作情報を取得する。このため、過去データさえあれば、監視手段54により監視されたゲーム状況に対応する操作情報を決定できるため、監視手段54により監視されたゲーム状況に対応する操作情報の決定を容易に行うことができる。
【0102】
また、本実施形態では、状況特定手段55aは、監視手段54により監視されたゲーム状況と記憶部42に記憶されたゲーム状況情報が示すゲーム状況との類似度に基づき、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況を特定する。このため、過去データの中に、現在監視されているゲーム状況に完全に一致するゲーム状況を示すゲーム状況情報が存在しなくても、現在監視されているゲーム状況に類似したゲーム状況に対応する操作情報を特定することができる。
【0103】
また、本実施形態では、操作情報取得手段55bにより取得された操作情報を用いたノンプレイヤキャラクタの動作が開始された後に、状況特定手段55aは、監視手段54により監視されたゲーム状況と、ノンプレイヤキャラクタの動作の制御に用いられる過去データのゲーム状況との類似度の推移を監視し、監視された類似度が所定の閾値を下回ったときは、状況特定手段55aは、記憶部42に記憶された複数の過去データに含まれるゲーム状況の中から、監視手段54により監視されたゲーム状況と一致するまたは類似するゲーム状況を再度特定する。このため、監視されるゲーム状況の変化に対応した適切な操作情報を特定することができる。
【0104】
<その他の実施形態>
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【0105】
例えばゲームプログラム34aは、ゲームメディア34に記録されていなくてもよく、例えば、外部から通信ネットワークNWを介してゲーム装置2にダウンロードされてもよい。例えば、本発明のゲームシステムが備えるゲーム装置2は、スマートフォンなどの携帯情報端末であってもよく、操作部および表示部はタッチスクリーンなどであってもよい。また、ゲーム画面を表示する表示装置は、ヘッドマウントディスプレイなどであってもよい。
【0106】
本発明のゲームプログラムが実行される「コンピュータ」は、複数のゲーム装置2の制御部21およびサーバ装置4の制御部41の少なくとも1つにより構成されていればよい。本発明のゲームプログラムが実行される「コンピュータ」が複数のゲーム装置2の制御部21およびサーバ装置4の制御部41により構成される場合、本発明のゲームプログラムを記憶するプログラム記憶部は、複数のゲーム装置2の記憶部23およびサーバ装置4の記憶部42により構成される。
【0107】
また、ゲーム装置2の制御部21の一部または全部の機能を、サーバ装置4のサーバ制御部41が担ってもよいし、サーバ装置4のサーバ制御部41の一部または全部の機能を、ゲーム装置2の制御部21が担ってもよい。例えば、サーバ装置4のサーバ制御部41が、監視手段54や操作情報決定手段55として機能してもよい。また、上記機能51~56,61~63の一部について、ゲーム装置2の制御部21およびサーバ装置4のサーバ制御部41のいずれにおいても機能しなくてもよい。また、操作情報決定手段55は、状況特定手段55aおよび操作情報取得手段55bを含まなくてもよい。
【0108】
上記実施形態では、各ゲーム装置が、本発明の「表示部」に対応するモニタ32、および本発明の「操作部」に対応するコントローラ31を含み、サーバ装置4が、本発明の「記憶部」に対応する記憶部42を含む構成が説明されたが、本発明はこれに限定されない。例えば本発明における「記憶部」は、ゲーム装置2側の記憶部23であってもよいし、サーバ装置4側の記憶部42であってもよいし、ゲーム装置2の記憶部23とサーバ装置4の記憶部42とにより構成されてもよい。
【0109】
また、上記実施形態では、ゲームシステム1は、ゲーム装置2およびサーバ装置4を備えていたが、本発明のゲームシステムは、サーバ装置4を備えない構成であってもよい。
【0110】
また、上記実施形態では、1人のユーザ対1人のユーザの対戦型格闘ゲームが説明されたが、本発明に係るゲームプログラムにより実現されるゲームは、これに限定されない。例えば、本発明に係るゲームプログラムにより実現されるゲームは、1人対複数または複数対複数のユーザ対戦型ゲームにも適用可能であるし、シューティングゲーム、スポーツゲーム、レースゲームなどの対戦アクションゲームにも適用可能である。
【0111】
また、本発明は、オンラインゲームだけでなく、オフラインゲームにも適用可能である。例えば他ユーザ対戦モードとして、ネットワークNWを介した対戦モードが説明されたが、オフラインで他ユーザと対戦するモードを含んでもよい。この場合、オフライン対戦する各ユーザの操作情報やゲーム状況情報が、ゲーム装置2の記憶部23に過去データとして記憶されてもよいし、ゲーム装置2からサーバ装置4へ送られて、サーバ装置4の記憶部42に過去データとして記憶されてもよい。
【0112】
また、本発明に係るゲームプログラムにより実現されるゲームは、対戦ゲームでなくてもよく、例えば複数のユーザ同士が互いに協力する協力プレイ型ゲームにも適用可能である。
【0113】
上記実施形態では、操作ボタン群210,220、アナログスティック212,222、R1ボタン211、L1ボタン221、タッチパッド230のいずれの操作子に対するユーザの操作によっても、本発明の「操作情報」は生成されるが、これらのうちの予め定めた一部の操作子に対するユーザの操作によって生成されるものであってもよい。また、本発明の操作部は、図2に示したコントローラに限定されない。例えば、操作部は、加速度センサなどを搭載したものであってもよく、この場合、ユーザが操作部を振ることにより操作情報が生成されてもよい。また、例えば、操作部はタッチパネルでもよく、この場合、ユーザが操作部としてのタッチパネル上に表示される仮想ボタンにタッチすることにより操作情報が生成されてもよい。
【0114】
また、上記実施形態では、ユーザ同士が対戦する際に、ゲーム装置2同士がサーバ装置4を介して互いに通信していたが、対戦中、ゲーム装置2同士がサーバ装置4を介さず直接に通信してもよい。例えばステップS201のマッチングにより対戦相手が決定したあと、マッチングされたゲーム装置2同士で相互通信を行って、P2P(ピアツーピア)通信方式で対戦ゲームが進行してもよい。また、ゲーム装置2間を同期させる際に、同期させるゲーム装置2がマッチング処理以外の方法で決定されてもよい。
【0115】
また、上記実施形態では、サーバ装置4への操作情報およびゲーム状況情報の送信が、対戦中にリアルタイムで行われる例が説明されたが、1つの対戦が終了した後に、その対戦において生成された操作情報およびゲーム状況情報が送信されてもよい。この場合、操作情報およびゲーム状況情報は、例えば対戦の終了直後などに予め定めたタイミングで自動的にサーバ装置4へ送信されてもよいし、ユーザの手動で送信されてもよい。
【0116】
ゲーム状況も上記実施形態で例示されたものに限定されず、ゲームの種類などに応じて適宜設定され得る。ゲーム状況は、ユーザがゲーム画面を通して視認または知覚可能な情報であればよい。また、例えば、コントローラ31に対するユーザの操作に応じてゲーム内アイテムを使用可能なゲームである場合、ユーザの所有するゲーム内アイテムの種類や数、使用状況などもゲーム状況を示すゲーム状況情報となり得る。
【0117】
また、操作情報に対応するユーザの操作がされたときのゲーム状況には、ユーザの操作がされた瞬間における各種情報(パラメータ等)だけでなく、操作情報に対応するユーザの操作がされた瞬間より前の各種情報を含み得る。例えば、対戦相手キャラクタPBがユーザキャラクタPAに対して攻撃をしたときのゲーム状況を示す情報には、その攻撃時点より所定時間前の時点におけるユーザキャラクタPAおよび/または対戦相手キャラクタPBの位置や動作などを示す情報が含まれてもよい。
【0118】
上記実施形態では、複数の過去データから類似度に基づく検索により疑似プレイヤキャラクタの動作を決定したが、複数の過去データを用いた公知の機械学習アルゴリズムを用いて、疑似プレイヤキャラクタの動作を決定してもよい。例えば、操作情報決定手段は、記憶手段により記憶された過去データに含まれるゲーム状況情報および操作情報を学習用データとして機械学習を行った学習済みの学習モデルに対して、監視手段により監視されるゲーム状況を入力することによって、学習モデルから取得した操作情報を、監視手段により監視されたゲーム状況に対応する操作情報として決定してもよい。この場合、学習モデルの学習用データには、ゲーム状況情報に加えて、ユーザを識別するまたはユーザが属するグループを識別する識別情報が更に含まれてもよい。
【0119】
また、疑似プレイヤキャラクタの制御に、古すぎる過去データが用いられないように設定されてもよい。例えば過去データ選択手段63は、過去のある日付(例えば現時点より1年前)より後に記憶された過去データの中から、ゲーム装置2へ送るデータを選択してもよい。また、サーバ装置またはゲーム装置の記憶部に記憶された過去データは、一定期間(例えば1年)記憶されたことを条件に削除されてもよい。
【0120】
また、図9を用いた説明では、1つの過去データが含む各操作情報は、キャラクタの動作に対応するものとして説明されたが、操作情報はこれに限定されない。例えば、操作情報は、1つの動作に対応せずに、1つの対戦中に操作部に対して入力された一連の情報を、所定の時間長で分割したものであってもよい。
【0121】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【0122】
1 :ゲームシステム
2 :ゲーム装置
2a :第1ゲーム装置
2b :第2ゲーム装置
4 :サーバ装置
21 :制御部
22 :メディアI/F部
23 :記憶部
24 :ネットワークI/F部
25 :無線通信制御部
26 :グラフィック処理部
27 :オーディオ処理部
31 :コントローラ(操作部)
32 :モニタ(表示部)
41 :サーバ制御部
41a :バス
42 :記憶部
43 :ネットワークI/F部
51 :通信手段
52 :ゲーム空間生成手段
53 :PC制御手段
54 :監視手段
55 :操作情報決定手段
55a :状況特定手段
55b :操作情報取得手段
56 :NPC制御手段
61 :通信手段
62 :記憶手段
63 :過去データ選択手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10