(57)【要約】【課題】接触した他の物体を表面上に結合して雪ダルマ式に巨大化するオブジェクトを転がすことをモチーフとする新しいゲームを提供するとともに、ゲームを楽しむ上で初心者プレーヤでもゲームの楽しさを十分に楽しめるように補助する。【解決手段】プレーヤの操作に応じて球Ｂを転動させ、衝突した配置物Ｅが所定の結合条件を満たす場合には、当該配置物Ｅを球Ｂに結合させて球Ｂを雪ダルマ式に大きくする。一方、衝突した配置物Ｅが所定の結合条件を満たさない場合には、結合はさせずにその場で球Ｂの体積Ｄｂと当該配置物Ｅの体積設定値Ｄｅとの比率に応じた所定の挙動（揺動）をさせる。【選択図】図４
2005095324.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段、
前記結合条件を満たさないと判定された場合に、当該接触が挙動条件を満たすか否かを判定する挙動判定手段、
前記挙動条件を満たすと判定された場合に、所与の挙動をするように前記接触した第２オブジェクトを制御する挙動制御手段、
前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段、
前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記挙動判定手段が、挙動の程度を判定する程度判定手段を有し、
前記挙動制御手段が、前記程度判定手段により判定された程度の挙動をするように前記接触した第２オブジェクトを制御する手段である、
ように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記挙動は、所与の最大変化幅で周期的に運動する運動パターンであり、
前記挙動の程度には、少なくとも前記運動パターンの最大変化幅の大きさが含まれる、
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記程度判定手段が、前記接触した第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率に応じて挙動の程度を判定する手段である、ように前記コンピュータを機能させるための請求項２又は３に記載のプログラム。
【請求項５】
前記複数の第２オブジェクトの配置位置関係に基づいて、前記挙動制御手段による挙動制御対象の第２オブジェクトに対する従属位置関係にある第２オブジェクトの有無を判定し、有った場合に、前記挙動制御対象の第２オブジェクトの挙動に従動するように、従属位置関係にある第２オブジェクトを制御する従動制御手段として前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記結合手段によって結合された第２オブジェクトのリストを作成するリスト作成手段、
前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記リストに登録されている第２オブジェクトの中から、分離させる第２オブジェクトを特定する特定手段、
前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段、
として前記コンピュータを機能させるとともに、
前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段を有するように前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記リスト作成手段が、結合された第２オブジェクトの重量又は体積の物理量を含めてリストを作成する手段であるように前記コンピュータを機能させ、
(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する算出手段として前記コンピュータを機能させ、
前記特定手段が、前記分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以下であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返す手段を有するように前記コンピュータを機能させる、
ことを特徴とする請求項６に記載のプログラム。
【請求項８】
前記特定手段が、当該第２オブジェクトの物理量が分離物理量より大きい場合に、前記リストに登録されていた当該第２オブジェクトの物理量を、当該物理量から所定量減算して更新する手段を有するように前記コンピュータを機能させるための請求項７に記載のプログラム。
【請求項９】
前記リスト作成手段が、前記結合手段によって結合された順番に第２オブジェクトのリストを作成する手段であるように、
前記特定手段が、前記リストに新しく登録された第２オブジェクトから順に前記比較を行う手段であるように、
前記コンピュータを機能させるための請求項７又は８に記載のプログラム。
【請求項１０】
コンピュータに、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段、
前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段、
前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段、
前記結合手段によって結合された第２オブジェクトのリストを、結合された第２オブジェクトの重量又は体積の物理量を含めて作成するリスト作成手段、
(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する算出手段、
前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記算出された分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以上であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返すことにより分離する第２オブジェクトを特定する特定手段、
前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段、
として前記コンピュータを機能させるとともに、
前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段を有するように前記コンピュータを機能させるためのプログラム。
【請求項１１】
コンピュータに、３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトと第２オブジェクトとの衝突を判定する衝突判定手段、
前記衝突判定手段によって衝突したと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段、
前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報に基づいて判定する挙動程度判定手段、
前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１２】
コンピュータに、３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトと第２オブジェクトとの離間距離が所定条件を満たすか否かを判定する距離判定手段、
前記距離判定手段によって条件を満たすと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段、
前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報に基づいて判定する挙動程度判定手段、
前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１３】
請求項１〜１２の何れか一項に記載のプログラムを記憶した前記コンピュータによる読取可能な情報記憶媒体。
【請求項１４】
３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するためのゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段と、
前記結合条件を満たさないと判定された場合に、当該接触が挙動条件を満たすか否かを判定する挙動判定手段と、
前記挙動条件を満たすと判定された場合に、所与の挙動をするように前記接触した第２オブジェクトを制御する挙動制御手段と、
前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段と、
前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段と、
を備えたゲーム装置。
【請求項１５】
３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するためのゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段と、
前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段と、
前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段と、
前記結合手段によって結合された第２オブジェクトのリストを、結合された第２オブジェクトの重量又は体積の物理量を含めて作成するリスト作成手段と、
(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する算出手段と、
前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記算出された分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以上であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返すことにより分離する第２オブジェクトを特定する特定手段と、
前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段と、
を備えるとともに、
前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段を有することを特徴とするゲーム装置。
【請求項１６】
３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとの衝突を判定する衝突判定手段と、
前記衝突判定手段によって衝突したと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段と、
前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報に基づいて判定する挙動程度判定手段と、
前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段と、
を備えることを特徴とするゲーム装置。
【請求項１７】
３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとの離間距離が所定条件を満たすか否かを判定する距離判定手段と、
前記距離判定手段によって条件を満たすと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段と、
前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報に基づいて判定する挙動程度判定手段と、
前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段と、
を備えることを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、３次元仮想空間内に複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
従来、様々な種類のゲームが提案されている。その一分野として所謂アクションアドベンチャーゲームと称される分野がある。プレーヤは自キャラクタを操作して、障害物や敵キャラの攻撃をかわし或いは排除しながら、所定のステージを制限時間内に走破するゲームである。プレーヤは、自キャラクタの操作テクニックを駆使し、ステージを飛んだりはねたりしながら駆抜けて爽快感を楽しむ。そして、クリアした時間やステージ中で取得したアイテムの数などで得点を競う。中には、プレーヤが怪獣を操作してビル等を破壊して歩き、壊し方で得点を競うゲームもある。
【０００３】
破壊をリアルに表現する方法としては、崩壊後に分散させる表示ブロックの各々をまとまって移動可能な表示要素として予め設定しておき、この表示要素によってビル等の破壊対象のオブジェクトを表示させるものが知られている（例えば、特許文献１参照。）。
例えば、プレーヤが操る怪獣に体当たりされるなどによってビルが破壊された場合には、表示要素を分離することによってコンクリートブロックが崩落するように見せている。また、この際、衝突ベクトルの大きさが所定の基準値を上回る場合に、崩壊して落下するコンクリートブロックがあたかも衝突の勢いを受けて回転しながら落ちているように、該コンクリートブロックに移動速度や回転を与えて、よりリアルな表現を実現している。より具体的には、衝突ベクトルに対応したＸＹＺの各軸の速度成分に加速度成分を加えて落下移動する速度を設定し、衝突ベクトルとコンクリートブロックの主要面の法線ベクトルとの成す角度に応じた回転速度を設定する。
【特許文献１】特開２０００−１１３２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のように、従来のアクションアドベンチャーゲームでは、プレーヤが操る自キャラクタはゲームストーリ上の主人公（場合によっては、主人公が操縦する機械等）をモチーフとし、自キャラクタ自身がステージを走破する設定がほとんどである。ゲームストーリの設定に差は有るものの、障害物や敵キャラクタをかわし、或いは排除しながら先に進むという展開自体には大きな差異はなかった。
【０００５】
また、上述のように、衝突を受けたオブジェクトが衝突の勢いに応じた運動（挙動）をするように表現するために、該オブジェクトの移動速度や回転を衝突の勢いに応じて別途計算して決定する場合が多い。しかし、比較的短時間の間に多数のオブジェクトとの衝突が発生する場合には、移動速度や回転の算出に要する演算負荷が大きくなり、結果的に十分な数のオブジェクトに衝突に応じた挙動をさせることができない場合が有った。
【０００６】
本発明は、上記課題を鑑みてなされたものである。その目的とするところは、第１に、接触した他の物体を表面上に結合して雪ダルマ式に巨大化するオブジェクトを転がすことをモチーフとする新しいゲームを提供することである。また、そうしたゲームを楽しむ上で初心者プレーヤでもゲームの楽しさを十分に楽しめるように補助することである。第２に、衝突を受けたオブジェクトの挙動をより少ない演算処理負荷で実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、第１の発明は、コンピュータ（例えば、図１の家庭用ゲーム装置１２００、制御ユニット１２１１）に、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクト（例えば、図２の球Ｂ）と、複数の第２オブジェクト（例えば、図２の配置物Ｅ１〜Ｅ１２）とを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１３のステップＳ８〜Ｓ１２）、前記結合条件を満たさないと判定された場合に、当該接触が挙動条件を満たすか否かを判定する挙動判定手段（例えば、図６のゲーム演算部２２、図１３のステップＳ２０）、前記挙動条件を満たすと判定された場合に、所与の挙動をするように前記接触した第２オブジェクトを制御する挙動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１３のステップＳ１６）、前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０）、前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０、Ｓ５４〜Ｓ５８）、として前記コンピュータを機能させる。
【０００８】
また、第１２の発明は、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するためのゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１３のステップＳ８〜Ｓ１２）と、前記結合条件を満たさないと判定された場合に、当該接触が挙動条件を満たすか否かを判定する挙動判定手段（例えば、図６のゲーム演算部２２、図１３のステップＳ２０）と、前記挙動条件を満たすと判定された場合に、所与の挙動をするように前記接触した第２オブジェクトを制御する挙動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１３のステップＳ１６）と、前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０）と、前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０、Ｓ５４〜Ｓ５８）と、を備えることを特徴とする。
【０００９】
第１又は１２の発明によれば、プレーヤによって操作され転動するように表示される第１オブジェクトが、ゲーム空間中に配置されている第２オブジェクトに接触した場合、結合条件を満たすならば第１オブジェクトに第２オブジェクトを結合させ、第２オブジェクトが結合された第１オブジェクトを以降第１オブジェクトとしてプレーヤに操作させることができる。すなわち、プレーヤは第１オブジェクトを第２オブジェクトに接触させることによって、結合条件を満たすものについては雪ダルマ式に第１オブジェクトにくっつけることができる。
【００１０】
一方、第１オブジェクトが第２オブジェクトに接触したが、結合条件を満たさない場合には、当該第２オブジェクが挙動条件を満たすか否かを判定し、該条件を満たす場合に第２オブジェクトに所与の挙動をさせることができる。すなわち、結合できない第２オブジェクトと接触した場合には、第２オブジェクトが所与の挙動をするので、接触はしたが結合条件を満たしていなかったことが明らかとなる。それゆえ、プレーヤは現在の第１オブジェクトでは結合条件を満たしていないことを理解し、該条件を満たす頃に再度同じ第２オブジェクトに衝突させようといったゲームの遊び方を容易に想起することができる。
【００１１】
第２の発明は、第１の発明のプログラムであって、前記挙動判定手段が、挙動の程度を判定する程度判定手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、揺動態様ＴＢＬ５５、図１６のステップＳ１４０）を有し、前記挙動制御手段が、前記程度判定手段により判定された程度の挙動をするように前記接触した第２オブジェクトを制御する手段である、ように前記コンピュータを機能させるプログラムである。
【００１２】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、第１オブジェクトと接触したが結合条件を満たさない第２オブジェクトについて、挙動の程度を判定し、判定された程度で当該第２オブジェクトを挙動させることができる。
【００１３】
より好適には、例えば第３の発明のように、第２の発明のプログラムにおける前記挙動は、所与の最大変化幅で周期的に運動する運動パターンであり、前記挙動の程度には、少なくとも前記運動パターンの最大変化幅の大きさが含まれることとしても良い。
【００１４】
更には、第４の発明のように、第２又は３の発明のプログラムにおける前記程度判定手段は、前記接触した第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率に応じて挙動の程度を判定する手段である、ように前記コンピュータを機能させるとしても良い。
【００１５】
第４の発明によれば、第２又は３の発明と同様の効果を奏するとともに、第１オブジェクトと第２オブジェクトとの体積又は重要の物理量の比率を挙動の程度として表示させることができる。したがって、ユーザは挙動の程度から、あとどの程度で結合条件を満たすようになるかを推測するのを手助けすることができる。
【００１６】
また、第２オブジェクトの挙動については、第５の発明のように、第１〜４の発明の内、何れか一つの発明であって、前記複数の第２オブジェクトの配置位置関係に基づいて、前記挙動制御手段による挙動制御対象の第２オブジェクトに対する従属位置関係にある第２オブジェクトの有無を判定し、有った場合に、前記挙動制御対象の第２オブジェクトの挙動に従動するように、従属位置関係にある第２オブジェクトを制御する従動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１５０〜Ｓ１６２）として前記コンピュータを機能させるプログラムを構成しても良い。
【００１７】
第５の発明によれば、第１〜４の発明の内、何れか一つの発明と同様の効果を奏するとともに、第２オブジェクトが他の第２オブジェクトと従属関係（所謂「オブジェクトの親子関係」）を成している場合に、当該第２オブジェクトとともに、従属関係に有る他の第２オブジェクトも制御することができる。したがって、複数のオブジェクトで１つのオブジェクトを構成する場合には、一体的に挙動させることが可能となる。
【００１８】
第６の発明は、第１〜５の発明の内、何れか一つの発明であって、前記結合手段によって結合された第２オブジェクトのリスト（例えば、図９の結合リスト情報５６７）を作成するリスト作成手段（例えば、図６のゲーム演算部２２、結合制御部２２２、記憶部５０、結合リスト情報５６７、図１４のステップＳ５０）、前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記リストに登録されている第２オブジェクトの中から、分離させる第２オブジェクトを特定する特定手段（例えば、図６のゲーム演算部２２、分離配置物決定部２２２ｂ、図１５のステップＳ１１０）、前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段（例えば、図６のゲーム演算部２２、分離配置物決定部２２２ｂ、図１５のステップＳ１１２〜Ｓ１１６）、として前記コンピュータを機能させるとともに、前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段（例えば、図６のゲーム演算部２２、分離配置物決定部２２２ｂ、図１５のステップＳ１２２〜Ｓ１２８）、を有するように前記コンピュータを機能させるプログラムである。
【００１９】
第６の発明によれば、第１〜５の発明の内、何れか一つの発明と同様の効果を奏するとともに、結合された第２オブジェクトのリストを作成して記憶しておくことができる。そして、第１オブジェクトが、結合条件を満たさない第２オブジェクトと衝突した場合に、リストに登録されている第２オブジェクトの中から、第２オブジェクトを特定して分離させ、分離後の第１オブジェクトを以降のゲームプレイにおいてプレーヤに操作させることができる。
すなわち、第１オブジェクトが結合することのできない第２オブジェクトと衝突した場合に、既に結合した状態の第２オブジェクトを分離させ、あたかも衝突の衝撃によってせっかく結合させていたものが取れてしまうように表示させるといったことができる。したがって、第１オブジェクトに第２オブジェクトを雪ダルマ式に単純にくっつけるだけのゲームではなく、操作ミスをするとゲームのモチーフに沿ったペナルティを課すことによって、よりゲームを面白くすることができる。
【００２０】
より好適には、第７の発明のように、第６の発明のプログラムであって、前記リスト作成手段が、結合された第２オブジェクトの重量又は体積の物理量を含めてリストを作成する手段であるように前記コンピュータを機能させ、(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量（例えば、図１１の崩れ体積Ｄｃ）を算出する算出手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１００〜Ｓ１０４）として前記コンピュータを機能させ、前記特定手段が、前記分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以下であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返す手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０８〜Ｓ１２０）を有するように前記コンピュータを機能させるプログラムであるとしても良い。
【００２１】
第７の発明によれば、第６の発明と同様の効果を奏するとともに、結合された第２オブジェクトの重量又は体積の物理量を含めてリストを作成する。また、第１オブジェクトと結合条件を満たさない第２オブジェクトとが衝突した場合には、接触時の前記第１オブジェクトの速度、第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する。
そして、算出した分離物理量とリストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以下であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返しながら、分離させる第２オブジェクトを選択することができる。
【００２２】
すなわち、第１オブジェクトと結合条件を満たさない第２オブジェクトが衝突した場合、衝突の規模に基づく分離させる第２オブジェクトの総量を示す値として分離物理量を算出し、分離物理量が分離する第２オブジェクトの物理量で相殺させることによって、あたかも衝突のエネルギーに応じた量の分離が起きるといった表現を実現することができる。
【００２３】
更に好適には、第８の発明のように、第７の発明のプログラムにおける前記特定手段が、当該第２オブジェクトの物理量が分離物理量より大きい場合に、前記リストに登録されていた当該第２オブジェクトの物理量を、当該物理量から所定量減算して更新する手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１１０；ＮＯ、Ｓ１１８）を有するように前記コンピュータを機能させるプログラムであるとしても良い。
【００２４】
第８の発明によれば、第７の発明と同様の効果を奏するとともに、リストに登録されている第２オブジェクトの物理量が分離物理量より大きく、分離の対象とはされない場合には、当該第２オブジェクトの物理量から分離物理量を減算して更新する。したがって、当該第２オブジェクトは分離しないが、登録されている物理量が小さくなることで、次回分離物理量との比較の場合、分離物理量以下の条件を満たしやすくなる。すなわち、次の衝突時には分離し易い状況に更新することができる。これによって、衝突によって結合済みの第２オブジェクトが分離する過程をよりそれらしく実現することができる。
【００２５】
また、第９の発明のように、第７又は８の発明のプログラムであって、前記リスト作成手段が、前記結合手段によって結合された順番に第２オブジェクトのリストを作成する手段であるように、前記特定手段が、前記リストに新しく登録された第２オブジェクトから順に前記比較を行う手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０６）であるように、前記コンピュータを機能させるプログラムを構成しても良い。
【００２６】
第９の発明によれば、第７又は８の発明と同様の効果を奏するとともに、結合された順番が新しい方から順に第２オブジェクトを分離させるか否かを判定することができる。第１オブジェクトは雪ダルマ式に第２オブジェクトを結合させるので、結合順が新しいほど外側に結合していることになる。したがって、比較的外側に結合している第２オブジェクトから順に分離させることが可能となり、衝突によって結合済みの第２オブジェクトが分離する過程をよりそれらしく実現することができる。
【００２７】
第１０の発明は、コンピュータに、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１３のステップＳ８〜Ｓ１４）、前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０）、前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０、Ｓ５４〜Ｓ５８）、
前記結合手段によって結合された第２オブジェクトのリスト（例えば、図９の結合リスト情報５６７）を、結合された第２オブジェクトの重量又は体積の物理量を含めて作成するリスト作成手段（例えば、図６のゲーム演算部２２、結合制御部２２２、記憶部５０、結合リスト情報５６７、図１４のステップＳ５０）、(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量（例えば、図１１の崩れ体積Ｄｃ）を算出する算出手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１００〜Ｓ１０４）、
前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記算出された分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以上であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返すことにより分離する第２オブジェクトを特定する特定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０８〜Ｓ１２０）、前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０８〜Ｓ１２０）、として前記コンピュータを機能させるとともに、前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１２２〜Ｓ１２８）を有するように前記コンピュータを機能させるプログラムである。
【００２８】
また、第１３の発明は、３次元仮想空間内に、プレーヤによる転動及び移動の操作指示対象の第１オブジェクトと、複数の第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するためのゲーム装置であって、
前記第１オブジェクトと第２オブジェクトとが接触した場合に、結合条件を満たすか否かを判定する結合判定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１３のステップＳ８〜Ｓ１４）と、前記結合条件を満たすと判定された場合に、前記第１オブジェクトの当該接触位置近傍に当該第２オブジェクトを結合させる結合手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０）と、前記結合手段によって前記第１オブジェクトに第２オブジェクトが結合された場合には、当該第２オブジェクトを含む、当該第２オブジェクトが結合された状態の第１オブジェクトを新たな第１オブジェクトに転化する転化手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１４のステップＳ５０、Ｓ５４〜Ｓ５８）と、
前記結合手段によって結合された第２オブジェクトのリストを、結合された第２オブジェクトの重量又は体積の物理量を含めて作成するリスト作成手段（例えば、図６のゲーム演算部２２、結合制御部２２２、記憶部５０、結合リスト情報５６７、図１４のステップＳ５０）と、(1)接触時の前記第１オブジェクトの速度、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、(3)前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する算出手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１００〜Ｓ１０４）と、
前記第１オブジェクトと第２オブジェクトとが接触し、前記結合判定手段によって前記結合条件を満たさないと判定された場合に、前記算出された分離物理量と前記リストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以上であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返すことにより分離する第２オブジェクトを特定する特定手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０８〜Ｓ１２０）と、
前記特定手段により特定された第２オブジェクトを前記第１オブジェクトから分離させる分離手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１０８〜Ｓ１２０）と、を備えるとともに、前記転化手段が、前記分離手段による分離が行われた場合に、分離された第２オブジェクトを除いた状態の第１オブジェクトを新たな第１オブジェクトに転化する手段（例えば、図６のゲーム演算部２２、結合制御部２２２、図１５のステップＳ１２２〜Ｓ１２８）を有することを特徴とするゲーム装置である。
【００２９】
第１０又は１３の発明によれば、プレーヤによって操作され転動するように表示される第１オブジェクトが、ゲーム空間中に配置されている第２オブジェクトに接触した場合、結合条件を満たすならば第１オブジェクトに第２オブジェクトを結合させ、第２オブジェクトが結合された第１オブジェクトを以降第１オブジェクトとしてプレーヤに操作させることができる。すなわち、プレーヤは第１オブジェクトを第２オブジェクトに接触させることによって、結合条件を満たすものについては、第２オブジェクトを雪ダルマ式に第１オブジェクトにくっつけて歩くといったことができる。
【００３０】
一方、第１オブジェクトが第２オブジェクトに接触したが、結合条件を満たさない場合には、当該第２オブジェクが挙動条件を満たすか否かを判定し、該条件を満たす場合に第２オブジェクトに所与の挙動をさせることができる。すなわち、結合できない第２オブジェクトと接触した場合には、第２オブジェクトが所与の挙動をするので、接触はしたが結合条件を満たしていなかったことが明らかとなり、プレーヤは現在の第１オブジェクトでは結合条件を満たしていないことを理解し、該条件を満たす頃に再度同じ第２オブジェクトに衝突させるといったゲームの遊び方を容易に想起させることができる。
【００３１】
そして、結合の際には結合された第２オブジェクトの重量又は体積の物理量を含めてリストを作成する。また、第１オブジェクトと結合条件を満たさない第２オブジェクトとが衝突した場合には、接触時の前記第１オブジェクトの速度、第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度、前記第１オブジェクトの物理量、のうち少なくとも１つに基づいて、分離させる物理量である分離物理量を算出する。
そして、算出した分離物理量とリストに登録されている第２オブジェクトの物理量とを比較し、当該第２オブジェクトの物理量が分離物理量以下であれば、当該第２オブジェクトを分離対象にするとともに、分離物理量から当該第２オブジェクトの物理量を減算して分離物理量を更新する演算を繰り返しながら、分離させる第２オブジェクトを選択することができる。
【００３２】
したがって、第１オブジェクトと結合条件を満たさない第２オブジェクトとが衝突した場合、衝突の規模に基づく分離させる第２オブジェクトの総量を示す値として分離物理量を算出し、分離物理量が分離する第２オブジェクトの物理量で相殺させることによって、あたかも衝突のエネルギーに応じた量の分離が起きるといった表現を実現することができる。
【００３３】
第１１の発明は、コンピュータに、３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、前記第１オブジェクトと第２オブジェクトとの衝突を判定する衝突判定手段（例えば、図６のゲーム演算部２２、図１３のステップＳ８）、前記衝突判定手段によって衝突したと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段（例えば、図６のゲーム演算部２２、図１３のステップＳ１０）、前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報（例えば、図８の揺動態様ＴＢＬ５５）に基づいて判定する挙動程度判定手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４０）、前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４２〜Ｓ１６４）、として前記コンピュータを機能させることを特徴とする。
【００３４】
また、第１６の発明は、３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置するとともに、所与の視点から見た前記３次元仮想空間内の画像を生成して所与のゲームを実行するのゲーム装置であって、前記第１オブジェクトと第２オブジェクトとの衝突を判定する衝突判定手段（例えば、図６のゲーム演算部２２、図１３のステップＳ８）と、前記衝突判定手段によって衝突したと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段（例えば、図６のゲーム演算部２２、図１３のステップＳ１０）と、前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報（例えば、図８の揺動態様ＴＢＬ５５）に基づいて判定する挙動程度判定手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４０）と、前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４２〜Ｓ１６４）と、を備えることを特徴とする。
【００３５】
第１１又は１６の発明によれば、予め第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率に応じた挙動の程度が対応づけられている。そして、第１オブジェクトと第２オブジェクトとが衝突した場合には、その時点における第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率を算出し、算出された比率に対応して設定された挙動の程度で衝突を受けた第２オブジェクトを挙動させることができる。予め定められている対応関係にしたがって挙動の程度を決定するだけですむので、処理負荷が少なく、比較的短時間に多くの衝突が発生する状況でも対応することが可能になる。
また、この挙動の程度は、第１オブジェクトと第２オブジェクトとの体積や重量といった物理量の比率に応じて設定されているので、プレーヤが両オブジェクトの見た目の印象から想像する挙動の程度に合った表現を実現することができる。
【００３６】
第１２の発明は、コンピュータに、３次元仮想空間内にプレーヤによる操作指示対象の第１オブジェクトと第２オブジェクトとを含む複数のオブジェクトを配置させるとともに、所与の視点から見た前記３次元仮想空間内の画像を生成させて所与のゲームを実行させるためのプログラムであって、前記第１オブジェクトと第２オブジェクトとの離間距離が所定条件を満たすか否かを判定する距離判定手段（例えば、図６のゲーム演算部２２、図１３のステップＳ８）、前記距離判定手段によって条件を満たすと判定された場合に、前記第２オブジェクトの前記第１オブジェクトに対する体積又は重量の物理量の比率を算出する比率算出手段（例えば、図６のゲーム演算部２２、図１３のステップＳ１０）、前記比率算出手段によって算出された比率に応じた挙動の程度を、予め記憶されている前記比率と挙動の程度とを対応付けた情報に基づいて判定する挙動程度判定手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４０）、前記挙動程度判定手段によって判定された程度で所与の挙動をするように前記第２オブジェクトを制御する挙動制御手段（例えば、図６のゲーム演算部２２、配置物揺動制御部２２７、図１６のステップＳ１４２〜Ｓ１６４）、として前記コンピュータを機能させることを特徴とする。
【００３７】
第１２又は１７の発明によれば、予め第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率に応じた挙動の程度が対応づけられている。そして、第１オブジェクトと第２オブジェクトとの相対距離（離間距離）が所定の条件を満たす場合には、その時点における第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率を算出し、算出された比率に対応して設定された挙動の程度で衝突を受けた第２オブジェクトを挙動させることができる。予め定められている対応関係にしたがって挙動の程度を決定するだけですむので、処理負荷が少なく、比較的短時間に多くの衝突が発生する状況でも対応することが可能になる。
また、この挙動の程度は、第１オブジェクトと第２オブジェクトとの体積や重量といった物理量の比率に応じて設定されているので、プレーヤが両オブジェクトの見た目の印象から想像する挙動の程度に合った表現を実現することができる。
【００３８】
第１３の発明の情報記憶媒体は、第１〜１７の発明の内、何れか一つの発明のプログラムを記憶している。
【００３９】
ここで言う「情報記憶媒体」とは、コンピュータに類する装置が情報を読み取り可能な、例えば、ＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＤＶＤ、ハードディスク、ＩＣメモリなどであって、その接続形態は、装置に着脱自在であっても良いし、通信回線を介して前記ゲーム装置に接続されるものであっても良くその形態は問わない。従って、第１３の発明によれば、前記装置に、第１〜１７の発明の内、何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【００４０】
本発明によれば、プレーヤによって操作され転動するように表示される第１オブジェクトが、ゲーム空間中に配置されている第２オブジェクトに接触した場合、結合条件を満たすならば第１オブジェクトに第２オブジェクトを結合させ、第２オブジェクトが結合された第１オブジェクトを以降第１オブジェクトとしてプレーヤに操作させることができる。すなわち、プレーヤは第１オブジェクトを第２オブジェクトに接触させることによって、結合条件を満たすものについては雪ダルマ式に第１オブジェクトにくっつけるといったことができる。
【００４１】
一方、第１オブジェクトが第２オブジェクトに接触したが、結合条件を満たさない場合には、当該第２オブジェクが挙動条件を満たすか否かを判定し、該条件を満たす場合に第２オブジェクトに所与の挙動をさせることができる。すなわち、結合できない第２オブジェクトと接触した場合には、第２オブジェクトが所与の挙動をするので、接触はしたが結合条件を満たしていなかったことが明らかとなる。それゆえ、プレーヤは現在の第１オブジェクトでは結合条件を満たしていないことを理解し、該条件を満たす頃に再度同じ第２オブジェクトに衝突させるといったゲームの遊び方を容易に想起させることができる。
【００４２】
また、予め第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率に応じた挙動の程度を予め記憶しておくことによって、第１オブジェクトと第２オブジェクトとが衝突した場合には、その時点における第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率を算出し、算出された比率に対応して設定された挙動の程度で衝突を受けた第２オブジェクトを挙動させることができる。したがって、予め定められている対応関係にしたがって挙動の程度を決定するだけですむので、処理負荷が少なく、比較的短時間に多くの衝突が発生する状況でも対応することが可能になる。また、この挙動の程度は、第１オブジェクトと第２オブジェクトとの体積や重量といった物理量の比率に応じて設定されているので、プレーヤが両オブジェクトの見た目の印象から想像する挙動の程度に合った表現を実現することができる。
【００４３】
また、予め第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率に応じた挙動の程度を予め記憶しておくことによって、第１オブジェクトと第２オブジェクトとの相対距離が所定の条件を満たす場合には、その時点における第２オブジェクトの物理量の、第１オブジェクトの物理量に対する比率を算出し、算出された比率に対応して設定された挙動の程度で衝突を受けた第２オブジェクトを挙動させることができる。したがって、予め定められている対応関係にしたがって挙動の程度を決定するだけですむので、処理負荷が少なく、比較的短時間に多くの衝突が発生する状況でも対応することが可能になる。
【発明を実施するための最良の形態】
【００４４】
本発明の実施形態として、球オブジェクトを操作対象とし、球オブジェクトに衝突（接触）した他のオブジェクトを雪ダルマ式にその表面に結合させ、時間内にいかに大きくするかを競う「大玉転がし」ゲームを実行する場合を例として説明する。尚、本発明の適用がこれに限定されるものではなく、例えば、オブジェクトを転動させることをモチーフとしたゲームであれば、そのキャラクタやゲームストーリの設定にかかわらず適用できる。
【００４５】
[構成の説明]
まず、本実施形態における構成を説明する。図１は、本発明を適用した家庭用ゲーム装置の構成の一例を示す図である。同図に示すように、家庭用ゲーム装置１２００は、ゲームコントローラ１２０２と、本体装置１２１０と、スピーカ１２２２を有するディスプレイ１２２０とを備える。ゲームコントローラ１２０２は本体装置１２１０に接続され、ディスプレイ１２２０は画像信号及び音信号等を伝送可能なケーブル１２０１によって本体装置１２１０に接続されている。
【００４６】
ゲームコントローラ１２０２は、プレーヤがゲーム操作を入力するための方向キー１２０４やボタンスイッチ１２０６を備え、操作入力信号を本体装置１２１０に出力する。
【００４７】
本体装置１２１０は、例えばＣＰＵやＩＣメモリ類を搭載した制御ユニット１２１１やＣＤ−ＲＯＭ１２１２等の情報記憶媒体の読取装置を備え、ＣＤ−ＲＯＭ１２１２などから読み出したゲーム情報とゲームコントローラ１２０２からの操作信号とに基づいて種々のゲーム処理を演算処理して、ゲーム画面の画像信号及びゲーム音の音信号を生成する。
【００４８】
本体装置１２１０は、生成した画像信号と音声信号とをディスプレイ１２２０に出力して、ディスプレイ１２２０にゲーム画像を表示させるとともにスピーカ１２２２からゲーム音を出力させる。プレーヤはディスプレイ１２２０に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２を操作して「大玉転がし」ゲームを楽しむことができる。
【００４９】
本体装置１２１０がゲーム処理を実行するために必要なプログラムやデータ等を含むゲーム情報は、例えば、本体装置１２１０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６等に格納されている。或いは、ゲーム情報を本体装置１２１０に具備された通信装置１２１８を介して通信回線２に接続し、外部装置からゲーム情報を取得する（ダウンロードする）。ここで言う「通信回線」とは、データ授受が可能な通信路を意味する。即ち、通信回線２とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また通信方法については有線／無線を問わない意味である。
【００５０】
[ゲーム内容の説明]
図２(ａ）は、本実施形態におけるゲーム画面の一例を示す図である。ゲーム画面は、例えば、オブジェクトを配置した３次元仮想空間内を所与の視点（仮想カメラ）から見たポリゴンによる３ＤＣＧ画像として表示される。
【００５１】
本実施形態では、プレーヤはキャラクタＣとなって、接触した物体をその表面に結合させる不思議な球Ｂを転がして歩く設定となっている。見かけ上キャラクタＣを介在しているが、球Ｂがプレーヤによる操作支持対象となる操作オブジェクトに該当する。球Ｂを転がす方向は、ゲームコントローラ１２０２の方向キー１２０４によって操作し、アクセルとブレーキはボタンスイッチ１２０６によって操作する。
【００５２】
プレーヤは、街中に配置されている様々な配置物Ｅに上手く球Ｂを衝突させて、その表面に結合させながら球Ｂを雪ダルマ式に大きくしてゆく（同図（ｂ））。球Ｂは、その大きさに対して所定の大きさ以下のものを結合することができるが、所定の大きさを超えるものは結合できない。例えば、同図(ａ）の場合では、リンゴ（Ｅ１）、空き缶（Ｅ２）は結合できるが、ダンボール箱（Ｅ３）や、塀（Ｅ４，Ｅ５，Ｅ８）、電柱（Ｅ６）、トラック（Ｅ７）、家屋（Ｅ１２）などは球Ｂより大きいため結合できない。
【００５３】
結合できない配置物Ｅは障害物として作用する。例えば、結合できない配置物Ｅと衝突すると、そのはずみでせっかく結合させた配置物Ｅが分離してしまう。従って、プレーヤは、結合できそうにない大きさの配置物Ｅを見極めて上手に回避しながら、球Ｂを大きくしなければならない。
【００５４】
ゲームは、複数のステージから構成されており、各ステージにはステージクリアの条件となる特定の配置物（例えば、三角コーン）が設定されており、この特定の配置物を球Ｂに結合させるとステージクリアとなる。
【００５５】
ステージを進むごとに配置される配置物Ｅのサイズは大きくなる。例えは、最初のステージでは空き缶・野球ボール・テニスラケット・ＴＶなどのサイズの配置物Ｅが配置されている。そして、次のステージではベンチ・冷蔵庫・郵便ポスト・自転車・タクシーなどのサイズ、更に次のステージではトラック・バス・電車・家屋などのサイズ、と言った具合にステージを進むごとに大きなものが配置物Ｅとして設定される。勿論、ゲーム性を高めるために、それぞれのステージで結合できない障害物になる配置物も適宜設定される。
【００５６】
球Ｂは、その大きさに応じて最大到達速度や加速度を高めながら巨大化する。したがって、球Ｂは、最初はタバコの吸殻や空き缶程度の大きさの配置物Ｅを結合するところから始まり、巨大化とともに自転車や郵便ポスト、バス等を結合するようになり、ついには家屋や電柱サイズの物体をも結合して街を破壊しながら大きくなる。
【００５７】
プレーヤは、従来のアクションアドベンチャーゲームと同様に、障害を回避しながらステージを駆抜ける楽しさを得られるのは勿論のこと、非日常的な事態のなかで繰り広げられるジョークに満ちた破壊の感覚といった、従来に無い楽しさを得ることができる。
【００５８】
［原理の説明］
次に、本実施形態における制御の原理を説明する。
図３は、本実施形態における球Ｂのモデル構成の概念を説明するための図である。上述のように、本実施形態では球Ｂに配置物Ｅが雪ダルマ式に結合するゲームである。そのため、球Ｂにはその時々によって不規則な姿勢で多数の配置物Ｅが結合することになる。しかし、多数の配置物Ｅのモデルが結合した球Ｂのモデルで衝突を判定し、更にその転動を厳密に算出するのは多くの処理負荷を要することになる。
【００５９】
そこで本実施形態では、実際に３次元仮想空間内に配置し画面表示の用に供する球表示用モデルＭｐ（同図（ａ））と、球Ｂに配置物Ｅが結合した状態を簡易的に代表する球衝突判定用モデルＭｈ（同図（ｂ））と、同じく球Ｂに配置物Ｅが結合した状態を簡易的に代表し、衝突判定と転動計算とに供される球転動用モデルＭｒ（同図（ｃ））とを有する。
すなわち、球衝突判定用モデルＭｈ及び球転動用モデルＭｒとで衝突を判定し、球転動用モデルＭｒで配置物Ｅが表面に結合してゴツゴツとした転動を計算する。そして、その計算結果に基づいて球表示用モデルＭｐとこれに結合した配置物Ｅの表示用モデルとを一体的に移動制御してゲーム画面を表示させる。これによって、複雑で不規則な形状を成す球Ｂの移動制御に係る処理負荷を軽減する。
【００６０】
球衝突判定用モデルＭｈは、同図（ｂ）に示すように、球Ｂの体積と結合済みの配置物Ｅの体積との総和と等しい体積の球体、又はそれより若干小さめの体積の球体である。球衝突判定用モデルＭｈは、配置物Ｅを結合させるタイミングを判定するのに用いられる。具体的には、結合させることのできるサイズの配置物Ｅの中心点Ｏｅと、球Ｂの球衝突判定用モデルＭｈとが衝突したと判定されると、該配置物Ｅが球Ｂに結合される。
【００６１】
球転動用モデルＭｒは、同図(ｃ)に示すように、球Ｂの中心点Ｏｂから所定の半径方向にのみ伸縮して変位することのできる複数の針状腕部Ａｆを有する。この針状腕部Ａｆは、何も結合していない球Ｂの状態を初期状態として、結合した配置物Ｅの中心点Ｏｅの最近傍位置に端部がある針状腕部Ａｆを選択し、該配置物Ｅの中心点Ｏｅと、球Ｂの中心点Ｏｂとの間の長さとなるように、選択した針状腕部Ａｆを伸張させることによって形成されている。反対に、球Ｂが障害物に衝突して、そのハズミで結合済みの配置物Ｅが分離する場合は、分離した配置物Ｅの次に球Ｂの中心点Ｏｂから遠い他の配置物Ｅと、球Ｂの中心点Ｏｂとの間の長さに基づいて選択した針状腕部Ａｆを縮める。すなわち、針状腕部Ａｆの先端が変位点となり、当該変位点を接地点とする多面体に基づいて球Ｂの転動を計算することで、計算負荷を軽減しつつ不規則な転動の様子を作りだしている。
【００６２】
また、球転動用モデルＭｒは、配置物Ｅと最初に衝突判定する際に用いられる。すなわち、球Ｂの衝突判定は、先ず球転動用モデルＭｒと配置物Ｅのバウンダリボックスとで判定され、衝突していると判定された場合に、該配置物Ｅが結合できるか否かが判定される。
【００６３】
図４は、本実施形態における配置物Ｅの挙動に関して説明する図である。
上述のように、本実施形態では球Ｂに接触した配置物Ｅは、球Ｂとの相対的な大きさ関係によって、基準より小さい場合には球Ｂに結合し、基準より大きい場合には結合しない。すなわち、ゲームを進めるうえで重要になるのが、現在の球Ｂの大きさに応じて結合可能な配置物Ｅを見極めて、効率よく球Ｂを接触させるように操作することである。ところが、ゲームに慣れていないプレーヤにはこの見極めが難しい。そこで、本実施形態では、球Ｂが結合できない配置物Ｅに接触した場合、両者の体積の比に応じて該配置物Ｅを揺動させる。
【００６４】
同図（ａ）に示すように、接触時の球Ｂの体積Ｄｂ（球Ｂの何も結合していない状態の時の体積設定値Ｄｂ０と、結合されている全ての配置物Ｅの体積設定値Ｄｅとの総和）と、接触した配置物Ｅの体積設定値Ｄｅとを比較し、球Ｂが結合することのできる基準値以下（本実施形態では、体積設定値Ｄｅが体積Ｄｂの１０％以下）の場合は、配置物Ｅを球Ｂに結合させる。
【００６５】
一方、同図（ｂ）に示すように、接触時の球Ｂの体積Ｄｂと接触した配置物Ｅの体積設定値Ｄｅとを比較し、球Ｂが結合することのできる基準値を超える場合には配置物Ｅを結合させず、代わりに体積比の大きさに応じた最大揺動幅θｍ内で揺動させる。すなわち、もう少し球Ｂが大きくなれば結合できる比較的小さい配置物Ｅは大きく揺動させ、まだまだ球Ｂを大きくしなければ結合できるようにならない配置物Ｅは小さく揺動させる。
【００６６】
これによって、プレーヤは今現在の球Ｂの大きさで結合させられなくとも、あとどの程度球Ｂを大きくしたらその配置物Ｅを結合させることができるようになるか、その目安を得ることができる。したがって、ゲームに不慣れなプレーヤであっても、球Ｂを接触させる順番に計画性を持たせ、より効率的に球Ｂを大きくすることが可能となる。
【００６７】
また、本実施形態では、球Ｂの球転動用モデルＭｒと配置物Ｅのバウンダリボックスとによって衝突判定される。そこで、球Ｂと配置物Ｅとの衝突時の配置関係に応じて、配置物Ｅをバウンダリボックスの前後方向、若しくは左右方向の何れかの方向に揺動させることで、衝突を受けた配置物Ｅを挙動制御に係る処理負荷を軽減させる。同図（ｃ）の場合、球Ｂの球転動用モデルＭｒは配置物Ｅのバウンダリボックスの面３に衝突しているので、配置物Ｅｋは中心点Ｏｅ又は接地点を揺動中心として図中のＸｋ軸方向に揺動する。
【００６８】
尚、複数の配置物Ｅが親子関係を成している状態においては、「親」の配置物Ｅが球Ｂと衝突して揺動する場合は、「子」の配置物Ｅが衝突したか否かに係らず「親」と一体となって揺動する。一方、「子」のみが球Ｂと衝突した場合には、「親」は揺動せず「子」の配置物Ｅのみを揺動させるものとする。
【００６９】
例えば、図５（ａ）に示すように、ショベル６の上にタコ焼き４が載っており、ショベル６が「親」、タコ焼き４が「子」の親子関係となっている場合について説明する。同図（ｂ）に示すようにショベル６が球Ｂと衝突した場合、及びショベル６とタコ焼き４とが共に球Ｂと衝突した場合は、「親」であるショベル６の揺動に合わせて揺動する。しかし、タコ焼き４のみが球Ｂと衝突した場合は、同図（ｃ）に示すように、球Ｂと衝突したタコ焼き４（図中網掛け表示）のみが揺動する。
【００７０】
[機能ブロックの説明]
図６は、本実施形態における家庭用ゲーム装置１２００の機能構成の一例を示す機能ブロック図である。同図に示すように、家庭用ゲーム装置１２００は、プレーヤからの操作を受けつける操作入力部１０と、装置やゲームの制御に係る各種の演算処理を実行する処理部２０と、ゲーム画面を表示出力する画像表示部３０と、ゲーム音を音出力する音出力部４０と、通信回線２を介して外部装置４４とデータ通信を実現する通信部４２と、各種のプログラムやデータを記憶する記憶部５０とを備える。
【００７１】
操作入力部１０は、例えば、ボタンスイッチ、レバー、ダイヤル、マウス、キーボード、各種センサによって実現され、プレーヤによる操作に応じた操作入力信号を処理部２０に出力する。本実施形態では、図１のゲームコントローラ１２０２がこれに該当する。
【００７２】
処理部２０は、家庭用ゲーム装置１２００全体の制御やゲーム演算などの各種の演算処理を行う。その機能は、例えば、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）、ＩＣメモリなどのハードウェア及び関連する制御プログラム等により実現される。図１では本体装置１２１０に具備される制御ユニット１２１１がこれに該当する。
【００７３】
また処理部２０は、主にゲームに係る演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータから仮想カメラを視点とする仮想空間中の画像の生成並びにゲーム画面を表示させるための画像信号の生成を実行する画像生成部２４と、効果音やＢＧＭなどのゲーム音を生成する音生成部２６と、データ通信に係る制御を担う通信制御部２８とを含む。
【００７４】
ゲーム演算部２２は、操作入力部１０からの操作入力信号や、記憶部５０から読み出したプログラムやデータに基づいて、本実施形態におけるゲームを実行するための種々のゲーム処理を実行する。ゲーム処理としては、例えば、オブジェクトの移動に伴う位置座標や速度等を求める演算処理、オブジェクトの衝突判定処理（接触判定）、オブジェクトをオブジェクト空間に配置する処理、オブジェクトへのマッピング情報の選択処理、ゲーム結果（成績）を求める処理などが挙げられる。また、ゲーム演算部２２には、転動制御部２２１と、結合制御部２２２と、視点設定部２２５と、配置物揺動制御部２２７と、が含まれる。
【００７５】
転動制御部２２１は、プレーヤによる操作に応じて球Ｂの転動を計算し、球Ｂが転がって移動するかのように制御する。具体的には、球転動用モデルＭｒを方向キー１２０４によって入力された方向に転がす転動を演算し、球Ｂの中心点Ｏｂの移動量と、中心点Ｏｂを原点とする回転量を算出する。そして、算出結果に従って球表示用モデルＭｐを移動制御する。
【００７６】
結合制御部２２２は、球Ｂと配置物Ｅの結合及び分離に係る処理を実行する。具体的には、（１）どこにどの配置物Ｅが結合し、或いは分離したかを管理する結合管理部２２２ａと、（２）分離させる配置物Ｅを特定する分離配置物特定部２２２ｂと、（３）配置物Ｅの結合／分離に応じて球転動用モデルＭｒを変形する球転動用モデル変形部２２２ｃと、（４）配置物Ｅの結合／分離に応じて球衝突判定用モデルＭｈを変形する球衝突判定用モデル変形部２２２ｄと、（５）球Ｂの走行性能を設定する走行性能設定部２２２ｅとを有する。
【００７７】
結合管理部２２２ａは、球Ｂの球転動用モデルＭｒと配置物Ｅのバウンダリボックスとが衝突したと判定された場合（以下、単に「球Ｂと配置物Ｅとが衝突した場合」とも言う。）、球Ｂと配置物Ｅとの大きさに関するパラメータ値の比率を算出し、算出した比率が所定の結合基準値以下の場合には該配置物Ｅを球Ｂに結合させる。具体的には、衝突した配置物Ｅの体積設定値Ｄｅの、球Ｂの現在の体積Ｄｂに対する比率が結合基準値１０％以下の場合に、該配置物Ｅを球Ｂに結合させる。結合に際しては、該配置物Ｅの中心位置Ｏｅが球Ｂの球衝突判定用モデルＭｈに接触した位置で結合したように、球表示用モデルＭｐを「親」、該配置物Ｅの配置物表示用モデルを「子」とする親子関係（階層関係）を設定することによって実現する。
したがって、ゲーム開始当初は、球Ｂには何も結合されていないので、球表示用モデルＭｐは球Ｂの初期状態の表示用モデルと同じである。以降、配置物Ｅが結合される都度、球Ｂと配置物Ｅとの間に親子関係が設定されるので、球表示用モデルＭｐは、球Ｂの初期状態の表示用モデルに、結合した配置物Ｅの表示用モデルがくっついた状態となる。
【００７８】
また、結合管理部２２２ａは、球Ｂと配置物Ｅとが衝突したが、算出した比率が所定の結合基準値を超える場合には、該配置物Ｅは球Ｂに結合させず、更に、既に結合されている配置物Ｅの幾つかを分離させる。具体的には、衝突した配置物Ｅの体積設定値Ｄｅの、球Ｂの現在の体積Ｄｂに対する比率が分離基準値１０％を超える場合、球Ｂは障害物に衝突したと見なし、結合済みの配置物Ｅのうち幾つかについて結合を解除し分離させる。何れを分離させるかを特定するのが分離配置物特定部２２２ｂである。
【００７９】
分離配置物特定部２２２ｂは、球Ｂが配置物Ｅと衝突し、球Ｂと配置物Ｅとの大きさに関するパラメータの比率が所定の分離基準値を超える場合に、既に結合されている配置物Ｅの中から分離させるものを特定する。
【００８０】
図１１は、本実施形態における分離させる配置物Ｅの選択方法を説明するための図である。同図（ａ）に示すように、球Ｂに結合された配置物Ｅは、結合順に識別ＩＤ（配置物ＩＤ）と、その体積設定値とが結合リスト情報５６７に登録されている。
【００８１】
同図（ｂ）に示すように、球Ｂが配置物Ｅ０に衝突し、球Ｂの現在の体積Ｄｂと配置物Ｅ０の体積設定値Ｄｅ０の比率が１０％を超える場合、既に結合されている配置物Ｅの中から幾つかを分離させる。
【００８２】
先ず衝突係数Ｒを数式（１）に基づいて算出する。
Ｒ＝（ＶＢ／ＶＢｍａｘ）×（９０°−θｈ）／９０°  ・・・・・・数式（１）
ＶＢは、現在の球Ｂの速度である。ＶＢｍａｘは、球Ｂが平地で出すことのできる最大到達速度であって、球Ｂの大きさに応じて大きくなるように可変される。θｈは、球Ｂの速度ベクトルと、配置物Ｅ０のバウンダリボックス（本実施形態では直方体）の面の法線ベクトルとが成す角度、すなわち衝突角度である。
【００８３】
次に、崩れ体積Ｄｃを数式（２）に基づいて算出する。
Ｄｃ＝Ｄｂ×α×Ｒ  （αは所定の係数）  ・・・・・・・・・・・数式（２）
Ｄｂは、球Ｂの初期状態の体積設定値Ｄｂ０と、現在までに結合されている全ての配置物Ｅについての体積設定値Ｄｅとの総和であり、現在の球Ｂの体積である。
【００８４】
次に、結合リスト情報５６７から結合順の新しい方から順に、結合済みの配置物Ｅを選択し、崩れ体積Ｄｃと選択された配置物Ｅの体積設定値Ｄｅとを比較する。崩れ体積Ｄｃが体積設定値Ｄｅより大きい場合は、該配置物Ｅを分離対象とし、崩れ体積Ｄｃを数式（３）に基づいて更新する。これを結合した順の新しい方から順に所定個数分繰り返す。
Ｄｃ＝Ｄｃ−Ｄｅ（Ｄｃ≧Ｄｅ）  ・・・・・・・・・・・・・・数式（３）
【００８５】
崩れ体積Ｄｃと、結合した順の新しい方から順に選択された配置物Ｅの体積設定値Ｄｅとを比較していくうちに、数式（３）に基づいて更新された崩れ体積Ｄｃが、比較対象の体積設定値Ｄｅより小さくなった場合は、比較対象の配置物Ｅは分離対象とはならない。そして、数式（４）に基づいて、結合リスト情報５６７に記憶されている該体積設定値Ｄｅを更新する。ただし、これは結合リスト情報５６７に登録されている値の更新であり、該配置物Ｅに予め設定される初期値が変更されることではない。
Ｄｅ＝Ｄｅ−Ｄｃ  （Ｄｃ＜Ｄｅ）  ・・・・・・・・・・・・・・数式（４）
【００８６】
数式（４）によって、結合リスト情報５６７における体積設定値Ｄｅが減少することによって、次回球Ｂが障害物に衝突した場合には、当該配置物Ｅは本来の値より小さい体積設定値Ｄｅとなっているので、Ｄｃ≧Ｄｅの関係を満たし易くなる。すなわち、分離対象となり易くなる。したがって、擬似的に球Ｂから分離し易い状態に更新することができる。
【００８７】
例えば、同図（ｃ）はＤｃ＝１００で、１回の衝突で結合リスト情報５６７に登録されている５つの配置物Ｅについて判定する場合である。結合順の最も新しい配置物Ｅ６の体積設定値Ｄｅ６＝４０なので、Ｄｃ≧Ｄｅの関係から、配置物Ｅ６は分離対象となり、数式（３）によってＤｃ＝１００−４０＝６０と更新される。
【００８８】
次いで、配置物Ｅ６の次に結合順の新しい配置物Ｅ５は、体積設定値Ｄｅ６＝４５なので、同様にして配置物Ｅ５もＤｃ（＝６０）≧Ｄｅの関係から分離対象となり、Ｄｃ＝６０−４５＝１５と更新される。
次に、配置物Ｅ４は、体積設定値Ｄｅ＝２０なのでＤｃ（＝１５）＜Ｄｅの関係から分離対象とはされず、数式（４）によってＤｃ＝１５（そのまま）、Ｄｅ＝２０−１５＝５となり、結合リスト情報５６７の当該配置物Ｅ４の体積設定値Ｄｅは「５」に更新される。したがって、配置物Ｅ４は分離対象とはならないが、結合リスト情報５６７に登録されている体積設定値Ｄｅが小さく更新されることによって、次回の衝突ではより分離し易くなっている。
更に、配置物Ｅ３は体積設定値Ｄｅ３＝１５なので、Ｄｃ（＝１５）≧Ｄｅの関係から配置物Ｅ３は分離対象となり、数式（３）によってＤｃ＝１５−１５＝０と更新される。
次に、配置物Ｅ２は体積接地値Ｄｅ２＝１０なので、Ｄｃ（＝０）＜Ｄｅの関係から分離対象とはされず、数式（４）によってＤｃ＝０（そのまま）、Ｄｅ＝１０−０＝１０となり、結合リスト情報５６７の当該配置物Ｅ４の体積設定値Ｄｅは「１０」のままとなる。
【００８９】
そして、崩れ体積Ｄｃと、結合済みの配置物Ｅの体積設定値との比較が終了したならば、結合管理部２２２ａが分離対象となった配置物Ｅ（図１１（ｃ）の場合は、配置物Ｅ６，Ｅ５，Ｅ３）について、結合リスト情報５６７から登録を抹消し、球Ｂとの親子関係を解消する。そして、分離した配置物Ｅに、飛び散るようにランダムな速度を与えて移動制御する。これによって、球Ｂが障害物と衝突したショックによって既に結合されている配置物Ｅが球Ｂからとれる（分離する）様子を再現することができる。
【００９０】
球転動用モデル変形部２２２ｃは、配置物Ｅの結合／分離に応じて球転動用モデルＭｒを変形する。具体的には、配置物Ｅを結合する場合には、結合位置に最近傍の針状腕部Ａｆを選択し、結合した配置物Ｅの中心点Ｏｅまで針状腕部Ａｆの先端を伸ばす。配置物Ｅを分離する場合は、分離対象の配置物Ｅの中心点Ｏｅまで先端を伸ばしていた針状腕部Ａｆの先端を、球Ｂの中心点Ｏｂ側で結合されているの他の配置物Ｅの中心点Ｏｅまで縮める。
【００９１】
球衝突判定用モデル変形部２２２ｄは、球Ｂと配置物Ｅとが結合／分離した分だけ、球Ｂの球衝突判定用モデルＭｈを拡大／縮小する。例えば、球Ｂと配置物Ｅとが結合する場合、球Ｂの球衝突判定用モデルを、衝突時の球Ｂの体積Ｄｂと、新たに結合した配置物Ｅの体積設定値Ｄｅとの和を算出して、現在の球Ｂの体積Ｄｂを更新する。そして、更新された体積Ｄｂに応じて、球衝突判定用モデルＭｈの大きさを拡大する。逆に、既結合状態の配置物Ｅが球Ｂから分離する場合は、分離する配置物Ｅの体積設定値Ｄｅの分だけ球Ｂの体積Ｄｂを減算して更新し、更新された体積Ｄｂに応じて球衝突判定用モデルＭｈを縮小させる。
【００９２】
そして、走行性能設定部２２２ｅは、球Ｂの現在の体積Ｄｂに応じて、球Ｂの走行性能パラメータの値を変更する。走行性能パラメータとしては、例えば、最大到達速度、加速度などであるが、適宜慣性などを含めても良い。本実施形態におけるパラメータ値の変化量は、ゲームコントローラ１２０２における操作量とゲーム画面上の球Ｂの移動量との関係がほぼ一定になるように設定されるものとする。これによって、球Ｂの大きさや重さ如何に係らず、常に安定した操作感によるストレスのないゲームプレイを実現する。
【００９３】
視点設定部２２５は、球Ｂの大きさに応じて視点の設定を変更するとともに、視点の設定に応じて、ゲーム画面上で極めて小さく表示されるオブジェクトの表示／非表示の切り換えを設定する。本実施形態では、球Ｂが所定の大きさに達すると予め設定されている視点の設定に段階的に切り換わる。そして、視点の設定(角度、画角など）は、切り換え直後のゲーム画面内において球Ｂが占める割合が異なる視点でもほぼ同一となるように設定されている。
【００９４】
図１２は、本実施形態における視点切換の概念を説明する図である。同図(ａ）に示すように、本実施形態では、視点（仮想カメラ）ＣＭは、球Ｂを押すキャラクタＣの後方に配置され、球Ｂの大きさ変化（Ｂ１→Ｂ２→Ｂ３→・・・）に応じて、配置位置が変更されて視点が切り換わる（ＣＭ１→ＣＭ２→・・・）。
より具体的には、例えば同図(ｂ)〜（ｅ）は、ゲーム画面の一例を示している。同図（ｂ）と（ｃ）は視点ＣＭ１によるゲーム画面である。ゲームの進行と共に球ＢはＢ１からＢ２に大きくなり、同図（ｃ）では球Ｂがゲーム画面内を占める割合が増して前方が見難くなっている。そこで、視点をＣＭ１からＣＭ２に切り換える。同図（ｄ）と（ｅ）は視点ＣＭ２によるゲーム画面である。ここで、視点ＣＭ２に切り換えた直後の画面に相当する同図（ｄ）では、球Ｂは画面上同図（ｂ）のときとほぼ同一の大きさで表示される。
【００９５】
配置物揺動制御部２２７は、球Ｂと配置物Ｅとが衝突したと判定された場合に、当該衝突した配置物Ｅが、球Ｂと該配置物Ｅとの体積比に応じて所定の揺動をするように制御する。具体的には、球Ｂの現在の体積Ｄｂと、衝突した配置物Ｅの体積設定値Ｄｅとの比率を算出する。そして、記憶部５０に記憶されている揺動態様ＴＢＬ５５を参照して、算出した比率に対応づけて登録されている所定の揺動態様を決定する。
【００９６】
また、本実施形態では球Ｂ及び配置物Ｅの衝突判定は、球Ｂの球転動用モデルＭｒと配置物Ｅのバウンダリボックスとの間で判定される。そこで、配置物揺動制御部２２７は、球Ｂの球転動用モデルＭｒが配置物Ｅのバウンダリボックスの何れの面と衝突したかを判定し、判定された面の法線ベクトルの方向を該配置物Ｅの揺動方向として揺動制御する。すなわち、配置物Ｅを仮想的な直方体で囲まれていると考え、球Ｂの衝突した面が該面の法線ベクトルの方向に押されたように揺動させる。このように、揺動方向を実際に表示されるモデルの形状ではなくバウンダリボックスによる判定に基づいて揺動方向を決定し制御することによって処理負荷を軽減し、球Ｂが大きくなり一度に多数の配置物Ｅと接触する事態となっても揺動制御に要する処理負荷の総量を抑制することができる。
【００９７】
そして、対象とする配置物Ｅをその中心点Ｏｅ或いは接地点を基準点として、決定した揺動態様と揺動方向とに従って所定回数だけ揺動させる。
【００９８】
画像生成部２４は、例えばＣＰＵやＤＳＰなどの演算装置やその制御プログラム、フレームバッファなどの描画フレーム用ＩＣメモリなどによって実現される。画像生成部２４は、ゲーム演算部２２による演算結果に基づいて幾何変換処理やシェーディング処理を実行して、ゲーム画面を表示するための３ＤＣＧ画像を生成し、生成した画像の画像信号を画像表示部３０に出力する。すなわち、視点設定部２２５で設定された視点から見た３次元仮想空間内の画像を表示させるための画像信号を生成する。
【００９９】
画像表示部３０は、画像生成部２４で生成された画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。画像表示部３０は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現できる。図１の例ではディスプレイ１２２０がこれに該当する。
【０１００】
音生成部２６は、例えばＣＰＵやＤＳＰなどの演算装置及びその制御プログラムによって実現され、ゲーム中に使用される効果音やＢＧＭなどの音を生成し、生成した音の音信号を音出力部４０に出力する。
【０１０１】
音出力部４０は、音生成部２６からの音信号に基づいて効果音やＢＧＭ等を音出力するための装置であり、図１の例ではスピーカ１２２２がこれに該当する。
【０１０２】
通信部４２は、通信制御部２８からの制御信号にしたがって、通信回線２に接続して外部装置４４とのデータ通信を行う。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）や、ＩｒＤＡなどのモジュール、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路などによって実現される。図１の通信装置１２１８がこれに該当する。尚、通信部４２が、通信時に供するプロトコル等に係る情報は、例えば記憶部５０に記憶されており適宜読み出して利用する。
【０１０３】
記憶部５０は、処理部２０に家庭用ゲーム装置１２００を統合的に制御させるための諸機能を実現させるシステムプログラム（図示略）や、ゲームを実行させるために必要なプログラム及びデータを格納するゲーム情報５２等を記憶している。また、処理部２０が演算処理に必要な各種のプログラムやデータを一時的に記憶する。記憶部５０は、例えば各種ＩＣメモリ、メモリカード、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等の情報記憶媒体によって実現できる。図１の例ではＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６がこれに該当する。
【０１０４】
ゲーム情報５２は、処理部２０をゲーム演算部２２として機能させるためのプログラム及びデータを含んでいる。本実施形態では特に、処理部２０を転動制御部２２１として機能させるための転動制御プログラム５２１と、結合制御部２２２として機能させるための結合制御プログラム５２２と、視点設定部２２５として機能させるための視点設定プログラム５２５と、配置物揺動制御部２２７として機能させるための配置物揺動制御プログラム５２７とを含んでいる。
【０１０５】
更に、データとしては、視点情報５３と、ステージ情報５４と、揺動態様ＴＢＬ５５と、球Ｂおよび配置物Ｅそれぞれの表示・衝突判定に必要な情報を格納する球データ５６並びに配置物データ５７を含んでいる。
【０１０６】
視点情報５３は、例えば、現在の視点（仮想カメラ）の位置座標や視線方向、画角、焦点距離などの各種設定値を格納する視点設定５３１と、視点設定ＴＢＬ５３２とを格納している。
【０１０７】
視点設定ＴＢＬ（テーブル）５３２は、球Ｂの大きさと視点の設定とを対応付けて格納している。例えば、図７に示すように、球Ｂの現在の体積に関する条件５３２ａと、視点の位置や画角などの設定を格納する視点設定値５３２ｂと、表示レベル５３２ｃとが格納されている。視点設定部２２５は、視点情報５３を参照して現在の球Ｂの大きさに応じて、視点設定値５３２ｂと表示レベル５３２ｃを取得して、仮想カメラＣＭを制御する。
【０１０８】
ステージ情報５４は、例えば、ゲームステージの空間を規定する情報や、各ステージに配置する配置物Ｅの種類や位置情報、ステージのクリア条件等を格納する。本実施形態では、特定の配置物（例えば、三角コーン）を結合させることをクリア条件としているが、例えば各ステージ内に配置された特定のアイテムの結合数（例えば、空き缶を５００個）をクリア条件とするなど適宜設定して構わない。
【０１０９】
揺動態様ＴＢＬ（テーブル）５５は、例えば、図８に示すように、接触した配置物Ｅの体積設定値Ｄｅの、球Ｂの現在の体積Ｄｂに対する比率５５ａと、揺動態様５５ｂとを対応付けて格納している。揺動態様としては、所与の最大変化幅で周期的に運動する運動パターン（揺動パターン）や最大揺動幅（最大振幅）が規定されている。本実施形態では、比率が小さいほど最大揺動幅が大きく、比率が大きいほど最大揺動幅が小さくなるように設定されている。尚、比率５５ａが４００％を超える場合には、結合不可能な障害物であることを示すために揺動をさせない。
【０１１０】
球データ５６には、球表示用モデル情報５６１と、球衝突判定用モデル情報５６２と、球転動用モデル情報５６３と、球初期設定情報５６４と、球パラメータ５６５と、結合リスト情報５６７とが含まれる。
【０１１１】
球表示用モデル情報５６１は、球Ｂに何も結合していない初期状態の球表示用モデルＭｐのモデリングデータや、テクスチャデータなどを格納している。
球衝突判定用モデル情報５６２は、球Ｂと結合した配置物Ｅとの体積和と等しい体積の球体のモデリングデータを格納している。
球転動用モデル情報５６３は、球転動用モデルＭｒの情報を格納している。具体的には、球Ｂの中心点Ｏｂのワールド座標値、中心点Ｏｂを原点とする極座標での針状腕部Ａｆの先端の位置座標（変位点位置座標）を格納している。
【０１１２】
球初期設定情報５６４は、球Ｂの何も結合されていない初期状態の体積設定値Ｄｂ０、最大到達速度設定値、重量設定値を記憶している。
球パラメータ５６５は、配置物Ｅを結合した球Ｂの現在のパラメータ値を格納する。例えば、球Ｂの初期状態の体積設定値Ｄｂ０と結合した配置物Ｅの体積設定値Ｄｅとの総和である現在の球Ｂの体積Ｄｂ、体積Ｄｂに応じて設定される現在の最大到達速度Ｖｍａｘ、球Ｂの初期状態の重量設定値と結合した配置物Ｅとの総重量、速度、加速度、回転角度、最小旋回半径、及び半径を記憶している。
【０１１３】
結合リスト情報５６７は、球Ｂと結合した順に、球Ｂの球表示用モデルＭｐを親ノード（要素）として、結合した配置物Ｅを子ノードとする階層構造の情報を格納するとともに、結合した配置物Ｅのパラメータ値を格納する。
例えば、図９に示すように、結合順５６７ａ（番号が大きいほど新しく結合されたことを示す）と、配置物Ｅの識別情報である配置物ＩＤ５６７ｂと、配置物Ｅが結合した位置と姿勢とを示す情報（例えば、該配置物Ｅのローカル原点の位置と姿勢）を格納する結合位置情報５６７ｃと、体積設定値５６７ｄとを記憶する。ゲーム画面上に表示される球Ｂは、球Ｂの初期状態の球表示用モデルＭｐに結合リスト情報５６７に登録されている配置物Ｅの表示用モデルとが一体的に表示され、プレーヤによって操作されることになる。
【０１１４】
配置物データ５７は、球Ｂの外にゲーム空間内に配置される各配置物Ｅ毎に、表示や衝突判定に関する情報を格納している。例えば、配置物データ５７には、配置物表示用モデル情報５７１と、配置物衝突判定用モデル情報５７２と、配置物初期設定値５７３と、配置物パラメータ５７４と、配置物階層情報５７５と、表示判定ＴＢＬ５７６とが含まれる。テクスチャや配置物Ｅのα値など表示形態や合成に関するデータもここに含まれる。
【０１１５】
配置物表示用モデル情報５７１は、配置物Ｅの表示用モデルのモデリングデータや、テクスチャデータなどを格納している。
配置物衝突判定用モデル情報５７２は、配置物Ｅを構成するノードの衝突判定用モデルのモデリング情報を格納する。
【０１１６】
配置物初期設定値５７３は、当該配置物Ｅの体積設定値Ｄｅ、及び重量設定値を記憶している。配置物Ｅが、昆虫のように移動する特性のオブジェクトで有る場合には、モーションデータや移動パターンの情報を格納する。
【０１１７】
配置物パラメータ５７４は、当該配置物Ｅの現在の各種パラメータ値を格納する。例えば、速度、加速度、位置座標、回転角度、代表寸法、体積設定値等の情報が含まれる。その他、重量、温度、属性などの情報を適宜含めて構わないのは勿論である。本実施形態では特に、揺動制御された場合の揺動残回数５７４ａと、揺動のパターンを示す揺動態様情報５７４ｂと、揺動方向５７４ｃとを格納する。
【０１１８】
配置物階層情報５７５は、配置物Ｅのモデルの階層情報を格納する。例えば、図５で示したように、ゲーム内で複数のタコ焼き４が載ったショベル６を登場させる場合、親ノードをショベル６とし、子ノードを各タコ焼き４とする。したがって、タコ焼き４の配置物階層情報５７５には、ショベル６を親とする階層情報が記憶されている。球Ｂに結合された場合には、球Ｂの球表示用モデルＭｐを親とする階層情報が記憶される。
【０１１９】
表示判定ＴＢＬ５７６は、例えば図１０に示すように、当該配置物Ｅを視点情報５３の表示レベル５３２ｃのどのレベルまで表示させるかを示す表示上限レベル５７６ａと、配置物Ｅの表示および衝突判定をする／しないを指定する表示フラグ５７６ｂとを格納する。表示判定ＴＢＬ５７６は、視点設定部２２５によって仮想カメラＣＭの視点が切り換えられる都度、表示上限レベル５７６ａと、現在適用されている表示レベル５３２ｃとを比較することで、当該配置物Ｅを表示させるか否かを判断できる。同図の場合は、現在適用されている表示レベル５３２ｃが「３」以上の視点では表示しないものと判定され、表示フラグ５７６ｂに「０」が格納される。そして、ゲーム演算部２２は、表示フラグ５７６ｂが「０」の場合、当該配置物Ｅは小さくて見えないものと判定して仮想空間への配置を行わない。すなわち、該配置物Ｅの衝突判定並びに結合判定も行わない。
従って、例えば、ゲーム画面上で表示される範囲が人の視界程度の場合には、空き缶サイズの配置物Ｅは表示する設定とするが、ゲーム画面上で表示される範囲が広がってた場合には、空き缶サイズの配置物Ｅは表示しないように設定することによって、ゲーム画面の見やすさを維持するとともに、処理負荷の低減を図ることができる。
【０１２０】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。ここで説明する処理は、処理部２０が、転動制御プログラム５２１と、結合制御プログラム５２２と、視点設定プログラム５２５と、配置物揺動制御プログラム５２７とを読み出しを実行することによって実現される。
【０１２１】
図１３は、本実施形態におけるゲームの全体的な流れを説明するためのフローチャートである。同図に示すように、ゲームがスタートしてプレーヤによって球Ｂの操作が入力されたならば（ステップＳ２）、ゲーム演算部２２の転動制御部２２１が球転動用モデルＭｒに基づいて球Ｂの転動を計算し、計算結果に基づいて球表示用モデルＭｐを転動するように表示制御する（ステップＳ４）。また、ゲーム演算部２２は、昆虫や人間、坂を転がるボールなど、移動する特性を有する配置物Ｅの移動を計算して移動制御する（ステップＳ６）。
【０１２２】
次に、ゲーム演算部２２は、プレーヤによる操作に応じて転動及び移動した球Ｂの球転動モデルＭｒと配置物Ｅのバウンダリボックスとが衝突したか否かを判定する（ステップＳ８）。球Ｂの球転動モデルＭｒと配置物Ｅのバウンダリボックスとが衝突したと判定した場合（ステップＳ８；ＹＥＳ）、ゲーム演算部２２は、該配置物Ｅの体積設定値Ｄｅの、球Ｂの現在の体積Ｄｂに対する比率（＝Ｄｅ／Ｄｂ）を算出する（ステップＳ１０）。
【０１２３】
算出された比率が所定の結合基準値である１０％以下の場合（ステップＳ１２；ＹＥＳ）、更に、球衝突判定用モデルＭｈと該配置物Ｅの中心点Ｏｅとが衝突したか否かを判定する（ステップＳ１４）。そして、球衝突判定用モデルＭｈと該配置物Ｅの中心点Ｏｅとが衝突している場合（ステップＳ１４；ＹＥＳ）、結合制御部２２２が配置物結合処理を実行する（ステップＳ１６）。
【０１２４】
図１４は、本実施形態における配置物結合処理の流れを説明するためのフローチャートである。先ず、結合制御部２２２は、球Ｂと衝突した配置物Ｅを球Ｂに結合させる（ステップＳ５０）。具体的には、球Ｂの球衝突判定用モデルＭｈと該配置物Ｅと中心点Ｏｅとの衝突位置と、そのときの配置物Ｅとの姿勢を求め、結合リスト情報５６７に登録する。また、球Ｂの球表示用モデルＭｐを「親」、該配置物Ｅを「子」とする親子関係を設定し、結合リスト情報５６７に登録する。
【０１２５】
次に、結合制御部２２２は、球Ｂの現在の体積Ｄｂに衝突した配置物Ｅの体積設定値Ｄｅを加算して体積Ｄｂを更新し（ステップＳ５２）、更新後の体積Ｄｃに応じて球衝突判定用モデルＭｈを拡大する（ステップＳ５４）。例えば、体積の増加分に応じた割合で拡大させる。また、更新後の体積Ｄｂに応じて、球Ｂの走行性能を再設定して更新する（ステップＳ５６）。例えば、体積Ｄｂが大きくなるに従って最大到達速度Ｖｍａｘを大きくする。
【０１２６】
次に、結合制御部２２２の球転動用モデル変形部２２２ｃは、結合された配置物Ｅにおうじて球転動用モデルＭｒを変更する（ステップＳ５８）。具体的には、結合した配置物Ｅの中心点Ｏｅの最近傍位置に端部がある針状腕部Ａｆを選択し、該配置物Ｅの中心点Ｏｅと、球Ｂの中心点Ｏｂとの間の長さとなるように、選択した針状腕部Ａｆを伸張させる。そして、球転動用モデルＭｒを変更したならば、配置物結合処理を終了する。
【０１２７】
一方、図１３において、衝突したと判定された配置物Ｅの体積設定値Ｄｅの体積Ｄｂに対する比率が１０％を超える場合（ステップＳ１２；ＮＯ）、該配置物Ｅは球Ｂに結合できないサイズであると判断され、結合制御部２２２は配置物分離処理を実行する（ステップＳ１８）。
【０１２８】
図１５は、本実施形態における配置物分離処理の流れを説明するためのフローチャートである。同図に示すように、先ず分離配置物特定部２２２ｂが、分離させる配置物Ｅを特定するために、球Ｂと配置物Ｅとの衝突角度θｈを算出する（ステップＳ１００）。衝突角度θｈは、例えば、該配置物Ｅのバウンダリボックスの衝突面における法線ベクトルと球Ｂの速度ベクトルとが成す角度として求められる。
【０１２９】
次に、数式（１）に従って衝突係数Ｒを算出し（ステップＳ１０２）、更に数式（２）に従って崩れ体積Ｄｃを算出する（ステップＳ１０４）。
そして、結合リスト情報５６７を参照して、結合順の新しい方から順（結合順５６７ａの値の大きい方から順）に最大５個の結合済み配置物Ｅを選択して（ステップＳ１０６）、選択した配置物Ｅについて、結合順の新しい方から順に順次ループ１を実行する（ステップＳ１０８〜Ｓ１２０）。
【０１３０】
ループ１では、崩れ体積Ｄｃと、対象とする配置物Ｅの体積設定値Ｄｅとを比較する。
崩れ体積Ｄｃ≧体積設定値Ｄｅの条件を満たす場合（ステップＳ１１０；ＹＥＳ）、対象配置物Ｅを分離させる（ステップＳ１１２）。すなわち、結合リスト情報５６７から当該配置物Ｅを削除する。より具体的には、該配置物Ｅを何れにも従属しない独立のオブジェクトとする。
【０１３１】
そして、当該配置物Ｅに、分離して落下或いは飛び散る速度を設定する（ステップＳ１１４）。例えば、球Ｂから離れる方向にランダムな初速度を設定するとしても良い。
【０１３２】
次に、崩れ体積Ｄｃから当該配置物Ｅの体積設定値Ｄｅを減算する（ステップＳ１１６）。例えば、崩れ体積Ｄｃが「１００」、体積設定値Ｄｅが「３０」の場合、崩れ体積Ｄｃは「７０（＝１００−３０）」となる。崩れ体積Ｄｃが「５０」、体積設定値Ｄｅが「５０」の場合、崩れ体積Ｄｃは「０（＝５０−５０）」となる。そして、更新された崩れ体積ＤｃでステップＳ１０６で選択された配置物Ｅの次の配置物Ｅに処理が移行する（ステップＳ１２０）。
【０１３３】
一方、崩れ体積Ｄｃと対象とする配置物Ｅの体積設定値Ｄｅを比較した結果、崩れ体積Ｄｃ＜体積設定値Ｄｅの条件を満たす場合（ステップＳ１１０；ＮＯ）、結合リスト情報５６７に記憶されている当該配置物Ｅの体積設定値５６７ｄから、崩れ体積Ｄｃを減算して更新する（ステップＳ１１８）。例えば、崩れ体積Ｄｃが「５」、体積設定値Ｄｅが「１５」の場合、体積設定値Ｄｅは「１０（＝１５−５）」に更新される。この場合、崩れ体積Ｄｃはそのまま「５」で維持され、ステップＳ１０６で選択された配置物Ｅの次の配置物Ｅに処理が移行する（ステップＳ１２０）。
【０１３４】
ステップＳ１０６で選択された各配置物Ｅについてループ１が実行されたならば、結合制御部２２２は、球Ｂの現在の体積Ｄｂに分離した配置物Ｅの体積設定値Ｄｅを減算して体積Ｄｂを更新し（ステップＳ１２２）、更新後の体積Ｄｂに応じて球衝突判定用モデルＭｈを縮小する（ステップＳ１２４）。例えば、体積の減少分に応じた割合で縮小させる。また、更新後の体積Ｄｂに応じて、球Ｂの走行性能を再設定して更新する（ステップＳ１２６）。そして、結合制御部２２２は球転動用モデルＭｒを変更し（ステップＳ１２８）、配置物分離処理を終了する。
【０１３５】
配置物分離処理が終了したならば、次いで図１３において、衝突したと判定された配置物Ｅの体積設定値Ｄｅの体積Ｄｂに対する比率が４００％以下の場合（ステップＳ２０；ＹＥＳ）、配置物揺動制御部２２７が揺動制御処理を実行して当該配置物Ｅを揺動させる（ステップＳ２２）。
【０１３６】
図１６は、本実施形態における揺動制御処理の流れを説明するためのフローチャートである。先ず、配置物揺動制御部２２７は、揺動態様ＴＢＬ５５を参照して、接触した配置物Ｅの体積設定値Ｄｅの、球Ｂの現在の体積Ｄｂに対する比率に応じた揺動態様を選択する（ステップＳ１４０）。
【０１３７】
次に、球転動用モデルＭｒがバウンダリボックスの何れの面と接触したかを判定し、判定された接触面の法線方向を揺動面に含むように揺動方向を決定する（ステップＳ１４２）。すなわち、接触角度如何に係わらず、球Ｂによって接触した面の方向に押されたものと見なす。
【０１３８】
そして、選択された揺動態様と揺動方向を、それぞれ揺動態様情報５７４ｂ及び揺動方向５７４ｃに格納する。また、揺動残回数５７４ａに所定数（例えば、「５」）を格納する（ステップＳ１４４）。
【０１３９】
次に、配置物揺動制御部２２７は、全配置物Ｅについて配置物パラメータ５７４を参照する。配置物パラメータ５７４の揺動残回数５７４ａが「０」でない配置物Ｅが無い場合（ステップＳ１４６；ＮＯ）、配置物を揺動させることなく揺動制御処理を終了する。揺動残回数５７４ａが「０」でない配置物Ｅが有る場合（ステップＳ１４６；ＹＥＳ）、揺動残回数５７４ａが「０」でない配置物Ｅそれぞれについてループ４を実行する（ステップＳ１４８〜Ｓ１６４）。
【０１４０】
ループ４では、先ず、処理対象の配置物Ｅの配置物階層情報５７５を参照し、当該配置物Ｅが、他の配置物Ｅの「子」である場合（ステップＳ１５０；ＹＥＳ）、更に、その「親」の配置物Ｅに揺動が設定されている場合（ステップＳ１５２；ＹＥＳ）、処理対象の配置物Ｅを揺動させずにループ４を終了する。
一方、「親」の配置物Ｅに揺動が設定されていない場合（ステップＳ１５２；ＮＯ）、処理対象の配置物Ｅのみが球Ｂと衝突したと判断し（図５（ｃ）に相当）、処理対象の配置物Ｅを設定された揺動態様と揺動方向とで揺動させる（ステップＳ１５４）。そして、１振幅の分だけ揺動した場合（ステップＳ１６０；ＹＥＳ）、揺動残回数５７４ａから「１」だけ減算し（ステップＳ１６２）、揺動制御処理を終了する。
【０１４１】
当該配置物Ｅが、他の配置物Ｅの「親」の場合（ステップＳ１５０；ＮＯ→Ｓ１５６；ＹＥＳ）、設定された揺動態様と揺動方向にしたがって、処理対象の配置物Ｅとその「子」の配置物とを一体的に揺動させる（ステップＳ１５８）。そして、１振幅の分だけ揺動した場合（ステップＳ１６０；ＹＥＳ）、揺動残回数５７４ａから「１」だけ減算し（ステップＳ１６２）、揺動制御処理を終了する。
【０１４２】
処理対象の配置物Ｅが、親子関係を設定されずに単独で配置されている場合（ステップＳ１５６；ＮＯ）、処理対象の配置物Ｅを設定された揺動態様と揺動方向とで揺動させる（ステップＳ１５４）。そして、１振幅の分だけ揺動させた場合（ステップＳ１６０；ＹＥＳ）、揺動残回数５７４ａから「１」だけ減算し（ステップＳ１６２）、揺動制御処理を終了する。
【０１４３】
揺動制御制御処理が終了したならば、次いで図１３において、視点設定部２２５が視点設定ＴＢＬ５３２を参照して、現在の球Ｂの体積Ｄｂに応じた視点設定値５３２ｂを選択する（ステップＳ２４）。
【０１４４】
次いで、ゲーム演算部２２は、選択した視点設定値５３２ｂに対応する表示レベル５３２ｃに基づいて、全配置物Ｅの表示可否を判定する（ステップＳ２６）。具体的には、各配置物Ｅの表示判定ＴＢＬ５７６を参照して、表示上限レベル５７６ａが選択した視点設定値５３２ｂに対応する表示レベル５３２ｃ以上である場合には、当該配置物Ｅを表示すると判定して、表示フラグ５７６ｂを「１」とする。
【０１４５】
一方、表示上限レベル５７６ａが選択した視点設定値５３２ｂに対応する表示レベル５３２ｃ未満である場合には、当該配置物Ｅが球Ｂに比べて相対的に小さくなっており、表示する必要性が無いと判定して、表示フラグ５７６ｂを「０」とする。そして、ゲーム演算部２２は、表示グラグ５７６が「０」となった配置物Ｅの表示を解除して、表示させないようにする（ステップＳ２８）。
【０１４６】
次に、画像生成部２４がゲーム画面を生成して、画像表示部３０にゲーム画面を表示させる（ステップＳ３０）。尚、効果音などのゲーム音を出力する場合には、音生成部２６でゲーム音を生成して、音出力部４０から出力するのは勿論である。
【０１４７】
ゲーム画面を表示させたならば、ステージクリア条件となる特定の配置物Ｅを結合したか否かを判定する（ステップＳ３２）。
球Ｂがまだステージクリア条件となる特定の配置物Ｅを結合している場合（ステップＳ３２；ＹＥＳ）、次のゲームステージへ進むことができる（ステップＳ３４）。球Ｂがまだステージクリア条件となる特定の配置物Ｅを結合していない場合（ステップＳ３２；ＮＯ）、ゲーム演算部は、ゲームプレイ時間が所定の終了時間をオーバしたか否を判定する（ステップＳ３６）。そして、終了時間をオーバしている場合は（ステップＳ３６；ＹＥＳ）ゲームオーバとする。
【０１４８】
以上の処理によって、球Ｂを転がして比較的小さい配置物Ｅに衝突させると、その配置物Ｅを結合させて雪ダルマ式に球Ｂを大きくして行くことができる。ゲームステージを街中にすることで、街を破壊しながら球Ｂを大きくするといった、ジョークに満ちたゲームを楽しむことができる。
【０１４９】
また、球Ｂが結合できない大きさの配置物Ｅに衝突させた場合には、球Ｂの大きさと該配置物Ｅとの大きさの比率に応じて、該配置物Ｅが揺動するように表示させることができる。すなわち、もう少しで結合できそうなものは比較的大きく揺動させ、もっと球Ｂを大きくしなければ結合できそうに無いものは比較的小さく揺動させる。したがって、ユーザは揺動の態様を見ることで、どのような順番で配置物Ｅを結合させてゆけばより効率的に球Ｂを大きくできるかの戦略を容易に立てることが可能となり、よりゲームの面白さが増す。これは、初心者プレーヤや、球Ｂの形状の凹凸が激しいために大きさが把握しにくい場合に特に有効である。
【０１５０】
[ハードウェアの構成]
次に、家庭用ゲーム装置１２００を実現できるハードウェアの構成について説明する。図１７は、本実施形態におけるハードウェア構成の一例を示す図である。家庭用ゲーム装置１２００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、音生成ＩＣ１００８と、画像生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２及び１０１４とを有し、システムバス１０１６により相互にデータの入出力が可能に接続されている。
【０１５１】
ＣＰＵ１０００は、図６における処理部２０に該当し、情報記憶媒体１００６に格納されているプログラムやＲＯＭ１００２に格納されているシステムプログラム及びコントロール装置１０２２によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【０１５２】
ＲＯＭ１００２やＲＡＭ１００４及び情報記憶媒体１００６は、図６における記憶部５０に該当する。ＲＯＭ１００２は図１の本体装置１２１０の制御ユニット１２１１に搭載されているＩＣメモリに該当し、システムプログラム等の本体装置１２１０の制御にかかわるプログラムやデータを記憶する。
【０１５３】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域などとして用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、或いはＣＰＵ１０００の演算結果が格納される。
【０１５４】
情報記憶媒体１００６は、図１のＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６に該当し、図６のゲーム情報５２を記憶する。情報記憶媒体１００６は、ＩＣメモリカードや着脱自在なハードディスクユニット、ＭＯ、ＤＶＤ−ＲＯＭなどによって実現されＲＯＭ１００２に記憶される情報を記憶し、適宜読み出して利用する。
【０１５５】
音生成ＩＣ１００８は、ＲＯＭ１００２や情報記憶媒体１００６に記憶されている情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成された音はスピーカ１０２０によって出力される。なお、スピーカ１０２０は、図６における音出力部４０、図１におけるスピーカ１２２２に該当する。
【０１５６】
画像生成ＩＣ１０１０は、表示装置１０１８に画像を出力するための画素情報を生成する集積回路である。図６における画像生成部２４がこれに該当する。表示装置１０１８は、図６の画像表示部３０、図１におけるディスプレイ１２２０に該当する。
【０１５７】
Ｉ／Ｏポート１０１２には、コントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には、通信装置１０２４が接続されている。コントロール装置１０２２は、図６の操作入力部１０及び図１のゲームコントローラ１２０２に相当するものであり、プレーヤが種々のゲーム操作を入力するための装置である。
【０１５８】
通信装置１０２４は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信し、通信回線を介してゲームプログラム等の情報を送受信することなどに利用される。図６の通信部４２及び図１の通信装置１２１８に該当する。
【０１５９】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理はＣＰＵ１０００、或いは汎用のＤＳＰ等によってソフトウェア的に実行する構成としても良い。
【０１６０】
また、本発明は、図１に示した家庭用ゲーム装置１２００だけでなく、業務用ゲーム装置や携帯型ゲーム装置、パソコン等の汎用コンピュータ、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【０１６１】
例えば図１８は、本発明を業務用ゲーム装置１３００に適用した場合の外観の一例を示す図である。同図に示すように、業務用ゲーム装置１３００は、ゲーム画面を画像表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３２０とを備える。
【０１６２】
制御ユニット１３２０は、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭ１３２２を搭載する。制御ユニット１３２０に搭載されるＣＰＵは、ＲＯＭ１３２２よりプログラムやデータを適宜読み出して演算処理することによって種々の処理を実行する。そして、プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見ながら、ジョイスティック１３０６とプッシュボタン１３０８からゲーム操作の入力をしてゲームを楽しむ。
【０１６３】
また、本発明は、スタンドアローンの装置によって実行されるゲームに限らず、ネットワークゲームと呼ばれているゲームに適用しても構わない。ネットワークゲームを実現するシステム構成としては、例えば、(1)家庭に設置してあるパソコンや家庭用ゲームシステム等をゲーム端末とし、インターネット網や専用線網等の有線／無線の通信回線を通じてサーバと接続する構成、(2)サーバを用いることなく複数のゲーム端末同士が通信回線で接続される構成、(3)複数のゲーム端末同士が通信回線で接続されるが、その内の一台がサーバ機能を有する構成、(4)複数のゲーム端末が物理的に結合し、全体として一台のシステム（例えば業務用のゲームシステム）となっている構成などがある。
【０１６４】
[変形例の説明]
以上、本発明を適用した実施形態について説明したが、本発明の適用がこれらに限定されるものではなく、発明の趣旨を逸脱せず、同様の作用・効果を得られる限りにおいて、適宜構成要素の追加・省略・変更等を行っても構わない。
【０１６５】
例えば、球Ｂに衝突された結合できない配置物Ｅの挙動を、所定振幅面における揺動パターンとして説明したがこれに限定されるものではなく、例えば、上下動や体積の膨張と伸縮を繰り返す脈動、回転、彎曲、拡大縮小、明滅及び色の変化といった変化を伴う構成としても良い。或いは該配置物Ｅの周囲に、球Ｂに吸い寄せられる力場や風の流れをイメージする表示物を付随して表示させ、この表示物の挙動や数を変化させるとしても良い。こうした付加される変化や表示に関する情報は、揺動態様ＴＢＬ５５に揺動態様５５ｂと対応づけて予め格納しておく。
【０１６６】
更には、配置物Ｅの揺動の態様は全て同じである必要はなく、配置物Ｅの種類に応じて種々用意しておくとしても良い。例えば、配置物Ｅが旗の場合、球Ｂと衝突すると「はためき」によって揺動するとしても良い。この場合、揺動態様ＴＢＬ５５には、配置物Ｅの種類と対応づけて種々の揺動態様の情報を予め格納しておき、揺動態様の決定の際に配置物Ｅの種類に応じた揺動態様を選択する。
【０１６７】
また、上記実施形態では、球Ｂと接触した配置物Ｅとを結合させるか否かの判定、及び該配置物Ｅの揺動態様の決定に際して、大きさに関する情報として物理量のひとつである体積を比較したが、体積に限らず、例えば、重量や温度、材質の分類、色を比較する構成としても良い。具体的には、例えば重量を比較する場合には、球Ｂ及び配置物Ｅそれぞれの初期設定情報に重量の初期設定値を予め定義しておくとともに、結合リスト情報５６７では体積設定値５６７ｄではなく重量設定値を記憶させる。また、揺動態様ＴＢＬ５５は球Ｂと結合されている配置物Ｅの重量設定値の総和と衝突した配置物Ｅの重量設定値との比率に対応づけて揺動態様５５ｂを定義付ける。処理に関しては、体積設定値の代わりに重量設定値を適用するだけで同様に実行可能である。
【０１６８】
更には、揺動態様の決定に際しては物理量の比率に基づいて決定するに限らず、例えば、球Ｂと配置物Ｅとの相対距離に基づいて判定するとしても良い。具体的には、ステップＳ８において球Ｂと配置物Ｅとの距離が所定条件を満たしているか否かを判定し、満たしている場合に、ステップＳ１２以降に進む構成とする。この場合、例えば所定距離以上に球Ｂが配置物Ｅ（旗）に近づくと“はためいて”揺動するといった表現が可能になる。揺動（この場合、「はためき」）の程度は、前述のごとく球Ｂと配置物Ｅとの物理量に応じて揺動設定ＴＢＬ５５で定義されている。したがって、少ない処理負荷で、球Ｂと配置物Ｅ（旗）の大きさに応じた“はためき”を実現できる。処理負荷が少なくて済むために、球Ｂが大きくなって比較的短時間に多数の配置物Ｅを揺動させなければならない状況にも対応できる。
【０１６９】
また、衝突係数Ｒを算出する際に、係数αを一定としているが、アイテムの取得やアイテムとの衝突を条件として、係数αを一時的に可変することで崩れ体積Ｄｃを故意に小さく或いは大きくする処理をゲーム演算部２２にさせるとしても良い。
具体的には、ゲームステージ中に「のり」アイテムを配置し、該「のり」アイテムに球Ｂが衝突した場合には、係数αのデフォルト値より小さな所定値を適用する。或いは、反対に「石鹸」アイテムを配置し、該アイテムに球Ｂが衝突した場合に、係数αのデフォルト値より大きな値を適用し、崩れ体積Ｄｃが故意に大きくなる構成としても良い。
【０１７０】
また、分離させる物理量である分離物理量である崩れ体積Ｄｃを算出する場合、(1)接触時の前記第１オブジェクトの速度ＶＢ、(2)第２オブジェクトの接触面と前記第１オブジェクトの移動方向とが成す角度θｈ、(3)前記第１オブジェクトの物理量（体積Ｄｂ）を用いたが、計算処理負荷を軽減するために、これらの内の少なくとも１つに基づいて算出するとしても良い。具体的には、速度ＶＢやＣＯＳθｈ、体積Ｄｂの各値に係数αを乗算して算出するとしても良い。
【図面の簡単な説明】
【０１７１】
【図１】本発明を適用した家庭用ゲーム装置の構成の一例を示す図。
【図２】ゲーム画面の一例を示す図。
【図３】球Ｂのモデル構成の概念を説明するための図。
【図４】配置物Ｅの挙動について説明するための図。
【図５】親子関係の設定された配置物の挙動について説明するための図。
【図６】家庭用ゲーム装置の機能構成の一例を示す機能ブロック図。
【図７】視点設定ＴＢＬ（テーブル）のデータ構成の一例を示す図。
【図８】揺動態様ＴＢＬ（テーブル）のデータ構成の一例を示す図。
【図９】結合リスト情報のデータ構成の一例を示す図。
【図１０】表示判定ＴＢＬ５７６のデータ構成の一例を示す図。
【図１１】分離させる配置物Ｅの選択方法を説明するための図。
【図１２】視点切換の概念を説明する図。
【図１３】ゲームの全体的な流れを説明するためのフローチャート。
【図１４】配置物結合処理の流れを説明するためのフローチャート。
【図１５】配置物分離処理の流れを説明するためのフローチャート。
【図１６】揺動制御処理の流れを説明するためのフローチャート。
【図１７】本発明を適用した家庭用ゲーム装置を実現できるハードウェア構成の一例を示す図。
【図１８】本発明を業務用ゲーム装置に適用した場合の外観の一例を示す図。
【符号の説明】
【０１７２】
２０  処理部
２２  ゲーム演算部
２２１  転動制御部
２２２  結合制御部
２２２ａ  結合管理部
２２２ｂ  分離配置物特定部
２２２ｃ  球転動用モデル変形部
２２２ｄ  球衝突判定用モデル変形部
２２２ｅ  走行性能設定部
２２７  配置物揺動制御部
５０  記憶部
５２  ゲーム情報
５２１  転動制御プログラム
５２２  結合制御プログラム
５２７  配置物揺動制御プログラム
５５  揺動態様ＴＢＬ
５６  球データ
５６１  球表示用モデル情報
５６２  球衝突判定用モデル情報
５６３  球転動用モデル情報
５６７  結合リスト情報
５７  配置物データ
５７１  配置物表示用モデル情報
５７２  配置物衝突判定用モデル情報
５７３  配置物初期設定値
５７４  配置物パラメータ
５７４ａ  揺動残回数
５７４ｂ  揺動態様情報
５７４ｃ  揺動方向
５７５  配置物階層情報
Ａｆ  針状腕部
Ｂ    球
Ｃ    キャラクタ
ＣＭ  仮想カメラ
Ｄｂ  （球Ｂの）現在の体積
Ｄｃ  崩れ体積
Ｄｅ  体積設定値
Ｅ    配置物
Ｒ  衝突係数
θｈ  衝突角度
θｍ  最大揺動幅
【図１】
2005095324.tif 000003
【図２】
2005095324.tif 000004
【図３】
2005095324.tif 000005
【図４】
2005095324.tif 000006
【図５】
2005095324.tif 000007
【図６】
2005095324.tif 000008
【図７】
2005095324.tif 000009
【図８】
2005095324.tif 000010
【図９】
2005095324.tif 000011
【図１０】
2005095324.tif 000012
【図１１】
2005095324.tif 000013
【図１２】
2005095324.tif 000014
【図１３】
2005095324.tif 000015
【図１４】
2005095324.tif 000016
【図１５】
2005095324.tif 000017
【図１６】
2005095324.tif 000018
【図１７】
2005095324.tif 000019
【図１８】
2005095324.tif 000020