以下、図面を参照して本発明の一形態を説明する。本形態は、複数のゲーム機をネットワークに接続したネットワーク型のゲームシステムとして構成されている。まず、ゲームシステムの概要を図1により説明する。ゲームシステム1は、ユーザがゲームをプレイするための複数のゲーム機2と、それらのゲーム機2に対して各種のサービスを提供するサーバ装置としてのセンターサーバ3とを備えている。ゲーム機2とセンターサーバ3とはネットワーク4を介して相互に通信可能に接続されている。ゲーム機2は、一例として、店舗5等の施設に設置され、プレイ料金の支払いと引き換えに、そのプレイ料金に対応した範囲でユーザにゲームをプレイさせる商業用(業務用)のゲーム機である。ただし、本発明は商業用のゲーム機に限らず、家庭用ゲーム機、携帯型ゲーム機、携帯電話、タブレット型端末、パーソナルコンピュータ等の各種の個人用の端末装置をゲーム装置として利用可能である。
センターサーバ3は、単一のサーバユニットにより構成されてもよいし、複数のサーバユニットを組み合わせて構成されてもよい。クラウドコンピューティングを利用して一台の論理的なサーバ装置が構成されてもよい。センターサーバ3が提供するサービスとしては、例えば、ゲーム機2からユーザの識別情報を受け取ってそのユーザを認証し、そのユーザのプレイ結果を記録したプレイデータをゲーム機2から受け取って保存し、あるいはゲーム機2に提供するサービス、ネットワーク4を介して複数のユーザが共通のゲームをプレイする際にユーザ同士をマッチングさせるサービス、ネットワーク4を介してゲーム機2のプログラムあるいはデータを更新するサービス等がある。ネットワーク4は、一例として、インターネット4Aと、ゲーム機2及びセンターサーバ3を収容するLAN4B、4Cとがルータ4Dを介して接続されることにより構築される。
次に、図2〜図6を参照して、ゲームシステム1のゲーム機2で実行されるゲームの特徴を説明する。ゲーム機2では、音楽に合せた操作をユーザに指示し、その指示された操作とユーザが実際に行った操作とを比較してユーザの操作を評価するゲームが行われる。図2はそのゲーム画面の少なくとも一部としての操作案内画面の一例を示している。なお、図2の操作案内画面10は、画面上におけるユーザの接触位置を検出する接触操作検出装置としてのタッチパネルと組み合わせるものであり、その全体が接触操作検出装置の検出範囲内に包含されている。
図2に示したように、操作案内画面10には、大小二つの矩形状の内枠11及び外枠12が設けられている。内枠11と外枠12とに挟まれた範囲は、内枠11と外枠12との各頂点を結ぶ境界線13により、上下左右に四つの領域14U、14D、14L、14R(参照符号14で代表することがある。)に区分されている。ゲームの進行中、各領域14には、ユーザに操作を指示する指示標識の一例として、概略楕円形のオブジェクト15が表示される。オブジェクト15は、内枠11上の適宜の位置に出現する。図中に矢印Aで示したように、オブジェクト15は、ゲーム中に再生される音楽の進行に伴って領域14内の経路RT上を外枠12に向かって徐々に移動する。ユーザには、オブジェクト15が外枠12に達した時点でそのオブジェクト15に対して所定の指定操作を行うことが要求される。したがって、外枠12は現在時刻に対応した基準標識の一例として機能する。
指定操作は、一例としてオブジェクト15を指先で一回叩くタップ操作である。オブジェクト15の外枠12への到達に合せてユーザがタップ操作を行うと、そのオブジェクト15に対応付けられた所定の効果音が再生され、かつユーザのタップ操作が評価される。効果音は、例えばゲーム中の音楽に合わせた楽器音、音声、その他の音楽に重ね合わせて再生するに適した音が選ばれる。操作の評価は、ユーザが行ったタップ操作の時期及び位置と、オブジェクト15が外枠12に達した時期及び外枠12上におけるオブジェクト15の位置、すなわち外枠12に対するオブジェクト15の到達位置との比較に基づいて行われる。例えば、オブジェクト15の移動が所定の時期に外枠12の特定の位置に達するように制御される場合、制御目標として設定されている位置に対して一定の許容範囲内の位置で検出されたタップ操作(ユーザが実際に行った指定操作)の時期と、制御目標の時期とのずれ量が小さいほどユーザのタップ操作が高く評価される。ただし、位置のずれが小さいほど評価が高まるように、位置のずれが評価に考慮されてもよい。効果音の再生は必須ではなく、適宜省略されてもよい。
なお、図2に示した経路RTは、操作案内画面10において表示されてもよいし、表示が省略されてもよい。また、経路RTはオブジェクト15毎に予め指定されてもよいし、オブジェクト15を出現させる際に適宜の方法(一例としてランダム抽選による方法、あるいはユーザに指定させる方法)により決定されてもよい。経路RTは直線状に限らず、少なくとも一部に曲線を含んでもよい。オブジェクト15と外枠12とが重なる位置、言い換えれば外枠12と経路RTとの交差部を含む所定領域がゲーム機2における操作部に相当する。外枠12の各辺を適宜数に区分するようにして外枠12の各辺上に複数の操作部としての到達点が予め設定されてよい。例えば、各領域14に同数の経路RTが等間隔に設定される場合には、それらの経路RTと外枠12との交差部により各領域14における複数の操作部が定義される。オブジェクト15の経路RTがゲーム中に適宜に定められる場合、つまり、オブジェクト15の経路RTが可変の場合でも、オブジェクト15が外枠12に達する位置が結果的に操作部として定義される。
上記の内容は、操作案内画面10の具体的態様を除けば、公知の各種の音楽ゲームにおける操作案内の手法と同様でよい。本形態のゲームシステム1では、オブジェクト15の配置を変更する操作として定義された特定操作が行われたとき、その特定操作に従ってオブジェクト15の配置が変更されるというさらなる特徴を有している。以下、図2〜図6を参照して、特定操作とそれに対応して行われるオブジェクト15の配置変更に関する各種の態様を説明する。
図2は、ユーザが指先Fでオブジェクト15にタッチし、その指先Fを画面から離すことなく一定の方向に滑らせた場合、オブジェクト15が指先Fを滑らせた方向の領域14に移動する例を示している。例えば、図2に矢印M1で示すように、ユーザからみて下側の領域14Dにあるオブジェクト15にユーザが指先Fでタッチし、その指先Fを右方向に滑らせた場合、オブジェクト15は同図破線で示したように右側の領域14Rに移動する。この場合、ユーザがオブジェクト15にタッチすることにより、配置を変更すべきオブジェクト15が指定され、指先Fを滑らせることにより、オブジェクト15の移動先又は移動方向が指定される。この例はタッチパネルに対するフリック操作、又はスワイプ操作として知られている操作を特定操作として利用してオブジェクト15の配置を変更するものである。この場合、配置変更の対象として指定されたオブジェクト15を他のオブジェクト15とは異なる態様(例えば色、輝度等が異なる態様)で表示されてもよい。なお、移動先とは、オブジェクト15が移動すべき新たな領域又は位置を意味し、移動方向とは、オブジェクト15が移動すべき方向を意味する。
図2の例において、移動先となる右側の領域14Rにおけるオブジェクト15の位置は適宜に定めることができる。一例として、指先Fを滑らせた方向の延長上にオブジェクト15を移動させてもよい。あるいは、移動前のオブジェクト15と移動後のオブジェクト15とが境界線13を挟んで対称的な位置関係にあるようにオブジェクト15の移動先が決定されてもよい。この場合、領域14Dと領域14Rとでは幅寸法が異なるため、移動前のオブジェクト15が領域14Dを幅方向(図中の左右方向)に区分する比率a:bと、移動後のオブジェクト15が領域14Rを幅方向(図中の上下方向)に区分する比率a:bとが一致するように移動先が決定されてもよい。なお、移動後のオブジェクト15の経路RTに沿った方向の位置は、オブジェクト15に対応付けられた操作時期にオブジェクト15が領域14Rの外枠12に到達するよう定めることが望ましい。操作時期はゲーム中に再生される音楽のリズム等と関連付けて設定されており、操作時期が変化すると、リズムに合わせた操作を指示しにくいためである。ただし、そのような懸念がない場合には、外枠12からのオブジェクト15の距離を変化させてもよい。
次に、図3の例では、領域14Dに配置されたオブジェクト15の経路RTをユーザがタッチ操作することにより、その経路RT上に位置する全てのオブジェクト15が配置変更の対象として指定される。そして、ユーザが例えば矢印M2に示すように指先Fを滑らせてオブジェクト15の移動先又は移動方向を指定すると、その滑らせた方向の領域14Rに経路RT上の全てのオブジェクト15が一括して移動する。なお、この場合も経路RTは表示されてもよいし、表示が省略されてもよい。ユーザが経路RTにタッチした際に経路RTが明示的に表示されてもよい。配置変更対象の全てのオブジェクト15の表示態様を変更してもよいことは図2の例と同様である。
図4の例では、左側の領域14Lにてオブジェクト15も経路RTも存在しない空白部分、例えば外枠12をユーザがタッチ操作することにより、その領域14Lに位置する全てのオブジェクト15が配置変更の対象として指定される。そして、ユーザが例えば矢印M3に示すように指先Fを滑らせてオブジェクト15の移動先又は移動方向を指定すると、その滑らせた方向の領域14Rに移動元の領域14Lの全てのオブジェクト15が一括して移動する。この場合は、左右方向に関して対称な位置にオブジェクト15を移動させればよい。
図5の例では、操作案内画面10の外枠12よりも外側にゴミ箱を示すアイコン16が表示される。ユーザが操作案内画面10から削除したいオブジェクト15、例えば領域14Dに配置された一つのオブジェクト15にタッチ操作することにより、そのオブジェクト15が配置変更の対象として指定される。そして、ユーザが例えば矢印M4に示すように、オブジェクト15に触れたまま指先Fをアイコン16の位置まで滑らせると、そのオブジェクト15が操作案内画面10から削除される。この例は、タッチパネルに対するドラッグ操作として知られている操作を特定操作として利用してオブジェクト15の配置を変更するものである。
図6の例では、領域14Dに配置されたオブジェクト15をユーザが人さし指Ff及び中指Fmでタッチ操作することにより、そのオブジェクト15が配置変更の対象として指定される。そして、ユーザが矢印M5、M6で示したように、人さし指Ffと中指Fmとを左右に開くように滑らせてオブジェクト15の移動先又は移動方向を指定すると、元のオブジェクト15が二つに分裂し、それらのオブジェクト15が人さし指Ff及び中指Fmを滑らせた方向に位置する領域14L、14Rにそれぞれ移動する。この例は、タッチパネルに対するピンチアウト操作として知られている操作を利用してオブジェクト15の配置を変更するものである。なお、図2〜図6のいずれの例においても、配置変更対象のオブジェクト15は、特定操作時に配置されていた位置(つまり変更前の位置)から排除される。ただし、特定操作の内容によっては、元の位置にオブジェクト15を残したまま、新たな位置にオブジェクト15が追加されるようにして配置が変更されてもよい。
図3及び図4の例から明らかなように、配置を変更すべきオブジェクト15を指定する操作は、対象となるべき単一のオブジェクト15を直接タッチする操作に限らず、配置変更の対象となるべきオブジェクト15と関連付けられた位置として、オブジェクト15が配置された経路RT又は領域14に接触することにより、同一経路RT上に位置する複数のオブジェクト15、あるいは、同一の領域14に位置する複数のオブジェクト15を一括して指定する操作も含む。これらの操作は、ゲーム中に特定操作の内容に応じて選択的に適用することが可能である。例えば、オブジェクト15が直接タッチされた場合には図2の例によって配置を変更し、ユーザのタッチ位置にオブジェクト15が存在しない場合には、そのタッチ位置にいずれかの経路RTが存在するか否かを判別し、存在する場合には図3の例によって配置を変更し、オブジェクト15も経路RTも存在しない場合には図4の例によって配置を変更する、といった選択を行うことにより、図2〜図4の例を併用することができる。また、図5及び図6の例から明らかなように、オブジェクト15の配置の変更は、オブジェクト15を元の位置から別の位置に移動する例に限らず、オブジェクト15を削除し、あるいは個数を変化させる態様も含む。それらの態様であっても、操作案内画面10上でオブジェクト15の配置が変更されていることに変わりはない。なお、図示を省略したが、いわゆるピンチイン操作により、二つのオブジェクト15を合体させてオブジェクト15の個数を減少させるといった態様も可能である。あるいは、二つの経路RT、又は二つの領域14をピンチイン操作によって合体させる態様も可能である。また、配置変更の対象となるべきオブジェクト15をそのオブジェクト15や経路RTあるいは領域14に対するダブルタップ操作やロングタップ操作によって指定し、移動先又は移動方向をさらなるタップ操作により指定させるといった変形も可能である。
ゲームシステム1においては、図2に示した操作案内画面10によって案内される全ての指定操作(タップ操作)を単一のゲーム機2のユーザが担当するようにして、ユーザにゲームをプレイさせてもよい。一人のユーザが全ての指定操作を担当する場合には、そのユーザの意思に合せてオブジェクト15の配置を変更できる利点がある。例えば、左側の領域14Lに対する指定操作よりも右側の領域14Rに対する指定操作の方が得意なユーザが、領域14Lから領域14Rへオブジェクト15を移動させる、あるいはオブジェクト15が密に配置された領域14から一部のオブジェクト15を他の領域14に移動させて指定操作に余裕を生じさせる、といったように、ユーザの都合や事情をゲーム中のオブジェクト15の配置に適宜に反映させることができる。
一方、ゲームシステム1においては、単一のゲーム機2にて複数のユーザがプレイ可能とし、かつそれらのユーザ間で指定操作を分担するようにしてゲームをプレイさせてもよい。あるいは、複数のゲーム機2のそれぞれのユーザ(一人又は複数)間で指定操作を分担するようにしてゲームをプレイさせてもよい。指定操作の分担は、例えば領域14毎に異なるユーザが指定操作を担当するといった手法により実現可能である。あるいは、オブジェクト15を担当のユーザ毎に色や形状を変えて表示することにより指定操作を複数のユーザ間で分担させることも可能である。また、複数のゲーム機2間で同一のゲームをプレイさせる場合、例えば自機のユーザに対しては、そのユーザに割り当てられた領域14が操作案内画面10の下側に位置するように操作案内画面10の各領域14の配置をゲーム機2毎に変えてもよい。この場合、外枠12の縦横比も適宜に伸縮させることにより、全てのゲーム機2にて図2〜図6に示したような縦横比の操作案内画面10を表示させてもよい。
複数のユーザが領域14を分担してプレイする場合には、上記のようにオブジェクト15の配置を変更することにより、各ユーザは自己に割り当てられた指定操作を他のユーザが行うべき指定操作へと変更することができる。例えば、複数のユーザ同士で協力してゲームをプレイする場合には、ユーザに余裕がなくて自己に割り当てられている指定操作の一部を、他のスキルが高いユーザ、あるいは他の余裕があるユーザに委ねたい、あるいは他のユーザと指定操作を交換して欲しいといったように、ユーザ群の全体としての利益となるようにオブジェクト15の配置を変更することができる。あるいは、ユーザ同士がゲームで対戦する場合には、オブジェクト15の配置変更を利用して対戦相手のユーザの負担を増加させ、そのユーザをより不利な状況に導くといった操作が可能である。つまり、オブジェクト15の配置変更を可能とすることにより、オブジェクト15の配置に関する柔軟性や自由度を高め、オブジェクト15が予め決まった配置で表示されるのみでその配置の変更が不可能な場合と比較して、ゲームに新規な楽しさを付加し、それによりゲームの興趣を高めることができる。なお 、図2〜図6に示した例では、自己が操作を担当する領域である領域14Dから他の領域14(14U、14L、14R)へオブジェクト15の配置変更を行っているが、これに限られず、例えば自己が操作を担当する領域以外の領域14(14U、14L、14R)から自己が操作を担当する領域14Dにオブジェクト15の配置変更を行うこととしてもよい。この場合、一例として、領域14U、14L、14Rに表示されているオブジェクト15、外枠12、経路RTに対して特定操作を行うことにより、自己が操作を担当する領域14Dへオブジェクト15の配置変更を行うようにしてもよい。このように構成することで、複数人での協力プレイにおいては、技量的に処理困難と思われるユーザに割り当てられている指定操作の一部を自己が肩代わりして、ユーザ群の全体としての利益になるようにすることができる。あるいは、ユーザ同士がゲームで対戦する場合には、対戦相手に割り当てられた指定操作の一部を自己が奪うことにより、自己に有利な状況に導くようにすることができる。
次に、上述したオブジェクト15の配置変更を実現するためのゲーム機2の構成をより詳しく説明する。図7は、ゲーム機2における機能ブロック図である。ゲーム機2には、ゲーム制御装置の一例としての制御ユニット20と、外部記憶装置21とが設けられている。制御ユニット20は、マイクロプロセッサ(不図示)と、そのマイクロプロセッサの動作に必要な内部記憶装置(ROM及びRAM)22等の周辺装置とを組み合わせたコンピュータとして構成されている。外部記憶装置21は、例えば磁気記憶媒体やフラッシュメモリのように記憶保持操作が不要な不揮発性の記憶媒体を備えた記憶装置である。外部記憶装置21には、制御ユニット20にて実行されるべきゲームプログラムPG及びそのゲームプログラムPGが参照すべきゲームデータGDが記録されている。ゲームプログラムPGは、ゲーム機2にて上述したゲームをユーザにプレイさせるために、ゲーム機2のオペレーティングシステム上で動作するアプリケーションプログラムである。ゲームデータGDは、ゲームプログラムPGに従ってゲーム画面を描画するために必要な画像データ、ゲームの音楽、すなわち各種の曲を再生するために必要な楽曲データ等の各種のデータを含む。その他にも外部記憶装置21には適宜のデータが記録されてよい。
ゲーム機2には、ユーザの操作を検出してその検出結果に対応した信号を制御ユニット20に出力する入力装置として、コントロールパネル23が設けられている。コントロールパネル23は、ゲーム機2の筐体に設けられた押釦スイッチ、操作レバーといった物理的に操作可能な入力機器の集合である。ゲーム機2には、制御ユニット20に対する出力装置として、ゲーム画面等を表示するための表示装置24、及び音声等を再生するためのスピーカ25が設けられている。表示装置24は液晶ディスプレイパネル、有機ELパネル等のフラットパネルディスプレイである。
表示装置24の表示面(以下ではモニタ画面と呼ぶことがある。)上には、制御ユニット20に対するさらなる入力装置としてタッチパネル入力装置26が設けられている。タッチパネル入力装置(以下、タッチパネルと略称する。)26は、モニタ画面に対するユーザの接触操作を検出し、検出結果に対応した信号を出力する接触操作検出装置の一例として設けられている。ユーザの接触操作は、例えばモニタ画面の横方向及び縦方向に沿って設定された2次元座標系における座標値を特定することによって検出される。タッチパネル26には、光学式、感圧式等の各種の方式のタッチパネルが利用されてよい。なお、タッチパネル26として、モニタ画面上におけるユーザのタッチ位置のみならず、モニタ画面と直交する方向におけるユーザの指等の位置も検出可能な三次元タッチパネルが利用されてもよい。さらに、制御ユニット20にはネットワーク接続装置27が接続されている。ネットワーク接続装置27は、制御ユニット20をネットワーク4に接続し、センターサーバ3又は他のゲーム機2と通信する際の通信手順の確立及びデータの送受信に必要な処理を制御する通信制御ユニットである。
ゲーム機2の外部記憶装置21には、ゲームデータGDの一部としてシーケンスデータ28が記録されている。シーケンスデータ28は、操作案内画面10を表示するためのオリジナルとなるデータであって、ユーザがゲーム中に外枠12の各部に対して行うべき複数の指定操作(タップ操作)のそれぞれの時期と各指定操作が行われるべき外枠12上の位置とを指定するデータである。シーケンスデータ28は、ゲームにて再生されるべき楽曲毎に用意される。さらに、同一楽曲に対して難易度を変えて複数種類のシーケンスデータ28が用意されてもよい。ゲームの実行時にシーケンスデータ28が制御ユニット20に読み込まれることにより、制御ユニット20の内部記憶装置22にはシーケンスデータ28に対応した操作指定情報30が書き込まれて保持される。例えば、ゲームにて用意された多数の楽曲からユーザがプレイしたい曲を選択した場合、その曲に対応したシーケンスデータ28が制御ユニット20に読み込まれ、そのシーケンスデータ28に対応した操作指定情報30が内部記憶装置22に保存される。操作指定情報30は、操作案内画面10にオブジェクト15を配置し、かつユーザが実際に行ったタップ操作を評価する目的で制御ユニット20により適宜に参照され、必要に応じて更新される。
制御ユニット20には、そのハードウエアとソフトウエアとしてのゲームプログラムPGとが協働して実現される論理的装置として、シーケンス処理部31、操作判別部32、操作評価部33及びオブジェクト配置変更部34が設けられる。シーケンス処理部31は、操作指定情報30に従って操作案内画面10に配置されるべきオブジェクト15の位置を演算し、演算結果に応じて操作案内画面10の描画に必要な画像データを生成する処理を繰り返し実行する。操作判別部32は、タッチパネル26の出力信号を参照して、ユーザがゲーム画面に対して行った接触操作の内容を判別する。操作評価部33は、ユーザが操作案内画面10に対して行ったタップ操作と操作指定情報30とを比較してユーザのタップ操作を評価する。オブジェクト配置変更部34は、オブジェクト15の配置を変更を指示するユーザの特定操作に対応してオブジェクト15の配置が変更されるように操作指定情報30を更新する。なお、シーケンス処理部31は操作案内手段の一例として機能し、操作評価部33は評価手段の一例として機能し、操作判別部32は特定操作判別手段の一例として機能し、オブジェクト配置変更部34は操作指定情報更新手段の一例として機能する。また、以上の論理的装置における各種の処理の手順は後述する。
次に、図8を参照して、シーケンスデータ28の詳細を説明する。シーケンスデータ28は、条件定義部28aと、操作シーケンス部28bとを含んでいる。条件定義部28aには、再生すべき曲のテンポ、ビート、トラック、また、オブジェクト15をタッチ操作したときにそれぞれ発生させるべき効果音を指定する情報等、曲毎に異なるゲームの実行条件を指定する情報が記述される。なお、図8では条件定義部28aがシーケンスデータ28の先頭のみに設けられているが、操作シーケンス部28bの途中の適宜の位置にも条件定義部28aが追加されてよい。それにより、曲中のテンポの変更、効果音の割り当ての変更といった処理を実現することができる。
一方、操作シーケンス部28bには、ユーザが指定操作を行うべき時期と、指定操作が行われるべき操作部を指定する情報とを対応付けて記述した複数のレコードが含まれている。なお、上述したように、外枠12上の操作部は予め定められる場合と、オブジェクト15の経路RTが不定で、結果的に定義される場合の両者が想定できるが、以下では、操作部が予め定められている場合を例として説明を続ける。各レコードにおいて、操作時期は、曲中の小節番号、拍数、及び拍中の時刻を示す値をカンマで区切って記述されている。拍中の時刻は、一拍の先頭からの経過時間であり、一拍の時間長をn個の単位時間に等分したときのその拍の先頭からの単位数で表現される。例えば、n=100で、楽曲の一小節目の二拍目で、かつその拍の先頭から24単位経過した時刻を操作時期として指定する場合には、"01,2,024"と記述される。
一方、指定操作が行われるべき操作部を指定する情報は、四つの領域14U、14D、14L、14Rのいずれかを指定する情報と、その領域14における外枠12上の位置を指定する情報とを組み合わせた情報として記述される。領域14を指定する情報は、例えば領域14Uを指定する場合に"U"が、領域14Dを指定する場合に"D"が、領域14Lを指定する場合に"L"が、領域14Rを指定する場合に"R"が記述される。外枠12上の位置は、ユーザがタップ操作を行うべき外枠12上の位置であり、各レコードに対応したオブジェクト15が到達すべき外枠12上の位置に相当する。例えば、外枠12の各辺を一定数で区分し、各辺の一端から数えて何番目の位置をタップ操作すべきか、が指定される。例えば、外枠12の各辺における位置が、外枠12を時計回りになぞったときの各辺の始端から1番目、2番目…と順に特定されるとすれば、時刻"01,2,0024"が操作時期として指定されたレコードにおいては、"L,P06"と記述されることにより、左側の領域14Lにて外枠12の上端から数えて6番目に位置する操作部(すなわち、オブジェクト15の到達位置)が指定されていることになる。なお、図8では条件定義部28aがシーケンスデータ28の先頭のみに設けられているが、操作シーケンス部28bの途中の適宜の位置にも、条件定義部28aと同様に、楽曲のテンポを指定する情報、あるいはユーザがタップ操作を行ったときに発生させるべき効果音を指定する情報等を含んだ条件設定部(不図示)が含まれてもよい。そのような条件設定情報を操作シーケンス部28bに含めることにより、曲中でのテンポの変更、効果音の割り当ての変更といった処理を実現することができる。なお、操作シーケンス部28bには、タップ操作に対応して再生されるべき効果音を指定する情報、オブジェクト15の画像データを指定する情報等が含まれてもよい。
次に、上述した制御ユニット20によって実行される各種の処理を説明する。なお、以下においては、ユーザがプレイする曲を選択した段階で、その曲に対応するシーケンスデータ28が制御ユニット20に読み込まれ、その内容が操作指定情報30として内部記憶装置22に記憶されるものとする。また、外枠12上の操作部は予め定められ、オブジェクト15が移動する経路RTは、シーケンスデータ28にて指定された操作部に向かって直線的に延びるように設定されているものとする。また、以下では、ネットワーク4を介して4台のゲーム機2のユーザ間で同一ゲームがプレイされる場合を例とするが、4台のゲーム機2のうち一台のゲーム機2がマスター機として図9以下の処理を担当し、他の3台のゲーム機2はスレーブ機として、マスター機に対する入力情報の提供とマスター機から受け取った情報に基づいた出力制御、例えば表示装置24の表示制御及びスピーカ25からの再生を担当するものとする。この場合、マスター機とされたゲーム機2の制御ユニット20は、他のゲーム機2の制御ユニット20に接続されているタッチパネル26等の入出力装置を、自機のタッチパネル26等と同様の入出力装置と見なして処理を行えばよい。さらに、各ゲーム機2のユーザは、一つの領域14における指定操作を担当し、各ゲーム機2では、自機のユーザが担当する領域14が操作案内画面10の下側に位置するように操作案内画面10の表示が調整されるものとする。
図9は、シーケンス処理部31が操作案内画面10を描画するために所定の描画周期(フレームレート)で繰り返し実行するシーケンス処理ルーチンを示している。図9のルーチンを開始すると、シーケンス処理部31は、まずステップS1にて曲上の現在時刻を取得する。例えば、曲の再生開始時点を基準として、制御ユニット20の内部クロックにて計時が開始され、その内部クロックの値から現在時刻が取得される。曲上の時刻は、再生開始時点からの経過時間によって特定されてもよいし、経過時間と相関する他の値によって特定されてもよい。例えば曲の再生開始時点からの拍数、ゲーム画面のフレーム数等を利用して時刻が特定されてもよい。続くステップS2において、シーケンス処理部31は、操作指定情報30から、次フレーム、つまり次の描画時期に表示されるべき操作案内画面10の表示範囲に対応した時間範囲内に操作時期が含まれているレコードを取得する。表示範囲は、一例として現在時刻(ただし、次フレームの描画時における時刻)から将来に向かって曲の2小節相当の時間範囲に設定される。次のステップS3では、次フレームで描画すべき全てのオブジェクト15の操作案内画面10における座標を演算する。その演算は、例えば、各レコードにて指定された操作部に対応する経路RTと外枠12とが交差する位置を現在時刻、経路RTと内枠11とが交差する位置を2小節後の時刻としてそれぞれ設定したときに、各レコードにて指定された操作時期に対応する時刻が経路RT上のいずれの位置にあるかを求めることにより実現される。
次のステップS4において、シーケンス処理部31は、ステップS4で演算されたオブジェクト15の座標に基づいて、操作案内画面10を描画するために必要な画像データを生成する。具体的には、演算された座標に各オブジェクト15が配置されるように画像データを生成する。続くステップS5にて、シーケンス処理部31は表示装置24に向けて画像データを出力する。それにより、表示装置24に表示されている操作案内画面10が更新され、複数のオブジェクト15が、各オブジェクト15に対応するタップ操作が行われるべき操作部と各タップ操作が行われるべき時期とに対応した配置で並ぶようにして操作案内画面10内に表示される。ステップS5の処理を終えると、シーケンス処理部31は今回のシーケンス処理ルーチンを終了する。以上の処理が繰り返し実行されることにより、オブジェクト15が所定の表示開始時期に内枠11上に出現し、曲の進行に合わせて経路RTを進み、所定の操作時期に外枠12上の操作部に達するように、オブジェクト15の表示が制御される。
図10は、タッチパネル26に対するユーザの操作を判別するために操作判別部32が実行する操作判別ルーチンを示している。タッチパネル26に対していずれかのユーザが何らかの操作を行い、それに対応する信号が制御ユニット20に出力されると、操作判別部32は図10のルーチンを開始し、まずステップS11でユーザの操作がタッチパネル26上の操作部に対するタップ操作か否かを判別する。ここでいう操作部は、外枠12に対してユーザがタップ操作すべき位置として定義された位置である。タップ操作が行われた位置が操作部に該当するか否かの判定に関しては、適度な許容範囲が設定されてよい。つまり、操作部に対して一定範囲内がタップ操作された場合、操作部に対するタップ操作として判断されてよい。操作部に対するタップ操作と判断された場合、操作判別部32はステップS12に進み、タップ操作が行われた時期及び位置の情報を操作評価部33に引き渡して操作評価処理の実行を指示し、その後、今回の操作判別ルーチンを終える。なお、一例として、タップ操作か否かはタッチパネル26に対する指などの接触時間及び接触中の移動範囲に基づいて判断する。
一方、ステップS11にてタップ操作ではないと判別された場合、操作判別部32はステップS13に進み、オブジェクト15の配置を変更する操作(特定操作)が行われたか否かを判別する。特定操作は一例として図2〜図6に例示したようなフリック操作、スワイプ操作、ドラッグ操作、ピンチアウト操作等の操作である。なお、特定操作か否かを判別するためにオブジェクト15の配置を特定する必要がある場合には、シーケンス処理部31から最新の情報を取得すればよい。特定操作が行われたと判断された場合、操作判別部32はステップS14に進み、特定操作の内容を特定する情報、例えば操作案内画面10内における特定操作の軌跡を特定する情報等をオブジェクト配置変更部34に引き渡してオブジェクト配置変更処理の実行を指示し、その後、今回の操作判別ルーチンを終える。ステップS13にて特定操作ではないと判断された場合、操作判別部32は今回の操作判別ルーチンを終える。ただし、指定操作としてのタップ操作、オブジェクト配置を変更する操作としての特定操作以外の操作がさらに定義されている場合、操作判別部32はステップS13の否定判断に対応してさらなる操作判別に進んでもよい。
図11は、操作評価部33が操作判別部32からの指示を受けて開始する操作評価ルーチンの手順を示している。図11のルーチンを開始すると、操作評価部33は、まずステップS21において、操作判別部32から渡された情報に従って、タップ操作が行われた時期及び位置を判別する。続くステップS22において、操作評価部33は、ステップS21で判別した操作部と同一の操作部に関する操作時期のずれ時間を取得する。例えば、操作指定情報30に含まれるレコードのうち、タップ操作が実際に行われた操作部が指定されたレコードを対象として、操作時期が最も近いレコードが特定され、そのレコードに指定されている操作時期とユーザが実際に行ったタップ操作の時期とのずれ量が演算される。
次のステップS23において、操作評価部33は、ずれ時間が所定の評価範囲内か否かを判別することにより、ユーザの操作が適切か否か判断する。評価範囲は、操作指定情報30に記述されている操作時期(指定操作が行われるべき時期である。)を中心として、前後に所定の時間範囲で設定される。また、一例として、所定の時間範囲は、中心に近いほど評価の高い複数のレベルに分類される。この結果が否定的結果の場合、つまりずれ時間が評価範囲外の場合、操作評価部33は、以降の処理をスキップして、今回のルーチンを終了する。ただし、この場合、一定の否定的な評価がなされてもよい。
一方、ステップS23の判断結果が肯定的であった場合、つまりずれ時間が評価範囲内の場合、操作評価部33は、ステップS24に進む。ステップS24において、操作評価部33は、ステップS22で取得したずれ時間が所定の時間範囲のうち複数のレベルのいずれに属するかを判別することにより、ユーザの操作結果に対する評価を決定する。ずれ時間が小さいほど、ユーザの評価は高レベルに評価される。その後、操作評価部33は、ステップS25に進み、評価結果を表示装置24上に表示させる。この表示は、例えば操作案内画面10の描画周期に合せて適宜に差し込まれるように制御される。ステップS25の処理を完了すると、操作評価部33は今回のルーチンを終了する。なお、図11のルーチンでは、タップ操作がいずれの操作部に対して行われたものかを判別した上で、その操作部に対して行われるべきタップ操作の時期とユーザが実際に行ったタップ操作の時期とのずれ量を評価した。しかしながら、ユーザの評価は、タップ操作の位置のずれ量が小さいほど評価が高くなるように、位置のずれ量をさらに考慮して決定されてもよい。図11のステップS24による評価はゲーム中にユーザ毎に定量的に累積され、ゲーム終了時点における累積値に従って各ユーザの成績が決定される。ただし、協力プレイの場合には、各ユーザの成績を合算してユーザ全体の成績が決定されてもよい。
図12は、オブジェクト配置変更部34が操作判別部32からの指示を受けて開始するオブジェクト配置変更ルーチンの手順を示している。図12のルーチンを開始すると、オブジェクト配置変更部34は、まずステップS31において、操作判別部32から渡された情報に従って特定操作の内容を判別する。この場合、操作案内画面10のどの位置でどのような操作が行われたかが判別される。例えば、特定操作としてフリック操作が検出されているときは、そのフリック操作の始点の位置及びフリック操作の方向といった内容が判別される。
続くステップS32において、オブジェクト配置変更部34は、ステップS31で判別した操作内容に基づいて、配置変更の対象のオブジェクト15を特定する。図2〜図6に例示したように、配置変更の対象は、単一のオブジェクト15の場合もあれば、複数のオブジェクト15の場合もある。次のステップS33において、オブジェクト配置変更部34は、変更対象のオブジェクト15の新たな位置を決定する。図2又は図3に示す例であれば、フリック操作又はスワイプ操作がなされた方向に従って移動先の領域14が判別され、その領域14にてオブジェクト15を配置すべき位置が決定される。
新たな位置は、図2に関して説明したように、フリック操作又はスワイプ操作の方向の延長線上にある経路RT上に設定されてもよいし、境界線13を挟んで対称的な位置にある経路RT上にオブジェクト15が移動するように新たな位置が決定されてもよい。あるいは、移動前のオブジェクト15が到達すべき外枠12上の位置(図8のP06等)と移動後のオブジェクト15が到達すべき外枠12上の位置とが一致するように新たな位置が選択されてもよい。また、図4に例示したように、移動元の領域14と移動先の領域14とが向い合っている場合には、左右方向又は上下方向に対称となる経路RT上の位置が新たな位置として決定されてもよい。新たな経路RTが選択されることにより、移動後のオブジェクト15が外枠12のいずれの位置に到達すべきかも変更される。なお、移動後のオブジェクト15から外枠12までの経路RTに沿った距離は、そのオブジェクト15に対応付けられている指定操作の時期までの残り時間に応じて定めればよい。ただし、外枠12までの距離を配置変更の前後で変化させることを許容し、配置変更後は、指定操作の時期までの残り時間に応じてオブジェクト15の移動速度を調整するようにしてもよい。
また、特定操作が、配置変更の対象として選択されたオブジェクト15の次の位置をユーザが直接指定できるような操作である場合には、その移動先の位置へとオブジェクト15の位置を変更すればよい。例えば、ダブルタップ操作等で配置変更対象のオブジェクト15を指定した後、そのオブジェクト15の新たな位置をユーザにタップ操作で直接指定させる場合、あるいはドラッグ操作によってオブジェクト15の新たな位置をユーザに直接指定させる場合には、指定された移動先の位置をオブジェクト15の新たな位置として決定すればよい。なお、図5に示したように、オブジェクト15の削除が指定された場合、新たな位置は「なし」として決定し、対応するレコードを削除すればよい。また、図6に示したように、オブジェクト15の個数の変更を伴う場合には、変更後の全てのオブジェクト15について新たな位置を決定する。
オブジェクト15の新たな位置が決定されると、オブジェクト配置変更部34はステップS34に進み、操作指定情報30を変更後の配置が反映されるように更新する。例えば、図8のシーケンスデータ28において、"02,020,D,P09"と記述されているレコードに対応するオブジェクト15が右側の領域14Rの3番目の経路RT上の位置に移動するように決定された場合には、操作指定情報30に含まれている当該オブジェクト15のレコードを”02,020,R,P03”と書き替えればよい。これにより、当該レコードがシーケンス処理部31に読み込まれてオブジェクト15の座標が演算される際、そのレコードに対応するオブジェクト15は、右側の領域14Rの3番目の操作部に対応する経路RT上でかつ現在時刻と操作時期"02,020"との時間差に応じた距離だけ外枠12から離れた位置にあると判別されてその座標が決定される。この場合、領域14Dを担当するユーザがタップ操作すべきであったオブジェクト15が、領域14Rを担当するユーザが行うべきタップ操作として変更されたことになる。変更後のオブジェクト15が右側の領域14Rの外枠12に達した時期に合せて、当該領域14Rを担当するユーザがタップ操作を行った場合、操作評価部33により更新後のレコードにて指定されている操作時期と実際のタップ操作の時期とのずれ量に基づいてそのユーザの操作が評価される。ステップS34にて操作指定情報30を更新した後、オブジェクト配置変更部34は今回のルーチンを終了する。
本発明は上述した形態に限定されず、種々の変更が施された形態にて実施されてよい。例えば、上記の形態では、外枠12の各辺に予め操作部(つまり、タップ操作が行われるべき位置)が設定され、シーケンスデータ28にて各オブジェクト15に対応する操作部(領域14と外枠12上の位置)を予め指定するものとしたが、シーケンスデータ28では、指定操作が行われるべき時期と、オブジェクト15が表示されるべき領域14のみが指定され、外枠12上においてオブジェクト15が到達する位置及びオブジェクト15が移動する経路RTはゲーム中に適宜に定められるものとしてもよい。この場合の操作指定情報30と制御ユニット20の論理的装置との関係の一例を図13により説明する。
図13の例において、シーケンスデータ28には、指定操作の時期と、指定操作が行われるべき領域14とをオブジェクト15の番号(あるいは指定操作の番号でもよい。)と対応付けて記録されている。なお、オブジェクト15の番号は省略されてもよいが、ここでは説明の便宜のため、オブジェクト15毎にユニークな番号が振られるものとする。
次に、各オブジェクト15を操作案内画面10に出現させるべき時期が到来した段階で、制御ユニット20の初期位置決定部35により、各オブジェクト15を内枠11上のいずれの位置に出現させるべきか、及びオブジェクト15を操作時期に外枠12上のいずれの位置に到達させるべきか、をそれぞれ決定する。以下では前者の位置を出現位置、後者の位置を目標位置と呼ぶ。これらの位置はランダムに定められてもよいし、一定の規則に従って定められてもよい。ユーザの指示あるいはユーザのプレイ状況に応じて出現位置及び目標位置が定められてもよい。
制御ユニット20の内部記憶装置22には、操作指定情報30として、現在位置情報30a及び目標位置情報30bを記録する。現在位置情報30aは最新の操作案内画面10における各オブジェクト15の位置(例えば操作案内画面10上に設定された二次元座標の座標値で特定される。)をオブジェクト番号及び操作時期と対応付けて記録したレコードの集合である。目標位置情報は、各オブジェクト15の目標位置をオブジェクト番号及び操作時期と対応付けて記録したレコードの集合である。初期位置決定部35にて決定された出現位置はオブジェクト番号及び操作時期と対応付けて現在位置情報30aに記録され、初期位置決定部35にて決定された目標位置は、オブジェクト番号及び操作時期と対応付けて目標位置情報30bに記録される。
シーケンス処理部31は、現在位置情報30aの操作時期を参照して、次の操作案内画面10に表示すべき時間範囲内のオブジェクト15を特定し、特定されたオブジェクト15の現在位置を取得する。また、シーケンス処理部31は、目標位置情報30bを参照して、次の操作案内画面10に表示すべき全てのオブジェクト15の操作時期及び目標位置を取得する。これらの処理は図9のステップS2に対応する処理である。そして、シーケンス処理部31は各オブジェクト15の現在位置と目標位置、及び現在時刻と操作時期との時間差に基づいて、次のフレームにおける各オブジェクト15の操作案内画面10上の位置座標を演算する(図9のステップS3に相当)。この処理では、現在位置と目標位置との間の距離と、現在時刻と操作時期との時間差とからオブジェクト15の移動速度及び移動方向を判別し、次のフレームでオブジェクト15がどの位置に移動しているべきかを演算すればよい。表示対象の全てのオブジェクト15の位置を演算した後は、図9のステップS4以降に進めばよいが、この際に現在位置情報30aの表示対象オブジェクト15の現在位置を演算結果に応じて書き替える必要がある。
操作評価部33は、図10のステップS11でタップ操作が行われたと判断された場合、目標位置情報30bを参照して、タップ操作が行われた時期及び位置に最も近い操作時期及び目標位置を有するレコードを取得し、そのレコードと操作判別部32から渡された実際のタップ操作の時期との比較に基づいてユーザの操作を評価する。この処理は図11のステップS22に相当する。
オブジェクト配置変更部34は、図12のステップS33にて、オブジェクト15の変更後の現在位置及び目標位置を決定し、その後、図12のステップS34にて、配置変更の対象とされたオブジェクト15の番号に対応するレコードに新たな現在位置及び目標位置が記録されるように、現在位置情報30a及び目標位置情報30bを更新する。なお、図13では現在位置情報30aと目標位置情報30bとを区分して描いたが、これらは統合された一つのデータとして構成されてもよい。図13の例では、シーケンスデータ28にて領域14を指定する情報を含めているが、シーケンスデータ28では領域14の指定を省略し、これに代えて初期位置決定部35にて領域14を決定してもよい。
図13の例では、オブジェクト15が移動する経路RTや、外枠12上の操作部を予め定めておくことなく、経路RTや操作部を任意的に設定することができる。したがって、オブジェクト15の配置を変化させる際の自由度や柔軟性を高めることができる。なお、上記の例において、特定操作が行われた場合には、配置変更前の操作案内画面10と配置変更後の操作案内画面10との間に、オブジェクト15が変更前の位置から変更後の位置に移動し、あるいは消滅し、分裂するといった様子を表現した適当なフレーム数の遷移画面を介在させてもよい。この場合、新たな位置は、遷移画面の表示終了後の描画時期におけるオブジェクト15の位置を決定すればよい。
上記の形態では、複数のゲーム機2にて複数のユーザが同一のゲームをプレイする例を説明したが、単一のゲーム機2にて一人又は複数のユーザがゲームをプレイする場合でも、上記の各処理が適用されてよい。
上記の説明で示した操作案内画面10の構成はあくまで一例であり、操作案内画面10は適宜の変形が可能である。例えば、図14に示した操作案内画面10Aのように、ゲーム画面内の適当な方向、一例として垂直方向に互いに平行な複数の経路RT(破線参照)を設定し、指示標識としてのオブジェクト15を、経路RTに沿って画面一端側の基準標識としての判定線18に向けて移動させる態様であっても、図中に矢印M7に示したようなフリック操作、スワイプ操作あるいはドラッグ操作に応じてオブジェクト15を別の経路RTに移動させるといった処理が適用可能である。
上記の形態では、指定操作が行われるべき操作部がタッチパネル26上に設定されているが、操作部は必ずしもタッチパネル26上に存在することを要しない。例えば、図15に示すように、操作案内画面10Bをタッチパネル26と重ね合わせて表示する一方、操作部は、物理的な操作が可能な押釦スイッチその他の入力機器を用いた操作部40A、40Bとして構成されてもよい。この場合、操作案内画面10Bには、操作部40A、40Bにそれぞれ対応する基準標識としてのマーク19A、19Bを表示し、それらのマーク19A、19Bに向けて経路RT上をオブジェクト15が移動するように構成することができる。この場合でも、操作案内画面10B上の適宜のオブジェクト15を指定し、矢印M8にて例示したように、一の経路RTから他の経路RTへとそのオブジェクト15を移動させるといったような配置変更処理を適用することができる。なお、図15の例では、マーク19A、19Bと操作部40A、40Bとの対応関係が判別できるように、操作部40A、40Bにマーク19A、19Bと同一の図形などが表示される。図14又は図15の例では、基準標識としての判定線18やマーク19A、19Bを固定し、オブジェクト15を移動させたが、これとは逆にオブジェクト15を固定し、判定線18やマーク19A、19Bを経路RTに沿って移動させてもよい。この場合には、基準標識が経路RTの一端から他端まで移動する毎に、次の一定期間内に操作されるべきオブジェクト15が一括して表示される。なお、単一のゲーム機2に複数の操作部が設けられる例に限らず、複数のゲーム機2のそれぞれの操作部の集合を複数の操作部として捉えて本発明が適用されてもよい。
上記の形態では、指定操作としてのタップ操作が、特定操作としてのフリック操作、スワイプ操作、ドラッグ操作等に対して明確に異なっており、タッチパネル26に対してどのような操作が行われたかを判別すれば、当該操作が指定操作又は特定操作のいずれであるかを明確に判別することが可能である。しかしながら、ゲームによっては、指定操作と特定操作との操作内容が互いに一致する場合も想定される。例えば、オブジェクト15に矢印を表示し、そのオブジェクト15が基準標識に一致する時期に、指定操作として、オブジェクト15の矢印で示された方向にフリック操作を行うことが要求され、かつオブジェクト15を指定する操作、及びそのオブジェクト15の移動先又は移動方向を指定する特定操作としてフリック操作が利用される場合が想定される。このような場合には、指示標識と基準標識との位置関係を考慮して、ユーザが行った操作が指定操作又は特定操作のいずれであるかを判別してもよい。例えば、図2の例では、オブジェクト15が外枠12に対して一定の距離内に接近している状態で、そのオブジェクト15に対してフリック操作が行われた場合には、当該オブジェクト15に対する指定操作と判断し、オブジェクト15が外枠12に対して一定距離外にある状態でそのオブジェクト15に対してフリック操作が行われた場合には当該オブジェクト15を指定した特定操作と判断する、といったように操作を判別することが可能である。
また、指示標識と基準標識とが一致する操作時期までの残り時間が少ない状態で指示標識に対して特定操作が行われても、その特定操作に対応した指示標識の配置変更の処理が操作時期に間に合わない、あるいは、処理が間に合うとしても、ユーザが配置変更に対応する時間的余裕を持つことができない、といった不都合が生じるおそれがある。上記のように、指示標識と基準標識との位置関係を考慮して、ユーザが行った操作が指定操作又は特定操作のいずれであるかを判別する場合には、ユーザが特定操作を行ったつもりでも指定操作と判断されて評価されてしまうといった不都合が生じるおそれもある。このような懸念が生じる場合には、基準標識に対して指示標識の相対移動方向の上流側(つまり、基準標識からみて指示標識が接近してくる側)の一定範囲に特定操作禁止領域を設定し、その特定操作禁止領域では、一切の特定操作を受け付けない、つまり、特定操作禁止領域にある指示標識に対して何らかの操作が行われても、その操作は特定操作としては判断されない、といった処理を追加してもよい。例えば、図2において、外枠12から内側の一定範囲を特定操作禁止領域として設定し、その特定操作禁止領域に位置するオブジェクト15に対して何らかの操作が検出された場合、当該操作を特定操作ではない、と判断する処理が追加されてもよい。このような設定を追加すれば、上述した懸念を排除することが可能である。
上記の形態では、接触操作検出装置としてタッチパネル26を用いているが、接触操作検出装置は、タッチパネルに限らず、ゲーム画面に対するユーザの接触操作を検出できる限りにおいて適宜の入力機器を用いることができる。例えば、ゲーム画面に対するユーザの操作をカメラ等の光学機器等で監視して画像識別処理によりユーザの接触操作を検出する手段も接触操作検出装置として用いることが可能である。
以上の形態では、複数の商業用のゲーム機2とセンターサーバ3とをネットワーク4により接続してゲームシステム1を構成したが、例えば図16に示したように、携帯型の電話機、スマートフォン、タブレット端末その他の携帯機器がゲーム機2として設けられてもよい。その他にもパーソナルコンピュータ等も、タッチパネル等の接触操作検出装置を有する限りにおいて、ゲームシステムの少なくとも一部として適宜に利用されてよい。ゲームシステムはネットワーク接続された複数のゲーム機を有する形態に限らない。単一のゲーム機のみでゲームシステムを構成してもよい。
上述した実施の形態及び変形例のそれぞれから導き出される本発明の各種の態様を以下に記載する。なお、以下の説明では、本発明の各態様の理解を容易にするために添付図面に図示された対応する部材を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明の一態様に係るゲームシステムは、ゲーム画面(10;10A;10B)を表示する表示装置(24)と、ユーザの操作を検出する入力装置(26;40A、40B)と、前記入力装置の検出結果を参照してゲームを制御するゲーム制御装置(20)とを備え、前記入力装置の少なくとも一部として、前記ゲーム画面に対するユーザの接触操作を検出する接触操作検出装置(26)が設けられたゲームシステム(1)であって、前記ゲーム制御装置には、前記入力装置に存在する複数の操作部(一例として外枠12上の適宜の位置)のそれぞれに対してユーザが行うべき複数の指定操作のそれぞれの時期と各指定操作が行われるべき操作部とを指定する操作指定情報(30)に基いて、前記複数の指定操作のそれぞれに対応する複数の指示標識(15)を、各指定操作が行われるべき操作部と各指定操作の時期とに対応した配置で並ぶようにして前記ゲーム画面内に表示させるとともに、各指定操作が行われるべき時期に、前記ゲームの現在時刻に対応した基準標識(12;18;19A、19B)と各指定操作に対応した指示標識とが一致するように、前記指示標識と前記基準標識とを前記ゲーム画面内で相対的に移動させることにより、ユーザに前記複数の指定操作のそれぞれを案内する操作案内手段(31、S1〜S5)と、前記入力装置の検出結果に基づいて、ユーザが各操作部に対して実際に行った指定操作の時期を判別し、判別結果と前記操作指定情報との比較に基づいて、前記ユーザが実際に行った指定操作を評価する評価手段(33、S21〜S24)と、前記接触操作検出装置の検出結果に基づいて、前記指示標識の配置を変更する操作として定義された前記ゲーム画面への接触を伴う特定操作(一例として図2〜図6に示す操作)をユーザが行ったか否かを判別する特定操作判別手段(32、S13)と、前記特定操作が行われたと判断された場合、前記特定操作に応じて前記指示標識の配置が変更されるように前記操作指定情報を更新する操作指定情報更新手段(34、S31〜S34)と、が設けられたものである。
本発明の一態様に係るゲームシステムによれば、ユーザがゲーム画面に対して特定操作を行うと、その特定操作に応じて指示標識の配置が変更される。したがって、指示標識の配置に対してプレイ中のユーザの意思を反映させる余地を生じさせることができる。接触操作検出装置を入力装置として用いた場合には、物理的な操作を伴う押釦スイッチといった入力機器と比較して自由度が高くかつ直感的な操作が可能である。そのような特性を利用して指示標識の配置変更を指示できるようにすれば、指示標識の配置に関してユーザの意思を反映させてその柔軟性や自由度を高めることができる。これにより、予め決まった配置で指示標識が表示される例と比較してゲームの興趣を高めることができる。
本発明のゲームシステムの一態様において、前記特定操作は、前記ゲーム画面に表示された指示標識を指定して、該指示標識の移動先又は移動方向を指示する操作として定義され、前記操作指定情報更新手段は、前記特定操作にて指定された指示標識の位置が、ユーザに指示された移動先又は移動方向に従って変化するように前記操作指定情報を更新してもよい。この場合、ユーザが配置を変更したい指示標識を指定し、その移動先や移動方向を接触操作の位置変化によって指定することにより、ユーザの意思に即した直感的で判りやすい操作体系を実現することができる。
上記の態様においては、前記指示標識を指定する操作が、前記指示標識又は複数の指示標識に関連付けられた位置(一例として経路RT、又は領域14)に接触する操作として定義され、前記移動先又は前記移動方向を指示する操作が、前記指定する操作に続いて接触位置を変化させる操作として定義されてもよい。この場合は、例えばタッチパネル等で利用されるフリック操作やスワイプ操作、あるいはドラッグ操作の要領で指示標識の配置変更を指示することができるので、より直感的かつ判りやすい操作体系を実現することができる。
さらに、前記操作指定情報更新手段は、前記指示標識が前記特定操作時に配置されていた位置から排除されるように前記操作指定情報を更新するものであってもよい。この場合には、ユーザにとって不都合な指示標識、例えば操作が間に合わないことが予想される指示標識が存在する場合、その配置変更を指示することにより、その指示標識を排除することができる。
また、前記操作指定情報更新手段は、前記特定操作時に配置されていた位置から排除された指示標識が、前記ユーザから指示された移動先又は前記移動方向に従って異なる位置に移動するように前記操作指定情報を更新してもよい。これによれば、ユーザは指示標識を自己に都合のよい位置へと移動させることができる。
本発明の一態様において、前記操作案内手段は、前記複数の指定操作が複数のユーザにより前記操作部の位置に応じて分担して行われるようにして前記複数の指定操作を案内し、前記操作指定情報更新手段は、一のユーザが行うべき指定操作が、前記特定操作に応じて他のユーザが行うべき指定操作に変更されるように、前記操作指定情報を更新してもよい。この場合、ユーザにとって不都合な指示標識が存在する場合、その指示標識に対応する指定操作を他のユーザに委ねる、あるいは他のユーザに不利な状況をもたらすために意図的に一部の指示標識に対応する指定操作を他のユーザに負担させる、といったようにユーザ間での指定操作のやり取りが可能となり、複数のユーザでゲームをプレイする場合の興趣を高めることができる。
また、本発明の一態様においては、前記複数の操作部のそれぞれが前記接触操作検出装置の検出範囲内に存在し、前記指定操作は前記接触操作検出装置により検出されてもよい。この場合は指定操作と特定操作とがいずれも接触操作検出装置の検出範囲内の操作となるため、指定操作の操作部を接触操作検出装置の検出範囲外の位置に別途配置した場合と比較して、指定操作と特定操作との間における操作位置の変化を抑え、指定操作を繰り返し行っている間に特定操作を容易に介在させることができるといったように操作種別を円滑に切り替えることが可能である。
本発明の一態様に係るコンピュータプログラムは、ゲーム画面(10;10A;10B)を表示する表示装置(24)と、ユーザの操作を検出する入力装置(26;40A、40B)とを備え、前記入力装置の少なくとも一部として、前記ゲーム画面に対するユーザの接触操作を検出する接触操作検出装置(26)が設けられたゲームシステム(1)のコンピュータ(20)を、上述した各態様のゲーム制御装置として機能させるように構成されたものである。本態様のコンピュータプログラムをゲームシステムのコンピュータが読み取って実行することにより、そのコンピュータを上述した各態様のゲーム制御装置として動作させて各態様に係るゲームシステムを実現することができる。
なお、本発明の一態様に係るコンピュータプログラムは、記憶媒体に記憶された状態で提供されてもよい。この記憶媒体を用いれば、例えばコンピュータに本発明に係るコンピュータプログラムをインストールして実行することにより、そのコンピュータを利用して本発明のゲームシステムを実現することができる。コンピュータプログラムを記憶した記憶媒体は、CDROM等の非一過性の記憶媒体であってもよい。
さらに、本発明の一態様に係るゲームの制御方法は、ゲーム画面(10)を表示する表示装置(24)と、ユーザの操作を検出する入力装置(26;40A、40B)と、前記入力装置の検出結果を参照してゲームを制御するゲーム制御装置(20)とを備え、前記入力装置の少なくとも一部として、前記ゲーム画面に対するユーザの接触操作を検出する接触操作検出装置(26)が設けられたゲームシステム(1)に適用される制御方法であって、前記ゲーム制御装置により、前記入力装置に存在する複数の操作部のそれぞれに対してユーザが行うべき複数の指定操作のそれぞれの時期と各指定操作が行われるべき操作部とを指定する操作指定情報(30)に基づいて、前記複数の指定操作のそれぞれに対応する複数の指示標識(15)を、各指定操作が行われるべき操作部と各指定操作の時期とに対応した配置で並ぶようにして前記ゲーム画面内に表示させるとともに、各指定操作が行われるべき時期に、前記ゲームの現在時刻に対応した基準標識(12;18;19A、19B)と各指定操作に対応した指示標識とが一致するように、前記指示標識と前記基準標識とを前記ゲーム画面内で相対的に移動させることにより、ユーザに前記複数の指定操作のそれぞれを案内する操作案内手順(S1〜S5)と、前記入力装置の検出結果に基づいて、ユーザが各操作部に対して実際に行った指定操作の時期を判別し、判別結果と前記操作指定情報との比較に基づいて、前記ユーザが実際に行った指定操作を評価する評価手順(S21〜S24)と、前記接触操作検出装置の検出結果に基づいて、前記指示標識の配置を変更する操作として定義された前記ゲーム画面への接触を伴う特定操作(一例として図2〜図6に示す操作)をユーザが行ったか否かを判別する特定操作判別手順(S13)と、前記特定操作が行われたと判断された場合、前記特定操作に応じて前記指示標識の配置が変更されるように前記操作指定情報を更新する操作指定情報更新手順(S31〜S34)とを実行させるものである。上記態様の制御方法をゲームシステムのゲーム制御装置に適用することにより、そのゲーム制御装置を本発明の一態様に係るゲームシステムのゲーム制御装置として動作させることができる。