以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるゲームシステムの構成を示すブロック図である。図1に示すように、本実施形態におけるゲームシステムでは、ゲームサーバ10がインターネット等を含むネットワーク12を介して、全国に存在する複数の店舗14−1,…,14−xのシステムと接続されている。
ゲームサーバ10は、ネットワーク12を介して接続された複数のゲーム装置20を管理する。また、ゲームサーバ10は、ゲーム装置20において実行されるゲームのゲーム環境をプレーヤ毎にカスタマイズする機能などを含むネットワークサービス(Webサービス)を提供する。
例えば、店舗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,17は、例えばプレーヤが所有するパーソナルコンピュータ、スマートフォン、スレートPC、携帯電話機、携帯型ゲーム機などにより実現される。電子機器16,17は、ネットワーク12を介して、ゲームサーバ10と通信してゲームデータを受信し、ゲームを実行することができる。また、電子機器16,17は、ゲームサーバ10が提供するネットワークサービスにアクセスして、ゲーム装置20において実行されるゲームのゲーム環境をカスタマイズするネットワークサービスを利用することができる。ネットワークサービスには、ゲーム装置20において生成されたポイントデータを、ゲーム装置20のゲーム利用料として充当することができるフリーチケットに交換するフリーチケット交換機能が含まれる(詳細については後述する)。
図2は、ゲームサーバ10の機能構成を示すブロック図である。図2に示すように、ゲームサーバ10は、制御部30、記憶部31、及び通信インタフェース32を有している。
制御部30は、記憶部31に記憶されているプログラムやデータに基づいて、ゲームサーバ10の全体の制御、記憶部31に記憶されるデータの管理、ゲーム装置20や電子機器16,17との通信インタフェース32を介したデータ送受信等の各種処理を実行する。制御部30は、プロセッサ(CPU(Central Processing Unit)やDSP(Digital Signal Processor))により、記憶部31に記憶されたゲームデータ管理プログラム31aを実行することにより各種機能を実現する。
制御部30により実現される機能には、例えばプレーヤデータ処理部30a、ゲームデータ処理部30b、写真画像データ処理部30cが含まれる。
プレーヤデータ処理部30aは、ゲーム装置20にプレーヤが提示した例えばプレーヤ識別用のカードのカードID(識別データ)毎に、プレーヤが実行したゲームに関する各種データを処理する。プレーヤデータ処理部30aは、カードID毎に設定される各種データ(プレーヤ管理データ)の処理、ホスト装置21(ゲーム装置20)から受信されるゲーム結果の記録や更新などの各種処理を実行する。プレーヤデータ処理部30aは、ゲームサーバ10が提供するネットワークサービスを利用するために、通信インタフェース32を介して接続された電子機器16,17からの指示に応じて、プレーヤ管理データを追加、編集するカスタマイズ処理を実行するカスタマイズ機能を有する。
ゲームデータ処理部30bは、電子機器16,17やゲーム装置20においてゲームを実行するためのゲームデータを処理するもので、ゲーム装置20あるいは電子機器16,17に対するゲームデータの配信、ホスト装置21(ゲーム装置20)からアップロードされたゲーム結果の追加記録などを実行する。ゲームデータには、例えば画像(映像)、音声、ゲーム中に発生する各種イベントに関するデータなどが含まれる。
写真画像データ処理部30cは、電子機器16,17やゲーム装置20において実行されるゲームのゲーム空間内で撮影された画像(写真画像データ)を処理する。
記憶部31は、ゲームサーバ10を制御するためのプログラムやデータを記憶する。記憶部31に記憶されるプログラムには、基本プログラム(OS(Operating System))の他、ゲーム装置20においてゲームを実行するための各種データを管理するためのゲームデータ管理プログラム31aが含まれる。
ゲームデータ管理プログラム31aには、プレーヤデータ処理部30aを実現するためのプレーヤデータ処理プログラム31a1、ゲームデータ処理部30bを実現するためのゲームデータ処理プログラム31a2、写真画像データ処理部30cを実現するための写真画像データ処理プログラム31a3が含まれる。
また、記憶部31に記録されるデータには、プレーヤデータ31b、ゲームデータ31c、写真画像データ31dなどが含まれる。
図3は、記憶部31に記憶されるプレーヤデータ31bの一例を示す図である。図3に示すように、プレーヤデータ31bには、プレーヤ1〜mのそれぞれに対応するカードID毎のデータ41〜4mが含まれる。図3では、例えばプレーヤ1に対応するデータ41として、プレーヤ管理データ41a、写真画像データ41bを示している。
プレーヤ管理データ41aは、プレーヤがカードIDを指定してゲームを実行した場合に記憶されるデータであり、カードID毎に設定されるゲームに関係する各種データが含まれる。例えばプレーヤ管理データ41aには、カードID(識別情報)、店舗ID、プレー地域、プレーヤネーム、カスタムイメージ、プレーヤ経験値、クラス、レベル、称号、獲得アイテム、写真撮影設定、プレーヤ成績、保存写真画像データ、ポイント、フリーチケット等のデータが含まれている。
カードIDは、プレーヤを識別するためのもので、例えばゲーム装置20によりプレーヤが所有するゲーム用カード(記憶媒体)から読み取られ、ゲームサーバ10に通知される。店舗IDは、ゲーム装置20が設置された店舗を識別するためのもので、例えばカードIDと共にゲーム装置20から通知される。プレー地域は、例えば店舗IDが示す店舗を含む地域を示すもので、例えば都道府県によって表す。プレーヤネームは、プレーヤを識別するために用いられるもので、例えばゲーム用カード(カードID)の新規登録時にプレーヤによって任意に指定された文字列によって表現される。カスタムイメージは、プレーヤによって作成されたプレーヤを表すイメージ(アバター、キャラクタ)や運転シミュレーションゲームで使用される電車イメージであり、例えば背景、シンボル(マーク、キャラクタ、車体)、エフェクト(飾り)のイメージを組み合わせて構成される。カスタムイメージを構成する各パーツは、プレーヤが得点やポイントデータを消費することによって獲得(購入)したり、通常のゲームとは異なるイベントプレーの景品として獲得したり、さらには特定回数のプレー後に獲得することができる。
プレーヤ経験値、クラス、レベル、称号、獲得アイテム、及びプレーヤ成績の各データは、例えば、ゲーム装置20において実行されたゲーム結果に基づいて更新されるデータである。
プレーヤ経験値は、プレーヤがゲームを実行することにより加算されるパラメータである。プレーヤ経験値は、ゲーム実行回数に応じて加算され、また対戦モードをした場合の対戦相手と対戦結果に応じて加算される。例えば、運行時刻や停止位置厳守などのゲーム目的を達成した場合や、プレーヤのクラスやレベルよりも高いクラスやレベルの他のプレーヤと対戦して勝利した場合には、クラスやレベルの差に応じたより多くの経験値が加算される。
レベルデータは、プレーヤ経験値が所定段階まで上がることで獲得されるパラメータである。クラスは、プレーヤのレベルを分類するもので、例えば初級クラス、中級クラス、上級クラス、マスタークラスなどに分類される。クラスデータは、プレーヤのレベル毎に決められた条件、例えば所定の難易度(モード)の運転シミュレーションゲームについて、所定回数について所定以上の評価を得られた場合に昇格するように定義されている。
クラスデータは、プレーヤが選択可能な路線、シナリオ(難易度等)を制限するなど、プレーヤ別の制御をするために参照される。称号データは、特定の条件を満たすゲーム結果が得られた場合などに獲得されるもので、特定の文字列(例えば15文字)で表される。称号データは、プレーヤネームと共にプレーヤを識別するために用いられるもので、複数のレベル(例えば10レベル)が定義されている。上位レベルの称号データほど希少価値があり、獲得しにくいものとなっている。称号データが得られる特定の条件を満たすゲーム結果としては、所定の難易度の路線を対象とした運転シミュレーションをクリアした回数、ランキングの上位入賞などがあり、それぞれの条件に応じた称号レベルが定義されている。プレーヤは、複数の称号を獲得することが可能である。
獲得アイテムデータは、プレーヤが取得しているアイテムを示す。アイテムは、例えば、ゲーム終了後やゲーム結果に応じて、レベルアップやイベント達成などがあった場合、あるいはポイントを消費することで取得することができる。アイテムは、例えばコレクションとして収集したり、ゲーム実行時に使用したりすることができる。ゲーム実行時に使用することで、例えばゲーム内容をプレーヤによって有利となるように変更したり、通常のプレーとは異なるプレースタイル(例えば、通常と異なる車両を選択できる)でゲームを実行できるようにする。また、ゲーム中にアイテムを使用できるようにゲーム開始前に設定しておくことで、プレーヤに要求される入力操作を簡単な操作に変更する、入力操作に対する判定をプレーヤに有利にする、ヒントを提示するなどがある。さらに、獲得アイテムには、ゲーム装置20においてゲームを実行中に写真撮影機能で用いられる写真撮影アイテムが含まれる。写真撮影機能は、ゲーム空間内に設置された仮想のカメラによって、ゲーム進行中のゲーム空間内で撮影した写真の画像を生成する機能である。写真撮影アイテムとしては、例えば仮想のカメラに装着されるレンズ種類(例えば、広角レンズ、魚眼レンズ)、フィルタ種類(例えば、偏光フィルタ、減光フィルタ、色補正フィルタ、カラー効果/強調フィルタ、モノクロフィルタ)などがある。写真撮影機能は、写真撮影に使用すると設定された写真撮影アイテムに応じた画像を生成する。
写真撮影設定データは、電子機器16,17やゲーム装置20において実行されるゲームのゲーム空間内で仮想カメラにより画像を撮影(生成)する撮影条件を示すデータである。写真撮影設定データは、例えばネットワークサービスを通じて、電子機器16,17やゲーム装置20においてゲームを実行するプレーヤの操作に応じて設定されるもので、ゲーム空間に設定される仮想カメラによる画像の撮影(生成)を制御するパラメータである。写真撮影設定データが示す設定内容には、例えば写真画像の撮影に関係するアイテムを設定するアイテム設定、写真画像の画質の調整に関係する画質設定、及び仮想カメラの設置に関係するカメラ設定とを含む。アイテム設定では、例えばゲーム空間において画像を撮影する仮想カメラにおいて使用するアイテムの設定(プレーヤが取得している写真撮影アイテムから選択される)が含まれる。画質設定では、例えば仮想カメラにおける撮影モードの設定(シャッター速度、露出、ISO感度、ホワイトバランス、色調整など)が含まれる。カメラ設定としては、例えばゲーム空間における仮想カメラの設置位置(撮影ポイント)と撮影方向などの設定が含まれる。
プレーヤ成績データは、プレーヤが実行した各ゲームに関する各種データ、例えばゲーム実行日時、ゲーム対象として選択した路線や難易度、ゲーム結果として得られた評価などの履歴である。
保存写真画像データは、ゲームの実行に伴って写真画像データ41bに記憶された写真画像のうち、プレーヤからの指示に応じて保存された写真画像データである。保存対象とする写真画像は、例えばゲーム装置20におけるゲーム終了画面において、ゲーム中に撮影された写真画像の一覧表示からプレーヤに選択させても良いし、ネットワークサービスを利用して電子機器16,17に対する操作により選択させても良い。保存写真画像データは、ネットワークサービスを通じて、電子機器16,17において閲覧することができる。プレーヤ管理データ41aとして管理される保存写真画像データは、例えばネットワークサービスを通じて受信される指示に応じて、ネットワーク12を通じて、SNS(Social Networking Service)などにアップロードすることができる。
ポイントデータは、電子機器16,17やゲーム装置20において生成されるデータであり、ゲームが実行された後に受信される。ポイントデータは、ゲーム利用料として支払われた金額に応じて生成されるもので、例えば1000円が支払われた場合に1000ポイントが生成される。ゲームを実行する場合には、生成されたポイントから、利用するゲーム内容に応じて予め設定されたポイントが減算される。ゲームサーバ10は、ゲーム後に余ったポイントデータを受信して、予め設定された有効期限(例えば、受信時から一定期間)を設定してプレーヤのカードIDと対応づけて記憶しておく。ゲームサーバ10は、有効期限を過ぎたポイントデータについては削除する。また、ゲームサーバ10は、ポイントデータを生成したゲーム装置20が設置された店舗毎に、それぞれの店舗IDと対応づけてポイントデータを管理する。
なお、ポイントデータは、ゲーム利用料として支払われた金額に応じて生成されるだけでなく、ゲーム結果として得られた評価の報酬として生成されるようにしても良い。この場合、ゲーム利用料として支払われた金額に応じて生成されたポイントと、評価の報酬として生成されたポイントとを合算して管理しても良いし、それぞれ個別に管理しても良い。
フリーチケットデータは、ゲーム装置20のゲーム利用料として充当することができるデータであり、ポイントデータをもとに生成される。フリーチケットデータは、例えばネットワークサービスのフリーチケット交換機能を用いて、電子機器16,17を通じたプレーヤの操作に応じて設定される。ポイントデータのフリーチケットへの交換は、予め設定された交換条件を満たす場合に実行されるものとする。交換条件としては、予め決められたポイント単位毎(例えば400ポイント毎)に交換すること、同じ店舗のゲーム装置20において生成されたポイントデータ(同じ店舗IDが対応づけられたポイントデータ)を合算して交換対象とすること、交換済みのフリーチケットデータがないこと、交換回数が予め設定された回数内(例えば1日1回)であること、などがある。なお、その他の交換条件を設定することも可能である。また、フリーチケットデータには、例えばポイントデータと同様に有効期限が設定される。フリーチケットデータの有効期限は、例えば交換時から予め設定された一定期間としたり、交換元のポイントデータと同じとしたりすることができる。
また、フリーチケットデータは、例えば、交換対象としたポイントデータが生成されたゲーム装置20が設置された店舗においてのみ使用可能とする。すなわち、フリーチケットデータがある場合には、さらにプレー料金を支払わなくてもゲームを利用することができるが、フリーチケットデータへの交換対象としたポイントデータが生成されたゲーム装置20が設置された店舗においてのみ使用を制限する。これにより、プレー料金を得られていない店舗でフリーチケットデータを用いたゲームが利用されることによる店舗間の不公平の発生を抑えることができる。
なお、異なる複数の店舗に設置されたゲーム装置20において生成された複数のポイントデータを合算してフリーチケットデータに交換した場合に、交換対象とするポイントデータの生成元とするゲーム装置20を含む店舗に制限しても良い。さらに、フリーチケットデータを何れの店舗のゲーム装置20において使用可能としても良い。
この場合、プレー料金が支払われた店舗と、フリーチケットデータを利用してゲームが実行された店舗との間に不公平が発生するが、ゲームサーバ10は、店舗間の不公平を調整するためのデータ集計をする調整処理を実行する。例えば、ゲームサーバ10は、フリーチケットデータのそれぞれについて、フリーチケットデータへの交換対象としたポイントデータを生成した店舗(店舗ID)あるいは店舗内のゲーム装置20を識別する識別データ(課金場所ID)を記憶しておく。また、フリーチケットデータのそれぞれを識別するデータ(チケットID)を付加しておく。ゲームサーバ10は、何れかの店舗内のゲーム装置20において、フリーチケットデータを利用してゲームが実行された場合に、ゲーム装置20から利用されたフリーチケットデータを識別するチケットIDを受信する。ゲームサーバ10は、チケットIDをもとにゲーム装置20において使用されたフリーチケットデータを判別し、このフリーチケットデータへの交換対象としたポイントデータを生成した店舗(課金場所ID)を判別する。
ゲームサーバ10は、フリーチケットデータを使用してゲームが実行された店舗Aと、課金場所IDが示すポイントデータを生成した店舗Bが判別されると、例えばプレーヤによって支払われたプレー料金を折半するようにデータ集計する。すなわち、店舗Bにおいてフリーチケットデータの交換対象とする400ポイント分のポイントデータのプレー料金が支払われている場合には、店舗Bを「−200ポイント」、店舗Aを「+200ポイント」としてデータ集計する(データ集計結果、店舗B「200ポイント」、店舗A「200ポイント」)。
なお、異なる複数の店舗(店舗B,C)に設置されたゲーム装置20において生成されたポイントデータを合算してフリーチケットデータに交換されている場合、さらに複数の店舗(店舗B,C)によりポイントを折半する。例えば、店舗Bにおいて100ポイント分、店舗Cにおいて100ポイント分のプレー料金がフリーチケットデータへの交換対象とするポイントデータにそれぞれ支払われている場合には、店舗Bを「−100ポイント」、店舗Cを「−100ポイント」、店舗Aを「+200ポイント」としてデータ集計する。
なお、前述した説明では、店舗間での不公平を解消するためにプレーヤによって支払われたプレー料金を、プレー料金が支払われた店舗(1店舗あるいは複数店舗)と、フリーチケットデータを用いてゲームが実行された店舗で折半するように調整しているが、折半以外の調整であっても良い。例えば、ゲームが実行された店舗の方の利益を大きくするようにデータ集計して、前述した例では店舗Bを「−250ポイント」、店舗Aを「+250ポイント」とする(データ集計結果、店舗B「150ポイント」、店舗A「250ポイント」)。
これにより、ゲームシステムの運営者は、ゲームサーバ10において調整処理により集計されるデータをもとに、店舗間の売上を調整することができ、フリーチケットデータの利用による店舗間の不公平の発生を抑えることが可能となる。
写真画像データ41bは、ゲーム装置20においてゲーム進行中に、例えばゲーム空間中に設定された仮想カメラにより撮影された画像(写真画像)に関するデータである。例えば、写真画像は、ゲーム空間中の予め決められた位置に設定された仮想カメラによって、ゲーム中に少なくとも1枚の写真画像を撮影(生成)する。図3に示す例では、ゲーム対象とする1つの「路線1」に含まれる3つの区間1〜3毎に、1枚の写真画像が撮影(生成)されることを示している。
また、写真画像データ41bには、1つの区間、例えば区間1については、区間1において撮影された写真画像を示す画像データ1と、画像データ1を生成する際に参照される状況データ1とが対応づけて記憶される。状況データは、写真撮影により生成する画像の品質を変更する条件となるゲーム状況を示す。ゲーム状況には、例えば写真撮影時の条件とする、ゲーム評価を示すデータ(ゲーム評価データ)と、ゲームの実行状態を示すデータ(ゲーム実行状態データ)とを含む。ゲーム評価データには、例えばスコア、ゲーム中に設定されたミッションの達成状況/達成率、順位などが含まれる。なお、ゲーム評価データは、前述した内容以外を示すものであっても良い。また、ゲーム実行状態データは、ゲーム進行中のプレーヤの操作やプログラムの制御により変化する各種の状態を示すデータであり、例えばオブジェクト(電車など)のゲーム空間中における位置、オブジェクトの状態(電車のライト点灯有無、ワイパー動作の有無など)、背景状態(時刻や天候の違い)などを含む。
なお、写真画像データ41bに含まれる状況データは、写真画像(画像データ)を生成するために参照されるデータであるので、ゲーム装置20において画像データが生成される場合には、ゲームサーバ10において記憶させなくても良い。また、ゲームサーバ10は、状況データをゲーム装置20から受信することで、ゲーム装置20に代わって写真画像の画像データを生成することも可能である。
プレーヤデータ処理部30aは、ゲーム装置20においてカードIDを指定してゲームを実行したプレーヤ2〜mのそれぞれについても、図3に示すプレーヤ1と同様のデータ42〜4mをプレーヤデータ31bとして記憶する。
通信インタフェース32は、ネットワーク12を介した、電子機器16,17やゲーム装置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の内部には、例えば複数箇所に異なる色の照明が可能な複数のライト(図7に示すライト55a1,55a2,…,55am)が取り付けられる。複数のライトは、通常の照明に使用される他、例えばゲーム開始前などに点灯/点滅により演出のために使用される。また、筐体50の内部には、プレーヤの様子を例えば音声付き動画により撮影するためのカメラ(図7に示すカメラ65)、プレーヤの動きを検出するモーションセンサ(図7に示すモーションセンサ66)などが設けられる。
図6に示すように、運転台60の操作面には、マスコン(マスタコントローラ)72、ブレーキレバー73、コイン投入口74、電子マネーユニット75が設けられている。
マスコン72は、運転シミュレーションゲームの実行時にプレーヤにより操作されるもので、実際の電車に実装されたマスタコントローラを模して構成されている。1つのマスコン72によって電車の加速と減速(制動)を制御することができる。ブレーキレバー73は、実際の電車を模して設けられている。なお、ブレーキレバー73は、マスコン72によって電車の制動のための操作も可能であるため、操作をしなくても運転シミュレーションを実行可能であるが、ブレーキレバー73により制動の操作をしたり、急ブレーキやゲームの特別な機能(表示内容の切り替えなど)の制御のための操作をしたりするために用いられても良い。
コイン投入口74は、ゲームのプレー料金とするコインをプレーヤが投入するためのものである。電子マネーユニット75は、プレー料金を電子マネー(カード)によって支払うために使用されるものである。コインあるいは電子マネーによる支払いは、例えば予め決められたポイント単位分で行われるものとする。例えば、ゲーム装置20は、100ポイント(例えば100円)、500ポイント(500円)、1000ポイント(1000円)の何れかの単位分でのプレー料金の支払いを受け付ける。
運転台60の上部前部中央には、タッチパネル77が設けられる。タッチパネル77には、運転シミュレーションの実行時に、電車の状態を表す各種情報、例えば圧力計、速度計、その他信号状態、警告灯、室内空調、行き先、車内案内、ボタンやスイッチなどを表す画像を表示する。タッチパネル77は、プレーヤによるタッチ操作を検知することができる。タッチパネル77には、例えばプレーヤが選択したゲーム対象とする路線を走行する電車に応じた、電車毎に異なる画像を表示させることができる。
また、運転台60の上部前部左右には、それぞれスピーカ78R,78Lが設けられる。なお、運転台60の正面(側板52Bの筐体50内部側)には、プレーヤが座るための座席56が設けられている。側板52Bの筐体50内部側には、プレーヤが座席56に座った時の頭近くの左右位置に、例えば2つのスピーカ(図7に示すスピーカ78BL,78BR)が設けられる。ゲーム装置20は、プレーヤの前方と後方にそれぞれ設けられたスピーカによって、実際に電車を走行している時と同様の効果音を出力させることができる。運転台60の下部には、プレーヤが足によって操作するペダル79が設けられる。
次に、本実施形態におけるゲーム装置20について説明する。
図7は、本実施形態におけるゲーム装置20の機能構成を示すブロック図である。
図7に示すように、ゲーム装置20は、制御部90、記憶部92、ディスプレイコントローラ93、タッチパネルコントローラ94、サウンドコントローラ95、ライティングコントローラ96、入力インタフェース97、通信インタフェース98、及びコインセンサ99を有している。
制御部90は、ゲーム装置20全体の制御を司るもので、記憶部92に記憶された基本プログラム(OS(Operating System))や各種アプリケーションプログラム(ゲームプログラム92aを含む)を実行することで各部を制御する。制御部90は、プロセッサ(CPUやDSP)により、記憶部92に記憶されたゲームプログラム92aを実行することで、マスコン72の操作レバーに対する入力操作に応じて制御されるゲームを実行するための各種機能を実現する。
制御部90により実現される機能には、スタート処理部90a(デモ処理部90a1、ゲーム準備処理部90a2、演出処理部90a3)、プレーヤマッチング処理部90b、ゲーム処理部90c(ゲーム画面表示処理部90c1、操作判定処理部90c2、対戦処理部90c3、ゲーム音声処理部90c4、メッセージ処理部90c5)、ゲーム結果処理部90d、プレーヤデータ処理部90e、及び入力制御部90fが含まれる。
スタート処理部90aは、ゲームが開始されるまでのスタート処理を実行する。デモ処理部90a1は、デモンストレーション用のゲーム画面を表示するデモ処理を実行する。ゲーム準備処理部90a2は、ゲーム用カードの新規登録やゲーム用カードからのデータ(カードID)読み出しなどの処理、ゲームモード選択処理(通常モード、鉄人モード、体験走行モード、対戦モード)などを実行する。演出処理部90a3は、ゲーム用カードからカードIDが読み取られた場合に、カードID(プレーヤ)に対応するゲーム開始前の演出処理を実行する。
プレーヤマッチング処理部90bは、プレーヤにより対戦モードの実行が指示された場合に、対戦相手を決定するためのマッチング処理を実行する。本実施形態におけるゲーム装置20では、対戦モードでは、1(運転手)対1(運転手)による対戦の他、2(運転手、車掌)対2(運転手、車掌)の対戦(協力プレーによる対戦)を実行可能とする。
ゲーム処理部90cは、ゲームデータ92bに基づいて、プレーヤにより指定されたゲームモードによるゲームを制御する。ゲーム処理部90cには、ゲーム画面表示処理部90c1、操作判定処理部90c2、対戦処理部90c3、ゲーム音声処理部90c4の機能が含まれる。
ゲーム画面表示処理部90c1は、ゲームデータ92bをもとに、運転シミュレーションする路線における運転席前方の景色を表す画像やゲームに関する各種情報、さらにはデモンストレーション用画像や演出用画像などをディスプレイ62,63L,63Rに表示させる他、プレーヤの入力操作に関係する各種情報をタッチパネル77(ディスプレイ77a)に表示させる。ゲーム画面表示処理部90c1は、ディスプレイ62,63L,63Rにおいて表示させる画像を、例えばCG(computer graphics)により生成して表示させる。また、ゲーム画面表示処理部90c1は、ゲーム空間において設定された仮想カメラにより撮影された画像(写真画像)をCGにより生成する。
操作判定処理部90c2は、マスコン72に対する入力操作と、ゲーム画面表示処理部90c1により表示される画面の表示内容に基づいて入力判定をする判定機能を含む。操作判定処理部90c2は、例えば運転シミュレーションにおいて、ダイヤグラム(ダイヤ)通りに走行したか、停止位置が正しいか、あるいは駅構内再加速や非常制動停車などの操作を判定する。また、運転シミュレーションにおいて発生する各種イベント等に対するプレーヤ(運転手、車掌)による操作判定などを実行する。操作判定処理部90c2は、運転シミュレーションに対する評価結果をもとに、ゲーム評価を示すデータ(ゲーム評価データ)を生成する。また、操作判定処理部90c2は、運転シミュレーションの最終結果として、操作判定の結果に基づいて運転評価の点数を算出する。
対戦処理部90c3は、対戦モードを制御するもので、自装置における対戦中のゲーム状況を示すデータの送信、対戦相手とする他のプレーヤ(他のゲーム装置)が実行する対戦中のゲーム状況を示すデータの受信等を実行する。
ゲーム音声処理部90c4は、ゲーム実行中の音声出力を制御する。ゲーム音声処理部90c4は、サウンドコントローラ95を通じて、スピーカ78L,78R,78BL,78BR、及びヘッドホン端子57から出力する音を制御する。また、ゲーム音声処理部90c4は、プレーヤが座るための座席56に設けられた音響振動モジュール(バスシェーカ)78BSを駆動する。例えば、ゲーム音声処理部90c4は、ゲームデータ92bに設定された運転シミュレーションにおける振動発生のタイミングと強度に応じた音声信号を音響振動モジュール78BSに出力し、音響振動モジュール78BSを音響振動させて振動感をプレーヤに提供する。
メッセージ処理部90c5は、対戦モードによりゲームを実行する場合に、対戦相手とする他のゲーム装置20との間で送受信される各種のメッセージについて処理する。ゲーム装置20の間で送受信されるメッセージには、プレーヤの音声、プレーヤのタッチパネル77に対する操作に応じたテキストデータ、特定のゲーム状況に対応して予め決められたメッセージデータ(画像、テキスト、音声など)などがある。メッセージ処理部90c5は、他のゲーム装置20からメッセージを受信した場合、ゲーム実行中にメッセージを出力する(表示、音声出力など)。
ゲーム結果処理部90dは、ゲーム処理部90cによるゲーム結果に対する処理を実行する。ゲーム結果処理部90dは、運転シミュレーション中の中間結果、ゲーム終了時の最終結果として評価結果を表示させる。
プレーヤデータ処理部90eは、プレーヤに関係する各種データに対する処理を実行するもので、ゲームサーバ10において管理されているプレーヤ管理データ41aの閲覧や編集、成績閲覧、ゲーム終了後のプレーヤデータのゲームサーバ10の送信(登録)などの処理を実行する。
入力制御部90fは、入力インタフェース97を通じて入力されるプレーヤの操作に応じた、マスコン72a及びペダル79に設けられたペダルセンサ79aからの入力データを制御する。また、入力制御部90fは、入力インタフェース97を通じて入力される、カメラ65により撮影される映像(及び音声)データ、モーションセンサ66による検出データ、及びタッチパネルコントローラ94を通じて入力されるタッチパッド77bによる検出データを処理する。
記憶部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は、ゲームを実行している際に、例えばゲーム空間中に設定された仮想カメラにより撮影された画像(写真画像)に関するデータである。写真画像データ92gは、前述したゲームサーバ10において管理される写真画像データ41bに相当する。写真画像データ92gには、写真画像を示す画像データと、画像データを生成する際に参照される状況データ(ゲーム評価データ、ゲーム実行状態データ)とが対応づけて記憶される。
写真画像の画像データは、基本的に、写真撮影設定データが示す撮影条件をもとに生成されるが、状況データが示すゲーム状況に応じて画像品質を変動させる。例えば、状況データが良好なゲーム状況を示す場合(高スコア、ミッション高達成率)には、写真撮影設定データが示す撮影条件に応じた高品質の写真画像が生成される。一方、状況データが良くないゲーム状況を示す場合(低スコア、ミッション低達成率)には、低品質の写真画像が生成される。低品質の写真画像としては、例えば、構図がずれる(撮影対象物がフレーム内に正しく収まらないなど)、ピントが外れる、露出が設定値からずれる(画像を明るくする/暗くする)などの加工がされる。写真画像データ92gには、ゲームの実行に伴ってゲーム空間内で撮影された全ての画像データが記憶される。なお、写真画像の画像データは、ゲーム進行中に画像撮影ポイントに到達した時に生成しても良いし、画像撮影ポイントに到達した時の状況データを記憶しておき、ゲーム進行中の例えば処理負荷が軽い処理の実行中(例えば、メニュー画面などの変化が少ない画面の切り替え処理中や、プレーヤによる入力操作待ち中など)に生成しても良い。
写真画像データ92gは、ゲーム終了後に、ゲームサーバ10に送信され、カードリーダ54によってゲーム用カードから読み取られたカードIDと対応づけて写真画像データ41bとして記憶される。
なお、本実施形態では、基本的にゲーム装置20において写真画像を生成するが、画像撮影ポイントに対応する状況データをゲームサーバ10に送信することで、ゲームサーバ10において写真画像の画像データを生成させることも可能である。
入力インタフェース97は、制御部90の制御のもとで、マスコン72aの操作レバーに対する操作に応じたセンサデータ及びペダル79に対する操作に応じたペダルセンサ79aからのセンサデータの入力を制御する。また、入力インタフェース97は、カメラ65により撮影される映像(及び音声)データ、モーションセンサ66による検出データを入力する。
タッチパネルコントローラ94は、制御部90の制御のもとで、タッチパネル77を制御する。タッチパネル77は、ディスプレイ77aとタッチパッド77bを含む。
サウンドコントローラ95は、制御部90(ゲーム音声処理部90c4)の制御のもとで、スピーカ78L,78R,78BL,78BR、ヘッドホン端子57からの音声出力を制御する。サウンドコントローラ95は、ヘッドホン端子57にヘッドホンのプラグが装着された場合、スピーカ78L,78R,78BL,78BRから音声出力を停止させる。また、サウンドコントローラ95には、ボリュームボタン58、マイク59が接続される。ボリュームボタン58は、例えば筐体の内部に収容されたゲーム装置20の管理者用の制御パネルに設けられ、音量バランスの調整などに使用される。マイク59は、例えば運転シミュレーションを2人で実行する場合に(2人モード)、車掌としてプレーするプレーヤの音声を入力するために使用される。
ライティングコントローラ96は、制御部90の制御のもとで、複数のライト55a1,55a2,…,55amの点灯/点滅、LEDパネル55の表示パターンや色等を制御する。例えば、ライティングコントローラ96は、ゲーム開始前に演出処理部90a3の制御により、カードID(プレーヤ)のそれぞれに対応する演出に応じてライト55a1,55a2,…,55amの点灯や点滅、LEDパネル55の表示パターンなどを切り替える。
コインセンサ99は、コイン投入口74から投入されたコインを検知して、制御部90(スタート処理部90a)に通知する。
通信インタフェース98は、店内の他のゲーム装置20やホスト装置21との通信や、ネットワーク12を介したゲームサーバ10との通信を制御する。
次に、本実施形態におけるゲームシステムの動作について説明する。
はじめに、ゲームサーバ10におけるカスタマイズ処理について説明する。図8は、本実施形態におけるゲームサーバ10により実行されるカスタマイズ処理のフローチャートである。ゲームサーバ10は、ネットワーク12を通じて、カスタマイズ処理を含むネットワークサービス(Webサービス)を提供する。プレーヤは、電子機器16,17からネットワークサービスにアクセスし、ゲーム装置20においてゲームを実行する際のゲーム環境をカスタマイズすることができる。
なお、プレーヤがネットワークサービスを利用する場合、予めプレーヤを識別するための識別データ(本実施形態ではカードID)がゲームサーバ10に登録されているものとする。識別データ(カードID)は、ゲーム装置20で利用されるカード毎に固有のもので、例えばゲーム装置20において新規登録される。ゲーム装置20における識別データの登録(プレーヤ新規登録)については後述する。
プレーヤは、例えば電子機器16を利用してゲームサーバ10が提供するネットワークサービスにアクセスして、事前に登録しているカードIDを通知する。ゲームサーバ10のプレーヤデータ処理部30aは、電子機器16から通知されたカードIDについて認証処理(プレーヤID処理)を実行する(ステップS1)。プレーヤデータ処理部30aは、電子機器16から通知されたカードIDに対応するプレーヤデータが記録されているか判定する。
カードIDに対応するプレーヤデータが記録されていない場合(ステップS2、No)、プレーヤデータ処理部30aは、認証NGであると判定して、カスタマイズ処理が実行不可であることを電子機器16に通知してカスタマイズ処理を終了する。
一方、カードIDに対応するプレーヤデータが記録されている場合(ステップS2、Yes)、プレーヤデータ処理部30aは、カードIDと対応づけられたプレーヤデータ(プレーヤ管理データ)を読み出し、プレーヤからの操作に応じたカスタマイズを実行する。ここでは、ゲーム装置20においてゲームを実行する際に、ゲーム空間内で画像を撮影するための写真撮影設定について説明する。
写真撮影設定では、例えばアイテム設定(ステップS3)、画質設定(ステップS4)、及びカメラ設定(ステップS5)が可能である。プレーヤは、設定終了を指示するまで(ステップS6、Yes)、何れかの設定を任意に選択して、設定内容を指示することができる。
アイテム設定では、写真画像の撮影に関係するアイテムを設定する。プレーヤデータ処理部30aは、例えばプレーヤが既に獲得している獲得アイテムのうち、写真撮影設定に使用可能なアイテム(写真撮影アイテム)の一覧を電子機器16において表示させ、プレーヤに選択させる。写真撮影アイテムには、例えば仮想カメラで使用されるレンズ種類(例えば、広角レンズ、魚眼レンズ)、フィルタ種類(例えば、偏光フィルタ、減光フィルタ、色補正フィルタ、カラー効果/強調フィルタ、モノクロフィルタ)などがある。
画質設定では、写真画像の画質の調整に関係する各種設定をする。プレーヤデータ処理部30aは、例えば仮想カメラにおいて調整可能な設定内容の一覧を電子機器16において表示させ、プレーヤに設定させる。画質設定では、例えば仮想カメラにおける撮影モードとして、シャッター速度、露出、ISO感度、ホワイトバランス、色調整などがある。
カメラ設定では、例えばゲーム空間における仮想カメラの設置位置(撮影ポイント)と撮影方向などの設定をする。プレーヤデータ処理部30aは、例えば、ゲーム装置20において実行されるゲームのゲーム空間において仮想カメラを設置可能な位置の一覧を電子機器16に表示させて、プレーヤに選択させる。ゲーム装置20が運転シミュレーションゲームを実行する場合には、電車が走行する路線に沿った何れかの設置位置が選択される。
さらに、カメラ設定では、例えばゲーム空間を表す画像を電子機器16において表示させて、仮想カメラの設置位置と撮影方向の詳細な設定をプレーヤの操作に応じて設定可能にしても良い。例えば、プレーヤデータ処理部30aは、何れかの設置位置がプレーヤにより選択された場合、その設置位置に応じてカメラ設定用のゲーム空間を表す画像を電子機器16において表示させる。
図9は、本実施形態におけるカメラ設定用のゲーム空間を表す画像が表示された設定画面S1の一例を示す図である。図9では、設定画面S1において、例えば仮想カメラS1Cと、仮想カメラS1Cによる撮影対象となるオブジェクト位置S1Pと撮影範囲S1Fが表示させる。仮想カメラS1Cは、例えば電子機器16におけるポインティングデバイスなどの操作により位置の移動と撮影方向(向き)を任意に変更させることができる。プレーヤデータ処理部30aは、仮想カメラS1Cの位置及び撮影方向が変更されるのに応じて、設定画面S1に表示させる画像を変更させると共に、オブジェクト位置S1Pと撮影範囲S1Fの位置を変更して、仮想カメラS1Cにより撮影されるゲーム空間における範囲を明示する。これにより、プレーヤは、ゲーム空間で任意の画像が撮影できるように、仮想カメラS1Cの位置と撮影方向を容易に設定することが可能となる。
図10は、図9に示す設定がされた場合の撮影の状況を示す設定画面S2の一例を示す図である。図10に示す例では、オブジェクト位置S1Pにオブジェクト(電車)が到達した時点において、撮影方向が設定された仮想カメラS2Cにより撮影範囲S2Fの画像が撮影される(撮影される写真画像の例を図18に示す)。すなわち、オブジェクト位置S1Pは、仮想カメラにより写真を撮影するシャッタータイミングを示す位置(トリガ位置)となる。
なお、撮影方向についても、プレーヤによる設定操作を簡単にするために、予め決められた複数の方向を一覧表示して、プレーヤにより何れかを選択させるようにしても良い。
また、図9及び図10に示す設定例では、ゲーム空間を移動するオブジェクトである電車のみを撮影した画像を生成するための設定例を示しているが、ゲーム空間に存在するその他のオブジェクトを含む画像を撮影することができるように、カメラ位置及び撮影方向を設定することが可能である。
例えば、線路外にカメラ位置を設定して、線路周辺の踏切、建物、植物(花畑など)、風景などを含む画像を撮影できるようにしても良い。また、実空間では撮影不能な位置、例えば電車の上空などに仮想カメラの設置位置を設定することも可能である。ゲーム画面表示処理部90c1は、CGにより写真画像を生成するため、カメラ設定において設定されたカメラ位置と撮影方向に応じた写真画像を生成することができる。
なお、アイテム設定(ステップS3)、画質設定(ステップS4)、及びカメラ設定(ステップS5)では、プレーヤ管理データに設定された、プレーヤのクラス、レベル、称号の少なくとも1つに応じて、設定可能な範囲を制限するようにしても良い。例えば、クラス、レベル、称号のレベルが高くなるほどプレーヤによる設定可能な選択肢が多くなるようにする。特にカメラ設定では、ゲーム空間内で仮想カメラを設置可能な位置の選択肢を変更することができる。例えば、予め設定されたレベル以上である場合、あるいは予め設定された称号が獲得された場合にのみ、仮想カメラを設置可能な位置を設けておくことができる。これにより、設定されたレベル以上あるいは特別な称号を獲得したプレーヤのみに特別な写真画像を提供することができる。
なお、カスタマイズ処理によって写真撮影設定がされない場合には、予めゲーム装置20において設定されたデフォルトのアイテム設定、画質設定、及びカメラ設定に応じた写真画像の生成が実行される。
次に、本実施形態におけるゲーム装置20の動作について説明する。
図11及び図12は、本実施形態におけるゲーム装置20の全体動作を説明するためのフローチャートである。
ゲーム装置20は、電源が投入されることにより、ゲームプログラム92aを起動して、スタート処理部90aによる処理を開始する。まず、スタート処理部90aは、デモ処理部90a1によりデモ(デモンストレーション)処理を実行する(ステップA1)。例えば、デモ処理部90a1は、デモ用の画面をディスプレイ62,63R,63Lを繰り返して表示させる他、LEDパネル55やライト55a1,55a2,…,55amを制御する。デモ処理部90a1は、例えばメーカ名などを表示するロゴ表示画面、ニュース画面(予め用意された画像やゲームサーバ10から受信した画像)を表示するニュース画面、ゲームタイトル画面、ゲームの遊び方を解説するチュートリアル画面、運転シミュレーションゲームで利用可能な路線の一覧を表示する路線リスト画面などを、それぞれ所定時間が経過した後あるいは全ての表示内容の表示が完了した後に、順次切り替えながら繰り返して表示する。筐体50には複数の透明窓52Aa,52Ba,51Raが設けられているため、筐体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に対応するプレーヤ登録を確認する。
図13は、本実施形態におけるゲームサーバ10によるプレーヤ確認処理を示すフローチャートである。
ゲームサーバ10は、ゲーム装置20からカードIDを受信すると(ステップC1)、このカードIDに対応するプレーヤデータが記録されているか判定する。カードIDに対応するプレーヤデータが記録されていない場合(ステップC2、No)、ゲームサーバ10は、新規プレーヤであることをゲーム装置20に通知し、カードIDに対応するプレーヤデータが記録されている場合には、該当するプレーヤ管理データをゲーム装置20に送信する(ステップC4)。後述するフリーチケット処理(図20)が予め実行されてポイントデータがフリーチケットデータに変換済みである場合には、プレーヤ管理データにはフリーチケットデータが含まれる。
ゲーム装置20のゲーム準備処理部90a2は、ゲームサーバ10から新規プレーヤであることが通知された場合(ステップA9、無し)、例えば「このカードは、このゲーム装置に未登録のカードです。新規登録を開始しますか?」のメッセージを含むプレーヤ新規登録画面を表示して、例えばプレーヤネームなどの登録を促す。ここで、ゲーム準備処理部90a2は、新規登録の実行が指示されると、タッチパネル77にプレーヤ登録用の操作画面を表示させて、プレーヤのタッチパネル77に対する操作によってプレーヤ登録する(ステップA10)。ゲーム準備処理部90a2は、新規カードから読み込んだカードIDと、プレーヤ操作により入力されたプレーヤネームのデータをゲームサーバ10に送信して記録させる。
なお、演出処理部90a3は、カードリーダ54によるカードIDの読み取りに応じて、前述した処理と並行してプレーヤ(カードIDに対応するプレーヤ管理データ)に応じた演出処理を実行する(ステップA12)。演出処理の詳細については後述する。
一方、ゲーム準備処理部90a2は、ゲームサーバ10からプレーヤ管理データを受信した場合、すなわち既にプレーヤ登録されている場合には(ステップA9、有り)、プレーヤ管理データに含まれるプレーヤに関する各種を、例えばディスプレイ63Lに表示させる(ステップA11)。
図14は、本実施形態におけるゲーム準備処理中におけるディスプレイ62,63R,63L及びタッチパネル77を示す図である。
図14に示す例では、例えばディスプレイ63Lには、写真撮影設定情報エリア63LAとプレーヤ情報エリア63LBが設けられる。
写真撮影設定情報エリア63LAには、プレーヤ管理データの写真撮影設定データの内容(カメラセット)が表示される。これにより、プレーヤは、ゲームの実行中に撮影される写真画像に関する情報を、ゲーム開始前に予め把握することができる。
また、プレーヤ情報エリア63LBには、プレーヤ情報が表示される。例えば、プレーヤ情報としては、プレーヤ管理データに含まれるプレーヤネーム、カスタムイメージ、レベルや称号、獲得アイテム、プレーヤ成績などがある。また、プレーヤ管理データにフリーチケットデータが含まれている場合、演出処理部90a3は、フリーチケットを利用してフリープレイ(フリーチケット分のゲームを無料で実行)可能であることをプレーヤ情報エリア63LBに表示させる。
また、図14に示す例では、例えばタッチパネル77に設定内容をプレーヤに確認するための画面を表示させる。例えば、「この設定でプレイしますか?」のメッセージと共に、プレーヤによるゲームの中止の指示を受け付ける「いいえ」ボタンと、ゲームの実行を指示する「はい」ボタンが設けられている。
なお、演出処理部90a3は、前述と同様にして、カードリーダ54によるカードIDの読み取りに応じて、前述した処理と並行してプレーヤ(カードIDに対応するプレーヤ管理データ)に応じた演出処理を実行する(ステップA12)。演出処理の詳細については後述する。
また、本実施形態では、二人のプレーヤによって運転シミュレーションゲームを実行することができる。ゲーム準備処理部90a2は、カードリーダ54によってカードIDが読み取られた後(ステップA7、Yes)、クレジット成立する前に(ステップA6、無し)、再度、カードリーダ54によってカードID(前回と異なる)が連続して読み取られた場合には(ステップA8、Yes)、2人モードを設定する(ステップA13)。2人モードでは、運転シミュレーションを運転手と車掌とに役割を分担して実行することができる。
なお、2人モードを設定した場合には、ゲーム準備処理部90a2は、それぞれのカードIDに対応するプレーヤ情報を表示する。ここで、何れのプレーヤが運転手と車掌の何れを担当するか、プレーヤのタッチパネル77に対する操作によって設定できるようにしても良い。なお、カードリーダ54によって最初にカードIDを読み取らせたプレーヤを運転手、次にカードIDを読み取られたプレーヤを車掌にするなどして設定しても良いし、装置側がランダムに運転手と車掌を割り当てるようにしても良い。
ここで、本実施形態における演出処理について説明する。
演出処理部90a3は、プレーヤ登録がある場合、登録プレーヤに対応するプレーヤ管理データに基づいて、ゲーム開始前用の演出のための照明点灯(点滅)、音声出力、画面表示などを実行する。また、演出処理部90a3は、プレーヤ登録がない場合、ゲーム開始前用の予め設定された演出のための照明点灯(点滅)、音声出力、画面表示などを実行する。また、2人モードが設定されている場合には、演出処理部90a3は、2人モードのゲーム開始前用の予め設定された演出のための照明点灯(点滅)、音声出力、画面表示などを実行する。
演出内容としては、例えばプレーヤ管理データに含まれるプレーヤ経験値や、クラス、レベルなどに応じて変化させても良いし、プレーヤ成績に応じて変化させても良い。また、ゲームサーバ10に対して、電子機器16,17からプレーヤが予めカードIDと対応づけてプレーヤ管理データとして演出内容を示すデータを登録できるようにし、この登録内容に応じた演出をするようにしても良い。
また、プレーヤ管理データに基づいて演出内容を変化させるだけでなく、ゲームをする時間帯、例えば夕方の時間帯であれば、運転席に夕日によって照らされているように照明したりすることができる。また、時間帯だけでなく、季節や天候の違いを表すようにしても良い。また、音声についても、ラッシュ時間帯や夜間帯などの違いによってホームの様子を表す音声(BGMや音声メッセージ)などを出力することも可能である。
また、出入り口53に開閉部材(ゲート)が設けられている場合、演出処理部90a3は、カードリーダ54によってカードIDが読み取られるのに応じて、開閉部材を開閉状態にして、プレーヤを筐体50の内部へ通過するような演出をすることが可能である。
このようにして、筐体50の外部に設けられたカードリーダ54に対してカードIDを読み取らせることで、ゲーム開始前に演出処理が実行されるため、これから運転シミュレーションを開始するという雰囲気をプレーヤに提供することができる。プレーヤは、演出処理が実行されている中で、出入り口53から筐体50に入り、座席56に座り、運転シミュレーションゲームの開始を待機することができる。よって、ゲーム開始前からゲームをプレーする高揚感(ワクワク感)を高めることができる。
ゲーム準備処理部90a2は、カードリーダ54によってカードIDが読み取られた場合、その後、コインセンサ99によりゲーム利用開始に必要な料金の投入があったことが検知されると(ステップA6、有り)、クレジット条件を満たすと判定する。また、スタート処理部90aは、プレー料金をコインでは無く、電子マネーを使用して支払われた場合にもゲームを開始することができる。前述したように、本実施形態におけるゲーム装置20では、コインあるいは電子マネーによる支払いは、例えば予め決められたポイント単位分(100ポイント(例えば100円)、500ポイント(500円)、1000ポイント(1000円))で行われる。
さらに、ゲーム準備処理部90a2は、フリーチケットデータがある場合、コインあるいは電子マネーによる支払いがなくてもクレジット条件を満たすと判定する。フリーチケットデータは、例えば予め設定されたポイントデータ(例えば、400ポイント分)に変換する。なお、フリーチケットデータは、ポイントデータに変換せずに、予め決められたポイント分(例えば、400ポイント分)のゲームを利用可能としても良い。
ゲーム準備処理部90a2は、クレジット条件を満たす場合に(ステップA6、Yes)、例えばタッチパネル77に表示された「はい」ボタンがプレーヤによりタッチされると、ゲーム処理部90cに対してゲーム処理の開始を指示する。
このようにして、コインあるいは電子マネー、さらにはフリーチケットによりゲーム利用に必要なプレー料金を支払ってポイントに変換しておくことができるため、ゲームを開始する前に、その都度、ゲーム利用に必要なプレー料金を支払うために電子マネーカードを電子マネーユニット75に読ませる作業、あるいはコインを投入する作業をする必要がなく、プレー料金の支払いを容易にすることが可能となる。また、予め決められたポイント単位分の支払いをすることで、実際にゲームに必要なプレー料金を越える支払いをしたとしても、余ったポイントを後述するフリーチケット処理によってフリーチケットに交換することができるので無駄が発生しない。
なお、2人モードが設定されている場合、ゲーム準備処理部90a2は、少なくとも何れか一方のプレーヤから2人分のプレー料金が支払われた場合(あるいはフリーチケットがある場合)、クレジット条件成立すると判定することも可能である。
また、支払われたプレー料金に対応するポイントは、基本的に予め決められているが(例えば、1000円で1000ポイント)、例えば集客のためにプレー料金に対応するポイントを変動させることも可能である。例えば、予め決められた期間、あるいは時間帯において、支払われたプレー料金に対応するポイントを増やす(500円で600ポイントなど)ことも可能である。また、通常では、3区間分のゲームをする場合に400ポイントが必要であるが、予め決められた期間あるいは時間帯において、300ポイントでプレー可能にするなどの割引きも可能である。
なお、プレー料金に対応するポイントの変更や割引きは、ゲームサーバ10から管理下にあるゲーム装置20の全てに対して一括して設定可能としても良いし、例えばゲームサーバ10において選択された店舗について選択的に設定可能としても良い。また、店舗毎に設定可能としても良いし、1つの店舗内でゲーム装置20毎に設定可能とすることも可能である。
クレジット条件が成立すると(ステップA6、有り)、ゲーム処理部90cは、タッチパネル77にゲームモードを選択するためのモード選択画面を表示させる(ステップA14)。モード選択画面において選択可能なゲームモードには、例えば通常モード(ノーマル)、鉄人モード(プロフェッショナル)、体験走行モード(チュートリアル)、対戦モードなどがある。
モード選択画面において、対戦モードが選択された場合(ステップA18)、プレーヤマッチング処理部90bは、対戦をする相手を設定するためのプレーヤマッチング処理を実行する(ステップA19)。プレーヤマッチング処理では、例えば、店内の複数のゲーム装置20のうち最初に店内対戦プレーの実行が指示されたゲーム装置20がホストプレーヤとなり、他のゲーム装置20に対して対戦相手(ゲスト)を募集する。予め決められた一定時間内に、対戦要求がなかった場合、対戦ゲームが実行できないものとして、モード選択画面を表示する状態に戻る。一方、対戦要求があった場合、プレーヤマッチング処理部90bは、対戦ゲームの準備のための処理をした後、ゲームを開始するための処理に移行するステップ(ステップB1〜)。
一方、通常モード、鉄人モード、体験走行モードの何れかが選択された場合、ゲーム処理部90cは、ゲームモードに応じた、ハイスコアを取得した他のプレーヤなどのプレーヤデータをゲームサーバ10から受信する。
ゲーム処理部90cは、運転シミュレーションの対象とするミッションを選択するための選択画面(ダイヤ選択画面、路線選択画面)をタッチパネル77に表示させ、プレーヤに何れかを選択させる(ステップA21,A22)。ここでは、例えばそれぞれのモードにおいて複数のミッションが用意されており、何れかを任意に選択することができる。ミッションでは、路線、区間数、走行条件(天候、時間帯(朝、昼、夕)、乗車率など)、難易度などがそれぞれ設定されている。
また、ゲーム処理部90cは、ゲームサーバ10から受信したプレーヤデータをもとに、それぞれのミッションにおける例えば1位〜3位のプレーヤの情報とハイスコアをディスプレイ63Rに表示させる。
次に、ゲーム処理部90cは、運転シミュレーションを実行する準備のための処理を開始する。ゲーム処理部90cは、タッチパネル77にゲーム実行用の操作画面を表示させると共に、ディスプレイ62に始業検査用の画面を表示させる(ステップB1)。
ゲーム実行用の操作画面には、例えば圧力計、速度計、電車情報画面、その他信号表示部、戸閉灯、減光スイッチを表す画像が表示される。それぞれの領域では、運転シミュレーションの状況変動に応じて、表示内容がリアルタイムで変更される。
始業検査用の画面では、マスコン72の操作レバーのホーム(基準)位置を検出するため、ホーム(基準)位置とする非常ブレーキ位置(非常停止位置)に操作レバーをプレーヤに操作させるように促す内容を表示する。ゲーム処理部90cは、マスコン72から操作レバーが非常ブレーキ位置(非常停止位置)に移動されたことを示すデータを受信して始業検査を実行し、その後、運転シミュレーションを開始する。すなわち、ゲーム処理部90cは、ゲーム画面表示処理部90c1によって、走行対象とする路線図(現在位置、走行区間)を表示させた後、走行対象とする路線に対応する運転席から見た画像の表示を開始させる(ステップB2)。以下、ゲーム処理部90cは、マスコン72やペダル79などに対するプレーヤの操作に応じて電車を走行させるシミュレーションを実行しながら、ゲーム進行中に設けられた評価ポイント(線路に設定された位置)に到達した時のイベントに対する評価(スコア判定)をする運行処理を実行する(ステップB3)。スコア判定要素には、例えば停止位置スコア、到着時間スコア、速度調整スコア、安全運転スコア、熟練技能スコアなどがある。
本実施形態における運転シミュレーションゲームは、ゲームモード、対象路線、ダイヤ、難易度、プレーヤ管理データ(プレーヤ経験値、クラス、レベルなど)等に応じて持ち時間を設定し、ゲーム進行中の予め決められた時点(評価ポイント)に発生するイベントに対して適切に対応する操作(成功)をした場合には持ち時間を加算し、誤った操作(失敗)をした場合には持ち時間を減算しながら、持ち時間がゼロになるまでに目的駅まで電車を走行させるゲームである。
イベントが発生する評価ポイントには、例えば喚呼ポイント、警笛ポイント、減光ポイント、定速ポイントなどがある。喚呼ポイントでは、例えば、指差し喚呼をすべきタイミングでタッチパネル77内の該当箇所(領域)にタッチさせて成功/失敗を判定する。警笛ポイントでは、人間のモデルを画面イメージの線路周辺に表示し、その人間に向けて適切なタイミングで警笛を出力させて成功/失敗を判定する。減光ポイントでは、普段では前照灯をハイビーム状態のままにし、隣の線路を走行する電車とすれ違う際に、適切なタイミングで一時的に減光(ロービーム)に切り換えさせて成功/失敗を判定する。定速ポイントでは、路線中の予め設定された位置において予め設定された速度で走行させて成功/失敗を判定する。各評価ポイントでは、ゲーム処理部90cは、成功/失敗の判定結果に応じて、判定結果を表す表示(例えば成功の場合には「good」の文字)や音声(効果音、メッセージなど)を出力させる。
ゲーム処理部90cは、評価ポイントにおけるタッチパネル77に対するタッチ操作の有無、タッチされた位置をもとにイベント操作の成功/失敗を判定して判定結果に応じた演出出力をする。例えば、ゲーム処理部90cは、イベント操作が成功と判定した場合(ステップB4、成功)、ディスプレイ62の中央に成功を表す「good」を表示すると共に、例えば「よし!」の音声(効果音)を出力させる(ステップB5)。この場合、ゲーム処理部90cは、持ち時間を予め決められた時間(例えば1秒)を加算する(ステップB6)。
一方、ゲーム処理部90cは、評価ポイントにおけるイベント操作が失敗と判定した場合(ステップB4、失敗)、ディスプレイ62になにも表示せず、イベント失敗を表す効果音を出力させる(ステップB7)。この場合、ゲーム処理部90cは、持ち時間を予め決められた時間(例えば1秒)を減算する(ステップB8)。
また、ゲーム処理部90cは、電車の運行に伴って、定速走行範囲に入った場合に、予め設定された一定の速度で走行させる運転手イベント(定速ポイント)を発生させる。ゲーム処理部90cは、定速走行範囲に近づくと(例えば100m手前)になると、指定速度、現在速度、誤差速度を画面イメージに表示させる。プレーヤは、マスコン72を操作することで、電車の速度が指定速度となるように操作する。この結果、定速走行範囲において、許容範囲内で速度を調整できた場合、ゲーム処理部90cは、運転イベントを成功と判定する。この場合、ゲーム処理部90cは、成功を表す「good」の表示と共に効果音を出力する。なお、ゲーム処理部90cは、運転イベントが失敗と判定した場合には、運転手イベントの失敗を示す効果音を出力して、判定結果に応じた表示をしない。
また、ゲーム処理部90cは、電車の運行に伴って変化する画面イメージにおいて、隣の線路を走行する電車が近づいてきた場合には(減光ポイント)、適切なタイミングで一時的に減光(ロービーム)させるために、タッチパネル77の減光スイッチ77fをタッチ操作させる。また、電車のすれ違いが完了したタイミングで、再び、タッチパネル77の減光スイッチ77fをタッチ操作させて、ハイビーム状態に切り換えさせる。ゲーム処理部90cは、減光スイッチ77fに対する一連の操作が正しいタイミングで実行された場合に、運転イベントが成功と判定する。ゲーム処理部90cは、前述したように、成功/失敗の判定結果に応じた演出出力をする。
なお、前述したスコア集計の対象となる評価ポイントとは別に、ゲーム空間で仮想カメラにより撮影された画像を生成する条件としてゲーム状況を判定するための撮影評価ポイント(第1時点)が設定されている。また、仮想カメラにより画像を撮影する撮影ポイント(第2時点)が設定されている。撮影評価ポイント(第1時点)は、カスタマイズ処理の写真撮影設定において設定された図9に示すオブジェクト位置S1P、あるいは予め設定されたデフォルト位置とする。
図15は、本実施形態における撮影ポイントの概念を示す図である。図15(A)に示すように、ゲーム空間中に仮想カメラが設定され、仮想カメラにより撮影される位置が電車(オブジェクト)が進行する線路上にシャッタータイミングを示すトリガとする撮影ポイント設定される。ゲーム画面表示処理部90c1は、ゲーム進行に伴い電車が線路を進行し、図15(B)に示すように、撮影ポイントに到達した時の仮想カメラにより撮影される写真を表す写真画像をCGにより生成する。
撮影評価ポイントとする第1時点と、仮想カメラにより画像を撮影する撮影ポイントとする第2時点とは一致していても良いし、異なっていても良い。すなわち、第1時点と第2時点とを一致させることにより、仮想カメラによる撮影のタイミングにおけるゲーム状況に応じた写真画像を生成することができる。一方、第1時点と第2時点とを異なるようにすることで、ゲーム状況の評価に適したゲーム進行中の時点と、写真画像として記録するために好適(例えばプレーヤの嗜好に合った写真画像を撮影可能)なゲーム進行中の時点とが異なるようにすることができる。
また、仮想カメラにより撮影された写真画像の生成は、ゲーム進行中の撮影ポイントの到達時に実行しても良いし、撮影ポイントとは異なるタイミングで実行することも可能である。撮影ポイントとは異なるタイミングとしては、例えばゲーム空間における電車(オブジェクト)の動作が停止(あるいは変化量が低下)された後、すなわちディスプレイにゲーム画面を表示させる処理負荷が軽減された状態になっている間に設定することが可能である。
撮影ポイントとは異なるタイミングで写真画像を生成する場合には、撮影評価ポイントにおいてゲーム評価を示すゲーム評価データを記憶しておき、撮影ポイントにおいてゲームの実行状態を示すゲーム実行状態データを記憶しておく。ゲーム画面表示処理部90c1は、写真画像の生成タイミングにおいて、ゲーム評価データとゲーム実行状態データとをもとに写真画像を生成する。
本実施形態では、ゲーム進行が撮影評価ポイントに到達した場合、すなわちゲーム進行に伴って電車が線路に設定された撮影評価ポイントに到達した場合には(ステップB9、Yes)、ゲーム処理部90cは、その時点の写真撮影用の状況データ(ゲーム評価データ)を記憶部92に記憶させる(ステップB10)。また、ゲーム進行が撮影ポイントに到達した場合、すなわちゲーム進行に伴って電車が線路に設定された撮影ポイントに到達した場合には(ステップB9、Yes)、ゲーム処理部90cは、その時点の写真撮影用の状況データ(ゲーム実行状態データ)を記憶部92に記憶させる(ステップB10)。なお、ゲーム処理部90cは、ゲーム進行が撮影ポイントに到達した場合に、仮想カメラにより撮影が実行されたことをプレーヤに通知するために、シャッター音などの効果音をスピーカから発生させるようにしても良い。
また、撮影評価ポイントと撮影ポイントを一致させる場合には、そのポイントに到達した時点で、写真撮影用の状況データ(ゲーム評価データ、ゲーム実行状態データ)を記憶部92に記憶させる(ステップB10)
そして、電車が駅に到達して停止された後に、状況データをもとに写真画像の生成が行われるものとする(後述するステップB20)。
なお、ゲーム評価データには、例えばスコア、ゲーム中に設定されたミッションの達成状況/達成率、順位などが含まれる。また、ゲーム実行状態データは、ゲーム進行中のプレーヤの操作やプログラムの制御により変化する各種の状態を示すデータであり、例えばオブジェクト(電車など)のゲーム空間中における位置、オブジェクトの状態(電車のライト点灯有無、ワイパー動作の有無など)、背景状態(時刻や天候の違い)などを含む。
ゲーム処理部90cは、次の駅に到着して電車を停止させる操作がされた場合(ステップB11、Yes)、停止位置と到着時刻について評価をする。ゲーム処理部90cは、例えば、停止位置が目標位置から前後50cm未満の範囲にある場合(ステップB12、±50cm未満)、良好な停止操作であることを示すGOOD演出を出力する(ステップB13)。また、ゲーム処理部90cは、50cm以上の過走である場合には(ステップB12、オーバーラン)、停止位置修正演出を出力する。
また、ゲーム処理部90cは、電車の停止時の到着時刻について評価をする。ゲーム処理部90cは、電車が停止されると、次駅到着時刻(目標時刻)と現在時刻(到着時刻)との差が1秒未満の場合(ステップB15、±1秒未満)、良好な運行操作であることを示すGOOD演出を出力する(ステップB16)。また、ゲーム処理部90cは、1秒以上の遅延である場合には(ステップB15、延着)、延着演出を出力する(ステップB17)。
また、前述した運転イベントは、一例であって、通常の運転操作とは別の突発的なイベント(例えば、非常停止が必要な状況)や天候の急変(雨、雪、風)などを発生させて、それぞれの状況に応じた操作を要求することが可能である。
ゲーム処理部90cは、電車の停止による評価が終了すると、中間リザルト(評価結果)をディスプレイ62(あるいはタッチパネル77)に表示させ(ステップB18)、これまでのイベントに応じて持ち時間を加算/減算する(ステップB19)。
中間リザルト表示では、例えばダイヤ、停止位置、駅構内再加速、非常制動停止などの複数の項目について、評価内容と評価結果(持ち時間に対する加算/減算した秒数)を表示している。こうして、中間リザルトを表示することで、持ち時間の増減により、プレーヤに対して分かり易く、それまでの運転に対する評価状況を把握させることが可能となる。
ここで、ゲーム画面表示処理部90c1は、ディスプレイへの表示のための処理負荷が軽くなったタイミングにおいて、撮影評価ポイントにおいて記憶された状況データをもとに、撮影ポイントにおいて仮想カメラにより撮影された写真画像を生成する。
ゲーム画面表示処理部90c1は、基本的に、写真撮影設定データが示す撮影条件をもとに生成するが、状況データが示すゲーム状況に応じて画像品質を変動させる。ここでは、ゲーム状況に応じた写真画像の生成の一例として、図16に示すように画像品質を変動させるための設定がされているものとする。例えば図16では、(1)減点スコアに応じたシャッタータイミング(撮影ポイント)の変動、(2)定速ポイントにおける速度差に応じたピントの変動、(3)スコア獲得率に応じた露出の補正値の変動、(4)評価ポイントへの到達目的時刻と実際の到達時刻との差に応じたピントの変動(あるいはシャッタータイミング(撮影ポイント)の変動でも良い)についての設定例を示している。なお、前述した(1)〜(4)以外の画像品質の変動も可能である。
(1)減点スコアに応じたシャッタータイミングの変動では、例えば図16(A)に示すように、減点スコアを複数の段階に分けて、それぞれの段階に対応するトリガ位置の初期設定位置からの移動量が予め設定されている。ゲーム画面表示処理部90c1は、ゲーム評価データが示す評価ポイントにおけるスコアをもとに減点スコアを算出し、減点スコアに対応する移動値に応じてシャッタータイミングをずらした写真画像を生成する。
例えば、図17(A)に示す通常のトリガ位置を、図17(B)に示すように移動させて、シャッタータイミングを早くする、あるいは図17(C)に示すように、シャッタータイミングを遅らせる。このように、シャッタータイミングをずらすことで、仮想カメラによりゲーム空間中の電車を当初意図した位置で撮影できないようにすることができる。
(2)定速ポイントにおける速度差に応じたピントの変動では、例えば図16(B)に示すように、定速ポイントでの目標とする速度と実際の操作による速度との差を複数の段階に分けて、それぞれの段階に対応するピントの変動量が予め設定されている。ゲーム画面表示処理部90c1は、定速ポイントにおける速度差に対応するピント量を変動させた写真画像を既存の画像処理方法を用いて生成する。
(3)スコア獲得率に応じた露出の補正値の変動では、例えば図16(C)に示すように、獲得可能な最高スコアに対する獲得率を複数の段階に分けて、それぞれの段階に対応する露出の補正値が予め設定されている。ゲーム画面表示処理部90c1は、ゲーム評価データが示す評価ポイントにおけるスコアをもとに最高スコアに対するスコア獲得率を算出し、スコア獲得率に対応する露出の補正値を変動させた写真画像を既存の画像処理方法を用いて生成する。
(4)評価ポイントへの到達目的時刻と実際の到達時刻との差に応じたピントの変動では、図16(D)に示すように、到達目的時刻と実際の到達時刻との差を複数の段階に分けて、それぞれの段階に対応するピントの変動量が予め設定されている。ゲーム画面表示処理部90c1は、速度差に対応するピント量を変動させた写真画像を既存の画像処理方法を用いて生成する。
なお、前述した写真画像を変動させる方法は一例であって、少なくとも1つを実施可能であれば良く、また、その他の画像処理の方法を用いて、ゲーム状況に応じて画像品質を変動させた写真画像を生成するようにしても良い。
例えば、前述した説明では、(1)減点スコアに応じてシャッタータイミングを変動させるとしているが、例えばシャッタータイミング(トリガ)を電車の到達位置ではなく、ゲーム進行中の基準時刻(例えば駅からの出発時刻)から予め決められた時間が経過した時(ゲーム進行中の予め決められたタイミング)とすることができる。すなわち、電車の走行状況に関係なく、ゲーム進行中の予め決められたタイミングで仮想カメラによる撮影を実行させる。プレーヤは、予め決められたダイヤと一致するように正しく電車を走行させることで、シャッタータイミングにおいて電車を撮影ポイントに到達させることができる。この場合、図17(A)に示すような、正しいタイミングで電車の画像を撮影(生成)可能となる。一方、ダイヤより遅く電車を走行させている場合には、図17(B)と同様のタイミングで仮想カメラにより撮影され、フレーム内に小さく電車が撮影された(あるいはフレームに電車が含まれない)写真画像が生成される。また、ダイヤより速く電車を走行させている場合には、図17(C)と同様のタイミングで仮想カメラにより撮影され、電車の正面では無く側面が撮影された(あるいはフレームに電車が含まれない)写真画像が生成される。
さらに、前述した説明では、ゲーム状況に応じて写真画像の画像品質を変動させるとしているが、仮想カメラにより撮影される範囲内に、通常、ゲーム空間内に存在するオブジェクトとは異なる特別なオブジェクトをゲーム状況に応じて発生させて、写真画像に含まれるようにしても良い。例えば、前述したように、正しくダイヤに一致するように電車を走行させている場合に、隣の線路に他の電車を走行させて(併走、あるいはすれ違い)、プレーヤが操作する電車と共に写真画像において撮影されるようにする。なお、他の電車を走行させるだけでなく、背景に含まれる虹、特徴的な雲、飛行物(例えば飛行機、気球、UFO)などのオブジェクトを発生させて、撮影ポイントにおいて仮想カメラにより撮影されるようにすることもできる。
ゲーム処理部90cは、これまでのイベントに応じて加算/減算された持ち時間を参照し、持ち時間の残りが1秒以上であるかを判定する。持ち時間が1秒以上あり(ステップB21、1秒以上)、終点まで到達していない場合には(ステップB21、No)、ゲーム処理部90cは、前述したように、次の駅に電車を走行させる運転シミュレーションを開始する(ステップB3〜)。本実施形態では、1つの区間に1枚の写真画像が撮影されるように、撮影評価ポイント及び撮影ポイントが設定されている。次の、区間においても前述と同様にして、写真画像が生成される。
なお、持ち時間が1秒以上ある場合であっても(ステップB21、1秒以上)、終点まで到達している場合には(ステップB22、Yes)、ゲーム処理部90cは、前述したように最終リザルトを表示させて、運転シミュレーションを終了させる。
一方、ゲーム処理部90cは、持ち時間の残りが1秒未満の場合には、最終リザルトを表示させて、運転シミュレーションを終了させる(ステップB23)。最終リザルトの画面では、例えばダイヤの正確さ、停止位置の正確さ、ブレーキ(乗り心地)、信号・標識を守る、安全への配慮、心優しい運転士、走行距離/(継続回数+1)、残り持ち時間などの複数の項目について、運転イベントに対する操作内容をもとに、それぞれの項目毎に設定された計算式を用いて算出された得点を表示する。また、最終リザルトでは、複数の項目についての合計を総合評価として表示する。
さらに、ゲーム処理部90cは、ゲーム実行に伴って、各区間において撮影された写真画像を、例えばディスプレイ63Lにおいて一覧表示させる。これにより、プレーヤは、ゲームサーバ10に一時登録される写真画像を確認することができる。
プレーヤは、ゲームサーバ10に一時登録された写真画像を、例えば電子機器16からネットワークサービスを利用して、制限枚数の範囲内で保存写真画像データとして、ゲームサーバ10に保存させておくことができる。
図18は、本実施形態におけるゲーム空間内で仮想カメラにより撮影された写真画像の一例を示している。図18は、図10に示すように仮想カメラS2Fが設定された場合のシャッタータイミングが変更されずに写真画像が生成された例を示している。すなわち、図18に示す写真画像は、図9に示すオブジェクト位置S1Pに電車が到達した時点の図10に示す撮影範囲S2Fにおける画像となる。
なお、ゲーム処理部90cは、総合評価が予め決められた基準に到達した場合には、例えばプレーヤに対してアイテムを提供したり、クラス、レベル、称号などを提供したりすることができる。
ゲーム処理部90cは、最終リザルトを表示させた後、プレーヤに提供したアイテム、クラス、レベル、称号などを含むプレーヤデータを、カードIDと対応づけて、プレーヤデータ処理部90eによりゲームサーバ10に登録させる。さらに、ゲーム処理部90cは、ポイントデータが余っている場合には、ポイントデータもゲームサーバ10に送信して記憶させる。さらに、ゲーム処理部90cは、ゲームの実行に伴って生成された写真画像データ(状況データ、画像データ)をゲームサーバ10に送信して記憶させる(ステップB24)。
ゲームサーバ10の写真画像データ処理部30cは、ゲーム装置20から受信した写真画像データ(状況データ、画像データ)を、例えば受信時を基準とした所定の保管期間を設定し、写真画像データ41bとして一時登録する。一時登録された写真画像データは、後述する画像管理処理(図21)において管理(メンテナンス)される。
なお、前述した説明では、仮想カメラにより撮影された写真画像の生成は、1区間の走行が完了する毎に実行しているが、全区間の走行が完了した時点において、それぞれの区間において設定された撮影ポイントにおける複数の写真画像の生成を一括して実行しても良い。
また、対戦モードが選択された場合には、対戦に参加するゲーム装置20のそれぞれにおいて、前述したように、運転シミュレーションに応じた入力操作が実行される。ディスプレイ62,63R,63Lには、例えば対戦相手が走行させる電車の画像も、ディスプレイの一部の領域において同時に表示させるものとする。また、対戦モードでは、同じ路線を走行させる電車により対戦をしても良いし、並行に走行する異なる路線の電車により対戦をしても良い。従って、対戦モードでは、同じ路線を走行させる電車により対戦する場合には、それぞれ個別のゲーム空間において撮影した写真画像を生成しても良いし、それぞれのゲーム空間において撮影した写真画像を合成しても良い。例えば、同じ撮影ポイントで撮影した写真画像を合成することで、画質の違いによって勝敗を判断可能となる。
さらに、並行に走行する異なる路線の電車により対戦をする場合には、例えばそれぞれが正確な走行をすることで、異なる路線の電車が並ぶ位置に撮影ポイントを設定して、対戦する2人のプレーヤが制御する電車を1枚の写真画像に収めることができる。
また、前述したように、本実施形態では、撮影評価ポイントと撮影ポイントとが異なっていても良く、写真撮影用の状況データを記憶した後に状況データをもとに写真画像を生成しているため、ゲーム進行中において、任意の時点で撮影評価ポイントと撮影ポイントを設定することができる。
図19は、本実施形態における撮影評価ポイントと撮影ポイントとの設定例を示す図である。
図19(A)は、ゲーム進行中において、撮影評価ポイントJ1が先に設定され、その後に、撮影ポイントP1が設定された例を示している。画像生成処理は、例えば1つの区間の走行が終了した後に、撮影評価ポイントJ1において記憶されたゲーム評価データと、撮影ポイントP1において記憶されたゲーム実行状態データとをもとにして実行される。
図19(B)は、ゲーム進行中において、撮影ポイントP2が先に設定され、その後に、撮影評価ポイントJ2が設定された例を示している。図19(B)に示すように、撮影ポイントP2が先に設定された場合であっても、撮影ポイントP2に到達した時点において写真画像の生成を実行せずに、写真画像の生成に必要とするゲーム実行状態データを保存しておく。また、撮影評価ポイントJ2は、撮影ポイントP2と一致しない時点において設定できるため、例えばゲーム進行中のゲーム評価に適した時点に任意に設定することができる。なお、画像生成処理は、例えば1つの区間の走行が終了した後の画像処理の負荷が軽いタイミングで実行するとしているが、撮影ポイントP2において記憶されたゲーム実行状態データと、撮影評価ポイントJ2において記憶されたゲーム評価データが保存された時点以降であれば、任意のタイミングで実行可能である。
図19(C)は、ゲーム進行中において、複数の撮影ポイントP3,P4が設定された例を示している。図19(C)では、撮影ポイントP3,P4の間に撮影評価ポイントJ3が設定されている。なお、撮影評価ポイントJ3は、撮影ポイントP3の前、あるいは撮影ポイントP4の後に設定することが可能である。この場合、撮影ポイントP3における写真画像は、撮影評価ポイントJ3において記憶されたゲーム評価データと撮影ポイントP3において記憶されたゲーム実行状態データをもとにして生成する。また、撮影ポイントP4における写真画像は、撮影評価ポイントJ3において記憶されたゲーム評価データと撮影ポイントP4において記憶されたゲーム実行状態データをもとにして生成する。このように、撮影評価ポイントと撮影ポイントP2とを一致させる必要がないため、1箇所の撮影評価ポイントにおいて保存されたゲーム評価データをもとに、複数の撮影ポイントを生成することができる。
このようにして、本実施形態におけるゲーム装置20では、ゲーム進行中の撮影ポイントにおいて写真画像を生成しなくてもよいため、例えば、ディスプレイ62,63R,63Lに対するゲーム画面の表示処理の負荷が大きい間を外して写真画像を生成することができる。従って、ディスプレイ62,63R,63Lの表示品質の低下(フレーム落ちなど)を招くおそれを軽減することができる。
なお、前述した説明では、ゲーム装置20において実行されるゲームのゲーム空間内で撮影した画像を生成する場合について説明しているが、例えば電子機器17において実行されるゲームのゲーム空間内で撮影した画像をゲームサーバ10において生成させることも可能である。
電子機器17は、前述したゲーム装置20と同様にして、ゲーム実行中にゲーム進行中に設定された撮影評価ポイントにおいてゲーム評価データを記憶し、撮影ポイントにおいてゲーム実行状態データを記憶し、それぞれのデータをカードID(識別データ)と共にゲームサーバ10に送信する。
ゲームサーバ10は、電子機器17からゲーム実行状態データとゲーム評価データとをカードIDと共に受信し、各データをもとに写真画像を生成して、電子機器17においてゲームを実行するプレーヤを識別する識別データ(カードID)と対応づけて記憶する。
こうして、ゲーム装置20以外の電子機器において実行されるゲームについても、ゲーム空間内で撮影された写真画像を生成し、プレーヤと対応づけてゲームサーバ10に記憶させることが可能となる。
次に、本実施形態におけるゲームサーバ10において実行されるフリーチケット処理について説明する。図20は、本実施形態におけるフリーチケット処理を示すフローチャートである。
前述したように、ゲーム装置20は、ゲーム終了後に、ポイントデータが余っている場合には、ゲームサーバ10に送信してプレーヤのカードIDと対応づけて記憶させる。ゲームサーバ10に記憶されたポイントデータは、ネットワークサービスを通じて、アイテムとの交換(購入)や、他のゲームの実行に使用することができる。
本実施形態では、さらに、余ったポイントデータをゲーム装置20のゲーム利用料として充当することができるフリーチケットに交換できる。
プレーヤは、例えば電子機器16を利用してゲームサーバ10が提供するネットワークサービスにアクセスして、事前に登録しているカードIDを通知して、フリーチケット処理(フリーチケット交換機能)の実行を指示する。ゲームサーバ10のプレーヤデータ処理部30aは、電子機器16から通知されたカードIDについて認証処理(プレーヤID処理)を実行し、カードIDに対応するポイントデータの有無を判定する(ステップD1)。プレーヤデータ処理部30aは、電子機器16から通知されたカードIDに対応するポイントデータが記録されている場合(ステップD2、Yes)、ポイントデータをフリーチケットに交換可能かを予め設定された交換条件に基づいて判別する。
交換条件には、予め決められたポイント単位毎(例えば400ポイント毎)に交換すること、同じ店舗のゲーム装置20において生成されたポイントデータ(同じ店舗IDが対応づけられたポイントデータ)を合算して交換対象とすること、交換済みのフリーチケットデータがないこと、交換回数が予め設定された回数内(例えば1日1回)であること、などがある。
なお、交換条件では、予め決められたポイント単位毎に交換することが設定されているとしているが、ゲーム装置20から受信されたポイントデータを予め設定された条件に応じて変動させ、変動後のポイントデータをフリーチケットデータに変換するようにしても良い。例えば、集客のために、予め決められた期間、あるいは時間帯において、ポイントデータを加増して(300ポイントを400ポイントに加増)、フリーチケットデータに変換することが可能である。
プレーヤデータ処理部30aは、交換条件に基づいてポイントデータをフリーチケットデータに交換可能と判別された場合(ステップD4、Yes)、ポイントデータをフリーチケットデータに交換する(ステップD5)。すなわち、プレーヤのカードIDと対応づけてフリーチケットデータを記憶させ、元のポイントデータを交換対象としたポイント分を差し引いて更新する(ステップD6)。
このようにして、ゲーム装置20においてプレーヤが支払い済みのプレー料金により得られたポイントデータがゲーム終了後に余った場合であっても、ゲームサーバ10が提供するフリーチケット交換機能を利用して、ポイントデータをフリーチケットデータに交換することができる。フリーチケットデータは、前述したように、次にゲーム装置20においてゲームを実行する場合にゲーム利用料として充当することができる。従って、プレーヤは、ポイントデータが余ることを意識してゲーム料金の支払いをする必要が無く、ゲーム装置20において、どれだけゲームをするか事前に決めてゲーム利用料を支払う必要がない。また、プレーヤは、支払い済みのゲーム利用分のゲームを必ずしも実行する必要が無く、任意のタイミングでゲーム装置20の利用を終了することができる。また、店舗の運営側では、予め設定した単位毎(例えば、500円分、1000円分)のゲーム利用料の支払いをプレーヤに要求し易くなり、ゲーム装置の利用を促すことができる。
また、ポイントデータをフリーチケットに変換する処理をゲームサーバ10において実施しているが、ゲーム装置20において実施しても良い。例えば、ゲーム装置20は、カードIDに対応するポイントデータをゲームサーバ10から受信した際に、プレーヤの操作によりフリーチケットへの交換が指示された場合に、フリーチケットへの交換条件を満たすかを判定する。ここで、交換条件を満たす場合に、ゲーム装置20は、ポイントデータをフリーチケットデータに変換して、ゲームサーバ10に記憶させる、あるいはフリーチケットを使用してゲームを実施することができる。
次に、本実施形態におけるゲームサーバ10において実行される画像管理処理について説明する。図21は、本実施形態における画像管理処理を示すフローチャートである。
ゲームサーバ10の写真画像データ処理部30cは、プレーヤデータ31bに含まれる各プレーヤの写真画像データ41bについて、例えば定期的にメンテナンスのための処理を実行する。
写真画像データ処理部30cは、写真画像データ41bにゲーム装置20から受信した一時登録された写真画像があるか判別する。一時登録された写真画像がある場合(ステップE1、Yes)、写真画像データ処理部30cは、写真画像データが、それぞれに設定されたゲーム装置20からの受信時を基準とした保管期間内にあるかを判別する。ここで、保管期間内ではないと判別される場合(ステップE2、No)、写真画像データ処理部30cは、該当する写真画像データを削除する(ステップE3)。
また、写真画像データ処理部30cは、写真画像データ41bとして一時登録された写真画像の枚数が予め設定された制限枚数内であるか判別する。ここで、写真画像の枚数が制限枚数内でないと判別される場合(ステップE4、No)、写真画像データ処理部30cは、例えば制限枚数内となるまで、一時登録された時刻が古い順から該当する写真画像データを削除する(ステップE5)。
こうして、写真画像データ処理部30cは、定期的に画像管理処理を実行することで、ゲームサーバ10において一時登録される写真画像の枚数が膨大とならないようにメンテナンスすることができる。
さらに、写真画像データ処理部30cは、ネットワークサービスを通じて、例えば電子機器16からプレーヤの操作により写真画像の保存指定がされた場合(ステップE6、Yes)、この保存指定された写真画像をプレーヤのカードIDと対応づけて、プレーヤ管理データ41aの保存写真画像データとして記憶させる(ステップE7)。保存写真画像データは、基本的に保管期間が設定されず、プレーヤから削除が指示される、あるいは制限枚数を越えるまで記憶されるものとする。プレーヤ管理データ41aとして管理される保存写真画像データは、例えばネットワークサービスを通じて受信される指示に応じて、ネットワーク12を通じて、SNS(Social Networking Service)などにアップロードすることができる。
なお、前述した説明では、1台のゲームサーバ10において、複数のゲーム装置20の管理ネットワークサービスの提供を実施するものとして説明しているが、複数台のサーバが協働して、前述したゲームサーバ10の機能を実現することも可能である。
また、前述した実施形態では、ゲーム装置20において運転シミュレーションゲームを実行する例について説明しているが、他のゲームを対象とすることも可能である。例えば、プレーヤの操作によって動作するキャラクタが対戦相手とするキャラクタとゲーム空間内で格闘をするバトルゲーム、自動車などオブジェクトがゲーム空間内でレースをするレースゲームなどがある。何れのゲームにおいても、前述した運転シミュレーションゲームと同様にして、ゲーム空間内において仮想カメラを設定し、ゲーム進行中の撮影ポイントにおいて仮想カメラによって撮影された写真画像をゲーム状況に応じて生成する。すなわち、前述と同様にして、ゲーム進行中に設定された評価ポイント(バトルでの必殺技を出す時、レースコースの予め決められた位置など)においてゲーム評価データを記憶し、同様にして、撮影ポイントにおいてゲーム実行状態データとを記憶して、これらを含む状況データをもとに写真画像を生成する。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、実施形態に記載した制御手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記憶媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータ(例えば、パーソナルコンピュータ、家庭用ゲーム機、スマートフォン、携帯電話機、テレビ、カーナビゲーションシステム等)は、記憶媒体に記憶されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記憶媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。