(57)【特許請求の範囲】
【請求項１】
所定の大きさのマップユニットを並べて生成された仮想のゲーム空間においてゲーム音を加工して出力する効果音加工プログラムであって、
コンピュータを
前記マップユニットを並べて前記仮想のゲーム空間を生成するマップ生成手段、
前記ゲーム音のデータを蓄積する蓄積手段、
発音体から聴音位置まで音が伝達する最短ルートを求め、当該最短ルートにおいて前記発音体が存在するマップユニットと前記聴音位置のマップユニットの間に存在するマップユニット数をカウントし、当該マップユニット数に基づいて前記発音体から前記聴音位置までの距離を算出する測定手段、
前記マップユニットの並び方に応じて前記マップユニットの空間属性を決定し、当該空間属性に応じて前記マップユニットで発せられるゲーム音の特性を設定する設定手段、
前記蓄積手段から前記発音体が発するゲーム音に対応するデータを読み出し、前記発音体が存在する前記マップユニットに設定された前記特性に基づいて前記ゲーム音を加工し、前記測定手段が算出した距離に基づいて前記ゲーム音の音量レベルを減衰させる加工手段、
として機能させることを特徴とする効果音加工プログラム。
【請求項２】
前記設定手段は、前記マップユニットが所定の広さ以上に並べられたマップユニットに含まれる場合は当該マップユニットを部屋と判定し、前記マップユニットが前記所定の広さ以上に並べられたマップユニットに含まれない場合は当該マップユニットを通路と判定し、判定結果に応じて前記マップユニットに音の特定を設定することを特徴とする請求項１記載の効果音加工プログラム。
【請求項３】
前記所定の広さは２×２マップユニットであって、
前記設定手段は、判定対象のマップユニットを含む２×２マップユニットを選択し、前記２×２マップユニットに含まれる全てのマップユニットが音声通行可であった場合は前記全てのマップユニットのそれぞれを部屋と判定し、前記２×２マップユニットに音声通行可でないマップユニットが含まれる場合は前記判定対象のマップユニットを含む別の２×２マップユニットを選択し、前記判定対象のマップユニットを含む２×２マップユニットの全てのパターンについて判定したときに前記判定対象のマップユニットが部屋と判定されていない場合は前記判定対象のマップユニットを通路と判定することを特徴とする請求項２記載の効果音加工プログラム。
【請求項４】
前記加工手段は、前記最短ルートが異なる空間属性のマップユニットを通過する場合、当該空間属性それぞれの前記特性を合成して前記ゲーム音を加工することを特徴とする請求項２又は３に記載の効果音加工プログラム。
【請求項５】
請求項１乃至４のいずれかに記載の効果音加工プログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶された効果音加工プログラムを実行するコンピュータと、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、効果音をリアルに表現する技術に関する。
【背景技術】
【０００２】
音の発生源（発音体）と聴音位置との距離に応じて音量レベルを減衰させることで、効果音をリアルに表現することができる。特許文献１では、距離に応じた減衰に加えて、発音体と聴音位置との間の伝達媒体の特性に応じた残響処理をすることで、効果音をよりリアルに表現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０２８１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、発音体と聴音位置との間に壁などの音を遮る物体が存在する場合、音はその物体を回り込んで伝達するため、音が伝達する距離は発音体から聴音位置までの直線距離とは異なる。そのため、距離に応じた減衰量を簡単に求めることができないという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであり、音が音の伝達を遮る物体を回り込む場合でも、簡単な計算で音が伝達する距離に応じてゲーム音を減衰させることを目的とする。
【課題を解決するための手段】
【０００６】
第１の本発明に係る効果音加工プログラムは、所定の大きさのマップユニットを並べて生成された仮想のゲーム空間においてゲーム音を加工して出力する効果音加工プログラムであって、コンピュータを前記マップユニットを並べて前記仮想のゲーム空間を生成するマップ生成手段、前記ゲーム音のデータを蓄積する蓄積手段、発音体から聴音位置まで音が伝達する最短ルートを求め、当該最短ルートにおいて前記発音体が存在するマップユニットと前記聴音位置のマップユニットの間に存在するマップユニット数をカウントし、当該マップユニット数に基づいて前記発音体から前記聴音位置までの距離を算出する測定手段、前記マップユニットの並び方に応じて前記マップユニットの空間属性を決定し、当該空間属性に応じて前記マップユニットで発せられるゲーム音の特性を設定する設定手段、前記蓄積手段から前記発音体が発するゲーム音に対応するデータを読み出し、前記発音体が存在する前記マップユニットに設定された前記特性に基づいて前記ゲーム音を加工し、前記測定手段が算出した距離に基づいて前記ゲーム音の音量レベルを減衰させる加工手段、として機能させることを特徴とする効果音加工プログラム。
【００１２】
第２の本発明に係るゲーム装置は、上記効果音加工プログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶された効果音加工プログラムを実行するコンピュータと、を備えた。
【発明の効果】
【００１３】
本発明によれば、発音体から聴音位置までの最短ルートを求め、最短ルート内に存在するマップユニット数をカウントし、マップユニット数に基づいてゲーム音の減衰量を決めることにより、音が音の伝達を遮る物体を回り込む場合でも、距離に応じた減衰量をより簡単に求めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るゲームプログラムを実行するゲームシステムのハードウェア構成を示す図である。
【図２】プレイヤキャラクタがダンジョンを探索しているゲーム画面の例を示す図である。
【図３】自動的に生成されたダンジョンマップの平面図である。
【図４】本実施の形態におけるゲームプログラムによって構成されるゲーム装置の構成を示す機能ブロック図である。
【図５】効果音の減衰処理の流れを示すフローチャートである。
【図６】リバーブ、全体の音量、低音それぞれの減衰特性を示す図である。
【図７】聴音位置と発音体との距離をマスの数により求める様子を示す説明図である。
【図８】聴音位置と発音体との距離をマスの数により求める別の様子を示す説明図である。
【図９】壁を迂回するルートが複数存在する例を示す図である。
【図１０】聴音位置と発音体との距離の算出に用いるルートの別の決め方について説明する図である。
【図１１】ダンジョンマップの通路と部屋を示す平面図である。
【図１２】ゲーム音をコントローラのスピーカ用に加工する処理の流れを示すフローチャートである。
【図１３】キャラクタの行動と部位ごとの装備の素材の比率の例を示した図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を用いて説明する。
【００１６】
（ゲームシステム）
図１を参照して、本発明の実施の形態に係るゲームプログラムを実行するゲームシステム１００を説明する。ゲームシステム１００は、ゲーム機（コンピュータ）１と、コントローラ１２０、外部機器であるモニタ１３８、外部メモリ１４５、スピーカ１４４および記録媒体１４８とを備える。
【００１７】
ゲーム機１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３２、バス１３３、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３４、デコーダ１３７、Ｉ／Ｏポート１３９、ＤＲＶ（Ｄｒｉｖｅ）１４０、ＳＰ（Ｓｏｕｎｄ  Ｐｒｏｃｅｓｓｏｒ）１４２、増幅器１４３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４６および通信制御部１４７などを備える一般的なゲーム装置である。ＣＰＵ１３１は、全体の動作を制御する。ＲＡＭ１３２は、ゲームの進行に応じて各種のデータを記憶する。ＲＯＭ１４６は、このゲーム機１を起動するとともに、基本的な機能を実現するためのシステムプログラムを記憶する。ＧＰＵ１３４は、ＧＰ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ）１３６とＲＡＭ１３５を備えてゲーム空間を描画する。
【００１８】
本発明の実施の形態において、ゲームプログラムはゲーム機１で実行される場合について説明するが、これに限られない。ゲームプログラムは、ＣＰＵ、メモリなどを備えるコンピュータであればどのような装置で実行されても良い。
【００１９】
本発明の実施の形態に係るゲームプログラムは、記録媒体（プログラム記憶部）１４８に記録される。ゲーム機１は、ＤＲＶ１４０に挿入された記録媒体１４８からゲームプログラムを読み出して実行することにより、ＧＰＵ１３４が描画したゲーム空間の画像がデコーダ１３７を介してモニタ１３８に出力されるとともに、ＳＰ１４２で処理された効果音などが増幅器１４３を介してスピーカ１４４に出力される。記録媒体１４８は、ＤＶＤ、ＣＤ、ハードディスクなどが考えられる。ゲーム機１が通信ネットワークに接続されている場合、記録媒体１４８は、通信ネットワーク上の記録媒体であっても良い。ゲーム機１が通信ネットワークに接続される場合、通信制御部１４７が通信ネットワークとの通信を制御する。
【００２０】
コントローラ１２０は無線あるいは有線でゲーム機１に接続される。プレイヤが、コントローラ１２０の操作ボタンやスティックなどの操作子郡１２１を操作すると、ＣＰＵ１３１は、ＩＯポート１３９などを介して、プレイヤの操作情報を取得し、その操作情報に基づいて、プレイヤオブジェクト、ゲーム空間などを制御する。プレイヤの操作情報は例えば、歩く、剣を構える、振り向く、アイテムを取得するなどの、プレイヤオブジェクトの動作に関する指示や、メニューの操作などの、ゲームの進行に関する指示である。また、コントローラ１２０はスピーカ１２２を備えて、ゲーム機１から受信した効果音などのゲーム音を出力する。
【００２１】
ゲームの進行度合いは外部メモリ１４５にセーブデータとして保存することができる。ＣＰＵ１３１は外部メモリ１４５からセーブデータを読み出して、プレイヤにゲームを途中からプレイさせることができる。
【００２２】
なお、ゲームは、ゲームプログラムおよびゲーム機１で構成されるゲームシステム１００が、ユーザの操作に応じた処理を実行することで進行する。
【００２３】
（ゲーム内容）
次に、本実施の形態におけるゲームプログラムによって提供されるゲームについて説明する。
【００２４】
本ゲームは、プレイヤがプレイヤキャラクタを操作して３次元の仮想空間であるダンジョンあるいは建物内等（以下まとめて「ダンジョン」とする）を探索するゲームである。図２に、プレイヤキャラクタがダンジョンを探索しているゲーム画面の例を示す。同図に示すゲーム画面には、プレイヤキャラクタ５０とダンジョン内に配置されたアイテム５１が示されている。プレイヤキャラクタ５０は、ダンジョン内を探索してアイテム５１などを取得し、ゴールを目指す。図示していないが、ダンジョン内にはプレイヤキャラクタを攻撃してくるモンスターなどのＮＰＣ等（ノンプレイヤーキャラクター）が配置されて、プレイヤキャラクタのダンジョン探索を妨害する。また、ダンジョン内にはメメントと呼ばれるメメントオブジェクトが存在し、メメントはプレイヤキャラクタにメッセージを語りかけてくる。さらに、オンラインプレイ時には、同じダンジョン内に他のプレイヤが操作する他のプレイヤキャラクタも存在する。
【００２５】
プレイヤキャラクタが探索するダンジョンは、プレイヤキャラクタがダンジョン内に入る度に自動的に生成される。図３に、自動的に生成されたダンジョンのマップの平面図の例を示す。図３に示すように、本ゲームは、正方形のマス（ユニット）を基本単位とし、マスをつなげてマップを構成する。なお、プレイヤに不自然さを感じさせないために、マスとマスのつなぎ目はゲーム画面上に表示しない。本ゲームのダンジョンは、平面的な広がりのみでなく、高さ方向にも移動可能な３次元的に広がる空間である。したがって、基本単位のマスは３次元の直方体または立方体であり、直方体または立方体の面同士をつなげてマップを構成しているが、簡単のため以下の説明ではマスを２次元の正方形として説明する。
【００２６】
（ゲーム装置）
次に、本実施の形態におけるゲームプログラムをゲーム機が実行することで構成されるゲーム装置について説明する。
【００２７】
図４は、本実施の形態におけるゲームプログラムによって構成されるゲーム装置の構成を示す機能ブロック図である。同図に示すゲーム装置は、マップ生成部３１、ゲーム進行制御部３２、サウンド処理部３３、描画処理部３４、およびゲームデータ蓄積部３５を備える。
【００２８】
マップ生成部３１は、プレイヤキャラクタが行動する仮想の３次元ゲーム空間を生成する。具体的には、プレイヤキャラクタが移動可能な範囲である活動空間（ダンジョン）を１マス単位で並べて生成し、ダンジョン内にテーマに沿ったテクスチャを貼り、光源を設置し、アイテムやＮＰＣを配置する。また、マスの属性に応じて環境音や残響特性などの音の特性を設定する。音の特性の設定については後述する。
【００２９】
ゲーム進行制御部３２は、コントローラ１２０で入力されたプレイヤの操作に応じてプレイヤキャラクタを制御するとともに、予め設定された処理内容でＮＰＣ等を制御し、ゲームを進行させる。
【００３０】
サウンド処理部３３は、ゲームの進行に合わせて効果音、ＢＧＭ、音声などをスピーカ１２２，１４４に出力する。サウンド処理部３３は、距離測定部３３１、エフェクト部３３２、および出力部３３３を備え、聴音位置であるプレイヤキャラクタとＮＰＣなどの発音体までの距離に応じて発音体が発する効果音を減衰させる。また、本実施の形態では、ゲーム音をＴＶなどのスピーカ１４４から出力するか、コントローラ１２０のスピーカ１２２から出力するかを選択可能として、スピーカ１２２からゲーム音を出力するときは、スピーカ１２２の特性に合うようにゲーム音を加工して出力する。効果音の減衰処理、コントローラ１２０のスピーカ１２２に出力する処理については後述する。
【００３１】
描画処理部３４は、ゲーム空間、プレイヤキャラクタ、ＮＰＣなどをレンダリングして画像を生成しモニタ１３８に出力する。
【００３２】
ゲームデータ蓄積部３５は、プレイヤキャラクタ、モンスターキャラクタなどのモデリングデータ、テクスチャデータ、効果音データ、ＢＧＭデータなどのゲームの進行に必要なデータを蓄積する。また、装備や武器の素材に応じて合成する効果音の元となる素材ごとの元の音データを蓄積する。効果音の合成については後述する。
【００３３】
（効果音の減衰処理）
次に、効果音の減衰処理について説明する。
【００３４】
本実施の形態では、ＮＰＣから発生する効果音（鳴き声や足音など）について、プレイヤキャラクタとＮＰＣとの間の距離に応じて効果音の音量を調節する。ダンジョン内では、壁などで音が遮られる場合もあるので、音がダンジョン内の空間中を伝達する距離を算出し、算出した距離に応じて効果音を減衰処理する。なお、以下の説明では、仮想ゲーム空間上のプレイヤキャラクタの位置が聴音位置であるものとする。
【００３５】
図５は、サウンド処理部３３による効果音の減衰処理の流れを示すフローチャートである。
【００３６】
ＮＰＣなどの発音体が音を発して効果音が再生されるとき、距離測定部３３１はプレイヤキャラクタと発音体との距離を測定する（ステップＳ１１）。本実施の形態では、発音体からプレイヤキャラクタまで音が伝達する最短ルートを求め、最短ルートにおいて発音体が存在するマスとプレイヤキャラクタがいるマスの間に存在するマスの数をカウントし、マスの数に基づいてプレイヤキャラクタと発音体間の距離を求める。プレイヤキャラクタと発音体とを結んだ直線が壁などの音を遮るマスを通る場合は、そのマスを迂回する最短ルートを探し、そのルートが通るマスの数に基づいて距離を求める。距離の測定の詳細については後述する。
【００３７】
プレイヤキャラクタと発音体間の距離が求まると、エフェクト部３３２はゲームデータ蓄積部３５から発音体が発生する効果音に対応するゲーム音データを読み出し、読み出したデータに対して距離に応じた減衰処理を施す（ステップＳ１２）。本実施の形態では、図６に示すリバーブ（残響音）、全体の音量、低音それぞれについて異なる減衰特性を用いて音の減衰処理を行う。図６の横軸がプレイヤキャラクタと発音体間の距離を示し、縦軸が音量レベルを示している。全体の音量と比較して、リバーブは減衰しにくく、低音は減衰しやすくなっている。距離測定部３３１がプレイヤキャラクタと発音体との間の距離を求めると、求めた距離に応じたリバーブ、全体の音量、低音のそれぞれの減衰量を得て、発生する効果音のそれぞれの成分を得られた減衰量に応じて減衰させる。
【００３８】
プレイヤキャラクタと発音体との間に壁が存在する場合は、エフェクト部３３２はゲーム音データに対して音をこもらせるエフェクト処理を施す（ステップＳ１３）。具体的には、フィルタを用いてゲーム音データの高音成分の音量レベルを下げる。
【００３９】
以上の処理により、減衰処理、エフェクト処理が施された効果音は出力部３３３から出力される。
【００４０】
（距離の測定）
図７，８は、ダンジョン内のプレイヤキャラクタと発音体との距離をマスの数により求める様子を示す説明図である。図７（ａ）及び図８（ａ）は、ダンジョンを上から見た平面図であり、図７（ｂ）及び図８（ｂ）は、プレイヤキャラクタのマスと発音体のマスにおいてダンジョンを横から見た断面図である。図７，８に示す１マスは、仮想ゲーム空間上において底面が８×８ｍで、高さがプレイヤキャラクタの３倍程度（６〜７ｍ程度）の直方体である。以下では、１マスを８ｍ×８ｍの正方形として説明する。
【００４１】
図７の例では、プレイヤキャラクタＰと２つの発音体Ｓ１，Ｓ２を示している。まず、プレイヤキャラクタＰから発音体Ｓ１までの距離について説明する。プレイヤキャラクタＰと発音体Ｓ１とを結ぶ点線上には壁が存在する。壁には音声通行不可の属性が設定される、あるいは壁の位置には仮想ゲーム空間が存在せずゲーム内のキャラクタや音声が通行できない。したがって、プレイヤキャラクタＰと発音体Ｓ１との距離は壁を迂回した音声通行可の属性が設定されたマスを通る最短ルートに基づいて求める。プレイヤキャラクタＰと発音体Ｓ１とを結ぶ最短ルートは５つのマスを通過している。また、プレイヤキャラクタＰからルート上の隣接するマスまでの距離は６ｍ、発音体Ｓ１からルート上の隣接するマスまでの距離は４ｍである。距離を求めるときは、通過したマスの数にマスの一辺の長さをかけたものに、プレイヤキャラクタから隣接するマスまでの距離と、発音体から隣接するマスまでの距離を加算する。図７の例では、５マス×８ｍ＋６ｍ＋４ｍを計算し、プレイヤキャラクタＰと発音体Ｓ１と間の距離は５０ｍとなる。
【００４２】
なお、プレイヤキャラクタと発音体とを結ぶルートが通過するマスの数だけを用いて、プレイヤキャラクタＰと発音体Ｓ１との距離を５マス×８ｍ＝４０ｍとしてもよい。あるいは、プレイヤキャラクタ、発音体はマップユニットの中央に存在するものとみなして、隣接するマスまでの距離をいずれも４ｍとし、プレイヤキャラクタＰと発音体Ｓ１との距離を５マス×８ｍ＋４ｍ＋４ｍ＝４８ｍとしてもよい。
【００４３】
続いて、プレイヤキャラクタＰから発音体Ｓ２までの距離について説明する。プレイヤキャラクタＰと発音体Ｓ２とを結ぶ直線上には音を遮るものが存在しないので、図７（ａ）に示すように、プレイヤキャラクタＰと発音体Ｓ２とを結ぶ直線が通過するマスの数に基づいて距離を計算する。プレイヤキャラクタＰと発音体Ｓ２とを結ぶ直線は１つのマスを通過し、プレイヤキャラクタＰから隣接するマスまでの距離は６ｍ、発音体Ｓ２から隣接するマスまでの距離は６ｍである。１マス×８ｍ＋６ｍ＋６ｍを計算し、プレイヤキャラクタＰと発音体Ｓ２と間の距離は２０ｍとなる。なお、プレイヤキャラクタと発音体との間に音を遮るものが存在しない場合は、プレイヤキャラクタと発音体とを結ぶ直線の長さを音の減衰処理に用いる距離としてもよい。
【００４４】
続いて、プレイヤキャラクタは通行できないが、音は伝達するマスがプレイヤキャラクタと発音体との間に存在する例について説明する。図８の例では、プレイヤキャラクタＰと発音体Ｓ１を示している。プレイヤキャラクタＰと発音体Ｓ１とを結ぶ直線上にはプレイヤキャラクタが通行不可な穴が存在する。穴は壁と同様にプレイヤキャラクタが通行不可のマスであるが、穴のマスには音声通行可の属性が設定されており、音を伝える。図８のプレイヤキャラクタＰと発音体Ｓ１との間のマスは音を伝える穴のマスであるので、プレイヤキャラクタＰと発音体Ｓ１との距離はプレイヤキャラクタＰと発音体Ｓ１を結ぶ直線に基づいて求めて１マスとなる。また、プレイヤキャラクタＰ、発音体Ｓ１それぞれから直線上の隣接するマスまでの距離はいずれも４ｍである。図８の例では、１マス×８ｍ＋４ｍ＋４ｍを計算し、プレイヤキャラクタＰと発音体Ｓ１との距離は１６ｍとなる。
【００４５】
図９は、壁を迂回するルートが複数存在する例を示す図である。同図に示す例では、プレイヤキャラクタＰと発音体Ｓ１との間に壁が存在し、壁を迂回するルートは、点線で示すルートと実線で示すルートがある。迂回するルートが複数存在する場合は、通過するマスの数の少ないルートを音の減衰処理に用いる距離を算出するためのルートとする。図９に示す例では、点線で示すルートは発音体Ｓ１からプレイヤキャラクタＰに至るまで間に５マス通過し、実線で示すルートは３マス通過するので、実線で示すルートを音の減衰処理に用いる距離を算出するためのルートとする。
【００４６】
距離の算出に用いる別のルートの決め方について説明する。図７から図９の例では、マスの中心をつなげて最短ルートとしていた。図１０に示すように、発音体Ｓ１からプレイヤキャラクタＰまでの距離がより最短となるようにルートを設定して距離を求めてもよい。マス内の自由な位置を通るようにルートを設定した場合、図１０の左上と右上のマスは最短ルートに含まれないものとみなして、最短ルートは３つのマスを通過しているとする。このとき、３マス×８ｍ＋プレイヤキャラクタＰから隣接するマスまでの距離＋発音体Ｓ１から隣接するマスまでの距離を計算してもよいし、発音体Ｓ１から右上のマスの角までの距離＋８ｍ＋左上のマスの角からプレイヤキャラクタＰまでの距離を計算してもよい。
【００４７】
以上説明したように、本実施の形態によれば、距離測定部３３１が、プレイヤキャラクタの存在するマスと発音体の存在するマスとの間のマスの数に基づいて音の伝達する距離を求め、エフェクト部３３２が、距離測定部３３１の測定した距離に応じた減衰処理を効果音に施すことにより、音が音の伝達を遮る物体を回り込む場合でも音が伝達する距離に応じて効果音を減衰させることができる。
【００４８】
なお、本実施の形態では、自動生成されたマップについて音の減衰処理をする例で説明したが、自動生成されるマップでなくても、所定の大きさのマップユニットによって区分されるマップであれば同様に適用できる。
【００４９】
（エフェクト設定）
次に、マップの各地点における音の特性の設定について説明する。
【００５０】
環境音や残響特性などの音の特性は空間の広さによって異なる。予めマップを生成しておく固定マップの場合は、生成した固定マップ中に音の特性を予め設定しておくことができる。しかしながら、ゲーム中でマップを自動生成する場合は、生成されたマップの各地点（マス）の空間の広さを判定する必要がある。
【００５１】
本実施の形態では、自動生成されたマップにおいて、２×２マス以上の大きさの空間に含まれるマスは部屋、それ以外のマスは通路とする。あるマス（以下、判定対象のマスとする）が部屋であるか通路であるかは以下のように判定する。
【００５２】
まず、判定対象のマスを角に持つ２×２マスを１つ選ぶ。判定対象のマスを角に持つ２×２マスのパターンは、判定対象のマスが２×２マスの右上、右下、左下、左上に存在する４パターンである。選んだ２×２マスのうち判定対象のマスを除く３つのマスの全てが空間（壁のマスではない）であるか否かを判定する。３つのマスの全てが空間であった場合は判定対象のマスを含む４つのマスを全て部屋と判定する。３つのマスのいずれかが空間でない場合は別のパターンの２×２マスを選択して同様の処理を行う。４パターンの全てについて処理した結果、いずれのパターンでも判定対象のマスが部屋と判定されなかった場合は、判定対象のマスを通路と判定する。
【００５３】
図１１に、自動生成されたマップの通路と部屋を示す。符号７１，７３で示された四角内のマスは幅が１マスであるので通路である。符号７２で示された四角内のマスは２×３の空間であるので部屋である。通路に属するマスには通路用の音の特性を設定し、部屋に属するマスには部屋用の音の特性を設定する。例えば、部屋に属するマス内で発せられた効果音は通路に属するマス内で発せられた効果音よりも残響音が強くなるように設定される。
【００５４】
プレイヤキャラクタと発音体が別々の空間に存在する場合は、それらの音の特性を合成してもよい。例えば、図１１の通路内のＡの位置にプレイヤキャラクタが存在し、部屋内のＢの位置に発音体が存在した場合、Ｂの位置の発音体が発した効果音に部屋用の音の特性を適用した後、通路内の音の特性を適用する。また、別の例では、図１１の通路内のＡの位置にプレイヤキャラクタが存在し、部屋内のＣの位置に発音体が存在した場合、Ｂの位置の発音体が発した効果音に通路内の音の特性を適用し、部屋用の音の特性を適用した後、さらに通路内の音の特性を適用する。
【００５５】
また、部屋あるいは通路などのマスの属性に応じて音の特性を設定するだけでなく、イベントが発生する場所には、予め他の音の特性を設定しておいてもよい。
【００５６】
以上説明したように、本実施の形態によれば、自動生成されたマップの空間の広さを判定し、空間の広さに応じた音の特性をマップ上に設定することにより、マップの空間の広さに応じた音響効果を適切に設定することが可能となる。
【００５７】
（コントローラから出力）
次に、コントローラ１２０のスピーカ１２２から出力するゲーム音について説明する。
【００５８】
近年、コントローラ１２０にスピーカ１２２を備えて、スピーカ１２２とゲーム機１に接続したスピーカ１４４の双方からゲーム音を出力できるものがある。
【００５９】
しかしながら、コントローラ１２０に内蔵されたスピーカ１２２はＴＶなどのスピーカ１４４と比較して性能が劣るため、スピーカ１４４から出力することを前提に作成したゲーム音をチープなスピーカ１２２から出力すると、開発者の意図する音が出ないという問題があった。
【００６０】
スピーカ１２２から出力するゲーム音を操作音などに限定し、スピーカ１４４用の音とスピーカ１２２用の音を別々に用意することが考えられるが、多くのゲーム音をスピーカ１２２から出力したい場合は、スピーカ１２２用のゲーム音を用意する手間がかかり、またデータ容量の面でも現実的ではない。
【００６１】
本ゲームでは、メメントオブジェクトが自分の思いを語る音声をコントローラ１２０内蔵のスピーカ１２２からも出力する。メメントオブジェクトの音声の数は非常に多く、スピーカ１２２，１４４ごとにデータを用意することは現実的ではない。
【００６２】
そこで、本実施の形態では、スピーカ１４４用に用意したゲーム音をコントローラ１２０内蔵のスピーカ１２２用に加工して出力する。以下、ゲーム音の加工処理について説明する。
【００６３】
図１２は、ゲーム音をコントローラのスピーカ用に加工する処理の流れを示すフローチャートである。
【００６４】
サウンド処理部３３は、コントローラ１２０のスピーカ１２２から出力するゲーム音をゲームデータ蓄積部３５から読み出し、読み出したゲーム音にコンプレッサーをかける（ステップＳ２０）。
【００６５】
そして、サウンド処理部３３は、ステップＳ２０で処理したゲーム音全体の音量レベルを上げる（ステップＳ２１）。このとき、さらに特定の周波数領域の音量レベルを上げてもよい。
【００６６】
そして、サウンド処理部３３は、加工したゲーム音データをコントローラ１２０へ送信する（ステップＳ２２）。
【００６７】
以上説明したように、本実施の形態によれば、ＴＶなどのスピーカ１４４用に用意したゲーム音をコントローラ１２０内蔵のスピーカ１２２から出力するときに、出力するゲーム音にコンプレッサーをかけてダイナミックレンジを狭くし、ゲーム音全体の音量レベルを上げてコントローラ１２０へ送信することにより、スピーカ１２２用のゲーム音データを用意することなく、開発者の意図にあうゲーム音をスピーカ１２２から出力することが可能となる。
【００６８】
（効果音の合成）
次に、効果音の合成について説明する。
【００６９】
オンラインゲームでは所定のサイクルでバージョンアップが行われる。バージョンアップのときに新しい装備や新しい武器が追加されることがある。
【００７０】
新しい装備や新しい武器の見た目に合った効果音が再生されることが望ましいが、バージョンアップ毎に新しい装備や新しい武器に対応した効果音を用意することは手間がかかるという問題があった。
【００７１】
そこで、本実施の形態では、装備や武器に対応した効果音を装備や武器の素材に基づいて合成する。
【００７２】
図１３は、キャラクタの行動と部位ごとの装備の素材の比率の例を示した図である。同図では、装備の部位を上半身、下半身、足元の３つに分類し、装備の素材を鉄、革、布、木の４つに分類した。本ゲームでは、キャラクタの行動（モーション）に合わせて各部位の素材の比率に応じた効果音を出力する。例えば、キャラクタが歩くときは歩く用の上半身、下半身、足元の３つの効果音を上半身、下半身、足元のそれぞれの装備の素材の比率に応じて効果音を合成して出力する。
【００７３】
ゲームデータ蓄積部３５は、装備や武器ごとに素材の比率を示すデータ、およびキャラクタのモーションごと、装備の部位や武器ごとに素材の種類の数分の元の音データを格納する。例えば装備の部位が上半身、下半身、足元の３種類で、素材が鉄、革、布、木の４種類であった場合、各モーションについて、上半身が鉄、上半身が革、上半身が布、上半身が木、下半身が鉄、下半身が革、下半身が布、下半身が木、足元が鉄、足元が革、足元が布、足元が木であったときの１２個の元の音データを格納する。
【００７４】
サウンド処理部３３は、キャラクタのモーションに合わせて効果音を出力するときに、ゲームデータ蓄積部３５を参照してキャラクタの各部位の装備の素材の比率を取得し、部位ごとに、各素材の元の音データの音量レベルを素材の比率に応じて設定して各素材の元の音データを合成した合成音を出力する。合成音は、キャラクタが装備を変更したときに、変更後の装備の素材の比率に合わせて元の音データを合成してメモリなどに保存しておく。あるいは、キャラクタのモーション時に、素材に対応した元の音データの音量レベルを素材の比率に応じて設定した後、各素材の元の音データを同時にコールしてもよい。
【００７５】
具体的例を用いて説明すると、図１３の上半身の装備の素材の構成は、鉄が８０％、革が２０％である。この上半身の装備をつけたキャラクタが歩くときは、上半身が鉄の元の音データを８０％の音量レベル、上半身が革の元の音データを２０％の音量レベルで合成した効果音をコールする。下半身、足元の効果音についても同様に装備の組成に応じた割合で合成した効果音をコールする。
【００７６】
以上説明したように、本実施の形態によれば、キャラクタのモーション時の効果音は、キャラクタの装備の素材の組成に応じた割合で素材の元の音をゲーム中に合成することにより、装備の素材の組成の割合を設定するだけで、装備ごとに効果音を用意するが必要がなくなる。
【符号の説明】
【００７７】
３１…マップ生成部
３２…ゲーム進行制御部
３３…サウンド処理部
３３１…距離測定部
３３２…エフェクト部
３３３…出力部
３３…音声処理部
３４…描画処理部
３５…ゲームデータ蓄積部
【図１】
0005882403.tif 000002
【図２】
0005882403.tif 000003
【図３】
0005882403.tif 000004
【図４】
0005882403.tif 000005
【図５】
0005882403.tif 000006
【図６】
0005882403.tif 000007
【図７】
0005882403.tif 000008
【図８】
0005882403.tif 000009
【図９】
0005882403.tif 000010
【図１０】
0005882403.tif 000011
【図１１】
0005882403.tif 000012
【図１２】
0005882403.tif 000013
【図１３】
0005882403.tif 000014