以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるゲームシステムの構成を示すブロック図である。図1に示すように、本実施形態におけるゲームシステムでは、ゲームサーバ10がインターネット等を含むネットワーク12を介して、全国に存在する複数の店舗14−1,…,14−Xのシステムと接続されている。
例えば、店舗14−1では、複数(図1では8台)のゲーム装置20がLAN(Local Area Network)などのネットワークを介して相互に接続されている。また、複数のゲーム装置20は、中継装置21を介して、ネットワーク12と接続される。従って、ゲーム装置20は、ゲームサーバ10との通信が可能であり、各種のデータを送受信することができる。なお、ゲーム装置20が、直接、ネットワーク12を通じてゲームサーバ10と通信できるようにした構成でも良い。
なお、図1では、店舗14−1に8台のゲーム装置20が設けられた例を示しているが、店舗14−2,…,14−xには1台以上のゲーム装置20が設けられているものとする。複数のゲーム装置20が設けられた店舗14−1では、店舗内でゲーム装置20の間で対戦プレー(店内プレー)をすることができる。
店舗14−1,…,14−Xのゲーム装置20は、ゲームを実行することで、ゲーム実行時の入力操作を示す操作データを含むプレーヤデータをゲームサーバ10にアップロードして記憶させることができる。
また、ゲーム装置20は、仮想の対戦相手(ゴースト)との対戦プレー(全国ゴーストプレー)をすることができる。ゲーム装置20は、全国ゴーストプレーを実行する場合、全国の店舗に設置された他のゲーム装置20からゲームサーバ10にアップロードされたプレーヤデータ(操作データ)を、対戦相手とするゴーストのゴーストデータとして受信し、このプレーヤデータ(操作データ)をもとに対戦プレーを実現する。
なお、本実施形態におけるゲーム装置20により実行されるゲームは、楽曲を選択することで、楽曲の再生出力と共に実行されるゲームである。ゲーム装置20は、楽曲が選択されると、楽曲の再生出力と共に、例えば三次元空間を表現するゲーム画面中に楽曲に合わせて変化する進行ルートを表示し、この進行ルートに沿ってプレーヤ毎に決められたオブジェクト(キャラクタ)を移動(飛行)させる。そして、オブジェクトを進行ルートに沿って移動させると共に、進行ルートに合わせて入力操作のタイミングを示すターゲットを出現させ、このターゲットに合わせてタッチスクリーンに対するユーザ操作によって入力されるデータをもとに入力タイミングを判定し、その判定結果に応じた画面表示や音声出力などの演出処理等を実行すると共にポイント計算や評価を行なう。
本実施形態におけるゲーム装置20には、プレーヤの入力操作を受け付ける入力装置としてタッチスクリーンを設けている。タッチスクリーンは、同時に複数箇所でタッチされた位置を検出することができる多点式タッチパネルにより構成されており、ターゲットに対して複数の指や両手を用いて同時にタッチする入力操作を可能にしている。なお、ゲームの詳細については後述する。
ゲームサーバ10は、店舗14−1,…,14−X内のゲーム装置20により実行されるゲームに関する各種データを管理する。ゲームサーバ10により管理されるデータの詳細については後述する(図3、図4)。
携帯端末16は、例えばユーザによって操作される入力デバイスとしてタッチスクリーンが設けられた他の電子機器、例えばスマートフォン、スレートPC、携帯電話機、携帯型ゲーム機などにより実現されている。携帯端末16は、ネットワーク12を介して、ゲームサーバ10と通信してゲームデータを受信し、ゲームを実行することができる。
図2は、ゲームサーバ10の機能構成を示すブロック図である。図2に示すように、ゲームサーバ10は、制御部30、記憶部31、及び通信インタフェース32を有している。
制御部30は、記憶部31に記憶されているプログラムやデータに基づいて、ゲームサーバ10の全体の制御、記憶部31に記憶されるデータの管理、ゲーム装置20や携帯端末16との通信インタフェース32を介したデータ送受信等の各種処理を実行する。制御部30は、プロセッサ(CPU(Central Processing Unit)やDSP(Digital Signal Processor))により、記憶部31に記憶されたゲームデータ管理プログラム31aを実行することにより各種機能を実現する。
制御部30により実現される機能には、例えばプレーヤデータ処理部30a、ランキングデータ処理部30b、及びゲームデータ処理部30cが含まれる。
プレーヤデータ処理部30aは、ゲーム装置20にプレーヤが提示したプレーヤID毎に、プレーヤが実行したゲームに関する各種データを処理する。プレーヤデータ処理部30aは、プレーヤID毎に設定される各種データ(プレーヤ管理データ)の処理、プレーヤがゴーストとして選択された場合に更新されるデータ(ゴースト管理データ)の処理、ゲーム装置20から受信されるゲーム結果(プレーヤのゲーム実行時の入力操作を示す操作データを含む)の記録や更新、ゴーストとして選択された場合の操作データ(ゴーストデータ)のゲーム装置20への送信、ゲームの実行結果に基づく他のプレーヤとの関連性(リンク率)の判別などの各種処理を実行する。
ランキングデータ処理部30bは、複数のプレーヤ(プレーヤID)に対応するゲーム結果(プレーヤ戦績)をもとに、各種のランキングデータを作成する。
ゲームデータ処理部30cは、携帯端末16やゲーム装置20においてゲームを実行するためのゲームデータ(ゲーム画面中の進行ルートやターゲットを定義する)を処理するもので、ゲーム装置20あるいは携帯端末16に対するゲームデータの配信、携帯端末16からアップロードされたゲームデータや新規楽曲に対応するゲームデータの追加記録などを実行する。
記憶部31は、ゲームサーバ10を制御するためのプログラムやデータを記憶する。記憶部31に記憶されるプログラムには、基本プログラム(OS(Operating System))の他、ゲーム装置20においてゲームを実行するための各種データを管理するためのゲームデータ管理プログラム31aが含まれる。
ゲームデータ管理プログラム31aには、プレーヤデータ処理部30aを実現するためのプレーヤデータ処理プログラム31a1、ランキングデータ処理部30bを実現するためのランキングデータ処理プログラム31a2、ゲームデータ処理部30cを実現するためのゲームデータ処理プログラム31a3が含まれる。
また、記憶部31に記録されるデータには、プレーヤデータ31b、ランキングデータ31c、ゲームデータ31dが含まれる。
図3は、記憶部31に記憶されるプレーヤデータ31bの一例を示す図である。図3に示すように、プレーヤデータ31bには、プレーヤ1〜mのそれぞれに対応するプレーヤID毎のデータ41〜4mが含まれる。図3では、例えばプレーヤ1に対応するデータ41として、プレーヤ管理データ41a、ゴースト管理データ41b、プレーヤ操作データ41cを示している。
プレーヤ管理データ41aは、プレーヤがプレーヤIDを指定してゲームを実行した場合に記憶されるデータであり、プレーヤID毎に設定されるゲームに関係する各種データが含まれる。例えばプレーヤ管理データ41aには、プレーヤID(識別情報)、店舗ID、プレー地域、プレーヤネーム、カスタムイメージ、プレーヤ経験値、クラス、レベル、称号、獲得アイテム、プレーヤ戦績、フォロープレーヤID、リンクプレーヤID等のデータが含まれている。
プレーヤIDは、プレーヤを識別するためのもので、例えばゲーム装置20によりプレーヤが所有するゲーム用カード(記憶媒体)から読み取られ、ゲームサーバ10に通知される。店舗IDは、ゲーム装置20が設置された店舗を識別するためのもので、例えばプレーヤIDと共にゲーム装置20から通知される。プレー地域は、例えば店舗IDが示す店舗を含む地域を示すもので、例えば都道府県によって表す。プレーヤネームは、プレーヤを識別するために用いられるもので、例えばゲーム用カード(プレーヤID)の新規登録時にプレーヤによって任意に指定された文字列(例えば、英数8文字)によって表現される。カスタムイメージは、プレーヤによって作成されたプレーヤを表すイメージ(アバター、キャラクタ)であり、例えば背景、シンボル(マーク、キャラクタ)、エフェクト(飾り)のイメージを組み合わせて構成される。カスタムイメージを構成する各パーツは、プレーヤがポイントを消費することによって獲得(購入)したり、通常のゲームとは異なるイベントプレイの景品として獲得することができる。
プレーヤ経験値、クラス、レベル、称号、獲得アイテム、及びプレーヤ戦績の各データは、ゲーム装置20において実行されたゲーム結果に基づいて更新されるデータである。
プレーヤ経験値は、プレーヤがゲームを実行することにより加算されるパラメータである。プレーヤ経験値は、ゲーム実行回数に応じて加算され、また対戦プレーをした場合の対戦相手と対戦結果に応じて加算される。例えば、プレーヤのクラスやレベルよりも高いクラスやレベルのゴーストと対戦して勝利した場合には、クラスやレベルの差に応じたより多くの経験値が加算される。さらに、プレーヤ経験値は、対戦プレーをした場合の他のプレーヤとの入力操作の同調関係(後述する「シンクロ率」)に応じて加算される。さらに、プレーヤ経験値は、プレーヤが他のプレーヤが実行する対戦プレーにおいてゴーストとして選択された場合に、対戦プレーの結果(順位)に応じて獲得されるゴースト獲得経験値が加算される。レベルは、プレーヤ経験値が所定段階まで上がることで獲得されるパラメータである。クラスは、プレーヤのレベルを分類するもので、例えば初級クラス(BEGINNER CLASS)、中級クラス(MIDDLE CLASS)、上級クラス(ADVANCED CLASS)、マスタークラス(MASTER CLASS)に分類される。クラスは、プレーヤのレベル毎に決められた条件、例えば所定の難易度(モード)のゲーム(楽曲)について、所定曲数について所定以上の評価(RATING)を得られた場合に昇格するように定義されている。クラスは、プレーヤが選択可能な楽曲を制限するなど、プレーヤ別の制御をするために参照される。称号は、特定の条件を満たすゲーム結果が得られた場合や、プレーヤがポイントを消費することで獲得されるもので、特定の文字列(例えば15文字)で表される。称号は、プレーヤネームと共にプレーヤを識別するために用いられるもので、複数のレベル(例えば10レベル)が定義されている。上位レベルの称号ほど希少価値があり、獲得しにくいものとなっている。称号が得られる特定の条件を満たすゲーム結果としては、所定の難易度の楽曲をクリアした面数、通算勝利数、各種ランキングの上位入賞などがあり、それぞれの条件に応じた称号レベルが定義されている。さらに、プレーヤが他のプレーヤの対戦プレーにおいてゴーストとして選択された場合に、ゴーストによるゲーム結果が特定の条件を満たす場合にも称号が得られる。例えば、ゴーストの1位獲得回数に応じたレベルの称号が得られるようになっている。
獲得アイテムは、プレーヤが取得しているアイテムを示す。アイテムは、ゲーム結果に応じて獲得したり、プレーヤがポイントを消費して獲得することができる。さらに、アイテムは、プレーヤがゴーストとして選択された場合に、その対戦プレーのゲーム結果(ゴーストの勝利数など)に応じて獲得することができる。アイテムは、ゲーム実行中に使用され、ゲーム内容をプレーヤによって有利となるように変更することができる。例えば、ゲーム中にアイテムを使用することで、プレーヤに要求される入力操作を簡単な操作に変更する、入力操作に対する判定をプレーヤに有利にする、ヒントを提示する、ターゲットが現れるタイミングを変更するなどがある。プレーヤ戦績は、プレーヤが実行した各ゲームに関する各種データ、例えばゲーム実行日時、ゲーム対象として選択した楽曲や難易度、ゲーム結果として得られた順位、獲得ポイント、シンクロデータ(対戦した相手とのシンクロ率を示す)などの履歴である。
フォロープレーヤIDは、プレーヤがフォロー対象として指定した他のプレーヤのプレーヤIDである。リンクプレーヤIDは、プレーヤデータ処理部30aの処理によってゲームの実行結果に基づいて判別された、プレーヤとの関連性が高い他のプレーヤのプレーヤIDである。リンクプレーヤIDは、例えば同じ店舗IDが設定されたプレーヤを対象として判別された関連性(店内リンク率)が高いプレーヤと、全て(全国)のプレーヤを対象として判別された関連性(全国リンク率)が高いプレーヤとをそれぞれ含む。フォロープレーヤIDとリンクプレーヤIDによって、プレーヤとフォロー/リンクの対象として特定された他のプレーヤとの関係付けが記録される。
なお、リンクプレーヤIDは、例えばプレーヤ戦歴のデータの更新に応じて、プレーヤデータ処理部30aによって更新されるものとする。例えば、プレーヤデータ処理部30aは、プレーヤ戦績として記録されるデータのうち、例えばゲーム対象として選択した楽曲、楽曲のジャンル、選択回数、評価(RATING)や、プレーヤのクラスやレベルなどが類似する他のプレーヤを、それぞれのプレーヤのプレーヤ戦績、クラス/レベルのデータと比較することによって抽出する。これにより、ゲームの利用傾向が類似したプレーヤを関連性が高いものとして抽出することができる。
関連性が高いと判別された他のプレーヤは、ゲームの利用傾向が類似していることから、対戦プレーの対戦相手として好適となる。従って、後述するプレーヤマッチング処理において、リンクプレーヤIDが示すプレーヤをゴーストとして容易に選択できるようにする。対戦プレーをした場合には、ゲーム結果処理において、フォロー対象として設定することも可能となる(詳細については後述する)。
なお、関連性の判定については、前述したデータだけに限らず、他のデータや組み合わせなどによって任意の条件を設定することが可能である。
プレーヤ管理データ41aは、ゲーム装置20においてプレーヤ情報を表示する場合(例えば、対戦プレー実行時のプレーヤマッチング画面、ゲーム結果表示画面、ランキング表示画面)に用いられる。また、プレーヤ管理データ41aのフォロープレーヤIDやリンクプレーヤIDは、例えばプレーヤマッチング処理(後述する)において対戦プレーの対戦相手(ゴースト)を選択する場合に、選択対象とするプレーヤを特定するために用いられる。
ゴースト管理データ41bは、プレーヤが他のプレーヤの対戦プレーにおいてゴースト(仮想の対戦相手)として選択された場合に、ゲーム結果に応じて更新されるデータが含まれる。例えば、ゴースト管理データ41bには、ゴースト戦績、ゴースト選択回数、1位獲得回数、ゴースト獲得経験値、ゴースト獲得アイテムのデータが含まれる。
プレーヤがゴースト(仮想の対戦相手)として選択された場合には、対戦プレーに用いられた楽曲と難易度に対応する操作データがゴーストデータとしてゲーム装置20に送信される。本実施形態では、プレーヤ操作データ41c中の例えば「最新操作データ」がゴーストデータとして用いられるものとする。
なお、本実施形態における操作データは、ゲーム実行時にプレーヤによる入力操作を示すデータであり、例えばタッチスクリーン51に対するプレーヤのタッチ位置を示すデータ(座標データ)と楽曲の再生時間とを対応付けた時系列のデータである。ゲーム中にプレーヤに要求される入力操作には、各種操作(例えば、タップ、フリック、ホールド、スクラッチ、ビートなど)があり、これらの各種操作によるタッチ位置とその変化をディスプレイに表示することができるデータが含まれるものとする。
ゴースト戦績は、プレーヤが他の対戦プレーにおいてゴーストとして選択された場合の各対戦プレーに関する各種データ、例えば順位、獲得ポイント、シンクロデータ(対戦した相手とのシンクロ率を示す)の履歴である。
ゴースト選択回数は、プレーヤが他の対戦プレーにおいてゴーストとして選択された回数を示す。
1位獲得回数は、プレーヤが他の対戦プレーにおいてゴーストとして選択された対戦プレーにおいて、1位を獲得した回数を示す。1位獲得回数が予め決められた所定回数に到達することで、プレーヤは、回数に応じた称号を獲得することができる。
ゴースト獲得経験値は、プレーヤが他の対戦プレーにおいてゴーストとして選択され、対戦プレーを実行することにより加算されるパラメータである。ゴースト獲得経験値は、プレーヤ経験値と同様にゲーム実行回数に応じて加算され、また対戦プレーをした場合の対戦相手(レベル、クラス)と対戦結果に応じて加算される。
ゴースト獲得アイテムは、プレーヤが他の対戦プレーにおいてゴーストとして選択された対戦プレーのゲーム結果に応じて獲得される。ゴースト獲得アイテムは、プレーヤの獲得アイテムに追加することができる。
ゴースト管理データ41bは、プレーヤがゲーム装置20においてゲームを開始する前に、ゲーム装置20に送信されて表示される。
プレーヤ操作データ41cは、プレーヤがゲーム装置20においてゲームを実行した際のプレーヤの過去の入力操作を示す操作データを含む。プレーヤ操作データ41cには、例えば1つの楽曲について、複数のゲーム難易度(シンプル、ノーマル、ハード、エキスパート)のそれぞれについて、プレーヤが最後にプレーした時の最新操作データとデータの作成日時、ハイスコアが出た時のハイスコア操作データとデータの作成日時が含まれる。
例えば、プレーヤがゲーム装置20において「楽曲1」の「ノーマル」を選択してゲームを実行した場合、ゲーム終了後に、ゲーム装置20からゲームサーバ10にゲーム中の入力操作を示す操作データが送信される。プレーヤデータ処理部30aは、ゲーム装置20から受信した操作データを、「楽曲1」の「ノーマル」の最新操作データとして記憶する。また、ハイスコアが出た場合であれば、ハイスコア操作データとしても記憶する。
なお、図3に示すプレーヤ操作データ41cでは、プレーヤ1が「楽曲1」の全ての難易度(シンプル、ノーマル、ハード、エキスパート)についてゲームを実行したことがあるために、それぞれの難易度毎に最新操作データとハイスコア操作データが記憶されているが、ゲームを実行していない楽曲や難易度についての操作データは記憶されない。
プレーヤ操作データ41cに含まれる最新操作データは、プレーヤが他のプレーヤの対戦プレーにおいてゴーストとして選択された場合に、ゴーストデータとして使用される。従って、ゲーム装置20において対戦プレーを実行する場合にプレーヤが選択した楽曲と難易度に対応する最新操作データがプレーヤ操作データ41cに記録されているプレーヤからゴーストが選択される。
ゴーストデータとして使用される最新操作データは、対戦プレーを実行するゲーム装置20に送信される。ゲーム装置20は、ゴーストデータに基づいて、プレーヤの過去にした入力操作に応じた同様の処理を実行することで、対戦プレーを実現することができる。
なお、図3に示すプレーヤ操作データ41cでは、1つの楽曲の1つの難易度に対して、1つの最新操作データのみを示しているが、新しい複数の操作データ(例えば、最新の3回分の操作データ)を記録し、その何れかをゴーストデータとして用いても良い。また、ゴーストデータは、最新操作データを用いるだけでなく、ハイスコア操作データを用いるようにしても良い。
プレーヤデータ処理部30aは、ゲーム装置20においてプレーヤIDを指定してゲームを実行したプレーヤ2〜mのそれぞれについても、図3に示すプレーヤ1と同様のデータ42〜4mをプレーヤデータ31bとして記憶する。
図4(a)は、ゲームサーバ10に記憶されるランキングデータ31cの一例を示す図、図4(b)は、ゲームサーバ10に記憶されるゲームデータ31dの一例を示す図である。
図4(a)に示すように、ランキングデータ31cには、例えばトータルスコアランキング、シンプルスコアランキング、ノーマルスコアランキング、ハードスコアランキング、エキスパートスコアランキング、勝利数マンスリーランキング、人気曲デイリーランキングなどが含まれている。
ランキングデータ処理部30bは、プレーヤデータ31bに含まれる各プレーヤ1〜mのデータ41〜4mをもとに、例えば一定期間毎、あるいはデータが更新される毎にそれぞれのランキングを集計して、ランキングデータ31cとして記憶する。
シンプルスコアランキング、ノーマルスコアランキング、ハードスコアランキング、エキスパートスコアランキングは、難易度別に各プレーヤのゲーム結果を集計したランキングであり、例えば上位から所定数のプレーヤ(プレーヤID)を記憶する。トータルスコアランキングは、全ての難易度のゲーム結果を集計したランキングである。また、各ランキングは、楽曲別に集計しておくこともできる。
勝利数マンスリーランキングは、1ヶ月毎の各プレーヤの勝利数(1位獲得回数)を集計したランキング、人気曲デイリーランキングは、1日毎の各楽曲がゲーム対象として選択された回数を集計したランキングである。
なお、ランキングデータ31cには、前述したランキング以外の各種ランキングのデータを含むようにしても良い。
図4(b)に示すように、ゲームデータ31dには、例えば複数の楽曲1,…,Yのそれぞれに対応するデータ31d1,31d2,…,31dYが含まれる。図4(b)では、例えば楽曲1に対応するデータ31d1として、ゲーム装置20あるいは携帯端末16においてゲームを実行するための音データ、ゲーム画面データ、ターゲットデータを示している。音データは、楽曲の音声や効果音などを出力するためのデータである。ゲーム画面データは、楽曲の再生に合わせて表示する進行ルートと3次元空間を表現するための背景データ、ゲーム画面中の演出用データなどを含むデータである。ターゲットデータは、進行ルートに合わせて表示するターゲットのデータである。
なお、ゲームデータ31dには、1つの楽曲について、複数のゲーム難易度(シンプル、ノーマル、ハード、エキスパート)のそれぞれに応じたデータが用意されているものとする。
通信インタフェース32は、ネットワーク12を介した、携帯端末16やゲーム装置20(中継装置21)とのデータ通信を制御する。
図5、図6、及び図7は、本実施形態におけるゲーム装置20の外観構成を示す図である。図5はゲーム装置20の斜視図、図6はゲーム装置20の正面図、図7はゲーム装置20の側面図をそれぞれ示している。
図5〜図7に示すように、ゲーム装置20の本体筐体50には、前面中段にタッチスクリーン51が設けられている。タッチスクリーン51は、プレーヤが入力操作をしやすくなるように、表示操作面が上方に向くように傾斜させて本体筐体50に取り付けられている。タッチスクリーン51は、タッチパネルとディスプレイを重ね合わせて構成されており、表示された各種オブジェクト(コマンド、マーク、メニュー等)を、プレーヤがタッチ操作によって直接的に選択することができる。タッチスクリーン51は、同時に複数箇所でタッチされた位置を検出することができる多点式タッチパネルが用いられる。
本体筐体50の上部には、複数のスピーカ52a,52b,52c,52dが配置されている。スピーカ52a,52b,52c,52dは、それぞれ上下左右に離して配置され、それぞれがタッチスクリーン51に相対して立つプレーヤの頭部の方向に向くように取り付けられている。これにより、ゲーム中のプレーヤは、高品質の楽曲音声を聴くことができる。さらに、ゲーム装置20には、本体筐体50の下部に低音用のスピーカ52e(ウーファスピーカ)が設けられている。
タッチスクリーン51の右側に配置された操作パネルには、カードリーダ54が設けられている。カードリーダ54は、カード固有のデータ(プレーヤID)を記憶するゲーム用カード(記憶媒体)から、非接触による近接無線通信によってデータの読出しをする。プレーヤは、ゲーム用カードをカードリーダ54にゲーム用カードを近接させる(かざす)ことにより、ゲーム用カードに記録されたプレーヤIDを読み取らせることができる。
タッチスクリーン51の左側に配置された操作パネルには、ヘッドホン端子55とボリュームボタン56(上向きと下向きの2つのボタン)が設けられている。ヘッドホン端子55にヘッドホンのプラグを装着することで、スピーカ52a,52b,52c,52d,52eに代えてヘッドホンから音声を出力させることができる。また、ボリュームボタン56によってヘッドホンに出力される音声の音量を調整することができる。また、ヘッドホン端子55には、イヤホンやさらなるスピーカを繋ぐことも可能である。
タッチスクリーン51の左右には、複数のランプ57が配設されている。ランプ57は、例えば実行されているゲーム画面の背景色に合わせて表示色を変更して点灯したり、ゲーム状況に応じて点灯や点滅するなど、ゲーム演出に用いられる。
また、本体筐体50の上部中央には、LEDパネル58が設けられている。LEDパネル58は、表示色を変化することができる複数のLED(Light Emitting Diode)が配設されており、ランプ57と同様にゲームの実行状況に応じて表示色や表示パターンが変更されて、ゲーム演出に用いられる。なお、ゲーム装置20が複数台並べて配置される場合、この複数台のゲーム装置20により対戦プレー(店内プレー)が実行される際に、各ゲーム装置20に設けられたLEDパネル58を連携して表示色や表示パターンを変更することで、より効果的なゲーム演出が可能となる。これにより、ゲームをしていない他のユーザに対してゲーム利用をアピールすることが可能となる。
本体筐体50の前面下部には、コインユニット60が設けられている。コインユニット60には、コイン投入口61とコイン払い出し口62が設けられている。プレーヤは、コイン投入口61からコインを投入することにより、コイン枚数に応じたポイントがゲーム装置20にチャージし、ポイントを消費してゲームを実行したり、アイテム等を獲得(購入)することが可能となる。
なお、図5〜図7では、プレーヤからの入力操作をタッチスクリーン51に対するタッチ操作のみによって行なう構成としているが、例えば図8に示すように、タッチスクリーン51の周辺部(図8では右側部)に複数の物理的なボタン65を設けて、このボタン65から入力を受け付けるようにしても良い。この場合、タッチスクリーン51には、ボタン65の配置に合わせた位置に選択肢を表示する。例えば、対戦プレーの対戦候補とするプレーヤのプレーヤ情報一覧をボタン65の配置に合わせて表示し、ボタン65の押下により該当する位置のプレーヤを対戦相手として指定できるようにする。
なお、図8に示すような複数のボタン65に限らず、例えば上下左右方向に操作できるレバーと、スタートボタンを設けるようにしても良い。この場合、レバーを操作することで、タッチスクリーン51に表示された複数の選択肢(プレーヤ情報など)の何れかに選択候補を移動させ、スタートボタンで確定されるようにする。
図9は、本実施形態におけるゲーム装置20の機能構成を示すブロック図である。
図9に示すように、ゲーム装置20は、制御部70、記憶部72、ディスプレイコントローラ73、タッチパネルコントローラ74、サウンドコントローラ75、ライティングコントローラ76、コインセンサ77、及び通信インタフェース78を有している。
制御部70は、ゲーム装置20全体の制御を司るもので、記憶部72に記憶された基本プログラム(OS(Operating System))や各種アプリケーションプログラム(ゲームプログラム72aを含む)を実行することで各部を制御する。制御部70は、プロセッサ(CPUやDSP)により、記憶部72に記憶されたゲームプログラム72aを実行することで、タッチスクリーン51に対するタッチ操作に応じて制御されるゲームを実行するための各種機能を実現する。
制御部70により実現される機能には、スタート処理部70a、プレーヤマッチング処理70b、ゲーム処理部70c(ゲーム画面表示処理部70c1、操作判定処理部70c2、シンクロ判定処理部70c3)、ゲーム結果処理部70d(リザルト表示部70d1、フォロー設定部70d2)、及びプレーヤデータ処理部70eが含まれる。
スタート処理部70aは、ゲームが開始されるまでのスタート処理を実行する。スタート処理では、デモンストレーション用のゲーム画面を表示するデモ処理、ゲーム用カードの新規登録やゲーム用カードからのデータ読み出しなどの処理、ポイントチャージ処理、プレースタイル選択処理(ソロプレー、対戦プレー(店内プレー、全国ゴーストプレー))、曲選択処理、モード(難易度)選択処理を含む。
プレーヤマッチング処理70bは、プレーヤにより対戦プレー(店内プレー、全国ゴーストプレー)の実行が指示された場合に、対戦相手を決定するためのマッチング処理を実行する。本実施形態におけるゲーム装置20では、対戦プレーでは4人のプレーヤによる対戦が実行されるものとする。全国ゴーストプレーでは、ゲーム装置20に対して入力操作をするプレーヤと3人のゴーストにより対戦が行われるものとする。店内プレーでは、同一店内に設置された4台のゲーム装置20に対して入力操作をする4人のプレーヤにより対戦が行われるものとする。
なお、対戦プレーは4人に限るものではなく、2人以上であれば任意の人数で実施するようにしても良い。また、同一店内に設置された複数(2台以上)のゲーム装置20に対して入力操作をする複数のプレーヤと1人以上のゴーストとの組み合わせにより対戦プレーを実施するようにしても良い。ゲーム装置20は、対戦ゲームに必要とする人数分のゴーストデータ(他のプレーヤがゲームサーバ10に記憶させている過去の操作データ)をダウンロードし、この操作データをもとに対戦プレーを実行すれば良い。
ゲーム処理部70cは、ゲームサーバ10から受信された楽曲毎のゲームデータ72bに基づいて、プレーヤにより指定されたプレースタイルによるゲームを制御する。対戦プレーの場合には、タッチスクリーン51に対する入力操作により入力される操作データに対する処理の他、対戦相手の操作データに対する処理を実行する。ゲーム処理部70cには、ゲーム画面表示処理部70c1、操作判定処理部70c2、及びシンクロ判定処理部70c3の機能が含まれる。
ゲーム画面表示処理部70c1は、ゲームデータ72bをもとに、三次元空間を表現するゲーム空間中に進行ルートをディスプレイ51aに表示するルート表示機能、進行ルートの表示位置と形状を変化させる進行ルート制御機能、進行ルートに合わせて入力操作のタイミングを示すターゲットを表示するターゲット表示機能、操作判定処理部70c2の判定機能による判定結果に基づいて、画面表示や音声出力などの演出処理を実行する演出機能を含む。また、操作判定処理部70c2は、タッチパネル51bに対する入力操作とターゲットの表示位置に基づいて入力判定をする判定機能を含む。操作判定処理部70c2は、例えば評価の高い順にGREAT、COOL、GOOD、MISSの4段階で判定するものとする。シンクロ判定処理部70c3は、プレーヤのタッチスクリーン51に対する入力操作と他のプレーヤ(ゴースト)による入力操作との同調関係を判定する。全国ゴーストプレーの場合、シンクロ判定処理部70c3は、ゲームサーバ10から受信したゴーストの操作データをもとに、ゴーストの入力操作とプレーヤの入力操作との同調関係を判定する。シンクロ判定処理部70c3は、同調関係として、例えば、ターゲットに対する入力操作のタイミングによって判定される判定結果(GREAT、COOL、GOOD、MISS)の一致度(シンクロ率)、ターゲットに対して入力操作をした位置(あるいは領域)の一致度(シンクロ率)を判定することができる。
ゲーム結果処理部70dは、ゲーム処理部70cによるゲーム結果に対する処理を実行する。ゲーム結果処理部70dには、リザルト表示部70d1及びフォロー設定部70d2の機能が含まれる。リザルト表示部70d1は、ゲーム結果としてプレーヤが獲得したスコア(ポイント)や入力操作に対する判定結果の集計、トータルの評価(RATING)などをリザルト画面に表示する。対戦プレーの場合には、対戦者のゲーム結果についても同様に表示し、対戦順位を表示する。フォロー設定部70d2は、対戦プレーの場合に、対戦者のゲーム結果の表示にフォローボタンを付加し、このフォローボタンに対するプレーヤの選択操作に応じて、該当する対戦者をフォロー対象のプレーヤとして設定する処理をする。
プレーヤデータ処理部70eは、プレーヤに関係する各種データに対する処理を実行するもので、ゲームサーバ10において管理されているプレーヤ管理データ41aの閲覧や編集、成績閲覧、フォロー/リンクの関係にある他のプレーヤの情報(成績など)の閲覧などの処理を実行する。
記憶部72は、ゲーム装置20において実行されるゲームを制御するためのプログラムやデータを記憶する。記憶部72に記憶されるプログラムには、基本プログラムの他、ゲーム装置20においてゲームを実行するためのゲームプログラム72aが含まれる。ゲームプログラム72aは、プロセッサ等により実行されることで、制御部70の各機能を実現することができる。
また、記憶部72に記憶されるデータには、ゲームデータ72b、プレーヤ管理データ72c、ゴースト管理データ72d、ゴーストプレーヤ操作データ72e、ランキングデータ72f、入力操作データ72g、ゲーム戦績データ72h(シンクロデータ72h1)が含まれる。
ゲームデータ72bは、ゲームサーバ10から受信されたもので、ゲーム装置20により実行可能な複数のゲーム(楽曲)のデータを含む。プレーヤ管理データ72cは、カードリーダ54によってゲーム用カードから読み取られたプレーヤIDをもとに、ゲームサーバ10から受信されたデータである。プレーヤ管理データ72cは、ゲームサーバ10のプレーヤデータ31bとして、プレーヤIDと対応づけて記憶されたプレーヤ管理データ41aに相当する。ゴースト管理データ72dは、カードリーダ54によってゲーム用カードから読み取られたプレーヤIDをもとに、ゲームサーバ10から受信されたデータである。ゴースト管理データ72dは、ゲームサーバ10のプレーヤデータ31bとして、プレーヤIDと対応づけて記憶されたゴースト管理データ41bに相当する。
ゴーストプレーヤ操作データ72eは、全国ゴーストプレーを実行する際に選択された対戦相手(ゴースト)のデータであり、ゲームサーバ10から受信される。ゴーストプレーヤ操作データ72eには、ゴースト(他のプレーヤ)の操作データ(例えば、最新操作データ)と、ゴーストのプレーヤ管理データ(プレーヤネーム、カスタムイメージ、称号等)が含まれる。全国ゴーストプレーでは3人のゴーストと対戦するため3人分のゴースト1,2,3のデータがゲームサーバ10から受信されるものとする。ランキングデータ72fは、ゲームサーバ10に記憶されたランキングデータ31cに相当するもので、各種ランキングを表示するためにゲームサーバ10から受信される。
入力操作データ72gは、ゲーム中にプレーヤのタッチスクリーン51に対する操作に応じて記録されるもので、プレーヤの入力操作を示す操作データ、すなわちタッチスクリーン51に対するプレーヤのタッチ位置を示すデータ(座標データ)と楽曲の再生時間とを対応付けた時系列のデータである。入力操作データ72gは、ゲーム終了後に、ゲームサーバ10にアップロードされて、プレーされた楽曲と難易度に対応する最新操作データとして記憶される。ゲーム戦績データ72hは、プレーヤが実行したゲームに関する各種データ、例えばゲーム対象として選択した楽曲、ゲーム結果として得られた順位、獲得ポイントなどのデータである。入力操作データ72gには、ゲーム中に入力操作に対して算出される、他のプレーヤとの同調関係を示すシンクロデータ72h1が含まれる。シンクロデータ72h1は、例えばターゲットに対する入力操作のタイミングによって判定される判定結果の一致度(シンクロ率)、ターゲットに対して入力操作をした位置(あるいは領域)の一致度(シンクロ率)を示す。ゲーム戦績データ72hは、ゲーム終了の後、ゲームサーバ10にアップロードされて、プレーヤIDに対応するプレーヤ戦績のデータに追加される。
ディスプレイコントローラ73は、制御部70の制御のもとで、ディスプレイ51aにおける表示を制御する。
タッチパネルコントローラ74は、制御部70の制御のもとで、タッチパネル51bに対するタッチ操作に応じたデータ入力を制御する。タッチパネルコントローラ74は、ユーザによるタッチパネル51bへのタッチ操作に応じて、タッチ位置を示すデータを生成して制御部70に出力する。
サウンドコントローラ75は、制御部70の制御のもとで、スピーカ52a,52b,52c,52d,52eからの音声出力を制御する。また、サウンドコントローラ75は、ヘッドホン端子55にヘッドホンのプラグが装着された場合、スピーカ52a,52b,52c,52d,52eから音声出力を停止させる。また、サウンドコントローラ75は、ボリュームボタン56の操作によるアップ/ダウンの指示に応じて、ヘッドホン端子55から出力する音声信号のレベル(音量)を調整(高/低)する。
ライティングコントローラ76は、制御部70の制御のもとで、複数のランプ57やLEDパネル58の点灯/点滅等を制御する。例えば、ライティングコントローラ76は、実行されているゲーム画面の背景色に合わせてランプ57の表示色を変更したり、ゲーム状況に応じてランプ57の点灯や点滅などを切り替える。また、ライティングコントローラ76は、LEDパネル58の表示パターンや色を変化させることができる。
コインセンサ77は、コイン投入口61から投入されたコインを検知して、制御部70(スタート処理部70a)に通知する。
通信インタフェース78は、店内の他のゲーム装置20との通信や、ネットワーク12を介したゲームサーバ10との通信を制御する。
次に、本実施形態におけるゲーム装置20の動作について説明する。
図10は、スタート処理部70aによるポイントチャージ処理までを説明するためのフローチャートである。
ゲーム装置20は、電源が投入されることにより、ゲームプログラム72aを起動して、スタート処理部70aによる処理を開始する。
まず、スタート処理部70aは、デモ処理を実行して、タッチスクリーン51(ディスプレイ51a)においてデモンストレーション画面を表示する(ステップA1)。デモ処理では、例えば人気曲デイリーランキングの1位〜5位の楽曲を対象として、デモンストレーション用のゲーム画面を予め決められた時間(例えば30秒)だけ再生表示する。また、1つの楽曲についてのデモンストレーション画面の表示が終了するごとに、トータルスコアランキング、勝利数マンスリーランキング、人気曲デイリーランキングの何れかを順番に表示する。スタート処理部70aは、プレーヤによるコイン投入、あるいはタッチスクリーン51に対するタッチ操作があるまでデモ処理を継続する。
スタート処理部70aは、デモ処理の実行中にタッチスクリーン51へのタッチ操作が検出され(ステップA3、Yes)、ゲームスタート設定コイン数(例えば、1コイン)以上のクレジットがある場合(ステップA4、Yes)、あるいはフリープレイが設定されている場合(ステップA5、Yes)には、デモ処理を終了する。また、スタート処理部70aは、タッチ操作されることなく、コインセンサ77によりコインがゲームスタート設定コイン数以上投入されたことが検知された場合にもデモ処理を終了する(ステップA2、Yes)。
ここで、ゲーム装置20がオフライン状態である場合(ステップA6、No)、スタート処理部70aは、スタート画面を表示する(ステップA7)。その後、タイムアウト(例えば30秒)するまでにタッチスクリーン51のタッチ操作が検出されると、スタート処理部70aは、ポイントチャージ処理に移行して、「ポイントチャージ画面」を表示する(ステップA20)。なお、タイムアウトした場合には(ステップA8、Yes)、デモ処理に戻る。
一方、ゲーム装置20がオンライン状態にある場合(ステップA6)、スタート処理部70aは、スタート画面を表示して、タイムアウト(例えば、30秒)するまで、タッチスクリーン51のタッチ操作か、カードリーダ54によるゲーム用カードの読み取りがされるまで待機する。タイムアウトした場合には(ステップA11、Yes)、デモ処理に戻る。
ここで、タッチ操作が検出されると(ステップA12、Yes)、スタート処理部70aは、ゲーム用カードを使用しないことをプレーヤに確認するためのカード不使用確認表示をする(ステップA22)。カード不使用確認表示では、例えば「カードを使用せずに遊びますか?。カードを使用する場合には、カードリーダにかざしてください。」のメッセージを表示する。
ここで、タイムアウト(例えば、30秒)した場合(ステップA23、Yes)、あるいはタッチスクリーン51へのタッチ操作が検出されると(ステップA24、Yes)、スタート処理部70aは、カードを使用しないでゲームを実行するものと判別し、ポイントチャージ処理に移行する(ステップA20)。
一方、プレーヤがゲーム用カードをカードリーダ54にかざす(近接させる)ことにより、カードリーダ54によるゲーム用カードからのデータ読み込みが開始されると(ステップA13、Yes、A14)、スタート処理部70aは、カードデータ読込み中をプレーヤに通知するためのカードウィンドウを表示する。
スタート処理部70aは、カードリーダ54によってゲーム用カードから正しくデータが読み取れない場合(ステップA15、Yes)、カード使用不可表示をする(ステップA16)。カード使用不可表示では、例えば「データ読み込みに失敗しました」のメッセージを表示する。その後、ステップA22に戻り、カード不使用確認表示をする。この場合、別のゲーム用カードに変更して、再度、読み取りを実行することができる。
スタート処理部70aは、カードリーダ54によってゲーム用カードから正しくデータが読み取れた場合(ステップA15、No)、この読み取られたプレーヤID(カードID)が記録済みであるかゲームサーバ10に問い合わせる。なお、ゲーム装置20用として登録済みのゲーム用カードのプレーヤID(カードID)が予めゲーム装置20に記録されている場合には、ゲームサーバ10に問い合わせすることなく、この記録済みのプレーヤID(カードID)をもとにして判別するようにしても良い。
ここで、プレーヤIDが記録されていない新規カードである場合(ステップA17、Yes)、スタート処理部70aは、例えば「このカードは、このゲーム装置に未登録のカードです。新規登録を開始しますか?」のメッセージを表示して、新規登録の実行が指示されると新規登録処理に移行する(ステップA21)。新規登録処理では、ゲーム装置20で使用するプレーヤネームを、タッチスクリーン51に表示したソフトウェアキーボードへのプレーヤの操作によって入力する。スタート処理部70aは、新規カードから読み込んだプレーヤIDと、プレーヤ操作により入力されたプレーヤネームのデータをゲームサーバ10に送信して記録させる。
新規カードでない場合(ステップA17、Yes)、スタート処理部70aは、ゲーム用カードから読み込んだプレーヤIDに対応するプレーヤ管理データの送信を要求する。スタート処理部70aは、ゲームサーバ10から送信されたプレーヤ管理データ72cを記憶部72に記録すると共に、ゲーム用カード(プレーヤID)と対応づけて記憶されているデータを表示して、カード使用をプレーヤに確認する(カード使用確認画面の表示)。
図11は、カード使用確認画面の表示例を示す図である。図11に示す例では、例えばプレーヤのカスタムイメージとプレーヤネームの他、プレーヤのクラスとレベルを表示している。なお、プレーヤ管理データ72cに含まれる他のデータも同時に表示するようにしても良い。例えば、獲得アイテムや最後にプレーした日時などを表示することもできる。
ここで、カードを使用しない(「NO」)が選択された場合(ステップA8、No)、スタート処理部70aは、ゲーム用カードを使用しないことをプレーヤに確認するためのカード不使用確認表示をする(ステップA22)。
一方、カードを使用すること(「YES」)が選択された場合(ステップA8、Yes)、スタート処理部70aは、ゲーム用カードから読み込んだプレーヤIDに対応するゴースト管理データの送信をゲームサーバ10に要求する。ゲームサーバ10のプレーヤデータ処理部30aは、ゲーム装置20から受信したプレーヤIDに対応するゴースト管理データをゲーム装置20に送信する。スタート処理部70aは、ゲームサーバ10から送信されたゴースト管理データ72dを記憶部72に記憶すると共に、ゴースト管理データ72dをもとにゴースト戦績を表示する(ステップA9)。
図12は、ゴースト戦績画面の表示例を示す図である。図12に示す例では、「あなたのゴーストの戦績」として、遊ばれた回数(ゴーストが他のプレーヤの対戦プレーにおいて選ばれた回数)、1位になった回数(対戦プレーでゴーストが1位になった回数)、獲得経験値(対戦プレーによってゴーストが獲得したゴースト獲得経験値)、レベルアップゲージ(ゴースト獲得経験値に応じたレベル表示)、獲得アイテムウィンドウ(対戦プレー中にゴーストが獲得したアイテムの全てを一覧表示)等を表示する。また、ゴースト獲得経験値やレベルアップにより、プレーヤがゲーム対象として選択可能となった楽曲(解放楽曲)がある場合には、この楽曲を提示する楽曲解放演出画面を表示することも可能である。
プレーヤが過去にゲーム用カードを使用してゲームを実行した場合、ゲーム実行時の入力操作を示す操作データ等がゲームサーバ10にアップロードされて記憶されている。このゲームサーバ10に記憶された操作データは、他のプレーヤが全国ゴーストプレーを実行する際に、対戦相手のゴーストのゴーストデータとして使用され得る。ゴーストデータとして使用された場合には、対戦プレーの結果に応じてゴースト管理データが更新される。プレーヤは、自分の操作データが他のプレーヤによる対戦プレーにおいてゴーストデータとして使用されることについて関知していないため、ゲーム用カードを使用したゲームの実行時に、ゴースト戦績画面においてゴーストの活躍を確認することができる。
スタート処理部70aは、ゴースト戦績画面から次の処理への移行が指示されると(「NEXT」)、ポイントチャージ処理に移行する(ステップA20)。
図13は、ポイントチャージ処理以降の処理を説明するためのフローチャートである。
スタート処理部70aは、ポイントチャージ処理において(ステップB1(A20))、ポイントチャージ画面を表示してプレーヤにコイン投入を促す。スタート処理部70aは、コインセンサ77によりコイン投入が検知されると、コイン投入枚数に応じたポイントをチャージする。例えば、1コインで150ポイント、2コインで350ポイントにするなど、まとめて複数枚のコインを投入することで、1コイン当たりのチャージポイントを増加させることができる。なお、ポイントのチャージは、ゲーム開始前に限らず、ゲーム処理中の所定段階で実行することができる。
ポイントチャージが完了すると、スタート処理部70aは、タッチスクリーン51にメインメニューを表示させる。(ステップB2)。
図14は、メインメニューの表示例を示す図である。図14に示すメインメニューには、全国のプレーヤのゴーストと対戦する全国ゴーストプレーを選択するための「ONLINE PLAY」ボタン80、店内のプレーヤと対戦する店内プレーを選択するための「LOCAL PLAY」ボタン81、ポイントを使って楽曲やカスタムアイテムの購入をする処理モードを指定するための「SHOP」ボタン82、アバターやイメージのカスタム、コレクションの閲覧をする処理モードを指定するための「CUSTOM」ボタン83、プレーヤに関係する各種データの閲覧や編集をする処理モードを指定するための「MY−ROOM」ボタン84が設けられている。
なお、画面上部には、ゲーム中の他の画面と共通する、チャージされている残りポイントを示すポイント表示85、入力操作可能な残り時間を示すタイマー表示86、現在の処理を終了するEXITボタン87などが表示されている。また、図示していないが、ゲーム実行中には、ゲームモード(全国ゴーストプレー、店内プレー、ソロプレー)、投入コイン数、ゲーム装置20がオンライン状態にあることを示すオンラインマーク、店内リンクマークなどを表示することができる。
ここで、「ONLINE PLAY」ボタン81により全国ゴーストプレーが指示されると(ステップB3、Yes)、スタート処理部70aは、曲選択処理に移行して楽曲選択画面を表示する(ステップB4)。
図15は、楽曲選択画面の表示例を示す図である。楽曲選択画面には、図15に示すように、複数の楽曲のジャケットイメージ(あるいは楽曲タイトル名)を一覧表示する一覧表示エリア90が設けられている(図15では、便宜上、空白の矩形枠によって表す)。一覧表示エリア90は、例えばプレーヤがタッチスクリーン51にタッチして、上下方向に移動させることで、他の楽曲の一覧表示に切り替えることができる。
また、楽曲選択画面には、複数のソートボタンが設けられている。例えば、「DIFFICULTY」ボタン91は、複数の楽曲を難易度順に並べ替えて一覧表示エリア90に表示させるボタン、「FAVORITE」ボタン92は、プレーヤが過去に選択したことがある楽曲を優先して表示させるボタン、「POPULAR」ボタン93は、全国のプレーヤによる選択回数が上位の楽曲から順番に表示させるボタン、「TITLE」ボタン94は、例えば楽曲のタイトル名の順番で表示させるボタンである。プレーヤは、ソートボタンの操作によって、一覧表示エリア90に表示される楽曲の順番を並べ替えることで、所望する楽曲を容易に指定することができる。
スタート処理部70aは、一覧表示エリア90に表示された何れかの楽曲が、タッチスクリーン51に対するタッチ操作により選択されると、モード(難易度)選択処理に移行し、モード選択画面を表示する(ステップB5)。
図16は、モード選択画面の表示例を示す図である。モード選択画面には、図16に示すように、プレーヤが選択した楽曲情報100(ジャケットイメージ、タイトル、難易度、時間など)の他、選択可能なゲーム難易度(モード)が一覧表示されている。図16に示す例では、ゲーム難易度の選択肢として、シンプル101、ノーマル102、ハード103、エキスパート104の4段階が用意されているものとする。なお、プレーヤのクラスやレベルに応じて、選択可能な難易度を制限することも可能である。例えば、プレーヤのクラスが低い場合には、シンプル101とノーマル102のみを選択可能とし、ハード103とエキスパート104についてはロック(選択不可)の状態で表示するものとする。
また、モード選択画面の下部には、アバターボタン105、アイテムボタン106、スキンボタン107が設けられている。アバターボタン105、アイテムボタン106、及びスキンボタン107は、それぞれ選択されることにより、プレーヤがゲーム中に使用することができるアバター、アイテム、表示デザインの一覧を表示して、プレーヤに選択させることができる。
例えば、アイテムボタン106を選択した場合、プレーヤが獲得しているアイテムの一覧が表示される。ここで、何れかのアイテムを選択することで、ゲーム内容をプレーヤにとって有利となるように変更することができる。例えば、基本的なゲームモード(難易度)での設定では、ゲーム中に現れるターゲットにより要求される入力操作がマルチタップであった場合に、アイテムを使用することで、シングルタップにゲーム内容を変更することができる。なお、タップ操作に限らず、タップ操作をフリック操作にするなど、入力操作の操作方法を変更することで、ゲームの難易度を易しく(あるいは難しく)することが可能である。
モード選択処理によってゲームモード(難易度)が選択されると、プレーヤマッチング処理70bは、プレーヤマッチング処理を開始する(ステップB6)。
図17は、プレーヤマッチング処理により表示されるプレーヤマッチング画面の一例を示す図である。図18は、プレーヤマッチング処理を示すフローチャートである。
まず、プレーヤマッチング処理70bは、プレーヤのクラスとプレー対象として選択した楽曲をもとに、ゲームサーバ10に対して対戦相手(ゴースト)の選択を要求する。ゲームサーバ10は、例えば、プレーヤのクラスと同じクラスのプレーヤのうち、プレー対象として選択した楽曲を最近プレーした100プレーヤからランダムに3プレーヤ(ゴースト)を選択して、その3プレーヤのプレーヤ管理データ41aと、ゲーム対象とする楽曲と難易度に対応する最新操作データ(ゴーストデータ)をゲーム装置20に送信する。ゲーム装置20は、ゲームサーバ10から送信されたデータをゴーストプレーヤ操作データ72eとして、記憶部72に記憶する(ステップC1)。
プレーヤマッチング処理70bは、ゴーストプレーヤ操作データ72eをもとに、対戦相手の候補とするゴーストの情報を一覧表示するプレーヤマッチング画面を表示する(ステップC2)。
図17に示すように、プレーヤマッチング画面には、プレーヤのプレーヤ情報(カスタムイメージ、プレーヤネーム、タイトル(称号)、クラス、レベル、プレー地域等)と共に、ゴーストとして選択された3プレーヤのプレーヤ情報111,112,113を同様にして一覧表示する。
プレーヤマッチング画面には、対戦相手とするゴーストを変更するためのソートボタンが設けられている。例えば、図17では、現在表示されているゴーストをランダムに変更する「RANDOM」ボタン114、ランキング上位のゴーストを指定する「TOP PLAYER」ボタン115、プレーヤがフォロー対象に設定しているプレーヤを指定する「FOLLOWING」ボタン116が設けられている。なお、「FOLLOWING」ボタン116は、プレーヤが1人以上のプレーヤをフォローしている(プレーヤ管理データ41aにフォロープレーヤIDが設定されている)場合に表示されるものとする。これらのボタン114,115,116を選択することで、対戦相手とするゴーストを変更することができる。
例えば、「RANDOM」ボタン114が選択された場合(ステップC3、Yes)、プレーヤマッチング処理70bは、ゲームサーバ10に対して、再度、同じようにして対戦相手(ゴースト)の選択を要求し、ランダムに選択された3プレーヤのデータを受信する(ステップC4)。プレーヤマッチング処理70bは、改めて選択された3プレーヤのプレーヤ情報111,112,113をプレーヤマッチング画面に表示する(ステップC2)。
また、「TOP PLAYER」ボタン115が選択された場合(ステップC5、Yes)、プレーヤマッチング処理70bは、ゲームサーバ10に対して、プレーヤのクラスとプレー対象として選択した楽曲をもとに、ゲームサーバ10に対して該当楽曲のプレーのスコアが上位3プレーヤの選択を要求する(ステップC6)。ゲームサーバ10は、例えばランキングデータ31cをもとに、該当する難易度と楽曲に対応するランキング上位3プレーヤの最新操作データ(ゴーストデータ)をゲーム装置20に送信する。ゲーム装置20は、ゲームサーバ10から送信されたデータをゴーストプレーヤ操作データ72eとして、記憶部72に記憶する(ステップC1)。
また、「FOLLOWING」ボタン116が選択された場合(ステップC7、Yes)、プレーヤマッチング処理70bは、プレーヤがフォローしている他のプレーヤの選択を要求する。ゲームサーバ10は、プレーヤのプレーヤ管理データ41aを参照し、フォロープレーヤIDが示す全てのプレーヤの該当する難易度と楽曲に対応する最新操作データ(ゴーストデータ)をゲーム装置20に送信する。
ゲーム装置20は、ゲームサーバ10から受信したデータをもとに、最新操作データの生成日時が新しいものから上から順番に3プレーヤ分をプレーヤマッチング画面に表示させる(ステップC2)。なお、3プレーヤを越えるデータをゲームサーバ10から受信した場合には、プレーヤのタッチ操作に応じてゴースト一覧をスクロールできるようにする。この場合、ゴースト一覧からタッチ操作により3プレーヤ(ゴースト)を選択することで、対戦相手を確定することができる。
なお、前述した説明では、「FOLLOWING」ボタン116が選択された場合、プレーヤフォローしているプレーヤをゴーストとして選択しているが、プレーヤ管理データ41aに設定されたリンクプレーヤIDが示すプレーヤをゴーストとして選択するようにしても良い。リンクプレーヤIDが示すプレーヤとは、ゲームの利用傾向(選択する楽曲やレベル)が類似しているため、対戦プレーの対戦相手として好適となる。
また、前述した説明では、プレーヤマッチング画面のボタン114,115,116が選択された場合に、その都度、ゲームサーバ10に問い合わせをしているが、対戦相手となり得るプレーヤのデータを一括してゲームサーバ10から受信して、ゲーム装置20に記憶しておけば、ゲーム装置20の内部処理によってプレーヤマッチング画面の更新(対戦相手の変更)が可能である。また、ゲームサーバ10が管理するデータを各店舗内の中継装置21に記憶させておき、中継装置21への問い合わせにより前述と同様の処理を実行することもできる。これにより、ゲームサーバ10と各ゲーム装置20との通信負荷を軽減することが可能となる。
こうして、プレーヤマッチング画面において対戦相手が決定され、「PLAY!」ボタン117が選択されると(ステップC9、Yes)、ゲーム装置20は、ゲーム処理に移行する。
図19は、ゲーム処理を示すフローチャートである。
ゲーム処理部70cは、ゲーム処理が開始されると、選択された楽曲のゲームデータをもとに、ゲーム画面(進行ルート、ターゲット等)をディスプレイ51aにおいて表示させる(ステップD1)。
図20は、対戦プレー用のゲーム画面120の一例を示す図である。図20に示すように、ゲーム画面120には、進行ルート121が表示され、進行ルート上にプレーヤが指定したキャラクタ(アバター)122と複数のターゲット123が配置されている。キャラクタ122は、進行ルート121に沿って移動して、進行ルート121上のターゲット123に近づいていく。キャラクタ122がターゲット123に到達するタイミングに合わせてタッチ操作することで、この入力操作に対する判定が行われ、判定結果124を表す文字列(図20では「COOL」)が表示される。なお、図20に示すターゲット123は、数字が表記されている。この数字が表示されたターゲット123は、プレーヤがタッチすべきタッチ点の数を示している。例えば、数字4のターゲット123の場合には、ターゲット123にキャラクタ122が到達するタイミング合わせて、4点でタッチすることで高得点が得られるようになっている。なお、ターゲット123は、複数の種類が用意されており、それぞれの詳細については後述する。
また、ゲーム画面120の上部には、ゲームの状況に応じて更新されるスコア125、MAXチェイン数126、グルーブゲージ127が表示される。さらに、進行ルート121に現れるターゲット123についてのヒント128が表示される。グルーブゲージ127は、入力操作に対する評価(GREAT、COOL、GOOD、MISS)、楽曲の難易度、タッチ数の過不足などの条件に応じて増減される。例えば、楽曲終了時点で、ゲージの70%に到達している場合にクリア判定される。ヒント128は、実行中の楽曲において現れるターゲット123の種類を予め提示するもので、例えば4点指定と10点指定のターゲット123が現れることを示している。数字が表記されたターゲット123は、ゲーム中に文字を識別することが困難であるため、種類別に異なる色を用いて容易に識別可能にする。
また、ゲーム画面120の下部には、プレーヤのカスタムイメージ131と対戦相手のゴーストのカスタムイメージ132,133,134が表示されている。カスタムイメージ131〜134の近傍には、ゲームの進行に合わせて変化するスコア順位が表示される(1ST、2ND、3RD、4TH)。また、入力操作に対する判定結果とする文字列(GREAT、COOL、GOOD、MISS)を入力操作のタイミングに合わせて表示する。さらに、現在のグルーブゲージやスコアを表示する。従って、順位表示やカスタムイメージ131〜134を見ることで、ゴーストの状況をリアルタイムで確認することができ、ゴーストと対戦をしている感覚をより強く感じることができる。
また、ゲーム画面120には、対戦相手のゴーストがタッチスクリーン51にタッチしている位置を示すタッチマーク135が付加されている。ゲーム画面表示処理部70c1は、各ゴーストの操作データに含まれるタッチ位置を示す座標データをもとに、二重丸などによってタッチマーク135を表示する。各ゴーストには予め特定の色(例えば、青、赤、黄)が割り当てられており、各ゴーストのタッチマーク135の色を変えて表示している。
また、ゲーム画面120には、プレーヤと複数のゴーストとの入力操作の同調関係(シンクロ判定)の判定結果、すなわちシンクロ率表示136が付加される。また、進行ルート121には、入力操作に対する判定に応じた演出表示137が付加される。
演出表示137は、例えば入力操作に対して、GOOD以上の評価がされた場合に、ターゲットが表示されていた位置に表示される。演出表示137には、光ったり、波紋が現れるなど、各種の表示形態を用いることができる。演出表示137は、ターゲットが表示されていた位置において、所定時間をかけて変化するように表示される。また、入力操作に対して失敗した(MISS評価がされた場合)には演出表示137は、表示されず、単にターゲットが消滅するものとする。
なお、演出表示137は、ターゲットが表示されていた位置で変化するように表示させるだけでなく、キャラクタ122が進行ルート121を移動するのに伴って表示位置が移動させても良い(進行ルート121の上を流れていくように表示する)。
図21は、図20とは異なるゲーム画面120の表示例を示す図である。
図20では、1本の進行ルート121を表示しているが、図21では、プレーヤ用の進行ルート121の他に、進行ルート121と並行にゴースト用の進行ルート121a,121b,121cを表示している。進行ルート121a,121b,121cでは、各ゴーストの操作データに基づく入力操作に対する判定に応じた演出表示138を付加する。演出表示138は、前述した演出表示137と同様にして表示されるものとする。従って、図21に示すゲーム画面120では、進行ルート121a,121b,121c上に付加される演出表示138によってもゴーストの状況を把握することができ、さらにキャラクタ122とゴーストとが併走しているように感じられるため、他のプレーヤと対戦している感覚をより強く得ることができる。
次に、図22、図23、図24、図25、図26、図27、図28、図29に示す進行ルートとターゲットの具体例を用いて、ゲーム処理を説明する。なお、図22〜図29は、説明を容易にするために簡単なゲーム画面を例示している。
図22(a)は、直線状の進行ルート(破線で示す)が表示された例を示す。図22(a)では、直線状の進行ルートが表示され、進行ルートに沿ってキャラクタを移動(飛行)していることを表すようにゲーム画面が表示されている。なお、図22(a)では、キャラクタを省略して単純な矢印に代替させている。キャラクタについては、例えば空間を飛行する鳥、飛行機、蝶、花などの各種のキャラクタを用いることができる。複数のキャラクタから何れかを選択できるようにした場合、キャラクタの種類に応じて、ゲーム中に出力されるBGM(back ground music)(曲、アレンジなど)や評価判定基準等を変更するようにしても良い。
図22(a)では、進行ルート上に、入力操作のタイミングを示すターゲットが配置されている。従って、進行ルート上をキャラクタが移動することにより、ターゲットに徐々に近づいていく。プレーヤは、キャラクタがターゲットに到達するタイミングに合わせて、タッチスクリーン51に対してタップ操作(シングルタップ)をする。なお、タッチスクリーン51に対する入力操作は、入力面の何れの位置で行っても良い。これにより、ユーザが操作し易い位置で、何の制約もなく自由に入力操作をすることができる。従って、ゲームに慣れていない初心者等であっても容易にゲームを楽しむことができる。
ゲーム処理部70cは、タッチパネルコントローラ74を通じて、タッチパネル51bに対する入力操作があったことを検知し(ステップD2、Yes)、タッチ操作に応じたタッチ位置を示すデータを入力すると、入力されたデータをもとに入力面における入力位置を検出する(ステップD3)。そして、ゲーム処理部70cは、入力位置に応じた効果音を、サウンドコントローラ75を通じてスピーカ52a,52b,52c,52d,52eから出力させる(ステップD4)。
次に、操作判定処理部70c2は、入力操作があった時のキャラクタの表示位置とターゲットとの位置を比較し、その距離に応じて入力操作を判定する。キャラクタの近くにターゲットが存在しない場合には、操作判定処理部70c2は、MISSと判定する。ゲーム画面表示処理部70c1は、MISS判定の文字列をゲーム画面に表示させて、ゲーム画面の表示を継続する(ステップD1)。
ここで、キャラクタの近くにターゲットが存在する場合(ステップD5、Yes)、操作判定処理部70c2は、入力されたデータをもとに、ターゲットに応じた入力操作がされたかを判定する(ステップD6)。例えば、図22(a)に示す進行ルートに配置されたターゲットについては、タップ操作による入力操作を必要とする。ここで、タップ操作がされたことが判定され、入力操作が評価されると、シンクロ判定処理部70c3は、プレーヤの入力操作とゴーストの入力操作に対するシンクロ判定処理を実行する(ステップD7)。なお、シンクロ判定処理の詳細については後述する(図30参照)。
ゲーム処理部70cは、入力操作に対する評価結果等に応じてポイントを加算する(ステップD8)。また、ゲーム画面表示処理部70c1は、ターゲットに応じた演出処理を実行する(ステップD9)。ターゲットに応じた演出処理としては、例えば図22(b)(c)に示すように、タップ操作によりターゲットが破裂して消滅していくような演出を表現する画面を表示すると共に、表示内容に応じた効果音をスピーカ52a,52b,52c,52d,52eから出力させる。図22(b)(c)では、キャラクタがターゲットの消滅に関係無く飛行を続けるように表示されるため、ターゲットが破裂して消滅していく演出表示は、元のターゲットが配置された位置に留まるように表示される。
ゲーム画面表示処理部70c1は、引き続いて進行ルートをキャラクタが移動(飛行)していく様子を表現するゲーム画面を表示する(ステップD1)。従って、図22(a)に示すように、ターゲットが連続して配置されている場合には、キャラクタが各ターゲットに到達するタイミングに合わせて、連続してタップ操作をすることでクリアすることができる。
なお、図22(a)〜(c)に示す進行ルートは、単純な直線状となっている部分を示しているが、進行ルートによっては、例えば図23(a)(b)に示すように、キャラクタの画面中における向きや位置が変化する。図23(a)では、直線状の進行ルートが折れ曲がるように向きが変化し、図23(b)では、進行ルートが曲線を描くように変化しており、この変化に合わせてキャラクタの向きや位置が変化する。
キャラクタの画面中における向きや位置が変化した場合、キャラクタがターゲットと重なる(あるいは近接する)位置が画面中で変化することになる。従って、プレーヤは、画面中で変化するキャラクタがターゲットに到達する位置と、到達するタイミングを判断して入力操作をする必要がある。これにより、表示画面中の予め決められた位置を単純に注視して入力操作をするゲームとは異なり、変化のあるゲームを実現することができる。
次に、他の入力操作のタイミングを示すターゲットと各ターゲットに対する入力操作の具体例について、図24〜図29を参照しながら説明する。
図24は、進行ルート上に数字が表記されたターゲットが配置された例を示している。数字が表記されたターゲットは、図24(a)(b)に示すように、キャラクタがターゲットに到達するタイミングに合わせて、数字が示す位置でタップ操作(マルチタップ)をする。図24(a)に示す例では、数字2がターゲットに表記されているため2カ所でタップ操作をする。この場合、図24(a)に示すように、2本の指を同時にタップさせても良いし、図24(b)に示すように、両手を使ってそれぞれ1本の指でタップしても良い。また、ターゲットにより指定された数字と異なる箇所でタップした場合、通常より低いポイントが加算され、過不足分のタッチ数が評価結果の文字列の近傍に表示される。ターゲットに表記される数字は、例えば1〜10の何れかで指定されるものとし、楽曲や難易度に応じてゲーム中に現れる数字の種類と数が変化するものとする。
図25(a)は、進行ルート上に帯状のターゲットが配置された例を示している。帯状のターゲットに対しては、図25(b)に示すように、キャラクタがターゲットに到達するタイミングに合わせてホールド操作(入力面に触れたままの状態を継続)させる。ホールド操作がされている間、帯状のターゲットを消去していくとともに、図25(c)に示すように、ホールド操作がされていることを表す演出表示をする。
図26(a)は、進行ルート上に2重破線(螺旋)状のターゲットが配置された例を示している。2重破線(螺旋)状のターゲットに対しては、図26(b)の矢印に示す方向で、キャラクタがターゲットに到達するタイミングに合わせてスクラッチ操作(入力面に触れたまま所定範囲内で移動方向を所定時間内で反対方向に変化させる操作)させる。スクラッチ操作がされている間、例えば、2重破線がほどけていくような演出表示をする。
図27(a)は、進行ルート上に連接する(連なった)複数のターゲットが配置された例を示している。連接する複数のターゲットに対しては、図27(b)に示すように、キャラクタが連接するターゲットに到達しているタイミングに合わせて(ターゲット先端と後端の間を通過中に)ビート操作(タップ操作を繰り返し)をさせる。ビート操作がされている間、図27(b)に示すように、ターゲットが砕け散って消滅するような演出表示をする。
図28(a)は、進行ルートに向かって周囲から伸びてくるターゲットの例を示している。図28(a)では、進行ルートの右側から進行ルートに対して垂直な方向からターゲットが伸びてきている。ターゲットは、進行ルートに到達すると、図28(b)に示すように、伸びるのを止めて進行ルート上で停止するように表示される。進行ルートに向かって伸びてくるターゲットに対しては、キャラクタが進行ルート上のターゲットに到達するタイミング、あるいは図28(c)に示すように、伸びてくるターゲットとキャラクタが近接するタイミングに合わせて、ターゲットが伸びてきた方向にフリック操作(入力面に触れたまま、所定長さ以上、素早く移動させる操作)をさせる。図28(c)に示す例では、進行ルートの右側からターゲットが伸びてきているため、図中の矢印に示すように右方向にフリック操作させる。
正しい方向にフリック操作がされたと判定された場合には、例えば図28(d)に示すように、伸びてきたターゲットとラインが先端から花火のように消えていくような演出表示をする。
なお、図28(a)〜(c)に示すように、進行ルートに対して左右の垂直な方向からターゲットが伸びてくるだけでなく、その他の方向からランダムにターゲットが伸びるようにすることができる。例えば、図28(e)に示す例では、進行ルートの右前方からターゲットが伸びている。この場合には、図28(f)に示すように、ターゲットがキャラクタに近接した(あるいは重なった)タイミングで、図中の矢印で示すように、ターゲットが伸びてきた方向にフリック操作をすることにより、ターゲットを消去することができる。
また、図28(g)に示す例では、進行ルートの左後方からターゲットが伸びている。この場合には、図28(h)に示すように、ターゲットがキャラクタに近接した(あるいは重なった)タイミングで、図中の矢印で示すように、同様にして、ターゲットが伸びてきた方向にフリック操作をすることにより、ターゲットを消去することができる。
さらに、特定の方向からターゲットが伸びてくるのではなく、図28(i)に示すように、異なる方向から複数のターゲットが進行ルートに向かって伸びてくるようにしても良い。ユーザは、各ターゲットについて、キャラクタと近接する(あるいは重なる)タイミングで、各ターゲットに応じた方向にフリック操作をすることになる。
なお、図28(a)〜(i)では、進行ルートに向かって周囲から伸びてくるターゲットを示しているが、進行ルート上のターゲットにフリック方向を示す矢印等を付加しても良い。例えば、図29(a)に示すように、ターゲットに矢印を付加する。プレーヤは、キャラクタが到達するタイミングに合わせて、図29(b)の太矢印に示すように、ターゲットの矢印方向にフリック操作をすることで、ターゲットを消去することができる。
こうして、異なる方向から伸びてくるターゲットに対して、それぞれに対応する方向でフリック操作を要求することで、変化のあるゲームを実現することができる。また、単純なフリック操作であり、またタッチスクリーン51の入力面の何れにおいて操作しても良いため、ゲームになれていない初心者等であっても容易に操作することができる。
なお、フリック操作に対する入力判定は、例えば、ターゲットが伸びてきた方向、すなわちターゲットに接続されたラインを中心して+−20°の範囲に、フリック操作により入力された最初と最後のタッチ位置を示すデータを接続したラインの方向が含まれている場合に、正しく入力操作がされたものと判定するものとする。この入力判定の基準は、アイテム使用等でユーザが任意に設定しても良いし、ゲームの難易度に応じて変更されるようにしても良い。なお、フリック操作のみならず、他の操作方法についても同様である。
なお、前述した進行ルートとターゲットは一例であって、その他の進行ルートやターゲットを用いることができる。例えば、前述した説明では、ホールド、ビート、スクラッチなどについては、タッチスクリーン51の1箇所でのタッチ操作としているが、例えば2箇所のタッチ位置において入力操作をして、マルチホールド、マルチビート、マルチスクラッチなどをするようにしても良い。また、1つのターゲットに対して、例えば2箇所のタッチ位置において異なる入力操作の組み合わせ、例えばタップ操作とフリック操作とを同時に行う入力操作をするようにしても良い。この場合、進行ルート上には、前述した入力操作の組み合わせを指示するターゲットが配置されるものとする。
また、前述した説明では、進行ルート上にターゲットが明示されている場合を示しているが、例えば進行ルートに隠しターゲットを配置させるようにしても良い。隠しターゲットは、表示されていないが、タイミングよくタッチ操作することで、通常のターゲットと同様にして評価の判定が行われてポイントが加算されるものとする。
さらに、前述した説明では、1本の進行ルートのみを示しているが、ゲーム中に例えば2本の進行ルートに分岐するようにしても良い。この場合、2つの進行ルートのそれぞれに設定されたターゲットに応じた入力操作を、例えば両手を用いて2箇所のタッチ位置で行なう。
このように、タッチスクリーン51では多点式タッチパネルを用いているので、前述した様々な入力操作を可能とし、ゲーム内容に変化を与えることが可能となっている。
ゲーム処理部70cは、前述したように、進行ルートを更新しながらユーザによる入力操作を受け付け、ゲームを進行させていく。楽曲再生が終了してキャラクタが進行ルートが終端にまで到達すると(ステップD10、Yes)、ゲーム処理部70cは、ゲーム処理を終了する。ゲーム処理を終了すると、ゲーム装置20は、ゲーム結果処理に移行する。
ここで、ゲーム処理中のシンクロ判定処理について説明する。図30は、シンクロ判定処理を示すフローチャートである。
シンクロ判定処理部70c3は、プレーヤの入力操作に対する評価とゴーストの入力操作に対する評価とを参照し、全てが「GREAT」であるかを判定する。ここで、全ての評価が「GREAT」である場合(ステップE1、Yes)、シンクロ判定処理部70c3は、シンクロ率を(100/全ターゲット数×人数)%プラスとする(ステップE2)。なお、ゲーム開始時のシンクロ率は「0」とする。
また、シンクロ判定処理部70c3は、全員の評価が「GOOD」以上で、全員が「GREATではない」場合には(ステップE3)、(100/全ターゲット数×人数×0.25)%プラスとする(ステップE4)。
ここで、全員の評価が「GOOD」以上である場合、シンクロ判定処理部70c3は、プレーヤと各ゴーストのタッチ位置(タッチ位置を含む領域)の一致度を判定し、タッチ位置(領域)が一致したプレーヤ数に応じてプラスする(ステップE6)。例えば、タッチスクリーン51のタッチ可能な領域を上下左右に4分割し、プレーヤとゴーストによるタッチ位置が何れ領域に含まれるかを判別し、そのタッチ位置が含まれる領域の一致度を判定する。
なお、タッチ位置を判別する領域の区分は4分割に限らず、任意に決定することができ、その配置も任意に決めることができる。また、ターゲットにタッチ位置(領域)を指定するマーク(例えば、4分割された領域のうち左上領域と右下領域を示す)などを付加して、プレーヤにそのマークが示す領域をタッチするように促すようにしても良い。ただし、簡単な操作性を損なわないようにするため、指定以外の領域でタッチされたとしてもMISSの判定などをしないようにする。
また、タッチ位置を含む領域でなく、タッチ位置が一致している場合には、より高いプラスとすることも可能である。
一方、シンクロ判定処理部70c3は、全員の入力操作が「MISS」と評価された場合には(ステップE7、Yes)、(100/全ターゲット数×人数×2)%マイナスとする(ステップE8)。
また、シンクロ判定処理部70c3は、全員ではなく1人以上が「MISS」と評価された場合には(ステップE9、Yes)、(100/全ターゲット数×MISSした人数)%マイナスとする(ステップE10)。
このように、入力操作に対する評価の一致度を判定することで、例えば4人のシンクロ率の上限値は400.00%となる。なお、ゲーム参加人数によって上限は変化する(2人の場合は200.00%、3人の場合は300.00%)。
こうして求めたシンクロ率は、ポイント加算やプレーヤ経験値(ゴースト経験値)に反映させる。ゲーム画面表示処理部70c1は、シンクロ率が100%を超えた場合には、光って点滅させるなどの画面演出を行なう。
このように、プレーヤとゴーストの入力操作の同調関係を求めて表示して、ゲーム結果に反映させることで、他のプレーヤと対戦している感覚をより強く得ることが可能となる。
次に、ゲーム結果処理について説明する。図31は、ゲーム結果処理を示すフローチャートである。
ゲーム結果処理部70dのリザルト表示部70d1は、ゲーム結果に応じて「CLEAR」または「FAILED」を表示する(ステップF1)。そして、フォロー設定部70d2は、プレーヤとゴーストのゲーム結果を含むリザルト画面を表示する(ステップF2)。
図32は、リザルト画面の一例を示す図である。図32に示すように、リザルト画面には、ゲームの対象として楽曲の情報120の他に、プレーヤのゲーム結果121の他、対戦した各ゴーストのゲーム結果122,123,124が表示されている。ゲーム結果には、例えば、ゴーストに対する入力操作の評価の集計、最大チェイン数、スコア(ポイント)、全体の評価(RATING)、対戦順位などが表示される。全体の評価(RATING)は、例えば低い順からE、D、C、B、A、Sにより表される。また、図32に示す例では、プレーヤの対戦順位が第1位となったことを示している。
また、リザルト画面では、ゴーストのゲーム結果122,123,124に対して、「FOLLOW」ボタン122a,123a,124aがそれぞれに付加されている。
プレーヤは、対戦プレーをした結果、例えば、再度、対戦プレーをしてみたい、このゴースト(他のプレーヤ)の戦績などを閲覧したいと思った場合などに、「FOLLOW」ボタン122a,123a,124aを選択することで、該当するゴーストをフォロー対象として設定することができる。
フォロー設定部70d2は、「FOLLOW」ボタン122a,123a,124aが選択された場合(ステップF3、Yes)、「FOLLOW」ボタンが選択されたプレーヤ(ゴースト)のプレーヤIDをフォロー対象として記憶しておく(ステップF4)。この記憶されたプレーヤIDは、ゲームサーバ10に送信されて、プレーヤのプレーヤ管理データ41aにおいて管理されたフォロープレーヤIDに追加される。
なお、前述した説明では、リザルト画面のゴーストのゲーム結果122,123,124に対して、「FOLLOW」ボタン122a,123a,124aを付加しているが、その他の画面において「FOLLOW」ボタンを付加するようにしても良い。例えば、対戦プレー(店内プレー、全国ゴーストプレー)前に、対戦相手をマッチングするマッチング画面中でプレーヤを指定する、各種のスコアランキング(トータルスコアランキングなど)のランキング画面中で指定できるようにしても良い。さらに、「FOLLOW」ボタンの操作によりフォロー対象を指定するだけでなく、例えばゲーム実行中に、ゲーム画面120の下部に表示された、各プレーヤのカスタムイメージ131をタッチすることで、フォロー対象として指定することも可能である。
これにより、ゲーム処理中の複数の場面において、興味のあるプレーヤを簡単にフォロー対象として設定することができるようになる。
また、図8に示すように、ボタン65を設けた構成とした場合には、「FOLLOW」ボタン122a,123a,124aに対するタッチ操作ではなく、ボタン65への操作によりフォロー対象とするプレーヤを指定することができる。
次に、リザルト表示部70d1は、レベルアップ画面を表示する(ステップF5)。
図33は、レベルアップ画面の一例を示す図である。図33に示すように、レベルアップ画面では、ゲームの実行により獲得されたプレーヤ経験値131が表示されている。プレーヤ経験値は、複数の条件(ボーナス)ごとに加算されるもので、例えば「CLEAR BONUS」、「RATING BONUS」(評価に応じたボーナス)、「PLAY BONUS」(特別なプレー結果(ノーミスなど)を出した場合)、「ITEM BONUS」(アイテムを使用して曲をクリアした場合)、「RANK BONUS」(対戦プレーの順位)、「SYNC BONUS」(対戦プレーでのシンクロ率(0〜400%)に応じた経験値)などが含まれている。
また、レベルアップ画面では、取得したプレーヤ経験値に応じて変更される、レベル/クラス132が表示されている。
レベル/クラス132では、例えば現在の「LEVEL」、「LEVEL」に対応するレベルゲージ、次のレベルまでの残り経験値「NEXT」、現在の「CLASS」などが表示されている。また、図33に示す例では、レベルがアップしたことを表す「LEVEL UP!」の表示が付加されている。同様にして、クラスがアップした場合には、画面の中央に「CLASS UP!」を表示する。
なお、図示していないが、別のリザルト画面において、ゲームの実行により達成した実績と、それによって手に入れたアイテム(称号、パーツ)を表示する。
また、リザルト画面として、例えば図34に示すように、プレーヤと他のプレーヤとの関係性の高い(リンク率が高い)プレーヤを表示することもできる。例えば、図34に示す例では、プレーヤが実行した楽曲141,142が表示され、このゲームの実行に伴って更新された他のプレーヤとのリンク率をもとに、例えば店内リンク率が高いプレーヤと、全国リンク率が高いプレーヤを、それぞれ3位まで表示することができる。
こうして、各種のリザルト画面を表示した後、ゲーム結果処理が終了されると、制御部70は、チャージポイントに残りがあれば(ステップB9、Yes)、メインメニュー表示に戻り(ステップB2)、前述同様の処理を実行する。
チャージポイントの残りがゲーム等の実行のために不足している場合には(ステップB9、No)、制御部70は、コンティニュー画面を表示して、ポイントチャージをプレーヤに対して促す(ステップB10)。ポイントチャージする場合には、ステップB1のポイントチャージ処理に戻る。
一方、コンティニューしない場合には、制御部70は、ゲームを終了させ(ステップB12)、ゲーム結果の全てのデータを記憶し、ゲームサーバ10に対して送信する(ステップB14)。その後、制御部70は、スタート処理部70aによるデモ処理に戻る(ステップB15)。
ゲームサーバ10のプレーヤデータ処理部30aは、ゲーム装置20からゲーム結果のデータを受信すると、プレーヤのプレーヤ管理データ41a(例えば、プレーヤ経験値、クラス、レベル、称号、獲得アイテム、プレーヤ戦績など)を更新する。
また、プレーヤデータ処理部30aは、ゴーストとして選択されたプレーヤのゴースト管理データ41bをゲーム結果に基づいて更新すると共に、ゴースト管理データ41bの変更に伴って、プレーヤ管理データ41a(例えば、プレーヤ経験値、クラス、レベル、称号、獲得アイテムなど)を更新する。すなわち、ゴーストによる対戦プレーのゲーム結果を、ゴーストとして選択されたプレーヤのデータに反映させる。
なお、図13のステップB3において、店内プレーが選択された場合には(ステップB3、No)、前述と同様にして曲選択処理を実行した後、プレーヤマッチング処理を実行する。店内プレーによる対戦では、マッチング待機画面を表示して、同じ店舗内の他のゲーム装置20でプレーしているプレーヤとのマッチングを待つ(ステップB17)。
マッチングが成立した場合には、制御部70は、前述したゴーストとの対戦プレーと同様にして、ゲーム処理(ステップB18)、ゲーム結果処理(ステップB19)を実行する。
ゲーム結果処理が終了した後、チャージポイントに残りがあれば(ステップB20、Yes)、制御部70は、メインメニュー表示に戻り(ステップB2)、前述同様の処理を実行する。また、チャージポイントの残りがゲーム等の実行のために不足している場合には(ステップB20、No)、制御部70は、コンティニュー画面を表示して、ポイントチャージをプレーヤに対して促す(ステップB10)。ポイントチャージする場合には、ステップB1のポイントチャージ処理に戻る。
次に、メインメニューから「MY−ROOM」ボタン84が選択された場合の処理について説明する。
図35は、「MY−ROOM」ボタン84が選択された場合の処理を示すフローチャートである。
制御部70は、メインメニュー表示から「MY−ROOM」ボタン84以外が選択された場合(ステップG1、No)、それぞれのボタンに応じた他の処理を実行する(ステップG2)。
一方、「MY−ROOM」ボタン84が選択された場合、プレーヤデータ処理部70eは、「MY−ROOM」メニューを表示する(ステップG3)。
図36には、「MY−ROOM」メニューの一例を示している。「MY−ROOM」メニューには、「MY−IMAGE」ボタン150、「TITLE」ボタン151、「RECORD」ボタン152、「FOLLOWING」ボタン153、「RENAME」ボタン154が設けられている。プレーヤデータ処理部70eは、何れかのボタンが選択された場合(ステップG4、No)、それぞれに応じた処理(マイルール処理)を実行する(ステップG5)。ここでは、それぞれの処理の詳細について省略する。
ここで、「FOLLOWING」ボタン153が選択された場合、プレーヤデータ処理部70eは、プレーヤがフォローしている他のプレーヤのランキングデータをゲームサーバ10に要求する。ゲームサーバ10は、ゲーム装置20から要求されたプレーヤのプレーヤIDをもとに、このプレーヤIDに対応するプレーヤ管理データ41aを判別する。そして、プレーヤ管理データ41aに設定されたフォロープレーヤIDが示す各プレーヤのプレーヤデータをもとに、ランキングを作成して、そのランキングデータをゲーム装置20に送信する。
ゲーム装置20は、ゲームサーバ10から受信したランキングデータをもとに、フォローしているプレーヤについてのランキング画面を表示する。
図37は、フォローしているプレーヤを対象としたフォローランキング画面の一例を示している。図37に示すように、フォローランキング画面では、例えばスコアやレベルに応じた順番で、フォローしている他のプレーヤのプレーヤ情報160,161,162,163,164が表示されている。なお、画面上部に設けられた複数のボタンによりプレーヤ情報を配列する順番の条件、例えば月別の勝利数順、トータルスコア順などに変更することができる。
なお、プレーヤ情報160,161,162,163,164には、それぞれフォロー対象からプレーヤを外すための「UNFOLLOW」ボタン160a,161a,162a,163a,164aが付加されている。「UNFOLLOW」ボタン160a〜164aが選択された場合、プレーヤデータ処理部70eは、該当するプレーヤ(プレーヤID)をフォロー対象から外すようにゲームサーバ10に対して指示する。これにより、ゲームサーバ10に記憶されたプレーヤ管理データ41aのフォロープレーヤIDから該当するプレーヤIDを削除することができる。
なお、図8に示す構成の場合には、「UNFOLLOW」ボタン160a,161a,162a,163a,164aに対するタッチ操作ではなく、ボタン65への操作によりフォロー対象から外す指示をすることも可能である。
このようにして、「MY−ROOM」メニューを通じてフォローランキング画面を表示し、フォロー対象としているプレーヤを削除することができる。
なお、前述した説明では、ゲーム装置20にはタッチスクリーン51を設けるものとしているが、ディスプレイ51aとタッチパネル51bとを独立して設けた構成とすることも可能である。すなわち、ゲーム画面を表示するディスプレイ51aと、プレーヤによる入力操作がされるタッチパネル51bとを分離して実装した構成としても良い。
また、前述した説明では、各プレーヤのプレーヤデータをゲームサーバ10に記憶して管理するものとしているが、ゲーム装置20において記憶するようにしても良い。この場合、ゲーム装置20は、前述したゲームサーバ10と同様のデータ管理処理を実行する。ゲーム装置20に記憶するプレーヤデータが更新された場合には、プレーヤデータを共有している他のゲーム装置20に更新内容を通知して、データの同期を図るようにすれば良い。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、実施形態に記載した手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記憶媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータは、記憶媒体に記憶されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記憶媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。