以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるゲームシステムの構成を示すブロック図である。図1に示すように、本実施形態におけるゲームシステムでは、ゲームサーバ10がインターネット等を含むネットワーク12を介して、全国に存在する複数の店舗14-1,…,14-xのシステムと接続されている。
例えば、店舗14-1では、複数(図1では8台)のゲーム装置20がLAN(Local Area Network)などのネットワークを介して相互に接続されている。本実施形態におけるゲーム装置20では、1人のプレーヤによるソロプレー、2人のプレーヤによる協力プレー、他のゲーム装置20のプレーヤと対戦する対戦ゲームを実行することができる。また、複数のゲーム装置20は、ホスト装置21を介して、ネットワーク12と接続される。従って、ゲーム装置20は、ゲームサーバ10との通信が可能であり、各種のデータを送受信することができる。なお、ゲーム装置20が、直接、ネットワーク12を通じてゲームサーバ10と通信できるようにした構成でも良い。
なお、図1では、店舗14-1に8台のゲーム装置20が設けられた例を示しているが、店舗14-2,…,14-xには1台以上のゲーム装置20が設けられているものとする。複数のゲーム装置20が設けられた店舗14-1では、店舗内でゲーム装置20の間で対戦モードによるゲームをすることができる。
店舗14-1,…,14-xのゲーム装置20は、ゲームを実行することで、ゲーム結果等のプレーヤデータをゲームサーバ10にアップロードして記憶させることができる。
なお、本実施形態におけるゲーム装置20により実行されるゲームは、列車などの乗り物をシミュレーションする運転シミュレーションゲームである。以下、列車を運転するシミュレーションゲームを対象にして説明する。なお、列車以外にも自動車などの車両、飛行機、船舶などの乗り物を対象とすることも可能である。本実施形態におけるゲーム装置20は、例えば、列車を走行させる路線が選択されると、選択された路線を列車が走行した場合の運転席前方の景色を表す画像をディスプレイに表示させながら、予め決められた運行予定に応じて列車を走行させるための操作や各種イベントに対処する操作をプレーヤにさせて、操作内容について評価し、その評価結果に応じた画面表示や音声出力などの演出処理等を実行すると共に得点計算をする。
本実施形態におけるゲーム装置20には、プレーヤの入力操作を受け付ける入力装置として、例えばマスコン(マスタコントローラ)と称される実物の列車に搭載された入力装置を模した操作デバイスを設けている。
ゲームサーバ10は、店舗14-1,…,14-x内のゲーム装置20により実行されるゲームに関する各種データを管理する。ゲームサーバ10により管理されるデータの詳細については後述する(図3)。
携帯端末16は、例えばプレーヤによって操作される入力デバイスとしてタッチスクリーンなどが設けられた他の電子機器、例えばパーソナルコンピュータ、スマートフォン、スレートPC、携帯電話機、携帯型ゲーム機などにより実現されている。携帯端末16は、ネットワーク12を介して、ゲームサーバ10と通信してゲームデータを受信し、ゲームを実行することができる。また、携帯端末16は、プレーヤがゲーム装置20においてゲームをする際に利用されるデータを、ゲームサーバ10に予め登録するために利用できる。例えば、携帯端末16は、ゲーム装置20により実行される運転シミュレーションゲームに使用される、列車を走行させるコース(線路)と運転席前方の景色を表す画像を表示するためのジオラマデータをプレーヤの操作によって作成して、ゲームサーバ10に登録することができる。携帯端末16は、ゲームサーバ10にデータを登録するための専用アプリケーションプログラムを実行してゲームサーバ10にアクセスすることにより、任意に作成したジオラマデータを事前に登録しておくことができる。ジオラマデータの詳細については後述する。なお、携帯端末16からゲームサーバ10に登録するデータは、ジオラマデータに限るものではなく、オブジェクト(風景中の建物等、電車)に関するデータ、携帯端末16において実行されたゲーム結果(ゲームにより達成された条件を示すデータ)を送信することもできる。
図2は、ゲームサーバ10の機能構成を示すブロック図である。図2に示すように、ゲームサーバ10は、制御部30、記憶部31、及び通信インタフェース32を有している。
制御部30は、記憶部31に記憶されているプログラムやデータに基づいて、ゲームサーバ10の全体の制御、記憶部31に記憶されるデータの管理、ゲーム装置20や携帯端末16との通信インタフェース32を介したデータ送受信等の各種処理を実行する。制御部30は、プロセッサ(CPU(Central Processing Unit)やDSP(Digital Signal Processor))により、記憶部31に記憶されたゲームデータ管理プログラム31aを実行することにより各種機能を実現する。
制御部30により実現される機能には、例えばプレーヤデータ処理部30a、ゲームデータ処理部30b、ジオラマデータ処理部30cが含まれる。
プレーヤデータ処理部30aは、ゲーム装置20にプレーヤが提示した例えばプレーヤ識別用のカードのカードID(識別データ)毎に、プレーヤが実行したゲームに関する各種データを処理する。プレーヤデータ処理部30aは、カードID毎に設定される各種データ(プレーヤ管理データ)の処理、ホスト装置21(ゲーム装置20)から受信されるゲーム結果の記録や更新などの各種処理を実行する。プレーヤデータ処理部30aは、通信インタフェース32を介して接続される携帯端末16からの指示に応じて、プレーヤ管理データを追加、編集することができる。
ゲームデータ処理部30bは、携帯端末16やゲーム装置20においてゲームを実行するためのゲームデータを処理するもので、ゲーム装置20あるいは携帯端末16に対するゲームデータの配信、ホスト装置21(ゲーム装置20)からアップロードされたゲーム結果の追加記録などを実行する。ゲームデータには、例えば画像(映像)、音声、ゲーム中に発生する各種イベントに関するデータなどが含まれる。
ジオラマデータ処理部30cは、携帯端末16におけるジオラマデータの作成(ジオラマ作成処理、ジオラマパーツ抽選処理)に関する処理を実行する。ジオラマデータ処理部30cは、携帯端末16を通じてカードIDやパスワード(別途設定される)等により正当なプレーヤであることが識別された場合に、携帯端末16からの指示を受け付けてジオラマデータを追加、編集する。
記憶部31は、ゲームサーバ10を制御するためのプログラムやデータを記憶する。記憶部31に記憶されるプログラムには、基本プログラム(OS(Operating System))の他、ゲーム装置20においてゲームを実行するための各種データを管理するためのゲームデータ管理プログラム31aが含まれる。
ゲームデータ管理プログラム31aには、プレーヤデータ処理部30aを実現するためのプレーヤデータ処理プログラム31a1、ゲームデータ処理部30bを実現するためのゲームデータ処理プログラム31a2、ジオラマデータ処理部30cを実現するためのジオラマデータ処理プログラム31a3が含まれる。
また、記憶部31に記録されるデータには、プレーヤデータ31b、ゲームデータ31cなどが含まれる。
図3は、記憶部31に記憶されるプレーヤデータ31bの一例を示す図である。図3に示すように、プレーヤデータ31bには、プレーヤ1~mのそれぞれに対応するカードID毎のデータ41~4mが含まれる。図3では、例えばプレーヤ1に対応するデータ41として、プレーヤ管理データ41a、ジオラマデータ41b、イベント記録データ41cを示している。
プレーヤ管理データ41aは、プレーヤがカードIDを指定してゲームを実行した場合に記憶されるデータであり、カードID毎に設定されるゲームに関係する各種データが含まれる。例えばプレーヤ管理データ41aには、カードID(識別情報)、店舗ID、プレー地域、プレーヤネーム、カスタムイメージ、プレーヤ経験値、クラス、レベル、称号、獲得アイテム、獲得電車(マイ電車)、プレーヤ成績、切符種類、抽選ポイント等のデータが含まれている。
カードIDは、プレーヤを識別するためのもので、例えばゲーム装置20によりプレーヤが所有するゲーム用カード(記憶媒体)から読み取られ、ゲームサーバ10に通知される。店舗IDは、ゲーム装置20が設置された店舗を識別するためのもので、例えばカードIDと共にゲーム装置20から通知される。プレー地域は、例えば店舗IDが示す店舗を含む地域を示すもので、例えば都道府県によって表す。プレーヤネームは、プレーヤを識別するために用いられるもので、例えばゲーム用カード(カードID)の新規登録時にプレーヤによって任意に指定された文字列によって表現される。カスタムイメージは、プレーヤによって作成されたプレーヤを表すイメージ(アバター、キャラクタ)や運転シミュレーションゲームで使用される列車イメージであり、例えば背景、シンボル(マーク、キャラクタ、車体)、エフェクト(飾り)のイメージを組み合わせて構成される。カスタムイメージを構成する各パーツは、プレーヤが得点を消費することによって獲得(購入)したり、通常のゲームとは異なるイベントプレーの景品として獲得したり、さらには特定回数のプレー後に獲得することができる。
プレーヤ経験値、クラス、レベル、称号、獲得アイテム、及びプレーヤ成績の各データは、例えば、ゲーム装置20において実行されたゲーム結果に基づいて更新されるデータである。
プレーヤ経験値は、プレーヤがゲームを実行することにより加算されるパラメータである。プレーヤ経験値は、ゲーム実行回数に応じて加算され、また対戦モードをした場合の対戦相手と対戦結果に応じて加算される。例えば、運行時刻や停止位置厳守などのゲーム目的を達成した場合や、プレーヤのクラスやレベルよりも高いクラスやレベルの他のプレーヤと対戦して勝利した場合には、クラスやレベルの差に応じたより多くの経験値が加算される。
レベルは、プレーヤ経験値が所定段階まで上がることで獲得されるパラメータである。クラスは、プレーヤのレベルを分類するもので、例えば初級クラス、中級クラス、上級クラス、マスタークラスなどに分類される。クラスは、プレーヤのレベル毎に決められた条件、例えば所定の難易度(モード)の運転シミュレーションゲームについて、所定回数について所定以上の評価を得られた場合に昇格するように定義されている。
クラスは、プレーヤが選択可能な路線、シナリオ(難易度等)を制限するなど、プレーヤ別の制御をするために参照される。称号は、特定の条件を満たすゲーム結果が得られた場合などに獲得されるもので、特定の文字列(例えば15文字)で表される。称号は、プレーヤネームと共にプレーヤを識別するために用いられるもので、複数のレベル(例えば10レベル)が定義されている。上位レベルの称号ほど希少価値があり、獲得しにくいものとなっている。称号が得られる特定の条件を満たすゲーム結果としては、所定の難易度の路線を対象とした運転シミュレーションをクリアした回数、ランキングの上位入賞などがあり、それぞれの条件に応じた称号レベルが定義されている。
獲得アイテムは、プレーヤが取得しているアイテムを示す。アイテムは、例えば、ゲーム終了後やゲーム結果に応じて、レベルアップやイベント達成などがあった場合に取得することができる。アイテムは、例えばコレクションとして収集したり、ゲーム実行時に使用したりすることができる。ゲーム実行時に使用することで、例えばゲーム内容をプレーヤによって有利となるように変更したり、通常のプレーとは異なるプレースタイル(例えば、通常と異なる車両を選択できる)でゲームを実行できるようにする。また、ゲーム中にアイテムを使用できるようにゲーム開始前に設定しておくことで、プレーヤに要求される入力操作を簡単な操作に変更する、入力操作に対する判定をプレーヤに有利にする、ヒントを提示するなどがある。
プレーヤ成績は、プレーヤが実行した各ゲームに関する各種データ、例えばゲーム実行日時、ゲーム対象として選択した路線や難易度、ゲーム結果として得られたポイントや評価などの履歴である。獲得電車(マイ電車)は、ゲーム装置20あるいは携帯端末16におけるゲーム結果が所定の条件を満たす場合に与えられるもので、運行シミュレーションゲームにおいてプレーヤが任意に使用することができる電車を示す。切符種類は、電子マネーを利用してゲーム料金を前払いした形式を示すもので、例えば特定の路線について乗り放題となる切符(周遊切符)、所定回数(例えば5回)分を利用可能な切符(回数制限切符)、あるいは特定の期間(例えば1ヶ月)を利用可能な切符(定期)などを示すものである。なお、特定の期間を利用可能な切符では、1日に利用できる回数の上限が決められるなど、所定の利用条件が設定されるものとする。抽選ポイントは、ジオラマパーツ抽選処理に用いられるもので、携帯端末16においてゲーム等を実行することにより獲得されるポイントを示す。抽選ポイントが所定ポイントに到達した場合に、抽選を実行して、例えばジオラマデータにおいて利用可能なデータ(オブジェクトなどのパーツ等)をプレーヤに提供する。
ジオラマデータ41bは、携帯端末16においてプレーヤの操作によって作成されるジオラマを表すデータである。ジオラマには、運転シミュレーションにおいて電車を走行させる路線(コース)と、路線周辺の建物や地形などの背景を表すジオラマパーツなどを含む。ジオラマデータ41bには、複数の路線のそれぞれについて作成することができ、ゲーム装置20においてゲームを利用する際に選択することができるようにする。
イベント記録データ41cは、プレーヤがゲーム装置20においてゲームを実行している際に、例えばイベント発生時に記録されるプレーヤを撮影した映像及び音声のデータである。プレーヤは、ゲーム装置20により運転シミュレーションゲームを実行する際に、運転手あるいは車掌としてゲームに参加することができる。このため、イベント記録データ41cには、運転手時に記録される運転手イベントと車掌時に記録される車掌イベントのデータが含まれる。イベント記録データ41cに記録されたデータ(映像、音声)は、例えばネットワーク12を通じて、SNS(Social Networking Service)にアップロードすることができる。
プレーヤ管理データ41aは、ゲーム装置20においてプレーヤ情報を表示する場合(例えば、対戦モード実行時のプレーヤマッチング画面、ゲーム開始/結果表示画面、ランキング表示画面)に用いられる。
プレーヤデータ処理部30aは、ゲーム装置20においてカードIDを指定してゲームを実行したプレーヤ2~mのそれぞれについても、図3に示すプレーヤ1と同様のデータ42~4mをプレーヤデータ31bとして記憶する。
通信インタフェース32は、ネットワーク12を介した、携帯端末16やゲーム装置20(ホスト装置21)とのデータ通信を制御する。
図4、図5、及び図6は、本実施形態におけるゲーム装置20の外観構成を示す図である。図4は、ゲーム装置20の筐体50の外観斜視図、図5は、ゲーム装置20の筐体50に収容される操作部の外観を示す外観図、図6は、ゲーム装置20の操作部に設けられる運転台60の外観を示す斜視図をそれぞれ示している。
図4に示すように、本実施形態におけるゲーム装置20の筐体50は、ほぼ箱形をしており、前面の一部を側板52A,52B、右側面を側板51R、左側面を側板51Lにより覆っている。筐体50の前面の例えば右側には、側板を設けておらず、プレーヤが筐体50の内部に出入りするための出入り口53が形成されている。なお、図4において出入り口53は、開放された状態を示しているが、プレーヤが通行する場合に開くように、開閉可能に設けられた開閉部材(ゲート)を設けても良い。側板52A,52B,側板51R,側板51Lのそれぞれには、ガラスやアクリル板などの透明な部材により形成された窓52Aa,52Ba,51Raが設けられている。これにより、筐体50の外部からでも、筐体50の内部において運転台60を操作しているプレーヤの様子や、ディスプレイに表示された画像などを視認することができる。
また、出入り口53の近傍、例えば側板52Bには、カードリーダ54が設けられている。カードリーダ54は、プレーヤがカードリーダ54によってプレーヤ識別用のカードの読み取り操作をし易いように、例えばプレーヤの腰の高さくらいの位置に設けられる。カードリーダ54は、カード固有のデータ(カードID)を記憶するゲーム用カード(記憶媒体)から、非接触による近接無線通信によってデータの読出しをする。プレーヤは、例えば筐体50の内部に入る前に、ゲーム用カードをカードリーダ54にゲーム用カードを近接させる(かざす)ことにより、ゲーム用カードに記録されたカードIDを読み取らせることができる。また、筐体50の前面上部には、LEDパネル55が設けられている。LEDパネル55では、例えばゲームタイトルやゲームの実行状態等が表示される。
なお、筐体50は、前側と後側に分離可能に構成することができる。これにより、ゲーム装置20の搬送や設置作業を容易にすることができる。
図5に示すように、筐体50の内部の正面中央には運転台60が設置されており、運転台60の中央上部にディスプレイ62が設けられ、ディスプレイ62の右側にディスプレイ63R、左側にディスプレイ63Lが設置されている。ゲーム装置20は、3つのディスプレイ62,63R,63Lによって、運転シミュレーションゲーム時に運転席前方の景色を表示することができ、またゲーム状況に応じて、それぞれ異なる内容の画像を個別に表示させることも可能である。
なお、筐体50の内部には、例えば複数箇所に異なる色の照明が可能な複数のライト(図25に示すライト56a1,56a2,…,56am)が取り付けられる。複数のライトは、通常の照明に使用される他、例えばゲーム開始前などに点灯/点滅により演出のために使用される。また、筐体50の内部には、プレーヤの様子を例えば音声付き動画により撮影するためのカメラ(図25に示すカメラ65)、プレーヤの動きを検出するモーションセンサ(図25に示すモーションセンサ66)などが設けられる。
図6に示すように、運転台60の操作面には、マスコン(マスタコントローラ)72、ブレーキレバー73、コイン投入口74、電子マネーユニット75が設けられている。
マスコン72は、運転シミュレーションゲームの実行時にプレーヤにより操作されるもので、実際の電車に実装されたマスタコントローラを模して構成されている。1つのマスコン72によって電車の加速と減速(制動)を制御することができる。マスコン72の詳細な構成については後述する。ブレーキレバー73は、実際の電車を模して設けられている。
コイン投入口74は、ゲーム料金とするコインをプレーヤが投入するためのものである。電子マネーユニット75は、ゲーム料金を電子マネー(カード)によって支払うために使用されるものである。電子マネーユニット75では、1回分のゲーム料金だけでなく、ゲーム料金を前払いする切符類(周遊切符、回数制限切符、定期など)の支払いに使用される。
運転台60の上部前部中央には、タッチパネル77が設けられる。タッチパネル77には、運転シミュレーションの実行時に、列車の状態を表す各種情報、例えば圧力計、速度計、その他信号状態、警告灯、室内空調、行き先、車内案内、ボタンやスイッチなどを表す画像を表示する。タッチパネル77は、プレーヤによるタッチ操作を検知することができる。タッチパネル77には、例えばプレーヤが選択したゲーム対象とする路線を走行する列車に応じた、列車毎に異なる画像を表示させることができる。
また、運転台60の上部前部左右には、それぞれスピーカ78R,78Lが設けられる。なお、運転台60の正面(側板52Bの筐体50内部側)には、プレーヤが座るための座席57が設けられている。側板52Bの筐体50内部側には、プレーヤが座席57に座った時の頭近くの左右位置に、例えば2つのスピーカ(図25に示すスピーカ78BL,78BR)が設けられる。ゲーム装置20は、プレーヤの前方と後方にそれぞれ設けられたスピーカによって、実際に列車を走行している時と同様の効果音を出力させることができる。運転台60の下部には、プレーヤが足によって操作するペダル79が設けられる。
次に、マスコン72の詳細について説明する。
図7及び図8は、マスコン72の構成を示す斜視図、図9は、マスコン72の側面図をそれぞれ示している。図7及び図8は、それぞれ異なる方向からみた斜視図である。
マスコン72には、プレーヤにより操作される操作レバーが形成されている。操作レバーは、例えばプレーヤが操作のために把持する把持部72aと、把持部72aを支持するシャフト72bを含む。操作レバーは、1つの軸72fで回動するもので、プレーヤの操作により前後方向に移動させることができる。操作レバー(シャフト72b)は、把持部72aが設けられていない側がレバー収容部材72cにより覆われた状態で、マスコン基台72z(運転台の操作面)に収容されている。レバー収容部材72cは、操作レバーと一体に形成され、軸72fを中心にした円弧形状の外周面と、操作レバーの回動方向と平行な面により、操作レバーの軸72f側の一部を覆うように形成されている。マスコン基台72zには、レバー収容部材72cにより覆われていない部分の操作レバーと、レバー収容部材72cの一部(シャフト72bを収容した部分を含む)を運転台の操作面上に露出させるための矩形状の開口部72dが設けられている。レバー収容部材72cは、円弧形状の外周面と操作レバーの回動方向と平行な面により操作レバー(シャフト72b)を覆う形状としているため、操作レバーが前後方向に回動されても操作面上に露出される部分の形状が同じとなる。
すなわち、操作レバーを最も前方あるいは後方に回動させることにより、シャフト72bと運転台の操作面(マスコン基台72z)との角度が小さくなる状態としても、シャフト72bと操作面との間には常にレバー収容部材72cが存在するため、操作レバーの操作によって、プレーヤの身体の一部や荷物などを挟み込んでしまうおそれがない。従って、操作レバーの移動可能な段数を多くするために可動範囲を広くしたとしても安全性を確保することができる。また、開口部72dに対して円弧状の部材を摺動させることになるため、操作レバーの操作に伴ってレバー収容部材72cが回動されたとしても、レバー収容部材72c自体が開口部72dに引っ掛かるおそれはない。
図7(B)及び図8(B)は、マスコン72からマスコン基台72zを除いた構成を示している。
図7(B)及び図9に示すように、マスコン基台72zの下面には、操作レバー(シャフト72b)を回動させる軸72fを保持する2枚の軸保持部材72e1,72e2が垂直方向に設けられ、軸保持部材72e1,72e2の間にレバー収容部材72cが配置されている。
本実施形態におけるマスコン72には、操作レバーの回動可能範囲内の基準位置(ニュートラル位置)から操作レバーが前方(第1方向)に回動された場合に、回動された位置で操作レバーの位置を保持し、基準位置から第1方向と逆方向の後方(第2方向)に回動された場合に、操作レバーを基準位置に戻すように付勢する機構が設けられている。
すなわち、図7(B)(C)に示すように、操作レバーの右側には、軸72fに巻回された、操作レバーを基準位置に戻すように付勢するためのねじりバネ72m(トーションバネ)(以下、単にバネ72mと称する)が設けられている。バネ72mは、一方の端部(第1端部)を固定し、他方の端部(第2端部)(バネ72mの腕に相当する部分)を移動可能状態にしている。軸72fには、操作レバーが基準位置から後方に回動された場合に、軸72fの回動と連動して、バネ72mの両端の角度を小さくする方向にバネ72mの他方の端部を押す作動部材72uが設けられている(詳細については図11に示す)。
また、マスコン72には、操作レバーの回動位置を検出するために、操作レバーの回動と連動して、回動する複数の板部材72j(第3板部材72j1、第1板部材72j2、第2板部材72j3)と、位置部材の回動を検出する複数のセンサ72k(第3センサ72k1、第4センサ72k2、第1センサ72k3、第2センサ72k4)が設けられている。
図7(B)(C)、図9に示すように、操作レバーの右側には、操作レバーの回動位置を検出するために、操作レバーの回動方向と並行に回動する第3板部材72j1(センサブレード)と、第3板部材72j1の回動を検出する第3センサ72k1と、操作レバーの回動方向に第3センサ72k1と並べた第3板部材72j1の回動を検出する第4センサ72k2とを設けている。第3センサ72k1と第4センサ72k2は、軸保持部材72e1に固定された支持部材72e3により支持されている。
なお、図7(C)に示す規定部材72gは、軸保持部材72e1のレバー収容部材72cと対向する面に設けられた部材である。規定部材72gは、操作レバーを予め決められた位置に位置決めすると共に、操作レバーの操作時にノッチ感を発生させるために設けられる部材である。規定部材72gの詳細については後述する(図12(B)、図14)。
第3板部材72j1は、軸72fと支持部材72hを介して固定されており、操作レバーの回動に連動して回動する。第3センサ72k1及び第4センサ72k2は、例えばフォトセンサであり、第3板部材72j1の移動に伴って変化する遮光状態/透光状態を検出する。図10(A)には、第3センサ72k1及び第4センサ72k2の配置と、第3板部材72j1の位置関係を示している。第3板部材72j1の形状の詳細については後述する(図16参照)。
また、図8(B)(C)、図9に示すように、操作レバーの左側には、操作レバーの回動位置を検出するために、操作レバーの回動と連動して、操作レバーの回動方向と並行に回動する第1板部材72j2と、第1板部材72j2と所定の間隔を設けて配置した第2板部材72j3と、第1板部材72j2の回動を検出する第1センサ72k3と、軸72fの方向に第1センサ72k3と所定の間隔を設けて並べた、第2板部材72j3の回動を検出する第2センサ72k4とを設けている。第1センサ72k3と第2センサ72k4は、軸保持部材72e2に固定された支持部材72e4により支持されている。
なお、図8(C)に示す規定部材72qは、軸保持部材72e2のレバー収容部材72cと対向する面に設けられた部材である。規定部材72qは、操作レバーを予め決められた特定の位置に位置決めすると共に、特定の位置においてノッチ感を発生させるために設けられる部材である。規定部材72qの詳細については後述する(図13(B)、図15)。
第2板部材72j3は、軸72fに固定されており、操作レバーの回動に連動して回動する。第1板部材72j2は、支持部材72sを介すことにより、第2板部材72j3と所定の間隔を設けられている。第1センサ72k3及び第2センサ72k4は、例えばフォトセンサであり、それぞれに対応する第1板部材72j2、第2板部材72j3の移動に伴って変化する遮光状態/透光状態を検出する。図10(B)には、第1センサ72k3及び第2センサ72k4の配置と、第1板部材72j2、第2板部材72j3の位置関係を示している。第1板部材72j2と第2板部材72j3の形状の詳細については後述する(図17、図18参照)。
操作レバーの回動位置は、第1センサ72k3による第1板部材72j2の検出の有無(遮光/透光)、第2センサ72k4による第2板部材72j3の検出の有無(遮光/透光)、第3センサ72k1と第4センサ72k2のそれぞれによる第3板部材72j1の検出の有無(遮光/透光)の組み合わせによって検出する。本実施形態では、例えば操作レバーを、非常停止位置、制動位置(B1~B8の8段)、ニュートラル(切位置)、加速位置(P1~P5の5段)の15段で位置検出するものとする。このため、操作レバーが所定量分、回動される毎に、第1センサ72k3、第2センサ72k4、第3センサ72k1、第4センサ72k2による板部材(センサブレード)の検出有無の組み合わせが異なるように、第1板部材72j2、第2板部材72j3、第3板部材72j1は、センサにより検出される範囲と検出されない範囲とが混在するそれぞれ異なる形状に形成されている。
また、15段を検出するのであれば、4枚の板部材を軸72fに固定して、それぞれに対応する軸方向に配列した4つのセンサにより検出する構成も可能であるが、単純に板部材とセンサを軸方向に配列するとユニットのサイズが大きくなってしまう。本実施形態では、1枚の第3板部材72j1について、操作レバーの回動方向に配列した2つの第3センサ72k1及び第4センサ72k2により検出する構成とすることで、ユニットサイズを大きくすることなく、15段の位置検出を可能としている。
なお、本実施形態では、15段の位置検出をしているが、より多くの段数の位置検出するために板部材とセンサの数を増やす構成とすることも可能である。この場合、前述したように、複数のセンサを軸方向と、操作レバーの回動方向のそれぞれに分けて配置する構成とすることが可能である。
次に、操作レバーを基準位置(ニュートラル位置)に戻すための機構について、図9及び図11を参照しながら説明する。図11は、バネ72mの周囲の部材を除いて、バネ72mの動きを説明するための図である。図11(A)は、マスコン72の側面図、図11(B)(C)は、マスコン72の下方からそれぞれ異なる方向から見た斜視図である。
図11に示すように、軸72fにはバネ72m(トーションバネ)が巻回されており、一方の端部(第1端部)が軸保持部材72e1に取り付けられた固定部材72wにより固定されている。また、他方の端部(第2端部)を含むバネ72mの腕72maに相当する部分を移動可能状態にしている。ただし、軸保持部材72e1には、バネ72mの腕72maの可動範囲を規定する固定部材72vが取り付けられている。固定部材72vは、操作レバーがニュートラルから制動操作の範囲にある場合に、操作レバー(軸72f)に対してバネ72mにより付勢されないようにバネ72mの腕72maの可動範囲を規定する。
図9に示すように、軸72fと固定された連結部材72tを介して作動部材72uが取り付けられている。作動部材72uは、操作レバーが非常停止位置と制動位置(B1~B8の8段)の位置にある場合、図11に示す破線により示す位置にある。すなわち、バネ72mと離れた位置にあるため、操作レバーは、バネ72mにより付勢されない(図11に示す腕72mbの位置)。これに対して、操作レバーが加速位置(P1~P5の5段)に回動された場合(プレーヤにより手前側に引かれた場合)、作動部材72uは、図11の矢印によって示すように、軸72fの回動と連動して、バネ72mの両端の角度を小さくする方向にバネ72mの腕72maを押す。このため、バネ72mは、操作レバーをニュートラル位置に戻す方向に付勢する。また、操作レバーがバネ72mの付勢によってニュートラル位置に戻されると、バネ72mの腕72maが固定部材72vに接触するためバネ72mによる操作レバーの付勢が解消される。従って、操作レバーは、ニュートラルの位置で停止する。
このように、操作レバーによって加速と制動(減速)を操作する構成とした場合において、加速する操作範囲のみについて、操作レバーをニュートラル状態に復帰させることが可能となる。
次に、操作レバーを回動させる際に、予め決められた回動位置においてノッチ感を発生させるための構成について、図12、図13、図14、及び図15を参照して説明する。
図12(A)は、レバー収容部材72cの右側の側面図、図12(B)は、軸保持部材72e1のレバー収容部材72cと対向する面を示す側面図である。
図12(A)に示すように、レバー収容部材72cには、軸保持部材72e1と対向する面に2つの突起部材72c1,72c2が設けられている。突起部材72c1,72c2は、軸72fから径方向の線上に配置される。突起部材72c1は、径方向の軸72fに近い位置に設けられ、突起部材72c2は、突起部材72c1と間隔を開けてレバー収容部材72cの外周面近くに設けられる。突起部材72c1,72c2は、頭頂部が曲面になっており、頭頂部に対して側面から力を加えることにより高さが変化する(僅かに低くなる)ように構成されている。
図12(B)に示すように、軸保持部材72e1のレバー収容部材72cと対応する面には、規定部材72gが設けられる。図14は、規定部材72gの斜視図を示している。規定部材72gは、操作レバーの回動に伴って、突起部材72c1,72c2が通過する経路に沿って、突起部材72c1,72c2を脱着可能な複数の穴が設けられている。図12(B)に示す規定部材72gには、突起部材72c2が通過する経路に沿って15個の穴72g1が設けられ、突起部材72c1が通過する経路に沿って2個の穴72g2,72g3が設けられている。15個の穴72g1は、操作レバーの位置を15段に規定するためのものである。穴72g2は、15個の穴72g1のうち制動位置B8(非常停止位置の1つ前)に対応する穴と同じ、軸72fの径方向の線上に配置される。穴72g3は、15個の穴72g1のうちニュートラル(切位置)に対応する穴と同じ、軸72fの径方向の線上に配置される。従って、操作レバーが制動位置B8(非常停止位置の1つ前)に回動された位置にある時と、ニュートラル(切位置)にある時には、2つの突起部材72c1,72c2が同時に穴に装着された状態となるため、操作レバーが他の位置にある時よりも強く位置決めされた状態が保持される。これにより、プレーヤは、操作レバーによる操作感によって操作レバーが特定の位置、すなわち非常停止位置の1つ前の制動力が最も大きい位置とニュートラル位置にあることを容易に認識することができる。
規定部材72gは、図9の正面図に示すように、操作レバーの回動に伴って、突起部材72c1,72c2が移動することで、穴72g1,72g2,72g3に脱着可能とする間隔を設けて、突起部材72c1,72c2と相対させて配置される。よって、操作レバーが回動されることで、突起部材72c1,72c2が順次、複数の穴に対して脱着を繰り返すことになり、ノッチ感を発生させることができる。
なお、図12及び図14では、穴72g1と、穴72g2,72g3との径方向の間隔を同じとしているが、間隔を変えることで、2つの穴に突起部材72c1,72c2が装着された状態から操作レバーを回動させるときに必要となる力を変化させることができる。この場合、径方向の間隔が異なる穴72g2,72g3のそれぞれに対応する突起部材を設ける必要がある。これにより、操作レバーの位置によってノッチ感を変えることも可能である。また、図14に示す規定部材72gでは、穴72g1を等間隔に配置しているが、操作レバーを固定(保持)する位置に応じて不等間隔に配置することも可能である。
図13(A)は、レバー収容部材72cの左側を示す側面図、図12(B)は、軸保持部材72e2のレバー収容部材72cと対向する面を示す側面図である。
図13(A)に示すように、レバー収容部材72cには、軸保持部材72e2と対向する面に2つの突起部材72c3,72c4が設けられている。突起部材72c3,72c4は、軸72fから径方向の線上に配置される。突起部材72c3は、径方向の軸72fに近い位置に設けられ、突起部材72c4は、突起部材72c3と間隔を開けてレバー収容部材72cの外周面近くに設けられる。突起部材72c3,72c4は、頭頂部が曲面になっており、頭頂部に対して側面から力を加えることにより高さが変化する(僅かに低くなる)ように構成されている。
図13(B)に示すように、軸保持部材72e2のレバー収容部材72cと対応する面には、規定部材72qが設けられる。図15は、規定部材72qの斜視図を示している。規定部材72qは、操作レバーの回動に伴って、突起部材72c3が通過する経路に沿って、突起部材72c3を脱着可能な複数(図15では2つ)の穴72q3,72q4が設けられている。また、規定部材72qには、突起部材72c4が通過する経路に沿って、突起部材72c3を保持した状態で通過させるガイド溝72q1と穴72q2が設けられている。穴72q2は、操作レバーが非常停止位置に回動され時に突起部材72c4が挿入され、操作レバーの位置を保持する。ガイド溝72q1は、非常停止位置以外の回動位置では、常時、突起部材72c4が挿入された状態にあるため、操作レバーの回動を安定させると共に、非常停止位置に操作レバーが回動される時にのみノッチ感を強く発生させることができる。突起部材72c3が通過する経路に沿って設けられた2個の穴72q3,72q4は、規定部材72gに設けられた穴72g2,72g3と相対的に同じ位置に設けられている。すなわち、突起部材72c1が穴72g2,72g3に装着される時、同じように、突起部材72c3が穴72q3,72q4に装着される。従って、操作レバーが制動位置B8(非常停止位置の1つ前)に回動された位置にある時と、ニュートラル(切位置)にある時には、2つの突起部材72c3が穴72q3,72q4に装着された状態となるため、操作レバーが他の位置にある時よりも強く位置決めされた状態が保持される。
なお、前述した説明では、規定部材72gと規定部材72qの何れの場合も、突起部材が同時に装着(挿入)される数を最大2つとしているが、3つ以上とする構成としても良く、3つ以上とする構成とした場合に、それぞれ異なる突起部材が挿入される穴の間隔も一定でなくても良い。
次に、操作レバーの回動位置を検出するための機構について説明する。図16は、第3板部材72j1の平面図、図17は、第1板部材72j2の平面図、図18は、第2板部材72j3の平面図である。
第1板部材72j2、第2板部材72j3、第3板部材72j1は、軸72fに取り付けられ、操作レバーの回動と連動して同時に回動され、図16~図18のそれぞれに示す円弧状の部分が、それぞれに対応する4つのセンサ(第3センサ72k1、第4センサ72k2、第1センサ72k3、第2センサ72k4)によって検出される。第1板部材72j2、第2板部材72j3、第3板部材72j1は、センサにより検出される範囲と検出されない範囲とが混在するそれぞれ異なる形状に形成されている。図中、円弧状の部分に示す「1」は、センサによって検出されない範囲(透光状態)を示し、「0」は、センサによって検出される範囲(遮光状態)を示している。図19は、第2板部材72j3と第1板部材72j2のセンサによる検出有無の組み合わせを示している。
図20~図24は、操作レバーの回動位置に応じた、第3センサ72k1、第4センサ72k2、第1センサ72k3、第2センサ72k4による板部材(センサブレード)の検出有無の組み合わせについて示している。図20(A)に示すように、本実施形態では、操作レバーの位置を15段により検出し、操作レバーを最も前方に回動させた状態(非常停止位置)から最も手間側に回動させた状態(加速位置P5)まで、それぞれ4つのセンサによる検出有無の組み合わせが異なっている。なお、図20(A)に示すA,B,C,Dは、それぞれ第2センサ72k4、第1センサ72k3、第3センサ72k1、第4センサ72k2により検出される状態を示している。
図20(B)(C)は、操作レバーを非常停止位置に回動させた状態を示している。図20(B)(C)に示すように、何れのセンサも板部材を検出しないため(透光状態「1」)、A~Dが全て「1」となっている。図21(A)(B)は、操作レバーを制動位置B5の位置に回動させた状態を示している。図21(A)(B)に示すように、制動位置B5の位置に回動させた状態では、第1センサ72k3と第3センサ72k1によりそれぞれ板部材を検出するため(遮光状態「0」)、A~Dの組み合わせは「1001」となる。図22(A)(B)は、操作レバーがニュートラル(切位置)にある状態を示している。図22(A)(B)に示すように、ニュートラル(切位置)の位置にある状態では、第1センサ72k3のみが板部材を検出しないためA~Dの組み合わせは「0100」となる。図23(A)(B)は、操作レバーを加速位置P3の位置に回動させた状態を示している。図23(A)(B)に示すように、加速位置P3の位置に回動させた状態では、第1センサ72k3と第4センサ72k2によりそれぞれ板部材を検出するため、A~Dの組み合わせは「1010」となる。図24(A)(B)は、操作レバーを加速位置P5の位置に回動させた状態を示している。図24(A)(B)に示すように、加速位置P5の位置に回動させた状態では、第2センサ72k4と第4センサ72k2によりそれぞれ板部材を検出するため、A~Dの組み合わせは「0110」となる。
このように、3枚のそれぞれ形状が異なる板部材と4つのセンサによって、操作レバーのそれぞれの回動位置を検出することが可能となる。
また、図20(A)に示すように、操作レバーの位置を1段分、回動させることにより、何れかの1つのセンサによる検出状態のみが変化するように構成されている。このため、操作レバーの切り換えに応じた制御を安定して実行することができる。すなわち、例えば1段分の切り換えによって2つのセンサの検出状態が変化する場合、センサによる検出タイミングのずれによって、操作レバーの切り換え時に瞬間的に他の操作レバーの回動位置に対応する検出状態(検出有無の組み合わせ)が発生する可能性がある。こうした場合、センサの検出に応じて制御状態を変化させると、一時的に誤った制御(例えば、加速→減速→加速の切り換えなど)が実行される可能性がある。本実施形態では、こうした状況が発生しないため、スムーズに安定した制御が可能となる。
次に、本実施形態におけるゲーム装置20の制御について説明する。
図25は、本実施形態におけるゲーム装置20の機能構成を示すブロック図である。 図25に示すように、ゲーム装置20は、制御部90、記憶部92、ディスプレイコントローラ93、タッチパネルコントローラ94、サウンドコントローラ95、ライティングコントローラ96、入力インタフェース97、通信インタフェース98、及びコインセンサ99を有している。
制御部90は、ゲーム装置20全体の制御を司るもので、記憶部92に記憶された基本プログラム(OS(Operating System))や各種アプリケーションプログラム(ゲームプログラム92aを含む)を実行することで各部を制御する。制御部90は、プロセッサ(CPUやDSP)により、記憶部92に記憶されたゲームプログラム92aを実行することで、マスコン72の操作レバーに対する入力操作(センサ72kの検出状態)に応じて制御されるゲームを実行するための各種機能を実現する。
制御部90により実現される機能には、スタート処理部90a(デモ処理部90a1、ゲーム準備処理部90a2、演出処理部90a3)、プレーヤマッチング処理部90b、ゲーム処理部90c(ゲーム画面表示処理部90c1、操作判定処理部90c2、対戦処理部90c3、ゲーム音声処理部90c4、メッセージ処理部90c5)、ゲーム結果処理部90d、プレーヤデータ処理部90e、及び入力制御部90fが含まれる。
スタート処理部90aは、ゲームが開始されるまでのスタート処理を実行する。デモ処理部90a1は、デモンストレーション用のゲーム画面を表示するデモ処理を実行する。ゲーム準備処理部90a2は、ゲーム用カードの新規登録やゲーム用カードからのデータ(カードID)読み出しなどの処理、ゲームモード選択処理(通常モード、鉄人モード、体験走行モード、対戦モード)などを実行する。演出処理部90a3は、ゲーム用カードからカードIDが読み取られた場合に、カードID(プレーヤ)に対応するゲーム開始前の演出処理(図28)を実行する。
プレーヤマッチング処理部90bは、プレーヤにより対戦モードの実行が指示された場合に、対戦相手を決定するためのマッチング処理を実行する。本実施形態におけるゲーム装置20では、対戦モードでは、1(運転手)対1(運転手)による対戦の他、2(運転手、車掌)対2(運転手、車掌)の対戦を実行可能とする。
ゲーム処理部90cは、ゲームデータ92bに基づいて、プレーヤにより指定されたゲームモードによるゲームを制御する。ゲーム処理部90cには、ゲーム画面表示処理部90c1、操作判定処理部90c2、対戦処理部90c3、ゲーム音声処理部90c4の機能が含まれる。
ゲーム画面表示処理部90c1は、ゲームデータ92bをもとに、運転シミュレーションする路線における運転席前方の景色を表す画像やゲームに関する各種情報、さらにはデモンストレーション用画像や演出用画像などをディスプレイ62,63L,63Rに表示させる他、プレーヤの入力操作に関係する各種情報をタッチパネル77(ディスプレイ77a)に表示させる。
操作判定処理部90c2は、マスコン72に対する入力操作と、ゲーム画面表示処理部90c1により表示される画面の表示内容に基づいて入力判定をする判定機能を含む。操作判定処理部90c2は、例えば運転シミュレーションにおいて、ダイヤ通りに走行したか、停止位置が正しいか、あるいは駅構内再加速や非常制動停車などの操作判定などを判定する。また、運転シミュレーションにおいて発生する各種イベント等に対するプレーヤ(運転手、車掌)による操作判定などを実行する。また、操作判定処理部90c2は、運転シミュレーションの最終結果として、操作判定の結果に基づいて運転評価の点数を算出する。
対戦処理部90c3は、対戦モードを制御するもので、自装置におけるゲーム状況を示すデータの送信、対戦相手とする他のプレーヤ(他のゲーム装置)が実行するゲーム状況を示すデータの受信等を実行する。
ゲーム音声処理部90c4は、ゲーム実行中の音声出力を制御する。ゲーム音声処理部90c4は、サウンドコントローラ95を通じて、スピーカ78L,78R,78BL,78BR、及びヘッドホン端子58bから出力する音を制御する。また、ゲーム音声処理部90c4は、プレーヤが座るための座席57に設けられた音響振動モジュール(バスシェーカ)78BSを駆動する。例えば、ゲーム音声処理部90c4は、ゲームデータ92bに設定された運転シミュレーションにおける振動発生のタイミングと強度に応じた音声信号を音響振動モジュール78BSに出力し、音響振動モジュール78BSを音響振動させて振動感をプレーヤに提供する。
メッセージ処理部90c5は、対戦モードによりゲームを実行する場合に、対戦相手とする他のゲーム装置20との間で送受信される各種のメッセージについて処理する。ゲーム装置20の間で送受信されるメッセージには、プレーヤの音声、プレーヤのタッチパネル77に対する操作に応じたテキストデータ、特定のゲーム状況に対応して予め決められたメッセージデータ(画像、テキスト、音声など)などがある。メッセージ処理部90c5は、他のゲーム装置20からメッセージを受信した場合、ゲーム実行中にメッセージを出力する(表示、音声出力など)。
ゲーム結果処理部90dは、ゲーム処理部90cによるゲーム結果に対する処理を実行する。ゲーム結果処理部90dは、運転シミュレーション中の中間結果、ゲーム終了時の最終結果として評価結果を表示させる。
プレーヤデータ処理部90eは、プレーヤに関係する各種データに対する処理を実行するもので、ゲームサーバ10において管理されているプレーヤ管理データ41aの閲覧や編集、成績閲覧、ゲーム終了後のプレーヤデータのゲームサーバ10の送信(登録)などの処理を実行する。
入力制御部90fは、入力インタフェース97を通じて入力されるプレーヤの操作に応じた、マスコン72a(センサ72k)及びペダル79に設けられたペダルセンサ79aからの入力データを制御する。また、入力制御部90fは、入力インタフェース97を通じて入力される、カメラ65により撮影される映像(及び音声)データ、モーションセンサ66による検出データを処理する。
記憶部92は、ゲーム装置20において実行されるゲームを制御するためのプログラムやデータを記憶する。記憶部92に記憶されるプログラムには、基本プログラムの他、ゲーム装置20においてゲームを実行するためのゲームプログラム92aが含まれる。ゲームプログラム92aは、プロセッサ等により実行されることで、制御部90の各機能を実現することができる。
また、記憶部92に記憶されるデータには、ゲームデータ92b、プレーヤ管理データ92c、対戦プレーヤ管理データ92d、イベント記録データ92f、ジオラマデータ92gが含まれる。
ゲームデータ92bは、ゲーム装置20により実行される運転シミュレーションに関するデータを含む。プレーヤ管理データ92cは、カードリーダ54によってゲーム用カードから読み取られたカードIDをもとに、ゲームサーバ10から受信されたデータである。プレーヤ管理データ92cは、ゲームサーバ10においてカードIDと対応づけて記憶されたプレーヤ管理データ41aに相当する。対戦プレーヤ管理データ92dは、対戦モード時の対戦相手とするプレーヤのプレーヤ管理データや、対戦時に対戦処理部90c3によって取得されるゲーム状況を示すデータを含む。イベント記録データ92fは、ゲームを実行している際に、例えばイベント発生時に記録されるプレーヤ(運転手、車掌)を撮影した映像及び音声のデータである。ジオラマデータ92gは、カードリーダ54によってゲーム用カードから読み取られたカードIDをもとに、ゲームサーバ10から受信されたデータである。ジオラマデータ92gは、ゲームサーバ10においてカードIDと対応づけて記憶されたジオラマデータ41bに相当し、運転シミュレーションにおいて運転対象とする路線として選択対象とすることができる。
入力インタフェース97は、制御部90の制御のもとで、マスコン72aの操作レバーに対する操作に応じたデータ(センサ72kの検出データ)及びペダル79に対する操作に応じたペダルセンサ79aからのデータの入力を制御する。また、入力インタフェース97は、カメラ65により撮影される映像(及び音声)データ、モーションセンサ66による検出データを入力する。
タッチパネルコントローラ94は、制御部90の制御のもとで、タッチパネル77を制御する。タッチパネル77は、ディスプレイ77aとタッチパッド77bを含む。
サウンドコントローラ95は、制御部90(ゲーム音声処理部90c4)の制御のもとで、スピーカ78L,78R,78BL,78BR、ヘッドホン端子58bからの音声出力を制御する。サウンドコントローラ95は、ヘッドホン端子58bにヘッドホンのプラグが装着された場合、スピーカ78L,78R,78BL,78BRから音声出力を停止させる。また、サウンドコントローラ95には、体感音響振動ユニット50dに設けられた音響振動モジュール78BSが接続されている。サウンドコントローラ95は、例えばディスプレイ62に表示される画像と対応づけて振動を発生させるタイミングに応じて、振動強度に応じた音声信号を音響振動モジュール78BSに出力する。また、サウンドコントローラ95には、ボリュームボタン58、マイク59が接続される。ボリュームボタン58は、例えば筐体の内部に収容されたゲーム装置20の管理者用の制御パネルに設けられ、音量バランスの調整などに使用される。マイク59は、例えば運転シミュレーションを2人で実行する場合に(2人モード)、車掌としてプレーするプレーヤの音声を入力するために使用される。
ライティングコントローラ96は、制御部90の制御のもとで、複数のライト56a1,56a2,…,56amの点灯/点滅、LEDパネル55の表示パターンや色等を制御する。例えば、ライティングコントローラ96は、ゲーム開始前に演出処理部90a3の制御により、カードID(プレーヤ)のそれぞれに対応する演出に応じてライト56a1,56a2,…,56amの点灯や点滅、LEDパネル55の表示パターンなどを切り替える。
コインセンサ99は、コイン投入口74から投入されたコインを検知して、制御部90(スタート処理部90a)に通知する。
通信インタフェース98は、店内の他のゲーム装置20やホスト装置21との通信や、ネットワーク12を介したゲームサーバ10との通信を制御する。
次に、本実施形態におけるゲーム装置20の動作について説明する。
図26及び図27は、本実施形態におけるゲーム装置20の全体動作を説明するためのフローチャートである。
ゲーム装置20は、電源が投入されることにより、ゲームプログラム92aを起動して、スタート処理部90aによる処理を開始する。まず、スタート処理部90aは、デモ処理部90a1によりデモ(デモンストレーション)処理を実行する(ステップA1)。例えば、デモ処理部90a1は、デモ用の画面をディスプレイ62,63R,63Lを繰り返して表示させる他、LEDパネル55やライト56a1,56a2,…,56amを制御する。デモ処理部90a1は、例えばメーカ名などを表示するロゴ表示画面、ニュース画面(予め用意された画像やゲームサーバ10から受信した画像)を表示するニュース画面、ゲームタイトル画面、ゲームの遊び方を解説するチュートリアル画面、運転シミュレーションゲームで利用可能な路線の一覧を表示する路線リスト画面などを、それぞれ所定時間が経過した後あるいは全ての表示内容の表示が完了した後に、順次切り替えながら繰り返して表示する。筐体50には複数の52Aa,52Ba,52Raが設けられているため、筐体50の外部からでもデモ画面を見ることができる。これにより、デモ画面の表示によりプレーヤに対してゲームの利用を促すことができる。なお、デモ表示中には、筐体50の内部の照明を暗くすることで、筐体50の外部からディスプレイ62,63R,63Lの表示内容を視認し易くすることができる。
ゲーム準備処理部90a2は、コインセンサ99によりコイン投入が検知された場合、あるいは電子マネーユニット75による電子マネーからの入金が検出された場合(ステップA2、有り)、例えばディスプレイ62(あるいはタッチパネル77)に、「カードをリーダにタッチさせて下さい」などのメッセージを含む、カード認証画面を表示させて、プレーヤ識別用のカードの認証画面を表示させる(ステップA3)。なお、ここで筐体50の外部に設けられたカードリーダ54によってカード読み取らせるようにしても良いし、運転台60においてカードを読み取らせることができるように、運転台60にもカードリーダ54を設けても良い。
カードの認証画面を表示させた後、例えば一定時間が経過してもカードリーダ54によるカードの読み取りが実行されない場合(ステップA4、無し)、ゲーム準備処理部90a2は、カード利用のメリットをプレーヤに説明するための画面を表示させる(ステップA5)。その後、コインセンサ99によりゲーム利用開始に必要な料金の投入があったことが検知された場合、あるいは電子マネーユニット75による電子マネーからの入金が検出された場合(ステップA6、有り)、ゲーム準備処理部90a2は、ゲーム処理部90cに対してゲーム処理の開始を指示する。
一方、ゲーム準備処理部90a2は、コインセンサ99によるコイン投入あるいは電子マネーユニット75による電子マネーからの入金が検知される前に(ステップA2、無し)、カードリーダ54によりカードIDの読み取られると、使用可能なカードであるか認証処理をする。ゲーム準備処理部90a2は、使用可能なカードであることが認証された場合(ステップA7、有り)、カードIDをゲームサーバ10に送信して、このカードIDに対応するプレーヤ登録を確認する。
ゲームサーバ10は、ゲーム装置20から受信されたカードIDに対応するプレーヤデータが記録されているか判定する。カードIDに対応するプレーヤデータが記録されていない場合、ゲームサーバ10は、新規プレーヤであることをゲーム装置20に通知し、カードIDに対応するプレーヤデータが記録されている場合には、該当するプレーヤ管理データをゲーム装置20に送信する。
ゲーム準備処理部90a2は、ゲームサーバ10から新規プレーヤであることが通知された場合(ステップA9、無し)、例えば「このカードは、このゲーム装置に未登録のカードです。新規登録を開始しますか?」のメッセージを含むプレーヤ新規登録画面を表示して、例えばプレーヤネームなどの登録を促す(ステップA10)。ここで、ゲーム準備処理部90a2は、新規登録の実行が指示されると、タッチパネル77にプレーヤ登録用の操作画面を表示させて、プレーヤのタッチパネル77に対する操作によってプレーヤ登録する。ゲーム準備処理部90a2は、新規カードから読み込んだカードIDと、プレーヤ操作により入力されたプレーヤネームのデータをゲームサーバ10に送信して記録させる。
なお、演出処理部90a3は、カードリーダ54によるカードIDの読み取りに応じて、前述した処理と並行してプレーヤ(カードIDに対応するプレーヤ管理データ)に応じた演出処理を実行する(ステップA12)。演出処理の詳細については後述する。
一方、ゲーム準備処理部90a2は、ゲームサーバ10からプレーヤ管理データを受信した場合、すなわち既にプレーヤ登録されている場合には(ステップA9、有り)、プレーヤ管理データに含まれるプレーヤに関するプレーヤ情報を、例えばディスプレイ62(タッチパネル77)に表示させる(ステップA11)。例えば、プレーヤ情報としては、プレーヤ管理データに含まれるプレーヤネーム、カスタムイメージ、レベルや称号、獲得アイテム、プレーヤ成績などがある。
なお、演出処理部90a3は、前述と同様にして、カードリーダ54によるカードIDの読み取りに応じて、前述した処理と並行してプレーヤ(カードIDに対応するプレーヤ管理データ)に応じた演出処理を実行する(ステップA12)。演出処理の詳細については後述する。
なお、本実施形態では、二人のプレーヤによって運転シミュレーションゲームを実行することができる。ゲーム準備処理部90a2は、カードリーダ54によってカードIDが読み取られた後(ステップA7、Yes)、クレジット成立する前に(ステップA6、No)、再度、カードリーダ54によってカードID(前回と異なる)が読み取られた場合には(ステップA8、Yes)、2人モードを設定する(ステップA13)。2人モードでは、運転シミュレーションを運転手と車掌とに役割を分担して実行することができる。
なお、2人モードを設定した場合には、ゲーム準備処理部90a2は、それぞれのカードIDに対応するプレーヤ情報を表示する。ここで、何れのプレーヤが運転手と車掌の何れを担当するか、プレーヤのタッチパネル77に対する操作によって設定できるようにしても良い。なお、カードリーダ54によって最初にカードIDを読み取らせたプレーヤを運転手、次にカードIDを読み取られたプレーヤを車掌にするなどして設定しても良いし、装置側がランダムに運転手と車掌を割り当てるようにしても良い。
ここで、本実施形態における演出処理について、図28に示すフローチャートを参照しながら説明する。
演出処理部90a3は、プレーヤ登録がある場合(ステップC1、Yes)、登録プレーヤに対応するプレーヤ管理データに基づいて、ゲーム開始前用の演出のための照明点灯(点滅)、音声出力、画面表示などを実行する(ステップC2)。また、演出処理部90a3は、プレーヤ登録がない場合(ステップC1、No)、ゲーム開始前用の予め設定された演出のための照明点灯(点滅)、音声出力、画面表示などを実行する(ステップC3)。また、2人モードが設定されている場合には(ステップC4、Yes)、演出処理部90a3は、2人モードのゲーム開始前用の予め設定された演出のための照明点灯(点滅)、音声出力、画面表示などを実行する(ステップC5)。
演出内容としては、例えばプレーヤ管理データに含まれるプレーヤ経験値や、クラス、レベルなどに応じて変化させても良いし、プレーヤ成績に応じて変化させても良い。また、ゲームサーバ10に対して、携帯端末16からプレーヤが予めカードIDと対応づけてプレーヤ管理データとして演出内容を示すデータを登録できるようにし、この登録内容に応じた演出をするようにしても良い。
また、プレーヤ管理データに基づいて演出内容を変化させるだけでなく、ゲームをする時間帯、例えば夕方の時間帯であれば、運転席に夕日によって照らされているように照明したりすることができる。また、時間帯だけでなく、季節や天候の違いを表すようにしても良い。また、音声についても、ラッシュ時間帯や夜間帯などの違いによってホームの様子を表す音声(BGMや音声メッセージ)などを出力することも可能である。
また、出入り口53に開閉部材(ゲート)が設けられている場合、演出処理部90a3は、カードリーダ54によってカードIDが読み取られるのに応じて、開閉部材を開閉状態にして、プレーヤを筐体50の内部へ通過するような演出をすることが可能である。
このようにして、筐体50の外部に設けられたカードリーダ54に対してカードIDを読み取らせることで、ゲーム開始前に演出処理が実行されるため、これから運転シミュレーションを開始するという雰囲気をプレーヤに提供することができる。プレーヤは、演出処理が実行されている中で、出入り口53から筐体50に入り、座席57に座り、運転シミュレーションゲームの開始を待機することができる。よって、ゲーム開始前からゲームをプレーする高揚感(ワクワク感)を高めることができる。
ゲーム準備処理部90a2は、カードリーダ54によってカードIDが読み取られた場合、その後、コインセンサ99によりゲーム利用開始に必要な料金の投入があったことが検知されると(ステップA6、有り)、クレジット条件を満たすと判定して、ゲーム処理部90cに対してゲーム処理の開始を指示する。
また、スタート処理部90aは、ゲーム料金をコインでは無く、電子マネーを使用して支払われた場合にゲームを開始することができる。また、電子マネーは、1回分のゲーム料金を支払うだけでなく、ゲーム料金を前払いして、支払い形式を示す切符種類をゲームサーバ10に記録する(切符を購入)することも可能である。ゲーム準備処理部90a2は、例えばタッチパネル77に購入可能な切符種類の一覧を表示しておき、何れかの切符種類がプレーヤのタッチ操作により選択させる。
ゲーム準備処理部90a2は、切符種類が選択された後、電子マネーにより電子マネーユニット75を通じて入金された場合に切符を販売する。切符種類には、例えば、特定の路線について乗り放題となる切符(周遊切符)、所定回数(例えば5回)分を利用可能な切符(回数制限切符)、あるいは特定の期間(例えば1ヶ月)を利用可能な切符(定期)がある。切符種類に応じて、それぞれ異なるゲーム料金が設定されており、電子マネーユニット75を通じて、切符種類に応じたゲーム料金が電子マネーから入金される。
また、例えば回数制限切符などは、予め設定された期間(春休み、夏休み、冬休みに該当する期間)に該当する場合に、その他の期間よりゲーム料金を低くするなど、ゲーム料金として入金する金額を変更することが可能である。また、同じ切符種類であっても、例えば周遊切符であれば対象路線の違い、定期であれば有効期間(3か月、6か月など)に応じて、入金される金額が変更される。ゲーム準備処理部90a2は、切符が電子マネーを利用して購入された場合、販売した切符種類を示すデータとカードIDとをゲームサーバ10に送信し、カードIDに対応するプレーヤ管理データに切符種類を示すデータを記録させる。
なお、予め切符が購入済みである場合、カードリーダ54により読み取られたカードIDに対応するプレーヤ管理データをゲームサーバ10から受信した場合、プレーヤ管理データに電子マネーを利用してゲーム料金を前払いしたことを示す切符種類を示すデータが含まれる。
ゲーム準備処理部90a2は、切符種類がクレジット条件を満たす場合に、例えばタッチパネル77に切符種類(周遊切符、回数制限切符、定期)を表示させて、プレーヤに確認させる。ゲーム準備処理部90a2は、プレーヤによるタッチパネル77に対するタッチ操作により切符種類が確認された場合に、クレジット条件成立と判定し、ゲーム処理部90cに対してゲーム処理の開始を指示する。このようにして、ゲーム利用に必要なゲーム料金を前払いしておくことができるため、ゲームを開始する前に、その都度、ゲーム利用に必要なゲーム料金を支払うために電子マネーカードを電子マネーユニット75に読ませる作業、あるいはコインを投入する作業をする必要がなく、ゲーム料金の支払いを容易にすることが可能となる。
なお、ゲーム準備処理部90a2は、切符種類が周遊切符あるいは定期である場合、それぞれの切符種類に対して設定された使用条件に基づいてクレジット条件を満たすか判定する。例えば、定期については、1日にゲーム装置20を利用可能とする回数を設定しておき、この利用回数である場合にクレジット条件を満たすものと判定する。なお、ゲーム装置20の利用回数については、ゲームサーバ10において、カードIDと対応づけたプレーヤ管理データとして記録(更新)しておくものとする。なお、使用条件は、利用回数だけでなく、プレー合計時間(例えば2時間以内)、前回プレーからの時間経過(例えば20時間空けなくてはならない)とすることも可能である。また、回数制限切符の場合には、利用される毎に、残りの利用回数をゲームサーバ10において、カードIDと対応づけたプレーヤ管理データとして記録(更新)しておくものとする。
また、2人モードが設定されている場合、ゲーム準備処理部90a2は、それぞれのプレーヤがカードリーダ54から読み取らせたカードIDに対応するプレーヤ管理データに、クレジット条件を満たす切符種類を示すデータが記録されている場合にゲーム開始可能と判定する。また、2人モードが設定されている場合、ゲーム準備処理部90a2は、少なくとも何れか一方のプレーヤがカードリーダ54から読み取らせたカードIDに対応するプレーヤ管理データに回数制限切符を示すデータが含まれる場合、残り回数が2回分ある場合にクレジット条件成立すると判定することも可能である。
また、ゲーム準備処理部90a2は、プレーヤによる例えばタッチパネル77に対する操作により、ゲームサーバ10に記録された切符種類の取り消しを受け付けることができる。例えば、特定の期間を利用可能な切符(定期)を示すデータがゲームサーバ10に登録されている場合、期間終了前であれば、取り消しを受け付ける。ゲーム準備処理部90a2は、切符種類の取り消しが指示された場合、カードIDと共に切符種類の取り消しをゲームサーバ10に要求する。ゲームサーバ10は、ゲーム装置20(ゲーム準備処理部90a2)からの要求に応じてもカードIDと対応するプレーヤ管理データ中の切符種類を示すデータを削除する。
また、ゲーム準備処理部90a2は、例えば期間終了までの残り期間に応じて、前払いされたゲーム料金の一部を払い戻すための処理を実行する。すなわち、ゲーム準備処理部90a2は、例えばタッチパネル77において払い戻しの金額を表示すると共に、電子マネーカードを電子マネーユニット75に近接させるように指示する画面を表示させる。また、ゲーム準備処理部90a2は、電子マネーユニット75に対して払い戻しの金額を通知して、払い戻しを実行させる。電子マネーユニット75は、電子マネーカードが近接された場合に、ゲーム準備処理部90a2から通知された金額を電子マネーカードに払い出す。なお、周遊切符、回数制限切符についても、それぞれに対応する払い戻しの条件を予め設定しておき、払い戻しの条件に該当する場合に、所定の払い戻しの計算に基づいて算出される金額を払い出すようにすることができる。
クレジット条件が成立すると(ステップA6、有り)、ゲーム処理部90cは、タッチパネル77にゲームモードを選択するためのモード選択画面を表示させる(ステップA14)。モード選択画面において選択可能なゲームモードには、例えば通常モード、鉄人モード、体験走行モード、対戦モードがある。通常モードは、持ち時間(後述する)がゼロになるまで走行できる一般向けモードである。鉄人モードは、通常モードよりも持ち時間が短く、イベント等に対するプレーヤの操作に対する判定が厳しいモードである。体験走行モードは、プレーヤの操作ミスがあっても一定区間の走行を保証する初心者用モードである。対戦モードは、他のゲーム装置20において同時にプレーするプレーヤと対戦をするモードである。
モード選択画面において、対戦モードが選択された場合(ステップA18)、プレーヤマッチング処理部90bは、対戦をする相手を設定するためのプレーヤマッチング処理を実行する(ステップA19)。プレーヤマッチング処理では、例えば、店内の複数のゲーム装置20のうち最初に店内対戦プレーの実行が指示されたゲーム装置20がホストプレーヤとなり、他のゲーム装置20に対して対戦相手(ゲスト)を募集する。予め決められた一定時間内に、対戦要求がなかった場合、対戦ゲームが実行できないものとして、モード選択画面を表示する状態に戻る。一方、対戦要求があった場合、プレーヤマッチング処理部90bは、対戦ゲームの準備のための処理をした後、ゲームを開始するための処理に移行するステップ(ステップB1~)。
一方、通常モード、鉄人モード、体験走行モードの何れかが選択された場合、ゲーム処理部90cは、カードリーダ54から読み取られたカードIDと対応づけてジオラマデータがゲームサーバ10に記録されている場合には、ジオラマデータをゲームサーバ10から受信する。なお、ジオラマデータの記録の詳細については後述する(図48~図52)。
ゲーム処理部90cは、運転シミュレーションの対象とする路線をプレーヤに選択させるための路線一覧を含む路線選択画面をタッチパネル77に表示させ、プレーヤに何れかを選択させる(ステップA21)。なお、ゲームサーバ10からジオラマデータが受信されている場合には、ジオラマデータによる路線も選択肢にして路線選択画面に表示するものとする。
路線が選択されると、ゲーム処理部90cは、路線中の出発駅、出発方向(周回路線の場合の内回り/外回り)、難易度の違いに応じたダイヤ(運行予定)の一覧を含むダイヤ選択画面をタッチパネル77に表示させ、プレーヤに何れかを選択させる(ステップA22)。
次に、ゲーム処理部90cは、運転シミュレーションを実行する準備のための処理を開始する。ゲーム処理部90cは、図29に示すように、タッチパネル77にゲーム実行用の操作画面を表示させると共に、図30に示すように、ディスプレイ62に始業検査用の画面を表示させる(ステップB1)。
図29に示すゲーム実行用の操作画面には、例えば圧力計77a、速度計77b、列車情報画面77c、その他信号表示部77d、戸閉灯77e、減光スイッチ77fを表す画像が表示される。それぞれの領域では、運転シミュレーションの状況変動に応じて、表示内容がリアルタイムで変更される。
図30に示す始業検査用の画面では、マスコン72の操作レバーのホーム(基準)位置を検出するため、ホーム(基準)位置とする非常ブレーキ位置(非常停止位置)に操作レバーをプレーヤに操作させるように促す内容を表示している。ゲーム処理部90cは、マスコン72から操作レバーが非常ブレーキ位置(非常停止位置)に移動されたことを示すデータを受信して始業検査を実行し、その後、運転シミュレーションを開始する。すなわち、ゲーム処理部90cは、ゲーム画面表示処理部90c1によって、走行対象とする路線図(現在位置、走行区間)を表示させた後、走行対象とする路線に対応する運転席から見た画像の表示を開始させる(ステップB2)。以下、ゲーム処理部90cは、マスコン72やペダル79などに対するプレーヤの操作に応じて列車を走行させるシミュレーションを実行しながら、ゲーム中に設けられたイベント(評価ポイント)に応じた操作に応じた入力を受け付けて評価する運行処理を実行する(ステップB3)。
本実施形態における運転シミュレーションは、ゲームモード、対象路線、ダイヤ、難易度、プレーヤ管理データ(プレーヤ経験値、クラス、レベルなど)等に応じて持ち時間を設定し、ゲーム中に発生するイベント(評価ポイント)に対して適切に対応する操作(成功)をした場合には持ち時間を加算し、誤った操作(失敗)をした場合には持ち時間を減算しながら、持ち時間がゼロになるまでに目的駅まで列車を走行させるゲームである。
評価ポイントには、例えば喚呼ポイント、警笛ポイント、減光ポイント、定速ポイントなどがある。喚呼ポイントでは、例えば、指差し喚呼をすべきタイミングでタッチパネル77内の該当箇所(領域)にタッチさせて成功/失敗を判定する。警笛ポイントでは、人間のモデルを画面イメージの線路周辺に表示し、その人間に向けて適切なタイミングで警笛を出力させて成功/失敗を判定する。減光ポイントでは、普段では前照灯をハイビーム状態のままにし、隣の線路を走行する列車とすれ違う際に、適切なタイミングで一時的に減光(ロービーム)に切り換えさせて成功/失敗を判定する。定速ポイントでは、路線中に予め設定された位置から予め設定された一定の速度で走行させて成功/失敗を判定する。各評価ポイントでは、ゲーム処理部90cは、成功/失敗の判定結果に応じて、判定結果を表す表示(例えば成功の場合には「good」の文字)や音声(効果音、メッセージなど)を出力させる。
図31は、運転手としてプレーするプレーヤについての運行処理(運転手イベントモード)を示すフローチャートである。以下、運転手とするプレーヤの操作の具体例について説明する。図32~図44は、運転シミュレーション中にディスプレイ62,63R,63Lに表示される画像(画面イメージ)の一例を示す図である。なお、図32~図44は、それぞれ特定の状況を説明するための画面イメージを示すもので、全ての表示内容が実際に運転シミュレーションを実行した場合に表示される内容と同じではない。
図32に示すように、本実施形態における運転シミュレーション時の画面イメージには、例えば、路線名、マスコン位置(加速位置、制動位置)、戸閉灯、時刻(次駅到着時刻、現在時刻)持ち時間、速度計、信号標識、停車位置までの距離、停止位置と目標位置との距離、減光スイッチ、指定速度、現在速度、誤差速度などが含まれる。なお、これらの全てが常に表示されているのではなく、常時表示される情報、イベント発生時などの必要時にのみ表示される情報が含まれる。
まず、ゲーム処理部90cは、図32(A)に示すように、駅停車中(乗降ドア開放状態)の画面イメージを表示させる。画面イメージには、戸閉灯が表示されており、乗降ドアが開いていることを表している。次に、ゲーム処理部90cは、乗降ドアが閉まったことを確認する操作をする運転手イベント(喚呼ポイント)を発生させる(ステップD1、Yes)。
運転手イベントには、例えば運転手(プレーヤ)の動作を映像(及び音声)によって記録する対象(記録対象イベント)であるか否かが設定されている。記録対象イベントの場合、ゲーム処理部90cは、カメラ65により撮影される映像(及び音声)のデータの記録を開始する(ステップD3)。
ゲーム処理部90cは、運転手イベントに応じて、図32(B)に示すように、乗降ドアが閉まったことを表すように戸閉灯の表示を変更すると共に、プレーヤ(運転手)に指差し確認が必要であることを表す画面イメージを表示させる(ステップD4)。この喚呼ポイントの場合、プレーヤは、タッチパネル77に表示された戸閉灯77eに対してタッチ操作をする必要がある。ゲーム処理部90cは、イベント発生時から予め決められた時間内に、タッチパネル77の戸閉灯77eに相当する領域に対してタッチ操作(タッチされた位置データの入力)があるか判定する(ステップD5)。
ゲーム処理部90cは、タッチパネル77に対するタッチ操作の有無、タッチされた位置をもとにイベント操作の成功/失敗を判定して判定結果に応じた演出出力をする。例えば、ゲーム処理部90cは、イベント操作が成功と判定した場合(ステップB4、成功)、図33(A)に示すように、ディスプレイ62の中央に成功を表す「good」を表示すると共に、例えば「よし!」の音声(効果音)を出力させる(ステップB5)。この場合、ゲーム処理部90cは、持ち時間を予め決められた時間(例えば1秒)を加算する(ステップB6)。一方、ゲーム処理部90cは、イベント操作が失敗と判定した場合(ステップB4、失敗)、図33(B)に示すように、ディスプレイ62になにも表示せず、イベント失敗を表す効果音を出力させる(ステップB7)。この場合、ゲーム処理部90cは、持ち時間を予め決められた時間(例えば1秒)を減算する(ステップB8)。
ゲーム処理部90cは、運転手イベントが終了すると(ステップD6、Yes)、次の運転手イベントの発生を待機する。なお、記録対象イベントのために映像を記録中であった場合には記録を終了して、ゲーム処理部90cは、運転手イベントの間に撮影した映像(及び音声)を、イベント記録データ92fとして記録する(ステップD7)。
なお、前述した説明では、運転手イベントに対するプレーヤの操作の成功/失敗を、タッチパネル77の特定の領域に対するタッチ操作をもとに判定しているが、他の方法により判定しても良い。例えば、モーションセンサ66による検出によりプレーヤの動きを検出して、所定のタイミングで予め決められた操作(腕を動かして指さす動作など)の有無により判定することも可能である。また、カメラ65により撮影されたプレーヤの動きを既存の画像処理によって検出して、その動きについて判定するようにしても良い。
以下、他の運転手イベントの具体例について説明する。
ゲーム処理部90cは、列車の運行に伴って変化する画面イメージにおいて、信号機及び速度制限標識が表れた場合に、指差し確認をする運転手イベントを発生させる。図34(A)は、信号機が表れた場合の運転手イベント時の画面イメージを示している。ゲーム処理部90cは、図34(A)に示すように、プレーヤ(運転手)に対して、信号機に対して指差し確認が必要であることを表す画面イメージを表示させる。なお、ゲーム処理部90cは、例えば難易度が高い場合には、図34(B)に示すように、運転手イベントを明示する表示をしないで隠し評価ポイントとすることもできる(ステップB9)。
ゲーム処理部90cは、プレーヤの操作と操作タイミング、さらに現在の列車の制御状態(ゲーム制御状態)に基づいて成功/失敗を判定して、判定結果に応じた演出出力と、持ち時間の加算/減算を実行する。図35(A)は、プレーヤの操作が失敗と判定された場合の画面イメージを示している。この場合、運転手イベントの失敗を示す効果音を出力する。なお、プレーヤの操作が成功と判定された場合には、図33(A)と同様にして「good」の表示をすることができる。
例えば、速度制限標識に対しては、例えば、タッチパネル77の速度計77bに対するタッチ操作が正しいタイミングで実行されたか判定し、さらに現在の列車の速度が速度制限標識が示す速度の許容範囲内で維持されているかを判定する。同様にして、信号に対しては、例えば、ディスプレイ62に表示された信号機の方向を指さす動作が正しいタイミングで実行されたかを判定し、さらに現在の列車の走行状態が信号機が示す状態となっているかを判定する。全ての判定が正しいと判定された場合、ゲーム処理部90cは、プレーヤの操作が成功と判定する。
また、ゲーム処理部90cは、列車の運行に伴って変化する画面イメージにおいて、線路の周辺に人間が表れた場合に、警笛を鳴らす運転手イベント(警笛ポイント)を発生させる。図35は、線路左側に作業員が表れた場合の運転手イベント時の画面イメージを示している。この場合、予め決められたタイミング(例えば、人間がいる位置の手前50m~5mの範囲内)に警笛を鳴らす操作(例えばタッチパネル77に表示される警笛ボタンをタッチする操作)をした場合に成功と判定される。なお、警笛を鳴らすタイミングと、警笛を鳴らし続ける時間を、画面イメージに表れる人間の位置や動きに応じて変化させるようにしても良い。例えば、線路方向に移動する人間がいる場合には、早いタイミングで長い時間、警笛を鳴らす操作をすると成功(あるいは評価ポイントが高い)と判定し、鉄道ファンなどを表す人物がいた場合には、通常と異なるパターン(断続的に2回など)により警笛を鳴らすと成功(あるいは評価ポイントが高い)と判定することもできる。
また、ゲーム処理部90cは、列車の運行に伴って、定速走行範囲に入った場合に、予め設定された一定の速度で走行させる運転手イベント(定速ポイント)を発生させる。図36は、定速走行の運転手イベント時の画面イメージを示している。ゲーム処理部90cは、図36に示すように、定速走行範囲に近づくと(例えば100m手前)になると、指定速度、現在速度、誤差速度を画面イメージに表示させる。プレーヤは、マスコン72を操作することで、列車の速度が指定速度となるように操作する。この結果、定速走行範囲において、許容範囲内で速度を調整できた場合、ゲーム処理部90cは、運転イベントを成功と判定する。この場合、ゲーム処理部90cは、図37(A)に示すように、成功を表す「good」の表示と共に効果音を出力する。なお、ゲーム処理部90cは、運転イベントが失敗と判定した場合には、図37(B)に示すように、運転手イベントの失敗を示す効果音を出力して、判定結果に応じた表示をしない。
なお、図示していないが、ゲーム処理部90cは、列車の運行に伴って変化する画面イメージにおいて、隣の線路を走行する列車が近づいてきた場合には(減光ポイント)、適切なタイミングで一時的に減光(ロービーム)させるために、タッチパネル77の減光スイッチ77fをタッチ操作させる。また、列車のすれ違いが完了したタイミングで、再び、タッチパネル77の減光スイッチ77fをタッチ操作させて、ハイビーム状態に切り換えさせる。ゲーム処理部90cは、減光スイッチ77fに対する一連の操作が正しいタイミングで実行された場合に、運転イベントが成功と判定する。ゲーム処理部90cは、前述したように、成功/失敗の判定結果に応じた演出出力をする。
また、ゲーム処理部90cは、次の駅に到着して列車を停止させる操作がされた場合(ステップB11、Yes)、停止位置と到着時刻について評価をする。図38は、列車の停止時の画面イメージを示している。ゲーム処理部90cは、走行時には、画面イメージの右隅に図39(A)に示すように、停車位置までの距離を表示しているが、列車停止時には、図39(B)~(E)に示すように、停止位置と目標位置との距離を表示する。また、ゲーム処理部90cは、目標位置から手前2m未満の範囲と目標位置から1m未満の範囲を合格範囲として表示し、目標位置から1m以上の範囲で停止した場合には、図39(E)に示すように「過走」として表示する。
ゲーム処理部90cは、停止位置が目標位置から前後50cm未満の範囲にある場合(ステップB12、±50cm未満)、良好な停止操作であることを示すGOOD演出を出力する(ステップB13)。また、ゲーム処理部90cは、50cm以上の過走である場合には(ステップB12、オーバーラン)、停止位置修正演出を出力する(ステップB14)。
また、ゲーム処理部90cは、列車の停止時の到着時刻について評価をする。ゲーム処理部90cは、列車の走行中では、図40(A)に示すように、現在時刻の表示を時間の経過に応じて更新している。ゲーム処理部90cは、図40(B)に示すように、列車が停止されると、次駅到着時刻(目標時刻)と現在時刻(到着時刻)との差が1秒未満の場合(ステップB15、±1秒未満)、良好な運行操作であることを示すGOOD演出を出力する(ステップB16)。また、ゲーム処理部90cは、1秒以上の遅延である場合には(ステップB15、延着)、延着演出を出力する(ステップB17)。
なお、本実施形態では、ゲーム処理部90cは、例えば難易度を低くするために、運転シミュレーションの適当なタイミングにおいて、図41(A)(B)、図42に示すように、プレーヤに対して適切な操作を促すためのヘルプ画面を表示することもできる。図41(A)は、マスコン72の操作によって加速を促すためのヘルプ画面、図41(B)は、定速走行を促すためのヘルプ画面、図42は、停止位置が近づいたことにより減速操作が必要であることを通知するためのヘルプ画面の一例を示している。なお、ヘルプ画面は、前述した以外にも任意のタイミングで表示させることが可能である。
また、前述した運転イベントは、一例であって、通常の運転操作とは別の突発的なイベント(例えば、非常停止が必要な状況)や天候の急変(雨、雪、風)などを発生させて、それぞれの状況に応じた操作を要求することが可能である。
ゲーム処理部90cは、列車の停止による評価が終了すると、中間リザルト(評価結果)をディスプレイ62(あるいはタッチパネル77)に表示させる(ステップB18)。図43には、中間リザルトの表示例を示している。図43に示す中間リザルト表示では、例えばダイヤ、停止位置、駅構内再加速、非常制動停止などの複数の項目について、評価内容と評価結果(持ち時間に対する加算/減算した秒数)を表示している。こうして、中間リザルトを表示することで、持ち時間の増減により、プレーヤに対して分かり易く、それまでの運転に対する評価状況を把握させることが可能となる。
ゲーム処理部90cは、これまでの運転イベントに応じて加算/減算された持ち時間を参照し(ステップB19)、持ち時間の残りが1秒未満の場合には(ステップB20、1秒未満)、最終リザルトを表示させて、運転シミュレーションを終了させる(ステップB22)。図44には、最終リザルトの表示例を示している。最終リザルトでは、例えばダイヤの正確さ、停止位置の正確さ、ブレーキ(乗り心地)、信号・標識を守る、安全への配慮、心優しい運転士、走行距離/(継続回数+1)、残り持ち時間などの複数の項目について、運転イベントに対する操作内容をもとに、それぞれの項目毎に設定された計算式を用いて算出された得点を表示する。また、最終リザルトでは、複数の項目についての合計を総合評価として表示する。
なお、ゲーム処理部90cは、総合評価が予め決められた基準に到達した場合には、例えばプレーヤに対してアイテムを提供したり、クラス、レベル、称号などを提供したりすることができる。
一方、持ち時間が1秒以上あり(ステップB20、1秒以上)、終点まで到達していない場合には(ステップB21、No)、ゲーム処理部90cは、前述したように、次の駅に列車を走行させる運転シミュレーションを開始する(ステップB3~)。また、持ち時間が1秒以上ある場合であっても(ステップB20、1秒以上)、終点まで到達している場合には(ステップB21、Yes)、ゲーム処理部90cは、前述したように最終リザルトを表示させて、運転シミュレーションを終了させる(ステップB22)。
ゲーム処理部90cは、最終リザルトを表示させた後、プレーヤに提供したアイテム、クラス、レベル、称号などを含むプレーヤデータを、カードIDと対応づけて、プレーヤデータ処理部90eによりゲームサーバ10に登録させる(ステップB23)。
なお、前述した説明では、運転手としてプレーするプレーヤについての運行処理(運転手イベントモード)を対象としているが、2人モードが設定されている場合には、ゲーム処理部90cは、運転シミュレーション中に車掌としてプレーするプレーヤに対する運行処理(車掌イベントモード)を実行する。図45は、車掌としてプレーするプレーヤについての運行処理(車掌イベントモード)を示すフローチャートである。
ゲーム処理部90cは、運転シミュレーション中に車掌イベントが発生されると(ステップE1、Yes)、車掌イベントが記録対象イベントであるか判定する記録対象イベントである場合(ステップE2、Yes)、車掌イベントの記録を開始して、カメラ65により撮影される車掌の様子を撮影した映像(及び音声)を記録する。ゲーム処理部90cは、車掌イベントの内容に応じた画面を表示して、車掌イベントに応じた入力操作を受け付ける(ステップE5)。なお、車掌イベントの内容に応じた画面は、運転手の操作に支障がでないように、例えばディスプレイ63Rにおいて表示させる。ゲーム処理部90cは、プレーヤ(車掌)による車掌イベントに応じた入力をもとに、正しい入力操作(対応)がされたかを判定する(ステップB10)。ゲーム処理部90cは、運転手イベントと同様にして、判定結果に応じた演出出力をする(ステップB5~B8)。
なお、車掌イベントについては、カードIDに対応する車掌をするプレーヤに対応するプレーヤ管理データ(プレーヤ経験値、クラス、レベルなど)等に応じて、難易度や判定基準を設定する。すなわち、運転手イベントと車掌イベントの難易度や判定基準を異なるようにする。これにより、習熟度の異なる2人のプレーヤが2人モードでゲームを実行する場合でも、それぞれのレベルでゲームを楽しむことができる。なお、運転手あるいは車掌の何れか一方のプレーヤ管理データをもとに、難易度や判定基準を設定することも可能である。
ゲーム処理部90cは、車掌イベントが終了すると(ステップE6、Yes)、車掌イベントを記録中である場合には記録を終了し(ステップE7)、車掌イベント用のイベント記録データ92fとして、カードIDと対応づけて記憶部92に記録する。
図46は、車掌イベント発生時の画面イメージの一例を示す図である。図46に示す車掌イベントは、停車駅近くになった場合に、車内アナウンスを発声するものである。ゲーム処理部90cは、車内アナウンスする内容をテキストにより表示し、発声するタイミングに応じてテキストの表示色を変更していく。例えば、「次は、横浜、横浜。お出口は右側です。○○線、××線、□□線、△△線はお乗り換えです。」などのテキストを表示する。プレーヤ(車掌)は、テキストの表示色の変化に合わせて発声して、音声をマイク59から入力する。
ゲーム処理部90cは、マイク59から入力された音声をもとに、正しい入力がされたかを判定する。なお、ここでは音声認識処理して発生内容を識別しなくても、単に正しいタイミングによって音声が入力されたことを判定するだけでも良い。また、ゲーム処理部90cは、マイク59(例えばハンドマイク)を持つ動作など、所定の動作がされたことを、カメラ65から入力された映像、あるいはモーションセンサ66による検出し、車掌の動作を判定するようにしても良い。また、車掌に対して、その他の動作を要求する車掌イベントが含まれていても良い。
なお、車掌イベントは、前述した以外にも任意の内容により発生させることができる。車掌イベントは、例えば運転手イベントと異なるタイミングで異なる操作内容を必要とするものとする。また、突発的に発生させた1つのイベントに対して、運転手と車掌の各プレーヤが連携して、それぞれ正しい操作がされた場合に、イベントに対する操作が成功したと判定することも可能である。また、突発的に発生される車掌イベントについては、前述したようにテキストを表示させずに、プレーヤ(車掌)にアドリブで車内アナウンスの音声を入力させるようにしても良い。
また、前述した説明では、2人のプレーヤが運転手と車掌のそれぞれに対するイベントに対応する操作をするとしているが、実際の電車等におけるワンマン運転のように、1人のプレーヤが、前述した運転手と車掌のそれぞれに対するイベントに対応する操作をするように構成することも可能である。
このようにして、本実施形態におけるゲーム装置20では、運転シミュレーションをするゲームにおいて複数のプレーヤ(運転手、車掌)が同時に楽しむことが可能となる。
なお、前述した車掌イベントは、2人モードが設定された場合(2枚のカードからカードIDが読み取られた場合)に実行するものとしているが、1人のプレーヤ(運転手)が運転シミュレーションを実行している間に、ゲームに対する評価と無関係に発生させるようにしても良い。例えば、前述したように、運転シミュレーション中の所定のタイミングで図46に示す画面イメージを表示させて、運転手のプレーヤの友人(人数も不特定で良い)などが、車掌役でゲームに参加することができる。こうした場合でも、運転シミュレーションをするゲームにおいて複数のプレーヤが同時に楽しむことが可能となる。
なお、車掌イベントによる評価は、前述した運転手に対する評価と別に算出しても良いし、運転手との連携に応じた加算ポイントを設けても良いし、さらに2人プレーについての評価を算出するようにしても良い。評価結果については、各プレーヤに対応するカードIDと対応づけて、ゲームサーバ10に登録することができる。
なお、対戦モードが選択された場合には、対戦に参加するゲーム装置20のそれぞれにおいて、前述したように、運転シミュレーションに応じた入力操作が実行される。2人モードが設定された場合には、2人モードにより実行される運転シミュレーションにより対戦が実行される。ディスプレイ62,63R,63Lには、例えば対戦相手が走行させる列車の画像も、ディスプレイの一部の領域において同時に表示させるものとする。また、対戦モードでは、同じ路線を走行させる列車により対戦をしても良いし、並行に走行する異なる路線の列車により対戦をしても良い。
次に、本実施形態におけるゲームシステムにおいて、ジオラマデータを作成するための動作について説明する。
携帯端末16を使用するプレーヤは、ゲームサーバ10から提供されるゲームを携帯端末16において実行することにより、ゲーム結果に応じてジオラマを作成するジオラマパーツを取得して、ジオラマデータを作成することができる。
図47は、携帯端末16においてゲームを実行する際の、ゲームサーバ10による処理(ジオラマ作成処理)を示すフローチャートである。
ゲームサーバ10は、携帯端末16からプレーヤが所持するプレーヤ識別用のカードのカードIDと共に、ゲーム実行要求が受信されると(ステップF、Yes)、カードIDに対応するプレーヤ管理データとして記録されたプレーヤのアイテム、獲得電車(マイ電車)などのデータを携帯端末16に送信する(ステップF2)。携帯端末16では、例えばゲームサーバ10から受信されたアイテムや獲得電車(マイ電車)を利用して、ゲームを実行し、ゲーム結果をゲームサーバ10に送信する。
ゲームサーバ10は、携帯端末16から受信されたゲーム結果が予め設定されたクリア条件を満たす場合、クリア内容に応じた選択可能なジオラマパーツを選択する(ステップF4)。ゲームサーバ10は、クリア内容に応じたジオラマパーツと、プレーヤが予め登録しているジオラマデータがあれば、このジオラマデータを携帯端末16に送信する(ステップF5)。なお、クリア内容に対してジオラマデータだけでなく、ゲーム装置20の運転シミュレーションで使用可能な列車に関係する車両パーツ(例えば、ヘッドマークやラッピングなどの装飾)を選択して、携帯端末16に送信するようにしても良い。
携帯端末16では、ゲームサーバ10から受信されたジオラマパーツを利用してジオラマデータを作成して、ゲームサーバ10に送信する。ゲームサーバ10は、携帯端末16からジオラマデータを受信し(ステップF6)、プレーヤのカードIDと対応づけて路線毎に記録する(ステップF7)。
ここで、携帯端末16において実行されるジオラマデータの作成について説明する。 ジオラマデータの初期状態では、例えば図48に示すように、環状になっている列車を走行させる線路200(及び駅)と、全面にグリッドが設定されたベース台210が含まれている。ベース台210には、図49に示すように、1つのジオラマパーツを配置することができる最小のグリッド(1×1)220が全面に配置されている。
グリッドへのジオラマパーツの配置については、建物や線路を表す個別のジオラマパーツをグリッド単位で細かく配置できるモードと、複数のパーツが組み合わされたジオラマパーツをまとめて配置できるモードが用意されているものとする。図50(A)には、1つのグリッドに配置されるジオラマパーツの一例を示し、図50(B)は、複数のパーツが組み合わされたバオラマパーツの一例を示している。
その他、小パーツ(住宅など小規模な建物や道路などの基本的なパーツ)、中パーツ(雑居ビル、駅、マンション、スーパー、小規模な公園などのパーツ)、大パーツ(大型マンション、学校、百貨店等の商業施設などのパーツ)、特大パーツ(大型商業施設、遊園地、工場、ガスタンク、空港などのパーツ)、ランドマーク(実際に存在するランドマークで、他よりも精巧に作成されたパーツ)などを提供されるものとする。携帯端末16のプレーヤは、ジオラマパーツのサイズに応じて、必要な数のグリッドの範囲にジオラマパーツを配置してジオラマデータを作成することができる。
なお、前述した説明では、携帯端末16によって実行されたゲームのクリア内容に応じてジオラマパーツがゲームサーバ10から提供されるとしているが、他の方法によってジオラマパーツが提供されるようにしても良い。図51は、ゲームサーバ10によるジオラマパーツ抽選処理を示すフローチャートである。ジオラマパーツ抽選処理では、携帯端末16の物理的な位置に基づいてポイントを加算し、ポイントが条件を満たす場合にジオラマパーツを選択するための抽選を実行して提供する。
ゲームサーバ10は、携帯端末16(プレーヤ)からプレーヤ識別用のカードのカードIDと共にアクセスがあると(ステップG1)、携帯端末16の現在位置(GPSデータ)を受信する(ステップG2)。ゲームサーバ10は、携帯端末16の現在位置が予め設定された対象範囲、例えば鉄道の駅の周辺に含まれるかを判別する(ステップG3)。すなわち、ゲームサーバ10は、プレーヤが実際の駅の近くに訪れて、携帯端末16からアクセスしているかを判別する。
ここで、現在位置が対象範囲内であると判別されると、ゲームサーバ10は、プレーヤのカードIDと対応するプレーヤ管理データの抽選ポイントにポイント加算する(ステップG5)。よって、プレーヤは、複数の駅を訪れることにより、ポイントを獲得することができる。
抽選ポイントが予め設定されたポイントに到達した場合(ステップG6、Yes)、ゲームサーバ10は、携帯端末16に対して、ジオラマパーツの抽選を実行可能であることを示す抽選切符を携帯端末16に送信する。携帯端末16は、ゲームサーバ10から受信された抽選切符を使用することで、任意のタイミングでゲームサーバ10に対してジオラマパーツの抽選を要求することができる。
ゲームサーバ10は、携帯端末16から抽選実行が要求されると(ステップG8、Yes)、ジオラマパーツの抽選を実行して、予め用意された複数のジオラマパーツから何れかを選択する(ステップG9)。ゲームサーバ10は、プレーヤのカードIDに対応するジオラマデータと、抽選により選択されたジオラマパーツを携帯端末16に送信する(ステップG10)。
携帯端末16は、ゲームサーバ10から受信されたジオラマデータとジオラマパーツをもとに、前述したように、ジオラマパーツを配置位置を設定することでジオラマデータを作成することができる。
ゲームサーバ10は、携帯端末16からジオラマデータを受信すると、プレーヤのカードIDと対応づけて記録する。
このようにして、ゲームサーバ10は、携帯端末16によってプレーヤにより作成されたジオラマパーツをプレーヤ(カードID)と対応付けて登録しておくことができる。ジオラマデータは、前述したように、プレーヤがゲーム装置20において運転シミュレーションを実行する際に、列車を走行させる路線の選択肢として使用することができる。すなわち、プレーヤがゲーム装置20で使用する路線をジオラマデータとして任意に事前に作成しておくことができるので、プレーヤが興味を持つように運転シミュレーションするコースを変化させることが可能となる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、実施形態に記載した制御手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記憶媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータ(例えば、パーソナルコンピュータ、家庭用ゲーム機、スマートフォン、携帯電話機、テレビ、カーナビゲーションシステム等)は、記憶媒体に記憶されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記憶媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。