(57)【要約】【課題】キャラクタとオブジェクトとの接触を判定する際の処理負荷を低減することができるゲームプログラム及びゲームシステムを提供する。【解決手段】ゲームプログラムは、コンピュータに実行させるゲームプログラムであって、コンピュータを、仮想空間を生成する仮想空間生成手段、仮想空間内におけるキャラクタの移動を制御するキャラクタ制御手段、複数のオブジェクトの位置情報と、キャラクタの位置情報とに基づき、複数のオブジェクトの夫々とキャラクタとの間の距離を算出する距離算出手段、距離算出手段により算出された距離に基づき、複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する特定手段、及び、対象オブジェクトが特定された場合に、当該対象オブジェクトとキャラクタとの接触を示すリアクションを実行するリアクション実行手段、として機能させる。【選択図】図５
2018201786.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間に固定的に配置された複数のオブジェクトの位置情報を記憶する記憶部とコンピュータとを備えるゲームシステムにおいて、前記コンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記仮想空間を生成する仮想空間生成手段、
前記仮想空間内におけるキャラクタの移動を制御するキャラクタ制御手段、
前記複数のオブジェクトの位置情報と、前記キャラクタの位置情報とに基づき、前記複数のオブジェクトの夫々と前記キャラクタとの間の距離を算出する距離算出手段、
前記距離算出手段により算出された距離に基づき、前記複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する特定手段、及び、
前記対象オブジェクトが特定された場合に、当該対象オブジェクトと前記キャラクタとの接触を示すリアクションを実行するリアクション実行手段、
として機能させる、ゲームプログラム。
【請求項２】
前記オブジェクトは、植物オブジェクトである、請求項１に記載のゲームプログラム。
【請求項３】
前記特定手段は、前記複数のオブジェクトのうち前記キャラクタに最も近いオブジェクトを抽出し、抽出された前記オブジェクトと前記キャラクタとの距離が所定の設定値以下である場合に、当該オブジェクトを前記対象オブジェクトとして特定する、
請求項１又は２に記載のゲームプログラム。
【請求項４】
前記特定手段は、前記キャラクタから所定の第１範囲に位置する前記オブジェクトを抽出し、抽出された前記オブジェクトのうち、当該オブジェクトに予め設定された所定の第２範囲内に最初に前記キャラクタが進入した１のオブジェクトを、前記対象オブジェクトとして特定する、
請求項１又は２に記載のゲームプログラム。
【請求項５】
前記記憶部には、前記キャラクタが前記複数のオブジェクトの夫々に接触する際に発生する音声が、接触音として前記複数のオブジェクトの夫々に関連付けて記憶されており、
前記ゲームシステムは、前記記憶部に記憶された音声を出力する出力部を備え、
前記リアクション実行手段は、前記対象オブジェクトが特定された場合に、当該対象オブジェクトに関連付けた前記接触音を前記出力部から出力させる、
請求項１〜４のいずれか１項に記載のゲームプログラム。
【請求項６】
前記リアクション実行手段は、前記対象オブジェクトが特定された場合でも、前記仮想空間内において前記キャラクタが移動していないときは、前記接触音を前記出力部から出力させない、
請求項５に記載のゲームプログラム。
【請求項７】
前記リアクション実行手段は、前記対象オブジェクトが特定されている間、前記キャラクタの移動速度が高くなるにつれて、リアクションを実行してから次のリアクションを実行するまでの時間間隔を短くする、
請求項１〜６のいずれか１項に記載のゲームプログラム。
【請求項８】
請求項１〜７のいずれか１項に記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオブジェクトが配置された仮想空間内をキャラクタが移動するゲームを実現するゲームプログラム及びゲームシステムに関する。
【背景技術】
【０００２】
従来、草や木などのオブジェクトが複数配置された仮想空間内をキャラクタが移動するゲームが存在する。この種のゲームでは、移動するキャラクタがオブジェクトと接触する際のリアリティを高めるために、当該接触したオブジェクトとの間で発生する音や接触したオブジェクトのモーションなどが再生される。
【０００３】
キャラクタとオブジェクトとの接触を判定する方法として、特許文献１には、キャラクタとオブジェクトのそれぞれに不可視の衝突判定領域を設定する方法が開示されている。この判定方法では、キャラクタとオブジェクトのそれぞれに設定された衝突判定領域同士が重なった場合に、キャラクタとオブジェクトとが衝突したと判定する。そして、キャラクタに衝突したと判定されたオブジェクトに対応して所定のリアクション（接触音の発生やオブジェクトの動きなど）が実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４７９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のように衝突判定領域同士の重なりを判定する方法では、仮想空間内に配置された多数のオブジェクトの衝突判定領域に対して、キャラクタに設定された衝突判定領域と重なったか判定する必要がある。このため、キャラクタとオブジェクトとの接触の判定に要する処理負荷が大きいという問題が生じていた。
【０００６】
そこで本発明は、キャラクタとオブジェクトとの接触を判定する際の処理負荷を低減することができるゲームプログラム及びゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るゲームプログラムは、仮想空間に固定的に配置された複数のオブジェクトの位置情報を記憶する記憶部とコンピュータとを備えるゲームシステムにおいて、前記コンピュータに実行させるゲームプログラムであって、前記コンピュータを、前記仮想空間を生成する仮想空間生成手段、前記仮想空間内におけるキャラクタの移動を制御するキャラクタ制御手段、前記複数のオブジェクトの位置情報と、前記キャラクタの位置情報とに基づき、前記複数のオブジェクトの夫々と前記キャラクタとの間の距離を算出する距離算出手段、前記距離算出手段により算出された距離に基づき、前記複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する特定手段、及び、前記対象オブジェクトが特定された場合に、当該対象オブジェクトと前記キャラクタとの接触を示すリアクションを実行するリアクション実行手段、として機能させる。
【０００８】
上記のゲームプログラムによれば、複数のオブジェクトの夫々とキャラクタとの間の距離に基づいて、特定手段が複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定し、リアクション実行手段が当該対象オブジェクトとキャラクタとの接触を示すリアクションを実行する。このため、衝突判定領域同士の重なりを判定する方法に比べて、キャラクタとオブジェクトとの接触を判定する際の処理負荷を低減することができる。
【０００９】
上記のゲームプログラムにおいて、前記オブジェクトは、例えば植物オブジェクトである。
【００１０】
上記のゲームプログラムにおいて、前記特定手段は、前記複数のオブジェクトのうち前記キャラクタに最も近いオブジェクトを抽出し、抽出された前記オブジェクトと前記キャラクタとの距離が所定の設定値以下となった場合に、当該オブジェクトを前記対象オブジェクトとして特定してもよい。このゲームプログラムによれば、キャラクタとオブジェクトとの接触を判定する際の処理負荷をより低減することができる。
【００１１】
上記のゲームプログラムにおいて、前記特定手段は、前記キャラクタから所定の第１範囲に位置する前記オブジェクトを抽出し、抽出された前記オブジェクトのうち、当該オブジェクトに予め設定された所定の第２範囲内に最初に前記キャラクタが進入した１のオブジェクトを、前記対象オブジェクトとして特定してもよい。
【００１２】
上記のゲームプログラムにおいて、前記記憶部には、前記キャラクタが前記複数のオブジェクトの夫々に接触する際に発生する音声が、接触音として前記複数のオブジェクトの夫々に関連付けて記憶されており、前記ゲームシステムは、前記記憶部に記憶された音声を出力する出力部を備え、前記リアクション実行手段は、前記対象オブジェクトが特定された場合に、当該対象オブジェクトに関連付けた前記接触音を前記出力部から出力させてもよい。
【００１３】
上記のゲームプログラムにおいて、前記リアクション実行手段は、前記対象オブジェクトが特定された場合でも、前記仮想空間内において前記キャラクタが移動していないときは、前記接触音を前記出力部から出力させなくてもよい。このゲームプログラムによれば、キャラクタが移動していないときは接触音が発生しないため、キャラクタがオブジェクトと接触する際のリアリティをより高めることができる。
【００１４】
上記のゲームプログラムは、前記リアクション実行手段は、前記対象オブジェクトが特定されている間、前記キャラクタの移動速度が高くなるにつれて、リアクションを実行してから次のリアクションを実行するまでの時間間隔を短くしてもよい。このゲームプログラムによれば、キャラクタが速く動いているときは接触音の単位時間当たりの発生数が多くなるため、キャラクタがオブジェクトと接触する際のリアリティをより高めることができる。
【００１５】
また、本発明に係るゲームシステムは、上記のゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備える。
【発明の効果】
【００１６】
本発明によれば、キャラクタとオブジェクトとの接触を判定する際の処理負荷を低減することができるゲームプログラム及びゲームシステムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係るゲームシステムのハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】図２に示す仮想空間生成手段により生成された仮想空間が表示されたゲーム画面の一例を示す。
【図４】図３に示すオブジェクトとそれに関連する情報とを示す図表である。
【図５】オブジェクト特定処理の流れを示すフローチャートである。
【図６】対象オブジェクトが特定されている間のリアクション実行タイミングを模式的に示した図である。
【図７】リアクション実行処理の流れを示すフローチャートである。
【図８】リアクション実行の具体例を説明する平面模式図である。
【図９】特定手段による対象オブジェクトの別の特定方法を説明するための平面模式図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【００１９】
［ハードウェア構成］
図１は、ゲームシステム1のハードウェア構成を示すブロック図である。ゲームシステム1は、ゲーム装置2及びサーバ装置3を備えている。ゲーム装置2は、他のゲーム装置2及びサーバ装置3との間で、インターネット又はＬＡＮなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるＣＰＵ10を備え、このＣＰＵ10にはバス11を介して、ディスクドライブ12、メモリカードスロット13、記憶部（プログラム記憶部）を成すＨＤＤ14及びＲＯＭ15、並びにＲＡＭ16が接続されている。
【００２０】
ディスクドライブ12には、ＤＶＤ−ＲＯＭ等のディスク型記録媒体30が装填可能である。該ディスク型記録媒体30には、本実施の形態に係るゲームプログラム30a及びゲームデータ30bが記録されている。このゲームデータ30bには、各キャラクタや仮想空間の形成に必要なデータ、及び、ゲーム中で再生されるサウンドデータなど、本ゲームの進行に必要な各種のデータが含まれる。また、メモリカードスロット13にはカード型記録媒体31が装填でき、ゲームの途中経過等のプレイ状況を示すセーブデータを、ＣＰＵ10からの指示に応じて記録可能である。
【００２１】
ＨＤＤ14はゲーム装置2が内蔵する大容量記録媒体であって、ディスク型記録媒体30から読み込んだゲームプログラム30a及びゲームデータ30b、更にはセーブデータ等を記録する。ＲＯＭ15は、マスクＲＯＭ又はＰＲＯＭなどの半導体メモリであり、ゲーム装置2を起動する起動プログラムや、ディスク型記録媒体30が装填されたときの動作を制御するプログラムなどを記録している。ＲＡＭ16は、ＤＲＡＭ又はＳＲＡＭなどから成り、ＣＰＵ10が実行すべきゲームプログラム30aや、その実行の際に必要になるゲームデータ30bなどを、ゲームのプレイ状況に応じてディスク型記録媒体30又はＨＤＤ14から読み込んで一時的に記録する。
【００２２】
また、ＣＰＵ10には更に、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23、及びネットワークインタフェース26が接続されている。
【００２３】
このうちグラフィック処理部17は、ＣＰＵ10の指示に従って仮想ゲーム空間や各キャラクタ等を含むゲーム画像を描画する。すなわち、仮想空間中に設定した仮想カメラの位置、向き、ズーム率（画角）等を調整し、仮想空間を撮影する。そして、撮影した画像をレンダリング処理し、表示用の二次元のゲーム画像を生成する。また、グラフィック処理部17には、ビデオ変換部18を介して外部のディスプレイ（表示部）19が接続されている。グラフィック処理部17にて描画されたゲーム画像は、ビデオ変換部18において動画形式に変換され、このディスプレイ19にて表示される。
【００２４】
オーディオ合成部20は、ＣＰＵ10の指示に従って、ゲームデータ30bに含まれるデジタル形式のサウンドデータを再生及び合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ（出力部）22が接続されている。従って、オーディオ合成部20にて再生及び合成されたサウンドデータは、オーディオ変換部21にてアナログ形式にデコードされ、スピーカ22から外部へ出力される。その結果、本ゲームをプレイしているユーザは、再生されたサウンドを聴取することができる。
【００２５】
無線通信制御部23は、２．４ＧＨｚ帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作部を操作することにより、ゲーム装置2へ信号を入力することができ、ディスプレイ19に表示されるプレイヤキャラクタの動作を制御する。
【００２６】
ネットワークインタフェース26は、インターネット又はＬＡＮなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2及びサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一の仮想空間内で同期して複数のプレイヤキャラクタを表示させることができる。従って、複数人が共同してゲームを進行させるマルチプレイが可能になっている。
【００２７】
［ゲーム装置の機能的構成］
図２は、ゲームシステム1が備えるゲーム装置2の機能的な構成を示すブロック図である。ゲーム装置2は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段41、キャラクタ制御手段42、距離算出手段43、特定手段44、及びリアクション実行手段45として機能する。なお、このような各機能は、ハード的には図１に示すＣＰＵ10，ＨＤＤ14，ＲＯＭ15，ＲＡＭ16，グラフィック処理部17，ビデオ変換部18、オーディオ合成部20、オーディオ変換部21、無線通信制御部23等から構成されている。
【００２８】
仮想空間生成手段41は、所定の広がりを有する三次元の仮想空間Sを生成する。図３は、当該仮想空間Sが表示されたディスプレイ19のゲーム画面Dの一例を示す。仮想空間S内には、キャラクタ制御手段42によりその動作を制御されるキャラクタCが存在している。また、仮想空間S内においてキャラクタC近傍の所定位置には、仮想空間Sを撮像するための仮想カメラ（図示せず）が配置されており、該仮想カメラにより撮像された仮想空間Sの画像が、図３に示すように、ゲーム画面D上に表示される。
【００２９】
また、仮想空間生成手段41は、仮想空間Sを生成する際に、背景物として草や花などの複数のオブジェクトを固定的に配置する。図３には、これらオブジェクトの一例として、２種類の草オブジェクトA，Bがそれぞれ複数配置されている。図３には、互いに近接して配置されることにより１つの草むらRAを形成した７つの草オブジェクトA（A1〜A7）と、互いに近接して配置されることにより１つの草むらRBを形成した９つの草オブジェクトB（B1〜B9）が示されている。また、図３には、符号を付していないが、木オブジェクトなども示されている。
【００３０】
但し、図３に示したオブジェクトは一例であり、仮想空間S内のオブジェクトの種類や配置は図３に示したものに限定されない。例えば、異なる種類の草オブジェクトが互いに近接して配置されて草むらを形成してもよいし、複数の草オブジェクトが草むらを形成することなく互いに離れて配置されてもよい。
【００３１】
ゲームデータ30bには、各オブジェクトに関連付けられた仮想空間Sにおける位置データ（位置情報）が含まれており、仮想空間生成手段41は、当該位置データに基づき、オブジェクトを仮想空間Sに夫々固定的に配置する。図４は、図３に示された草オブジェクトA1〜A7，B1〜B9と、仮想空間Sにおける位置X1〜X16との対応関係を示す図表である。草オブジェクトA1〜A7，B1〜B9の位置X1〜X16は、例えば仮想空間S内の草オブジェクトA1〜A7，B1〜B9の所定の点のワールド座標系の位置座標として記憶されている。
【００３２】
また、ゲームデータ30bには、キャラクタCがオブジェクトの夫々に接触する際に再生される音声（接触音）データが含まれている。これら接触音データは、草オブジェクトA1〜A7，B1〜B9等のオブジェクトの夫々に関連付けて記憶されている。図４には、草オブジェクトA1〜A7，B1〜B9と接触音データとの対応関係についても示されている。本実施形態では、同じ種類のオブジェクトには同一の接触音が設定されている。例えばキャラクタCが草オブジェクトAに接触した場合には接触音SD1が発生し、例えばキャラクタCが草オブジェクトBに接触した場合には接触音SD2が発生する。接触音の発生についての詳細は後述する。
【００３３】
なお、本実施形態では、接触音データと関連付けられたオブジェクトは、仮想空間S内の全てのオブジェクトではなく、植物オブジェクトなど、キャラクタCの移動を制限しないオブジェクトに限定している。具体的には、キャラクタCが移動する際に身体の一部が接触してもキャラクタCの移動方向を変更しない水たまりや草花、茂みなどのオブジェクトが、接触音データと関連付けられている。キャラクタCが移動する際に身体の一部が接触するとキャラクタCの移動方向を変更する、あるいはキャラクタCを停止させる壁などのオブジェクトは、接触音データと関連付けられていない。
【００３４】
キャラクタ制御手段42は、当該仮想空間S内におけるキャラクタCの移動を制御する。具体的には、キャラクタ制御手段42は、キャラクタCの移動の開始及び停止、キャラクタCの移動方向及び移動速度、キャラクタCの移動態様（走る、歩く、這う）などを制御する。図３のゲーム画面Dに表示されたキャラクタCは、コントローラ24の操作によりユーザが直接的にその動作を制御することのできるプレイヤキャラクタである。即ち、本ゲームでは、ユーザがディスプレイ19に表示された仮想空間Sを見ながら、コントローラ24を操作して、キャラクタCを仮想空間S内で移動できるようになっている。
【００３５】
但し、キャラクタ制御手段42が移動を制御するキャラクタは、プレイヤキャラクタに限定されない。例えば、仮想空間S内にノンプレイヤキャラクタ（例えば、プレイヤキャラクタが戦う敵キャラクタや、プレイヤキャラクタの味方となって一緒に敵キャラクタを攻撃するキャラクタ、味方でも敵でもない村人などのキャラクタ）が存在する場合、キャラクタ制御手段42は、仮想空間S内にノンプレイヤキャラクタの一部又は全部の移動を制御してもよい。この場合、オブジェクトと接触した際の接触音を、キャラクタの種類に応じて異なるように設定してもよく、例えば敵キャラクタが草オブジェクトA1に接触した場合に、図４に示す接触音SD1以外の音声を発生してもよい。
【００３６】
本実施形態では、キャラクタCと仮想空間S内のオブジェクトとが接触した際のリアクションとして、接触音をスピーカ22から発生させる。距離算出手段43及び特定手段44は、キャラクタCに接触して、リアクションを実行する対象となる対象オブジェクトを特定するオブジェクト特定処理を実行する。距離算出手段43は、複数のオブジェクトの位置情報と、キャラクタCの位置情報とに基づき、複数のオブジェクトの夫々とキャラクタCとの間の距離を算出する。特定手段44は、距離算出手段43により算出された距離に基づき、複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する。
【００３７】
距離算出手段43及び特定手段44により実行されるオブジェクト特定処理について、図５を参照しながら説明する。図５は、オブジェクト特定処理の流れを示すフローチャートである。
【００３８】
オブジェクト特定処理では、まず、距離算出手段43が、接触音データと関連付けられた複数のオブジェクトの位置情報と、キャラクタCの現在の位置情報とに基づき、これら複数のオブジェクトの夫々とキャラクタCとの間の距離を算出する（ステップS1）。具体的には、三次元の仮想空間SにおけるキャラクタCの所定の点（例えばキャラクタCの頭頂部に当たる点）とオブジェクトの所定の点との間の距離を、各オブジェクトについて算出する。
【００３９】
次に、特定手段44は、距離算出手段43により算出された距離に基づき、複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する。具体的には、特定手段44は、複数のオブジェクトのうちキャラクタCに最も近いオブジェクトを抽出する（ステップS2）。言い換えれば、距離算出手段43により算出されたキャラクタCとの距離が最短である１のオブジェクトを抽出する。
【００４０】
特定手段44は、抽出されたオブジェクトとキャラクタCとの距離が所定の設定値Ls以下であるか否かを判定する（ステップS3）。これにより、特定手段44は、抽出されたオブジェクトとキャラクタCとが接触しているか否かを判定する。
【００４１】
本実施形態では、オブジェクトの種類によらず、設定値Lsは一定である。設定値Lsやオブジェクトの大きさ等は、キャラクタCが抽出されたオブジェクトに設定値Lsの距離まで近づいたときに互いに接触するようにユーザに見えるよう適宜設定されている。但し、オブジェクトの種類に応じて、設定値Lsが異なるように設定されていてもよい。
【００４２】
抽出されたオブジェクトとキャラクタCとの距離が所定の設定値Ls以下であると判定した場合（ステップS3：Yes）、特定手段44は、抽出されたオブジェクトとキャラクタCが接触していると判断して、当該オブジェクトを対象オブジェクトとして特定し（ステップS4）、オブジェクト特定処理を終了する。
【００４３】
このように本実施形態では、抽出されたオブジェクトとキャラクタCとの距離が所定の設定値Ls以下である場合に、抽出されたオブジェクトとキャラクタCとが「接触した」と判断されるが、これらが実際に接触している必要はなく、例えば、接触しているように見える程度に近い距離であればよい。
【００４４】
抽出されたオブジェクトとキャラクタCとの距離が所定の設定値Ls以下でないと判定した場合（ステップS3：No）、特定手段44は、仮想空間S内にキャラクタCと接触したオブジェクトがないものと判断し、対象オブジェクトを特定することなく、オブジェクト特定処理を終了する。
【００４５】
以上のオブジェクト特定処理は、毎フレーム実行される。但し、オブジェクト特定処理は、数フレームおきに実行されてもよい。
【００４６】
リアクション実行手段45は、オブジェクト特定処理により特定された対象オブジェクトに対応した接触音を発生させるリアクション実行処理を実行する。
【００４７】
まず、リアクション実行処理によりリアクションが実行されるタイミングについて説明する。リアクション実行処理は、オブジェクト特定処理により対象オブジェクトが特定されている間、毎フレーム実行される。但し、リアクション実行処理では、対象オブジェクトが特定されている間、リアクションが毎フレーム実行されるわけではなく、リアクションを実行してから次のリアクションを実行するまでの時間間隔を調整している。
【００４８】
本実施形態では、リアクション実行手段45は、タイマーによりリアクションを実行してから次のリアクションを実行するまでの時間間隔を管理している。具体的には、リアクション実行手段45は、対象オブジェクトが特定されている間、予め設定された初期値からゼロまで、タイマー値を後述のタイマー進行速度でカウントダウンする。そして、タイマー値がゼロに達してタイマーが満了すると、リアクション実行手段45は、所定のリアクションを実行する。但し、リアクション実行手段45は、タイマー値をゼロから予め設定された値までカウントアップしてもよい。
【００４９】
本実施形態では、タイマーの進行速度は、キャラクタCの移動速度に応じて変更される。具体的には、リアクション実行手段45は、キャラクタCの移動速度が高いほどタイマー進行速度を高くして、タイマーが満了するまでの時間間隔を短くする。キャラクタCの移動速度が連続的に増減される場合、リアクションを実行する時間間隔は、連続的に変更されてもよいし、段階的に変更されてもよい。リアクション実行手段45は、キャラクタCの移動速度がゼロである（即ち、キャラクタCが移動していない）場合、タイマー進行速度をゼロにする（即ち、タイマー値を変更しない）。このように、タイマーの進行速度がキャラクタCの移動速度に応じて変更されることによって、リアクションを実行する時間間隔が変更される。
【００５０】
図６（Ａ）は、キャラクタCが歩いて移動しているときのリアクション実行タイミングを模式的に示した図であり、図６（Ｂ）は、キャラクタCが走って移動しているときのリアクション実行タイミングを模式的に示した図である。図６（Ａ）及び（Ｂ）において、横矢印は、時間軸を示しており、時間軸を指す複数の縦矢印は、リアクションが実行されたタイミングを示している。キャラクタCが走って移動している図６（Ｂ）では、キャラクタCが歩いて移動している図６（Ａ）のタイマー進行速度に比べて、タイマー進行速度が高くなる。このため、図６（Ｂ）におけるリアクションを実行する時間間隔t2は、図６（Ａ）におけるリアクションを実行する時間間隔t1に比べて短くなる。
【００５１】
但し、リアクションを実行する時間間隔の変更は、キャラクタCの移動速度に応じてタイマーの進行速度を変更する方法に限定されない。例えば、タイマーの進行速度を一定として、リアクションを実行してから次のリアクションを実行するまでにタイマーがカウントする値を、キャラクタCの移動速度に応じて変更してもよい。
【００５２】
なお、図６（Ａ）及び（Ｂ）に示した時間t0は、一回のリアクションにつき再生される接触音の継続時間である。接触音の継続時間は、対象オブジェクトに関連付けられた接触音データ（図４参照）による。但し、接触音の継続時間も、キャラクタCの移動速度に応じて変更されてもよい。
【００５３】
図７は、リアクション実行手段45により実行されるリアクション実行処理の流れを示すフローチャートである。
【００５４】
リアクション実行処理は、特定手段44により対象オブジェクトが特定された場合に実行される。リアクション実行処理では、まず、リアクション実行手段45が、仮想空間S内においてキャラクタCが移動中にあるか否かを判定する（ステップT1）。言い換えれば、リアクション実行手段45は、キャラクタCの移動速度がゼロでないかを判定する。
【００５５】
キャラクタCが仮想空間S内において移動中にあると判定した場合（ステップT1：Yes）、リアクション実行手段45は、キャラクタCの移動速度に応じたタイマー進行速度でタイマーを進行させる（ステップT2）。
【００５６】
キャラクタCが仮想空間S内において移動中にない（停止している）と判定した場合（ステップT1：No）、リアクション実行手段45は、タイマーの進行を停止させる、即ちタイマー進行速度をゼロにする（ステップT3）。
【００５７】
ステップT2，T3の後、タイマーが満了したか否かを判定する（ステップT4）。タイマーが満了した場合（ステップT4：Yes）、対象オブジェクトに関連付けられた接触音を出力する（ステップT5）。その後、タイマー値を初期値に戻し（ステップT6）、リアクション実行処理を終了する。タイマーが満了していない場合（ステップT4：No）、接触音を出力することなく、リアクション実行処理を終了する。
【００５８】
次に、接触音を発生させる流れの一例として、キャラクタCが草むらRAを通過する際の接触音の発生について、図８を参照しながら説明する。図８は、仮想空間Sを上方から見た平面模式図であり、実線で示されたキャラクタCが位置X0から、位置X0’、 位置X0’’の順に紙面左側から右側へと移動して草むらRAを通過する様子を示している。なお、図８では、図面を見やすくするために、草オブジェクトA1〜A7については、それら自体の図示は省略し、仮想空間Sにおける位置X1〜X7と、位置X1〜X7の夫々から設定値Lsだけ離れた線のみ示す。
【００５９】
オブジェクト特定処理により、草オブジェクトA1〜A7の夫々と、キャラクタCとの間の距離L1〜L7が算出される。キャラクタCが草むらRAに入る前である位置X0にいるとき、距離L1〜L7うち最も短い距離は、草オブジェクトA3とキャラクタCとの距離L3である。この距離L3が設定値Lsより大きいため、位置X3に対応する草オブジェクトA3は対象オブジェクトとして特定されない。
【００６０】
更にキャラクタCが進み、キャラクタCが位置X0’に到達して草むらRAに入ると、草オブジェクトA3とキャラクタCとの距離L3が設定値Ls以下となる。このため、草オブジェクトA3が対象オブジェクトとして特定され、リアクション実行処理が実行される。即ち、キャラクタCの移動速度に応じてタイマーを進行させ、タイマーが満了した際に草オブジェクトA3に関連付けられた接触音SD1を発生させる。
【００６１】
更にキャラクタCが位置X0’から位置X0’’へと移動して、草むらRAから出るまでの間、対象オブジェクトとして特定されるオブジェクトは、草オブジェクトA3から、草オブジェクトA4、草オブジェクトA5の順に変更され、それらに対応するリアクション実行処理が実行される。但し、草オブジェクトA1〜A7はいずれも接触音SD1と関連付けられているため、キャラクタCが草むらRAを移動している間、接触音SD1がキャラクタCの移動速度に応じた時間間隔でスピーカ22から出力される。
【００６２】
以上に示したように、本実施形態に係るゲームシステム1では、複数のオブジェクトの夫々とキャラクタCとの間の距離に基づいて、特定手段44が複数のオブジェクトの中から１のオブジェクトを対象オブジェクトとして特定する。そして、リアクション実行手段45が当該対象オブジェクトとキャラクタCとの接触を示すリアクションを実行する。このため、衝突判定領域同士の重なりを判定する方法に比べて、キャラクタCとオブジェクトとの接触を判定する際の処理負荷を低減することができる。
【００６３】
また、本実施形態では、特定手段44は複数のオブジェクトのうちキャラクタCに最も近いオブジェクトを抽出し、抽出されたオブジェクトとキャラクタCとの距離が所定の設定値Ls以下となった場合に、当該オブジェクトを対象オブジェクトとして特定する。このため、キャラクタCとオブジェクトとの接触を判定する際の処理負荷をより低減することができる。
【００６４】
また、本実施形態では、リアクション実行手段45は、対象オブジェクトが特定された場合でも、仮想空間S内においてキャラクタCが移動していないときは、接触音をスピーカ22から出力させない。このため、キャラクタCがオブジェクトと接触する際のリアリティをより高めることができる。
【００６５】
また、本実施形態では、リアクション実行手段45は、対象オブジェクトが特定されている間、キャラクタCの移動速度が高くなるにつれて、リアクションを実行してから次のリアクションを実行するまでの時間間隔を短くする。このため、キャラクタCが速く動いているときは接触音の単位時間当たりの発生数が多くなるため、キャラクタCがオブジェクトと接触する際のリアリティをより高めることができる。
【００６６】
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【００６７】
例えば、上記実施形態では、特定手段44により特定された対象オブジェクトとキャラクタCとの接触を示すリアクションとして、対象オブジェクトに関連付けた接触音の発生が示されたが、対象オブジェクトとキャラクタCとの接触を示すリアクションは接触音の発生に限定されない。例えば、リアクション実行手段45により実行されるリアクションは、対象オブジェクトの揺れや飛散などのゲーム画面D上に表現される視覚的なエフェクトであってもよい。
【００６８】
また、特定手段44による対象オブジェクトの特定方法も上記実施形態で説明された方法に限定されない。例えば、上記実施形態では、特定手段44がキャラクタCに最も近いオブジェクトを抽出したが、特定手段44は、キャラクタCに近い複数のオブジェクトを抽出し、その中で所定の条件を満たす１のオブジェクトを特定してもよい。
【００６９】
特定手段44による対象オブジェクトの特定方法の変形例について、図９を参照して説明する。図９は、仮想空間Sを上方から見た平面模式図であり、仮想空間Sを移動中のキャラクタCが、２つのオブジェクトD1，D2（それぞれ位置Y1，Y2のみ示す）の傍を通過する様子を示している。
【００７０】
この変形例では、まず特定手段44は、キャラクタCから所定の第１距離Lc以下の範囲（第１範囲）に位置するオブジェクトD1，D2を抽出する。オブジェクトD1，D2には、第２距離Ls1，Ls2が予め設定されている。特定手段44は、第２距離以下の範囲（第２範囲）内に最初にキャラクタCが進入した１のオブジェクト（即ち図例では位置Y2にあるオブジェクトD2）を対象オブジェクトとして特定する。このように対象オブジェクトを特定する場合も、上記実施形態と同様の効果を得ることができる。
【符号の説明】
【００７１】
1      ：ゲームシステム
2      ：ゲーム装置
41    ：仮想空間生成手段
42    ：キャラクタ制御手段
43    ：距離算出手段
44    ：特定手段
45    ：リアクション実行手段
A（A1〜A7）：草オブジェクト
B（B1〜B9）：草オブジェクト
C      ：キャラクタ
Ls      ：設定値
S      ：仮想空間
【図１】
2018201786.tif 000003
【図２】
2018201786.tif 000004
【図３】
2018201786.tif 000005
【図４】
2018201786.tif 000006
【図５】
2018201786.tif 000007
【図６】
2018201786.tif 000008
【図７】
2018201786.tif 000009
【図８】
2018201786.tif 000010
【図９】
2018201786.tif 000011