(57)【要約】【課題】第１のオブジェクトに第２のオブジェクトを結合させるゲームにおいて、第１のオブジェクトと第２のオブジェクトを結合させるまでの過程に変化を与えるゲームシステム、プログラム及び情報記憶媒体を提供すること。【解決手段】ゲームシステムは、前記第２のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、前記移動判定部により前記移動可能条件を満たすと判定された前記第２のオブジェクトを、前記第１のオブジェクトに向けて移動させる第２の移動処理部を有する。【選択図】図４
2010233821.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、仮想空間内を移動する第１のオブジェクトに前記仮想空間内に配置された第２のオブジェクトを結合させるゲームを実行させ、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画させるためのプログラムであって、
前記第１のオブジェクト及び複数の前記第２のオブジェクトが配置された仮想空間を設定する仮想空間設定部、
前記仮想空間内で前記第１のオブジェクトを移動させる第１の移動処理部、
前記第２のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、
前記移動判定部により前記移動可能条件を満たすと判定された前記第２のオブジェクトを、前記第１のオブジェクトに向けて移動させる第２の移動処理部、
前記第１のオブジェクトと前記第２のオブジェクトが接触したか否かを判定する接触判定部、
前記接触判定部により接触したと判定された場合に、接触した前記第１のオブジェクトと前記第２のオブジェクトとを結合させる結合部、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記移動判定部は、前記第２のオブジェクトが前記第１のオブジェクトと所与の位置関係にある場合に、前記移動可能条件を満たすと判定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記仮想空間設定部は、第１の基準値が設定された前記第１のオブジェクトを前記仮想空間内に配置し、
前記結合部は、前記第１のオブジェクトと前記第２のオブジェクトが結合した場合に、前記第１の基準値を更新し、
前記移動判定部は、前記第１の基準値に基づいて、前記移動可能条件を変化させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記仮想空間設定部は、第１の基準値が設定された前記第１のオブジェクトを前記仮想空間に配置するとともに、複数の第２の基準値のいずれかが設定された前記第２のオブジェクトを前記仮想空間内に配置し、
前記結合部は、前記第１のオブジェクトと前記第２のオブジェクトが結合した場合に、前記第１の基準値を更新し、
前記移動判定部は、前記第１の基準値と前記第２の基準値に基づいて、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項１〜３に記載のプログラム。
【請求項５】
コンピュータを、所定のイベント発生条件を満たしたか否かを判定するイベント判定部として機能させ、
前記移動判定部は、前記所定のイベント発生条件が満たされたと判定された場合に、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項１〜４に記載のプログラム。
【請求項６】
前記移動判定部は、前記所定のイベント発生条件が満たされたと判定されてから所定期間、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項５に記載のプログラム。
【請求項７】
請求項１〜６のいずれかに記載されたプログラムを記憶することを特徴とするコンピュータにより読み取り可能な情報記憶媒体。
【請求項８】
仮想空間内を移動する第１のオブジェクトに前記仮想空間内に配置された第２のオブジェクトを結合させるゲームを実行し、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画するゲームシステムであって、
前記第１のオブジェクト及び複数の前記第２のオブジェクトが配置された仮想空間を設定する仮想空間設定部、
前記仮想空間内で前記第１のオブジェクトを移動させる第１の移動処理部、
前記第２のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、
前記移動判定部により前記移動可能条件を満たすと判定された前記第２のオブジェクトを、前記第１のオブジェクトに向けて移動させる第２の移動処理部、
前記第１のオブジェクトと前記第２のオブジェクトが接触したか否かを判定する接触判定部、
前記接触判定部により接触したと判定された場合に、接触した前記第１のオブジェクトと前記第２のオブジェクトとを結合させる結合部、
を有することを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、三次元仮想空間内を移動する第１のオブジェクトと当該仮想空間内に配置された第２のオブジェクトを結合させて、第１のオブジェクトを雪だるま式に大きくしていくゲームが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２５１０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、第１のオブジェクトと第２のオブジェクトを結合させるためには、プレーヤが第１のオブジェクトを操作して第２のオブジェクトが配置されている位置に向けて移動させる必要があった。
【０００５】
本発明の目的は、第１のオブジェクトに第２のオブジェクトを結合させるゲームにおいて、第１のオブジェクトと第２のオブジェクトを結合させるまでの過程に変化を与えるゲームシステム、プログラム及び情報記憶媒体を提供することである。
【課題を解決するための手段】
【０００６】
（１）上記課題を解決するため、本発明は、仮想空間内を移動する第１のオブジェクトに前記仮想空間内に配置された第２のオブジェクトを結合させるゲームを実行し、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画するゲームシステムであって、前記第１のオブジェクト及び複数の前記第２のオブジェクトが配置された仮想空間を設定する仮想空間設定部、前記仮想空間内で前記第１のオブジェクトを移動させる第１の移動処理部、前記第２のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、前記移動判定部により前記移動可能条件を満たすと判定された前記第２のオブジェクトを、前記第１のオブジェクトに向けて移動させる第２の移動処理部、前記第１のオブジェクトと前記第２のオブジェクトが接触したか否かを判定する接触判定部、前記接触判定部により接触したと判定された場合に、接触した前記第１のオブジェクトと前記第２のオブジェクトとを結合させる結合部を有することを特徴とするゲームシステムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、第２のオブジェクトを第１のオブジェクトに向けて移動させることにより、第１のオブジェクトと第２のオブジェクトが結合するという新たなゲームを実現することができる。
【０００８】
（２）また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記移動判定部は、前記第２のオブジェクトが前記第１のオブジェクトと所与の位置関係にある場合に、前記移動可能条件を満たすと判定するようにしてもよい。
【０００９】
このようにすれば、仮想空間に配置された複数の第２のオブジェクトのうち、第１のオブジェクトと所与の位置関係にある第２のオブジェクトを、第１のオブジェクトに向けて移動させることができる。
【００１０】
（３）また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記仮想空間設定部は、第１の基準値が設定された前記第１のオブジェクトを前記仮想空間内に配置し、前記結合部は、前記第１のオブジェクトと前記第２のオブジェクトが結合した場合に、前記第１の基準値を更新し、前記移動判定部は、前記第１の基準値に基づいて、前記移動可能条件を変化させるようにしてもよい。
【００１１】
このようにすれば、ゲームの進行状況に応じて、第１のオブジェクトに向かって移動させる第２のオブジェクトを選択するための移動可能条件を変化させることができる。
【００１２】
（４）また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記仮想空間設定部は、第１の基準値が設定された前記第１のオブジェクトを前記仮想空間に配置するとともに、複数の第２の基準値のいずれかが設定された前記第２のオブジェクトを前記仮想空間内に配置し、前記結合部は、前記第１のオブジェクトと前記第２のオブジェクトが結合した場合に、前記第１の基準値を更新し、前記移動判定部は、前記第１の基準値と前記第２の基準値に基づいて、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【００１３】
このようにすれば、第１のオブジェクトに設定された第１の基準値と２のオブジェクトに設定された第２の基準値に基づいて、仮想空間に配置された複数の第２のオブジェクトのうち、どの第２のオブジェクトを第１のオブジェクトに向けて移動させるか否かを判定することができる。
【００１４】
（５）また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体は、所定のイベント発生条件を満たしたか否かを判定するイベント判定部を有し、前記移動判定部は、前記所定のイベント発生条件が満たされたと判定された場合に、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【００１５】
このようにすれば、所定のイベントが発生した場合に、第２のオブジェクトを第１のオブジェクトに向けて移動させることができる。
【００１６】
（６）また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記移動判定部は、前記所定のイベント発生条件が満たされたと判定されてから所定期間、前記第２のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【００１７】
このようにすれば、所定のイベントが発生してから所定期間、第２のオブジェクトを第１のオブジェクトに向けて移動させることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態の機能ブロック図。
【図２】本実施形態のゲーム画面の一例を示す図。
【図３】本実施形態のキャラクタについて説明する図。
【図４】本実施形態の第１のイベント処理について説明する図。
【図５】本実施形態の第２のイベント処理について説明する図。
【図６】本実施形態の処理の流れを示すフローチャート。
【図７】本実施形態の処理の流れを示すフローチャート。
【図８】本実施形態の処理の流れを示すフローチャート。
【図９】本実施形態の第１のイベント処理について説明する図。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について説明する。なお、以下に説明する本発明の実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本発明の実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２０】
１．構成
図１に本実施形態のゲームシステム（画像生成システム）の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２１】
操作部１０は、プレーヤがキャラクタ（プレーヤが操作するプレーヤキャラクタなど）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、加速度センサ、或いは筺体などにより実現できる。
【００２２】
記憶部２０は、処理部１００や通信部７０などのワーク領域となるもので、その機能はＲＡＭ、ＶＲＡＭなどにより実現できる。記憶部２０は、オブジェクトデータ記憶部２１、フレームバッファ２２、デプスバッファ２３、テクスチャ記憶部２４を含む。
【００２３】
オブジェクトデータ記憶部２１には、プレーヤキャラクタ（第１のオブジェクトの一例）、車、建物、樹木、柱、壁等のキャラクタに結合可能なオブジェクト（第２のオブジェクトの一例）、マップ（背景オブジェクトの一例）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）や、光が進行する方向や強さや色を示す光源等のオブジェクトデータが記憶される。本実施形態では、第１のオブジェクト、第２のオブジェクトには大きさ（基準値の一例）が設定されている。
【００２４】
フレームバッファ２２には、仮想空間を仮想カメラから見た画像が描画される。フレームバッファに描画された画像は表示部５０に表示される。
【００２５】
デプスバッファ２３には、フレームバッファの各ピクセルに対応させて、仮想カメラからオブジェクトまでの距離を表すデプス値（Ｚ値）がピクセル毎に記憶される。
【００２６】
テクスチャ記憶部２４には、テクスチャデータが記憶される。テクスチャデータは、色（ＲＧＢ）、α値などのオブジェクトの表面に与えられるプロパティデータである。
【００２７】
情報記憶媒体３０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体３０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体３０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２８】
携帯型情報記憶装置４０は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、メモリカードや携帯型ゲーム装置などにより実現できる。
【００２９】
表示部５０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００３０】
音出力部６０は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３１】
通信部７０は外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部７０を介して情報記憶媒体３０（あるいは記憶部２０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３３】
処理部１００（プロセッサ、ゲーム処理部）は、操作部１０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理（描画処理）、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、ゲームの進行状況が所定の条件（例えばステージ等の所定のゲーム単位がクリアされたこと）を満たしたか否かを判定する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は、記憶部２０をワーク領域として各種処理を行う。処理部１００の機能は、各種プロセッサ（ＣＰＵ（メインプロセッサ）、ＧＰＵ（描画プロセッサ）、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３４】
そして処理部１００は、仮想空間設定部１１０、第１の移動処理部１１１、第２の移動処理部１１２、移動判定部１１３、接触判定部１１４、結合判定部１１６、結合部１１８、イベント判定部１２０、仮想カメラ制御部１２４、描画部１２６、音生成部１２８を含む。なおこれらの一部を省略する構成としてもよい。
【００３５】
仮想空間設定部１１０は、オブジェクトデータ記憶部２１に記憶されているオブジェクトデータに基づいて、第１のオブジェクト、第２のオブジェクトを含むオブジェクトを仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、決定された位置（Ｘ、Ｙ、Ｚ）に決定された回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトや光源を配置する。
【００３６】
第１の移動処理部１１１は、オブジェクト（第１のオブジェクト、第２のオブジェクト等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３７】
第２の移動処理部１１２は、後述する移動判定部１１３によって所定の移動可能条件を満たすと判定された第２のオブジェクトを、操作入力によらずに自動的に第１のオブジェクトに向けて移動させる。
【００３８】
移動判定部１１３は、第２のオブジェクトが所定の移動可能条件を満たすか否かを判定する。移動可能条件は、例えば、第２のオブジェクトの大きさが第１のオブジェクトの大きさより小さいこと、あるいは第２のオブジェクトが第１のオブジェクトの配置位置から所定範囲内に配置されていること等とすることができる。
【００３９】
接触判定部１１４は、仮想空間に配置された各種オブジェクトの位置、回転角度、形状、大きさに基づいて、オブジェクト同士が接触したか否かの判定（ヒットチェック、コリジョン判定）を行う。オブジェクトの接触判定は、オブジェクトの表示モデルを近似したバウンディングボリュームを用いて行われる。
【００４０】
結合判定部１１６は、第１のオブジェクトと第２のオブジェクトが接触したと判定された場合に、第１のオブジェクトと第２のオブジェクトの大きさに基づいて、両者が結合可能条件を満たすか否かを判定する。例えば、第１のオブジェクトに設定された大きさが第２のオブジェクトに設定された大きさよりも大きい場合に結合可能条件を満たすと判定する。また、結合判定部１１６は、第１のオブジェクトが第２のオブジェクトに対して所定以上の大きさの場合に結合可能条件を満たすと判定してもよい。例えば、第１のオブジェクトに設定された大きさが第２のオブジェクトに設定された大きさの３倍以上である場合に、結合可能条件を満たすと判定してもよい。
【００４１】
結合部１１８は、結合判定部１１６により結合可能条件を満たすと判定された場合に、接触した第１のオブジェクトと第２のオブジェクトを結合させる。または、結合部１１８は、第２の移動処理部１１２によって移動させられた第２のオブジェクトが第１のオブジェクトと接触した場合は、結合判定部１１６による判定無しで、接触した第１のオブジェクトと第２の移動処理部１１２によって移動させられた第２のオブジェクトを結合させてもよい。移動可能条件を満たす第２のオブジェクトが全て結合可能条件を満たすように、移動可能条件と結合可能条件が設定されている場合は、移動可能条件を満たした第２のオブジェクトが結合可能条件を満たすか否かを改めて判定する必要はないからである。結合処理として、具体的には、結合部１１８は、記憶部２０に記憶された結合リストに、結合した第２のオブジェクトを追加する。この結合リストは、結合した順番に第２のオブジェクトが登録されるスタック型のデータである。結合部１１８は、接触点、または接触点の近傍の点で第１のオブジェクトと第２のオブジェクトを結合し、結合された第１のオブジェクトと第２のオブジェクトを一体化して新たな第１のオブジェクトとする。新たな第１のオブジェクトの大きさは、元の第１のオブジェクトと結合された第２のオブジェクトの大きさを合わせたものとなる。また、結合部１１８は、結合された第２のオブジェクトの大きさに基づいて、第１のオブジェクトに設定された接触判定用のバウンディングボリュームを更新する。
【００４２】
イベント判定部１２０は、移動判定部１１３が判定を開始するためのイベント発生条件が満たされたか否かを判定する。イベント判定部１２０により、イベント発生条件が満たされたと判定された場合、移動判定部１１３は、第２のオブジェクトが移動可能条件を満たすか否かの判定を行う。移動判定部１１３は、イベント発生条件が満たされたと判定されてから所定期間、第２のオブジェクトが移動可能条件を満たすか否かの判定を行うようにしてもよい。
【００４３】
仮想カメラ制御部１２４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００４４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、第１の移動処理部１１１で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４５】
描画部１２６は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部５０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）がオブジェクトデータ記憶部２１から入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセル（画素）とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット（ピクセル単位で画像情報を記憶できるバッファ。フレームバッファ２２等）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色（色値、輝度値）、法線、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００４６】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００４７】
そして描画部１２６は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００４８】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部２１に保存される。
【００４９】
光源計算としては、光源に設定される各種パラメータ（光源の強さ、色、位置、光源ベクトルなど）、オブジェクト（プリミティブ）や頂点に設定される各種パラメータ（反射属性、法線などのベクトルなど）、仮想カメラに設定される各種パラメータ（視線ベクトル、視点の位置など）に基づいて光の反射をシミュレートし、頂点毎に基本色（ディフューズ）と鏡面反射成分（スペキュラ）とを求める。
【００５０】
テクスチャマッピングは、テクスチャ記憶部２４に記憶されるテクスチャ（テクセル値、ＵＶ座標値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部２４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
【００５１】
隠面消去処理としては、描画ピクセルの奥行き値（Ｚ値）が格納されるデプスバッファ２３（奥行きバッファ）を用いた奥行き比較法（デプステスト、Ｚテスト）による隠面消去処理を行う。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、デプスバッファ２３に格納される奥行き値をピクセルごとに参照する。そして参照されたデプスバッファ２３の奥行き値と、プリミティブの描画ピクセルでの奥行き値とを比較し、描画ピクセルでの奥行き値が、仮想カメラから見て手前側となる奥行き値（例えば小さな奥行き値）である場合には、その描画ピクセルの描画処理を行うとともにデプスバッファ２３の奥行き値を新たな奥行き値に更新する。
【００５２】
αブレンディングとしては、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
【００５３】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
【００５４】
また、加算αブレンディングの場合には下式（４）〜（６）の処理を行う。なお単純加算の場合はα＝１として下式（４）〜（６）の処理を行う。
【００５５】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
【００５６】
また、減算αブレンディングの場合には下式（７）〜（９）の処理を行う。なお単純減算の場合はα＝１として下式（７）〜（９）の処理を行う。
【００５７】
ＲＱ＝Ｒ１−α×Ｒ２                （７）
ＧＱ＝Ｇ１−α×Ｇ２                （８）
ＢＱ＝Ｂ１−α×Ｂ２                （９）
【００５８】
ここで、Ｒ１、Ｇ１、Ｂ１は、フレームバッファ２２に既に描画されている画像（原画像）のＲＧＢ成分（色値）であり、Ｒ２、Ｇ２、Ｂ２は、フレームバッファ２２に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５９】
音生成部１２８は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部６０に出力する。
【００６０】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６１】
２．ゲーム概要
図２、図３を用いて本実施形態のゲームの概要を説明する。
【００６２】
図２は、本実施形態のゲーム画面の一例を示す図である。プレーヤは操作入力により球体のキャラクタ１３０（第１のオブジェクト）を仮想空間内で移動（回転しながら移動、転動）させることができる。仮想空間には、コイン１３２、飴玉１３４、缶１３６、パイプ１３８、人１４０、ビル１４２等の大きさの異なる複数種類のオブジェクト（第２のオブジェクト）が配置されている。また、仮想空間には、背景オブジェクトとして雲１４４、山１４６、太陽１４８、空１５０、地面１５２が配置されている。また、仮想空間には、第２の移動処理開始のきっかけとなるイベント発生用アイテムとして、第１のアイテム１５４、第２のアイテム１５６が配置されている。
【００６３】
プレーヤがキャラクタ１３０を移動させ、キャラクタ１３０と第２のオブジェクトが接触した際に、キャラクタ１３０の大きさ（半径）が接触した第２のオブジェクトの大きさより大きい場合、キャラクタ１３０と接触した第２のオブジェクトが結合される。そして、結合したキャラクタ１３０と第２のオブジェクトが新たなキャラクタ１３０となる。新たなキャラクタ１３０の大きさは、元のキャラクタ１３０と比べて、結合した第２のオブジェクトの分大きくなる。また、新たなキャラクタ１３０の接触判定用のバウンディングボリュームも、結合した第２のオブジェクトの分大きくなる。本実施形態のゲームの目的は、第２のオブジェクトをキャラクタ１３０に結合させて、キャラクタ１３０を雪だるま式に大きくしていくことである。
【００６４】
図３は、キャラクタ１３０が雪だるま式に大きくなる様子を説明する図である。ゲーム開始直後は、キャラクタ１３０は、図３（Ａ）に示す大きさである。この大きさのキャラクタ１３０には、キャラクタ１３０の半径よりも小さいコイン１３２、飴玉１３４は結合させることができるが、キャラクタ１３０の半径よりも大きい缶１３６、パイプ１３８、人１４０、ビル１４２は結合することができない。プレーヤは、結合可能な第２のオブジェクトを結合させて、キャラクタ１３０を大きくしていく。図３（Ｂ）は、図３（Ａ）に示す状態から結合によって拡大したキャラクタ１３０を示している。尚、キャラクタ１３０に結合した第２のオブジェクトの大きさの合計が一定以上になると、キャラクタ１３０の中心の球体（表示モデル）が拡大するため、球体の内側に結合されている第２のオブジェクトは見えなくなる。この時点で、結合リストから球体の内側の第２のオブジェクトは削除される。そして、キャラクタ１３０の中心の球体が拡大する際には、所定の演出処理（画面全体にブラーがかかる、所定の音楽が流れる等）が行われる。図３（Ｂ）に示す大きさのキャラクタ１３０には、さらに缶１３６、パイプ１３８を結合させることができるようになる。さらに、キャラクタ１３０に第２のオブジェクトを結合させると、キャラクタ１３０は図３（Ｃ）に示す大きさに拡大する。この大きさのキャラクタ１３０には、さらに人１４０を結合することができる。このように、本実施形態のゲームでは、多くの第２のオブジェクトを結合させてキャラクタ１３０の大きさを拡大させるほど、多くの種類の第２のオブジェクトを結合させることができるようになる。
【００６５】
３．本実施形態に特有の手法
本実施形態のゲームでは、所定のイベント発生条件が満たされた場合に、第２のオブジェクトをキャラクタ１３０に向けて移動させることにより、キャラクタ１３０と第２のオブジェクトの結合の過程に変化を持たせている。
【００６６】
具体的には、キャラクタ１３０と仮想空間に配置されたイベント発生用アイテムが結合すると、所定の移動可能条件を満たす第２のオブジェクトがキャラクタ１３０に向けて移動を開始する。図２に示す第１のアイテム１５４と第２のアイテム１５６がイベント発生用アイテムである。イベント発生用アイテムは、他のオブジェクト（第２のオブジェクトや背景オブジェクト）と区別可能な態様（色、形状等）としてもよい。
【００６７】
第１のアイテム１５４と第２のアイテム１５６にはそれぞれ、移動可能条件、移動判定時間、移動態様が設定されている。移動可能条件は、移動させる第２のオブジェクトを選択するための条件である。移動判定時間は、移動させる第２のオブジェクトが選択が行われる時間である。移動態様は、選択された第２のオブジェクトがキャラクタ１３０に向けて移動する態様であり、例えば移動速度、移動目標点等である。尚、第１のアイテム１５４及び第２のアイテム１５６には、第２のオブジェクトと異なり結合判定用の大きさは設定されていない。従って、キャラクタ１３０と第１のアイテム１５４又は第２のアイテム１５６が接触すると、キャラクタ１３０の大きさに関わらず、接触したキャラクタ１３０と第１のアイテム１５４又は第２のアイテム１５６は結合する。
【００６８】
３−１．第１のイベント処理
図４及び図９は本実施形態の第１のイベント処理について説明するための図である。具体的には、図４は、キャラクタ１３０が第１のアイテム１５４と結合した場合に、キャラクタ１３０に向けて移動させる第２のオブジェクトが選択され、選択された第２のオブジェクトがキャラクタ１３０に向けて移動する様子を示している。
【００６９】
図４（Ａ）は、キャラクタ１３０と第１のアイテム１５４が接触した時点を示している。また、図９は、図４（Ａ）の時点での仮想空間を真上から見た図である。上記の通り、キャラクタ１３０と接触した第１のアイテム１５４は、結合判定無しでキャラクタ１３０と結合する。すると、イベント発生条件が満たされたと判定され、移動させる第２のオブジェクトを選択する移動判定処理が開始される。
【００７０】
具体的には、第１のアイテム１５４に設定された移動可能条件に基づいて、移動させる第２のオブジェクトが選択される。ここで、第１のアイテム１５４には、移動可能条件として、「中心がキャラクタ１３０が地面と接する点であり直径がキャラクタ１３０の直径の３倍である円の内側に配置され、かつ大きさがキャラクタ１３０の半径以下であること」が設定されている。
【００７１】
図４（Ａ）のＬ１、及び図９に点線で示すＬ１を直径とする円は、中心がキャラクタ１３０が地面と接する点であり直径がキャラクタ１３０の直径の３倍である円の内側の領域を示している。このＬ１の内側に配置され、かつ大きさがキャラクタ１３０の半径より小さいコイン１３２ａ及び飴玉１３４ａが、移動させる第２のオブジェクトとして選択される。コイン１３２ｂ及び飴玉１３４ｂは、キャラクタ１３０の半径より小さいが、Ｌ１の外側に配置されているため選択されない。また、缶１３６ａはＬ１の内側に配置されているが、キャラクタ１３０の半径より大きいので選択されない。
【００７２】
図４（Ｂ）は、図４（Ａ）の時点から微小時間経過後の時点を示している。図４（Ｂ）に示すように、移動させる第２のオブジェクトとして選択されたコイン１３２ａ及び飴玉１３４ａが地面から浮き上がり、キャラクタ１３０の中心に向けて吸い寄せられるように移動している。このように、本実施形態では、地面に接地して配置された第２のオブジェクトが移動させる対象として選択されると、移動目標点であるキャラクタ１３０の中心に向けて直線的に移動を開始する。ここで、コイン１３２ａは缶１３６ａをすり抜けてキャラクタ１３０に向けて移動している。すなわち、本実施形態では第２のオブジェクト及び背景オブジェクトには接触判定用のバウンディングボリュームが設定されており、通常はオブジェクトが他のオブジェクトをすり抜けることは無いが、移動させる対象として選択された第２のオブジェクトに限って、移動目標点に直線的に移動することが優先され、他の第２のオブジェクト及び背景オブジェクトとの衝突判定が行われなくなる。
【００７３】
また、図４（Ｂ）に示す時点では、既に移動判定処理は終了しており、新たな第２のオブジェクトが移動対象として選択されることはない。これは、第１のアイテムに移動判定時間として非常に短い時間（例えば１フレーム）が設定されているためである。これにより、第１のイベント処理では、キャラクタ１３０と第１のアイテムが結合した瞬間にのみ移動判定処理が行われることになる。尚、移動判定処理は終了していても、既に移動させる第２のオブジェクトとして選択されたコイン１３２ａ及び飴玉１３４ａは、キャラクタ１３０に向けて移動を続ける。
【００７４】
図４（Ｃ）は、図４（Ｂ）の時点からさらに微小時間経過後の時点を示している。図４（Ｃ）に示す時点では、コイン１３２ａ及び飴玉１３４ａがキャラクタ１３０の位置まで移動してキャラクタ１３０と接触し、キャラクタ１３０と結合している。尚、本実施形態のように、移動可能条件を満たす第２のオブジェクトはすべて結合可能条件を満たすものとなるような場合、コイン１３２ａ及び飴玉１３４ａの結合に際しては、キャラクタ１３０の大きさに基づいて結合可能条件を満たすか否かの判定は行われなくてもよい。
【００７５】
図４（Ｄ）は、図４（Ｃ）の時点からさらに微小時間経過後の時点を示している。図４（Ｄ）に示す時点では、キャラクタ１３０とコイン１３２ａ及び飴玉１３４ａが結合した結果、キャラクタ１３０が一回り大きくなっている。本実施形態では、複数の第２のオブジェクトがキャラクタ１３０に向けて移動し、連続して結合させられるため、結合した第２のオブジェクトの大きさの合計が短時間で一定以上になり、キャラクタ１３０の中心の球体の拡大が起こりやすくなる。このように、第１のイベント処理において多数の第２のオブジェクトが短時間で結合されてキャラクタ１３０が急激に大きくなった場合は、キャラクタ１３０が大きくなる際の演出処理は省略されてもよい。このようにすれば、多数の第２のオブジェクトが短時間で結合されることによる結合処理の負荷が増大しても、演出処理の負荷を減少させることによって、システム全体としての負荷を抑えることができる。
【００７６】
３−２．第２のイベント処理
図５は本実施形態の第２のイベント処理について説明するための図である。具体的には、図５は、キャラクタ１３０が第２のアイテム１５６と結合した場合に、キャラクタ１３０に向けて移動させる第２のオブジェクトが選択され、選択された第２のオブジェクトがキャラクタ１３０に向けて移動する様子を示している。
【００７７】
図５（Ａ）は、キャラクタ１３０と第２のアイテム１５６が接触した時点を示している。キャラクタ１３０と接触した第２のアイテム１５６は、上記の第１のアイテムと同様に、結合判定無しでキャラクタ１３０と結合する。すると、イベント発生条件が満たされたと判定され、移動させる第２のオブジェクトを選択する移動判定処理が開始される。
【００７８】
具体的には、第２のアイテム１５６に設定された移動可能条件に基づいて、移動させる第２のオブジェクトが選択される。ここで、第２のアイテム１５６には、移動可能条件として、「中心がキャラクタ１３０が地面と接する点であり直径がキャラクタ１３０の直径の２．５倍である円の内側に配置され、かつ大きさがキャラクタ１３０の半径以下であること」が設定されている。
【００７９】
図５（Ａ）のＬ２は、中心がキャラクタ１３０が地面と接する点であり直径がキャラクタ１３０の直径の２．５倍である円の内側の領域を示している。このＬ２の内側に配置され、かつ大きさがキャラクタ１３０の半径より小さいコイン１３２ｃ及び飴玉１３４ｄが、移動させる第２のオブジェクトとして選択される。飴玉１３４ｃは、キャラクタ１３０の半径より小さいが、Ｌ２の外側に配置されているため選択されない。また、缶１３６ｃはＬ２の内側に配置されているが、キャラクタ１３０の半径より大きいので選択されない。また、缶１３６ｂは、Ｌ２の外側に配置されかつキャラクタ１３０の半径より大きいので選択されない。
【００８０】
図５（Ｂ）は、図５（Ａ）の時点から微小時間経過後の時点を示している。図５（Ｂ）に示すように、移動させる第２のオブジェクトとして選択されたコイン１３２ｃ及び飴玉１３４ｄが地面から浮き上がり、キャラクタ１３０の中心に向けて吸い寄せられるように移動している。ここで、コイン１３２ｃは缶１３６ｃをすり抜けてキャラクタ１３０に向けて移動している。
【００８１】
図５（Ｂ）に示す時点では、図４（Ｂ）に示す場合と異なり、まだ移動判定処理は終了していない。これは、第２のアイテムに設定された移動判定時間が、第１のアイテムに設定された移動判定時間より長いためである。これにより、第２のイベント処理では、第１のイベント処理よりも長い期間、移動判定処理が行われる。
【００８２】
図５（Ｃ）は、図５（Ｂ）の時点からさらに微小時間経過後の時点を示している。図５（Ｃ）に示す時点では、コイン１３２ｃ及び飴玉１３４ｄがキャラクタ１３０の位置まで移動してキャラクタ１３０と接触し、キャラクタ１３０と結合している。尚、第１のイベント処理の場合と同様に、コイン１３２ｃ及び飴玉１３４ｄの結合に際しては、結合可能条件を満たすか否かの判定は行われなくてもよい。
【００８３】
図５（Ｄ）は、図５（Ｃ）の時点からさらに微小時間経過後の時点を示している。図５（Ｄ）に示す時点では、キャラクタ１３０とコイン１３２ｃ及び飴玉１３４ｄが結合した結果、キャラクタ１３０が一回り大きくなっている。上記の通り、本実施形態では、複数の第２のオブジェクトがキャラクタ１３０に向けて移動し、連続して結合させられるため、結合した第２のオブジェクトの大きさの合計が短時間で一定以上になり、キャラクタ１３０の中心の球体の拡大が起こりやすくなる。ここで、キャラクタ１３０が移動及び拡大したことにより、キャラクタ１３０の中心位置と半径が変化するため、移動可能条件を満たす第２のオブジェクトが変化する。すなわち、第２のアイテムに設定された移動可能条件は、「中心がキャラクタ１３０が地面と接する点であり直径がキャラクタ１３０の直径の２．５倍である円の内側に配置され、かつ大きさがキャラクタ１３０の半径以下であること」であるため、キャラクタ１３０の位置や大きさが変化することによってこの移動可能条件を満たす第２のオブジェクトが変化することになる。Ｌ３は、移動したキャラクタ１３０が地面と接する点を中心とし、拡大したキャラクタ１３０の直径の２．５倍を直径とする円の内側の領域を示している。このＬ３の内側に、飴玉１３４ｃ、缶１３６ｂ、缶１３６ｃが配置されている。そして、飴玉１３４ｃ、缶１３６ｂ、缶１３６ｃはいずれも拡大したキャラクタ１３０の半径より小さいので、移動させる第２のオブジェクトとして選択される。このように、第２のイベント処理では、キャラクタ１３０が移動又は拡大する前後を通じて移動判定処理が継続するため、移動判定処理の開始時点で移動可能条件を満たさなかった第２のオブジェクトが、移動判定処理の継続中に移動可能条件を満たすようになることがある。図５に示す例では、図５（Ａ）の時点ではキャラクタ１３０から所定距離以上離れた位置に配置されていたため移動可能条件を満たさなかった飴玉１３４ｃや缶１３６ｂ、または大きさが大きかったため移動可能条件を満たさなかった缶１３６ｃが、図５（Ｄ）の時点では移動可能条件を満たすようになっている。
【００８４】
図５（Ｅ）は、図５（Ｄ）の時点からさらに微小時間経過後の時点を示している。図５（Ｅ）に示す時点では、移動させる第２のオブジェクトとして選択された飴玉１３４ｃ、缶１３６ｂ、缶１３６ｃが地面から浮き上がり、キャラクタ１３０の中心に向けて吸い寄せられるように移動している。第２のイベント処理では、図５（Ｅ）の時点で移動判定処理が終了するが、既に移動させる第２のオブジェクトとして選択された飴玉１３４ｃ、缶１３６ｂ、缶１３６ｃは、移動判定処理の終了後もキャラクタ１３０に向けて移動を続ける。
【００８５】
図５（Ｆ）は、図５（Ｅ）の時点からさらに微小時間経過後の時点を示している。図５（Ｆ）に示す時点では、移動した飴玉１３４ｃ、缶１３６ｂ、缶１３６ｃがキャラクタ１３０に結合し、キャラクタ１３０がさらに一回り大きくなっている。
【００８６】
４．フローチャート
図６〜図８は、本実施形態の処理の流れを示すフローチャートである。
【００８７】
図６は、本実施形態の結合処理の流れを示すフローチャートである。ゲームシステムはまず、操作入力に基づいて仮想空間内でキャラクタ１３０を移動させる（ステップＳ１０）。そして、ゲームシステムは、キャラクタ１３０と第２のオブジェクトが接触したか否かを判定する（ステップＳ１２）。キャラクタ１３０と第２のオブジェクトが接触したと判定された場合（ステップ１２：Ｙ）、ゲームシステムは次に、キャラクタ１３０の大きさが接触した第２のオブジェクトより大きいか否かを判定する（ステップＳ１４）。キャラクタ１３０の大きさが接触した第２のオブジェクトより大きいと判定された場合（ステップＳ１４：Ｙ）、ゲームシステムは、接触した第２のオブジェクトを結合リストに追加する（ステップＳ１６）。そして、ゲームシステムは、結合リストに追加された第２のオブジェクトの大きさに基づいて、キャラクタ１３０の大きさを更新する（ステップＳ１８）。さらに、ゲームシステムは、結合リストに追加された第２のオブジェクトの大きさに基づいて、キャラクタ１３０に設定された接触判定用のバウンディングボリュームを更新する。（ステップＳ２０）。
【００８８】
図７は、本実施形態の第１のイベント処理の流れを示すフローチャートである。ゲームシステムはまず、キャラクタ１３０が第１のアイテムと接触したか否かを判定する（Ｓ３０）。キャラクタ１３０が第１のアイテムと接触した場合（ステップＳ３０：Ｙ）、ゲームシステムは次に、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に第２のオブジェクトが存在するか否かを判定する（ステップＳ３２）。そして、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に第２のオブジェクトが存在する場合（ステップＳ３２：Ｙ）は、当該キャラクタ１３０の大きさに応じた範囲内の第２のオブジェクトを抽出する（ステップＳ３４）。その後、ゲームシステムは、抽出した第２のオブジェクトの中に、大きさがキャラクタ１３０の半径より小さいものが存在するか否かを判定する（ステップＳ３６）。そして、抽出した第２のオブジェクトの中に、大きさがキャラクタ１３０の半径より小さいものが存在する場合（ステップＳ３６：Ｙ）は、ゲームシステムは、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に配置され、かつキャラクタ１３０の半径より小さい第２のオブジェクトを、キャラクタ１３０に向けて移動させる（ステップＳ３８）。
【００８９】
図８は、本実施形態の第２のイベント処理の流れを示すフローチャートである。ゲームシステムはまず、キャラクタ１３０が第２のアイテムと接触したか否かを判定する（Ｓ４０）。キャラクタ１３０が第２のアイテムと接触した場合（ステップＳ４０：Ｙ）ゲームシステムは第２のアイテムに設定された移動判定時間に基づいてカウント値を更新する（ステップＳ４２）。次に、ゲームシステムは、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に第２のオブジェクトが存在するか否かを判定する（ステップＳ４４）。そして、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に第２のオブジェクトが存在する場合（ステップＳ４４：Ｙ）は、当該キャラクタ１３０の大きさに応じた範囲内の第２のオブジェクトを抽出する（ステップＳ４６）。その後、ゲームシステムは、抽出した第２のオブジェクトの中に、大きさがキャラクタ１３０の半径より小さいものが存在するか否かを判定する（ステップＳ４８）。そして、抽出した第２のオブジェクトの中に、大きさがキャラクタ１３０の半径より小さいものが存在する場合（ステップＳ４８：Ｙ）は、ゲームシステムは、キャラクタ１３０の位置からキャラクタ１３０の大きさに応じた範囲内に配置され、かつキャラクタ１３０の半径より小さい第２のオブジェクトを、キャラクタ１３０に向けて移動させる対象として選択する（ステップＳ５０）。その後、ゲームシステムはカウント値を参照し、第２のイベントの継続時間が終了したか否かを参照する（ステップＳ５２）。継続時間が終了している場合（ステップＳ５２：Ｙ）は、ゲームシステムは第２のイベント処理を終了する。継続時間が終了していない場合（ステップＳ５２：Ｎ）は、ゲームシステムはステップＳ４２に戻り、カウント値を更新した後、ステップＳ４４〜ステップＳ５２を繰り返す。
【００９０】
５．変形例
尚、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９１】
５−１．イベント発生条件
上記実施形態では、イベント発生用アイテムの結合の際には結合判定処理を行わない例を説明したが、イベント発生用アイテムの結合の際にも第２のオブジェクトの結合の際と同様の結合判定処理を行うようにしてもよい。この場合、イベント発生用アイテムにも第２のオブジェクトと同様に結合判定用の基準値が設定される。
【００９２】
また、上記実施形態では、キャラクタ１３０とイベント発生用アイテムが結合した場合に、イベント発生条件が満たされたと判定する例を説明したが、イベント発生条件はアイテムの結合に限らない。例えば、ゲームのプレイ時間が一定時間に達したとき、キャラクタ１３０の大きさが一定値に達したとき、結合した第２のオブジェクトの数が一定値に達したとき、あるいは特定のステージをプレイするとき等にイベント発生条件が満たされたと判定してもよい。また、イベント発生条件が満たされたか否かを判定せず、ゲーム中常に第２のオブジェクトがキャラクタ１３０に向けて移動するようにしてもよい。
【００９３】
５−２．移動可能条件
上記実施形態では、キャラクタ１３０が地面と接する点を中心とする円形領域の内側に配置されていることを第２のオブジェクトの移動可能条件とする場合について説明したが、移動可能条件はこれに限られない。例えば、領域の形状は円に限られず、球、半球、円柱、仮想カメラの視界範囲等としてもよい。
【００９４】
また、上記実施形態の移動可能条件に代えて、またはこれに加えて、第２のオブジェクトに設定された重さを移動可能条件としてもよい。このようにすれば、例えば一定以上の第２のオブジェクトを移動させないようにして、第２のオブジェクトの重さを表現することができる。
【００９５】
５−３．移動期間  
上記実施形態では、移動判定時間が経過して移動判定処理が終了した場合でも、既に移動させる対象として選択された第２のオブジェクトは移動を続ける例を説明したが、移動判定時間が経過したときに移動判定処理とともに選択された第２のオブジェクトの移動も停止するようにしてもよい。この場合、所定時間が経過した際に、空中を移動中の第２のオブジェクトは移動が停止してその場に落ちるようにしてもよい。
【００９６】
５−４．移動態様
上記実施形態では、キャラクタ１３０の中心に向けて第２のオブジェクトを移動させる例を説明したが、第２のオブジェクトが向かう目標はキャラクタ１３０の中心に限られない。例えば、キャラクタ１３０と地面の接点を目標としてもよい。このようにすれば、第２のオブジェクトが地面を滑ってキャラクタ１３０に向かってくる様子を表現することができる。また、キャラクタ１３０の重心や、表面上の所定の点を目標としてもよい。
【００９７】
また、イベント発生用アイテムの種類に応じて、第２のオブジェクトの移動態様を変化させてもよい。例えば、短い移動判定時間が設定されたイベント発生用アイテムほど、移動態様として速い速度が設定されていてもよい。
【００９８】
また、移動させる第２のオブジェクトの大きさや重さに応じて、移動速度を変化させてもよい。
【００９９】
５−５．結合処理
上記実施形態では、移動させた第２のオブジェクトがキャラクタ１３０と結合する際は、結合判定処理を行わない例について説明したが、移動させた第２のオブジェクトについても通常の第２のオブジェクトと同様に結合判定処理を行ってもよい。
【０１００】
また、移動させた第２のオブジェクトがキャラクタ１３０の特定の位置に集中して結合してしまうのを防ぐために、分散処理を行ってもよい。例えば、密集して配置された複数の第２のオブジェクトが移動させる対象として選択された場合、移動を開始する前に当該第２のオブジェクトの配置位置を変更して密集状態を解消してから、キャラクタ１３０に向けて移動させてもよい。また、キャラクタ１３０の同じ位置に連続して第２のオブジェクトが接触した場合に、後に接触した第２のオブジェクトの結合位置を接触位置からずらす処理を行ってもよい。例えば、接触点の近傍で第２のオブジェクトが結合していない部分に接触した第２のオブジェクトを移動させて結合させてもよい。また、第２のオブジェクトが向かう目標をランダムまたは所定の規則で変更するようにしてもよい。また、イベント発生条件が満たされた場合に、キャラクタ１３０を強制的に回転させるようにして、キャラクタ１３０と第２のオブジェクトの結合位置を分散させるようにしてもよい。キャラクタ１３０は回転させて移動させるオブジェクトであり、操作入力のあった方向に転動していくため、第２のオブジェクトが移動目標点である中心に移動していくときキャラクタ１３０が回転していれば、結合位置は自然に分散することになるが、イベント発生時に、操作入力が途切れた場合または無効になった場合でも、イベント発生前の操作入力に基づいてキャラクタ１３０を惰性で回転させて、結合位置を分散させてもよい。
【０１０１】
５−６．キャラクタ１３０の移動態様
上記実施形態では、キャラクタ１３０が回転しながら地面上を移動する例について説明したが、キャラクタ１３０の移動態様はこれに限られない。例えば、キャラクタ１３０が操作入力に応じてジャンプ（地面から離れて空中を移動）するようにしてもよい。この場合、操作部１０として加速度センサが用いられ、加速度センサの検出結果に応じてキャラクタ１３０をジャンプさせるようにしてもよい。また、キャラクタ１３０が回転しながらジャンプするようにしてもよい。この場合、加速度センサの検出結果に応じて回転方向、速度を決定するようにしてもよい。さらに、イベント発生中にキャラクタ１３０がジャンプした場合、移動可能条件を変化させるようにしてもよい。例えば、移動可能条件として所定の平面領域（例えば円）内に第２のオブジェクトが配置されていることが設定されている場合、キャラクタ１３０のジャンプ中は所定の立体領域（例えば球）内に第２のオブジェクトが配置されていることを移動可能条件とするようにしてもよい。
【符号の説明】
【０１０２】
１０  操作部、２０  記憶部、２１  オブジェクトデータ記憶部、２２  フレームバッファ、２３  デプスバッファ、２４  テクスチャ記憶部、３０  情報記憶媒体、４０  携帯型情報記憶装置、５０  表示部、６０  音出力部、７０通信部、１００  処理部、１１０  仮想空間設定部、１１１  第１の移動処理部、１１２  第２の移動処理部、１１３  移動判定部、１１４  接触判定部、１１６  結合判定部、１１８  結合部、１２０  イベント判定部、１２４  仮想カメラ制御部、１２６  描画部、１２８  音生成部、１３０  キャラクタ、１３２  コイン、１３４  飴玉、１３６  缶、１３８  パイプ、１４０  人、１４２  ビル、１４４  雲、１４６  山、１４８  太陽、１５０  空、１５２  地面、１５３  大きさ情報、１５４  第１のアイテム、１５６  第２のアイテム
【図１】
2010233821.tif 000003
【図２】
2010233821.tif 000004
【図３】
2010233821.tif 000005
【図４】
2010233821.tif 000006
【図５】
2010233821.tif 000007
【図６】
2010233821.tif 000008
【図７】
2010233821.tif 000009
【図８】
2010233821.tif 000010
【図９】
2010233821.tif 000011