説明

ゲームシステム

【課題】通信を介して複数人参加型のゲームを行う際に、通信による遅延に起因する操作性の悪さを改善する。
【解決手段】合奏ゲームを実行するための合奏ゲームシステムは、互いに通信可能な複数のゲーム装置10a〜10cを含む。各ゲーム装置10a〜10cは、第1の演奏期間において、プレイヤによる演奏操作に応じて自己パートの音を出力する。また、第1の演奏期間中における自己パートの演奏結果を特定するための演奏データ(リハーサルデータ)を他のゲーム装置へ送信する。一方、自己パート以外の他パートの演奏結果を特定するための演奏データが、他のゲーム装置から受信されて記憶装置に記憶される。各ゲーム装置10a〜10cは、第1の演奏期間の後の第2の演奏期間において、記憶装置に記憶されている他パートの演奏データを用いて他パートの音を出力しつつ、プレイヤによる演奏操作に応じて自己パートの音を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステムに関し、より特定的には、複数のユーザがそれぞれゲーム装置を用いて1つのゲームを行うゲームシステムに関する。
【背景技術】
【0002】
特許文献1には、複数のユーザがそれぞれ演奏装置を用いて合奏を行うことができる合奏用のシステムが記載されている。このシステムでは、電子ピアノ等の各パートを演奏するための各演奏装置は、インターネットを介して合奏用ミキシングサーバとそれぞれ接続される。各演奏装置に対して行われた演奏を示す演奏情報は、一旦合奏用ミキシングサーバに送信される。ミキシングサーバでは、各演奏装置から送信されてきた演奏情報がミキシングされて、ミキシングされた演奏情報が各演奏装置へ送信される。各演奏装置は、ミキシングされた演奏情報を受信し、当該演奏情報を楽音として出力する。以上によって、複数のユーザは、それぞれ端末(演奏装置)を用いて合奏を行うことができる。
【特許文献1】特開2004−325775号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1に記載の演奏装置は、演奏装置に対して演奏が行われてから楽音が出力されるまでの間に合奏用ミキシングサーバと通信を行わなければならない。そのため、演奏装置は、通信による遅延が原因で、演奏操作を行われてから即座に楽音を出力することができず、演奏操作が行われてから楽音を出力するまでに遅延が生じる。したがって、ユーザにとっては演奏操作が非常に難しくなってしまい、操作性が悪くなっていた。
【0004】
また、上記のような合奏を行うシステムに限らず、複数のユーザがそれぞれゲーム装置を用いて1つのゲームを行う複数人参加型のゲームを行うゲームシステムにおいては、上記と同様の問題が生じていた。すなわち、他のゲーム装置における操作結果を示すデータを自機で受信することによって、当該操作結果を自機に反映させることができるが、このとき、通信による遅延のために、操作結果を反映させるのに遅延が生じてしまう。
【0005】
それ故、本発明は、通信を介して複数人参加型のゲームを行う際に、通信による遅延が操作性に影響しない、新規なゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
第1の発明は、互いに通信可能な複数のゲーム装置(10a〜10c)を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムである。各ゲーム装置は、入力手段(操作スイッチ部14および/またはタッチパネル15)と、第1演奏実行手段(ステップS39を実行するCPUコア21等。以下、この欄において同様の場合にはステップ番号のみを記載する。)と、演奏再現データ送信手段(S34)と、演奏再現データ受信手段(S35およびS36)と、第2演奏実行手段(S69)とを備える。第1演奏実行手段は、第1の演奏期間において、プレイヤによる入力手段の入力に応じて自己パートの音を出力する。演奏再現データ送信手段は、前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである演奏再現データ(リハーサルデータ)を生成して他のゲーム装置へ送信する。演奏再現データ受信手段は、前記自己パート以外の他パートについての前記演奏再現データを他のゲーム装置から受信し、自機の記憶手段(RAM24)に記憶する。第2演奏実行手段は、前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する。
【0008】
なお、第1の発明において、「入力手段による入力」とは、操作スイッチに対して行われる操作入力、および、マイク等の音声入力手段に対して行われる音声入力を含む概念である。また、演奏再現データは、演奏内容を再現することができるものであればよく、プレイヤによる操作の履歴を示すデータ、当該操作を音に変換した音のデータ、当該操作が基準となる操作に対して正誤を示すデータ、当該正誤の結果に基づく音のデータ、および、演奏結果として出力される音のデータを含む概念である。
【0009】
また、第1の発明において、複数のゲーム装置は、典型的にはインターネットなどの広域ネットワークを介して通信可能とされるが、ローカルネットワークやアドホックネットワークにより通信するものであっても本願発明は適用可能である。また、複数のゲーム装置は、サーバを介して通信をおこなうものでもよいし、相互に直接通信するものでもかまわない。また、サーバで通信ゲームをおこなうゲーム装置のグループを形成した後、当該グループにおいて相互に直接通信するようにしてもかまわない。
【0010】
第2の発明においては、前記各ゲーム装置の記憶手段には、前記楽曲のパート毎の内容を特定するための楽曲データ(56)が記憶されていてもよい。このとき、各ゲーム装置は、第1の演奏期間において、前記他パートの音を前記楽曲データを用いて自動的に出力する自動再生手段(S39)をさらに備える。第1演奏実行手段は、前記自動再生手段による前記他パートの音の再生に合わせて、プレイヤによる前記入力手段の入力に応じて前記自己パートの音を出力する。
【0011】
第3の発明においては、各ゲーム装置のうち少なくとも1つは、楽曲データ記憶手段(RAM24)と、楽曲決定手段(S11)と、楽曲データ送信手段(S18)とをさらに備えてもよい。楽曲データ記憶手段は、前記楽曲のパート毎の内容を特定するための楽曲データを複数記憶可能である。楽曲決定手段は、前記楽曲データ記憶手段に楽曲データが記憶された楽曲のうち演奏されるべき楽曲を決定する。楽曲データ送信手段は、前記楽曲決定手段によって決定された楽曲の楽曲データを他のゲーム装置に送信する。前記各ゲーム装置のうち前記少なくとも1つ以外(前記楽曲決定手段によって決定された楽曲の楽曲データを他のゲーム装置に送信するゲーム装置以外のゲーム装置)は、前記楽曲データ送信手段から送信される楽曲データを受信し、当該楽曲データを用いて前記合奏ゲームを実行する。
【0012】
なお、第3の発明において、楽曲データは、楽曲のパート毎の内容を特定するためのデータの他に、当該楽曲を演奏する演奏期間中にゲーム装置の画面に表示する指示画像を生成するためのデータや、当該楽曲の演奏中に再生すべきBGMのデータを含むものであってもよい。
【0013】
また、第3の発明において、さらに、前記楽曲決定手段によって決定された楽曲の楽曲データを他のゲーム装置が記憶しているか否かを判定し、前記楽曲決定手段によって決定された楽曲の楽曲データを記憶していない他のゲーム装置のみ当該楽曲データを送信するようにしてもよい。また、前記各ゲーム装置は、プレイヤの入力に基いて楽曲データを作成する楽曲データ作成手段をさらに備え、楽曲データ作成手段によって作成された楽曲データを楽曲データ記憶手段に記憶するようにしてもよい。また、合奏ゲームシステムは、複数の楽曲データを記憶したサーバをさらに備え、各ゲーム装置は、当該サーバから楽曲データの配信を受けて、配信された楽曲データを前記楽曲データ記憶手段に記憶するようにしてもよい。
【0014】
第4の発明において、前記合奏ゲームシステムは、複数のゲーム装置のうち、前記合奏ゲームのプログラムを実行している前記ゲーム装置の中から、前記合奏ゲームに参加するゲーム装置のグループを決定するグループ決定手段(サーバ1)を備えていてもよい。
【0015】
第5の発明において、前記各ゲーム装置は、指示データ記憶手段(RAM24)と、指示手段(S40およびS70)とをさらに備えていてもよい。指示データ記憶手段は、前記入力手段の入力を指示するための指示データを前記パート毎に記憶する。指示手段は、前記自己パートについての前記指示データに基づいて入力を指示する。
【0016】
第6の発明において、各ゲーム装置は、前記入力手段の入力に対応して出力される音データである対応音データを前記パート毎に記憶する対応音データ記憶手段(RAM24)をさらに備えていてもよい。このとき、前記第1演奏実行手段および前記第2演奏実行手段は、前記入力手段の入力に応じて、前記対応音データを参照して前記自己パートの音を出力する。
【0017】
第7の発明においては、前記合奏ゲームシステムは、複数のゲーム装置のうちから、前記合奏ゲームに参加するゲーム装置のグループを決定する決定手段(サーバ1)を備えていてもよい。このとき、決定手段によって決定されたグループに属する各前記ゲーム装置において、次の処理が実行される。すなわち、第1演奏実行手段は、プレイヤによる前記入力手段の入力に応じて自己パートの音を出力する。演奏再現データ送信手段は、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである第1演奏再現データを、前記グループに属する他のゲーム装置へ送信する。演奏再現データ受信手段は、前記自己パート以外の他パートについての前記第1演奏再現データを、前記グループに属する他のゲーム装置から受信し、自機の記憶手段に記憶する。前記第2演奏実行手段は、前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記グループに属する他の各ゲーム装置についての各前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する。
【0018】
第8の発明においては、ゲームシステムは、パート決定手段(S26)をさらに備えていてもよい。パート決定手段は、各ゲーム装置におけるパートを決定する。このとき、前記第1演奏実行手段は、前記パート決定手段によって決定された当該ゲーム装置のパートの音を前記入力手段の入力に応じて出力する。前記第2演奏実行手段は、前記パート決定手段によって決定された当該ゲーム装置のパートの音を前記入力手段の入力に応じて出力するとともに、前記パート決定手段によって決定された他のゲーム装置のパートの音を当該他のゲーム装置にかかる演奏再現データを用いて出力する。
【0019】
なお、第8の発明において、パート決定手段は、各ゲーム装置がそれぞれ自機のパートを決定する手段を有することによって実現されてもよい。このとき、各ゲーム装置間でパートの希望を通信した後で、割り当てられるパートを決定するようにしてもよい。また、各ゲーム装置に割り当てられるパートを決定する手段を1つのゲーム装置またはゲーム装置以外のサーバが有していてもよい。この場合、パート決定手段で決定された、各ゲーム装置とそれに割り当てられるパートとの対応は、各ゲーム装置に通知される。
【0020】
第9の発明においては、各ゲーム装置は、第1の演奏期間を開始するタイミングを各ゲーム装置間で同期させる第1タイミング決定手段(S31)をさらに備えていてもよい。
【0021】
第10の発明においては、演奏再現データ送信手段は、第1の演奏期間において自己パートの演奏再現データを逐次送信してもよい。このとき、演奏再現データ受信手段は、他のゲーム装置から他パートの演奏再現データを逐次受信する。
【0022】
第11の発明においては、各ゲーム装置は、自己パートの演奏再現データを記憶装置に逐次記憶させる自己演奏再現データ記憶制御手段をさらに備えていてもよい。このとき、演奏再現データ送信手段は、第1の演奏期間が終了した後で、記憶装置に記憶されている自己パートの演奏再現データを他のゲーム装置へ送信する。
【0023】
第12の発明においては、演奏再現データは、第1または第2の演奏期間中における時点を示すデータ(フレーム番号データ)と、当該時点においてプレイヤによって行われた演奏操作を示す操作データとを含んでいてもよい。
【0024】
第13の発明においては、各ゲーム装置は、演奏結果データ送信手段(S64)と、演奏結果データ受信手段(S65)と、評価手段(S76)をさらに備えていてもよい。演奏結果データ送信手段は、第2の演奏期間中における自己パートの演奏結果を特定するための演奏結果データを他のゲーム装置へ送信する。演奏結果データ受信手段は、第2の演奏期間中における他パートの演奏結果を特定するための演奏結果データを他のゲーム装置から受信する。評価手段は、第2の演奏期間中における自己パートの演奏結果を特定するための演奏結果データと、演奏結果データ受信手段によって受信された演奏結果データとに基づいて、複数のパート全体の演奏結果に対する評価を行う。
【0025】
なお、第13の発明において、演奏結果データは、演奏内容を特定するための演奏データ、および、演奏内容に対する評価結果(具体的には、得点)を示すデータを含む概念である。
【0026】
第14の発明においては、各ゲーム装置は、第2の演奏期間を開始するタイミングを各ゲーム装置間で同期させる第2タイミング決定手段(S61)をさらに備えていてもよい。
【0027】
第15の発明においては、各ゲーム装置の記憶装置には、楽曲のパート毎の内容を特定するための楽曲データが記憶されていてもよい。このとき、各ゲーム装置は、第2の演奏期間中において、記憶装置に記憶されている他パートの演奏再現データを用いて楽曲の各演奏部分について他パートの音を生成することが可能か否かを各パートについて判定する生成判定手段(S82)をさらに備えている。第2演奏実行手段は、判定結果が否定であると判定されたパートについては、記憶装置に記憶されている他パートの演奏再現データを用いた音の生成が不可能である演奏部分の音を楽曲データを用いて生成する。
【0028】
第16の発明は、互いに通信可能な複数のゲーム装置を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムである。合奏ゲームシステムは、グループ決定手段およびパート決定手段を備える。グループ決定手段は、複数のゲーム装置のうちから、前記合奏ゲームに参加するゲーム装置のグループを決定する。パート決定手段は、前記合奏ゲームの開始に先立って、前記グループ決定手段によって決定されたグループに属する各ゲーム装置のパートを決定する。前記グループ決定手段によって決定されたグループに属する各ゲーム装置は、第1演奏実行手段と、自動再生手段と、演奏再現データ送信手段と、演奏再現データ受信手段と、再現手段と、第2演奏実行手段とを備える。第1演奏実行手段は、前記合奏ゲームにおける第1の演奏期間において、プレイヤに対して、前記パート決定手段によって決定された自己パートに関する入力の指示をおこないつつ、プレイヤによる入力手段の入力に応じて音を出力する。自動再生手段は、前記合奏ゲームにおける第1の演奏期間において、前記パート決定手段によって決定されたパート以外の音を自動的に出力する。演奏再現データ送信手段は、前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における自己の前記第1演奏実行手段による音の出力を再現するためのデータである演奏再現データを生成して、前記グループに属する他のゲーム装置へそれぞれ送信する。演奏再現データ受信手段は、前記演奏再現データを前記グループに属する他のゲーム装置からそれぞれ受信し、自機の記憶手段に記憶する。再現手段は、前記第1の演奏期間の次の前記合奏ゲームにおける第2の演奏期間において、前記記憶手段に記憶されている前記グループに属する他の各ゲーム装置についての各前記演奏再現データを用いて、当該他の各ゲーム装置の前記第1演奏期間中における前記第1演奏実行手段による音の出力をそれぞれ再現する。第2演奏実行手段は、前記第2の演奏期間において、プレイヤに対して、前記パート決定手段によって決定された自己パートに関する入力の指示をおこないつつ、前記再現手段による音の出力に併せて、プレイヤによる前記入力手段の入力に応じて音を出力する。
【0029】
なお、第16の発明において、各ゲーム装置は、各パートごとに楽曲の開始から終了に向けて順次入力を指示するための指示データを記憶していてもよい。このとき、第1の演奏期間において、当該指示データに基づいて、パート決定手段で決定された自己のパートについての当該指示データにより指示を行ってもよい。なお、当該指示データは各ゲーム装置に予め記憶しておいてもよいし、ネットワーク等を介した配信により取得されてもよいし、他のゲーム装置から取得されてもよい。
【0030】
また、演奏再現データ送信手段は、第1の演奏期間中に演奏再現データを逐次送信してもよいし、第1の演奏期間終了後に演奏再現データをまとめて送信してもよい。また、演奏再現データは、ゲーム装置間で直接送受信されてもよいし、サーバ経由で送受信されてもよい。
【0031】
第17の発明は、互いに通信可能な複数のゲーム装置を含み、各ゲーム装置を用いてプレイヤに楽曲を演奏させることによって合奏ゲームを実行する合奏ゲームシステムである。前記各ゲーム装置は、入力手段と、第1演奏実行手段と、演奏再現データ送信手段と、演奏再現データ受信手段と、第2演奏実行手段と、を備える。第1演奏実行手段は、第1の演奏期間において、プレイヤによる前記入力手段の入力に応じて自己の演奏の音声を出力する。演奏再現データ送信手段は、前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における前記自己の演奏を再現するための演奏データである演奏再現データを生成して他のゲーム装置へ送信する。演奏再現データ受信手段は、他のゲーム装置から送信される前記演奏再現データを受信し、自機の記憶手段に記憶する。第2演奏実行手段は、前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他のゲーム装置の演奏の音声を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じた前記自己の演奏の音声を出力する。
【0032】
また、本発明は、上記ゲームシステムに含まれるゲーム装置(10)の形態で提供されてもよい。また、ゲーム装置のコンピュータ(CPUコア21等)で実行されるゲームプログラム(51)の形態で提供されてもよい。
【発明の効果】
【0033】
第1の発明によれば、2回の演奏期間を設けることによって、1回目の演奏期間における他のゲーム装置の演奏再現データを、2回目の演奏期間に用いることによって他パートの音を出力する。すなわち、少なくとも2回目の演奏期間より前に、1回目の演奏期間における他のゲーム装置の演奏再現データを当該他のゲーム装置から受信して記憶しておく。そして、2回目の演奏期間において、記憶しておいた演奏再現データを用いて他パートの音を出力する。これによれば、2回目の演奏期間において、すでに記憶されている1回目の演奏結果の演奏再現データを用いるので、自己パートの音と他パートの音との出力タイミングを容易にそろえることができる。すなわち、第1の発明によれば、通信による遅延に起因する操作性の悪さを改善することができる。
【0034】
第2の発明によれば、1回目の演奏期間においても他パートの音が出力されるので、プレイヤは、1回目の演奏においても他のプレイヤと合奏しているかのような感覚を得ることができる。また、1回目の演奏によって自己パートを他パートに合わせるように練習した後、2回目の演奏を行うことができる。
【0035】
第3の発明によれば、ゲームシステムに含まれる複数のゲーム装置のうちに、演奏される楽曲の楽曲データを有していないゲーム装置がある場合でも、当該ゲーム装置に楽曲データを送信することによって、合奏ゲームのプレイを可能とすることができる。
【0036】
第4の発明によれば、合奏ゲームに参加するゲーム装置を自動的に選出して、合奏ゲームを行うグループを形成することができる。
【0037】
第5の発明によれば、自己パートの演奏内容をプレイヤに対して通知することによって、プレイヤに自己パートの演奏を促すことができるとともに、正しい演奏内容をプレイヤに提示することができる。
【0038】
第6の発明によれば、対応音データを用いることによって、各パートの音を容易に出力することができる。また、対応音データには各パートの音データが含まれるので、ゲーム装置は、どのパートが割り当てられても、自己パートの音を適切に出力することができる。
【0039】
第7の発明によれば、複数のゲーム装置のうちから、合奏ゲームを行うゲーム装置のグループが決定される。したがって、常に同じ相手ではなく、異なる相手と合奏ゲームをプレイすることができる。
【0040】
第8の発明によれば、各ゲーム装置のプレイヤは、自分が演奏したい楽曲のパートを自ら選択することができる。
【0041】
第9の発明によれば、第1の演奏期間の開始タイミングがほぼ同じタイミングとなることによって、第1の演奏期間の終了タイミングも各ゲーム装置でほぼ同じになる。したがって、各プレイヤは、第2の演奏期間の開始を長時間待つことがなく、第1の演奏期間の終了後、すぐに第2の演奏を開始することができる。
【0042】
第10の発明によれば、第1の演奏期間中に演奏再現データを送信することによって、第1の演奏期間の終了後、短時間で第2の演奏期間を開始することができる。
【0043】
第11の発明によれば、第1の演奏期間の終了後に演奏再現データをまとめて送信することによって、ゲーム装置間の通信回数を減らすことができる。
【0044】
第12の発明によれば、プレイヤによって行われた演奏操作を示す操作データによって演奏内容を特定することによって、例えば演奏音によって演奏内容を特定する場合に比べて、演奏再現データのデータ量を少なくすることができる。
【0045】
第13の発明によれば、プレイヤは、各プレイヤによる各パートの演奏全体に対する評価を得ることができる。これによれば、自分の演奏の出来だけではなく、他のプレイヤの演奏の出来も考慮されて評価がされるので、1人で演奏を行う場合に比べて、他のプレイヤと合奏を行う楽しみが増す。
【0046】
第14の発明によれば、第2の演奏期間の開始タイミングがほぼ同じタイミングとなることによって、第2の演奏期間の終了タイミングも各ゲーム装置でほぼ同じになる。したがって、各プレイヤは、第2の演奏期間の終了後、長時間待つことなく合奏に対する評価を得ることができる。
【0047】
第15の発明によれば、通信等の不備によりいずれかのゲーム装置からの演奏再現データが受信されなくなった場合でも、他パートの音を生成して出力することができる。
【0048】
第16の発明によれば、第1の発明と同様、2回目の演奏期間において、すでに記憶されている1回目の演奏結果の演奏再現データを用いるので、自己パートの音と他パートの音との出力タイミングを容易にそろえることができる。したがって、第16の発明によっても第1の発明と同様、通信による遅延に起因する操作性の悪さを改善することができる。
【0049】
第17の発明によれば、2回の演奏期間を設けることによって、1回目の演奏期間における他のゲーム装置の演奏再現データを、2回目の演奏期間に用いることによって他のゲーム装置の演奏音を出力する。そして、2回目の演奏期間において、記憶しておいた演奏再現データを用いて他のゲーム装置の演奏音を出力する。これによれば、2回目の演奏期間において、すでに記憶されている1回目の演奏結果の演奏再現データを用いるので、自機の演奏音と他のゲーム装置の演奏音との出力タイミングを容易にそろえることができる。すなわち、第17の発明によれば、通信による遅延に起因する操作性の悪さを改善することができる。
【発明を実施するための最良の形態】
【0050】
以下、本発明の一実施形態に係るゲームシステムおよびゲーム装置、ゲームプログラムについて説明する。図1は、本実施形態に係るゲームシステムの構成を示すブロック図である。図1に示すように、本ゲームシステムは、サーバ1および複数の携帯ゲーム装置(以下、単に「ゲーム装置」と呼ぶ。)10a〜10cがインターネット等のネットワーク1を介して接続される構成である。本実施形態では、ゲームシステムは3つのゲーム装置10a〜10cを含み、図1では、3人のプレイヤがゲーム装置を1つずつ使用してゲームを行う場合を示しているが、ゲームシステムに含まれるゲーム装置の数は複数であればいくつであってもよい。各ゲーム装置10a〜10cは、無線でネットワーク1に接続可能であるが、有線で接続されるものであってもよい。また各ゲーム装置は携帯ゲーム装置ではなく、据置型ゲーム装置であっても構わない。また、例えば、据置型ゲーム装置に携帯ゲーム装置を接続し、当該据置型ゲーム装置をネットワークに接続する構成でもよく、この場合、据置型ゲーム装置には複数の携帯ゲーム装置が接続されてもよい。以下においては、ゲームシステムに含まれる各ゲーム装置を特に区別する必要がない場合は、1つのゲーム装置を単にゲーム装置10と記載することがある。
【0051】
また、サーバ1は、通信ゲームを行うゲーム装置のグループの決定(マッチング)を行うための装置である。他の実施形態においては、ゲームシステムは、サーバ1を含まない構成であってもよい。サーバ1の動作の詳細については後述する。
【0052】
(ゲーム装置の構成)
まず、ゲーム装置10の構成について説明する。図2は、ゲームシステムに含まれるゲーム装置10の外観図である。本実施形態では、ゲームシステムに含まれるか各ゲーム装置は全て同じ構成であり、全て図1に示す構成である。
【0053】
図2において、ゲーム装置10は、第1のLCD(Liquid Crystal Display:液晶表示装置)11および第2のLCD12を含む。ハウジング13は上側ハウジング13aと下側ハウジング13bとによって構成されている。第1のLCD11は上側ハウジング13aに収納され、第2のLCD12は下側ハウジング13bに収納される。第1のLCD11および第2のLCD12の解像度はいずれも256dot×192dotである。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【0054】
上側ハウジング13aには、後述する1対のスピーカ(図3の30aおよび30b)からの音を外部に放出するための音抜き孔18aおよび18bが形成されている。また、上側ハウジング13aと下側ハウジング13bとを開閉可能に接続するヒンジ部にはマイクロフォン用孔33が設けられている。
【0055】
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、およびYボタン14gが設けられている。また、下側ハウジング13bの側面には、図示しないLボタンおよびRボタンが設けられている。さらに、各操作スイッチとは別の入力装置として、第2のLCD12の画面上にタッチパネル15が装着されている。下側ハウジング13bの側面には、電源スイッチ19、メモリカード17を収納するための挿入口35(図2に示す一点鎖線)、スティック16を収納するための挿入口36(図2に示す点線)が設けられている。
【0056】
タッチパネル15は、抵抗膜方式のタッチパネルである。ただし、本発明は抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。タッチパネル15は、スティック16に限らず指で操作することも可能である。本実施形態では、タッチパネル15として、第2のLCD12の解像度と同じく256dot×192dotの解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。なお、本実施形態においては、ゲーム装置10は、少なくとも1つの操作スイッチまたはタッチパネル15を備えていればよい。
【0057】
メモリカード17は、ゲームプログラムを記録した記録媒体であり、下部ハウジング13bに設けられた挿入口35に着脱自在に装着される。なお、ゲームプログラムはゲーム装置の内部メモリ(不揮発であることが好ましいが揮発性でもよい)に記憶してもよく、所定のサーバ(または他のゲーム装置)からダウンロードしたプログラムを当該内部メモリに記憶するようにしてもかまわない。
【0058】
次に、図3を参照してゲーム装置10の内部構成を説明する。図3は、ゲーム装置10の内部構成を示すブロック図である。図3において、ハウジング13に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(図面ではI/F回路と記す)25、第1GPU(Graphics Processing Unit)26、第2GPU27、RAM24、およびLCDコントローラ31、およびワイヤレス通信部37が接続される。コネクタ23には、メモリカード17が着脱自在に接続される。メモリカード17は、ゲームプログラムを記憶するROM17aと、バックアップデータを書き換え可能に記憶するRAM17bを搭載する。メモリカード17のROM17aに記憶されたゲームプログラムはRAM24にロードされ、RAM24にロードされたゲームプログラムがCPUコア21によって実行される。RAM24には、ゲームプログラムの他にも、CPUコア21がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。I/F回路25には、タッチパネル15、右スピーカ30a、左スピーカ30b、図2の十字スイッチ14aやAボタン14d等から成る操作スイッチ部14、およびマイクロフォン38が接続される。右スピーカ30aと左スピーカ30bは、音抜き孔18a、18bの内側にそれぞれ配置される。マイクロフォン38は、マイクロフォン用孔33の内側に配置される。
【0059】
第1GPU26には、第1VRAM(Video RAM)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて、RAM24に記憶されているゲーム画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2のゲーム画像を生成し、第2VRAM29に描画する。第1VRAM28および第2VRAM29はLCDコントローラ31に接続されている。
【0060】
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1のゲーム画像を第1のLCD11に出力し、第2VRAM29に描画された第2のゲーム画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1のゲーム画像を第2のLCD12に出力し、第2VRAM29に描画された第2のゲーム画像を第1のLCD11に出力する。
【0061】
ワイヤレス通信部37は、他のゲーム装置のワイヤレス通信部との間で、ゲーム処理に利用されるデータやその他のデータを送受信する機能を有している。また、ゲーム装置10は、ワイヤレス通信部37を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【0062】
(ゲームシステムの動作概要)
次に、図4〜図6を参照して、ゲームシステムにおいて実行される動作の概要を説明する。本実施形態では、プレイヤに演奏を行わせる複数のゲーム装置によって合奏ゲームを行う場合を例として説明する。この合奏ゲームでは、複数のプレイヤが、複数のパートからなる楽曲の各パートをそれぞれ演奏して遊ぶ。すなわち、各プレイヤにはそれぞれ楽曲のパートが1つずつ割り当てられ、プレイヤは、割り当てられたパートの演奏をゲーム装置を用いて行う。なお、同じパートを複数のプレイヤが演奏することができるようにしてもよい。各プレイヤによって行われた演奏内容は、他のゲーム装置に送信され、ゲーム装置は、全てのゲーム装置における演奏内容を取得する。ゲーム装置は、取得した演奏内容を用いて全パートの音を一緒に出力する、すなわち、各演奏音を合奏として出力する。本ゲームは、以上の処理によって各ゲーム装置における演奏を合わせて合奏として出力することによって、複数のプレイヤで合奏を行うためのものである。
【0063】
まず、ゲーム装置を用いた演奏操作について説明する。楽曲の演奏が可能となる期間(演奏期間)中においては、プレイヤが所定の演奏ボタンのいずれかを押下する操作を行ったことに応じて、ゲーム装置からは自己パートの音が出力される。本実施形態では、演奏ボタンは、十字キー14aの上下左右ボタン、Aボタン14d、Bボタン14e、Xボタン14f、Yボタン14g、Lボタン、およびRボタンの10種類である。ゲーム装置の自己パートとは、そのゲーム装置に割り当てられたパートのことである。また、本実施形態では、押下されたキーの種類に応じて異なる音程の音が出力される。具体的には、十字キー14aの上下左右ボタンおよび各ボタン14d〜14gの8種類のボタンに対して例えばドレミファソラシドの8つの音程が1つずつ割り当てられるとともに、Lボタンによって音程が半音変化し、Rボタンによって音程が1オクターブ変化する。以上より、プレイヤは、10種類の演奏ボタンを用いて自己パートの演奏を行うことができる。なお、詳細は後述するが、本実施形態では、プレイヤは演奏操作の難易度を3つのレベルのうちから選択することができるものとし、難易度によっては用いる演奏ボタンの数が10種類よりも少なくなる場合がある。
【0064】
また、自己のパートに応じて音色が変更される。すなわち、ゲーム装置には、各楽器ごとかつ各音程ごとの音データが記憶される。具体的には、例えば、ピアノおよびギターのパートを含む楽曲については、ピアノについての各音程ごとの音データ、ギターについての各音程ごとの音データが記憶される。演奏時には、ピアノのパートが割り当てられたゲーム装置では、ピアノについての音データが使用され、ギターのパートが割り当てられたゲーム装置では、ギターについての音データが使用される。
【0065】
また、本実施形態では、各ボタン操作に対して固定の音程を割り当てたが、同じボタン操作をしたときでも、楽曲に応じて、および/または、1つの楽曲においても部分に応じて、異なる音程の音が出力されるようにしてもよい。この場合、あるボタン操作をしたときに出力される音程を指定するデータが楽曲ごと(および/または、楽曲における部分ごと)に定義されて、各ゲーム装置が当該定義したデータを記憶しておりこれが合奏ゲーム実行中に利用される。
【0066】
また、音が出力されるタイミングは、ボタンの操作タイミングとしてもよいし、正しいタイミングでボタンが操作されたときのみ音を出力するようにしてもよい。後者の場合、具体的には、音が出力されるべき正しいタイミングが定義されており、ゲーム装置10は、ボタンの操作タイミングが当該正しいタイミングを基準とする許容範囲内であるか否かを判定する。そして、当該判定が肯定のときに、当該正しいタイミングで音を出力する。また、正しいボタン操作がされたときのみ、対応する音を出力するようにしてもよいし、ボタン操作がされたときはその操作が正しいかどうかに関わらず対応する音を出力するようにしてもかまわない。
【0067】
本ゲームにおいては、演奏操作が可能となる演奏期間中、演奏すべき楽曲の演奏操作の指示画像がゲーム装置10の画面に表示される。ここで、演奏操作の指示画像とは、ボタン操作のタイミング(および付加的にボタン操作の種類)をプレイヤに対して指示するものである。プレイヤは、画面に表示された内容に従って演奏操作を行う。図4は、ゲーム装置の画面に表示されるゲーム画像の例を示す図である。図4に示されるように、第1のLCD11または第2のLCD12の画面には、3本のゲージ(例えばゲージ41)、1対のカーソル42、複数の操作指示画像(例えば操作指示画像43および44)、および、操作期間画像(例えば操作期間画像45)が表示される。図4に示すゲーム画像は、自己パートの演奏操作のタイミング(および付加的に演奏操作の種類)をプレイヤに対して指示するための画像である。
【0068】
横長形状のゲージは、縦方向に複数本並べて配置されている。また、ゲージには目盛りが付されており、1本のゲージは4分の4拍子の場合には例えば16マスに区分され、4分の3拍子の場合には例えば12マスに区分される。1対のカーソル42は、左右方向に関して同じ位置に配置され、一方がいずれかのゲージの上側に配置され、他方が当該ゲージの下側に配置される。また、操作指示画像および操作期間画像は、ゲージ上に配置される。操作指示画像は、上記8種類の演奏ボタンのいずれかを表す画像(上下左右方向の矢印、または、A,B,X,Y,L,Rの文字)を含む。操作期間画像は、操作指示画像の右側に必要に応じて配置される。なお、ゲームシステムに含まれる各ゲーム装置に割り当てられるパートが異なるので、各ゲーム装置の画面において、操作指示画像および操作期間画像はそれぞれ異なる位置に配置される。なお、演奏操作の指示画像は、本実施形態で採用した態様と異なるものであっても、種々の態様を採用可能であることは当業者にとっては容易に理解可能である。演奏操作の指示画像は、例えば、音楽の一般的な楽譜のようなものに操作タイミングを指示するカーソルを付したようなものでもよいし、操作指示画像を所定位置に向けて移動表示し、操作指示画像が当該所定位置に到達したときに操作タイミングとなるような態様でも良い。
【0069】
上記演奏期間が開始されると、1対のカーソル42は、時間に応じてゲージの左側から右側へ移動していき、ゲージの右端に達すると、当該ゲージの1つ下に表示されるゲージの左端に移動する。また、画面に表示されているゲージは、カーソル42が画面内に常に表示されるように、カーソル42の移動に応じて上方向にスクロールする。つまり、各ゲージは上方向に移動していき、操作指示画像および操作期間画像が配置された新たなゲージが画面の下側から追加して表示される。
【0070】
各指示画像(操作指示画像および操作期間画像)が配置されたゲージは、演奏操作指示すなわち楽譜に相当するものであり、演奏ボタンを押下すべきタイミングおよび押下すべき演奏ボタンの種類を表している。具体的には、プレイヤは、操作指示画像がカーソル42によって指定されるタイミング(1対のカーソル42の間に操作指示画像が位置するタイミング)で、当該操作指示画像によって表される操作を行う。例えば、図4に示す画像が表示されている時点では、カーソル42は、Rボタンを表す操作指示画像43と十字キー14aの右方向を表す操作指示画像44とを指定しているので、プレイヤはRボタン14および十字キー14aの右方向を同時に押下する操作を行う。また、操作期間画像は、演奏ボタンを押下する長さを表している。つまり、プレイヤは、移動するカーソル42が操作期間画像を指定している間、演奏ボタンを継続的に押下する。例えば、図4に示す操作期間画像45は、Bボタン14eを2目盛り分の時間だけ継続的に押下することを表している。なお、ある演奏ボタンを1目盛り分の時間だけ押下することを表す場合、操作期間画像は配置されない。ゲージ上に配置された各指示画像に従って演奏ボタンを押下することによって、プレイヤは、楽曲を正しく演奏することができる。
【0071】
以上に説明した演奏操作を行うことによって、プレイヤは、自己パートの演奏を行うことができる。ここで、合奏を行うためには、他のゲーム装置に割り当てられた他パートの演奏内容を表すデータを演奏中に逐次取得し、その演奏中において、取得したデータに基づいて当該他パートの音を出力する方法が考えられる。しかし、この方法では、他のゲーム装置から上記データを受信する際、特にネットワークを介した通信の場合には通信による遅延が発生するので、他パートの音を出力するタイミングは、自己パートの音を出力するタイミングよりも遅くなってしまう。合奏を行う場合には自己パートの音と他パートの音とを同期させなければならないが、上記方法では自己パートの音と他パートの音と同期させて出力することができない。
【0072】
そこで、本実施形態では、1つの楽曲について合奏を行う際、リハーサル演奏および本番演奏という2回の演奏を各プレイヤに行わせる。つまり、各ゲーム装置は、リハーサル演奏を行うための1回目の演奏期間(リハーサル演奏期間)と、本番演奏を行うための2回目の演奏期間(本番演奏期間)という、2回の演奏期間を設定する。具体的には、各ゲーム装置は、リハーサル演奏期間中またはリハーサル演奏期間後に、リハーサル演奏の内容を表すデータを他のゲーム装置から取得する。そして、本番演奏期間において、自己パートの音を出力すると共に、取得したデータを用いて他パートの音を出力する。これによって、本番演奏期間において、プレイヤの演奏と他のプレイヤの演奏とを違和感無く出力することができる。
【0073】
図5および図6は、ゲームシステムにおける動作を説明するための図である。図5および図6では、ギター、ベース、およびドラムの3つのパートからなる楽曲を3つのゲーム装置10a〜10cによって合奏する場合を例として説明する。また、図5および図6では、第1ゲーム装置10aにはギターのパートが割り当てられ、第2ゲーム装置10bにはベースのパートが割り当てられ、第3ゲーム装置10cにはドラムのパートが割り当てられるものとする。
【0074】
なお、第1ゲーム装置10aと第2ゲーム装置10bと第3ゲーム装置10cはいずれも合奏ゲームのプログラムを記憶したメモリカードが装着されたゲーム装置であり、当該プログラムを実行することにより(または、装置本体内蔵のプログラムを実行することにより)、所定のサーバ(図1のサーバ1)に対して合奏ゲームの実行を希望するデータを送信し、当該サーバにおいて、合奏ゲームの実行を希望する複数のゲーム装置をグループ化することにより、合奏ゲームをおこなう単位グループとして形成されたものである。なお、合奏ゲームのプログラムを記憶したメモリカードが装着されていないゲーム装置であっても、当該サーバに合奏ゲームの実行を希望することが可能にしてもよく、この場合、合奏ゲームの実行を希望をするデータをサーバに送信し、かつ、合奏ゲームのプログラムの配信を受けるためのプログラムをゲーム装置本体に内蔵し、サーバから当該ゲーム装置にプログラムを配信することにより実現される。
【0075】
また、このようにしてグループ化されたゲーム装置である第1ゲーム装置10aと第2ゲーム装置10bと第3ゲーム装置10cのそれぞれについて、担当するパートを決定する処理が合奏ゲームを開始する前におこなわれる。この処理は、例えば、図10を参照して後述するような方法で実行される。ここで決定されたパートが、リハーサル演奏期間においても本番演奏期間においても参照される。さらに、グループ化されたゲーム装置において、共通の楽曲データを選択する処理が合奏ゲームを開始する前におこなわれる。ここで決定された楽曲が、リハーサル演奏期間においても本番演奏期間においても参照される。
【0076】
図5は、リハーサル演奏期間における各ゲーム装置10a〜10cの動作を示す図である。リハーサル演奏期間において、ゲーム装置10では、各プレイヤによって自己パートの演奏が行われる。このとき、ゲーム装置10は、プレイヤによって行われた演奏内容を示す演奏データを他のゲーム装置へ送信する(図5参照)。ここで、リハーサル演奏の演奏内容を示す演奏データを「リハーサルデータ」と呼ぶ。図5においては、第1ゲーム装置10aにおいて行われた演奏内容を示すリハーサルデータAが第2および第3ゲーム装置10bおよび10cに送信され、第2ゲーム装置10bにおいて行われた演奏内容を示すリハーサルデータBが第1および第3ゲーム装置10aおよび10cに送信され、第3ゲーム装置10cにおいて行われた演奏内容を示すリハーサルデータCが第1および第2ゲーム装置10aおよび10bに送信される。
【0077】
また、リハーサル演奏においては、各ゲーム装置10a〜10cは、それぞれの自己パートの音をそれぞれのプレイヤによる操作に応じて出力しつつ、他パートの音を出力する。ここで、各ゲーム装置では、自己パートに応じて異なる処理が実行される。具体的には、自己パートに対応する演奏操作指示画像が表示され、プレイヤの操作に応じた音を出力するとともに他パートが自動演奏される。例えば、ギターのパートが割り当てられる第1ゲーム装置10aにおいては、ギターの音はプレイヤの操作に応じて出力されるとともに、ベースおよびドラムの音は楽曲データを用いて出力される。したがって、本実施形態においては、リハーサル演奏時には他のプレイヤとの合奏は行われないが、楽曲データを用いて他パートの音が生成されて出力される。したがって、プレイヤは、リハーサル演奏時において、自己パートを他パートに合わせるように演奏を練習することができ、本番演奏に備えることができる。また、他の実施形態においては、楽曲の各パートの音に合わせてBGM(各パート以外の伴奏音や、楽曲とは直接関連しない音を含む)が出力されてもよい。
【0078】
図6は、本番演奏期間における各ゲーム装置10a〜10cの動作を示す図である。本番演奏期間においてもリハーサル演奏期間と同様、各ゲーム装置10a〜10cでは、各プレイヤによって各パートの演奏操作が行われる。つまり、本番演奏期間において、各ゲーム装置10a〜10cは、それぞれの自己パートの音をそれぞれのプレイヤによる操作に応じて出力する。ここで、各ゲーム装置では、自己パートに応じて異なる処理が実行される。具体的には、自己パートに対応する演奏操作指示画像が表示され、プレイヤの操作に応じた音を出力するとともに、他パートの音がリハーサル演奏の際に取得されたリハーサルデータを用いて生成されて出力される。したがって、本番演奏期間において、プレイヤは、自己の演奏と、他のプレイヤによる演奏とをタイミングを合わせて合奏を行うことができる。
【0079】
また、本実施形態においては、必要に応じて、本番演奏期間において、ゲーム装置10は、自己パートについて行われた演奏内容を示す演奏データを他のゲーム装置へ送信する(図6参照)。ここで、本番演奏の演奏内容を示す演奏データを「本番データ」と呼ぶ。図6においては、第1ゲーム装置10aにおいて行われた演奏内容を示す本番データAが第2および第3ゲーム装置10bおよび10cに送信され、第2ゲーム装置10bにおいて行われた演奏内容を示す本番データBが第1および第3ゲーム装置10aおよび10cに送信され、第3ゲーム装置10cにおいて行われた演奏内容を示す本番データCが第1および第2ゲーム装置10aおよび10bに送信される。これによって、ゲーム装置10は、他のゲーム装置の本番演奏における演奏内容を示す本番データを取得することができる。本実施形態では、ゲーム装置10は、本番演奏における演奏結果を評価するための得点を算出する。取得された本番データは、当該得点を算出するために用いられる。
【0080】
以上のように、本実施形態によれば、リハーサル演奏と本番演奏という2回の演奏をプレイヤに行わせる。そして、本番演奏においては、自己パートの音がプレイヤによる操作に応じて出力されるとともに、他パートの音は、すでに取得されているリハーサルデータを用いて生成されて出力される。したがって、本番演奏時において、他のプレイヤによる演奏を自分の演奏に合わせて出力することができる。これによって、全パートの音をタイミングをあわせて合奏を行うことができる。
【0081】
(ゲーム処理の詳細)
次に、本実施形態においてゲーム装置10で実行されるゲーム処理について説明する。まず、図7を参照して、ゲーム処理において用いられる主なデータについて説明する。図7は、ゲーム装置10のRAM24に記憶される主なデータを示す図である。図7に示すように、RAM24には、ゲームプログラム50およびゲーム処理用データ51等が記憶される。なお、RAM24には、図7に示すデータの他、楽曲の演奏音を出力するために必要な音源データやゲームに登場する各種オブジェクトの画像データ等、ゲーム処理に必要なデータが記憶される。
【0082】
ゲームプログラム50は、ゲーム装置10に電源が投入された後の適宜のタイミングでメモリカード17のROM17aからその一部または全部が読み込まれてRAM24に記憶される。ゲームプログラム50は、後述する合奏ゲームのゲーム処理(図8)をCPUコア21が実行するためのプログラムである。
【0083】
ゲーム処理用データ51には、後述するゲーム処理(図8)を実行する際に用いられる各種のデータが含まれる。具体的には、ゲーム処理用データ51は、自機リハーサルデータ52、他機リハーサルデータ53、自機本番データ54、他機本番データ55、楽曲データ56、パートデータ57、グループデータ58、および演奏楽曲指定データ59を含む。自機リハーサルデータ52、他機リハーサルデータ53、自機本番データ54、他機本番データ55、およびパートデータ57は、プログラムの実行により生成されてRAMに記憶されるデータであり、楽曲データ56は、ROM17aに記憶されたものが読み込まれてRAMに記憶されるデータである。なお、ゲーム処理用データには、上記のデータの他、各パート(楽器)について音程毎の音データが含まれる。
【0084】
自機リハーサルデータ52は、自機で生成されたリハーサルデータである。つまり、自機リハーサルデータ52は、自機に割り当てられたパート(自己パート)のリハーサル演奏の内容を示す。本実施形態では、自機リハーサルデータ52は、フレーム時間(1/60[s])間隔で操作スイッチ部14から取得される操作データ(いずれのボタンが操作されたかを示すデータ)と、当該操作データが取得されたフレーム時刻を示すフレーム番号データとを含む。なお、フレーム番号データは、リハーサル演奏開始時点を例えばフレーム番号1としてその後インクリメントするものであり、リハーサル演奏期間中における時点を示すものである。自機リハーサルデータ52には、操作データとフレーム番号データとの組が含まれる。したがって、自機リハーサルデータ52を参照することによって、ゲーム装置10は、演奏期間中におけるどの時点で、どの演奏ボタンが押下されたかを知ることができる。なお、リハーサルデータや後述の本番データは、フレーム番号データを含まない構成であってもよく、例えばフレーム毎の操作データの配列であれば、フレーム番号に代えて当該配列のインデックスによって演奏のタイミングを特定することができる。
【0085】
他機リハーサルデータ53は、他のゲーム装置で生成されたリハーサルデータである。つまり、他機リハーサルデータ53は、他の装置に割り当てられたパート(他パート)のリハーサル演奏の内容を示す。本実施形態では、他機リハーサルデータ53は、自機リハーサルデータ52と同様、操作データとフレーム番号データとを複数組含む。なお、3つ以上のゲーム装置が合奏ゲームをおこなう場合(すなわち、一緒に合奏を行う他のゲーム装置が複数存在する場合)、他機リハーサルデータ53は、他装置毎に記憶される。
【0086】
自機本番データ54は、自機で生成された本番データである。つまり、自機本番データ54は、自機に割り当てられたパート(自己パート)の本番演奏の内容を示す。本実施形態では、自機本番データ54は、自機リハーサルデータ52と同様、操作データとフレーム番号データとを複数組含む。また、他機本番データ55は、他のゲーム装置で生成された本番データである。つまり、他機本番データ55は、他の装置に割り当てられたパート(他パート)の本番演奏の内容を示す。本実施形態では、他機本番データ55は、自機リハーサルデータ52と同様、操作データとフレーム番号データとを複数組含む。なお、3つ以上のゲーム装置が合奏ゲームを行う場合、他機本番データ55は、他装置毎に記憶される。
【0087】
なお、本実施形態においては、各演奏データ52〜55は、演奏期間中における時点を示すデータ(フレーム番号データ)と、当該時点におけるプレイヤによって行われた演奏操作を示すデータ(操作データ)とを含むものであった。ここで、各演奏データ52〜55は、プレイヤによる演奏内容を特定することができ、演奏内容を再現することができる情報であればどのようなものであってもよい。例えば、他の実施形態においては、各演奏データ52〜55は、フレーム番号と、当該フレーム番号に相当する時刻において出力すべき音との対応を示すデータであってもよい。
【0088】
楽曲データ56は、楽曲の演奏出力情報および演奏操作指示情報を含むデータである。具体的には、楽曲データ56には、フレーム番号と、当該フレーム番号に相当する時刻においておこなうべきボタン操作と、当該ボタン操作に応じて出力すべき音との対応を示すデータが、その楽曲を構成するパート毎に含まれている。このデータは、上記演奏出力情報および演奏操作指示情報として用いられる。さらには、プレイヤ操作に応じた音の出力に対するBGMとなる音声ファイルデータも記憶されていてもよい。このデータは、上記演奏出力情報として用いられる。ゲーム装置10は、楽曲データ56を用いて、プレイヤ操作に応じた演奏音を生成したり、自己パート以外のパートについて自動演奏音を生成したり、画面に表示される指示画像の配置を決定したりする。なお、自己パート以外のパートについての自動演奏は、パートごとに音声ファイルデータを用意してそれを再生するようにしてもよいし、演奏操作指示情報に基づいてプログラム処理により音を出力するようにしてもよい。
【0089】
また、ゲーム装置10は、複数の楽曲について楽曲データを記憶していてもよい。また、各ゲーム装置が利用可能な不揮発メモリ(たとえばRAM17bなど)に楽曲データ記憶領域を形成し、所定のサーバ(複数の楽曲データを記憶する)からダウンロードした楽曲データを当該楽曲データ記憶領域に記憶可能にしてもよい。さらに、各ゲーム装置におけるプレイヤ入力に基いて楽曲データを生成し、当該生成されたデータを当該楽曲データ記憶領域に記憶するようにしてもよい。上記の場合、ゲームシステムに含まれる各ゲーム装置が記憶している楽曲データは、それぞれ異なる楽曲の楽曲データが記憶される可能性があることとなる。
【0090】
パートデータ57は、合奏を行う際における、ゲーム装置とそれに割り当てられるパートとの対応を示すデータである。より具体的には、パートデータ57は、ゲーム装置の識別情報とパートの識別情報とを対応付けたデータである。さらに、本実施形態では、パートデータ57は、ゲーム装置と当該ゲーム装置において設定されている難易度との対応を示す。
【0091】
ここで、難易度について説明する。本実施形態では、演奏操作の難易度が複数種類あり、プレイヤは、難易度を選択可能である。難易度はレベル1〜3の3種類であり、演奏ボタンとして用いるボタンの数が難易度に応じて異なる。難易度が最も高いレベル3では、上記10種類の演奏ボタンが用いられ、図4を用いて説明した演奏操作が採用される。また、難易度が中程度のレベル2では、上記10種類の演奏ボタンのうちLボタンおよびRボタンを除く8種類の演奏ボタンが用いられる。レベル2では、レベル3と同様に8種類の演奏ボタン毎に異なる音程の音が出力される。ただし、LボタンおよびRボタンが用いられないので、半音やオクターブの調整は自動的に行われる。なお、レベル2の場合に表示されるゲーム画像では、8種類の演奏ボタンを表す操作指示画像がゲージ上に表示される。また、難易度が最も低いレベル1では、任意の1種類の演奏ボタンのみが用いられる。レベル1では、出力される音の音程およびオクターブは自動的に決定される。なお、レベル1の場合に表示されるゲーム画像では、1種類の演奏ボタンを表す操作指示画像のみがゲージ上に表示される。なお、他の実施例においては、難易度は3段階でなくともよく、例えば2種類の演奏ボタンを用いる、やや難易度の低いレベルを含んだ4段階にしてもよい。
【0092】
グループデータ58は、自機と同じグループに属する他のゲーム装置の識別情報を示す。また、演奏楽曲指定データ59は、リハーサル演奏時および本番演奏時に各プレイヤによって演奏される楽曲(演奏楽曲)を識別するためのデータである。
【0093】
次に、ゲーム装置10において行われるゲーム処理の詳細を、図8〜図14を用いて説明する。図8は、ゲーム装置10において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10のCPUコア21は、図示しないブートROMに記憶されている起動プログラムを実行し、RAM24等の各ユニットが初期化される。そして、メモリカード17に格納されたゲームプログラムがRAM24に読み込まれ、CPUコア21によって当該ゲームプログラムの実行が開始される。図8に示すフローチャートは、以上の処理が完了した後に実行されるゲーム処理を示すフローチャートである。
【0094】
図8に示すステップS1において、CPUコア21は、サーバ1に対して接続処理を行う。前述したように、サーバ1は、マッチング処理、すなわち、一緒に合奏ゲームを行うゲーム装置のグループを決定する処理を実行する。つまり、ステップS1の処理は、ゲーム装置10がサーバ1に対してマッチング処理を実行することを要求する処理である。具体的には、CPUコア21は、自機を識別するため情報(例えばIPアドレス)を含むマッチング要求データをワイヤレス通信部37を介してサーバ1へ送信する。サーバ1は、マッチング要求データを受信したことに応じて、同じくマッチング要求データを送信してきた他のゲーム装置のうちから、ゲーム装置10と一緒に合奏ゲームを行うゲーム装置を接続相手として選出する。なお、メモリカード17に格納されたゲームプログラムを識別するための情報(ゲームプログラムID)をマッチング要求データに含めて、サーバに送信してもよく、この場合、サーバ1は、同じゲームプログラムIDを含むマッチング要求データを送信してきた他のゲーム装置を、ゲーム装置10の接続相手として選出する。なお、ゲームプログラムIDはゲームプログラムとともにメモリカード17に記憶される。
【0095】
本実施形態においては、ゲーム装置10は、所定範囲内の数を示す番号データをマッチング要求データに含めて送信することができる。この番号データの数は、プレイヤによって指定される。サーバ1は、番号データを含むマッチング要求データを受信した場合、同じ数の番号データを含むマッチング要求データを送信してきた他のゲーム装置を、ゲーム装置10の接続相手として選出する。上記番号データは、例えば知人同士で一緒に合奏ゲームを行いたい場合に有効である。すなわち、送信する番号データの数を知人と予め決めておくことによって、サーバ1は知人同士のゲーム装置をマッチングするので、知人同士で一緒に合奏ゲームを行うことができる。
【0096】
なお、マッチングの方法は、上記番号データを用いた方法に限らず、何らかの条件を示すデータをマッチング要求データに含ませて送信する方法であってもよいし、サーバ1がランダムにゲーム装置を選出する方法であってもよい。前者の場合、例えば、ゲームの習熟度を表すデータをマッチング要求データに含ませて送信し、習熟度が同じレベルのゲーム装置同士をマッチングする方法が考えられる。
【0097】
サーバ1は、予め定められた上限数の接続相手を選出した場合、または、上記上限数よりも小さい所定数の接続相手を選出してから所定時間が経過した場合、マッチング処理を終了する。これによって、ゲーム装置10と、選出された接続相手のゲーム装置とからなるグループが形成されたこととなる。なお、合奏ゲームの場合、上記上限数は、楽曲を構成するパートの数とすることが好ましい。また、上記所定数および所定時間は、ゲーム装置10によって設定されるようにしてもよい。サーバ1は、マッチング処理を終了すると、上記グループ内の各ゲーム装置へ接続相手のゲーム装置を識別するデータを送信する。また、本実施形態では、サーバ1は、上記データを送信する際、グループ内の1つのゲーム装置をリーダーとして選出し、選出されたゲーム装置にリーダーであることを通知する。
【0098】
ステップS2においては、CPUコア21は、接続相手の識別情報を示すデータをサーバ1から受信しグループデータ58としてRAM24に登録する(記憶する)。これによって、ゲーム装置10は、グループに含まれる他のゲーム装置との通信が可能となる。以降においては、サーバ1を介さずに、グループに含まれる各ゲーム装置同士で直接通信が行われる。なお、本実施形態では、ゲームシステムに含まれる複数のゲーム装置を、サーバ1を用いて決定するようにしたが、ゲームシステムに含まれる複数のゲーム装置の決定方法は、どのような方法であってもよく、サーバ1を用いない方法であってもよい。また、マッチング後もサーバ1を介して通信するようにしてもかまわない。ステップS2の後、ステップS3の処理が実行される。
【0099】
なお、ステップS1およびS2の処理は、メモリカード17に格納されたゲームプログラムの実行によらず、ゲーム装置10に内蔵されたプログラムによって実行してもかまわない。そのようにすれば、メモリカード17を所持しないプレイヤであっても合奏ゲームに参加することが可能になる。なお、この場合、そのゲーム装置に対して、サーバまたは他のゲーム装置(典型的にはマッチングされたゲーム装置)からゲームプログラムが配信されてそれが実行される。
【0100】
ステップS3において、楽曲決定処理が実行される。楽曲決定処理は、合奏ゲームにおいて演奏を行う楽曲を決定するための処理である。以下、図9を参照して、楽曲決定処理の詳細を説明する。
【0101】
図9は、図8に示す楽曲決定処理(ステップS3)の詳細を示すフローチャートである。楽曲決定処理においては、まずステップS10において、CPUコア21は、自機がリーダーに設定されているか否かを判定する。ステップS10の判定結果が肯定である場合、ステップS11の処理が実行され、ステップS10の判定結果が否定である場合、ステップS13の処理が実行される。
【0102】
リーダーのゲーム装置では、ステップS11の処理が実行される。すなわち、ステップS11において、CPUコア21は、2回の演奏期間において演奏を行う楽曲を決定する。楽曲の決定は、RAM24に楽曲データ56が記憶されている楽曲のうちから、所望の楽曲をゲーム装置10のプレイヤが指定することによって行われる。その結果、決定された楽曲を識別するためのデータが演奏楽曲指定データ59としてRAM24に登録される。つまり、本実施形態では、リーダーであるゲーム装置を用いるプレイヤが、演奏する楽曲を決定することができる。なお、他の実施形態においては、RAM24に楽曲データ56が記憶されている楽曲のうちからランダムに楽曲が決定されてもよい。以下では、ステップS11で決定された楽曲を演奏楽曲と呼ぶ。
【0103】
続くステップS12において、CPUコア21は、上記演奏楽曲を他のゲーム装置へ通知する。具体的には、当該演奏楽曲を示すデータ(演奏楽曲指定データ59)がワイヤレス通信部37からネットワークを介して他のゲーム装置へ送信される。リーダーに設定されているゲーム装置においては、ステップS12の後、後述するステップS17の処理が実行される。
【0104】
一方、リーダーでないゲーム装置においては、ステップS13の処理が実行される。すなわち、ステップS13において、CPUコア21は、決定された演奏楽曲の通知(ステップS12)をワイヤレス通信部37によって受信する。具体的には、リーダーのゲーム装置から演奏楽曲指定データ59を受信してRAM24に登録する。これによって、リーダーでないゲーム装置は、演奏楽曲を知ることができる。
【0105】
続くステップS14において、CPUコア21は、演奏楽曲の楽曲データが自機のRAM24に記憶されているか否かを判定する。なお、本実施形態においては、ゲーム装置10は、プレイヤによって作成された楽曲データを新たに記憶したり、新たな楽曲データを他の装置から取得することが可能であるとする。したがって、各ゲーム装置において記憶されている楽曲データは必ずしも一致せず、あるゲーム装置において記憶されている楽曲データが他のゲーム装置では記憶されていないこともあり得る。ステップS14の判定結果が肯定である場合、ステップS15の処理が実行され、ステップS14の判定結果が否定である場合、ステップS16の処理が実行される。
【0106】
ステップS15において、CPUコア21は、楽曲データの送信が不要である旨をリーダーのゲーム装置に対して通知する。一方、ステップS16において、CPUコア21は、楽曲データの送信を要求する。つまり、リーダーでないゲーム装置は、演奏楽曲の楽曲データを記憶していない場合にはワイヤレス通信部37を用いて当該楽曲データの送信を要求し、当該楽曲データを記憶している場合には送信不要の旨をワイヤレス通信部37を用いて通知する。ステップS15の後、CPUコア21は図9に示す楽曲決定処理を終了する。また、ステップS16の後、CPUコア21は後述するステップS19の処理を実行する。
【0107】
一方、リーダーのゲーム装置においては、ステップS12の後にステップS17の処理が実行される。すなわち、ステップS17において、CPUコア21は、他の全てのゲーム装置が演奏楽曲の楽曲データを記憶しているか否かを判定する。ステップS17の判定は、上記ステップS15またはS16で他のゲーム装置から送信されてくる内容に基づいて行うことができる。すなわち、少なくとも1つの他のゲーム装置から楽曲データの送信の要求があった場合、ステップS17の判定結果は否定と判断される。一方、全ての他のゲーム装置から楽曲データの送信不要の通知があった場合、ステップS17の判定結果は肯定と判断される。ステップS17の判定結果が否定である場合、ステップS18の処理が実行される。一方、ステップS17の判定結果が肯定である場合、ステップS18の処理がスキップされて、CPUコア21は図9に示す楽曲決定処理を終了する。
【0108】
ステップS18において、CPUコア21は、演奏楽曲の楽曲データを、楽曲データの送信を要求した他のゲーム装置、すなわち、演奏楽曲の楽曲データを記憶していない他のゲーム装置へワイヤレス通信部37を用いて送信する。
【0109】
一方、リーダーでないゲーム装置においては、ステップS16の次にステップS19の処理が実行される。ステップS19においては、CPUコア21は、リーダーのゲーム装置からステップS18で送信される楽曲データをワイヤレス通信部37によって受信する。これによって、リーダーでないゲーム装置のプレイヤは、自己が知らない楽曲(ゲーム装置に楽曲データが記憶されていない楽曲)についても合奏を行うことができるとともに、自機で演奏可能な楽曲の数を増やすことができる。ステップS19の後、CPUコア21は、図9に示す楽曲決定処理を終了する。
【0110】
図8の説明に戻り、ステップS3の次のステップS4において、パート決定処理が実行される。パート決定処理は、ステップS3で決定された演奏楽曲を構成する各パートのうち、グループ内の各ゲーム装置においてそれぞれどのパートを演奏するかを決定する処理である。以下、図10を参照して、パート決定処理の詳細を説明する。
【0111】
図10は、図8に示すパート決定処理(ステップS4)の詳細を示すフローチャートである。パート決定処理においては、まずステップS21において、CPUコア21は、グループ内の全てのゲーム装置がパートを決定したか否かを判定する。ステップS21の判定は、RAM24に記憶されているパートデータ57を参照することによって行われる。すなわち、当該パートデータ57が、全てのゲーム装置についてゲーム装置とパートとの対応を示すデータである場合、全てのゲーム装置がパートを決定したと判定される。ステップS21の判定結果が肯定である場合、CPUコア21は、図10に示すパート決定処理を終了する。一方、ステップS21の判定結果が否定である場合、ステップS22の処理が実行される。
【0112】
ステップS22において、CPUコア21は、演奏楽曲の各パートのうちで、自機のプレイヤが選択可能なパートを第1のLCD11または第2のLCD12に表示させる。なお、本実施形態では、複数のゲーム装置に対して同じパートが割り当てられないものとする。つまり、ステップS22では、他のゲーム装置がすでに選択したパートは除外され、残りのパートのみが選択可能なように表示される。具体的には、RAM24に記憶されているパートデータ57にゲーム装置とパートとの対応が含まれている場合、当該パートは除外される。表示の様態としては、残りパートのみを表示してもよいし、残りパートと既に選択されたパートとの色を変える等して区別して表示するようにしてもよい。また、既に選択されたパートと同じパートを選択できるようにしてもよい。
【0113】
続くステップS23において、CPUコア21は、選択されたパートを示すデータ(選択パートデータ)をワイヤレス通信部37によって他のゲーム装置から受信したか否かを判定する。ここで、他のゲーム装置においてパートが選択された場合には、当該他のゲーム装置から、選択パートデータが送信されてくる。ステップS23において、CPUコア21は、当該選択パートデータが送信されてきたか否かを判定する。ステップS23の判定結果が肯定である場合、ステップS24の処理が実行され、ステップS23の判定結果が否定である場合、ステップS25の処理が実行される。
【0114】
ステップS24において、CPUコア21は、他のゲーム装置において選択されたパートを当該他のゲーム装置に割り当てる。つまり、ステップS23で選択パートデータを送信してきたゲーム装置に対して、当該選択パートデータにより示されるパートが割り当てられる。なお、本実施形態では、難易度を示すデータ(難易度データ)が選択パートデータとともに送信される。したがって、CPUコア21は、ステップS23で選択パートデータを送信してきたゲーム装置と、当該選択パートデータにより示されるパートと、当該選択パートデータとともに送信された難易度データにより示される難易度との対応を含むように、RAM24に記憶されているパートデータ57の内容を更新する。ステップS24の後、ステップS21の処理が再度実行される。
【0115】
一方、ステップS25において、CPUコア21は、自機においてパートが選択されたか否かを判定する。具体的には、操作スイッチ部14およびタッチパネル15に対して行われた入力に基づいて、ステップS22で表示されているパートのうちから1つを選択する操作が行われたか否かを判定する。ステップS25の判定結果が肯定である場合、ステップS26の処理が実行され、ステップS25の判定結果が否定である場合、ステップS21の処理が再度実行される。
【0116】
ステップS26において、CPUコア21は、ステップS25において選択されたパートを自機に割り当てる。このとき、CPUコア21は、ゲーム操作の難易度を指示する操作をプレイヤから受け付け、プレイヤの指示に従って難易度を決定する。そして、自機と、ステップS25において選択されたパートと、決定された難易度との対応を含むように、RAM24に記憶されているパートデータ57の内容を更新する。
【0117】
続くステップS27において、CPUコア21は、ステップS26で選択されたパートを示す選択パートデータを、グループデータ58を参照して、グループに含まれる全ての他のゲーム装置へ送信する。また、選択パートデータとともに、ステップS26で決定された難易度を示す難易度データと、自機を識別するためのデータとが他のゲーム装置へ送信される。ステップS27の後、ステップS21の処理が再度実行される。
【0118】
以上のステップS21〜S27で説明したように、本実施形態では、グループに含まれる各ゲーム装置のプレイヤが早い者順でパートを選択することによって、各ゲーム装置に割り当てられるパートが決定される。なお、他の実施形態においては、各ゲーム装置に割り当てられるパートはランダムに決定されてもよいし、パートを選択するプレイヤの順序をランダムに決定するようにしてもよい。
【0119】
図8の説明に戻り、ステップS4の次のステップS5において、リハーサル演奏処理が実行される。リハーサル演奏処理は、第1回目の演奏(リハーサル演奏)をプレイヤに行わせる処理である。以下、図11を参照してリハーサル演奏処理の詳細を説明する。
【0120】
図11は、図8に示すリハーサル演奏処理(ステップS5)の詳細を示すフローチャートである。リハーサル演奏処理においては、まずステップS31において、CPUコア21は開始タイミング決定処理を実行する。開始タイミング決定処理は、演奏期間を開始するタイミングを決定する処理である。なお、演奏期間とは、プレイヤが演奏を行うことが可能な期間であり、換言すれば、ゲーム装置がプレイヤによる演奏操作を受け付ける期間である。以下、図12を参照して開始タイミング決定処理の詳細を説明する。
【0121】
図12は、図11に示す開始タイミング決定処理(ステップS31)の詳細を示すフローチャートである。開始タイミング決定処理においては、まずステップS51において、CPUコア21は、自機がリーダーに設定されているか否かを判定する。ステップS51の判定結果が肯定である場合、ステップS52の処理が実行され、ステップS51の判定結果が否定である場合、ステップS54の処理が実行される。
【0122】
リーダーのゲーム装置においては、ステップS52およびS53の処理が実行される。すなわち、ステップS52において、CPUコア21は、リハーサル演奏期間を開始するタイミングを決定し、当該タイミングを示すデータを他のゲーム装置へ送信する。当該データは、例えば、リハーサル演奏期間を開始するまでの残り時間を示すデータであってもよいし、リハーサル演奏期間を開始する時刻を示すデータであってもよいし、リハーサル演奏を即時に開始することを指示するデータであってもよい。また、他のゲーム装置へ通知されるタイミングは、リーダーのゲーム装置から他のゲーム装置へデータを送信した場合の遅延時間を考慮して決定されてもよい。このとき、リーダーのゲーム装置は、算出された遅延時間を考慮してグループ内の各ゲーム装置間でほぼ同じタイミングになるように、他のゲーム装置へそれぞれ異なる内容のデータを送信してもよい。
【0123】
続くステップS53において、CPUコア21は、ステップS52で決定されたタイミングに従ってリハーサル演奏を開始する。すなわち、後述するステップS32〜S41(図11)の処理ループを開始する。ステップS53の後、CPUコア21は、図12に示す開始タイミング決定処理を終了する。
【0124】
一方、リーダーでないゲーム装置においては、ステップS54およびS55の処理が実行される。すなわち、ステップS54において、CPUコア21は、リハーサル演奏期間を開始するタイミングを示すデータをリーダーのゲーム装置から受信する。続くステップS55において、CPUコア21は、ステップS54で受信したデータにより示される開始タイミングに従ってリハーサル演奏を開始する。ステップS54の後、CPUコア21は、図12に示す開始タイミング決定処理を終了する。
【0125】
以上に説明した開始タイミング決定処理によって、演奏期間を開始するタイミングがグループ内の各ゲーム装置間で同期することとなる。すなわち、各ゲーム装置は、ほぼ同じタイミングでリハーサル演奏を開始し、ほぼ同じタイミングでリハーサル演奏を終了する。これによって、他のゲーム装置においてリハーサル演奏が終了していないことが原因で自機において本番演奏を開始できなくなることを防止することができる。つまり、リハーサル演奏を終了したプレイヤは、他のプレイヤのリハーサル演奏の終了を長時間待つことなく本番演奏を開始することができる。なお、開始タイミング決定処理は、プレイヤが本番演奏の開始を待つ時間を低減することを目的として行われる。そのため、各ゲーム装置における開始タイミングは厳密に同時である必要はなく、例えば各ゲーム装置における開始タイミングに数秒程度のずれが生じていてもよい。
【0126】
図11の説明に戻り、ステップS31の開始タイミング決定処理の次に、ステップS32〜S41の処理ループが実行される。なお、この処理ループは、1回の処理ループが1フレーム時間毎に実行される。
【0127】
ステップS32において、CPUコア21は、自機の演奏ボタンに対して行われた演奏操作を示す操作データを操作スイッチ部14から取得する。当該操作データは、各演奏ボタンが押下されたか否かを示すデータを含む。
【0128】
続くステップS33において、CPUコア21は、ステップS32で取得された操作データに対して、自機に設定されている難易度に応じた所定の変換を行う。具体的には、難易度がレベル1またはレベル2に設定されている場合、操作データは、難易度がレベル3である場合に対応する内容に変換される。より具体的には、操作データにより押下されたことが示される演奏ボタンの種類が、楽曲データ56に基づいて変更される。難易度がレベル1に設定されている場合、操作データがいずれかの演奏ボタンが押下されていることを示していれば、当該操作データは、現在のタイミングで押下すべき正しい演奏ボタンが押下されていることを示す内容に変更される。ここで、押下すべき正しい演奏ボタンは、楽曲データ56を参照することによって特定することができる。また、難易度がレベル2に設定されている場合、LボタンやRボタンとあるボタン(十字キーなど)とを同時に押下すべきタイミングにおいて、操作データが当該あるボタンが押下されていることを示していれば、当該操作データは、当該あるボタンとLボタンやRボタンが同時に押下されていることを示す内容に変更される。なお、LボタンやRボタンを押下すべきタイミングであるか否かは、楽曲データ56を参照することによって決定することができる。すなわち、ステップS33において、CPUコア21は、自己において低難易度が設定されているときに、ステップS32で取得された操作データと楽曲データに含まれる演奏操作指示データとを比較し、少なくとも両者のタイミングが許容範囲であることを判断して、ステップS32で取得された操作データを楽曲データで定める演奏操作指示データに変換する。さらには、当該判断において、ステップS32で取得された操作データと楽曲データで定める演奏操作指示データとの操作種類(例えば押下されたボタンの種類)が所定関係にあることをさらに判断してもよい。また、当該所定関係の判断は、難易度に応じて変更してもよい。すなわち、難易度が高いほど、両者の操作種類の一致を要求し、難易度が低いほど、両者の操作種類の相違を許容するようにしてもよい。
【0129】
なお、リハーサルデータとして、操作データではなく、操作の正誤データ(各ゲーム装置において、操作データと演奏操作指示データを比較して、正しい操作が行なわれたか否かを示すデータ)を他機に送信するようにしてもよい。そして、当該他機では、受信したリハーサルデータ(操作の正誤データ)を演奏操作指示データに基づいて正しい操作データに変換するようにしてもかまわない。
【0130】
なお、難易度がレベル1およびレベル2のいずれに設定されている場合も、操作データがいずれの演奏ボタンも押下されていないことを示している場合には、当該操作データは変更されない。
【0131】
続くステップS34において、CPUコア21は、ステップS33の処理後の操作データを用いて自機リハーサルデータを生成し、グループデータ58に登録された他のゲーム装置へワイヤレス通信部37を介して送信する。自機リハーサルデータは、ステップS33の処理後の操作データと、当該操作データが取得されたフレーム時刻を示すフレーム番号データと、自機を識別するデータとを含む。フレーム番号データは、例えば、リハーサル演奏期間が開始された時点で取得されたフレーム番号を“1”として、1フレーム毎に1ずつインクリメントされた番号を示す。ステップS34の処理が1フレーム毎に実行されることによって、各ゲーム装置から他のゲーム装置へ、1フレーム毎にリハーサルデータが逐次送信されることとなる。なお、ゲーム装置から他のゲーム装置へ送信される演奏データが確実に送信先のゲーム装置で受信されるように、当該送信先のゲーム装置は、演奏データを受信したことを確認する通知を送信元のゲーム装置に返信するようにしてもよい。このとき、送信元のゲーム装置は、演奏データを送信してから所定時間内に返信がない場合、当該演奏データを再送信するようにしてもよい。また、上記のように生成された自機リハーサルデータ52はRAM24に記憶される。
【0132】
なお、本実施形態においては、ゲーム装置10は、自機リハーサルデータをリハーサル演奏期間中において逐次送信するようにしたが、他の実施形態においては、ゲーム装置は、リハーサル演奏期間中において自機リハーサルデータをRAM24に逐次記憶しておくようにしてもよい。そして、ゲーム装置は、リハーサル演奏期間が終了した後(かつ、本番演奏期間が開始する前)で、RAM24に記憶されている自機リハーサルデータをまとめて他のゲーム装置へ送信するようにしてもよい。
【0133】
続くステップS35において、CPUコア21は、グループデータ58に登録された他のゲーム装置から送信されてくるリハーサルデータ(他機リハーサルデータ)をワイヤレス通信部37によって受信する。なお、各ゲーム装置間の通信状況は常に一定ではないので、あるフレームにおけるステップS32〜S41の処理ループにおいては、他機リハーサルデータが受信されず、他の処理ループで複数回データを受信されることもある。
【0134】
続くステップS36において、CPUコア21は、ステップS35における処理後のリハーサルデータを他機リハーサルデータ53としてゲーム装置毎にRAM24に記憶する。RAM24に記憶された他機リハーサルデータ53は、後述する本番演奏時に他パートの演奏音を生成するために用いられる。
【0135】
ステップS36の後、ステップS37〜S39において、自己パートおよび他パートの演奏音が生成されて出力される。すなわち、ステップS37において、CPUコア21は、ステップS33の処理後の操作データを用いて自己パートの演奏音を生成する。すなわち、現在のフレームにおいてプレイヤによって押下された演奏ボタンを上記操作データに基づいて判別し、押下された演奏ボタンの種類と自機に設定されている難易度とに基づいて、出力すべき音の音程を決定する。より具体的には、パートデータ57を参照して当自己パートを判断し、当該自己パートに対応する音データが使用される。すなわち、例えば、自己パートがギターである場合には、ギターの音データが使用され、自己パートがピアノである場合には、ピアノの音データが使用される。なお、楽曲ごと(または楽曲の部分ごと)に各パートの音を変更したり、楽曲ごと(または楽曲の部分ごと)にボタン操作に対して出力する音を変更する場合には、演奏楽曲指定データ59で指定される楽曲の楽曲データに含まれる自己パートに対応する音データが使用される。また、プレイヤ操作が正しい操作であるときのみ対応する音を出力する場合には、すなわち、プレイヤが演奏操作指示に基く正しいタイミングで(かつ正しいボタン操作で)操作したときにのみ対応する音を出力する場合には、当該操作データが正しいタイミングか(かつ正しいボタン操作か)を、演奏楽曲指定データ59で指定される楽曲の楽曲データに含まれる自己パートについての演奏操作指示データに基づいて判断して、当該判断が肯定のときのみ対応する音を出力する。
【0136】
続くステップS38において、CPUコア21は、楽曲データ56を用いて他パートの演奏音を生成する。具体的には、楽曲データ56を参照して、現在のフレームのタイミングで出力すべき音を特定し、特定された音を他パートの演奏音とする。これによって、ステップS37で生成された自己パートの音とステップS38で生成された他パートの音との同期をとることができる。
【0137】
続くステップS39において、CPUコア21は、ステップS37で生成された自己パートの演奏音と、ステップS38で生成された他パートの演奏音とを各スピーカ30aおよび30bから出力させる。すなわち、プレイヤによる演奏操作に応じて自己パートの演奏音が出力しつつ、楽曲データ56を用いて生成された他パートの演奏音を出力する。以上のステップS37〜S39によって、演奏楽曲の各パートの演奏音が合奏として出力されることとなる。なお、ステップS39において、楽曲データに含まれるBGMの音声ファイルデータに基いて、楽曲のBGMとなる演奏音を出力し、自己パートの演奏音と他パートの演奏音とBGMの演奏音とを合成して出力するようにしてもよい。
【0138】
続くステップS40において、CPUコア21は、演奏楽曲指定データ59で指定される楽曲データを参照して、パートデータ57に登録された自己パートの演奏操作指示を表すゲーム画像(図4)を第1のLCD11または第2のLCD12に表示させる。ゲーム画像は、楽曲データ56に基づいて生成することができる。
【0139】
ステップS41において、CPUコア21は、リハーサル演奏期間が終了したか否かを判定する。演奏期間の長さは演奏楽曲の長さによって決まるので、ステップS41の判定は、楽曲データ56を参照して演奏楽曲の長さを用いて行うことができる。ステップS41の判定結果が肯定である場合、ステップS43の処理が実行される。一方、ステップS41の判定結果が否定である場合、ステップS32の処理が再度実行され、以降、リハーサル演奏期間が終了するまでステップS32〜S41の処理ループが繰り返し実行される。
【0140】
上述したようにゲーム装置間の通信には遅延が生じるので、リハーサル演奏期間が終了しても、他のゲーム装置から送信されたリハーサルデータをゲーム装置が全て受信しているとは限らない。そこで、本実施形態では、ゲーム装置は、ステップS42〜S45の処理によって、リハーサル演奏期間の終了時に受信されていないリハーサルデータを受信する。
【0141】
ステップS42において、CPUコア21は、他機リハーサルデータを全て受信したか否かを判定する。なお、「他機リハーサルデータを全て受信した」とは、グループ内の他の全てのゲーム装置からそれぞれ、演奏期間の全部についてリハーサルデータを受信したことを意味する。ステップS42の判定は、RAM24に記憶されている他機リハーサルデータを参照することによって行うことができる。ステップS42の判定結果が肯定である場合、CPUコア21は、図11に示すリハーサル演奏処理を終了する。一方、ステップS42の判定結果が否定である場合、ステップS43の処理が実行される。
【0142】
ステップS43において、CPUコア21は、ステップS34と同様の処理によって、他機リハーサルデータを受信する。続くステップS44において、CPUコア21は、ステップS35と同様の処理によって、ステップS43において受信したリハーサルデータを他機リハーサルデータ53としてRAM24に記憶する。ステップS44の次にステップS45の処理が実行される。
【0143】
ステップS45において、CPUコア21は、リハーサル演奏処理が終了してから所定時間が経過したか否かを判定する。なお、この所定時間をあまり長く設定すると、リハーサル演奏期間が終了されてから本番演奏期間が開始されるまでの時間が長くなってしまい、プレイヤの待ち時間が長くなってしまう。したがって、所定時間は、ゲーム装置から他のゲーム装置へ1つのリハーサルデータを送信するのに十分な時間に設定されればよく、それ以上に長く設定する必要はない。ステップS45の判定結果が肯定である場合、CPUコア21は、図11に示すリハーサル演奏処理を終了する。一方、ステップS45の判定結果が否定である場合、ステップS42の処理が再度実行される。以上で、図11に示すリハーサル演奏処理の説明を終了する。
【0144】
図8の説明に戻り、ステップS5の次のステップS6において、本番演奏処理が実行される。本番演奏処理は、第1回目のリハーサル演奏に続いて、第2回目の本番演奏をプレイヤに行わせる処理である。以下、図13を参照して本番演奏処理の詳細を説明する。
【0145】
図13は、図8に示す本番演奏処理(ステップS6)の詳細を示すフローチャートである。本番演奏処理においては、まずステップS61において、CPUコア21は開始タイミング決定処理を実行する。この開始タイミング決定処理は、上記ステップS31の処理(図12参照)と同じ処理である。
【0146】
ステップS61の開始タイミング決定処理によって、グループ内の各ゲーム装置は、ほぼ同じタイミングで本番演奏を開始し、ほぼ同じタイミングで本番演奏を終了することになる。ここで、本実施形態では、本番演奏の終了後に各ゲーム装置における演奏内容を反映して得点が算出される(後述するステップS75)。したがって、ステップS61の処理によって各ゲーム装置でほぼ同じタイミングで本番演奏が終了するので、ゲーム装置は、自機における本番演奏の終了後、他のゲーム装置における本番演奏の終了を長時間待つことなく、得点を算出することができる。つまり、各プレイヤは、本番演奏が終了した後、長時間待つことなく、演奏内容の評価(得点)を見ることができる。なお、上記ステップS31の場合と同様、各ゲーム装置における開始タイミングは厳密に同時である必要はなく、例えば各ゲーム装置における開始タイミングに数秒程度のずれが生じていてもよい。
【0147】
ステップS61の次に、ステップS62〜S71の処理ループが実行される。なお、この処理ループは、1回の処理ループが1フレーム時間毎に実行される。
【0148】
ステップS62において、CPUコア21は、自己の演奏ボタンに対して行われた演奏操作を示す操作データを操作スイッチ部14から取得する。続くステップS63において、ステップS62で取得された操作データに対して、自機に設定されている難易度に応じた所定の変換を行う。ステップS62およびS63の処理は上述のステップS32およびS33と同じである。続くステップS64において、CPUコア21は、ステップS63の処理後の操作データを用いて自機本番データを生成し、自機本番データを他のゲーム装置へワイヤレス通信部37を介して送信する。自機本番データの生成方法は、上記ステップS34における自機リハーサルデータの生成方法と同じである。生成された自機本番データ54はRAM24に記憶される。
【0149】
続くステップS65において、CPUコア21は、他のゲーム装置から送信されてくる本番データ(他機本番データ)をワイヤレス通信部37によって受信する。なお、上述したリハーサル演奏処理の場合と同様、あるフレームにおけるステップS62〜S71の処理ループにおいては、他機本番データが受信されないこともある。続くステップS66において、CPUコア21は、ステップS65において受信された本番データを他機本番データ55としてRAM24に記憶する。RAM24に記憶された他機本番データ55は、後述するステップS76において得点を算出するために用いられる。
【0150】
続くステップS67において、CPUコア21は、ステップS63の処理後の操作データを用いて自己パートの演奏音を生成する。ステップS67の処理は、ステップS37の処理と同じである。
【0151】
続くステップS68において、他パート音生成処理が実行される。他パート音生成処理は、本番演奏時に出力する他パート音を他機リハーサルデータ53を用いて生成する処理である。以下、図14を参照して他パート音生成処理の詳細を説明する。
【0152】
図14は、図13に示す他パート音生成処理(ステップS68)の詳細を示すフローチャートである。この他パート音生成処理は、グループデータ58に登録されたゲーム装置のそれぞれについて処理が実行される。他パート音生成処理においては、まずステップS81において、CPUコア21は、グループ内の他のゲーム装置の1つを選択する。なお、1回の他パート音生成処理の間にすでに選択されたゲーム装置以外のゲーム装置が選択される。ステップS82〜S84の処理においては、ステップS81で選択されたゲーム装置に対応するパートの音が生成される。
【0153】
ステップS82において、CPUコア21は、現在のフレームに相当する他機リハーサルデータ(ステップS81で選択されたゲーム装置から送信されてきたリハーサルデータ)がRAM24に記憶されているか否かを判定する。ここで、リハーサル演奏中において、例えば他のゲーム装置において演奏ゲームが中止されたり、他のゲーム装置の電源が切られたりした場合等、当該他のゲーム装置との通信が中断された場合には、当該他のゲーム装置からのリハーサルデータが受信されなくなる。その結果、当該他のゲーム装置については全演奏部分のリハーサルデータがRAM24に記憶されない。したがって、他のゲーム装置との通信が中断された場合には、ステップS82の判定結果が否定となり、ステップS84の処理が実行される。一方、他のゲーム装置との通信が正常に行われた場合には、ステップS82の判定結果が肯定となり、ステップS83の処理が実行される。
【0154】
ステップS83において、CPUコア21は、他機リハーサルデータを用いて、ステップS81で選択された他のゲーム装置に対応する他パートの演奏音を生成する。他機リハーサルデータは、上述したリハーサル演奏処理のステップS36でRAM24に記憶されている。他機リハーサルデータを用いて他パートの演奏音を生成する方法は、自機の操作データを用いて自己パートの演奏音を生成する方法と同様である。ただし、あるゲーム装置から受信した他機リハーサルデータを用いて他パートの演奏音を生成する場合、パートデータ57を参照して、当該あるゲーム装置のパートを判断し、当該他機リハーサルデータに基づく音出力は、当該パートに対応する音データが使用される。すなわち、例えば、当該あるゲーム装置のパートがギターである場合には、ギターの音データが使用され、当該あるゲーム装置のパートがピアノである場合には、ピアノの音データが使用される。なお、楽曲ごと(または楽曲の部分ごと)に各パートの音を変更したり、楽曲ごと(または楽曲の部分ごと)にボタン操作に対して出力する音を変更する場合には、演奏楽曲指定データ59で指定される楽曲の楽曲データに含まれる当該あるゲーム装置のパートに対応する音データが使用される。また、プレイヤ操作が正しい操作であるときのみ対応する音を出力する場合には、当該あるゲーム装置の他機リハーサルデータに含まれる操作データが正しいタイミングか(かつ正しいボタン操作か)を、当該あるゲーム装置のパートについての演奏操作指示データに基づいて判断して、当該判断が肯定のときのみ対応する音を出力する。
【0155】
一方、ステップS84において、CPUコア21は、楽曲データ56を用いて他パートの演奏音を生成する。ステップS84の処理は、上述したステップS38の処理と同じである。
【0156】
以上のステップS82〜S84に示したように、本実施形態では、ゲーム装置10は、本番演奏期間中において、RAM24に記憶されている他機リハーサルデータ53を用いて演奏楽曲の各演奏部分について他パートの音を生成することが可能か否かを各パートについて判定する(ステップS82)。そして、判定結果が否定であると判定されたパートについては、上記他機リハーサルデータ53を用いた他パートの演奏音の生成が不可能である演奏部分については、他パートの演奏音を楽曲データ56を用いて自動的に生成する(ステップS84)。つまり、本実施形態では、本番演奏時において、他のゲーム装置からリハーサルデータが取得されていない場合には、予め用意された楽曲データを用いて他パートの演奏音が生成される。したがって、仮に何らかの原因で他のゲーム装置との通信が中断された場合であっても、本番演奏時に他パートの音が生成されず、出力されなくなることを防止することができる。逆に、そのような通信の中断を明らかにしたい場合には、リハーサルデータの取得されていないパートの演奏を行わないようにしてもよい。
【0157】
ステップS83またはS84の次に、ステップS85の処理が実行される。すなわち、ステップS85において、CPUコア21は、グループ内の全ての他のゲーム装置について、それに対応する他パート音を生成したか否かを判定する。ステップS85の判定結果が肯定である場合、CPUコア21は、図14に示す他パート音生成処理を終了する。一方、ステップS85の判定結果が否定である場合、ステップS81の処理が再度実行される。
【0158】
図13の説明に戻り、ステップS68の次のステップS69において、CPUコア21は、ステップS67で生成された自己パートの演奏音と、ステップS68で生成された他パートの演奏音とを各スピーカ30aおよび30bから出力させる。すなわち、RAM24に記憶されている他機リハーサルデータを用いて他パートの演奏音を出力しつつ、プレイヤによる演奏操作に応じて自己パートの演奏音を出力する。これによって、演奏楽曲の各パートの音が合奏として出力されることとなる。なお、演奏楽曲を構成するパートの数よりもグループに含まれるゲーム装置の数が少ない場合、プレイヤによって演奏されないパートが存在する。このとき、当該パートの音は、楽曲データ56を用いて生成され、各スピーカ30aおよび30bから出力される。なお、ステップS69において、楽曲データに含まれるBGMの音声ファイルデータに基いて、楽曲のBGMとなる演奏音を出力し、自己パートの演奏音と他パートの演奏音とBGMの演奏音とを合成して出力するようにしてもよい。
【0159】
続くステップS70において、CPUコア21は、上述したステップS40の処理と同様の処理によって、演奏楽曲の自己パートの演奏操作指示を表すゲーム画像(図4)を第1のLCD11または第2のLCD12に表示させる。
【0160】
ステップS71において、CPUコア21は、上述したステップS41の処理と同様の処理によって、本番演奏期間が終了したか否かを判定する。ステップS71の判定結果が肯定である場合、ステップS72の処理が実行される。一方、ステップS71の判定結果が否定である場合、ステップS62の処理が再度実行され、以降、本番演奏期間が終了するまでステップS62〜S71の処理ループが繰り返し実行される。
【0161】
以下で説明するステップS72〜S75においては、ゲーム装置間で本番データを送信する際に生じる遅延のために本番演奏期間の終了時にまだ受信されていない本番データを受信するための処理が実行される。まず、ステップS72において、CPUコア21は、上述したステップS42と同様の処理によって、他機本番データを全て受信したか否かを判定する。ステップS72の判定結果が肯定である場合、CPUコア21は、図14に示す本番演奏処理を終了する。一方、ステップS72の判定結果が否定である場合、ステップS73の処理が実行される。
【0162】
ステップS73において、CPUコア21は、ステップS65と同様の処理によって、他機本番データを受信する。続くステップS74において、CPUコア21は、ステップS66と同様の処理によって、ステップS73で受信された他機本番データをRAM24に記憶する。ステップS74の次にステップS75の処理が実行される。
【0163】
ステップS75において、CPUコア21は、本番演奏処理が終了してから所定時間が経過したか否かを判定する。ステップS75の所定時間は、上述のステップS45の所定時間と同様、ゲーム装置から他のゲーム装置へ1つのリハーサルデータを送信するのに十分な時間に設定されればよく、それ以上に長く設定する必要はない。ステップS75の判定結果が肯定である場合、ステップS76の処理が実行される。一方、ステップS75の判定結果が否定である場合、ステップS72の処理が再度実行される。
【0164】
ステップS76において、CPUコア21は、RAM24に記憶されている自機本番データ54および他機本番データ55に基づいて得点を算出する。得点は、例えば、各パートについて本番データと楽曲データとの類似度を算出し、当該類似度が高いほど得点が高くなるように算出される。また、例えば、音を出力するタイミングと音の種類が各パートで一致しているほど得点が高くなるように算出される。また、自機本番データ54と自己パートの楽曲データとの類似度に基いて自機の得点を算出し、各他機本番データ55と対応するパートの楽曲データとの類似度に基いて各他機の得点を算出して、それらの得点を合計や平均(加重平均でもよい)などすることにより全体の得点を算出するようにしてもよい。また、自機本番データ54と他機本番データ55とを比較することにより(例えば、各パートで共通する演奏操作タイミングにおいて各ゲーム装置で同じタイミングで操作がされたか否かを比較するなど)、全体の得点を算出してもよい。
【0165】
なお、他の実施形態においては、本番データに加えて、自機リハーサルデータ52および他機リハーサルデータ53に基づいて得点を算出するようにしてもよい。この場合、例えば、本番データに基づく得点と、リハーサルデータに基づく得点をそれぞれ算出して、それらに基いて所定の演算(合計・平均・加重平均など)をして全体の得点としてもよい。また、各ゲーム装置についての本番データとリハーサルデータとを比較することにより上達度を算出して得点としてもよい。
【0166】
また、本番演奏期間中に他のゲーム装置との通信が中断された場合には、当該他のゲーム装置からのリハーサルデータが受信されなくなる。この場合、CPUコア21は、当該ゲーム装置の本番データを除いて、残りのゲーム装置の本番データに基づいて得点を算出する。
【0167】
なお、得点の算出については、本番演奏中には本番データの送受信を行わず、演奏後に算出された自機の得点を互いに送受信する構成としてもよく、この場合、ステップS64〜S66の処理が不要となる。
【0168】
以上のように算出された得点は、第1のLCD11または第2のLCD12に表示される。これによって、各プレイヤは、本番演奏期間中に行った各プレイヤによる合奏についての評価を知ることができる。以上で、図13に示す本番演奏処理の説明を終了する。
【0169】
また、他の実施形態においては、本番演奏処理において、自機本番データをRAM24に記憶しておく処理をさらに行い、自機本番データと他機本番データとに基いて、前述のステップS68と同等の処理により、自己パートおよび他パートの音を生成して出力するようにしてもよい。このようにすれば、全パートの本番データを用いた合奏をリプレイ等で再生させることも可能となる。
【0170】
図8の説明に戻り、ステップS6の次のステップS7において、CPUコア21は、合奏ゲームを終了するか否かを判定する。ステップS7の判定は、プレイヤにより合そうゲームを終了する旨の指示があったか否かや、所定回数の合奏を行ったか否か等により行われる。ステップS7の判定結果が否定である場合、ステップS3の処理が再度実行される。このとき、リーダーであるゲーム装置を変更するようにしてもよい。例えば、リーダーであるゲーム装置は、次にリーダーとなるゲーム装置をグループ内の他のゲーム装置から選択するようにしてもよい。一方、ステップS7の判定結果が肯定である場合、CPUコア21は、図8に示すゲーム処理を終了する。
【0171】
以上のように、本実施形態によれば、リハーサル演奏および本番演奏という2回の演奏を行わせることによって、ゲーム装置は、他のゲーム装置のリハーサル演奏結果を、自機における本番演奏時に出力することができる。これによって、他パートの音が自己パートの音より遅れて出力されることなく、かつ、演奏操作の応答性を損なわずに、合奏音を出力することができる。したがって、本実施形態によれば、プレイヤは、遠隔に存在する他のプレイヤと、通信の影響を意識せずに合奏ゲームを楽しむことができる。
【0172】
なお、上記実施形態においては、ゲーム装置はプレイヤに2回の演奏を行わせるようにしたが、他の実施形態においては、3回以上の演奏を行わせるようにしてもよい。このとき、n(nは2以上の自然数)回目の演奏における他パートの音は、n−1回目の演奏における演奏データを用いて生成して出力すればよい。
【0173】
また、上記実施形態においては、演奏を行うための演奏操作は、適宜のタイミングで適宜の演奏ボタンを押下する操作であったが、演奏操作の形態はどのようなものであってもよい。例えば、ゲーム装置10のタッチパネル15入力装置として用いる場合には、ギターやピアノの画像を第2のLCD12に表示させ、第2のLCD12の画面上にタッチ入力を行う操作を演奏操作として用いることができる。具体的には、ギターの弦の画像を表示する場合には、ゲーム装置10は、タッチパネル15に対する入力に基づいて、弦を弾く方向および強さを算出し、当該方向および強さに基づいてギターの音を出力するようにしてもよい。さらに、このとき、上記方向および強さを示すデータを演奏データ(リハーサルデータおよび本番データ)として用いることができる。
【0174】
また、上記実施形態においては、複数人のプレイヤで合奏を行う合奏ゲームを例として説明したが、本発明は、複数のゲーム装置を用いて行われる複数人参加型のゲームに適用することが可能である。本ゲームシステムにおいて実行されるゲームは、例えば、操作ボタンを適宜のタイミングで押下することによって、表示装置の画面に表示されるキャラクタに楽曲に合わせてダンスを踊らせるゲームであってもよい。このゲームでは、各ゲーム装置によってそれぞれ操作される複数のキャラクタが登場する。各ゲーム装置には、プレイヤによる操作に応じて行われる当該複数のキャラクタの動作(ダンス)が表示される。このようなゲームを実行するためのゲームシステムにおいては、上記合奏ゲームと同様、各ゲーム装置は、楽曲に合わせてキャラクタをダンスさせる操作を受け付ける操作期間を2回設定する。1回目の操作期間において、ゲーム装置は、上記演奏データに代えて、自己の操作対象(キャラクタ)の動作内容を特定するための動作データを他のゲーム装置へ送信する。動作データは、例えば、プレイヤによる操作を示す操作データである。2回目の操作期間において、ゲーム装置は、他のゲーム装置から受信される動作データに基づいて、他の操作対象の動作を制御しつつ、プレイヤによる操作に応じて自己の操作対象の動作を制御する。そして、複数の操作対象の動作を画面に表示する。以上に説明したようなダンスゲームにおいても本発明を適用することが可能である。さらに、本発明は、複数人対戦型のゲームであれば、例えばパズルゲーム等にも適用することが可能である。
【産業上の利用可能性】
【0175】
本発明は、通信を介して複数人参加型のゲームを行う際に、通信による遅延に起因する操作性の悪さを改善すること等を目的として、例えば複数のプレイヤで合奏を行う合奏ゲームとして利用することが可能である。
【図面の簡単な説明】
【0176】
【図1】本実施形態に係るゲームシステムの構成を示すブロック図
【図2】ゲームシステムに含まれるゲーム装置10の外観図
【図3】ゲーム装置10の内部構成を示すブロック図
【図4】ゲーム装置の画面に表示されるゲーム画像の例を示す図
【図5】リハーサル演奏期間における各ゲーム装置10a〜10cの動作を示す図
【図6】本番演奏期間における各ゲーム装置10a〜10cの動作を示す図
【図7】ゲーム装置10のRAM24に記憶される主なデータを示す図
【図8】ゲーム装置10において実行されるゲーム処理の流れを示すフローチャート
【図9】図8に示す楽曲決定処理(ステップS3)の詳細を示すフローチャート
【図10】図8に示すパート決定処理(ステップS4)の詳細を示すフローチャート
【図11】図8に示すリハーサル演奏処理(ステップS5)の詳細を示すフローチャート
【図12】図11に示す開始タイミング決定処理(ステップS31)の詳細を示すフローチャート
【図13】図8に示す本番演奏処理(ステップS6)の詳細を示すフローチャート
【図14】図13に示す他パート音生成処理(ステップS68)の詳細を示すフローチャート
【符号の説明】
【0177】
1 サーバ
2 ネットワーク
10 ゲーム装置
11 第1のLCD
12 第2のLCD
15 タッチパネル
17 メモリカード
21 CPUコア
24 RAM
30a,30b スピーカ
37 ワイヤレス通信部
52 自機リハーサルデータ
53 他機リハーサルデータ
54 自機本番データ
55 他機本番データ
56 楽曲データ

【特許請求の範囲】
【請求項1】
互いに通信可能な複数のゲーム装置を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムであって、
前記各ゲーム装置は、
入力手段と、
第1の演奏期間において、プレイヤによる前記入力手段の入力に応じて自己パートの音を出力する第1演奏実行手段と、
前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである演奏再現データを生成して他のゲーム装置へ送信する演奏再現データ送信手段と、
前記自己パート以外の他パートについての前記演奏再現データを他のゲーム装置から受信し、自機の記憶手段に記憶する演奏再現データ受信手段と、
前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する第2演奏実行手段と、を備える、合奏ゲームシステム。
【請求項2】
前記各ゲーム装置の記憶手段には、前記楽曲のパート毎の内容を特定するための楽曲データが記憶されており、
前記第1の演奏期間において、前記他パートの音を前記楽曲データを用いて自動的に出力する自動再生手段をさらに備え、
前記第1演奏実行手段は、前記自動再生手段による前記他パートの音の再生に合わせて、プレイヤによる前記入力手段の入力に応じて前記自己パートの音を出力する、請求項1に記載の合奏ゲームシステム。
【請求項3】
前記各ゲーム装置のうち少なくとも1つは、
前記楽曲のパート毎の内容を特定するための楽曲データを複数記憶可能な楽曲データ記憶手段と、
前記楽曲データ記憶手段に楽曲データが記憶された楽曲のうち演奏されるべき楽曲を決定する楽曲決定手段と、
前記楽曲決定手段によって決定された楽曲の楽曲データを他のゲーム装置に送信する楽曲データ送信手段とをさらに備え、
前記各ゲーム装置のうち前記少なくとも1つ以外は、前記楽曲データ送信手段から送信される楽曲データを受信し、当該楽曲データを用いて前記合奏ゲームを実行する、請求項1に記載の合奏ゲームシステム。
【請求項4】
前記合奏ゲームシステムは、前記合奏ゲームを実行している前記ゲーム装置の中から、前記合奏ゲームに参加するゲーム装置のグループを決定するグループ決定手段を備える、請求項3に記載の合奏ゲームシステム。
【請求項5】
前記各ゲーム装置は、
前記入力手段の入力を指示するための指示データを前記パート毎に記憶する指示データ記憶手段と、
前記自己パートについての前記指示データに基づいて入力を指示する指示手段とをさらに備える、請求項1に記載の合奏ゲームシステム。
【請求項6】
前記各ゲーム装置は、前記入力手段の入力に対応して出力される音データである対応音データを前記パート毎に記憶する対応音データ記憶手段をさらに備え、
前記第1演奏実行手段および前記第2演奏実行手段は、前記入力手段の入力に応じて、前記対応音データを参照して前記自己パートの音を出力する、請求項1に記載の合奏ゲームシステム。
【請求項7】
前記合奏ゲームシステムは、複数のゲーム装置のうちから、前記合奏ゲームに参加するゲーム装置のグループを決定するグループ決定手段を備え、
前記決定手段によって決定されたグループに属する各前記ゲーム装置において、
前記第1演奏実行手段は、プレイヤによる前記入力手段の入力に応じて自己パートの音を出力し、
前記演奏再現データ送信手段は、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである演奏再現データを、前記グループに属する他のゲーム装置へ送信し、
前記演奏再現データ受信手段は、前記自己パート以外の他パートについての前記演奏再現データを、前記グループに属する他のゲーム装置から受信し、自機の記憶手段に記憶し、
前記第2演奏実行手段は、前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記グループに属する他の各ゲーム装置についての各前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する、請求項1に記載の合奏ゲームシステム。
【請求項8】
各ゲーム装置におけるパートを決定するパート決定手段をさらに備え、
前記第1演奏実行手段は、前記パート決定手段によって決定された当該ゲーム装置のパートの音を前記入力手段の入力に応じて出力し、
前記第2演奏実行手段は、前記パート決定手段によって決定された当該ゲーム装置のパートの音を前記入力手段の入力に応じて出力するとともに、前記パート決定手段によって決定された他のゲーム装置のパートの音を当該他のゲーム装置にかかる前記演奏再現データを用いて出力する、請求項1に記載の合奏ゲームシステム。
【請求項9】
前記各ゲーム装置は、前記第1の演奏期間を開始するタイミングを前記各ゲーム装置間で同期させる第1タイミング決定手段をさらに備える、請求項1に記載の合奏ゲームシステム。
【請求項10】
前記演奏再現データ送信手段は、前記第1の演奏期間において前記自己パートの演奏再現データを逐次送信し、
前記演奏再現データ受信手段は、他のゲーム装置から前記他パートの演奏再現データを逐次受信する、請求項1に記載の合奏ゲームシステム。
【請求項11】
前記各ゲーム装置は、前記自己パートの演奏再現データを前記記憶手段に逐次記憶させる自己演奏再現データ記憶制御手段をさらに備え、
前記演奏再現データ送信手段は、前記第1の演奏期間が終了した後で、前記記憶手段に記憶されている自己パートの演奏再現データを他のゲーム装置へ送信する、請求項1に記載の合奏ゲームシステム。
【請求項12】
前記演奏再現データは、前記第1または第2の演奏期間中における時点を示すデータと、当該時点においてプレイヤによって行われた演奏操作を示す操作データとを含む、請求項1に記載の合奏ゲームシステム。
【請求項13】
前記各ゲーム装置は、
前記第2の演奏期間中における前記自己パートの演奏結果を特定するための演奏結果データを他のゲーム装置へ送信する演奏結果データ送信手段と、
前記第2の演奏期間中における前記他パートの演奏結果を特定するための演奏結果データを他のゲーム装置から受信する演奏結果データ受信手段と、
前記第2の演奏期間中における前記自己パートの演奏結果を特定するための演奏結果データと、前記演奏結果データ受信手段によって受信された演奏結果データとに基づいて、前記複数のパート全体の演奏結果に対する評価を行う評価手段をさらに備える、請求項1に記載の合奏ゲームシステム。
【請求項14】
前記各ゲーム装置は、前記第2の演奏期間を開始するタイミングを前記各ゲーム装置間で同期させる第2タイミング決定手段をさらに備える、請求項13に記載の合奏ゲームシステム。
【請求項15】
前記各ゲーム装置の記憶手段には、前記楽曲のパート毎の内容を特定するための楽曲データが記憶されており、
前記各ゲーム装置は、前記第2の演奏期間中において、前記記憶手段に記憶されている他パートの演奏再現データを用いて前記楽曲の各演奏部分について他パートの音を生成することが可能か否かを各パートについて判定する生成判定手段をさらに備え、
前記第2演奏実行手段は、前記判定結果が否定であると判定されたパートについては、前記記憶手段に記憶されている他パートの演奏再現データを用いた音の生成が不可能である演奏部分の音を前記楽曲データを用いて生成する、請求項1に記載の合奏ゲームシステム。
【請求項16】
互いに通信可能な複数のゲーム装置を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムであって、
複数のゲーム装置のうちから、前記合奏ゲームに参加するゲーム装置のグループを決定するグループ決定手段、および、
前記合奏ゲームの開始に先立って、前記グループ決定手段によって決定されたグループに属する各ゲーム装置のパートを決定するパート決定手段を備え、
前記グループ決定手段によって決定されたグループに属する各ゲーム装置は、
前記合奏ゲームにおける第1の演奏期間において、プレイヤに対して、前記パート決定手段によって決定された自己パートに関する入力の指示をおこないつつ、プレイヤによる入力手段の入力に応じて音を出力する第1演奏実行手段と、
前記合奏ゲームにおける第1の演奏期間において、前記パート決定手段によって決定されたパート以外の音を自動的に出力する自動再生手段と、
前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における自己の前記第1演奏実行手段による音の出力を再現するためのデータである演奏再現データを生成して、前記グループに属する他のゲーム装置へそれぞれ送信する演奏再現データ送信手段と、
前記演奏再現データを前記グループに属する他のゲーム装置からそれぞれ受信し、自機の記憶手段に記憶する演奏再現データ受信手段と、
前記第1の演奏期間の次の前記合奏ゲームにおける第2の演奏期間において、前記記憶手段に記憶されている前記グループに属する他の各ゲーム装置についての各前記演奏再現データを用いて、当該他の各ゲーム装置の前記第1演奏期間中における前記第1演奏実行手段による音の出力をそれぞれ再現する再現手段と、
前記第2の演奏期間において、プレイヤに対して、前記パート決定手段によって決定された自己パートに関する入力の指示をおこないつつ、前記再現手段による音の出力に併せて、プレイヤによる前記入力手段の入力に応じて音を出力する第2演奏実行手段とを備える、合奏ゲームシステム。
【請求項17】
互いに通信可能な複数のゲーム装置を含み、各ゲーム装置を用いてプレイヤに楽曲を演奏させることによって合奏ゲームを実行する合奏ゲームシステムであって、
前記各ゲーム装置は、
入力手段と、
第1の演奏期間において、プレイヤによる前記入力手段の入力に応じて自己の演奏の音声を出力する第1演奏実行手段と、
前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における前記自己の演奏を再現するための演奏データである演奏再現データを生成して他のゲーム装置へ送信する演奏再現データ送信手段と、
他のゲーム装置から送信される前記演奏再現データを受信し、自機の記憶手段に記憶する演奏再現データ受信手段と、
前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他のゲーム装置の演奏の音声を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じた前記自己の演奏の音声を出力する第2演奏実行手段と、を備える、合奏ゲームシステム。
【請求項18】
互いに通信可能な複数のゲーム装置を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムに含まれるゲーム装置であって、
入力手段と、
第1の演奏期間において、プレイヤによる前記入力手段の入力に応じて自己パートの音を出力する第1演奏実行手段と、
前記第1の演奏期間における前記入力手段の入力に基いて、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである演奏再現データを生成して他のゲーム装置へ送信する演奏再現データ送信手段と、
前記自己パート以外の他パートについての前記演奏再現データを他のゲーム装置から受信し、自機の記憶手段に記憶する演奏再現データ受信手段と、
前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する第2演奏実行手段と、を備える、ゲーム装置。
【請求項19】
前記ゲーム装置の記憶手段には、前記楽曲のパート毎の内容を特定するための楽曲データが記憶されており、
前記第1の演奏期間において、前記他パートの音を前記楽曲データを用いて自動的に出力する自動再生手段をさらに備え、
前記第1演奏実行手段は、前記自動再生手段による前記他パートの音の再生に合わせて、プレイヤによる前記入力手段の入力に応じて前記自己パートの音を出力する、請求項18に記載のゲーム装置。
【請求項20】
互いに通信可能な複数のゲーム装置を含み、複数のパートで構成される楽曲の各パートを各ゲーム装置を用いてプレイヤに演奏させることによって合奏ゲームを実行する合奏ゲームシステムに含まれるゲーム装置のコンピュータで実行される合奏ゲームプログラムであって、
第1の演奏期間において、前記ゲーム装置の入力手段に対するプレイヤによる入力に応じて自己パートの音を出力する第1演奏実行ステップと、
前記第1の演奏期間における前記入力手段に対する入力に基いて、前記第1の演奏期間中における前記自己パートの演奏を再現するための演奏データである演奏再現データを生成して他のゲーム装置へ送信する演奏再現データ送信ステップと、
前記自己パート以外の他パートについての前記演奏再現データを他のゲーム装置から受信し、自機の記憶手段に記憶する演奏再現データ受信ステップと、
前記第1の演奏期間の次の第2の演奏期間において、前記記憶手段に記憶されている前記演奏再現データを用いて前記他パートの音を出力しつつ、プレイヤによる当該第2の演奏期間における前記入力手段の入力に応じて前記自己パートの音を出力する第2演奏実行ステップと、を前記コンピュータに実行させるための、合奏ゲームプログラム。
【請求項21】
前記ゲーム装置の記憶手段には、前記楽曲のパート毎の内容を特定するための楽曲データが記憶されており、
前記合奏ゲームプログラムは、前記第1の演奏期間において、前記他パートの音を前記楽曲データを用いて自動的に出力する自動再生ステップを前記コンピュータにさらに実行させ、
前記第1演奏実行ステップにおいて、前記コンピュータは、前記自動再生ステップにおける前記他パートの音の再生に合わせて、プレイヤによる前記入力手段の入力に応じて前記自己パートの音を出力する、請求項20に記載の合奏ゲームプログラム。
【請求項22】
互いに通信可能な複数のゲーム装置によって構成され、複数の操作対象を各ゲーム装置を用いてプレイヤに操作させることによって複数人参加型ゲームを実行するゲームシステムであって、
前記各ゲーム装置は、
入力手段と、
第1の操作期間において、プレイヤによる前記入力手段の入力に応じて自己の操作対象の動作を制御する第1制御手段と、
前記第1の操作期間中における前記自己の操作対象の動作内容を再現するための動作データである動作再現データを生成して他のゲーム装置へ送信する動作再現データ送信手段と、
前記自己の操作対象以外の他の操作対象についての前記動作再現データを他のゲーム装置から受信し、自機の記憶手段に記憶する動作再現データ受信手段と、
前記第1の操作期間の次の第2の操作期間において、前記記憶手段に記憶されている前記動作再現データを用いて前記他の操作対象の動作を制御しつつ、プレイヤによる当該第2の操作期間における前記入力手段の入力に応じて前記自己の操作対象の動作を制御する第2制御手段と、を備える、ゲームシステム。
【請求項23】
前記各ゲーム装置の記憶手段には、各操作対象を動作させるべき内容を特定するための制御データが記憶されており、
前記第1制御手段は、前記第1の操作期間において前記他の操作対象の動作を前記制御データを用いて制御する、請求項22に記載のゲームシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−113766(P2008−113766A)
【公開日】平成20年5月22日(2008.5.22)
【国際特許分類】
【出願番号】特願2006−298228(P2006−298228)
【出願日】平成18年11月1日(2006.11.1)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】