(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態について説明する。
図1、
図2、及び
図3は、本実施形態におけるゲーム装置10の外観構成を示す図である。
図1と
図2は、本実施形態におけるゲーム装置10のそれぞれ異なる方向からの斜視図、
図3は、本実施形態におけるゲーム装置10の側面図である。
【0011】
図1〜
図3に示すゲーム装置10は、例えばアミューズメント施設(ゲームセンター等)に設置される業務用として構成されるもので、プレーヤが乗り物に搭乗することにより実行されるゲームを実現する乗り物型のゲーム装置である。本実施形態におけるゲーム装置10は、例えばリュージュを模したゲームを実行するもので、座席部に搭乗したプレーヤが、リュージュと同様に座席部に搭乗した状態で左右に体重移動をすることにより、ディスプレイに表示されるコースを進む仮想のリュージュをコントロールすることができる。
【0012】
図1に示すように、ゲーム装置10は、平面状の基台12に、プレーヤが搭乗する座席部となるシート14と前部ユニット15とが一体化された乗り物ユニット、及び乗り物ユニットを支持する後部ユニット16とが設置される。シート14には、プレーヤがほぼ体を伸ばした状態(腰を大きく曲げない状態)で仰向きで搭乗することができる。シート14は、搭乗したプレーヤが前方に傾斜するように斜め状態で支持されると共に、プレーヤによる体重移動に伴って左右方向に所定の範囲で傾斜(支持軸による回動)が可能となっている。
【0013】
乗り物ユニット(シート14、前部ユニット15)には、ユニット底部に下部支持軸18が設けられ、ユニット上部に上部支持軸37(
図3に示す)が設けられる。下部支持軸18は、基台12の上部に設けられたシート支持台17によって回動可能となるように支持され、上部支持軸37は、後部ユニット16の内部に設けられたシート駆動ユニット38によって回動可能となるように支持される。下部支持軸18と上部支持軸37とは同じ軸上に配置されるため、乗り物ユニットは、下部支持軸18と上部支持軸37により支持された状態で回動可能となる。
【0014】
なお、下部支持軸18と上部支持軸37による回動可能な範囲(シート14の傾斜範囲)は、ゲームで仮想のリュージュを操作するために必要な所定の範囲に限定され、シート14に搭乗したプレーヤが落下などすることがないように安全が確保されるものとする。
【0015】
シート14を前方に傾斜させることで、斜面をリュージュで滑り降りている状態を模している。シート14に搭乗したプレーヤは、シート14の底部に設けられた足置き板27に足を乗せることにより、シート14内部で姿勢を安定させることができる。また、足置き板27は、シート14に搭乗したプレーヤが足を乗せた状態で体重移動を容易とするため、可動するように構成されても良い。例えば、左右への体重移動に合わせて左右方向に傾斜したり、前後方向への体重移動に合わせて前後に移動可能としたりすることも可能である。
【0016】
シート14の外側面には、プレーヤがシート14に搭乗した時、プレーヤによって手動操作がしやすい位置に、右レバー20と左レバー21とが、左右それぞれの側面に設けられている。右レバー20と左レバー21は、例えば先端部を上下方向に動かすことができる。また、右レバー20の先端部には右レバーボタン22が設けられ、左レバー21の先端部には左レバーボタン23が設けられる。
【0017】
また、シート14の外側面には、プレーヤがシート14に搭乗して上体を起こした時、プレーヤが手動操作がしやすい位置に、タッチセンサ24,25がそれぞれの側面に設けられている。タッチセンサ24,25は、例えばシート14の傾きと長手方向とがほぼ一致するように配置され、プレーヤによる手によるタッチ位置(座標値)を検出することができる。例えばタッチセンサ24,25の検出面にタッチした状態のままでタッチ位置が移動された場合に、タッチセンサ24,25により検出される連続したタッチ位置(座標値)の変化に基づいて、タッチ方向とタッチ位置の移動速度を算出することができる。
【0018】
前部ユニット15は、シート14との間に空間を設けて、シート14に搭乗したプレーヤと相対して、プレーヤを覆うような形状に構成されている。前部ユニット15には、シート14に搭乗したプレーヤと相対する側にディスプレイ30が設けられている。従って、シート14に搭乗したプレーヤは、ディスプレイ30をほぼ正面で視認することができる。また、シート14と前部ユニット15とは一体化されているため、シート14が左右方向に傾斜(回動)されたとしても、前部ユニット15に設けられたディスプレイ30の向きも連動した傾斜するので、シート14に搭乗しているプレーヤは、常にゲーム中にディスプレイ30の表示を確認することができる。
【0019】
前部ユニット15の両側側面部には、送風ユニット32が設けられている。送風ユニット32は、シート14に搭乗したプレーヤの顔の当たりの方向に、風を送出する位置に設けられる。
【0020】
後部ユニット16は、シート14の上部に設けられた上部支持軸37を支持するシート駆動ユニット38が収容される。シート駆動ユニット38は、右レバー20と左レバー21に対するプレーヤによる操作がない場合には上部支持軸37を回動可能に支持し、右レバー20と左レバー21に対するプレーヤの操作があった場合には、上部支持軸37を操作方向に応じて所定範囲で回転駆動する機構を有する。
【0021】
例えば、シート14を左側に傾斜させるために、プレーヤが左レバー21を下げ、右レバー20を上げる操作をした場合、シート駆動ユニット38は、上部支持軸37を所定角度分だけ左回転(反時計回り)させ、その後、プレーヤの体重移動に応じて回動可能な状態とする。すなわち、右レバー20と左レバー21を操作することで、体重移動の初期動作を補助(アシスト)して、プレーヤがシート14に搭乗した状態のままで体重移動させやすくする。なお、右レバー20と左レバー21の操作に伴ってシート14を傾斜させる状況については後述する(
図8参照)。
【0022】
また、後部ユニット16の側面部には、コイン投入口35が設けられる。コイン投入口35は、プレー代とするコインがプレーヤによって投入される。
【0023】
図4は、本実施形態におけるゲーム装置10の機能構成を示すブロック図である。ゲーム装置10は、例えば後部ユニット16に制御ユニット39が収容される。制御ユニット39は、例えばCPU40、記録部41(ゲームプログラム41a、コースデータ41b、ゲーム結果データ41c)、表示制御部42、音声制御部43、通信ユニット44、及び入出力制御部47を有する。
【0024】
CPU40は、ゲーム装置10全体の制御を司るもので、記録部41に記録された基本プログラムや各種アプリケーションプログラム(ゲームプログラム41aを含む)を実行することで各部を制御する。CPU40は、記録部41に記録されたゲームプログラム41aに基づいてゲーム処理を実行し、表示制御部42を通じてゲーム画面をディスプレイ30に表示させると共に、音声制御部43を通じてスピーカ36から音楽や効果音などの音声を出力させる。CPU40は、ゲーム処理において、入出力制御部47を通じて入力される各種ボタンやセンサからの信号に応じて各部を制御し、ゲーム画面中のコースを仮想のリュージュが走行するゲームを制御する。
【0025】
記録部41は、基本プログラムやゲームプログラム41aを含む各種アプリケーションプログラム、各種データが記録される。ゲームプログラム41aによって処理されるデータには、ゲーム画面中にコースを表示するためのコースデータ41b(コース、背景画像などを含む)、プレーヤに関するプレーヤデータやゲーム結果データ(ポイント、タイム、取得アイテム、勝敗等)を含むゲーム結果データ41c、ゲーム中に出力する音楽や演出用の効果音などのデータの他、ゲーム制御用に一時的に記録される各種データなどが含まれる。
【0026】
表示制御部42は、CPU40の制御のもとで、ディスプレイ30における表示を制御する。
音声制御部43は、CPU40の制御のもとで、スピーカ36からの音声出力を制御する。
通信ユニット44は、CPU40の制御のもとで、例えば他のゲーム装置などの機器との通信を制御する。通信ユニット44は、有線により接続された通信だけでなく、無線による通信を制御することも可能である。
【0027】
入出力制御部47は、CPU40の制御のもとでシート駆動ユニット38と送風ユニット32に対する駆動制御のための信号を出力する他、各種ボタンやセンサからの検出信号を入力してCPU40に通知する。入出力制御部47には、タッチセンサ24,25、右レバーボタン22、左レバーボタン23、右レバーセンサ20a、左レバーセンサ20b、コインセンサ50、シート回転センサ54(複数のフォトセンサを含む)等が接続される。右レバーセンサ20aは、右レバー20に対する上下方向の操作を検出するためのセンサ、左レバーセンサ20bは、左レバー21に対する上下方向の操作を検出するためのセンサである。コインセンサ50は、コイン投入口35に投入されたコインを検知するためのセンサである。シート回転センサ54は、シート14の左右方向への傾斜を検出するためのセンサである。
【0028】
図5は、複数のゲーム装置10−1,10−2,10−3において対戦を可能にする構成を示す図である。
図5に示すゲーム装置10−1,10−2,10−3は、
図1に示すゲーム装置10と同様の構成を有する。ゲーム装置10−1,10−2,10−3は、例えば通信ケーブル60を介して相互に接続され、それぞれに設けられた制御ユニット39(CPU40)の制御のもとで、通信ユニット44により通信ケーブル60を通じてゲーム制御のためのデータを相互に送受信する。ゲーム装置10−1,10−2,10−3は、何れかにおいて、ゲーム開始前のゲームモードの選択時にプレーヤによって「通信対戦」が選択された場合に、他のゲーム装置10に対して「通信対戦」への参加募集を通知する。これにより、参加募集を受信したゲーム装置10は、プレーヤに「通信対戦」に参加するよう促すための画面を表示し、「通信対戦」への参加がプレーヤにより選択された場合に、参加募集したゲーム装置10に応答することで「通信対戦」を成立させる。
【0029】
なお、複数のゲーム装置10−1,10−2,10−3との間の通信は、通信ケーブル60を介した通信だけでなく無線通信も可能である。また、ゲーム装置10−1,10−2,10−3が相互にデータを送受信するのではなく、ゲーム装置10−1,10−2,10−3がそれぞれ接続されるサーバを介してデータを送受信する構成とすることも可能である。
【0030】
また、複数のゲーム装置10−1,10−2,10−3において「通信対戦」をする場合、実際のリュージュでは予め決められたコースを1台毎に走行するものであるが、複数台が並行して走行可能なコースをゲーム画面に表示して、レースができるようにしても良い。
【0031】
図6及び
図7は、本実施形態におけるゲーム実行時のプレーヤ62の状態の一例を示す図である。
図6は、シート14に搭乗したプレーヤ62を側面から見た状態を示している。
図6に示すように、プレーヤ62は、ほぼ体を伸ばした状態(腰を大きく曲げない状態)で、足を下に向けて仰向きで搭乗している。これにより、実際のリュージュで斜面を滑走している状態を模している。右レバー20と左レバー21は、プレーヤ62がシート14に搭乗した時、プレーヤ62の手の近くとなる位置に設けられる。これにより、ゲーム実行時に、プレーヤ62はシート14に搭乗したままで右レバー20と左レバー21を容易に操作することができる。
【0032】
また、
図6に示すように、前部ユニット15に設けられた送風ユニット32は、シート14に搭乗したプレーヤ62の顔の高さに合わせて配置されている。これにより、送風ユニット32は、ゲーム実行時に、プレーヤ62の顔周辺に向けて、風64を送出することができる。送風ユニット32から送出する風64の風量を変化させることで、例えば風量を少なくすることで低速でリュージュが滑走していることを体感させ、また風量を多くすることで高速でリュージュが滑走していることを体感させることが可能となる。さらに、前部ユニット15の左右に設けられた2つの送風ユニット32から送出する風量を変えることで、例えばカーブを滑走しているように体感させることができる。例えば、左カーブを滑走している時には、左側に配置された送風ユニット32からの風量を強くすれば良い。さらに、ゲーム画面に表示する環境の状態に応じて、左右に配置された送風ユニット32から送出する風量を個々に変えるようにしても良い。例えばランダムに変化する嵐や快晴などの天候に応じて風64を変化させることも可能である。また、送風ユニット32から温風と冷風とを切り換えて送出できるようにして、風64の温度を変化させても良い。
【0033】
また、ゲーム実行中では、
図7に示すように、プレーヤは、シート14に搭乗した状態において、実物のリュージュと同様に、シート14内で体重を左右に移動させて、ゲーム画面中に表示される仮想のリュージュの動作を制御することができる。すなわち、本実施形態におけるゲーム装置10では、乗り物ユニット(シート14)自体をプレーヤ62が入力操作をするための入力デバイスとして機能させることができる。ゲーム装置10は、例えば乗り物ユニット(シート14)の変位(傾斜角度、変化速度など)を検出し、その変位に応じて、ゲーム画面中の仮想のリュージュの動作を制御する。
【0034】
また、本実施形態のゲーム装置10は、右レバー20と左レバー21に対して所定の操作をすることで、プレーヤ62がシート14を傾斜させる際に、楽にシート14の内部で体重移動できるように、シート駆動ユニット38により上部支持軸37を所定角度分だけ回転駆動させることができる。
【0035】
図8は、本実施形態におけるシート14に設けられた右レバー20と左レバー21への操作に応じたシート14の状態の変化を示す図である。
図8(B1)は、右レバー20と左レバー21とが操作されていない状態を示している。この場合、右レバー20と左レバー21は、初期位置のほぼ水平な状態にある。この時、シート14は、
図8(B2)に示すように、左右の何れにも傾斜していない状態にある。例えば、ゲーム画面に表示されるコースにおいて直線部分を滑走している場合には、右レバー20と左レバー21は操作されない。
【0036】
図8(B3)には、シート回転センサ54の構成を示している。シート回転センサ54は、例えば上部支持軸37に取り付けられた遮蔽板37aと、上部支持軸37の周囲に円周上に配置された遮蔽板37aを検出するための複数のフォトセンサ54a,54bとから構成される。遮蔽板37aは、上部支持軸37の回動に伴って軸回転するように取り付けられ、上部支持軸37が回転されていない状態では初期位置(例えば、下向き)にある。フォトセンサ54a,54bは、遮蔽板37aが初期位置にある場合には検出されず、上部支持軸37の回動に伴って遮蔽板37aが回転された場合に検出できる位置に配置されている。
図8(B3)に示す例では、上部支持軸37が時計回りに回動された場合に遮蔽板37aを検出できる位置に、3つのフォトセンサ54aが等間隔に配置され、上部支持軸37が反時計回りに回動された場合に遮蔽板37aを検出できる位置に、3つのフォトセンサ54bが等間隔に配置されている。
【0037】
従って、
図8(B2)に示すシート14が傾斜していない状態では、フォトセンサ54a,54bは、遮蔽板37aを検出しない。
【0038】
図8(A1)は、右レバー20を上げて、左レバー21を下げる操作がされている状態を示している。すなわち、ゲーム画面に表示されるコースの左カーブを滑走する(左へ曲がる)ための操作がされた状態を示している。この場合、シート14は、
図8(A2)に示すように、プレーヤによって左へ傾斜される。シート14が左に傾斜されると、
図8(A3)に示すように、上部支持軸37が反時計回りに回転するため、シート14の傾斜が大きくなるほど、3つのフォトセンサ54bが順番に遮蔽板37aを検出する。従って、3つのフォトセンサ54bの何れまで遮蔽板37aを検出したかによって、シート14の傾斜状態を判別することができる。また、遮蔽板37aを1つのフォトセンサ54bが検出してから、隣接する次のフォトセンサ54bが検出するまでの時間に基づいて、シート14の傾き速度を判別することができる。
【0039】
図8(C1)は、右レバー20を下げて、左レバー21を上げる操作がされている状態を示している。すなわち、ゲーム画面に表示されるコースの右カーブを滑走する(右へ曲がる)ための操作がされた状態を示している。この場合、シート14は、
図8(C2)に示すように、プレーヤによって右へ傾斜される。シート14が右に傾斜されると、
図8(C3)に示すように、上部支持軸37が時計回りに回転するため、シート14の傾斜が大きくなるほど、3つのフォトセンサ54aが順番に遮蔽板37aを検出する。従って、3つのフォトセンサ54aの何れまで遮蔽板37aを検出したかによって、シート14の傾斜状態を判別することができる。また、遮蔽板37aを1つのフォトセンサ54aが検出してから、隣接する次のフォトセンサ54aが検出するまでの時間に基づいて、シート14の傾き速度を判別することができる。
【0040】
なお、
図8に示す右レバー20と左レバー21の操作例は、シート14を左右に傾斜させるための操作例として、一方を上げて、他方を下げる例を示しているが、例えば右レバー20と左レバー21とを両方上げる、あるいは両方下げるといった操作も可能である。例えば、例えば右レバー20と左レバー21とを両方上げる操作は、リュージュの速度を下げるためのブレーキ操作、例えば右レバー20と左レバー21とを両方下げる操作は、リュージュを加速させるための操作とするなど、ゲーム画面中のリュージュの走行を制御するための操作として設定することも可能である。
【0041】
また、右レバー20と左レバー21の
先端に設けられた右レバーボタン22と左レバーボタン23を用いて、ゲーム画面中のリュージュの走行を制御するようにしても良い。例えば、右レバーボタン22あるいは左レバーボタン23は、リュージュの一時的な加速を指示するためのブーストボタンとして使用することができる。また、右レバーボタン22と左レバーボタン23は、その他の制御用に使用することも可能である。
【0042】
図9は、本実施形態におけるゲーム実行時のディスプレイ30に表示されるゲーム画面の一例を示す図である。
本実施形態におけるゲーム装置10は、ゲーム処理においてレースが開始されると、例えば
図9に示すように、ディスプレイ30において仮想のリュージュが走行するためのコースを表示し、リュージュの走行に合わせてコースの形状や背景画像を変化させる。仮想のリュージュが走行するコースは、現実のリュージュが走行するコースとは関係なく、任意の仮想空間においてコースを設定することが可能である。例えば、街の上空、宇宙空間、海中などの仮想空間内にコースを設定するようにしても良い。
【0043】
図9に示すゲーム画面の例では、複数のビルの上空からビルの間を抜けるようにコース30bが設定されている例を示しており、複数のビルを上空から俯瞰した画像を背景画像30aとして表示している。
図9では、コース30bが直進してから左カーブに続いていることを表しているため、プレーヤは、コース30bの変化に合わせて、シート14(乗り物ユニット)を傾かせる操作(右レバー20や左レバー21の操作や体重移動)をする必要がある。
【0044】
また、ゲーム画面には、ブーストマーク表示30c、タイム表示30d、速度表示30eが付加されている。
ブーストマーク表示30cは、右レバーボタン22あるいは左レバーボタン23とを用いたブーストの使用可能な回数(例えば3回)を示すマークであり、ブーストが使用される毎にマークが1つずつ消去される。タイム表示30dは、レースが開始されてからの経過時間を示す。速度表示30eは、仮想空間(ゲーム空間)中のリュージュの走行速度を示す。
【0045】
次に、本実施形態におけるゲーム装置10の動作について、
図10及び
図11に示すフローチャートを参照しながら説明する。
図10は、CPU40によりゲームプログラム41aを実行することにより実現されるゲーム処理を説明するためのフローチャートである。
【0046】
まず、プレーヤは、ゲームをする場合には、コイン投入口35から所定のコインを投入する。コインセンサ50は、プレーヤによって投入されたコインを検知すると、入出力制御部47を通じてコインが投入されたことをCPU40に通知する。
【0047】
CPU40は、コインが投入されたことを検知すると(ステップA1、Yes)、モードセレクト画面をディスプレイ30において表示させる。モードセレクト画面には、例えば「タイムアタック」「レース」「通信対戦」のゲームモードの何れかを選択するための選択ボタンを表示させる。
【0048】
なお、「タイムアタック」は、1人でゲームをプレーして、コースのゴールに到達するまでの時間を短縮することを目指すゲームモードである。
「レース」は、NPC(Non Player Character)とコースまでの時間を競うゲームモードである。NPCは、例えばプレーヤが選択したレベル(例えば高、中、低)に応じた技量により仮想のリュージュを走行させるものとする。また、実際のリュージュでは1コースを1プレーヤのリュージュが走行するが、「レース」のゲームモードでは、コース上でプレーヤとNPCのリュージュが相互に干渉(コースを妨害するなど)できるコースを提供するようにしても良い。
【0049】
「通信対戦」は、通信ケーブル60を介して接続された他のゲーム装置10を利用するプレーヤとの間でコースのゴールまでの時間を競うゲームモードである。「通信対戦」のゲームモードが選択された場合には、前述したように、他のゲーム装置10に対して「通信対戦」への参加募集を通知して「通信対戦」を成立させる。なお、「通信対戦」に参加する他のプレーヤがいない場合には、自動的に「レース」のゲームモードが設定されるようにしても良い。
【0050】
モードセレクト画面の選択ボタンへの操作によりゲームモードが選択されると(ステップA3)、CPU40は、ゲームモードに応じて用意された複数のコースから、ゲームに使用するコースをプレーヤに選択させるために、コースセレクト画面をディスプレイ30において表示させる(ステップA4)。コースセレクト画面には、複数のコースの何れかを選択するための選択ボタンを表示させる。
【0051】
モードセレクト画面の選択ボタンへの操作によりコースが選択される、CPU40は、レース開始処理によって、選択されたコースを含むゲーム画面をディスプレイ30に表示させると共に、所定の時間が経過した後にタイム計測を開始して、レースをスタートさせる(ステップA6)。CPU40は、レースが開始されると、レース制御処理によってゲームを制御する(ステップA7)。レース制御処理の詳細については後述する(
図11参照)。
【0052】
レース制御処理が終了すると(ステップA8、Yes)、CPU40は、ゲーム終了処理を実行する。CPU40は、ゲームモードに応じたゲーム終了画面を表示すると共に、ゲーム結果データを記録する。例えば、「通信対戦」のゲームモードでは、タイム、順位などを表示し、ゲーム結果データとしてプレーヤ名(予め設定済みのニックネームなど)、タイム、順位、対戦相手となったプレーヤ名などを記録する。「タイムアタック」のゲームモードでは、タイム、選択コース名、他のプレーヤのタイムの履歴における順位(例えば店舗内順位、全国順位)などを表示し、ゲーム結果データとしてプレーヤ名、タイム、選択コース名などを記録する。
【0053】
次に、ゲーム処理におけるレース制御処理(ステップA7)の詳細について説明する。
図11は、
図10に示すレース制御処理の詳細な手順を示すフローチャートである。
まず、プレーヤは、スタート時において、実際のリュージュにおいてスタート時に手でコース面を引っ掻いてスピードを上げるように、タッチセンサ25のタッチ検出面において、前方から後方に指先を移動する操作を、複数回、繰り返して行う。CPU40は、プレーヤによるタッチセンサ25に対する操作を検出し、例えば最初のタッチ位置、タッチ位置の軌跡(方向と長さ)、タッチ操作の回数などに基づいて、仮想のリュージュがコースに飛び出す速度を算出する(ステップB2)。
【0054】
ここでは、実際のリュージュのように、早く、強く、より多くの回数の操作をするほど速度を高くするのではなく、タッチセンサ25のタッチ面に対して、例えば予め決められたスタート期間(例えば、レース開始から4秒間)に、予め決められた回数の操作をするものとし、規定の軌跡により近くなるようにタッチ位置を移動させる操作をした場合に速度が高くなるようにする。これにより、タッチセンサ25のタッチ位置検出性能が高くなくても、プレーヤによるタッチセンサ25に対する操作を各自に検出することができる。なお、タッチセンサ25のタッチ位置検出性能がプレーヤによる早いタッチ操作であっても検出可能である場合には、実際のリュージュのように、早く、強く、より多くの回数の操作をするほど速度を高くするようにしても良い。
【0055】
CPU40は、タッチセンサ25に対するプレーヤのタッチ操作に応じて速度を算出すると、この算出した速度に応じて仮想のリュージュが進行したコース位置を判別し、このコース位置に応じてゲーム画面中のコース30b及び背景画像30aの表示を更新する(ステップB3)。なお、CPU40は、ゲーム画面のタイム表示30dと速度表示30eについては、レースが開始された後、リアルタイムで表示を更新するものとする。
【0056】
CPU40は、スタート期間が終了していない場合(ステップB4、No)、前述したステップB1〜B3の処理を繰り返して実行する。タッチセンサ25に対して良好な操作をした場合には、CPU40は、仮想のリュージュの速度をさらに上げる(加速させる)ように速度を算出する。
【0057】
スタート期間が終了すると(ステップB4、Yes)、CPU40は、スタート期間終了時の仮想のリュージュの速度に応じて仮想のリュージュが進行したコース位置を判別し、このコース位置に応じてゲーム画面中のコース30b及び背景画像30aの表示を更新する(ステップB5)。スタート期間が終了した以降では、CPU40は、シート回転センサ54によって検出されるシート14の変動と変動時のリュージュのコース位置に基づいてリュージュの速度を算出する。
【0058】
CPU40は、右レバーセンサ20aあるいは左レバーセンサ20bからの通知に応じて、プレーヤにより右レバー20あるいは左レバー21が操作されたことを検出すると(ステップB6)、レバー操作に応じたシート移動のためのアシスト制御を行う。すなわち、
図8に示すような、プレーヤによる右レバー20と左レバー21に対する操作に応じて、シート14を傾斜させるための体重移動の初期動作を補助(アシスト)するために、シート駆動ユニット38に対してレバー操作に応じた方向に所定角度分だけ回転させる。シート14がレバー操作に連動して動くため、プレーヤは、その動きに合わせてシート14の内部で体重移動させることにより、シート14を容易に傾斜させることができる。プレーヤは、ディスプレイ30のゲーム画面に表示されるコース30bの形状に合わせて、仮想のリュージュがスムーズにコースを通過することができるようにシート14を傾斜させる。
【0059】
CPU40は、シート回転センサ54からの通知によってシート14の変動(傾斜角度、変化速度)を検出し(ステップB8)、シートの変動と、仮想のリュージュの現在のコース位置とに基づいて、コース上のリュージュの速度を算出する(ステップB9)。コースデータ41bにはコースの形状(斜度、曲がり、コース面の状態)について定義されており、CPU40は、仮想のリュージュの現在のコース位置に対応するコースデータ41bが示すコースの形状を参照して、リュージュの速度を算出する。例えば、コースの直進からカーブに進入する場合に、シート14(仮想のリュージュ)を現在の速度とカーブの形状に対して適切な傾斜角度で、適切なタイミング(変化速度)で変化させた場合には、速度の低下が少なくなるように算出する。一方、シート14の傾斜角度と傾斜させるタイミングが適切でない場合には、速度の低下が大きくなるように算出する。また、コース面の状態が悪いコース位置の場合には、適切な傾斜がされなかった場合には、より大きく速度が低下するように算出するようにしても良い。
【0060】
CPU40は、仮想のリュージュの速度を算出すると、この速度に応じてリュージュが進行したコース位置を判別し、このコース位置に応じてゲーム画面中のコース30b及び背景画像30aの表示を更新する(ステップB10)。
【0061】
CPU40は、仮想のリュージュがゴールまで到達する、あるいは規定時間が経過することによりレースが終了したと判別されなければ(ステップB11、No)、前述したステップB6〜B10の処理を繰り返して実行する。
【0062】
なお、シート14については、必ずしも右レバー20あるいは左レバー21に対する操作を伴って傾斜されるのではなく、プレーヤによるシート14の内部での体重移動のみにより傾斜角度を変化させることができる。例えば、シート14が傾斜した状態にあるままで傾斜角度をコースの形状に合わせて変動させることができる。CPU40は、前述と同様にして、シート14の変動を検出し、シート14の変動とコース位置とに基づいて仮想のリュージュの速度を算出しながらコース表示を更新する(ステップB8〜B10)。
【0063】
レースが終了したと判別される場合(ステップB11、Yes)、CPU40は、ゲーム画面中のタイム表示30dの更新を停止すると共に、その時のタイムを記録して、レース制御処理を終了する。
【0064】
このようにして、本実施形態におけるゲーム装置10は、プレーヤが搭乗する乗り物自体(乗り物ユニット(シート14))を入力デバイスとして機能させるもので、シート14の変動を検出し、シート14の変動に応じてゲームを制御することができる。従って、実際のリュージュを体重移動によりコントロールするのと同様にして、シート14の内部で体重移動することにより、ゲーム画面中に表示されるコース30bを走行する仮想のリュージュをコントロールすることができるので、リアル感を向上させることが可能となる。
【0065】
なお、前述した説明では、リュージュを模したゲームを対象としているため、シート14が左右方向に傾斜するように支持された構成としているが、シート14を前後方向に傾斜するように構成することも可能である。また、前後左右の方向に傾斜可能な構成とすることで、シート14を全方向(360°の範囲)で任意に傾斜できるようにしても良い。この場合、リュージュに限らず、その他の乗り物を模したシートを設けて、プレーヤによる体重移動などの操作によってゲームを制御可能な入力デバイスとして利用することができる。
【0066】
また、リュージュを模したゲームを例にしているため、シート14にほぼ体を伸ばした状態で搭乗するとしているが、シート14に搭乗するプレーヤの姿勢は、その他の状態であっても良い。例えば、直立した状態、俯せとなった状態、横向きとなった状態などであっても良い。さらに、1つの姿勢に限るものではなく、シート(プレーヤが搭乗する座席部)を操作するために(傾かせるなど)、通常時では座っているところを立ち上がるなど、姿勢を変化させるものであっても良い。
【0067】
さらに、前述した説明では、ゲーム処理中にシート14を入力デバイスと使用するため、シート駆動ユニット38は、シート14の傾斜を補助するように動作させているが、例えばゲーム中のシート14の変化をオートプレー(あるいはシミュレーション)するように動作させることも可能である。この場合、例えばシート14の動き(傾斜の変化)を示す時系列の制御データを記録部41に記録しておく。CPU40は、制御データを順次読み出しながら、制御データに応じてシート駆動ユニット38を駆動して、シート14を傾斜させる。これにより、プレーヤは、ゲーム実行時のシート14を傾斜させる方法(傾斜角度、変化速度、タイミングなど)などを体感することが可能となる。
【0068】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。