(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022157176
(43)【公開日】2022-10-14
(54)【発明の名称】ゲームシステム、サーバシステム及びプログラム
(51)【国際特許分類】
A63F 13/45 20140101AFI20221006BHJP
A63F 13/358 20140101ALI20221006BHJP
A63F 13/75 20140101ALI20221006BHJP
A63F 13/833 20140101ALI20221006BHJP
A63F 13/42 20140101ALI20221006BHJP
A63F 13/55 20140101ALI20221006BHJP
【FI】
A63F13/45
A63F13/358
A63F13/75
A63F13/833
A63F13/42
A63F13/55
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021061259
(22)【出願日】2021-03-31
(71)【出願人】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100090387
【弁理士】
【氏名又は名称】布施 行夫
(74)【代理人】
【識別番号】100090398
【弁理士】
【氏名又は名称】大渕 美千栄
(72)【発明者】
【氏名】福冨 幹
(57)【要約】
【課題】複数の端末装置において同期をとりつつ、ゲームを進行させる場合に、一定の状況下において、通信遅延や通信遮断であっても、ゲーム進行に対する影響を排除してゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止すること。
【解決手段】ゲームシステムSは、操作入力された第1プレーヤの第1操作入力情報と、他のゲームシステムSoから送信されて受信した第2プレーヤの第2操作入力情報と、に応じて、対戦型格闘ゲームの進行を制御する第1モード制御処理を実行し、ゲームの進行中に、第1プレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出し、当該特定状況検出処理によって特定状況になったことを検出した場合には、第1操作入力情報のみに応じてゲームの進行を制御する第2モードゲーム制御処理として実行する、構成を有している。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1のプレーヤによって操作制御されるプレーヤキャラクタを用いて他のプレーヤである第2のプレーヤのゲームシステムとネットワークを介して接続して所与のゲームを実行させるゲームシステムであって、
前記第1のプレーヤの操作入力を受け付ける受付処理を実行する受付処理手段、
前記受け付けられた第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報を前記第2のプレーヤのゲームシステムに送信し、当該第2のプレーヤのゲームシステムから送信された前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段と、
前記受け付けられた第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段と、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段と、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受け付けられた第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段と、
を備えることを特徴とするゲームシステム。
【請求項2】
請求項1に記載のゲームシステムにおいて、
前記検出手段が、
前記第1のプレーヤの連続操作入力に基づいて、当該第1プレーヤのプレーヤキャラクタが前記特定状況になったか否かを検出する前記検出処理を実行する、ゲームシステム。
【請求項3】
請求項1又は2に記載のゲームシステムにおいて、
前記第1モード及び前記第2モードのゲーム制御処理の双方とも、前記第1のプレーヤと前記第2のプレーヤとが1対1で対戦する対戦ゲームにおけるゲーム制御処理である、ゲームシステム。
【請求項4】
請求項1~3のいずれか1項に記載のゲームシステムにおいて、
前記第2ゲーム制御手段が、
前記検出処理によって、前記特定状況として、前記ネットワークによる第2のプレーヤのゲームシステムとの接続が遮断されたことが検出された場合に、前記第2モードとしてのゲーム制御処理を実行する、ゲームシステム。
【請求項5】
請求項1~3のいずれか1項に記載のゲームシステムにおいて、
記憶手段には、前記プレーヤの操作入力の種別に応じて定まるプレーヤキャラクタの状態を規定するキャラクタ状態情報が記憶されており、
前記検出手段が、
前記第1のゲーム制御処理中の現タイミングにおける第2のプレーヤの操作対象である第2プレーヤキャラクタの状態と、少なくとも前記受信された第2ゲーム制御情報と、に応じて、前記第2プレーヤキャラクタの現タイミングの状態が、前記特定状況として、ゲーム上において行動が不能となる行動不能な状態に切り替わったか否かを検出する前記検出処理を実行する、ゲームシステム。
【請求項6】
請求項5に記載のゲームシステムにおいて、
前記ゲームが、対戦格闘ゲームであって、
前記検出手段が、
前記第2プレーヤキャラクタの現タイミングにおける状態が、前記第1のプレーヤの操作対象である第1プレーヤキャラクタから攻撃をされた場合の状態であって、前記行動不能な状態である場合に、前記ゲーム状況が前記特定状況であると検出する前記検出処理を実行する、ゲームシステム。
【請求項7】
請求項1~6のいずれか1項に記載のゲームシステムにおいて、
前記第1のプレーヤの操作入力の種別、及び、前記ゲーム状況の内容の少なくともいずれか一方を含む、複数の前記特定状況の情報を示す複数の特定状況情報と、所与の関係性を有する前記第2のプレーヤのゲームシステムとの通信遅延量と、が対応付けられて記憶されている記憶手段を管理する管理手段と、
前記第2のプレーヤのゲームシステムとの通信遅延量を計測する計測手段と、
前記計測された通信遅延量に基づいて、前記記憶されている複数の特定状況情報の中から前記検出処理に用いる特定状況情報を決定する決定手段と、
を備え、
前記検出手段が、
前記検出処理として、前記のゲームの実行中に、前記決定された特定状況情報に規定された前記特定状況を検出する、ゲームシステム。
【請求項8】
請求項1~7のいずれか1項に記載のゲームシステムにおいて、
前記受け付けられた第1のプレーヤの操作入力に基づいて、前記第2モードへの切り替えを可能にする設定を実行する切り替え手段を更に備える、ゲームシステム。
【請求項9】
第1のプレーヤによって操作制御されるプレーヤキャラクタを用いて他のプレーヤである第2のプレーヤのゲームシステムとネットワークを介して接続して所与のゲームを実行させるゲームシステム用のプログラムであって、
前記第1のプレーヤの操作入力を受け付ける受付処理を実行する受付処理手段、
前記受け付けられた第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報を前記第2のプレーヤのゲームシステムに送信し、当該第2のプレーヤのゲームシステムから送信された前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段、
前記受け付けられた第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段、及び、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受け付けられた第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項10】
ネットワークを介して接続される第1のプレーヤの端末装置及び当該第1のプレーヤとは異なる第2のプレーヤの端末装置と、にゲームを提供するサーバシステムであって、
前記第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報及び前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段と、
前記受信された第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段と、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段と、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受信された第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段と、
前記第1モード及び前記第2モードにおけるゲーム処理されたゲームデータを前記端末装置に提供する提供手段と、
を備えることを特徴とするサーバシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、サーバシステム及びプログラムに関する。
【背景技術】
【0002】
従来から、オブジェクト空間(仮想的三次元空間)内において、2人のプレーヤの操作により制御される第1及び第2のキャラクタが対戦し格闘するゲームシステムが知られている。
【0003】
また、近年、ネットワークによってそれぞれのプレーヤが使用するゲーム装置を接続し、同一の実空間にいることなく対戦ゲームを実現することができるようになっている。
【0004】
一方、通信ネットワークを利用した対戦ゲームにあっては、双方の装置でそれぞれゲーム処理を共有するために同期を取る必要があるので、通信遅延などの通信障害が発生すると、互いの装置における同期が的確に取れず、個々のゲーム装置におけるゲーム処理に「ずれ」が生じて対戦ゲームに影響を及ぼすことがあり、その対策は不可欠になってきている。
【0005】
そこで、最近では、複数のゲーム装置間で通信をしつつ対戦ゲームを行う場合には、装置間の同期を取りつつ、所定のタイミングにおいて同期するデータよりも前のタイミングで同期する複数のデータを含めて送受信し、かつ、所定のタイミングにおいて当該タイミングの同期前のデータについてゲーム処理を行うことによって、処理遅延が生じても複数の装置間においてゲーム処理が確実に実行すること可能な構成を有している装置が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記特許文献1にあっては、通信遅延が生ずると、所定のタイミングにおいて同期するデータについては当該データの受信を待って処理することとなっており、微妙なタイミングによって操作入力が要求されるゲーム(例えば、対戦格闘ゲーム)などに適用する場合には、通信遅延が生じてしまうと、ゲーム進行が停止する場合もある。
【0008】
また、対戦ゲームにおいて、このような装置であっても、一方のプレーヤにおける勝利確定後のゲーム演出中に、他方のプレーヤの悪意によって通信遮断が実行されてしまうと、勝利演出の中断だけでなく、当該対戦自体が無効となるケースもあり、勝利者側のユーザに不快感を与え、対戦ゲームの魅力を低減させる原因の1つにもなっている。
【0009】
本発明は、上記課題を解決するためになされたものであり、その目的は、複数の端末装置において同期をとりつつ、ゲームを進行させる場合に、一定の状況下において、通信遅延や通信遮断であっても、ゲーム進行に対する影響を排除してゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止することが可能なゲームシステムなどを提供することである。
【課題を解決するための手段】
【0010】
(1)上記課題を解決するため、本発明は、
第1のプレーヤによって操作制御されるプレーヤキャラクタを用いて他のプレーヤである第2のプレーヤのゲームシステムとネットワークを介して接続して所与のゲームを実行させるゲームシステムであって、
前記第1のプレーヤの操作入力を受け付ける受付処理を実行する受付処理手段、
前記受け付けられた第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報を前記第2のプレーヤのゲームシステムに送信し、当該第2のプレーヤのゲームシステムから送信された前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段と、
前記受け付けられた第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段と、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段と、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受け付けられた第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段と、
を備える、構成を有している。
【0011】
この構成により、本発明は、複数のプレーヤが用いるゲームシステムにおいて、ネットワークを介して同期をとりつつ、ゲームを進行させる場合に、一定の状況下においては、通信遅延や通信遮断があっても、第2のプレーヤの操作入力情報(すなわち、第2操作入力情報)を用いることなくゲームを進行させることができる。
【0012】
したがって、本発明は、ゲーム進行に対する通信遅延や通信遮断の影響を排除してゲーム進行上の違和感を無くし、ゲームの興趣性を向上させることができる。
【0013】
また、本発明は、例えば、勝利確定後に敗戦側がゲーム結果の演出中に故意に通信遮断を行うことによって対戦そのものを不成立にさせる行為、又は、不成立にさせないまでも勝利者側の不快感を生じさせる行為など、通信遮断を用いた悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができる。
【0014】
なお、「ゲーム」としては、例えば、対戦格闘ゲームやスポーツゲームなどのプレーヤ同士の対戦(第2のプレーヤのプレーヤキャラクタとの対戦)を行う対戦ゲームであってもよいし、他のプレーヤ(すなわち、第2のプレーヤキャラクタ)と協力してゲームを進行させるゲームであってもよい。ただし、第1のプレーヤ及び第2のプレーヤとも有人であることが好ましいが、CPUによるプレーヤ操作であってもよい。
【0015】
特に、「ゲーム」としては、第1のプレーヤと第2のプレーヤとが一騎打ちで対戦する対戦ゲームが好ましい。ただし、第1のプレーヤと第2のプレーヤとが協力するゲームであってもよく、その場合には、第1のプレーヤと第2のプレーヤとが協力してCPUなどの敵キャラクタと対戦する対戦ゲームであることが好ましい。
【0016】
そして、「第1操作入力情報として少なくとも含む第1ゲーム制御情報」及び「第2操作入力情報として少なくとも含む第2ゲーム制御情報」とは、それぞれ、操作入力情報だけであってもよいし、その他の情報が含まれていてもよいことを示す。
【0017】
また、「第1のプレーヤの所与の操作入力」には、例えば、一定時間のプレーヤキャラクタの行動を規定する必殺技、大技、連続攻撃、及び、連携攻撃などの攻撃を発動するた
めの操作入力など、第1のプレーヤの操作によって、第2のプレーヤの操作入力の有無に関わらず、所定の期間を有する演出や各プレーヤキャラクタの行動を制御するための操作入力であることが含まれる。
【0018】
特に、「第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か」における「特定状況」には、例えば、プレーヤキャラクタが連続攻撃を実行する状況など、一定時間において、少なくとも第2のプレーヤの操作入力無しでゲームが進行可能な状態が含まれる。
【0019】
上記に加えて、「所与のゲーム状況」には、例えば、上記の必殺技を発動する際の演出や勝敗を決めた攻撃に関する演出の実行が確定した状況、第1のプレーヤの勝利が確定した状況、又は、対戦の開始前の対決前演出など、の第2のプレーヤの操作があったとしても、ゲームの進行内容が変化しない状況だけでなく、ネットワークによる第2のプレーヤのゲームシステムとの通信において、一定量の通信遅延が発生した場合、又は、当該通信が遮断された場合が含まれる。
【0020】
また、「受け付けられた第1ゲーム制御情報のみに応じて」とは、第2ゲーム制御情報を受信しなかった場合には勿論のこと、当該第2ゲーム制御情報を受信した場合であっても無効化し、第1ゲーム制御情報のみに基づいて、ゲーム制御処理を実行することを示す。
【0021】
(2)また、本発明は、
前記検出手段が、
前記第1のプレーヤの連続操作入力に基づいて、当該第1プレーヤのプレーヤキャラクタが前記特定状況になったか否かを検出する前記検出処理を実行する、構成を有している。
【0022】
この構成により、本発明は、複数のプレーヤが用いるゲームシステムにおいて、ネットワークを介して同期をとりつつ、ゲームを進行させる場合に、ジャンプ、パンチ及びキックなどの種々の連続的な操作入力に基づいて、当該第1プレーヤの操作対象のプレーヤキャラクタによる連続攻撃(コンボ攻撃)などの第2プレーヤの操作を受け付ける必要のない特定状況に移行させることができる。
【0023】
しがって、本発明は、このような期間に通信遅延や通信遮断が発生したとしても、そもそも第2プレーヤの操作入力を用いていないので、適切なゲーム制御処理を実行することができる。
【0024】
(3)また、本発明は、
前記第1モード及び前記第2モードのゲーム制御処理の双方とも、前記第1のプレーヤと前記第2のプレーヤとが1対1で対戦する対戦ゲームにおけるゲーム制御処理である、構成を有している。
【0025】
この構成により、本発明は、第1のプレーヤと第2のプレーヤとがネットワークを利用して対戦する対戦ゲームの実行中に、通信遅延や通信遮断が生じた場合であっても、一定の状況化においては、ゲーム進行に対する影響を排除してゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができる。
【0026】
(4)また、本発明は、
前記第2ゲーム制御手段が、
前記検出処理によって、前記特定状況として、前記ネットワークによる第2のプレー
ヤのゲームシステムとの接続が遮断されたことが検出された場合に、前記第2モードとしてのゲーム制御処理を実行する構成を有している。
【0027】
この構成により、本発明は、第2のプレーヤのゲームシステムとの通信が遮断された場合であっても、ゲーム進行に対する影響を排除してゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができる。
【0028】
(5)また、本発明は、
記憶手段には、前記プレーヤの操作入力の種別に応じて定まるプレーヤキャラクタの状態を規定するキャラクタ状態情報が記憶されており、
前記検出手段が、
前記第1のゲーム制御処理中の現タイミングにおける第2のプレーヤの操作対象である第2プレーヤキャラクタの状態と、少なくとも前記受信された第2ゲーム制御情報と、に応じて、前記第2プレーヤキャラクタの現タイミングの状態が、前記特定状況として、ゲーム上において行動が不能となる行動不能な状態に切り替わったか否かを検出する前記検出処理を実行する、構成を有している。
【0029】
この構成により、本発明は、第2プレーヤキャラクタにおける第2のプレーヤの操作情報が無くてもゲーム上影響がない状態を検出し、その状態のときに、第2プレーヤキャラクタに対する第2操作入力の有無に関係なく、第1操作入力情報のみに応じてゲームの進行を制御することができるので、第2操作入力情報を無視してゲームを進行させてその影響を排除することができる。
【0030】
なお、「行動不能状態」とは、例えば、操作入力の受付が無効となる状態(ゲーム開始前のスタンバイ中の状態)、空中に浮いている状態、拘束された状態(例えば、何かに縛り付けられている状態)、又は、硬直した状態(例えば、技の発動後や金縛りになっている状態)など、プレーヤキャラクタにおける動作が不能な状態、及び、動作してもゲーム上の他の処理に影響を与えない状態が含まれる。
【0031】
(6)また、本発明は、
前記ゲームが、対戦格闘ゲームであって、
前記検出手段が、
前記第2プレーヤキャラクタの現タイミングにおける状態が、前記第1のプレーヤの操作対象である第1プレーヤキャラクタから攻撃をされた場合の状態であって、前記行動不能な状態である場合に、前記ゲーム状況が前記特定状況であると検出する前記検出処理を実行する、構成を有している。
【0032】
この構成により、本発明は、第2プレーヤキャラクタが第1プレーヤキャラクタの攻撃を受けた場合の状態であって、第2のプレーヤの操作情報が無くてもゲーム上影響がない状態を検出し、その状態のときに、第2プレーヤキャラクタに対する第2操作入力の有無に関係なく、第1操作入力情報のみに応じてゲームの進行を制御することができるので、第2操作入力情報を無視してゲームを進行させてその影響を排除することができる。
【0033】
(7)また、本発明は、
前記第1のプレーヤの操作入力の種別、及び、前記ゲーム状況の内容の少なくともいずれか一方を含む、複数の前記特定状況の情報を示す複数の特定状況情報と、所与の関係性を有する前記第2のプレーヤのゲームシステムとの通信遅延量と、が対応付けられて記憶されている記憶手段を管理する管理手段と、
前記第2のプレーヤのゲームシステムとの通信遅延量を計測する計測手段と、
前記計測された通信遅延量に基づいて、前記記憶されている複数の特定状況情報の中か
ら前記検出処理に用いる特定状況情報を決定する決定手段と、
を備え、
前記検出手段が、
前記検出処理として、前記のゲームの実行中に、前記決定された特定状況情報に規定された前記特定状況を検出する、構成を有している。
【0034】
この構成により、本発明は、通信遅延量が大きくなると、第2モードから第1モードに復帰する際の違和感や障害が大きくなるので、通信遅延量の大きさによって第2モードから第1モードに復帰する際にも影響の無い範囲で第1モードから第2モードへ切り替えるための通信遅延量を定めることができる。
【0035】
また、本発明は、初級レベルなどの操作入力に対してシビアな反応を求めないプレーヤにとっては、多少通信遅延が発生してもゲームの進行に対する支障はあまり発生しない一方、高いレベルのプレーヤにとっては、少しの通信遅延であってもゲーム進行に対する支障が発生するので、プレーヤレベルに応じて特定状況を変化させることによってゲーム制御処理全体としてスムーズな進行を行うことができる。
【0036】
なお、「所与の関係性」とは、例えば、第2モード制御処理から第1モード制御処理に復帰する際に通信遅延量によって生ずるズレが所定の時間差以内となることを示し、当該関係性は、通信遅延量に加えてプレーヤのレベル、通信環境やゲーム環境などの関係性を示していてもよい。
【0037】
(8)また、本発明は、
前記受け付けられた第1のプレーヤの操作入力に基づいて、前記第2モードへの切り替えを可能にする設定を実行する切り替え手段を更に備える、構成を有している。
【0038】
この構成により、本発明は、プレーヤの希望によって、ゲーム進行に対する影響を排除してゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止する処理を行うかどうか決定させることができる。
【0039】
(9)また、上記課題を解決するため、本発明は、
第1のプレーヤによって操作制御されるプレーヤキャラクタを用いて他のプレーヤである第2のプレーヤのゲームシステムとネットワークを介して接続して所与のゲームを実行させるゲームシステム用のプログラムであって、
前記第1のプレーヤの操作入力を受け付ける受付処理を実行する受付処理手段、
前記受け付けられた第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報を前記第2のプレーヤのゲームシステムに送信し、当該第2のプレーヤのゲームシステムから送信された前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段、
前記受け付けられた第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段、及び、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受け付けられた第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段、
としてコンピュータを機能させる、構成を有している。
【0040】
この構成により、本発明は、複数のプレーヤが用いるゲームシステムにおいて、ネットワークを介して同期をとりつつ、ゲームを進行させる場合に、一定の状況下においては、通信遅延や通信遮断があっても、第2のプレーヤの操作入力情報(すなわち、第2操作入力情報)を用いることなくゲームを進行させることができる。
【0041】
したがって、本発明は、ゲーム進行に対する通信遅延や通信遮断の影響を排除してゲーム進行上の違和感を無くし、ゲームの興趣性を向上させることができる。
【0042】
また、本発明は、例えば、勝利確定後に敗戦側がゲーム結果の演出中に故意に通信遮断を行うことによって対戦そのものを不成立にさせる行為、又は、不成立にさせないまでも勝利者側の不快感を生じさせる行為など、通信遮断を用いた悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができる。
【0043】
(10)また、上記課題を解決するため、本発明は、
ネットワークを介して接続される第1のプレーヤの端末装置及び当該第1のプレーヤとは異なる第2のプレーヤの端末装置と、にゲームを提供するサーバシステムであって、
前記第1のプレーヤの操作入力を第1操作入力情報として少なくとも含む第1ゲーム制御情報及び前記第2のプレーヤの操作入力を第2操作入力情報として少なくとも含む第2ゲーム制御情報を受信する通信制御手段と、
前記受信された第1ゲーム制御情報と、前記受信された第2ゲーム制御情報と、に応じて、前記ゲームの進行を制御するゲーム制御処理を第1モードとして実行する第1ゲーム制御手段と、
前記ゲームの進行中に、前記第1のプレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する検出処理を実行する検出手段と、
前記検出処理によって前記特定状況になったことが検出された場合には、前記受信された第1ゲーム制御情報のみに応じて前記ゲームの進行を制御するゲーム制御処理を第2モードとして実行する第2ゲーム制御手段と、
前記第1モード及び前記第2モードにおけるゲーム処理されたゲームデータを前記端末装置に提供する提供手段と、
を備える、構成を有している。
【0044】
この構成により、本発明は、複数のプレーヤが用いるゲームシステムにおいて、ネットワークを介して同期をとりつつ、ゲームを進行させる場合に、一定の状況下においては、通信遅延や通信遮断があっても、第2のプレーヤの操作入力情報(すなわち、第2操作入力情報)を用いることなくゲームを進行させることができる。
【0045】
したがって、本発明は、ゲーム進行に対する通信遅延や通信遮断の影響を排除してゲーム進行上の違和感を無くし、ゲームの興趣性を向上させることができる。
【0046】
また、本発明は、例えば、勝利確定後に敗戦側がゲーム結果の演出中に故意に通信遮断を行うことによって対戦そのものを不成立にさせる行為、又は、不成立にさせないまでも勝利者側の不快感を生じさせる行為など、通信遮断を用いた悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができる。
【図面の簡単な説明】
【0047】
【
図1】一実施形態のゲームシステムの構成を示すシステム構成の一例を示す図である。
【
図2】一本実施形態のゲーム装置本体の機能ブロック図の一例を示す図である。
【
図3】一実施形態の第1モード制御処理及び第2モード制御処理を含むゲーム制御処理を説明するための図である。
【
図4】一実施形態のゲーム制御情報の例を示す図である。
【
図5】一実施形態の特定状況検出用テーブルデータの例を示す図である。
【
図6】一実施形態の第1モード制御処理について説明するための図である。
【
図7】一実施形態の第2モード制御処理について説明するための図である。
【
図8】一実施形態のゲームシステムを店舗型ゲームシステムに適用した場合の例を示す図であり、その外観構成図である。
【
図9】一実施形態のゲームシステムをネットワークを用いたサーバシステムに適用した場合のシステム構成の一例を示す図である。
【
図10】一実施形態のゲームシステムによって実行される第1モード制御処理及び第2ゲーム制御処理の切り替えを主としたゲーム制御処理の動作を示すフローチャートである。
【発明を実施するための形態】
【0048】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0049】
[1]ゲームシステムの概要構成
まず、
図1を用いて本実施形態のゲームシステムSの概要及び概要構成について説明する。なお、
図1は、本実施形態のゲームシステムSの構成を示すシステム構成の一例を示す図である。
【0050】
本実施形態のゲームシステムSは、所与のゲーム空間(オブジェクト空間)内で、第1のプレーヤの操作により制御される第1のキャラクタと、第2のプレーヤの操作により制御される第2のキャラクタとが対戦する格闘ゲームを行うゲームシステムとして構成される。
【0051】
具体的には、本実施形態のゲームシステムSは、プレーヤによって操作される1以上のコントローラ30と、ゲーム処理を行うゲーム装置本体10と、ゲーム画像を表示させるディスプレイ40と、を含む。
【0052】
そして、ゲームシステムSは、プレーヤにディスプレイ40に表示されたゲーム画面を視聴させながら、対戦格闘ゲームを興趣させるため、情報記憶媒体であるメモリから読み出したゲームプログラムやゲームデータ、又は、コントローラ30から入力される操作信号等に基づいて、格闘ゲームを実行する構成を有している。
【0053】
例えば、ゲームシステムSは、プレーヤによって操作されたコントローラ30に形成されているジョイスティック32、十字キー33や各種のボタンに基づく操作入力を受け付けると、技の種類や技を繰り出すタイミングの入力等の種々のゲーム操作を行ってプレーヤキャラクタを動かし、他のプレーヤ(当該ゲームシステムSに接続された他のコントローラ30Bへの操作入力を行うプレーヤやネットワークNを介して接続された他のゲームシステムSを操作するプレーヤ)との対戦、又は、CPUによって制御されるキャラクタ(NPC)とのコンピュータ対戦を実行する構成を有している。
【0054】
なお、本実施形態では、コントローラ30とゲーム装置本体10とは無線通信により情報の送受信を行っているが、例えば、コントローラ30とゲーム装置本体10とを通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【0055】
ゲーム装置本体10は、コントローラ30を介してプレーヤ(複数のコントローラ30が接続されている場合には複数のプレーヤ)の操作入力に基づいてゲーム処理を実行し、
その処理結果に基づいて、ディスプレイ40に種々のゲーム画像を表示させるとともに、スピーカ(図示省略)にゲーム中のBGMなどの各種の音声を出力させる。
【0056】
コントローラ30は、前面に、ジョイスティック32、十字キー33、及び、全面に形成された複数のボタン34、36、37、38を備えて構成されている。
【0057】
例えば、右手ボタン34は、「右パンチ」、左手ボタン36は、「左パンチ」、右足ボタン37は、「右キック」、及び、左足ボタン38は、「左キック」の操作入力を行うための入力部である。
【0058】
また、コントローラ30は、複数のボタンによってプレーヤの操作が同時入力された場合には、又は、十字キー33の押し下げられた方向(斜め方向及びニュートラルを含む。)とボタンの組み合わせによってプレーヤの操作が入力された場合には、特別な操作入力として認識することも可能な構成を有している。
【0059】
なお、コントローラ30は、上記の他に、側面などに複数のボタン(図示せず)を有している。
【0060】
また、コントローラ30は、上記の他に、ステアリング、マイク、タッチパネル型ディスプレイ、及び、加速度センサなどによって構成されていてもよい。
【0061】
[2]ゲーム装置本体
次に、
図2を用いて本実施形態のゲーム装置本体10の構成について説明する。なお、
図2は、本実施形態のゲーム装置本体10の機能ブロック図の一例を示す図である。また、本実施形態のゲーム装置本体10は、
図2の構成要素(各部)の一部を省略した構成としてもよい。
【0062】
カード・リードライト部162は、処理部100の制御によってゲームカードからのデータの読み出し、書き込みを行う。
【0063】
記憶部170は、予め定義されたプログラムやデータを記憶するとともに、処理部100や通信部196などのワーク領域となるもので、処理部100が各種プログラムに従って実行した演算結果やコントローラ160から入力される入力データ等を一時的に記憶する。その機能はRAM(VRAM)などにより実現できる。
【0064】
特に、記憶部170は、主記憶部172、及び、画像バッファ176を含んで構成され、処理部100にゲームシステムSを統合的に制御させるための諸機能を実現するためのシステムプログラム、対戦型格闘ゲームを実行させるために必要なゲームプログラム、及び、各種データ等を記憶する。
【0065】
具体的には、記憶部170には、予め用意されるデータとして、キャラクタ設定データと、ステージ設定データと、仮想カメラ設定用の各種のデータ(以下、「仮想カメラ設定データ」という。)と、が記憶されている。
【0066】
また、ゲームの進行に係る処理を実行するに当たり必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【0067】
キャラクタ設定データには、対戦ゲームで使用するキャラクタのモデルデータやテクスチャデータ、モーションデータなどキャラクタの表示や動作制御に必要な基本情報がキャ
ラクタ毎に対応付けて格納されている。
【0068】
ステージ設定データには、対戦する舞台となるステージを三次元仮想空間内に形成するためのモデルデータやテクスチャデータなどの情報がステージ毎に格納されている。
【0069】
仮想カメラ設定データには、ゲーム空間を撮影する仮想カメラの標準設定が格納されている。例えば、仮想カメラの位置、画角、移動経路、移動速度、回転方向や回転速度、ズームの変化などが設定されている。
【0070】
さらに、記憶部170には、対戦ゲームを実行するために必要なデータ(例えば、テーブルデータやプレーヤキャラクタの動作を規定するスクリプトデータなど)が記憶される。
【0071】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0072】
情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0073】
なお、情報記憶媒体180は、記憶部170と同様に、記憶部170に代えて、又は、当該記憶部170とともに、処理部100にゲームシステムSを統合的に制御させるための諸機能を実現するためのシステムプログラム、対戦型格闘ゲームを実行させるために必要なゲームプログラム、及び、各種データ等を記憶してもよい。
【0074】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
図1のディスプレイ40がこれに相当する。
【0075】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0076】
通信部196は、外部(例えば、ネットワークNを介して他のゲームシステムSoやスマホなどの通信端端末装置などの端末装置やサーバ装置1)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0077】
なお、サーバ装置1が有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【0078】
一方、通信部196は、1以上のコントローラ30と間で通信(例えば、近距離無線)を行うための各種の制御を実行する。
【0079】
具体的には、通信部196は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、1以上のコントローラ30とデー
タを送受信する。
【0080】
例えば、通信部196は、確認音及び効果音等の音データ、及び、振動信号を、コントローラ30に送信し、コントローラ30において、加速度センサや操作入力によって検出された情報(加速度ベクトル値など)を、4msec、6msecの交互の間隔で受信する。
【0081】
処理部100(プロセッサ)は、コントローラ30、カード・リードライト部162からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、及び、音生成処理などの処理を行う。
【0082】
特に、処理部100は、記憶部170内の主記憶部172をワーク領域として各種処理を行う。また、処理部100は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現し、各種の機能を実行する。
【0083】
そして、処理部100は、記憶部170や情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理、又は、格闘ゲームのための各種機能を実現させる構成を有している。
【0084】
具体的には、処理部100は、通信制御部110、オブジェクト空間設定部111、移動・動作制御部112、操作入力受付処理部113、ゲーム制御部114、特定状況検出部115、表示制御部118、仮想カメラ制御部119、描画部120、音処理部130を含む。なお、これらの一部を省略する構成としてもよい。
【0085】
なお、本実施形態の通信制御部110は、本発明の通信制御手段を構成し、操作入力受付処理部113は、本発明の受付処理手段を構成する。また、本実施形態のゲーム制御部114は、本発明の第1ゲーム制御手段、第2ゲーム制御手段及び切り替え手段を成し、特定状況検出部115は、本発明の検出手段、管理手段、計測手段、及び、指定手段を構成する。
【0086】
通信制御部110は、サーバ装置1や他のゲームシステムSoとネットワークを介してデータを送受信する処理を行う。
【0087】
特に、通信制御部110は、サーバ装置1から受信した情報に基づいて対戦ゲームを実行する場合に、又は、ネットワークを介して他のプレーヤと対戦する場合に、サーバ装置1や他の端末装置から送信された各種の情報を受信する処理、及び、サーバ装置1や他の端末装置に送信するする処理を実行する。
【0088】
なお、本実施形態のゲームシステムSでは、通信制御で必要となるネットワーク情報をサーバ装置から取得し、管理する処理等を行うようにしてもよい。
【0089】
例えば、ゲームシステムSは、各ゲームシステムに個別に付与される端末装置用の識別情報(オンラインゲームに参加できる端末装置を識別するために個別に付与されたデータ、ID)と、各ゲームシステムSの識別情報に対応付けられたパケットの送信先を指定する宛先情報(IPアドレスなど)とを取得し、管理する処理を行うようにしてもよい。
【0090】
具体的には、通信制御部110は、他のゲームシステムSo又はサーバ装置1に送信するパケットを生成する処理、パケット送信先のゲームシステムSoやサーバ装置1のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関す
る制御処理等を行う。
【0091】
また、通信制御部110は、複数の他のゲームシステムSと、又は、サーバ装置1と、通信接続が確立されてから当該通信接続が切断されるまで、データを所定周期(例えば、1秒周期)で互いに送受信する処理を行う。
【0092】
さらに、通信制御部110は、複数のゲームシステムS及びSoによって構成されるネットワークシステムの場合は、複数のゲームシステムS、So間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア(いわゆるP2P)方式によって通信制御を実行してもよいし、サーバ装置1を介して各ゲームシステムSoがデータ(情報)の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によって通信制御を実行してもよい。
【0093】
なお、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
【0094】
一方、通信制御部110は、コントローラ30からの入力情報を取得する処理を行う。例えば、プレーヤキャラクタを制御するための指示及びリプレイ指示などの各プレーヤにおけるゲームに対する各種の操作入力を受信する。
【0095】
オブジェクト空間設定部111は、オブジェクトをオブジェクト空間(仮想的三次元空間)に配置する処理を行う。例えば、仮想三次元仮想空間中にゲーム空間(例えば、キャラクタが格闘を繰り広げるためのステージ)を形成する処理を行う。キャラクタの他に、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を、オブジェクト空間に配置する処理を行う。ここでオブジェクト空間とは、仮想的なゲーム空間であり、例えば、ワールド座標系、仮想カメラ座標系のように、三次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
【0096】
例えば、オブジェクト空間設定部111は、ワールド座標系にオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0097】
オブジェクト空間設定部111は、スクリーン(二次元画像、画面、スクリーン座標系)上に、特殊コマンドの入力指示オブジェクト、マーカーなどの指示オブジェクトを配置する処理を行うようにしてもよい。また、オブジェクト空間設定部111は、オブジェクト空間(三次元空間、ワールド座標系、仮想カメラ座標系、モデル座標系)に、指示オブジェクトを配置するようにしてもよい。
【0098】
移動・動作制御部112は、オブジェクト空間にあるオブジェクトの移動・動作演算を行う。すなわちコントローラ160から受け付けた入力情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。
【0099】
移動・動作制御部112は、オブジェクト空間において、主要なオブジェクトであるキャラクタオブジェクト(キャラクタ)の挙動を制御する。
【0100】
具体的には、移動・動作制御部112は、コントローラ160への操作入力に基づく操
作コード及び対戦相手のゲームシステムSから取得した操作コード、選択指示のデータをもとに自機及び対戦相手のキャラクタの動作を制御する処理、特定の条件を満たした場合にエフェクトを表示する処理、攻撃技のヒット判定処理及びそのダメージ処理などを行う。
【0101】
また、移動・動作制御部112は、係る処理を1フレーム(例えば、1/60秒)毎に行う。なお、フレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【0102】
操作入力受付処理部113は、プレーヤによってコントローラ160に入力された入力情報に基づいて、操作指示コマンドの認識処理を行う。
【0103】
具体的には、本実施形態の操作入力受付処理部113は、入力部260によって入力されたボタンの種別や押し下げ回数、レバーの指示方向、ボタンの押し下げタイミングとレバーの指示タイミング、及び、これらの組み合わせに基づいて、プレーヤによって入力された操作指示コマンドを認識する。
【0104】
例えば、操作入力受付処理部113は、右手ボタン34の押し下げを検出した場合に、「右パンチ」としての操作入力を受け付け、左手ボタン36の押し下げを検出した場合には、「左パンチ」としての操作入力を受け付ける。
【0105】
また、例えば、操作入力受付処理部113は、右足ボタン37の押し下げを検出した場合には「右キック」としての操作入力を受け付け、左足ボタン38の押し下げを検出した場合には、「左キック」の操作入力を受け付ける。
【0106】
一方、操作入力受付処理部113は、複数のボタンによってプレーヤの操作が同時入力された場合には、又は、ジョイスティック32の傾斜角度と各ボタンの組み合わせによってプレーヤの操作が入力された場合には、特別な操作入力として認識する。
【0107】
例えば、操作入力受付処理部113は、ボタンの入力と組み合わせてプレーヤキャラクタが前進する方向にジョイスティック32を傾斜させた操作を検出した場合には、プレーヤキャラクタによる種々の攻撃動作の操作入力を受け付ける。
【0108】
また、例えば、操作入力受付処理部113は、ボタンの入力と組み合わせてプレーヤキャラクタが後退する方向にジョイスティック32を傾斜させた操作を検出した場合には、種々の防御動作の操作入力を受け付ける。
【0109】
特に、操作入力受付処理部113は、例えば、左手ボタン36、右手ボタン34、左手ボタン36、右手ボタン34という順にボタンの押し下げを検出すると(又は、これに加えてジョイスティック32を右方向に倒すことを検出すると)、実際にゲーム画面上のプレーヤキャラクタが左手、右手、左手、右手を動かした後(又は、これに加えて右方向に歩行した後)、特殊技を繰り出すという動作のための操作入力を受け付けるなど、リアル感を高めるための操作入力を受け付けることができるようになっている。
【0110】
また、操作入力受付処理部113は、例えば、左手ボタン36を押した直後に、右足ボタン37の押し下げを検出すると、プレーヤキャラクタは左手でジャブを出した後、左キックを繰り出すという連続動作を行うための操作入力を受け付ける。
【0111】
なお、操作入力受付処理部113は、コントローラ160によって認識された操作指示コマンドを受信してもよい。
【0112】
ゲーム制御部114は、対戦型格闘ゲームの進行に係る処理を実行する。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理(以下、「ゲーム開始処理」ともいう。)、プレーヤの操作入力に応じて、プレーヤキャラクタを制御して対戦型格闘ゲームの進行を制御するゲーム制御処理、ゲーム終了条件が満たされた場合にゲームを終了する処理(以下、「ゲーム終了処理」ともいう。)、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【0113】
特に、ゲーム制御部114は、操作入力受付処理部113によって受け付けられたプレーヤ(以下、「第1プレーヤ」ともいう。)の操作入力の情報(以下、「第1操作入力情報」という。)と、他のプレーヤ(以下、「第2プレーヤ」ともいう。)のゲームシステム(以下、「第2ゲームシステム」ともいう。)Soから送信された情報であって、当該第2ゲームシステムSoにおける第2プレーヤの操作入力の情報(以下、「第2操作入力情報」ともいう。)と、に応じて、ゲームの進行を制御するゲーム制御処理を第1モードとして実行する。
【0114】
また、ゲーム制御部114は、第1プレーヤの所与の操作入力を受け付けたこと、又は、所与のゲーム状況が発生したことを、特定状況として、検出された場合に、第1操作入力情報のみに応じてゲームの進行を制御するゲーム制御処理を第2モードとして実行する。
【0115】
特定状況検出部115は、ゲームの進行中に、前記第1のプレーヤの所与の操作入力を受け付けたこと、又は、所与のゲーム状況が発生したことを、特定状況として、検出する検出処理(以下、「特定状況検出処理」という。)を実行する。
【0116】
表示制御部118は、表示部190に表示出力される表示物(オブジェクト)の表示制御を行う。
【0117】
具体的には、表示制御部118は、表示物(ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ)を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。
【0118】
すなわち、表示制御部118は、発生した表示物を表示物リストに登録したり、表示物リストを描画部120等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。
【0119】
また、表示制御部118は、プレーヤキャラクタのなどのゲームキャラクタを移動させたり動作させたりするアニメーション処理を行う。
【0120】
アニメーション処理としては、ゲームフィールド(2次元又は3次元のゲーム空間)でゲームキャラクタ(2次元データ又は3次元データで定義される表示物)を移動させるための処理を行うことができる。
【0121】
具体的には、表示制御部118は、プレーヤが入力した入力データや、プログラム(移動アルゴリズム)や、各種データなどに基づいて、表示物を移動させるアニメーション処理を行う。
【0122】
例えば、表示制御部118は、表示物の移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(1/60秒)毎に順次求める処理を行う。
【0123】
仮想カメラ制御部119は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。
【0124】
具体的には、仮想カメラ制御部119は、三次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置(X、Y、Z)、回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。
【0125】
すなわち、仮想カメラ制御部119は、仮想カメラの視点位置、視線方向、画角、移動方向、移動速度の少なくとも1つを制御する処理を行う。
【0126】
描画部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。
【0127】
すなわち、描画部120は、オブジェクト空間において、仮想カメラから見える画像を生成する。
【0128】
例えば、描画部120は、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0129】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
【0130】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そして、ラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
【0131】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ176(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット、フレームバッファ)に出力(描画)する。
【0132】
すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0133】
なお、頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。
【0134】
プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0135】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0136】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0137】
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。
【0138】
具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、二次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0139】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。
【0140】
すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0141】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0142】
例えば、αブレンディングでは、これから画像バッファ176に描画する描画色(上書きする色)C1と、既に画像バッファ176(レンダリングターゲット)に描画されている描画色(下地の色)C2とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をCとすると、C=C1*α+C2*(1-α)によって求めることができる。
【0143】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0144】
また、描画部120は、他の端末(第2の端末)とネットワークを介してデータを送受信するマルチプレーヤオンラインゲームを行う場合は、端末(第1の端末)の操作対称のオブジェクトの移動に追従する仮想カメラ(端末(第1の端末)で制御される仮想カメラ)から見える画像を生成する処理を行う。つまり、各端末が独立した描画処理を行う。
【0145】
音処理部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0146】
なお、本実施形態の端末は、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよいし、1つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
【0147】
[3]本実施形態の手法
[3.1]概要
次に、
図3を用いて本実施形態の第1モード制御処理及び第2モード制御処理を含むゲーム制御処理の手法及びその概要について説明する。
【0148】
なお、
図3は、本実施形態の第1モード制御処理及び第2モード制御処理を含むゲーム制御処理を説明するための図である。
【0149】
本実施形態のゲームシステムSは、プレーヤによって操作制御されるプレーヤキャラクタ(アバターであってもよい。)を用いた対戦型格闘ゲームを実行するゲームシステム(すなわち、第1ゲームシステム)であって、複数の他のゲームシステム(例えば、第2ゲームシステムSo)とネットワークを介して接続して第2プレーヤと個々に(すなわち、1対1によって)各種のゲーム制御処理を含む、当該対戦型格闘ゲームを実行させる構成を有している。
【0150】
すなわち、ゲームシステムSは、第1プレーヤと第2プレーヤとが1対1で対戦する対戦ゲームにおける各種のゲーム制御処理(すなわち、第1モード制御処理及び第2モード制御処理)を実行する、構成を有している。
【0151】
特に、本実施形態のゲームシステムSは、第2ゲームシステムSoと対戦格闘ゲームを実行する際に、当該第2ゲームシステムSoと同期をとりつつも、一定の状況下においては、通信遅延や通信遮断があっても、第2のプレーヤの操作入力情報(すなわち、第2操作入力情報)を用いることなくゲームを進行させる構成を有している。
【0152】
具体的には、ゲームシステムSは、
図3に示すように、
(A1)第1プレーヤの操作入力を受け付ける受付処理を実行し、かつ、
(A2)当該受付処理によって受け付けられた第1プレーヤP1の操作入力の情報(すなわち、第1操作入力情報)を少なくとも含む第1ゲーム制御情報を第2プレーヤP2の第2ゲームシステムSoに送信し、当該ゲームシステムSoから送信された第2プレーヤの操作入力の情報(すなわち、第2操作入力情報)を少なくとも含む第2ゲーム制御情報を受信する、
構成を有している。
【0153】
そして、ゲームシステムSは、
図3に示すように、
(A3)受け付けた第1操作入力情報と、受信した第2操作入力情報と、に応じて、対戦型格闘ゲームの進行を制御する第1モードのゲーム制御処理(以下、「第1モード制御処理」という。)として実行し、
(A4)ゲームの進行中に、第1プレーヤの所与の操作入力に基づいて特定状況になったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する特定状況検出処理を実行し、
(A5)当該特定状況検出処理によって特定状況になったことを検出した場合には、第1操作入力情報のみに応じてゲームの進行を制御する第2モードのゲーム制御処理(以下、「第2モードゲーム制御処理」という。)として実行する、
構成を有している。
【0154】
なお、
図3(A)及び(B)には、ゲーム画像を含む、第1プレーヤキャラクタPC1及び第2プレーヤキャラクタPC2が対戦する際の第1モード制御処理と第2モード制御処理の例がそれぞれ示されている。
【0155】
特に、
図3(B)には、特定状況として、ゲーム上において行動が不能となる行動不能状態として、第2プレーヤキャラクタが浮遊状態となり、第2ゲームシステムSoからの第2制御情報を無効にした例が示されている。
【0156】
本実施形態のゲームシステムSは、このような構成を有することによって、対戦型格闘ゲームのゲーム進行中に発生した通信遅延や通信遮断の影響を排除して当該ゲーム進行上の違和感を無くし、ゲームの興趣性を向上させることができるようになっている。
【0157】
また、本実施形態のゲームシステムSは、このような構成を有することによって、例えば、勝利確定後に敗戦側がゲーム結果の演出中に故意に通信遮断を行うことによって対戦そのものを不成立にさせる行為、又は、不成立にさせないまでも勝利者側の不快感を生じさせる行為など、通信遮断を用いた悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができるようになっている。
【0158】
なお、本実施形態においては、対戦格闘ゲームを例に説明するが、スポーツゲームなどのプレーヤ同士の対戦(第2プレーヤのプレーヤキャラクタとの対戦)を行う対戦ゲームであってもよいし、第2プレーヤや当該第2プレーヤのプレーヤキャラクタと協力してゲームを進行させるゲームであってもよい。ただし、第1プレーヤ及び第2プレーヤとも有人であることが好ましいが、CPUによるプレーヤ操作であってもよい。
【0159】
また、ゲームとしては、対戦ゲームに限らず、第1プレーヤと第2プレーヤとが協力するゲームであってもよく、その場合には、第1プレーヤと第2プレーヤとが協力してCPUなどの敵キャラクタと対戦する対戦ゲームであることが好ましい。
【0160】
[3.2]ゲーム制御情報、キャラクタスクリプト情報及び特定状況検出用テーブルデータ
次に、
図4及び
図5を用いて本実施形態のゲーム制御情報などについて説明する。なお、
図4は、本実施形態のゲーム制御情報の例を示す図であり、
図5は、本実施形態の特定状況検出用テーブルデータの例を示す図である。
【0161】
(ゲーム制御情報)
本実施形態の第1ゲーム制御情報は、プレーヤキャラクタを制御するための第1プレーヤの操作入力を示す第1操作入力情報を含むとともに、当該プレーヤキャラクタに対する操作や当該プレーヤキャラクタの動作に応じてゲームの進行を制御するゲーム制御処理を実行するための制御情報を含む。
【0162】
また、本実施形態の第2ゲーム制御情報は、第1ゲーム制御情報と同様に、プレーヤキャラクタを制御するための第2プレーヤの操作入力を示す第2操作入力情報を含むとともに、当該プレーヤキャラクタに対する操作や当該プレーヤキャラクタの動作に応じてゲームの進行を制御するゲーム制御処理を実行するための制御情報を含む。
【0163】
なお、第1ゲーム制御情報も第2ゲーム制御情報も、プレーヤによって操作する対象のプレーヤキャラクタが異なるだけであって、基本的には同じ情報であり、以下の説明において、特に言及のない限り、ゲーム制御情報とは、第1ゲーム制御情報及び第2ゲーム制
御情報の双方を示す。
【0164】
例えば、ゲーム制御情報には、
図4に示すように、
(A1)操作入力受付処理部113が受け付けたコントローラ30から出力されたプレーヤの所与の操作入力(対戦ゲームなどの複数のプレーヤによって実行される場合には各プレーヤの操作入力指示)の情報(すなわち、操作入力情報)と、
(A2)その他の制御に関する制御関連情報と、
が含まれる。ただし、(A2)の情報は含まず、操作入力情報から構成されていてもよい。
【0165】
例えば、所与の操作入力には、パンチ、キック、ジャンプ、前進、後退、しゃがむ、避けるなどの基本的な動作の他に、所定の演出や一定時間のプレーヤキャラクタの行動が規定されている必殺技、連続攻撃、又は、複数のプレーヤキャラクタによる連携攻撃を発動するための操作入力など、プレーヤの操作によって、他のプレーヤの操作入力の有無に関わらず、所定の期間を有する演出や各プレーヤキャラクタの行動が制御されるための操作入力が含まれる。
【0166】
なお、その他の制御関連情報には、例えば、
(A2-1)プレーヤキャラクタ(複数のプレーヤがゲームに参戦する場合には複数のプレーヤキャラクタ)の位置(ゲーム空間内の座標。以下同じ。)・動き(すなわち、モーション。具体的には、プレーヤキャラクタの各パーツの位置であってゲーム空間内の座標。以下同じ。若しくは回転やジャンプなどの動きを規定するためのデータ)・ステイタス(体力値やライフエネルギーの現在の状況や残っている量、技を繰り出す際に用いるパラメータの現在の値や残っている量、無敵状態などのパワーアップ状態の有無、又は、攻撃が封じされているなどどの一部の行動の制約の有無)を規定するための制御情報、
(A2-2)ゲームに登場する各キャラクタ(例えば、敵プレーヤキャラクタを含む。)の位置・動き・ステイタスを規定するための制御情報、
(A2-3)対戦などのゲームが実施されるステージ、レースが実施されるコース又はRPG用のオブジェクト空間などのゲーム空間を構成する各オブジェクトの位置・動き・ステイタスを規定するための制御情報、又は、
(A2-4)(A2-1)-(A2-4)の2以上の組み合わせ、
が含まれる。
【0167】
特に、ゲーム制御情報は、ゲーム開始からゲーム終了までの時系列の一連のデータ群であることが好ましいが、ゲーム中の任意の一区間の時系列のデータ群であってもよい。
【0168】
なお、
図4(A)には、ゲーム制御情報として、ゲーム開始(0秒)からの、第1プレーヤの操作入力情報(十字キーの方向及び右手ボタン、左手ボタン、右足ボタン及び左足ボタンの組み合わせ)の例を示している。
【0169】
(キャラクタスクリプト情報)
キャラクタスクリプト情報は、操作入力の今までの経緯に対応付けて、現在の状態から特定の操作入力が入力された場合に、遷移する状態が規定された情報である。
【0170】
具体的には、キャラクタスクリプト情報は、立っている状態、パンチしている状態、空中に浮いている状態、及び、後ろに倒れている状態などの現在の状態と、当該現在の状態に対して有効な操作入力の種別と、当該有効な操作入力が入力された場合に遷移する次の状態と、が規定されている情報であるともに、必要に応じて現在の状態の前の状態、及び、次の状態のさらにその次の状態(現在の状態から見ると「次々状態」となる。)について規定されている情報である。
【0171】
すなわち、キャラクタスクリプト情報は、最初の状態から、有効な操作入力が有る限り、状態が規定されている。
【0172】
例えば、キャラクタスクリプト情報には、第1の状態(例えば、立ち状態)から、後方レバー位置、前方レバー位置、上レバー位置、下レバー、前方斜め上レバー位置、前方斜め下レバー位置、後方斜め上レバー位置、後方斜め下レバー位置、右手ボタン、左手ボタン、右足ボタン、及び左足ボタンが有効な操作入力種別として規定され、各操作入力種別に応じて、次の状態及び次のその次の状態と、が規定されているキャラクタスクリプト情報の一例である。
【0173】
また、キャラクタスクリプト情報は、ジャンプから着地した状態などの特定の状態になった場合、ダメージを受けた状態、又は、次の状態が規定されていない状態になった場合には、それぞれ、決められた状態(例えば、立っている状態)に遷移し、その時点から新たな状態遷移が実行される。
【0174】
そして、ゲーム制御部114は、現在の状態(過去の状態の経緯を含めた現在の状態)において、第1プレーヤによって操作入力受付処理部113によって受け付けて認識した操作入力に応じて、プレーヤキャラクタの状態を、次の状態に遷移させる
【0175】
(特定状況検出用テーブルデータ)
特定状況検出用テーブルデータは、特定状況検出処理の実行時に、通信遅延量に基づいて、第2モード制御処理の対象範囲となる特定状況を決定するために用いられる。
【0176】
例えば、特定状況検出用テーブルデータは、
図5に示すように、第1プレーヤの操作入力の種別、及び、ゲーム状況の内容の少なくともいずれか一方を含む、複数の特定状況の情報(以下、「特定状況情報」という。)と、所与の関係性を有する第2プレーヤの第2ゲームシステムとの通信遅延量と、が対応付けられて記憶部170に記憶されている。
【0177】
特に、特定状況検出用テーブルデータは、通信遅延量に基づいて、1の特定状況を決定するよりは、複数の特定状況を決定するために用いられる。
【0178】
また、特定状況検出用テーブルデータは、通信遅延量に基づいて、特定状況のレベル範囲が定められており、通信遅延量に基づいて、当該特定状況のレベルを特定し、当該特定したレベルに属する特定状況を、特定状況検出処理に用いるテーブルデータとして決定される。
【0179】
[3.3]通信制御処理
次に、本実施形態の通信制御処理について説明する。
【0180】
通信制御部110は、他のゲームシステム(すなわち、第2ゲームシステムSo)と同期を取りながら、操作入力受付処理部113によって受け付けられた第1操作入力情報を少なくとも含む第1ゲーム制御情報を、ネットワークを介して接続された第2プレーヤの第2ゲームシステムSoに通信部196を介して送信する。
【0181】
また、通信制御部110は、対戦型格闘ゲームの進行中に、このようにネットワークを介して接続された第2ゲームシステムSoから送信された情報であって、当該送信された第2プレーヤの第2操作入力情報を少なくとも含む第2ゲーム制御情報を受信する。
【0182】
さらに、通信制御部110は、他のゲームシステムとの通信遅延量、及び、通信遮断の
有無を検出する。
【0183】
例えば、通信制御部110は、各種の情報を構成するパケットが第2ゲームシステムSoから送信された際の時刻と、当該第2ゲームシステムSoから送信されたパケットを受信した際の時刻情報と、に基づいて、通信遅延量(すなわち、遅延時間)を測定する。
【0184】
また、通信制御部110は、第2ゲームシステムSoとのデータの送受信中に、当該第2ゲームシステムSoからの応答が一定時間以上無くなった場合に、当該第2ゲームシステムSoとの通信が遮断されたことを検出する。
【0185】
[3.4]ゲーム制御処理
[3.4.1]第1モード制御処理
次に、
図6を用いて本実施形態の第1モード制御処理について説明する。なお、
図6は、本実施形態の第1モード制御処理について説明するための図である。
【0186】
ゲーム制御部114は、他のプレーヤとの対戦型格闘ゲームを開始すると、当該ゲーム開始直後など、特定状況が検出されない限り、対戦相手のゲームシステム(具体的には、第2ゲームシステムSo)と同期を取ることによって、第2ゲームシステムSoから送信された第2ゲーム制御情報と、操作入力受付処理部113によって受け付けられた第1プレーヤの第1操作入力情報を含む第1ゲーム制御情報と、を同期させ、当該同期した状態で、第1ゲーム制御情報及び第2ゲーム制御情報に基づいて、第1モードとしてのゲーム制御処理を実行する。
【0187】
具体的には、ゲーム制御部114は、同期した状態を維持したまま、ネットワークを介して第2ゲームシステムSoから送信された第2プレーヤの第2操作入力情報を含む、第2ゲーム制御情報を取得する。
【0188】
そして、ゲーム制御部114は、所定のタイミング毎(不定期のタイミングを含む。)に、操作入力受付処理部113によって受け付けられた第1プレーヤの第1操作入力情報を含む第1ゲーム制御情報と、第2操作入力情報を含む第2ゲーム制御情報と、に応じて、第1プレーヤキャラクタ及び第2プレーヤキャラクタのゲーム空間内における行動(動き)を制御する。
【0189】
特に、ゲーム制御部114は、
図6に示すように、第1ゲームモード制御処理として、初期状態(例えば、構えて立っている情報)か、又は、過去のプレーヤキャラクタの状態と状態遷移によって決定された現在の各プレーヤキャラクタの状態と、記憶部170に記憶されているキャラクタスクリプト情報と、現タイミングにおける第1ゲーム制御情報及び第2ゲーム制御情報と、に基づいて、第1プレーヤキャラクタ及び第2プレーヤキャラクタの動き及びゲーム空間内の移動を制御する。
【0190】
そして、ゲーム制御部114は、第2プレーヤ(第2プレーヤキャラクタ)との対戦が終了するまで、又は、特定状況が検出されるまで、所定のタイミング毎に、上記の第1モード制御処理を繰り返して実行するとともに、第2モード制御処理から復帰した場合も、第2プレーヤ(第2プレーヤキャラクタ)との対戦が終了するまで、又は、特定状況が検出されるまで、当該第1モード制御処理を繰り返して実行する。
【0191】
なお、
図6には、第1操作入力情報と第2操作入力情報とが同期して第1モード制御処理が実行されている場合の例が示されている。特に、図中、「P」は、その位置からのパンチをするための指示、「K」は、その位置からのキックをするための指示、「→」は、その位置からの前進を行うための指示、及び、[←]は、その位置からの後退を行うため
の指示を示す。
【0192】
[3.4.2]特定状況検出処理を含む第2モード制御処理
次に、
図7を用いて本実施形態の切替タイミング設定処理について説明する。なお、
図7は、本実施形態の第2モード制御処理について説明するための図である。
【0193】
(第2モード制御処理の基本原理)
通常、第1プレーヤの第1操作入力情報(第1ゲーム制御情報)だけでなく、同期させた第2プレーヤの第2操作入力情報(第2ゲーム制御情報)も用いてゲームを進行させる場合において、ネットワークにおける通信遅延が生じた場合には、ゲーム制御部114は、同タイミングの第2操作入力情報が受信されるまで、当該第1操作入力情報のゲーム制御処理を待機することになり、その間のゲーム制御処理を停止する。
【0194】
すなわち、このような場合には、ゲーム制御処理にも遅延が生じ、最終的には、ゲーム画像の生成や音出力も遅延し、第1プレーヤの操作感覚に違和感を発生させることも多い。
【0195】
また、対戦型格闘ゲームなどの対戦ゲームにおいては、必殺技、大技、連続攻撃、及び、連携攻撃などの勝敗の決め手になる攻撃や派手な演出を伴う攻撃が発生した場合には、その後にこれらの攻撃が起因となって対戦が終了したとしても、当該演出が終了するまでは、対戦中と判断されるため、当該演出が終了しなければ対戦終了とはならず、当該演出中に、第2ゲームシステムSoとの同期がとれなくなると、又は、当該第2ゲームシステムSoとの通信が遮断されると、強制的に対戦が終了又は無効な対戦(すなわち、無効試合)になってしまうことがある。
【0196】
一方、上記のような、操作入力情報の必要が無く、時間の長い演出の実行中、及び、第2プレーヤキャラクタの状態がゲーム空間内に浮いている場合などの第2プレーヤの操作が及ばない状況の場合には、第2ゲームシステムSoとの同期が取れていない場合であっても、ゲーム制御処理上には影響無いか、たとえあってもその影響は著しく低い。
【0197】
そこで、本実施形態の特定状況検出部115は、ゲームの進行中に、第1プレーヤの所与の操作入力によって特定状況となったか否か、又は、所与のゲーム状況が発生して当該特定状況になったか否かを検出する特定状況検出処理を実行する。
【0198】
そして、ゲーム制御部114は、特定状態検出処理によって、第2プレーヤの操作入力情報を無効化してもゲーム制御処理には影響の無い状況が検出された場合には、当該特定状況であるとして、受け付けられた第1ゲーム制御情報のみに応じてゲームの進行を制御する第2ゲーム制御処理を実行する構成を有している。
【0199】
(特定状況検出処理)
特定状況検出部115は、上述のように、第1モード制御処理中に、第1プレーヤの所与の操作入力に基づいて特定状況となったか否かを検出する特定状況検出処理を実行する。
【0200】
そして、特定状況検出部115は、特定状況を検出すると、第2ゲームシステムSoとの同期を中断する。
【0201】
特に、第1プレーヤの所与の操作入力としては、例えば、一定時間の第1プレーヤキャラクタの行動が規定されている必殺技、大技、連続攻撃(いわゆるコンボ)、及び、連携攻撃(他のプレーヤキャラクタとの連携)などの攻撃を発動するための操作入力、又は、
これらの技を発動する際の演出や勝敗を決めた攻撃に関する演出を実行する際の操作指示などが含まれる。
【0202】
すなわち、このような操作入力を受け付けると、ゲーム制御部114は、第1プレーヤキャラクタによって、必殺技などの特定の行動を発動し、かつ、第2プレーヤキャラクタの状態が第2プレーヤの操作の及ばない状態(以下、「無力状態」という。)に制御する。
【0203】
したがって、このような特定状況においては、第2ゲームシステムSoと同期を取り、当該第2ゲームシステムSoから送信される第2プレーヤの操作入力を用いる必要性がない。
【0204】
そこで、特定状況検出部115は、第2ゲームシステムSoとの同期中に、第1プレーヤからこのような所与の操作入力を受け付けた場合には、特定状況検出処理において特定状況であると検出し、第2ゲームシステムSoとの同期を中断する。
【0205】
例えば、特定状況検出部115は、第1プレーヤ(すなわち、自プレーヤ)が、プレーヤキャラクタについて特定のコンボとなる連続的な操作入力を受け付けた場合に、第2プレーヤ(すなわち、対戦相手のプレーヤキャラクタ)について、コンボ攻撃を受けて行動不能である、又は、行動不能になると判断して、特定状況であると検出する。
【0206】
一方、特定状況検出部115は、第1プレーヤの操作入力に代えて、第1モード制御処理中に、所与のゲーム状況が発生して当該特定状況になったか否かを検出する特定状況検出処理を実行してもよい。
【0207】
この場合においても、特定状況検出部115は、特定状況を検出すると、第2ゲームシステムSoとの同期を中断する。
【0208】
特に、所与のゲーム状況としては、例えば、上記の必殺技を発動する際の演出や勝敗を決めた攻撃に関する演出の実行が確定した状況、第1のプレーヤの勝利が確定した状況、又は、対戦の開始前の対決前演出など、の第2のプレーヤの操作があったとしても、ゲームの進行内容が変化しない状況などが含まれる。
【0209】
すなわち、このような場合には、ゲーム進行上、第1プレーヤキャラクタを含めて第2プレーヤキャラクタの動きが必要なくなることによって第2プレーヤキャラクタの操作も不要になるので、ゲーム制御部114は、第2ゲームシステムSoと同期を取り、当該第2ゲームシステムSoから送信される第2プレーヤの操作入力を用いる必要性がない。
【0210】
そこで、特定状況検出部115は、操作入力やゲーム状況に基づいて特定状況となったか否かを検出する場合と同様に、第2ゲームシステムSoとの同期中に、ゲーム状況として、このような状況になった場合には、特定状況であると判定する特定状況検出処理を実行し、第2ゲームシステムSoとの同期を中断する。
【0211】
具体的には、特定状況検出部115は、特定状況検出処理としては、第1モード制御処理中の現タイミングにおける第2プレーヤキャラクタの状態と、少なくとも受信された第2操作入力情報と、に応じて、第2プレーヤキャラクタの現タイミングの状態が、特定状況として、ゲーム上において行動が不能となる行動不能状態に切り替わったか否かを検出する。
【0212】
特に、特定状況検出部115は、第2プレーヤキャラクタの現タイミングにおける状態
が、第1プレーヤキャラクタから攻撃をされた場合の状態であって、行動不能状態である場合に、ゲーム状況が特定状況であると検出する。
【0213】
例えば、特定状況検出部115は、特定状況検出処理としては、
(A1)キャラクタスクリプト情報と、
(A2)当該キャラクタスクリプト情報に基づく過去の状態遷移に応じた現タイミングにおける第2プレーヤキャラクタの状態と、
(A3)同期状態において取得された第2ゲーム制御情報、又は、第1ゲーム制御情報及び第2ゲーム制御情報と、
に基づいて、第2プレーヤキャラクタの状態が、ゲーム上の行動が不能な状態(以下、「行動不能状態」という。)に切り替わった場合には、特定状況であると検出する。
【0214】
また、例えば、特定状況検出部115は、行動不能状態として、第2プレーヤキャラクタの現タイミングの状態が、操作入力の受付が無効となる状態(ゲーム開始前のスタンバイ中の状態)、空中に浮いている状態、拘束された状態(例えば、何かに縛り付けられている状態)、又は、硬直した状態(例えば、技の発動後や金縛りになっている状態)など、プレーヤキャラクタにおける動作が不能な状態、及び、動作してもゲーム上の他の処理に影響を与えない状態などの行動不能状態に切り替わった否かを検出する。
【0215】
なお、特定状況検出部115は、キャラクタスクリプト情報などに代えて、生成されたゲーム画像やゲーム空間内の第2プレーヤキャラクタの座標などから、ゲームの進行内容が変化しない状況を特定状況として検出してもよい。
【0216】
例えば、対戦の開始前の対決前演出の場合には、第1プレーヤキャラクタや第2プレーヤキャラクタは、ゲーム空間内における特定の位置(座標)から動かない。
【0217】
そこで、特定状況検出部115は、第2プレーヤキャラクタのゲーム空間内の座標や、プレーヤに提供するために生成されたゲーム画像を解析することによって第2プレーヤキャラクタの位置の変化を検出し、特定状況であることを検出してもよい。
【0218】
他方、特定状況検出部115は、ゲームの実行中に、ネットワークによる第2プレーヤの第2ゲームシステムSoとの接続が遮断された場合(すなわち、通信回線の遮断がされた場合)には、当該遮断された状況を特定状況として検出する特定状況検出処理を実行する。
【0219】
すなわち、たとえ、第2プレーヤの第2ゲームシステムSoとの通信が遮断された場合であっても、上述と同様に、ゲーム進行に対する影響は無いので、ゲーム進行上の違和感を無くし、かつ、悪意のあるプレーヤにおける迷惑行為や不正行為を防止することができるようになっている。
【0220】
具体的には、特定状況検出部115は、通信制御部110連動することによって、特定状況検出処理として、第2ゲームシステムSoとの通信回線の接続状態を監視し、当該通信回線が遮断された場合に、特定状況であると検出する。
【0221】
(第2モード制御処理)
ゲーム制御部114は、特定状況が検出され、かつ、第2ゲームシステムSoとの同期が中断されると、操作入力受付処理部113によって受け付けられた第1プレーヤの第1操作入力情報のみに応じて、第2モードとしてのゲーム制御処理を実行する。
【0222】
特に、ゲーム制御部114は、第2ゲーム制御情報を取得(受信)しなかった場合だけ
でなく、当該第2ゲーム制御情報を受信している場合であっても受信した第2ゲーム制御情報を無効化し、第1ゲーム制御情報にのみによってゲーム制御を実行する。
【0223】
すなわち、基本的には、第2モード制御処理としては、第1モード制御処理とは、第2ゲームシステムSoから送信された第2操作入力情報をゲーム制御処理に使用しない点が異なるのみで、その他の処理は、第1モード制御処理と同様の処理が実行される。
【0224】
具体的には、ゲーム制御部114は、
図7に示すように、特定状況が検出され、第2ゲームシステムSoとの同期が中断されている場合には、過去のプレーヤキャラクタの状態に基づく状態遷移によって決定された現在の各プレーヤキャラクタの状態と、記憶部170に記憶されているキャラクタスクリプト情報と、現タイミングにおける第1ゲーム制御情報と、に応じて、第1プレーヤキャラクタ及び第2プレーヤキャラクタの動き及びゲーム空間内の移動を制御する。
【0225】
なお、
図7には、第1操作入力情報と第2操作入力情報とが同期しておらず、第2操作入力情報を用いることなく第2モード制御処理が実行されている場合の例が示されている。
【0226】
一方、ゲーム制御部114は、第2モード制御処理における制御内容に応じて、当該第2モード制御処理を実行する期間を定め、当該期間中においては、第2モード制御処理を実行してもよい。
【0227】
具体的には、ゲーム制御部114は、第1プレーヤの操作入力に基づいて、第1プレーヤキャラクタにおける連続攻撃(すなわち、コンボ)を行うための連続操作入力を受け付けた場合、又は、所定の期間長を有する演出を実行するための操作入力を受け付けた場合など、当該第1プレーヤによって入力された操作入力の種類(順序立てた複数の連続的な操作入力を含む。)及び検出された特定状況などによって、第2モード制御処理を実行する期間を設定してもよい。
【0228】
すなわち、特定状況として、連続攻撃などの一定の期間長が必要なプレーヤキャラクタの行動が実行される状況、又は、ゲーム演出が実行される状況には、ゲーム制御部114は、第1プレーヤキャラクタの行動が終了するまでの期間、又は、当該ゲーム演出が終了するまでの期間を特定状況期間として特定し、当該特定状況期間中において第2モード制御処理を実行する。
【0229】
なお、特定状況期間は、第1プレーヤによって入力された操作入力の種類(順序立てた複数の連続的な操作入力を含む。)又は、検出された特定状況によって予め設定されており、ゲーム制御部114は、特定状況を検出した際に、当該特定状況に対応する特定状況期間を、第2モード制御処理を実行する期間として、設定する。
【0230】
ただし、ゲーム制御部114は、原則、第1プレーヤの連続操作入力、又は、当該第1プレーヤの操作入力で特定された演出の種別などによって予め定められている期間(例えば、画像フレーム数)を、第2プレーヤキャラクタの種別・属性(保有するスキルの種別も含む。)、所有アイテムの数や種別、第1プレーヤと第2プレーヤとのレベル差などに応じて、増減させてもよい。
【0231】
例えば、ゲーム制御部114は、原則、10フレームの特定状況期間を設定した場合に、第2プレーヤのプレーヤキャラクタの能力値が第1プレーヤのプレーヤキャラクタの能力値よりも高い場合には、特定期間を8フレームに短くし、第2プレーヤのプレーヤキャラクタの能力値が第1プレーヤのプレーヤキャラクタの能力値よりも低い場合には、特定
期間を15フレーム長くする。
【0232】
(第2モード制御処理からの復帰)
ゲーム制御部114は、第2モード制御処理の実行中に、第2プレーヤキャラクタに対する操作入力を含む第2ゲーム制御情報が必要な状況になった場合には、第1モード制御処理に切り替える。
【0233】
具体的には、ゲーム制御部114は、特定状況検出処理によって、
(B1)上述したように、予め定められた時間が経過したこと、
(B2)第2ゲームシステムSoとの通信遅延が解消されたこと
(B3)第2ゲームシステムSoとの通信遮断が回復したこと、又は、
(B4)第2キャラクタの状態が、第2操作入力を含む第2制御情報による操作可能な状態になったこと、
が検出された場合に、第1モード制御処理に切り替える。
【0234】
なお、ゲーム制御部114は、第2モード制御処理から第1モード制御処理に切り替わる際に、第2モード制御処理から切り替わったタイミング(以下、「切り替えタイミング」ともいういう。)から第2プレーヤの操作入力を有効化してもよいし、当該切り替えタイミングの前のタイミング(例えば、1秒前)から先行的に第2プレーヤの操作入力を有効化し、又は、受け付けを開始し、当該先行して有効化した又は受け付けた第2プレーヤの操作入力を、当該切り替えタイミング後の当該第2プレーヤの操作入力として用いる処理(以下、「先行入力処理」ともいう。)を採用してもよい。
【0235】
具体的には、ゲーム制御部114は、先行入力処理によって受け付けた操作入力と、切り替えタイミング後の操作入力を一連の連続した操作入力として受け付けて(すなわち、1のコマンドとして受け付けて)、第2プレーヤのプレーヤキャラクタによる連続攻撃の発動や第2プレーヤ側の所定の演出の実行を制御してもよい。
【0236】
ただし、この場合には、ゲーム制御部114によって、少なくとも切り替えタイミングの少し前(切り替えタイミングを基準に数十フレーム前~数フレーム前)から第2プレーヤの操作入力を受け付けていることが前提となる。
【0237】
[3.5]変形例
[3.5.1]変形例1(通信遅延量に基づく特定状況の調整)
次に、変形例1の通信遅延量に基づく特定状況の調整について説明する。
【0238】
上記の実施形態において、通信遅延量に基づいて、第1モード制御処理から第2モード制御処理に切り替える際の操作入力及びゲーム状況を変更してもよい。
【0239】
すなわち、通信遅延量が大きくなると、第2モード制御処理から第1モード制御処理に復帰する際の違和感や障害が大きくなるとともに、級レベルなどの操作入力に対してシビアな反応を求めないプレーヤにとっては、多少通信遅延が発生してもゲームの進行に対する支障はあまり発生しない一方、高いレベルのプレーヤにとっては、少しの通信遅延であってもゲーム進行に対する支障が発生する。
【0240】
したがって、本変形例においては、特定状況検出部115は、発生している通信遅延量に応じて、又は、プレーヤレベルなどの状況に応じて、特定状況検出処理によって特定する特定状況を変更する構成を有している。
【0241】
具体的には、通信制御部110は、第2プレーヤのゲームシステムとの通信遅延量を計
測する。
【0242】
特に、記憶部170には、第1プレーヤの操作入力の種別、及び、ゲーム状況の内容の少なくともいずれか一方を含む、複数の前記特定状況の情報を示す複数の特定状況情報と、所与の関係性を有する前記第2のプレーヤのゲームシステムとの通信遅延量と、が対応付けられて記憶されており、特定状況検出部115は、当該特定状況情報を管理する。
【0243】
例えば、所与の関係性とは、第2モード制御処理から第1モード制御処理に復帰する際に通信遅延量によって生ずるズレが所定の時間差以内となること、プレーヤのレベル、通信環境やゲーム環境などによる関係性を示す。
【0244】
そして、特定状況検出部115は、特定状況検出処理として、ゲームの実行中に、決定された特定状況情報に規定された特定状況を検出する。
【0245】
例えば、特定状況検出部115は、
図5に示す特定状況除法を用いる場合には、通信遅延量が30ms未満の場合には、特定状況Aの場合のみ特定状況検出処理として検出を実行し、通信遅延量60ms未満以下の場合には、特定状況A及びCの場合のみ、特定状況検出処理として検出を実行し、通信遅延量60ms以上の場合には、特定状況A、C、F及びGの場合について、特定状況検出処理として検出を実行する。
【0246】
[3.5.2]変形例2(第2モード制御処理に対する切り替え操作)
次に、変形例2の第2モード制御処理に対する切り替え操作について説明する。
【0247】
上記実施形態においては、プレーヤの指示に基づいて、第2モード制御処理の発動の有無を切り替えてもよい。
【0248】
具体的には、ゲーム制御部114は、受け付けされた第1のプレーヤの操作入力に基づいて、第2モードへの切り替えを可能にする設定を実行する。
【0249】
[3.5.3]変形例3(店舗型ゲームシステム)
次に、
図8を用いて変形例3の店舗型ゲームシステムについて説明する。なお、
図8は、本実施形態のゲームシステムを店舗型ゲームシステムに適用した場合の例を示す図であり、その外観構成図である。
【0250】
本実施形態のゲームシステムSは、家庭用ゲームシステムに適用可能な他に、例えば、図に示すように、店舗(アミューズメントパーク)に設定された店舗型ゲームシステムによっても実現可能である。
【0251】
すなわち、この場合には、他店舗間のゲームシステム、又は、店舗型ゲームシステムと家庭用ゲームシステム間において、対戦を行う際に、上記のゲーム制御処理が実行される。
【0252】
また、例えば、店舗型このようなゲームシステムSは、
図8に示すように、ゲーム処理等を行う処理部(コンピュータ)を格納する筐体12と、ゲーム画面を表示するディスプレイ13と、ゲームの効果音やBGMを音出力するスピーカ14と、ゲーム操作部200と、ゲームプレイ料であるコインを投入するコイン投入部16とを備えている。
【0253】
そして、ゲームシステムSは、CPU、画像生成IC、音生成IC等が実装されたシステム基板1000が内蔵しており、システム基板1000上の情報記憶媒体であるメモリから読み出したゲームプログラムやゲームデータ、或いはジョイスティック32及びボタ
ンから入力される操作信号等に基づいて、格闘ゲームを実行する構成を有している。
【0254】
ゲーム操作部200は、上記のコントローラ30と同じ機能を有するため、レバー210及びボタン220、221、222、223を備えて構成されている。
【0255】
例えば、右手ボタン220は、「右パンチ」、左手ボタン221は、「左パンチ」、右足ボタン222は、「右キック」、及び、左足ボタン223は、「左キック」の操作入力が可能となっている。
【0256】
[3.5.4]変形例4(サーバシステム)
次に、
図9を用いて変形例4のサーバシステムについて説明する。なお、
図9は、本実施形態のゲームシステムをネットワークを用いたサーバシステムに適用した場合のシステム構成の一例を示す図である。
【0257】
上記の実施形態においては、
図9に示すように、一のサーバ装置310によってサーバシステム300を構築してネットワークNを介して上記のゲームを1又は複数の端末装置320に提供してもよいし、複数のサーバ装置310を連動させてサーバシステム300を構築し、当該サーバシステム300からゲームを1又は複数の端末装置320に提供してもよい。
【0258】
特に、有線又は無線によって複数の端末装置320をサーバシステム300にネットワークNを介して接続させつつ、サーバシステム300を上記のゲームシステムとして機能させる。
【0259】
また、サーバシステム300は、各プレーヤの操作入力を受け付けつつ、第1モード制御処理、特定状況検出処理、及び、第2モード制御処理などを実行し、これらによって処理されたゲームデータ(画像データのみも含む。)を該当する端末装置320に提供することによって上記の実施形態のゲームシステムを実現することも可能である。
【0260】
なお、本実施形態においては、ネットワークを通じて端末装置320と連動して実行するサーバシステム300に本発明のゲームシステムを適用しているが、タブレット型情報端末装置やパーソナルコンピュータにも本発明のゲームシステムを適用してもよい。
【0261】
[4]本実施形態の動作
次に、
図10用いて本実施形態のゲームシステムSによって実行される第1モード制御処理及び第2ゲーム制御処理の切り替えを主としたゲーム制御処理の動作について説明する。
【0262】
なお、
図10は、本実施形態のゲームシステムSによって実行される第1モード制御処理及び第2ゲーム制御処理の切り替えを主としたゲーム制御処理の動作を示すフローチャートである。
【0263】
本動作は、第1プレーヤと第2プレーヤとが既にマッチングされ、第1プレーヤと第2プレーヤによる対戦が実行されるものとする。
【0264】
まず、ゲーム制御部114は、第1プレーヤと第2プレーヤとの対戦を開始すると(ステップS101)、プレーヤキャラクタのスタミナが「0」になるなど、当該対戦が終了したか否かを判定する(ステップS102)。
【0265】
このとき、ゲーム制御部114は、対戦が終了したと判定した場合には、本動作を終了
させ、当該対戦が終了していないと判定した場合には、ステップS103の処理に移行する。
【0266】
次いで、特定状況検出部115は、対戦が終了されていないと判定された場合には、特定状況であるか否かを判定する(ステップS103)。
【0267】
このとき、特定状況検出部115は、特定状況でないと判定した場合には、ステップS102の処理に移行し、当該特定状況であると判定した場合には、ステップS104の処理に移行する。
【0268】
次いで、ゲーム制御部114は、特定状況であると判定された場合には、第1ゲーム制御処理を第2ゲーム制御処理に切り替える(ステップS104)。
【0269】
次いで、ゲーム制御部114は、プレーヤキャラクタのスタミナが「0」になるなど、当該対戦が終了したか否かを判定する(ステップS105)。
【0270】
このとき、ゲーム制御部114は、対戦が終了したと判定した場合には、本動作を終了させ、当該対戦が終了していないと判定した場合には、ステップS106の処理に移行する。
【0271】
次いで、特定状況検出部115は、第1モード制御処理に移行する条件を満たしたか否かを判定する(ステップS106)。
【0272】
このとき、ゲーム制御部114は、第1モード制御処理に移行する条件を満たしていないと判定された場合には、ステップS105の処理に移行し、第1モード制御処理に移行する条件を満たしていると判定された場合には、第1モード制御処理に復帰して(ステップS107)ステップS102の処理に移行する。
【0273】
[5]その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0274】
本実施形態では、対戦型格闘ゲームを用いて説明しているが、レースゲーム、音ゲーム、パズルゲーム、シューティングゲーム、RPG、又は、シミュレーションゲームなどのプレーヤの入力操作を伴うゲームにおいても用いることがきる。
【0275】
本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
【0276】
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
【符号の説明】
【0277】
1 :サーバ装置
10 :ゲーム装置本体
30 :コントローラ
40 :ディスプレイ
100 :処理部
110 :通信制御部
111 :オブジェクト空間設定部
112 :動作制御部
113 :操作入力受付処理部
114 :ゲーム制御部
115 :特定状況検出部
118 :表示制御部
119 :仮想カメラ制御部
120 :描画部
130 :音処理部
160 :コントローラ
162 :リードライト部
170 :記憶部
172 :主記憶部
176 :画像バッファ
180 :情報記憶媒体
190 :表示部
192 :音出力部
196 :通信部
200 :ゲーム操作部
260 :入力部
300 :サーバシステム
310 :サーバ装置
320 :端末装置
1000 :システム基板