以下、本発明の一形態に係るゲームシステムについて説明する。図1は、本発明の一形態に係るゲームシステムの全体構成の概要を示す図である。図1に示すように、ゲームシステム1は、センターサーバ2及びゲーム機GMを含んでいる。ゲーム機GMは、ネットワーク3を介してセンターサーバ2に接続される。一例として、ゲーム機GMは、業務用(商業用)のゲーム機として構成されてよい。業務用のゲーム機は、有料あるいは無料で所定範囲のゲームをプレイさせるゲーム機である。一例として、ゲーム機GMは、有料で音楽ゲームを提供してよい。具体的には、ゲーム機GMは、例えば、所定の対価の消費と引き換えに、その対価に応じた範囲で音楽ゲームを提供してよい。ゲーム機GMは、店舗4等の商業施設に適当な台数ずつ設置されてよい。
センターサーバ2は、一台の物理的装置によって構成される例に限らない。例えば、複数の物理的装置としてのサーバ群によって一台の論理的なセンターサーバ2が構成されてもよい。また、クラウドコンピューティングを利用して論理的にセンターサーバ2が構成されてもよい。さらに、ゲーム機GMがセンターサーバ2として機能してもよい。
また、センターサーバ2には、例えば、ネットワーク3を介して、ユーザ端末5が接続されてよい。ユーザ端末5は、センターサーバ2から配信されるソフトウェアを実行することにより、各種の機能を発揮するネットワーク端末装置の一種である。図1の例では、ユーザ端末5の一例として、携帯電話(スマートフォンを含む)が利用されている。また、ユーザ端末5として、例えば、その他にもパーソナルコンピュータ、携帯型ゲーム機、携帯型タブレット端末装置といった、ネットワーク接続が可能でかつユーザの個人用途に供される各種のネットワーク端末装置が利用されてよい。
ネットワーク3は、一例として、TCP/IPプロトコルを利用してネットワーク通信を実現するように構成されてよい。典型的には、WANとしてのインターネットと、LANとしてのイントラネットと、を組み合わせてネットワーク3が構成されてよい。図1の例では、センターサーバ2及びゲーム機GMはルータ3aを介して、ユーザ端末5はアクセスポイント3bを介して、それぞれネットワーク3に接続されている。
なお、ネットワーク3は、TCP/IPプロトコルを利用する形態に限定されない。ネットワーク3として、通信用の有線回線、あるいは無線回線(赤外線通信、近距離無線通信等を含む)等を利用する各種の形態が利用されてよい。あるいは、ユーザ端末5とゲーム機GM等との通信は、例えば、通信用の回線(有線及び無線を含む)を利用せずに、二次元コード等、各種情報を含むように所定の規格に準拠して生成されるコード(例えば、二次元コード)を利用して実現されてよい。したがって、ネットワーク(あるいは通信回線)の用語は、このようなコードを利用する通信方法等、回線を利用せずに情報の送受信をする形態を含んでよい。
センターサーバ2は、ゲーム機GM又はそのユーザに対して各種のゲーム機用サービスを提供する。ゲーム機用サービスとして、例えば、ゲーム機GMからユーザの識別情報を受け取って、そのユーザを認証するサービスが提供されてよい。また、認証したユーザのプレイデータをゲーム機GMから受け取って保存し、あるいは保存するプレイデータをゲーム機GMに提供するサービスが提供されてもよい。さらに、ゲーム機用サービスには、ネットワーク3を介してゲーム機GMのプログラムあるいはデータを配信し、更新するサービス、ネットワーク3を介して複数のユーザが共通のゲームをプレイする際にユーザ同士をマッチングするマッチングサービス等が含まれていてもよい。
また、センターサーバ2は、ネットワーク3を介してユーザ端末5のユーザに各種のWebサービスを提供する。Webサービスには、例えば、ゲーム機GMが提供するゲームに関する各種の情報を提供するゲーム用情報サービスが含まれてよい。また、例えば、Webサービスには、各ユーザ端末5に各種データあるいはソフトウェアを配信(データ等のアップデートを含む)する配信サービスが含まれてもよい。さらに、Webサービスには、その他にもユーザによる情報発信、交換、共有といった交流の場を提供するコミュニティサービス、各ユーザを識別するためのユーザIDを付与するサービス等のサービスが含まれてよい。
図2は、ゲーム機GMの外観の一例を示す図である。図2に示すように、例えば、ゲーム機GMは、筐体6を備えていてよい。また、筐体6には、例えば、収容部CA及びコントロールパネル部7が設けられていてよい。収容部CAは、ユーザを内部に収容するための空間を形成する部分である。そして、例えば、ユーザは、収容部CAにおいて、つまり筐体6の内部において音楽ゲームをプレイしてよい。
例えば、収容部CAは、囲い部CA1、ステージ部CA2、及び開口部CA3を含んでいてよい。ステージ部CA2は、ユーザがゲームをプレイするための部分である。このため、ステージ部CA2は、ユーザを乗せるための部分として使用されてよい。換言すれば、ステージ部CA2は、筐体6の内部においてユーザが行動可能な範囲として機能してよい。なお、ステージ部CA2は囲い部CA1の一部として機能してもよい。あるいは、ステージ部CA2は省略されてもよい。この場合、例えば、各ゲーム機GMにおいて共通の背景(床面)が形成されるように、ステージ部CA2の代わりに共通のカーペットが使用されてもよい。
囲い部CA1は、ステージ部CA2を囲うように位置する部分である。例えば、囲い部CA1は、ステージ部CA2においてユーザがゲームをプレイする場合に正面に位置する正面壁CA1a、左右の側面にそれぞれ位置する二つの側面壁CA1b、及び上方において天井を形成する天井板CA1cを含んでいてよい。また、開口部CA3は、筐体6の内部と外部とを接続するために開口する部分である。開口部CA3には、例えば、柱部8が更に設けられていてよい。柱部8は、開口部CA3を左右に分断するように天井板CA1cからステージ部CA2まで延びる部分である。結果として、収容部CAには、柱部8を挟むように左右に位置する二つの開口部CA3が設けられてよい。
また、コントロールパネル部7は、各種の装置が設けられる部分である。例えば、このような各種の装置として、コントロールパネル部7には、コントロールパネルが設けられてよい。コントロールパネルは、ゲームに関する各種の操作を入力するための周知の入力装置である。さらに、コントロールパネル部7は、例えば、その他にも対価を徴収するための対価徴収装置、あるいは音楽ゲームを提供するための制御ユニット等を各種の装置として収納するように構成されていてよい。同様に、コントロールパネル部7には、例えば、ユーザのプレイ行為を入力するための入力装置(例えば後述の棒状の操作部を有する入力装置)あるいは各種の画像を表示する表示装置等の各種の接続機器が配置されていてもよい。ここでいうプレイ行為は、ユーザが自己の所作をゲーム機GMに検出させてその所作に応じた反応をゲームに生じさせる行為であり、この点においてゲーム機GMに対するユーザの操作の一態様として位置付けられるものである。また、コントロールパネル部7は、例えば、柱部8の内側に配置されてよい。つまり、柱部8の影(内部側)に位置するように収容部CAの内部に配置されてよい。
さらに、筐体6には、例えば、収容部CAの内部に位置検出装置9が設けられていてもよい。具体的には、例えば、収容部CAには、対角線上に位置するように天井板CA1cの二隅に二つの位置検出装置9が配置されていてもよい。そして、これらの位置検出装置9は、例えば、後述のように棒状(ユーザに把持して使用されるタイプ)の操作部を介してユーザの動作がプレイ行為として利用される場合に、収容部CA内におけるその棒状の操作部の位置を検出するために使用されてよい。なお、その他にも、ゲーム機GMには、電源スイッチ、電源ランプあるいはスピーカといった通常の業務用のゲーム機が備えている各種の入力装置及び出力装置が設けられ得るが、図1ではそれらの図示を省略している。
また、収容部CA(筐体6の内部)には椅子(不図示)が配置されてよい。つまり、筐体6は、ユーザが収容部CAにおいて椅子に座って音楽ゲームをプレイするように構成されていてよい。具体的には、例えば、椅子は、操作の便宜のために、ステージ部CA2上のコントロールパネル部7の付近に配置されてよい。また、この場合、コントロールパネル部7の操作や入力装置等の各種設定の第三者(ゲームをプレイするユーザ以外の者)による実行を許容するように、椅子とコントロールパネル部7との間には間隔があけられていてよい。つまり、椅子は、コントロールパネル部7との間に第三者が介在するための間隔をあけて配置されていてもよい。一方で、ユーザのプレイ行為を入力するための入力装置やゲームをプレイするためのゲーム空間を表示する表示装置等がコントロールパネル部7に配置される場合には、それらを椅子に座ったユーザが使用可能なように、椅子は入力装置や表示装置等が使用される位置に配置されてよい。つまり、椅子は、例えば、第三者の介在と入力装置等の使用との両方を許容する程度の間隔がコントロールパネル部7との間に形成されるように、ステージ部CA2に配置されてよい。
さらに、椅子は、ユーザの動作をプレイ行為として許容するように、囲い部CA1との間にも所定の間隔をあけて配置されてよい。例えば、所定の間隔として、少なくとも椅子に座った状態においてユーザによって実行される動作を許容するための間隔が採用されてよい。具体的には、例えば、椅子は、正面壁CA1aの方向を向くように配置されてよい。つまり、椅子は、ユーザが正面壁CA1aの方向を向いて座るように配置されてよい。そして、正面壁CA1aとの間にユーザの動作を許容するための間隔をあけるように配置されてよい。同様に、椅子は、左右の側面壁CA1bとの間にもユーザの動作を許容するための間隔をあけるように配置されていてよい。つまり、椅子は、ユーザがそこに座っている場合に左右の側方及び前方へのユーザの動作を許容するように、正面壁CA1a及び側面壁CA1bとの間に所定の間隔(前方の間隔と側方の間隔とは相違していてもよい)をあけて配置されてよい。換言すれば、囲い部CA1は、椅子の前方及び側方との間にユーザの動作を許容するための所定の間隔を形成するように設けられていてよい。なお、ユーザが椅子に座ってプレイする場合には、天井板CA1cとの間にも間隔が形成されるため、上方への動作も当然許容されてよい。
次に、音楽ゲームを提供するためのゲームシステム1の制御系の要部について説明する。図3は、ゲームシステム1の制御系の要部の構成を示す図である。図3に示すように、センターサーバ2は、制御ユニット10と、記憶ユニット11と、を備えている。制御ユニット10は、例えば、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種周辺装置とを組み合わせたコンピュータユニットとして構成されてよい。なお、制御ユニット10には、キーボード等の入力装置、モニタ等の出力装置等が接続され得る。しかし、それらの図示は省略した。
記憶ユニット11は、制御ユニット10に接続されている。記憶ユニット11は、電源の供給がなくても記憶を保持可能なように、例えば、磁気テープ等の大容量記憶媒体により構成されていてよい。記憶ユニット11には、サーバ用データ14及びサーバ用プログラム15が記憶されている。サーバ用プログラム15は、センターサーバ2がゲーム機GM等に各種のサービスを提供するために必要なコンピュータプログラムである。制御ユニット10がサーバ用プログラム15を読み取って実行することにより、制御ユニット10の内部には、例えば、ゲーム機サービス管理部16及びWebサービス管理部17が設けられてよい。
ゲーム機サービス管理部16は、上述のゲーム機用サービスを提供するための処理を実行する。一方、Webサービス管理部17は、上述のWebサービスを提供するために必要な処理を実行する。ゲーム機サービス管理部16及びWebサービス管理部17は、コンピュータハードウェアとコンピュータプログラムとの組み合わせにより実現される論理的装置である。なお、制御ユニット10の内部には、その他にも各種の論理的装置が設けられ得る。しかし、それらの図示は省略した。
サーバ用データ14は、サーバ用プログラム15の実行に伴って参照されるデータである。例えば、サーバ用データ14は、各ユーザを識別するためのユーザID等の各種IDを管理するためのID管理データ、各ユーザの過去の実績や固有の設定等を管理するためのプレイデータ、あるいは後述のシーケンスデータ等を含んでいてよい。しかし、それらの図示は省略した。
一方、ゲーム機GMには、コンピュータとしての制御ユニット20と、記憶ユニット21と、表示装置DPと、位置検出装置9と、入力装置22と、対価徴収装置23と、が設けられている。記憶ユニット21、表示装置DP、位置検出装置9、入力装置22、及び対価徴収装置23は、いずれも制御ユニット20に接続される。また、制御ユニット20、記憶ユニット21、及び対価徴収装置23は、例えば、コントロールパネル部7に収納されてよい。
制御ユニット20は、例えば、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種周辺装置とを組み合わせたコンピュータユニットとして構成されてよい。なお、制御ユニット20には、上述のスピーカ等のその他の公知のゲーム機と同様の各種の入力装置あるいは出力装置が接続され得る。しかし、それらの図示は省略した。
表示装置DPは、制御ユニット20の出力信号に応じて各種の画像を表示する周知の表示装置である。例えば、表示装置DPは、音楽ゲームの進行に使用されるゲーム空間を表示してよい。また、表示装置DPは、例えば、このようなゲーム空間としてバーチャルリアリティ(以下、VRと呼ぶ場合がある)を演出するための各種画像を含むゲーム空間(以下、VRゲーム空間と呼ぶ場合がある)を表示してよい。さらに、例えば、表示装置DPは、このようなVRゲーム空間を表示するために、誘導部DP1及び表示面DP2を有していてよい。誘導部DP1は、ユーザの視線をゲーム空間に誘導するための部分である。例えば、誘導部DP1は、ユーザの視界を覆うことによりそのユーザの視線を表示面DP2に誘導するように形成されていてよい。表示面DP2は、ゲーム空間に対応するゲーム画面を表示するための部分である。例えば、表示面DP2には、上述のVRゲーム空間等の各種のゲーム空間に対応するゲーム画面が表示されてよい。また、表示面DP2は、例えば、誘導部DP1が形成された筐体部に、この誘導部DP1を介して視認されるように、収容されていてもよい。そして、表示装置DPは、そのような筐体部を介して誘導部DP1の先に露出する表示面DP2を覗き込むように使用されてよい。
具体的には、例えば、このような表示装置DPとして、ヘッドマウント型の表示装置(いわゆるヘッドマウントディスプレイ。以下、このような表示装置DPをHMDと呼ぶ場合がある)が採用されてよい。HMDは、上述のような筐体部と表示装置とが一つに組み合わされた周知の表示装置である。HMDは、ユーザの意識がゲーム空間に入りこめるように、一般的に例えば上述の誘導部DP1等を介してユーザの視界をゲーム空間の表示に制限するように構成されている。このようなHMDは、装着用のベルト等を介してユーザの頭部にハンドフリーに(手が自由に動かせるように)装着される場合が多い。さらに、HMDは、ユーザの頭部に装着された状態においてユーザの視野範囲に位置する現時点の現実空間の映像(画像)を表示するように構成されている場合もある。このような場合、例えば、HMDには、視野範囲に位置する現時点の現実空間を撮影するためのカメラ(撮影装置)が設けられていてよい。一例として、このようなHMDが表示装置DPとして使用されてよい。つまり、ヘッドマウント型の表示装置DPは、一例として、ユーザの頭部に装着された状態においてユーザの視野範囲に応じた現実空間の映像をゲーム空間の少なくとも一部として利用するように構成されていてよい。さらに、ヘッドマウント型の表示装置DPは、例えば、現実空間の映像に仮想的画像を付加することにより現実空間を拡張した拡張現実ゲーム空間あるいはユーザが表示装置DPを使用している時点の現実空間(現時点の現実空間)とは別時点(別の場所である場合を含む)の現実空間の映像(現時点の現実空間の映像を代替する代替現実空間)を表示するように構成されていてもよい。なお、表示装置DPには、ユーザの頭の動きに伴う加速度等の物理量を検出するジャイロセンサ等のセンサユニット(不図示)が設けられてよい。そのセンサユニットの検出信号は制御ユニット20に提供され、表示面DP2に表示すべき画像の範囲の決定に参照される。
入力装置22は、ユーザのプレイ行為を入力するための周知の入力装置である。入力装置22は、このような入力のために、例えば、プレイ行為に応じた信号を制御ユニット10に出力してよい。また、入力装置22は、例えば、このようなプレイ行為として、ユーザの動作を入力可能に構成されていてよい。より具体的には、入力装置22は、例えば、ユーザによって操作される操作部22aを有していてよい。また、このような操作部22aは、例えば、棒状に構成されていてもよい。そして、このような棒状の操作部22aを通じて、プレイ行為として、スポーツのテニスで使用されるラケットのように操作部22aを各種の方向に振る動作が採用されてもよい。つまり、入力装置22は、操作部22aを介してテニスラケットを振る場合と同様の動作をプレイ行為(ユーザの操作の一例である。)として入力するように構成されていてよい。また、例えば、上述のようにユーザが椅子に座ってゲームをプレイする場合には、このようなテニスラケットを振るような動作として、主として椅子の前方、左右の側方、及び上方において実行される動作がプレイ行為として利用されてよい。
位置検出装置9は、対象の位置を検出するための周知の検出装置である。例えば、位置検出装置9は、対象の位置として操作部22aの位置を検出するように構成されていてよい。つまり、棒状の操作部22aがユーザによって各種の方向に振られた場合に、その操作部22aの位置(操作部22aの移動の軌跡)を検出するように構成されていてよい。具体的には、例えば、位置検出装置9は、上述のように天井板4cの二隅に配置される二つの位置検出装置9を含んでいてよい。そして、これらの二つの位置検出装置9は、例えば、制御ユニット10からの信号に基づいて(あるいは自己制御のもと所定の周期で)操作部22aに向かって赤外線を射出するように構成されていてよい。また、操作部22aは、各位置検出装置9からの赤外線を受信するように構成されていてよい。そして、操作部22aは、例えば二つの位置検出装置9から射出される赤外線の受信時期の相違等に基づいて位置を算出することにより自己の位置を取得し、それを制御ユニット20に出力してよい(あるいは受信結果を制御ユニット20に出力し、制御ユニット20が操作部22aの位置を算出してもよい)。
なお、位置検出装置9は、このような構成に限定されない。例えば、位置検出装置9として、カメラが利用されてもよい。あるいは、操作部22a(あるいは入力装置22)に自己の位置を算出可能なジャイロセンサ等が設けられている場合には、位置検出装置9は省略されてもよい。一方で、精度向上のために、赤外線及びジャイロセンサ等、これらの各種方法が兼用されてもよい。
対価徴収装置23は、所定の対価を徴収するための周知の装置である。例えば、このような対価徴収装置23として、カードリーダあるいはコイン徴収装置が利用されてよい。具体的には、例えば、所定の対価としてカードに記憶された対価が利用される場合には、その対価の残量を読み取って消費するカードリーダが対価徴収装置23として利用されてよい。同様に、所定の対価としてコインが利用される場合には、そのコインを徴収するコイン徴収装置が対価徴収装置23として利用されてよい。そして、対価徴収装置23は、徴収結果に応じた信号を制御ユニット20に出力してよい。
一方、記憶ユニット21は、各種のデータ等の情報を記憶する周知のユニットである。例えば、記憶ユニット21は、電源の供給がなくても記憶を保持可能なように、例えば、磁気記録媒体や光記録媒体、フラッシュSSD(Solid State Drive)などにより構成されてよい。記憶ユニット21には、ゲームプログラム24及びゲームデータ25が記憶される。ゲームプログラム24は、ゲーム機GMが音楽ゲームを提供するために必要なコンピュータプログラムである。ゲームプログラム24の実行に伴って、制御ユニット20の内部には、例えば、ゲーム提供部27が設けられてよい。ゲーム提供部27は、音楽ゲームを提供するために必要な各種処理を実行する。また、ゲーム提供部27は、コンピュータハードウェアとコンピュータプログラムとの組み合わせにより実現される論理的装置である。なお、制御ユニット20の内部には、その他にも各種の論理的装置が設けられ得る。しかし、それらの図示は省略した。
ゲームデータ25は、ゲームプログラム24の実行に伴って参照されるデータである。ゲームデータ25は、例えば、音楽ゲームの提供に必要な各種のデータを含んでいてよい。また、このようなデータには、例えば、シーケンスデータ26が含まれてよい。シーケンスデータ26は、ユーザが行うべきプレイ行為の時期を
実行すべき実行時期を案内するためのデータである。シーケンスデータ26の詳細は後述する。
また、ゲームデータ25は、例えば、その他にも表示装置DPに画像(ゲーム空間を含む)を表示させるための画像データ、スピーカに楽曲を再生させるための楽曲データ、あるいは上述のID管理データ及びプレイデータを含んでいてもよい。また、例えば、このようなID管理データ及びプレイデータは、必要な部分が含まれるように、少なくとも一部がセンターサーバ2から提供されてよい。しかし、それらの図示は省略した。
次に、図4及び図5を参照して、ゲーム提供部27の処理によってユーザに提供される音楽ゲームの一例を説明する。図4はゲーム画面を描画するために構築される仮想3次元空間としてのゲーム空間の構成の一例を示している。ゲーム空間30は、ユーザが内部に仮想的に入り込んでゲームをプレイする空間であって、正面壁31a、一対の側壁31b、天井壁31c及び底壁31dにて囲まれた概ね直方体状の空間として構成されている。ゲーム空間30には正面壁31aと平行な仮想基準面32が設定され、ユーザはその仮想基準面32の位置にてゲームをプレイするものとされている。表示装置DPには、ユーザがゲーム空間30内で視線を向けている方向の画像が表示される。
ゲームが開始されると、正面壁31aの適宜の位置にボール33が出現し、そのボール33は仮想基準面32の適宜の位置に向かって移動する。したがって、表示装置DPには、ボール33がユーザに向かって飛んでくるような画像が表示される。正面壁31a、側壁31b、天井壁31c及び底壁31dはいずれもボール33が跳ね返る壁面として設定されている。したがって、図中に経路Waにて例示したように、ボール33は、正面壁31aから側壁31b、天井壁31c及び底壁31dの少なくともいずれか一つの壁面(図示例では底壁31d)にて跳ね返って仮想基準面32に向かうような挙動を示し得る。もちろん、側壁31b、天井壁31c及び底壁31dのいずれにも衝突することなく正面壁31aから仮想基準面32へとボール33が向かう場合もあり得る。
ゲーム空間30の仮想基準面32上、又はその近傍にはラケット34が設けられる。ラケット34は、入力装置22の操作部22aに対応してゲーム空間30に配置されるオブジェクトの一例である。ユーザが筐体6の収容部CAに入って操作部22aを手に持つと、その操作部22aの位置及び向きに応じた位置及び向きでラケット34が配置される。ユーザが操作部22aを振るといった操作を行うと、その操作に応じてラケット34の位置及び向きがゲーム空間30内で変化する。つまり、ユーザは操作部22aを介してゲーム空間30内のラケット34を仮想的に操作することができる。ユーザがボール33の到来位置及び到来時期に合わせるようにしてラケット34を操作すると、ボール33はラケット34にて打ち返され、所定の経路Wbに沿って正面壁31a側へと移動する。ただし、打ち返されたボール33(図ではハッチングを付して示す。)の経路Wbは、図中に破線で例示したように、ラケット34の操作状況に応じて適宜に変化する。ラケット34で打ち返されたボール33は、例えば正面壁31aに達した時点、又はその前後の適宜の時点でゲーム空間30から消滅するように処理されてもよいし、正面壁31aにて跳ね返って再び仮想基準面32へと向かうように処理されてもよい。
一方、ユーザがボール33に合わせてラケット34を適切に操作できない場合にはミスとなり、ボール33はゲーム空間30から消滅する。このように、図4の例では、少なくとも正面壁31aからユーザに向かって飛来するボール33をユーザがラケット34にて仮想的に打ち返すような、あたかもテニスやスカッシュのごときゲームが行われる。なお、ネットワーク3を介してゲーム機GM間でゲームの対戦が行われる場合、正面壁31aは対戦相手のユーザにおける仮想基準面32として機能させてもよい。すなわち、対戦相手のユーザがラケット34を適切に操作した場合には正面壁31aにてボール33が跳ね返ってユーザに向かって飛来し、対戦相手のユーザがラケット34を適切に操作できなかった場合はボール33が正面壁31a上、又はその前後の適当な位置でゲーム空間30から消滅するようにゲーム内容が設定されてもよい。ボール33が正面壁31aに出現する時期(打ち返されたボール33が正面壁31aにて跳ね返る場合にはその到達時期も含む。)、及び仮想基準面32に到来する時期はシーケンスデータ26に基づいて制御される。また、ボール33が移動する経路Wa、Wb及び移動速度Vは、正面壁31a又は仮想基準面32にボール33が位置すべき時期と、ラケット34の操作状況とに基づいて制御される。これらの点は後述する。
図5は、上述したゲーム空間30に基づいて表示装置DPの表示面DP2に表示されるゲーム画面の一例を示している。図5のゲーム画面40は、ゲーム空間30をユーザの視線の方向に沿って所定の視野角で観察した様子を2次元画像として表現するものである。ゲーム画面40には、ゲーム空間30における正面壁31a、側壁31b、天井壁31c及び底壁31dにそれぞれ対応した正面壁画像41a、側壁画像41b、天井壁画像41c及び底壁画像41dと、仮想基準面32に対応した基準標識42と、ボール33に対応した指示標識の一例としてのボール画像43と、ラケット34に対応したラケット画像44とが表示される。基準標識42は、ゲームのプレイ中における現在時刻を示すもので、仮想基準面32の外形枠、つまり、仮想基準面32と、側壁31b、天井壁31c及び底壁31dとの交線に沿った矩形枠状の画像として表示される。なお、図5では、正面壁画像41aからユーザに向かって飛来するボール画像43をハッチングで示し、ユーザによって正面壁画像41a側に打ち返されたボール画像43を白抜きで示している。図5の例では、ユーザに向かって飛来する2球のボール画像43が表示され、ユーザが打ち返した1球のボール画像43が表示されているが、一画面内に表示されるボール画像43の個数、言い換えればゲーム空間30内に存在するボール33の個数はゲームのプレイ中におけるユーザの操作に対する評価の状態に応じて適宜に変更される。この点は後述する。
ゲーム画面40には、ゲーム中の特定の時刻を示す矩形状の補助枠45A、45Bも表示される。それらの補助枠45A、45Bが示す時刻は、基準標識42が示す現在時刻に対して将来に向かって所定時間だけ遅れた時刻に設定される。一例として、補助枠45Aは、ゲーム中に再生される楽曲の一小節に相当する時間長だけ遅れた時刻、補助枠45Bは楽曲の二小節に相当する時間長だけ遅れた時刻にそれぞれ対応する位置に表示される。ただし、補助枠45A、45Bは楽曲の再生に合わせた速度でゲーム空間30を移動するように表示されてもよい。その場合、例えば補助枠45A、45Bは楽曲の各小節における先頭の拍の位置、あるいは小節の区切りといった位置に合わせてゲーム空間30を移動するように表示することができる。
さらに、ゲーム画面40には評価画像46も表示される。評価画像46はゲームのプレイ中にゲーム提供部27が逐次実行する操作の評価に関連した情報をユーザに提示する画像である。図示の例では、評価に関連した情報としてコンボ数が「+500 COMBO」と表示されている。コンボ数は、ゲーム提供部27にて所定の評価を得た操作の継続状態、すなわち所定の評価を得た操作がどの程度の範囲で継続(又は連続)しているかを定量的に示した継続値の一例である。コンボ数の計数についても後述する。
図6はシーケンスデータ26の一例を示している。シーケンスデータ26は、ゲームのプレイ中にユーザが行うべき操作の内容を記述したデータであって、ボール画像43を表示する基礎となるデータである。シーケンスデータ26には、少なくとも仮想基準面32に対するボール33の到達時期及び仮想基準面32上の到達位置とを対応付けた情報としてのレコードの集合が含まれている。つまり、一組のレコードは、ゲーム中のどのような時期に仮想基準面32上のどの位置にボール33を到達させるべきか、を指定した情報である。ユーザは、そのレコードにて指定された到達時期及び到達位置に合わせてラケット34を操作することにより、ボール33を仮想的に打ち返すことができる。なお、図6は一組のレコードを示すが、実際には楽曲に合わせて多数のレコードがシーケンスデータ26に記録される。正面壁31aへの到達時期は、例えばゲーム中に再生される楽曲の拍位置といったように楽曲に合わせた時期に設定される。ユーザがラケット34にて打ち返したボール33が正面壁31aにて再び跳ね返る場合には、その打ち返したボール33の正面壁31aに対する到達時期及び到達位置もシーケンスデータ26に記述される。この場合の到達時期も楽曲に合わせた時期に設定される。到達位置は仮想基準面32又は正面壁31a上のゲーム空間30における座標値により指定することができる。なお、正面壁31aにてボール33が跳ね返るようにボール33の挙動を制御する場合、シーケンスデータ26には各レコードに記述された到達時期及び到達位置が仮想基準面32又は正面壁31aのいずれに対応するものであるかを指定する情報が含まれてよい。
図7は、ゲーム提供部27の詳細を示す機能ブロック図である。ゲーム提供部27には、制御ユニット20とゲームプログラム24との組み合わせによって実現される論理的装置として、データ取得部50、指示補正部51、座標演算部52、操作評価部53、コンボ管理部54及び画面生成部55が設けられる。データ取得部50は、シーケンスデータ26からゲーム画面40に表示すべき範囲(以下、表示範囲と呼ぶことがある。)のレコードを読み取る。表示すべき範囲としては、例えば楽曲中の現在時刻から将来に向かって所定数の小節(一例として2小節)の範囲とすることができる。指示補正部51は、データ取得部50が読み取ったレコードに含まれている操作(到達時期及び到達位置によって指定される操作)に対応するボール33とは異なる新たなボール33をコンボ数に応じて追加し、又はボール33を削除することによりゲーム画面40に表示される指示標識としてのボール画像43の個数を増減させる。指示補正部51によるボール33の増減については後に詳しく説明する。
座標演算部52は、データ取得部50及び指示補正部51によって特定されたボール33の到達時期及び到達位置の情報と、入力装置22から与えられる操作部22aの操作状況の情報とに従ってゲーム空間30におけるボール33の移動経路Wa、Wbを決定し、かつ移動経路Wa、Wb上におけるボール33の位置をゲーム画面40のフレームごとに繰り返し演算する。例えば、仮想基準面32に対する到達時期及び到達位置が指定されたレコードに関しては、その到達時期に対して所定の時間長だけ早い時期(表示範囲の時間長と一致する。)にそのレコードに対応するボール33を正面壁31aの所定位置に配置し、仮想基準面32に向かうボール33の移動経路Waを適宜に決定した上で、シーケンスデータ26にて指定された時期にボール33が仮想基準面32の指定された位置に到達するために必要なボール33の移動速度を演算する。そして、ボール33の移動速度とゲームの現在時刻と到達時期との時間差とに基づいて、ボール33の移動経路Wa上の位置をボール33の座標として演算することができる。
ラケット34にて打ち返されたボール33について、正面壁31aに到達すべき時期及び位置がシーケンスデータ26にて指定されている場合にも、上記と同様にボール33がラケット34にて打ち返された位置から正面壁31aの到達位置までの間に移動経路Wbを設定してボール33が正面壁31aに指定された時期に到達するための移動速度を演算し、その移動速度と、ゲームの現在時刻と正面壁31aの到達時期との時間差とに基づいてボール33の座標を演算することができる。ただし、移動経路Wbを決定する際には、ラケット34がボール33を捉えた時期及び位置、ラケット34のガット面の向き、並びに、ラケット34が操作された速度(あるいは加速度)の少なくともいずれか一つのパラメータ(以下、操作パラメータと呼ぶことがある。)を考慮して移動経路Wbが設定されてもよい。
例えば、現実のテニスやスカッシュのように、ラケット34が操作されたタイミング、あるいはラケット34のどの位置にどのような角度でボール33が当たったか、あるいはラケット34がどの程度の速度(又は加速度)で振られたか、に応じてボール33の移動方向や移動速度が変化するように移動経路Wbが設定されてもよい。なお、移動経路Wbを適宜に変化させても、移動経路Wbの経路長とボール33の移動速度とを調整することにより、指定された時期にボール33が正面壁31aに到達するようにボール33の移動を制御することが可能である。正面壁31aに対するボール33の到達時期及び到達位置が指定されず、かつラケット34で打ち返されたボール33が正面壁31aにて跳ね返ることなく正面壁31a上又はその前後で消滅する場合には、ラケット34の操作パラメータに基づいてボール33の移動経路Wb及び移動速度を定めてよい。
操作評価部53は、ゲームのプレイ中にユーザが行う個々の操作を所定の評価基準に従って逐次評価する。例えば、操作評価部53は、入力装置22から与えられる操作部22aの操作状況を示す情報と、指示補正部51から与えられるボール33の到達時期及び到達位置の情報とに基づいてユーザの個々の操作をゲームのプレイ中に逐次評価する。それにより、操作評価部53は操作評価手段の一例として機能する。あるいは、操作評価部53は、指示補正部51から与えられる情報に加えて、又は代えて座標演算部52から与えられるボール33の座標の情報を参照してユーザの操作を評価してもよい。
到達時期及び到達位置の情報に基づく操作の評価手法の一例を図8に示す。図8の例では、仮想基準面32に対するボール33の到達位置を中心として球状の判定エリア60が設定される。ユーザがラケット34にてボール33を打ち返した場合、そのボール33とラケット34とが接触した時点におけるラケット34の基準位置が判定エリア60内にあればボール33に対応する操作に成功したものと評価され、基準位置が判定エリア60外の場合、あるいはユーザがボール33を打ち返すことができなかった場合には操作に失敗したものと評価される。ラケット34の基準位置は、一例としてボール33を打ち返すに適した位置に設定することができ、典型的にはラケット34のガット面における中心位置、あるいはガット面のスイートスポットの中心位置に設定することができる。判定エリア60がさらに複数の小エリア61に区分され、ボール33とラケット34とが接触した時点におけるラケット34の基準位置がボール33の到達位置に近い小エリア61に位置するほどユーザの操作が高く評価されるといったように、ユーザの操作が複数段階に分けて評価されてもよい。
図8の判定エリア60は、仮想基準面32に対するボール33の到達時期及び到達位置を基準として、ボール33とラケット34とが接触した時期及びその基準位置がどの程度ずれているかを検出し、それらのずれが判定エリア60、あるいは小エリア61によって定義される許容範囲内か否かを評価基準としつつユーザの個々の操作を評価するものである。判定エリア60はボール33の飛来に対するラケット34の操作のタイミング及び位置に対する許容範囲を定義できるものであれば足り、その形状は球状に限らない。例えば、図9に示すように仮想基準面32におけるボール33の到達位置を基準としてゲーム空間30の奥行き方向(言い換えれば時間軸方向)に沿って円柱状の判定エリア60が設定されてもよく、さらにその判定エリア60が複数の小エリア61に区分されてもよい。その他にも、判定エリア60は、楕円体状、ラグビーボール状その他の適宜の3次元形状に設定されてよい。また、判定エリア60は仮想基準面32上のボール33の到達位置に対してゲーム空間30の奥行き方向前後に対称的に設けられる例に限らない。ボール33の移動経路Waに沿って判定エリア60が設定されてもよい。
操作評価部53は、操作の時期及び位置のずれに基づく評価基準とは異なる基準に従ってユーザの個々の操作を評価してもよい。例えば、図10に示すようにゲーム空間30にオブジェクトの一種としてターゲット62を配置し、ラケット34にて打ち返されたボール33がターゲット62に当たった場合に操作に成功したものと評価し、ボール33がターゲット62から外れた場合に操作に失敗したものと評価するといった評価基準が採用されてもよい。この場合には、ユーザに向かって飛来するボール33をラケット34にてどのように打ち返したかをラケット34の操作パラメータに基づいて判別し、その判別結果に応じてボール33の移動経路及び移動速度を決定してターゲット62への衝突の有無が制御されてもよい。移動経路等の決定については、現実のテニスやスカッシュにおけるボールの挙動が再現されるように、ラケット34の操作パラメータがボール33の挙動に与える影響を物理法則に従って演算するといった手法が採用されてよい。なお、移動経路及び移動速度の情報は座標演算部52から受け取ることができるが、操作評価部53にて演算されてもよい。なお、図10の例でもターゲット62を複数の小エリア63に区分し、中心に近い小エリア63ほどボール33が当たったときの評価が高くなるように、ユーザの操作を複数段階に分けて評価してもよい。図10ではターゲット62を円形としているが、ターゲット62は適宜の形状とされてよく、キャラクタのように一定の姿形を持つターゲット62が用意されてもよい。ターゲット62がゲーム空間30内で静止していてもよいし、適宜に動いてもよい。以上の他にも、操作評価部53は適宜の評価基準に従ってユーザの個々の操作の優劣を評価してよい。
図7に戻って、コンボ管理部54は、操作評価部53から個々の操作の評価結果を取得して所定の評価が得られた操作の継続状態を監視し、継続している場合にはその継続数を継続値の一例として計数する。例えば、コンボ管理部54は、操作評価部53にて操作が成功したと判断された場合にその操作を所定の評価が得られた操作とみなし、そのような操作が連続している場合(以下、そのような継続的な操作をコンボ操作と呼ぶことがある。)にその継続数を計数することができる。図8〜図10に例示したように、ユーザの操作が複数段階に分けて評価される場合には、一定のレベル以上の評価(例えば最良の評価)が得られた操作を所定の評価が得られた操作とみなし、そのように評価された操作が連続している場合にその継続数を計数してもよい。なお、一回でも所定の評価が得られなかった操作が生じた場合、それをもってコンボ操作の継続が絶たれたものとして継続数が0にリセットされてもよいが、例えば操作ミス後に一定の条件を満たすように操作が続けられた場合、継続数をリセットすることなく積算するといった救済措置が設定されてもよい。例えば、操作ミス後に最良の評価が得られた操作が所定数連続するといった場合に救済を認めるといった設定が可能である。
コンボ管理部54にて計数される継続数はコンボ数として指示補正部51及び画面生成部55に適宜通知される。指示補正部51はそのコンボ数を参照して、シーケンスデータ26にて記述されたボール33とは異なる新たなボール33を追加するようにシーケンスデータ26を補正する。ボール33の追加は、結果としてゲーム画面40における指示標識の一例としてのボール画像43の追加に相当する。画面生成部55は、座標演算部52にて演算されたボール33の座標を参照してゲーム空間30を仮想的に構築し、表示装置DPから与えられるユーザの頭の動きに関する情報を参照してゲーム空間30に対するユーザの視線方向を決定し、その視線方向に沿って所定の視野角でゲーム空間30を観察した2次元画像としてのゲーム画面40を生成して表示装置DPに提供する。なお、ゲーム画面40を生成する際に、画面生成部55はコンボ管理部54が計数するコンボ数といったゲームの付帯情報を取得し、その情報もゲーム画面40に表示されるようにゲーム空間30を構築する。
次に、指示補正部51によるボール33の個数の増減処理を説明する。指示補正部51はコンボ数に応じてボール33の個数を変更するが、その際にコンボ数を複数のレベルに区分し、レベルに応じてボール33の個数を制御する。図11はコンボ数Ncとレベルとの基本的な対応関係の一例を示す。この例では、コンボ数Ncが50未満の場合はレベル1、50以上100未満の場合はレベル2、100以上150未満の場合はレベル3、150以上の場合はレベル4にそれぞれ設定される。ただし、コンボ数Ncとレベルとの対応関係は適宜でよい。図11の例では、コンボ数Ncが50増加するごとにレベルが一段階上昇するものとしたが、レベル間のコンボ数Ncの差も適宜でよい。図11の例では、コンボ数50、100及び150が継続値を複数段階に区分する所定値の一例に相当する。
図12はレベルとボール33の個数との対応関係を示している。図12のボール数は、シーケンスデータ26の読み取り範囲、つまり表示範囲(一例として2小節相当)において到達時期が指定されるボール33の個数を意味する。つまり、ゲーム画面40の一画面内に表示されるボール33のうち、ユーザに向かって飛来するボール33の個数である。レベル1ではボール数は1、レベル2ではボール数が2、レベル3ではボール数が3、レベル4ではボール数が4にそれぞれ設定されている。すなわち、レベルが一段階上昇するごとに、一画面内に表示されるボール33(ただし、ユーザに向かって飛来するボール)の個数が一つ増加する。指示補正部51はコンボ管理部54から通知されるコンボ数Ncを参照してユーザのレベルを判別し、そのレベルに応じて一画面内のボール33の個数が図12に従って変化するようにシーケンスデータ26を補正する。
図12はゲームの時間経過を横軸に、コンボ数を右縦軸に、レベルを左縦軸にそれぞれ設定して、コンボ数とレベルとの変化の一例を示した図である。図12の例では、ゲームの時間の経過に伴ってコンボ数が徐々に増加し、時刻Tmではレベルが4まで上昇したと仮定する。その時刻Tmにてコンボ操作の継続が絶たれた場合、コンボ数は初期値の0にリセットされる。しかし、レベルに関してはレベル4からレベル3へと一段階低下するに止まる。これは、コンボ操作が途切れた場合にレベルを初期値の1に戻すと、ボール33の個数が急激に減少し、それに伴ってゲームの難易度が顕著に低下してその興趣が損なわれるおそれがあるためである。コンボ操作の継続が絶たれた後には、レベル4に対応する範囲までコンボ数が積算されるまではレベル3に維持される。そして、コンボ数がレベル4に対応した150以上の範囲に達すると、再びレベルが4に上昇し、ボール33の個数が1つ増加する。なお、レベル4から降格する場合のレベル3は特定段階の一例に相当する。図11の例では特定段階をレベル4から一段階低いレベルとして設定したが、特定段階はコンボ操作が絶たれる前のレベルよりも低く、かつコンボ数が最小値である0のときのレベルよりも高い範囲であればよい。
指示補正部51において、ボール33の個数をどのように変化させるかは適宜に定めてよいが、一例として図14のようにボール33の個数を増減してもよい。図14は楽曲の構成と、レベル1〜4のそれぞれにおけるボール33の仮想基準面32に対する到達時期との対応関係を示している。レベル1〜4のそれぞれに付された丸印が到達時期を示し、ハッチングが付された丸印は一段低いレベルに対して新たに追加されるボール33に対応する到達時期を示している。なお、図14の例では、データ取得部50が取得するシーケンスデータ26の範囲(表示範囲)が楽曲の2小節に設定されているものと仮定する。また、図14では楽曲が4/4拍子であり、曲の各小節の拍位置を四分音符にて示しているが、実際の楽曲の構成がこれに限られないことは勿論である。
図14の例において、まず、レベル1では原データとしてのシーケンスデータ26がそのまま利用され、指示補正部51によるボール33の個数変更は行われない。この場合、楽曲の2小節ごとに1球のボール33が仮想基準面32に到達するものとしてシーケンスデータ26が構築される。ボール33の仮想基準面32への到達時期は、一例として2小節ごとに1拍目の位置に設定される。次に、レベル2では、2小節ごとに1球のボール33が仮想基準面32に到達するように指示補正部51がボール33を追加する。その追加位置は、例えばレベル1における到達時期間の中間、つまり一つの表示範囲内における2小節目の1拍目の位置がボール33の到達時期となるように設定されてよい。さらに、レベル3では、表示範囲ごとの適当な位置、例えば1小節目の3拍目といった他の拍位置がボール33の到達時期となるように新たなボール33が追加され、レベル4ではさらに別の拍位置、例えば2小節目の3拍目といった位置がボール33の到達時期となるように新たなボール33が追加される。レベルが低下する場合、例えばレベル4からレベル3へと降格する場合には、レベル3からレベル4への昇格時に追加されたボール33が削除されることになる。
図15は、ゲーム提供部27がゲーム画面40を生成するために実行するシーケンス処理の手順を示している。図15の処理は表示装置DPにおける画像の描画周期に同期して繰り返し実行される処理である。シーケンス処理を開始すると、ゲーム提供部27のデータ取得部50がゲームの現在時刻を取得し(ステップS1)、その現在時刻を基準とした表示範囲内に含まれるシーケンスデータ26を取得して指示補正部51に提供する(ステップS2)。次に、指示補正部51はコンボ管理部54が計数するコンボ数に基づいてゲーム空間30に配置すべきボール33の個数を補正する(ステップS3)。次に、ゲーム提供部27の座標演算部52は、指示補正部51から補正後のシーケンスデータ26を取得し(補正がない場合も含む。)、そのデータに基づいてゲーム空間30の仮想基準面32に対するボール33の到達位置及び到達時期を特定する(ステップS4)。なお、ラケット34にて打ち返されたボール33がゲーム空間30に存在し、かつそのボール33が正面壁31aに到達すべき位置及び時期がシーケンスデータ26にて指定されている場合は、ステップS4でその位置及び時期も特定される。
次に、座標演算部52はステップS4で取得した到達位置及び到達時期に基づいてゲーム空間30に配置すべきボール33の移動経路及び移動速度を演算する(ステップS5)。ただし、前回までのシーケンス処理にて移動経路及び移動速度が演算されているボール33についてはステップS5の処理が省略されてよい。その後、座標演算部52は、ボール33の移動経路及び移動速度に従って次の描画時期におけるゲーム空間30内のボール33の座標を演算し、その演算結果を画面生成部55に提供する(ステップS6)。画面生成部55は、与えられたボール33の座標に従ってゲーム空間30にボール33を配置する(ステップS7)。なお、ゲーム空間30には、コンボ数その他の付帯情報等を示すオブジェクトがさらに配置されてもよい。
次に、画面生成部55は、表示装置DPから提供されるユーザの顔の動きを示す情報に従ってユーザの視線方向を判別する(ステップS8)。その後、画面生成部55はゲーム空間30をユーザの視線方向に沿って所定の視野角で観察した2次元画像としてのゲーム画面40を生成する(ステップS9)。ステップS9の処理後、ゲーム提供部27は今回のシーケンス処理を終える。ステップS9で生成されたゲーム画面40は表示装置DPに表示させるための映像信号に変換されて表示装置DPに提供される。それにより、図5に例示したようなゲーム画面40が表示装置DPの表示面DP2に表示される。
図16は、図15のステップS3にて実行されるボール数補正処理の詳細を示している。ボール数補正処理が開始されると、指示補正部51はまずコンボ管理部54が計数するコンボ数Ncを判別し(ステップS11)、次にユーザの現在のレベルを判別する(ステップS12)。ユーザの現在のレベルは、図16の処理が行われるごとに制御ユニット20の内部記憶装置に保存しておくことにより適宜に判別可能である。次に、指示補正部51は、ステップS1で取得したコンボ数Ncが、ステップS2で判別した現在のレベルよりも一段階上のレベルに対応する範囲に到達しているか否かを判別する(ステップS13)。次のレベルに対応する範囲までコンボ数Ncが到達していれば、指示補正部51はレベルを一段階昇格させ(ステップS14)、一画面に表示されるボール33の個数が一つ増加するように、図15のステップS1で取得したシーケンスデータ26に新たなボール33に対応する到達時期及び到達位置等の情報を追加する(ステップS15)。この場合の追加方法は例えば図14に示した通りでよい。
ステップS13にてコンボ数Ncが次のレベルに対応した範囲に到達していないと判断した場合、指示補正部51はコンボ数Ncがリセットされたか否かを判別する(ステップS16)。リセットされていない場合、指示補正部51はステップS12で判別した現在のレベルが1か否かを確認し(ステップS17)、レベルが1でなければユーザのレベルを一段階降格させる(ステップS18)。その後、指示補正部51は、一画面に表示されるボール33の個数が一つ減少するように、降格前のレベルにて追加されていたボール33が削除されるようにシーケンスデータ26の補正内容を変化させる(ステップS19)。例えば、降格前がレベル4でレベル3に降格する場合には、それまで原データとしてのシーケンスデータ26に対して一画面につき3個のボール33が追加されるように補正が行われていたところを、次回は一画面につき2個のボール33が追加されるように補正内容が変更される。
ステップS15にてボール33を追加し、又はステップS19にてボール33を削除した後、指示補正部51は今回の処理を終える。また、ステップS17にてレベル1と判断した場合、指示補正部51は降格の余地がないために、レベルを変更することなく今回の処理を終える。ステップS16でコンボ数Ncがリセットされていないと判断した場合、指示補正部51は現在のレベルに対応した補正を維持し(ステップS20)、その後、今回の処理を終える。
以上の形態では、ゲーム提供部27のデータ取得部50、指示補正部51、座標演算部52及び画面生成部55が協働して図15のシーケンス処理を実行することにより、操作指示手段の一例として機能し、指示補正部51が図16の処理を実行することにより操作指示補正手段の一例として機能する。
本発明は上述した形態に限定されず、適宜の変形又は変更が施された形態にて実施されてよい。例えば、上記の形態では図13に示したように、コンボ操作の継続が絶たれてレベルを一段階降格させた後、降格前のレベルに対応した範囲までコンボ数が増加しない限り同一レベルが維持されるものとした。しかしながら、降格後のレベル変更は例えば図17に示すように制御されてもよい。図17の例では、時刻Tmにてコンボ数が0にリセットされてレベル4からレベル3へと降格が行われた後であっても、その後にコンボ数がレベル間の差分(図11の例ではどのレベル間でも差分が50である。)に達した場合にレベルを一段階昇格させている。この場合は、僅かなミスでコンボ操作が途切れても、差分に相当する数だけコンボ操作を継続すればレベルが昇格してボール33の個数が増加する。そのため、レベルの降格後、比較的早期に難易度が上昇することになり、レベルが上昇しないことによってゲームの興趣が損なわれるおそれを低減し、又は解消することができる。ただし、図17の場合は降格後のレベル上昇が早期に生じるため、レベルの上限を図11のレベル4よりも高く設定し、それにより、さらなる高難易度のゲームが提供できるように配慮してもよい。
図18は、図17に対応するボール数補正処理の手順を示している。図18の処理は図16のステップS13に代えてステップS13A及びS13Bを追加したものである。指示補正部51はステップS13Aにて、直近のレベル変更以降のコンボ数Ncの増加数(増分)がレベル間のコンボ数の差分に達したか否かを判別し、達していればステップS13Bに進んでレベルが上限レベルに達しているか否かを判別する。そして、上限レベルに達していない場合、指示補正部51はステップS14に進み、上限レベルに達していればレベルを昇格させることなく今回の処理を終える。なお、ステップS13Aにて増加数が差分に達していない場合、指示補正部51はステップS16に進む。このような処理を実行することにより、図17に示すようにレベルを制御することができる。この場合も指示補正部51は指示補正手段の一例として機能する。
上記の形態では、評価の状態としてコンボ数を参照してボール画像43を増減させたが、評価の状態はこれに限らず、ゲームのプレイ中に行われる一連の操作に対する評価結果を総合することによりユーザの技量を推定できる限りにおいて、種々の形態で評価の状態を判別してもよい。例えば、ユーザの個々の操作に対する評価が高い場合にはゲージ量を増加させる一方で評価が低い場合はゲージ量を減少させ、ゲージ量が一定時間所定レベル以上に維持されている場合に指示標識を追加するといった処理が行われてもよい。あるいは、所定の評価が得られている操作の継続数に代えて、又は加えて所定の評価が継続している時間長を計測し、その時間長が所定値に達した場合に指示標識を追加するといった継続時間に基づく処理が行われてもよい。つまり、所定の評価が得られた操作の継続状態を定量的に示す継続値は、コンボ数に限らず、コンボ操作の継続時間であってもよく、あるいはコンボ数やコンボ操作の継続時間をゲージ量、体力その他のパラメータに置き換えて示した値であってもよい。
ユーザの操作に対する評価は単一の操作ごとに行われる例に限らない。例えば、一小節単位といった適宜の単位でユーザの操作が評価されてもよい。あるいは、単一の操作ごとに評価を行う一方で、一小節単位といった適宜の区切りで操作の成否を判別し、操作に成功した場合にはコンボ数を加算するといった変形も可能である。
上記の形態ではレベル1のときに原データとしてのシーケンスデータ26に基づく指示標識のみを表示させ、レベルの上昇に伴って指示標識を漸次追加するものとしたが、例えばシーケンスデータ26を図14のレベル4の状態に対応させ、レベルが下がるごとにシーケンスデータ26に記述された操作のうち一部の操作に対応した指示標識を指示補正部51にて削除するように補正処理を適用することにより、評価の状態に応じた指示標識の増減を実現してもよい。原データとしてのシーケンスデータ26を中間的なレベルに対応させ、レベルの上昇に伴って指示補正部51にて新たな指示標識を追加する一方、レベルの低下に伴って指示補正部51にて一部の指示標識を削除するようにしてもよい。つまり、指示標識の個数を変更するための補正処理は、原データとしての操作指示データに対して新たな指示標識を追加する処理、及び操作指示データに対応する指示標識の一部を削除する処理の少なくともいずれか一方の処理を原データとしての操作指示データに対して施すものであればよい。
上記の形態では、一画面に表示される指示標識の個数をレベルの変化に応じて一つずつ増減させているが、指示標識の増減はこれに限らず適宜の形態にて実施されてよい。例えば、レベルが上昇するほど指示標識の増加個数を大きくするといった変形も可能である。あるいは、一画面内に表示される指示標識の個数を不定としつつレベルの上昇に伴って一画面に出現する指示標識の平均個数が増加するように指示標識の個数が制御されてもよい。
ユーザの操作は操作部22aのような物理的な操作部材をユーザが物理的に操作する態様に限られない。例えば、ユーザの手や足といった身体の一部の所作をゲームシステム側に検出させることにより、その所作に応じた反応をゲームに生じさせる行為もユーザの操作の概念に含まれる。
上記の形態では、指示標識の一例としてのボール画像43を基準標識42に向かって移動させることにより個々の操作をユーザに指示するものとしたが、指示標識をゲーム画面上で静止させる一方で基準標識を移動させ、あるいは指示標識及び基準標識の両者を移動させてユーザに操作を指示するものとしてもよい。ゲームシステムは、ネットワークを介して複数のゲーム機が相互に接続された形態に限定されず、いわゆるスタンドアローンとして構成されたゲーム機、据え置き型のゲーム機、携帯型ゲーム機、あるいはパーソナルコンピュータやスマートフォン等の個人用のコンピュータ装置を利用したゲーム機としてゲームシステムが構成されてもよい。
上述した実施の形態及び変形例のそれぞれから導き出される本発明の各種の態様を以下に記載する。なお、以下の説明では、本発明の各態様の理解を容易にするために添付図面に図示された対応する部材を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明の一態様に係るゲームシステム(1)は、ゲームのプレイ中にユーザが行うべき複数の操作のそれぞれを操作が行われるべき時期と対応付けて記述した操作指示データ(26)に基づいてゲーム画面(40)上に指示標識(43)を表示させるとともに、前記ゲーム中の現在時刻に対応する基準標識(42)を前記ゲーム画面上に表示させ、前記指示標識と前記基準標識とを前記ゲーム画面内で相対的に移動させることにより、前記複数の操作のそれぞれを各操作が行われるべき時期を示しつつ前記ユーザに指示する操作指示手段(50、51、52、55、S1〜S9)と、前記ユーザが行った複数の操作のそれぞれを所定の評価基準に従ってプレイ中に評価する操作評価手段(53)と、を具備し、前記操作指示手段には、前記操作評価手段における評価の状態に応じて前記ゲーム画面上に表示される指示標識の個数が増減するように、前記操作指示データに記述された操作に対応する指示標識とは異なる新たな指示標識を追加する処理、及び前記操作指示データに記述された操作に対応する指示標識から一部の指示標識を削除する処理の少なくともいずれか一方の処理を、前記操作指示データに対する補正処理として、前記評価の状態に応じて実行する操作指示補正手段(51、S11〜S20)が設けられているものである。
本発明の一態様に係るゲームシステム用のコンピュータプログラム(24)は、ゲームシステム(1)に設けられたコンピュータ(20)を、ゲーム中にユーザが行うべき複数の操作のそれぞれを操作が行われるべき時期と対応付けて記述した操作指示データ(26)に基づいてゲーム画面(40)上に指示標識(43)を表示させるとともに、前記ゲーム中の現在時刻に対応する基準標識(42)を前記ゲーム画面上に表示させ、前記指示標識と前記基準標識とを前記ゲーム画面内で相対的に移動させることにより、前記複数の操作のそれぞれを各操作が行われるべき時期を示しつつ前記ユーザに指示する操作指示手段(50、51、52、55、S1〜S9)、及び前記ユーザが行った複数の操作のそれぞれを所定の評価基準に従ってプレイ中に評価する操作評価手段(53)として機能させ、前記操作指示手段には、前記操作評価手段における評価の状態に応じて前記ゲーム画面上に表示される指示標識の個数が増減するように、前記操作指示データに記述された操作に対応する指示標識とは異なる新たな指示標識を追加する処理、及び前記操作指示データに記述された操作に対応する指示標識から一部の指示標識を削除する処理の少なくともいずれか一方の処理を、前記操作指示データに対する補正処理として、前記評価の状態に応じて実行する操作指示補正手段(51、S11〜S20)が設けられるように構成されたものである。
上記態様によれば、ユーザの操作がどのように評価されているかに応じて指示標識の個数が増減されることにより、ユーザの技量レベルに応じてゲームの難易度を変化させることができる。しかも、指示標識の増減は、操作指示データにて記述された操作に対応する指示標識とは異なる新たな指示標識を追加する処理、あるいは操作指示データに記述された操作に対応する指示標識から一部の指示標識を削除する処理によって実現されるので、難易度が異なる複数種類の操作指示データを選択的に使用しなくとも難易度を変化させることが可能である。さらに、指示標識を増減する規則等を適宜に調整することにより、難易度を柔軟に変化させることができる。それにより、ユーザの技量に応じて難易度を適切に変化させて、ゲームの興趣が損なわれるおそれを低減し、又は解消することができる。
なお、本発明の一態様に係るコンピュータプログラムは、記憶媒体に記憶された状態で提供されてもよい。この記憶媒体を用いれば、例えばコンピュータに本発明に係るコンピュータプログラムをインストールして実行することにより、そのコンピュータを利用して本発明のゲームシステムを実現することができる。コンピュータプログラムを記憶した記憶媒体は、CDROM等の非一過性の記憶媒体であってもよい。
上記態様において、前記操作指示補正手段は、前記操作評価手段にて所定の評価が得られた操作の継続状態を定量的に示した継続値が所定値に達した場合に前記指示標識の個数が増加するように前記補正処理を実行してもよい。これによれば、所定の評価が得られた操作が継続的に行われている場合、ユーザの技量が現在のゲームの難易度と同等かそれを上回るものとみなして指示標識の個数を増加させることにより、ゲームの難易度をユーザの技量に適した程度へと高めることができる。
また、前記操作指示補正手段は、前記補正処理にて前記指示標識の個数が増加した後に前記所定の評価が得られた操作の継続が絶たれた場合には、前記指示標識の個数が減少するように前記補正処理を変化させてもよい。これによれば、所定の評価が得られない状態が生じた場合、それに合わせて指示標識の個数を減少させることにより、ゲームの難易度をユーザの技量に合わせて適切に調整することができる。
さらに、前記継続値が複数の所定値によって複数段階に区分され、前記操作指示補正手段は、前記継続値が各段階の所定値に達するごとに前記指示標識の個数が漸次増加するように前記補正処理を実行し、かつ前記継続が絶たれた場合には、当該継続が絶たれた時点における継続値に対応する段階よりも低い段階であって、かつ前記継続値が最小値のときの段階よりも高い特定段階に従って前記指示標識の個数が制御されるように前記補正処理を実行してもよい。これによれば、所定の評価が得られない状態が生じて継続数が最小値に戻されても、指示標識の個数は当該最小値の段階に応じた個数まで減少することなく特定段階に対応した個数に制御される。したがって、難易度の急激な低下を防止することが可能である。
前記操作指示補正手段は、前記継続が絶たれた場合、その後の操作に関する前記継続値が、前記継続が絶たれたときの段階に対応する所定値に達するまでは前記特定段階に従って前記指示標識の個数が制御されるように前記補正処理を実行してもよい。この場合は、継続が絶たれて指示標識の個数が特定段階に対応するものへと変更された後、その変更前の段階に達するまで継続値が増加しない限り、指示標識の増減に関する補正処理が特定段階に対応する内容に維持される。したがって、継続が絶たれた後の継続値の増加に対応して指示標識の個数の増加が繰り返されてゲームの難易度が過度に上昇するおそれを排除することができる。
前記操作指示補正手段は、前記継続が絶たれた場合、その後の操作に関する前記継続値が各段階の所定値に達するごとに前記指示標識の個数が漸次増加するように前記補正処理を実行してもよい。この場合は、継続が絶たれて指示標識の個数が特定段階に対応する個数へと減少した後、継続値の増加に応じて比較的早い時期に指示標識の個数を増加させることができる。そのため、ゲームの難易度が変化しない状態が過度に継続してゲームの興趣が損なわれるおそれを排除することができる。
上記態様においては、前記ゲームが楽曲の再生に合わせた操作を前記ユーザに指示する音楽ゲームとして構成されるとともに、前記操作指示データは、前記楽曲中の特定の拍と前記操作が行われるべき時期とが一致するように構成され、前記操作指示補正手段は、前記特定の拍以外の楽曲中の位置が前記新たな指示標識に対応する操作の時期として設定されるように前記補正処理としての前記追加する処理を実行してもよい。これによれば、操作指示データでは楽曲の特定の拍位置に合わせて操作を規定しておけば、ユーザの操作に対する評価の状態に応じて特定の拍位置以外の位置に新たな指示標識が追加されてゲームの難易度を高めることができる。そのため、操作指示データを比較的容易に作成でき、かつ楽曲の特定の拍位置以外の位置でもユーザに操作が要求され得るように補正処理を適用してゲームの興趣を高めることが可能である。