JP7137944B2 - プログラム及びコンピュータシステム - Google Patents

プログラム及びコンピュータシステム Download PDF

Info

Publication number
JP7137944B2
JP7137944B2 JP2018052872A JP2018052872A JP7137944B2 JP 7137944 B2 JP7137944 B2 JP 7137944B2 JP 2018052872 A JP2018052872 A JP 2018052872A JP 2018052872 A JP2018052872 A JP 2018052872A JP 7137944 B2 JP7137944 B2 JP 7137944B2
Authority
JP
Japan
Prior art keywords
controller
operation input
motion
determination means
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018052872A
Other languages
English (en)
Other versions
JP2019162355A (ja
Inventor
丈晴 耒嶋
武仁 笹岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Bandai Namco Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Bandai Namco Entertainment Inc filed Critical Namco Ltd
Priority to JP2018052872A priority Critical patent/JP7137944B2/ja
Publication of JP2019162355A publication Critical patent/JP2019162355A/ja
Application granted granted Critical
Publication of JP7137944B2 publication Critical patent/JP7137944B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、コンピュータに所定のゲームを実行させるためのプログラム等に関する。
例えば、音楽ゲームや演奏ゲーム、リズムゲーム等と呼ばれるジャンルのゲーム(以下包括して「音楽ゲーム」という)は、再生される音楽のリズム等に合わせた所定のタイミング(規準タイミング:目標とするべきタイミング)で、如何に正確に指示された種類の操作(規準操作:プレーヤに求められている操作入力)を行うかを楽しむタイミングゲームの代表例である。プレーヤは、自身が選んだ好みの楽曲をBGMとして、リズムに合わせた操作入力を楽しむことができるので、1人でプレイするシングルプレイは勿論のこと、複数のプレーヤが参加して協力或いは対戦するマルチプレイでも人気である。
この種のゲームを実行するゲーム装置の中には、操作入力のための専用のゲームコントローラが用意されたものも知られている。例えば、打楽器演奏をモチーフとした音楽ゲームのゲーム装置として、打楽器演奏用のスティックを模したゲームコントローラを備えたものがある(特許文献1を参照)。特許文献1では、スティックの物理的な衝突を検出し、操作入力を判定する手法が開示されている。
また、一方で、据置型家庭用ゲーム装置や携帯型ゲーム装置等に付属する汎用のゲームコントローラには慣性センサである加速度センサやジャイロセンサが搭載されており、ゲームコントローラを振る動作をそれらで計測して操作入力に用いている。例えば、特許文献2では、加速度値の増減方向が反転したタイミングにおける加速度の差に着目することで、ゲームコントローラを空中で振る操作と、ゲームコントローラに衝撃を与える操作と、を識別する技術が開示されている。
特開2010-257号公報 特開2008-36167号公報
しかし、特許文献1の技術は、汎用のゲームコントローラを専用の収容品に収容することで全体としてスティック状のコントローラとなり、そのスティックの物理的な衝突を検出することで操作入力を判定する技術である。そのため、専用品を使用せずに、汎用のゲームコントローラのみを利用する場合には、特許文献1の技術を適用できるとは限らない。例えば、汎用のゲームコントローラを、ゲームコントローラより長い棒状の仮想的なスティックに見立てて、その仮想的なスティックの先端をあたかも空中で打ち合わせるかのような操作入力を検出しようとするときには、実際に物理的な衝突をしないため、特許文献1の技術は適用できない。
そこで、本発明は、加速度センサやジャイロセンサを搭載したゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、操作入力を適切に判定することができる技術を提供することを目的とする。
上記課題を解決するための第1の発明は、コンピュータに所定のゲームを実行させるためのプログラム(例えば、図10のゲームプログラム502)であって、慣性センサ(例えば、図1の慣性センサ1474)を内蔵した複数のゲームコントローラ(例えば、図1のゲームコントローラ1460)の前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段(例えば、図9の初期設定部216、位置/姿勢追跡部218)、各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段(例えば、図9の接触判定部220)、前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段(例えば、図9の操作入力判定部230)、として前記コンピュータを機能させるためのプログラムである。
また、他の発明として、所定のゲームを実行するコンピュータシステム(例えば、図1のゲーム装置1400)であって、慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、を備えたコンピュータシステムを構成してもよい。
第1の発明等によれば、慣性センサの計測値に基づき推測した実空間中の複数のゲームコントローラの推測位置及び推測姿勢をもとに、各ゲームコントローラに対応する仮想オブジェクト同士の接触の有無を判定することで、プレーヤの操作入力を判定することができる。したがって、ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、当該操作入力を適切に判定することができる。
また、第2の発明は、前記仮想接触判定手段が、前記ゲームコントローラより長い前記仮想オブジェクトが前記推測位置に前記推測姿勢で位置すると仮定し、当該仮想オブジェクト同士が仮想的に接触したか否かを判定する、第1の発明のプログラムである。
第2の発明によれば、ゲームコントローラよりも長い仮想オブジェクトを想定してそれらの接触の有無を判定することができる。
また、第3の発明は、前記仮想接触判定手段が、前記仮想オブジェクト同士の距離が所与の接触許容条件を満たす場合に接触したと判定する、第1又は第2の発明のプログラムである。
第3の発明によれば、仮想オブジェクト同士の距離が接触したと判定できるだけの距離である接触許容条件を満たすのであれば、当該仮想オブジェクト同士が接触したと判定することができる。
また、第4の発明は、前記複数のゲームコントローラには、第1コントローラ(例えば、図1の右ゲームコントローラ1460R)と第2コントローラ(例えば、図1の左ゲームコントローラ1460L)とが少なくとも含まれ、前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段(例えば、図9のモーション判定部232)として前記コンピュータを更に機能させ、前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定する、第1~第3の何れかの発明のプログラムである。
第4の発明によれば、操作入力時における第1コントローラ及び第2コントローラのモーションの組合せによって、操作入力種類を定めておくことができる。そして、第1コントローラ及び第2コントローラに係る仮想オブジェクト同士の接触判定時における第1コントローラ及び第2コントローラのモーションを判定することで、操作入力された操作入力種類を判定することができる。
また、第5の発明は、前記操作入力判定手段は、前記第1コントローラ及び前記第2コントローラの何れか一方が不動相当状態、他方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、前記第1コントローラ及び前記第2コントローラの両方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、第4の発明のプログラムである。
第5の発明によれば、第1コントローラ及び第2コントローラのうちの一方を止めて他方を振る動作をして仮想的な操作物を打ち合わせる操作入力と、第1コントローラ及び第2コントローラの両方を振る動作をして仮想的な操作物を打ち合わせる操作入力と、を別個の操作入力種類として判別して判定することができる。
また、第6の発明は、前記操作入力判定手段は、前記第1コントローラ及び前記第2コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、前記第1コントローラ及び前記第2コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、第4又は第5の発明のプログラムである。
第6の発明によれば、第1コントローラ及び第2コントローラに係る仮想オブジェクトが接触したと判定したときに、当該接触判定時の第1コントローラ及び第2コントローラが上向きの状態の場合と、下向きの状態の場合と、を別個の操作入力種類として判別して判定することができる。
また、第7の発明は、前記モーション判定手段は、モーションの速さ又は大きさであるモーションの規模を含めてモーションを判定し、前記操作入力判定手段は、前記第1モーションの規模及び/又は前記第2モーションの規模に基づく前記操作入力種類、を少なくとも判別して判定する、第4~第6の何れかの発明のプログラムである。
第7の発明によれば、操作入力時における第1コントローラ及び/又は第2コントローラのモーションの規模を含めて操作入力種類を定めておくことができる。そして、接触判定時の第1コントローラのモーションの規模及び/又は第2コントローラのモーションの規模をもとに、操作入力種類を判別して判定することができる
また、第8の発明は、操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段(例えば、図9の提示制御部214)、前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段(例えば、図9の評価部242)、として前記コンピュータを機能させるための第4~第7の何れかの発明のプログラムである。
第8の発明によれば、提示した操作入力すべき操作入力種類と、判定したプレーヤの操作入力種類との異同を判定して、当該プレーヤの操作入力を評価することができる。
また、第9の発明は、前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、前記提示手段により提示された操作入力種類の前記判定条件を緩和する条件緩和手段(例えば、図9の条件緩和処理部240)、として前記コンピュータを機能させるための第8の発明のプログラムである。
第9の発明によれば、操作入力種類を判定するための判定条件を緩和することができる。
また、第10の発明は、前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、前記ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて、前記判定条件を変更する判定条件変更手段(例えば、図9の条件緩和処理部240)、として前記コンピュータを機能させるための第8の発明のプログラムである。
第10の発明によれば、操作入力種類の判定条件を、ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて変更することができる。
また、第11の発明は、前記仮想接触判定手段により接触したと判定された場合に所定の応答出力制御を行う応答出力制御手段(例えば、図9の応答出力制御部244)、として前記コンピュータを機能させるための第1~第10の何れかの発明のプログラムである。
第11の発明によれば、仮想オブジェクト同士の接触判定時に、例えば音や表示等による応答出力を行ってその旨を報知することができる。
また、第12の発明は、前記仮想接触判定手段により接触したと判定された場合に前記操作入力種類に応じた音を出力することで所定の応答出力制御を行う応答出力制御手段(例えば、図9の応答出力制御部244)、として前記コンピュータを機能させるための第4~第10の何れかの発明のプログラムである。
第12の発明によれば、判定した操作入力種類に応じた音の出力による応答出力を行うことができ、操作入力の実感を高めることができる。
第13の発明は、前記ゲームコントローラには、バイブレータ(例えば、図1のバイブレータ1463)が内蔵されており、前記応答出力制御手段は、前記バイブレータを振動させることで前記応答出力制御を行う、第11又は第12の発明のプログラムである。
第13の発明によれば、仮想オブジェクト同士の接触判定時の応答出力や、判定した操作入力種類に応じた応答出力を、プレーヤが手に持つゲームコントローラの振動演出によって行うことができる。
また、第14の発明は、コンピュータに所定のゲームを実行させるためのプログラムであって、慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、各ゲームコントローラの前記推測位置及び前記推測姿勢が所定の仮想接触条件を満たしたか否かに基づいてプレーヤの操作入力を判定する操作入力判定手段、として前記コンピュータを機能させるためのプログラムである。
第14の発明によれば、慣性センサの計測値に基づき実空間中の複数のゲームコントローラの推測位置及び推測姿勢を推測し、各ゲームコントローラの推測位置及び推測姿勢が仮想接触条件を満たしたか否かによってプレーヤの操作入力を判定することができる。したがって、ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、当該操作入力を適切に判定することができる。推測位置及び推測姿勢の推測に当たっては、最初に各ゲームコントローラを所定のホームポジションで静止させ、そのホームポジションの位置及び姿勢(向きや傾きとも言える)を基準にして、以降の推測位置及び推測姿勢を追跡的に推測してゆく、という方法を採用することができる。
ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図。 ゲームコントローラを分離した状態のゲーム装置を示す図。 ゲーム内容を説明するための図。 バチクロス動作を説明する図。 指示画面の一例を示す図。 仮想空間に配置した右仮想バチ及び左仮想バチの追跡処理を説明する図。 規準操作種類の一例を示す図。 条件緩和処理を説明する図。 ゲーム装置の機能構成例を示すブロック図。 記憶部が記憶するプログラムやデータの例を示す図。 プレイデータのデータ構成例を示す図。 ゲーム装置における処理の流れを説明するためのフローチャート。 操作入力の判定及び操作入力種類の判別に係る処理の流れを示すフローチャート。
以下、図面を参照して、本発明の好適な実施形態について説明する。なお、以下説明する実施形態によって本発明が限定されるものではなく、本発明を適用可能な形態が以下の実施形態に限定されるものでもない。また、図面の記載において、同一部分には同一の符号を付す。
図1は、本発明が適用された携帯型のゲーム装置であって、ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図である。図2は、ゲームコントローラを分離した状態の同ゲーム装置を示す図である。
ゲーム装置1400は、携行性と使用時の利便性とを考慮してデザインされた、携帯型ゲーム装置に分類されるコンピュータである。ゲーム装置1400は、本体装置1401と、本体装置1401に着脱可能な複数のゲームコントローラ1460と、を備える。本実施形態では、第1コントローラとしての右ゲームコントローラ1460Rと、第2コントローラとしての左ゲームコントローラ1460Lの、2つのゲームコントローラ1460を備える。なお、ゲーム装置1400が備えるゲームコントローラ1460の数は2つに限らず、3つ以上備えていてもよい。
本体装置1401は、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1406と、コネクタ1407と、内蔵バッテリー1409と、スピーカ1410と、制御基板1450と、を備える。その他、電源ボタン、音量調節ボタン等が適宜設けられている。
コネクタ1407は、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lに対応して本体装置1401の左右の端部それぞれに設けられている。そして、右ゲームコントローラ1460Rや左ゲームコントローラ1460Lのコネクタ1467と接続されて、各ゲームコントローラ1460と本体装置1401との間の通信を実現する。
制御基板1450は、CPU(Central Processing Unit)1451やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等の各種プロセッサ、VRAMやRAM、ROM等の各種ICメモリ1452、携帯電話基地局や無線LAN基地局、近距離無線器を有する他の装置等と無線通信するための通信モジュール1453、インターフェース回路1457等を搭載する。
インターフェース回路1457には、タッチパネル1406のドライバ回路、コネクタ1407を介して右ゲームコントローラ1460Rや左ゲームコントローラ1460Lと信号を送受信する回路、スピーカ1410へ音声信号を出力する出力アンプ回路等が含まれている。
制御基板1450に搭載されているこれらの要素は、バス回路等を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1450の一部または全部をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)、SoC(System on a Chip)にて構成してもよい。
制御基板1450は、プログラムや各種データをICメモリ1452に記憶しており、制御基板1450がそれらに基づいて演算処理することにより、本実施形態のゲームを実行する各種機能を実装する。
右ゲームコントローラ1460R及び左ゲームコントローラ1460Lは、プレーヤによって右手・左手にそれぞれ把持されるようにデザインされている。そして、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lは、それぞれ、ジョイスティック1461と、操作ボタンとなる複数のプッシュスイッチ1462と、振動発生デバイスであるバイブレータ1463と、スピーカ1464と、コネクタ1467と、コントローラ制御基板1470と、内蔵バッテリー(図視略)と、を備える。
コントローラ制御基板1470は、当該ゲームコントローラを制御するプロセッサに相当するコントローラ制御IC1471と、通信モジュール1473と、慣性センサ1474と、インターフェース回路1477と、を備える。
勿論、これら以外の要素、例えばイメージセンサモジュール等も適宜含めることができる。或いは、一部の要素で他の要素の機能を兼用させることで、当該他の要素を省略することもできる。例えば、3軸加速度センサ1475と3軸ジャイロセンサ1476とを1つのセンサで実現する構成、コントローラ制御IC1471とインターフェース回路1477とを統合した構成等も可能である。
通信モジュール1473は、本体装置1401の通信モジュール1453との間で、無線通信を実現する。
各慣性センサ1474は、3軸加速度センサ1475と、3軸ジャイロセンサ1476と、を備える。具体的には、図2に示すように、右ゲームコントローラ1460Rの3軸加速度センサ1475は、右手系のローカル座標(Xr・Yr・Zr)を構成している。この右手系のローカル座標(Xr・Yr・Zr)は、右ゲームコントローラ1460Rの正面向かって右方向(図2の右側)がXr軸の正方向、コントローラの長手方向上側(図2の上側)がYr軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側(図2の手前側)がZr軸の正方向となるように構成されている。
右ゲームコントローラ1460Rの3軸ジャイロセンサ1476は、右手系のローカル座標(Xr・Yr・Zr)を構成しており、右ゲームコントローラ1460Rの3軸加速度センサ1475の各軸回りの角速度を検出できるように構成されている。
そして、右ゲームコントローラ1460Rの左端には、コネクタ1467を塞ぐようにアタッチメント1468が装着可能とされる。右ゲームコントローラ1460Rは、当該コントローラの右側を右手の親指及び母指球に当てて、当該コントローラのアタッチメント1468を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
同様にして、左ゲームコントローラ1460Lの3軸加速度センサ1475は、左手系のローカル座標(Xl・Yl・Zl)を構成している。この左手系のローカル座標(Xl・Yl・Zl)は、左ゲームコントローラ1460Lの正面向かって左方向(図2の左側)がXl軸の正方向、コントローラの長手方向上側(図2の上側)がYl軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側(図2の手前側)がZl軸の正方向となるように構成されている。
左ゲームコントローラ1460Lの3軸ジャイロセンサ1476は、左手系のローカル座標(Xl・Yl・Zl)を構成しており、左ゲームコントローラ1460Lの3軸加速度センサ1475の各軸回りの角速度を検出できるように構成されている。
そして、左ゲームコントローラ1460Lの左端には、コネクタ1467を塞ぐようにアタッチメント1468が装着可能とされる。左ゲームコントローラ1460Lは、当該コントローラの左側を左手の親指及び母指球に当てて、当該コントローラのアタッチメント1468を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
なお、図2や図6等に座標軸の方向を示す表記をしているが、この表記は各座標軸の方向を示しているだけであり、座標原点を示すものではない。
図1に戻り、インターフェース回路1477は、コネクタ1467を介した本体装置1401の制御基板1450との有線通信を実現するための回路を含む。そして、当該コントローラが搭載する各種デバイス(ジョイスティック1461、プッシュスイッチ1462、バイブレータ1463、スピーカ1464、3軸加速度センサ1475、3軸ジャイロセンサ1476等)と、本体装置1401との信号のやり取りを実現する。
[ゲームの概要]
図3は、本実施形態におけるゲーム内容を説明するための図である。本実施形態のゲームは仮想打楽器の演奏をテーマとした音楽ゲームであり、ゲーム中、本体装置1401のタッチパネル1406には楽曲(プレイ曲)の譜面表示を含むゲーム画面が表示され、スピーカ1410からは、プレイ曲の音声や操作入力に応じた叩打演出音等が出力される。プレーヤ1は、タッチパネル1406のゲーム画面W1の譜面表示を見ながら、スピーカ1410から出力(再生)されるプレイ曲のリズムに合わせて右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを空中で振ることで操作入力をして、音楽ゲームを楽しむ。
具体的には、プレーヤ1は、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを、仮想打楽器(例えば和太鼓)の仮想の叩打用具(仮想バチ)の持ち手部分を持っているつもりで把持する。そして、右ゲームコントローラ1460R及び/又は左ゲームコントローラ1460Lを上下に振って操作入力をする。
ゲーム画面W1は、画面を左右に横切る帯状の譜面表示部20と、プレイ開始からの経過時間表示部10と、楽曲名表示部12と、を備える。譜面表示部20のデザインは適宜設定可能であるが、本実施形態では、画面左側に示された基準位置22と、基準位置22へ向けて流れ表示される指示体24と、プレイ曲における小節単位の区切りを示す小節区切り線25と、評価結果表示部27と、スコア表示部28と、難易度表示部29と、が含まれる。
基準位置22は、規準タイミング(目標とする操作入力のタイミング)を示すための基準となる位置を示している。本実施形態では1つの譜面表示部20に1つだけ表示されるが、複数箇所設ける構成としてもよい。
指示体24は、規準操作(その時の規準タイミングでなされるべき正しい操作入力)の操作入力種類(規準操作種類)別に異なるデザインで用意されている。この指示体24は、譜面表示部20の右側から出現表示され、小節区切り線25とともに基準位置22へ向けてプレイ曲の音声再生と同期してライン状に流れるように移動表示される。そして、指示体24が基準位置22に到来したタイミングによって、当該指示体24の種類が示す規準操作種類の操作入力をすべき規準タイミングであることを、プレーヤ1に提示する。
評価結果表示部27は、プレーヤ1の操作入力に対する評価結果を随時表示する。操作入力評価は、例えば、指示体24の中心が基準位置22の中心線と重なるタイミングを規準タイミングとし、重なった指示体24の種類を規準操作種類として、第1の評価項目である規準タイミングとその時の操作入力タイミングとの時間差と、第2の評価項目である規準操作種類と操作入力種類の異同と、をそれぞれ評価することで行う。規準操作種類と操作入力種類とが一致し、且つ、規準タイミングと操作入力タイミングとの時間差が小さい程、高評価となる。本実施形態では、例えば、規準操作種類と操作入力種類とが異なる場合は当該操作入力を「不可」とする。そして、規準操作種類と操作入力種類とが一致する場合には、規準タイミングと操作入力タイミングとの時間差を、当該時間差に係る基準を用いて「良」「可」「不可」「スルー」の4段階で判定する。
スコア表示部28には、操作入力の評価結果に応じて付与される得点の累計が表示される。また、本実施形態の音楽ゲームは、プレイ開始前にプレーヤ1が後述するプレイ難易度を選択して行う構成となっており、難易度表示部29には、当該選択したプレイ難易度(図3では「かんたん」)が表示される。選択可能なプレイ難易度は、例えば、低い方から順に「かんたん」「ふつう」「むずかしい」「おに」の4段階とされる。
[原理]
さて、本実施形態のゲームでは、プレーヤ1は、図4に示すように、右仮想バチ3R及び左仮想バチ3Lの持ち手を握るように右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを左右の手に持って構え、右仮想バチ3R及び左仮想バチ3Lの先端同士を叩いて接触させる「バチクロス」の動作を行うことで操作入力をする。ここで、本実施形態では、プレーヤ1が持つ右ゲームコントローラ1460R及び左ゲームコントローラ1460Lは手の中に収まるサイズであるが、プレーヤ1は、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの先には(見えないけれど)長い棒状のもの(右仮想バチ3R及び左仮想バチ3Lの先端側)が有るつもりで、実際には手にしていない右仮想バチ3R及び左仮想バチ3Lの先端同士を打ち合わせる真似をしてバチクロス動作を行う。
このバチクロス動作による操作入力を判定し、その良否を評価するため、ゲーム中は、慣性センサ1474の計測値に基づいて、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの実空間中の推測位置及び推測姿勢を推測する。そのための処理として、本実施形態では、(1)3次元空間として形成された仮想空間に、右ゲームコントローラ1460Rに対応する右仮想バチ3Rと、左ゲームコントローラ1460Lに対応する左仮想バチ3Lとを配置する初期設定処理と、(2)慣性センサ1474の計測値に基づいて、仮想空間中で左仮想バチ3L及び右仮想バチ3Rを右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの動きに追従させる追跡処理と、を行う。
(1)初期設定処理
初期設定処理では、先ず、ゲームプレイの開始に先立ちタッチパネル1406に指示画面を表示し、プレーヤ1に所定のポーズを取らせることで、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lをホームポジションで静止させるための指示をする。例えば、図5の指示画面W3に示すように、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを右仮想バチ3R及び左仮想バチ3Lの持ち手を握るように持ち、右仮想バチ3R及び左仮想バチ3Lを構えた状態(ホームポジション)で静止する指示をする。そして、その上で、静止した状態の右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの各慣性センサ1474からの加速度(重力加速度)の計測値を用いて、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの姿勢(右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの傾き又は向きともいえる)を算出する。
具体的には、右ゲームコントローラ1460Rにおいてその慣性センサ1474の3軸加速度センサ1475で計測された加速度ベクトル(Xr・Yr・Zr軸座標系における3次元ベクトル;右手系ローカル加速度ベクトル)Arをもとに、右ゲームコントローラ1460Rの姿勢を算出して右仮想バチ3Rの初期姿勢とする。同様に、左ゲームコントローラ1460Lにおいてその慣性センサ1474の3軸加速度センサ1475で計測された加速度ベクトル(Xl・Yl・Zl軸座標系における3次元ベクトル;左手系ローカル加速度ベクトル)Alをもとに、右ゲームコントローラ1460Rの姿勢を算出して右仮想バチ3Rの初期姿勢とする。
続いて、図6に示すように、座標系(Xw・Yw・Zw)で表される仮想空間を設定し、右仮想バチ3R及び左仮想バチ3Lを配置する。具体的には、予め右仮想バチ3Rについて定められた仮想空間中の初期位置Prに、算出した初期姿勢で右仮想バチ3Rを配置するとともに、予め左仮想バチ3Lについて定められた仮想空間中の初期位置Plに、算出した初期姿勢で左仮想バチ3Lを配置する。初期位置Pr,Pl間の位置関係は、例えば、指示画面W3でプレーヤ1に指示するポーズに応じて定めておくことができる。
(2)追跡処理
追跡処理では、初期設定処理後に逐次計測される慣性センサ1474からの加速度及び角速度の計測値を用い、図6中に破線で示すように、仮想空間中で右仮想バチ3Rを右ゲームコントローラ1460Rの動きに追従させるととともに左仮想バチ3Lを左ゲームコントローラ1460Lの動きに追従させて、右仮想バチ3R及び左仮想バチ3Lの現在の位置及び姿勢を算出する。
具体的には、右仮想バチ3Rの初期位置及び初期姿勢を基準にして、右ゲームコントローラ1460Rの慣性センサ1474において3軸加速度センサ1475で逐次計測される右手系ローカル加速度ベクトルArと、3軸ジャイロセンサ1476で逐次計測される角速度ベクトル(Xr・Yr・Zr軸座標系における3次元ベクトル;右手系ローカル角速度ベクトル)ωrと、をもとに仮想空間における右仮想バチ3Rの現在の位置及び姿勢を算出する。同様に、左仮想バチ3Lの初期位置及び初期姿勢を基準にして、左ゲームコントローラ1460Lの慣性センサ1474において3軸加速度センサ1475で逐次計測される左手系ローカル加速度ベクトルAlと、3軸ジャイロセンサ1476で逐次計測される角速度ベクトル(Xl・Yl・Zl軸座標系における3次元ベクトル;左手系ローカル角速度ベクトル)ωlと、をもとに仮想空間における左仮想バチ3Lの現在の位置及び姿勢を算出する。
そして、ゲーム中は、(3)追跡処理によって追跡されている右仮想バチ3R及び左仮想バチ3Lの現在の位置及び姿勢をもとに仮想空間中での右仮想バチ3Rと左仮想バチ3Lとの接触判定処理を行い、接触したと判定した場合に、(4)バチクロス動作による操作入力の有無を判定する操作入力判定処理を行う。
(3)接触判定処理
接触判定処理では、仮想空間中での右仮想バチ3R及び左仮想バチ3L同士の接触の有無を逐次判定する。本実施形態では、右仮想バチ3Rの先端部と左仮想バチ3Lの先端部との距離が所与の接触許容条件を満たす場合に仮想接触条件を満たし、右仮想バチ3R及び左仮想バチ3L同士が接触したと判定する。接触許容条件は、例えば、「当該距離が所定の距離閾値Th1以下となったこと」とすることができる。
(4)操作入力判定処理
操作入力判定処理では、接触判定処理によって右仮想バチ3Rと左仮想バチ3Lとが接触したと判定した場合に、バチクロス動作による操作入力の有無を判定する。
本実施形態では、接触判定時の右ゲームコントローラ1460Rのモーション(第1モーション)と、当該接触判定時の左ゲームコントローラのモーション(第2モーション)との組合せによって3種類のバチクロス動作が定義され、規準操作種類(それに対応する指示体の種類)の数は、図7に示すように、それらバチクロス動作の種類(第1バチクロス動作~第3バチクロス動作)、向き(上向き状態/下向き状態)、及び規模(大モーション/大モーション以外)を組み合わせた12種類とされる。すなわち、図3では1種類の指示体(白丸の指示体)24を図示したが、実際には、指示体は、12種類の規準操作種類毎に異なるデザインのものが用意され、プレーヤ1に対し、規準操作種類を識別可能に提示する。
そのため、操作入力の有無の判定に当たっては、第1モーションと第2モーションとを判定してその組合せからバチクロス動作の種類を判定するとともに、そのときの右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの向きを判定し、第1モーションの規模及び/又は前記第2モーションの規模を判定する。そして、それら判定結果に適合する規準操作種類があれば、バチクロス動作による操作入力があったと判定し、当該適合する規準操作種類を操作入力種類として判別する。
1.バチクロス動作の種類
第1のバチクロス動作は、右仮想バチ3Rと左仮想バチ3Lとを逆方向に動かすことで先端同士を打ち合わせる動作であり、「所定の判定対象期間における第1モーションと第2モーションとがともにスイング状態であること」として定義される。第2バチクロス動作は、左仮想バチ3Lは動かさずにその先端部分を右仮想バチ3Rの先端部分で打つ動作であり、「所定の判定対象期間における第1モーションがスイング状態であって、当該判定対象期間における第2モーションが不動相当状態であること」として定義される。第3バチクロス動作は、右仮想バチ3Rは動かさずにその先端部分を左仮想バチ3Lの先端部分で打つ動作であり、「所定の判定対象期間における第1モーションが不動相当状態であって、当該判定対象期間における第2モーションがスイング状態であること」として定義される。
ここで、判定対象期間は、接触判定の時点から遡って例えば所定数フレーム分の期間(10フレームでもよいし、20フレームでもよい)とすることができる。そして、第1モーションは、判定対象期間における右仮想バチ3Rの位置及び/又は姿勢の変化に基づき判定する。具体的には、判定対象期間における右仮想バチ3Rの位置変化量を算出するとともに、当該判定対象期間における右仮想バチ3Rの姿勢変化量を算出する。そして、位置変化量が所定の第1位置判定用閾値Th21以下であり、姿勢変化量が所定の第1姿勢判定用閾値Th31以下であれば、第1モーションを不動相当状態と判定する。一方、位置変化量が所定の第2位置判定用閾値Th22以上であるか、又は、姿勢変化量が所定の第2姿勢判定用閾値Th32以上の場合は、第1モーションをスイング状態と判定する。第2モーションについても、判定対象期間における左仮想バチ3Lの位置及び/又は姿勢の変化に基づいて同様に判定する。すなわち、判定対象期間における左仮想バチ3Lの位置変化量が第1位置判定用閾値Th21以下であり、姿勢変化量が第1姿勢判定用閾値Th31以下であれば、第2モーションを不動相当状態と判定する一方、位置変化量が第2位置判定用閾値Th22以上であるか、又は、姿勢変化量が第2姿勢判定用閾値Th32以上の場合は、第2モーションをスイング状態と判定する。
2.向き
上向き状態のバチクロス動作は、右仮想バチ3R及び左仮想バチ3Lがその先端を上に向けた姿勢で行われたバチクロス動作をいい、下向き状態のバチクロス動作は、右仮想バチ3R及び左仮想バチ3Lがその先端を下に向けた姿勢で行われたバチクロス動作をいう。
本実施形態では、接触判定時における右仮想バチ3R及び左仮想バチ3Lの先端方向の仰角をそれぞれ求め、求めた仰角から当該接触判定時の右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの向きが上向き状態なのか下向き状態なのかを判定する。例えば、右仮想バチ3R及び左仮想バチ3Lのそれぞれについて求めた仰角が何れも所定の上向き判定用閾値Th41(例えば0度)以上の場合に、当該バチクロス動作の向きを上向き状態と判定する。一方、右仮想バチ3R及び左仮想バチ3Lのそれぞれについて求めた俯角が何れも下向き判定用閾値Th43(例えば0度)未満の場合は、当該バチクロス動作の向きを下向き状態と判定する。なお、接触判定時における右仮想バチ3R及び左仮想バチ3Lの先端方向の俯角をそれぞれ求め、上向き状態なのか下向き状態なのかを判定する構成でもよい。例えば、右仮想バチ3R及び左仮想バチ3Lのそれぞれについて求めた俯角が何れも0度以下の場合に当該バチクロス動作の向きを上向き状態と判定し、右仮想バチ3R及び左仮想バチ3Lのそれぞれについて求めた俯角が何れも0度を超えている場合に当該バチクロス動作の向きを下向き状態と判定するのでもよい。
3.規模
規模は、スイング状態と判定された第1モーション及び/又は第2モーションの速さ又は大きさによって判定する。本実施形態では、スイング状態と判定された第1モーションに係る判定対象期間の右手系ローカル加速度ベクトルArが、所定の規模判定用閾値Th5以上となっている場合に、当該第1モーションを「大モーション」と判定する。規模判定用閾値Th5未満であれば、当該第1モーションを「普通モーション」と判定する。同様に、スイング状態と判定された第2モーションに係る判定対象期間の左手系ローカル加速度ベクトルAlが規模判定用閾値Th5以上となっている場合に、当該第2モーションを「大モーション」と判定する。そして、規模判定用閾値Th5未満であれば、当該第2モーションを「普通モーション」と判定する。なお、2段階で規模を判定する場合に限らず、例えば「大」「中」「小」の3段階で判定するとしてもよいし、4段階以上で判定してもよい。また、その判定対象期間における位置変化量や姿勢変化量をもとに、スイング状態と判定された第1モーション及び/又は第2モーションの規模を2段階以上で判定する構成としてもよい。
以上の操作入力判定処理の結果バチクロス動作による操作入力があったと判定され、操作入力種類が判別された場合には、接触判定処理により右仮想バチ3R及び左仮想バチ3L同士が接触したと判定したタイミングが操作入力タイミングとされる。そして、ゲーム中、規準タイミングの到来に応じて別途行う評価処理では、当該操作入力タイミングを用いて規準タイミングとの時間差を評価し、判別された操作入力種類が規準操作種類と一致するかを評価して、当該操作入力の4段階評価(良/可/不可/スルー)を行う。
さて、以上説明したように、本実施形態では、ゲーム中に右仮想バチ3R及び左仮想バチ3L同士の接触の有無を逐次判定し、接触判定時の右ゲームコントローラ1460R及び左ゲームコントローラ1460Lのモーションを判定してバチクロス動作の種類を特定し、当該バチクロス動作の向き及び規模を判定することで操作入力種類を判別するが、(5)所定の実行条件を満たした場合にそれら各種判定に係る判定条件を緩和する条件緩和処理を行う。
(5)条件緩和処理
図8は、条件緩和処理を説明する図であり、条件緩和処理の実行条件と、当該実行条件を満たす場合に行う判定条件の緩和内容との対応関係をテーブル形式で示している。本実施形態では、図8に示すように、例えば、ゲームの難易度、ゲーム進行状況、及び所定のアイテム(お助けアイテム)使用時の3つの実行条件のそれぞれについて、向き(上向き状態/下向き状態)の判定条件の緩和内容と、規模(大モーション/普通モーション)の判定条件の緩和内容と、接触判定の判定条件の緩和内容とが予め設定されている。
先ず、ゲームの難易度としては、例えば、プレイ曲に設定されるプレイ難易度(かんたん/ふつう/むずかしい/おに)を用いる。そして、図8の例では、プレイ曲のプレイ難易度が「かんたん」である場合に、上向き状態の判定に適用する上向き判定用閾値を、上記規定値の上向き判定用閾値Th41(0度)からTh41´(例えば-30度)に緩和するとともに、下向き状態の判定に適用する下向き判定用閾値を、上記規定値の下向き判定用閾値Th43(0度)からTh43´(例えば30度)に緩和する。
次に、ゲーム進行状況としては、例えば、「不可」又は「スルー」の評価結果の連続数を用いる。そして、図8の例では、操作入力の評価結果として「不可」又は「スルー」が所定数(例えば10回)に達した場合に、規模の判定に適用する規模判定用閾値を、上記規定値の規模判定用閾値Th5からTh5´(Th5´<Th5)に緩和する。
次に、お助けアイテムは、課金アイテムやゲームプレイ時の特典等としてプレーヤ1に付与される。そして、図8の例では、お助けアイテムの使用時に、接触判定に適用する距離閾値を、初期値として定められる距離閾値Th1からTh1´(Th1´>Th1)に緩和する。
なお、図8に示した条件緩和処理の実行条件と判定条件の緩和内容との関係は一例であって、各種実行条件と緩和対象とする閾値(距離閾値Th1/第1位置判定用閾値Th21/第1姿勢判定用閾値Th31/第2位置判定用閾値Th22/第2姿勢判定用閾値Th32/上向き判定用閾値Th41/下向き判定用閾値Th43/規模判定用閾値Th5)とは、適宜組み合わせることができる。
また、条件緩和処理の実行条件として、ゲームステージを設定してもよい。本実施形態の音楽ゲームの場合であれば、いくつかのまとまった小節区間をステージと捉え、例えば、「最初の所定数小節区間(例えば5小節区間)」を条件緩和処理の実行条件として定めることもできる。
また、条件緩和処理の実行条件は、例示した実行条件の組合せとして定めることもできる。例えば、条件緩和処理の実行条件を、「プレイ難易度が「かんたん」の場合であって、プレイ曲の最初の10小節区間」等とすることもできる。一方、判定条件の緩和内容を、「バチクロス動作の種類の特定、向きの判定、及び規模の判定のうちの一部又は全部を行わない」等とすることもできる。例えば、プレイ難易度が「かんたん」であるプレイ曲の最初の10小節区間については接触判定のみを行い、第2の評価項目については評価せずに第1の評価項目のみ評価して、規準タイミングと操作入力タイミング(接触判定のタイミング)との時間差から当該操作入力を評価するといったことも可能である。
[機能構成]
図9は、ゲーム装置1400の機能構成例を示すブロック図である。図9に示すように、ゲーム装置1400は、本体装置1401にて、操作入力部100と、処理部200と、画像表示部390と、音出力部392と、通信部394と、記憶部500とを備える。
そして、ゲームコントローラ1460(右ゲームコントローラ1460R及び左ゲームコントローラ1460L)において、操作入力部100cと、加速度角速度計測部110と、加振部396と、通信部394cと、コントローラ処理部200cと、を備える。図1の構成では、慣性センサ1474が加速度角速度計測部110に該当し、バイブレータ1463が加振部396に該当する。
操作入力部100は、各種操作を入力するための手段である。スイッチ、レバー、ダイヤル、ジョイスティック、タッチパネル、トラックパッド、タッチパッド等により実現できる。図1の構成では、タッチパネル1406がこれに該当する。
処理部200は、例えばCPUやGPU等のプロセッサや、ASIC、FPGA、ICメモリ等の電子部品によって実現され、操作入力部100や記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、ゲームコントローラ1460からの操作入力信号等に基づいて各種の演算処理を行い、ゲーム装置1400の動作を統合的に制御する。図1の構成では、制御基板1450がこれに該当する。
そして、本実施形態の処理部200は、ゲーム演算部210と、計時部280と、画像生成部290と、音生成部292と、通信制御部294とを含む。勿論、これら以外の機能部も適宜含めることができる。
ゲーム演算部210は、ゲームの進行制御に関する各種処理を行う。本実施形態では、難易度受付制御部212と、提示制御部214と、初期設定部216と、位置/姿勢追跡部218と、接触判定部220と、操作入力判定部230と、条件緩和処理部240と、評価部242と、応答出力制御部244と、を有する。
難易度受付制御部212は、ゲームプレイの開始前に、プレイするゲームの難易度(プレイ難易度)のプレーヤ1による選択入力を受け付ける制御を行う。
提示制御部214は、プレーヤ1が選択したプレイ曲の再生と同期して譜面を表示し、バチクロス動作を行う規準タイミングをプレーヤ1に提示する制御を行う。本実施形態では、譜面表示部20において基準操作種類に応じた指示体を流れ表示させ、その規準タイミングにて当該指示体を基準位置に重ならせるように制御すること(図3を参照)、がこれに該当する。
初期設定部216は、ゲームプレイの開始に先立ち初期設定処理を行う機能部であり、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの静止時において、右手系ローカル加速度ベクトルArをもとに右ゲームコントローラ1460Rの姿勢を算出して右仮想バチ3Rの初期姿勢とし、左手系ローカル加速度ベクトルAlをもとに左ゲームコントローラ1460Lの姿勢を算出して左仮想バチ3Lの初期姿勢とする。そして、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lよりも長さの長い右仮想バチ3R及び左仮想バチ3Lを、仮想空間中の各々の初期位置に、算出した初期姿勢で、それぞれ配置する。
位置/姿勢追跡部218は、初期設定部216による初期設定処理の後に追跡処理を開始する。そして、右仮想バチ3R及び左仮想バチ3Lの各々の初期位置及び初期姿勢を基準にして、所定の算出周期で右手系ローカル加速度ベクトルArと右手系ローカル角速度ベクトルωrとをもとに仮想空間中の右仮想バチ3Rの現在の位置及び姿勢を算出するとともに、左手系ローカル加速度ベクトルAlと左手系ローカル角速度ベクトルωlとをもとに仮想空間中の左仮想バチ3Lの現在の位置及び姿勢を算出する。
接触判定部220は、接触判定処理を行う機能部であり、ゲーム中、仮想空間中での右仮想バチ3Rの先端部と左仮想バチ3Lの先端部との距離を監視して、右仮想バチ3R及び左仮想バチ3L同士の接触の有無を判定する。この接触判定部220は、距離算出部222を備える。距離算出部222は、位置/姿勢追跡部218によって追跡されている右仮想バチ3R及び左仮想バチ3Lの現在の位置及び姿勢をもとに、先端部間の距離を逐次算出する。
操作入力判定部230は、操作入力判定処理を行う機能部であり、接触判定部220による右仮想バチ3R及び左仮想バチ3Lとの接触判定時に、バチクロス動作による操作入力の有無を判定してその操作入力種類を判別する。この操作入力判定部230は、モーション判定部232と、向き判定部234と、規模判定部236とを備え、規準操作種類テーブル540を参照し、各部の判定結果に適合する規準操作種類を操作入力種類として判別する。
モーション判定部232は、所定の判定対象期間における右仮想バチ3Rの位置変化量及び姿勢変化量を算出し、第1モーション(不動相当状態/スイング状態)を判定するとともに、当該判定対象期間における左仮想バチ3Lの位置変化量及び姿勢変化量を算出し、第2モーション(不動相当状態/スイング状態)を判定する。そして、規準操作種類テーブル540に従い、第1モーションと第2モーションとの組合せから、バチクロス動作の種類を特定する。
向き判定部234は、接触判定時における右仮想バチ3R及び左仮想バチ3Lの先端方向の仰角を求め、求めた仰角に基づいて、バチクロス動作の向き(上向き状態/下向き状態)を判定する。
規模判定部236は、モーション判定部232によってスイング状態と判定された第1モーション及び/又は第2モーションに係る判定対象期間の右手系ローカル加速度ベクトルAr及び/又は左手系ローカル加速度ベクトルAlをもとに、バチクロス動作の規模(大モーション/普通モーション)を判定する。
条件緩和処理部240は、条件緩和処理を行う機能部であり、判定条件緩和設定テーブル550を参照し、予め定められる実行条件を満たす場合に、対応する緩和内容に従って接触判定部220や操作入力判定部230が行う各種判定に係る判定条件を緩和する。
評価部242は、プレイ曲の譜面定義データ527に従い、規準タイミングと、接触判定部220によって判定された接触判定のタイミング(操作入力タイミング)との時間差に基づく評価(第1の評価項目)を規準タイミング毎に行う。そして、操作入力判定部230によって判別された操作入力種類が一致するか評価して(第2の評価項目)、ゲームスコアを算出・更新する。
応答出力制御部244は、接触判定部220によって右仮想バチ3Rと左仮想バチ3Lとが接触したと判定された場合に、所定の応答出力制御を行う。本実施形態では、当該接触判定時に操作入力判定部230が操作入力種類を判別し、当該接触判定のタイミングを操作入力タイミングとして評価部242が評価処理を行った場合に、応答出力制御を行う。応答出力は、例えば、音出力部392からの放音、画像表示部390への表示、加振部396の振動によって実現でき、操作入力の実感を高めることができる。本実施形態では、叩打演出音の放音と、叩打演出振動の発生とによって行う。具体的には、操作入力種類に応じて異なる叩打演出音を放音するとともに、操作入力種類に応じて異なる振動パターン又は振動の大きさの叩打演出振動を発生させる。
なお、その他にも、応答出力は、画像表示部390への表示によって行う構成も可能である。例えば、バチクロス動作による操作入力があった旨の表示制御や、操作入力種類を示す種類報知マーカの表示制御等によって応答出力制御を行う構成でもよい。或いは、評価結果に応じて放音や表示、振動等を制御するとしてもよい。
計時部280は、システムクロックを利用して現在日時やプレイ開始からの経過時間、制限時間等の計時を行う。
画像生成部290は、ゲーム画面W1(図3参照)等の各種表示画面の画像データを生成し、生成した画像データに基づく画像信号を画像表示部390へ出力する。
音生成部292は、音声データの生成、デコードをするICやソフトウェアの実行により実現され、ゲームプレイに係る音やBGM等の音声データを生成し、或いはデコードして音出力部392へ出力する。本実施形態では、プレイ曲の音楽データに基づく再生・放音制御を行うことができる。また、操作入力種類別の叩打演出音の再生・放音制御を行うことができる。
通信制御部294は、データ通信に係るデータ処理を行い、通信部394を介して外部装置とのデータのやりとりを実現する。
画像表示部390は、画像生成部290から入力された画像信号に基づいて各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1の構成では、タッチパネル1406がこれに該当する。
音出力部392は、音生成部292から入力された音声信号に基づいて放音する。図1の構成では、スピーカ1410がこれに該当する。
通信部394は、通信回線と接続して通信を実現する。通信回線は、データ通信が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。よって、通信部394は、例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現できる。図1の構成では、通信モジュール1453がこれに該当する。
記憶部500には、ゲーム装置1400を動作させ、ゲーム装置1400が備える種々の機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め格納され、或いは処理の都度一時的に格納される。例えば、RAMやROM等のICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVD等の光学ディスク等によって実現できる。図1の構成では、制御基板1450が搭載するICメモリ1452がこれに該当する。
図10は、記憶部500が記憶するプログラムやデータの例を示す図である。記憶部500は、ゲームプログラム502と、ゲーム初期設定データ510と、を予め記憶する。また、記憶部500は、逐次生成・管理されるデータとして、プレイデータ700と、現在日時800と、を記憶する。その他、タイマーや、カウンタ、各種フラグ等の情報を適宜記憶できる。
ゲームプログラム502は、処理部200をゲーム演算部210として機能させるためのプログラムである。なお、画像生成部290や音生成部292、通信制御部294として機能させるためのプログラムも適宜これに含めることができる。
ゲーム初期設定データ510は、ゲームを実行させるための各種初期設定データを格納する。本実施形態では、楽曲定義データ520と、初期判定条件設定530と、規準操作種類テーブル540と、判定条件緩和設定テーブル550と、を含む。勿論、これら以外のデータも適宜含めることができる。
楽曲定義データ520は、ゲームでプレイ可能な楽曲毎に用意され、当該楽曲に関する各種初期設定データを格納する。例えば、1つの楽曲定義データ520は、固有の楽曲名521と、難易度データ523と、楽曲音声データ525と、譜面表示部20(図3参照)を表示するための譜面定義データ527と、を含む。勿論、これら以外のデータも適宜含めることができる。
難易度データ523には、その楽曲のプレイ難易度(かんたん/ふつう/むずかしい/おに)が設定される。なお、楽曲毎に、プレイ難易度別の譜面定義データ527が用意される構成でもよい。
譜面定義データ527は、譜面表示部20にて各種指示体を流れ表示するための基礎データである。データ構成は適宜設定可能であるが、規準タイミング(例えば、プレイ開始からの経過時間で記述)と規準操作種類(例えば、譜面表示部20で流れ表示する指示体の種類)の組み合わせを時系列に格納する構成が考えられる。
初期判定条件設定530は、右仮想バチ3Rと左仮想バチ3Lとの接触判定や、接触判定時のモーション判定、モーション判定の結果特定されたバチクロス動作の向きの判定、当該バチクロス動作の規模の判定に用いる閾値を格納する。本実施形態では、距離閾値Th1:531、第1位置判定用閾値Th21:532と、第2位置判定用閾値Th22:533と、第1姿勢判定用閾値Th31:534と、第2姿勢判定用閾値Th32:535と、上向き判定用閾値Th41:536と、下向き判定用閾値Th43:537と、規模判定用閾値Th5:538と、を含む。
規準操作種類テーブル540は、規準操作種類番号と対応付けて、そのバチクロス動作の種類、向き、及び規模の組合せを定めたデータテーブルである(図7を参照)。
判定条件緩和設定テーブル550は、条件緩和処理の実行条件と対応付けて、判定条件の緩和内容(つまり、対応する実行条件を満たした際に行う条件緩和処理の内容)を定めたデータテーブルである(図8を参照)。
プレイデータ700は、ゲームプレイ毎に用意され、当該プレイを実現し、ゲーム進行状況等を記述する各種データを格納する。本実施形態では、例えば図11に示すように、プレイ開始前にプレーヤ1が選択した楽曲を示すプレイ曲名701と、プレイ開始からの経過時間703と、適用判定条件設定710と、譜面表示部20の表示を制御するための譜面表示制御データ720と、右ゲームコントローラ1460R及び左ゲームコントローラ1460L別に用意される計測履歴データ730と、右仮想バチ3R及び左仮想バチ3L別に用意される仮想バチ追跡データ740と、入力判定履歴データ750と、プレイ成績データ760と、を含む。勿論、これら以外のデータも適宜含めることができる。
適用判定条件設定710は、適用距離閾値711と、適用第1位置判定用閾値712と、適用第2位置判定用閾値713と、適用第1姿勢判定用閾値714と、適用第2姿勢判定用閾値715と、適用上向き判定用閾値716と、適用下向き判定用閾値717と、適用規模判定用閾値718とを含み、ゲームプレイの開始に先立ち、条件緩和処理部240によって初期判定条件設定530の対応する各値が設定されて初期化される。そして、条件緩和処理部240は、判定条件緩和設定テーブル550に設定される条件緩和処理の実行条件を満たす間は、対応する判定条件の緩和内容に従って該当する適用閾値を書き換えて適用判定条件設定710を更新する。
計測履歴データ730は、右ゲームコントローラ1460R及び左ゲームコントローラ1460L別に用意され、当該コントローラで計測された計測値及びそこから演算される操作入力判定やその種類判別等に使用される値を時系列に格納する。本実施形態では、3軸分の加速度計測値や、3軸分の角速度計測値を時系列に格納する。一方、仮想バチ追跡データ740は、右仮想バチ3R及び左仮想バチ3L別に用意され、当該仮想バチについて所定の算出周期のたびに逐次算出される現在の位置及び姿勢を時系列に格納する。
入力判定履歴データ750は、入力タイミング及び操作入力の種類判別の都度に作成されて、判定及び判別の結果を示す情報を格納する。例えば、1つの入力判定履歴データ750は、操作入力タイミング(右仮想バチ3Rと左仮想バチ3Lとの接触判定のタイミング)と、判別された操作入力種類と、を格納する。勿論、これら以外のデータも適宜格納することができる。例えば、操作入力の判定及び操作入力種類の判別に際して接触判定部220や操作入力判定部230が行う各種判定結果の情報等も適宜含めることができる。
[処理の流れ]
図12は、本実施形態のゲーム装置1400における処理の流れを説明するためのフローチャートである。ここで説明する処理は、処理部200がゲームプログラム502を読み出して実行することによって実現される。
先ず、ゲームコントローラ1460毎の計測値(加速度及び角速度)の記録を開始する(ステップS1)。ここでの処理により、計測履歴データ730の記録が開始される。
次に、初期設定部216が、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを手に持ち所定のポーズで静止するようプレーヤ1に指示する指示画面W3(図5を参照)を画像表示部390に表示制御する(ステップS3)。そして、当該静止時の右手系ローカル加速度ベクトルAr及び左手系ローカル加速度ベクトルAlをもとに右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの姿勢を算出し、右仮想バチ3R及び左仮想バチ3Lの初期姿勢とする(ステップS5)。その後、初期設定部216は、仮想空間中の予め定められた初期位置に、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lよりも長さの長い右仮想バチ3R及び左仮想バチ3Lを、ステップS5で算出した初期姿勢で配置する(ステップS7)。
次に、位置/姿勢追跡部218が、追跡処理を開始する(ステップS8)。追跡処理では、右仮想バチ3R及び左仮想バチ3Lの現在の位置及び姿勢の算出を、所定の算出周期で繰り返す。算出結果(仮想バチ3R,3L毎の位置及び姿勢)の履歴は、仮想バチ追跡データ740に記録される。
次に、条件緩和処理部240が、条件緩和処理を開始する(ステップS9)。条件緩和処理では、条件緩和処理部240は、初期判定条件設定530を適用判定条件設定710にコピーして初期化するとともに、判定条件緩和設定テーブル550に設定されている実行条件の充足を判定・監視する。そして、実行条件を満たす間は、対応する判定条件の緩和内容該当する適用閾値を書き換えて適用判定条件設定710を更新する。
そして、操作入力の判定及び操作入力種類の判別に係る処理を開始する(ステップS11)。図13は、ここで開始される処理の流れを示すフローチャートである。図13に示すように、先ず、接触判定部220が、周期的な接触判定処理の実行を開始する(ステップS211)。具体的には、接触判定処理では先ず、距離算出部222が、所定の算出周期で仮想空間中の右仮想バチ3R及び左仮想バチ3Lの先端部間の距離を算出する。そして、接触判定部220は、当該先端部間の距離が適用距離閾値711以下となった場合に、右仮想バチ3Rと左仮想バチ3Lとが接触したと判定する。
そして、ステップS211で開始した接触判定処理にて右仮想バチ3Rと左仮想バチ3Lとが接触したと判定された場合は(ステップS213:YES)、当該接触判定の都度ステップS215以降の処理に移行して、操作入力判定部230が操作入力判定処理を行う。
操作入力判定処理では、先ず、モーション判定部232が、適用第1位置判定用閾値712及び適用第1姿勢判定用閾値714を用いて接触判定時における第1モーションが不動相当状態か否かを判定し、不動相当状態でない場合は、適用第2位置判定用閾値713及び適用第2姿勢判定用閾値715を用いてスイング状態か否かを判定する(ステップS215)。また、適用第1位置判定用閾値712及び適用第1姿勢判定用閾値714を用いて第2モーションが不動相当状態か否かを判定し、不動相当状態でない場合は、適用第2位置判定用閾値713及び適用第2姿勢判定用閾値715を用いてスイング状態か否かを判定する(ステップS217)。そして、規準操作種類テーブル540を参照し、第1モーション(不動相当状態/スイング状態)と第2モーション(不動相当状態/スイング状態)との組合せに該当するバチクロス動作の種類を特定する(ステップS219)。
続いて、向き判定部234が、適用上向き判定用閾値716及び適用下向き判定用閾値717を用いて、接触判定時における右仮想バチ3R及び左仮想バチ3Lの姿勢が上向き状態なのか下向き状態なのかを判定する(ステップS221)。
続いて、規模判定部236が、スイング状態と判定された第1モーション及び/又は第2モーションについて、その判定対象期間における右手系ローカル加速度ベクトルAr及び/又は左手系ローカル加速度ベクトルAlが適用規模判定用閾値718以上か否かを判定する。そして、適用規模判定用閾値718以上となっている場合は「大モーション」と判定し、適用規模判定用閾値718未満であれば「普通モーション」と判定する(ステップS223)。
そして、操作入力判定部230は、規準操作種類テーブル540を参照し、ステップS219で特定した種類、ステップS221で判定した向き、及びステップS223で判定した規模の組合せに適合する規準操作種類があればバチクロス動作による操作入力があったと判定し、当該適合する規準操作種類を操作入力種類として判別する(ステップS225)。その後は、ゲームプレイ終了と判定されるまでの間(ステップS227:NO)、ステップS213に戻って上記した処理を繰り返す。
図11に戻り、以上説明した操作入力の判定及び操作入力種類の判別に係る処理を開始したならば、プレイ難易度やプレイ曲の各選択操作を受け付け(ステップS13)、ゲームの進行制御を開始する(ステップS15)。ここでの処理により、プレイ曲の再生処理が開始されるとともに、当該プレイ曲の再生と同期した譜面表示処理が開始され、ゲーム画面W1(図3を参照)が画像表示部390に表示される。また、操作入力に応じた応答出力制御(例えば叩打演出音の放音や叩打演出振動の発生等)等も開始される。そして、評価部242による評価処理が開始され、バチクロス動作による操作入力があった場合に当該操作入力が評価される。
すでに、ステップS11にて操作入力の判定及び操作入力種類の判別に係る処理が開始されており、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lによる操作入力の準備が整っているので、プレーヤ1は、プレイ曲を聴きつつ、ゲーム画面W1の譜面表示部20を見ながら、提示された規準タイミングで規準操作種類に合致するようにゲームコントローラ1460で操作入力して、音楽ゲームをプレイすることができる。
そして、ゲームプレイが終了したならば(ステップS17)、プレイ成績の表示を行って(ステップS19)、一連の処理を終了する。
以上説明したように、本実施形態によれば、慣性センサ(加速度センサや角速度センサ)を搭載したゲームコントローラを有するゲーム装置において、当該ゲームコントローラを空中で振る動作をもって仮想的な操作物を打ち合わせる操作入力を判定するゲームを実行する際に、慣性センサによる計測値を用いて当該操作入力を適切に判定することができる。
[変形例]
なお、本発明を適用可能な形態は上記した実施形態に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
例えば、上記実施形態では、スタンドアローンで実行可能なゲームを例に挙げて説明したがこれに限らない。上記実施形態のゲームコントローラ1460と同様に3軸加速度センサ1475と3軸ジャイロセンサ1476とをコントローラ部に備えたコンピュータをプレーヤ端末として使用し、ゲームサーバにアクセスしてプレイするオンラインゲームとして実現する形態も可能である。その場合、上記実施形態におけるゲーム演算部210を、ゲームサーバにて実現すればよい。
また、ゲームコントローラ1460と、これに搭載されるセンサの計測軸との相対関係は、図2の例に限定されるものではなく、適宜変更可能である。
また、上記実施形態では音楽ゲームを例示したが、その他のジャンルのゲームにおいても同様に適用することができる。
1400…ゲーム装置
1401…本体装置
100…操作入力部
200…処理部
210…ゲーム演算部
212…難易度受付制御部
214…提示制御部
216…初期設定部
218…位置/姿勢追跡部
220…接触判定部
222…距離算出部
230…操作入力判定部
232…モーション判定部
234…向き判定部
236…規模判定部
240…条件緩和処理部
242…評価部
244…応答出力制御部
280…計時部
290…画像生成部
292…音生成部
294…通信制御部
390…画像表示部
392…音出力部
394…通信部
500…記憶部
502…ゲームプログラム
510…ゲーム初期設定データ
520…楽曲定義データ
530…初期判定条件設定
540…規準操作種類テーブル
550…判定条件緩和設定テーブル
700…プレイデータ
710…適用判定条件設定
720…譜面表示制御データ
730…計測履歴データ
740…仮想バチ追跡データ
750…入力判定履歴データ
1460R…右ゲームコントローラ
1460L…左ゲームコントローラ
100c…操作入力部
110…加速度角速度計測部
396…加振部
394c…通信部
200c…コントローラ処理部
3R…右仮想バチ
3L…左仮想バチ
1…プレーヤ

Claims (16)

  1. コンピュータに所定のゲームを実行させるためのプログラムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段、
    として前記コンピュータを機能させ
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段として前記コンピュータを更に機能させ、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定するとともに、1)前記第1コントローラ及び前記第2コントローラの何れか一方が不動相当状態、他方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、2)前記第1コントローラ及び前記第2コントローラの両方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、
    プログラム。
  2. 前記仮想接触判定手段は、前記ゲームコントローラより長い前記仮想オブジェクトが前記推測位置に前記推測姿勢で位置すると仮定し、当該仮想オブジェクト同士が仮想的に接触したか否かを判定する、
    請求項1に記載のプログラム。
  3. 前記仮想接触判定手段は、前記仮想オブジェクト同士の距離が所与の接触許容条件を満たす場合に接触したと判定する、
    請求項1又は2に記載のプログラム。
  4. 前記操作入力判定手段は、
    前記第1コントローラ及び前記第2コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
    前記第1コントローラ及び前記第2コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、
    を少なくとも判別して判定する、
    請求項1~3の何れか一項に記載のプログラム。
  5. コンピュータに所定のゲームを実行させるためのプログラムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段、
    として前記コンピュータを機能させ
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段として前記コンピュータを更に機能させ、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定するとともに、1)前記第1コントローラ及び前記第2コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、2)前記第1コントローラ及び前記第2コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、
    プログラム。
  6. 前記モーション判定手段は、モーションの速さ又は大きさであるモーションの規模を含めてモーションを判定し、
    前記操作入力判定手段は、前記第1モーションの規模及び/又は前記第2モーションの規模に基づく前記操作入力種類、
    を少なくとも判別して判定する、
    請求項の何れか一項に記載のプログラム。
  7. 操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段、
    前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段、
    として前記コンピュータを機能させるための請求項の何れか一項に記載のプログラム。
  8. コンピュータに所定のゲームを実行させるためのプログラムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段、
    として前記コンピュータを機能させ
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段として前記コンピュータを更に機能させ、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定し、
    更に、
    操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段、
    前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段、
    として前記コンピュータを更に機能させるためのプログラム。
  9. 前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、
    前記提示手段により提示された操作入力種類の前記判定条件を緩和する条件緩和手段、
    として前記コンピュータを機能させるための請求項7又は8に記載のプログラム。
  10. 前記操作入力判定手段により判定される前記操作入力種類毎に判定条件が定められており、
    前記ゲームの難易度、ゲームステージ、及びゲーム進行状況のうちの何れかに基づいて、前記判定条件を変更する判定条件変更手段、
    として前記コンピュータを機能させるための請求項7又は8に記載のプログラム。
  11. 前記仮想接触判定手段により接触したと判定された場合に所定の応答出力制御を行う応答出力制御手段、
    として前記コンピュータを機能させるための請求項1~10の何れか一項に記載のプログラム。
  12. 前記仮想接触判定手段により接触したと判定された場合に前記操作入力種類に応じた音を出力することで所定の応答出力制御を行う応答出力制御手段、
    として前記コンピュータを機能させるための請求項~10の何れか一項に記載のプログラム。
  13. 前記ゲームコントローラには、バイブレータが内蔵されており、
    前記応答出力制御手段は、前記バイブレータを振動させることで前記応答出力制御を行う、
    請求項11又は12に記載のプログラム。
  14. 所定のゲームを実行するコンピュータシステムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、
    を備え
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段を更に備え、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定するとともに、1)前記第1コントローラ及び前記第2コントローラの何れか一方が不動相当状態、他方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、2)前記第1コントローラ及び前記第2コントローラの両方がスイング状態のときに前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、
    コンピュータシステム。
  15. 所定のゲームを実行するコンピュータシステムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、
    を備え
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段を更に備え、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定するとともに、1)前記第1コントローラ及び前記第2コントローラが上向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、2)前記第1コントローラ及び前記第2コントローラが下向きの状態で前記仮想接触判定手段により接触したと判定された場合の前記操作入力種類と、を少なくとも判別して判定する、
    コンピュータシステム。
  16. 所定のゲームを実行するコンピュータシステムであって、
    慣性センサを内蔵した複数のゲームコントローラの前記慣性センサの計測値に基づいて各ゲームコントローラの実空間中の推測位置及び推測姿勢を推測する推測手段と、
    各ゲームコントローラの前記推測位置及び前記推測姿勢に基づいて、前記各ゲームコントローラに対応する仮想オブジェクト同士の仮想的な接触の有無を判定する仮想接触判定手段と、
    前記仮想接触判定手段の判定結果に基づいてプレーヤの操作入力を判定する操作入力判定手段と、
    を備え
    前記複数のゲームコントローラには、第1コントローラと第2コントローラとが少なくとも含まれ、
    前記第1コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第1コントローラの第1モーションを判定し、前記第2コントローラの前記推測位置及び前記推測姿勢に基づいて、前記第2コントローラの第2モーションを判定するモーション判定手段を更に備え、
    前記操作入力判定手段は、前記仮想接触判定手段により接触したと判定されたときの前記第1モーション及び前記第2モーションに基づいて、操作入力された操作入力種類を判定し、
    更に、
    操作入力すべき前記操作入力種類を前記プレーヤに提示する提示手段と、
    前記提示された操作入力種類が、前記操作入力判定手段により操作入力されたと判定されたか否かに基づいて前記プレーヤの操作入力を評価する評価手段と、
    を備えたコンピュータシステム。
JP2018052872A 2018-03-20 2018-03-20 プログラム及びコンピュータシステム Active JP7137944B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018052872A JP7137944B2 (ja) 2018-03-20 2018-03-20 プログラム及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018052872A JP7137944B2 (ja) 2018-03-20 2018-03-20 プログラム及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2019162355A JP2019162355A (ja) 2019-09-26
JP7137944B2 true JP7137944B2 (ja) 2022-09-15

Family

ID=68064438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018052872A Active JP7137944B2 (ja) 2018-03-20 2018-03-20 プログラム及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP7137944B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019161312A1 (en) * 2018-02-15 2019-08-22 Magic Leap, Inc. Mixed reality musical instrument

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010000257A (ja) 2008-06-20 2010-01-07 Namco Bandai Games Inc ゲームコントローラケース、ゲームコントローラケースセット、プログラム、及び情報記憶媒体
CN103513421A (zh) 2012-06-29 2014-01-15 索尼电脑娱乐公司 影像处理装置、影像处理方法及影像处理***
JP2015210350A (ja) 2014-04-25 2015-11-24 カシオ計算機株式会社 演奏装置、演奏方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010000257A (ja) 2008-06-20 2010-01-07 Namco Bandai Games Inc ゲームコントローラケース、ゲームコントローラケースセット、プログラム、及び情報記憶媒体
CN103513421A (zh) 2012-06-29 2014-01-15 索尼电脑娱乐公司 影像处理装置、影像处理方法及影像处理***
JP2015210350A (ja) 2014-04-25 2015-11-24 カシオ計算機株式会社 演奏装置、演奏方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Room of accyu,Wii Sports Resort : チャンバラ「試合」。[online],2009年06月28日,URL:<https://blog.goo.ne.jp/accyu0125/e/94efb163432e1f4c9049b4d5a8f58ece>,[令和4年3月11日検索日]

Also Published As

Publication number Publication date
JP2019162355A (ja) 2019-09-26

Similar Documents

Publication Publication Date Title
US11260286B2 (en) Computer device and evaluation control method
US10311849B2 (en) Interactive instruments and other striking objects
JP5325771B2 (ja) 加速度計データに基づいて、振りの衝撃の時期および/または振りの強度を検出するシステム、方法、装置、およびプログラム
US11253776B2 (en) Computer device and evaluation control method
US20090318227A1 (en) Game controller case and sound output control method
JP2008136694A (ja) プログラム、情報記憶媒体及びゲーム装置
EP2228108A2 (en) Operation tool, operation input evaluation method, storage medium, and game device.
US10758819B2 (en) Game system, non-transitory storage medium having stored therein game program, information processing apparatus, and game control method
JP5113775B2 (ja) ゲーム装置、操作評価方法、および、プログラム
JP7137944B2 (ja) プログラム及びコンピュータシステム
JP2001232060A (ja) ゲーム装置および情報記憶媒体
JP2019170964A (ja) プログラム及びゲーム装置
KR20180081904A (ko) 혼합 현실 기기를 이용한 체험형 리듬 액션 아케이드 게임 시스템 및 그 방법
JP5532374B2 (ja) ゲーム制御プログラム
JP5532375B2 (ja) ゲーム制御プログラム、情報記憶媒体
JP2001070649A (ja) ゲーム装置、これに使用する入力手段、及び記憶媒体
JP7425813B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム
EP4223375A1 (en) Information processing system, information processing program, information processing apparatus, and information processing method
JP2012065833A (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP6396020B2 (ja) プログラム及びゲーム装置
KR20060012948A (ko) 레이저를 이용한 게임기의 제어방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R150 Certificate of patent or registration of utility model

Ref document number: 7137944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150