以下に添付図面を参照しながら、本発明の実施形態の一態様について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
(情報処理システムSの全体の構成)
図1は、情報処理システムSの概略的な構成を示した説明図である。情報処理システムSは、プレイヤ端末1と、サーバ100と、通信基地局200aを有する通信ネットワーク200とを含む、所謂クライアントサーバシステムである。
プレイヤ端末1は、通信ネットワーク200を介してサーバ100との通信を確立することができる。プレイヤ端末1は、サーバ100と無線もしくは有線による通信接続が可能な電子機器を広く含む。プレイヤ端末1としては、例えば、スマートフォン、携帯電話、タブレット装置、パーソナルコンピュータ、ゲーム機器等が挙げられる。本実施形態では、プレイヤ端末1として、スマートフォンが用いられる場合について説明する。
サーバ100は、複数のプレイヤ端末1と通信接続される。サーバ100は、ゲームをプレイするプレイヤごとに各種の情報(プレイヤ情報)を蓄積する。また、サーバ100は、プレイヤ端末1から入力される操作に基づき、蓄積された情報の更新を行う。
通信基地局200aは、通信ネットワーク200と接続され、プレイヤ端末1と無線による情報の送受信を行う。通信ネットワーク200は、携帯電話網、インターネット網、LAN(Local Area Network)、専用回線等で構成され、プレイヤ端末1とサーバ100との無線もしくは有線による通信接続を実現する。
本実施形態の情報処理システムSは、プレイヤ端末1およびサーバ100がゲーム装置Gとして機能する。プレイヤ端末1およびサーバ100には、それぞれゲームの進行制御の役割分担がなされており、プレイヤ端末1とサーバ100との協働によって、ゲームが進行可能となる。
(プレイヤ端末1およびサーバ100のハードウェアの構成)
図2Aは、プレイヤ端末1のハードウェアの構成を説明する図である。また、図2Bは、サーバ100のハードウェアの構成を説明する図である。図2Aに示すように、プレイヤ端末1は、CPU(Central Processing Unit)10、メモリ12、バス14、入出力インタフェース16、記憶部18、通信部20、入力部22、出力部24を含んで構成される。
また、図2Bに示すように、サーバ100は、CPU110、メモリ112、バス114、入出力インタフェース116、記憶部118、通信部120、入力部122、出力部124を含んで構成される。
なお、サーバ100のCPU110、メモリ112、バス114、入出力インタフェース116、記憶部118、通信部120、入力部122、出力部124の構成および機能は、それぞれ、プレイヤ端末1のCPU10、メモリ12、バス14、入出力インタフェース16、記憶部18、通信部20、入力部22、出力部24と実質的に同じである。したがって、以下では、プレイヤ端末1のハードウェアの構成について説明し、サーバ100については説明を省略する。
CPU10は、メモリ12に記憶されたプログラムを動作させ、ゲームの進行を制御する。メモリ12は、ROM(Read Only Memory)またはRAM(Random Access Memory)で構成され、ゲームの進行制御に必要となるプログラムおよび各種のデータを記憶する。メモリ12は、バス14を介してCPU10に接続されている。
バス14には、入出力インタフェース16が接続される。入出力インタフェース16には、記憶部18、通信部20、入力部22、出力部24が接続されている。
記憶部18は、DRAM(Dynamic Random Access Memory)等の半導体メモリで構成され、各種プログラムおよびデータを記憶する。プレイヤ端末1においては、記憶部18に記憶されたプログラムおよびデータが、CPU10によってメモリ12(RAM)にロードされる。
通信部20は、通信基地局200aと無線により通信接続され、通信ネットワーク200を介して、サーバ100との間で各種データおよびプログラムといった情報の送受信を行う。プレイヤ端末1においては、サーバ100から受信したプログラム等が、メモリ12または記憶部18に格納される。
入力部22は、例えば、プレイヤの操作が入力される(操作を受け付ける)タッチパネル、ボタン、キーボード、マウス、十字キー、アナログコントローラ等で構成される。また、入力部22は、プレイヤ端末1に設けられた、あるいは、プレイヤ端末1に接続(外付け)された専用のコントローラであってもよい。さらには、入力部22は、プレイヤ端末1の傾きや移動を検知する加速度センサ、または、プレイヤの音声を検知するマイクで構成されてもよい。すなわち、入力部22は、プレイヤの意思を、識別可能に入力させることができる装置を広く含む。
出力部24は、ディスプレイ装置およびスピーカを含んで構成される。なお、出力部24は、プレイヤ端末1に接続(外付け)される機器でもよい。本実施形態では、プレイヤ端末1が、入力部22および出力部24として機能するタッチパネル26を備えている。
(ゲーム内容)
次に、本実施形態の情報処理システムS(ゲーム装置G)により提供されるゲームの内容について、一例を用いて説明する。プレイヤは、ゲームを開始する前に、専用のアプリケーションをサーバ100からプレイヤ端末1に予めダウンロードし、サーバ100にプレイヤIDを登録しておく。アプリケーションが起動されると、プレイヤ端末1は、後述するパーティ情報やプレイ履歴情報等、サーバ100に記憶されている情報を受信し、タッチパネル26にゲーム画面を表示する。本実施形態では、プレイヤが所持する複数(ここでは5体)のキャラクタで編成されたパーティを用いてリズムゲームをプレイすることができる。
図3Aは、パーティ編成画面の一例を示す図である。図3Bは、キャラクタ情報ページの一例を説明する図である。アプリケーションを起動すると、タッチパネル26に不図示のホーム画面が表示される。ホーム画面には、図3Aに示すように、複数のタブで構成されるメニューバー30が表示される。プレイヤは、メニューバー30のタブをタップすることで、タッチパネル26の表示画面を切り替えることができる。
メニューバー30の第1タブ30aがタップされると、図3Aに示すパーティ編成画面が表示される。パーティ編成画面では、7つのユニットタブで構成されるユニット切替バー32が表示される。本実施形態では、第1パーティ情報から第7パーティ情報まで、合計7種類のパーティ情報がメモリ12のパーティ情報記憶部に記憶される。パーティ情報は、パーティ名と、5つの媒体IDとを含んで構成される。プレイヤは、パーティごとにパーティ名を編集することができる。
また、媒体IDは、例えば、キャラクタごとに付与され、キャラクタを特定するためのキャラクタID、レベルや後述するアピール値等の各種パラメータ、キャラクタが身に着ける衣装や装飾品を示すキャラクタ情報を含む。プレイヤは、キャラクタIDが同じであって、各種のパラメータが異なる複数の媒体IDを所持することできる。なお、1つのパーティには、同一の媒体IDを重複して含ませることはできない。つまり、パーティ情報は、5つの異なる媒体IDを含む。
一方で、パーティ情報には、同一のキャラクタIDが紐付けられた異なる媒体IDを含ませることができる。したがって、1のパーティに、同一のキャラクタIDをもつ媒体IDが含まれることもある。この場合、同一のキャラクタIDをもつ媒体IDのうちの1つについては、キャラクタIDをそのままとし、それ以外の媒体IDについては、パーティ内での重複がないようにキャラクタIDを変更してもよい。以下では、全ての媒体IDに、異なるキャラクタIDが紐付けられているものとする。換言すれば、ここでは、キャラクタIDと媒体IDは1対1であるものとする。したがって、以下の説明において、媒体IDのことを、キャラクタまたはキャラクタIDと言うことがある。
各ユニットタブは、7種類のパーティ情報のいずれかに対応しており、タップされたユニットタブに対応するパーティ情報ページ34が表示される。また、タップされたユニットタブが強調表示され、ユニットタブとパーティ情報との対応関係をプレイヤが認識しやすくなっている。
パーティ情報ページ34には、パーティ名(ここではAAAA)、パーティに編成されたキャラクタを示す5つのキャラクタアイコン、パーティの各種パラメータ、および、センター効果が表示される。なお、ここでは、パーティのパラメータとして、ライフ値(図中「Life」と記す)と、3種類のアピール値(図中「Vo」、「Da」、「Vi」と記す)とが設けられている。
パーティ情報ページ34においてキャラクタアイコンがタップされると、不図示のキャラクタ選択画面が表示される。詳しい説明は省略するが、キャラクタ選択画面では、プレイヤは、所持するキャラクタの中からいずれか1体を選択することができる。キャラクタ選択画面で選択されたキャラクタは、パーティ情報ページ34においてプレイヤが選択したキャラクタ(パーティ情報ページ34においてタップされたキャラクタアイコンに対応するキャラクタ)と入れ替えられる。
この場合、入れ替え前のキャラクタに対応するキャラクタ情報が、入れ替え後のキャラクタに対応するキャラクタ情報に更新される。なお、キャラクタ選択画面では、プレイヤは、現在選択されているパーティ情報に含まれる媒体ID(すなわちキャラクタ)を選択することができない。
また、パーティ情報ページ34においてキャラクタアイコンが長押しされると、図3Bに示すキャラクタ情報ページ36が表示される。キャラクタ情報ページ36には、キャラクタの各種パラメータと、当該キャラクタがもつ能力の説明とが表示される。なお、キャラクタ情報ページ36は、パーティ情報ページ34と同様に、上記のキャラクタ選択画面で表示されるキャラクタアイコンを長押しした場合にも表示される。
上記したように、キャラクタには、ライフ値と、ボーカル値(Vo)、ダンス値(Da)、ビジュアル値(Vi)からなる3つのアピール値とを含む4つのパラメータが設定されている。プレイヤは、キャラクタを育成することで、これらの各パラメータの値を向上させることができる。プレイヤは、パラメータの値が高いほど、リズムゲームを有利にプレイすることができる。
また、各キャラクタには、能力として、「センター効果」と「特技」とが予め設定されている。「センター効果」および「特技」は、いずれもリズムゲームが有利になる特典であり、それぞれ複数種類設けられている。ただし、リズムゲームでは、1つのパーティに編成された5体のキャラクタの中で、センター(真ん中)に配置されたキャラクタのセンター効果のみが有効となる。一方、「特技」は、キャラクタの配置に拘わらず有効となる。
このように、プレイヤは、パーティ編成画面において、キャラクタ情報ページ36を表示することで、各キャラクタのパラメータや能力を確認することができる。また、図3Aに示すように、パーティ情報ページ34では、パーティのパラメータが表示されるが、これは、当該パーティに編成されているキャラクタのパラメータの合計値となっている。さらに、パーティ情報ページ34には、当該パーティのセンター(真ん中)に配置されたキャラクタのセンター効果が、パーティのセンター効果として表示される。
図4Aは、通常モードが仮選択された状態のゲーム選択画面の一例を示す図である。図4Bは、特殊モードが仮選択された状態のゲーム選択画面の一例を示す図である。メニューバー30の第2タブ30bがタップされると、図4Aまたは図4Bに示すゲーム選択画面が表示される。
ゲーム選択画面は、プレイヤがリズムゲームのゲーム種別を選択するための画面である。ここでは、リズムゲーム中に再生される楽曲、および、後述するゲームモードを異にする複数のゲーム種別が設けられている。つまり、本実施形態では、ゲーム種別ごとに、楽曲およびゲームモードの少なくともいずれかが異なる。なお、詳細な説明は省略するが、同一の楽曲およびゲームモードに対して、難易度が異なる複数のゲーム種別が設けられてもよい。
ゲーム選択画面には、楽曲情報タブ40a、タイトル表示タブ40b、通常モード選択タブ42a、特殊モード選択タブ42b、決定タブ44が表示される。楽曲情報タブ40aには、仮選択中のゲーム種別に係る情報が表示される。すなわち、楽曲情報タブ40aには、仮選択中の楽曲のタイトルと、仮選択中のゲーム種別のプレイ履歴情報とが表示される。また、ゲーム選択画面の表示中は、仮選択中の楽曲の一部がリピート再生される。
楽曲情報タブ40aの上下には、複数のタイトル表示タブ40bが表示される。タイトル表示タブ40bには、楽曲のタイトルのみが表示されている。楽曲情報タブ40aおよびタイトル表示タブ40bの表示領域において、選択操作(上下方向にフリック操作)がなされると、操作方向にタイトルが移動表示される。これにより、仮選択中の楽曲が変更され、楽曲情報タブ40aの表示内容も変更される。また、いずれかのタイトル表示タブ40bをタップする選択操作がなされた場合には、仮選択中の楽曲が、タップされたタイトル表示タブ40bに対応する楽曲に変更される。
通常モード選択タブ42aおよび特殊モード選択タブ42bは、ゲームモードを切り替えるために設けられている。本実施形態では、通常モードおよび特殊モードを含む複数のゲームモードが設けられている。通常モードは、1つのパーティ、すなわち、5体のキャラクタがリズムゲームで用いられるゲームモードであり、特殊モードは、3つのパーティ、すなわち、15体のキャラクタがリズムゲームで用いられるゲームモードである。
通常モード選択タブ42aをタップする選択操作がなされると、仮選択中のゲームモードとして通常モードが記憶され、図4Aに示すように、通常モード選択タブ42aが強調表示される。一方、特殊モード選択タブ42bをタップする選択操作がなされると、仮選択中のゲームモードとして特殊モードが記憶され、図4Bに示すように、特殊モード選択タブ42bが強調表示される。図4Aおよび図4Bに示すように、仮選択中のゲームモードが変更されると、楽曲情報タブ40aに表示されるプレイ履歴情報が変更される。
決定タブ44がタップされると、仮選択中の楽曲およびゲームモードを示す選択情報が、メモリ12の選択情報記憶部にセットされ、タッチパネル26に設定画面が表示される。設定画面は、通常モード用設定画面と、特殊モード用設定画面とが設けられている。以下では、通常モード用設定画面の内容について詳細に説明し、特殊モード用設定画面の詳細な内容については説明を省略する。
図5は、通常モード用設定画面の一例を説明する図である。通常モードが仮選択された状態で決定タブ44がタップされると、図5に示す通常モード用設定画面がタッチパネル26に表示される。この通常モード用設定画面の表示時には、メモリ12のパーティ情報記憶部に記憶されている7つのパーティ情報のうちのいずれかが、メモリ12の選択パーティ情報記憶部にセットされる。ここでは、最も合計アピール値が高いパーティ情報、前回のリズムゲームで使用したパーティ情報等、予め設定された条件にしたがって、選択パーティ情報記憶部にセットするパーティ情報が選択される。
そして、通常モード用設定画面には、選択パーティ情報記憶部にセットされたパーティ情報に基づいて、パーティ名(ここではAAAA)およびパーティの合計アピール値が表示される。通常モード用設定画面で表示される合計アピール値は、登録された楽曲やセンター効果等が反映された値である。
また、通常モード用設定画面には、パーティに編成されたキャラクタを示す5つの識別画像46が表示される。通常モード用設定画面において、識別画像46がタップされると、上記したパーティ情報ページ34と同様に、不図示のキャラクタ選択画面が表示され、パーティに編成されるキャラクタを変更することができる。また、識別画像46が長押しされた場合には、図3Bに示すキャラクタ情報ページ36が表示される。
また、通常モード用設定画面には、2つの切替タブ48が表示される。切替タブ48がタップされると、選択パーティ情報記憶部に記憶されたパーティ情報が、他のパーティ情報に変更される。また、選択パーティ情報記憶部に記憶されたパーティ情報の変更に伴い、通常モード用設定画面に表示されるパーティ名、合計アピール値、識別画像46が変更される。そして、通常モード用設定画面に表示される開始タブ50がタップされると、リズムゲームが開始される。なお、選択パーティ情報記憶部に記憶されているパーティ情報に含まれるキャラクタ情報(媒体ID)が5未満の場合、開始タブ50がグレーアウトされ、リズムゲームを開始できないことが報知される。
ここで、リズムゲーム中は、再生される楽曲に合わせてミュージックビデオが表示される。ミュージックビデオは、サーバ100またはプレイヤ端末1のいずれかで生成されたゲーム画面である。上記した通常モードのリズムゲームでは、1つのパーティ、すなわち、5体のキャラクタが用いられる。そして、通常モードのリズムゲーム中は、パーティに編成される5体のキャラクタのいずれかが登場するミュージックビデオが表示される。
(リズムゲームの説明)
次に、リズムゲームの内容について、一例を用いて説明する。なお、以下では、通常モードのリズムゲームについて詳細に説明し、特殊モードのリズムゲームの詳細については説明を省略する。
(通常モードのリズムゲームの内容)
図6は、通常モードのリズムゲームの一例を説明する図である。リズムゲーム中は、プレイヤ端末1における出力部24の一種であるスピーカからミュージックが出力される。また、図6では図示を省略するが、タッチパネル26には、スピーカから出力されるミュージックに合わせて、キャラクタが登場するミュージックビデオが再生表示される。
なお、詳しい説明は省略するが、ミュージックビデオは、ゲーム種別(楽曲)、ゲームモード、2Dまたは3D等の種別、高画質または低画質等の画質に対応して生成されるゲーム画面である。すなわち、1のゲーム種別に対して複数のミュージックビデオが生成される。プレイヤは、生成されるミュージックビデオを特定するための情報を、所定のメニュー画面において予め設定することができる。
また、通常モードのリズムゲームでは、タッチパネル26の下部に、5つの目標オブジェクトが表示される。ここでは、通常モードのリズムゲームで表示される目標オブジェクトを、それぞれ第1目標オブジェクト70a、第2目標オブジェクト70b、第3目標オブジェクト70c、第4目標オブジェクト70dおよび第5目標オブジェクト70eとする。
各目標オブジェクトは、ミュージックビデオに重畳表示される。目標オブジェクトは、ミュージックビデオよりもプライオリティが高く設定されており、ミュージックビデオの画像よりも常に手前側に表示される。また、通常モードのリズムゲームには、楽曲すなわちゲーム種別に拘わらず、共通の目標座標が5つ設定されている。5つの目標オブジェクトは、タッチパネル26において、いずれかの目標座標を中心とする一定の範囲に表示される。したがって、図6に示す5つの目標オブジェクトの中心位置が、それぞれ5つの目標座標となる。
具体的には、図6の左右方向の座標をx座標、上下方向の座標をy座標とする。5つの目標座標は、x軸方向に互いに均等に離隔して設定されており、y座標はいずれも等しい。つまり、5つの目標座標は、x座標が互いに異なり、y座標が等しく設定されている。
ここでは、目標オブジェクトとして、識別画像58が表示される。つまり、識別画像58自体が、目標オブジェクトとも言える。5つの識別画像58は、キャラクタID記憶部にセットされたキャラクタIDに基づいて決定される。通常モードのリズムゲームの開始時には、キャラクタID記憶部の第1記憶領域から第5記憶領域にキャラクタIDがセットされている。キャラクタID記憶部の第1記憶領域から第5記憶領域は、それぞれ第1目標オブジェクト70aから第5目標オブジェクト70eに対応している。
したがって、例えば、第3目標オブジェクト70cとして、キャラクタID記憶部の第3記憶領域に記憶されたキャラクタIDに対応する識別画像58が表示され、第4目標オブジェクト70dとして、キャラクタID記憶部の第4記憶領域に記憶されたキャラクタIDに対応する識別画像58が表示されることとなる。
なお、ここでは、5つの目標オブジェクトがx軸方向に互いに離隔しているが、目標オブジェクト自体は、互いに接触してもよい。ただし、この場合には、隣り合う2つの目標オブジェクトの境界をプレイヤが識別できることが望ましい。
また、上記の目標座標は、ノーツNの到達位置となる。リズムゲームでは、複数種類のノーツNが、タッチパネル26の上方から下方に向けて移動表示され、最終的にいずれかの目標座標に到達する。換言すれば、ノーツNには、必ずいずれかの目標座標が対応しており、ノーツNは、対応する目標座標に向けて移動する。リズムゲームでは、目標オブジェクトが操作されると、所定の音声(以下、操作音と呼ぶ)が一瞬出力される。ノーツNが目標座標(目標オブジェクト)に到達するタイミングで操作音が出力されると、ミュージックに合致した演奏をしているかのような印象が与えられる。
図6では、ノーツNは、タップノーツTN、ロングタップノーツ群LN、フリックノーツFN、スライドノーツ群SNの4種類のノーツNを含む。ただし、後述するように、ノーツNは、ダメージノーツDN、フェイクノーツ群FaNを含む場合もある。ロングタップノーツ群LNは、先頭ロングタップノーツLNh、最終ロングタップノーツLNeを含む。スライドノーツ群SNは、先頭スライドノーツSNh、最終スライドノーツSNeを含む。スライドノーツ群SNは、先頭スライドノーツSNhと最終スライドノーツSNeとの間に中間スライドノーツSNm(図13参照)を含む場合もある。
図6に示される各ノーツNは、いずれも真円形状であり、その表示面積も全て等しい。以下では、図6に示される各ノーツNの大きさ(寸法)を基準寸法と呼ぶ場合がある。また、通常モードで表示される5つの目標オブジェクトも全て真円形状であり、その表示面積は、いずれも各ノーツNと等しい。したがって、図6に示されるノーツNおよび目標オブジェクトは、全て同一形状である。ただし、ノーツNおよび目標オブジェクトは、種類ごとに形状や表示面積が異なってもよい。
各ノーツNには、操作態様が対応付けられており、プレイヤは、ノーツNに対応する操作を所定のタイミングで行う必要がある。具体的には、タップノーツTNは、操作態様としてタップ操作が対応付けられている。なお、本実施形態におけるタップ操作とは、入力部22としてのタッチパネル26への新たな操作入力(接触)の開始を意味するものである。したがって、本実施形態では、例えば、タッチパネル26を長押し操作した場合、この長押し操作の開始もタップ操作に含まれる。
ロングタップノーツ群LNは、操作態様として継続操作(長押し操作)が対応付けられている。先頭ロングタップノーツLNhは、操作態様としてタップ操作(継続開始操作)が対応付けられている。継続開始操作は、上記の継続操作、すなわち長押し操作の開始を言う。また、最終ロングタップノーツLNeは、操作態様として継続終了操作が対応付けられている。本実施形態において、継続終了操作は、上記の継続操作、すなわち長押し操作の終了を言う。したがって、継続終了操作の前には、必ず継続開始操作がある。
ロングタップノーツ群LNは、タッチパネル26の表示開始タイミング、目標座標への到達タイミング、および、タッチパネル26からの消去タイミングが異なる複数のノーツNで構成される。ロングタップノーツ群LNにおいて、最初に表示されるノーツN、すなわち、先頭のノーツNが先頭ロングタップノーツLNhとなり、最後に表示されるノーツN、すなわち、最後尾のノーツNが最終ロングタップノーツLNeとなる。
ロングタップノーツ群LNを構成するノーツNは、ロングタップガイドLGで結ばれている。ロングタップガイドLGは、表示順が連続する2つのノーツNに跨って表示され、ノーツNと一体となって移動表示される。ロングタップノーツ群LNを構成するノーツNは、すべて同じ目標オブジェクトに向かって移動する。したがって、ロングタップノーツ群LNを構成するノーツNは、y軸方向に一直線に移動する。
フリックノーツFNは、操作態様としてフリック操作が対応付けられている。ここでは、一定時間内にx軸方向に連続して所定距離移動し、かつ、所定の目標座標をx軸方向に超える操作が検知された場合に、フリック操作が入力されたと判定される。ただし、フリック操作が入力されたか否かを判定する条件はこれに限らず、適宜設定可能である。フリックノーツFNには、図示のように、左または右を示す矢印が表示され、フリック操作の方向がプレイヤに報知される。
スライドノーツ群SNは、操作態様として継続操作(長押し操作)が対応付けられている。先頭スライドノーツSNhは、操作態様としてタップ操作(継続開始操作)が対応付けられている。また、中間スライドノーツSNmは、操作態様として継続維持操作が対応付けられている。本実施形態において、継続維持操作とは、途切れることなく連続して検知される長押し操作であって、連続する2回の操作検知位置が、タッチパネル26の一定の範囲内である操作を言う。したがって、例えば、タッチパネル26の異なる複数の位置で同時に接触を維持している場合、連続して検知される操作位置が一定の範囲を超えることになるため、これら複数の操作は継続操作と判断されない。
最終スライドノーツSNeは、操作態様として継続終了操作が対応付けられている。
スライドノーツ群SNは、タッチパネル26の表示開始タイミング、目標座標への到達タイミング、および、タッチパネル26からの消去タイミングが異なる複数のノーツNで構成される。スライドノーツ群SNにおいて、最初に表示されるノーツN、すなわち、先頭のノーツNが先頭スライドノーツSNhとなり、最後に表示されるノーツN、すなわち、最後尾のノーツNが最終スライドノーツSNeとなる。
そして、スライドノーツ群SNが3以上のノーツNを含んで構成される場合、先頭スライドノーツSNhと最終スライドノーツSNeとの間に配されるノーツNが、中間スライドノーツSNmとなる。このように、スライドノーツ群SNは、少なくとも先頭スライドノーツSNhおよび最終スライドノーツSNeを含むことになる。
スライドノーツ群SNを構成するノーツNは、スライドガイドSGで結ばれている。スライドガイドSGは、表示順が連続する2つのノーツNに跨って表示され、ノーツNと一体となって移動表示される。スライドノーツ群SNを構成するノーツNは、少なくとも1つのノーツNが他のノーツNと異なる目標オブジェクトに向かって移動する。つまり、スライドノーツ群SNを構成するノーツNの目標オブジェクトが2以上である。したがって、ロングタップノーツ群LNのうち少なくとも一部は、y軸方向に対し傾斜している。
したがって、スライドガイドSGは、スライド方向や最適な移動速度をプレイヤに示唆するものと言える。また、スライドガイドSGにより、プレイヤは、タップノーツTNと、先頭スライドノーツSNh、中間スライドノーツSNm、最終スライドノーツSNeとを識別可能となる。
以上のように、ノーツNは、操作態様、操作タイミング、操作位置をプレイヤに指示するオブジェクト(表示物)であり、リズムゲームにおいては、プレイヤは、ノーツNにしたがって操作を入力することが要求される。また、各ノーツNには判定期間が設定されており、ノーツNが到達する目標オブジェクトに対して、ノーツNに対応した操作が判定期間内に入力されると、その入力タイミングに基づいて得点が付与される。こうして獲得した得点は累積され、タッチパネル26の上部に設けられるスコアバー72aによって、累積ポイントが報知される。
また、タッチパネル26の上部には、ライフバー72bが設けられる。ライフバー72bは、パーティの残りのライフ値を視覚的に表示するものであり、ライフ値が0になるとリズムゲームはゲームオーバーとなる。なお、ライフ値は、ノーツNに対応する操作が適切なタイミングで入力されなかった場合に減少する。また、キャラクタの中には、所定条件を満たすことでライフ値が増加する能力をもつキャラクタもあり、こうしたキャラクタがパーティに編成されている場合には、ライフ値が増加することもある。
(各ノーツNの表示態様の説明)
次に、タッチパネル26上におけるいくつかのノーツNの表示態様について説明する。図7Aは、タップノーツTNの表示態様の一例を示す第1図である。図7Bは、タップノーツTNの表示態様の一例を示す第2図である。図8Aは、タップノーツTNの表示態様の一例を示す第3図である。図8Bは、タップノーツTNの表示態様の一例を示す第4図である。図9Aは、タップノーツTNの表示態様の一例を示す第5図である。図9Bは、タップノーツTNの表示態様の一例を示す第6図である。図10Aは、タップノーツTNの表示態様の一例を示す第7図である。図10Bは、タップノーツTNの表示態様の一例を示す第8図である。
図11Aは、ダメージノーツDNの表示態様の一例を示す第1図である。図11Bは、ダメージノーツDNの表示態様の一例を示す第2図である。図12は、ダメージノーツDNの表示態様の一例を示す第3図である。図13Aは、タップノーツTNの表示態様の一例を示す第9図である。図13Bは、フリックノーツFNの表示態様の一例を示す第1図である。図14Aは、フェイクノーツFaNの表示態様の一例を示す第1図である。図14Bは、フェイクノーツFaNの表示態様の一例を示す第2図である。
図7Aに示すように、タップノーツTNは、例えば第3目標オブジェクト70cの上方向に初期位置が設定され、初期位置から第3目標オブジェクト70cに向かって下方向に一定速度で移動する。このように、タップノーツTNは、通常、特定の目標オブジェクトに対し、上方向の所定位置(初期位置)から出現し、所定位置から下方向に向かって一定速度で特定の目標オブジェクトに到達するように移動する。
ここで、本実施形態の通常モードのリズムゲームには、複数種類の難易度が設けられている。難易度は、例えば、VERY EASY、EASY、NORMAL、HARD、VERY HARDがある。VERY EASY、EASY、NORMAL、HARD、VERY HARDの順で、難易度が高くなる。難易度が高くなるにつれ、リズムゲーム中に出現するノーツNの種別や数、ノーツNの表示態様が変化する。
図7B、図8A、図8B、図9A、図9B、図10A、図10B、図11A、図11B、図12、図13A、図13B,図14A、図14Bは、リズムゲームの最高難易度であるVERY HARDに出現するノーツNの表示態様の一例を示す図である。図7Bに示すように、タップノーツTNは、例えば第3目標オブジェクト70cの上方向に初期位置が設定され、初期位置から第3目標オブジェクトに向かって下方向に移動する。ここで、タップノーツTNの移動途中、タップノーツTNの移動速度が変化する。図7Bでは、タップノーツTNの移動速度は、図7Aと比較して遅くなる。ただし、これに限定されず、図7BのタップノーツTNの移動速度は、図7Aと比較して速くなってもよい。
図8Aでは、タップノーツTNの移動途中、タップノーツTNの移動速度が0になる。すなわち、タップノーツTNの移動途中、タップノーツTNが一時停止する。具体的に、タップノーツTNは、図7Aに示すように、初期位置から第3目標オブジェクトに近づく方向(下方向)に一定速度で移動した後、移動速度が0になり一時停止する。一時停止後、タップノーツTNは、一時停止前の移動方向に沿って移動を開始する。ただし、これに限定されず、一時停止後、タップノーツTNは、一時停止前の移動方向と反対の方向に沿って移動を開始してもよい。
図8Bでは、タップノーツTNの移動途中、タップノーツTNの移動方向が変化する。具体的に、タップノーツTNは、図7Aに示すように、初期位置から第3目標オブジェクトに近づく方向(下方向)に移動した後、第3目標オブジェクトから離れる方向(上方向)に移動する。このとき、ノーツNは、移動方向が変化する前後において、移動速度が変化してもよい。
図9Aでは、2つのタップノーツTNは、それぞれ第3目標オブジェクト70cおよび第4目標オブジェクト70dの上方向に初期位置が設定され、初期位置からそれぞれ第3目標オブジェクト70cおよび第4目標オブジェクト70dに向かって下方向に一定速度で移動する。
その後、図9Bに示すように、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、第4目標オブジェクト70d(目標座標)を基準としたタッチパネル26上側の所定範囲R内に到達すると、表示態様が非表示(図9B中、破線)に変化する。つまり、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、図9Aに示すように、所定範囲R外に位置する間、タッチパネル26上に表示される。一方、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、図9Bに示すように、少なくとも一部が所定範囲R内に位置するとき、タッチパネル26上で非表示となる。なお、非表示となったノーツNは、非表示の間、判定期間が消失し判定不可能となる。ただし、これに限定されず、非表示となったノーツNは、非表示の間、通常のノーツN(表示されているノーツN)と同様に判定可能であってもよい。
反対に、図10Aでは、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、所定範囲R外に位置する間、タッチパネル26上で非表示(図10A中、破線)となる。一方、図10Bでは、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、少なくとも一部が所定範囲R内に位置するとき、タッチパネル26上に表示される。このとき、プレイヤには、目標オブジェクトの近くで突然ノーツが出現したように見える。なお、出現したノーツNには、判定期間が存在し、判定可能となっている。
図11Aに示すように、リズムゲームの最高難易度では、ダメージノーツDNが出現する場合がある。図11Aでは、ダメージノーツDNは、第3目標オブジェクト70cの上方向に初期位置が設定され、初期位置から第3目標オブジェクト70cに向かって下方向に一定速度で移動する。なお、ダメージノーツDNには、タップノーツTNと同様に判定期間が設定されている。ダメージノーツDNが到達する目標オブジェクトに対して、タップ操作が判定期間内に入力されると、図11Bに示すような爆発エフェクトが発生し、ライフ値が減少する。したがって、プレイヤは、ライフ値の減少を避けるため、ダメージノーツDNをタップ操作しない(タップを避ける)ようにプレイする必要がある。なお、パーティ編成されているキャラクタの能力(「センター効果」、「特技」)の中には、所定の確率で所定期間中、ライフ値の減少を無効にする効果を有するものがある。この能力が発動している間は、ダメージノーツDNによるライフ値の減少も無効となる。
図12では、スライドノーツ群SNの周囲を覆うように複数のダメージノーツDNが配置される。図12では、プレイヤは、ダメージノーツDNに指が触れないように、先頭スライドノーツSNh、中間スライドノーツSNm、最終スライドノーツSNeをスライドガイドSGに沿って指でなぞるようにスライド操作する。これにより、ダメージノーツDNを避けながらスライドノーツ群SNをスライド操作するシューティングゲームのような演出を行うことが可能となる。
図13Aでは、形状が等しく、大きさが異なる2つのタップノーツTNが示される。第3目標オブジェクト70cに向かって移動表示されるタップノーツTNは、基準寸法および基準形状を有する。一方、第4目標オブジェクト70dに向かって移動表示されるタップノーツTNは、基準形状(真円形状)を有しながらも、基準寸法よりも小さい。
図13Bでは、形状が等しく、大きさが異なる2つのフリックノーツFNが示される。第3目標オブジェクト70cに向かって移動表示されるフリックノーツFNは、基準寸法および基準形状を有する。一方、第4目標オブジェクト70dに向かって移動表示されるフリックノーツFNは、基準形状を有しながらも、基準寸法よりも大きい。
このように、最高難易度のリズムゲームに出現するノーツNは、第1の大きさ(基準寸法)の基準形状を有するノーツN(第1指示オブジェクト)と、第1の大きさと異なる第2の大きさの基準形状を有するノーツN(第2指示オブジェクト)とを含む。ここでは、基準寸法より小さいノーツNの種別としてタップノーツTNを挙げたが、基準寸法より小さいノーツNの種別はこれに限定されず、ロングタップノーツ群LN、フリックノーツFN、スライドノーツ群SNなど他の種別であってもよい。同様に、基準寸法より大きいノーツNの種別は、フリックノーツFNに限定されず、タップノーツTN、ロングタップノーツ群LN、スライドノーツ群SNなど他の種別であってもよい。このように、ノーツN(指示オブジェクト)は、所定形状(基準形状)の第1指示オブジェクトと、第1指示オブジェクトと同一形状であって、第1指示オブジェクトと寸法が異なる第2指示オブジェクトとを少なくとも含んでいる。なお、第1指示オブジェクトおよび第2指示オブジェクトは、プレイヤがリズムゲームをプレイする上で同質の指示オブジェクトと認識できる態様であれば、同一でも形状が異なっていてもよい。つまり、第2指示オブジェクトは、第1指示オブジェクトと同一の形状に限定されず、同様(同質)の形状を有していてもよい。ここで、ノーツNのサイズは、タッチパネル26上の表示中において可変であってもよく、ノーツNの移動途中にサイズが大きくなったり、小さくなったりしてもよい。
図14Aに示すように、リズムゲームの最高難易度では、フェイクノーツ群FaNが出現する場合がある。図14Aでは、フェイクノーツ群FaNは、第1目標オブジェクト70aに対応する先頭フェイクスライドノーツFaNhと、第3目標オブジェクト70cに対応する中間フェイクスライドノーツFaNmと、第1目標オブジェクト70aに対応する最終フェイクスライドノーツFaNeと、これらを結ぶフェイクスライドガイドFaGとを含むような形状を有する。また、フェイクノーツ群FaNは、第3目標オブジェクト70cに対応する先頭フェイクスライドノーツFaNhと、第1目標オブジェクト70aに対応する中間フェイクスライドノーツFaNmと、第3目標オブジェクト70cに対応する最終フェイクスライドノーツFaNeと、これらを結ぶフェイクスライドガイドFaGとを含むような形状を有する。これら先頭フェイクスライドノーツFaNh、中間フェイクスライドノーツFaNm、最終フェイクスライドノーツFaNe、フェイクスライドガイドFaGには、判定期間が設定されておらず、プレイヤがタップ操作や継続操作をしても判定されないようになっている。このように、フェイクノーツ群FaNは、タップおよび継続操作されても、得点やライフ値の加算や減算が行われず、プレイヤにとって利益も不利益も発生しない。フェイクノーツ群FaNによれば、ノーツNを表示するためのデータを利用して、リズムゲームのプレイ操作とは無関係な演出用の表示を行うことできる。そのため、プレイヤは、フェイクノーツ群FaNに対しタップおよび継続操作を気兼ねなく行うことができ、フェイクノーツ群FaNのタップおよび継続操作を純粋に楽しむことができる。
図14Bでは、フェイクノーツ群FaNは、第3目標オブジェクト70cに対応するフェイクフリックノーツFFNと、第4目標オブジェクト70dに対応するフェイクフリックノーツFFNと、これらを結ぶフェイクフリックガイドFFGとを含むような形状を有する。このように、フェイクノーツ群FaNは、少なくとも一対のオブジェクト(一対のフェイクフリックノーツFFN)と、一対のオブジェクトの間を接続する接続オブジェクト(フェイクフリックガイドFFG)とを含む。ここで、第4目標オブジェクト70dに対応するフェイクフリックノーツFFNは、図13Bに示す第4目標オブジェクト70dに対応するフリックノーツFNと同様に、基準寸法よりも大きい。これらフェイクフリックノーツFFN、フェイクフリックガイドFFGには、判定期間が設定されておらず、プレイヤがタップ操作や継続操作をしても判定されないようになっている。
このように、ノーツN(指示オブジェクト)は、判定期間が設定される(評価判定が実行される)フェイクノーツ群FaN以外のノーツNと、判定期間が設定されない(評価判定を不実行とする)フェイクノーツ群FaNとを含んでいる。換言すれば、ノーツN(指示オブジェクト)は、判定期間が設定される(評価判定が実行される)通常種別に分類される通常指示オブジェクトと、判定期間が設定されない(評価判定を不実行とする)特殊種別に分類される特殊指示オブジェクトとを含んでいる。
なお、本実施形態では、特殊指示オブジェクト(例えば、図14A、図14Bのフェイクノーツ群FaN)の見た目は、通常指示オブジェクト(例えば、図12に示すスライドノーツ群SNや図13Bに示す2つのフリックノーツFN)の見た目と異なっている。具体的に、通常指示オブジェクトは、縁取りがされるように表示され、操作の対象として識別しやすい画像表示となっている。一方、特殊指示オブジェクトは、縁取りがされないように表示され、通常指示オブジェクトに比べ、操作の対象として識別し難い画像表示となっている。しかし、これに限定されず、特殊指示オブジェクトの見た目は、通常指示オブジェクトの見た目と少なくとも一部が同じであってもよい。例えば、特殊指示オブジェクトのノーツNは、通常指示オブジェクトのノーツNと同じ見た目であって、特殊指示オブジェクトのガイド(例えば、フェイクスライドガイドFaG)は、通常指示オブジェクトのガイド(例えば、スライドガイドSG)の見た目と異なっていてもよい。また、特殊指示オブジェクトのノーツNは、通常指示オブジェクトのノーツNの見た目と異なっていて、特殊指示オブジェクトのガイドは、通常指示オブジェクトのガイドと同じ見た目であってもよい。さらには、特殊指示オブジェクトのノーツNおよびガイドと、通常指示オブジェクトのノーツNおよびガイドとが同じ見た目を有し、特殊指示オブジェクトのみ判定されない構成としてもよい。
図15は、結果表示画面の一例を説明する図である。リズムゲームが終了すると、図15に示すような結果表示画面がタッチパネル26に表示される。リズムゲームでは、獲得した合計ポイントや、識別画像58(目標オブジェクト)ごとのポイント等に基づいて、リズムゲームで用いられたキャラクタのパラメータ等が上昇する。このとき、いずれかのキャラクタのパラメータが閾値を超えると、所定のアニメーションが表示される。通常モードのリズムゲームでは、5体のキャラクタの各種パラメータが結果表示画面に表示される。
(通常モードのリズムゲームにおける操作の判定方法の説明)
次に、通常モードにおける操作の判定方法について説明する。図16Aは、タップ判定領域を説明する図である。図16Bは、スライド判定領域を説明する図である。通常モードでは、図16Aに示すように、第1目標オブジェクト70aから第5目標オブジェクト70eの5つの目標オブジェクトが、目標座標に基づいて表示される。各目標オブジェクトの中心位置が、通常モードにおける5つの目標座標となる。
各目標座標には、図16Aにクロスハッチングで示すタップ判定領域が設定されている。タップ判定領域は、いずれか1つの目標座標を含む。目標座標は、各タップ判定領域内において、x軸方向の中心に位置している。このタップ判定領域のx軸方向の幅は、目標オブジェクトの直径と等しい。一方、タップ判定領域のy軸方向の長さは、目標オブジェクトの直径よりも大きい。ここでは、第1目標オブジェクト70aが含まれるタップ判定領域を第1タップ判定領域とし、第2目標オブジェクト70bから第5目標オブジェクト70eが含まれるそれぞれのタップ判定領域を、第nタップ判定領域(nは2から5の整数)とする。なお、このタップ判定領域は、図13Bに示すような基準寸法と異なるサイズのノーツが出現した場合においても、判定領域の大きさは変わらず一定である。つまり、タップ判定領域は、ノーツNの形状および大きさ(寸法)によらず一定である。
通常モードでは、タッチパネル26に操作が入力されると、まず、入力された操作の操作態様が特定される。このとき、入力された操作がタップ操作であると特定されると、その位置がいずれかのタップ判定領域に含まれるかが判定され、その判定結果に基づいてレーンが特定される。なお、レーンは、目標座標と1対1で対応するものであり、ここでは、第1レーンから第5レーンまで5つのレーンが設けられている。
具体的には、入力された操作がタップ操作であると特定され、その位置が第1タップ判定領域に含まれると判定された場合には、第1レーンが特定される。同様に、タップ操作の位置が、それぞれ第2タップ判定領域から第5タップ判定領域に含まれると判定された場合には、第nレーン(nは2から5の整数)が特定される。なお、タップ操作の位置が、いずれのタップ判定領域にも含まれないと判定された場合には、操作が無効なものとして扱われる。
また、各目標座標には、図16Bにハッチングで示すスライド判定領域が設定されている。スライド判定領域は、いずれか1つの目標座標を含む。スライド判定領域のx軸方向の幅は、目標オブジェクトの直径よりも大きい。つまり、スライド判定領域のx軸方向の幅は、タップ判定領域のx軸方向の幅よりも大きい。
また、タップ判定領域のy軸方向の長さは、目標オブジェクトの直径よりも大きい。なお、ここでは、スライド判定領域のy軸方向の長さは、タップ判定領域のy軸方向の長さと等しい。したがって、スライド判定領域は、タップ判定領域よりも面積が大きい。ただし、スライド判定領域とタップ判定領域とは、y軸方向の長さが互いに異なってもよい。
以下では、第1目標オブジェクト70aが含まれるスライド判定領域を第1スライド判定領域とし、第2目標オブジェクト70bから第5目標オブジェクト70eが含まれるそれぞれのスライド判定領域を、第nスライド判定領域(nは2から5の整数)とする。
タッチパネル26において継続維持操作もしくは継続終了操作がなされたと特定されると、その位置がいずれかのスライド判定領域に含まれるかが判定され、その判定結果に基づいてレーンが特定される。具体的には、入力された操作が継続維持操作または継続終了操作であると特定され、その位置が第1スライド判定領域に含まれると判定された場合には、第1レーンが特定される。
同様に、継続維持操作または継続終了操作の位置が、それぞれ第2スライド判定領域から第5スライド判定領域に含まれると判定された場合には、第nレーン(nは2から5の整数)が特定される。なお、継続維持操作または継続終了操作の位置が、いずれのスライド判定領域にも含まれないと判定された場合には、操作が無効なものとして扱われる。
このように、通常モードのリズムゲーム中に操作が入力されると、その操作態様が特定され、操作態様ごとに設定された判定領域に基づいてレーンが特定される。そして、レーンが特定された場合には、レーンごとに設けられたノーツ情報に基づいて、判定対象のノーツが抽出される。
図17は、ノーツ情報および判定基準情報を説明する図である。図17に示す例では、第1レーンにおいて、110から130フレームに、先頭スライドノーツSNhを示す先頭スライドノーツ情報が設定されている。また、第1レーンには、150から170フレームに、最終スライドノーツSNeを示す最終スライドノーツ情報が設定されている。
詳しくは後述するが、各ノーツ情報には、基準点が設定されている。基準点は、リズムゲームの開始からのフレーム数であり、例えば、第1レーンの先頭スライドノーツ情報には、基準点として120フレームが設定されている。基準点は、ノーツ情報を抽出する際に参照され、操作が入力されたタイミングから所定フレーム内に基準点があれば、その操作とノーツ情報とが対応付けられる。
また、第2レーンにおいては、135から145フレームに、中間スライドノーツSNmを示す中間スライドノーツ情報が設定されている。これら第1レーンの先頭スライドノーツSNhおよび最終スライドノーツSNeと、第2レーンの中間スライドノーツSNmにより、1のスライドノーツ群SNが構成される。また、第3レーンにおいては、100から120フレームに、タップノーツTNを示すタップノーツ情報が設定される。
また、第5レーンにおいては、115から135フレームと、127から147フレームに、タップノーツTNを示すタップノーツ情報がそれぞれ設定されている。このように、1のレーンにおいて、複数のノーツ情報の一部が、同一フレームに重複して設定されることもある。
例えば、通常モードのリズムゲーム中になされた操作がタップ操作であると特定され、また、第5レーンが特定されたとする。この場合、リズムゲームの開始からのフレーム数(経過時間)が取得され、第5レーンに存在するノーツ情報のうち、操作の入力時点のフレーム数を基準として、前後の所定フレーム内に基準点がある最先のノーツ情報が1つ抽出される。
なお、所定フレーム数は適宜設定可能であるが、ここでは、所定フレームとして、10フレームが設定されている。したがって、現在のフレームよりも10フレーム前までに、あるいは10フレーム先までに、いずれかのノーツ情報の基準点があれば、そのノーツ情報の中で最先の(フレーム数が最も小さい)ノーツ情報が判定対象として特定される。なお、前後10フレーム内にいずれのノーツ情報もなければ、その操作は、いずれのノーツNにも対応しない、つまり、無効なものとして扱われる。
上記のようにして、いずれかのノーツ情報が判定対象として特定されると、次に、判定基準情報に基づいてタイミング判定処理が行われる。判定基準情報には、基準点を含む判定期間が設定されている。そして、基準点と操作が入力されたタイミングとの差分により、判定区間が導出される。
例えば、第3レーンのタップノーツTNには、基準点として110フレームが設定されている。ここでは、基準点の前後10フレーム、すなわち、20フレームが、タップノーツTNの判定期間に設定されている。判定期間は、第1判定区間から第5判定区間に区分される。具体的には、第1判定区間は、基準点の前後2フレーム以内であり、第2判定区間は、基準点との差分が3または4フレームであり、第3判定区間は、基準点との差分が5または6フレームであり、第4判定区間は、基準点との差分が7または8フレームであり、第5判定区間は、基準点との差分が9または10フレームである。
なお、判定期間は、ノーツNによって異なってもよいし、全てのノーツNで共通でもよい。また、判定期間内に設けられる判定区間の数、各判定区間のフレーム数は、全てのノーツNで共通でもよいし、ノーツNによって異なってもよい。
ここでは、タップノーツTNの第1判定区間から第4判定区間までが成功判定に分類され、第5判定区間が失敗判定となる。タイミングの判定結果が成功判定である場合には、プレイヤに得点が付与され、判定結果が失敗判定である場合には、得点が付与されない。また、基準点(基準タイミング)と操作が入力されたタイミングとの差分が小さいほど、プレイヤに高得点が付与される。したがって、判定結果が第1判定区間であった場合に、最も高得点が付与され、以後、第2判定区間、第3判定区間、第4判定区間の順に付与される得点が減少する。
上記のように、判定対象に特定されてタイミング判定処理が行われたノーツ情報は、メモリ12から消去される。そのため、同一のノーツ情報が2回以上判定対象に特定されることはなく、1のノーツ情報に対しては、1回のみタイミング判定処理が行われる。したがって、失敗判定となった場合にも、判定対象に特定されたノーツ情報が消去され、同一のノーツ情報が判定対象に抽出されることはない。
なお、ここでは、判定対象に特定されたノーツ情報が消去されることとしたが、ノーツ情報ごとに、判定対象に特定されたか否かを識別する情報が保持されてもよい。
(通常モードのリズムゲームにおけるノーツリスト情報の説明)
次に、通常モードのリズムゲームにおけるノーツリスト情報の一例について説明する。図18は、通常モードのリズムゲームにおけるノーツリスト情報の一例を示す図である。通常モードのリズムゲームの開始時には、メモリ12のノーツリスト情報記憶部にノーツリスト情報が記憶される。ノーツリスト情報は、通常モードのリズムゲームの楽曲(ゲーム種別)ごとに設けられている。
図18に示すように、ノーツリスト情報は、ID情報、時間情報、タイプ情報、開始位置情報、終了位置情報、ステータス情報、同期情報、グループID情報、可視情報、サイズ情報、換算情報を含む。
ID情報は、ノーツリスト情報のID番号を示す情報である。各ID番号には、時間情報、タイプ情報、開始位置情報、終了位置情報、ステータス情報、同期情報、グループID情報、可視情報、サイズ情報、換算情報がそれぞれ関連付けられ、これら一群の情報がノーツ情報として構成される。
時間情報(図18中、secと表記)は、リズムゲームが開始された時点からの経過時間を示す情報である。ここでは、理解を容易にするため、時間情報の単位を秒(sec)で表しているが、実際にはフレーム数(フレーム値)が設定されている。なお、時間情報には、楽曲開始から各ノーツNが目標オブジェクト(目標座標)に到達するまでの時間(タイミング)が設定されている。
タイプ情報(図18中、typeと表記)は、楽曲におけるノーツNのカウント数(例えば、リズムゲーム中に判定可能なノーツNの総数)に関する情報、楽曲の開始タイミングおよび終了タイミング、ノーツNの種別や表示態様を示す情報を含む。
タイプ情報は、図18中、例えばtypeが「100」である場合、statusに表される数値が楽曲におけるノーツNのカウント数であることを示す。ここで、ノーツNのうちフェイクノーツFaNには、上述した判定期間が設定されないことから、ノーツNのカウント数には、含まれないように設定されている。
また、タイプ情報は、図18中、例えばtypeが「91」である場合、楽曲の開始タイミングを示し、typeが「92」である場合、楽曲の終了タイミングを示している。また、タイプ情報は、図18中、typeが「1」である場合、ノーツNの種別がタップノーツTN、フリックノーツFNのいずれかであることを示す。図18では、typeが「1」であり、statusが「0」である場合、ノーツNの種別がタップノーツTNであることを示す。また、typeが「1」であり、statusが「1」である場合、ノーツNの種別が左フリックノーツFNであることを示し、typeが「1」であり、statusが「2」である場合、ノーツNの種別が右フリックノーツFNであることを示す。
また、タイプ情報は、図18中、typeが「2」である場合、ノーツNの種別がロングタップノーツ群LNであることを示し、typeが「3」である場合、ノーツNの種別がスライドノーツ群SNであることを示す。また、typeが「8」である場合、ノーツNの種別がダメージノーツDNであることを示し、typeが「9」である場合、ノーツNの種別がフェイクノーツFaNであることを示す。
また、タイプ情報は、図18中、typeが「93」である場合、statusにノーツNの以後の移動速度の設定値が表されていることを示す。ノーツNの移動速度の設定値は、例えばstatusに「100」が設定されているとき、以後の移動速度が、楽曲の難易度に応じて設定された初期値(基準速度)であることを示す。statusに設定された数値が「100」よりも大きくなるほど、基準速度に対しノーツNの移動速度が高速になり、数値が「100」より小さくなるほど、基準速度に対しノーツNの移動速度が低速になる。また、数値が「0」である場合、ノーツNの移動速度が0になり、ノーツNの移動が停止することを表す。また、数値がマイナスである場合、数値がプラスである場合に対し移動方向が反転し、ノーツNが逆方向に移動することを表す。
開始位置情報(図18中、start Posと表記)は、タッチパネル26の上部にてノーツNが生成表示される初期位置に対応するレーン番号を示す。終了位置情報(図18中、finish Posと表記)は、タッチパネル26の下部にてノーツNが到達する目標オブジェクトに対応するレーン番号を示す。ステータス情報(図18中、statusと表記)は、上述したように、タイプ情報に応じてノーツNに関するさまざまな情報(カウント数、種別、移動速度など)を示している。なお、typeが「9」(フェイクノーツFaN)である場合、ステータス情報には、フェイクノーツFaNの色情報が設定される。
図19は、フェイクノーツFaNの色情報の一例を説明する図である。図19中、0〜255までの数字は、光の三原色である赤(R)、緑(G)、青(B)の組合せで色を表現するための数値である。赤(R)、緑(G)、青(B)が、255、255、255であるとき白色となり、0、0、0であるとき黒色となる。図19に示すように、statusが「1」である場合、フェイクノーツFaNの色は、赤色に設定され、statusが「2」である場合、フェイクノーツFaNの色は、灰色に設定される。また、statusが「3」である場合、フェイクノーツFaNの色は、緑色に設定され、statusが「4」である場合、フェイクノーツFaNの色は、黒色に設定される。
図18に戻り、同期情報(図18中、syncと表記)は、複数のノーツNが同時にタップ操作(同時押し)されることを示している。例えば、2つのノーツNに対応するsyncに「0」以外の互いに等しい数値が設定されている場合、その2つのノーツNは、互いに結線で接続され、プレイヤに同時押し操作をすべきことが分かるようになっている。
グループID情報(図18中、group Idと表記)は、複数のノーツNがグループ化されていることを示している。例えば、複数のノーツNに互いに同じグループIDが設定されている場合、その複数のノーツNは、帯状のガイド(接続オブジェクト)で接続され、グループ化される。
可視情報(図18中、visibleと表記)は、図9A、図9B、図10A、図10Bに示すような所定範囲Rの設定値を示している。設定値の大きさは、目標オブジェクト(目標座標)からノーツNの初期位置(生成位置)までの所定範囲Rの大きさを示す。可視情報の設定値がプラスである場合は、所定範囲R内でノーツNが出現、すなわち、所定範囲R外ではノーツNが非表示となるように設定される。一方、可視情報の設定値がマイナスである場合は、所定範囲R内でノーツNが消滅(非表示)、すなわち、所定範囲R外ではノーツNが表示(出現)されるように設定される。
サイズ情報(図18中、sizeと表記)は、各ノーツNの基準寸法に対する割合の値を示している。例えば基準寸法を100とした場合の割合がsizeに設定され、sizeに設定された数値が「10」である場合、ノーツNの大きさは、基準寸法の10分の1の大きさであることを示す。sizeに設定された数値が100よりも大きくなるほど、ノーツNが大きくなり、数値が100より小さくなるほど、ノーツNが小さくなる。
換算情報(図18中、conversionと表記)は、各ノーツNが目標オブジェクト(目標座標)に到達するタイミングを示す値(以下、conversion値という)である。図18では、conversion値は、ノーツNの移動速度に基づいて、楽曲開始からの経過時間を換算した値を示している。本実施形態では、ノーツNの基準速度を基に、楽曲開始からの経過時間を換算した値を、conversion値としている。例えば、図18中、conversion値は、ノーツNが基準速度で移動する場合、経過時間が1秒であれば、「1」として規定される。また、conversion値は、ノーツNが基準速度の1/2倍の速度で移動する場合、経過時間が1秒であれば、「0.5」として規定される。また、conversion値は、ノーツNが基準速度の2倍の速度で移動する場合、経過時間が1秒であれば、「2」として規定される。詳細には、図18中、楽曲の経過時間がsec「12」の時点において、ノーツNの移動速度は、基準速度の10分の1に低下し、sec「20」の時点において、ノーツNの移動速度は、基準速度に戻っている。この場合、ノーツNが基準速度で移動していれば、sec「12」〜「20」の間におけるconversion値の増加量は「8」となる。しかし、図18では、sec「12」〜「20」の間、ノーツNの移動速度が10分の1に低下されていることから、conversion値の増加量は、「0.8」となる。そのため、sec「12」におけるconversion値が「12」であるのに対し、sec「20」のconversion値は、「12.8」となっている。
本実施形態において、換算情報(conversion値)は、各ノーツNをタッチパネル26上に表示する際に使用される。具体的には、まず、楽曲開始からの経過時間をノーツNの移動速度で換算した現在のconversion値が導出される。現在のconversion値は、上述したconversion値の計算方法により導出される。なお、ノーツNの移動方向が反転する場合(図18中、type「93」およびstatusの数値がマイナスである場合)、現在のconversion値は減少する。つまり、ノーツNの移動方向が反転している間、現在のconversion値は、減算処理される。
つぎに、各ノーツNをタッチパネル26上の初期位置に表示(生成)すべく、図18に記載の各conversion値から所定値(例えば、「1」)を減算した値(以下、減算値という)を導出する。そして、現在のconversion値と、減算値とが比較され、現在のconversion値と減算値とが等しいとき、タッチパネル26上の初期位置に各ノーツNが生成表示される。また、各ノーツNが初期位置から目標オブジェクトに到達するまでの間、現在のconversion値と図18に記載の各conversion値との差分から、タッチパネル26上の表示位置を毎フレーム逆算する。逆算して得られたタッチパネル26上の位置に各ノーツNを表示させることで、各ノーツNが移動表示される。これにより、各ノーツNの移動速度が変化しても、つまり、各ノーツNの移動速度に関わらず、各ノーツNをタッチパネル26上に適切なタイミングでリアルタイムに表示させることができる。
(プレイヤ端末1における具体的な制御処理)
次に、上記のゲームを実行するためのプレイヤ端末1における具体的な制御処理について説明する。図20は、プレイヤ端末1におけるメモリ12の構成およびコンピュータとしての機能を説明する図である。メモリ12には、プログラム記憶領域12a、および、データ記憶領域12bが設けられている。CPU10は、アプリケーションが起動されると、端末側制御用プログラム(モジュール)をプログラム記憶領域12aに記憶する。
端末側制御用プログラムには、設定画面表示プログラム300、識別画像表示プログラム302、ID設定プログラム304、ゲーム選択画面表示プログラム306、パーティ選択画面表示プログラム308、目標オブジェクト表示プログラム310、指示オブジェクト表示プログラム312、接続オブジェクト表示プログラム314、ゲームモード切替プログラム316、操作情報導出プログラム318、有効判定プログラム320、タイミング判定プログラム322、ゲーム制御プログラム324が含まれる。なお、上記の各プログラムは一例であり、プログラム記憶領域12aには、この他にも多数のプログラムが設けられている。
データ記憶領域12bには、データを記憶する記憶部として、パーティ情報記憶部330、仮選択情報記憶部332、選択情報記憶部334、選択パーティ情報記憶部336、キャラクタID記憶部338、領域属性情報記憶部340、ノーツリスト情報記憶部342、判定基準情報記憶部344、操作情報記憶部346が設けられている。なお、上記の各記憶部は一例であり、データ記憶領域12bには、この他にも多数の記憶部が設けられている。
CPU10は、プログラム記憶領域12aに記憶された各プログラムを動作させ、データ記憶領域12bの各記憶部のデータを更新する。そして、CPU10は、プログラム記憶領域12aに記憶された各プログラムを動作させることで、プレイヤ端末1(コンピュータ)を、端末側制御部1Aとして機能させる。端末側制御部1Aは、設定画面表示部300a、識別画像表示部302a、ID設定部304a、ゲーム選択画面表示部306a、パーティ選択画面表示部308a、目標オブジェクト表示部310a、指示オブジェクト表示部312a、接続オブジェクト表示部314a、ゲームモード切替部316a、操作情報導出部318a、有効判定部320a、タイミング判定部322a、ゲーム制御部324aを含む。
具体的には、CPU10は、設定画面表示プログラム300を動作させ、コンピュータを設定画面表示部300aとして機能させる。同様に、CPU10は、識別画像表示プログラム302、ID設定プログラム304、ゲーム選択画面表示プログラム306、パーティ選択画面表示プログラム308、目標オブジェクト表示プログラム310、指示オブジェクト表示プログラム312、接続オブジェクト表示プログラム314、ゲームモード切替プログラム316、操作情報導出プログラム318、有効判定プログラム320、タイミング判定プログラム322、ゲーム制御プログラム324を動作させ、それぞれ識別画像表示部302a、ID設定部304a、ゲーム選択画面表示部306a、パーティ選択画面表示部308a、目標オブジェクト表示部310a、指示オブジェクト表示部312a、接続オブジェクト表示部314a、ゲームモード切替部316a、操作情報導出部318a、有効判定部320a、タイミング判定部322a、ゲーム制御部324aとして機能させる。以下に、端末側制御部1Aが遂行する処理の一部について説明する。以下に説明する各処理は、フレーム(画像)の更新間隔で繰り返し実行される。
図21は、プレイヤ端末1におけるゲーム選択処理の一例を説明するフローチャートである。第2タブ30bがタップされると(S1のYES)、ゲーム選択画面表示部306aは、仮選択情報記憶部332に仮選択情報をセットする(S2)。ここでは、仮選択情報として、ゲーム種別(楽曲)を示す情報と、ゲームモードを示す情報とがセットされる。
また、ゲーム選択画面表示部306aは、仮選択情報記憶部332にセットされた仮選択情報に基づき、ゲーム選択画面(図4A、図4B)をタッチパネル26に表示する(S3)。
また、ゲーム選択画面の表示中に(S4のYES)、選択操作が入力されると(S5のYES)、ゲーム選択画面表示部306aは、選択操作に基づいて、仮選択情報記憶部332の仮選択情報を更新し、更新した仮選択情報に基づいて、ゲーム選択画面の表示を更新する(S6)。
また、選択操作として通常モード選択タブ42aがタップされた場合には、ゲームモード切替部316aが、ゲームモードを示す仮選択情報を、通常モードに対応する情報に更新し、通常モード選択タブ42aを強調表示する。同様に、特殊モード選択タブ42bがタップされた場合には、ゲームモード切替部316aが、ゲームモードを示す仮選択情報を、特殊モードに対応する情報に更新し、特殊モード選択タブ42bを強調表示する。
また、例えば、選択操作として、楽曲情報タブ40aまたはタイトル表示タブ40b上で、上下方向にフリック操作がなされた場合には、ゲーム選択画面表示部306aは、ゲーム種別を示す情報を更新する。
また、ゲーム選択画面の決定タブ44がタップされると(S7のYES)、設定画面表示部300aは、仮選択情報記憶部332に記憶されている仮選択情報に対応する選択情報を選択情報記憶部334にセットする(S8)。
選択情報が選択情報記憶部334にセットされると、設定画面表示部300aは、パーティ情報記憶部330に記憶されている7つのパーティ情報から、所定条件にしたがって1つのパーティ情報を選択し、選択パーティ情報記憶部336にセットする(S9)。
また、ID設定部304aは、S9で選択パーティ情報記憶部336にセットしたパーティ情報と、パーティ情報記憶部330に記憶されているパーティ情報とに基づき、キャラクタID記憶部338の第1記憶領域から第5記憶領域にそれぞれキャラクタIDをセットする(S10)。
そして、設定画面表示部300aは、S8、S9、S10でセットされた情報に基づいて、通常モード用設定画面(図5参照)を表示する(S11)。また、S11では、識別画像表示部302aが、S9で選択パーティ情報記憶部336にセットされたパーティ情報に基づいて、識別画像58を設定領域に表示する。
図22は、プレイヤ端末1におけるパーティ設定処理の一例を説明するフローチャートである。このパーティ設定処理は、上記のゲーム選択処理において通常モード用設定画面が表示されることで開始され、通常モード用設定画面の表示中、繰り返し実行される。通常モード用設定画面において、開始タブ50がタップされると(S21のYES)、ゲーム制御部324aは、キャラクタID記憶部338に記憶されているキャラクタIDを取得する(S22)。
また、ゲーム制御部324aは、S22で取得した情報に基づき、選択情報記憶部334にセットされているゲーム種別(楽曲情報)に係るゲームデータをセットする(S23)。ここでは、ゲームデータとして、ミュージックビデオデータ、タッチパネル26においてノーツNを移動表示させる制御データ、音声データがセットされる。
なお、S23では、ゲーム種別に対応し、かつ、オブジェクト表示領域に設定されたキャラクタIDの組み合わせに対応するミュージックビデオデータがセットされる。また、目標オブジェクト表示部310aは、キャラクタID記憶部338に記憶されたキャラクタIDに基づき、目標オブジェクトとしての識別画像58を目標座標にセットする(S24)。これにより、目標座標に対応する目標オブジェクト(識別画像58)がタッチパネル26に表示される。このように、目標オブジェクト表示部310aは、互いに離隔した位置に設定される目標座標に基づき、該目標座標に対応する目標オブジェクトをタッチパネル26に表示させる。
一方、通常モード用設定画面において識別画像46あるいは切替タブ48がタップされると(S25のYES)、パーティ選択画面表示部308aが、パーティ変更処理(S30)を実行する。
図23は、プレイヤ端末1におけるパーティ変更処理(S30)の一例を説明するフローチャートである。通常モード用設定画面において、識別画像46がタップされると(S30−1のYES)、パーティ選択画面表示部308aがキャラクタ選択画面を表示する(S30−2)。
なお、詳しい説明は省略するが、キャラクタ選択画面においてキャラクタが変更されると、パーティ情報記憶部330において、変更前のキャラクタ情報が、変更後のキャラクタ情報に更新される。同様に、キャラクタID記憶部338において、変更前のキャラクタIDが、変更後のキャラクタIDに更新される。キャラクタ選択画面においてキャラクタの変更が終了すると、再度、パーティ選択画面が表示される。
通常モード用設定画面において、切替タブ48がタップされると(S30−3のYES)、パーティ選択画面表示部308aは、パーティ情報記憶部330に記憶されたパーティ情報のうち、選択パーティ情報記憶部336に記憶されたパーティ情報と異なるパーティ情報をセットする(S30−4)。また、識別画像表示部302aは、S30−4でセットされたパーティ情報に基づいて、選択領域に識別画像46を表示(変更)する(S30−5)。
図24は、プレイヤ端末1におけるリズムゲーム制御処理の一例を説明するフローチャートである。このリズムゲーム制御処理は、リズムゲームの開始から終了まで実行される。ゲーム制御部324aは、リズムゲームの開始からの経過時間(現在のフレーム値)をインクリメントする(S40)。そして、タッチパネル26に表示するミュージックビデオの画像を、更新したフレーム値に対応する画像に更新する(S41)。また、指示オブジェクト表示部312aは、リズムゲームの開始時にセットされた制御データ(図18に示すノーツリスト情報)に基づいて、ノーツNを移動表示させるノーツ表示処理を実行する(S50)。そして、プレイヤによりタッチパネル26が操作されると、ゲーム制御部324aは、通常モード操作判定処理を実行する(S60)。ノーツ表示処理(S50)および通常モード操作判定処理(S60)の詳細については、後述する。
また、ゲーム制御部324aは、リズムゲームで使用する各キャラクタの能力を管理する(S42)。上記したように、各キャラクタには、能力として「センター効果」と「特技」とが予め設定されており、ゲーム制御部324aは、これらの能力の発動抽選等を行う。例えば、所定のキャラクタに、「4秒おきに得点を10%アップさせる抽選を行う」という「特技」が設定されているとする。
この場合、通常モードのリズムゲームでは、ゲーム制御部324aが、4秒おきに抽選を行い、抽選で当選した場合に、以後、一定時間に亘り、獲得した得点を10%アップさせる。
図25は、プレイヤ端末1におけるノーツ表示処理の一例を説明するフローチャートの第1図である。図26は、プレイヤ端末1におけるノーツ表示処理の一例を説明するフローチャートの第2図である。このノーツ表示処理は、リズムゲームの開始から終了まで実行される。指示オブジェクト表示部312aは、ノーツリスト情報記憶部342から図18に示すノーツリスト情報を取得する(S50−1)。指示オブジェクト表示部312aは、ノーツリスト情報からID番号の小さい順にノーツ情報を抽出する。このとき、指示オブジェクト表示部312aは、現在のフレーム値(楽曲開始からの経過時間)から所定時間内の範囲に含まれるノーツ情報を抽出する(S50−2)。
指示オブジェクト表示部312aは、抽出したノーツ情報のタイプ情報が、ノーツNの移動速度および移動方向に関する情報であるか否か判定する(S50−3)。タイプ情報がノーツNの移動速度および移動方向に関する情報である場合(S50−3のYES)、指示オブジェクト表示部312aは、全ノーツNの移動速度、移動方向を設定する。
例えば、指示オブジェクト表示部312aは、図18中、type「93」、および、status「100」である場合、全ノーツNの移動速度を、楽曲の難易度に応じて設定された基準速度に設定する。また、指示オブジェクト表示部312aは、statusがプラスである場合、全ノーツNの移動方向は、目標オブジェクトに近づく順方向であると判定する。一方、指示オブジェクト表示部312aは、statusがマイナスである場合、全ノーツNの移動方向は、目標オブジェクトから離れる逆方向であると判定する。
また、指示オブジェクト表示部312aは、図18中、type「93」であって、statusの数値が「100」より大きい場合、全ノーツNの移動速度は、基準速度よりも高速であると判定する。このとき、指示オブジェクト表示部312aは、status「100」に対するstatusの数値の割合と、基準速度とに基づいて、全ノーツNの移動速度を導出する。また、指示オブジェクト表示部312aは、図18中、type「93」であって、statusの数値が「100」より小さい場合、全ノーツNの移動速度は、基準速度より低速であると判定する。このとき、指示オブジェクト表示部312aは、status「100」に対するstatusの数値の割合と、基準速度とに基づいて、全ノーツNの移動速度を導出する。
そして、指示オブジェクト表示部312aは、判定した全ノーツNの移動速度および移動方向を設定する(S50−4)。
タイプ情報がノーツNの移動速度および移動方向に関する情報でない場合(S50−3のNO)、指示オブジェクト表示部312aは、タイプ情報に基づいて、ノーツNの種別がフェイクノーツFaNであるか否か判定する(S50−5)。
ノーツNの種別がフェイクノーツFaNである場合(S50−5のYES)、指示オブジェクト表示部312aは、ステータス情報に基づいて、タッチパネル26に表示するフェイクノーツFaNの色を設定する(S50−6)。
ノーツNの種別がフェイクノーツFaNでない場合(S50−5のNO)、指示オブジェクト表示部312aは、サイズ情報に基づいて、ノーツNの大きさが変更されているか否か判定する(S50−7)。ノーツNの大きさが基準形状から変更されている場合(S50−7のYES)、指示オブジェクト表示部312aは、サイズ情報に基づいて、ノーツNの寸法を拡大または縮小設定する(S50−8)。なお、指示オブジェクト表示部312aは、ノーツNの移動表示中に、ノーツNの寸法が変化(拡大または縮小)するように設定してもよい。
ノーツNの大きさが変更されていない場合(S50−7のNO)、指示オブジェクト表示部312aは、タイプ情報およびステータス情報に基づいて、ノーツNの種別(タップノーツTN、ロングタップノーツ群LN、フリックノーツFN、スライドノーツ群SN、ダメージノーツDNのいずれか)を特定する(S50−9)。
指示オブジェクト表示部312aは、開始位置情報および終了位置情報に基づいて、各ノーツNの初期位置(開始位置)および目標オブジェクトの位置(終了位置)を設定する(S50−10)。
指示オブジェクト表示部312aは、同期情報に基づいて、複数のノーツNを結線で結ぶ結線表示処理を実行するか否か判定する(S50−11)。複数のノーツNに互いに対応付けられた同期設定値がある場合(S50−11のYES)、指示オブジェクト表示部312aは、結線表示処理を実行する(S50−12)。また、複数のノーツNに互いに対応付けられた同期設定値がない場合(S50−11のNO)、指示オブジェクト表示部312aは、結線表示処理を実行しない。
接続オブジェクト表示部314aは、グループID情報に基づいて、複数のノーツNを帯状のガイドで結ぶガイド表示処理を実行するか否か判定する(S50−13)。複数のノーツNに互いに対応付けられたグループIDがある場合(S50−13のYES)、接続オブジェクト表示部314aは、ガイド表示処理を実行する(S50−14)。ここでは、接続オブジェクト表示部314aは、フェイクノーツFaN(特殊指示オブジェクト)に関しても、グループIDがある場合は、複数のフェイクノーツFaNを帯状のガイドで結ぶガイド表示処理を実行する。つまり、接続オブジェクト表示部314aは、通常指示オブジェクトおよび特殊指示オブジェクトに関わらず、ガイド表示処理を実行する。換言すれば、接続オブジェクト表示部314aは、複数の通常指示オブジェクトを接続するガイド(通常接続オブジェクト)、および、複数の特殊指示オブジェクトを接続するガイド(特殊接続オブジェクト)を移動表示させる。また、接続オブジェクト表示部314aは、通常接続オブジェクトおよび特殊接続オブジェクトを、互いに識別可能に表示する。
一方、複数のノーツNに互いに対応付けられたグループIDがない場合(S50−13のNO)、指示オブジェクト表示部312aは、ガイド表示処理を実行しない。ただし、接続オブジェクト表示部314aは、ロングタップノーツ群LNに関しては、グループIDがなくともガイド表示処理を実行する。
指示オブジェクト表示部312aは、可視情報に基づいて、タッチパネル26上におけるノーツNの表示範囲の指定があるか否か判定する(S50−15)。表示範囲の指定がある場合(S50−15のYES)、指示オブジェクト表示部312aは、例えば図10Aに示すようにタッチパネル26上における所定範囲Rを設定する(S50−16)。また、表示範囲の指定がない場合(S50−15のNO)、指示オブジェクト表示部312aは、所定範囲Rを設定しない。
指示オブジェクト表示部312aは、上述したように、換算情報(conversion値)と現在のconversion値とに基づいて、タッチパネル26上におけるノーツNの表示位置を導出する(S50−17)。
詳細には、まず、指示オブジェクト表示部312aは、楽曲開始からの経過時間をノーツNの移動速度で換算した現在のconversion値を導出する。つぎに、指示オブジェクト表示部312aは、図18に記載の各conversion値から所定値(例えば、「1」)を減算した値(減算値)を導出する。そして、指示オブジェクト表示部312aは、現在のconversion値と、減算値とを比較し、現在のconversion値と減算値とが等しいとき、タッチパネル26上の初期位置に各ノーツNを生成表示する。また、指示オブジェクト表示部312aは、各ノーツNが初期位置から目標オブジェクトに到達するまでの間、現在のconversion値と図18に記載の各conversion値との差分から、タッチパネル26上の表示位置を毎フレーム逆算する。指示オブジェクト表示部312aは、逆算して得られたタッチパネル26上の位置に各ノーツNを逐次表示させることで、各ノーツNを移動表示させる。これにより、各ノーツNの移動速度に関わらず、各ノーツNをタッチパネル26上に適切なタイミングでリアルタイムに表示させることができる。
このように、指示オブジェクト表示部312aは、いずれかの目標座標に対応して設けられる指示オブジェクトを、対応する目標座標に到達させるように移動表示させる。このとき、指示オブジェクト表示部312aは、フェイクノーツFaN以外のノーツN(通常指示オブジェクト)と、フェイクノーツFaN(特殊指示オブジェクト)とを、互いに識別可能に表示する。
指示オブジェクト表示部312aは、S50−2で抽出したノーツ情報の処理がすべて完了しているか否か判定し、他に処理するノーツ情報がある場合(S50−18のYES)は、S50−3に処理を戻す。
図27は、プレイヤ端末1における通常モード操作判定処理の一例を説明するフローチャートである。この操作判定処理は、リズムゲームの開始から終了まで実行される。操作情報導出部318aは、タッチパネル26の操作を検知し、検知結果に基づいて、操作情報記憶部346における操作情報を更新(導出)する(S60−1)。また、ここでは、操作情報導出部318aは、タップ操作(継続開始操作)、継続維持操作、継続終了操作がなされたかを特定する。このように、操作情報導出部318aは、タッチパネル26への操作入力に基づいて所定の操作情報を導出する。
ゲーム制御部324aは、S60−1でタップ操作が検知されたと特定された場合(S60−2のYES)、当該タップ操作の操作位置がタップ判定領域内であるかを判定する(S60−3)。ここで、ゲーム制御部324aは、ノーツNのサイズ(寸法)が異なる場合も、タップ判定領域のサイズ(寸法)を変えずに、同一のタップ判定領域を設定する。
つまり、ゲーム制御部324aは、互いに同様の形状を有し、寸法が異なる2つのノーツN(第1指示オブジェクトおよび第2指示オブジェクト)に対して共通の有効判定領域を設定し、共通の判定処理を実行する。換言すれば、ゲーム制御部324aは、操作情報に基づいて、第1指示オブジェクトおよび第2指示オブジェクトに対し共通の判定処理を実行する判定処理部として機能する。タップ操作の操作位置がタップ判定領域内であれば(S60−3のYES)、ゲーム制御部324aがレーンを特定する(S60−4)。
また、ゲーム制御部324aは、ノーツリスト情報記憶部342に記憶されたノーツリスト情報に基づき、レーンに対応するノーツ情報のうち、所定フレーム内に基準点がある最先のノーツ情報がフェイクノーツ情報でなければ、このノーツ情報を抽出する(S60−5)。ここで、各ノーツNには、サイズ(外形形状)によらず、目標座標(目標レーン)が決定(設定)されており(図18参照)、ゲーム制御部324aは、S60−4で特定したレーンと、ノーツNに対応付けられた目標レーンとが一致する場合に、このノーツ情報を抽出し、後述するタイミング判定処理(S100)に移行する。したがって、ゲーム制御部324aは、ノーツNの外形形状が、該ノーツNに対応する目標オブジェクトに隣接する目標オブジェクトと重複する場合、該隣接する目標オブジェクトに対応する有効判定領域において、該ノーツNに対する有効判定を行わないようにしている。以降のノーツ情報を抽出するステップも同様である。しかし、これに限定されず、ゲーム制御部324aは、最先のノーツ情報がフェイクノーツ情報である場合に、フェイクノーツ情報を抽出するようにしてもよい。
そして、抽出されたノーツ情報が、タップノーツ情報または先頭スライドノーツ情報であれば(S60−6のYES、S60−7のYES)、タイミング判定部322aがタイミング判定処理(S100)を行う。なお、タイミング判定処理については後で詳述する。
また、S60−5においてノーツ情報が抽出されなかった場合、あるいは、抽出されたノーツ情報が、タップノーツ情報および先頭スライドノーツ情報のいずれでもなかった場合(S60−7のNO)、当該操作は無効となる。そして、他に特定された操作があれば(S60−22のYES)、S60−2から処理が繰り返され、他に特定された操作がなければ(S60−22のNO)、通常モード操作判定処理が終了となる。
また、タップ操作が検知されたと特定され(S60−2のYES)、当該タップ操作の操作位置が、タップ判定領域内ではないが(S60−3のNO)、スライド判定領域内であれば(S60−8のYES)、ゲーム制御部324aがレーンを特定する(S60−9)。
そして、ゲーム制御部324aは、ノーツリスト情報記憶部342に記憶されたノーツ抽出情報に基づき、レーンに対応するノーツ情報のうち、所定フレーム内に基準点がある最先のノーツ情報がフェイクノーツ情報でなければ、このノーツ情報を抽出する(S60−10)。このとき、抽出されたノーツ情報が、先頭スライドノーツ情報であれば(S60−11のYES)、タイミング判定部322aがタイミング判定処理(S100)を行う。
また、フリック操作が検知されたと特定され(S60−12のYES)、当該フリック操作の操作位置が、所定範囲内あれば(S60−13のYES)、ゲーム制御部324aがレーンを特定する(S60−14)。そして、ゲーム制御部324aは、ノーツリスト情報記憶部342に記憶されたノーツ情報に基づき、所定フレーム内に基準点がある最先のノーツ情報がフェイクノーツ情報でなければこれを抽出する(S60−15)。このとき、抽出されたノーツ情報が、フリックノーツ情報であれば(S60−16のYES)、タイミング判定部322aがタイミング判定処理(S100)を行う。
また、継続維持操作または継続終了操作が検知されたと特定され(S60−17のYES)、操作位置がスライド判定領域内であれば(S60−18のYES)、ゲーム制御部324aがレーンを特定する(S60−19)。また、ゲーム制御部324aは、ノーツリスト情報記憶部342に記憶されたノーツ情報に基づき、所定フレーム内に基準点がある最先のノーツ情報がフェイクノーツ情報でなければこれを抽出する(S60−20)。
このとき、特定された操作が継続維持操作であり、かつ、抽出されたノーツ情報が中間スライドノーツ情報であるか、あるいは、特定された操作が継続終了操作であり、かつ、抽出されたノーツ情報が最終スライドノーツ情報であれば(S60−21のYES)、タイミング判定部322aがタイミング判定処理(S100)を行う。
図28は、プレイヤ端末1におけるタイミング判定処理(S100)の一例を説明するフローチャートである。タイミング判定部322aは、判定基準情報記憶部344に記憶された判定基準情報に基づき、判定対象のノーツ情報の基準点をセットする(S100−1)。ここで、タイミング判定部322aは、ノーツ情報からノーツNの種別に基づいて、基準点をセットしないようにしてもよい。具体的に、タイミング判定部322aは、ノーツNの種別がフェイクノーツFaN(特殊指示オブジェクト)である場合、フェイクノーツFaNに対し基準点をセットしないようにしてもよい。つまり、タイミング判定部322aは、ノーツNの種別が特殊指示オブジェクトである場合に、特殊指示オブジェクトに対し判定処理を実行しないようにしてもよい。
そして、タイミング判定部322aは、S40で更新された現在のフレーム値と基準点との差分により、第1判定区間から第5判定区間のいずれかを導出する(S100−2)。ここで、タイミング判定部322aは、ノーツNのサイズ(寸法)が異なる場合であっても、判定区間のサイズ(フレーム期間)を変えずに、同一の判定区間(第1判定区間から第5判定区間)を設定する。つまり、タイミング判定部322aは、互いに同様の形状を有し、寸法が異なる2つのノーツN(第1指示オブジェクトおよび第2指示オブジェクト)に対して共通の判定処理を実行する。換言すれば、タイミング判定部322aは、操作情報に基づいて、第1指示オブジェクトおよび第2指示オブジェクトに対し共通の判定処理を実行する判定処理部として機能する。このように、タイミング判定部322aは、ノーツNの基準形状に対する大きさの変更に伴って、判定期間の大きさが変更されないように一定に制御する。
例えば、ノーツNの大きさが1/2倍に小さくなった場合の判定区間は、1/2倍と小さくせずに、等倍のまま維持される。また、ノーツNの大きさが2倍に大きくなった場合の判定期間は、2倍と大きくならずに、等倍のまま維持される。これにより、ノーツNの大きさにより判定区間が変更されることなく、ノーツNの見た目のみ変更されることにより、操作タイミングや操作難易度に影響を及ぼすことなく、ノーツNの見た目にのみインパクトを与えることができる。その結果、リズムゲームの遊戯性を向上させることができる。
また、タイミング判定部322aは、フェイクノーツFaN(特殊指示オブジェクト)に関して基準点をセットしないことから、特殊指示オブジェクトに関しては、第1判定区間から第5判定区間の評価判定も実行しない。一方、フェイクノーツFaN以外(通常指示オブジェクト)に関しては、基準点をセットし、第1判定区間から第5判定区間の評価判定を実行する。このとき、タイミング判定部322aは、通常指示オブジェクトを接続するガイド(通常接続オブジェクト)がある場合も同様に評価判定を継続している。
このように、タイミング判定部322aは、通常指示オブジェクトに対して、所定の操作情報に基づいて評価判定を実行し、特殊指示オブジェクトに対して、評価判定を不実行とする。また、タイミング判定部322aは、通常接続オブジェクトに対して、所定の操作情報に基づいて評価判定を実行し、特殊接続オブジェクトに対して、評価判定を不実行としている。これにより、フェイクノーツFaNは、リズムゲームの評価対象から除外されることとなり、プレイヤの操作プレイ評価に影響を及ぼすことなく、お遊び要素や演出表現を強化することができる。その結果、リズムゲームの遊戯性を向上させることができる。
ゲーム制御部324aは、判定結果を報知するとともに、判定結果に基づいて、ポイントを計上する(S100−3)。詳しい説明は省略するが、ここでは、ゲーム制御部324aは、キャラクタの能力を反映してポイントを計上する。
また、タイミング判定部322aは、タイミング判定処理の対象となったノーツ情報を消去する(S100−4)。
以上、添付図面を参照しながら実施形態の一態様について説明したが、本発明は上記実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変形例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、フェイクノーツFaNに対してプレイヤが操作をしたときに、プレイヤの操作が適切な操作であった場合には、評価判定は行わない(得点に影響を与えない)が、タイミング判定処理(S100)を行い、操作タイミングが正しいことを示すエフェクトや、操作タイミングに関係なく操作がされたことに対して表示される演出用のエフェクトなど、各種の演出表示を行ってもよい。また、上記のエフェクトについて、ミュージックビデオに対して何かしらの影響を与える演出表示としてもよい。
また、基準寸法に対し拡大あるいは縮小設定されるノーツNの種別には、フェイクノーツFaNが含まれてもよい。したがって、図26のステップS50−8において、指示オブジェクト表示部312aは、サイズ情報に基づいて、フェイクノーツFaNの寸法を拡大または縮小設定してもよい。
上記実施形態では、リズムゲームの開始からの経過時間(フレーム数)に基づき、ノーツNに設定される基準点と、操作の入力タイミングとの差分によって、操作タイミングの判定結果が導出される。しかしながら、操作タイミングの判定方法はこれに限らない。例えば、ノーツNと、ノーツNに設定される目標座標に対応する目標オブジェクトとが重なる範囲(面積)を導出し、この範囲に基づいて判定結果が導出されてもよい。
上記実施形態では、タッチパネル26へ入力される操作の操作態様が、タップ操作、フリック操作(継続開始操作)、継続維持操作、継続終了操作に大別される。しかしながら、これらの操作態様のうちのいずれか一部のみが設けられてもよいし、さらには別の操作態様が設けられてもよい。いずれにしても、タッチパネル26への操作入力に基づいて所定の操作情報が導出されれば、その具体的な内容は特に限定されるものではない。
上記実施形態では、通常モードおよび特殊モードの2つのゲームモードが設けられるが、ゲームモードは1つのみ設けられてもよいし、3以上のゲームモードが設けられてもよい。また、上記実施形態において、タッチパネル26に表示される各オブジェクトは一例に過ぎない。
上記実施形態では、目標座標に目標オブジェクトを対応させることとした。しかしながら、目標オブジェクトは、目標座標に限らず、例えば、所定の領域やオブジェクトに対応させてもよい。すなわち、目標オブジェクトは、いずれかの目標に対応して表示されればよく、目標は特に限定されない。
また、上記実施形態に示す制御処理は一例に過ぎない。上記実施形態では、ゲームを実行するための制御処理が、プレイヤ端末1とサーバ100とで実行される。すなわち、プレイヤ端末1およびサーバ100を備えるクライアントサーバシステムである情報処理システムSが、ゲーム装置Gとして機能する。しかしながら、ゲームを実行するための制御処理は、例えば、プレイヤ端末1のみで実行されてもよい。この場合、プレイヤ端末1のみがゲーム装置Gとして機能する。また、ゲームを実行するための制御処理は、例えば、サーバ100のみで実行されてもよい。このように、ゲームを実行するための制御処理は、プレイヤ端末1、および、プレイヤ端末1と通信可能なサーバ100のいずれか一方または双方が実行してもよい。
また、上記実施形態において、ゲームを実現するための情報処理プログラムは、コンピュータが読み取り可能な記憶媒体に格納されてもよい。さらには、上記実施形態は、各機能およびフローチャートに示すステップを実現する情報処理方法としてもよい。