(57)【特許請求の範囲】
【請求項１】
コンピュータを、
相互に高低差のある上の地面および下の地面を有するゲーム空間を生成するゲーム空間生成手段、
ユーザの操作に応じた操作情報が操作部を介して入力される操作情報入力手段、
前記ゲーム空間において、キャラクタを、前記操作情報に基づいて、前記上の地面および下の地面を行き来させて活動させる手段、
前記上の地面の前記下の地面に対する境界を、前記上の地面で活動しているキャラクタが越えたことを検出する検出手段、
前記検出手段により、前記上の地面で活動している前記キャラクタが前記境界を越えたことが検出されたとき、該境界を越えたキャラクタを前記下の地面に落下させるキャラクタ動作制御手段、
として機能させ、
前記キャラクタ動作制御手段は、
前記境界を越えたキャラクタの前記境界への進入角度を判定する判定手段を含み、
前記判定手段が前記進入角度が所定のしきい値未満であると判定したとき、前記境界を越えたキャラクタを前記下の地面に落下させずに、前記上の地面の前記境界内の位置に強制的に移動させる、
プログラム。
【請求項２】
前記キャラクタ動作制御手段は、前記上の地面で活動している前記キャラクタが前記境界を越えたとき、前記上の地面の上を飛んでいた場合は、前記進入角度が所定のしきい値未満であった場合でも、前記キャラクタを前記下の地面に落下させる請求項１に記載のプログラム。
【請求項３】
請求項１または請求項２に記載のプログラムを記憶した記憶部と、該記憶部に記憶されているプログラムを実行するコンピュータと、を備えたゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、高低差のある複数の地面でキャラクタが活動するゲームを実行するためのプログラムおよびゲームシステムに関する。
【背景技術】
【０００２】
アクションゲームには、ゲームを趣向的且つ複雑にするため、三次元ゲーム空間に高低差のある複数の地面（たとえば谷底と崖の上等）を設定し、キャラクタがこれら複数の地面を、飛び下りる・よじ登る等して移動しながら活動（戦闘）する３Ｄアクションゲームが実用化されている。
【０００３】
（１）このような３Ｄアクションゲームのうち一部のゲームでは、上の地面で活動しているキャラクタが、遊技者の操作による移動や相手の攻撃によって飛ばされた結果、上の地面から外れた場合、このキャラクタを下の地面に落下させるように処理している。これにより、キャラクタを下の地面に降ろすための特別の操作が不要になるため、遊技者の操作が容易になるという利点があった（非特許文献１参照）。
【０００４】
（２）また、他の一部のゲームでは、キャラクタが上の地面の端部（崖）にいるときに遊技者が特定の操作（たとえば×ボタンの押下等）をした場合のみ、キャラクタを下の地面に落下させ、上の地面で活動しているキャラクタが移動操作や相手の攻撃によって上の地面から外れようとした場合には、キャラクタの位置を強制的に上の地面に押し戻す処理をするようにしている。これにより、意図しないキャラクタの落下を防止できるという利点があった（非特許文献２参照）。
【０００５】
（３）また、上述のように、キャラクタが上の地面から外れたところへ移動しても下の地面に落下させないようにする場合には、上の地面の端部（崖）に仮想的な壁を設定し、それよりも向こう（上の地面から外れたところ）へ行かないように、キャラクタの位置を強制的に規制する。この処理は、従来、実際の壁に対するキャラクタの位置制御と同じように行われていた。すなわち、壁に対する処理は、キャラクタが壁に近寄りすぎて体の一部が壁に埋まってしまっては不自然であるため、キャラクタの一部でも壁の中に移動しそうになった（壁に当たった）ときは、それが壁に埋まらないように、キャラクタの位置を強制的に押し戻すというものである。
【０００６】
【非特許文献１】「デビルメイクライ３最強デビルハンター」講談社、２００１年、ｐ．７４−７５
【非特許文献２】「デビルメイクライ解体真書」株式会社カプコン、２００５年、ｐ．１５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記先行技術（１）のように、キャラクタが地面のないところに移動した場合には、自動的に下へ落下させる方式は、物理的には自然であるが、ゲームとして以下のような不都合な場合があった。すなわち：
【０００８】
遊技者がキャラクタを崖ぎわで移動させようとしているのに、ちょっとした操作ミスで足を踏み外した場合でも落ちてしまう。キャラクタを崖に沿って移動させることは高度な操作が要求されるが、ちょっとした操作ミスでもキャラクタが下に落下してしまうのはゲームにおける操作性の低下につながるという問題点があった。
【０００９】
一般的なゲームでは、キャラクタが相手の攻撃によって飛ばされると、そのダメージで数秒間活動できない期間が与えられる。これは、ゲームにおいて、相手の攻撃を受けてしまったことに対するペナルティとして設けられている。一方、下の地面への落下は、一般的には遊技者の意思で飛び下りる動作、すなわち一種の退避行動として用いられる。したがって、相手の攻撃によって飛ばされたときに下の地面に落下させてしまうと、ペナルティとなるはずが相手から退避させることになってしまい、本来想定されているゲームの進行と異なってしまうという問題点があった。
【００１０】
また、上記先行技術（２）のように、キャラクタを下の地面に落下させる（飛び下りさせる）ために遊技者に特定の操作を要求することは、遊技者がキャラクタを崖に向かって走らせるというような自然な操作の流れでキャラクタを飛び下りさせることができないようになるという点で、操作性が低下するという問題があった。
【００１１】
また、先行技術（３）のように、キャラクタの一部でも境界を越えそうになった場合に、キャラクタの位置を強制的に規制する処理は、壁に対する処理の場合には有効であるが、崖に対する処理としては不自然であった。すなわち、壁の場合、キャラクタの体の一部でも壁に埋まってしまっては不自然であるため、キャラクタの一部でも壁の中に移動しそうになったときは、キャラクタの位置を強制的に押し戻せばよいが、崖の場合、体の一部が崖の外にはみ出しても、崖から落ちることはないうえ壁に埋まってしまうこともない。にもかかわらず、キャラクタの身体全体が崖の内側に納まるように押し戻す制御がされ、崖ぎわぎりぎりでの活動ができないという問題点があった。
【００１２】
この発明は、自然な操作でキャラクタを上の地面から飛び降りさせることができ、且つキャラクタを飛び降りさせることがゲーム進行上好ましくないと判断される場合には、キャラクタが上の地面から外れた場合でも飛び降りさせない制御をするプログラムおよびゲームシステムを提供することを目的とする。また、この発明は、崖ぎわでキャラクタを自然な態様で活動させることができるプログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
この発明のプログラムは、コンピュータを、相互に高低差のある上の地面および下の地面を有するゲーム空間を生成するゲーム空間生成手段、ユーザの操作に応じた操作情報が操作部を介して入力される操作情報入力手段、前記ゲーム空間において、キャラクタを、前記操作情報に基づいて、前記上の地面および下の地面を行き来させて活動させる手段、前記上の地面の前記下の地面に対する境界を、前記上の地面で活動しているキャラクタが越えたことを検出する検出手段、前記検出手段により、前記上の地面で活動している前記キャラクタが前記境界を越えたことが検出されたとき、該境界を越えたキャラクタを前記下の地面に落下させるキャラクタ動作制御手段、として機能させ、前記キャラクタ動作制御手段は、前記境界を越えたキャラクタの前記境界への進入角度を判定する判定手段を含み、前記判定手段が前記進入角度が所定のしきい値未満であると判定したとき、前記境界を越えたキャラクタを前記下の地面に落下させずに、前記上の地面の前記境界内の位置に強制的に移動させることを特徴とする。
【００１５】
上記発明において、前記上の地面で活動している前記キャラクタが前記境界を越えたとき、前記上の地面の上を飛んでいた場合、前記前記進入角度が所定のしきい値未満であった場合でも、前記キャラクタを前記下の地面に落下させてもよい。
【００１７】
この発明のゲームシステムは、上記プログラムを記憶した記憶部と、この記憶部に記憶されているプログラムを実行するコンピュータと、を備えたことを特徴とする。
【００１８】
上記発明では、キャラクタが上の地面の境界を越えたとき、この境界を越えた移動を許可するか否かを判断し、ゲーム進行上好ましくないと判断した場合には、キャラクタを上の地面に押し戻し、ゲーム進行上支障がないと判断した場合には、この移動を許可して、移動した結果としてキャラクタを下の地面に落下させる。キャラクタの移動を許可して下の地面に落下させることがゲーム進行上好ましくない場合とは、たとえば、遊技者がキャラクタを飛び降りさせようとしていないと思われる場合やゲームの構成上キャラクタが落下することを想定していない場合等である。具体的には、遊技者がキャラクタを崖に向かって真っ直ぐ進ませてきて境界を越えた場合には、キャラクタを飛び降りさせる意思があると判断し、遊技者がキャラクタを崖に沿って移動させているときに境界を越えた場合には、キャラクタを飛び降りさせる意思がないと判断する。また、遊技者がキャラクタに攻撃や攻撃の構えをさせているときに境界を越えた場合にも、キャラクタを飛び降りさせる意思がないと判断する。また、キャラクタが相手の攻撃を受けてダメージを受けているときに境界を越えた場合には、ペナルティとして落下させないようにする。これにより、遊技者が自然な操作でキャラクタを上の地面から飛び降りさせることができ、且つキャラクタを飛び降りさせることがゲーム進行上好ましくない場合にはその落下を防止することができる。
【００１９】
なお、境界に対するキャラクタ自身の外縁（キャラクタのアタリ）が大きさを持つとき、キャラクタが境界を越えたことの判定は、「キャラクタの端部が境界に接したこと」、または、「キャラクタの一部が境界の反対側に出たこと」、のいずれに基づいて判定してもよい。「キャラクタの端部が境界に接した」ことをもってキャラクタが境界を越えたと判定するようにした場合には、図１２（Ａ）に示すように、押し戻し手段は「キャラクタを境界内の位置に強制的に移動させる」処理として、「キャラクタを境界に接しない内側の位置に移動させる」処理を行えばよい。また、「キャラクタの一部が境界の反対側に出たこと」ことをもってキャラクタが境界を越えたと判定するようにした場合には、図１２（Ｂ）に示すように、押し戻し手段は「キャラクタを境界内の位置に強制的に移動させる」処理として、「キャラクタの端部が境界に接する位置まで移動させる」処理または「キャラクタを境界に接しない内側の位置まで移動させる」処理を行えばよい。
【００２１】
また、キャラクタの位置を仮想重心とした場合、キャラクタが境界を越えたことの判定は、「仮想重心が境界上にあること」、または、「仮想重心が境界の反対側に出たこと」のいずれに基づいて判定してもよい。「仮想重心が境界にある」ことをもってキャラクタが境界を越えたと判定するようにした場合には、図１３（Ａ）に示すように、押し戻し手段は「キャラクタを上の地面の境界内の位置に強制的に移動させる」処理として、「仮想重心が境界に接しない位置までキャラクタを移動させる」処理を行えばよい。また、「仮想重心が境界の反対側に出たこと」ことをもってキャラクタが境界を越えたと判定するようにした場合には、図１３（Ｂ）に示すように、押し戻し手段は「キャラクタを上の地面の境界内の位置に強制的に移動させる」処理として、「仮想重心が境界に接する位置までキャラクタを移動させる」処理または「仮想重心が境界に接しない位置までキャラクタを移動させる」処理を行えばよい。
【００２５】
以上の発明により、上の地面の端部（崖）においては、キャラクタの仮想重心が上の地面の境界を越えたときに、このキャラクタを落下させるまたは押し戻す処理を行うため、キャラクタの一部が境界を越えたのみで上記処理が行われることがなく、キャラクタ全体が崖の内側に納まるように押し戻されるような（さも壁があるかのような）不自然な処理が行われることがなくなる。また、壁ぎわの処理（壁アタリ処理）と崖ぎわの処理（崖アタリ処理）とを別々の処理としたことにより、それぞれの場所においてキャラクタの位置制御が自然になり、リアルなゲーム進行が可能になる。
【発明の効果】
【００２９】
この発明によれば、自然な操作でキャラクタを上の地面から飛び降りさせることができ、且つキャラクタを飛び降りさせることがゲーム進行上好ましくないと判断される場合には、キャラクタが上の地面から外れた場合でも飛び降りさせないようにすることができる。
【００３０】
また、この発明によれば、崖ぎわにおけるキャラクタの移動や活動をより自然にすることができる。
【発明を実施するための最良の形態】
【００３１】
図面を参照してこの発明の実施形態であるゲーム装置およびゲームプログラムについて説明する。この実施形態では、３Ｄアクションゲームを例にあげて説明する。３Ｄアクションゲームは、ゲーム画面に表示されるゲームステージ内に高低差のある複数の地面が設けられており、キャラクタが上の地面から下の地面に飛び降りたり、下の地面から上の地面によじ登ったりして活動することができるゲームである。
【００３２】
高低差のある複数の地面とは、たとえば、崖の上と崖の下（谷）、屋根と道等であり、上の地面、下の地面のどちらでもキャラクタが活動することができる。以下の説明において、上の地面の下の地面に対する境界を「崖」と言い、下の地面の（上の地面に対する）境界を「壁」と言う。
【００３３】
このゲームでは、キャラクタが崖から出たとき、すなわち上の地面のない位置に移動したとき、キャラクタを下の地面に落下させるべきか否かを判断し、落下させるべきと判断した場合には、飛び降りのアクションでキャラクタを下の地面に落下させる。一方、落下させるべきでないと判断した場合には、キャラクタの位置を上の地面の端（崖）に強制的に修正して（押し戻して）キャラクタを落下させない（崖アタリ処理）。キャラクタを落下させるべきでないと判断するのは、キャラクタが崖から出たのが遊技者の操作ミスに基づくものであると推定される場合、相手の攻撃によるダメージを受けて移動してきた場合等である。
【００３４】
≪ゲーム装置の構成≫
図１は、この発明が適用されるゲーム装置の外観を示す図である。  
このゲーム装置は、ゲーム装置本体５００にコントローラ２００が接続されて構成されている。コントローラ２００は、遊技者によって操作される。遊技者は、このコントローラ２００を用いて、ゲーム中に登場するメインキャラクタ等を操作する。また、ゲーム装置本体５００には、表示装置・オーディオ装置として機能するテレビジョン４０８が接続される（図２参照）。
【００３５】
ゲーム装置本体５００には、ゲームプログラムが記録された記録媒体４１１がセットされるトレイ５０１を有している。記録媒体４１１は、たとえばＤＶＤ（digital versatile disc）である。ゲーム装置本体５００は、この記録媒体４１１からゲームプログラムを読み取って、このプログラムを実行する。なお、このゲーム装置本体５００は、上記ゲームプログラム処理機能のほか、ＤＶＤビデオの再生、ＣＤＤＡ（compact disc digital audio）の再生等を実行することもできる。
【００３６】
また、装置前面には、コントローラ２００が接続されるコネクタ５１０、フラッシュメモリからなるカード型の外部メモリ４１５（図２参照）がセットされるメモリスロット５１１が、それぞれ２つずつ設けられている。
【００３７】
図２は、ゲーム装置本体５００の内部構成を示すブロック図である。
ゲーム装置本体５００は、装置全体の動作を制御するＣＰＵ４０１を有している。このＣＰＵ４０１に対してＲＡＭ４０２およびバス４０３が接続される。ＲＡＭ４０２には、ゲームの進行に応じて各種のデータが記憶される。
【００３８】
バス４０３には、グラフィック・プロセッサ・ユニット（ＧＰＵ）４０４、インプット・アウトプット (Ｉ／Ｏ)ポート４０９が接続される。ＧＰＵ４０４には、デジタル映像信号をＮＴＳＣテレビ ジョン方式やＰＡＬテレビジョン方式に変換するためのデコーダ４０７を介して、外部機器であるテレビジョン（ＴＶ）４０８が、接続される。
【００３９】
Ｉ／Ｏポート４０９には、光ディスクである記録媒体４１１に記録されているデータを再生し、デコードするためのドライバ（ＤＲＶ）４１０，サウンド・プロセッサ（Ｓ・Ｐ）４１２、フラッシュメモリからなる外部メモリ４１５、コントローラ２００およびＲＯＭ４１６が接続される。
【００４０】
ＲＯＭ４１６には、このゲーム装置本体５００を起動するとともに基本的な機能を実現するためのシステムプログラムが記憶されている。外部メモリ４１５には、遊技者の情報や実行しているゲームの途中経過等が記憶される。遊技者は、ゲームプログラムを記憶した記憶媒体４１１と自己の外部メモリ４１５をセットすることにより、途中で中断したゲームを、その中断したタイミングから再開することができる。
【００４１】
サウンド・プロセッサ４１２は、増幅器４１３を介して、外部機器であるスピーカ４１４に接続される。このスピーカ４１４は、一般的には、上記テレビジョン４０８に内蔵されているスピーカである。
【００４２】
図３は、コントローラ２００の外観を示す平面図である。
コントローラ２００は、略コ字形をしており、遊技者が両翼部の２０１Ｌ，２０１Ｒを左右両手で把持して操作する。コントローラ２００の左右上面には操作ボタン群２１０、２２０、アナログスティック２１２、２２２が設けられており、コントローラ２００の右前面にはＲ１ボタン２１１、左前面にはＬ１ボタン２２１がそれぞれ設けられている。操作ボタン群２１０、２２０は、それぞれ遊技者の右手親指、左手親指で操作される。また、Ｒ１ボタン２１１、Ｌ１ボタン２２１は、それぞれ遊技者の右手人指し指、左手人指し指で操作される。
【００４３】
右側の操作ボタン群２１０は、４個の操作ボタン２１０Ａ〜２１０Ｄを備えている。操作ボタン２１０Ａ〜２１０Ｄには、識別を容易にするために頭部に各々「△」「○」「×」「□」の識別マークが付されている。このゲーム装置で実行されるゲームにおいて、この操作ボタン群２１０は、主として、ゲーム中に登場するメインキャラクタに特定の動作をさせるためのボタンとして設定される。特定の動作とは、たとえば、技をくり出す、ジャンプする等である。ゲーム「ＤＥＶＩＬ  ＭＡＹ  ＣＲＹ（登録商標）４」では、操作ボタン群２１０の各ボタンおよびＲ１ボタン２１１、Ｌ１ボタン２２１は、メインキャラクタに各種の行動を行わせるためのボタンとして機能する。遊技者によって△ボタン２１０Ａや○ボタン２１０Ｂがオンされると、前記ＣＰＵ４０１の制御により、ゲーム中のメインキャラクタは、剣を振ったり銃を撃つ等の攻撃技をくり出して敵キャラクタを攻撃する。また、遊技者によって×ボタン２１０Ｃがオンされると、前記ＣＰＵ４０１の制御により、メインキャラクタがジャンプする。また、遊技者によってＲ１ボタン２１１がオンされると、ＣＰＵ４０１の制御により、ゲーム中のメインキャラクタは、武器を構える構えモーションとなる。
【００４４】
また、左側の操作ボタン群２２０は、前後左右に十字型に組み合わされた４個の操作ボタンを備えている。アナログスティック２１２、２２２は、前後左右を含む３６０度の方向に傾倒可能なスティックを有する操作子である。アナログスティック２１２、２２２が、遊技者によって操作されると、その操作による傾倒方向及び傾倒度合いに応じた操作量データがコントローラ２００から出力される。前記ゲームにおいて、左アナログスティック２２２が、メインキャラクタの移動動作を制御するための操作子として設定される。遊技者がアナログスティック２２２を前に倒すとメインキャラクタが前に移動する。その倒す角度が大きいほど移動速度が早くなる。すなわち、倒す角度が小さいときは歩きモーションで移動し、倒す角度が大きいときは走りモーションで移動する。アナログスティック２２２を前以外の方向に倒すと、メインキャラクタはその倒した方向に移動する。
【００４５】
また、遊技者が、複数の操作子を所定の組み合わせで操作すると、メインキャラクタに特殊な動作をさせることができる。たとえば、遊技者が、Ｒ１ボタン２１１をオンしながら左アナログスティック２２２を操作すると、メインキャラクタは、武器を構えた姿勢で移動する（構え歩き）。また、この構え歩きの操作状態でさらに△ボタン２１０Ａをオンすると、メインキャラクタは、ジャンプして移動しつつ武器を何度か振り下ろす「ハイタイムジャンプ」という技をくり出す。
【００４６】
≪アタリ処理の説明≫
次に図４〜図１０を参照してこの実施形態のゲームにおける壁や崖のアタリ処理について説明する。
ここで、一般的に、アタリとは、ゲーム空間に存在する各オブジェクトが占有する排他的な空間を言い、アタリ処理とは、ゲーム空間において複数のオブジェクトのアタリが接触したことに基づいて、オブジェクト同士の接触を検出する処理である。この実施形態のゲームでは、さらにオブジェクトとして存在しない上の地面の下の地面に対する境界（崖）にもアタリ（崖アタリ）を設定し、キャラクタのアタリがこの崖アタリを越えたことに基づいて、キャラクタが崖の外へ移動したことを検出している。また、このゲームでは、キャラクタと崖アタリとのアタリ処理に、一般的な形状である排他的な空間のアタリに代えて、仮想重心をアタリとして用いている。
【００４７】
以下の説明では、ゲーム空間に設定された境界面（壁アタリ、崖アタリ）、および、キャラクタに設定された排他空間（壁に対するキャラクタアタリ）および仮想重心（崖に対するキャラクタアタリ）を用いて、キャラクタが壁の中や崖の外に移動したことを検出し、そのキャラクタの位置を強制的に壁の外や崖の内側に移動させる位置修正処理について説明する。
【００４８】
図４は、ゲーム画面における壁アタリ、崖アタリの例を示す図である。洞窟を表現したゲーム空間に、小屋５０、やぐら５１等の建造物が設置されており、各建造物５０、５１の壁面および洞窟の岩盤面にキャラクタをそれより内側に進入させない境界面である壁アタリ２０が設定されている。建造物の壁面や洞窟の岩盤面は複雑な表面形状をしているため、この表面形状をそのままキャラクタの進入に対する境界として用いるとＣＰＵ４０１の処理が過大になる。そこで、建造物の壁面や洞窟の岩盤面の表面形状とは別に、これらを簡略化した壁アタリ２０を設定して処理を簡略化している。なお、この壁アタリ２０は、ゲーム画面には表示されない。
【００４９】
そして、各建造物５０、５１の上方に、崖アタリ２１が設定されている。上の地面すなわち崖の上や建造物５０、５１の上で活動しているキャラクタが上の地面から外れたか否かの判定を容易にするため、上の地面の下の地面に対する境界（崖）には、その境界から上方に伸びる境界面である崖アタリ２１が設定されている。この崖アタリ２１も、ゲーム画面には表示されない。
【００５０】
これに対して、キャラクタ１０には、図５に示すように、壁アタリ２０に対するカプセル状のキャラクタアタリ１１および崖アタリ２１に対する線状（または点状）のキャラクタアタリ１２の２種類が設定される。
【００５１】
キャラクタ１０が、壁に向かって移動してきたとき、壁アタリ２０と壁に対するキャラクタアタリ１１が重ならないように、すなわちキャラクタ１０が壁に埋まらないようにキャラクタ１０の位置が強制的に修正される。
【００５２】
また、キャラクタが崖に向かって移動してきて、崖に対するキャラクタアタリ１２が崖アタリ２１を越えたとき、そのときのキャラクタ１０の動作等に応じてキャラクタ１０の動作を制御する。すなわち、その移動を許可してキャラクタ１０を崖の外に移動させ、その結果下の地面に落下させると判断した場合には、崖アタリ２１を越えた位置のまま崖下（下の地面）にキャラクタ１０を落下させる。また、キャラクタ１０の移動を許可しないと判断した場合には、キャラクタアタリ１２が崖アタリ２１を越えない位置までキャラクタ１０の位置を強制的に修正する。
【００５３】
図５（Ｂ）および図６は、壁ぎわのアタリ処理を説明する図である。図５（Ｂ）に示すように、壁ぎわにおける壁アタリ２０に対するアタリ処理のために、キャラクタ１０に対してその外観形状を内包させて簡略化したカプセル状のキャラクタアタリ（排他空間）１１が設定される。図５（Ｂ）の状態を平面から見た図が図６（Ａ）である。図示のようにキャラクタアタリ１１は、キャラクタ１０を内包する簡略なカプセル状になっている。キャラクタ１０は、非常に複雑な表面形状をしているため、この表面形状をそのまま壁面との衝突を判断するオブジェクトとして用いるとＣＰＵ４０１の処理が過大になるため、この外観形状とは別に、外観形状を内包し且つ形状を簡略化したキャラクタアタリ１１が設定されている。なお、このキャラクタアタリ１１の形状は、キャラクタ１０のモーションの変化すなわち外観形状の変化に連動して変化するようになっている。また、このキャラクタアタリ１１は、ゲーム画面には表示されない。
【００５４】
キャラクタ１０が、遊技者の移動操作や敵の攻撃によって飛ばされたことにより壁ぎわへ移動し、キャラクタアタリ１１の一部が壁アタリ２０に当たったとき、キャラクタアタリ１１が壁アタリ２０の内側になるようにキャラクタ１０を押し戻して位置を修正する（図６（Ｂ））。これにより、キャラクタ１０が壁に埋まってしまうことを防止している。
【００５５】
また、上述したように、壁アタリ２０に対するキャラクタアタリ１１は、キャラクタの外観形状に応じて変化する。キャラクタの外観形状は、動作状態（モーション）応じた形態に描画形成される。すなわち、歩きモーション時には、キャラクタは歩いているような外観形状に形成される。構えモーション時には、キャラクタは武器を構えているような外観形状に形成される。攻撃モーション時には、キャラクタは相手を攻撃する技をくり出している姿勢の外観形状に形成される。このようなキャラクタの外観形状の変化に合わせてキャラクタアタリの形状も変化する。図６（Ｃ）は、通常の歩きモーション時のキャラクタの形状１０とキャラクタアタリ１１とを模式的に示す図である。一方、図６（Ｄ）は、他のモーション（構えモーション等）に変化したときのキャラクタの形状１０とキャラクタアタリ１１′とを模式的に示す図である。図６（Ｃ）に示すように、キャラクタ１０が歩きモーションの場合には、キャラクタアタリ１１が小さいため壁アタリ２０に達しないが、図６（Ｄ）に示すように、キャラクタ１０が他のモーションに変化すると、キャラクタアタリ１１′の形状が変化して大きくなり、壁アタリ２０に重なる場合がある。この場合には、キャラクタアタリ１１が壁アタリ２０と重ならないように、キャラクタ１０を強制的に移動させる（図６（Ｅ））。これにより、構え，攻撃等の他のモーションをしているキャラクタ１０が壁に埋まらないようにすることができる。
【００５６】
次に、図５（Ａ）および図７は、崖ぎわのアタリ処理を説明する図である。図５（Ａ）に示すように、崖ぎわにおける崖アタリ２１に対するアタリ処理のために、キャラクタ１０に対して仮想重心としてキャラクタ１０のほぼ中心に線状のキャラクタアタリ１２が設定される。なお、このキャラクタアタリ１２は点状であってもよい。図５（Ａ）の状態を平面から見た図が図７（Ａ）である。図示のように、キャラクタ１０の外観形状のほぼ中心に線状（平面から見ると点状の）キャラクタアタリ１２が設定されている。遊技者による移動操作や敵の攻撃によって飛ばされたことにより、図７（Ｂ）に示すようにキャラクタアタリ１２が崖アタリ２１を越えたとき、キャラクタ１０のこの移動を許可するか否か、すなわち、キャラクタ１０を崖から落下させるか否かは、後述の落下判定ルールによって決定される。落下判定ルールに基づき、キャラクタ１０の移動を許可する、すなわち、キャラクタ１０を落下させると決定された場合には、図７（Ｂ）の状態から、キャラクタは下の地面に落下する。図８は、実際のゲームにおいて、キャラクタ１０が落下している状態、すなわち、キャラクタ１０が小屋５０の屋根から下に飛び降りている状態を示す図である。一方、落下判定ルールに基づき、キャラクタを落下させないと決定された場合には、図７（Ｂ）の状態から、キャラクタが崖から外れないように、キャラクタアタリ１２が崖アタリ２１に接する位置までキャラクタ１０を押し戻して位置を修正する。
【００５７】
また、キャラクタアタリ１２が線状（または点状）であるため、図７（Ｃ），（Ｄ）に示すように、キャラクタ１０の外観形状が歩きモーションから他のモーション（たとえば攻撃モーション）に変化した場合でも、キャラクタアタリの形状は変化しない。したがって、崖際で構えモーションをしたことにより腕が崖の外に出た場合に、壁アタリの場合のように、キャラクタが強制的にアタリの内側へ移動されてしまうということがなくなる。
【００５８】
図９は、屋根の上（崖ぎわ）でキャラクタ１０が銃を構えている動作である。この図のように、銃および服の一部が屋根から外れているが、このキャラクタ１０の仮想重心であるキャラクタアタリがこの屋根に設定されている崖アタリの内側にあるため、キャラクタ１０は下に落下したり、屋根の内側に押し戻されたりしていない。
【００５９】
すなわち、壁アタリ処理の場合には、伸ばした腕が壁に埋まっては不自然であるため、腕が壁の外になるようにキャラクタを強制的に移動させることが好ましい。したがって、壁アタリ処理の場合には、キャラクタアタリをキャラクタの外観形状を内包するカプセル状としている。一方、崖アタリ処理の場合には、キャラクタの重心が崖から外れると落下させるべきであるが、腕や服の一部だけが崖の外に出ても問題はない。このため、崖アタリ処理の場合には、キャラクタアタリの形状を仮想重心の線状または点状としている。これにより、崖アタリ処理と壁アタリ処理とでそれぞれのアタリに適した処理を可能にしている。
【００６０】
そして、崖アタリ処理の場合、キャラクタアタリ１２が崖アタリ２１を越えたとき、そのキャラクタ１０の移動を許可するか否か、すなわち、そのキャラクタ１０を崖から落下させるか否かを、遊技者の操作意図およびゲームにおける場面に基づいて判定する。この判定のためのルール（落下判定ルール）は以下のとおりである。
【００６１】
キャラクタアタリ１２が崖アタリ２１を越えたとき；
（１）構え歩き中ならば落下させない。
（２）攻撃モーション中ならば落下させない。
（３）相手から押されてきた場合には落下させない。
（４）攻撃を受けてダメージを受けている間（のけぞり中）ならば落下させない。
（５）攻撃を受けて飛ばされて空中にいるとき（ぶっ飛び）ならば落下させる。
（６）特定の攻撃モーション（ハイタイムジャンプなど）ならば落下させる。
（７）自分から（遊技者の操作で）ジャンプした場合には落下させる。
（８）自分から落ちようと移動（歩き，走り）していた場合には落下させる。
（９）自分から落ちようとしないで移動していた場合には落下させない。
【００６２】
（１），（２）は、構え歩き中や攻撃モーション中に崖から落下すると、ゲーム本来の目的である戦闘が中断してしまうため、このような場合には、遊技者が操作誤ってキャラクタを崖の外に移動させても落下させないようにしている。（３）も同様に、相手から押される場面は、相手キャラクタとの戦闘中であるため、キャラクタを落下させないようにしている。
【００６３】
また、（４）の場合には、相手の攻撃を受けてダメージを受けている時間帯（のけぞり中）は、ゲームにおいて、攻撃を受けたことに対するペナルティとして設定されており、攻撃、防御ができない状態になっている。このとき、落下を許すと、このペナルティから逃れられてしまうため、この間は落下を許可しないようにしている。ただし、（５）の攻撃を受けて大きく飛ばされる「ぶっ飛び」は、ゲームにおいて、攻撃を受けたキャラクタを相手キャラクタから離す意図で設けられている。したがって、このときに落下を許可してもゲームの趣旨から大きく外れることがないため、落下を許可している。
【００６４】
また、（６）〜（９）は、遊技者の操作意思を推測してその意思に合わせて落下させるか否かを決定している。このうち、（８），（９）の自分から落ちようと移動しているか、落ちようとしないで移動しているかの判定は、キャラクタアタリ１２の崖アタリ２１に進入した角度によって行う。すなわち、図１０に示すように、キャラクタアタリ１２の崖アタリ２１への進入角度がしきい値角度θ0 以上の(垂直に近い)場合には、キャラクタ１０を落下させ、進入角度がθ0 よりも小さい場合には、キャラクタ１０を落下させない。これは以下の理由による。キャラクタ１０が崖に向かってまっすぐ進入した場合には、遊技者がキャラクタ１０を崖から飛び降りさせようと操作していると考えられるため、キャラクタ１０を落下させる。一方、キャラクタ１０が崖に斜めに進入した場合には、遊技者がキャラクタ１０を崖に沿って移動させようとしたが、誤って崖を踏み越えてしまったと考えられるため、キャラクタ１０を落下させずに崖（崖アタリ２１）に沿って移動させる。
【００６５】
図１１は、崖ぎわのアタリ処理を示すフローチャートである。ゲームプログラムにおけるアタリ処理を示すフローチャートである。まずＳ１でキャラクタ１０のキャラクタアタリ１２が崖アタリ２１を越えたかを判定する（Ｓ１）。越えたと判定されるまでＳ１で待機する。キャラクタアタリ１２が崖アタリ２１を越えると（Ｓ１でＹＥＳ）、そのキャラクタ１０が地上にいるかを判断する（Ｓ２）。ジャンプしている場合および攻撃によって飛ばされている場合には（Ｓ２でＮＯ）、上記落下判定ルールに基づいてキャラクタ１０を落下させるため、Ｓ５に進んで、崖アタリ２１の通過を許可してキャラクタ１０を下の地面に落下させる。
【００６６】
一方、キャラクタ１０が地上にいる場合には（Ｓ２でＹＥＳ）、そのキャラクタが通常の歩きまたは走りのモーション中であるかを判断する（Ｓ３）。通常の歩き，走りのモーションでない場合には（Ｓ３でＮＯ）、上記落下判定ルールに基づきキャラクタ１０の崖アタリ２１の通過を不許可とし、キャラクタアタリ１２が崖アタリ２１に接する位置までキャラクタ１０を押し戻す（Ｓ６）。これにより、キャラクタ１０は下の地面へ落下しない。
【００６７】
キャラクタ１０が通常の移動動作である歩きモーションまたは走りモーションで崖アタリ２１へ進入してきた場合には（Ｓ３でＹＥＳ）、その進入角度を判断する（Ｓ４）。進入角度が上記θ0 以 上の場合には、崖下に飛び降りるための移動であると判断して、崖アタリ２１の通過を許可し、キャラクタ１０を下の地面に落下させる（Ｓ５）。一方、進入角度がθ0 未満の場合には飛び降りるた めの移動ではないと判断して、キャラクタ１０の崖アタリ２１の通過を不許可とし、キャラクタアタリ１２が崖アタリ２１に接する位置までキャラクタ１０を押し戻す（Ｓ６）。これにより、キャラクタ１０は下の地面へ落下しない。
【００６８】
これにより、遊技者の意図やゲームが想定する進行にあった崖アタリ処理を行うことができる。
【００６９】
なお、この実施形態では、壁アタリ２０の処理においては、キャラクタアタリ１１が壁アタリ２０に接したときアタリ処理を行い、崖アタリ２１の処理においては、キャラクタアタリ１２が崖アタリ２１を越えたときアタリ処理を行うようにしているが、キャラクタアタリ１１の一部が壁アタリ２０を越えたときアタリ処理を行うようにしてもよく、また、キャラクタアタリ１２が崖アタリ２１に接したときアタリ処理を行うようにしてもよい。
【００７０】
なお、上記実施形態では、主として遊技者によって操作されるメインキャラクタのアタリ処理について説明したが、メインキャラクタと対決する敵キャラクタについても上記と同様の落下判定ルールを適用してアタリ処理をすることが可能である。
【００７１】
なお、崖アタリに対応するキャラクタアタリは、キャラクタ１０の仮想重心に限定されない。すなわち、キャラクタ１０の位置制御が不自然にならない範囲でキャラクタ内またはキャラクタ近傍の任意の線または点に設定することが可能である。
【００７２】
なお、壁アタリに対応するキャラクタアタリは、カプセル形状に限定されない。すなわち、キャラクタ１０がほぼ包含される形状であれば直方体、球またはこれらを組み合わせた立体に設定することが可能である。
【００７３】
また、キャラクタの活動状態に応じて通過を許可するか否かの判定対象となるアタリは、崖アタリに限定されない。たとえば、壁またはその他のオブジェクトであっても、キャラクタが特定の活動状況であった場合には、アタリの通過を許可して、そのオブジェクトの反対側またはそのオブジェクトの内側にキャラクタを進行させるようにしてもよい。
【図面の簡単な説明】
【００７４】
【図１】この発明が適用されるゲーム装置の外観図
【図２】ゲーム装置本体の内部構成を示すブロック図
【図３】ゲーム装置のコントローラの構造を示す平面図
【図４】壁アタリおよび崖アタリを説明する図
【図５】壁アタリ、崖アタリとキャラクタアタリの対応を説明する図
【図６】壁アタリ処理を説明する図
【図７】崖アタリ処理を説明する図
【図８】ゲームにおいて、メインキャラクタが上の地面（屋根）から飛び降りている場面を示す図
【図９】ゲームにおいて、メインキャラクタが上の地面（屋根）の端で武器を構えた状態を示す図
【図１０】キャラクタの崖アタリへの進入角度に基づく落下判定ルールを説明する図
【図１１】崖アタリ処理の手順を示すフローチャート
【図１２】キャラクタの境界処理の方式を説明する図
【図１３】キャラクタの境界処理の方式を説明する図
【符号の説明】
【００７５】
１０，１０′  キャラクタ
１１，１１′  （壁アタリに対する）キャラクタアタリ
１２  （崖アタリに対する）キャラクタアタリ
２０  壁アタリ
２１  崖アタリ
５００    ゲーム装置本体
２００    コントローラ
４０１    ＣＰＵ
４０２    ＲＡＭ
２１０Ａ  △ボタン
２１１    Ｒ１ボタン
２２１  左アナログスティック
【図１】
0005620042.tif 000002
【図２】
0005620042.tif 000003
【図３】
0005620042.tif 000004
【図４】
0005620042.tif 000005
【図５】
0005620042.tif 000006
【図６】
0005620042.tif 000007
【図７】
0005620042.tif 000008
【図８】
0005620042.tif 000009
【図９】
0005620042.tif 000010
【図１０】
0005620042.tif 000011
【図１１】
0005620042.tif 000012
【図１２】
0005620042.tif 000013
【図１３】
0005620042.tif 000014