【実施例】
【0015】
以下、図面を参照し、本発明のゲーム装置、及びゲーム制御プログラムの実施例について説明する。
【0016】
[構成]
図1は、本発明の一実施例に係るゲーム装置1の全体構成例である。図示するように、ゲーム装置1は、それぞれがプレイヤーによって操作される複数の個別機10#0、10#1、…が接続された構成となっている。複数の個別機10#0、10#1、…は、例えば同一のアミューズメント施設内に設置される一群のアーケードゲーム(Arcade game)である。また、複数の個別機10#0、10#1、…は、異なる施設内にそれぞれが設置されるものであっても構わない。
【0017】
以下、それぞれの個別機を区別しないときは、単に個別機10と表記して説明する。
【0018】
図2は、個別機10の外観構成例である。個別機10は、例えば専用筐体に各パーツが取り付けられたものであり、各プレイヤーが操作する車両のレーシング画像が表示される表示装置12と、プレイヤーによる操作入力を受け付けるステアリングホイール14、アクセルペダル16、ブレーキペダル18、及びシフトレバー20と、ドライビングシート22とを備える。ステアリングホイール14、アクセルペダル16、ブレーキペダル18、及びシフトレバー20には、それぞれの操作量を検出するためのセンサが取り付けられており、これらのセンサは、操作量を示す信号を、後述するペリフェラルインターフェース45を介してCPU40に送信する。
【0019】
また、表示装置12の右下方には、表示装置12に表示される各種の選択肢のいずれかにカーソル等を合わせるための方向キー24と、方向キー24により選択された選択肢を決定したり、ゲームスタートを指示したりするためのスタートボタン26と、ビューチェンジボタン28とが取り付けられる。ビューチェンジボタン28をプレイヤーが操作することにより、レーシング画像の表示モードを、車両を後方から仮想的なカメラで撮像した画像を表示するモードと、運転者の視点から見た風景を表示するモードとの間で切り替えることができる。
【0020】
また、表示装置12の左下方に取り付けられるシフトレバー20の付近には、プレイヤーの獲得ポイントを記憶する疑似免許証(ICカード)を挿入する挿入口30が設けられている。挿入口30の内部には、疑似免許証に記憶されたデータを読み取ったり、データを書き込んだりするICカードリーダが取り付けられており、獲得ポイント(後述)の読み込みや書き換え等を行うことができる。
【0021】
図3は、個別機10の内部構成例である。個別機10は、制御主体となるCPU(Central Processing Unit)40と、ポリゴンを用いた3次元グラフィックスの描画処理を行うジオメトリプロセッサ41と、実行中のプログラムおよびデータを保持するRAM(Random Access Memory)等のシステムメモリ42と、プログラムおよび各種データを保持するROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、CD(Compact Disk)ドライブ、DVD(Digital Versatile Disk)ドライブ等の記憶装置43と、起動プログラムを保持するブートROM44と、ステアリングホイール14、アクセルペダル16、ブレーキペダル18、シフトレバー20、方向キー24、スタートボタン26、ビューチェンジボタン28とのインターフェースとして機能するペリフェラルインターフェース45とを備え、これらはシステムバスの調停を行うバスアービタ46に接続されている。
【0022】
また、バスアービタ46には、グラフィックメモリ48を用いて画面描画を行うレンダリングプロセッサ47を介して表示装置12が接続され、オーディオメモリ50を用いて音声出力を行うオーディオプロセッサ49を介して音声出力用のスピーカ51が接続されている。また、バスアービタ46には、他の個別機10等との通信を行うための通信インターフェース52が接続されている。
【0023】
図4は、個別機10の機能構成例である。個別機10は、CPU40が記憶装置43に格納されたプログラムをシステムメモリ42に展開(ロード)して実行することにより機能する機能ブロックとして、基本加減速計算部60と、評価計算部62と、ブースト制御部64と、車両の移動量決定部66と、メイン制御部68と、ポイント数管理部76とを備える。
【0024】
なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。
【0025】
プログラムは、予め記憶装置43に記憶されたものが使用されてもよいし、通信インターフェース52を介して他のコンピュータからダウンロードされてもよい。また、プログラムを記憶したCD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の記憶媒体が図示しないドライブ装置に装着されることによって、ドライブ装置によりプログラムが読み取られ、記憶装置43にインストールされてもよい。
【0026】
[ゲーム進行中の処理]
(基本加減速計算)
基本加減速計算部60は、ステアリングホイール14、アクセルペダル16、ブレーキペダル18、及びシフトレバー20に取り付けられたセンサにより検出される、これらの操作デバイスの操作量に基づいて、基本的な加減速度、及び旋回角度(或いは旋回角速度)を計算して車両の移動量決定部66に出力する。
【0027】
基本加減速計算部60が行う計算の具体的手法については、例えば、実際の車両において生じる加速度や旋回角度の物理的計算手法に準じたものを用いることができる。
【0028】
一例を挙げると、あるシフト位置SPにおける加速度α(SP)は、式(1)に基づき計算することができる。式中、ACはアクセルペダル16の操作量(0%〜100%)、Vは計算値が再帰的に用いられる車速、Mは仮想的な車重である。f(AC,V,M)は、アクセルペダルの操作量ACが大きくなるのに応じて大きくなり、車速Vが大きくなるのに応じて小さくなる傾向を有する関数(或いはマップ値)を車重Mで除算した値を示している。また、Res(V,M)は、車重や速度に応じて発生する走行抵抗(空気抵抗、勾配抵抗、転がり抵抗)を示している。なお、プレイヤーがブレーキペダル18を操作している場合は、f(AC,V,M)に代えて、ブレーキペダルの操作量BPが大きくなるのに応じて絶対値が大きくなり、車速Vが大きくなるのに応じて絶対値が大きくなる傾向を有する負の値の関数(或いはマップ値)を、減速度として採用すればよい。
【0029】
α=f(AC,V,M)−Res(V,M) …(1)
【0030】
また、基本加減速計算部60は、記憶装置43等に格納されたコースデータを参照し、車両が仮想的な壁に衝突した際の減速度を反映させて加速度αを修正する。
【0031】
また、旋回角度(旋回角速度)については、例えば、ステアリングホイール14の操作量から算出されるタイヤの向きと車両の進行方向の角度(スリップアングル)に基づきコーナリングフォースを計算し、仮想的なホイールベース等を加味して計算することができる。
【0032】
(評価計算)
評価計算部62は、プレイヤーの運転操作を種々の評価項目で評価し、計算した評価値を車両の移動量決定部66に送信する。評価計算部62は、例えば、車両が仮想的な壁に衝突した回数、及びオーバーステアが発生した回数に応じて評価値を下げ、有効なドリフトがなされた回数に応じて評価値を上げる等の処理を行い、プレイヤーの運転操作を評価する。また、評価計算部62は、これらの他、通過ラップ等を考慮して評価を行ってもよい。
【0033】
(ブースト制御)
ブースト制御部64は、特定の場面において、車両の速度性能を向上させる制御を行う。車両の速度性能を向上させるための処理には、種々のものが想定されるが、例えば、ブースト制御部64は、車両が先頭を走行していない場面で、当該車両の加速性能等を先行車両よりも高くして、追い付きを容易にする処理を行う。また、ブースト制御部64は、評価計算部62による評価値の計算に関与し、車両の評価値が上がりやすくする処理等を行ってもよい。
【0034】
また、ブースト制御部64は、連敗中のプレイヤーがコンティニューを行った場合には、ブースト制御の程度(ブースト制御レベル)を大きくする処理を行う。これについては後述する。
【0035】
(車両の移動量決定)
車両の移動量決定部66は、基本加減速計算部60が計算した基本的な加減速度、及び旋回角度(或いは旋回角速度)に、評価計算部62が計算した評価値、及びブースト制御部64によりブースト制御が行われているか否かを反映させて車両の移動量を計算し、仮想空間内に設定されたコース内で車両の位置、及び進行方向を決定することにより、車両をコース内で移動させる。
【0036】
なお、車両の移動量決定部66には、通信インターフェース52を介して他の個別機10から位置情報、すなわちレース相手の他車両の位置がリアルタイムに入力され、他車両との接触等による加減速度等を車両の移動量に反映させる。このような相互的な接触の影響は、各個別機10において、作用反作用の法則に基づき計算される。
【0037】
また、車両の移動量決定部66は、レース終盤になると、ブースト制御部64にブースト制御を停止させ、評価計算部62により計算された評価値が高い程、車両の走行性能を向上させる処理を行う。評価計算部62により計算された評価値は、レース終盤に限らず、レース中の所望の期間において速度等に反映させてもよい。
【0038】
(メイン制御)
メイン制御部68は、開始・終了制御部70と、表示制御部72と、勝敗判定部74とを備える。開始・終了制御部70については後述する。
【0039】
表示制御部72は、上記のように決定された車両の位置、及び進行方向に基づき、車両後方に存在する仮想的なカメラから見た風景、又は運転者から見た風景のいずれかを示す表示画像を生成するためのデータを、レンダリングプロセッサ47に送信する。
【0040】
図5は、表示装置12により表示される表示画像の一例である。図示するように、レース中において表示装置12には、車速V、エンジン回転数N、自プレイヤー情報、対戦相手情報等が表示される。
【0041】
勝敗判定部74は、車両がゴールに到達した時刻を、他の個別機10が制御する車両の到達時刻と比較して、自個別機10が制御する車両が(自個別機10側のプレイヤーが)勝ったか負けたかを判定する。勝敗判定部74による勝敗判定結果は、例えばシステムメモリ42に格納される。
【0042】
[獲得ポイント数の計算]
ポイント数管理部76は、勝敗判定部74による勝敗判定結果に基づき、勝者側のプレイヤーに例えば連戦に応じて漸増するポイントを、敗者側のプレイヤーに例えば1ポイントのみを付与する。この獲得ポイントは、プレイヤーが保持するICカードに書き込まれると共に、記憶装置43にも保存される。勝者側に与えられる獲得ポイントは、同一組のプレイヤーが連戦するのに応じて大きくなるように設定されている。
図6は、獲得ポイントの変化の一例である。また、
図7は、ゲーム開始前に獲得ポイント数(図中、「×」状のマークの数で示す)を表示した表示画面を示す図である。これによって、プレイヤーに獲得ポイント数の争いを意識させることができる。
【0043】
「連戦」とは、後述するように「コンティニュー?」という表示画像による問いかけに対してコインが投入されると共にYesが回答された場合をいう。獲得ポイントが所定数以上獲得されると、ゲーム画面上に特別なアイコンが表示される等の特典が付与される。
【0044】
このような処理によって、後述するブースト制御の調整と共に、プレイヤーに連続してプレイする動機(モチベーション)を与えることができる。
【0045】
[ゲーム終了〜開始までの処理]
以下、本実施例のゲーム装置1におけるゲーム終了〜開始までの処理について説明する。
図8は、開始・終了制御部70による処理の流れを示すフローチャートの一例である。本フローチャートは、対戦モードのレースが終了したタイミングで開始される。なお、後述するように、本実施例のゲーム装置1は、対戦モード以外のゲームモード(2VS2モード、タッグモード等)を有している。
【0046】
まず、開始・終了制御部70は、システムメモリ42内のデータを参照し、自個別機10側のプレイヤー(以下、自プレイヤーと称する)が勝ったか負けたかを判定する(S100)。
【0047】
☆自プレイヤーが勝った場合、開始・終了制御部70は、自プレイヤーの連勝によるコンティニュー回数が、コンティニュー可能回数以内であるか否かを判定する(S102)。
【0048】
本実施例のゲーム装置1は、連勝中のプレイヤーに対して所定回数まで無料でコンティニューを行うことを許容しているため、自プレイヤーの連勝によるコンティニュー回数が、コンティニュー可能回数以内である場合には、後述するS108の判定をスキップさせる。
【0049】
開始・終了制御部70は、自プレイヤーの連勝によるコンティニュー回数が、コンティニュー可能回数以内である場合、相手プレイヤーが開始(レーススタート)状態となるまで待機し(S104)、相手プレイヤーが開始状態となると、レースをスタートさせる(S106)。
【0050】
S102において、自プレイヤーの連勝によるコンティニュー回数がコンティニュー可能回数を超えると判定された場合、開始・終了制御部70は、所定時間以内にコインが投入され(又はICカードのプール分が消費され)、且つスタートボタンが押下されると、S104に進み、相手プレイヤーが開始状態となるのを待ってレースをスタートさせる。開始・終了制御部70は、所定時間以内にコインが投入され(又はICカードのプール分が消費され)、且つスタートボタンが押下されなかった場合には、ゲームオーバー処理を行う(S110)。開始・終了制御部70は、ゲームオーバー処理において、モード、連敗数、勝敗結果履歴等をリセットする処理を行う。
【0051】
★一方、自プレイヤーが負けた場合、開始・終了制御部70は、システムメモリ42に格納された勝敗判定結果履歴を参照して自プレイヤーの連敗数を取得し(S120)、取得した連敗数に応じてブースト制御レベルを決定する(S122)。
【0052】
図9は、開始・終了制御部70が使用する連敗数とブースト制御レベルの対応表Aである。図中、ブースト制御レベル0は、ブースト制御を強化しない、すなわち通常のブースト制御を行うことを意味する。ブースト制御レベルは、値が大きくなるのに応じて徐々にブースト制御の程度が大きくなることを示している。
【0053】
開始・終了制御部70は、連敗数をキーとして対応表を検索することによりブースト制御レベルを取得し、取得したブースト制御レベルをブースト制御部64に送信する。
【0054】
(ブースト制御の強化)
ブースト制御部64は、ブースト制御レベルとブースト制御の強化程度の対応表Bを保持しており、対応表Bに応じてブースト制御の強化程度を決定する。
【0055】
図10は、ブースト制御レベルとブースト制御の強化程度の対応表Bの一例である。図中、ブーストの強さとは、前述したように、車両が先頭を走行していない場面で、当該車両の加速性能等を先行車両よりも高くして追い付きを容易にする処理を行う際に、追いつきを容易にする程度、或いは追い越しを行う過程における、より遅い段階までブーストを継続する程度、すなわち、「加算する加速度の大きさ」や、「速度の持続性を高める度合い」を意味する。また、ブーストの強さは、「ブースト制御を発生させる回数」を意味するものであってもよい。
【0056】
また、
図10中、スコア優遇程度とは、ブースト制御部64が、評価計算部62による評価値の計算に関与し、車両の評価値が上がりやすくする処理を行う程度を示す。評価計算部62による評価値は、レース中における各場面で速度性能に反映され得るため、スコア優遇程度を高めることによって、プレイヤーが操作する車両の速度性能が高められることになる。
【0057】
このように、ブースト制御部64は、連敗数が大きくなる程、ブーストの強さやスコア優遇程度を大きくする。この結果、本実施例のゲーム装置1は、敗者側のプレイヤーがいつまで経っても勝てないといった事態が生じるのを抑制し、優れたプレイヤーに挑戦する動機を与えることができる。
【0058】
(ブースト表示)
開始・終了制御部70は、敗者側のプレイヤーがコンティニューを行うか否かを決定するのに先立って、ブースト制御レベルに応じたブースト表示を行う(S124)。
図11は、ブースト制御レベルとブースト表示の対応表Cを示す図である。係る表示を行うことによって、本実施例のゲーム装置1は、敗者側のプレイヤーに、次は更にブーストが強化されるから勝てるだろうという、継続してプレイを行う動機を与えることができる。
【0059】
また、
図11に示すように、ブースト制御レベルとブースト表示は、完全に一致させていない。これは、ブースト表示が無制限に大きい値に増加すると、却って優れたプレイヤーに挑戦する動機を失わせるという懸念からである。ブースト表示が5段階目で頭打ち(FULL BOOST)になるのに対し、ブースト制御レベルは7段階目まで存在する。この結果、力量の劣ったプレイヤーがプレイを継続することにより勝つ可能性を高め、プレイヤー間の盛り上がりを支援することができる。
【0060】
なお、ブースト表示が行われている間、勝者側のプレイヤーの連勝数が合わせて表示される。この結果、敗者側のプレイヤーに対し、優れたプレイヤーに挑戦する動機を与えることができる。
【0061】
次に、開始・終了制御部70は、(1)プレイヤーが、所定時間以内にコインを投入し、且つ「コンティニュー?」の問いかけに対し「Yes」を入力したか、(2)プレイヤーが「コンティニュー?」の問いかけに対し「No」を入力し、又は時間切れとなり、或いは相手プレイヤーがゲームを終了したか、(3)プレイヤーがモード選択を行ったかを判定する(S126)。
【0062】
(1)プレイヤーが、所定時間以内にコインを投入し、且つ「コンティニュー?」の問いかけに対し「Yes」を入力した場合、開始・終了制御部70は、相手プレイヤーが開始(レーススタート)状態となるまで待機し(S128)、相手プレイヤーが開始状態となると、レースをスタートさせる(S130)。ここで、本実施例のゲーム装置1は、連敗中のプレイヤーとは異なるプレイヤーがコンティニューを行ったとしても、操作入力を受け付ける受付手段が同一であれば、同じプレイヤーが連続してプレイを行ったとみなしてブースト制御を行う。この結果、連敗数に応じたブースト制御の強化は次のプレイヤーに引き継がれ、連勝中のプレイヤーに挑戦するというプレイヤー間の盛り上がりは維持されることになる。
【0063】
(2)プレイヤーが、「コンティニュー?」の問いかけに対し「No」を入力し、又は時間切れとなり、或いは相手プレイヤーがゲームを終了した場合、開始・終了制御部70は、ゲームオーバー処理を行う(S132)。開始・終了制御部70は、ゲームオーバー処理において、モード、連敗数、勝敗結果履歴等をリセットする処理を行う。
【0064】
(3)プレイヤーが、モード選択を行った場合、開始・終了制御部70は、連敗数をリセットし(S134)、モード選択処理を行う(S136)。本実施例のゲーム装置1は、対戦モード以外のゲームモード(2VS2モード、タッグモード等)を有しており、モード選択処理は、対戦モードにおける処理フローを示す
図8のフローチャートよりも上位の処理となる。このため、本明細書ではモード選択処理に関する詳細な説明を省略する。
【0065】
[まとめ]
以上説明した本実施例のゲーム装置1によれば、連敗中のプレイヤーが連続してプレイする場合に、そのプレイヤーが操作する車両について、特定の場面における速度性能の向上程度を、前回プレイ時の向上程度よりも増加させるため、更なる連敗の発生を抑制することができる。また、ブーストの強さやスコア優遇程度を大きくすることにより、特定の場面における速度性能を向上させるため、連敗中のプレイヤーに対して、より効果的なアドバンテージを与えることができる。
【0066】
この結果、プレイヤーの力量差を埋めるための効果的な制御を行い、優れたプレイヤーに挑戦する動機(モチベーション)を与えることができる。
【0067】
また、本実施例のゲーム装置1によれば、連敗中のプレイヤーが連続してプレイする場合に、連敗数が増加するのに応じて、ブーストの強さやスコア優遇程度を徐々に大きくするため、敗者側のプレイヤーがいつまで経っても勝てないといった事態が生じるのを抑制し、優れたプレイヤーに挑戦する動機を与えることができる。
【0068】
また、本実施例のゲーム装置1によれば、敗者側のプレイヤーがコンティニューを行うか否かを決定するのに先立って、ブースト制御レベルに応じたブースト表示を行うため、敗者側のプレイヤーに、次は更にブーストが強化されるから勝てるだろうという、継続してプレイを行う動機を与えることができる。
【0069】
また、本実施例のゲーム装置1によれば、ブースト表示が頭打ちとなった後も、内部パラメータであるブースト制御レベルを増加させるため、力量の劣ったプレイヤーがプレイを継続することにより勝つ可能性を高め、プレイヤー間の盛り上がりを支援することができる。
【0070】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0071】
例えば、
図9に示すように、ブースト制御レベルを1以上に設定するのは、敗者側のプレイヤーが2連敗以上した場合であるものとしたが、敗者側のプレイヤーが1敗した場合からブースト制御レベルを1以上に設定するものとしてもよい。すなわち、「連敗中のプレイヤーが連続してプレイする場合」を、「敗者側の(勝者でない)プレイヤーが連続してプレイする場合」まで拡張してもよい。
【0072】
また、
図8のS134、S136に示すように、モード選択処理を行う際には連敗数がリセットされるものとしたが、係る設定では、モード選択処理に移行してから対戦モードに帰還した場合に連敗数が引き継がれないことになる。従って、これに代えて、モード選択処理に移行してから対戦モードに帰還した場合には、連敗数が保存されるものとしてもよい。
【0073】
また、
図8のフローチャートでは、双方共に規定のラップタイムを満たさなかった場合(両負けの場合)について考慮していないが、このような場合には、連敗数をクリアするものとしてよい。
【0074】
また、本発明は、車両のレースゲームに限らず、競馬、競輪、競艇、オートレースその他に擬したゲーム装置、すなわち仮想空間内でレースを行わせる、あらゆるゲーム装置に適用することができる。
【0075】
また、「特定の場面においてオブジェクトの速度性能を向上させる制御」の一例として、実施例のブースト制御を挙げたが、これに限定されるものではない。例えば、所定のボタンをプレイヤーが押下すると、一定期間、加速度性能や速度の上限を向上させる制御を行い、連敗中の(或いは勝者側でない)プレイヤーに対して、係る制御の強さや回数を大きくしてもよい。
【0076】
また、上記実施例では、各個別機10が、それぞれ自プレイヤーの操作する車両の位置を計算する分散制御型のゲーム装置として説明したが、複数の車両の位置を一括して計算するマスター制御装置が存在してもよい。この場合、家庭用ゲーム機のように、ステアリングホイールやアクセルペダル等の操作部と表示装置のみがプレイヤー毎に設けられた構成であってもよい。