以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
[ゲーム概要]
以下の説明では、ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、仮想のゲーム空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
[ハードウェア構成]
上述したゲームを実現するゲームシステムの構成について説明する。図1は、本実施の形態におけるゲームシステムの外観構成を示す外観図である。本実施の形態におけるゲームシステムAは、モニタ(表示部)1、スピーカ2および2つのコントローラ(操作部)3a,3b等の外部装置と、後述する制御部4が格納されるゲーム装置本体5とを備えている。制御部4は、ゲーム装置本体5内の記憶部(後述するROM11等)に記憶されたゲームプログラム30aおよびゲームデータ30bに基づいてモニタ1およびスピーカ2に所定の映像および音声を出力する。さらに、制御部4は操作部3a,3bからの操作入力を受け付け、当該操作入力に基づいて出力内容を変化させる。
モニタ1は、仮想空間に配置した仮想カメラで撮影した画像をゲーム画面として表示する。モニタ1は、例えば大型の液晶パネルを有している。スピーカ2はゲーム中の音声(例えば、効果音、操作音、背景音楽等)を出力する。操作部3a,3bは、ゲームをプレイするユーザが把持して行う操作入力を受け付ける。操作部3a,3bは、ゲームをプレイするユーザが左手で把持する第1操作部3aと、右手で把持する第2操作部3bとを含む。このように、本ゲームのゲームシステムAでは、一のプレイヤキャラクタを操作するのに2つの操作部3a,3bを使用する。モニタ1の周囲には、操作部3a,3bの照準座標を検出するための複数の光照射部(例えばLED)6が配置されている。
図2は、図1に示すゲームシステムに用いられる操作部の構成を示す平面図である。図2に示すように、各操作部3a,3bは、ユーザが操作入力を行う操作子20a,20bと、操作部3a,3bの照準座標を検出するための撮像部21a,21bおよび画像処理部22a,22b(後述する図3参照)とを備えている。本実施の形態において、操作部3a,3bは、ユーザがそれぞれ片手で把持する長寸の把持部23a,23bと、把持部23a,23bの先端側に設けられ、各種の操作入力を行うことが可能な複数の操作子20a,20bが設けられる操作子設置部27a,27bとを備えている。
操作子設置部27a,27bには、操作子設置部27a,27bに軸支され、操作子設置部27a,27bから把持部23a,23bに沿ってその基端側へ延び、把持部23a,23bと共に握ることで操作入力が行われる第1レバー24a,24bと、方向入力動作を行うことが可能な第2レバー25a,25bと、押下操作することにより操作入力を行うことが可能な操作ボタン26a,26bと、が設けられている。
本ゲームにおいては、第1レバー24a,24bがユーザの把持操作によりプレイヤキャラクタが攻撃動作を行う攻撃レバーとして機能する。このうち一方の第2レバー25aがプレイヤキャラクタの移動(プレイヤキャラクタの向きの変更)を行う移動レバーとして機能し、他方の第2レバー25bがゲーム画面における視点移動(仮想カメラの移動)を行う視点移動レバーとして機能する。
また、本ゲームにおいては、プレイヤキャラクタが、ワイヤーがついたアンカーを建物の壁等のオブジェクト(所定のオブジェクト)に向けて射出し、当該オブジェクトにアンカーが係合した状態でワイヤーを巻き取ることでプレイヤキャラクタが立体的に移動する立体機動という移動方法を取ることができる。このために、操作部3a,3bのうちの少なくとも一方に対応する照準マーカ(後述)をゲーム画面に表示される所定のオブジェクトに合わせた状態で対応する操作ボタン26a,26bを押下操作する(後述する第1操作および第2操作)ことにより、プレイヤキャラクタを立体機動により移動させることができる。
撮像部21a,21bは、操作部3a,3bの所定位置に設けられている。本実施の形態において、撮像部21a,21bは、操作子設置部27a,27bの先端位置(先端部)に設けられている。撮像部21a,21bは、複数の光照射部6から照射される赤外光を捉えて2次元の撮像画像を出力する。
撮像部21a,21bは、例えばCCDイメージセンサまたはCMOSイメージセンサ等が適用される。撮像部21a,21bは、光学レンズおよび赤外線フィルタを介して光照射部6からの赤外光を受光することにより、可視光などのノイズを含まない赤外光の輝点を捉えた撮像画像を画像処理部22a,22bに出力する。
画像処理部22a,22bは、撮像部21a,21bからの撮像画像を画像処理し、この撮像画像内の輝点の位置に基づき、ゲーム画面における照準の位置を示す照準座標を検出する。これにより、画像処理部22a,22bは、照準座標情報を出力する。このような画像処理部22a,22bによる照準座標の検出処理は、公知の技術によって実現される。画像処理部22a,22bから出力された照準座標情報は、入力インターフェース14を介してCPU10に入力される(後述する図3参照)。
CPU10は、照準座標情報に基づいてモニタ1の画面上に操作部3a,3bの照準座標に対応して照準マーカ(後述する図5のMa,Mb)を表示する。このようにして、ユーザが操作部3a,3bを介して操作するゲーム画面における照準の位置を示す照準座標が特定可能である。これにより、結果として、ユーザがモニタ1に対し操作部3a,3bの先端を向けた位置に、照準が表示される。
図3は、図1に示すゲームシステムのハードウェア構成を示すブロック図である。図3に示すように、ゲームシステムAは、ゲーム装置本体5の内部に、その動作を制御するコンピュータである制御部4としてCPU10を備えている。ゲーム装置本体5は、ROM11、RAM12、GPU13、入力インターフェース(I/F)14、出力インターフェース(I/F)15、および通信インターフェース(I/F)16を備え、これらがそれぞれCPU10とバス17を介して相互に接続されている。
ROM11には、ハードウェアの基本的な動作を制御するためのシステムプログラム、および、ゲームに関する各種の処理をCPU10に実行させるための命令を記したゲームプログラム30aが記憶されている。また、ROM11には、ゲーム用のCGデータおよびオーディオデータ、ならびに制御テーブルが記憶されている。さらに、ROM11には、後述する照準マークをゲーム画像に合成して表示(オーバーレイ表示)するためのレイヤーデータも記憶されている。
照準マークは、操作部3a,3bの照準座標をゲーム画像に示すためのオブジェクトである。RAM12は、CPU10によるプログラムのロード、ならびにデータなどの一時的な記憶に用いられる。たとえばRAM12には、ROM11から読み出されたCGデータが記憶され、その後、そのCGデータがRAM12から呼び出されてGPU13へと転送される。
GPU13は、CPU10の指示に従ってゲーム空間および各キャラクタ等を含むゲーム画像を描画する。GPU13には、VRAM18およびビデオインターフェース(I/F)19を介してモニタ1が接続されており、GPU13にて描画されたゲーム画像はビデオインターフェース19において動画形式に変換され、モニタ1にて表示されるようになっている。
VRAM18は、GPU13によって生成されたゲーム画像を一時的に保持するフレームバッファとして機能するほか、GPU13の各種処理に際して必要なデータも一時的に保持する。VRAM18に保持されたゲーム画像は、ビデオインターフェース19を介して1フレームずつモニタ1に転送される。
出力インターフェース15は、CPU10の指示に従ってデジタルのゲーム音声を再生および合成する。出力インターフェース15には、外部のスピーカ2が接続され、出力インターフェース15にて再生および合成されたゲーム音声は、アナログ形式にデコードされ、スピーカ2から外部へ出力されるようになっている。また、出力インターフェース15には、操作部3a,3bの照準座標検出用の光照射部(例えばLED)6が接続されている。
入力インターフェース14は、第1操作部3aおよび第2操作部3bと接続され、この操作部3a,3bに設けられたボタン等の操作子20a,20bを操作入力することにより、当該操作入力に基づく操作信号が入力インターフェース14を介してCPU10に伝えられる。
また、通信インターフェース16は、インターネットまたはLANなどの通信ネットワークNWに対してゲームシステムAを接続するものであり、他のゲームシステムAまたはサーバ装置(図示せず)との間で通信可能である。そして、ゲームシステムAを、通信ネットワークNWを介して他のゲームシステムAと接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。
[ゲーム装置の機能的構成]
図4は、図3に示すゲームシステムAの機能的な構成を示すブロック図である。図3に示すようにゲームシステムAは、CPU10、ROM11、RAM12、GPU13、VRAM18、ビデオインターフェース19、入力インターフェース14、出力インターフェース15、通信インターフェース16等を含む制御部4を備えたコンピュータとして動作する。そして、図4に示すように、ゲームシステムAの制御部4は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段41、キャラクタ制御手段42、オブジェクト配置手段43、オブジェクト判定手段44、ワイヤーアンカー表示手段45、通信手段46、およびマーカ表示手段47等の機能を発揮する。
このうち、仮想空間生成手段41は、ユーザが操作するプレイヤキャラクタが行動する仮想空間(ゲーム空間)を生成する。仮想空間生成手段41は、キャラクタが動作する仮想のゲーム空間および当該ゲーム空間内で動作する各キャラクタを生成し、モニタ1に表示させる。例えば、仮想空間生成手段41は、プレイヤキャラクタの移動に伴って、ゲームデータ30bに含まれるオブジェクトおよびテクスチャなどのデータを読み出し、三次元の仮想ゲーム空間を生成する。さらに、仮想空間生成手段41は、ゲームシステムAのモニタ1にゲーム空間を表示するために、生成したゲーム空間に配置した所定の仮想カメラで撮影したときの二次元画像を生成し、モニタ1にゲーム画面として表示する。
キャラクタ制御手段42は、少なくとも当該コンピュータを操作するユーザに対応するキャラクタ(プレイヤキャラクタ)の行動を、当該ユーザによる操作部3a,3bの操作入力またはゲームの進行状況に応じて制御する。さらに、キャラクタ制御手段42は、ゲーム空間にて行動するノンプレイヤキャラクタの動作を制御する。
通信手段46は、ゲームに参加する他のユーザにより操作される他のコンピュータとの間で、ゲームを同期して進行させるべくデータの送受信を行う。なお、複数のゲームシステムAのコンピュータ同士で通信を行う際、各コンピュータが所定のサーバに接続し、当該サーバにおいてゲーム進行を管理するオンラインゲームとして構成されてもよい。
また、各コンピュータからの所定のマッチングサーバへのリクエストに応じてマッチングサーバが複数のコンピュータをマッチングし、マッチングされた複数のコンピュータ同士で相互通信を行ってゲームを進行するP2P(ピアツーピア)方式の通信ゲームとして構成されてもよい。
例えば、P2P通信方式のゲームにおいては、まず、一のユーザ(ホストユーザとなる)のコンピュータがマッチングサーバにセッション作成要求信号を送信する。このセッション作成要求信号に基づいてホストユーザが操作するコンピュータまたはマッチングサーバがセッションを形成する。形成されたセッションの情報は、マッチングサーバにおいて、セッションのリストに組み込まれ、一時記憶される。一方、他のユーザ(ゲストユーザとなる)は、何れかのホストユーザにより形成されたセッションに参加したい場合、当該ゲストユーザの所定の操作に基づいて当該ゲストユーザのコンピュータがマッチングサーバにセッション情報要求信号を送信する。
マッチングサーバは、記憶しているセッションのリストをゲストユーザのコンピュータへ送信し、ゲストユーザのコンピュータは、それをゲーム画面上に表示させる。ゲストユーザがセッションのリストの中から1つのセッションを選択すると、ゲストユーザのコンピュータは、マッチングサーバにセッション参加信号を送信する。マッチングサーバは、当該セッションに参加するユーザの各コンピュータにP2P通信に必要な情報(例えばセッションに参加する他のユーザのゲームデータ、キャラクタデータなど)を送信する。その後、セッションに参加するユーザのコンピュータ同士でP2P通信を行い、セッションが確立される。
セッションが確立された後は、他のユーザに対応するキャラクタは、他のコンピュータのキャラクタ制御手段42により制御され、当該制御情報が通信手段46を通じてユーザのコンピュータに送られ、当該コンピュータが当該制御情報に基づいて同一のゲーム空間内で他のユーザに対応するキャラクタを動作させる。
セッションは、一のユーザのコンピュータと他のユーザのコンピュータとの間の通信経路に設けられたネットワークサーバ(例えば上記マッチングサーバ)などに形成されてもよいし、一のユーザのコンピュータおよび他のユーザのコンピュータの何れかに形成されてもよい。本実施の形態においては、複数のユーザのうちの一のユーザ(ホストユーザ)が作成したセッションにその他のユーザ(ゲストユーザ)が参加することにより、当該セッションが形成されたステージにおいて、複数のユーザが同じゲーム空間内でゲームを進行させることができる。
マーカ表示手段47は、上記のように特定される照準座標に基づいてゲーム画面上に照準用のマーカ(照準マーカ)を表示させる。
オブジェクト配置手段43は、仮想空間に所定のオブジェクトを配置する。オブジェクト判定手段44は、操作部3a,3bによる所定の第1操作(後述)時においてゲーム画面における照準座標と、ゲーム画面内に表示される所定のオブジェクトの位置との位置関係に関する所定の判定処理(後述する第1判定および第2判定)を行う。
ワイヤーアンカー表示手段45は、上記所定の第1操作に基づいてプレイヤキャラクタの位置から所定のオブジェクトに向けてワイヤーに接続されたアンカーを射出し、所定のオブジェクトにアンカーを係合するワイヤーアンカー射出表示をゲーム画面上に行う。
[立体機動]
図5は、本実施の形態におけるゲーム画面の例を示す図である。図5に示すように、ゲーム画面50には当該コンピュータに操作入力を行うユーザが操作するプレイヤキャラクタCのゲーム空間上における位置周辺の画像が表示される。ゲーム本編におけるゲーム画面50には、プレイヤキャラクタCの背後に配置された仮想カメラ(図示せず)からゲーム空間を撮像した画像が表示される。
ゲーム画面50には、ユーザが操作するプレイヤキャラクタC以外に、他のユーザにより操作される他のプレイヤキャラクタ、敵キャラクタ等のノンプレイヤキャラクタ、所定のオブジェクトD1,D2(図5においては建物の壁または屋根)等が仮想カメラの視野内に位置した場合にそれらを当該位置において表示される。
ゲーム画面50には、モニタ1の画面上における操作部3a,3bの照準座標に対応する位置に上述した照準マーカMa,Mbが表示される。操作部3a,3bの照準座標がモニタ1の画面外に位置すると、対応する照準マーカMa,Mbは、ゲーム画面50から消え、表示されなくなる。
図6は、本実施の形態における立体機動に関する処理の流れの一例を示すフローチャートである。オブジェクト判定手段44は、ユーザによる操作部3a,3bへの第1操作が行われたか否かを判定する(ステップSA1)。本実施の形態において、第1操作は、第1操作部3aの操作ボタン26aおよび第2操作部3bの操作ボタン26bのうちの何れか一方への押下操作に設定されている。
第1操作が行われた場合(ステップSA1でYes)、オブジェクト判定手段44は、第1操作が行われた操作部3aまたは3bに対応する照準マーカMaまたはMbがゲーム画面50に表示されているか否かを判定する(ステップSA2)。対応する照準マーカMa,Mbがゲーム画面50に表示されていない場合、すなわち、第1操作が行われた操作部3aまたは3bの照準座標がゲーム画面50外にある場合(ステップSA2でNo)、オブジェクト判定手段44は、当該第1操作は無効であると判定する。この場合、キャラクタ制御手段42は、当該第1操作によるプレイヤキャラクタCの動作制御は行わない(ステップSA7)。
対応する照準マーカMa,Mbがゲーム画面50に表示されている場合(ステップSA2でYes)、オブジェクト判定手段44は、所定の第1条件を満たすか否かを判定する第1判定および所定の第2条件を満たすか否かを判定する第2判定を行う(ステップSA3,SA4)。オブジェクト判定手段44は、第1判定として、第1操作時の照準座標に、ゲーム画面50内に表示される所定のオブジェクトD1,D2が位置する、という第1条件を満たすか否かを判定する(ステップSA3)。
すなわち、対応する照準マーカMa,Mbがゲーム画面50において所定のオブジェクトD1,D2上に位置している場合、第1条件を満たすと判定される。例えば、図5において照準マーカMbは第1条件を満たすが、照準マーカMaは第1条件を満たさない。
オブジェクト判定手段44は、第1条件を満足した場合、第2判定を行う。オブジェクト判定手段44は、第2判定として、所定のオブジェクトD1,D2とプレイヤキャラクタCとの間の仮想空間Sにおける仮想距離を算出する。さらに、オブジェクト判定手段44は、当該仮想距離が所定の基準距離以内となる第2条件を満たすか否かを判定する(ステップSA4)。本実施の形態において、第2判定のための仮想距離として、所定のオブジェクトD1,D2における所定位置(例えば中心位置またはゲーム画面50上の照準座標に対応する位置)とプレイヤキャラクタCの所定部位(例えば胸部位置)との距離が算出される。
第2条件における所定の基準距離は、固定値でもよいし、ステージ、所定のオブジェクトD1,D2の種類、所定のオブジェクトD1,D2における照準座標等に応じて変化する値でもよい。また、当該基準距離は、プレイヤキャラクタCの所定の能力値に応じて変化する値でもよいし、所定のアイテム使用時に変化する値でもよい。
第2条件を満たす(すなわち、第1条件および第2条件の両方を満たす)と判定された場合、キャラクタ制御手段42は、プレイヤキャラクタCを対応する照準座標(操作ボタン26a,26bが操作された操作部3a,3bの何れかに対応する照準マーカMa,Mb)の方向に移動させる第1移動を実行する(ステップSA5)。
図7は、本実施の形態における第1移動の一例の様子を示す図である。図7は、仮想空間SをプレイヤキャラクタCの移動方向に対して交差する方向に側方から見た図である。本実施の形態において、第1移動は、上述した立体機動の一態様として構成される。
例えば、図5の例では、第1操作部3aに対応する照準マーカMaは、所定のオブジェクトD1,D2上には位置しない一方、第2操作部3bに対応する照準マーカMbは、所定のオブジェクトD1上に位置し、かつ、プレイヤキャラクタCと当該照準マーカMbが位置するオブジェクトD1との距離が所定の基準距離以下である。すなわち、図5の例における照準マーカMbの位置は後述する第2条件を満たす位置に位置している。
したがって、図5の例において、照準マーカMbに対応する第2操作部3bの操作ボタン26bが操作され、第1移動の実行が決定された場合、ワイヤーアンカー表示手段45は、プレイヤキャラクタCの位置から所定のオブジェクトD1上の照準マーカMbに向けてワイヤーWに接続されたアンカーXを射出し、所定のオブジェクトD1にアンカーXを係合するワイヤーアンカー射出表示を行う。本実施の形態において、第1操作時における照準座標は、アンカーXの所定のオブジェクトD1への係合位置となる。
その上で、図7に示すように、キャラクタ制御手段42は、プレイヤキャラクタCを、所定のオブジェクトD1に係合されたアンカーXに接続されたワイヤーWを回収する反作用により3次元的に移動させる立体機動を実行する。この際、キャラクタ制御手段42は、プレイヤキャラクタCを、プレイヤキャラクタCの位置と照準座標(すなわち、アンカーXの係合位置)との間の直線軌道T1に従って移動させる。
なお、キャラクタ制御手段42は、第1操作が継続して行われている間(対応する操作ボタン26bが押下操作されている間)、第1移動を継続する。また、キャラクタ制御手段42は、第1操作が中断されることにより第1操作の中断時点におけるプレイヤキャラクタCの位置から自由落下するようにプレイヤキャラクタCを制御する。
例えば、図7において実線で示されるプレイヤキャラクタCの位置において第1操作が中断された場合、プレイヤキャラクタCは自由落下軌道T2に従って移動する。ワイヤーアンカー表示手段45は、第1操作が中断された時点でワイヤーWに接続されたアンカーXの所定のオブジェクトD1への係合状態を解除する。そして、ワイヤーアンカー表示手段45は、プレイヤキャラクタCの位置にアンカーXを回収する表示を行う。
また、キャラクタ制御手段42は、プレイヤキャラクタCが所定のオブジェクトD1に係合されているアンカーXの位置に到達するまで第1操作が継続して行われた場合、プレイヤキャラクタCに当該所定のオブジェクトD1に取り付き行動を実行させる。この際、所定のオブジェクトD1におけるアンカーXの係合位置が、壁または急斜面である場合には、プレイヤキャラクタCは当該壁または斜面に張り付いた状態となってもよい。また、所定のオブジェクトD1におけるアンカーXの係合位置が、屋根上等の平面または緩斜面である場合には、プレイヤキャラクタCは当該平面または緩斜面上で着地動作を行ってもよい。
本実施の形態において、図5に示すように、マーカ表示手段47は、照準座標を示す照準マーカMa,Mbが第2条件を満たす位置にある場合に、それ以外の場合(すなわち、第1条件または第2条件を満たさない場合)とは異なる表示態様で対応する照準マーカMa,Mbを表示させる。例えば、図5の例では、上述のように照準マーカMa,Mbのうち、照準マーカMbのみが第2条件を満たす位置にあるため、当該照準マーカMbは照準マーカMaとは異なる表示態様で表示される。
図5の例では、照準マーカMbの色が第1条件または第2条件を満たさない場合とは異なる色で表示されることを、照準マーカMbの外枠にハッチングを付加することで表している。照準マーカMa,Mbの表示態様の変化はこれに限られず、例えば、照準マーカMaが、第2条件を満たす位置において、点灯または点滅したり、形状が変化したり、大きさが変化したり(例えば大きくなったり)してもよい。これにより、操作ボタン26a,26bを操作した際に第1動作が実行されるか否かをユーザが容易に把握することができる。
一方、第1操作時において、オブジェクト判定手段44が第1条件または第2条件を満たさないと判定した場合(ステップSA3またはSA4でNo)、キャラクタ制御手段42は、プレイヤキャラクタCをゲーム画面50外の仮想基準位置に基づいて定められる軌道で照準座標(操作ボタン26a,26bが操作された操作部3a,3bの何れかに対応する照準マーカMa,Mb)の方向に移動させる第2移動を実行する(ステップSA6)。なお、照準座標の方向とは、プレイヤキャラクタCを基準として、ゲーム画面50上の照準座標(2次元座標)上の点をプレイヤキャラクタCの前方に所定距離投影した仮想空間Sにおける点の座標(3次元座標)の方向を意味する。
図8は、図5において第2移動を実行したときのゲーム画面の例を示す図である。また、図9Aおよび図9Bは、本実施の形態における第2移動の一例の様子を示す図である。図9Aは仮想空間Sを上方から見た図であり、図9Bは仮想空間SをプレイヤキャラクタCの移動方向に対して交差する方向に側方から見た図である。本実施の形態において、第2移動も、上述した立体機動の一態様として構成される。例えば、図8の例において、照準マーカMaに対応する第1操作部3aの操作ボタン26aが操作された場合、当該照準マーカMaはオブジェクトD1,D2上にないため、第1条件満たさない。したがって、キャラクタ制御手段42は、プレイヤキャラクタCに第2移動を実行させる。
このとき、図9Aに示すように、キャラクタ制御手段42は、プレイヤキャラクタCを、少なくとも水平方向に弧を描くような曲線軌道に従って移動させる。より具体的には、キャラクタ制御手段42は、プレイヤキャラクタCを、仮想空間Sにおける仮想カメラVの撮像範囲VS外の仮想基準位置VPを中心とする円弧軌道T3に沿って移動させる。ゲーム画面50において円弧軌道T3上に照準マーカMaが位置する。これにより、プレイヤキャラクタCは、第2移動において照準マーカMaの方向に移動する。
なお、本実施の形態においては、仮想基準位置VPの位置は、対応する照準マーカMaのゲーム画面50における位置(左右方向中央部より右方にあるか左方にあるか)に応じて定められる。図9Aの例では対応する照準マーカMaが位置する側(左方)と同じ側(仮想カメラVから見て撮像範囲VSより左側)に仮想基準位置VPが設定される。これに代えて、第1操作部3aに対応する照準マーカMaに基づく第2移動の際はゲーム画面より左側に仮想基準位置VPを設定してもよい。この場合、第2操作部3bに対応する照準マーカMbに基づく第2移動の際はゲーム画面より右側に仮想基準位置VPを設定してもよい。
第2移動の際、ワイヤーアンカー表示手段45は、プレイヤキャラクタCの位置から仮想基準位置VPに向けてワイヤーWに接続されたアンカーXを射出するワイヤーアンカー射出表示を行う。ただし、図8に示すように、第2移動においてはアンカーXを係合する所定のオブジェクトD1,D2が存在しない。このため、アンカーXの係合状態はゲーム画面50には表示されない。アンカーXがゲーム画面50外になった時点でゲーム画面50にアンカーXは表示されなくなり、ワイヤーWのみが表示された状態となる。第2移動の際にユーザの操作等により仮想カメラVの向きが変わっても一度表示されなくなったアンカーXは表示されない状態が維持される。また、仮想基準位置VPもゲーム画面50上には表示されない。
本実施の形態におけるキャラクタ制御手段42は、第2移動時において、プレイヤキャラクタCを、水平方向だけでなく鉛直方向にも弧を描くような曲線軌道に従って移動させる。図9Bに示すように、より具体的には、キャラクタ制御手段42は、プレイヤキャラクタCを、仮想空間SをプレイヤキャラクタCの移動方向に対して交差する方向に側方から見た場合において放物線を描くような円弧軌道T3に従って移動させる。
また、第2移動においても、キャラクタ制御手段42は、第1操作が継続して行われている間(対応する操作ボタン26aが押下操作されている間)、第2移動を継続し、第1操作が中断されることにより第1操作の中断時点におけるプレイヤキャラクタCの位置から自由落下するようにプレイヤキャラクタCを制御する。例えば、図9Bにおいて実線で示されるプレイヤキャラクタCの位置において第1操作が中断された場合、プレイヤキャラクタCは自由落下軌道T2に従って移動する。ワイヤーアンカー表示手段45は、第1操作が中断された時点でワイヤーWに接続されたアンカーXを回収する表示を行う。
また、キャラクタ制御手段42は、第1操作が所定の期間継続して行われた場合、プレイヤキャラクタCに着地動作を行わせて第2移動を終了する。ワイヤーアンカー表示手段45は、上記所定の期間の到達前の時点からアンカーXを回収する表示を行い、所定期間の到達時点でプレイヤキャラクタCの元に戻される。
なお、仮想基準位置VPの設定態様はこれに限られない。例えば、対応する照準マーカMaが位置する側とは反対側に仮想基準位置VPが設定されてもよい。また、本実施の形態においては、仮想基準位置VPを固定の点としたが、プレイヤキャラクタCの第2移動に伴って移動する点としてもよい。例えば、キャラクタ制御手段42は、仮想基準位置VPを所定の軌道に沿って移動させ、プレイヤキャラクタCを、移動する仮想基準位置VPと等距離を保つように移動制御してもよい。
また、複数のユーザによるマルチプレイ時において、ワイヤーアンカー表示手段45は、他のユーザの操作に基づいて仮想空間Sを行動する他のプレイヤキャラクタCが第2移動を実行した場合に、他のプレイヤキャラクタCの位置から射出されたアンカーXを非表示とする。
例えば、ワイヤーアンカー表示手段45は、他のプレイヤキャラクタCが第2移動を実行した場合に、当該他のプレイヤキャラクタCからアンカーXおよびそれに接続されているワイヤーWが射出される表示は行う。一方で、ワイヤーアンカー表示手段45は、アンカーXが所定の距離移動した後は、アンカーXおよびワイヤーWの他のプレイヤキャラクタCから所定の距離以上離れた部分を徐々に透明化する表示を行い、最終的にはアンカーXおよびワイヤーWの該当箇所をゲーム画面50から消去する。
このようなアンカーXおよびワイヤーWの表示態様とすることにより、一のプレイヤキャラクタCにおいてアンカーXが所定のオブジェクトD1,D2に係合しない状態で立体機動(第2移動)が実行されることが他のユーザが見た場合に不自然に見えるのを防止することができる。このため、各ユーザのゲームへの没入感を妨げないようにすることができる。
さらに、第1移動または第2移動中において、ユーザがそれまで第1操作を行っていた操作部3a,3bとは反対の操作部3b,3aの操作ボタン26b,26aを押下操作した場合、キャラクタ制御手段42は、対応する照準マーカMb,Maに基づく立体機動(第1移動または第2移動)を実行する。この際、それまで実行していた第1移動または第2移動は解除される。この結果、プレイヤキャラクタCは、立体機動中に空中で方向転換を行うことができる。
ワイヤーアンカー表示手段45は、それまで第1移動または第2移動に用いられていたアンカーXを回収する表示を行う。また、双方の操作ボタン26a,26bを交互に押下操作することにより、プレイヤキャラクタCの立体機動を(プレイヤキャラクタCが地面等に着地することなく)継続させる(連続的な立体機動を行う)ことができる。
上記構成によれば、プレイヤキャラクタCから基準距離以内に位置する所定のオブジェクトD1,D2に照準座標(照準マーカMa,Mb)を合わせた上で所定の第1操作(操作ボタン26a,26bの押下操作)を行うことにより、当該照準座標の方向への移動(第1移動)が可能となる。したがって、ユーザに、プレイヤキャラクタCの移動に際して、所定のオブジェクトD1,D2とプレイヤキャラクタCとの位置関係に基づいて移動経路を考えながら第1移動のための第1操作を行うというゲーム空間内における新たな移動態様を提供することができる。
これにより、通常の移動とは異なる第1移動を行って有利にゲームを進めるという新たなゲーム性を提供することができる。例えば、上記のように立体機動を連続的に行うことにより、素早く移動したり、所定のオブジェクトD1,D2を積極的に利用しつつ通常の移動では障害となるオブジェクト(D1,D2を含む)を回避したり、敵キャラクタの後方に回り込んだりすることができる。
さらに、所定のオブジェクトD1,D2が基準距離以内に位置しない位置に照準座標を合わせた場合でも、第1移動に類似する第2移動が可能となる。これにより、ユーザがプレイヤキャラクタCを移動させたい方向においてプレイヤキャラクタCの近くに所定のオブジェクトD1,D2がない場合、または、敵キャラクタへの攻撃中等で所定のオブジェクトD1,D2に照準マーカMa,Mbを合わせ難い場合等であっても、プレイヤキャラクタCに第1移動と同様の立体機動を実行させることができる。これにより、新たな移動態様を容易に実行することができ、新たな移動態様についての操作性を高くすることができる。
オブジェクト判定手段44は、ユーザによる操作部3a,3bへの第1操作が行われなかった場合(ステップSA1でNo)、ユーザによる操作部3aおよび3bへの第2操作が行われたか否かを判定する(ステップSA8)。本実施の形態において、第2操作は、第1操作部3aの操作ボタン26aおよび第2操作部3bの操作ボタン26bの双方への同時押下操作に設定されている。
第2操作が行われた場合(ステップSA8でYes)、制御部4は、第2操作に関する処理を実行する(ステップSA9)。図10は、本実施の形態における第2操作に関する処理の流れの一例を示すフローチャートである。図10に示すように、オブジェクト判定手段44は、第2操作が行われた操作部3aおよび3bに対応する照準マーカMaおよびMbがそれぞれゲーム画面50に表示されているか否かを判定する(ステップSB1)。
照準マーカMa,Mbの何れもがゲーム画面50に表示されている場合(ステップSB1でYes)、オブジェクト判定手段44は、第1操作部3aに対応する照準座標および第2操作部3bに対応する照準座標(2つの照準マーカMa,Mb)のそれぞれについて上記第1条件を満たすか否かを判定する第1判定および上記第2条件を満たすか否かを判定する第2判定を行う(ステップSB2)。
第1操作部3aに対応する照準座標および第2操作部3bに対応する照準座標のそれぞれについて第1条件および第2条件の両方を満たすと判定された場合(ステップSB2でYes)、キャラクタ制御手段42は、プレイヤキャラクタCを照準座標間(照準マーカMaとMbとの間)の中間位置の方向に移動させる第3移動を実行する(ステップSB3)。
図11は、本実施の形態における第3移動の一例の様子を示す図である。本実施の形態において、第3移動も、上述した立体機動の一態様として構成される。例えば、図11の例において、照準マーカMaに対応する第1操作部3aの操作ボタン26aと照準マーカMbに対応する第2操作部3bの操作ボタン26bとが同時に操作された場合、照準マーカMaは所定のオブジェクトD2上にあり、かつ、照準マーカMbは所定のオブジェクトD1上にあるため、第1条件を満たす。
さらに、プレイヤキャラクタCとオブジェクトD1との仮想距離が基準距離以内であり、プレイヤキャラクタCとオブジェクトD2との仮想距離が基準距離以内である場合、第2条件をも満たす。したがって、キャラクタ制御手段42は、プレイヤキャラクタCに第3移動を実行させる。
このとき、キャラクタ制御手段42は、プレイヤキャラクタCを、鉛直方向に弧を描くような曲線軌道に従って移動させる。曲線軌道T4は、プレイヤキャラクタCの位置から照準マーカMa,Mbの中間位置Mcに至る円弧状に構成される。曲線軌道T4は、移動方向に対して交差する方向に側方から見た場合において第2移動(図9B)と同様に、放物線を描くような円弧軌道になっている。
第3移動の際、ワイヤーアンカー表示手段45は、プレイヤキャラクタCの位置からゲーム画面50外の左右両側に設定された2つの仮想基準位置VPa,VPbに向けてワイヤーWa,Wbに接続されたアンカーXa,Xbをそれぞれ射出するワイヤーアンカー射出表示を行う。
第3移動においても第2移動と同様に、アンカーXa,XbのオブジェクトD1,D2への係合状態はゲーム画面50には表示されない。さらに、アンカーXがゲーム画面50外になった時点でゲーム画面50にアンカーXは表示されなくなり、ワイヤーWのみが表示された状態となる。なお、これに代えて、第3移動においては第1移動と同様に、各アンカーXa,Xbを対応する所定のオブジェクトD1,D2の照準座標(照準マーカMa,Mbの位置)に係合するようにしてもよい。
また、第3移動においても、図9Bの例と同様に、キャラクタ制御手段42は、第2操作が継続して行われている間(双方の操作ボタン26a,26bが押下操作されている間)、第3移動を継続し、第2操作が中断されることにより第2操作の中断時点におけるプレイヤキャラクタCの位置から自由落下するようにプレイヤキャラクタCを制御する。
また、キャラクタ制御手段42は、第2操作が所定の期間継続して行われた場合、プレイヤキャラクタCに着地動作を行わせて第3移動を終了する。ワイヤーアンカー表示手段45は、上記所定の期間の到達前の時点からアンカーXを回収する表示を行い、所定期間の到達時点でプレイヤキャラクタCの元に戻される。
さらに、第3移動中において、第2操作を中断した後、自由落下による着地前にユーザが第1操作または第2操作を行った場合、キャラクタ制御手段42は、対応する照準マーカMb,Maに基づく立体機動(第1移動、第2移動または第3移動)を実行する。この結果、プレイヤキャラクタCは、立体機動を(プレイヤキャラクタCが地面等に着地することなく)継続させながら連続的な移動を行うことができる。このように、第1操作および第2操作を組み合わせることにより様々な移動態様を創出することができる。
2つの照準座標(2つの照準マーカMa,Mb)のそれぞれについて第1判定および第2判定を行った結果、第1操作部3aに対応する照準座標および第2操作部3bに対応する照準座標の何れか一方のみについて第1条件および第2条件の両方を満たすと判定された場合(ステップSB4でYes)、キャラクタ制御手段42は、プレイヤキャラクタCを第1条件および第2条件の両方を満した照準座標の方向に移動させる第1移動を実行する(ステップSB5)。
例えば、図5に示す照準マーカMa,Mbの位置で操作ボタン26a,26bを同時に押下操作する第2操作を行った場合、照準マーカMaは所定のオブジェクトD1、D2上にないため、第1条件を満たさない。しかし、照準マーカMbは所定のオブジェクトD1上にあり、かつ、プレイヤキャラクタCとの距離が基準距離以内であるため、第1条件および第2条件を満たす。したがって、この場合、キャラクタ制御手段42は、照準マーカMbに対応する第2操作部3bの操作ボタン26bを有効としてプレイヤキャラクタCを照準マーカMbの方向に移動させる第1移動を実行する。
一方、2つの照準座標(2つの照準マーカMa,Mb)のそれぞれについて第1判定および第2判定を行った結果、何れの操作部3a,3bに対応する照準座標についても第1条件および第2条件の少なくとも何れか一方を満たさないと判定された場合(ステップSB4でNo)、キャラクタ制御手段42は、プレイヤキャラクタCを照準座標間(照準マーカMaとMbとの間)の中間位置の方向に移動させる上記第3移動を実行する(ステップSB3)。
このように、第1操作部3aの操作ボタン26aと第2操作部3bの操作ボタン26bとを同時に操作する第2操作時において照準マーカMa,Mbの位置が所定のオブジェクトD1,D2上にある場合、所定のオブジェクトD1,D2上に位置する照準マーカMa,Mbの数に応じて第1移動または第3移動が行われる。一方、何れの照準マーカMa,Mbも所定のオブジェクトD1,D2上にない場合は第3移動が行われる。
これにより、ユーザが第2操作を行った場合においてプレイヤキャラクタCの近くに所定のオブジェクトD1,D2がない場合、または、敵キャラクタへの攻撃中等で所定のオブジェクトD1,D2に照準マーカMa,Mbを合わせ難い場合等であっても、プレイヤキャラクタCに第3移動と同様の立体機動を実行させることができる。これにより、新たな移動態様を容易に実行することができ、新たな移動態様についての操作性を高くすることができる。
図10に示すフローチャートのステップSB1において、照準マーカMa,Mbのうちの何れか1つだけがゲーム画面50に表示されている場合(ステップSB1でNoかつステップSB6でYes)、オブジェクト判定手段44は、ゲーム画面50に表示されている照準座標(照準マーカMaまたはMb)について上記第1条件を満たすか否かを判定する第1判定および上記第2条件を満たすか否かを判定する第2判定を行う(ステップSB7)。すなわち、本実施の形態において、照準座標がゲーム画面外にある操作部3a,3bの操作ボタン26a,26bの操作は無効とされる。
ゲーム画面50に表示されている照準マーカMaまたはMbについて上記第1条件および第2条件を満たすと判定された場合(ステップSB7でYes)、キャラクタ制御手段42は、プレイヤキャラクタCをゲーム画面50に表示されている照準座標の方向に移動させる第1移動を実行する(ステップSB5)。
一方、ゲーム画面50に表示されている照準マーカMaまたはMbについて第1条件および第2条件の少なくとも何れか一方を満たさないと判定された場合(ステップSB7でNo)、キャラクタ制御手段42は、プレイヤキャラクタCをゲーム画面50外の仮想基準位置に基づいて定められる軌道でゲーム画面50に表示されている照準座標(照準マーカMaまたはMb)の方向に移動させる第2移動を実行する(ステップSB8)。
また、照準マーカMa,Mbの何れもがゲーム画面50に表示されていない場合、すなわち、操作部3a,3bの照準座標が何れもゲーム画面50外にある場合(ステップSB7でNo)、オブジェクト判定手段44は、当該第2操作は無効であると判定し、キャラクタ制御手段42は、当該第2操作によるプレイヤキャラクタCの動作制御は行わない(ステップSB9)。
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、上記実施の形態において、ゲーム画面50内に対応する照準マーカMa,Mbが表示されない操作部3a,3b(すなわち、照準座標がゲーム画面50内に位置しない操作部3a,3b)に対して立体機動のための所定の操作(操作ボタン26a,26bの押下操作)は無効とする態様を例示した。しかし、これに限られず、照準座標がゲーム画面50内に位置しない操作部3a,3bの操作ボタン26a,26bの押下操作も有効としてキャラクタ制御手段42がプレイヤキャラクタCの動作を制御してもよい。
この場合、キャラクタ制御手段42は、第1操作時において操作部3a,3bに対応する照準座標がゲーム画面50内に位置しない場合に、プレイヤキャラクタCをゲーム画面50外の仮想基準位置VPに基づいて定められる軌道で所定の方向に移動させる第4移動を実行する。
図12は、本実施の形態の変形例における第4移動の一例の様子を示す図である。図12の例において、第4移動も、上述した立体機動の一態様として構成される。例えば、図12の例において、第1操作部3aの照準座標および第2操作部3bの照準座標は、何れもゲーム画面50内に位置しない。そのため、照準マーカMa,Mbは、何れもゲーム画面50に表示されていない。
この状態において、例えば、第1操作部3aの操作ボタン26aおよび第2操作部3bの操作ボタン26bが同時に押下操作する第2操作が行われた場合、照準マーカMa,Mbは何れも表示されていないため、第1条件を満たさない。したがって、キャラクタ制御手段42は、プレイヤキャラクタCに第4移動を実行させる。
このとき、キャラクタ制御手段42は、プレイヤキャラクタCを、プレイヤキャラクタCの位置から所定の仮想到達位置VQに向けて鉛直方向に弧を描くような曲線軌道T5に従って移動させる。曲線軌道T5は、移動方向に対して交差する方向に側方から見た場合において第2移動(図9B)と同様に、放物線を描くような円弧軌道になっている。
第4移動の際、ワイヤーアンカー表示手段45は、第3移動の場合と同様に、プレイヤキャラクタCの位置からゲーム画面50外の左右両側に設定された2つの仮想基準位置VPa,VPbに向けてワイヤーWa,Wbに接続されたアンカーXa,Xbをそれぞれ射出するワイヤーアンカー射出表示を行う。その他、キャラクタ制御手段42は、第3移動と同様の移動態様で第4移動を制御する。
また、対応する照準マーカMa,Mbが表示されていない第1操作部3aの操作ボタン26aまたは第2操作部3bの操作ボタン26bを押下操作する第1操作が行われた場合、当該照準マーカMa,Mbは何れも表示されていないため、第1条件を満たさない。したがって、キャラクタ制御手段42は、プレイヤキャラクタCに第4移動を実行させる。
このときも、キャラクタ制御手段42は、プレイヤキャラクタCを、プレイヤキャラクタCの位置から所定の仮想到達位置VQに向けて鉛直方向に弧を描くような曲線軌道T5に従って移動させる。仮想到達位置VQおよび/または曲線軌道T5は、第1操作部3aに基づく第1操作、第2操作部3bに基づく第1操作および第2操作に応じて異なる位置および/または軌道としてもよいし、第1操作および第2操作時における第2レバー25a,25bの操作入力方向に応じて異なる位置および/または軌道としてもよい。
また、第1条件を満たさない(所定のオブジェクト上に照準マーカMa,Mbがない)場合であっても、プレイヤキャラクタCから基準距離内(アンカーXが届く範囲内)に所定のオブジェクトが位置している場合、キャラクタ制御手段42は、当該所定のオブジェクトにアンカーXを係合し、第1移動と同様の立体機動を実行してもよい。
また、第1条件を満たさない場合、かつ、プレイヤキャラクタCから基準距離内に所定のオブジェクトが位置していない場合、キャラクタ制御手段42は、プレイヤキャラクタCをゲーム画面50外の仮想基準位置VPに基づいて定められる軌道で照準座標の方向に移動させる第2移動と同様の立体機動を実行してもよい。
また、上記実施の形態では、円弧軌道T3〜T4の基準となるゲーム画面50外の仮想基準位置VPを、ゲーム画面50の右側または左側に設定する態様について例示したが、これに限られない。例えば、仮想基準位置VPをゲーム画面の上方かつ前方に設定してもよい。このとき、キャラクタ制御手段42は、当該仮想基準位置VPを中心とした下方に凸の円弧軌道によりプレイヤキャラクタCを移動させることができる。このような態様とすることにより、プレイヤキャラクタCの周囲に所定のオブジェクトが存在しない場合であっても、連続的に立体機動による移動を行うことができる。
上記のような立体機動のための第1操作または第2操作に、例えば第1レバー24a,24bまたは第2レバー25a,25bの操作等の所定の追加操作を行うことで立体機動の移動方向を補正したり、異なる移動態様としたりしてもよい。また、立体機動のための第1操作または第2操作は、操作ボタン26a,26b以外の操作子による操作に基づいて実行されてもよい。
また、上記実施の形態においては、所定のオブジェクトD1,D2として建物の壁または屋根等の固定物がアンカーXの係合対象である例について説明したが、これに限られない。例えば、所定のオブジェクトは、移動体、例えば、自動車、航空機、または、モンスターもしくは巨人等のノンプレイヤキャラクタ(敵キャラクタ)等でもよい。また、例えば、所定のオブジェクトが、門扉または木の枝等のように、アンカーXが係合することにより動くように構成されてもよい。
また、上記実施の形態では、第1操作および第2操作時の移動として、ワイヤーWに接続されたアンカーXを所定のオブジェクトD1,D2に係合させ、当該ワイヤーWを回収する反作用により3次元的に移動させる立体機動を例示したが、これに限られない。
例えば、ワイヤーWおよびアンカーXの代わりに、蜘蛛の糸、クレーン、釣り糸等を表示してもよいし、第1操作および第2操作による移動時にワイヤーWおよびアンカーX等を表示しなくてもよい。また、第1操作および第2操作時の移動は、立体機動(3次元的な移動)でなくてもよい。例えば、第1操作および第2操作時には、通常とは異なる速さで移動するとしてもよい。例えばプレイヤキャラクタCは、通常の移動操作のための第2レバー25aの操作時には歩き、第1操作および第2操作時には、走る等としてもよい。
また、上記実施の形態では第1操作および第2操作を含む態様について説明したが、ゲームにおけるプレイヤキャラクタCの移動動作として第1操作に基づく動作(第1移動および第2移動)のみを含むとしてもよい。
また、上記実施の形態では図1に示すような本ゲーム専用のモニタ1および光照射部6を備えた店舗設置型のゲームシステムAに基づいて説明したが、家庭用のゲーム装置およびパーソナルコンピュータなどの光照射部6および操作部3a,3bが接続可能なコンピュータについても、本発明を好適に適用することができる。