説明

ゲームシステム、プログラム及び情報記憶媒体

【課題】第1のオブジェクトに第2のオブジェクトを結合させるゲームにおいて、第1のオブジェクトと第2のオブジェクトを結合させるまでの過程に変化を与えるゲームシステム、プログラム及び情報記憶媒体を提供すること。
【解決手段】ゲームシステムは、前記第2のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、前記移動判定部により前記移動可能条件を満たすと判定された前記第2のオブジェクトを、前記第1のオブジェクトに向けて移動させる第2の移動処理部を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、三次元仮想空間内を移動する第1のオブジェクトと当該仮想空間内に配置された第2のオブジェクトを結合させて、第1のオブジェクトを雪だるま式に大きくしていくゲームが知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−251076号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術では、第1のオブジェクトと第2のオブジェクトを結合させるためには、プレーヤが第1のオブジェクトを操作して第2のオブジェクトが配置されている位置に向けて移動させる必要があった。
【0005】
本発明の目的は、第1のオブジェクトに第2のオブジェクトを結合させるゲームにおいて、第1のオブジェクトと第2のオブジェクトを結合させるまでの過程に変化を与えるゲームシステム、プログラム及び情報記憶媒体を提供することである。
【課題を解決するための手段】
【0006】
(1)上記課題を解決するため、本発明は、仮想空間内を移動する第1のオブジェクトに前記仮想空間内に配置された第2のオブジェクトを結合させるゲームを実行し、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画するゲームシステムであって、前記第1のオブジェクト及び複数の前記第2のオブジェクトが配置された仮想空間を設定する仮想空間設定部、前記仮想空間内で前記第1のオブジェクトを移動させる第1の移動処理部、前記第2のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、前記移動判定部により前記移動可能条件を満たすと判定された前記第2のオブジェクトを、前記第1のオブジェクトに向けて移動させる第2の移動処理部、前記第1のオブジェクトと前記第2のオブジェクトが接触したか否かを判定する接触判定部、前記接触判定部により接触したと判定された場合に、接触した前記第1のオブジェクトと前記第2のオブジェクトとを結合させる結合部を有することを特徴とするゲームシステムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0007】
本発明によれば、第2のオブジェクトを第1のオブジェクトに向けて移動させることにより、第1のオブジェクトと第2のオブジェクトが結合するという新たなゲームを実現することができる。
【0008】
(2)また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記移動判定部は、前記第2のオブジェクトが前記第1のオブジェクトと所与の位置関係にある場合に、前記移動可能条件を満たすと判定するようにしてもよい。
【0009】
このようにすれば、仮想空間に配置された複数の第2のオブジェクトのうち、第1のオブジェクトと所与の位置関係にある第2のオブジェクトを、第1のオブジェクトに向けて移動させることができる。
【0010】
(3)また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記仮想空間設定部は、第1の基準値が設定された前記第1のオブジェクトを前記仮想空間内に配置し、前記結合部は、前記第1のオブジェクトと前記第2のオブジェクトが結合した場合に、前記第1の基準値を更新し、前記移動判定部は、前記第1の基準値に基づいて、前記移動可能条件を変化させるようにしてもよい。
【0011】
このようにすれば、ゲームの進行状況に応じて、第1のオブジェクトに向かって移動させる第2のオブジェクトを選択するための移動可能条件を変化させることができる。
【0012】
(4)また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記仮想空間設定部は、第1の基準値が設定された前記第1のオブジェクトを前記仮想空間に配置するとともに、複数の第2の基準値のいずれかが設定された前記第2のオブジェクトを前記仮想空間内に配置し、前記結合部は、前記第1のオブジェクトと前記第2のオブジェクトが結合した場合に、前記第1の基準値を更新し、前記移動判定部は、前記第1の基準値と前記第2の基準値に基づいて、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【0013】
このようにすれば、第1のオブジェクトに設定された第1の基準値と2のオブジェクトに設定された第2の基準値に基づいて、仮想空間に配置された複数の第2のオブジェクトのうち、どの第2のオブジェクトを第1のオブジェクトに向けて移動させるか否かを判定することができる。
【0014】
(5)また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体は、所定のイベント発生条件を満たしたか否かを判定するイベント判定部を有し、前記移動判定部は、前記所定のイベント発生条件が満たされたと判定された場合に、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【0015】
このようにすれば、所定のイベントが発生した場合に、第2のオブジェクトを第1のオブジェクトに向けて移動させることができる。
【0016】
(6)また、本発明にかかるゲームシステム、プログラム、および情報記憶媒体において、前記移動判定部は、前記所定のイベント発生条件が満たされたと判定されてから所定期間、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定するようにしてもよい。
【0017】
このようにすれば、所定のイベントが発生してから所定期間、第2のオブジェクトを第1のオブジェクトに向けて移動させることができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態の機能ブロック図。
【図2】本実施形態のゲーム画面の一例を示す図。
【図3】本実施形態のキャラクタについて説明する図。
【図4】本実施形態の第1のイベント処理について説明する図。
【図5】本実施形態の第2のイベント処理について説明する図。
【図6】本実施形態の処理の流れを示すフローチャート。
【図7】本実施形態の処理の流れを示すフローチャート。
【図8】本実施形態の処理の流れを示すフローチャート。
【図9】本実施形態の第1のイベント処理について説明する図。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について説明する。なお、以下に説明する本発明の実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本発明の実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0020】
1.構成
図1に本実施形態のゲームシステム(画像生成システム)の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0021】
操作部10は、プレーヤがキャラクタ(プレーヤが操作するプレーヤキャラクタなど)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、加速度センサ、或いは筺体などにより実現できる。
【0022】
記憶部20は、処理部100や通信部70などのワーク領域となるもので、その機能はRAM、VRAMなどにより実現できる。記憶部20は、オブジェクトデータ記憶部21、フレームバッファ22、デプスバッファ23、テクスチャ記憶部24を含む。
【0023】
オブジェクトデータ記憶部21には、プレーヤキャラクタ(第1のオブジェクトの一例)、車、建物、樹木、柱、壁等のキャラクタに結合可能なオブジェクト(第2のオブジェクトの一例)、マップ(背景オブジェクトの一例)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)や、光が進行する方向や強さや色を示す光源等のオブジェクトデータが記憶される。本実施形態では、第1のオブジェクト、第2のオブジェクトには大きさ(基準値の一例)が設定されている。
【0024】
フレームバッファ22には、仮想空間を仮想カメラから見た画像が描画される。フレームバッファに描画された画像は表示部50に表示される。
【0025】
デプスバッファ23には、フレームバッファの各ピクセルに対応させて、仮想カメラからオブジェクトまでの距離を表すデプス値(Z値)がピクセル毎に記憶される。
【0026】
テクスチャ記憶部24には、テクスチャデータが記憶される。テクスチャデータは、色(RGB)、α値などのオブジェクトの表面に与えられるプロパティデータである。
【0027】
情報記憶媒体30(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体30に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体30には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0028】
携帯型情報記憶装置40は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、メモリカードや携帯型ゲーム装置などにより実現できる。
【0029】
表示部50は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0030】
音出力部60は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0031】
通信部70は外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0032】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部70を介して情報記憶媒体30(あるいは記憶部20)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0033】
処理部100(プロセッサ、ゲーム処理部)は、操作部10からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理(描画処理)、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、ゲームの進行状況が所定の条件(例えばステージ等の所定のゲーム単位がクリアされたこと)を満たしたか否かを判定する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は、記憶部20をワーク領域として各種処理を行う。処理部100の機能は、各種プロセッサ(CPU(メインプロセッサ)、GPU(描画プロセッサ)、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0034】
そして処理部100は、仮想空間設定部110、第1の移動処理部111、第2の移動処理部112、移動判定部113、接触判定部114、結合判定部116、結合部118、イベント判定部120、仮想カメラ制御部124、描画部126、音生成部128を含む。なおこれらの一部を省略する構成としてもよい。
【0035】
仮想空間設定部110は、オブジェクトデータ記憶部21に記憶されているオブジェクトデータに基づいて、第1のオブジェクト、第2のオブジェクトを含むオブジェクトを仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、決定された位置(X、Y、Z)に決定された回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトや光源を配置する。
【0036】
第1の移動処理部111は、オブジェクト(第1のオブジェクト、第2のオブジェクト等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部10によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0037】
第2の移動処理部112は、後述する移動判定部113によって所定の移動可能条件を満たすと判定された第2のオブジェクトを、操作入力によらずに自動的に第1のオブジェクトに向けて移動させる。
【0038】
移動判定部113は、第2のオブジェクトが所定の移動可能条件を満たすか否かを判定する。移動可能条件は、例えば、第2のオブジェクトの大きさが第1のオブジェクトの大きさより小さいこと、あるいは第2のオブジェクトが第1のオブジェクトの配置位置から所定範囲内に配置されていること等とすることができる。
【0039】
接触判定部114は、仮想空間に配置された各種オブジェクトの位置、回転角度、形状、大きさに基づいて、オブジェクト同士が接触したか否かの判定(ヒットチェック、コリジョン判定)を行う。オブジェクトの接触判定は、オブジェクトの表示モデルを近似したバウンディングボリュームを用いて行われる。
【0040】
結合判定部116は、第1のオブジェクトと第2のオブジェクトが接触したと判定された場合に、第1のオブジェクトと第2のオブジェクトの大きさに基づいて、両者が結合可能条件を満たすか否かを判定する。例えば、第1のオブジェクトに設定された大きさが第2のオブジェクトに設定された大きさよりも大きい場合に結合可能条件を満たすと判定する。また、結合判定部116は、第1のオブジェクトが第2のオブジェクトに対して所定以上の大きさの場合に結合可能条件を満たすと判定してもよい。例えば、第1のオブジェクトに設定された大きさが第2のオブジェクトに設定された大きさの3倍以上である場合に、結合可能条件を満たすと判定してもよい。
【0041】
結合部118は、結合判定部116により結合可能条件を満たすと判定された場合に、接触した第1のオブジェクトと第2のオブジェクトを結合させる。または、結合部118は、第2の移動処理部112によって移動させられた第2のオブジェクトが第1のオブジェクトと接触した場合は、結合判定部116による判定無しで、接触した第1のオブジェクトと第2の移動処理部112によって移動させられた第2のオブジェクトを結合させてもよい。移動可能条件を満たす第2のオブジェクトが全て結合可能条件を満たすように、移動可能条件と結合可能条件が設定されている場合は、移動可能条件を満たした第2のオブジェクトが結合可能条件を満たすか否かを改めて判定する必要はないからである。結合処理として、具体的には、結合部118は、記憶部20に記憶された結合リストに、結合した第2のオブジェクトを追加する。この結合リストは、結合した順番に第2のオブジェクトが登録されるスタック型のデータである。結合部118は、接触点、または接触点の近傍の点で第1のオブジェクトと第2のオブジェクトを結合し、結合された第1のオブジェクトと第2のオブジェクトを一体化して新たな第1のオブジェクトとする。新たな第1のオブジェクトの大きさは、元の第1のオブジェクトと結合された第2のオブジェクトの大きさを合わせたものとなる。また、結合部118は、結合された第2のオブジェクトの大きさに基づいて、第1のオブジェクトに設定された接触判定用のバウンディングボリュームを更新する。
【0042】
イベント判定部120は、移動判定部113が判定を開始するためのイベント発生条件が満たされたか否かを判定する。イベント判定部120により、イベント発生条件が満たされたと判定された場合、移動判定部113は、第2のオブジェクトが移動可能条件を満たすか否かの判定を行う。移動判定部113は、イベント発生条件が満たされたと判定されてから所定期間、第2のオブジェクトが移動可能条件を満たすか否かの判定を行うようにしてもよい。
【0043】
仮想カメラ制御部124は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0044】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、第1の移動処理部111で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0045】
描画部126は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部50に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)がオブジェクトデータ記憶部21から入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセル(画素)とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット(ピクセル単位で画像情報を記憶できるバッファ。フレームバッファ22等)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色(色値、輝度値)、法線、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0046】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0047】
そして描画部126は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0048】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部21に保存される。
【0049】
光源計算としては、光源に設定される各種パラメータ(光源の強さ、色、位置、光源ベクトルなど)、オブジェクト(プリミティブ)や頂点に設定される各種パラメータ(反射属性、法線などのベクトルなど)、仮想カメラに設定される各種パラメータ(視線ベクトル、視点の位置など)に基づいて光の反射をシミュレートし、頂点毎に基本色(ディフューズ)と鏡面反射成分(スペキュラ)とを求める。
【0050】
テクスチャマッピングは、テクスチャ記憶部24に記憶されるテクスチャ(テクセル値、UV座標値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部24からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
【0051】
隠面消去処理としては、描画ピクセルの奥行き値(Z値)が格納されるデプスバッファ23(奥行きバッファ)を用いた奥行き比較法(デプステスト、Zテスト)による隠面消去処理を行う。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、デプスバッファ23に格納される奥行き値をピクセルごとに参照する。そして参照されたデプスバッファ23の奥行き値と、プリミティブの描画ピクセルでの奥行き値とを比較し、描画ピクセルでの奥行き値が、仮想カメラから見て手前側となる奥行き値(例えば小さな奥行き値)である場合には、その描画ピクセルの描画処理を行うとともにデプスバッファ23の奥行き値を新たな奥行き値に更新する。
【0052】
αブレンディングとしては、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。
【0053】
=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
【0054】
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。なお単純加算の場合はα=1として下式(4)〜(6)の処理を行う。
【0055】
=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
【0056】
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。なお単純減算の場合はα=1として下式(7)〜(9)の処理を行う。
【0057】
=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
【0058】
ここで、R、G、Bは、フレームバッファ22に既に描画されている画像(原画像)のRGB成分(色値)であり、R、G、Bは、フレームバッファ22に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0059】
音生成部128は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部60に出力する。
【0060】
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0061】
2.ゲーム概要
図2、図3を用いて本実施形態のゲームの概要を説明する。
【0062】
図2は、本実施形態のゲーム画面の一例を示す図である。プレーヤは操作入力により球体のキャラクタ130(第1のオブジェクト)を仮想空間内で移動(回転しながら移動、転動)させることができる。仮想空間には、コイン132、飴玉134、缶136、パイプ138、人140、ビル142等の大きさの異なる複数種類のオブジェクト(第2のオブジェクト)が配置されている。また、仮想空間には、背景オブジェクトとして雲144、山146、太陽148、空150、地面152が配置されている。また、仮想空間には、第2の移動処理開始のきっかけとなるイベント発生用アイテムとして、第1のアイテム154、第2のアイテム156が配置されている。
【0063】
プレーヤがキャラクタ130を移動させ、キャラクタ130と第2のオブジェクトが接触した際に、キャラクタ130の大きさ(半径)が接触した第2のオブジェクトの大きさより大きい場合、キャラクタ130と接触した第2のオブジェクトが結合される。そして、結合したキャラクタ130と第2のオブジェクトが新たなキャラクタ130となる。新たなキャラクタ130の大きさは、元のキャラクタ130と比べて、結合した第2のオブジェクトの分大きくなる。また、新たなキャラクタ130の接触判定用のバウンディングボリュームも、結合した第2のオブジェクトの分大きくなる。本実施形態のゲームの目的は、第2のオブジェクトをキャラクタ130に結合させて、キャラクタ130を雪だるま式に大きくしていくことである。
【0064】
図3は、キャラクタ130が雪だるま式に大きくなる様子を説明する図である。ゲーム開始直後は、キャラクタ130は、図3(A)に示す大きさである。この大きさのキャラクタ130には、キャラクタ130の半径よりも小さいコイン132、飴玉134は結合させることができるが、キャラクタ130の半径よりも大きい缶136、パイプ138、人140、ビル142は結合することができない。プレーヤは、結合可能な第2のオブジェクトを結合させて、キャラクタ130を大きくしていく。図3(B)は、図3(A)に示す状態から結合によって拡大したキャラクタ130を示している。尚、キャラクタ130に結合した第2のオブジェクトの大きさの合計が一定以上になると、キャラクタ130の中心の球体(表示モデル)が拡大するため、球体の内側に結合されている第2のオブジェクトは見えなくなる。この時点で、結合リストから球体の内側の第2のオブジェクトは削除される。そして、キャラクタ130の中心の球体が拡大する際には、所定の演出処理(画面全体にブラーがかかる、所定の音楽が流れる等)が行われる。図3(B)に示す大きさのキャラクタ130には、さらに缶136、パイプ138を結合させることができるようになる。さらに、キャラクタ130に第2のオブジェクトを結合させると、キャラクタ130は図3(C)に示す大きさに拡大する。この大きさのキャラクタ130には、さらに人140を結合することができる。このように、本実施形態のゲームでは、多くの第2のオブジェクトを結合させてキャラクタ130の大きさを拡大させるほど、多くの種類の第2のオブジェクトを結合させることができるようになる。
【0065】
3.本実施形態に特有の手法
本実施形態のゲームでは、所定のイベント発生条件が満たされた場合に、第2のオブジェクトをキャラクタ130に向けて移動させることにより、キャラクタ130と第2のオブジェクトの結合の過程に変化を持たせている。
【0066】
具体的には、キャラクタ130と仮想空間に配置されたイベント発生用アイテムが結合すると、所定の移動可能条件を満たす第2のオブジェクトがキャラクタ130に向けて移動を開始する。図2に示す第1のアイテム154と第2のアイテム156がイベント発生用アイテムである。イベント発生用アイテムは、他のオブジェクト(第2のオブジェクトや背景オブジェクト)と区別可能な態様(色、形状等)としてもよい。
【0067】
第1のアイテム154と第2のアイテム156にはそれぞれ、移動可能条件、移動判定時間、移動態様が設定されている。移動可能条件は、移動させる第2のオブジェクトを選択するための条件である。移動判定時間は、移動させる第2のオブジェクトが選択が行われる時間である。移動態様は、選択された第2のオブジェクトがキャラクタ130に向けて移動する態様であり、例えば移動速度、移動目標点等である。尚、第1のアイテム154及び第2のアイテム156には、第2のオブジェクトと異なり結合判定用の大きさは設定されていない。従って、キャラクタ130と第1のアイテム154又は第2のアイテム156が接触すると、キャラクタ130の大きさに関わらず、接触したキャラクタ130と第1のアイテム154又は第2のアイテム156は結合する。
【0068】
3−1.第1のイベント処理
図4及び図9は本実施形態の第1のイベント処理について説明するための図である。具体的には、図4は、キャラクタ130が第1のアイテム154と結合した場合に、キャラクタ130に向けて移動させる第2のオブジェクトが選択され、選択された第2のオブジェクトがキャラクタ130に向けて移動する様子を示している。
【0069】
図4(A)は、キャラクタ130と第1のアイテム154が接触した時点を示している。また、図9は、図4(A)の時点での仮想空間を真上から見た図である。上記の通り、キャラクタ130と接触した第1のアイテム154は、結合判定無しでキャラクタ130と結合する。すると、イベント発生条件が満たされたと判定され、移動させる第2のオブジェクトを選択する移動判定処理が開始される。
【0070】
具体的には、第1のアイテム154に設定された移動可能条件に基づいて、移動させる第2のオブジェクトが選択される。ここで、第1のアイテム154には、移動可能条件として、「中心がキャラクタ130が地面と接する点であり直径がキャラクタ130の直径の3倍である円の内側に配置され、かつ大きさがキャラクタ130の半径以下であること」が設定されている。
【0071】
図4(A)のL1、及び図9に点線で示すL1を直径とする円は、中心がキャラクタ130が地面と接する点であり直径がキャラクタ130の直径の3倍である円の内側の領域を示している。このL1の内側に配置され、かつ大きさがキャラクタ130の半径より小さいコイン132a及び飴玉134aが、移動させる第2のオブジェクトとして選択される。コイン132b及び飴玉134bは、キャラクタ130の半径より小さいが、L1の外側に配置されているため選択されない。また、缶136aはL1の内側に配置されているが、キャラクタ130の半径より大きいので選択されない。
【0072】
図4(B)は、図4(A)の時点から微小時間経過後の時点を示している。図4(B)に示すように、移動させる第2のオブジェクトとして選択されたコイン132a及び飴玉134aが地面から浮き上がり、キャラクタ130の中心に向けて吸い寄せられるように移動している。このように、本実施形態では、地面に接地して配置された第2のオブジェクトが移動させる対象として選択されると、移動目標点であるキャラクタ130の中心に向けて直線的に移動を開始する。ここで、コイン132aは缶136aをすり抜けてキャラクタ130に向けて移動している。すなわち、本実施形態では第2のオブジェクト及び背景オブジェクトには接触判定用のバウンディングボリュームが設定されており、通常はオブジェクトが他のオブジェクトをすり抜けることは無いが、移動させる対象として選択された第2のオブジェクトに限って、移動目標点に直線的に移動することが優先され、他の第2のオブジェクト及び背景オブジェクトとの衝突判定が行われなくなる。
【0073】
また、図4(B)に示す時点では、既に移動判定処理は終了しており、新たな第2のオブジェクトが移動対象として選択されることはない。これは、第1のアイテムに移動判定時間として非常に短い時間(例えば1フレーム)が設定されているためである。これにより、第1のイベント処理では、キャラクタ130と第1のアイテムが結合した瞬間にのみ移動判定処理が行われることになる。尚、移動判定処理は終了していても、既に移動させる第2のオブジェクトとして選択されたコイン132a及び飴玉134aは、キャラクタ130に向けて移動を続ける。
【0074】
図4(C)は、図4(B)の時点からさらに微小時間経過後の時点を示している。図4(C)に示す時点では、コイン132a及び飴玉134aがキャラクタ130の位置まで移動してキャラクタ130と接触し、キャラクタ130と結合している。尚、本実施形態のように、移動可能条件を満たす第2のオブジェクトはすべて結合可能条件を満たすものとなるような場合、コイン132a及び飴玉134aの結合に際しては、キャラクタ130の大きさに基づいて結合可能条件を満たすか否かの判定は行われなくてもよい。
【0075】
図4(D)は、図4(C)の時点からさらに微小時間経過後の時点を示している。図4(D)に示す時点では、キャラクタ130とコイン132a及び飴玉134aが結合した結果、キャラクタ130が一回り大きくなっている。本実施形態では、複数の第2のオブジェクトがキャラクタ130に向けて移動し、連続して結合させられるため、結合した第2のオブジェクトの大きさの合計が短時間で一定以上になり、キャラクタ130の中心の球体の拡大が起こりやすくなる。このように、第1のイベント処理において多数の第2のオブジェクトが短時間で結合されてキャラクタ130が急激に大きくなった場合は、キャラクタ130が大きくなる際の演出処理は省略されてもよい。このようにすれば、多数の第2のオブジェクトが短時間で結合されることによる結合処理の負荷が増大しても、演出処理の負荷を減少させることによって、システム全体としての負荷を抑えることができる。
【0076】
3−2.第2のイベント処理
図5は本実施形態の第2のイベント処理について説明するための図である。具体的には、図5は、キャラクタ130が第2のアイテム156と結合した場合に、キャラクタ130に向けて移動させる第2のオブジェクトが選択され、選択された第2のオブジェクトがキャラクタ130に向けて移動する様子を示している。
【0077】
図5(A)は、キャラクタ130と第2のアイテム156が接触した時点を示している。キャラクタ130と接触した第2のアイテム156は、上記の第1のアイテムと同様に、結合判定無しでキャラクタ130と結合する。すると、イベント発生条件が満たされたと判定され、移動させる第2のオブジェクトを選択する移動判定処理が開始される。
【0078】
具体的には、第2のアイテム156に設定された移動可能条件に基づいて、移動させる第2のオブジェクトが選択される。ここで、第2のアイテム156には、移動可能条件として、「中心がキャラクタ130が地面と接する点であり直径がキャラクタ130の直径の2.5倍である円の内側に配置され、かつ大きさがキャラクタ130の半径以下であること」が設定されている。
【0079】
図5(A)のL2は、中心がキャラクタ130が地面と接する点であり直径がキャラクタ130の直径の2.5倍である円の内側の領域を示している。このL2の内側に配置され、かつ大きさがキャラクタ130の半径より小さいコイン132c及び飴玉134dが、移動させる第2のオブジェクトとして選択される。飴玉134cは、キャラクタ130の半径より小さいが、L2の外側に配置されているため選択されない。また、缶136cはL2の内側に配置されているが、キャラクタ130の半径より大きいので選択されない。また、缶136bは、L2の外側に配置されかつキャラクタ130の半径より大きいので選択されない。
【0080】
図5(B)は、図5(A)の時点から微小時間経過後の時点を示している。図5(B)に示すように、移動させる第2のオブジェクトとして選択されたコイン132c及び飴玉134dが地面から浮き上がり、キャラクタ130の中心に向けて吸い寄せられるように移動している。ここで、コイン132cは缶136cをすり抜けてキャラクタ130に向けて移動している。
【0081】
図5(B)に示す時点では、図4(B)に示す場合と異なり、まだ移動判定処理は終了していない。これは、第2のアイテムに設定された移動判定時間が、第1のアイテムに設定された移動判定時間より長いためである。これにより、第2のイベント処理では、第1のイベント処理よりも長い期間、移動判定処理が行われる。
【0082】
図5(C)は、図5(B)の時点からさらに微小時間経過後の時点を示している。図5(C)に示す時点では、コイン132c及び飴玉134dがキャラクタ130の位置まで移動してキャラクタ130と接触し、キャラクタ130と結合している。尚、第1のイベント処理の場合と同様に、コイン132c及び飴玉134dの結合に際しては、結合可能条件を満たすか否かの判定は行われなくてもよい。
【0083】
図5(D)は、図5(C)の時点からさらに微小時間経過後の時点を示している。図5(D)に示す時点では、キャラクタ130とコイン132c及び飴玉134dが結合した結果、キャラクタ130が一回り大きくなっている。上記の通り、本実施形態では、複数の第2のオブジェクトがキャラクタ130に向けて移動し、連続して結合させられるため、結合した第2のオブジェクトの大きさの合計が短時間で一定以上になり、キャラクタ130の中心の球体の拡大が起こりやすくなる。ここで、キャラクタ130が移動及び拡大したことにより、キャラクタ130の中心位置と半径が変化するため、移動可能条件を満たす第2のオブジェクトが変化する。すなわち、第2のアイテムに設定された移動可能条件は、「中心がキャラクタ130が地面と接する点であり直径がキャラクタ130の直径の2.5倍である円の内側に配置され、かつ大きさがキャラクタ130の半径以下であること」であるため、キャラクタ130の位置や大きさが変化することによってこの移動可能条件を満たす第2のオブジェクトが変化することになる。L3は、移動したキャラクタ130が地面と接する点を中心とし、拡大したキャラクタ130の直径の2.5倍を直径とする円の内側の領域を示している。このL3の内側に、飴玉134c、缶136b、缶136cが配置されている。そして、飴玉134c、缶136b、缶136cはいずれも拡大したキャラクタ130の半径より小さいので、移動させる第2のオブジェクトとして選択される。このように、第2のイベント処理では、キャラクタ130が移動又は拡大する前後を通じて移動判定処理が継続するため、移動判定処理の開始時点で移動可能条件を満たさなかった第2のオブジェクトが、移動判定処理の継続中に移動可能条件を満たすようになることがある。図5に示す例では、図5(A)の時点ではキャラクタ130から所定距離以上離れた位置に配置されていたため移動可能条件を満たさなかった飴玉134cや缶136b、または大きさが大きかったため移動可能条件を満たさなかった缶136cが、図5(D)の時点では移動可能条件を満たすようになっている。
【0084】
図5(E)は、図5(D)の時点からさらに微小時間経過後の時点を示している。図5(E)に示す時点では、移動させる第2のオブジェクトとして選択された飴玉134c、缶136b、缶136cが地面から浮き上がり、キャラクタ130の中心に向けて吸い寄せられるように移動している。第2のイベント処理では、図5(E)の時点で移動判定処理が終了するが、既に移動させる第2のオブジェクトとして選択された飴玉134c、缶136b、缶136cは、移動判定処理の終了後もキャラクタ130に向けて移動を続ける。
【0085】
図5(F)は、図5(E)の時点からさらに微小時間経過後の時点を示している。図5(F)に示す時点では、移動した飴玉134c、缶136b、缶136cがキャラクタ130に結合し、キャラクタ130がさらに一回り大きくなっている。
【0086】
4.フローチャート
図6〜図8は、本実施形態の処理の流れを示すフローチャートである。
【0087】
図6は、本実施形態の結合処理の流れを示すフローチャートである。ゲームシステムはまず、操作入力に基づいて仮想空間内でキャラクタ130を移動させる(ステップS10)。そして、ゲームシステムは、キャラクタ130と第2のオブジェクトが接触したか否かを判定する(ステップS12)。キャラクタ130と第2のオブジェクトが接触したと判定された場合(ステップ12:Y)、ゲームシステムは次に、キャラクタ130の大きさが接触した第2のオブジェクトより大きいか否かを判定する(ステップS14)。キャラクタ130の大きさが接触した第2のオブジェクトより大きいと判定された場合(ステップS14:Y)、ゲームシステムは、接触した第2のオブジェクトを結合リストに追加する(ステップS16)。そして、ゲームシステムは、結合リストに追加された第2のオブジェクトの大きさに基づいて、キャラクタ130の大きさを更新する(ステップS18)。さらに、ゲームシステムは、結合リストに追加された第2のオブジェクトの大きさに基づいて、キャラクタ130に設定された接触判定用のバウンディングボリュームを更新する。(ステップS20)。
【0088】
図7は、本実施形態の第1のイベント処理の流れを示すフローチャートである。ゲームシステムはまず、キャラクタ130が第1のアイテムと接触したか否かを判定する(S30)。キャラクタ130が第1のアイテムと接触した場合(ステップS30:Y)、ゲームシステムは次に、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に第2のオブジェクトが存在するか否かを判定する(ステップS32)。そして、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に第2のオブジェクトが存在する場合(ステップS32:Y)は、当該キャラクタ130の大きさに応じた範囲内の第2のオブジェクトを抽出する(ステップS34)。その後、ゲームシステムは、抽出した第2のオブジェクトの中に、大きさがキャラクタ130の半径より小さいものが存在するか否かを判定する(ステップS36)。そして、抽出した第2のオブジェクトの中に、大きさがキャラクタ130の半径より小さいものが存在する場合(ステップS36:Y)は、ゲームシステムは、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に配置され、かつキャラクタ130の半径より小さい第2のオブジェクトを、キャラクタ130に向けて移動させる(ステップS38)。
【0089】
図8は、本実施形態の第2のイベント処理の流れを示すフローチャートである。ゲームシステムはまず、キャラクタ130が第2のアイテムと接触したか否かを判定する(S40)。キャラクタ130が第2のアイテムと接触した場合(ステップS40:Y)ゲームシステムは第2のアイテムに設定された移動判定時間に基づいてカウント値を更新する(ステップS42)。次に、ゲームシステムは、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に第2のオブジェクトが存在するか否かを判定する(ステップS44)。そして、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に第2のオブジェクトが存在する場合(ステップS44:Y)は、当該キャラクタ130の大きさに応じた範囲内の第2のオブジェクトを抽出する(ステップS46)。その後、ゲームシステムは、抽出した第2のオブジェクトの中に、大きさがキャラクタ130の半径より小さいものが存在するか否かを判定する(ステップS48)。そして、抽出した第2のオブジェクトの中に、大きさがキャラクタ130の半径より小さいものが存在する場合(ステップS48:Y)は、ゲームシステムは、キャラクタ130の位置からキャラクタ130の大きさに応じた範囲内に配置され、かつキャラクタ130の半径より小さい第2のオブジェクトを、キャラクタ130に向けて移動させる対象として選択する(ステップS50)。その後、ゲームシステムはカウント値を参照し、第2のイベントの継続時間が終了したか否かを参照する(ステップS52)。継続時間が終了している場合(ステップS52:Y)は、ゲームシステムは第2のイベント処理を終了する。継続時間が終了していない場合(ステップS52:N)は、ゲームシステムはステップS42に戻り、カウント値を更新した後、ステップS44〜ステップS52を繰り返す。
【0090】
5.変形例
尚、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0091】
5−1.イベント発生条件
上記実施形態では、イベント発生用アイテムの結合の際には結合判定処理を行わない例を説明したが、イベント発生用アイテムの結合の際にも第2のオブジェクトの結合の際と同様の結合判定処理を行うようにしてもよい。この場合、イベント発生用アイテムにも第2のオブジェクトと同様に結合判定用の基準値が設定される。
【0092】
また、上記実施形態では、キャラクタ130とイベント発生用アイテムが結合した場合に、イベント発生条件が満たされたと判定する例を説明したが、イベント発生条件はアイテムの結合に限らない。例えば、ゲームのプレイ時間が一定時間に達したとき、キャラクタ130の大きさが一定値に達したとき、結合した第2のオブジェクトの数が一定値に達したとき、あるいは特定のステージをプレイするとき等にイベント発生条件が満たされたと判定してもよい。また、イベント発生条件が満たされたか否かを判定せず、ゲーム中常に第2のオブジェクトがキャラクタ130に向けて移動するようにしてもよい。
【0093】
5−2.移動可能条件
上記実施形態では、キャラクタ130が地面と接する点を中心とする円形領域の内側に配置されていることを第2のオブジェクトの移動可能条件とする場合について説明したが、移動可能条件はこれに限られない。例えば、領域の形状は円に限られず、球、半球、円柱、仮想カメラの視界範囲等としてもよい。
【0094】
また、上記実施形態の移動可能条件に代えて、またはこれに加えて、第2のオブジェクトに設定された重さを移動可能条件としてもよい。このようにすれば、例えば一定以上の第2のオブジェクトを移動させないようにして、第2のオブジェクトの重さを表現することができる。
【0095】
5−3.移動期間
上記実施形態では、移動判定時間が経過して移動判定処理が終了した場合でも、既に移動させる対象として選択された第2のオブジェクトは移動を続ける例を説明したが、移動判定時間が経過したときに移動判定処理とともに選択された第2のオブジェクトの移動も停止するようにしてもよい。この場合、所定時間が経過した際に、空中を移動中の第2のオブジェクトは移動が停止してその場に落ちるようにしてもよい。
【0096】
5−4.移動態様
上記実施形態では、キャラクタ130の中心に向けて第2のオブジェクトを移動させる例を説明したが、第2のオブジェクトが向かう目標はキャラクタ130の中心に限られない。例えば、キャラクタ130と地面の接点を目標としてもよい。このようにすれば、第2のオブジェクトが地面を滑ってキャラクタ130に向かってくる様子を表現することができる。また、キャラクタ130の重心や、表面上の所定の点を目標としてもよい。
【0097】
また、イベント発生用アイテムの種類に応じて、第2のオブジェクトの移動態様を変化させてもよい。例えば、短い移動判定時間が設定されたイベント発生用アイテムほど、移動態様として速い速度が設定されていてもよい。
【0098】
また、移動させる第2のオブジェクトの大きさや重さに応じて、移動速度を変化させてもよい。
【0099】
5−5.結合処理
上記実施形態では、移動させた第2のオブジェクトがキャラクタ130と結合する際は、結合判定処理を行わない例について説明したが、移動させた第2のオブジェクトについても通常の第2のオブジェクトと同様に結合判定処理を行ってもよい。
【0100】
また、移動させた第2のオブジェクトがキャラクタ130の特定の位置に集中して結合してしまうのを防ぐために、分散処理を行ってもよい。例えば、密集して配置された複数の第2のオブジェクトが移動させる対象として選択された場合、移動を開始する前に当該第2のオブジェクトの配置位置を変更して密集状態を解消してから、キャラクタ130に向けて移動させてもよい。また、キャラクタ130の同じ位置に連続して第2のオブジェクトが接触した場合に、後に接触した第2のオブジェクトの結合位置を接触位置からずらす処理を行ってもよい。例えば、接触点の近傍で第2のオブジェクトが結合していない部分に接触した第2のオブジェクトを移動させて結合させてもよい。また、第2のオブジェクトが向かう目標をランダムまたは所定の規則で変更するようにしてもよい。また、イベント発生条件が満たされた場合に、キャラクタ130を強制的に回転させるようにして、キャラクタ130と第2のオブジェクトの結合位置を分散させるようにしてもよい。キャラクタ130は回転させて移動させるオブジェクトであり、操作入力のあった方向に転動していくため、第2のオブジェクトが移動目標点である中心に移動していくときキャラクタ130が回転していれば、結合位置は自然に分散することになるが、イベント発生時に、操作入力が途切れた場合または無効になった場合でも、イベント発生前の操作入力に基づいてキャラクタ130を惰性で回転させて、結合位置を分散させてもよい。
【0101】
5−6.キャラクタ130の移動態様
上記実施形態では、キャラクタ130が回転しながら地面上を移動する例について説明したが、キャラクタ130の移動態様はこれに限られない。例えば、キャラクタ130が操作入力に応じてジャンプ(地面から離れて空中を移動)するようにしてもよい。この場合、操作部10として加速度センサが用いられ、加速度センサの検出結果に応じてキャラクタ130をジャンプさせるようにしてもよい。また、キャラクタ130が回転しながらジャンプするようにしてもよい。この場合、加速度センサの検出結果に応じて回転方向、速度を決定するようにしてもよい。さらに、イベント発生中にキャラクタ130がジャンプした場合、移動可能条件を変化させるようにしてもよい。例えば、移動可能条件として所定の平面領域(例えば円)内に第2のオブジェクトが配置されていることが設定されている場合、キャラクタ130のジャンプ中は所定の立体領域(例えば球)内に第2のオブジェクトが配置されていることを移動可能条件とするようにしてもよい。
【符号の説明】
【0102】
10 操作部、20 記憶部、21 オブジェクトデータ記憶部、22 フレームバッファ、23 デプスバッファ、24 テクスチャ記憶部、30 情報記憶媒体、40 携帯型情報記憶装置、50 表示部、60 音出力部、70通信部、100 処理部、110 仮想空間設定部、111 第1の移動処理部、112 第2の移動処理部、113 移動判定部、114 接触判定部、116 結合判定部、118 結合部、120 イベント判定部、124 仮想カメラ制御部、126 描画部、128 音生成部、130 キャラクタ、132 コイン、134 飴玉、136 缶、138 パイプ、140 人、142 ビル、144 雲、146 山、148 太陽、150 空、152 地面、153 大きさ情報、154 第1のアイテム、156 第2のアイテム

【特許請求の範囲】
【請求項1】
コンピュータに、仮想空間内を移動する第1のオブジェクトに前記仮想空間内に配置された第2のオブジェクトを結合させるゲームを実行させ、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画させるためのプログラムであって、
前記第1のオブジェクト及び複数の前記第2のオブジェクトが配置された仮想空間を設定する仮想空間設定部、
前記仮想空間内で前記第1のオブジェクトを移動させる第1の移動処理部、
前記第2のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、
前記移動判定部により前記移動可能条件を満たすと判定された前記第2のオブジェクトを、前記第1のオブジェクトに向けて移動させる第2の移動処理部、
前記第1のオブジェクトと前記第2のオブジェクトが接触したか否かを判定する接触判定部、
前記接触判定部により接触したと判定された場合に、接触した前記第1のオブジェクトと前記第2のオブジェクトとを結合させる結合部、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項2】
前記移動判定部は、前記第2のオブジェクトが前記第1のオブジェクトと所与の位置関係にある場合に、前記移動可能条件を満たすと判定することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記仮想空間設定部は、第1の基準値が設定された前記第1のオブジェクトを前記仮想空間内に配置し、
前記結合部は、前記第1のオブジェクトと前記第2のオブジェクトが結合した場合に、前記第1の基準値を更新し、
前記移動判定部は、前記第1の基準値に基づいて、前記移動可能条件を変化させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記仮想空間設定部は、第1の基準値が設定された前記第1のオブジェクトを前記仮想空間に配置するとともに、複数の第2の基準値のいずれかが設定された前記第2のオブジェクトを前記仮想空間内に配置し、
前記結合部は、前記第1のオブジェクトと前記第2のオブジェクトが結合した場合に、前記第1の基準値を更新し、
前記移動判定部は、前記第1の基準値と前記第2の基準値に基づいて、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項1〜3に記載のプログラム。
【請求項5】
コンピュータを、所定のイベント発生条件を満たしたか否かを判定するイベント判定部として機能させ、
前記移動判定部は、前記所定のイベント発生条件が満たされたと判定された場合に、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項1〜4に記載のプログラム。
【請求項6】
前記移動判定部は、前記所定のイベント発生条件が満たされたと判定されてから所定期間、前記第2のオブジェクトが前記移動可能条件を満たすか否かを判定することを特徴とする請求項5に記載のプログラム。
【請求項7】
請求項1〜6のいずれかに記載されたプログラムを記憶することを特徴とするコンピュータにより読み取り可能な情報記憶媒体。
【請求項8】
仮想空間内を移動する第1のオブジェクトに前記仮想空間内に配置された第2のオブジェクトを結合させるゲームを実行し、前記仮想空間内に配置された仮想カメラから前記仮想空間を見た画像を描画するゲームシステムであって、
前記第1のオブジェクト及び複数の前記第2のオブジェクトが配置された仮想空間を設定する仮想空間設定部、
前記仮想空間内で前記第1のオブジェクトを移動させる第1の移動処理部、
前記第2のオブジェクトが所定の移動可能条件を満たすか否かを判定する移動判定部、
前記移動判定部により前記移動可能条件を満たすと判定された前記第2のオブジェクトを、前記第1のオブジェクトに向けて移動させる第2の移動処理部、
前記第1のオブジェクトと前記第2のオブジェクトが接触したか否かを判定する接触判定部、
前記接触判定部により接触したと判定された場合に、接触した前記第1のオブジェクトと前記第2のオブジェクトとを結合させる結合部、
を有することを特徴とするゲームシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate