(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
図面を参照してこの発明の実施形態であるゲームシステムについて説明する。なお、この発明の構成は、実施形態に限定されるものではない。また、各フローチャートの処理手順は、実施形態に限定されず矛盾等が生じない範囲で順不同である。
【0016】
図1は、この実施形態のゲームシステム1の構成を示すブロック図である。ゲームシステム1は、ゲーム装置2を備え、所定のビデオゲーム(ゲーム)を実行する。ゲーム装置2は、ゲームプログラムが記録されたメモリカード(記憶媒体)5からゲームプログラム50を読み取って実行することでゲームを実行し、生成したゲーム画像を表示部41に表示させる。
【0017】
本実施形態のゲーム装置2は、三次元の仮想空間において、ユーザのプレイヤキャラクタ(プレイヤオブジェクト)が大型オブジェクトA〜C(
図2参照)を移動し、敵キャラクタ(敵オブジェクト)と戦うゲームを提供する。詳細は後述する。
【0018】
ゲーム装置2は、バス26上に、制御部20、操作部30、メディアインタフェース31および無線通信回路部32を有している。制御部20は、CPU21、ROM(フラッシュメモリ)22、RAM23、画像プロセッサ24および音声プロセッサ25を含んでいる。画像プロセッサ24には、ビデオRAM(VRAM)40が接続され、VRAM40には表示部41が接続されている。表示部41は、たとえば2つの液晶ディスプレイを含んでいる。音声プロセッサ25には、D/Aコンバータを含むアンプ42が接続され、アンプ42にはスピーカ16およびイヤホン端子17が接続されている。
【0019】
無線通信回路部32は、Wi−Fi、Bluetooth(登録商標)により、他のゲーム装置1やサーバ装置と通信する。他のゲーム装置1と通信し、ユーザの操作データなどを相互に交換することにより、複数のゲーム装置1で複数のプレイヤキャラクタをそれぞれ制御するマルチプレイが行われる。
【0020】
操作部30は、たとえば、ボタン、十字キー、スライドパッド、タッチパネル等などから構成されるコントローラを含んでいる。操作部30は、ユーザによるコントローラの操作を検出し、その操作信号をCPU21に入力する。
【0021】
メディアインタフェース31には、スロット(不図示)に挿入されたメモリカード5が接続される。メモリカード5は、半導体メディアであり、ゲームプログラム50が記憶されている。ゲームプログラム50は、プログラム本体のほか、ゲームの進行に必要なステージの画像データ、アイテム画像などのゲームデータを含んでいる。
【0022】
RAM23には、CPU21がゲームプログラム50を実行する際に使用されるワークエリアが設定される。ワークエリアには、ゲームの進行に伴って発生する各種パラメータなどが含まれる。ROM22には、ゲームプログラム50を実行するための基本プログラムが記憶されている。
【0023】
画像プロセッサ24は、ゲーム映像を生成可能なGPU(Graphics Processing Unit,グラフィックス・プロセッシング・ユニット)を備えている。画像プロセッサ24は、CPU21の指示に従ってゲーム空間を生成し、このゲーム空間を仮想のカメラで撮影した画像をゲーム画像としてVRAM40上に描画する。
【0024】
音声プロセッサ25は、ゲーム音声を生成するDSP(Digital Signal Processor:デジタル・シグナル・プロセッサ)を有している。音声プロセッサ25は、生成したゲーム音声をアンプ42に出力する。アンプ42は、この音声信号を増幅してスピーカ16およびイヤホン端子17に出力する。
【0025】
次に、ゲームプログラムを実行することでゲーム装置2によって提供されるゲームについて、
図2を参照しつつ説明する。
図2は、本実施形態のゲームにおける三次元の仮想空間60の一例を示す図である。
【0026】
仮想空間60では、原点が固定されたX軸、Y軸、Z軸のワールド座標系(固定座標系)が設定される。仮想空間60には、プレイヤキャラクタPCおよび大型オブジェクトA〜Cなどのオブジェクトが生成(配置)される。オブジェクトの仮想空間60内での位置は、ワールド座標系で表される。オブジェクト内部またはオブジェクト周辺の一点がオブジェクトを代表する点(ローカル原点)とされ、このローカル原点の座標(ワールド座標系)がこのオブジェクトの位置とされる。オブジェクトの姿勢は、ローカル原点を原点とするローカル座標系で定義される。ローカル原点はオブジェクトに付属しているため、オブジェクトが移動してワールド座標系での位置が変化した場合、ローカル座標系もこれに伴って移動する。プレイヤキャラクタPCは、ユーザの操作に応じて、仮想空間60内で活動するとともに、その姿勢を変化させる。また、大型オブジェクトAは、ゲームの進行に応じて、仮想空間60内で活動するとともに、その姿勢を変化させる。
【0027】
プレイヤキャラクタPCおよび大型オブジェクトA〜Cを含むオブジェクトには、それぞれオブジェクトとほぼ同形状の衝突判定領域が設定されている。衝突判定領域は、オブジェクトが仮想空間60内で占有する排他的な空間領域である。排他的な領域であるため、複数のオブジェクトが同じ領域(ワールド座標)を共有することがないようゲームの進行が制御される。具体的には、移動するオブジェクトが移動しようとするとき、他のオブジェクトと同じ領域を共有することにならないかを判定する(接触判定処理,アタリ処理)。アタリ判定によって、移動するオブジェクトと他のオブジェクトが同じ領域を共有することになると判定された場合、移動するオブジェクトは他のオブジェクトと同じ領域を共有する直前の状態、すなわち、接触している状態で停止する。
【0028】
衝突判定領域は、その表面形状を表すポリゴンで定義される。このポリゴンがアタリと呼ばれる。オブジェクトの姿勢の変化に応じて衝突判定領域も変形される。その変形は、ポリゴンの頂点座標を変化させることで行われる。
【0029】
大型オブジェクトA〜Cは、プレイヤキャラクタPCがその上に乗って活動することが可能なステージ面(地面)を有する。プレイヤキャラクタPCは、各大型オブジェクトA,B,C上で移動可能であるとともに、大型オブジェクトA〜C間の移動が可能である。
大型オブジェクトB,Cは、固定されたオブジェクトである。大型オブジェクトBでは、上面部分(斜線部分)がステージ面B1とされ、この上面部分に対応するポリゴンフェースに地面(ステージ面)の属性が与えられる。大型オブジェクトCでは、上面部分(斜線部分)がステージ面C1として形成され、この上面部分に対応するポリゴンフェースに地面(ステージ面)の属性が与えられる。プレイヤキャラクタPCのアタリとステージ面B1のアタリとの接触が判定された場合、プレイヤキャラクタPCがステージ面B1の上面に位置(接地)するように、プレイヤキャラクタPCの位置が修正される。これにより、プレイヤキャラクタPCが、ステージ面B1の下方に入り込まず、乗っている状態とすることができる。すなわち、プレイヤキャラクタPCが地面に立っている(停止)状態や、地面を移動している状態が表現される。
【0030】
また、大型オブジェクトBの側面部分(網点部分)B2はプレイヤキャラクタPCが乗ることができない面であり、この面B2に対応するポリゴンフェースに壁面の属性が与えられる。大型オブジェクトCの側面部分(網点部分)C2はプレイヤキャラクタPCが乗ることができない面であり、この面C2に対応するポリゴンフェースに壁面の属性が与えられる。プレイキャラクタPCのアタリが、たとえば、大型オブジェクトBの壁面B2のアタリに接触した場合には、プレイヤキャラクタPCがオブジェクトBの内部に入り込まないように、プレイヤキャラクタPCの位置が壁面B2の外側となるように修正される。
【0031】
大型オブジェクトAは、プレイヤキャラクタPCがその上に乗ることができるオブジェクトであるが、後述するようにキャラクタとして移動および姿勢変化するオブジェクトである。ポリゴンのどの範囲に乗ることができるか(ステージ面であるか)は、たとえば、どの面がステージ面であり壁面であるかが含まれる属性情報によって決定される。
【0032】
大型オブジェクトAは、時間経過に応じて破線で示されるルートMおよびルートM−1またはM−2に沿って移動する。すなわち、大型オブジェクトAのワールド座標系での位置が変化する。大型オブジェクトAの位置は、大型オブジェクトAの重心位置で代表される。なお、本発明において、代表位置は重心位置に限定されない。
【0033】
大型オブジェクトAは、プレイヤキャラクタPCの攻撃対象である敵キャラクタ(敵オブジェクト)としても活動する。すなわち、大型オブジェクトAは、体力などのキャラクタとしての各種パラメータが設定され、プレイヤキャラクタPCからの攻撃を受ける。そして、攻撃によってダメージを受けた場合には体力の数値(現在値)が減少する。以下、大型オブジェクトAを敵キャラクタAと称する場合がある。プレイヤキャラクタPCは、大型オブジェクトAに乗っている状態で、敵キャラクタA(大型オブジェクトA)に攻撃の動作を行うこともでき、またステージB,Cに乗っている状態で敵キャラクタA(大型オブジェクトA)に攻撃の動作を行うこともできる。
【0034】
敵キャラクタAは、
図3(B)および
図4(B)に示すように、頭部、首、胴体、2本の前足、2本の後足および尻尾を有する龍のオブジェクトであり、前足および後足による四足歩行(
図3参照)、後足による二足歩行(
図4参照)が可能である。また、敵キャラクタAは、その背中に火山形状のオブジェクトVを有している。
【0035】
図3(A)は四足歩行時の敵キャラクタAの概略の形状を示す平面図であり、
図3(B)は四足歩行時の敵キャラクタAの概略の形状を示す側面図である。
図4(A)は二足歩行時の敵キャラクタAの概略の形状を示す平面図であり、
図4(B)は二足歩行時の敵キャラクタAの概略の形状を示す側面図である。なお、
図3(A)および
図4(A)は、ステージ面A1〜A13を説明するための平面図であり、形状を説明するための
図3(B)および
図4(B)の側面図とは細部まで一致していない。
【0036】
四足歩行時、
図3(A)に示すように、大型オブジェクトAでは、高低差に応じて7か所のステージ面A1〜A7が形成される。各ステージ面A1〜A7は互いに高低差を有し、その境界は壁面(アタリ)になっている。プレイヤキャラクタPCは、壁面を登る動作やジャンプする動作を行って各ステージ面A1〜A7を行き来することが可能である。
【0037】
一方、二足歩行時、大型オブジェクトAには、
図4(A)に示すような6か所のステージ面A8〜A13が形成される。これらステージ面A8〜A11,A13は、四足歩行時に壁面であった箇所である。逆に、四足歩行時にステージ面であったA1〜A6は、二足歩行時に壁面となっている。なお、二足歩行時のステージ面A12は、四足歩行時のステージ面A7の一部である。大型オブジェクトA(敵キャラクタA)の姿勢の変化に応じて、アタリ(ポリゴン)の形状や角度が変化し、プレイヤキャラクタPCが乗ることができるステージ面も変化する。四足歩行時および二足歩行時にそれぞれアタリのどの面がステージ面であり壁面であるかは、予めテーブルに記憶しておいてもよく、大型オブジェクトAのそのときのアタリの形状、角度に基づいて、その都度決定してもよい。この実施形態では、四足歩行時および二足歩行時にそれぞれアタリのどの面がステージ面であり壁面であるかの属性情報が参照される。属性情報は、ゲームデータに含まれている。
【0038】
プレイヤキャラクタPCが、大型オブジェクトAのいずれかのステージ面A1〜A13に乗っている状態で、その乗っているステージ面のアタリの属性が壁面に変更された場合、プレイヤキャラクタPCは直下のステージ面へ落下する。また、ステージ面7からステージ面A12のように、ステージ面の形状が変化することによってプレイヤキャラクタPCの位置がステージ面から外れる場合にもプレイヤキャラクタPCは落下する。
【0039】
ここで、プレイヤキャラクタPCの仮想空間60における位置制御について説明する。上述したように、プレイヤキャラクタPCは、ワールド座標系でその位置、すなわちローカル原点の位置が決定され、ローカル原点を原点とするローカル座標系で姿勢が制御される。
【0040】
プレイヤキャラクタPCのローカル原点の位置は、たとえば、移動(歩行および走行)、飛ばされる、落下する)などのプレイヤキャラクタPCの行動によって変化する。また、プレイヤキャラクタPCのローカル原点の位置は、プレイヤキャラクタAがステージ面A〜A13に乗っている状態では、大型オブジェクトAの移動および姿勢の変化に応じて修正される。
【0041】
本実施形態では、プレイヤキャラクタPCは、ステージ面A1〜A12のいずれかに乗っている状態であれば、大型オブジェクトA自身が移動(ワールド座標系の位置が変化)しても、ステージ面から落下せず、大型オブジェクトAの移動とともに移動する。たとえば、プレイヤキャラクタPCがステージ面A1の或る位置で停止(直立)している場合、大型オブジェクトAが移動しても、プレイヤキャラクタPCはステージ面A1の同じ位置に立ち続けることとなる。なお、ステージ面A1〜A13に乗っている状態とは、プレイヤキャラクタPCのアタリとステージ面のアタリとが接触していると判定されている状態である。
【0042】
また、プレイヤキャラクタPCがステージ面A1〜A12のいずれかに乗っている状態で敵キャラクタAが姿勢を変化させた場合も、ステージ面から落下せず、大型オブジェクトAの姿勢の変化に応じて移動する。たとえば、敵キャラクタAの姿勢の変化によって、プレイヤキャラクタPCが乗っているステージ面が上昇するような場合には、ステージ面の上昇に同期してプレイヤキャラクタPCも上昇移動する。
【0043】
次に、プレイヤキャラクタPCの現在のローカル原点(X(n),Y(n),Z(n))の算出方法について説明する。ローカル原点のX(n)は、たとえば下記の計算式(1)を用いて算出される。すなわち、ローカル原点の前回(n−1フレーム)の座標に、1フレーム経過時の変位を加算することで算出される。本実施形態では、プレイヤキャラクタPCの行動に基づく変位に加え、大型オブジェクトAの移動の変位、および、姿勢の変化によるアタリの変位が加算される。プレイヤキャラクタPCの行動は、移動(歩行および走行)、飛ばされる、落下する)などの行動が含まれる。ローカル原点のY座標、Z座標も同様の計算式である。なお、ローカル原点を算出する計算式は、下記の計算式(1)に限定されるものではない。
【0044】
X(n)=X(n−1)+ΔXa(n)+ΔXS(n) ・・・・ (1)
ΔXa:プレイヤキャラクタPCの行動に基づく前フレームからの変位(X軸)
ΔXS:大型オブジェクトAのプレイヤキャラクタPCが乗っている点(接触地点)の前フレームからの変位(X軸)
n:現在のフレーム番号(整数)
ΔXS(n)=ΔXSa(n)+ΔXSb(n)
ΔXSa:大型オブジェクトAの移動に基づく前フレームからの変位(X軸)
ΔXSb:大型オブジェクトAの姿勢の変化による前フレームからのアタリの変位(X軸)
【0045】
なお、プレイヤキャラクタPCおよび大型オブジェクトAの大きさは、
図2に示すような比率に限定されない。表示部41に表示されるゲーム画像においては、プレイヤキャラクタPCが大型オブジェクトAに乗っていないとき(大型オブジェクトBまたはC上に居るとき)、大型オブジェクトA(敵キャラクタA)は有限な大きさで表示されるが、プレイヤキャラクタPCが大型オブジェクトAに乗っているとき、大型オブジェクトAは、いわゆるオープンワールドと呼ばれる巨大なステージとして表示される。
【0046】
また、本実施形態では、大型オブジェクトAに乗っている他のオブジェクト(ノンプレイヤオブジェクト)のワールド座標系の位置(ローカル原点)、大型オブジェクトAに関連するエフェクトのワールド座標系の出力位置に関しても、プレイヤキャラクタPCと同様に、大型オブジェクトAの移動、姿勢の変化に応じて修正される。
【0047】
エフェクトは、炎、煙、音声(爆発音)などの視覚効果、音響効果(炎、煙、音声)である。たとえば、プレイヤキャラクタPCによる攻撃が敵キャラクタAにヒットした時に発生し、ヒットした位置に基づいて出力位置が算出される。また、たとえば、敵キャラクタAの咆哮の場合には、敵キャラクタAの頭部の位置に基づいて音声の出力位置が算出される。なお、エフェクトの出力に関しては、一般的な構成であるので詳細説明は省略する。
【0048】
また、エフェクトが、大型オブジェクトAに関連して発生する場合、大型オブジェクトAに乗っているプレイヤキャラクタAと同様にして、エフェクトのワールド座標系の出力位置が修正される。なお、上記エフェクトの出力位置の修正に関しては、出力開始からの経過時間に応じて、修正量を徐々に小さくして大型オブジェクトAの移動から遅れるようにしてもよい。あるいは、出力開始からの所定時間が経過した場合に、上記出力位置の修正を終了してもよい。
【0049】
また、ステージ面A2,A5上には、コアオブジェクトW1,W2が配置されている。コアオブジェクトW1,W2は、敵キャラクタAの弱点であり、プレイヤキャラクタPCは、これらを攻撃することによって敵キャラクタAに大きなダメージを与えることができる。
【0050】
二足歩行時、コアオブジェクトW2が隠れ、敵キャラクタAの頭付近に別のコアオブジェクトW3が出現する。このコアオブジェクトW3も敵キャラクタAの弱点であり、プレイヤキャラクタPCがこれを攻撃することによって敵キャラクタAに大きなダメージを与えることができる。なお、コアオブジェクトW1〜W3以外に、たとえば敵キャラクタAの頭部や前足に攻撃を加えても、敵キャラクタAの体力を減少させることが可能である。また、コアオブジェクトに対する攻撃のみを敵キャラクタAに対する攻撃として有効にしてもよい。
【0051】
次に、敵キャラクタ(大型オブジェクトA)の動作について、
図5を参照しつつ説明する。
図5は、フェーズテーブル95の一例を示す図である。敵キャラクタAは、時間経過に応じてルートMなどに沿って移動等するが、動作はフェーズで管理される。本実施形態では、大きく4つのフェーズF0〜F3がある。各フェーズF0〜F3には、サブフェーズが対応付けられている。そして、サブフェーズには、動作情報(制御情報)、移行条件の情報が対応付けられている。動作情報は、敵キャラクタAに実行させる動作内容が登録されている。移行条件は、次のサブフェーズ(フェーズ)への移行条件が登録されている。
【0052】
ゲーム装置2は、ゲーム開始時にフェーズF0のサブフェーズF0−0から順に動作情報を参照して敵キャラクタAの動作を制御する。最終的に、フェーズF3の最終のサブフェーズF3−3またはF3−4の移行条件が成立した場合にゲームが終了となる。
【0053】
ゲーム開始時、プレイヤキャラクタPCは、仮想空間60の空中を設定されたルートで移動を開始し、敵キャラクタAのステージ面A7の位置P3に降り立つように制御される。降り立った後、ユーザによるプレイヤキャラクタPCの移動の操作が受け付けられる。
【0054】
また敵キャラクタAは、サブフェーズF0−0の動作情報に示されるように、位置K1で二足歩行の状態で待機(停止)の動作を行う。そして、移動しているプレイヤキャラクタPCの位置が位置P1に到達した場合、サブフェーズF0−0からサブフェーズF0−1に移行される。サブフェーズF0−1においても、敵キャラクタAは、二足歩行の状態で待機(停止)の動作を継続して行う。また、サブフェーズF0−2においも、敵キャラクタAは、二足歩行の状態で待機(停止)の動作を継続するが、条件W1が成立した場合に咆哮の動作を行う。条件W1としては、たとえば、プレイヤキャラクタPCが位置P3(敵キャラクタAに接近した位置など)に到達したことである。そして、咆哮後、サブフェーズF0−3では、敵キャラクタAは、四足歩行の状態で待機(停止)の動作を行う。
【0055】
そして、サブフェーズF0−3の移行条件が成立した場合には、次のフェーズF1のサブフェーズF1−0に移行される。待機していた敵キャラクタAは、位置K2(不図示)に向けてルートM上を四足歩行で移動を行う。その後、サブフェーズF1−2において、敵キャラクタAは、四足歩行で位置K4(不図示)まで移動していくが、条件W2が成立した場合には四足歩行から二足歩行に切り換えて位置K4まで移動を行う。条件W2は、たとえば、プレイヤキャラクタPCが敵キャラクタAに対して所定の攻撃を成功させたことである。たとえば、四足歩行の姿勢に比べて二足歩行の姿勢の方が、敵キャラクタAを攻撃し易い場合や敵キャラクタAから攻撃を受け難い場合には、条件W2を成立させることで、ユーザ(プレイヤキャラクタPC)が有利にゲームを進めることができる。
【0056】
なお、本実施形態では、プレイヤキャラクタPCは、フェーズF01,F1においては、敵キャラクタ(大型オブジェクト)Aに乗った状が維持され、大型オブジェクトB,Cに移ることができない。フェーズF2,F3において、敵キャラクタAが移動して大型オブジェクトB,Cに近接した場合には、プレイヤキャラクタPCは敵キャラクタAから大型オブジェクトB,Cに移って、敵キャラクタAを攻撃することが可能となる。
【0057】
また、プレイヤキャラクタPCは、敵キャラクタAの体力を減少させる攻撃以外の攻撃も可能である。たとえば、敵キャラクタAの動作を制限する拘束攻撃がある。拘束攻撃が成功した場合、敵キャラクタAは、所定の拘束時間(たとえば30秒間)が経過するまで、移動できないまたは移動速度が低下することとなる。したがって、敵キャラクタAに対する攻撃可能時間が延びる。
【0058】
また、フェーズF3のサブフェーズF3−2において、敵キャラクタAが大型オブジェクトCに近接する攻撃位置ATで大型オブジェクトCの破壊攻撃を行う。プレイヤキャラクタPCは、敵キャラクタAから大型オブジェクトCに乗り移るなどして敵キャラクタAに攻撃を行う。そして、敵キャラクタAの攻撃によって大型オブジェクトCに設定された耐久力が所定値に減少した場合、サブフェーズF3−4に移行して敵キャラクタAが大型オブジェクトCを破壊してルートM−2を移動してゲーム終了となる。この場合、ユーザのゲームクリアとはならない。また、サブフェーズF3−2において、大型オブジェクトCの耐久力が所定値に減少する前に、敵キャラクタAの体力が所定値まで減少した場合、サブフェーズF3−3に移行して敵キャラクタAがルートM−1を移動してゲーム終了となる。すなわち、大型オブジェクトCは破壊されず、ゲームクリアとなる。
【0059】
次に、ゲーム装置2の機能について
図6を参照しつつ説明する。
図6は、この実施形態のゲーム装置2の機能ブロック図である。ゲーム装置2は、ゲームプログラム50との協働によって、ゲーム進行制御部200および通信制御部250等として機能する。
ゲーム進行制御部200は、操作部41からの操作信号などに基づいてゲームの進行を制御する。また、ゲーム進行制御部200は、仮想空間生成部210、プレイヤキャラクタ制御部220、大型オブジェクト制御部230、エフェクト制御部240を含む。
【0060】
仮想空間生成部(仮想空間生成手段)210は、三次元の仮想空間60を生成する。プレイヤキャラクタ制御部(プレイヤキャラクタ制御手段)220は、仮想空間60内で活動するプレイヤキャラクタPCを生成し、その動作(攻撃、移動など)を制御する。また、プレイヤキャラクタ制御部220は、大型オブジェクトAに乗っているときのプレイヤキャラクタPCのワールド座標系で表される位置(ローカル原点)を、大型オブジェクトA(ローカル座標系)の移動、および、ローカル座標系で定義される大型オブジェクトAの形状(姿勢)の変化に同期して修正する。
【0061】
大型オブジェクト制御部(大型オブジェクト制御手段)230は、大型オブジェクトA〜Cを生成する。また、大型オブジェクト制御部230は、フェーズF0〜F3などに基づいて、大型オブジェクトAの移動および動作(姿勢)を制御する。エフェクト制御部(エフェクト制御手段)240は、ゲーム進行に基づいて仮想空間60におけるエフェクトの出力を制御する。また、エフェクト制御部240は、大型オブジェクトAに関連するエフェクトの場合、そのエフェクトのワールド座標系の出力位置を、大型オブジェクトA(ローカル座標系)の移動、および、ローカル座標系で定義される大型オブジェクトAの形状(姿勢)の変化に同期して修正する。
【0062】
通信制御部(通信制御手段)250は、仮想空間60において他のプレイヤキャラクタPCを操作する他ユーザのゲーム装置2との通信を制御する。たとえば、上述した仮想空間60において、他ユーザのプレイヤキャラクタPCと協力してゲームを遊戯する場合、他ユーザのゲーム装置2とピアツーピア方式により通信を行い、ゲームの進行に必要なデータを相互に送信する。この場合、1のゲーム装置2がホストとしてゲーム進行を制御すればよい。ホストのゲーム装置2が各ゲーム装置2からユーザの操作情報などを受信し、ゲームの進行処理を行って結果を各ゲーム装置2に送信する。また、ホストのゲーム装置2(通信制御部250)は、敵オブジェクトAの現在のフェーズおよびサブフェーズの情報も他のゲーム装置2に送信する。これにより、各ゲーム装置2で敵キャラクタAの行動を同期させることができる。また、ホストのゲーム装置2との通信が途切れた場合であっても、残りのゲーム装置2のいずれかがホストとなって,フェーズ、サブフェーズに基づいて敵キャラクタAの行動を継続して制御することができる。
【0063】
次に、
図2で示す仮想空間60のゲームの進行処理を、
図7のフローチャートを参照しつつ説明する。
図7は、本実施形態のゲーム進行処理を示すフローチャートである。
図7に示すゲーム進行処理は、主としてゲーム進行制御部200によって実行される。なお、
図7では、主としてプレイヤキャラクタPCおよび敵キャラクタAに関する処理について説明し、他の処理については省略する。
【0064】
ゲーム進行制御部200は、最初に、
図2に示すような仮想空間60を生成し(ステップS10)、初期設定を行う(ステップS11)。初期設定では、たとえば、敵オブジェクトAの現在のフェーズ:F0、サブフェーズ:F0−0、敵オブジェクトAの姿勢情報:二足歩行が設定される。
【0065】
次に、ゲーム進行制御部200は、プレイヤキャラクタPCの更新処理を実行する(ステップS12)。たとえば、プレイヤキャラクタPCのアタリと他のオブジェクトのアタリとのアタリ処理などを行う。また、操作部41からの操作情報、衝突判定などに基づいてプレイヤキャラクタPCの動作を制御(更新)する。また、プレイヤキャラクタPCが敵オブジェクトAに乗っている場合、上述のようにプレイヤキャラクタPCのワールド座標系の位置の修正を行う。
【0066】
その後、ゲーム進行制御部200は、敵オブジェクトAの更新処理を行う(ステップS13)。たとえば、現在のフェーズおよびサブフェーズに基づいて敵オブジェクトAの動作を制御する。また、プレイヤキャラクタPCの攻撃による体力の更新を行う。そして、ゲーム進行制御部200は、ステップS13の更新処理の結果に基づいて、敵キャラクタAの現在のフェーズおよびサブフェーズ、敵キャラクタAの姿勢情報を更新する(ステップS14)。敵キャラクタAの姿勢情報は、敵キャラクタAのアタリの属性情報を参照する際に使用される。
【0067】
次に、ゲーム進行制御部200は、エフェクト処理を行う(ステップS15)。たとえば、ステップS12、S13の更新処理の結果に基づいて発生させるエフェクトを決定し、その出力位置を算出する。また、エフェクトが敵オブジェクトAに関連する場合、上述のようにエフェクトの出力位置のワールド座標系の位置の修正を行う。
【0068】
その後、ゲーム進行制御部200は、ゲームが終了したかを判断する(ステップS16)。たとえば、敵キャラクタAのサブフェーズF3−3またはF3−4が終了(移行条件成立)した場合にゲーム終了と判断する。ゲームが終了していない場合(ステップS16でNO)、ゲーム進行制御部200は、ステップS12の処理に戻る。一方、ゲームが終了した場合(ステップS16でYES)、ゲーム進行処理を終了する。
【0069】
以上のように、大型オブジェクトAが移動し、大型オブジェクトAに乗っているプレイヤキャラクタPCのワールド座標系の位置も、大型オブジェクトA(ローカル座標系)の移動に応じて修正される。すなわち、プレイヤキャラクタPCがいる大型オブジェクトAが変化する。これにより、仮想空間60において変化に富んだ大型オブジェクトAを形成でき、ゲームの趣向性を向上させることができる。また、大型オブジェクトAの形状自体も変化するので、大型オブジェクトAがより変化することとなり、ゲームの趣向性がより向上する。
【0070】
本実施形態では、大型オブジェクトAが敵キャラクタであったが、大型オブジェクトは敵キャラクタでなくてもよい。たとえば、味方キャラクタであってもよく、少なくともプレイヤキャラクタPCが乗ることができるステージ面を有する大型オブジェクトであればよい。また、大型オブジェクトAは、移動および形状の変化のいずれか一方だけが行われる構成としてもよい。
【0071】
上述の実施形態では、大型オブジェクトAの行動をフェーズに基づいて制御していたが、特にこれに限定されるものではない。いずれの制御方法を適用してもよい。
【0072】
上述の実施形態のゲームは、プレイヤキャラクタが乗ることができるステージ面を有する大型オブジェクトを備える構成であれば、いずれのジャンルに適用してもよい。
【0073】
大型オブジェクトAが、他の大型オブジェクトB,Cのように移動しない状態のときと移動しているときとで形状等が切り替わるようにしてもよい。移動しない状態のときに他の敵キャラクタが乗るようにしてもよい。
【0074】
上述の実施形態のゲームシステムでは、ゲーム機が単体でゲームを実行しているが、特にこれに限定されるものではない。たとえば、ゲーム機がインターネット等を介してゲームサーバ装置に接続されるオンラインゲームシステムであってもよい。この場合、ゲームサーバ装置において
図7で説明した動作処理を実行するようにしてもよい。あるいは、ゲームサーバ装置およびゲーム機が共同して動作処理を実行するようにしてもよい。