説明

プログラム、情報記憶媒体及びゲーム装置

【課題】 移動体のサイズに比べて上面の幅が狭く、全体としてライン状を成した移動面上において、移動体の移動を適度にサポートして、当該移動面上での移動を比較的長期間可能にすること。
【解決手段】 プレーヤキャラクタ2が、レール床ヒット判定モデル26の縁部を移動している場合、プレーヤキャラクタ2の進行方向をレール8の幅中央に向けて補正する補正力Fを作用させて、プレーヤキャラクタ2を移動制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに仮想的な重力が設定された三次元仮想空間中を移動する移動体の画像を生成して所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【0002】
近年のビデオゲームの多くは、三次元仮想空間中に背景のオブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタやNPC(ノンプレイアブルキャラクタ)のオブジェクトを配置する。そして、それらキャラクタのオブジェクトをプレーヤによる操作入力や所定の思考ルーチンに基づくAI制御によって移動・動作制御する。その様子を仮想カメラで撮影した画像をレンダリングしたゲーム空間画像が、ゲーム画面の元となる。
【0003】
キャラクタの移動制御については、飛行タイプのキャラクタを除けば、地面や甲板、屋根などの移動面に沿って移動するように制御される。このとき、キャラクタと移動面との間でヒット判定が行われ、移動面とヒットしたと判定されるとそのキャラクタは移動面より先には移動できなくなる。これによって、キャラクタが地面に潜り込むように配置されないようにしている。こうしたキャラクタと移動面とのヒット判定は、「床ヒット判定」と呼ばれる。
【0004】
また、キャラクタの移動制御では、キャラクタが建造物の壁面や崖などの立面に衝突してそれ以上先に進めないように制御されるが、これは「壁ヒット判定」と呼ばれる。
壁ヒット判定を容易にするために、移動面を、高さ方向をY軸とするゲーム空間座標系のZX平面に見立て、Z,Xの座標値で壁ヒット判定される境界を定義した「ヒットチェックマップ」とよばれるものを利用する手法が知られている。ヒットチェックマップを用いた壁ヒット判定では、プレーヤキャラクタ等のZ,X座標値とヒットチェックマップに定義されている境界との衝突判定が行われる。見方を変えると、Z,Xの座標値で移動面上の位置が定義されたY軸方向に無限の高さを有するヒット判定用の板状のモデルが配置されているとも言える。
【0005】
この場合、Y軸方向成分は衝突判定外となるので、プレーヤキャラクタがジャンプしたり、魔法やアイテムの作用で地面から浮かんでいる状態であっても、壁ヒット判定を行い所定の境界線より先には移動できないようにできる。
【0006】
公知の技術では、このヒットチェックマップをテクスチャとして貼り付けたオブジェクトを配置して、ゲーム空間内におけるプレーヤキャラクタの相対位置を把握するための所謂「レーダー画面」として見せる技術も知られているところである(例えば、特許文献1を参照)。
【特許文献1】特許第3215306号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
さてここで、重力成分を含む所定の擬似物理法則に従い、三次元仮想空間中に配置された移動面に沿って移動するプレーヤキャラクタの移動や移動面からの落下を制御することを前提として、ブロック塀のように標準移動面(地面)よりも高い位置にあってキャラクタのサイズに比べて幅の狭いライン状で長尺な移動面を設定し、プレーヤキャラクタがその上をバランスをとりながら移動するシチュエーションの有るゲームを考える。例えば、プレーヤキャラクタをスノーボーダとしたスノーボードゲームで、レールやファンボックスの上面を移動面としてトリックプレイ可能にするゲームである。このようなゲームの場合、移動面の幅が狭いために、移動面の上でプレーヤキャラクタを上手く移動させることが難しい。
【0008】
本発明は、上述した事情を鑑みてなされたものであり、その目的とするところは、移動体のサイズに比べて上面の幅が狭く、全体としてライン状を成した移動面上において、移動体の移動を適度にサポートして、当該移動面上での移動を比較的長期間可能にすることである。
【課題を解決するための手段】
【0009】
上記の課題を解決する第1の発明は、コンピュータに、仮想的な重力が設定された三次元仮想空間中を移動する移動体(例えば、図2のプレーヤキャラクタ2)の画像を生成して所定のゲームを実行させるためのプログラムであって、
ライン状の移動面(例えば、図2のレール8の上面)を三次元仮想空間に設定する移動面設定手段(例えば、図6の処理部200、ゲーム演算部210、図8のステップS4)、
重力成分を含む所定の擬似物理法則及びプレーヤの方向指示操作に従って前記移動体の前記移動面上の移動制御を行う移動制御手段(例えば、図6の処理部200、ゲーム演算部210、PC動作制御部212、図8のステップS12〜S16)、
前記移動体の前記移動面の幅方向における位置を中央寄りに向かわせるための補正力を算出する補正力算出手段(例えば、図6の処理部200、ゲーム演算部210、操作入力補正部214、図10のステップS90〜S96)、
として前記コンピュータを機能させるとともに、前記移動制御手段が、前記補正力を用いて前記移動制御を補正するように前記コンピュータを機能させるためのプログラムである。
【0010】
また、別形態として、仮想的な重力が設定された三次元仮想空間中を移動する移動体の画像を生成して所定のゲームを実行するゲーム装置であって、
ライン状の移動面を三次元仮想空間に設定する移動面設定手段(例えば、図1の制御ユニット1210、図6の処理部200、ゲーム演算部210、図8のステップS4)と、
重力成分を含む所定の擬似物理法則及びプレーヤの方向指示操作に従って前記移動体の前記移動面の移動制御を行う移動制御手段(例えば、図1の制御ユニット1210、図6の処理部200、ゲーム演算部210、PC動作制御部212、図8のステップS12〜S16)と、
前記移動体の前記移動面の幅方向における位置を中央寄りに向かわせるための補正力を算出する補正力算出手段(例えば、図1の制御ユニット1210、図6の処理部200、ゲーム演算部210、操作入力補正部214、図10のステップS90〜S96)と、
を備え、
前記移動制御手段が、前記補正力を用いて前記移動制御を補正するゲーム装置(例えば、図1の家庭用ゲーム装置1200)として、実現しても良い。
【0011】
第1の発明等によれば、ライン状の移動面を三次元仮想空間に設定し、重力成分を含む仮想の物理法則及びプレーヤの方向指示操作に従って移動体を移動面上を移動させることができる。一方、移動体の移動面の幅方向における位置を中央寄りに向かわせるための補正力を算出し、移動体の移動を制御することができる。よって、移動体が移動面の端から落ちるのを自動的に抑制し、移動体が移動面をより簡単に移動できるようにサポートすることができる。
【0012】
第2の発明は、第1の発明のプログラムであって、前記補正力算出手段が、前記移動体の前記移動面の幅方向における位置が中央位置から離れるほど前記補正力を大きく算出するように前記コンピュータを機能させるためのプログラムである。
【0013】
第2の発明によれば、第1の発明のプログラムと同様の効果を奏するとともに、移動体が移動面の端に寄るほど大きな補正力を作用させることができるので、中央位置からあまり離れていないときはプレーヤの操作のままに近い移動制御とし、端から落ちそうになると強力にサポートをすることで、より目立たずそれでいて効果的なサポートを実現することができる。
【0014】
第3の発明は、第1又は第2の発明のプログラムであって、前記移動面に、前記移動面より幅広の非表示の床面(例えば、図3のレール床ヒット判定モデル26)を設定する非表示床面設定手段(例えば、図6の処理部200、ゲーム演算部210、図8のステップS4)、
前記床面を非表示として前記三次元仮想空間の画像を生成する画像生成手段(例えば、図6の処理部200、画像生成部260、図8のステップS32)、として前記コンピュータを機能させ、
前記移動制御手段が、前記移動体と前記床面とのヒット判定を行って前記移動体の移動制御を行うように前記コンピュータを機能させるためのプログラムである。
【0015】
第3の発明によれば、第1又は第2の発明と同様の効果を奏するとともに、画面上に見えている移動面よりも幅広で非表示の床面を設定し、この床面とのヒット判定に基づいて移動体の移動制御をすることができる。よって、見えない床面で移動面の実質的な幅を大きくすることで、見かけより移動体がより移動面を移動しやすいようにできる。
【0016】
第4の発明は、第3の発明のプログラムであって、前記床面の縁部に前記移動体が位置していることを検出する縁部移動中検出手段(例えば、図6の処理部200、ゲーム演算部210、図9のステップS68)、
前記縁部移動中検出手段による検出がなされた場合に、前記移動体に、落下の恐れを報知するための挙動として予め定められた落下前兆挙動を行わせる落下前兆挙動実行制御手段(例えば、図6の処理部200、ゲーム演算部210、図9のステップS76)、として前記コンピュータを機能させるためのプログラムである。
【0017】
ここで言う「落下前兆挙動」とは、移動面の端から落ちそうになっていることを示す移動体の通常移動状態とは異なる特徴的な挙動である。例えば、移動体が人間タイプのキャラクタであれば、平均台から落ちそうになった時に手を左右に広げたり、腰の位置を移動させてバランスをとろうとするアクションなどがこれに該当する。或いは、エアカーなどのSFマシンであれば、機体姿勢がふらついたり、落ちないように姿勢制御用の噴射装置を作動させたり、といった挙動がこれに該当する。
【0018】
第4の発明によれば、第3の発明と同様の効果を奏するとともに、プレーヤに移動面から落ちそうであることを明確に通知するとともに、落ちそうな感覚を表現してレール状で細長い移動面を移動するハラハラ感をより豊かに演出することができる。
【0019】
第5の発明は、第3又は第4の発明のプログラムであって、前記床面の縁部に、前記移動面の幅方向への移動力を低減させる低減領域(例えば、図11〜図14の左減衰領域、右減衰領域)を設定する低減領域設定手段(例えば、図6の処理部200、ゲーム演算部210、図11〜図14の減衰比設定データ526−1〜526−4)として前記コンピュータを機能させ、
前記移動制御手段が、前記移動体が前記低減領域に位置している場合には、前記移動体の前記幅方向への移動力を低減させて前記移動体の移動制御を行うように前記コンピュータを機能させるプログラムである。
【0020】
第5の発明によれば、第3又は第4の発明と同様の効果を奏するとともに、移動体が移動面の縁に移動した場合に、移動面の幅方向への速度成分を低減して、外へ出難く(移動面から落下させ難く)することができる。よって、より効果的に移動体をサポートできる。
【0021】
第6の発明は、第5の発明のプログラムであって、前記低減領域設定手段が、前記幅方向の大きさを可変して前記低減領域を設定するように前記コンピュータを機能させるためプログラムである。
【0022】
第6の発明によれば、第5の発明と同様の効果を奏するとともに、低減領域の設定を可変することができるので、サポートの方法に多様性を持たせることができる。
【0023】
第7の発明は、第5又は第6の発明のプログラムであって、前記移動制御手段が、前記移動体が前記低減領域に位置している場合に、前記移動体の前記幅方向への移動力の低減量又は低減率を、前記床面の端面に近づくほど大きくさせて前記移動体を移動制御するように前記コンピュータを機能させるためのプログラムである。
【0024】
第7の発明によれば、第5又は第6の発明と同様の効果を奏するとともに、移動体が移動面の横端へ近づくほど幅方向への移動力を低減できるので、ぎりぎりで移動体が移動面から落ちないように踏ん張るといった制御が可能となる。
【0025】
第8の発明は、第3〜第7の何れかの発明のプログラムであって、前記非表示床面設定手段が、前記床面の縁部を傾斜させて設定し、前記移動制御手段が、前記移動体が位置する前記床面の傾斜を考慮して前記移動体を移動制御する、ように前記コンピュータを機能させるためのプログラムである。
【0026】
第8の発明によれば、第3〜第7の発明の何れかと同様の効果を奏するとともに、床面の縁部に移動体が乗っているとその傾斜の影響で、自然と移動面の外に向けて移動するように制御することができる。よって、ともすれば幅の狭いところを通過しようとするとき、その端に吸い寄せられる感じで落ちそうになる感覚をゲームで再現することができる。
【0027】
第9の発明は、第8の発明のプログラムであって、前記非表示床面設定手段が、前記移動体の移動速度に基づいて前記床面の傾斜角度を可変に設定するように前記コンピュータを機能させるためのプログラムである。
【0028】
第9の発明によれば、第8の発明と同様の効果を奏するとともに、移動体の速度に応じて床面の縁の傾斜角度を変えることで、さらにその効果を高めることができる。
【0029】
第10の発明は、第8又は第9の発明のプログラムであって、ゲームの難易度を設定する難易度設定手段(例えば、図6の処理部200、ゲーム演算部210、記憶部500、難易度設定542、図8のステップS2)として前記コンピュータを機能させ、
前記非表示床面設定手段が、前記難易度に基づいて前記床面の傾斜角度を可変に設定するように前記コンピュータを機能させるためのプログラムである。
【0030】
第10の発明によれば、第8又は第9の発明と同様の効果を奏するとともに、ゲーム難易度に応じて床面の縁の傾斜角度を変えることができるので、より一層その効果を高めることができる。
【0031】
第11発明は、第1〜第10の発明の何れかのプログラムを記憶したコンピュータ読取可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第11の発明によれば、第1〜第10の発明の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第10の発明の何れかと同様の効果を発揮させることができる。
【発明を実施するための最良の形態】
【0032】
〔第1実施形態〕
次に、第1実施形態として、本発明を適用したゲーム装置として家庭用ゲーム装置を挙げ、スノーボードゲームを実行する例を説明する。
【0033】
[ゲーム装置の構成]
図1は、本実施形態における家庭用ゲーム装置の構成例を説明するシステム構成図である。同図に示すように、家庭用ゲーム装置1200は、ゲーム装置本体1201と、ゲームコントローラ1230と、ビデオモニタ1220とを備える。
【0034】
ゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208とを備える。そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力に基づいて制御ユニット1210が各種のゲーム演算を実行してビデオゲームを実行する。
【0035】
制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備え家庭用ゲーム装置1200の各部を制御する。また、制御ユニット1210は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と接続して外部装置との間でデータ通信を実現する通信装置1212を備える。
【0036】
ゲームコントローラ1230は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられたプッシュボタン1232と、左右の前側面に設けられたプッシュボタン1233R,1233Lと、図で言うところの上下左右の各方向を単独入力するための方向入力キー1234と、右アナログレバー1236Rと、左アナログレバー1236Lとを備える。
【0037】
右アナログレバー1236R及び左アナログレバー1236Lは、図で言うところの上下方向と左右方向の2軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ1230を左右の手で把持し、レバーにそれぞれ親指を添えて操作する。レバーを倒すことによって2軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとして使用することもできる。
【0038】
本実施形態では、プッシュボタン1232でプレーヤキャラクタであるスノーボーダの加速や減速操作を入力し、方向入力キー1234或いは左アナログレバー1236Lの左右入力で左右のターン操作を入力する。
【0039】
ゲーム装置本体1201の制御ユニット1210は、ゲームコントローラ1230から受信した検出信号や操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル1209で接続されたビデオモニタ1220(ディスプレイモニタ)に出力される。ビデオモニタ1220には、画像を表示するフラットパネルディスプレイ1222と音声を放音するスピーカ1224とが備えられており、プレーヤはフラットパネルディスプレイ1222に映し出されるゲーム画像を見ながら、スピーカ1224から放音されるゲーム音を聞きつつゲームをプレイする。
【0040】
尚、本実施形態では、必要なプログラムや各種設定データを光学ディスク1202やメモリカード1204から読み出す構成としているが、制御ユニット1210の通信装置1212でインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線/無線の通信回線1に接続して外部の装置からダウンロードする構成としても良い。
【0041】
[ゲームの概要の説明]
次に、図2は本実施形態におけるスノーボードゲームの概要を説明するための図である。本実施形態におけるスノーボードゲームでは、3次元仮想空間内にゲーム空間として仮想のスキー場やスノーボードパークが形成されており、プレーヤはその中でスノーホーダのプレーヤキャラクタ2を操作して、雪面6やレール8を滑ってバーチャルスノーボードを楽しむことができる。雪面6の所々には、スペシャルアイテム9も設定される。プレーヤキャラクタ2をスペシャルアイテム9に当てると、そのアイテムを取得することができる。本実施形態では、スペシャルアイテム9を取得するとレール8に乗りやすくなる効果が得られる。
【0042】
レール8は、雪面6よりも局所的に高い人工的な滑走面を形成する構造体であり、雪面6の随所に局所的に設けられている。レール8の外形は、その名が示す通り斜面下り方向に長いが幅が狭く、上面が平坦なブロック塀に類似する。レール8の上面位置は、斜面の上流側では雪面6に殆ど等しく、斜面下流側では雪面6よりプレーヤキャラクタ2の身長程高い位置にある。スノーボード用語では「ハンドレール」や「ファンボックス」などと呼ばれる構造物に相当する。尚、本実施形態ではレール8を上面視矩形或いは帯状の長尺構造体としているが、上面視正方形や円などの対象形であっても良いのは勿論である。更には、移動面を設けるオブジェクトは、レール8のような固定構造体という設定に限らず、牛や馬、人、トラックの荷台など可動或いは可動する可能性のあるものに設定することもできる。
【0043】
プレーヤキャラクタ2をレール8の上を滑らせるには、図中のルート10のように、雪面6をレール8のライン上に滑り降りてレール8の上面にプレーヤキャラクタ2を乗せるか、ルート12の様に、レール8の側方よりアプローチしてタイミング良くプレーヤキャラクタ2をジャンプさせて乗せるかする。そして、レール8の上をバランスをとりながら滑走するプレイを楽しむ。
【0044】
[レールに係るヒット判定]
図3は、本実施形態におけるレール8に係るモデルの構成と配置の例を示す概略斜視図である。同図に示すように、Y軸を高さ方向とするXYZの直交3軸を有するゲーム空間座標には、雪面6の斜面を形成する表示用モデルである雪面モデル20がZX平面方向に設けられ、その上面には、プレーヤキャラクタ2が雪面6の上を滑走する際の位置を決定するための不可視(非表示)の通常床ヒット判定モデル22が設定されている。プレーヤキャラクタ2は、通常床ヒット判定モデル22に当たる事で、それ以上下方には移動されず、見かけ上は雪面6にもぐりこまないようになっている。尚、図中では、見やすくするために両者の間に意図的に間隙を設けて図示しているが、実際には雪面モデル20の上面と通常床ヒット判定モデル22は同じ位置に設定されているものとする。
【0045】
雪面モデル20の上面には、レール8の表示用モデルであるレールモデル24が配置されており、その上面にはプレーヤキャラクタ2がレール8の上を滑走する際の位置を決定するための不可視(非表示)のレール床ヒット判定モデル26が設定されている。レール床ヒット判定モデル26は、レールモデル24の上面と同サイズの平板ポリゴン26aの全周に、斜め下向きの斜面ポリゴン26bが連結されて成り、縁の有る皿を逆さまにした状態とも言える。尚、図中では、レール床ヒット判定モデル26も、図の見やすさの観点からレールモデル24の上面からやや浮いた位置に図示しているが、実際には同上面と同じ高さに設けられているものとする。
【0046】
さて、レール8は、実際のそれと同じように雪面6の傾斜方向に沿って長尺で、雪面6と同様に傾斜した構造体である。その上面の幅方向の長さは、プレーヤキャラクタ2が履くスノーボードの全長よりも短い。その為、レール8から落ちないようにバランスをとりながら滑走させないと、レール8の最後まで辿り着けない。
そこで本実施形態では、レール8の上に乗っているプレーヤキャラクタ2がレール8の上から落ちにくくするようにその移動方向を補正する。
【0047】
図4は、本実施形態におけるプレーヤキャラクタ2の移動方向の補正の原理を説明するための図である。レール8は図面に向かって右方向に傾斜しており、プレーヤキャラクタ2は図の左から右へレール8の傾斜方向Vsに向かって傾斜ポリゴン26b上を滑っている。
【0048】
プレーヤキャラクタ2は、傾斜ポリゴン26b上を滑走することで自重によってレール8の中心から外れる方向に向く力を受け、移動ベクトルV(その大きさで速度又は加速度を、向きで移動方向を規定するベクトル)がレール8の外向きを成している。プレーヤがなにも操作入力をしなければ、やがてプレーヤキャラクタ2はレール8から外れて雪面6に落ちることになる。つまり、レール8の端では徐々にレール8から落ちそうになる感じが斜面ポリゴン26bによってリアルに再現されている。
【0049】
さて、同図に示す状態では、プレーヤは当然プレーヤキャラクタ2をレール8の内側方向へ向けたいが、勢い余って反対側の端から落ちないように細かなターン操作(方向操作)をする必要がある。しかし、幅の狭いレール8を滑走するシチュエーション特有の緊張から、操作に不慣れなプレーヤがそう易々と細かなターン操作ができるものではなく、多くの場合プレーヤキャラクタ2は折角乗ったレール8から落ちてしまうことになる。そこで本実施形態では、プレーヤキャラクタ2をレール8から落ちにくくするように自動的にプレーヤキャラクタ2の移動方向の補正を行い、プレーヤキャラクタ2のレール8上の移動をサポートし、比較的長期間のレール8上の移動を可能ならしめる。
【0050】
具体的には、プレーヤキャラクタ2の代表点GのZX座標値からレール床ヒット判定モデル26の相対位置を求め、プレーヤキャラクタ2が乗っているレール床ヒット判定モデル26の位置に応じて補正力Fを算出する。そして、プレーヤキャラクタ2にこの補正力Fを作用させる。結果、プレーヤキャラクタ2は補正後移動ベクトルVrで移動し、レール8の内側方向へ向かう。
【0051】
補正力Fは、基本値Frn(nは設定領域を示す添字)と、プレーヤキャラクタ2の状態に応じて決定される係数k3と係数k4とが乗算されて算出される。
基本値Frnは、レール床ヒット判定モデル26に設けられた領域毎に予め設定されている。本実施形態では、レール8の長手方向(基準方向)でもある傾斜方向に向かって中央及びその左右に帯状の領域を設定する。図4の例では、平板ポリゴン26aと傾斜ポリゴン26bとで領域が分けられており、傾斜方向(図の右方向)に向かって左側の傾斜ポリゴン26bの領域には傾斜方向に向かって右向きの基本値Fr1、右側の傾斜ポリゴン26bの領域には傾斜方向に向かって左向きの基本値Fr2がそれぞれ設定されている。そして、中央の平板ポリゴン26aの領域の基本値Fr0には「0」が設定されている。
【0052】
係数k3は、プレーヤキャラクタ2の動作状態に応じて選択される。同図の例では、プレーヤキャラクタ2はスノーボードの技であるトリックアクションが行われていれば「1」以上の値(例えば、1.2)が選択され、行われていなければ「1」が選択される。
勿論、トリックアクションの種類に応じて異なる値が選択される構成としても良い。
【0053】
係数k4は、プレーヤキャラクタ2のアイテムの所持状況に応じて選択される。図4の例では、スペシャルアイテム9を所持していない場合には「1」、所持している場合には「1」以上の値(例えば、1.5)が選択される。
【0054】
つまり、補正力Fの基本的な補正方向及びその強度は、プレーヤキャラクタ2がレール床ヒット判定モデル26のどこを滑っているかに応じて決定されるが、プレーヤキャラクタ2の動作状態やアイテムの所持状態に応じて補正強度が可変される。
【0055】
図5は、本実施形態におけるレール床ヒット判定モデル26の各領域設定に対する補正力の基本値Frnの設定例を示す図である。本実施形態では、ゲーム開始前にプレーヤが設定するゲーム難易度に応じて選択される複数種類(低難易度と高難易度)の設定が用意される。
【0056】
先ず、基本的な領域の分布であるが、レール8の長手方向に沿って中央か左右へ5分割されている(図5では、網掛けの種類で区分して示している)。中央領域は平板ポリゴン26aに該当する部分である。左右の領域は、左右それぞれの傾斜ポリゴン26bを左右中央から更に2分割した領域に分けられている。
【0057】
そして、低難易度向けの設定では、図5(a)に示すように、中央から離れた領域ほど基本値Frn(Fr10<Fr11,Fr12<Fr13、矢印の長さが大きさを表す)が大きく設定されている。中央の領域には基本値Fr0として「0」が設定されている(図中では黒丸表示)。
高難易度向けの設定では、図5(b)に示すように、左右両端の領域にのみ基本値Fr15,Fr17が設定されており、その大きさも低難易度設定の同位置の領域の基本値Fr11,Fr13よりも小さく設定されている。
【0058】
尚、基本値Frnの設定領域は、図4や図5の例に限らず、分割形状や分割数などは適宜設定することができる。
【0059】
[機能ブロックの説明]
次に、上述のようなゲームを実現するための具体的な構成について説明する。
図6は、本実施形態における家庭用ゲーム装置1200の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0060】
操作入力部100は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。図1のゲームコントローラ1230が操作入力部100に該当する。
【0061】
処理部200は、例えばマイクロプロセッサやASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、家庭用ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
【0062】
そして、本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0063】
ゲーム演算部210は、ゲームの進行に係る処理を実行する。例えば、ゲーム開始前のゲームの難易度設定をプレーヤに選択させる処理、雪面6やレール8、スペシャルアイテム9などのオブジェクトを配置したりレール床ヒット判定モデル26などの不可視(非表示)のヒット判定モデルを配置するなどして3次元仮想空間中にゲーム空間を形成する処理、ゲーム空間中に配置されたオブジェクトの動作制御処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理などが実行対象に含まれる。
【0064】
より具体的には、本実施形態のゲーム演算部210は、PC(プレーヤキャラクタ)動作制御部212と、操作入力補正部214とを含んでいる。
【0065】
PC動作制御部212は、操作入力部100に為された操作入力に基づいてプレーヤキャラクタ2の加速・減速・ターン・ジャンプ・トリックアクションといった動作制御を行う。本実施形態は、プレーヤキャラクタ2はスノーボードを履くので、トリックアクションとしては、インディ、トゥウィーク、ワンエイティなどがこれに当たる。
【0066】
操作入力補正部214は、プレーヤキャラクタ2がレール8の上を滑走している間、プレーヤキャラクタ2がレール8の上面から外れて落下するのを抑制するように、その移動方向がレール8の内側方向へ向くように補正する。具体的には、補正力Fを算出し、プレーヤキャラクタ2の移動ベクトルに作用させることでプレーヤキャラクタ2の移動動作を補正する。なお、補正力Fをプレーヤキャラクタ2の移動ベクトルに作用させるのではなく、補正力Fに相当する操作入力(例えば移動方向の操作入力)がなされたものとみなして、プレーヤキャラクタ2の移動動作を補正することとしてもよい。何れにせよ、補正力Fをプレーヤキャラクタ2に作用させることになる。
【0067】
補正力Fの算出方法は次の通りである。すなわち、プレーヤキャラクタ2の代表点GのZX平面座標が、レール床ヒット判定モデル26のどの領域に該当するかを判定する。そして、判定した領域に予め設定されている補正の基本値Frnに、プレーヤキャラクタ2の動作状況に応じて選択される係数k3と、アイテムの所持状態に応じて選択される係数k4とを乗算して、補正力Fを算出する。そして、補正力Fでプレーヤキャラクタ2の動作を自動補正する。
【0068】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0069】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではビデオモニタ1220のスピーカ1224がこれに該当する。
【0070】
画像生成部260は、例えば、デジタルシグナルプロセッサ(DSP)などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等の公知技術によって実現される。例えば画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(1/60秒)で1枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部360に出力する。
【0071】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1ではビデオモニタ1220のフラットパネルディスプレイ1222が該当する。
【0072】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0073】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1では通信装置1212がこれに該当する。
【0074】
記憶部500は、予め定義されたプログラムやデータを記憶するとともに、処理部200の作業領域として用いられて処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
【0075】
本実施形態における記憶部500は、処理部200にゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラム502や、ゲームを実行させるために必要なゲームプログラム504、並びに各種データ等を記憶する。処理部200がゲームプログラム504を読み出して実行することによって、処理部200にゲーム演算部210としての機能を実現させることができる。
【0076】
また記憶部500には、予め用意されるデータとしてゲーム空間設定データ510と、キャラクタ初期設定データ550とを記憶する。更にゲームの進行に伴って生成され、随時書き換えられるデータとして、キャラクタステータスデータ530と、ゲームの難易度設定542とが記憶される。また、ゲームの進行に係る処理を実行するに当たり必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【0077】
ゲーム空間設定データ510には、3次元仮想空間にゲーム空間を形成するための背景となるオブジェクトや各種アイテムのオブジェクトを配置・表示させるための各種データが格納されている。オブジェクトのモデリングデータや、テクスチャデータ、モーションデータ、初期配置位置データ、初期移動ベクトルなどがそれに当たる。
【0078】
例えば、雪面6に係る各種データを格納する雪面モデルデータ512と、スペシャルアイテム9に係る各種データを格納するアイテムモデルデータ514と、レールモデルデータ516と、レール床ヒット判定モデルデータ518と、基準となるレール8での滑走方向を示す傾斜方向ベクトル520と、低難易度向け補正基本値設定522と、高難易度向け補正基本値設定524とを格納している。
【0079】
低難易度向け補正基本値設定522は、例えば図7に示すように、レール床ヒット判定モデル26に領域を設定する領域定義情報522aと、当該領域の入力補正基本値522bとを対応付けて格納している。領域定義情報522aは、各領域の頂点座標値が格納される。尚、高難易度向け補正基本値設定524も同様の構成を有する。
【0080】
キャラクタ初期設定データ550には、プレーヤキャラクタ2の初期設定データが格納されている。具体的には、表示用モデル、テクスチャ、初期配置位置座標、最高速度や最高加速度、最大操舵角、ブレーキ性能などの能力パラメータ値の初期値が格納されている。プレーヤキャラクタ2のトリックアクションのモーションデータもここに含まれている。モーションデータとしては、通常の加速・減速・ターンのモーションを定義する標準滑走モーションデータ552と、トリックモーションデータ554と、ジャンプモーションデータ556と、レール8の縁にプレーヤキャラクタ2が乗っている場合に、両手を広げてバランスをとるようなアクション(落下前兆挙動)をするバランスモーションデータ558とを含む。
【0081】
キャラクタステータスデータ530は、プレーヤキャラクタ2の現在の状態を表す情報が格納されている。例えばキャラクタID532と、現在位置534と、移動ベクトル536と、トリックアクションの動作制御に係るトリックの識別情報や実行中のモーションフレーム情報などを含むトリック制御データ538と、所持アイテムリスト540とが格納される。
【0082】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部200がシステムプログラム502及びゲームプログラム504を実行することによって実現される。尚、ゲーム音に関する制御は公知のビデオゲームと同様に実現することができるので、ここでは説明を省略する。
【0083】
図8は、本実施形態における主たる処理の流れについて説明するためのフローチャートである。先ず処理部200は、所定の選択画面を表示させるなどの方法で公知のビデオゲームと同様にしてプレーヤにゲーム難易度の選択をさせる(ステップS2)。選択された難易度情報は、記憶部500の難易度設定542として記憶される。
【0084】
次に、処理部200はゲーム空間設定データ510を参照して、3次元仮想空間内に雪面6やレール8といった背景オブジェクトを配置してゲーム空間を形成する(ステップS4:図2参照)。雪面6及びレール8に関しては、付属する不可視のヒット判定モデルも同時に設定される(図3参照)。
【0085】
次いで、プレーヤキャラクタ初期設定データ550を参照し、プレーヤキャラクタ2のオブジェクトを所定のスタート位置に配置し、プレーヤキャラクタ2を撮影する仮想カメラを初期位置に配置し(ステップS6)、スペシャルアイテム9などプレーヤキャラクタ2が取得可能なアイテムのオブジェクトをゲーム空間に配置する(ステップS8)。尚、仮想カメラについては、公知のビデオゲームと同様の手法によって、プレーヤキャラクタ2の様子を撮影するように自動追尾制御されるものとし、説明は省略する。
【0086】
ゲームがスタートされたならば(ステップS10のYES)、処理部200はステップS12〜S36を画像表示部360のリフレッシュレート以下の制御サイクルで、ゲーム終了条件を満たすまで繰り返し実行する。
【0087】
具体的には、処理部200は先ず所定の疑似物理法則に従ってプレーヤキャラクタ2の移動ベクトルVを算出する(ステップS12)。つまり、雪面6やレール8の上面に乗ったプレーヤキャラクタ2が斜面を自重で徐々に加速して滑る移動ベクトルVを仮想の重力環境下を想定してシミュレーションする。
【0088】
次に、処理部200は、操作入力部100から加速・減速・ターン・ジャンプ・トリックアクション等の操作入力が有れば(ステップS14のYES)、その操作入力に応じて移動ベクトルVを修正する(ステップS16)。そして、モーション制御処理を実行する(ステップS20)。
【0089】
モーション制御処理では、例えば図9に示すように、トリックアクションの操作入力が有った場合(ステップS60のYES)、及び既に実行中のトリックアクションがある場合には(ステップS62のYES)、処理部200はキャラクタ初期設定データ550のトリックモーションデータ554に従って、プレーヤキャラクタ2を今回の制御サイクル分だけ動作させる(ステップS72)。
【0090】
ジャンプの操作入力が有った場合(ステップS64のYES)、及び既に実行中のジャンプモーションがあれば(ステップS66のYES)、処理部200はジャンプモーションデータ556に従って、プレーヤキャラクタ2に今回の制御サイクル分だけジャンプ動作をさせる(ステップS74)。
【0091】
また、プレーヤキャラクタがレール床ヒット判定モデル26の傾斜ポリゴン26bの部分を移動している場合には(ステップS68のYES)、バランスモーションデータ558に従って、プレーヤキャラクタ2に今回の制御サイクル分だけ、レール8から落ちそうになるのをバランスをとってリカバーしようとする動作をさせる(ステップS76)。
そして、それら以外の場合には、プレーヤキャラクタ2が雪面6の上で加速・減速・ターン・停止といった標準的な滑走動作をするように今回の制御サイクル分だけ、対応する滑走動作の動作制御をさせる(ステップS70)。
【0092】
モーション制御処理を実行したならば、処理部200は次に、プレーヤキャラクタ2が雪面6に配置されたアイテムのオブジェクトに接触したか否かを判定する(ステップS24)。接触した場合(ステップS24のYES)、プレーヤキャラクタ2がアイテムの取得に成功したと判定して、アイテム取得処理を実行する(ステップS26)。例えば、アイテムを拾い上げる動作をプレーヤキャラクタ2にさせたり、アイテム取得を知らせるアイコンのオブジェクトをゲーム空間内に所定時間配置するなどである。この時取得したアイテムの識別情報は、所持アイテムリスト540に格納される。
【0093】
次いで、処理部200はプレーヤキャラクタ2がレール8の上に乗っているかを判定する(ステップS28)。プレーヤキャラクタ2の代表点GのZX座標値が、レール床ヒット判定モデル26のZX座標範囲内に有れば、レール8の上に乗っていると判定して、処理部200はレール移動補助処理を実行する(ステップS30)。
【0094】
レール移動補助処理では、例えば図10に示すように、プレーヤキャラクタ2のレール床ヒット判定モデル26の位置する領域を判定する(ステップS90)。具体的には、現在の難易度設定542の設定に対応する低難易度向け補正基本値設定522又は高難易度向け補正基本値設定524を参照し、領域定義情報で定義されている各領域とプレーヤキャラクタ2のZX座標を比較して領域を判定する。そして、該当する領域に設定されている入力補正の基本値Frnを読み出す(ステップS92:図4、図5参照)。
【0095】
次いで、処理部200は係数k3及び係数k4を選択し(ステップS94)、補正力Fを算出する(ステップS96)。そして、算出した補正力Fをプレーヤキャラクタ2の移動制御に適用して移動ベクトルVを補正して(ステップS98)、レール移動補助処理を終了する。
【0096】
レール移動補助処理を終了したならば図8のフローチャートに戻って、次に、処理部200は仮想カメラでゲーム空間中のプレーヤキャラクタ2の様子を撮影したゲーム空間画像をレンダリングして生成し、必要に応じてゲーム開始からの経過時間等の情報表示を合成してゲーム画面を生成する。そして、画像表示部360に表示させる(ステップS32)。この時、レール床ヒット判定モデル26は不可視設定(非表示)なので、ゲーム画面上には表示されない。
【0097】
そして、ゲーム結果の算出を行う(ステップS34)。ゲーム結果の算出では、プレーヤキャラクタ2が所定のゴール位置に到達した否かの判定や、上面を滑走できたレール8の数のカウント、プレイ可能時間の残時間の算出などを行う。
【0098】
ゲーム結果が所定のゲーム終了条件を満たしていなければ(ステップS36のNO)、ステップS10に戻る。一方、ゲーム結果がゲーム終了条件を満たしていれば(ステップS36のYES)、処理部200は所定のゲーム終了の演出処理などを実行して(ステップS38)、一連の処理を終了する。
【0099】
以上、本実施形態によれば、標準の移動面(雪面6)の上方に設けられたライン状で長尺で狭幅の副移動面(レール8)の上を、移動体(プレーヤキャラクタ2)が落ちにくくなるようにその移動を補正することができ、副移動面上で比較的長期間の間移動し続けられるように移動体をサポートすることができる。従って、本実施形態のようにスノーボーダがレールの上をすべることのできるゲームでは、現実世界では難易度が高く、そうそう実現できないアクションを容易に実現させ、気軽にプロ並の腕を持ったスノーボーダの気分を楽しむことができる。
【0100】
また、レール床ヒット判定モデル26を、レールモデル24の上面に当たる平板ポリゴン26aとその外周に設けられた傾斜ポリゴン26bとで構成することで、プレーヤキャラクタ2がレール8の左右端に寄った場合にレール8から自然と外れやすく(落ちやすく)なるかのような作用効果を生む。例えば、狭幅のところをまっすぐに進もうとしても、左右端に位置がずれると、まるで吸い寄せられたかのように外へ外へと向かってしまうかのような感じをプレーヤキャラクタ2に感じさせることができる。それでいて、左右の端に寄っても自動的にプレーヤキャラクタ2がレール8の内側方向へ向くように補正されるので、細かなターン操作ができないプレーヤでも容易にスノーボードでレールやファンボックス上を滑るゲームプレイを楽しむことができる。
【0101】
尚、本実施形態ではプレーヤキャラクタ2の移動方向を補正する手法として、現在の移動ベクトルVに補正力を合成して補正後の移動ベクトルVrを求める構成として説明したが、補正力を補正操作入力とし、補正力に相当する操作入力がなされることとしても良い。或いは、補正力を、移動ベクトルVの方向を変更する回転力(回転角度)として求め、移動ベクトルVを代表点G周りに回転補正する構成としても実質的には同じである。
【0102】
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。
本実施形態は、基本的には第1実施形態と同様に実現されるが、プレーヤキャラクタ2がレール8の左右方向へ移動する成分を減衰させることで、レール8から落下するまでの時間を稼いで、プレーヤが修正操作をする時間を作り出す機能を有する点が異なる。尚、ここでは第1実施形態との差異についてのみ述べることとし、第1実施形態と同様の構成要素については同じ符合を付与して説明は省略する。
【0103】
本実施形態では、記憶部500に減衰比率設定データ526が予め複数記憶されている。一つの減衰比率設定データ526(526−1〜526−4)は、例えば、図11〜図14に示すように、適用ゲーム難易度526aと、適用速度条件526bと、減衰領域定義情報526cに対応づけられた移動ベクトルVのレール8の幅方向成分の低減量又は低減率に相当する減衰比526dが格納されている。
【0104】
適用ゲーム難易度526aの設定は、ゲームスタート前にプレーヤが選択可能なレベルの数と同じだけ、本実施形態では「高」「低」の2種類設定される。
また、適用速度条件526bは、プレーヤキャラクタ2の移動ベクトルVの速さ|V|の条件を示し、例えば所定の高速基準値Vhに満たない「低速域」と同基準値以上の「高速域」との2種類が用意されている。
【0105】
本実施形態では、ゲーム難易度設定が「低」の減衰比設定データ526では、減衰比が設定されている領域のレール8の幅方向の大きさが、ゲーム難易度設定が「高」の減衰比設定データ526のそれよりも大きく設定されている。
【0106】
減衰領域定義情報526cは、レール床ヒット判定モデル26の上面に減衰領域を定義する頂点情報を格納する。本実施形態では、大きく分けて主に平板ポリゴン26a部分を中心に設定される中央減衰領域と、主に傾斜方向に向かって左側の傾斜ポリゴン26bに設定される左減衰領域と、右側の傾斜ポリゴン26bに設定される右減衰領域の3つを設ける。左減衰領域及び右減衰領域は、ゲーム難易度及び適用速度条件に応じて異なる大きさの領域が設定されている。
【0107】
図15は、本実施形態におけるレール移動補助処理(レール移動補助処理B)の流れを説明するためのフローチャートである。
同処理は、基本的には第1実施形態のレール移動補助処理と同じ流れを有するが、以下の点で異なる。すなわち、ステップS90の前段階で、現在のゲーム難易度と移動ベクトルVの大きさ(速さ|V|)に対応する減衰比設定データ526を選択し(ステップS82)、その減衰領域定義情報526cとプレーヤキャラクタ2のZX座標とを比較して、プレーヤキャラクタ2の乗っている減衰領域を判定する(ステップS84)。そして、判定した減衰領域に対応づけられている減衰比526dを、現在の移動ベクトルVのうちの、レール8の傾斜方向を基準方向とした左右方向(幅方向)の成分に乗算することで当該成分を補正して予備補正移動ベクトルV’を求める(ステップS86)。
【0108】
また、第1実施形態のステップS98に代えて、ステップS86で求められた予備補正移動ベクトルV’にステップS96で算出した補正力Fを適用して最終的な移動ベクトルVrを算出するステップとする(ステップS97)。
【0109】
以上、本実施形態によれば、第1実施形態と同様の効果を奏するとともに、更にプレーヤキャラクタ2がレール8の左右の端に寄ると、左右方向に向かう速度成分を自動的に減衰させて、レール8の左右の端から落ちにくくできるので、レール8上でより長期間の間移動し続けられるように、効果的で自然なプレーヤ補助を実現することができる。
【0110】
尚、減衰領域の設定数は、3つに限らず適宜設定することができる。またその形状もレール床ヒット判定モデル26の範囲内であれば、適宜変更できる。
また、減衰領域をゲーム難易度やプレーヤキャラクタ2の速度に応じて可変するようにしたが、可変に係るパラメータはこれらに限らない。例えば、過去のゲーム履歴から求められるプレーヤの習熟度レベル(場合によってはそれによって決定されるプレーヤキャラクタ2のレベル)や、ゲーム空間内での天候、プレーヤキャラクタ2が使用するスノーボードのターン性能レベル、特定アイテムの所持状態などを適用することもできる。
【0111】
〔変形例〕
以上、本発明を適用した2つの実施形態について説明したが、本発明の適用形態がこれに限定されるものではない。
【0112】
例えば、家庭用ゲーム装置1200でビデオゲームを実行する構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などでゲームを実行することもできる。また、ゲームはスタンドアローンのゲーム装置で実行される場合に限らず、ネットワークゲーム(オンラインゲーム)であっても良い。
【0113】
また、ゲーム内容は、スノーボードを題材としたゲームに限らず、標準の移動面の上方に設けられた狭幅の副移動面の上を、移動体が落ちないように操作してクリアするシチュエーションが登場するゲームであれば、スキーゲームや、レースゲーム、RPG、アクションゲームなどにも同様に適用できる。
【0114】
また、上記実施形態では、レール床ヒット判定モデル26は単独のモデルとしているが、例えば図16に示すように、縦断面視すると、傾斜ポリゴン26bが上向きの特別レール床ヒット判定モデル27を用意し、下向きのレール床ヒット判定モデル26と合わせて使い分ける構成としても良い。
【0115】
具体的には、ゲーム難易度の設定が高い場合にはレール床ヒット判定モデル26を使用し、難易度の設定が低い場合には特別レール床ヒット判定モデル27を使用するとしても良い。この場合、特別レール床ヒット判定モデル27では、プレーヤキャラクタ2の位置がレール8の上面から外れると、疑似物理演算の結果として自動的にプレーヤキャラクタ2をレール8の内側方向へ向ける力が作用するので、よりプレーヤキャラクタ2をレール8から落ちにくくすることができる。
【0116】
或いは、プレーヤキャラクタ2の移動ベクトルVの大きさが所定の高速基準値に満たなければレール床ヒット判定モデル26を使用し、高速基準値に達した場合には特別レール床ヒット判定モデル27を使用するように、ゲーム進行中に判定モデルを切り換える構成としても良い。
【0117】
尚、特別レール床ヒット判定モデル27とレールヒット判定モデル26とでは、縁部の長さが異なるとしても良い。前者を長くすると実質的なレール8の上面幅を見かけより大きくできるのでよりプレーヤキャラクタ2がレール8から落ちにくくでき、好適である。また、縁部の角度を任意に変更可能としてもよい。その場合には、あるときは下向きとしてレールヒット判定モデル26と同等とし、あるときは上向きとして特別レールヒット判定モデル27と同等とし、またあるときは角度を無くしてレール面をフラットにして左右方向に幅広にした判定モデルにする、といった制御が可能となる。
【0118】
また、係数k3や係数k4を決定するのに利用したプレーヤキャラクタの状態を示すパラメータとしては、キャラクタのレベル(成長段階を示すレベルや、特定技能の習得レベル、ゲーム結果から決定されるプレーヤの習熟度から求められるレベルなど)、キャラクタの種類(性別、年齢、種族)、キャラクタの心理状態(例えば、標準/興奮など)を適宜利用することができる。
【0119】
例えば、ゲーム進行状態を示すパラメータの一つとして、キャラクタのレベルを適用する場合には、ステップS38(図8参照)にて公知のビデオゲームと同様にして、今回のゲームプレイの結果を基にプレーヤキャラクタのレベルを決定し、ゲームプレイ履歴データとして記憶部500に記憶保存する構成とする。加えて、ステップS30の前にこのプレイ履歴データを参照するステップを設ける。そして、レール移動補助処理(図10参照)を実行する際、ステップS94にて参照したプレーヤキャラクタのレベルに応じて係数k3を決定し、ステップS96で補正ベクトル初期設定値Frnに乗算する。係数k3は、例えば所定の上級判定レベルに達していなければk3=0.9、上級判定レベルに達していればk3=0.6とする。よって、ゲームに習熟し上級レベルのプレーヤがプレイする場合には、補正力を意図的に弱めることで、相対的にゲームの難易度を高めて、プレーヤの技量に応じた「やりごたえ」を設定することができる。
【0120】
勿論、係数k3や係数k4を決定するのに利用したパラメータはプレーヤキャラクタの状態に限らない。例えば、特定操作入力の有無で係数値を変える構成としたり、プレーヤに操作課題を提示して課題をクリアできたか否かで係数値を変える構成とすることもできる。
具体的には、前者の場合では、ステップS96(図10参照)の前に、所定のプッシュスイッチ1232の連打入力や、右アナログレバー1236Rや左アナログレバー1236Lのすりこぎ運動入力といった特定操作入力の有無を判定するステップと、特定操作入力が有った場合に係数k3を「1.2」とし、無い場合には係数k3を「1.0」と決定するステップとを挿入すれば良い。また、後者の場合には、ステップS28とステップS30の間に(図8参照)、所定の課題(例えば、「5秒以内に10回連打入力せよ!」)をゲーム画面に提示するステップと、課題提示後に課題のクリア可否判定するステップとを設ける。そして、課題クリアできたならば係数k3を「1.2」とし、クリアできなかった場合には「1.0」と決定するステップをステップS96の前に挿入すれば良い。
【0121】
また、設定する傾斜方向Vsの方向は、一つに限らず複数設定することもできる。その場合には、ステップS96の前に、複数設定されている傾斜方向Vsの中から速度ベクトルVと方向が近いベクトルを選択するステップを設け、ステップS96ではこの選択されたベクトルを用いることとすればよい。
【図面の簡単な説明】
【0122】
【図1】家庭用ゲーム装置の構成例を示すシステム構成図。
【図2】スノーボードゲームの概要を説明するための図。
【図3】レールに係るモデルの構成と配置の例を示す概略斜視図。
【図4】プレーヤキャラクタの移動方向の補正の原理を説明するための図。
【図5】レール床ヒット判定モデルの領域設定と補正力の基本値の設定例を示す図。
【図6】家庭用ゲーム装置の機能構成の一例を示す機能ブロック図。
【図7】低難易度向け補正基本値設定のデータ構成例を示す図。
【図8】主たる処理の流れを説明するためのフローチャート。
【図9】モーション制御処理の流れを説明するためのフローチャート。
【図10】レール移動補助処理の流れを説明するためのフローチャート。
【図11】減衰比設定データのデータ構成例を示す図。
【図12】減衰比設定データのデータ構成例を示す図。
【図13】減衰比設定データのデータ構成例を示す図。
【図14】減衰比設定データのデータ構成例を示す図。
【図15】第2実施形態におけるレール移動補助処理の流れを説明するためのフローチャート。
【図16】レール床ヒット判定モデルの変形例を示す図。
【符号の説明】
【0123】
2 プレーヤキャラクタ(PC)
6 雪面
24 レールモデル
26 レール床ヒット判定モデル
26a 平板ポリゴン
26b 傾斜ポリゴン
100 操作入力部
200 処理部
210 ゲーム演算部
212 PC(プレーヤキャラクタ)動作制御部
214 操作入力補正部
260 画像生成部
360 画像表示部
500 記憶部
504 ゲームプログラム
510 ゲーム空間設定データ
516 レールモデルデータ
522 低難易度向け補正基本値設定
524 高難易度向け補正基本値設定
530 キャラクタステータスデータ
536 移動ベクトル
540 所持アイテムリスト
550 キャラクタ初期設定データ
558 バランスモーションデータ

【特許請求の範囲】
【請求項1】
コンピュータに、仮想的な重力が設定された三次元仮想空間中を移動する移動体の画像を生成して所定のゲームを実行させるためのプログラムであって、
ライン状の移動面を三次元仮想空間に設定する移動面設定手段、
重力成分を含む所定の擬似物理法則及びプレーヤの方向指示操作に従って前記移動体の前記移動面上の移動制御を行う移動制御手段、
前記移動体の前記移動面の幅方向における位置を中央寄りに向かわせるための補正力を算出する補正力算出手段、
として前記コンピュータを機能させるとともに、
前記移動制御手段が、前記補正力を用いて前記移動制御を補正するように前記コンピュータを機能させるためのプログラム。
【請求項2】
前記補正力算出手段が、前記移動体の前記移動面の幅方向における位置が中央位置から離れるほど前記補正力を大きく算出するように前記コンピュータを機能させるための請求項1に記載のプログラム。
【請求項3】
前記移動面に、前記移動面より幅広の非表示の床面を設定する非表示床面設定手段、
前記床面を非表示として前記三次元仮想空間の画像を生成する画像生成手段、
として前記コンピュータを機能させ、
前記移動制御手段が、前記移動体と前記床面とのヒット判定を行って前記移動体の移動制御を行うように前記コンピュータを機能させる、
ための請求項1又は2に記載のプログラム。
【請求項4】
前記床面の縁部に前記移動体が位置していることを検出する縁部移動中検出手段、
前記縁部移動中検出手段による検出がなされた場合に、前記移動体に、落下の恐れを報知するための挙動として予め定められた落下前兆挙動を行わせる落下前兆挙動実行制御手段、
として前記コンピュータを機能させるための請求項3に記載のプログラム。
【請求項5】
前記床面の縁部に、前記移動面の幅方向への移動力を低減させる低減領域を設定する低減領域設定手段として前記コンピュータを機能させ、
前記移動制御手段が、前記移動体が前記低減領域に位置している場合には、前記移動体の前記幅方向への移動力を低減させて前記移動体の移動制御を行うように前記コンピュータを機能させる、
ための請求項3又は4に記載のプログラム。
【請求項6】
前記低減領域設定手段が、前記幅方向の大きさを可変して前記低減領域を設定するように前記コンピュータを機能させるための請求項5に記載のプログラム。
【請求項7】
前記移動制御手段が、前記移動体が前記低減領域に位置している場合に、前記移動体の前記幅方向への移動力の低減量又は低減率を、前記床面の端面に近づくほど大きくさせて前記移動体を移動制御するように前記コンピュータを機能させるための請求項5又は6に記載のプログラム。
【請求項8】
前記非表示床面設定手段が、前記床面の縁部を傾斜させて設定し、
前記移動制御手段が、前記移動体が位置する前記床面の傾斜を考慮して前記移動体を移動制御する、
ように前記コンピュータを機能させるための請求項3〜7の何れか一項に記載のプログラム。
【請求項9】
前記非表示床面設定手段が、前記移動体の移動速度に基づいて前記床面の傾斜角度を可変に設定するように前記コンピュータを機能させるための請求項8に記載のプログラム。
【請求項10】
ゲームの難易度を設定する難易度設定手段として前記コンピュータを機能させ、
前記非表示床面設定手段が、前記難易度に基づいて前記床面の傾斜角度を可変に設定するように前記コンピュータを機能させるための請求項8又は9に記載のプログラム。
【請求項11】
請求項1〜10の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項12】
仮想的な重力が設定された三次元仮想空間中を移動する移動体の画像を生成して所定のゲームを実行するゲーム装置であって、
ライン状の移動面を三次元仮想空間に設定する移動面設定手段と、
重力成分を含む所定の擬似物理法則及びプレーヤの方向指示操作に従って前記移動体の前記移動面上の移動制御を行う移動制御手段と、
前記移動体の前記移動面の幅方向における位置を中央寄りに向かわせるための補正力を算出する補正力算出手段と、
を備え、
前記移動制御手段が、前記補正力を用いて前記移動制御を補正するゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−86432(P2010−86432A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−256906(P2008−256906)
【出願日】平成20年10月1日(2008.10.1)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】