(57)【特許請求の範囲】
【請求項１】
コンピュータを、
仮想のゲーム空間を生成するゲーム空間生成手段、
前記ゲーム空間内に存在して活動する仮想の特定キャラクタを生成するキャラクタ生成手段、
前記ゲーム空間内の所定のイベント領域に、所定の持続時間の仮想のイベントを発生させるイベント発生手段、
前記持続時間中のイベント領域に、前記特定キャラクタが存在したとき、前記特定キャラクタにイベントモーションを行わせ、且つ、前記特定キャラクタが前記持続時間中のイベント領域に存在している間、前記モーションを繰り返し行わせるモーション制御手段、
として機能させるプログラムであって、
前記イベント発生手段は、前記持続時間中に、前記モーション制御手段にイベントが発生している旨を告知する信号として、前記イベントモーションの時間よりも短い一定の時間間隔で繰り返すイベントアタリを発生させる手段であり、
前記モーション制御手段は、前記特定キャラクタにイベントモーションを行わせている間に、前記特定キャラクタの存在位置に前記イベントアタリが発生したとき、前記特定キャラクタが継続して前記持続時間中のイベント領域に存在していると判断する
ことを特徴とするプログラム。
【請求項２】
前記イベント発生手段は、前記イベント領域内で複数の強度領域が分布するイベントを発生する手段であり、
前記モーション制御手段は、前記特定キャラクタの存在位置のイベント強度に応じた前記イベントモーションを前記特定キャラクタに行わせる手段である請求項１に記載のプログラム。
【請求項３】
前記モーション制御手段は、前記持続時間中のイベント領域に、前記特定キャラクタが存在したとき、前記特定キャラクタを所定方向に所定の移動速度で移動させる手段を含むことを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
請求項１乃至請求項３のいずれかに記載のプログラムを記憶する記憶部と、前記記憶部に記憶されたプログラムを実行する制御部と、を備えたゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ビデオゲームにおいて、暴風等のイベントに遭遇した場合のキャラクタの処理をリアルに行うことができるプログラムおよび該プログラムが実行されるゲームシステムに関する。
【背景技術】
【０００２】
アクションゲームには、敵キャラクタが竜巻等の暴風を発生して、遊技者が操作する主キャラクタを空中に巻き上げたり、ゲーム空間の環境の変化により暴風が吹いて、主キャラクタが行動できなくなるように設定されたものがある（たとえば非特許文献１）。
【０００３】
【非特許文献１】「デビルメイクライ解体真書」株式会社カプコン、２００５年、ｐ．７５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし従来のゲームプログラムでは、暴風に当たったときの主キャラクタの動作（風ヤラレ動作）に以下のような問題点が生じていた。すなわち、主キャラクタの風ヤラレ動作が常に同じ一定時間のものであったため、以下の（１）のような問題点が生じていた。また、ゲーム内で発生する暴風に強弱がある場合があるが、以下の（２）のような問題点が生じていた。
【０００５】
（１）主キャラクタの風ヤラレ動作が常に一定時間のものであったため、暴風の発生が長時間にわたる場合、まだ暴風が続いているにもかかわらず、一定時間の風ヤラレ動作が終了して主キャラクタの動作が通常の動作に戻ってしまう。また逆に、暴風が短時間で終了した場合、または、途中で暴風の圏内を抜けた場合、主キャラクタに暴風が当たっていないにもかかわらず、主キャラクタが一定時間の風ヤラレ動作を継続してしまう。
【０００６】
（２）ゲームにおいては、複数種類の強さの暴風が発生される場合が多い。また、敵キャラクタ等がスポット状の暴風を発生した場合、そのスポットの中心に近い場所の風が強く、中心から遠くなるほど風が弱くなるのが自然である。しかし、暴風の強さにかかわらず、暴風に当たったときの主キャラクタの動作が同じであったため、暴風の強さにかかわらず゛また、主キャラクタとスポットの中心との距離がどのようであっても、主キャラクタの風ヤラレ動作が同じであった。
【０００７】
この発明は、暴風等のイベントに遭遇した場合のキャラクタの処理をリアルに行うことができるビデオゲーム等のプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明のプログラムは、コンピュータを、ゲーム空間生成手段、キャラクタ生成手段、イベント発生手段、および、モーション制御手段として機能させる。ゲーム空間生成手段は、仮想のゲーム空間を生成する。キャラクタ生成手段は、ゲーム空間内に存在して活動する仮想の特定キャラクタを生成する。イベント発生手段は、ゲーム空間内の所定のイベント領域に、所定の持続時間の仮想のイベントを発生させる。モーション制御手段は、持続時間中のイベント領域に特定キャラクタが存在したとき、特定キャラクタにイベントモーションを行わせ、且つ、特定キャラクタが持続時間中のイベント領域に存在している間、モーションを繰り返し行わせる。さらに、イベント発生手段は、持続時間中に、モーション制御手段にイベントが発生している旨を告知する信号として、イベントモーションの時間よりも短い一定の時間間隔で繰り返すイベントアタリを発生させる。モーション制御手段は、特定キャラクタにイベントモーションを行わせている間に、特定キャラクタの存在位置にイベントアタリが発生したとき、特定キャラクタが継続して持続時間中のイベント領域に存在していると判断する。
【０００９】
この発明において、「持続時間中のイベント領域に特定キャラクタが存在したとき」とは、特定キャラクタが、
（１）イベントの開始から終了まで（持続時間中ずっと）イベント領域に存在した場合
（２）イベント開始時にイベント領域に存在し、途中でイベント領域から外れた場合
（３）イベント開始時はイベント領域外で、途中からイベント領域に入り、イベント終了までイベント領域に存在した場合
（４）イベント開始時はイベント領域外で、途中からイベント領域に入り、途中で再びイベント領域から外れた場合
のいずれをも含んでいる。
【００１０】
この発明により、イベント発生手段によって発生されるイベントの長さに長短があっても、それに合わせた回数だけイベントモーションを繰り返すことにより、特定キャラクタにイベントに同期したイベントモーションを行わせることができる。
【００１７】
ゲーム等のプログラムの処理は、イベントドリブン方式またはゲームループ方式でワンショットの処理で実行されることが多い。そこで、この発明では、ゲーム中の事象であるイベントを発生するイベント発生手段が、イベントの持続時間中に短い時間間隔でイベントトリガを繰り返し発生し、特定キャラクタのモーションを制御するモーション制御手段が、イベントトリガが発生する都度、特定キャラクタに短い時間（イベントトリガの時間間隔よりも長い）のモーションを繰り返し行わせる。これにより、イベントの持続時間と特定キャラクタのモーション期間とを同期させている。ここで、イベントトリガとは、たとえば、図８に示すような風アタリパルスが適用される。
【００１９】
上記発明において、イベント発生手段をイベント領域内で複数の強度領域が分布するイベントを発生する手段とし、モーション制御手段を特定キャラクタの存在位置のイベント強度に応じたイベントモーションを特定キャラクタに行わせる手段としてもよい。
【００２１】
後述の実施形態の「大きい暴風の強風域、中風域、弱風域」が、上に述べた複数の強度領域の分布に対応している。これらの異なるイベント強度に合わせてイベントモーションを変化させることで、リアルにイベントの強度の違いを表現することができる。
【００２４】
上記発明において、モーション制御手段は、持続時間中のイベント領域に特定キャラクタが存在したとき、この特定キャラクタを所定方向に所定の移動速度で移動させる手段を含んでもよい。
【００２５】
この発明では、特定キャラクタの存在位置を含む領域でイベントが発生したとき、特定キャラクタにイベントモーションを行わせることに加えて、この特定キャラクタを所定の方向に移動させる。これにより、特定キャラクタがイベントによって押されている状態を表現することができる。
【００３０】
この発明のゲームシステムは、上記プログラムを記憶する記憶部と、記憶部に記憶されたプログラムを実行する制御部とを備えたことを特徴とする。
【発明の効果】
【００３１】
この発明によれば、暴風等のイベントに遭遇した場合のキャラクタの処理をリアルに行うことができ、イベントと特定キャラクタのモーションを同期させて自然なゲーム制御を行うことができる。
【発明を実施するための最良の形態】
【００３２】
図面を参照してこの発明の実施形態であるゲーム装置およびゲームプログラムについて説明する。この実施形態では、３Ｄ（三次元）アクションゲームを例にあげて説明する。この実施形態で例示する３Ｄアクションゲームは、遊技者が操作する主キャラクタが敵キャラクタと戦闘するゲームであり、敵キャラクタが主キャラクタに対する攻撃として暴風を発生することができるものである。敵キャラクタが暴風を発生させたとき、主キャラクタは、この暴風に耐えるために動作が制限され且つ風下に押される。
【００３３】
≪ゲーム装置の構成≫
図１は、この発明が適用されるゲーム装置の外観を示す図である。
このゲーム装置は、ゲーム装置本体５００にコントローラ２００が接続されて構成されている。コントローラ２００は、遊技者によって操作される。遊技者は、このコントローラ２００を用いて、ゲーム中に登場する主キャラクタ等を操作する。また、ゲーム装置本体５００には、表示装置・オーディオ装置として機能するテレビジョン４０８が接続される（図２参照）。
【００３４】
ゲーム装置本体５００には、ゲームプログラムが記録された記録媒体４１１がセットされるトレイ５０１を有している。記録媒体４１１は、たとえばＤＶＤ（digital versatile disc）である。ゲーム装置本体５００は、この記録媒体４１１からゲームプログラムを読み取って、このプログラムを実行する。なお、このゲーム装置本体５００は、上記ゲームプログラム処理機能のほか、ＤＶＤビデオの再生、ＣＤＤＡ（compact disc digital audio）の再生等を実行することもできる。
なお、記録媒体４１１は、ＤＶＤ以外であってもよく、例えばＣＤ、Ｂｌｕ−ｒａｙ
Ｄｉｓｃ、ＨＤなどを用いることができる。
【００３５】
また、装置前面には、コントローラ２００が接続されるコネクタ５１０、フラッシュメモリからなるカード型の外部メモリ４１５（図２参照）がセットされるメモリスロット５１１が、それぞれ２つずつ設けられている。
【００３６】
図２は、ゲーム装置本体５００の内部構成を示すブロック図である。
【００３７】
ゲーム装置本体５００は、装置全体の動作を制御するＣＰＵ４０１を有している。このＣＰＵ４０１に対してＲＡＭ４０２およびバス４０３が接続される。ＲＡＭ４０２には、ゲームの進行に応じて各種のデータが記憶される。
【００３８】
バス４０３には、グラフィック・プロセッサ・ユニット（ＧＰＵ）４０４、インプット・アウトプット (Ｉ／Ｏ)ポート４０９が接続される。ＧＰＵ４０４には、デジタル映像信号をＮＴＳＣテレビ ジョン方式やＰＡＬテレビジョン方式に変換するためのデコーダ４０７を介して、外部機器であるテレビジョン（ＴＶ）４０８が、接続される。
【００３９】
Ｉ／Ｏポート４０９には、光ディスクである記録媒体４１１に記録されているデータを再生し、デコードするためのドライバ（ＤＲＶ）４１０，サウンド・プロセッサ（Ｓ・Ｐ）４１２、フラッシュメモリからなる外部メモリ４１５、コントローラ２００およびＲＯＭ４１６が接続される。
【００４０】
ＲＯＭ４１６には、このゲーム装置本体５００を起動するとともに基本的な機能を実現するためのシステムプログラムが記憶されている。外部メモリ４１５には、遊技者の情報や実行しているゲームの途中経過等が記憶される。遊技者は、ゲームプログラムを記憶した記憶媒体４１１と自己の外部メモリ４１５をセットすることにより、途中で中断したゲームを、その中断したタイミングから再開することができる。
【００４１】
サウンド・プロセッサ４１２は、増幅器４１３を介して、外部機器であるスピーカ４１４に接続される。このスピーカ４１４は、一般的には、上記テレビジョン４０８に内蔵されているスピーカである。
【００４２】
図３は、コントローラ２００の外観を示す平面図である。
コントローラ２００は、略コ字形をしており、遊技者が両翼部の２０１Ｌ，２０１Ｒを左右両手で把持して操作する。コントローラ２００の左右上面には操作ボタン群２１０、２２０、アナログスティック２１２、２２２が設けられており、コントローラ２００の右前面にはＲ１ボタン２１１、左前面にはＬ１ボタン２２１がそれぞれ設けられている。操作ボタン群２１０、２２０は、それぞれ遊技者の右手親指、左手親指で操作される。また、Ｒ１ボタン２１１、Ｌ１ボタン２２１は、それぞれ遊技者の右手人指し指、左手人指し指で操作される。
【００４３】
右側の操作ボタン群２１０は、４個の操作ボタン２１０Ａ〜２１０Ｄを備えている。操作ボタン２１０Ａ〜２１０Ｄには、識別を容易にするために頭部に各々「△」「○」「×」「□」の識別マークが付されている。このゲーム装置で実行されるゲームにおいて、この操作ボタン群２１０は、主として、ゲーム中に登場する主キャラクタに特定の動作をさせるためのボタンとして設定される。特定の動作とは、たとえば、技をくり出す、ジャンプする等である。ゲーム「ＤＥＶＩＬ  ＭＡＹ  ＣＲＹ（登録商標）４」では、操作ボタン群２１０の各ボタンおよびＲ１ボタン２１１、Ｌ１ボタン２２１は、主キャラクタに各種の行動を行わせるためのボタンとして機能する。遊技者によって△ボタン２１０Ａや○ボタン２１０Ｂがオンされると、前記ＣＰＵ４０１の制御により、ゲーム中の主キャラクタは、剣を振ったり銃を撃つ等の攻撃技をくり出して敵キャラクタを攻撃する。また、遊技者によって×ボタン２１０Ｃがオンされると、前記ＣＰＵ４０１の制御により、主キャラクタがジャンプする。また、遊技者によってＲ１ボタン２１１がオンされると、ＣＰＵ４０１の制御により、ゲーム中の主キャラクタは、武器を構える構えモーションとなる。
【００４４】
また、左側の操作ボタン群２２０は、前後左右に十字型に組み合わされた４個の操作ボタンを備えている。アナログスティック２１２、２２２は、前後左右を含む３６０度の方向に傾倒可能なスティックを有する操作子である。アナログスティック２１２、２２２が、遊技者によって操作されると、その操作による傾倒方向及び傾倒度合いに応じた操作量データがコントローラ２００から出力される。前記ゲームにおいて、左アナログスティック２２２が、主キャラクタの移動動作を制御するための操作子として設定される。遊技者がアナログスティック２２２を前に倒すと主キャラクタが前に移動する。その倒す角度が大きいほど移動速度が早くなる。すなわち、倒す角度が小さいときは歩きモーションで移動し、倒す角度が大きいときは走りモーションで移動する。アナログスティック２２２を前以外の方向に倒すと、主キャラクタはその倒した方向に移動する。
【００４５】
≪ゲーム（風アタリ）の説明≫
次に図４〜図１０を参照して、３Ｄアクションゲームにおいて敵キャラクタが発生する暴風について説明する。３Ｄアクションゲームは、上述したゲーム装置がゲームプログラムに基づいて実行する処理で実現されるが、以下の説明では、この処理内容を主キャラクタ、敵キャラクタ等の動作として説明する場合がある。
【００４６】
敵キャラクタは、主キャラクタに対する攻撃として暴風を発生する。この暴風の発生により、ゲーム空間（ゲーム画面）には、暴風を表す白い煙状の画像が生成される。これに同期して、ゲーム空間内に、その暴風の発生位置を中心とする風アタリが発生する（図４参照）。風アタリとは、主キャラクタの動作を制御するプログラムに対して暴風の発生領域を知らせる領域データである。
【００４７】
この風アタリの領域内に主キャラクタが存在した場合、すなわち主キャラクタが風アタリを受けた場合、主キャラクタは暴風に耐える動作をし（風ヤラレ）、攻撃をすることができなくなるとともに、この風によって風下に押しやられる（風押サレ）。この風ヤラレの動作が本発明のイベントモーションに対応する。なお、主キャラクタが空中にいる場合には、風アタリを受けても風ヤラレの動作にはならず、また地上にいるときよりも小さい風押サレが発生し、小さく風下に移動する。
【００４８】
なお、風アタリによる風ヤラレ・風押サレの処理は、主キャラクタが他の攻撃によってダメージを受けていない場合にのみ行われ、主キャラクタが攻撃によってダメージ受けている場合（ダメージによって動けなくなっている期間中）は、そのダメージが優先され風ヤラレ・風押サレの処理は実行されない。
【００４９】
図４は、敵キャラクタの攻撃によって発生される風アタリを説明する図である。敵キャラクタは、そのキャラクタの強さや場面に応じて種々の大きさの暴風を発生する。同図では大、中、小３種類の暴風を示している。また、同図では、敵キャラクタ３０を中心に風アタリ３１〜３３が発生しているが、風アタリの中心は敵キャラクタ３０の存在位置に限定されるものではない。
【００５０】
図４（Ａ）は、敵キャラクタ３０が大きい暴風（３１）を発生したとき、同時に形成される大きい風アタリ３１を示す図である。同図では、敵キャラクタ３０を中心として円状（三次元的には球状）に風アタリ３１が発生している。風アタリ３１は、小さい半径の強風域３１Ａ、強風域３１Ａを取り巻く環状の中風域３１Ｂ、中風域３１Ｂを取り巻く環状の弱風域３１Ｃの風アタリからなっている。強風域３１Ａに主キャラクタが存在した場合、すなわち主キャラクタが強風の風アタリを受けた場合、主キャラクタは、強風の風アタリによる風ヤラレ動作（強風の風ヤラレ動作）を行うとともに、強風の風アタリによる風押サレ（強風の風押サレ）を受ける。また、中風域３１Ｂに主キャラクタが存在した場合、すなわち主キャラクタが中風の風アタリを受けた場合、主キャラクタは、中風の風アタリによる風ヤラレ動作（中風の風ヤラレ動作）を行うとともに、中風の風アタリによる風押サレ（中風の風押サレ）を受ける。また、弱風域３１Ｃに主キャラクタが存在した場合、すなわち主キャラクタが弱風の風アタリを受けた場合、主キャラクタは、弱風の風アタリによる風ヤラレ動作（弱風の風ヤラレ動作）を行う。弱風は主キャラクタが押される程の風ではないので、弱風の場合には、風アタリによる風押サレ動作は行わない。
【００５１】
図４（Ｂ）は、敵キャラクタ３０が中の暴風（３２）を発生したとき、同時に形成される中の風アタリ３２を示す図である。同図では、敵キャラクタ３０を中心として円状（三次元的には球状）に風アタリ３２が発生している。風アタリ３２は、小さい半径の中風域３２Ａ、中風域３２Ａを取り巻く環状の弱風域３２Ｂの風アタリからなっている。中風域３２Ａに主キャラクタが存在した場合、主キャラクタは、中風の風ヤラレ動作を行うとともに、中風の風押サレを受ける。また、弱風域３２Ｂに主キャラクタが存在した場合、主キャラクタは、弱風の風ヤラレ動作を行う。
【００５２】
図４（Ｃ）は、敵キャラクタ３０が小さい暴風（３３）を発生したとき、同時に形成される小さい風アタリ３３を示す図である。同図では、敵キャラクタ３０を中心として円状（三次元的には球状）に風アタリ３３が発生している。風アタリ３３は、全体が弱風域３３Ａで構成される。弱風域３３Ａに主キャラクタが存在した場合、主キャラクタは、弱風の風ヤラレ動作を行う。
なお、暴風の大きさは、図４に示した大、中、小の３種類に限定されない。また、風アタリの強さも強，中，弱の３種類に限定されない。
【００５３】
図５（Ａ）は、ゲームプログラムに含まれる風アタリ処理のためのデータ構成を示す図である。ゲームプログラムには、風アタリを処理するためのデータとして、風ヤラレモーションおよび風押サレパラメータが記憶されている。
【００５４】
ここで、風ヤラレモーションとは、主キャラクタが風アタリを受けたときに行う「風に耐える動作」のモーション（身体パーツの移動）データである。風ヤラレモーションが本発明のイベントモーションに対応している。風ヤラレモーションは、開始モーション、継続モーション、終了モーションで構成される。
【００５５】
図５（Ｂ）〜（Ｄ）は、風ヤラレモーションの一例を示す図であり、同図（Ｂ）が開始モーション、同図（Ｃ）が継続モーション、同図（Ｄ）が終了モーションを示している。この図は、横軸が時間であり、各モーションにおいて、主キャラクタの姿勢または動作が左から右へ遷移してゆく旨を示している。開始モーションは、主キャラクタが通常の姿勢から風に耐える姿勢へ変化していく動作である。継続モーションは、主キャラクタが風に耐える姿勢を維持する動作である。また、終了モーションは、主キャラクタが風に耐える姿勢から通常の姿勢へ戻ってゆく動作である。なお、開始モーションの長さは２５／６０秒であり、継続モーションの長さは１５／６０秒であり、終了モーションの長さは３０／６０秒である。主キャラクタが風アタリを受けると、まず開始モーションを行い、これに連続して、風アタリが継続している間（すなわち主キャラクタが風アタリの中に居る間）、繰り返し継続モーションを行う。そして風アタリが終了すると（または風アタリから抜けると）終了モーションを行って、風ヤラレ動作を終了する。
【００５６】
なお、主キャラクタが開始モーションを行うタイミングは、自己の存在位置に風アタリが発生した時または既に発生している風アタリに進入した時のいずれかであり、主キャラクタが終了モーションを行うタイミングは、自己の存在位置の風アタリが終了した時または風アタリの発生中にその風アタリから抜けた時のいずれかである。
【００５７】
なお、この実施形態では風ヤラレモーションを、開始モーション、継続モーション、終了モーションの３つのモーションに分けているが、モーションの分割数は３に限定されず、また、１つであってもよい。モーションを４以上に分割した場合には、継続モーションを複数設け、風アタリの継続中は、主キャラクタに、順番にまたはランダムに複数の継続モーションを実行させるようにすればよい。
【００５８】
風押サレパラメータは、主キャラクタが風アタリを受けたとき、暴風に押されて移動する速度を示すパラメータである。風押サレパラメータは、地上風押サレパラメータ、空中風押サレパラメータからなっている。地上風押サレパラメータは、主キャラクタが地上にいるときに押される速度を示すパラメータであり、空中風押サレパラメータは、主キャラクタが空中にいるときに押される速度を示すパラメータである。
なお、風押サレパラメータとして、速度を示すパラメータ以外に、移動距離や移動時間を示すパラメータを用いることも可能である。
【００５９】
なお、風ヤラレモーションは、主キャラクタが地上にいるときのみ行われる。主キャラクタが空中にいるときは、風アタリを受けても空中姿勢のままで押されるのみである。ただし、空中風押サレパラメータは、地上風押サレパラメータよりも小さく、主キャラクタは、空中にいるときのほうが地上のときよりも小さく押される。
【００６０】
ゲームプログラムは、以上の風ヤラレモーションのデータおよび風押サレパラメータを、強風の風アタリ３１Ａ、中風の風アタリ３１Ｂ、３２Ａ、および、弱風の風アタリ３１Ｃ、３２Ｂ、３３Ａに対応してそれぞれ記憶している。
【００６１】
なお、データ量を少なくするため、強風と中風の風ヤラレモーションを共通にし、風押サレパラメータのみを異ならせるようにしてもよい。
【００６２】
図６、図７は、敵キャラクタ３０が暴風を発生したときのゲーム画像の例を示す図である。
図６は、敵キャラクタ３０が小さい暴風３３を発生したときの例を示している。主キャラクタ１０は、この暴風３３（小さい風アタリ３３）により、弱風の風アタリを受けている。これにより、主キャラクタは弱風の風ヤラレのモーション（片手で風を防ぐ動作）を行っている。また、図７は、敵キャラクタ３０が中の暴風３２を発生したときの例を示している。主キャラクタ１０は、この暴風３２（中の風アタリ３２）により、中風の風アタリを受けている。これにより、主キャラクタは中風の風ヤラレのモーション（両手で風を防ぐ動作）を行っている。図７に示す中風の風アタリモーションのほうが、図６に示す弱風の風アタリモーションよりも動作が大きく、強い風を受けている雰囲気が良く表されている。
【００６３】
図８は、風アタリの発生タイミングおよび風ヤラレモーションの動作時間を表したタイミングチャートを示す図である。敵キャラクタが暴風を発生すると、この暴風が持続している間、一定間隔（たとえば１０／６０秒間隔）で、図４に示す風アタリがパルス状に発生する。そして、暴風が終了すると、このパルス状の風アタリの発生も終了する。
【００６４】
風ヤラレモーションは、図５（Ｂ）〜（Ｄ）に示したように、開始モーション、継続モーション、終了モーションの３つからなるが、各モーションの長さは、１５／６０秒〜３０／６０秒であり、上記風アタリパルスの発生間隔よりも長くなっている。最初の風アタリパルスの発生に対応して開始モーションを主キャラクタに行わせ、モーションが終了したとき（そのタイミング以前に）風アタリパルスが再度発生していれば継続モーションを主キャラクタに行わせる。継続モーションが終了したとき（そのタイミング以前に）風アタリパルスが再度発生していれば継続モーションを繰り返して主キャラクタに行わせる。継続モーションが終了したとき（そのタイミング以前に）風アタリパルスが発生していなければ終了モーションを主キャラクタに行わせて風ヤラレの動作を終了する。この風ヤラレモーションを行っている間、風押サレされパラメータにより、主キャラクタの位置を強制的に移動させる。これにより、暴風の時間的長さにほぼ一致した長さで、主キャラクタに風ヤラレおよび風押サレを生じさせることができる。
【００６５】
なお、風アタリパルスの発生間隔、各風ヤラレモーションの長さは上記に限定されない。各風ヤラレモーションの長さが風アタリパルスの発生間隔よりも長ければよい。また、風アタリは上記のようなパルス状でなく、開始から終了まで持続するものであってもよい。
【００６６】
上記の風アタリ、風ヤラレ、風押サレの処理の流れをフローチャートを参照して説明する。
【００６７】
図９（Ａ）は、敵キャラクタの風アタリ発生処理動作を示すフローチャートである。この処理動作は、ゲーム実行のための他の処理動作と並行して実行される。
敵キャラクタ３０が暴風を発生すると（Ｓ１でＹＥＳ）、ゲーム空間に暴風の画像を生成するとともに（Ｓ２）、ゲーム空間の所定位置に図４に示すような風アタリを発生させる（Ｓ３）。この風アタリは、図８に示したようにパルス状に発生する。そして一定時間経過するまでＳ４で待機する。この一定時間は、図８で説明したパルス間隔でありたとえば１０／６０秒である。一定時間が経過すると（Ｓ４でＹＥＳ）、Ｓ３にもどって再びパルス状の風アタリを発生させる（Ｓ３）。これを暴風が終了するまで（Ｓ５）繰り返す。風が終了すると（Ｓ５でＹＥＳ）、暴風の画像を消去し（Ｓ６）、Ｓ１にもどって次の暴風の発生まで待機する。
【００６８】
図９（Ｂ）は、主キャラクタの風アタリ検出処理を示すフローチャートである。この処理は、上記風アタリの発生タイミングに同期して繰り返し実行されるものである。Ｓ１１で主キャラクタの存在位置に風アタリが発生しているか否かを判断する。主キャラクタの存在位置に風アタリが発生していなければ（Ｓ１１でＮＯ）そのまま終了する。主キャラクタの存在位置に風アタリが発生していれば、風アタリ検出フラグであるＤフラグをセットし（Ｓ１２）、その風アタリの強さをＰｎに書き込んで（Ｓ１３）動作を終了する。ここで、Ｐｎに書き込まれる風アタリの強さは、強風が３、中風が２、弱風が１とする。
【００６９】
図１０は、主キャラクタの風アタリ対応処理動作を示すフローチャートである。この処理動作は、ゲーム実行のための他の処理動作と並行して実行される。
まず、風アタリ検出フラグＤまたは風ヤラレモーション中であることを示す風ヤラレ中フラグＤｃがセットしているかを判断する（Ｓ２１、Ｓ４１）。Ｄフラグ、Ｄｃフラグの両方がセットされていない場合には風アタリ対応処理をする必要がないため、ＤフラグまたはＤｃフラグのセットを検出するまで、この待機ルーチン（Ｓ２１、Ｓ４１）で待機する。
【００７０】
Ｄフラグがセットしていることを検出すると（Ｓ２１でＹＥＳ）、このＤフラグをリセットし（Ｓ２２）、主キャラクタが現在ダメージ状態であるかを判断する（Ｓ２３）。ダメージ状態とは、敵キャラクタからの攻撃によって動けない状態になっている状態である。ダメージ状態であれば、風アタリ対応処理を行わずダメージ状態を維持するため、何もせずに待機ルーチン（Ｓ２１、Ｓ４１）に戻る。この風アタリ対応処理と並行して、他のプロセスであるダメージ処理（Ｓ５０）が実行されており、ダメージ状態中は、このダメージ処理（Ｓ５０）により主キャラクタの動作が制御されている。
【００７１】
ダメージ状態でない場合には（Ｓ２３でＮＯ）、現在の風強さ値Ｐｎと今回の暴風から受けた風アタリ履歴の最大値Ｐとを比較し、現在の風強さＰｎが履歴最大値Ｐよりも大きければＰｎでＰを更新する（Ｓ２５）。そうでない場合には、Ｐの値を維持する。なお、Ｐの初期値は０であるため、暴風開始時には、そのときのＰｎが必ずＰにセットされる。このように風アタリの最大値を維持するのは、風が弱くなったとき急に風ヤラレモーションを弱くするのは不自然であるため、風が弱くなっても強いときの風ヤラレモーションを維持するためである。
【００７２】
次に、主キャラクタが地上にいるか空中にいるかを判定する（Ｓ２６）。地上と空中では風ヤラレモーションをするか否か、および、風押サレパラメータが異なるからである。
主キャラクタが地上にいる場合（Ｓ２６でＹＥＳ）、まず風ヤラレ中を示すＤｃフラグがセットされているか否かを判断する（Ｓ２７）。Ｄｃフラグがリセットされている場合には、今回の処理が風アタリを受けた直後の最初の処理であることを意味するため、風ヤラレ中フラグＤｃをセットする  （Ｓ２８）。次に、風アタリの強さＰに応じた風ヤラレの開始モーションをセットし（Ｓ２９）、主キャラクタにこの開始モーションを行わせる。開始モーションが終了するまで待機し（Ｓ３０）、開始モーションが終了すると（Ｓ３０でＹＥＳ）、続いて風アタリの強さＰに応じた風ヤラレの継続モーションをセットし（Ｓ３１）、主キャラクタにこの継続モーションを行わせる。そして、風アタリの強さＰに応じた地上風押サレパラメータで風押サレを発生し、主キャラクタを後退させる（Ｓ３２）。この風押サレはＳ３１でセットした継続モーションが終了するまで（Ｓ３３）継続する。なお、風アタリが弱風の場合には風押サレ処理は実行されない。継続モーションが終了すると（Ｓ３３でＹＥＳ）、待機ルーチン（Ｓ２１、Ｓ４１）にもどる。
【００７３】
一方、Ｓ２７でＤｃフラグがセットしていることが判断された場合には（Ｓ２７でＹＥＳ）、現在既に風ヤラレのアクション中であるため、風アタリの強さＰに応じた風ヤラレの継続モーションをセットするＳ３１の処理に進む。
【００７４】
また、風アタリを受けたとき主キャラクタが空中にいる場合（Ｓ２６でＮＯ）には、その姿勢のままで風押サレをするため、Ｐに応じた空中風押サレパラメータで空中の風押サレ処理を行う（Ｓ３４）。この処理を一定時間継続する（Ｓ３５）。この一定時間は、１つの風ヤラレモーションと同じ時間（たとえば１５／６０秒）に設定される。一定時間経過ののち（Ｓ３５でＹＥＳ）、風アタリの強さＰをリセットして（Ｓ３６）、待機ルーチン（Ｓ２１、Ｓ４１）にもどる。風押サレがそのときの風アタリの強さに応じて大きくなったり小さくなったりしても不自然ではないため、Ｐは毎回リセットされる。
【００７５】
一方、待機ルーチンにおいて、風アタリ検出フラグＤはされていないが、風ヤラレ中フラグＤｃがセットされている場合（Ｓ４１でＹＥＳ）、主キャラクタに風ヤラレモーションを行わせていたが、暴風が終了したことを意味しているため、Ｄｃフラグをリセットするとともに（Ｓ４２）、風アタリの強さＰに応じた風ヤラレの終了モーションをセットし（Ｓ４３）、この終了モーションを主キャラクタに実行させる。こののちＰをリセットして（Ｓ４４）、待機ルーチン（Ｓ２１、Ｓ４１）にもどる。
【００７６】
図１０の動作では、主キャラクタが終了モーションを行っているときに、新たに風アタリに当たった場合は、再度開始モーションから風ヤラレを再開するが、この場合には、開始モーションを省略して直接継続モーションに戻るようにしても良い。
【００７７】
また、図１０の動作では、モーションの終了後にＤフラグのセット／リセットを検出するようにしているが、図８に示す風アタリパルスに当たるとただちに継続モーションの開始まで戻るようにしてもよい。
【００７８】
≪尚書き≫
以上の実施形態では、敵キャラクタが暴風を発生し、主キャラクタがその暴風に対して、風ヤラレの動作を行うとともに風押サレで移動する例について説明したが、本発明はこれに限定されない。
【００７９】
たとえば、主キャラクタが武器として暴風を発生し、敵キャラクタがその風によって風ヤラレ・風押サレの状態になるようにしてもよく、ゲーム空間の環境（天候）によって暴風が発生し、主キャラクタ、敵キャラクタの両方がその風によって風ヤラレ・風押サレの状態になるようにしてもよい。
【００８０】
また、本発明のイベントは、暴風に限定されない。たとえば、熱風、大音響、閃光、雷、洪水、豪雨など種々の事象、または、相手キャラクタからの持続的な攻撃などをイベントとして適用することができる。
【図面の簡単な説明】
【００８１】
【図１】この発明が適用されるゲーム装置の外観図
【図２】ゲーム装置本体の内部構成を示すブロック図
【図３】ゲーム装置のコントローラの構造を示す平面図
【図４】風アタリを説明する図
【図５】風ヤラレモーションおよび風押サレパラメータを説明する図
【図６】主キャラクタが弱風の風アタリを受けている状態のゲーム画面の例を示す図
【図７】主キャラクタが中風の風アタリを受けている状態のゲーム画面の例を示す図
【図８】風アタリの発生タイミングおよび風ヤラレモーション実行タイミングのタイミングチャートを示す図
【図９】敵キャラクタの風アタリ発生処理および主キャラクタの風アタリ検出処理を示すフローチャート
【図１０】主キャラクタの風アタリ対応処理を示すフローチャート
【符号の説明】
【００８２】
１０  主キャラクタ
３０  敵キャラクタ
３１，３２，３３  風アタリ（暴風）
３１Ａ  強風域
３１Ｂ，３２Ａ  中風域
３１Ｃ，３２Ｂ，３３Ａ  弱風域
５００    ゲーム装置本体
２００    コントローラ
４０１    ＣＰＵ
４０２    ＲＡＭ
２１０Ａ  △ボタン
２１１    Ｒ１ボタン
２２１    左アナログスティック
【図１】
0005269392.tif 000002
【図２】
0005269392.tif 000003
【図３】
0005269392.tif 000004
【図４】
0005269392.tif 000005
【図５】
0005269392.tif 000006
【図８】
0005269392.tif 000007
【図９】
0005269392.tif 000008
【図１０】
0005269392.tif 000009
【図６】
0005269392.tif 000010
【図７】
0005269392.tif 000011