(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-31
(45)【発行日】2025-04-08
(54)【発明の名称】ゲームシステム、情報処理プログラム、情報処理装置、および情報処理方法
(51)【国際特許分類】
A63F 13/44 20140101AFI20250401BHJP
A63F 13/21 20140101ALI20250401BHJP
A63F 13/24 20140101ALI20250401BHJP
A63F 13/428 20140101ALI20250401BHJP
A63F 13/533 20140101ALI20250401BHJP
A63F 13/814 20140101ALI20250401BHJP
G06F 3/0346 20130101ALI20250401BHJP
【FI】
A63F13/44
A63F13/21
A63F13/24
A63F13/428
A63F13/533
A63F13/814
G06F3/0346 424
(21)【出願番号】P 2020049055
(22)【出願日】2020-03-19
【審査請求日】2023-01-16
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】鈴木 亮祐
(72)【発明者】
【氏名】▲浜▼上 宏樹
【審査官】柳 重幸
(56)【参考文献】
【文献】特開2003-122487(JP,A)
【文献】特開2019-187564(JP,A)
【文献】国際公開第2016/059943(WO,A1)
【文献】攻撃時の操作,KONAMI OFFICIAL BOOKS パワプロクンポケット12 公式ガイド,初版,株式会社コナミデジタルエンタテインメント,2011年07月14日,p.013
【文献】「Nintendo Switch TM[初音ミク Project DIVA MEGA39’s]操作方法紹介映像」,YouTube[online][video],2019年10月18日,[2024年6月26日検索], <https://www.youtube.com/watch?v=BvD9KPCVFlw>,0:38-1:22
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
(57)【特許請求の範囲】
【請求項1】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するためのゲームシステムであって、
ボタン操作とは異なる、ユーザが力を加える運動によって少なくとも一部が弾性変形する部材を有する入力装置と、
前記部材の弾性変形による前記入力装置の変形に応じた出力をするセンサと、
前記センサの出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が前記変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が前記変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段とを備える、ゲームシステム。
【請求項2】
前記評価手段は、前記タイミングより後に前記入力装置が変形した場合、当該タイミング以前に前記入力装置が変形した場合よりも、当該変形に係る前記ユーザ入力を前記ユーザにとって不利に評価する、請求項1に記載のゲームシステム。
【請求項3】
前記評価手段は、前記タイミングのうち、(a)第1タイミングにおいて前記入力装置が変形しており、かつ、当該変形が当該第1タイミング以降の第2タイミングの時点においても継続している場合と、(b)当該第1タイミングにおいて当該入力装置が変形していた後に当該入力装置が定常状態に戻り、当該第2タイミングにおいて再度当該入力装置が変形していた場合とで、前記ユーザ入力に対して同じ評価を行う、請求項1又は2に記載のゲームシステム。
【請求項4】
前記評価手段は、前記タイミングにおいて前記入力装置が変形しているか否かの第1判定と、前記入力装置の変形量に基づく第2判定とに基づいて、前記ユーザ入力を評価する、請求項1から3の何れかに記載のゲームシステム。
【請求項5】
前記評価手段は、
前記第1判定において前記入力装置が変形していると判定した場合、当該入力装置が変形していると判定した時点から所定時間経過後に、前記第2判定を行い、
前記第2判定において、前記入力装置が変形していると判定した時点に基づいて定められる所定期間における前記入力装置の変形量に基づいて、前記ユーザ入力の評価を行う、請求項4に記載のゲームシステム。
【請求項6】
前記第1判定の結果に基づいて、第1効果音を出力する第1効果音出力手段と、
前記第2判定の結果に基づいて、第2効果音を出力する第2効果音出力手段と、をさらに備える、請求項4又は5に記載のゲームシステム。
【請求項7】
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段をさらに備える、請求項1から6の何れかに記載のゲームシステム。
【請求項8】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するためのゲームシステムであって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置と、
前記入力装置の変形に応じた出力をするセンサと、
前記センサの出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、を備え、
前記リズムゲームは、前記入力装置の変形に基づくユーザ入力を評価する第1種タイミングと、前記入力装置の変形とは異なるユーザ入力を評価する第2種タイミングとを含み、
前記表示制御手段は、
前記第2種タイミングに関しては、前記指示標識が当該第2種タイミングにおいて判定領域に到達する態様で当該指示標識が移動するように表示を制御し、
前記第1種タイミングに関しては、前記指示標識が当該第1種タイミングよりも早いタイミングにおいて前記判定領域に到達する態様で当該指示標識が移動するように表示を制御する、ゲームシステム。
【請求項9】
前記表示制御手段は、前記指示標識を前記表示装置の画面の奥行き方向の位置から手前方向に向かって移動表示させる、請求項7又は8に記載のゲームシステム。
【請求項10】
前記表示制御手段は、前記指示標識を、初期位置から3以上の判定領域のうちの1の判定領域まで移動させ、
前記ゲームシステムは、
前記入力装置の姿勢を検出する姿勢検出手段と、
前記入力装置の姿勢に応じて、前記3以上の判定領域のうちの1の判定領域を指定する領域指定手段と、をさらに備え、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価する、請求項7から9の何れかに記載のゲームシステム。
【請求項11】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するためのゲームシステムであって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置と、
前記入力装置の変形に応じた出力をするセンサと、
前記センサの出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、
前記入力装置の姿勢を検出する姿勢検出手段と、
前記入力装置の姿勢に応じて
、3以上の判定領域のうちの1の判定領域を指定する領域指定手段と、を備え、
前記表示制御手段は、前記指示標識を、初期位置から
前記3以上の判定領域のうちの1の判定領域まで移動させ、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価し、
前記領域指定手段は、前記入力装置の変形が継続している場合、前記入力装置の姿勢が変化しても、現在指定している前記判定領域を継続して指定する、ゲームシステム。
【請求項12】
前記領域指定手段は、前記タイミングにおいて前記指示標識がある前記判定領域を一度指定した場合、前記タイミングが経過するまでは、前記入力装置の姿勢に関わらず当該判定領域を継続して指定する、請求項10に記載のゲームシステム。
【請求項13】
前記入力装置は、前記ユーザの手で把持され、
前記表示制御手段は、前記指示標識を、初期位置から第1判定領域又は第2判定領域まで移動させ、
前記ゲームシステムは、
前記ユーザの足・脚の動きを検出する第2検出手段と、
前記第2検出手段によって検出された前記ユーザの足・脚の動きに応じて前記第1判定領域又は第2判定領域を指定する第2領域指定手段と、をさらに備え、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記第2領域指定手段によって指定された判定領域にある場合、前記ユーザ入力を前記ユーザにとって有利に評価する、請求項7から9の何れかに記載のゲームシステム。
【請求項14】
前記表示制御手段は、前記指示標識を、初期位置から3以上の判定領域のうちの1の判定領域まで移動させ、
前記入力装置は、前記ユーザの手で把持され、
前記表示制御手段は、前記指示標識を、初期位置から第1判定領域又は第2判定領域まで移動させ、
前記ゲームシステムは、
前記入力装置の姿勢を検出する姿勢検出手段と、
前記入力装置の姿勢に応じて、第1の方向に関する前記3以上の判定領域のうちの1の判定領域を指定する第1領域指定手段と、
前記ユーザの足・脚の動きを検出する第2検出手段と、
前記第2検出手段によって検出された前記ユーザの足・脚の動きに応じて、第2の方向に関する前記第1判定領域又は第2判定領域を指定する第2領域指定手段と、をさらに備え、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記第1領域指定手段及び第2領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価する、請求項7から9の何れかに記載のゲームシステム。
【請求項15】
前記部材は、前記入力装置の外形の少なくとも一部であり、当該部材が弾性変形することによって前記入力装置が変形する、請求項1から14の何れかに記載のゲームシステム。
【請求項16】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置のコンピュータによって実行される情報処理プログラムであって、前記コンピュータを、
ボタン操作とは異なる、ユーザが力を加える運動によって少なくとも一部が弾性変形する部材を有する入力装置の、当該部材の弾性変形による前記入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が前記変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が前記変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段として、機能させる、情報処理プログラム。
【請求項17】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置であって、
ボタン操作とは異なる、ユーザが力を加える運動によって少なくとも一部が弾性変形する部材を有する入力装置の、当該部材の弾性変形による前記入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が前記変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が前記変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段とを備える、情報処理装置。
【請求項18】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理システムにおいて実行される情報処理方法であって、
ボタン操作とは異なる、ユーザが力を加える運動によって少なくとも一部が弾性変形する部材を有する入力装置の、当該部材の弾性変形による前記入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得ステップと、
前記リズムゲームを実行する実行ステップと、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が前記変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が前記変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価ステップとを備える、情報処理方法。
【請求項19】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置のコンピュータによって実行される情報処理プログラムであって、前記コンピュータを、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、して機能させ、
前記リズムゲームは、前記入力装置の変形に基づくユーザ入力を評価する第1種タイミングと、前記入力装置の変形とは異なるユーザ入力を評価する第2種タイミングとを含み、
前記表示制御手段は、
前記第2種タイミングに関しては、前記指示標識が当該第2種タイミングにおいて判定領域に到達する態様で当該指示標識が移動するように表示を制御し、
前記第1種タイミングに関しては、前記指示標識が当該第1種タイミングよりも早いタイミングにおいて前記判定領域に到達する態様で当該指示標識が移動するように表示を制御する、情報処理プログラム。
【請求項20】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置であって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、を備え、
前記リズムゲームは、前記入力装置の変形に基づくユーザ入力を評価する第1種タイミングと、前記入力装置の変形とは異なるユーザ入力を評価する第2種タイミングとを含み、
前記表示制御手段は、
前記第2種タイミングに関しては、前記指示標識が当該第2種タイミングにおいて判定領域に到達する態様で当該指示標識が移動するように表示を制御し、
前記第1種タイミングに関しては、前記指示標識が当該第1種タイミングよりも早いタイミングにおいて前記判定領域に到達する態様で当該指示標識が移動するように表示を制御する、情報処理装置。
【請求項21】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理システムにおいて実行される情報処理方法であって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得ステップと、
前記リズムゲームを実行する実行ステップと、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価ステップと、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御ステップと、を備え、
前記リズムゲームは、前記入力装置の変形に基づくユーザ入力を評価する第1種タイミングと、前記入力装置の変形とは異なるユーザ入力を評価する第2種タイミングとを含み、
前記表示制御ステップでは、
前記第2種タイミングに関しては、前記指示標識が当該第2種タイミングにおいて判定領域に到達する態様で当該指示標識が移動するように表示を制御し、
前記第1種タイミングに関しては、前記指示標識が当該第1種タイミングよりも早いタイミングにおいて前記判定領域に到達する態様で当該指示標識が移動するように表示を制御する、情報処理方法。
【請求項22】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置のコンピュータによって実行される情報処理プログラムであって、前記コンピュータを、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、
前記入力装置の姿勢を検出する姿勢検出手段と、
前記入力装置の姿勢に応じて
、3以上の判定領域のうちの1の判定領域を指定する領域指定手段と、して機能させ、
前記表示制御手段は、前記指示標識を、初期位置から
前記3以上の判定領域のうちの1の判定領域まで移動させ、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価し、
前記領域指定手段は、前記入力装置の変形が継続している場合、前記入力装置の姿勢が変化しても、現在指定している前記判定領域を継続して指定する、情報処理プログラム。
【請求項23】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理装置であって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得手段と、
前記リズムゲームを実行する実行手段と、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価手段と、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御手段と、
前記入力装置の姿勢を検出する姿勢検出手段と、
前記入力装置の姿勢に応じて
、3以上の判定領域のうちの1の判定領域を指定する領域指定手段と、を備え、
前記表示制御手段は、前記指示標識を、初期位置から
前記3以上の判定領域のうちの1の判定領域まで移動させ、
前記評価手段は、前記タイミングにおいて、前記指示標識が前記領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価し、
前記領域指定手段は、前記入力装置の変形が継続している場合、前記入力装置の姿勢が変化しても、現在指定している前記判定領域を継続して指定する、情報処理装置。
【請求項24】
所定の音楽を出力するとともに、ユーザ入力を評価するためのタイミングが前記所定の音楽に応じて複数設定されるリズムゲームをユーザに提供するための情報処理システムにおいて実行される情報処理方法であって、
ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する入力装置の変形に応じた出力に基づく情報をユーザ入力として取得するユーザ入力取得ステップと、
前記リズムゲームを実行する実行ステップと、
前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う評価ステップと、
前記タイミングを示唆するための指示標識を表示装置に表示させる表示制御ステップと、
前記入力装置の姿勢を検出する姿勢検出ステップと、
前記入力装置の姿勢に応じて
、3以上の判定領域のうちの1の判定領域を指定する領域指定ステップと、を備え、
前記表示制御ステップでは、前記指示標識を、初期位置から
前記3以上の判定領域のうちの1の判定領域まで移動させ、
前記評価ステップでは、前記タイミングにおいて、前記指示標識が前記領域指定ステップで指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価し、
前記領域指定ステップでは、前記入力装置の変形が継続している場合、前記入力装置の姿勢が変化しても、現在指定している前記判定領域を継続して指定する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リズムゲームを行うことが可能なゲームシステム、情報処理プログラム、情報処理装置、および情報処理方法に関する。
【背景技術】
【0002】
従来より、音楽に合わせたタイミングで、ユーザが、例えばタップ操作により入力を行うリズムゲームがある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、リズムゲームにおける入力を、力を加えることで変形する入力装置を用いて行う場合、改善の余地があった。
【0005】
それ故、本発明の目的は、力を加えることで変形する入力装置を用いてリズムゲームを行うことが可能なゲームシステムを提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【0007】
本発明のゲームシステムは、ユーザ入力を評価するためのタイミングが複数設定されるリズムゲームをユーザに提供するためのゲームシステムであって、入力装置と、センサと、ユーザ入力取得手段と、実行手段と、評価手段とを備える。入力装置は、ユーザによって力を加えられることで少なくとも一部が弾性変形する部材を有する。センサは、前記入力装置の変形に応じた出力をする。ユーザ入力取得手段は、前記センサの出力に基づく情報をユーザ入力として取得する。実行手段は、前記リズムゲームを実行する。評価手段は、前記リズムゲームの実行中、前記タイミングにおいて前記入力装置が変形した場合と、当該タイミング以前から当該タイミングまで前記入力装置が変形している場合とで、前記ユーザ入力に対して同じ評価を行う。
【0008】
上記によれば、前記タイミングにおいて入力装置が変形した場合と、前記タイミングよりも前から前記入力装置が変形している場合とで、同じ評価を行う。これにより、力を加えることで変形する入力装置を用いてリズムゲームを行う際のユーザ入力について、ユーザの利便性を向上させることができる。
【0009】
また、前記評価手段は、前記評価手段は、前記タイミングより後に前記入力装置が変形した場合、当該タイミング以前に前記入力装置が変形した場合よりも、当該変形に係る前記ユーザ入力を前記ユーザにとって不利に評価してもよい。
【0010】
上記によれば、前記タイミングから遅れて入力装置の変形が開始された場合には、ユーザにとって不利に評価するため、リズムゲームに適した評価を行うことができる。
【0011】
また、前記評価手段は、前記タイミングのうち、(a)第1タイミングにおいて前記入力装置が変形しており、かつ、当該変形が当該第1タイミング以降の第2タイミングの時点においても継続している場合と、(b)当該第1タイミングにおいて当該入力装置が変形していた後に当該入力装置が定常状態に戻り、当該第2タイミングにおいて再度当該入力装置が変形していた場合とで、前記ユーザ入力に対して同じ評価を行ってもよい。
【0012】
上記によれば、前記タイミング内において、第1タイミングから第2タイミングまで入力装置が変形し続けている場合と、前記第1タイミングにおいて入力装置が変形し、その後、入力装置が戻り、再び前記第2タイミングにおいて変形した場合とで、同じ評価を行うことができる。
【0013】
また、前記評価手段は、前記タイミングにおいて前記入力装置が変形しているか否かの第1判定と、前記入力装置の変形量に基づく第2判定とに基づいて、前記ユーザ入力を評価してもよい。
【0014】
上記によれば、入力装置の変形のタイミングのみならず、入力装置の変形量に基づいてユーザ入力を評価することができる。
【0015】
また、前記評価手段は、前記第1判定において前記入力装置が変形していると判定した場合、当該入力装置が変形していると判定した時点から所定時間経過後に、前記第2判定を行い、前記第2判定において、前記入力装置が変形していると判定した時点に基づいて定められる所定期間における前記入力装置の変形量に基づいて、前記ユーザ入力の評価を行ってもよい。
【0016】
上記によれば、例えば、入力装置が変形していると判定した時点から変形量が増加している場合でも、その増加した後の変形量に基づいて評価を行うことができるため、ユーザが力を加えるタイミングが多少遅れても、ユーザの入力を正当に評価することができる
【0017】
また、前記評価手段は、前記第1判定に基づいて第1の評価値を設定し、前記第2判定に基づいて第2の評価値を設定し、前記第1の評価値及び前記第2の評価値に基づいて、前記ユーザ入力を評価してもよい。
【0018】
上記によれば、変形のタイミングに基づく第1の評価値と、変形量に基づく第2の評価値とを別々に設定して、ユーザ入力を評価することができる。これにより、入力タイミングの要素と、運動量の要素とを考慮したリズムゲームを行うことができる。
【0019】
また、前記評価手段は、前記所定タイミングにおいて前記入力装置が変形している場合、所定の値を前記第1の評価値として設定し、前記所定タイミングよりも後に前記入力装置が変形した場合、前記所定の値よりも低い値を前記第1の評価値として設定し、前記所定タイミングにおいて前記入力装置が変形している場合、又は、前記所定タイミングよりも後に前記入力装置が変形した場合、前記入力装置の変形量に応じて、前記第2の評価値を設定し、前記第1の評価値及び前記第2の評価値に基づいて、前記ユーザ入力を評価してもよい。
【0020】
上記によれば、入力タイミングが所定タイミングから遅れた場合には低い第1の評価値を設定し、入力装置の変形量に応じて第2の評価値を設定し、第1の評価値および第2の評価値に基づいて、ユーザ入力を評価することができる。
【0021】
また、前記ゲームシステムは、前記第1判定の結果に基づいて、第1効果音を出力する第1効果音出力手段と、前記第2判定の結果に基づいて、第2効果音を出力する第2効果音出力手段と、をさらに備えてもよい。
【0022】
上記によれば、例えば、入力装置の変形を検出したタイミングで第1効果音を出力した後、入力装置の変形量を考慮した第2効果音を出力することができる。これにより、ユーザの入力から遅れずに第1効果音を出力するとともに、ユーザの入力に対する評価を反映した適切な第2効果音を出力することができる。
【0023】
また、前記ゲームシステムは、前記タイミングをユーザに提示するための指示標識を表示装置に表示させる表示制御手段をさらに備えてもよい。
【0024】
上記によれば、指示標識を表示することでユーザに入力のタイミングを提示することができる。
【0025】
また、前記リズムゲームは、前記入力装置の変形に基づくユーザ入力を評価する第1種タイミングと、前記入力装置の変形とは異なるユーザ入力を評価する第2種タイミングとを含んでもよい。前記表示制御手段は、前記第2種タイミングに関しては、前記指示標識が当該第2種タイミングにおいて判定領域に到達する態様で当該指示標識が移動するように表示を制御し、前記第1種タイミングに関しては、前記指示標識が当該第1種タイミングよりも早いタイミングにおいて前記判定領域に到達する態様で当該指示標識が移動するように表示を制御してもよい。
【0026】
上記によれば、前記入力装置の変形に基づくユーザ入力の評価が行われる第1種タイミングより前に、前記指示標識を判定領域まで移動させることができる。これにより、入力装置を変形させることによって入力を行う場合でも、入力が検出されるタイミングが遅れることを防止することができ、ユーザが意図するタイミングで入力を行うことができる。
【0027】
また、前記表示制御手段は、前記指示標識を前記表示装置の画面の奥行き方向の位置から手前方向に向かって移動表示させてもよい。
【0028】
上記によれば、指示標識を画面の奥行き方向の位置から手前方向に向かって移動させることができる。これにより、ユーザ入力の評価を行うタイミングと、指示標識が判定領域に到達するタイミングとに多少のずれがあっても、ユーザにとって違和感のない表示とすることができる。
【0029】
また、前記表示制御手段は、前記指示標識を、初期位置から3以上の判定領域のうちの1の判定領域まで移動させてもよい。前記ゲームシステムは、前記入力装置の姿勢を検出する姿勢検出手段と、前記入力装置の姿勢に応じて、前記3以上の判定領域のうちの1の判定領域を指定する領域指定手段と、をさらに備えてもよい。前記評価手段は、前記タイミングにおいて、前記指示標識が前記領域指定手段によって指定された判定領域にあり、かつ、前記入力装置が変形している場合、前記ユーザ入力を前記ユーザにとって有利に評価してもよい。
【0030】
上記によれば、入力装置を変形させるとともに、入力装置の姿勢を変化させることにより入力を行うことができ、リズムゲームに多様性を持たせることができる。
【0031】
また、前記領域指定手段は、前記入力装置の変形が継続している場合、前記入力装置の姿勢が変化しても、現在指定している前記判定領域を継続して指定してもよい。
【0032】
上記によれば、入力装置の変形が継続しているときに、意図せずに入力装置の姿勢が変化しても、指定する判定領域を固定することができる。
【0033】
また、前記領域指定手段は、前記タイミングにおいて前記指示標識がある前記判定領域を一度指定した場合、前記タイミングが経過するまでは、前記入力装置の姿勢に関わらず当該判定領域を継続して指定してもよい。
【0034】
上記によれば、前記タイミングにおいて前記入力装置の姿勢に応じて前記指示標識によって、ある前記判定領域が指定された場合には、前記タイミングが経過するまで、指定する判定領域を固定することができる。これにより、例えば意図せずに入力装置の姿勢が変化した場合でも、一度指定した判定領域を継続的に指定することができる。
【0035】
また、前記入力装置は、前記ユーザの手で把持されてもよい。前記表示制御手段は、前記指示標識を、初期位置から第1判定領域又は第2判定領域まで移動させてもよい。前記ゲームシステムは、前記ユーザの足の動きを検出する第2検出手段と、前記第2検出手段によって検出された前記ユーザの足の動きに応じて前記第1判定領域又は第2判定領域を指定する第2領域指定手段と、をさらに備えてもよい。前記評価手段は、前記所定タイミングにおいて、前記指示標識が前記第2領域指定手段によって指定された判定領域にある場合、前記ユーザ入力を前記ユーザにとって有利に評価してもよい。
【0036】
上記によれば、手と足を使った入力を行うことができ、リズムゲームにおいて、ユーザに手及び足を使った運動を行わせることができる。
【0037】
また、他の発明は、上記ゲームシステムの各手段を備える情報処理装置であってもよいし、情報処理装置によって実行される情報処理プログラムであってもよい。また、上記ゲームシステムにおいて行われる情報処理方法であってもよい。
【発明の効果】
【0038】
本発明によれば、力を加えることによって変形する入力装置を用いてリズムゲームを行うことができる。
【図面の簡単な説明】
【0039】
【
図1】ゲームシステムに含まれる各装置の一例を示す図
【
図2】本体装置2の内部構成の一例を示すブロック図
【
図3】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図5】リング型拡張装置5が備える構成要素の電気的な接続関係を示すブロック図
【
図6】リング型拡張装置5およびベルト型拡張装置6をユーザが使用する様子の一例を示す図
【
図7】リングコントローラに対する操作の一例であって押し込み操作を示す図
【
図8】リングコントローラに対する操作の一例であって引っ張り操作を示す図
【
図9】リングコントローラに対する操作の一例であって捻り操作を示す図
【
図10】リズムゲームの実行中に表示されるゲーム画像の一例を示す図
【
図11】特定の音楽のリズムに応じて定められた入力のタイミングの一例を示す図
【
図12】指示標識の移動経路の一例を示す図であって、指示標識が移動する様子を仮想空間の横方向から見た図
【
図13】リズムゲームの実行中に押し込み指示標識73が表示されるときのゲーム画像の一例を示す図
【
図14】リズムゲームの実行中に引っ張り指示標識74が表示されるときのゲーム画像の一例を示す図
【
図15】リズムゲームの実行中に通常指示標識72が左領域70Lまで移動するときのゲーム画像の一例を示す図
【
図16】リズムゲームの実行中に継続押し込み指示標識75が表示されるときのゲーム画像の一例を示す図
【
図17A】ユーザの入力に応じた点数の算出方法を説明するための図であって、タイミングT1において押し込み操作が検出された場合の押し込み量の変化の一例を示す図
【
図17B】ユーザの入力に応じた点数の算出方法を説明するための図であって、タイミングT1において押し込み操作が検出された場合の押し込み量の変化の一例を示す図
【
図17C】ユーザの入力に応じた点数の算出方法を説明するための図であって、タイミングT1において押し込み操作が検出された場合の押し込み量の変化の一例を示す図
【
図18A】タイミングT1よりも遅れて押し込み操作が検出される場合の押し込み量の変化の一例を示す図であって、タイミングに基づく点数Xが減点される場合の図
【
図18B】タイミングに基づく点数Xがゼロに設定される場合の押し込み量の変化の一例を示す図
【
図19】リングコントローラの変形を伴わない操作が指示される場合のユーザの入力に対する評価について説明するための図
【
図20A】ユーザの入力に関する判定が行われるタイミングと、通常指示標識72が判定領域に到達するタイミングの一例を示す図
【
図20B】ユーザの入力に関する判定が行われるタイミングと、押し込み指示標識73が判定領域に到達するタイミングの一例を示す図
【
図21】通常指示標識が表示される場合と押し込み指示標識が表示される場合のゲーム画像の比較を示す図
【
図22】指示標識の上下の移動経路の一例を示す図であって、指示標識が移動する様子を仮想空間の横方向から見た図
【
図23】リズムゲームの実行中に表示されるゲーム画像の一例を示す図であって、指示標識が下の経路を通るときのゲーム画像の一例を示す図
【
図24】本体装置2に記憶されるデータの一例を示す図
【
図25】本体装置2のプロセッサ81によって行われるゲーム処理の一例を示すフローチャート
【
図26】
図25のステップS108の評価処理の一例を示すフローチャート
【
図27】
図26のステップS112の押し/引き操作評価処理の一例を示すフローチャート
【
図28】
図26のステップS114の捻り操作評価処理の一例を示すフローチャート
【発明を実施するための形態】
【0040】
以下、本実施形態の一例に係るゲームシステムについて説明する。
図1は、ゲームシステムに含まれる各装置の一例を示す図である。
図1に示すように、ゲームシステム1は、本体装置2と、左コントローラ3および右コントローラ4と、リング型拡張装置5と、ベルト型拡張装置6とを含む。
【0041】
本体装置2は、情報処理装置の一例であり、本実施形態ではゲーム機本体として機能する。本体装置2には、左コントローラ3および右コントローラ4がそれぞれ着脱可能である(
図1参照)。つまり、ユーザは、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として使用することができる。また、ユーザは、本体装置2と左コントローラ3および右コントローラ4とを別体として使用することもできる。なお、以下においては、本体装置2と各コントローラ3および4とをまとめて、「ゲーム装置」と呼ぶことがある。
【0042】
リング型拡張装置5は、右コントローラ4に用いられる拡張装置の一例である。リング型拡張装置5は、右コントローラ4をリング型拡張装置5に装着した状態で使用される。また、ベルト型拡張装置6は、左コントローラ3に用いられる拡張装置の一例である。ベルト型拡張装置6は、左コントローラ3をベルト型拡張装置6に装着した状態で使用される。このように、本実施形態においては、ユーザは、各コントローラ3および4を各拡張装置に装着した状態で使用することもできる(
図6参照)。なお、リング型拡張装置5は、右コントローラ4に限らず、左コントローラ3を自身に装着することが可能であってもよい。ベルト型拡張装置6は、左コントローラ3に限らず、右コントローラ4を自身に装着することが可能であってもよい。これら拡張装置によって、コントローラの機能や使用態様を、拡張または変更することが可能である。なお、これら拡張装置を単に周辺機器と呼称してもよい。
【0043】
図2は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0044】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、プログラムやデータを記憶するためのフラッシュメモリ84と、情報処理において用いられる各種のデータを一時的に記憶するためのDRAM(Dynamic Random Access Memory)85を備える。
【0045】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0046】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0047】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、ネットワーク(例えば無線LAN)を介して外部の装置と無線通信を行う。
【0048】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0049】
また、本体装置2は、左コントローラ3を接続するための左側端子17と、右コントローラ4を接続するための右側端子21と、下側端子27とを備える。下側端子27にクレードル5が接続される場合、本体装置2は、クレードル5を介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0050】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0051】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0052】
本体装置2は、電力制御部97およびバッテリ98を備える。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0053】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0054】
図3は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図2で示しているため
図3では省略している。
【0055】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図3に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。
【0056】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0057】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図3では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0058】
左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104と、角速度センサ105とを備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、
図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。また、角速度センサ105は、所定の3軸(例えば、
図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
【0059】
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0060】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。例えば、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
【0061】
また、左コントローラ3は、振動子107を備える。振動子107は、本体装置2からの命令に基づいて、指定された周波数及び強さで振動する。
【0062】
また、左コントローラ3は、バッテリを含む電力供給部108を備える。
【0063】
同様に、右コントローラ4は、本体装置2との間で通信を行う通信制御部111と、メモリ112と、各ボタン113と、アナログスティック52と、慣性センサ(加速度センサ114および角速度センサ115)と、振動子117と、電力供給部118とを備える。これらは上述した左コントローラ3の各部と同様の機能を有する。
【0064】
また、右コントローラ4は、処理部121を備える。処理部121は、通信制御部111に接続される。処理部121は、CPUやメモリ等を含み、右コントローラ4に備えられた図示しない記憶装置(例えば、不揮発性メモリ等)に記憶された所定のプログラム(例えば、各種演算を行うためのアプリケーションプログラム)に基づいて、本体装置2からの指令に応じて処理を実行する。なお、処理部121が処理を行う際に用いるメモリは、処理部121内に設けられてもいいし、メモリ112であってもよい。
【0065】
図4は、リング型拡張装置の一例を示す図である。なお、
図4は、右コントローラ4が装着された状態のリング型拡張装置5を示している。本実施形態においては、リング型拡張装置5は、右コントローラ4を装着可能な拡張装置である。詳細は後述するが、本実施形態においては、ユーザは、リング型拡張装置5に力を加えて変形させるという新規な操作を行う。ユーザは、例えばエクササイズを行う感覚でリング型拡張装置5を用いたフィットネス動作を行うことによって、リング型拡張装置5に対する操作を行うことができる。
【0066】
図4に示すように、リング型拡張装置5は、環状部201と、本体部202とを備える。環状部201は、環状の形状を有する。なお、本実施形態においては、環状部201は、後述する弾性部材および台座部によって環状に形成される。本実施形態においては、環状部201は円環状である。なお、他の実施形態においては、環状部201の形状は任意であり、例えば楕円環状であってもよい。
【0067】
図4に示すように、リング型拡張装置5は、グリップカバー203および204を有する。グリップカバー203および204は、ユーザが把持するための部品である。本実施形態においては、グリップカバー203および204は、環状部201に対して取り外し可能である。本実施形態においては、環状部201の左端付近の左把持部分に左グリップカバー203が設けられ、環状部201の右端付近の右把持部分に右グリップカバー204が設けられる。なお、把持部分の数は任意であり、想定される操作方法に応じて、3箇所以上に把持部分が設けられてもよいし、1箇所のみに把持部分が設けられてもよい。また、ゲームの内容(あるいは、ゲームにおいてユーザが行うフィットネス動作の内容)によっては、複数の把持部のうちの特定の把持部のみが片手または両手で把持されることがあってもよい。
【0068】
図5は、リング型拡張装置5が備える構成要素の電気的な接続関係を示すブロック図である。
図5に示すように、リング型拡張装置5は、歪み検出部211を備える。歪み検出部211は、環状部201が変形したことを検出する検出部の一例である。本実施形態においては、歪み検出部211は、歪みゲージを含む。歪み検出部211は、後述する弾性部材の変形に応じた台座部の歪みを示す信号(換言すれば、弾性部材の変形の大きさおよび変形の向きを示す信号)を出力する。
【0069】
ここで、本実施形態においては、環状部201は、弾性変形可能な弾性部材と、台座部とを有する。台座部は、当該台座部と弾性部材とによって環が形成されるように当該弾性部材の両端部を保持する。なお、台座部は、本体部202の内部に設けられるので、
図4において図示されていない。台座部は、弾性部材よりも剛性が高い材質で構成される。例えば、弾性部材は、樹脂(具体的には、FRP(Fiber Reinforced Plastics))で構成され、台座部は、金属で構成される。上記歪みゲージは、台座部に設けられ、当該台座部の歪みを検出する。環状部201が定常状態から変形した場合、変形によって台座部に歪みが生じるので、歪みゲージによって台座部の歪みが検出される。検出された歪みに基づいて、環状部201が変形する向き(すなわち、2つのグリップカバー203および204が近づく向き、または、離れる向き)と、変形量とを算出することができる。
【0070】
なお、他の実施形態においては、歪み検出部211は、歪みゲージに代えて、環状部201が定常状態から変形したことを検出可能な任意のセンサを含んでもよい。例えば、検出部211は、環状部201が変形した場合に加わる圧力を検出する感圧センサを含んでもよいし、環状部201が曲げられた量を検出する曲げセンサを含んでもよい。
【0071】
リング型拡張装置5は、信号変換部212を備える。本実施形態においては、信号変換部212は、アンプと、ADコンバータとを含む。信号変換部212は、歪み検出部211に電気的に接続され、歪み検出部211の出力信号をアンプによって増幅し、ADコンバータによってAD変換を行う。信号変換部212は、歪み検出部211によって検出された歪み値を示すデジタル信号を出力する。なお、他の実施形態においては、信号変換部212はADコンバータを含まず、後述する処理部213がADコンバータを含んでいてもよい。
【0072】
リング型拡張装置5は、処理部213を備える。処理部213は、プロセッサとメモリとを備える処理回路であり、例えばMCU(Micro Controller Unit)である。処理部213は、信号変換部212に電気的に接続され、信号変換部212の出力信号が処理部213に入力される。また、リング型拡張装置5は、端子214を備える。端子214は、処理部213に電気的に接続される。リング型拡張装置5に右コントローラ4が装着されている場合、処理部213は、信号変換部212の出力信号が示す歪み値を示す情報を、端子214を介して右コントローラ4へ送信する。
【0073】
リング型拡張装置5は、電力変換部215を備える。電力変換部215は、上記各部211~214に電気的に接続される。電力変換部215は、端子214を介して外部(すなわち、右コントローラ4)から供給される電力を、上記各部211~214に供給する。電力変換部215は、供給される電力について電圧等の調整を行って上記各部211~214に供給してもよい。
【0074】
なお、リング型拡張装置5が他の装置へ送信する「歪み検出部の検出結果に関するデータ」は、当該検出結果(本実施形態においては、台座部の歪みを示す、歪み検出部211の出力信号)そのものを示すデータであってもよいし、当該検出結果に対して何らかの処理(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)が行われることによって得られるデータであってもよい。例えば、処理部213は、上記検出結果である歪み値に基づいて弾性部材の変形量を算出する処理を行ってもよく、このとき、「歪み検出部の検出結果に関するデータ」は、当該変形量を示すデータであってもよい。
【0075】
なお、他の実施形態においては、リング型拡張装置5は、電池を備え、当該電池の電力によって動作してもよい。また、リング型拡張装置5が備える電池は、右コントローラ4から供給される電力によって充電可能な充電池であってもよい。
【0076】
図6は、リング型拡張装置5およびベルト型拡張装置6をユーザが使用する様子の一例を示す図である。
図6に示すように、ユーザは、ゲーム装置(すなわち、本体装置2ならびに各コントローラ3および4)に加えて、2つの拡張装置5および6を用いてゲームを行う。
【0077】
具体的には、
図6に示すように、ユーザは、右コントローラ4が装着されたリング型拡張装置5を両手で把持し、左コントローラ3が装着されたベルト型拡張装置6を足に締着する。また、本体装置2はクレードル5に接続され、本体装置2によって生成されたゲーム画像は、据置型モニタ6に表示される。ユーザは、据置型モニタ6に表示されたゲーム画像を見ながらゲームを行う。
【0078】
本体装置2においてゲーム処理が実行される場合、右コントローラ4は、リング型拡張装置5から歪みデータを受信する。歪みデータは、上記歪み値を示す情報を含む。具体的には、リング型拡張装置5の処理部213は、端子214を介して歪みデータを右コントローラ4へ送信する。例えば、処理部213は、所定時間に1回の割合で歪みデータを繰り返し送信する。
【0079】
上記の場合、右コントローラ4の通信制御部111は、リング型拡張装置5から端子64を介して受信した歪みデータを本体装置2へ送信する。また、通信制御部111は、右コントローラ4に含まれる各入力部(具体的には、各ボタン113、アナログスティック52、各センサ114および115)から取得された情報を含む右コントローラ操作データを本体装置2へ送信する。なお、右コントローラ4がリング型拡張装置5に装着される状態では、右コントローラ4から本体装置2への通信は、無線通信によって行われる。通信制御部111は、右コントローラ操作データと歪みデータとをまとめて本体装置2へ送信してもよいし、別個に本体装置2へ送信してもよい。また、通信制御部111は、受信した歪みデータをそのまま本体装置2へ送信してもよいし、受信した歪みデータに何らかの加工(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)を行って本体装置2へ送信してもよい。
【0080】
一方、本体装置2においてゲーム処理が実行される場合、左コントローラ3の通信制御部101は、左コントローラ3に含まれる各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から取得された情報を含む左コントローラ操作データを本体装置2へ送信する。左コントローラ3がベルト型拡張装置6に装着される状態では、左コントローラ3から本体装置2への通信は、無線通信によって行われる。
【0081】
(本実施形態のゲームの概要)
次に、本実施形態のゲームの概要について説明する。本実施形態では、右コントローラ4が装着されたリング型拡張装置5、および、左コントローラ3が装着されたベルト型拡張装置6を用いて、リズムゲームが行われる。リズムゲームは、音楽に対応して定められた複数のタイミングのそれぞれにおいてユーザの入力に対する評価を行うゲームであり、音楽ゲームとも呼ばれることがある。本実施形態のリズムゲームは、ユーザに運動させるためのフィットネスゲームでもある。
図6に示したように、ユーザは、リング型拡張装置5を両手で把持し、ベルト型拡張装置6を脚(例えばもも)に締着した状態で、モニタ6に表示される指示にしたがった運動を行うことでリズムゲームをプレイする。以下では、右コントローラ4が装着されたリング型拡張装置5を「リングコントローラ」と表記し、左コントローラ3が装着されたベルト型拡張装置6を「脚コントローラ」と表記することがある。
【0082】
本実施形態のリズムゲームでは、ユーザは、音楽に対応して定められた所定のタイミングでリングコントローラが適切な状態となっているように操作を行う。以下では、まず、ユーザによって行われるリングコントローラに対する操作について説明した後、本実施形態のリズムゲームについて説明する。
【0083】
図7は、リングコントローラに対する操作の一例であって押し込み操作を示す図である。
図8は、リングコントローラに対する操作の一例であって引っ張り操作を示す図である。
図9は、リングコントローラに対する操作の一例であって捻り操作を示す図である。
【0084】
図7に示すように、ユーザは、リングコントローラのグリップカバー203および204を両手で把持して、左右方向からリングの中心に向かってリングコントローラを押し込むように操作する。この押し込み操作が行われると、リングコントローラは、円環状から、グリップカバー203および204を結ぶ線分を短軸とする略楕円形状に変形する。このとき、歪み検出部211(リングコントローラの変形を検出するセンサ。具体的には歪みゲージ)は、弾性部材の変形に応じた台座部の歪みを示す信号を出力する。当該信号に基づいて、歪み検出部の検出結果に関するデータ(歪みデータ)が、リング型拡張装置5から右コントローラ4に送信され、右コントローラ4は当該データを本体装置2に送信する。本体装置2は、当該データに基づいて、リングコントローラの変形に関する情報を、ユーザの入力として取得する。例えば、リングコントローラが押し込まれた場合、本体装置2は、正の歪み値を取得する。なお、以下では、リングコントローラが押し込まれた場合に出力される正の歪み値を、「押し込み量」ということがある。「押し込み量」は、リングコントローラの変形量を示す情報の一例であり、リングコントローラを押し込むときの力の強さに応じて異なる。
【0085】
また、
図8に示すように、ユーザは、リングの中心から左右方向に向かってリングコントローラを引っ張るように操作することも可能である。この引っ張り操作が行われると、リングコントローラは、円環状から、グリップカバー203および204を結ぶ線分を長軸とする略楕円形状に変形する。リングコントローラが引っ張られた場合、本体装置2は、負の歪み値を取得する。なお、以下では、リングコントローラが引っ張られた場合に出力される負の歪み値を、「引っ張り量」ということがある。「引っ張り量」は、リングコントローラの変形量を示す情報の一例であり、リングコントローラを引っ張るときの力の強さに応じて異なる。
【0086】
また、
図9に示すように、ユーザは、リングコントローラのグリップカバー203および204を両手で把持して、リングの中心軸(右コントローラ4のz軸に平行な軸)周りにリングコントローラを回転させることができる。以下では、リングの中心軸周りにリングコントローラを回転させる操作を「捻り操作」といい、当該中心軸周りの回転角を「捻り量」ということがある。捻り量がゼロ(すなわち、z軸周りの回転がゼロ)のときのリングコントローラの姿勢を「基本姿勢」という。
【0087】
リングコントローラ(右コントローラ4)の姿勢は、右コントローラ4の加速度センサ114および角速度センサ115からのデータに基づいて算出される。具体的には、本体装置2は、角速度センサ115によって検出された角速度値を積分することで、基本姿勢からの姿勢の変化を算出し、現在のリングコントローラの姿勢を算出することができる。また、本体装置2は、加速度センサ114によって検出された加速度値にも基づいて、リングコントローラの現在の姿勢を算出する。
【0088】
次に、本実施形態のリズムゲームの実行中に据置型モニタ6に表示されるゲーム画像の一例について説明する。
図10は、リズムゲームの実行中に表示されるゲーム画像の一例を示す図である。
【0089】
図10に示されるように、モニタ6の画面には、例えば、リングオブジェクト71と、指示標識としての通常指示標識72とが表示される。また、図示は省略するが、画面には、ゲーム空間を示す背景画像が表示される。
【0090】
リズムゲームの実行中は、所定の音楽が出力され、その音楽に対応して定められた所定タイミングにおいて、ユーザはリングコントローラに対する操作(押し込み操作、引っ張り操作、捻り操作)を行う。
【0091】
リングオブジェクト71は、リングコントローラを模した仮想オブジェクトであり、現在のリングコントローラの姿勢及び形状に応じて、その表示位置及び形状が変化する。リングオブジェクト71は、中央領域70Cと、右領域70Rと、左領域70Lとのうちの何れかに表示される。本実施形態のゲームでは、画面に3次元仮想空間が表示され、当該仮想空間における奥行き方向の所定位置(例えば、画面の位置)に画面と平行な平面があり、その平面が中、左、右の3つの領域に分けられる。この3つの領域が、中央領域70C、右領域70R、及び、左領域70Lである。リングオブジェクト71は、リングコントローラの姿勢に応じて、中央領域70C、右領域70R、及び、左領域70Lの何れかに表示される。なお、後述するように、当該平面は、上下にも分けられる。すなわち、当該平面は、上側の3つの領域(中、左、右)と、下側の3つの領域(中、左、右)とに分けられる。ユーザが立った姿勢ではリングオブジェクト71は、上側の3つの領域の何れかに位置され、ユーザが膝を曲げた姿勢ではリングオブジェクト71は、下側の3つの領域の何れかに位置される。
【0092】
例えば、リングコントローラが基本姿勢である場合(すなわち、捻り量がゼロ)、リングオブジェクト71は、画面の中央領域70Cに表示される。リングコントローラに対して右捻り操作が行われた場合(例えば、時計回りに30度以上回転された場合)、リングオブジェクト71は、画面の右領域70Rに表示される。また、リングオブジェクト71の姿勢は、現実空間のリングコントローラの姿勢と連動する。このため、リングコントローラに対して右捻り操作が行われた場合は、その捻り角に応じてリングオブジェクト71も、画面の奥行き方向の軸回りに回転する。例えば、リングコントローラが時計回りに回転される場合、リングオブジェクト71も、画面の奥行き方向の軸回りに時計回りに回転し、リングコントローラの回転角が所定以上となったときに、リングオブジェクト71は右領域70Rに移動する。また、リングコントローラに対して左捻り操作が行われた場合(例えば、反時計回りに30度以上回転された場合)、リングオブジェクト71は、画面の左領域70Lに表示されるとともに、画面の奥行き方向の軸回りに反時計回りに所定の角度(例えば30度)回転する。なお、リングコントローラに対して右捻り操作又は左捻り操作が行われる場合において、リングオブジェクト71が中央領域70Cに存在する間はリングオブジェクト71の姿勢は変化せず、リングオブジェクト71が右領域70R又は左領域70Lに移動したときに、リングオブジェクト71の姿勢が変化してもよい。
【0093】
また、リングコントローラに対して押し込み操作が行われている場合、リングオブジェクト71は、左右方向を短軸とする楕円形状に変化する。本実施形態では、歪み検出部211の検出結果に応じた「押し込み量」が所定の閾値を超えている場合、押し込み操作が行われていると判断される。
図10の(b)では、リングコントローラに対して押し込み操作が行われ、かつ、右捻り操作が行われている。このため、リングオブジェクト71は、右領域70Rに表示され、左右方向を短軸とする楕円形状に変化するとともに時計回りに所定の角度回転している。
【0094】
また、リングコントローラに対して引っ張り操作が行われている場合、リングオブジェクト71は、左右方向を長軸とする楕円形状に変化する。本実施形態では、歪み検出部211の検出結果に応じた「引っ張り量」が所定の閾値を超えている場合(歪み値の絶対値が所定の閾値を超えている場合)、引っ張り操作が行われていると判断される。
図10の(c)では、リングコントローラに対して引っ張り操作が行われ、かつ、左捻り操作が行われている。このため、リングオブジェクト71は、左領域70Lに表示され、左右方向を長軸とする楕円形状に変化するとともに反時計回りに所定の角度回転している。
【0095】
指示標識は、リングコントローラに対する操作をユーザに指示するための画像である。本実施形態では、リングコントローラに対する操作に応じて複数の指示標識が用意されている。複数の指示標識は、通常指示標識72と、押し込み指示標識73と、引っ張り指示標識74とを含む。
【0096】
図10に示すように、通常指示標識72は円環状の画像である。通常指示標識72は、リングコントローラの変形を必要としないことを示す指示標識である。押し込み指示標識73は、ユーザに押し込み操作を指示するための指示標識である。後述する
図13に示すように、押し込み指示標識73は、円環状の画像を左右方向から押し込んで変形させたような画像であり、例えば、左右方向を短軸とする楕円形状である。また、引っ張り指示標識74は、ユーザに引っ張り操作を指示するための指示標識である。後述する
図14に示すように、引っ張り指示標識74は、円環状の画像を左右方向に引っ張って変形させたような画像であり、例えば、左右方向を長軸とする楕円形状である。
【0097】
本実施形態では、複数の指示標識として上記の他にも、継続的な押し込み操作を指示するための継続押し込み指示標識75(
図16参照)と、継続的な引っ張り操作を指示するための継続引っ張り指示標識(図示せず)とが用意されている。ほかにも、複数の指示標識として、連続押し込み操作を指示する指示標識と、連続引っ張り操作を指示する指示標識とが用意されてもよい(ともに図示せず)。ここで、継続的な押し込み操作(又は引っ張り操作)とは、リングコントローラが所定時間押し込まれた状態(又は引っ張られた状態)を維持することを意味する。また、連続押し込み操作(又は引っ張り操作)とは、所定時間に、複数回の押し込み操作(又は引っ張り操作)を複数回行うことを意味する。
【0098】
指示標識は、画面の奥行き方向の初期位置から手前方向に向かって移動表示される。ユーザは、移動する指示標識を見ながら指示標識が所定位置に到達するタイミングで、リングコントローラを用いて指示標識によって指示された操作を行う。適切なタイミングで適切な操作が行われた場合には、点数が付与される。
【0099】
例えば、
図10の(a)の時点で画面の奥行き方向の初期位置に通常指示標識72が出現する。通常指示標識72は、初期位置から画面の手前方向に向かって移動し、所定時間が経過した時点で画面の位置まで到達する。具体的には、通常指示標識72は、画面の奥行き方向の初期位置から、中央領域70C、右領域70R、及び、左領域70Lのうちの何れかの領域に向かって移動する(
図10の(b)~(c))。そして、通常指示標識72は、初期位置に出現してから所定時間が経過した時点で、中央領域70C、右領域70R、及び、左領域70Lのうちの何れかの領域まで到達する(
図10の(d))。
【0100】
この通常指示標識72が中央領域70C、右領域70R、及び、左領域70Lのうちの何れかの領域に到達したタイミングで、ユーザの入力に対する評価が行われる。具体的には、通常指示標識72が中央領域70C、右領域70R、及び、左領域70Lのうちの何れかの領域に到達したタイミングで、リングオブジェクト71が通常指示標識72と同じ領域に存在する場合、点数が付与される。
【0101】
音楽の出力中に、複数の指示標識のうちの何れかが順に初期位置に出現し、中央領域70C、右領域70R、及び、左領域70Lのうちの何れかの領域まで移動する。なお、ここでは中央領域70C、右領域70R、及び、左領域70Lを、「判定領域」という。画面の奥行方向における判定領域の位置は、画面の位置と一致する。指示標識は、画面の奥行き方向の初期位置から判定領域(画面)に近づくように移動する。ユーザは、指示標識が判定領域に到達するタイミングで、指示標識に応じた操作を行うことで操作に応じた点数を獲得することができる。
【0102】
ユーザが指示標識に応じた操作を行うタイミングは、基本的には音楽のリズムに合うように予め定められている。音楽に対応して定められた複数のタイミングのそれぞれでユーザにリングコントローラに対する操作を行わせるように、指示標識が出現及び移動する。各タイミングにおいてユーザの入力に対する評価が行われ、評価結果に応じた点数が付与される。
【0103】
図11は、特定の音楽のリズムに応じて定められた入力のタイミングの一例を示す図である。
図11において、横軸は時間を示し、「中」は中央領域70Cを示し、「左」は左領域70Lを示し、「右」は右領域70Rを示している。また、
図11において、「押し込み」は押し込み操作を示し、「引っ張り」は引っ張り操作を示している。また、「通常」は、リングコントローラの変形を必要としない操作を示し、リングコントローラに対する捻り操作(右捻り操作、左捻り操作、又は、リングコントローラを基本姿勢にする操作)を示す。
【0104】
図11に示すように、音楽のリズムに合う複数のタイミング(T1、T2、T3等)が予め定められる。
図11に示す各タイミングにおいてユーザにリングコントローラを用いた操作を行わせるように、指示標識を用いた指示が行われる。各タイミングにおいてリングコントローラを用いたユーザの入力が行われたか否かの判定が行われ、当該判定結果に基づいてユーザの入力に対する評価が行われる。
【0105】
例えば、時点t0において音楽の出力が開始された後、時点t1を基準とした期間であるタイミングT1においてユーザに押し込み操作を行わせるように、指示が行われる。このタイミングT1において、ユーザの入力に関する判定が行われ、判定結果に応じた点数が付与される。具体的には、タイミングT1において、リングコントローラが基本姿勢であり、かつ、押し込み操作が行われている場合には、点数が付与される。
【0106】
同様に、時点t2を基準とした期間であるタイミングT2において、リングコントローラが基本姿勢であり、かつ、押し込み操作が行われている場合、点数が付与される。また、時点t4を基準とした期間であるタイミングT4においては、ユーザは、右捻り操作及び引っ張り操作を行う必要がある。タイミングT4において、右捻り操作及び引っ張り操作が行われている場合、点数が付与される。また、時点t7を基準とした期間であるタイミングT7においては、基本姿勢に制御する必要がある。タイミングT7において、リングコントローラが基本姿勢である場合、点数が付与される。タイミングT7において、リングコントローラが変形していても、変形していなくても、リングコントローラが基本姿勢である場合には(すなわち、リングオブジェクト71が中央領域70Cに位置している場合には)、点数が付与される。すなわち、タイミングT7においては、ユーザは、リングコントローラを変形させる必要はない。
【0107】
図11に示す各タイミング(T1、T2、T3等)においてユーザに各操作を行わせるために、上述した指示標識の移動が制御される。具体的には、
図11に示す各タイミング(T1、T2、T3等)において指示標識が判定領域に到達するように、指示標識の移動が制御される。例えば、タイミングT1において押し込み指示標識73が中央領域70Cに到達するように、押し込み指示標識73の移動が制御される。また、タイミングT4において引っ張り指示標識74が右領域70Rに到達するように、引っ張り指示標識74の移動が制御される。また、タイミングT8において通常指示標識72が左領域70Lに到達するように、通常指示標識72の移動が制御される。なお、詳細は後述するが、リングコントローラの変形を伴う指示標識(押し込み指示標識73又は引っ張り指示標識74)が表示される場合、当該指示標識が判定領域に到達するタイミングと、ユーザの入力に対する評価が行われるタイミングとには、ずれがある。
【0108】
なお、
図11に示す各タイミング(T1、T2、T3等)において、指示標識の表示に加えて、振動を出力することでユーザにリングコントローラに対する操作のタイミングを指示してもよい。例えば、右コントローラ4の振動子117(又は左コントローラ3の振動子107)を振動させることでユーザに操作のタイミングを指示してもよい。また、例えば、各時点t1、t2、t3等において右コントローラ4の振動を開始することにより、ユーザに対して操作のタイミングを指示してもよい。また、ユーザの操作に対する評価を行う各期間(T1、T2、T3等)、振動を継続させてもよい。また、指示標識の種類(操作の種類)に応じて、振動のパターンを異ならせてもよい。
【0109】
本実施形態のリズムゲームでは、予め複数の音楽が用意されており、各音楽に応じて
図11に示すような入力のタイミングが予め定められている。
【0110】
図12は、指示標識の移動経路の一例を示す図であって、指示標識が移動する様子を仮想空間の横方向から見た図である。
図12に示すように、ユーザの視点(仮想カメラ)は仮想空間の所定位置に配置され、z軸正方向を向いている。指示標識は、仮想カメラからz軸方向の所定位置であって所定の高さの初期位置から、z軸負方向かつ下方向に向かって曲線を描きながら移動する。具体的には、指示標識は、その移動方向が仮想カメラ(ユーザの視点)に近いほど水平になるように(z軸との角度が小さくなるように)、移動する。仮想カメラに基づいて生成されたゲーム画像が画面に表示されると、
図10に示したように、指示標識が画面の奥行き方向から手前方向に近づいてくる様子が表示される。指示標識が仮想カメラの位置(画面の位置)に到達した場合、
図10の(d)に示したような画像が表示される。
【0111】
指示標識が
図12に示すような曲線を描くように移動することで、指示標識が判定領域に到達するタイミングをユーザが認識し易くなる。例えば、指示標識が仮想カメラの視線方向と平行に直線的に移動する場合、複数の指示標識が並んで移動するときに、複数の指示標識が重なってしまうことがある。この場合、指示標識が判定領域に到達するタイミングをユーザが認識し難い可能性がある。しかしながら、本実施形態では、指示標識が曲線を描くように移動するため、複数の指示標識が並んで移動する場合でも、それぞれの指示標識が重なり合いにくくなり、ユーザは各指示標識を認識し易くなる。このため、ユーザは、各指示標識が判定領域に到達するタイミングを認識し易くなる。
【0112】
(ゲーム画像の例)
次に、リズムゲーム中に表示されるゲーム画像とリングコントローラの操作の例について説明する。
図13は、リズムゲームの実行中に押し込み指示標識73が表示されるときのゲーム画像の一例を示す図である。
図14は、リズムゲームの実行中に引っ張り指示標識74が表示されるときのゲーム画像の一例を示す図である。
図15は、リズムゲームの実行中に通常指示標識72が左領域70Lまで移動するときのゲーム画像の一例を示す図である。
図16は、リズムゲームの実行中に継続押し込み指示標識75が表示されるときのゲーム画像の一例を示す図である。
【0113】
図13に示すように、音楽の出力中のある時点(例えばt1より所定時間前の時点)で、押し込み指示標識73が初期位置に出現する(
図13の(a))。押し込み指示標識73は、画面の奥行き方向の初期位置から中央経路に沿って画面に近づくように移動する(
図13の(b)~(c))。そして、
図13の(d)に示すように、押し込み指示標識73が判定領域(ここでは中央領域70C)に到達するタイミングで、リングコントローラに対する押し込み操作が行われた場合、当該操作に対する評価を示す点数が付与される。
【0114】
ここで付与される点数は、押し込み操作のタイミングと、その押し込み操作における押し込み量とに基づいて算出される。リングコントローラの変形を伴う操作が行われる場合、点数は150点満点である。リングコントローラに対する操作に応じて付与される点数の詳細については後述する。
【0115】
また、
図13の(d)に示すように、付与された点数を示す画像と、点数の段階を示す画像とが表示される。例えば、段階を示す画像として、点数に応じて、「Amazing」、「Great」、「Good」、「Bad」がある。例えば、点数が150点の場合は「Amazing」が表示され、点数が100点の場合は「Good」が表示される。また、付与された点数に応じた演出が行われる。例えば、点数に応じた演出として、エフェクト画像77が表示されるとともに、効果音が出力される。
【0116】
また、
図14に示すように、音楽の出力中の別の時点で、引っ張り指示標識74が初期位置に出現する(
図14の(a))。引っ張り指示標識74は、画面の奥行き方向の初期位置から右側経路に沿って画面に近づくように移動する(
図14の(b)~(c))。そして、
図14の(d)に示すように、引っ張り指示標識74が判定領域(ここでは右領域70R)に到達するタイミングで、ユーザの入力に対する評価が行われる。ここでは、このタイミングでリングコントローラに対する引っ張り操作が行われなかったため、点数として「0」点となり、点数に応じた段階を示す画像として、「Bad」の文字が表示される。
【0117】
また、
図15に示すように、音楽の出力中のさらに別の時点で、通常指示標識72が初期位置に出現する(
図15の(a))。通常指示標識72は、画面の奥行き方向の初期位置から左側経路に沿って画面に近づくように移動する(
図15の(b)~(c))。そして、
図15の(d)に示すように、通常指示標識72が判定領域(ここでは左領域70L)に到達するタイミングで、ユーザの入力に対する評価が行われる。ここでは、このタイミングでリングコントローラに対する左捻り操作が行われているため、点数として「100」点が付与され、点数に応じた段階として、「Amazing」の文字が表示される。また、通常指示標識72が判定領域に到達する前から左捻り操作が行われている場合でも、「100」点が付与される。すなわち、通常指示標識72が判定領域に到達する時点で左捻り操作が行われていれば(リングオブジェクト71が左領域70Lに存在していれば)、通常指示標識72が判定領域に到達する瞬間に左捻り操作が行われた場合でも、通常指示標識72が判定領域に到達する時点よりも前から左捻り操作が行われている場合でも、同じ点数が付与される。なお、通常指示標識72の場合は、100点が満点であり、満点の場合は段階として「Amazing」が表示される。
【0118】
また、
図16に示すように、音楽の出力中のさらに別の時点において継続押し込み指示標識75が出現する場合がある(
図16の(a))。継続押し込み指示標識75は、押し込み指示標識73と同様の画像が複数連結されたような画像であり、ユーザに押し込み操作を継続させるための指示標識である。
図16の(b)に示すように、継続押し込み指示標識75の一部が判定領域に表示されている間、ユーザが継続的に押し込み操作を行っている場合、点数が付与される。押し込みが開始されたタイミングと、押し込みが継続されている時間と、押し込み操作における押し込み量とに基づいて、点数が付与される。
【0119】
継続押し込み指示標識75も左、中央、右の何れかの経路に沿って移動し、左、中央、右の何れかの判定領域に到達する。リングオブジェクト71が、継続押し込み指示標識75の到達領域と同じ領域に存在し、かつ、継続的にリングコントローラが押し込まれている場合に、点数が付与される。
【0120】
ここで、リングオブジェクト71が継続押し込み指示標識75の到達領域と同じ領域に存在する場合において、ユーザが意図しなくても、リングコントローラの姿勢が変化する場合がある。例えば、リングコントローラに対して押し込み操作を継続している場合には、ユーザは意図せずにリングコントローラの姿勢を変化させてしまうことがある。本実施形態では、継続押し込み指示標識75が判定領域に到達しており、かつ、継続押し込み指示標識75が到達した領域と同じ領域にリングオブジェクト71が存在している場合、リングコントローラの姿勢が変化しても、リングオブジェクト71の表示位置を変化させない。すなわち、継続押し込み指示標識75が判定領域に存在している間、リングオブジェクト71が同じ領域に移動した場合には、押し込み操作が行われているか否かに拘らず、リングオブジェクト71がその領域に固定される。継続押し込み操作を行うタイミングが経過した場合は(すなわち、継続押し込み指示標識75が判定領域に存在しなくなった場合は)、その固定は解除される。例えば、継続押し込み指示標識75が右領域70Rに存在する場合、リングコントローラに対して右捻り操作及び押し込み操作が継続している場合は、リングオブジェクト71は右領域70Rに表示され、点数が付与される。この押し込み操作の継続中に、リングコントローラが基本姿勢に戻ったり、左捻り操作が行われた場合でも、リングオブジェクト71は、継続的に右領域70Rに表示され、点数が付与される。また、継続押し込み指示標識75が右領域70Rに存在する場合においてリングコントローラに対して右捻り操作が行われ、かつ、押し込み操作が行われていない場合、リングオブジェクト71は右領域70Rに表示されるものの、点数は付与されない。この場合において、リングコントローラが基本姿勢に戻ったり、左捻り操作が行われた場合でも、リングオブジェクト71は、継続的に右領域70Rに表示される(点数は付与されない)。すなわち、継続押し込み指示標識75と同じ領域にリングオブジェクト71が存在している場合には、その後にリングコントローラの姿勢が変化しても、リングオブジェクト71は移動しない。これにより、ユーザの意図に反してリングオブジェクト71を移動させないようにすることができる。また、押し込み操作が継続している場合には、途中でリングオブジェクトの姿勢が変化した場合でも、点数を付与することができる。なお、別の実施形態では、継続押し込み指示標識75と同じ領域にリングオブジェクト71が存在し、かつ、押し込み操作が継続している場合には、その後にリングコントローラの姿勢が変化しても、リングオブジェクト71は移動しないようにしてもよい。この場合、押し込み操作が継続している間は、リングオブジェクト71の位置は固定されるが、押し込み操作が終了された場合には、リングオブジェクト71の位置の固定は解除される。
【0121】
(ユーザの入力の評価)
次に、ユーザの入力に対する評価について説明する。
図17A~
図17Cは、ユーザの入力に応じた点数の算出方法を説明するための図であって、タイミングT1において押し込み操作が検出された場合の押し込み量の変化の一例を示す図である。
【0122】
ユーザの入力に対する評価(点数Z)は、リングコントローラの変形を伴う操作である場合、操作のタイミングに基づく点数(X)と、リングコントローラの変形量に基づく点数(Y)とに基づいて算出される。なお、連続押し込み操作(又は連続引っ張り操作)を指示する指示標識が表示される場合は、押し込み回数(又は引っ張り回数)に基づいて点数が算出される。
【0123】
具体的には、音楽の出力が開始された後、時点t1からαの期間であるタイミングT1において押し込み量が所定の閾値を超えている場合、押し込み操作が検出される。例えば、
図17Aに示すように、時点t1からαの期間内である時点t1’において、押し込み量が閾値を超えた場合、この時点t1’において押し込み操作が検出される。タイミングT1において押し込み操作が検出された場合、タイミングに基づく点数Xとしては、例えば100点(満点)に設定される。
【0124】
押し込み操作が検出された時点t1’から5フレーム時間(例えば、1フレーム時間=1/60秒)が経過した時点で、押し込み量判定が行われる。具体的には、押し込み量判定では、時点t1’の前後5フレーム時間における変形量(ここでは押し込み量)の最大値が算出される。この10フレーム間における変形量の最大値に基づいて、点数Yが算出される。点数Yは、例えば50点満点で算出され、変形量の最大値が大きいほど50点に近づく。点数Yと変形量の最大値との関係はどのようなものでもよい。例えば、点数Yは、変形量の最大値に比例してもよい。
【0125】
変形量に基づいて点数Yが算出された場合、タイミングT1におけるユーザの入力に対する評価(点数Z)が算出される。具体的には、点数Zは、XとYの合計である。したがって、押し込み操作が指示された場合に付与される点数Zは、最大で150点である。
【0126】
また、
図17Bに示すように、時点t1の直前に押し込み操作が開始された場合、時点t1において押し込み量が所定の閾値を超えているか否かの判定が行われ、閾値を超えている場合は、時点t1において押し込み操作が検出される。この時点t1で、タイミングに基づく点数Xとしては、100点が設定される。押し込み操作が検出された時点t1から5フレーム時間が経過した時点で、押し込み量判定が行われ、変形量に基づく点数Yが算出される。具体的には、時点t1の前後5フレーム時間における変形量の最大値が算出され、この最大値に基づいて点数Yが算出される。
【0127】
また、
図17Cに示すように、時点t1の前に押し込み操作が開始された場合において、時点t1においても押し込み量が所定の閾値を超えている場合、時点t1において押し込み操作が検出される。この時点t1で、タイミングに基づく点数Xとしては、100点が設定される。押し込み操作が検出された時点t1から5フレーム時間が経過した時点で、押し込み量判定が行われ、変形量に基づく点数Yが算出される。時点t1の前後5フレーム時間における変形量の最大値が算出され、この最大値に基づいて点数Yが算出される。タイミングT1(期間α)より前において変形量の最大値が検出された場合でも、この最大値に基づいて点数Yが算出される。
【0128】
このように、タイミングT1において押し込み操作が開始された場合、タイミングに基づく点数Xとしては、100点(満点)が設定される。また、タイミングT1よりも前から押し込み操作が開始され、タイミングT1において押し込み操作が継続している場合でも、タイミングT1において押し込み操作が開始された場合と同様に、100点が設定される。すなわち、タイミングT1においてリングコントローラが押し込みにより変形している場合には、タイミングT1より前から変形しているか否かに拘らず、タイミングに基づく点数Xとして100点が設定される。
【0129】
図18Aは、タイミングT1よりも遅れて押し込み操作が検出される場合の押し込み量の変化の一例を示す図であって、タイミングに基づく点数Xが減点される場合の図である。
【0130】
図18Aに示すように、タイミングT1内では押し込み量が閾値を超えず、タイミングT1の後のβの期間内で押し込み量が閾値を超えた場合、押し込み量が閾値を超えた時点td1で押し込み操作が検出される。時点td1とタイミングT1との間の遅延時間に応じて、タイミングに基づく点数Xが算出される。例えば、点数Xは、10点~80点の間で設定される。例えば、遅延時間が1フレーム時間の場合、点数Xは80点に設定され、以後、点数Xは遅延時間に対して線形的に減少してもよい。
【0131】
また、時点td1から5フレーム時間が経過した時点で、押し込み量判定が行われ、変形量に基づく点数Yが算出される。タイミングT1よりも遅れて押し込み操作が検出された場合も、タイミングT1において押し込み操作が検出された場合と同様に、時点td1の前後5フレーム時間における変形量の最大値に基づいて、点数Yが算出される。そして、ユーザの入力に対する評価(点数Z)として、XとYの和が算出される。
【0132】
図18Bは、タイミングに基づく点数Xがゼロに設定される場合の押し込み量の変化の一例を示す図である。
【0133】
図18Bに示すように、タイミングT1(αの期間)内では押し込み量が閾値を超えず、かつ、タイミングT1の後のβの期間内でも押し込み量が閾値を超えなかった場合、タイミングに基づく点数Xは、ゼロに設定される。期間βの後に押し込み量が閾値を超えても、タイミングに基づく点数Xはゼロになる。この場合、変形量に基づく点数Yもゼロとなる。したがって、タイミングT1、及び、タイミングT1の後のβの期間内に押し込み量が閾値を超えなかった場合は、βの期間後に押し込み量が閾値を超えたか否かに拘らず、ユーザの入力に対する評価(点数Z)としては、ゼロとなる。このように、タイミングT1以前の押し込み操作の開始タイミングについては点数Xに影響を与えないが、タイミングT1以後の押し込み操作の開始タイミングについては点数Xに影響を与えることとなる。
【0134】
点数Zの値に応じて、ユーザの入力に対する評価が4段階で表示される。例えば、点数Zが150点~135点の場合は、評価「Amazing」が表示され、点数Zが134点~110点の場合は、評価「Great」が表示される。
【0135】
また、この4段階の表示に加えて、ユーザの入力に対する評価(点数Z)に応じた演出が行われる。本実施形態では、評価に応じた演出として、効果音の出力とエフェクト画像の出力とが行われる。
【0136】
具体的には、押し込み操作が検出された時点で、第1効果音の出力が開始される。例えば、
図17Aの場合には、時点t1’で第1効果音が出力される。また、
図17B及び
図17Cの場合は、時点t1で第1効果音が出力される。また、
図18Aの場合には、時点td1で第1効果音が出力される。
【0137】
第1効果音には、第1効果音Aと第1効果音Bとがある。タイミングT1において押し込み操作が検出された場合(すなわち、点数Xが100点の場合)には、第1効果音Aが出力される。タイミングT1から遅れて押し込み操作が検出された場合(すなわち、点数Xが100点から減点される場合)には、第1効果音Bが出力される。第1効果音Aは、第1効果音Bよりもユーザにとって快適な音であり、例えば、第1効果音Aの方が第1効果音Bよりも高音であってもよい。
【0138】
第1効果音が出力された後、押し込み操作が検出されてから5フレームが経過した時点(すなわち、押し込み量判定が行われる時点)において、第2効果音の出力が開始される。第2効果音として、例えば4種類の効果音がある。具体的には、「Amazing」に対応する第2効果音Aと、「Great」に対応する第2効果音Bと、「Good」に対応する第2効果音Cと、「Bad」に対応する第2効果音Dとがある。点数Zに応じてこれら4種類の第2効果音の中から何れかが選択され、出力される。第2効果音Aは、第2効果音B~Dと比べてユーザにとって快適な音であり、例えばこれらの音よりも高音であってもよい。また、第2効果音Bは、第2効果音C及びDと比べてユーザにとって快適な音である。また、第2効果音Cは、第2効果音Dと比べてユーザにとって快適な音である。
【0139】
押し込み操作が検出された時点で出力される第1効果音と、その5フレーム時間後に出力される第2効果音とは、一連の効果音であるように連続して出力される。例えば、押し込み操作が検出された時点で第1効果音の出力が開始され、当該第1効果音の出力中に、第2効果音の出力が開始される。これにより、ユーザには、第1効果音及び第2効果音が1つの効果音であるように聞こえる。
【0140】
本実施形態では、押し込み操作のタイミングに基づく点数Xに加えて、その押し込み操作における押し込み量に基づいて点数Yが算出される。押し込み操作が検出された時点から5フレーム時間後に押し込み量に基づく点数Yが算出されて点数Zが確定するため、押し込み操作が検出された時点では、点数Zに応じた効果音を出力することができない。押し込み操作が検出された時点で効果音を出力せず、押し込み操作が検出された時点から5フレーム時間後に効果音を出力する場合、ユーザの入力のタイミングから遅れて効果音が出力される。この場合、ユーザは違和感を感じる可能性がある。
【0141】
このため、本実施形態では、押し込み操作が検出された時点で第1効果音を出力し、さらに5フレーム時間後に第2効果音を出力する。このように2段階で効果音を出力することにより、ユーザの入力から遅れずに効果音を出力するとともに、ユーザの入力に対する評価に応じた適切な効果音を出力することができ、ユーザにとって違和感のない操作に応じた効果音を出力することができる。
【0142】
エフェクト画像の出力についても、2段階で行われる。すなわち、押し込み操作が検出された時点で第1エフェクト画像が表示され、押し込み操作が検出された時点から5フレーム時間後に、点数Zに応じた第2エフェクト画像が表示される。第2エフェクト画像として、4段階の評価(「Amazing」、「Great」、「Good」、「Bad」)のそれぞれに対応する4つの画像が用意されている。押し込み操作が検出された時点から5フレーム時間後に、点数Zに応じて4つの第2エフェクト画像の中から何れかが選択されて表示される。第1エフェクト画像は、4段階の評価に共通の画像であり、第1エフェクト画像が表示されてから、4つの第2エフェクト画像の何れが表示されても、ユーザにとって違和感のない画像となっている。例えば、第1エフェクト画像は円形の画像であり、「Amazing」に対応する第2エフェクト画像は、大きな星型の画像であり、「Great」に対応する第2エフェクト画像は、小さな星型の画像であってもよい。例えば、押し込み操作が検出された時点で、第1エフェクト画像として円形の画像が表示され、その5フレーム時間後に、点数Zが確定して、「Amazing」に対応する第2エフェクト画像として、大きな星型の画像が表示される。このような一連の第1エフェクト画像及び第2エフェクト画像を見た場合、円形の画像から大きな星型の画像に変化するように見え、1つの演出として違和感のない画像となる。
【0143】
このように2段階でエフェクト画像を表示することにより、ユーザの入力から遅れずにエフェクト画像を表示するとともに、ユーザの入力に対する評価に応じた適切なエフェクト画像を表示することができ、ユーザにとって違和感のない評価に応じたエフェクト画像を表示することができる。
【0144】
なお、
図17A~
図18Bでは、押し込み操作が指示される場合について説明した。引っ張り操作が指示される場合も、同様の方法により、タイミングに基づく点数Xと、変形量(引っ張り量)に基づく点数Yとに基づいて、ユーザの入力に対する評価(点数Z)が算出される。
【0145】
一方、リングコントローラの変形を伴わない操作(右捻り操作、左捻り操作、及び、リングコントローラが基本姿勢となる操作)が指示される場合には、通常指示標識72が複数の判定領域(中央領域70C、右領域70R、及び、左領域70L)のうちの何れかに到達するタイミングで、リングオブジェクト71が同じ領域に位置するか否かによってユーザの入力に対する評価が行われる。
【0146】
図19は、リングコントローラの変形を伴わない操作が指示される場合のユーザの入力に対する評価について説明するための図である。
【0147】
図19に示すように、タイミングT7において通常指示標識72が中央領域70Cに到達する場合、このタイミングT7においてリングオブジェクト71が中央領域70Cに位置するときには、タイミングに基づく点数Xとして100点が設定される。リングコントローラの変形を伴わない操作が指示される場合には、変形量に基づく点数Yは加算されないため、ユーザの入力に対する評価(点数Z)は、タイミングに基づく点数Xと等しい。例えば、タイミングT7より前からリングオブジェクト71が中央領域70Cに位置し、タイミングT7においても継続してリングオブジェクト71が中央領域70Cに位置している場合、点数Xは100点に設定される。また、例えば、タイミングT7内の時点t7’において、リングオブジェクト71が左領域70Lから中央領域70Cに移動した場合でも、点数Xは100点に設定される。
【0148】
一方、例えば、タイミングT8において通常指示標識72が左領域70Lに到達する場合において、このタイミングT8でリングオブジェクト71が左領域70Lに位置しない場合は、点数Xは減点される。例えば、タイミングT8の後のβの期間内である時点td8において、リングオブジェクト71が中央領域70Cから左領域70Lに移動した場合、タイミングT8と時点td8との間の遅延時間に応じて、点数Xが減点される。この場合の点数Xの算出方法は、リングコントローラの変形を伴う操作(押し込み操作又は引っ張り操作)が指示される場合の算出方法と同じである。なお、βの期間内でもリングオブジェクト71が通常指示標識72の到達領域である左領域70Lに位置しない場合には、点数Xはゼロとなる。
【0149】
なお、上記期間α及びβは、音楽に予め定められた各時点(t1、t2、t3・・・)に対して設定される。各時点(t1、t2、t3・・・)に設定された期間α及びβの長さは、それぞれ同じであってもよいし、異なってもよい。
【0150】
以上のように、本実施形態のリズムゲームでは、音楽に対応して設定された所定タイミングにおいてリングコントローラの変形を伴う操作が指示される。所定タイミングにおいてリングコントローラが変形している場合には、所定タイミングより前から変形しているか否かに拘らず、タイミングに基づく点数Xとして100点が設定される。例えば、所定タイミングにおいて、リングコントローラが変形していない状態から変形している状態に変化した場合、点数Xとして100点が設定される。所定タイミングより前にリングコントローラが変形を開始し、所定タイミングにおいて変形が継続している場合も、同様に点数Xとして100点が設定される。一方、所定タイミングより後にリングコントローラが変形を開始した場合は、点数Xは100点から減点される。
【0151】
このように、所定タイミングにおいてリングコントローラが変形している場合には、所定タイミングより前から変形しているか否かに拘らず、高い評価を与えることにより、変形するリングコントローラを用いてリズムゲームにおける入力を行うことができる。
【0152】
例えば、従来のリズムゲームでは、音楽に対応して定められる所定タイミングにおいて、ボタン操作を行うことにより、高い点数が付与されるものがある。具体的には、所定タイミングにおいて、ボタンが押下されていない状態から押下された状態(OFFからON)になった場合は、高い点数が付与される。一方、所定タイミングより前にボタンが押下され、所定タイミングにおいて押下された状態である場合には、減点される。所定タイミングより後にボタンが押下された場合も同様に減点される。
【0153】
しかしながら、リングコントローラを変形させることによってリズムゲームにおける入力を行う場合、ユーザが意図した通りに入力を行うことが難しい場合がある。ある程度の力を加えることでリングコントローラが変形する場合、ユーザが力を加えるタイミングと、リングコントローラの変形が検出されるタイミングとにはずれが生じる場合がある。例えば、ユーザが力を加えたとしても、リングコントローラは瞬間的に変形せず、ユーザが力を加えたタイミングからずれてリングコントローラの変形が検出される場合がある。また、例えば、ユーザは強い力を加えるために反動を利用してリングコントローラを押し込む場合があり、この場合は、ユーザが意図したタイミングとリングコントローラの変形が検出されるタイミングとにはずれが生じることがある。また、リングコントローラの変形によって入力を行う場合、ユーザはどの程度変形させれば入力が検出されるか分かり難い場合がある。
【0154】
このような理由から、本実施形態では、音楽に対応して定められる所定タイミングより前からリングコントローラが変形しているか否かにかかわらず、所定タイミングにおいてリングコントローラが変形しているか否かを判定し、所定タイミングにおいて変形している場合には高い評価を付与する。これにより、力を加えることで変形するリングコントローラをリズムゲームにおける入力に用いることができる。
【0155】
また、所定タイミングより前からリングコントローラを変形させている場合でも、高い評価を付与することにより、ユーザにリングコントローラを用いた運動を行わせる動機づけを与えることができる。例えば、ユーザは、押し込み指示標識73が初期位置に出現したときから、押し込み操作を行い、押し込み指示標識73が判定領域に到達するまで、押し込み操作を継続して、高い点数を獲得することができる。これにより、リズムゲームにおいてユーザに積極的に運動を行わせることができる。
【0156】
次に、ユーザの入力に関する判定が行われるタイミングと、指示標識が判定領域に到達するタイミングの詳細に説明する。
【0157】
図20Aは、ユーザの入力に関する判定が行われるタイミングと、通常指示標識72が判定領域に到達するタイミングの一例を示す図である。
図20Bは、ユーザの入力に関する判定が行われるタイミングと、押し込み指示標識73が判定領域に到達するタイミングの一例を示す図である。
【0158】
図20Aに示すように、通常指示標識72は、画面の奥行方向の初期位置から曲線を描きながら画面に近づく。ユーザの入力に関する判定が行われるタイミング(判定タイミングDT)において、通常指示標識72は判定領域に到達する。このとき、通常指示標識72は、
図10の(d)で示したように、画面上に位置するように表示される。上述したように、この判定タイミングDTにおいて通常指示標識72が到達する判定領域(中央領域70C、右領域70R、及び、左領域70Lのうちの何れか)にリングオブジェクト71が存在していれば、タイミングに基づく点数Xとして100点が付与される。
【0159】
一方、押し込み指示標識73が移動表示される場合、
図20Bに示すように、判定タイミングDTよりも時間dtだけ前の時点で、押し込み指示標識73が判定領域に到達する。例えば、判定タイミングDTより2フレーム時間だけ前の時点で、押し込み指示標識73が判定領域に到達する。すなわち、押し込み指示標識73が画面上に位置するように表示される時点は、判定タイミングDTよりもdtだけ前の時点である。言い換えると、押し込み指示標識73が判定領域に到達してから時間dtが経過したタイミングが、判定タイミングDTであり、判定タイミングDTにおいては、押し込み指示標識73は判定領域(画面の位置)を通り過ぎている。なお、他の方法により、判定タイミングDTと押し込み指示標識73が判定領域に到達するタイミングとをずらしてもよい。例えば、押し込み指示標識73の画面の奥行き方向の位置をずらすことによって、判定タイミングDTと押し込み指示標識73が判定領域に到達するタイミングとをずらしてもよい。
【0160】
図21は、通常指示標識が表示される場合と押し込み指示標識が表示される場合のゲーム画像の比較を示す図である。
【0161】
リングコントローラの変形を伴わない操作が指示される場合、
図21の(A1)に示すように、通常指示標識72は判定タイミングDTよりdtだけ前の時点では、画面の奥行方向に位置する。判定タイミングにおいて、通常指示標識72は、判定領域に到達する(
図21の(A2))。そして、判定タイミングDTからdtだけ経過した時点では、通常指示標識72は画面を通り過ぎて、画面の後方に位置する(
図21の(A3))。
【0162】
一方、リングコントローラの変形を伴う操作(例えば押し込み操作)が指示される場合は、
図21の(B1)に示すように、押し込み指示標識73は判定タイミングDTより2dtだけ前の時点で、画面の奥行方向に位置する。
図21の(A1)における画面から通常指示標識72までの距離と、
図21の(B1)における画面から押し込み指示標識73までの距離とは等しい。判定タイミングDTよりdtだけ前の時点で、押し込み指示標識73は、判定領域に到達する(
図21の(B2))。そして、判定タイミングDTでは、押し込み指示標識73は画面を通り過ぎて、画面の後方に位置する(
図21の(B3))。
【0163】
なお、上記実施形態では、仮想空間の奥行き方向における判定領域の位置と、画面の位置とが一致することを前提として説明したが、判定領域の位置は、画面の位置と一致しなくてもよい。例えば、判定領域及びリングオブジェクト71の位置は、仮想カメラ(画面)よりも奥方向(
図20の左方向)に配置されてもよい。この場合、指示標識が判定領域を通り過ぎた瞬間では、指示標識はまだ仮想カメラの撮像範囲に存在し、画面に表示される。
【0164】
引っ張り指示標識74が表示される場合も、押し込み指示標識73が表示される場合と同様である。すなわち、判定タイミングが到来するよりも前に、引っ張り指示標識74が判定領域に到達する。
【0165】
このように、リングコントローラの変形を伴わない操作については、判定タイミングと、通常指示標識72が判定領域に到達するタイミングとが一致する。ユーザの入力に関する判定が行われるタイミングと、通常指示標識72が判定領域に到達するタイミングとが一致することにより、ユーザは、通常指示標識72が判定領域に到達するタイミングでリングコントローラに対する捻り操作を行い、点数Xを獲得することができる。
【0166】
一方、リングコントローラの変形を伴う操作(例えば押し込み操作)が指示される場合には、押し込み指示標識73が判定領域に到達するタイミングでは、未だ判定タイミングは到来していない。押し込み指示標識73が判定領域に到達してから時間dtが経過したタイミングが、ユーザの入力に関する判定が行われる判定タイミングとなる。これらのタイミングをずらす理由は次に示す通りである。すなわち、リングコントローラの変形を伴う操作が行われる場合は、ユーザがリングコントローラに対して力を加え始めるタイミングと、リングコントローラの変形が閾値を超えて、変形が検出されるタイミングとには、ずれが生じることがある。したがって、押し込み指示標識73が判定領域に到達したタイミングでユーザがリングコントローラに対して押し込み操作を開始すると、押し込み操作が検出されるタイミングが遅れてしまうことがある。このため、実際の判定タイミングよりも前に、押し込み指示標識73を判定領域に到達させる。これにより、押し込み指示標識73が判定領域に到達したタイミングで、ユーザが押し込み操作を行った場合に、判定タイミングと押し込み量が閾値を超えるタイミングとが一致しやすくなる。
【0167】
また、リングコントローラを変形させることによって入力を行う代わりに、例えば、ボタンを用いて入力を行う場合は、ユーザは、意図したタイミングでボタンを押下することにより入力を行うことができる。しかしながら、ある程度の力を加えることで変形するリングコントローラを用いて入力を行う場合は、ユーザは、どの程度力を加えれば変形が検出され、入力として検出されるか分かりにくい場合がある。このため、ユーザが意図した入力のタイミングと、実際に入力が検出されるタイミングとがずれることがある。
【0168】
したがって、本実施形態のリズムゲームでは、押し込み操作や引っ張り操作のようにリングコントローラを変形させることで入力を行う場合には、実際の入力が行われたか否かを判定する判定タイミングよりも前に、指示標識を判定領域に到達させる。これにより、入力が検出されるタイミングが遅れることを防止することができ、ユーザが意図するタイミングで入力を行うことができる。
【0169】
なお、継続押し込み指示標識75が表示される場合や継続引っ張り指示標識が表示される場合は、通常指示標識72と同様に、判定タイミングと指示標識が判定領域に到達するタイミングとは一致する。なお、継続押し込み指示標識75が表示される場合や継続引っ張り指示標識が表示される場合も、押し込み指示標識73が表示される場合と同様に、判定タイミングが到来するよりも前に、指示標識が判定領域に到達するようにしてもよい。
【0170】
なお、上記では、指示標識が判定領域に到達するタイミングを、判定タイミングの2フレーム時間前にしたが、これらタイミングのずれは、単なる一例である。例えば、指示標識の移動速度が速い場合には、指示標識が判定領域に到達するタイミングを、判定タイミングの3フレーム時間以上前にしてもよい。また、指示標識の移動速度が遅い場合には、指示標識が判定領域に到達するタイミングを、判定タイミング1フレーム時間前にしてもよい。
【0171】
また、本実施形態では、指示標識は、画面の奥行き方向から手前方向に移動するように表示される。これにより、判定タイミングと指示標識が判定領域に到達するタイミングとにずれがあっても、ユーザにとって違和感のないようにすることができる。通常、リズムゲームにおいては、指示標識を、画面の左右方向や上下方向に2次元的に移動させることも考えられる。すなわち、ゲーム空間を2次元とし、2次元のゲーム空間内で指示標識を移動させることが考えられる。このような2次元的に指示標識が移動する場合は、ユーザは、指示標識が判定領域に到達したか否かを明確に認識する。2次元的に指示標識が移動する場合に、指示標識が判定領域に到達するタイミングと、判定タイミングとをずらすと、ユーザはそのずれを明確に認識し、ユーザに違和感を与える可能性がある。しかしながら、本実施形態のリズムゲームでは、指示標識を3次元空間における奥行き方向の位置から手前方向に向かって移動させるため、判定タイミングと指示標識が判定領域に到達するタイミングとにずれがあっても、ユーザにとって違和感のないようにすることができる。
【0172】
(脚コントローラを用いた入力)
次に、脚コントローラを用いた入力について説明する。本実施形態のリズムゲームでは、指示標識は、仮想空間において上の経路と下の経路とのうちの何れかの経路に沿って移動する。
図22は、指示標識の上下の移動経路の一例を示す図であって、指示標識が移動する様子を仮想空間の横方向から見た図である。
【0173】
図22に示すように、指示標識は、上の経路と、下の経路との何れかの経路に沿って移動する。ユーザが立った姿勢の場合は、仮想カメラは上側に位置し、ユーザが膝を曲げた姿勢(例えば膝を90度曲げた姿勢)の場合は、仮想カメラは下側に位置する。指示標識が上の経路を移動する場合、ユーザは、立った姿勢で指示標識が判定領域(画面上)まで移動するのを待ち、指示標識が判定領域に到達するタイミングで(又は到達する前に)、リングコントローラに対する操作を行う。一方、指示標識が下の経路を移動する場合、ユーザは、少なくとも指示標識が判定領域に到達するタイミングにおいては、膝を曲げる必要がある。指示標識が下の経路を移動する場合において、ユーザが膝を曲げた姿勢の場合、指示標識が判定領域に到達するタイミングでリングコントローラに対する操作を行うことで、ユーザは点数を獲得することができる。指示標識が下の経路を移動する場合において、ユーザが立った姿勢のままでは、指示標識はユーザから見て下側を通過し、ユーザは点数を獲得することはできない。
【0174】
図23は、リズムゲームの実行中に表示されるゲーム画像の一例を示す図であって、指示標識が下の経路を通るときのゲーム画像の一例を示す図である。
【0175】
通常、指示標識は上の経路を通り、ユーザは立った姿勢でユーザ入力を行う。ユーザが立った姿勢の場合は、仮想カメラは上側に位置し、リングオブジェクト71は上領域に位置する(
図23の(a))。リズムゲームの実行中に、指示標識が通る経路が上の経路から下の経路に切り替わることがある。指示標識が通る経路が上の経路から下の経路に切り替わる場合、
図23の(a)に示すように、画面の奥行き方向の所定位置から壁オブジェクト78が出現する。壁オブジェクト78は、ユーザに膝を曲げるように指示するためのオブジェクトである。壁オブジェクト78は、例えば、半透明の画像であり、下方向の矢印の画像を含む。壁オブジェクト78は、
図23の(b)に示すように、画面の手前方向に向かって移動する。壁オブジェクト78は、画面の位置に到達すると、
図23の(c)に示すように、画面に張り付く。この状態は、ユーザが膝を曲げる必要があることを示す。この状態では、画面の奥行き方向に出現した押し込み指示標識73は、画面に張り付いた壁オブジェクト78によって視認し難くなる。ユーザがこの状態で膝を曲げると、仮想カメラは下側に移動し、リングオブジェクト71は下領域に移動する。
図23の(d)に示すように、画面に張り付いた壁オブジェクト78の一部のみが画面の上領域に表示され、押し込み指示標識73を視認し易くなる。そして、押し込み指示標識73が画面(判定領域)に到達するタイミングで、押し込み操作が行われた場合、点数が獲得される。
【0176】
なお、リズムゲームの実行中に、指示標識が通る経路が下の経路から上の経路に切り替わる場合もある。この場合は、ユーザに立つように指示するための壁オブジェクトが出現する。この壁オブジェクトは、上方向の矢印の画像を含む。
【0177】
このように、本実施形態のリズムゲームでは、指示標識は、6つの経路(上の経路における左、中央、右の経路、下の経路における左、中央、右の経路)のうちの何れかに沿って、判定領域まで移動する。ユーザは、リングコントローラに対する捻り操作によってリングオブジェクト71を左、中央、右の3つの領域の何れかに移動させるとともに、膝を伸ばしたり曲げたりすることによってリングオブジェクト71を画面の上領域又は下領域に移動させる。ユーザは、指示標識が判定領域に到達するタイミングにおいて、リングオブジェクト71を指示標識が到達する領域に位置させるとともに、リングコントローラに対して指示標識によって指示される操作を行うことで、点数を獲得することができる。
【0178】
これにより、ユーザは、音楽のリズムに合わせたリズムゲームを行うとともに、手および足を使った運動を行うことができる。
【0179】
(処理の詳細)
次に、本体装置2において行われる処理の一例について具体的に説明する。まず、本体装置2に記憶されるデータについて説明する。
【0180】
図24は、本体装置2に記憶されるデータの一例を示す図である。
図24に示すデータは、主にDRAM85に記憶されるが、これらの一部又は全部は、フラッシュメモリ84に記憶されてもよいし、スロット23に装着された外部記憶媒体に記憶されてもよい。
【0181】
図24に示すように、本体装置2には、ゲームプログラムと、脚コントローラデータと、リングコントローラデータと、変形量データと、捻り量データと、音楽データと、タイミングデータと、リングオブジェクトデータと、点数データとが記憶される。これらの他にも、画像データ等、ゲーム処理に必要な様々なデータが記憶される。
【0182】
ゲームプログラムは、本実施形態のリズムゲームを実行するためのプログラムであり、後述するフローチャートに示す処理を実行するためのプログラムである。ゲームプログラムは、例えば外部記憶媒体やフラッシュメモリ84に記憶されており、ゲームの開始時に外部記憶媒体やフラッシュメモリ84からDRAM85に読み込まれる。なお、ゲームプログラムは、他の装置からネットワーク(例えば、LAN、WAN、インターネット等)を介して取得されてもよい。
【0183】
脚コントローラデータは、所定の時間間隔(例えば、1/200秒間隔)で左コントローラ3から送信されたセンサデータである。具体的には、脚コントローラデータは、加速度センサ104からの加速度データ、及び、角速度センサ105からの角速度データを含む。脚コントローラデータは、最新のセンサデータと、過去に受信した複数のセンサデータとを含む。
【0184】
リングコントローラデータは、所定の時間間隔(例えば、1/200秒間隔)で右コントローラ4から送信されたセンサデータである。具体的には、リングコントローラデータは、加速度センサ114からの加速度データ、角速度センサ115からの角速度データ、及び、歪み検出部211が検出した歪み値に関する歪みデータを含む。リングコントローラデータは、最新のセンサデータと、過去に受信した複数のセンサデータとを含む。
【0185】
変形量データは、リングコントローラの変形量に関するデータであり、押し込み量又は引っ張り量を表すデータである。変形量データは、リングコントローラから取得した歪みデータであってもよいし、当該歪みデータに所定の演算を行った後のデータであってもよい。
【0186】
捻り量データは、リングコントローラから取得した角速度データ及び/又は加速度データに基づいて算出されたリングコントローラの姿勢に関するデータである。具体的には、捻り量データは、リングコントローラの捻り量(z軸回りの回転角)を示すデータである。
【0187】
音楽データは、リズムゲームの実行中に出力される音楽(楽曲)に関するデータである。本実施形態では、複数の音楽データが予め用意されている。また、タイミングデータは、ユーザの入力の評価を行うタイミングを示すデータである。タイミングデータは、音楽データに応じて予め用意される。
【0188】
リングオブジェクトデータは、リングオブジェクト71に関するデータである。リングオブジェクトデータは、リングオブジェクト71の画像データと、リングオブジェクト71の位置を示すデータとを含む。上述のように、リングオブジェクト71の位置は、リングコントローラ及び脚コントローラに対する操作に応じて、6つの領域(上領域における左、中央、右、下領域における左、中央、右)のうちの何れかに設定される。
【0189】
点数データは、今回のリズムゲームにおける音楽の出力中にユーザが獲得した点数の合計を示すデータである。点数データは、リズムゲームの開始時に初期化され、音楽の出力中におけるユーザの入力に応じて加算される。
【0190】
(フローチャートの説明)
次に、本体装置2において行われる処理の詳細について説明する。
図25は、本体装置2のプロセッサ81によって行われるゲーム処理の一例を示すフローチャートである。
【0191】
ステップS100において、プロセッサ81は、複数の音楽データの中から何れかの音楽データを選択し、選択した音楽データの再生を開始する。プロセッサ81は、ステップS100で音楽の再生を開始した後、音楽が終了するまで(又はゲームの終了が指示されるまで)、ステップS101~ステップS110の処理を所定のフレーム時間(例えば、1/60秒)間隔で繰り返し実行する。以下、ステップS101以降の処理について説明する。
【0192】
ステップS101において、プロセッサ81は、リングコントローラからのセンサデータ(加速度データ、角速度データ、及び、歪みデータ)と、脚コントローラからのセンサデータ(加速度データ、及び、角速度データ)とを取得する。
【0193】
ステップS102において、プロセッサ81は、取得した歪みデータに基づいて、リングコントローラの変形量(押し込み量又は引っ張り量)を取得する。
【0194】
ステップS103において、プロセッサ81は、リングコントローラからの角速度データ及び加速度データに基づいて、捻り量を取得する。具体的には、プロセッサ81は、角速度データ及び加速度データに基づいて、リングコントローラの姿勢を算出し、z軸回りの回転角(
図9参照)を捻り量として算出する。
【0195】
ステップS104において、プロセッサ81は、リングオブジェクト71の位置を設定する。具体的には、プロセッサ81は、捻り量に基づいて、リングオブジェクト71の位置を、左、中央、右の何れかに設定する。また、プロセッサ81は、脚コントローラからのセンサデータに基づいて、リングオブジェクト71の位置を、上領域か下領域かに設定する。具体的には、プロセッサ81は、脚コントローラからのセンサデータに基づいて、ユーザが立った姿勢か膝を曲げた姿勢かを判定し、立った姿勢の場合には、リングオブジェクト71の位置を上領域に設定し、膝を曲げた姿勢の場合には、リングオブジェクト71の位置を下領域に設定する。なお、後述するステップS115においてリングオブジェクト71の位置が固定される場合、ステップS104においては、リングコントローラの姿勢及びユーザの姿勢に応じて、リングオブジェクト71の位置は変化しない。
【0196】
ステップS105において、プロセッサ81は、音楽再生・出力処理を行う。具体的には、プロセッサ81は、ステップS100で開始した音楽の再生位置を1フレーム時間だけ進める。ステップS105の処理が所定のフレーム時間間隔で繰り返し行われることにより、音楽データの再生位置が更新され、音楽がスピーカ(本体装置2のスピーカ88又は他のスピーカ)から出力される。
【0197】
ステップS106において、プロセッサ81は、画像生成・出力処理を行う。具体的には、プロセッサ81は、音楽の再生を開始してからの経過時間に応じて、仮想空間内において指示標識を出現させたり、仮想空間内に存在する指示標識を所定の経路に沿って移動させたりする。そして、プロセッサ81は、仮想カメラに基づいて仮想空間の画像を生成し、生成した画像をモニタ6に出力する。ステップS106の処理が所定のフレーム時間間隔で繰り返し行われることにより、例えば、指示標識が画面の奥行き方向から手前方向に移動する様子がモニタ6に表示される。
【0198】
次に、ステップS107において、プロセッサ81は、音楽の再生を開始してからの経過時間とタイミングデータとに基づいて、評価期間であるか否かを判定する。ここでいう評価期間は、出力中の音楽に予め定められた時点(
図11に示すt1、t2、t3、・・・、t10)を含む期間であり、ユーザの入力を評価する期間である。具体的には、評価期間は、例えば
図18Aにおけるαの期間(タイミングT1)と、βの期間とを含む期間である。すなわち、ステップS107においては、音楽に予め定められた時点(t1、t2、t3、・・・、t10)からα+βの期間内であるか否かが判定される。この評価期間において、指示標識が判定領域(画面上)に到達するように、指示標識の移動が制御される。
【0199】
評価期間であると判定した場合(ステップS107:YES)、プロセッサ81は、次にステップS108の処理を実行する。一方、評価期間でないと判定した場合(ステップS107:NO)、プロセッサ81は、ステップS109において、後述する押し込み検出フラグ(又は引っ張り検出フラグ)がONか否かを判定する。押し込み検出フラグ(又は引っ張り検出フラグ)がONの場合(ステップS109:YES)、プロセッサ81は、次にステップS108の処理を実行する。押し込み検出フラグ(又は引っ張り検出フラグ)がOFFの場合(ステップS109:NO)、プロセッサ81は、次にステップS110の処理を実行する。
【0200】
ステップS108において、プロセッサ81は、評価処理を行う。評価処理は、ユーザの入力に対する評価を行うための処理である。評価処理では、今回の評価期間におけるユーザの入力に応じた点数が算出される。評価処理の詳細については後述する。
【0201】
評価処理を実行した場合、プロセッサ81は、ステップS110において、音楽が終了したか否かを判定する。音楽が終了した場合は(ステップS110:YES)、プロセッサ81は、
図25に示す処理を終了する。一方、音楽が終了していない場合は(ステップS110:NO)、プロセッサ81は、ステップS101に処理を戻す。
【0202】
(評価処理)
図26は、
図25のステップS108の評価処理の一例を示すフローチャートである。
【0203】
ステップS111において、プロセッサ81は、判定領域に到達した指示標識が押し込み指示標識73又は引っ張り指示標識74か否かを判定する。
【0204】
判定領域に到達した指示標識が、押し込み指示標識73又は引っ張り指示標識74である場合(ステップS111:YES)、プロセッサ81は、次に、ステップS112の処理を実行する。一方、判定領域に到達した指示標識が、押し込み指示標識73及び引っ張り指示標識74の何れでもない場合(ステップS111:NO)、プロセッサ81は、次に、ステップS113の処理を実行する。
【0205】
ステップS112において、プロセッサ81は、押し込み操作又は引っ張り操作を評価するための押し/引き操作評価処理を行う。この押し/引き操作評価処理の詳細については後述する。
【0206】
一方、ステップS113において、プロセッサ81は、判定領域に到達した指示標識が通常指示標識72か否かを判定する。
【0207】
判定領域に到達した指示標識が、通常指示標識72である場合(ステップS113:YES)、プロセッサ81は、次に、ステップS114の処理を実行する。一方、判定領域に到達した指示標識が、通常指示標識72でない場合(ステップS113:NO)、プロセッサ81は、次に、ステップS115の処理を実行する。
【0208】
ステップS114において、プロセッサ81は、捻り操作を評価するための捻り操作評価処理を行う。この捻り操作評価処理の詳細については後述する。
【0209】
ステップS115において、プロセッサ81は、継続押し込み指示標識75又は継続引っ張り指示標識に応じた継続操作評価処理を行う。例えば、継続押し込み指示標識75が判定領域に存在する場合、継続押し込み指示標識75と同じ領域にリングオブジェクト71が存在し、かつ、押し込み操作が行われている場合、点数が付与される。なお、継続押し込み指示標識75と同じ領域にリングオブジェクト71が存在する場合、プロセッサ81は、リングオブジェクト71の位置を固定する。これにより、リングコントローラの捻り量が変化しても、リングオブジェクト71は継続押し込み指示標識75と同じ領域に位置し続ける。継続押し込み指示標識75が判定領域を通過すれば、プロセッサ81は、リングオブジェクト71の位置の固定を解除する。継続引っ張り指示標識が判定領域に存在する場合も同様である。
【0210】
具体的には、ステップS115において、プロセッサ81は、後述する押し/引き操作評価処理と同様に、タイミングに基づく点数Xと、変形量に基づく点数Yとを算出し、今回の操作に対する点数を算出する。また、継続操作評価処理では、押し込み操作又は引っ張り操作が継続している時間に応じて、点数が算出される。押し込み操作又は引っ張り操作が継続的に行われている場合には高い点数が算出され、継続的に行われていない場合には低い点数が算出される。なお、継続押し込み指示標識75又は継続引っ張り指示標識が判定領域に表示されている間に継続的に押し込み操作又は引っ張り操作が行われている場合、数フレーム時間毎に一定点数を加算することによって、点数Zが算出されてもよい。この一定点数が加算される時間の間隔が、変形量に応じて変化してもよい。例えば、リングコントローラの変形量が大きい場合は(強い力で押し込み又は引っ張り操作が行われている場合は)、時間間隔が短くなり、リングコントローラの変形量が小さい場合は、時間間隔が長くなってもよい。この場合、結果として強い力で長い時間押し込み操作又は引っ張り操作が行われていれば、当該操作に対する評価として、高い点数が付与されることになる。
【0211】
(押し/引き操作評価処理)
次に、
図26のステップS112の押し/引き操作評価処理の詳細について説明する。
図27は、
図26のステップS112の押し/引き操作評価処理の一例を示すフローチャートである。
【0212】
図27に示す押し/引き操作評価処理は、今回の評価期間において、指示標識によって指示された押し込み操作又は引っ張り操作の評価を行うための処理である。以下の説明では、今回の評価期間において押し込み操作が指示されている場合(つまり、押し込み指示標識73が判定領域に到達する場合)について説明する。
【0213】
ステップS120において、プロセッサ81は、押し込み操作を検出済みか否かを判定する。具体的には、プロセッサ81は、今回の評価期間において、後述するステップS123で押し込み操作を検出したか否かを判定する。
【0214】
押し込み操作を検出済みでない場合(ステップS120:NO)、プロセッサ81は、次にステップS121の処理を実行する。押し込み操作を検出済みである場合(ステップS120:YES)、プロセッサ81は、次にステップS129の処理を実行する。
【0215】
ステップS121において、プロセッサ81は、指示標識が到達する領域にリングオブジェクトがあるか否かを判定する。例えば、今回の評価期間においては、指示標識が上領域における左領域70Lに到達する場合には、プロセッサ81は、現在、リングオブジェクト71が上領域における左領域70Lに存在するか否かを判定する。指示標識が到達する領域にリングオブジェクトがある場合(ステップS121:YES)、プロセッサ81は、ステップS122の処理を実行する。一方、指示標識が到達する領域にリングオブジェクトがない場合(ステップS121:NO)、プロセッサ81は、
図27の処理を終了し、
図26に処理を戻す。
【0216】
ステップS122において、プロセッサ81は、ステップS102で取得した現在の押し込み量が閾値を超えているか否かを判定する。押し込み量が閾値を超えている場合(ステップS122:YES)、プロセッサ81は、ステップS123の処理を実行する。一方、押し込み量が閾値を超えていない場合(ステップS122:NO)、プロセッサ81は、
図27の処理を終了し、
図26に処理を戻す。
【0217】
ステップS123において、プロセッサ81は、押し込み操作を検出する。例えば、プロセッサ81は、今回の評価期間において押し込み操作を検出したことを示す押し込み検出フラグをONに設定する。
【0218】
ステップS124において、プロセッサ81は、音楽の再生を開始してからの経過時間と、タイミングデータとに基づいて、所定タイミングか否かを判定する。具体的には、プロセッサ81は、予め定められた時点(t1、t2、t3等)からαの期間内(タイミングT1、T2、T3等)であるか否かを判定する。
【0219】
所定タイミングである場合(ステップS124:YES)、プロセッサ81は、次にステップS125の処理を実行する。一方、所定タイミングでない場合(ステップS124:NO)、すなわち、所定タイミング(αの期間)から遅れたβの期間である場合、プロセッサ81は、次にステップS127の処理を実行する。
【0220】
ステップS125において、プロセッサ81は、タイミングに基づく点数Xに「100」を設定する。
【0221】
次に、ステップS126において、プロセッサ81は、第1効果音Aを出力するとともに、所定タイミングにおいて押し込み操作が行われたことを示す第1エフェクト画像をモニタ6に表示させる。
【0222】
一方、ステップS127において、プロセッサ81は、遅延時間に応じて、タイミングに基づく点数Xを設定する。具体的には、プロセッサ81は、αの期間が経過してからの時間に応じて、線型的にXを減少させる。
【0223】
次に、ステップS128において、プロセッサ81は、第1効果音Bを出力するとともに、所定タイミングから遅れて押し込み操作が行われたことを示す第1エフェクト画像をモニタ6に表示させる。
【0224】
一方、押し込み操作を検出済みである場合(ステップS120:YES)、プロセッサ81は、次にステップS129の処理を実行する。
【0225】
ステップS129において、プロセッサ81は、押し込み操作を検出してからの経過時間が5フレーム時間か否かを判定する。押し込み操作を検出してからの経過時間が5フレーム時間であると判定した場合(ステップS129:YES)、プロセッサ81は、次にステップS130の処理を行う。押し込み操作を検出してからの経過時間が5フレーム時間でないと判定した場合(ステップS129:NO)、プロセッサ81は、
図27の処理を終了し、
図26に処理を戻す。
【0226】
ステップS130において、プロセッサ81は、過去10フレーム間の押し込み量に基づいて、点数Yを算出する。具体的には、プロセッサ81は、現時点から過去10フレーム間の最大の押し込み量を取得し、最大の押し込み量に基づいて、点数Yを算出する。最大の押し込み量が大きいほど、点数Yは高くなる。
【0227】
次に、ステップS131において、プロセッサ81は、ステップS125又はステップS127で設定した点数Xに、ステップS130で算出した点数Yを加算することにより、今回の評価期間で付与する点数Zを算出する。また、ステップS131において、プロセッサ81は、算出した点数Zを点数データに加算して、DRAM85に記憶する。
【0228】
ステップS132において、プロセッサ81は、Zの値に応じた第2効果音を出力する。また、プロセッサ81は、Zの値に応じた画像をモニタ6に表示させる。これにより、今回の評価期間で付与した点数に応じて、第2効果音が出力されるとともに、点数を示す画像、及び、上記「Amazing」や「Great」等の画像がモニタ6に表示される。また、付与された点数に応じた第2エフェクト画像が表示される。
【0229】
なお、ステップS123の処理が実行されることなく今回の評価期間が経過した場合、評価期間が経過した時点で、押し込み操作が行われなかったことを示す効果音と画像(「0点」や「Bad」の画像)とが出力される。この場合、今回の評価期間で付与される点数Zは「0」となり、点数データには加算されない。
【0230】
次に、プロセッサ81は、ステップS133において、押し込み検出フラグをOFFに設定する。
【0231】
以上で、
図27の押し/引き操作評価処理の説明を終了する。なお、今回の評価期間において引っ張り操作が指示されている場合については、上記と同様であるため説明を省略する。今回の評価期間において引っ張り操作が指示されている場合は、上記説明において「押し込み」を「引っ張り」に読み替えるものとする。
【0232】
(捻り操作評価処理)
次に、
図26のステップS114の捻り操作評価処理の詳細について説明する。
図28は、
図26のステップS114の捻り操作評価処理の一例を示すフローチャートである。
【0233】
図28の捻り操作評価処理は、リングコントローラの変形を伴わない捻り操作(又は、リングコントローラを基本姿勢とする操作)が指示された場合に、当該操作の評価を行うための処理であり、通常指示標識72が判定領域に到達する場合に行われる処理である。
【0234】
ステップS140において、プロセッサ81は、通常指示標識72が到達する領域にリングオブジェクトがあるか否かを判定する。例えば、今回の評価期間において、通常指示標識72が上領域における左領域70Lに到達する場合には、プロセッサ81は、現在、リングオブジェクト71が上領域における左領域70Lに存在するか否かを判定する。通常指示標識72の到達領域にリングオブジェクトがある場合(ステップS140:YES)、プロセッサ81は、ステップS141の処理を実行する。一方、通常指示標識72の到達領域にリングオブジェクトがない場合(ステップS140:NO)、プロセッサ81は、
図28の処理を終了し、
図26に処理を戻す。
【0235】
ステップS141において、プロセッサ81は、音楽の再生を開始してからの経過時間と、タイミングデータとに基づいて、所定タイミングか否かを判定する。具体的には、プロセッサ81は、予め定められた時点(t7、t8、t9等)からαの期間内であるか否かを判定する。
【0236】
所定タイミングである場合(ステップS141:YES)、プロセッサ81は、次にステップS142の処理を実行する。一方、所定タイミングでない場合(ステップS141:NO)、すなわち、所定タイミング(αの期間)から遅れたβの期間である場合、プロセッサ81は、次にステップS143の処理を実行する。
【0237】
ステップS142において、プロセッサ81は、タイミングに基づく点数Xに「100」を設定する。
【0238】
一方、ステップS143において、プロセッサ81は、遅延時間に応じて、タイミングに基づく点数Xを設定する。具体的には、プロセッサ81は、αの期間が経過してからの時間に応じて、線型的にXを減少させる。
【0239】
次に、ステップS144において、プロセッサ81は、Xの値に応じた効果音と画像とを出力する。これにより、効果音が出力されるとともに、点数を示す画像と上記「Amazing」や「Great」等の画像とがモニタ6に表示される。また、エフェクト画像も表示される。
【0240】
そして、ステップS145において、プロセッサ81は、点数Xを点数データに加算して、DRAM85に記憶する。以上で、
図28の捻り操作評価処理の説明を終了する。
【0241】
なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容等は適宜変更されてもよい。
【0242】
以上のように、本実施形態のリズムゲームでは、リングコントローラに対して力を加え、リングコントローラを変形させることによって、ユーザの入力が行われる。音楽に対応して定められた所定タイミング(T1、T2、T3・・・)において、ユーザの入力が評価される。所定タイミングにおいてリングコントローラが変形した場合と、所定タイミング以前から当該所定タイミングまでリングコントローラが変形している場合とで、同じ評価がされる。
【0243】
具体的には、所定タイミングにおいて、リングコントローラが変形している状態の場合、タイミングに基づく点数として「100点」が付与される。例えば、所定タイミングにおいて、リングコントローラが変形していない状態から変形している状態に変化した場合、タイミングに基づく点数として「100点」が付与される(
図17A参照)。また、所定タイミングより前の第1時点においてリングコントローラの変形が開始され、その後、所定タイミングに相当する第2時点(例えば、t1)までリングコントローラの変形が継続している場合でも、タイミングに基づく点数として「100点」が付与される(
図17C参照)。すなわち、所定タイミングにおいてリングコントローラが変形していない状態から変形している状態に変化した場合と、所定タイミングにおいてリングコントローラが変形している場合とで、同じ点数が付与される。
【0244】
一方、所定タイミングより後(例えば、td1)にリングコントローラの変形が開始した場合には、ユーザの入力を、ユーザにとって不利に評価する(
図18A参照)。具体的には、所定タイミングより後にリングコントローラが変形した場合には、タイミングに基づく点数は、遅延時間に応じて減点される。
【0245】
このように、所定タイミングより前からリングコントローラが変形している場合でも、減点することなくユーザにとって有利に評価することにより、リズムゲームにおいて、リングコントローラを変形させることによる入力を行うことができる。リングコントローラを変形させることによって入力を行う場合には、ユーザが力を加えるタイミングと、入力が検出されるタイミングとにずれが生じる場合があるが、所定タイミングより前からリングコントローラが変形している場合でも、減点することなく高い点数を付与することで、リングコントローラをリズムゲームに用いることができる。
【0246】
また、所定タイミングにおいて、(1)第1タイミングにおいてリングコントローラが変形しており、かつ、当該変形が当該第1タイミング以降の第2タイミングにおいても継続している場合と、(2)第1タイミングにおいてリングコントローラが変形しており、当該第1タイミングの後にリングコントローラが定常状態(リングコントローラが全く変形していない状態と、リングコントローラが変形していないと見なせる程度に変形量が小さい状態(つまり、リングコントローラの変形量が閾値を超えない小さな値である状態)とを含む)に戻り、さらにその後の第2タイミングにおいて再度リングコントローラが変形していた場合とで、同じ評価がなされてもよい。すなわち、評価が行われるタイミング(
図17Aの期間T1)には第1タイミングと第2タイミングとが含まれ、第1タイミングから第2タイミングまで継続してリングコントローラが変形されている場合も、リングコントローラが第1タイミングにおいて変形しており、その後、定常状態に戻り、さらにその後の第2タイミングで再び変形した場合も、同じ点数が付与されてもよい。このため、例えば、仮に音楽の最初から最後まで押し込み指示標識のみが複数回出現する場合には、音楽の最初から最後までリングコントローラに対して押し込み続けても、評価タイミングのそれぞれで点数が加算され、最高得点を得ることができる。
【0247】
また、上記実施形態では、所定タイミングにおけるユーザの入力の評価を2段階で行う。具体的には、所定タイミングにおいてリングコントローラが変形しているか否かの第1判定と、リングコントローラの変形量に基づく第2判定とに基づいて、所定タイミングにおけるユーザの入力を評価する。これにより、リングコントローラの変形のタイミングのみならず、リングコントローラの変形量にも基づいて、ユーザの入力を評価することができる。
【0248】
また、所定タイミングにおいてリングコントローラが変形しているか否かの第1判定を行い、リングコントローラが変形していると判定した場合、その時点から所定時間(例えば5フレーム時間)経過後に、変形量に基づく第2判定を行う。第2判定においては、リングコントローラが変形していると判定した時点に基づいて定められる所定期間(例えば、前後の5フレーム時間)における変形量の最大値に基づいて、評価が行われる。具体的には、第1判定において、所定タイミングにおいてリングコントローラが変形していると判定された場合は、第1の評価値(タイミングに基づく点数X)に所定の値(100点)を設定する。また、所定タイミングより後においてリングコントローラが変形した場合は、第1の評価値に所定の値よりも低い値(例えば80点~10点)を設定する。また、所定タイミングにおいてリングコントローラが変形している場合、又は、所定タイミングより後においてリングコントローラが変形した場合、変形量に基づいて第2の評価値(変形量に基づく点数Y)が設定される。そして、第1の評価値と第2の評価値とに基づいて、ユーザの入力に対する評価が行われる。
【0249】
これにより、入力のタイミングに基づいてユーザの入力の評価を行うとともに、変形量にも基づいてユーザの入力を評価することができ、リングコントローラを用いた運動を取り入れたリズムゲームを行うことができる。リングコントローラが変形していると判定した時点を基準とした所定期間の変形量に基づいて点数を算出することで、変形量が増加している場合や減少している場合でも、ユーザの入力を正当に評価することができる。例えば、リングコントローラが変形していると判定した時点から変形量が増加している場合でも、その増加した後の変形量に基づいて点数を算出することができるため、ユーザが力を加えるタイミングが多少遅れても、ユーザの入力を正当に評価することができる。
【0250】
また、上記実施形態では、リングコントローラの変形が検出された時点で第1効果音及び画像を出力し、その時点から所定時間(例えば5フレーム時間)経過後に、点数Zに基づく第2効果音及び画像を出力する。これにより、ユーザの入力から遅れずに第1効果音及び画像を出力するとともに、ユーザの入力に対する評価を反映した適切な第2効果音及び画像を出力することができる。
【0251】
また、上記実施形態では、通常指示標識72が表示される場合は、第1タイミング(例えばタイミングT7)においてユーザの入力に関する判定が行われ、押し込み指示標識73又は引っ張り指示標識74が表示される場合には、第2タイミング(例えばタイミングT1)においてユーザの入力に関する判定が行われる。通常指示標識72が表示される場合は、第1タイミングにおいて、通常指示標識72が判定領域に到達するように制御する。押し込み指示標識73又は引っ張り指示標識74が表示される場合には、第2タイミングよりも前の第3タイミング(例えば、タイミングT1より2フレーム時間前の時点)において押し込み指示標識73又は引っ張り指示標識74が判定領域に到達するように制御する。
【0252】
このように、押し込み指示標識73又は引っ張り指示標識74が表示される場合には、ユーザの入力に関する判定が行われる判定タイミングが到来するよりも前に、押し込み指示標識73又は引っ張り指示標識74を判定領域に到達させる。これにより、リングコントローラを変形させることによって入力を行う場合でも、入力が検出されるタイミングが遅れることを防止することができ、ユーザが意図するタイミングで入力を行うことができる。
【0253】
また、上記実施形態では、指示標識を画面の奥行き方向の位置から手前方向に向かって移動させた。これにより、上記のように判定タイミングと指示標識が判定領域に到達するタイミングとにずれがあったとしても、ユーザがそのずれを認識し難くすることができ、違和感のない画像とすることができる。
【0254】
また、上記実施形態では、指示標識を画面の左右方向に並ぶ3つの判定領域の何れかまで移動させ、リングコントローラの姿勢に応じて、3つの判定領域の何れかを指定し、指示標識が指定された判定領域にあり、かつ、リングコントローラが変形している場合、点数を付与した。これにより、リングコントローラを変形させるとともに、リングコントローラの姿勢を変化させることにより入力を行うことができ、リズムゲームに多様性を持たせることができる。
【0255】
また、上記実施形態では、継続押し込み指示標識75又は継続引っ張り指示標識が判定領域に表示される場合において、リングオブジェクト71が当該指示標識と同じ領域に位置し、かつ、リングコントローラの変形が継続している場合には、リングコントローラの姿勢が変化しても、リングオブジェクト71の位置が固定される。これにより、リングコントローラに対して押し込み操作又は引っ張り操作を継続しているときに、意図せずにリングコントローラの姿勢が変化しても、リングオブジェクト71の位置を固定することができ、ユーザの意図しないリングオブジェクト71の移動を防止することができる。
【0256】
また、上記実施形態では、指示標識を第1判定領域(上領域)又は第2判定領域(下領域)まで移動させ、脚コントローラによってユーザの足の動きを検出し、ユーザの足の動きに応じて第1判定領域又は第2判定領域を指示する。そして、指示標識が、ユーザの足の動きに応じて指示された判定領域に存在する場合には、点数を付与する。これにより、手でリングコントローラを変形させる運動のみならず、足を使った運動をユーザに行わせることができる。
【0257】
(変形例)
以上、本実施形態のゲームについて説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【0258】
例えば、上記実施形態では、指示標識を仮想空間内で移動させ、仮想カメラに基づいて仮想空間の画像を生成することにより、指示標識が画面の奥行き方向から手前方向に移動する様子を表示した。他の実施形態では、仮想空間に指示標識を配置せずに、指示標識が画面の奥行き方向から手前方向に移動する様子を表示してもよい。例えば、単に、指示標識が画面の奥行き方向から手前方向に移動する動画を用意し、そのような動画を再生することで指示標識が移動する様子を表示してもよい。
【0259】
また、上記実施形態では、ある程度の期間を有する所定タイミング(T1、T2、T3等)においてリングコントローラが変形しているか否かを判定した。他の実施形態では、所定タイミングは、期間ではなく時点(瞬間)であってもよい。すなわち、音楽に予め設定された複数の時点において、リングコントローラが変形しているか否かが判定されてもよい。
【0260】
また、上記実施形態では、リングコントローラに設けられた歪みゲージからの出力に基づいて、リングコントローラの変形、及び、変形量を検出したが、他の方法によりリングコントローラの変形及び変形量を検出してもよい。例えば、リングコントローラの周囲に配置されたカメラ(画像センサ)を用いてリングコントローラの画像を取得し、取得したリングコントローラの画像からリングコントローラの変形及び変形量を検出してもよい。その他任意のセンサを用いてリングコントローラの変形及び変形量が検出されてもよい。
【0261】
また、上記実施形態では、指示標識を画面の奥行き方向から手前方向に移動させたが、他の実施形態では、指示標識を画面の左右方向又は上下方向に2次元的に移動させてもよい。
【0262】
また、上記実施形態では、指示標識を左右方向に関して3つの経路に沿って移動させ、画面上の3つの領域の何れかに到達させた。他の実施形態では、指示標識の移動経路の数(到達領域の数)はこれに限らず、例えば1つでもよいし、2つでもよいし、4つ以上でもよい。同様に、上下方向の経路についても、上記実施形態のように2つに限らず、任意の数であってもよい。
【0263】
例えば、指示標識の移動経路が5つあり、到達領域が左右方向に5つ並ぶ場合、リングコントローラの捻り量に応じて、リングオブジェクト71を5つの領域の何れかに移動させる。例えば、リングコントローラの捻り量がゼロの場合には、リングオブジェクト71を中央に位置させる。また、リングコントローラを時計回りに第1の角度だけ回転させた場合には、リングオブジェクト71を右から2番目の領域に移動させ、リングコントローラを時計回りに第1の角度よりも大きな第2の角度だけ回転させた場合には、リングオブジェクト71を最も右側の領域に移動させてもよい。また、リングコントローラを反時計回りに第1の角度だけ回転させた場合には、リングオブジェクト71を左から2番目の領域に移動させ、リングコントローラを反時計回りに第1の角度よりも大きな第2の角度だけ回転させた場合には、リングオブジェクト71を最も左側の領域に移動させてもよい。
【0264】
また、上記実施形態では、リングオブジェクト71を画面に表示し、リングオブジェクト71を用いて複数の判定領域のうちの何れかを指定し、指定した領域に指示標識が存在する場合に点数を付与した。他の実施形態では、リングオブジェクト71を画面に表示しなくても、リングコントローラの姿勢に応じて、複数の判定領域のうちの何れかを指定してもよい。また、リングコントローラの姿勢に限らず、他の任意の入力により、判定領域を指定してもよい。例えば、リングコントローラ(右コントローラ4)に対するボタン操作により、判定領域を指定してもよい。また、脚コントローラ(左コントローラ3)に対する入力により、判定領域を指定してもよい。
【0265】
また、リングコントローラを両手で把持する代わりに、リングコントローラを腹部に押し当てて変形させることで押し込み操作が行われてもよい。この腹部を用いた押し込み操作を指示する指示標識が、上記押し込み指示標識73に加えて(又は代えて)、用意されてもよい。
【0266】
また、上記実施形態ではリングコントローラを用いた入力のタイミングをユーザに提示するために指示標識を表示した。他の実施形態では、画像に限らず、振動によって、入力のタイミングをユーザに提示(指示)してもよい。また、音声によって、入力のタイミングをユーザに提示(指示)してもよい。
【0267】
また、必ずしも音楽は出力されなくてもよい。例えば、指示標識の表示のみによって入力のタイミングをユーザに提示(指示)してもよい。
【0268】
また、上記実施形態のゲームシステム1の構成は単なる一例であり、他の任意の構成において上述したゲームが行われてもよい。例えば、他の実施形態では、ユーザが力を加えることにより変形する入力装置であれば、どのような入力装置が用いられてもよい。例えば、リングコントローラは、円形状ではなく、棒状、楕円状、L字型等任意の形状であってもよい。
【0269】
また、ネットワーク(WAN、インターネット等)で接続された複数の装置によって、上述したゲームシステム1が構成されてもよい。また、本体装置2に代えて、任意の情報処理装置(例えば、パーソナルコンピュータ、スマートフォン、タブレット端末、サーバ等)が用いられ、当該情報処理装置を含む情報処理システムが構成されてもよい。
【0270】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【0271】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
5 リング型拡張装置
6 ベルト型拡張装置
81 プロセッサ
71 リングオブジェクト
72 通常指示標識
73 押し込み指示標識
74 引っ張り指示標識
75 継続押し込み指示標識