JP2019170964A - プログラム及びゲーム装置 - Google Patents

プログラム及びゲーム装置 Download PDF

Info

Publication number
JP2019170964A
JP2019170964A JP2018066220A JP2018066220A JP2019170964A JP 2019170964 A JP2019170964 A JP 2019170964A JP 2018066220 A JP2018066220 A JP 2018066220A JP 2018066220 A JP2018066220 A JP 2018066220A JP 2019170964 A JP2019170964 A JP 2019170964A
Authority
JP
Japan
Prior art keywords
input
motion
game
display
input motion
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.)
Pending
Application number
JP2018066220A
Other languages
English (en)
Inventor
丈晴 耒嶋
Takeharu Kijima
丈晴 耒嶋
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.)
Bandai Namco Entertainment Inc
Original Assignee
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 Bandai Namco Entertainment Inc filed Critical Bandai Namco Entertainment Inc
Priority to JP2018066220A priority Critical patent/JP2019170964A/ja
Publication of JP2019170964A publication Critical patent/JP2019170964A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】プレーヤに規準の動作(規準モーション)に適合する操作入力を行わせるゲームにおいて、新たな興趣を追加する技術を提供すること。【解決手段】ゲーム装置1400は、プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、プレーヤが操作入力を行った入力タイミングと規準タイミングとの時間差及び操作入力として行った入力モーションと規準モーションとの異同を用いて操作入力を評価するゲームを実行する。その際、記録処理部226は、第1のゲームプレイにおいて入力モーションに係る入力モーションデータを記録する。そして、ゴースト表示制御部228は、第1のゲームプレイの後の第2のゲームプレイでの規準モーション及び基準タイミングの提示に際し、入力モーションデータを用いて第1のゲームプレイ時の入力モーションのモーション内容を示す表示体を表示制御する。【選択図】図19

Description

本発明は、コンピュータに所定のゲームを実行させるためのプログラム等に関する。
例えば、音楽ゲームや演奏ゲーム、リズムゲーム等と呼ばれるジャンルのゲーム(以下包括して「音楽ゲーム」と言う)は、再生される音楽のリズム等に合わせた所定のタイミング(目標とするべき規準タイミング)で、如何に正確に指示された種類の操作(プレーヤに求められている操作入力)を行うかを楽しむタイミングゲームの代表例である。プレーヤは、自身が選んだ好みの楽曲をBGMとして、リズムに合わせた操作入力を楽しむことができるので、1人でプレイするシングルプレイは勿論のこと、複数のプレーヤが参加して協力或いは対戦するマルチプレイでも人気である。
そして、音楽ゲームの興趣を高めるための様々な技術が提案されてきた。例えば、特許文献1には、演奏入力タイミング(規準タイミング)の表示に並行して、そのゲームで最高スコアを出したプレーヤの操作入力のタイミングを示すゴースト標識を表示する技術が開示されている。
また、一方で、据置型家庭用ゲーム装置や携帯型ゲーム装置等に付属する汎用のゲームコントローラには加速度センサやジャイロセンサが搭載されており、ゲームコントローラを振る動作をそれらで計測して操作入力に用いている。例えば、特許文献2では、加速度値の増減方向が反転したタイミングにおける加速度の差に着目することで、ゲームコントローラを空中で振る操作と、ゲームコントローラに衝撃を与える操作と、を識別する技術が開示されている。
特開2004−201813号公報 特開2008−36167号公報
上記した特許文献2の技術のようにプレーヤの動作をもって操作入力とみなすゲーム、例えば、プレーヤに規準タイミングとともに規準の動作(規準モーション)を提示して当該規準モーションを操作入力として行わせるゲームでは、ボタン操作によって操作入力を行う場合等と異なり、プレーヤが実際に操作入力として行った入力モーションのモーション内容は、同じ規準モーションに対する操作入力であっても様々である。例えば、モーションの大小の他、プレーヤの癖による違いや、プレーヤが意図的に変わった動きをする場合も考えられる。しかし、特許文献1の技術では、過去にゲームをプレイしたプレーヤの操作入力のタイミングを表示することしかできない。
そこで、本発明は、プレーヤに規準の動作(規準モーション)に適合する操作入力を行わせるゲームにおいて、新たな興趣を追加する技術の提供を目的とする。
上記課題を解決するための第1の発明は、プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、前記プレーヤが前記操作入力を行った入力タイミングと前記規準タイミングとの時間差及び前記操作入力として行った入力モーションと前記規準モーションとの異同を用いて前記操作入力を評価するゲームをコンピュータに実行させるためのプログラム(例えば、図20のゲームプログラム502)であって、第1のゲームプレイにおいて前記入力モーションに係る入力モーションデータを記録する記録手段(例えば、図19の記録処理部226)、前記第1のゲームプレイの後の第2のゲームプレイの前記提示に際し、前記入力モーションデータを用いて、前記第1のゲームプレイ時の入力モーションのモーション内容を示す表示体を表示制御する入力モーション表示制御手段(例えば、図19のゴースト表示制御部228)、を前記コンピュータに実行させるためのプログラムである。
また、他の発明として、プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、前記プレーヤが前記操作入力を行った入力タイミングと前記規準タイミングとの時間差及び前記操作入力として行った入力モーションと前記規準モーションとの異同を用いて前記操作入力を評価するゲームを実行するゲーム装置(例えば、図1のゲーム装置1400)であって、第1のゲームプレイにおいて前記入力モーションに係る入力モーションデータを記録する記録手段と、前記第1のゲームプレイの後の第2のゲームプレイの前記提示に際し、前記入力モーションデータを用いて、前記第1のゲームプレイ時の入力モーションのモーション内容を示す表示体を表示制御する入力モーション表示制御手段と、を備えたゲーム装置を構成してもよい。
第1の発明等によれば、第1のゲームプレイにおいてプレーヤが操作入力として行った入力モーションに係る入力モーションデータを記録しておき、第1のゲームプレイの後の第2のゲームプレイの際、プレーヤに、規準モーション及び規準タイミングの提示と併せて、第1のゲームプレイ時の入力モーションのモーション内容を提示することができる。これによれば、プレーヤは、過去のゲームプレイでの入力モーションのモーション内容を見ながらゲームをプレイすることができ、新たな興趣をゲームに追加できる。第1のゲームプレイを行ったプレーヤと、第2のゲームプレイを行うプレーヤが異なるプレーヤであっても良いことは勿論である。
また、第2の発明は、前記入力モーションは、前記プレーヤがコントローラを手に持ち振って動かすモーションであり、前記入力モーションを分析する分析手段(例えば、図19の入力モーション種類判別部222,記録処理部226)として前記コンピュータを更に機能させ、前記入力モーション表示制御手段は、前記分析手段の分析結果に基づいて、前記入力モーションのモーション内容を示す表示体を表示制御する、第1の発明のプログラムである。
第2の発明によれば、第1のゲームプレイでプレーヤがコントローラを手に持ち振って動かして行ったモーションを分析し、その分析結果に基づいて、入力モーションのモーション内容を示す表示体を表示制御することができる。
第3の発明は、前記分析手段は、前記規準モーションとの異同評価のための分析と前記異同評価より詳細な挙動判定の分析とを行い、前記記録手段は、少なくとも前記挙動判定の分析結果を前記入力モーションデータに含めて記録する、第2の発明のプログラムである。
第3の発明によれば、モーションを分析した挙動判定の分析結果を、入力モーションデータに含めて記録しておくことができる。
また、第4の発明は、前記入力モーション表示制御手段は、前記分析手段の分析結果に基づいて、前記第1のゲームプレイ時の入力モーションの挙動の大小を識別可能に前記表示体を表示制御する、第2又は第3の発明のプログラムである。
第4の発明によれば、第2のゲームプレイの際、第1のゲームプレイでの入力モーションの挙動の大小を、モーション内容として提示することができる。
また、第5の発明は、前記コントローラには、前記プレーヤが左右それぞれの手で持つための第1コントローラ(例えば、図1の右ゲームコントローラ1460R)及び第2コントローラ(例えば、図1の左ゲームコントローラ1460L)があり、前記分析手段は、前記第1コントローラ及び前記第2コントローラそれぞれの前記計測値に基づいて、前記第1コントローラ及び前記第2コントローラそれぞれの前記挙動判定の分析を行い、前記記録手段は、前記第1コントローラ及び前記第2コントローラそれぞれの前記挙動判定の分析結果を前記入力モーションデータに含めて記録し、前記入力モーション表示制御手段は、前記入力モーションデータに基づいて、前記第1コントローラ及び前記第2コントローラそれぞれの挙動を識別可能に前記表示体を表示制御する、第3の発明のプログラムである。
第5の発明によれば、プレーヤが左右それぞれの手で持つための第1コントローラ及び第2コントローラそれぞれについて挙動判定の分析を行い、第2のゲームプレイの際、第1コントローラ及び第2コントローラそれぞれの挙動を、モーション内容として提示することができる。
また、第6の発明は、前記規準モーションは、前記第1コントローラ及び前記第2コントローラの何れによる操作入力でも良いモーションである、第5の発明のプログラムである。
第6の発明によれば、プレーヤが操作入力に用いたゲームコントローラを区別せずに、入力タイミングと規準タイミングとの時間差及び入力モーションと規準モーションとの異同を用いた操作入力の評価が行える。
また、第7の発明は、前記ゲームは、前記プレーヤがゲームプレイを行うゲームステージとして選択可能な複数のゲームステージがあり、前記記録手段は、前記第1のゲームプレイに係る前記ゲームステージと対応付けて、前記第1のゲームプレイに係る前記入力モーションデータを記録し、前記入力モーション表示制御手段は、前記第2のゲームプレイに係る前記ゲームステージと同じゲームステージに係る前記入力モーションデータに基づいて、前記表示体を表示制御する、第1〜第6の何れかの発明のプログラムである。
第7の発明によれば、第1のゲームプレイに係る入力モーションデータをゲームステージ毎に記録し、第2のゲームプレイに係るゲームステージと同じゲームステージに係る入力モーションデータに基づき第2のゲームプレイ時のモーション内容の提示が行える。
また、第8の発明は、所定の基準位置に達するタイミングが前記規準タイミングとなるように前記規準タイミングを示す指示体を移動表示することで前記提示を行う提示手段(例えば、図19の提示制御部214)として前記コンピュータを更に機能させ、前記入力モーション表示制御手段は、前記表示体を前記指示体の移動に付随して移動表示させる、第1〜第7の何れかの発明のプログラムである。
第8の発明によれば、入力モーションのモーション内容を示す表示体を、移動表示によって規準タイミングを示す指示体の移動に付随して移動表示させることができる。
また、第9の発明は、前記入力モーション表示制御手段は、前記時間差に基づいて、前記表示体の付随対象の前記指示体に対する当該表示体の付随表示位置を可変に制御する、第8の発明のプログラムである。
第9の発明によれば、付随対象の指示体に対する表示体の付随表示位置を、入力タイミングと規準タイミングとの時間差に応じて可変に制御することができる。
また、第10の発明は、前記入力モーション表示制御手段は、前記プレーヤのプレイ状況に基づいて前記表示体を表示させるか否かを決定する、第1〜第9の何れかの発明のプログラムである。
また、第11の発明は、前記入力モーション表示制御手段は、前記ゲームの難易度に基づいて前記表示体を表示させるか否かを決定する、第1〜第10の何れかの発明のプログラムである。
第10の発明によれば、プレーヤのプレイ状況に応じて表示体の表示/非表示を決定してその表示を制御することができる。また、第11の発明によれば、ゲームの難易度に応じて表示体の表示/非表示を決定してその表示を制御することができる。
また、第12の発明は、前記表示体によって示される前記入力モーション及び前記入力タイミングを用いて前記プレーヤの前記操作入力を評価する対表示体評価手段(例えば、図19の対表示体評価部232)として前記コンピュータを機能させるための第1〜第11の何れかの発明のプログラムである。
第12の発明によれば、第1のゲームプレイにおいてプレーヤが操作入力として行った入力モーションと、その入力タイミングとを用いてプレーヤの操作入力を評価することができる。
また、第13の発明は、外部から前記入力モーションデータを取得する取得手段(例えば、図19の処理部200,通信部394)として前記コンピュータを更に機能させ、前記入力モーション表示制御手段は、前記取得された入力モーションデータを用いて、前記表示体を表示制御する手段を有する、第1〜第12の何れかの発明のプログラムである。
第13の発明によれば、外部から取得した入力モーションデータを用いて表示体を表示制御することができる。
また、第14の発明は、前記ゲームプレイのデモプレイとして、前記入力モーションデータを用いた前記表示体の表示制御を行うデモプレイ制御手段(例えば、図19の処理部200)として前記コンピュータを機能させるための第1〜第13の何れかの発明のプログラムである。
第14の発明によれば、入力モーションデータを用いたデモプレイによって、過去のゲームプレイにおける入力モーションのモーション内容を提示することができる。
ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図。 ゲームコントローラを分離した状態のゲーム装置を示す図。 ゲーム内容を説明するための図。 難易度別の時間差評価基準の一例を示す図。 規準モーション種類の一例を示す図。 単発モーションについての入力タイミング判定を説明するための概念図。 連打モーションについての入力タイミング判定を説明するための概念図。 ドンカツパターンにおける入力モーション種類判別について説明するための概念図。 カツカツパターンにおける入力モーション種類判別について説明するための概念図。 カツドンパターンにおける入力モーション種類判別について説明するための概念図。 指示画面の一例を示す図。 仮想空間に配置した右仮想バチ及び左仮想バチの追跡処理を説明する図。 ゴーストデータのデータ構成例を示す図。 ゴーストモード時のゲーム画面例を示す図。 表示体の形態例を示す図。 表示体の偏部分の形態例を示す図。 表示体の旁部分の形態例を示す図。 表示体の枠の形態例を示す図。 ゲーム装置の機能構成例を示すブロック図。 記憶部が記憶するプログラムやデータの例を示す図。 プレイデータのデータ構成例を示す図。 ゲーム装置における処理の流れを説明するためのフローチャート。 入力タイミング判定及び入力モーション種類判別に係る処理の流れを示すフローチャート。 変形例における表示体の表示/非表示の決定処理を説明する図。
以下、図面を参照して、本発明の好適な実施形態について説明する。なお、以下説明する実施形態によって本発明が限定されるものではなく、本発明を適用可能な形態が以下の実施形態に限定されるものでもない。また、図面の記載において、同一部分には同一の符号を付す。
図1は、本実施形態の携帯型のゲーム装置であって、ゲームコントローラが着脱自在なゲーム装置の構成例を示す正面図である。図2は、ゲームコントローラを分離した状態の同ゲーム装置を示す図である。
ゲーム装置1400は、携行性と使用時の利便性とを考慮してデザインされた、携帯型ゲーム装置に分類されるコンピュータである。ゲーム装置1400は、本体装置1401と、本体装置1401に着脱可能な複数のゲームコントローラ1460と、を備える。本実施形態では、第1コントローラとしての右ゲームコントローラ1460Rと、第2コントローラとしての左ゲームコントローラ1460Lの、2つのゲームコントローラ1460を備える。なお、ゲーム装置1400が備えるゲームコントローラ1460の数は2つに限らず、3つ以上備えていてもよい。
本体装置1401は、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1406と、コネクタ1407と、本体装置1401の正面側(プレーヤ1側)を撮影するカメラモジュール1408と、内蔵バッテリー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には楽曲(プレイ曲)の譜面表示を含むゲーム画面W1が表示され、スピーカ1410からは、プレイ曲の音声や操作入力に応じた叩打演出音等が出力される。プレーヤ1は、タッチパネル1406のゲーム画面W1の譜面表示を見ながら、スピーカ1410から出力(再生)されるプレイ曲のリズムに合わせて右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを空中で振ることで操作入力をして、音楽ゲームを楽しむ。
具体的には、プレーヤ1は、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを、仮想の打楽器(例えば和太鼓)の仮想の叩打用具(仮想バチ)の持ち手部分を持っているつもりで把持する。そして、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの先には(見えないけれど)長い棒状のもの(右仮想バチ3R及び左仮想バチ3Lの先端側)があり、自身の正面には(見えないけれど)仮想打楽器4があるつもりで、これを叩打するように右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを振り下ろして操作入力をする。本実施形態のゲームでは、仮想打楽器4を和太鼓とし、その鼓面がプレーヤ1の正面かつ腰高付近にプレーヤ1に向けて置かれている設定とする。
ゲーム画面W1は、画面を左右に横切る帯状の譜面表示部20と、プレイ開始からの経過時間表示部10と、楽曲名表示部12と、難易度表示部13と、を備える。譜面表示部20のデザインは適宜設定可能であるが、本実施形態では、画面左側に示される基準位置22と、基準位置22へ向けて流れ表示される指示体24(24a,24b)と、プレイ曲における小節単位の区切りを示す小節区切り線25と、評価結果表示部27と、スコア表示部28と、が含まれる。
基準位置22は、規準タイミング(目標とする操作入力のタイミング)を示すための基準となる位置を示している。本実施形態では1つの譜面表示部20に1つだけ表示されるが、複数箇所設ける構成としてもよい。
指示体24は、規準モーション(プレーヤ1に操作入力として行わせるモーションであって、その規準タイミングでなされるべき正しいモーション)の種類(規準モーション種類)別に異なるデザインで用意されている。この指示体24は、譜面表示部20の右側から出現表示され、プレイ曲の音声再生と同期して、小節区切り線25とともに基準位置22へ向けてライン状に流れるように移動表示される。そして、指示体24が基準位置22に到達したタイミングによって、当該指示体24の種類が示す規準モーション種類の操作入力をすべき(その規準モーションを操作入力として行うべき)規準タイミングであることを、プレーヤ1に提示する。
評価結果表示部27は、指示体24の移動表示による規準モーション及び規準タイミングの提示に対するプレーヤ1の操作入力評価の結果を随時表示する。操作入力評価は、例えば、指示体24の中心が基準位置22の中心線と重なるタイミングを規準タイミングとし、重なった指示体24の種類を規準モーション種類として、第1の評価項目である規準タイミングとその時の入力タイミングとの時間差と、第2の評価項目である規準モーションと入力モーションの異同と、をそれぞれ評価することで行う。規準モーション種類と、プレーヤ1が操作入力として行った入力モーションの種類(入力モーション種類)とが一致し、且つ、規準タイミングと入力タイミングとの時間差が小さい程、高評価となる。本実施形態では、例えば、規準モーション種類と入力モーション種類とが異なる場合は当該操作入力を「不可」とする。そして、規準モーション種類と入力モーション種類とが一致する場合には、規準タイミングと入力タイミングとの時間差を、当該時間差に係る基準(時間差評価基準)を用いて「良」「可」「不可」「スルー」の4段階で評価する。
スコア表示部28には、操作入力評価の結果に応じて付与されるゲームスコア(第1スコア)の累計が表示される。また、本実施形態の音楽ゲームは、プレイ開始前にプレーヤ1がプレイ難易度を選択して行う構成となっており、難易度表示部13には、当該選択したプレイ難易度(図3では「かんたん」)が表示される。選択可能なプレイ難易度は、例えば、低い方から順に「かんたん」「ふつう」「むずかしい」の3段階とされる。なお、難易度の段階数は2段階でもよいし、4段階以上としてもよい。
より詳細には、本実施形態では、例えば時間差評価基準が3段階の難易度別に用意され、プレーヤ1が選択したプレイ難易度に応じた時間差評価基準を用いて時間差が評価される。図4は、難易度別の時間差評価基準例を示す図であり、「ふつう」の時間差評価基準を上段(a)に、「かんたん」の時間差評価基準を中段(b)に、「むずかしい」の時間差評価基準を下段(c)にそれぞれ示す。
図4(a)に示すように、「ふつう」の時間差評価基準を用いる場合では、時間差評価にあたり、当該時間差の絶対値がΔT1未満であれば「良」、ΔT1以上でΔT2未満と比較的長い場合に「可」、ΔT2以上でΔT3未満と長時間差であれば「不可」と判定する。そして、当該時間差がΔTc以上の場合に「スルー(操作入力が無かった)」とする。ここで、ΔT1<ΔT2<ΔT3である。
これに対し、図4(b)に示すように、「かんたん」の時間差評価基準を用いる場合では、比較的劣等の評価とされる「不可」の判定をされ難くし、逆に比較的良い評価とされる「可」と判定され易くなるように、閾値ΔT21(ΔT3≧ΔT21>ΔT2)を適用して時間差評価基準を緩和する。すなわち、閾値ΔT21は閾値ΔT3に近い値まで近づけられており、「不可」の判定が出難くなる。
一方、図4(c)に示すように、「むずかしい」の時間差評価基準を用いる場合では、閾値ΔT2より小さいΔT22および閾値ΔT1より小さいΔT12を適用して、「良」および「可」の時間差評価基準を厳しくする。したがって、「良」や「可」の判定がされ難く、「不可」の判定がされ易くなる。
[原理]
先ず、プレーヤ1の操作入力判定の原理について説明する。本実施形態では、図5に示すように、規準モーション種類(それに対応する指示体24の種類)は2種類ある。1つが、仮想打楽器4(和太鼓)の鼓面を叩打する第1規準モーションを表す白丸の指示体(ドン)24aであり、もう1つが、鼓面フチや胴部の外周を叩打する第2規準モーションを表す網掛け四角の指示体(カツ)24bである。勿論、例示した2種類以外の規準モーションや指示体も適宜設定することができる。
そして、本実施形態の操作入力判定では、最初に入力タイミングの判定を行い、入力タイミングが判定されると、規準モーションとの異同評価のための分析として、入力モーション種類の判別を行う。その後、判定された入力タイミング及び判別された入力モーション種類を規準タイミング及び規準モーション種類と比較して、当該操作入力について上記した操作入力評価(時間差評価及び異同評価)を行う。
なお、各規準モーションは、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの何れによる操作入力でも良い(指示体24が提示する規準モーションを左右の何れの手の振り下ろしによって行っても良い)ものとする。ただし、指示体24の種類によって操作入力に用いるゲームコントローラ1460(右ゲームコントローラ1460R及び/又は左ゲームコントローラ1460L)を提示し、操作入力に用いたゲームコントローラ1460の正否を判定して操作入力評価に反映する構成としてもよい。
1.入力タイミングの判定
先ず、本実施形態における入力タイミング判定の原理について説明する。第1規準モーション(ドン)であれ、第2規準モーション(カツ)であれ、プレーヤ1が操作入力として行うモーションは、太鼓をバチで叩くが如く「振り上げ動作」と「振り下げ動作」を含み、これら2つの動作と、仮想打楽器演奏であるが故の「仮想打楽器4の鼓面と思われる振り下ろし切り位置Psで止める制動動作」の3つの動作が連続する。
そして、更に細部に着目すれば、手首の角速度を伴い手首のスナップを効かせて叩くモーションと、手首の回転は少なくほぼ固定している状態で叩くモーションとに分類できる。前者は断続的で単発的な叩打をする場合によく見られ、後者は短時間で連続的に繰り返すいわゆる連打をする場合によく見られる。よって、前者を「単発モーション」、後者を「連打モーション」と呼ぶこととする。
1−1.単発モーション
図6は、単発モーションについての入力タイミング判定を説明するための概念図である。なお、ここでは、左ゲームコントローラ1460Lを例に説明するが、右ゲームコントローラ1460Rについても、ローカル座標を左手系から右手系に読み変えることで同様に適用される。
単発モーションは、左ゲームコントローラ1460Lの姿勢変化に着目すると、当該モーションを構成する3つの動作の開始や遷移を含む。そのため、本実施形態では、3軸ジャイロセンサ1476で計測されるZl軸回りの角速度ωzの変化に基づき単発モーションを正しく識別し、適切な入力タイミングを判定する。
具体的には、先ず、3軸ジャイロセンサ1476で計測されるZ軸回りの角速度ωzの絶対値が、所定の振り上げ開始判定基準角速度値ωmを超過すると、「振り上げ動作」が開始されたと判定する。この場合の角速度ωzは、左手系座標系ではマイナス方向に回転することになるので、振り上げ開始判定基準角速度値ωmに相当する所定のマイナス基準値を下回ると振り上げ動作が開始されたと判定する構成も可能である。
次に、振り上げ動作が開始された状態で、Zl軸回りの角速度ωzが正負反転したことを検出すると、振り上げ動作から振り下げ動作に切り替わったと判定する。換言すると、振り上げ動作に続いて振り下げ動作が連続して開始された、と判定する。これを「前提判定」と呼ぶ。この前提判定があることで、例えば、手首の疲れをほぐすために手首を回したといった操作入力ではないなにげない動作を除去して誤判定を防止する。
この前提判定の後、Zl軸回りの角速度ωzの絶対値が、所定の要求勢い判定基準角速度ωfに達すると、プレーヤ1が意図的に単発モーションとして振り下ろし動作をしていると判定する。これにより、プレーヤ1が単に上げた手を疲れたから下ろす行為と、振り下げ動作とを識別する。なお、この時の角速度ωzは、左手系座標系では、プラス方向の回転なので、角速度ωzが要求勢い判定基準角速度ωfに相当するプラスの所定閾値に達すると、振り下ろし動作をしていると判定する構成とすることもできる。
そして、本実施形態では、要求勢い判定基準角速度ωfに達したタイミングにおいて、左ゲームコントローラ1460Lのバイブレータ1463で、振動を発生させる。振動強度Ampは、その時計測されている角速度ωzに比例して設定され、振り下げ動作により仮想のスティック状の叩打用具が風切りしている感じを演出する。これを「風切り演出振動」と呼ぶ。
次に、振り下げ動作中に、3軸ジャイロセンサ1476で計測されるZ軸回りの角速度ωzの絶対値の時間変化Δ|ωz|が負になると、制動動作が開始されたと判定する。角速度ωzの絶対値の時間変化が正から負になったということは、角速度ωzの絶対値が増加傾向から低減傾向に変わったことを意味する。よって、角速度ωzの絶対値のピークを判定することを意味する。換言すると、プレーヤ1が単発モーションを止める直前に出現する計測値のピークを検出することとなり、このピークを検出すると、制動動作が開始されたと判定する。そして、本実施形態では、基本的にはこの判定タイミングを単発モーションの入力タイミングとみなす。
但し、実際の左手及び左ゲームコントローラ1460Lの位置は、制動動作が開始された以降もそれまでの勢い(慣性)により、更に下方の振り下ろし位置Ps、つまりはプレーヤ1にとっての仮想打楽器4の打面或いはその縁を叩いたと想像している位置かそれよりも下方に達することとなる。
なお、本実施形態では、単発モーションの入力タイミングにおいて、左ゲームコントローラ1460Lのバイブレータ1463で、「入力演出振動」を発生させる。入力演出振動は、仮想の叩打用具が仮想打楽器4の打面或いはその縁に当たった感触の再現を狙った振動である。基本的には、入力モーション種類の判別結果に応じて異なる振動を発生させる。そして、本実施形態では、入力演出振動は、操作入力評価の結果を通知する「評価結果通知振動」を兼ねる。すなわち、当該評価結果に応じた振動強度・振動パターンで振動を発生させる。
また、上記の風切り演出振動と入力演出振動は、何れかを省略することができる。
1−2.連打モーション
図7は、連打モーションについての入力タイミング判定を説明するための概念図である。なお、ここでは、左ゲームコントローラ1460Lを例に説明するが、右ゲームコントローラ1460Rについても、ローカル座標を左手系から右手系に読み変えることで同様に適用される。
連打モーションでは、手首の位置が略一定の状態で行われるので、先の単発モーションのように姿勢変化に基づいて識別することはできない。そのため、本実施形態では、左ゲームコントローラ1460Lの3軸加速度センサ1475で計測される加速度の変化に基づき連打モーションを正しく識別し、適切な入力タイミングを判定する。
具体的には、プレーヤ1は、コントローラ左端を親指の母指球に当てた当該左端を上にした姿勢で左ゲームコントローラ1460Lを把持して操作する。そこで、3軸加速度センサ1475で計測されるXl軸方向の加速度Axが、それまでの加速度Axの平均値である平均加速度Ax_aveに所定の振り上げ開始判定係数k1を加えた閾値を超過すると、「振り上げ動作」が開始されたと判定する。
平均加速度Ax_aveは、3軸加速度センサ1475の計測回数10〜15程度分の平均値とする。計測サイクルは、採用するセンサの仕様によるが概ね4〜6msサイクル程度の比較的ゆっくりとしたサイクルを採用することも可能である。
次に、時刻tの加速度Ax@tが、1計測サイクル前の加速度Ax@t-1よりも小さくなったこと、つまりは増減傾向の反転を検出すると、振り上げ動作の終了が間近で、間もなく振り下げ動作に移行する状態にあると判定する。当該判定が、連打モーションにおける前提判定に該当する。
この前提判定の後、振り下げ動作に移行すると、Xl軸方向の加速度Axは負の値で計測されるようになる。そこで、Xl軸方向の加速度Axが、平均加速度Ax_aveに所定の確定判定基準係数k2を加えた閾値を下回ると、プレーヤ1が意図的に連打モーションとして振り下ろし動作をしていると判定する。これにより、プレーヤ1が単に上げた手を疲れたから下ろす行為と、振り下げ動作とを識別している。連打モーションにおいても、ここで「風切り演出振動」を発生させる。
次に、振り下げ動作から制動動作に移行するが、その際、3軸加速度センサ1475で計測されるXl軸方向の加速度Axは、負の値から減速するのに伴って計測値が「0」に向かって大きくなるように変化する。よって、時刻tの加速度Ax@tが1計測サイクル前の加速度Ax@t-1よりも大きくなったこと、つまりは増減傾向の反転を検出すると、制動動作が開始されたと判定する。換言すると、プレーヤ1が連打モーションを止める直前に出現する計測値のピークを検出して制動動作が開始されたと判定する。そして、本実施形態では、基本的にはこの判定タイミングを連打モーションの入力タイミングとみなす。
但し、実際の左手及び左ゲームコントローラ1460Lの位置は、制動動作が開始された以降もそれまでの勢い(慣性)により、更に下方の振り下ろし位置Ps、つまりはプレーヤ1にとっての仮想打楽器4の打面或いはその縁を叩いたと想像している位置或いはその更に下方に達することとなる。
なお、連打モーションの入力タイミングが判定された場合も、評価結果通知振動を兼ねた入力演出振動を発生させる。
また、入力タイミングの判定時には、更に満たすべき条件として、3軸全てで計測される加速度の絶対値の合計が所定値以上とする条件を追加してもよい。当該追加条件を設けることで、入力タイミングと判定されるときに、振り下げ動作中にプレーヤ1が手首を曲げてしまう癖があっても、入力タイミングを正しく判定できるようになる。
従来であれば、左ゲームコントローラ1460Lの3軸加速度センサ1475や3軸ジャイロセンサ1476による計測値が、ゲームコントローラが止まったと判断される値に達したタイミングをもって入力タイミングとしていたが、プレーヤ1の気持ちとしては「ここで仮想の被打面を叩いた」と思っているタイミングと、実際にゲームコントローラが止まるタイミングとにはズレが生じるため不具合を生じさせていた。
これに対し、本実施形態によれば、「ここで仮想の被打面を叩いた」と思っているタイミングやその近傍で開始される手の振り下げを止めるための制動を検知して、これを入力タイミングとするので、プレーヤ1の感覚にマッチした入力タイミングを判定することができる。
2.入力モーション種類の判別
第1規準モーション(ドン)と第2規準モーション(カツ)のそれぞれを手の振り下ろし方に着目して分けると、前者は縦方向に手を振り下ろす縦振り下ろしモーション、後者は、カーブさせて手を振り下ろすカーブ振り下ろしモーション、であると言える。そして、更に第2規準モーション(カツ)のモーションに着目すると、第1規準モーションに続いて第2規準モーションを行うパターン(ドンカツパターン)と、第2規準モーションを連続するパターン(カツカツパターン)とがある。また、これらとは逆に第2規準モーションに続いて第1規準モーションを行うパターン(カツドンパターン)がある。
図8は、ドンカツパターンにおける入力モーション種類の判別について説明するための概念図である。なお、ここでは、左ゲームコントローラ1460Lを例に説明するが、右ゲームコントローラ1460Rについても、ローカル座標を左手系から右手系に読み変えることで同様に適用される。
ドンカツパターンにおける左ゲームコントローラ1460Lの軌跡に着目すると、プレーヤ1は振り上げ動作において、左ゲームコントローラ1460Lを外側に振り上げる。これをプレーヤ1の正面から見ると、振り上げ動作の軌跡は上斜めに向けて描かれる。そして、手首をスナップさせながら振り下げ動作をする。
これを左ゲームコントローラ1460Lの姿勢に着目して言い換えると、振り上げ動作の終了時点ではZl軸がプレーヤ1の側を向くように横倒し(図8では左向き)となり、Yl軸が上向きとなる。そして、振り下げ動作を経ることで、Zl軸は斜め上向きを経てほぼ真上を向き、Yl軸はプレーヤ1の前方を向くように変化する。つまりは、左ゲームコントローラ1460LがXl軸回りで回転していることになる。こうした動きは、前述の第1規準モーション(ドン)のモーションでは現れない。
そこで、左ゲームコントローラ1460Lの3軸ジャイロセンサ1476で計測されるXl軸回りの角速度ωxの絶対値が、所定の第3判定基準値k3を超え、且つ角速度ωxの平均値である平均角速度ωx_aveの絶対値が、所定の第4判定基準値k4を超える場合に、第2規準モーション(カツ)が入力されたと判定する。
この時の角速度ωxは、左手系のローカル座標系においてマイナス値として計測されるので、角速度ωxが第3判定基準値k3に相当する所定のマイナス閾値に達し、且つ、平均角速度ωx_aveが第4判定基準値k4に相当するマイナスの閾値に達すると、第2規準モーション(カツ)が入力されたと判定する構成とすることも可能である。
なお、平均角速度ωx_aveは、3軸ジャイロセンサ1476の計測回数10〜15回程度分の平均値とする。計測サイクルは、採用するセンサの仕様によるが概ね4〜6msサイクル程度の比較的ゆっくりとしたサイクルを採用することも可能である。
図9は、カツカツパターンにおける入力モーション種類の判別について説明するための概念図である。なお、ここでは、左ゲームコントローラ1460Lを例に説明するが、右ゲームコントローラ1460Rについても、ローカル座標を左手系から右手系に読み変えることで同様に適用される。
カツカツパターンにおける左ゲームコントローラ1460Lの軌跡に着目すると、左ゲームコントローラ1460Lの正面方向(Zl軸の正方向)が斜め上向きから上向き姿勢のまま維持される。こうした斜め姿勢のままの斜め移動は、前述の第1規準モーション(ドン)のモーションでは現れない。
そこで、左ゲームコントローラ1460Lの3軸加速度センサ1475で計測されるXl軸方向の平均加速度Ax_aveの絶対値と、Zl軸方向の平均加速度Az_aveの絶対値との割合が、所定の第5判定基準値k5以下である場合に、第2規準モーション(カツ)が入力されたと判定する。
図10は、カツドンパターンにおける入力モーション種類の判別について説明するための概念図である。なお、ここでは、左ゲームコントローラ1460Lを例に説明するが、右ゲームコントローラ1460Rについても、ローカル座標を左手系から右手系に読み変えることで同様に適用される。
第2規準モーション(カツ)の入力開始位置は、第1規準モーション(ドン)の入力開始位置よりも外側となる。更には、第1規準モーションの入力開始位置の方が高い位置であるケースが多い。よって、カツドンパターンにおける左ゲームコントローラ1460Lの軌跡に着目すると、コントローラ正面法線方向への移動を伴うことになる。
ここで、左ゲームコントローラ1460Lの3軸加速度センサ1475で計測されるZl軸方向の平均加速度Az_aveが、所定の第6判定基準値k6を超える場合には、第1規準モーション(ドン)が入力されたと判定する。
そして、本実施形態では、これら3つのパターンによる入力モーション種類の判別がなされる以外(ドンパターン)は、入力モーション種類を全て第1規準モーション(ドン)として判別するものとする。
よって、本実施形態によれば、上記の入力タイミング判定と、こうした入力モーション種類判別とによって、プレーヤ1が仮想の被打面を叩いたと思っている感覚的な入力タイミングを適切に判定しつつ、入り乱れる複数種類の操作入力を正確に識別することができる。
さて、本実施形態のゲームでは、今回のゲームプレイ(第2のゲームプレイ;以下、「第2プレイ」と言う)における規準モーション及び規準タイミングの提示に際し、当該第2プレイ以前のゲームプレイ(第1のゲームプレイ;以下、「第1プレイ」と言う)で記録された入力モーションデータを用いてゴースト表示を行うゴーストモードが用意される。このゴーストモードを実現するため、本実施形態では、プレーヤ1がゲームをプレイするたびに当該ゲームプレイに係る入力モーションデータを記録しておく。そして、記録された入力モーションデータを用い、該当する過去のゲームプレイ(第1プレイ)にてプレーヤ1が操作入力として行った入力モーションのモーション内容を示す表示体を表示制御することで、ゴースト表示を行う。なお、第1プレイのプレーヤと第2プレイのプレーヤとは同一である必要はない。
3.入力モーションデータの記録
本実施形態では、入力モーションデータの記録にあたり、第1プレイ中、慣性センサ1474の計測値をもとに右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの実空間中の推測位置及び推測姿勢を推測する。そのための処理として、本実施形態では、(1)3次元空間として形成された仮想空間に、右ゲームコントローラ1460Rに対応する右仮想バチ3Rと、左ゲームコントローラ1460Lに対応する左仮想バチ3Lとを配置する初期設定処理と、(2)慣性センサ1474の計測値に基づいて、仮想空間中で右仮想バチ3R及び左仮想バチ3Lを右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの動きに追従させる追跡処理と、を行う。そして、上記の入力タイミング判定で入力タイミングと判定された場合に、(3)追跡処理によって追跡されている右仮想バチ3R及び左仮想バチ3Lの仮想空間中の位置及び姿勢をもとに、当該入力タイミングでの入力モーションに係る入力モーションデータを記録する記録処理を行う。
(1)初期設定処理
初期設定処理では、先ず、ゲームプレイの開始に先立ちタッチパネル1406に指示画面を表示し、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを手に持って所定のポーズを取るようプレーヤ1に指示をする。例えば、図11の指示画面W3に示すように、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを右仮想バチ3R及び左仮想バチ3Lの持ち手を握るように持ち、右仮想バチ3R及び左仮想バチ3Lを構えた状態で静止するようメッセージ40を表示してプレーヤ1に指示する。そして、その上で、静止した状態の右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの各慣性センサ1474からの加速度(重力加速度)の計測値を用いて、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの姿勢を算出する。
具体的には、右ゲームコントローラ1460Rにおいてその慣性センサ1474の3軸加速度センサ1475で計測された加速度ベクトル(Xr・Yr・Zr軸座標系における3次元ベクトル;右手系ローカル加速度ベクトル)Arをもとに、右ゲームコントローラ1460Rの姿勢を算出して右仮想バチ3Rの初期姿勢とする。同様に、左ゲームコントローラ1460Lにおいてその慣性センサ1474の3軸加速度センサ1475で計測された加速度ベクトル(Xl・Yl・Zl軸座標系における3次元ベクトル;左手系ローカル加速度ベクトル)Alをもとに、右ゲームコントローラ1460Rの姿勢を算出して右仮想バチ3Rの初期姿勢とする。
続いて、図12に示すように、座標系(Xw・Yw・Zw)で表される仮想空間を設定し、右仮想バチ3R及び左仮想バチ3Lを配置する。具体的には、予め右仮想バチ3Rについて定められた仮想空間中の初期位置Prに、算出した初期姿勢で右仮想バチ3Rを配置するとともに、予め左仮想バチ3Lについて定められた仮想空間中の初期位置Plに、算出した初期姿勢で左仮想バチ3Lを配置する。初期位置Pr,Pl間の位置関係は、例えば、指示画面W3でプレーヤ1に指示するポーズに応じて定めておくことができる。
(2)追跡処理
追跡処理では、初期設定処理後に逐次計測される慣性センサ1474からの加速度及び角速度の計測値を用い、図12中に破線で示すように、仮想空間中で右仮想バチ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)記録処理
記録処理では、入力タイミングを基準とする所定の期間をモーション入力期間とし、右ゲームコントローラ1460Rの角速度変化又は加速度変化から入力タイミングを判定した場合であればその操作入力を右手操作入力として、当該モーション入力期間に属する算出周期毎の右仮想バチ3Rの位置及び姿勢の算出結果を入力モーションデータとして記録する。左ゲームコントローラ1460Lの角速度変化又は加速度変化から入力タイミングを判定した場合であればその操作入力を左手操作入力として、当該モーション入力期間に属する算出周期毎の左仮想バチ3Lの位置及び姿勢の算出結果を入力モーションデータとして記録する。モーション入力期間は、例えば、入力タイミングと判定された時点から遡って例えば所定数フレーム分の期間(10フレームでもよいし、20フレームでもよい)とすることができる。なお、メモリ容量が許す限り、記録するフレーム数を多くすることができる。そのため、入力モーションに係る1曲の間のデータを全て記録可能な容量であれば、1曲の間の入力モーションデータを全て記録することとしてもよい。
そして、係る入力モーションデータの記録を入力タイミングと判定されるたびに行い、第1プレイの終了後、当該ゲームプレイに係るゴーストデータを生成する。その際、異同評価よりも詳細な挙動判定の分析(挙動判定分析)として、入力タイミング毎の各操作入力について入力モーションの挙動の大小判定を行う。
図13は、ゴーストデータのデータ構成例を示す図である。図13に示すように、ゴーストデータ600は、プレイ曲名602と、プレイ難易度604と、操作入力履歴610とを含む。プレイ曲名602には、終了した第1プレイのプレイ曲の楽曲名が設定され、プレイ難易度604には、当該第1プレイのプレイ難易度が設定される。
操作入力履歴610は、第1プレイ中に判定された入力タイミング611毎に、該当する操作入力に係る使用コントローラ612、入力モーションデータ613、入力モーション種類614、入力モーションパターン615及び入力モーション規模616を時系列に格納する。
使用コントローラ612は、当該操作入力で使用したゲームコントローラ1460の識別フラグ(使用コントローラ識別フラグ)を格納する。すなわち、右手操作入力であれば右ゲームコントローラ1460Rを示すフラグ情報が設定され、左手操作入力であれば左ゲームコントローラ1460Lを示すフラグ情報が設定される。
入力モーションデータ613は、第1プレイ中に当該操作入力の入力タイミングで記録された入力モーションデータを格納する。
入力モーション種類614は、当該入力タイミングにおける入力モーション種類判別で判別された入力モーション種類(ドン/カツ)を格納する。
入力モーションパターン615は、当該入力モーション種類判別によって識別される入力モーションのパターン(ドンパターン/ドンカツパターン/カツカツパターン/カツドンパターン)を格納する。
入力モーション規模616は、その入力モーションデータ613が示す入力モーションの挙動の大小(規模;大モーション/小モーション)を格納する。入力モーションの挙動の大小は、例えば、当該入力モーションの速さ又は大きさによって判定する。具体的には、入力モーションデータ613として設定されている入力モーション期間における右手系ローカル加速度ベクトルAr又は左手系ローカル加速度ベクトルAlが、所定の規模判定用閾値Th1以上となっている場合に、当該入力モーションを「大モーション」と判定する。規模判定用閾値Th1未満であれば、当該入力モーションを「小モーション」と判定する。なお、入力モーションの挙動の大小は2段階で判定する場合に限らず、例えば「大」「中」「小」の3段階で判定するとしてもよいし、4段階以上で判定してもよい。また、そのモーション入力期間における位置変化量や姿勢変化量をもとに、挙動の大小を2段階以上で判定する構成としてもよい。
4.ゴースト表示
ゴーストモードが選択されて開始されたゲームプレイ(第2プレイ)では、当該第2プレイのプレイ曲について記録されたゴーストデータ600を用い、ゴースト表示を行う。そして、本実施形態のゴーストモードでは、上記した規準モーション及び規準タイミングの提示に対する操作入力評価とは別に、対表示体評価を行う。
図14は、ゴーストモード時のゲーム画面例を示す図である。ゴーストモード時のゲーム画面W5は、図3に示したゲーム画面W1にゴースト表示部30が追加されて構成される。ゴースト表示部30は、基本的に譜面表示部20と同様にデザインされ、画面左側に示される基準位置32と、基準位置32へ向けて流れ表示される表示体34と、プレイ曲における小節単位の区切りを示す小節区切り線35と、対表示体評価結果表示部37と、対表示体スコア表示部38と、が含まれる。そして、ゴースト表示部30は、譜面表示部20とその左端(基準位置22,32同士)が揃うように、上下に並べて配置される。
基準位置32は、第2プレイ時にプレーヤ1が操作入力を行った入力タイミングを示すための基準となる位置を示している。
表示体34は、第2プレイ時の各操作入力に係る入力タイミングや、その入力モーションのモーション内容を再現するものである。具体的には先ず、表示体34は、対応する(付随対象の)指示体24の移動に付随するようにゴースト表示部30の右側から出現表示され、プレイ曲の音声再生と同期して、小節区切り線35とともに基準位置32へ向けてライン状に流れるように移動表示される。そして、表示体34が基準位置32に到達したタイミングによって、第2プレイ時の入力タイミングであることをプレーヤ1に提示する。
すなわち、付随対象の指示体24に対する表示体34の付随表示位置が、当該表示体34に係る入力タイミングと、規準タイミングとの時間差に基づき可変に制御される。よって、その入力タイミングが規準タイミングよりも先の場合は、例えば表示体34−1のように、付随対象の指示体24b−1よりも左寄りに表示されて、指示体24b−1が基準位置22に到達する前に基準位置32に到達する。逆に、その入力タイミングが規準タイミングの後の場合は、例えば表示体34−2のように、付随対象の指示体24a−2よりも右寄りに表示されて、指示体24a−2の基準位置22への到達より遅れて基準位置32に到達する。
次に、表示体34は、該当する操作入力に係る入力モーションのモーション内容に応じた態様で表示される。すなわち、図14では1種類の表示体(角丸四角の表示体)34を図示したが、実際には、表示体34は、モーション内容を示す態様によって、当該モーション内容を識別可能に提示する。
図15は、表示体34の形態例を示す図であり、右手で操作入力した場合(使用コントローラが右ゲームコントローラ1460Rの場合)の表示体34Rの一例を上段(a)に、左手で操作入力した場合(使用コントローラが左ゲームコントローラ1460Lの場合)の表示体34Lの一例を下段(b)に示している。図15に示すように、右手操作入力に係る表示体34Rと、左手操作入力に係る表示体34Lとは、何れも枠341と、枠341の内側を左右に分けた偏部分343及び旁部分345とによって構成され、偏部分343と旁部分345とが左右逆の配置とされる。そして、偏部分343は、キャラクタの手(表示体34Rであれば向かって右側の手であり、表示体34Lであれば向かって左側の手である)の動きを図案化した静止画によって、使用コントローラと、入力モーション種類と、入力モーション規模とを示す。一方、旁部分345は、矢印の種類や太さ、線種等によって、入力モーションパターンと、入力モーション規模とを示す。
図16及び図17を参照して具体的に説明する。先ず、図16に示すように、表示体34R,34Lの偏部分343のデザインは、入力モーション種類(ドン/カツ)と、モーション規模(大モーション/小モーション)との組合せによって右手操作入力用及び左手操作入力用に4種類ずつ用意され、組合せが同じ左右の偏部分343のデザインは基本的に同じで左右が反転したデザインとされる。
そして、偏部分343は、第1に、キャラクタが左右何れの側の手を上げているかによって使用コントローラを示す。右側の手を上げていれば使用コントローラは右ゲームコントローラ1460Rであり、左側の手を上げていれば左ゲームコントローラ1460Lである。第2に、偏部分343は、キャラクタのモーションによって入力モーション種類を示す。図16に向かって左側の欄の縦(上下方向)に手を振り下ろすモーションが「ドン」であり、右側の欄の斜めに手を振り下ろすモーションモーションが「カツ」である。第3に、偏部分343は、キャラクタのモーションの大きさによって入力モーション規模を示す。図16の上段の欄の動きの大きいモーションが「大モーション」であり、下段の欄の動きの小さいモーションが「小モーション」である。
次に、図17に示すように、表示体34R,34Lの旁部分345のデザインは、入力モーションパターン(ドンパターン/ドンカツパターン/カツカツパターン/カツドンパターン)と、入力モーション規模(大モーション/小モーション)との組合せによって右手操作入力用及び左手操作入力用に8種類ずつ用意される。なお、図17では、左手操作入力用の8種類について偏部分343と併せて図示しているが、右手操作入力用の旁部分345も偏部分343と同様に、組合せが同じ左手操作入力用の旁部分345と左右が反転したデザインとされる。より詳細には、旁部分345は、その矢印によって対応する入力モーションパターンに分類される入力モーションの軌跡を示し、当該矢印の太さと線種によって入力モーション挙動の大小を示している。
また、本実施形態では、図18に示すように、表示体34R,34Lの枠341は、その線種によって該当する操作入力の評価結果を示している。すなわち、枠341が(a)の2本線であれば評価結果は「良」、(b)の1本線の場合は「可」、(c)の破線の場合は「不可」又は「スルー」を示している。
図14に戻り、対表示体評価結果表示部37は、プレーヤ1の操作入力に対する対表示体評価結果を随時表示する。対表示体評価は、操作入力評価と同様の要領で行う。すなわち、例えば、表示体34の中心が基準位置32の中心線と重なるタイミング(第1プレイでの入力タイミング)と、その時の入力タイミング(第2プレイでの入力タイミング)との時間差評価を行うとともに、表示体34が示す入力モーション種類と、その時の入力モーション種類が一致するかどうかによって異同評価を行う。そして、スコア表示部38には、対表示体評価の結果に応じて付与されるゲームスコア(第2スコア)の累計が表示される。なお、異同評価は、入力モーション種類の異同だけでなく、使用コントローラや入力モーションパターン、入力モーション規模の異同についてもそれぞれ評価する構成としてよい。その場合は、各評価結果を加味して第2スコアが算出されることとなる。
[機能構成]
図19は、ゲーム装置1400の機能構成例を示すブロック図である。図19に示すように、ゲーム装置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と、入力モーション種類判別部222と、応答出力制御部224と、記録処理部226と、ゴースト表示制御部228と、評価部230と、対表示体評価部232と、を有する。
難易度受付制御部212は、ゲームプレイの開始前に、プレイするゲームの難易度(プレイ難易度)のプレーヤ1による選択入力を受け付ける制御を行う。
提示制御部214は、プレーヤ1が選択したプレイ曲の再生と同期して譜面を表示し、規準モーション及び規準タイミングをプレーヤ1に提示する制御を行う。本実施形態では、譜面表示部20において規準モーションに応じた指示体24を流れ表示させ、その規準タイミングにて当該指示体24を基準位置22に重ならせるように制御することが、これに該当する(図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は、単発モーション/連打モーションを止める直前に出現する右ゲームコントローラ1460R及び左ゲームコントローラ1460Lそれぞれの加速度角速度計測部110の計測値のピークを検出することで、入力タイミングを規準タイミング毎に判定する。本実施形態では、3軸加速度センサ1475で計測される加速度(具体的には、Xl軸やXr軸の方向の加速度)や、3軸ジャイロセンサ1476で計測される角速度(具体的には、Zl軸、Zr軸の周りの角速度、角速度)に基づき入力タイミングを判定することが、これに該当する(図6,図7を参照)。
入力モーション種類判別部222は、加速度角速度計測部110の計測値に基づいて、該当するゲームコントローラ1460によって複数種類の規準モーションのうち何れの種類の規準モーションが入力されたかを判別する。本実施形態では、第1規準モーション(ドン)と、第2規準モーション(カツ)の何れが入力されたかを判別することが、これに該当する(図8,図9,図10を参照)。
応答出力制御部224は、入力タイミング判定部220によって入力タイミングが判定され、入力モーション種類が判別された場合に、応答出力制御を行う。応答出力は、例えば、音出力部392からの放音、画像表示部390への表示、加振部396の振動によって実現でき、操作入力の実感を高めることができる。操作入力に用いたゲームコントローラ1460(使用コントローラ)のバイブレータ1463による入力演出振動(評価結果通知振動を兼ねる)の発生が、これに該当する(図6,図7を参照)。
また、応答出力制御部224は、入力タイミング判定に際して行う前提判定が肯定判定された場合の振り下げ動作時において、加振部396を振動させる。操作入力に用いたゲームコントローラ1460のバイブレータ1463による風切り演出振動の発生が、これに該当する(図6,図7を参照)。
記録処理部226は、ゲームプレイ中、入力タイミングが判定されるたびに入力モーションデータの記録処理を行い、それらの挙動判定分析を行ってゴーストデータ600を生成する。
ゴースト表示制御部228は、ゴーストモードを選択したゲームプレイの開始に先立ち、当該ゲームプレイのプレイ曲に基づいて、曲名が一致するゴーストデータ600を読み出す。該当するゴーストデータ600が複数ある場合は、プレーヤ1の選択操作を受け付ける等して何れか1つを選出する。そして、ゴースト表示部30は、選出したゴーストデータ(参照ゴーストデータ)600を用いてプレイ曲の再生と同期したゴースト表示を行い、参照ゴーストデータ600に係る過去のゲームプレイでの入力モーション及び入力タイミングをプレーヤ1に提示する制御を行う。本実施形態では、ゴースト表示部30において、入力モーションのモーション内容として使用コントローラや入力モーション種類、入力モーションパターン、入力モーション規模を示す表示体34を流れ表示させ、その入力タイミングにて当該表示体34を基準位置32に重ならせるように制御することが、これに該当する(図14を参照)。
評価部230は、プレイ曲の譜面定義データ527に従い操作入力評価を行う機能部であり、プレイ難易度に応じた時間差評価基準を用い、入力タイミング判定部220によって判定された入力タイミングと、規準タイミングとの時間差評価を規準タイミング毎に行う。そして、入力モーション種類判別部222によって判別された入力モーション種類を、規準モーション種類と比較して各モーションの異同評価を行い、第1スコアを算出・更新する。
対表示体評価部232は、参照ゴーストデータ600に従い対表示体評価を行う機能部であり、入力タイミング判定部220によって判定された入力タイミングと、参照ゴーストデータ600が示す入力タイミングとの時間差を操作入力評価と同様の要領で規準タイミング毎に評価する。そして、入力モーション種類判別部222によって判別された入力モーション種類を、参照ゴーストデータ600が示す入力モーション種類と比較して各モーションの異同評価を行い、第2スコアを算出・更新する。
計時部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がこれに該当する。
図20は、記憶部500が記憶するプログラムやデータの例を示す図である。記憶部500は、ゲームプログラム502と、ゲーム初期設定データ510と、を予め記憶する。また、記憶部500は、逐次生成・管理されるデータとして、ゴーストデータ600と、プレイデータ700と、現在日時800と、を記憶する。その他、タイマーや、カウンタ、各種フラグ等の情報を適宜記憶できる。
ゲームプログラム502は、処理部200をゲーム演算部210として機能させるためのプログラムである。なお、画像生成部290や音生成部292、通信制御部294として機能させるためのプログラムも適宜これに含めることができる。
ゲーム初期設定データ510は、ゲームを実行させるための各種初期設定データを格納する。本実施形態では、楽曲定義データ520と、時間差評価基準データ530と、初期基準値ライブラリ540と、を含む。また、その他にも、指示体24(ドン24aやカツ24b)の表示データや、表示体34(34R,34L)の表示データ(図15〜図18を参照して説明した枠341や偏部分343、旁部分345の表示データ)等が含まれる。勿論、これら以外のデータも適宜含めることができる。
楽曲定義データ520は、ゲームでプレイ可能な楽曲毎に用意され、当該楽曲に関する各種初期設定データを格納する。例えば、1つの楽曲定義データ520は、固有の楽曲名521と、楽曲音声データ525と、譜面表示部20(図3参照)を表示するための譜面定義データ527と、を含む。
譜面定義データ527は、譜面表示部20にて指示体24を流れ表示するための基礎データである。データ構成は適宜設定可能であるが、規準タイミング(例えば、プレイ開始からの経過時間で記述)と、規準モーション種類(譜面表示部20で流れ表示する指示体24の種類)との組み合わせを時系列に格納する構成が考えられる。
時間差評価基準データ530は、難易度別の時間差評価基準のデータである。1つの時間差評価基準データ530は、当該時間差評価基準データ570を識別するための判定基準番号と、その難易度情報と、図4に示した対応する難易度についての判定基準の定義データとを含む。
初期基準値ライブラリ540は、入力タイミング判定、入力モーション種類判別及び挙動判定分析で用いられる基準値や閾値を格納する。本実施形態では、振り上げ開始判定基準角速度値ωmと、要求勢い判定基準角速度ωfと、振り上げ開始判定係数k1と、確定判定基準係数k2と、第3判定基準値k3と、第4判定基準値k4と、第5判定基準値k5と、第6判定基準値k6と、規模判定用閾値Th1とを含む。
ゴーストデータ600は、ゲームプレイのたびに生成され、該当するゲームプレイでの操作入力毎の入力モーションデータ613を、入力タイミング611やその入力モーションのモーション内容(使用コントローラ612、入力モーション種類614、入力モーションパターン615及び入力モーション規模616)と対応付けて時系列に格納する。また、その他、ゴーストデータ600には、プレイ曲名602やプレイ難易度604が含められる(図13を参照)。
プレイデータ700は、ゲームプレイ毎に用意され、当該ゲームプレイを実現し、そのゲーム進行状況等を記述する各種データを格納する。本実施形態では、例えば図21に示すように、プレイ開始前にプレーヤ1が選択した楽曲を示すプレイ曲名701と、プレイ開始からの経過時間703と、譜面表示部20の表示を制御するための譜面表示制御データ705と、ゴースト表示部30の表示を制御するためのゴースト表示制御データ707と、右ゲームコントローラ1460R及び左ゲームコントローラ1460L別に用意される計測履歴データ710と、右仮想バチ3R及び左仮想バチ3L別に用意される仮想バチ追跡データ720と、入力判定履歴データ730と、プレイ成績データ740と、を含む。勿論、これら以外のデータも適宜含めることができる。
計測履歴データ710は、右ゲームコントローラ1460R及び左ゲームコントローラ1460L別に用意され、当該コントローラで計測された計測値及びそこから演算される入力タイミング判定や入力モーション種類判別に使用される値を時系列に格納する。本実施形態では、3軸分の加速度計測値や3軸分の平均加速度、3軸分の角速度計測値、3軸分の平均角速度を時系列に格納する。
仮想バチ追跡データ720は、右仮想バチ3R及び左仮想バチ3L別に用意され、当該仮想バチについて所定の算出周期のたびに逐次算出される現在の位置及び姿勢を時系列に格納する。
入力判定履歴データ730は、入力タイミング判定及び入力モーション種類判別のたびに作成されて、当該判定及び判別の結果を示す情報を格納する。例えば、1つの入力判定履歴データ730は、入力判定タイミングと、入力モーション種類と、それが左右何れのゲームコントローラ1460についての判定及び判別結果であるかを示す使用コントローラ識別フラグと、を格納する。勿論、これら以外のデータも適宜格納することができる。例えば、操作入力判定に入力強度(仮想打楽器4を叩打する強さ)の判定が含まれる場合には、判定された強度の情報も含めることができる。
[処理の流れ]
図22は、本実施形態のゲーム装置1400における処理の流れを説明するためのフローチャートである。ここで説明する処理は、処理部200がゲームプログラム502を読み出して実行することによって実現される。
先ず、ゲームコントローラ1460毎の計測値(加速度及び角速度)の記録を開始する(ステップS1)。ここでの処理により、計測履歴データ710の記録が開始される。
次に、初期設定部216が、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lを手に持ち所定のポーズで静止するようプレーヤ1に指示する指示画面W3(図11を参照)を画像表示部390に表示制御する(ステップS3)。そして、当該静止時の右手系ローカル加速度ベクトルAr及び左手系ローカル加速度ベクトルAlをもとに右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの姿勢を算出し、右仮想バチ3R及び左仮想バチ3Lの初期姿勢とする(ステップS5)。その後、初期設定部216は、仮想空間中の予め定められた初期位置に、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lよりも長さの長い右仮想バチ3R及び左仮想バチ3Lを、ステップS5で算出した初期姿勢で配置する(ステップS7)。
次に、位置/姿勢追跡部218が、追跡処理を開始する(ステップS8)。追跡処理では、右仮想バチ3R及び左仮想バチ3Lの現在の位置及び姿勢の算出を、所定の算出周期で繰り返す。算出結果(各仮想バチ3R,3Lの位置及び姿勢)の履歴は、仮想バチ追跡データ720に記録される。
そして、入力タイミング判定及び入力モーション種類判別に係る処理を開始する(ステップS9)。図23は、ここで開始される処理の流れを示すフローチャートである。図23に示すように、先ず、入力タイミング判定部220が、入力タイミングを判定する(ステップS91)。具体的には、入力タイミング判定部220は、加速度角速度計測部110の計測値をもとに振り上げ動作に続いて振り下げ動作が連続して開始されたか否かの前提判定を行い、当該前提判定が肯定判定された場合の振り下げ動作においてZ軸回りの角速度ωzのピークを検出することで、入力タイミングを判定する。また、X軸方向の加速度Axの増減傾向の逆転を検出することでそのピークを検出し、入力タイミングを判定する。
そして、ステップS91で入力タイミングを判定したならば(ステップS93:YES)、入力モーション種類判別部222が、入力モーション種類を判別する(ステップS95)。ここでは、縦振り下ろしモーションが入力されたのか(ドン)、カーブ振り下ろしモーションが入力されたのか(カツ)を判別する。具体的には、入力モーション種類判別部222は、Z軸方向の加速度Azに基づいて縦振り下ろしモーションの入力を判別し、X軸回りの角速度ωxに基づいて、又はX軸方向およびZ軸方向の加速度Ax,Azの比に基づいてカーブ振り下ろしモーションの入力を判別する。
続いて、記録処理部226が、仮想バチ追跡データ720を参照し、入力タイミングから遡って所定のモーション入力期間に属する算出周期毎の各仮想バチ3R,3Lの位置及び姿勢の算出結果を読み出して、入力モーションデータ613とする。そして、この入力モーションデータ613を、入力タイミング611や使用コントローラ612、入力モーション種類614、入力モーションパターン615と対応付けて記録しておく(ステップS97)。その後は、ゲームプレイを終了するまでの間は(ステップS99:NO)、ステップS91に戻って上記した処理を繰り返す。
図22に戻り、以上説明した入力タイミング判定及び入力モーション種類判別に係る処理を開始したならば、プレイ難易度やプレイ曲の各選択操作を受け付ける(ステップS11)。また、ゴーストモードが選択された場合は、ステップS11で選択操作されたプレイ曲と曲名が一致するゴーストデータ600を参照ゴーストデータ600として選出する(ステップS13)。
その後、ゲームの進行制御を開始するとともに(ステップS15)、当該ゲームの進行制御にて開始される譜面表示処理と並行したゴースト表示処理を開始する(ステップS17)。すなわち、ここでの処理により、プレイ曲の再生処理が開始されるとともに、当該プレイ曲の再生と同期した譜面表示処理(プレイ曲の譜面定義データ527を用いた指示体24の基準位置22に向けた流れ表示)と、当該プレイ曲の再生と同期したゴースト表示処理(参照ゴーストデータ600を用いた表示体34の基準位置32に向けた流れ表示)が開始され、ゲーム画面W1(図3を参照)が画像表示部390に表示される。また、操作入力に応じた応答出力制御(例えば叩打演出音の放音や叩打演出振動の発生等)等も開始される。そして、評価部242による評価処理が開始され、操作入力が評価されて第1スコアが算出されるとともに、対表示体評価部232による評価処理が開始され、操作入力が評価されて第2スコアが算出される。
すでに、ステップS9にて入力タイミング判定及び入力モーション種類判別に係る処理が開始されており、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lによる操作入力の準備が整っているので、プレーヤ1は、プレイ曲を聴きつつ、ゲーム画面W1の譜面表示部20を見ながら、提示された規準タイミングで規準モーション種類に合致するようにゲームコントローラ1460で操作入力して、音楽ゲームをプレイすることができる。
また、本実施形態では、対表示体評価も行われるため、プレーヤ1は、ゲーム画面W5のゴースト表示部30を見ながら、提示された過去のゲームプレイでの入力タイミングでそのときの入力モーションのモーション内容に合致するようにゲームコントローラ1460で操作入力して、音楽ゲームをプレイすることもできる。つまり、第1スコアについて高スコアを狙ってゲームをプレイすることもできるし、第2スコアについて高スコアを狙ってゲームをプレイすることもできる。
そして、ゲームプレイが終了したならば(ステップS19)、プレイ成績の表示を行う(ステップS21)。その後、記録処理部226が、当該終了したゲームプレイに係るゴーストデータ600を生成する(ステップS23)。具体的には先ず、当該ゲームプレイ中に記録された入力モーションデータ613に基づいて、入力タイミング毎の各操作入力について入力モーションの挙動の大小判定を行う。そして、判定結果を入力モーション規模616とし、図23のステップS97で入力タイミング111毎に記録した使用コントローラ612、入力モーションデータ613、入力モーション種類614及び入力モーションパターン615に含めて当該ゲームプレイに係るゴーストデータ600とする。
以上説明したように、本実施形態によれば、プレーヤ1に規準の動作(規準モーション)を操作入力として行わせるゲームにおいて、過去のゲームプレイでプレーヤ1が行った入力モーションのモーション内容をプレーヤ1に提示することができ、新たな興趣をゲームに追加することができる。
なお、本発明を適用可能な形態は上記した実施形態に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
[変形例1]
例えば、上記実施形態では、プレーヤがゲームをプレイするたびに入力モーションデータ(ゴーストデータ)を記録することとし、記録された過去のゲームプレイに係る入力モーションデータを用いてゴースト表示を行う場合を例示した。これに対し、外部から入力モーションデータを取得して用い、ゴースト表示を行う構成としてもよい。例えば、処理部200が通信部394を介して他のゲーム装置と通信接続し、当該他のゲーム装置でプレイするプレーヤのゲームプレイに係るゴーストデータ(入力モーションデータ)を取得するとしてもよい。これによれば、他のプレーヤとの間でゴーストデータをやり取りしてプレイ曲のゴースト表示に用いることができる。
またその際に、入手元のプレーヤによってゴーストの表示形態を変更するとしてもよい。例えば、フレンド登録されたプレーヤ等、特定のプレーヤから入手した入力モーションデータを用いたゴースト表示については、上記実施形態の要領で行う。一方で、フレンド以外のプレーヤから入手した入力モーションデータを用いたゴースト表示にあたっては、表示体の表示を簡略化するとしてもよい。例えば、該当する操作入力の入力モーション種類(ドン/カツ)のみを示す表示体とすることができる。これによれば、特定のプレーヤから入手した入力モーションデータを用いたゴースト表示においてのみ表示体による詳細なモーション内容の表示、すなわち、使用コントローラ(右ゲームコントローラ1460R/左ゲームコントローラ)や入力モーションパターン(ドンパターン/ドンカツパターン/カツカツパターン/カツドンパターン)、入力モーション規模(大モーション/小モーション)の表示を行い、それ以外の場合は、これら詳細表示を非表示とすることができる。
或いは、ゲームの運営側に設置されたゲームサーバにてユーザ登録済みのプレーヤの入力モーションデータを収集し、ゲーム装置1400は、これをダウンロードして取得する構成としてもよい。例えば、入力モーションデータをゲームスコア(第1スコア)等と対応付けて管理しておくことで、所望の楽曲の獲得スコアの高い入力モーションデータを取得するといったことが可能となる。これによれば、高スコアを獲得したプレーヤの入力モーションのモーション内容を見て、これを参考にしながらゲームをプレイすることできる。
また、ゲームサーバは、ゲーム装置から収集した入力モーションデータ以外にも、例えば、模範的なゲームプレイに係る入力モーションデータ等を用意して管理し、ゲーム装置1400がこれを取得する構成も可能である。そして、ゲームサーバから入力モーションデータを取得する際には、所定額の課金処理を行う構成としてもよい。
また、上記実施形態のゴースト表示は、プレーヤのゲームプレイ時において規準モーション及び規準タイミングの提示に際して行う構成に限らず、当該ゲームプレイのデモプレイとして行う構成でもよい。例えば、別途用意されるデモプレイモードや、タイトル画面の表示から一定時間が経過した場合に表示するでも画面(アトラクトモード)等において上記実施形態のゴースト表示を行い、プレーヤが閲覧できるようにしてもよい。
[変形例2]
また、ゲームの難易度に基づいて、ゴーストモードにおける表示体34の表示/非表示を決定する構成としてもよい。図24は、本変形例における表示体34の表示/非表示の決定処理を説明する図であり、プレイ曲の再生とともにゲーム画面においてゴースト表示部30を移動する表示体34の配列を簡略化して示している。そして、図24中、破線で示すのがプレイ難易度「かんたん」の場合の表示体34の表示範囲であり、一点鎖線で示すのがプレイ難易度「ふつう」の場合の表示体34の表示範囲であり、二点鎖線で示すのがプレイ難易度「むずかしい」の場合の表示体34の表示範囲である。
図24に示すように、本変形例では、プレイ難易度によって表示体の表示範囲を可変に設定する。すなわち、例えば、プレイ難易度が低いほどプレイ曲の全体に対する表示範囲の割合が高く、プレイ難易度が高いと当該割合が低くなるように、各楽曲について、プレイ難易度別に表示体34の表示範囲を予め設定しておく。これによれば、表示体34の表示をヒント表示としてプレーヤに提示することができる。例えば、上記した模範的なゲームプレイに係る入力モーションデータや、高スコアを獲得したゲームプレイに係る入力モーションデータを選んで表示体34の表示を行えば、そのモーション内容をヒントに操作入力を行って高スコアを狙うといったことが可能となる。またその際、プレイ難易度が高いほど表示させる表示体34が少なくなるように、表示体34の表示/非表示(指示体24毎のヒント表示の有無とも言える。)を決定することができる。
また、プレイ難易度(ゲームの難易度)に限らず、プレイ状況に基づいて表示/非表示を決定するとしてもよい。例えば、プレイ曲の前半部分を上手にプレイできていないと、プレイ曲の後半部分で表示体34の表示を行うといったことができる。具体的には、例えば、ゲームプレイ(第2プレイ)の開始時は表示体34を非表示として決定する。そして、第2プレイのプレイ途中の所定のタイミングにて当該時点でのゲームスコアを閾値判定し、ゲームスコアが予め定められる所定の閾値に達していない場合は、それ以降のプレイ曲部分について表示体34を表示するとして決定する。
[変形例3]
また、上記実施形態では、表示体34を静止画で表示する例を示したが、キャラクタが動いてモーション内容を示す動画で表示するとしてもよい。例えば、参照ゴーストデータ600において入力モーションデータ613として設定されている右仮想バチ3R又は左仮想バチ3Lの位置及び姿勢の変化に基づいて、該当する操作入力時の入力モーションをキャラクタが再現したアニメーション動画を生成する。そして、生成した動画を用い、キャラクタが入力モーションを繰り返す表示体を表示制御するとしてもよい。具体的には、アニメーションアイコンのように、該当する表示体34の画像範囲内で数秒以内の動画を繰り返し再生表示させつつ、表示体34を流れ表示させる手法が好適である。
[変形例4]
また、上記実施形態では、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lの実空間中の推測位置及び推測姿勢を推測して用いて入力モーションデータを記録し、この入力モーションデータから入力モーションの規模(大モーション/小モーション)を判定して表示体の表示に用いることとした。これに対し、入力タイミング判定で単発モーションの入力タイミングと判定された場合に入力モーションを小モーションとし、連打モーションの入力タイミングと判定された場合に入力モーションを大モーションとして、入力モーションの規模を判定するとしてもよい。
[変形例5]
また、上記実施形態では、スタンドアローンで実行可能なゲームを例に挙げて説明したがこれに限らない。上記実施形態のゲームコントローラ1460と同様に3軸加速度センサ1475と3軸ジャイロセンサ1476とをコントローラ部に備えたコンピュータをプレーヤ端末として使用し、ゲームサーバにアクセスしてプレイするオンラインゲームとして実現する形態も可能である。その場合、上記実施形態におけるゲーム演算部210を、ゲームサーバにて実現すればよい。
また、ゲームコントローラ1460と、これに搭載されるセンサの計測軸との相対関係は、図2の例に限定されるものではなく、適宜変更可能である。
また、上記実施形態では音楽ゲームを例示したが、その他のジャンルのゲームにおいても同様に適用することができる。プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、プレーヤが操作入力を行った入力タイミングと規準タイミングとの時間差及び操作入力として行った入力モーションと規準モーションとの異同を用いて操作入力を評価するゲームであれば適用可能である。例えば、いわゆるタイミングゲームが好適である。
[変形例6]
上記実施形態では、入力モーション種類判別部222が行う入力モーションの判別(分析)は、ゲームコントローラ1460に内蔵された3軸加速度センサ1475および3軸ジャイロセンサ1476の計測値に基づいて行うこととしたが、別の手法により入力モーションの判別(分析)を行うこととしてもよい。例えば、カメラモジュール1408(図1参照)の撮影画像に基づき、いわゆるモーションキャプチャの技術を用いて、撮影画像中のゲームコントローラ1460の位置・姿勢・動きを分析して、入力モーションの判別を行うこととしてもよい。その場合、左右のゲームコントローラ1460に、それぞれを識別するためのマーカやLEDを装備するとより好適である。また、カメラモジュール1408をIR(赤外線)カメラとし、左右のゲームコントローラ1460に装備するLEDを赤外線LEDとすると、プレーヤ1が視認不可能となって、ゲームへの没入感を阻害することがないため、好適である。
1400…ゲーム装置
1401…本体装置
100…操作入力部
200…処理部
210…ゲーム演算部
212…難易度受付制御部
214…提示制御部
216…初期設定部
218…位置/姿勢追跡部
220…入力タイミング判定部
222…入力モーション種類判別部
224…応答出力制御部
226…記録処理部
228…ゴースト表示制御部
230…評価部
232…対表示体評価部
280…計時部
290…画像生成部
292…音生成部
294…通信制御部
390…画像表示部
392…音出力部
394…通信部
500…記憶部
502…ゲームプログラム
510…ゲーム初期設定データ
520…楽曲定義データ
530…時間差評価基準データ
540…初期基準値ライブラリ
600…ゴーストデータ
700…プレイデータ
1460R…右ゲームコントローラ
1460L…左ゲームコントローラ
100c…操作入力部
110…加速度角速度計測部
396…加振部
394c…通信部
200c…コントローラ処理部
3R…右仮想バチ
3L…左仮想バチ
4…仮想打楽器
20…譜面表示部
24…指示体
30…ゴースト表示部
34…指示体
1…プレーヤ

Claims (15)

  1. プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、前記プレーヤが前記操作入力を行った入力タイミングと前記規準タイミングとの時間差及び前記操作入力として行った入力モーションと前記規準モーションとの異同を用いて前記操作入力を評価するゲームをコンピュータに実行させるためのプログラムであって、
    第1のゲームプレイにおいて前記入力モーションに係る入力モーションデータを記録する記録手段、
    前記第1のゲームプレイの後の第2のゲームプレイの前記提示に際し、前記入力モーションデータを用いて、前記第1のゲームプレイ時の入力モーションのモーション内容を示す表示体を表示制御する入力モーション表示制御手段、
    を前記コンピュータに実行させるためのプログラム。
  2. 前記入力モーションは、前記プレーヤがコントローラを手に持ち振って動かすモーションであり、
    前記入力モーションを分析する分析手段として前記コンピュータを更に機能させ、
    前記入力モーション表示制御手段は、前記分析手段の分析結果に基づいて、前記入力モーションのモーション内容を示す表示体を表示制御する、
    請求項1に記載のプログラム。
  3. 前記分析手段は、前記規準モーションとの異同評価のための分析と前記異同評価より詳細な挙動判定の分析とを行い、
    前記記録手段は、少なくとも前記挙動判定の分析結果を前記入力モーションデータに含めて記録する、
    請求項2に記載のプログラム。
  4. 前記入力モーション表示制御手段は、前記分析手段の分析結果に基づいて、前記第1のゲームプレイ時の入力モーションの挙動の大小を識別可能に前記表示体を表示制御する、
    請求項2又は3に記載のプログラム。
  5. 前記コントローラには、前記プレーヤが左右それぞれの手で持つための第1コントローラ及び第2コントローラがあり、
    前記分析手段は、前記第1コントローラ及び前記第2コントローラそれぞれの前記計測値に基づいて、前記第1コントローラ及び前記第2コントローラそれぞれの前記挙動判定の分析を行い、
    前記記録手段は、前記第1コントローラ及び前記第2コントローラそれぞれの前記挙動判定の分析結果を前記入力モーションデータに含めて記録し、
    前記入力モーション表示制御手段は、前記入力モーションデータに基づいて、前記第1コントローラ及び前記第2コントローラそれぞれの挙動を識別可能に前記表示体を表示制御する、
    請求項3に記載のプログラム。
  6. 前記規準モーションは、前記第1コントローラ及び前記第2コントローラの何れによる操作入力でも良いモーションである、
    請求項5に記載のプログラム。
  7. 前記ゲームは、前記プレーヤがゲームプレイを行うゲームステージとして選択可能な複数のゲームステージがあり、
    前記記録手段は、前記第1のゲームプレイに係る前記ゲームステージと対応付けて、前記第1のゲームプレイに係る前記入力モーションデータを記録し、
    前記入力モーション表示制御手段は、前記第2のゲームプレイに係る前記ゲームステージと同じゲームステージに係る前記入力モーションデータに基づいて、前記表示体を表示制御する、
    請求項1〜6の何れか一項に記載のプログラム。
  8. 所定の基準位置に達するタイミングが前記規準タイミングとなるように前記規準タイミングを示す指示体を移動表示することで前記提示を行う提示手段として前記コンピュータを更に機能させ、
    前記入力モーション表示制御手段は、前記表示体を前記指示体の移動に付随して移動表示させる、
    請求項1〜7の何れか一項に記載のプログラム。
  9. 前記入力モーション表示制御手段は、前記時間差に基づいて、前記表示体の付随対象の前記指示体に対する当該表示体の付随表示位置を可変に制御する、
    請求項8に記載のプログラム。
  10. 前記入力モーション表示制御手段は、前記プレーヤのプレイ状況に基づいて前記表示体を表示させるか否かを決定する、
    請求項1〜9の何れか一項に記載のプログラム。
  11. 前記入力モーション表示制御手段は、前記ゲームの難易度に基づいて前記表示体を表示させるか否かを決定する、
    請求項1〜10の何れか一項に記載のプログラム。
  12. 前記表示体によって示される前記入力モーション及び前記入力タイミングを用いて前記プレーヤの前記操作入力を評価する対表示体評価手段として前記コンピュータを機能させるための請求項1〜11の何れか一項に記載のプログラム。
  13. 外部から前記入力モーションデータを取得する取得手段として前記コンピュータを更に機能させ、
    前記入力モーション表示制御手段は、前記取得された入力モーションデータを用いて、前記表示体を表示制御する手段を有する、
    請求項1〜12の何れか一項に記載のプログラム。
  14. 前記ゲームプレイのデモプレイとして、前記入力モーションデータを用いた前記表示体の表示制御を行うデモプレイ制御手段として前記コンピュータを機能させるための請求項1〜13の何れか一項に記載のプログラム。
  15. プレーヤに操作入力として行わせる規準モーション及びその規準タイミングを提示し、前記プレーヤが前記操作入力を行った入力タイミングと前記規準タイミングとの時間差及び前記操作入力として行った入力モーションと前記規準モーションとの異同を用いて前記操作入力を評価するゲームを実行するゲーム装置であって、
    第1のゲームプレイにおいて前記入力モーションに係る入力モーションデータを記録する記録手段と、
    前記第1のゲームプレイの後の第2のゲームプレイの前記提示に際し、前記入力モーションデータを用いて、前記第1のゲームプレイ時の入力モーションのモーション内容を示す表示体を表示制御する入力モーション表示制御手段と、
    を備えたゲーム装置。
JP2018066220A 2018-03-29 2018-03-29 プログラム及びゲーム装置 Pending JP2019170964A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018066220A JP2019170964A (ja) 2018-03-29 2018-03-29 プログラム及びゲーム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018066220A JP2019170964A (ja) 2018-03-29 2018-03-29 プログラム及びゲーム装置

Publications (1)

Publication Number Publication Date
JP2019170964A true JP2019170964A (ja) 2019-10-10

Family

ID=68167389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018066220A Pending JP2019170964A (ja) 2018-03-29 2018-03-29 プログラム及びゲーム装置

Country Status (1)

Country Link
JP (1) JP2019170964A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022002627A (ja) * 2020-06-23 2022-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022002627A (ja) * 2020-06-23 2022-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US11498004B2 (en) 2020-06-23 2022-11-15 Nintendo Co., Ltd. Computer-readable non-transitory storage medium having instructions stored therein, game apparatus, game system, and game processing method
JP7233399B2 (ja) 2020-06-23 2023-03-06 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法

Similar Documents

Publication Publication Date Title
US11260286B2 (en) Computer device and evaluation control method
US7833099B2 (en) Game apparatus and recording medium recording game program for displaying a motion matching a player's intention when moving an input device
JP4979314B2 (ja) ゲームプログラムおよびゲーム装置
JP4979313B2 (ja) ゲームプログラムおよびゲーム装置
JP6029255B2 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP7081922B2 (ja) プログラム、ゲーム装置及びゲームを実行するための方法
JP5519591B2 (ja) 情報表示装置、情報表示方法、ならびに、プログラム
US20110172017A1 (en) Game machine, game program, and game machine control method
TW201023952A (en) Determining location and movement of ball-attached controller
JP4397421B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2008136694A (ja) プログラム、情報記憶媒体及びゲーム装置
JP2011065251A (ja) 情報処理プログラムおよび情報処理装置
JP2009279050A (ja) プログラム、情報記憶媒体及びゲーム装置
JP2020058659A (ja) ゲームシステム、ゲーム処理方法、ゲームプログラム、ゲーム装置、およびゲームコントローラ
JP2010172442A (ja) ゲーム装置、操作評価方法、および、プログラム
JP5161328B2 (ja) ゲームシステム及びそのコンピュータプログラム
JP2019170964A (ja) プログラム及びゲーム装置
JP7137944B2 (ja) プログラム及びコンピュータシステム
JP5532374B2 (ja) ゲーム制御プログラム
JP5532375B2 (ja) ゲーム制御プログラム、情報記憶媒体
JP7441252B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP7425813B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム
US20230310988A1 (en) Computer-readable non-transitory storage medium having game program stored therein, game system, game apparatus, and game processing method
JP2012065833A (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP2023166356A (ja) ゲームプログラム、ゲームシステム、およびゲーム処理方法