音声出力処理装置、その音声出力処理装置を実現するためのゲームプログラム及び記録媒体
【課題】2人のプレイヤがそれぞれ操作するプレイヤキャラクタがゲーム世界で聴取する音をサラウンド出力することができるゲームにおいて、各プレイヤがサラウンド出力される音を違和感なく聞けるようにする。
【解決手段】ゲーム世界GWで爆発音Qが発生すると、プレイヤA,Bがそれぞれ操作するプレイヤキャラクタPa,Pbが爆発音Qを聞く状態をサラウンドスピーカシステムで再現するために、プレイヤキャラクタPa,Pbから爆発音Qの発生位置Oqの方向を示す角度θa、θbを算出する。サラウンドスピーカシステムのスピーカ配置図上に角度θa、θbの位置Qma,Qmbを設定し、サラウンド出力される爆発音Qの方向が位置QmaとなるプレイヤA用の各チャンネルの音量データ(a)と同爆発音Qの方向が位置QmbとなるプレイヤB用の各チャンネルの音量データ(b)をそれぞれ算出し、チャンネル毎に両音量データを加算し、その加算値を用いて実際にサラウンドスピーカシステムで出力させる各チャンネルの音量データ(c)を生成する。
【解決手段】ゲーム世界GWで爆発音Qが発生すると、プレイヤA,Bがそれぞれ操作するプレイヤキャラクタPa,Pbが爆発音Qを聞く状態をサラウンドスピーカシステムで再現するために、プレイヤキャラクタPa,Pbから爆発音Qの発生位置Oqの方向を示す角度θa、θbを算出する。サラウンドスピーカシステムのスピーカ配置図上に角度θa、θbの位置Qma,Qmbを設定し、サラウンド出力される爆発音Qの方向が位置QmaとなるプレイヤA用の各チャンネルの音量データ(a)と同爆発音Qの方向が位置QmbとなるプレイヤB用の各チャンネルの音量データ(b)をそれぞれ算出し、チャンネル毎に両音量データを加算し、その加算値を用いて実際にサラウンドスピーカシステムで出力させる各チャンネルの音量データ(c)を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置、その音声出力処理装置をコンピュータで実現するためのゲームプログラム及びそのゲームプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
従来、ゲーム展開が三次元表示されるゲームソフトが多数商品化され、効果音をサラウンドスピーカシステムによって出力させることができるゲームソフトも商品化されている。例えば、「バイオハザード(登録商標)4」というゲームソフトは、プレイヤが操作するキャラクタ(以下、「プレイヤキャラクタ」という。)をゾンビやモンスターなどの様々な敵が出現する三次元のゲーム空間(仮想的なゲーム世界)にプレイヤの分身として登場させ、プレイヤキャラクタを様々な敵と対戦させながらストーリーを進行させるアクションアドベンチャーゲームであるが、このゲームソフトにも効果音をサラウンドスピーカシステムによって出力させることができる機能(以下、「サラウンド出力機能」という。)が設けられている。
【0003】
「バイオハザード(登録商標)4」のサラウンド出力機能は、例えば、図11に示すように、プレイヤキャラクタPaの正面に位置する建物Eが爆破されると、サラウンドスピーカシステムの正面に配置されるスピーカからその爆破音をゲーム空間上でプレイヤキャラクタPaが聞く音量で出力させ、これにより恰もプレイヤがゲーム世界で敵との戦闘を体験しているかのような臨場感を演出するようになっている。
【0004】
また、ゲーム機において、効果音をサラウンドスピーカシステムによって出力させる技術も提案されている。
【0005】
【特許文献1】特開2004−195210号公報
【特許文献2】特開2008−245984号公報
【非特許文献1】「バイオハザード4 オフィシャルコンプリートガイド」、株式会社カプコン、2005年12月22日発行
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、アクションアドベンチャーゲームでは、プレイヤが1人でゲームを楽しむ1人用ゲームモードだけでなく2人以上のプレイヤが同時にゲームを楽しむ複数人用ゲームモードが設けられることがある。例えば、2人用ゲームモードの場合、2人のプレイヤA,Bがそれぞれ操作する2体のプレイヤキャラクタPa,Pbをゲーム世界に登場させ、両プレイヤキャラクタPa,Pbが協力して敵と戦闘しながらストーリーを進行させることになる。
【0007】
2人用ゲームモードでは、プレイヤAの操作するプレイヤキャラクタPaとプレイヤBが操作するプレイヤキャラクタPbはそれぞれ独立してゲーム世界を移動することになるので、プレイヤAに対するゲーム画面はプレイヤキャラクタPaを中心としたゲーム画面とし、プレイヤBに対するゲーム画面はプレイヤキャラクタPbを中心としたゲーム画面とすることが好ましい。
【0008】
また、ゲーム世界上で発生する音は、プレイヤAに対してはプレイヤキャラクタPaが聞いたようにサラウンド出力し、プレイヤBに対してはプレイヤキャラクタPbが聞いたようにサラウンド出力することが好ましい。
【0009】
一般に、家庭でサラウンド出力機能を備えたゲームソフトを楽しむ場合、例えば、5.1チャンネルのサラウンドスピーカシステムを含むゲームシステムが用いられる。本発明に係る音声出力処理を含むゲームソフトを楽しむためのゲームシステムを示す図2を用いて説明すると、そのゲームシステムは、ゲームソフトを実行させるゲーム装置本体2、プレイヤA,Bがそれぞれ操作するコントローラ3、ゲーム画面を表示するモニタ4、効果音を出力する、5.1chのサラウンドスピーカシステム6及びこのサラウンドスピーカシステム6に音声信号を出力するAVアンプ5を含んでいる。
【0010】
同図に示すゲームシステム1では、ゲーム画面を表示するモニタ4は1台であるので、プレイヤA,Bに対してゲーム画面を見易くするために、2人用ゲームモードでは、図4に示すようにモニタ4の表示画面401に表示されるゲーム画面を2つに分割し、一方の分割画面にプレイヤキャラクタPaを中心としたゲーム画面を表示し、他方の分割画面にプレイヤキャラクタPbを中心としたゲーム画面を表示するように表示処理を行うことが考えられる。
【0011】
その一方、サラウンド出力では、サラウンドスピーカシステム6が1セットの場合、画面分割のように効果音を出力させるスピーカを分離させることはできないので、従来は、プレイヤAに対するサラウンド出力とプレイヤBに対するサラウンド出力のいずれか一方で行うか、或いは、ゲーム世界上で音の発生源に近い方のプレイヤキャラクタに聞こえるサラウンド出力を行う音声出力処理が行われていた。
【0012】
しかし、プレイヤA,Bは視覚的には恰もゲーム世界上でそれぞれプレイヤキャラクタPa,Pbの位置に居るかのように体感できるが、上記の音声出力処理では、プレイヤキャラクタPa,Pbのいずれか一方で聞こえるようにサラウンド出力されるので、他方のプレイヤキャラクタを操作するプレイヤにはサラウンド出力される音の方向が当該プレイヤキャラクタで聞いた方向と異なることになり、不自然かつ違和感を与えることになる。
【0013】
例えば、図12は、横方向に並んで居るプレイヤキャラクタPaとプレイヤキャラクタPbの間で爆発が生じた状態を上から見た図であるが、この場合はプレイヤキャラクタPaはその爆発音Qを右側から聞き、プレイヤキャラクタPbはその爆発音Qを左側から聞くことになる。従って、サラウンドスピーカシステム6でのサラウンド出力をプレイヤキャラクタPaで聞いた内容にすると、サラウンドスピーカシステム6のFRチャンネルのスピーカ603とSRチャンネルのスピーカ605から爆発音Qが発音されることになるので、プレイヤAは違和感がないが、プレイヤBは反対側から爆発音Qが聞こえるので、ゲーム画面の内容と一致せず、違和感が生じる。逆にサラウンドスピーカシステム6でのサラウンド出力をプレイヤキャラクタPbで聞いた内容にすると、サラウンドスピーカシステム6のFLチャンネルのスピーカ602とSLチャンネルのスピーカ604から爆発音Qが発音されることになるので、プレイヤBは違和感がないが、プレイヤAは反対側から爆発音Qが聞こえるので、ゲーム画面の内容と一致せず、違和感が生じる。
【0014】
また、図13は、縦方向に並んでいるプレイヤキャラクタPaとプレイヤキャラクタPbの間で爆発が生じた状態を上から見た図であるが、この場合も図12の場合と同様に、プレイヤA,Bのいずれか一方は爆発音Qの聞こえる方向がゲーム画面の内容と逆になり、爆発音Qの聞え方に不自然感や違和感が生じる。
【0015】
このようなゲーム世界で生じる爆発などの音のサラウンド出力における不自然な聞え方や違和感はできるだけ軽減することが好ましいが、上記の特開2004−195210号公報や特開2008−245984号公報などにはその点の言及はなく、上記の不都合を解消するための技術も何ら示唆されていない。
【0016】
本発明は、上記の課題に鑑みてなされたものであり、2人以上のプレイヤが同時に楽しむことができ、各プレイヤが操作するプレイヤキャラクタがゲーム世界で聴取する音をサラウンド出力することができるゲームにおいて、各プレイヤがサラウンド出力される音を違和感なく聞くことができる音声出力処理装置、その音声出力処理装置をコンピュータで実現するためのゲームプログラム及びそのゲームプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明の第1の側面によって提供されるゲームプログラムは、コンピュータを、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置として機能させるためのゲームプログラムであって、前記コンピュータを、前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、して機能させることを特徴としている(請求項1)。
【0018】
なお、請求項1に記載のゲームプログラムにおいて、前記位置情報算出手段で算出される前記音の発生源の位置情報は、各キャラクタの正面方向を基準とした前記音の発生源の方向を含み、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向に対する各チャンネルの方向の角度を求め、それらの角度に基づいて各チャンネルに対応するスピーカに対する音量の比率を算出するとよい(請求項2)。
【0019】
また、請求項1に記載のゲームプログラムにおいて、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとするとよい(請求項3)。
【0020】
また、請求項2又は3に記載のゲームプログラムにおいて、前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正するとよい(請求項4)。
【0021】
また、請求項1乃至4のいずれかに記載のゲームプログラムにおいて、前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算し、その加算値を用いて各チャンネルのスピーカから出力すべき音量に関するデータを算出するとよい(請求項5)。
【0022】
さらに、請求項5に記載のゲームプログラムにおいて、前記第2の音量データ算出手段は、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出し、この第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数をチャンネル毎に算出される前記加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出するとよい(請求項6)。
【0023】
本発明の第2の側面によって提供される記録媒体は、請求項1乃至6のいずれかに記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体である(請求項7)。
【0024】
本発明の第3の側面によって提供されるゲーム装置は、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムで出力させるための音声出力処理装置であって、前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、を備えたことを特徴としている(請求項8)。
【0025】
なお、請求項8に記載のゲーム装置において、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとするとよい(請求項9)。
【0026】
また、請求項8又は9に記載のゲーム装置において、前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率に前記距離に基づいて予め設定された減衰率を乗じて補正するとよい(請求項10)。
【0027】
また、請求項8乃至10のいずれかに記載のゲーム装置において、前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算する第1の演算手段と、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出第2の演算手段と、前記第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数を前記加算手段で算出されるチャンネル毎の加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第3に演算手段とを含む(請求項11)。
【発明の効果】
【0028】
本発明によれば、例えば、ゲーム世界に2体のキャラクタPa,Pbが登場する場合、ゲーム展開によってそのゲーム世界に存在する物体などに爆発などの所定の事象が発生すると、効果音として発生される爆発音(以下、このような音を「効果音」という。)の発生源の各キャラクタPa,Pbに対する相対的な位置に関する情報が算出される。位置に関する情報とは、例えば、各キャラクタPa,Pbの正面方向を基準とした効果音の発生源の方向や各キャラクタPa,Pbと効果音の発生源との距離である。
【0029】
そして、キャラクタ毎に算出された効果音の位置に関する情報(以下、「位置情報」という。)に基づいて、キャラクタ毎に、サラウンドスピーカシステムの各チャンネルの音量に関するデータ(以下、「音量データ」という。)が算出される。
【0030】
キャラクタPaに対する音量データは、例えば、ゲーム世界における効果音の発生源がキャラクタPaの左前方向にある場合、キャラクタPaに対する音量データを用いてサラウンドスピーカシステムから効果音を発生させると、サラウンドスピーカシステムの中心に位置するプレイヤA(キャラクタPaの操作者)が左前方向から効果音を聞くことができるデータである。また、キャラクタPbに対する音量データは、例えば、ゲーム空間における効果音の発生源がキャラクタPbの真後ろ方向にある場合、キャラクタPbに対する音量データを用いてサラウンドスピーカシステムから爆発音を発生させると、サラウンドスピーカシステムの中心に位置するプレイヤB(キャラクタPbの操作者)が真後ろ方向から爆発音を聞くことができるデータである。
【0031】
次に、キャラクタPaに対する音量データとキャラクタPbに対する音量データを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータが算出される。例えば、キャラクタPaに対する音量データとキャラクタPbに対する音量データがサラウンドスピーカシステムのチャンネル毎に加算され、その加算値を用いて各チャンネルのスピーカから実際に出力させる音量に関するデータが算出される。そして、その音量データを用いてサラウンドスピーカシステムの各チャンネルのスピーカから音が発生させられる。
【0032】
これにより、効果音は、プレイヤAが左前方向から効果音を聞く状態とプレイヤBが真後ろ方向から効果音を聞く状態とを重畳したような状態でサラウンドスピーカシステムから実際に出力される。この結果、キャラクタPaを操作するプレイヤAとキャラクタPbを操作するプレイヤBに対して左前方向と真後ろ方向から効果音が発せられることになるので、従来のように、プレイヤAがゲーム世界でキャラクタPaが聞く方向と全く異なる方向から効果音を聞くことになったり、プレイヤBがゲーム世界でキャラクタPbが聞く方向と全く異なる方向から効果音を聞くことになったりするという不自然かつ違和感のある状態を緩和することができる。
【0033】
本願発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【発明を実施するための最良の形態】
【0034】
以下、本発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【0035】
本発明は、上述したようにテレビゲームの効果音をサラウンドスピーカシステムで出力させる方法に関するものである。具体的には、図1に示すように、仮想的な三次元のゲーム世界(ゲーム空間)GWにプレイヤが操作する当該プレイヤの分身であるプレイヤキャラクタPを登場させ、そのプレイヤキャラクタPにゲーム世界GWで冒険や敵キャラクタTとの対戦などの様々な体験をさせるゲームソフトにおいて、その冒険や敵キャラクタTとの対戦などでゲーム世界GWで発生する音、例えば、爆発音Qを効果音としてサラウンドスピーカシステムで出力させる方法に関するものである。
【0036】
なお、テレビゲームにおける音(以下、ゲームサウンドという)には、ゲーム世界に発生源がある音とゲーム世界内に発生源のない音がある。前者のゲームサウンドは、例えば、ゲーム世界に存在する物体(例えば、建物、草木、車、飛行機など)や生物(例えば、動物、植物、仮想の生命体など)などが何らかの事象を起こすことで発する音(例えば、爆発音、衝突音、打撃音などの音や風、吹雪などの環境音)や物体等が動体である場合はその動作自体を発生源とする音(例えば、車の走行音や飛行体の飛行音など)であり、後者のゲームサウンドは、例えば、BGMなどの音である。本発明は、前者のゲームサウンドのサラウンド出力に関するものであるので、以下の説明では、ゲーム世界内の物体等の事象発生を発生源とする音を「効果音」と呼び、ゲーム世界内のキャラクタを発生源としない音を「BGM」と呼んで両者を区別し、両者を含む場合は、単に「ゲームサウンド」と呼ぶことにする。
【0037】
上記のようなゲームソフトでは、プレイヤキャラクタPは当該プレイヤキャラクタPを操作するプレイヤの分身であるから、爆発音Qをサラウンドスピーカシステムで出力させる場合、ゲーム世界GWでプレイヤキャラクタPが爆発音Qを聞く状態に近い内容となるように、サラウンドスピーカシステムの各スピーカの音量が調整される。例えば、図1の例では、プレイヤキャラクタPには右側から爆発音Qが聞こえるから、サラウンドスピーカシステムのFRチャンネルのスピーカから爆発音Qを出力させることにより、プレイヤは恰もゲーム世界GWのプレイヤキャラクタPの位置で爆発音Qを聞くような体感をすることができる。
【0038】
従って、本発明に係る効果音の出力処理を含むゲームソフトは、図2に示すようなサラウンドスピーカシステムを備えたゲームシステム1で実行されることにより当該効果音の出力処理の効果が実現される。
【0039】
図2に示すゲームシステム1は、本発明に係る効果音の出力処理を含むゲームソフトを実行させるゲーム装置2、プレイヤA,Bがそれぞれ操作するコントローラ3、ゲーム画面を表示するモニタ4、ゲーム装置2から出力されるサラウンド用のゲームサウンドを増幅するAVアンプ5、AVアンプ5から出力されるゲームサウンドを音声出力する、例えば5.1chのサラウンドスピーカシステム6を含んでいる。
【0040】
ゲーム装置2は、例えば、「ニンテンドー Wii(登録商標)」や「PlayStation(登録商標)3」などのゲーム機で構成される。ゲーム装置2は、ゲームプログラムやゲームデータが記録されたDVD−ROMなどの可搬型のゲームメディア7を装填するゲームメディア装填部2aを有している。ゲームメディア装填部2aにゲームメディア7が装填されると、当該ゲームメディア7に記録されたゲームプログラムやゲームデータが装置内のメモリ(図3のRAM202参照)に読み込まれ、CPU(Central Processing Unit、図3のCPU201参照)がゲームプログラムを実行することによってプレイヤA,Bはゲームを楽しむことができる。
【0041】
なお、以下の説明では、プレイヤAに対するものとプレイヤBに対するものとを区別する必要がある場合は、適宜、プレイヤAに関する部材等には添え字「a」や「A」を付し、プレイヤBに関する部材等には添え字「b」や「B」を付して説明する。
【0042】
ゲーム装置2にはプレイヤA,Bがゲーム装置2に操作信号を入力するためのコントローラ3が接続されている。コントローラ3には周知の十字キーやセレクトボタン、スタートボタン、A,B,X,Yの4つの操作ボタンなどが設けられている。図1は、同一のゲームソフトを2人のプレイヤA,Bが同時に楽しむことができるモード(以下、「2人用ゲームモード」という。)の例であるので、ゲーム装置2にはコントローラ3が2個接続されているが、3人以上のプレイヤが同時に楽しむことができるモードを有するゲームソフトもあるので、コントローラ3の接続数は2個に限定されるものではない。
【0043】
ゲーム装置2内のCPUは、2個のコントローラ3からそれぞれ入力されるプレイヤA,Bの十字キーやA,B,X,Yの操作ボタンの操作信号とゲームプログラムに従ってゲームを進行させ、そのゲーム進行を示す三次元表示のゲーム画面とサラウンド出力用及びステレオ出力用のゲームサウンドを生成する。
【0044】
モニタ4は、テレビ放送を受信するためのブラウン管テレビや液晶テレビなどで構成される。ゲーム装置2の映像出力がモニタ4の映像用外部入力に接続されており、ゲーム装置2で生成されるゲーム画面がモニタ4の表示画面401に三次元表示される。また、ゲーム装置2の音声出力(ステレオ出力)がモニタ4の音声用外部入力に接続されており、ゲーム装置2で生成されるステレオ出力用のゲームサウンドがモニタ4に内蔵されている一対の内蔵スピーカ402,403から出力される。
【0045】
AVアンプ5は、AV(Audio-Visual)システムにおける5.1chのサラウンドスピーカシステムに対応したAVアンプで構成されている。AVアンプ5は、ゲーム装置2から入力されるサラウンド用のゲームサウンド(センタ(C)チャンネル、フロント左(FL)チャンネル、フロント右(FR)チャンネル、リアー左(SL)チャンネル、リアー右(SR)チャンネル及びサブウーハ(SW)チャンネルの各チャンネルのゲームサウンド)をそれぞれ増幅して対応するチャンネルのスピーカに出力する。
【0046】
サラウンドスピーカシステム6は、C、FL、FR、SL、SR及びSWの各チャンネルに対応して6つのスピーカ601〜606で構成されている。SWチャンネルのスピーカ606を除く5つのスピーカ601〜605は、プレイヤA,Bを中心とした所定の円Mのほぼ円周上に配置されている。円Mの中心とモニタ4の中心を結ぶ方向を基準方向NRとし、この基準方向NRから反時計回りに角度(ラジアン)を取るとすると、Cチャンネルのスピーカ601、FLチャンネルのスピーカ602、FRチャンネルのスピーカ603、SLチャンネルのスピーカ604、SRチャンネルのスピーカ605は、それぞれ0、+π/4、−π/4、+3π/4、−3π/4の方向に配置されている。また、SWチャンネルのスピーカ606は、Cチャンネルのスピーカ601とFRチャンネルのスピーカ603の間の適当な位置に配置されている。
【0047】
プレイヤA又はBがゲームソフトを1人だけで楽しむモード(以下、「1人用ゲームモード」という。)で行っている場合は、図1の例で説明したように、ゲーム世界GWで爆発音Qが発生すると、ゲーム装置2内のCPUは、その爆発音Qの出力処理として、例えば、FRチャンネルのスピーカ603とSRチャンネルのスピーカ605からほぼ同じ音量で出力させ、他のチャンネルのスピーカからは出力させないように処理する。従って、プレイヤA又はプレイヤBは、FRチャンネルのスピーカ603とSRチャンネルのスピーカ605のほぼ中央、すなわち、右側から爆発音Qが聞こえることになり、恰もゲーム世界GWのプレイヤキャラクタPの位置で爆発音Qを聞くような体感をすることができる。
【0048】
図3は、ゲーム装置2の内部構成を示すブロック図である。
【0049】
ゲーム装置2は、CPU201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、描画処理プロセッサ204、VRAM(Video-RAM)205、D/A(Digital-Analog)コンバータ206、音声処理プロセッサ207、モニタ用I/F208、音声用I/F209、コントローラ用I/F210、ゲームメディア7を読み取るメディアドライバ211及びバス212を含んでいる。CPU201、RAM202、ROM203、描画処理プロセッサ204、音声処理プロセッサ207、コントローラ用I/F210及びメディアドライバ211はバス212によって相互にデータ伝送可能に接続されている。
【0050】
CPU201は、ゲームメディア7からRAM202に読み込まれるゲームプログラムを実行することにより、ゲーム進行を統括的に制御する。コントローラ用I/F210を介してコントローラ3からプレイヤA,Bの操作信号が入力されると、CPU201は、ゲームプログラムに従ってその操作信号に応じた処理を行い、その処理結果に応じたゲーム画面(タイトル画面や各種のメニュー画面やゲームの進行画面などを含む)のデータを描画処理プロセッサ204に生成させるとともに、ゲームサウンドのデータを音声処理プロセッサ207に生成させる。
【0051】
ゲーム画面のデータはモニタ用I/F208を介してモニタ4に転送され、当該モニタ4の表示画面401に表示される。なお、本発明に係る効果音の出力処理が適用されるゲームプログラムには、1人用ゲームモードと2人用ゲームモードが含まれている。2人用ゲームモードでは、プレイヤA,BがそれぞれプレイヤキャラクタPa,Pbを操作し易くするために、CPU201は、描画処理プロセッサ204に、プレイヤキャラクタPaの背後から見たゲーム画像とプレイヤキャラクタPbの背後から見たゲーム画像を上下に配置したゲーム画面を生成させ、図4に示すように、そのゲーム画面をモニタ4の表示画面401に表示させる。
【0052】
従って、2人用ゲームモードでは、プレイヤAは表示画面401の上側に表示されたゲーム画像401aを見ながらプレイヤキャラクタPaを操作し、プレイヤBは表示画面401の下側に表示されたゲーム画像401bを見ながらプレイヤキャラクタPbを操作することになる。なお、1人用ゲームモードでは、例えば、プレイヤAが1人でゲームを行う場合は、当該プレイヤAが選択したプレイヤキャラクタPaに対するゲーム画像401a又はプレイヤキャラクタPbに対するゲーム画像401bが表示画面401全体に表示され、プレイヤAはモニタ4の表示画面401全体に表示されたゲーム画像401a又は401bを見ながらプレイヤキャラクタPa又はPbを操作することになる。
【0053】
なお、図4の例ではモニタ4の表示画面401に表示されるゲーム画面を上下に2分割しているが、これを左右に2分割するようにしてもよい。
【0054】
一方、ゲームサウンドのデータは音声用I/F209を介してAVアンプ5に出力され、当該AVアンプ5で出力レベルが調整されてサラウンドスピーカシステム6から音声出力される。
【0055】
CPU201は、効果音については、サラウンドスピーカシステム6の5つのスピーカ601〜605に対する音量のバランスを調整し、ゲーム世界でその効果音をプレイヤA又はBが操作するプレイヤキャラクタPa又はPbが聞いている状態に近い内容でプレイヤA又はBが聞こえるように効果音の出力を制御する。一方、BGMについては、サラウンドスピーカシステム6の5つのスピーカ601〜605に対する音量を均等に調整し、プレイヤA又はBには全方向からBGMが聞こえるようにBGMの出力を制御する。なお、効果音の出力処理の詳細については後述する。
【0056】
RAM202は、ゲームメディア7から読み込まれたゲームプログラムとゲームデータを格納するエリアと、CPU201がゲームプログラムを実行するためのワークエリアを提供するものである。RAM202には、ゲーム開始時やゲームの進行に応じた適宜のタイミングで必要なゲームプログラムとゲームデータがメディアドライバ211によってゲームメディア7から読み込まれる。
【0057】
ゲームプログラムには、CPU201に実行させるための処理手順や各種命令等が記述されており、その中には、コントローラ3からの操作信号に応じてゲーム画面やゲームサウンドを制御するための内容が含まれている。ゲームデータには、例えばプレイヤキャラクタ、敵キャラクタ及び背景や他の物体を描画するための画像データが含まれ、BGMや効果音のゲームサウンドとして用いられる各種の音声データも含まれている。
【0058】
ROM203は、ディスクローディング機能などのゲーム装置2の基本的機能やゲームメディア7に記憶されたゲームプログラム及びゲームデータを読み出す手順などを示す基本プログラムが記憶されている。CPU201は、ゲームメディア装填部2aにゲームメディア7が装着されると、ROM203の基本プログラムに従ってゲームメディア7からゲームプログラム及びゲームデータをRAM202に読み込み、ゲーム開始状態に設定する。
【0059】
描画処理プロセッサ204は、モニタ4に表示させるゲーム画面の各コマの画像を生成する。このゲーム画面には、タイトル画面や各種のメニュー画面やゲームの進行画面が含まれる。タイトル画面やメニュー画面は二次元表示の画面であるが、ゲームの進行画面は三次元表示される画面である。描画処理プロセッサ204は、CPU201からの描画指令に基づき、モニタ4に表示させる各コマの画像を作成する。描画処理プロセッサ204には各コマの画像の作成作業をするためのVRAM205が接続されている。
【0060】
VRAM205には、モニタ4に表示される各コマの画像のデータを格納するためのバッファメモリが2個設けられている。バッファメモリ205A,205Bは同一のメモリ構造及びメモリ容量を有している。
【0061】
D/Aコンバータ206は、VRAM205から出力される画像データをアナログ信号に変換してモニタ用I/F208を介してモニタ4に出力するものである。D/Aコンバータ206にはバッファメモリ205Aからの画像データとバッファメモリ205Bからの画像データを切り換えるスイッチ回路が設けられている。このスイッチ回路の切り換えは描画処理プロセッサ204によって制御される。
【0062】
音声処理プロセッサ207は、CPU201からの指令に基づき、RAM202からゲームサウンドの音声データを読み出し、所要の加工処理とD/A変換処理をした後、音声用I/F209を介してAVアンプ5に出力する。
【0063】
次に、本発明に係る効果音の出力処理について説明する。
【0064】
まず、1人用ゲームモードにおける効果音の出力処理について、図5を用いて説明する。
【0065】
図5(a)は、サラウンドスピーカシステムにおけるCチャンネル、FLチャンネル、FRチャンネル、SLチャンネル及びSRチャンネルの各スピーカの基本的な配置を示している。同図(a)に示すスピーカの配置は、図2に示したスピーカ601〜605の配置と同一である。円M’の中心Oはリスナー(プレイヤAやプレイヤBに相当)の位置であり、図2において、プレイヤAの位置に対応している。図5(b)は、一例としてゲーム世界において爆発音が発生したときの当該爆発音とプレイヤキャラクタとの位置関係を示す図である。
【0066】
図5(b)において、プレイヤキャラクタPaの正面方向NR’に対して爆発音Qの発生位置Oqの方向が斜め左前方であるとすると、プレイヤキャラクタPaはゲーム世界GWにおいて斜め左前方から爆発音Qを聞くことになる。サラウンドスピーカシステムで発生される爆発音Qが中心Oに位置するプレイヤAにプレイヤキャラクタPaと同じように聞こえるようにするためには、プレイヤAに対する爆発音Qの方向を図5(b)の状態と合わせる必要がある。
【0067】
このため、本実施形態では、円M’のθ方向の位置Qmaに爆発音Qの発生位置を設定し、その位置Qmaを挟む2つのスピーカを用いて爆発音Qを発生させるようにしている。具体的には、爆発音Qの全音量を「1」とし、2つのスピーカの音量を位置Qmaからの円周上の距離の逆数で全音量を案分するように設定し、他のスピーカの音量をゼロに設定するようにしている。すなわち、円M’上の爆発音Qの発生位置Qmaを挟む2つのスピーカだけを使用し、両スピーカの音量バランスを調整することにより、プレイヤAに対してプレイヤキャラクタPaと同じ方向から爆発音Qが聞こえるようにしている。
【0068】
例えば、図5(b)の角度θaがπ/3とすると、図5(a)に示すように、円M’における爆発音Qの発生位置Qmaの角度θaは+π/3となるので、この発生位置Qmaを挟む2つのスピーカは、FLチャンネルのスピーカ602とSLチャンネルのスピーカ604となる。発生位置QmaからFLチャンネルのスピーカ位置までの円弧の長さをLFLA、発生位置QmaからSLチャンネルのスピーカ位置までの円弧の長さをLSLAとすると、FLチャンネルのスピーカ602の音量VFLAは、LSLA/(LFLA+LSLA)、SLチャンネルのスピーカ604の音量VSLAは、LFLA/(LFLA+LSLA)となる。
【0069】
そして、発生位置QmaからFLチャンネルのスピーカ位置までの角度をθFLA、発生位置QmaからSLチャンネルのスピーカ位置までの角度をθSLAとし、円M’の半径をDとすると、LFLA=θFLA・D、LSLA=θSLA・Dであるから、FLチャンネルのスピーカ602の音量VFLAは、θSLA/(θFLA+θSLA)、SLチャンネルのスピーカ604の音量VSLAは、θFLA/(θFLA+θSLA)となる。
【0070】
θa=π/3の場合、θFLA=π/3−π/4=π/12、θSLA=3π/4−π/3=5π/12であるから、FLチャンネルのスピーカ602の音量VFLAはVFLA=(5π/12)/(π/2)=10/12≒0.83、SLチャンネルのスピーカ604の音量VSLAはVSLA=(π/12)/(π/2)=1/6≒0.17となる。
【0071】
なお、爆発音Qの発生位置Qmaがいずれかのスピーカの位置と一致する場合は、そのスピーカの音量を「1」とし、他のスピーカの音量は「0」とする。すなわち、この場合は、爆発音Qの発生位置Qmaと一致するスピーカのみで爆発音Qを発生させ、他のスピーカでは爆発音Qを発生させない。例えば、図5(b)の例で、爆発音Qの発生位置OqがプレイヤキャラクタPaの正面方向NR’にあれば、図5(a)では、爆発音Qの発生位置QmaはCチャンネルのスピーカ601の位置に一致するから、Cチャンネルのスピーカ601から音量「1」で爆発音Qが発生され、他のチャンネルのスピーカ602〜605では爆発音Qは発生されない。
【0072】
上記の説明は、プレイヤキャラクタPaに対する爆発音Qの発生位置Oqの方向をサラウンドスピーカシステムで再現する方法についての説明であり、プレイヤキャラクタPaに対する爆発音Qの発生位置Oqの距離を考慮していない。爆発音Qの発生位置OqがプレイヤキャラクタPaから遠くなるほど、プレイヤキャラクタPaに聞える爆発音Qは小さくなるから、本実施形態では、例えば、距離に反比例して音量を小さくする補正係数K1aを設け、上記の説明で算出された音量に補正係数K1aを乗じて最終的な音量としている。
【0073】
図5(b)の例で、例えば、プレイヤキャラクタPaと爆発音Qの発生位置Oqの距離が0〜1mの範囲であれば、音の減衰量を0%(K1a=1)とし、1m〜5mの範囲では音の減衰量を10%(K1a=0.9)、5m〜10mの範囲では音の減衰量を20%(K1a=0.8)、10mより遠い範囲では音の減衰量を30%(K1a=0.7)のように段階的に音が減衰するように設定していると、プレイヤキャラクタPaと爆発音Qの発生位置Oqの距離が0〜1mの範囲であれば、FLチャンネルのスピーカ602の音量VFLAとSLチャンネルのスピーカ604の音量VSLAは、VFLA=0.833、VSLA=0.167であるが、1〜5mの範囲であれば、VFLA=0.83×0.9≒0.75、VSLA=0.17×0.9≒0.15になる。
【0074】
なお、音の距離減衰を反映するための補正係数K1aは、上記のように段階的に変化させるものに限定されるものではなく、連続的に変化させてもよく、その変化波形は距離が長くなるのに応じて音量が減少する特性を有する限り任意に設定することができるものである。
【0075】
次に、2人用ゲームモードにおける効果音の出力処理について、図6〜図9を用いて説明する。
【0076】
図6は、図5に対応するものである。図6(b)は、図5(b)において、プレイヤキャラクタPbを爆発音Qの発生位置Oqの前方に配置した図であり、図6(a)は、図5(a)において、プレイヤBに対する爆発音Qの発生位置Qmbを追加したものである。
【0077】
2人用ゲームモードでは、プレイヤAとプレイヤBについてそれぞれ1人用ゲームモードでの効果音の出力処理が行われる。プレイヤAについての1人用ゲームモードでの効果音の出力処理の結果は、図5(a)に示したものと同じであるので、説明を省略する。
【0078】
プレイヤBについての1人用ゲームモードでの効果音の出力処理では、プレイヤキャラクタPbの正面方向NRb’に対して爆発音Qの発生位置Oqの方向が真後ろ(角度θbがπの方向)であるので、プレイヤキャラクタPbはゲーム世界GWにおいて真後ろから爆発音Qを聞くことになる。従って、プレイヤBについては、円M’のπ方向の位置Qmbに爆発音Qの発生位置を設定し、その位置Qmbを挟むSLチャンネルのスピーカ604とSRチャンネルのスピーカ605を用いて爆発音Qを発生させることになる。
【0079】
そして、SLチャンネルのスピーカ604とSRチャンネルの605の各音量は、プレイヤAについて算出した方法と同様の方法で算出される。すなわち、発生位置QmbからSLチャンネルのスピーカ位置までの角度をθSLB、発生位置QmbからSRチャンネルのスピーカ位置までの角度をθSRBとすると、θSLB=π−3π/4=π/4、θSRB=5π/4−π=π/4であるから、SLチャンネルのスピーカ604の音量VSLBは、π/4/(π/4+π/4)=0.5、SRチャンネルのスピーカ605の音量VSRBは、π/4/(π/4+π/4)=0.5となる。
【0080】
図7は、プレイヤBについての1人用ゲームモードでの効果音の出力処理をした結果を示す図である。なお、図7では、減衰係数K1b=0.8を乗じた値を出力処理結果としているので、音量VSLB及びVSRBは0.4になっている。同図に示すように、SLチャンネルのスピーカ604とSRチャンネルのスピーカ605から同一の音量で爆発音Qが発生するので、プレイヤBは真後ろから爆発音Qを聞くことができる。
【0081】
2人用ゲームモードでは、図8に示すように、プレイヤAとプレイヤBについて算出された1人用ゲームモードでの効果音の出力処理の結果を足し合わせてサラウンドスピーカシステム6の各スピーカ601〜605の音量が設定される。
【0082】
なお、図8は、図5(a)に示すプレイヤAに対するサラウンド出力(距離減衰10%)と図7に示すプレイヤBに対するサラウンド出力(距離減衰20%)とを足し合わせるもので、その結果、C、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC〜VSRは、VC=0、VFL=0.75、VFR=0、VSL=0.55、VSR=0.4となっている。
【0083】
図8に示す音量配分では、スピーカ601〜605の音量VC〜VSRの合計値Vtが1.7(=0.75+0.55+0.4)となり、サラウンドスピーカシステムで出力可能な音量「1」を超えることになるので、スピーカ601〜605の音量VC〜VSRに補正係数KLを乗じてスピーカ601〜605の音量VC〜VSRの合計値が1以下になるようにリミッタ処理が行われる。
【0084】
補正係数KLは、プレイヤAに対するサラウンド出力の合計値VtaとプレイヤBに対するサラウンド出力の合計値Vtbのうち、大きい方をスピーカ601〜605の音量VC〜VSRの合計値Vtで割ることによって算出される。図8の例では、Vta=0.75+0.15=0.9、Vtb=0.4+0.4=0.8であるので、補正係数KLはKL=Vta/Vt=0.9/1.7≒0.529となる。
【0085】
従って、図8の音量配分にリミッタ処理が行われると、図9に示すように、C、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC’〜VSR’は、VC’=0、VFL’≒0.40(=0.75×0.529)、VFR’=0、VSL’≒0.29(=0.55×0.529)、VSR’=0.21(=0.4×0.529)となる。
【0086】
なお、補正係数KLの算出方法は、スピーカ601〜605の音量VC’〜VSR ’の合計値を1以下にできるものであれば、上記の方法に限定されるものではない。例えば、KL=1/Vtとしてもよい。この場合は、KL=0.588となるので、VFL’≒0.44、VSL’≒0.32、VSR=0.24となる。
【0087】
2人用ゲームモードで、プレイヤAとプレイヤBが同一のゲームソフトを行っているときに、例えば、図6(b)に示すような爆発音Qの発生が生じた場合、サラウンドスピーカシステム6のFL、SL及びSRの各チャンネルのスピーカ602,604,605から図9に示す音量配分で爆発音Qが発生される。
【0088】
従来のように、図5(a)に示す音量配分でサラウンドスピーカシステム6から爆発音Qを発生させた場合は、プレイヤBは後方から爆発音Qが聞えなくてはならないのに、斜め左前方から爆発音Qで聞えることになり、爆発音Qの聞え方に不自然感や違和感が生じる。また、図7に示す音量配分でサラウンドスピーカシステム6から爆発音Qを発生させた場合は、プレイヤAは斜め前方から爆発音Qが聞えなくてはならないのに、後方から爆発音Qで聞えることになり、爆発音Qの聞え方に不自然感や違和感が生じる。
【0089】
本実施形態では、サラウンドスピーカシステム6から図9に示す音量配分で爆発音Qが発生されるので、プレイヤA,Bには後方乃至斜め左前方向から爆発音Qが聞えることになるので、プレイヤA,Bがそれぞれ操作しているプレイヤキャラクタPa,Pbがゲーム世界GWで聞く爆発音Qの方向と全く異なる方向から爆発音Qが聞えるという不都合を緩和し、爆発音Qの聞え方の不自然感や違和感を低減することができる。
【0090】
次に、2人用ゲームモードにおける効果音の出力処理の手順について、図6と図10を用いて説明する。なお、以下の説明では、ゲーム進行中にゲーム世界GWの中で爆発という事象が発生した場合にその爆発音Qがサラウンドスピーカシステム6で出力されるまでの処理を中心に説明する。また、以下の処理は、例えばフレーム画像を作成するのに同期して行われるものである。
【0091】
ゲーム進行中に、ゲーム世界GWの中で爆発が発生すると(S1)、CPU201は、そのときの爆発の発生位置Oqの座標のデータとプレイヤキャラクタPa及びPbの位置Oa,Obの座標及び正面方向のデータを音声処理プロセッサ207に転送し(S2)、音声処理プロセッサ207にステップS2以降の手順を実行させる。なお、爆発物やプレイヤキャラクタPa及びPbのデータにはゲーム世界GWにおける座標やプレイヤキャラクタPa及びPbの正面方向を示すベクトルデータが含まれており、ゲームの進行やプレイヤA,Bの操作によりゲーム世界GWにおける爆発物やプレイヤキャラクタPa及びPbの位置が変化した場合には、RAM202に格納されている各キャラクタに含まれる座標やプレイヤキャラクタPa及びPbの正面方向を示すベクトルデータも更新されている。従って、CPU201はRAM202から爆発物やプレイヤキャラクタPa及びPbのデータを読み出し、2人用ゲームモードにおける効果音の出力処理指令とともに音声処理プロセッサ207に転送する。
【0092】
音声処理プロセッサ207では、爆発の発生位置OqとプレイヤキャラクタPaの位置Oaの座標からプレイヤキャラクタPaに対する爆発の発生位置Oqの方向のベクトルデータが算出され、このベクトルデータとプレイヤキャラクタPaの正面方向を示すベクトルデータとからプレイヤキャラクタPaの正面方向に対する爆発の発生位置Oqの方向の角度θaが算出される。同様に、爆発の発生位置OqとプレイヤキャラクタPbの位置Obの座標からプレイヤキャラクタPbに対する爆発の発生位置Oqの方向のベクトルデータが算出され、このベクトルデータとプレイヤキャラクタPbの正面方向を示すベクトルデータとからプレイヤキャラクタPbの正面方向に対する爆発の発生位置Oqの方向の角度θbが算出される(S3)。
【0093】
続いて、角度θa,θbを用いて図6(a)における爆発の発生位置Qma,Qmbが算出され(S4)、発生位置QmaとC、FL、FR、SL、SRの各チャンネルのスピーカの位置から発生位置Qma,Qmbを挟むそれぞれ2つのチャンネルが決定される(S5)。図6(a)の例では、発生位置Qmaに対してFLチャンネルとSLチャンネルが決定され、発生位置Qmbに対してSLチャンネルとSRチャンネルが決定される。
【0094】
続いて、発生位置QmaとFLチャンネルのスピーカ位置で挟まれる角度θFLAと発生位置QmaとSLチャンネルのスピーカ位置で挟まれる角度θSLAが算出される(S6)。図6(a)の例では、θFLA=π/12、θSLA=5π/12が算出される。また、発生位置QmbとSLチャンネルのスピーカ位置で挟まれる角度θSLBと発生位置QmbとSRチャンネルのスピーカ位置で挟まれる角度θSRBが算出される(S6)。図6(a)の例では、θSLB=π/4、θSRB=π/4が算出される。
【0095】
続いて、爆発の発生位置OqとプレイヤキャラクタPaの位置Oaの座標からプレイヤキャラクタPaに対する爆発の発生位置Oqの距離が算出され、その距離から補正係数K1aが算出される。同様に、爆発の発生位置OqとプレイヤキャラクタPbの位置Obの座標からプレイヤキャラクタPbに対する爆発の発生位置Oqの距離が算出され、その距離から補正係数K1bが算出される(S7)。
【0096】
続いて、角度θFLA,θSLAと補正係数K1aを用いてFLチャンネルのスピーカの音量VFLAとSLチャンネルの音量VSLAが算出され、角度θSLB,θSRBと補正係数K1bを用いてSLチャンネルのスピーカの音量VSLBとSRチャンネルの音量VSRBが算出される(S8)。図6(a)の例では、K1a=0.9、K1b=0.8、とすると、VFLA=K1a・θSLA/(θFLA+θSLA)=0.9・(5π/12)/(π/12+5π/12)≒0.75、VSLA=K1a・θFLA/(θFLA+θSLA)=0.9・(π/12)/(π/12+5π/12)≒0.15が算出され、VSLB=K1b・θSRB/(θSLB+θSRB)=0.8・(π/4)/(π/4+π/4)=0.4、VSRB=K1b・θSLB/(θSLB+θSRB)=0.8・(π/4)/(π/4+π/4)=0.4が算出される。
【0097】
続いて、プレイヤキャラクタPaとプレイヤキャラクタPbについてそれぞれ算出されたサラウンドスピーカシステム6の各チャンネルの音量が、チャンネル毎に加算される(S9)。すなわち、C,FL,FR,SL,SRの各チャンネルの音量VC,VFL,VFR,VSL,VSRとすると、VC=VCA+VCB、VFL=VFLA+VFLB、VRL=VRLA+VRLB、VSL=VSLA+VSLB、VSR=VSRA+VSRBの演算が行われる。
【0098】
続いて、リミッタ処理のための補正係数KLが算出される(S10)。音声処理プロセッサ207は、Vta=VFLA+VSLAとVtb=VSLB+VSRBを算出するとともに、Vt=Vta+Vtbを算出し、Vta>Vtbであれば、Vta/Vtを補正係数KLとし、Vta<Vtbであれば、Vtb/Vtを補正係数KLとして算出する。図6(a)の例では、Vta=0.9、Vtb=0.8であるので、音声処理プロセッサ207は、Vta/Vt≒0.529を補正係数KLとして算出する。
【0099】
続いて、ステップS9で算出されたC,FL,FR,SL,SRの各チャンネルの音量VC,VFL,VFR,VSL,VSRに補正係数KLを乗じてC、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC’〜VSR’が算出される(S11)。図6(a)の例では、VCA=VCB=VFRA=VFRB=0であるから、VC’=0、VFR’=0となる。また、VFLA+VFLB=0.75、VSLA+VSLB=0.55、VSRA+VSRB=0.4であるから、VFL’=KL・(VFLA+VFLB)≒0.40、VSL’=KL・(VSLA+VSLB)≒0.29、VSR’=KL・(VSRA+VSRB)≒0.21となる。
【0100】
そして、ステップS10で算出されたC、FL、FR、SL、SRの各チャンネルの音量のデータはAVアンプ5に出力されて(S12)、効果音の出力処理は終了する。
【0101】
なお、上記実施形態では、サラウンドスピーカシステムの各チャンネルについて、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量を加算し、その加算値を用いて各チャンネルのスピーカ601〜605から実際に出力すべき音量を算出していたが、上記の実施形態の効果と同様の効果を得ることができるものであれば、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量の加算値ではなく、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量とを用いて所定の演算式により求めた演算結果を用いて各チャンネルのスピーカ601〜605から実際に出力すべき音量を算出するようにしてもよい。
【0102】
なお、上記実施形態では、5.1chのサラウンドスピーカシステムにおけるFL、FR、SL、SRの各チャンネルのスピーカの位置を±π/4、±3π/4としていたが、ITU−R配置であってもよい。また、サラウンドスピーカシステムは、5.1chに限られるものではなく、本発明は、7.1chや9.2chなどの他のサラウンドスピーカシステムにも適用できる。
【0103】
また、上記実施形態では、ゲーム世界で効果音を聞く主体はプレイヤが操作するプレイヤキャラクタとしていたが、必ずしもプレイヤキャラクタに限定しなくてもよい。
【0104】
また、上記実施形態では、オフラインのゲーム機について説明したが、本発明は、オンラインゲームモードを備え、効果音をサラウンドスピーカシステムで出力することができるゲームソフトにも適用することができることは言うまでもない。さらに、上記実施形態では、三次元のゲーム世界でプレイヤキャラクタが行動するゲームについて説明したが、本発明は、二次元のゲーム世界でプレイヤキャラクタが行動するゲームについても適用できることは言うまでもない。
【0105】
また、上記実施形態では、2人用ゲームモードを例に説明したが、3人以上のプレイヤが同時にプレイをできるモードを有している場合にも各プレイヤが操作するプレイヤキャラクタ毎にサラウンドスピーカシステムの各チャンネルの音量を求めるとともに、プレイヤキャラクタ毎の音量をチャンネル毎に加算(若しくは所定の演算)し、その加算値を用いてサラウンドスピーカシステムからサラウンド出力を行うことにより、2人用ゲームモードの例と同様の効果を得ることができる。
【図面の簡単な説明】
【0106】
【図1】本発明に係る効果音出力処理を含むゲームソフトで仮想的に構築されるゲーム世界の一例を示す斜視図である。
【図2】本発明に係る効果音出力処理を含むゲームソフトを実行するためのゲームシステムの一例を示す図である。
【図3】ゲーム装置の内部構成を示すブロック図である。
【図4】2人用ゲームモードでモニタに表示されるゲーム画面の一例を示す図である。
【図5】1人用ゲームモードにおける効果音の出力処理を説明するための図である。
【図6】2人用ゲームモードにおける効果音の出力処理を説明するための図である。
【図7】他のプレイヤについての1人用ゲームモードでの効果音の出力処理結果を示す図である。
【図8】2人のプレイヤについてそれぞれ行った1人用ゲームモードでの効果音の出力処理を足し合わせる処理を示す図である。
【図9】図8の処理結果にリミッタ処理を行った結果を示す図である。
【図10】2人用ゲームモードにおける効果音の出力処理手順を示すフローチャートである。
【図11】ゲーム空間上で爆破音が発生したときに、その爆破音をサラウンドスピーカシステムで出力させる方法の一例を説明するための図である。
【図12】横方向に並んで居る2体のプレイヤキャラクタの間で爆発が生じた状態を上から見た図である。
【図13】縦方向に並んで居る2体のプレイヤキャラクタの間で爆発が生じた状態を上から見た図である。
【符号の説明】
【0107】
1 ゲームシステム
2 ゲーム装置
2a ゲームメディア装填部
201 CPU
202 RAM
203 ROM
204 描画処理プロセッサ
205 VRAM
206 D/Aコンバータ
207 音声処理プロセッサ
208 モニタ用I/F
209 音声用I/F
210 コントローラ用I/F
211 メディアドライバ
212 バス
3 コントローラ
4 モニタ
402,403 内蔵スピーカ
5 AVアンプ
6 サラウンドスピーカシステム
601 センタスピーカ
602 フロントLスピーカ
603 フロントRスピーカ
604 リアーLスピーカ
605 リアーRスピーカ
606 サブウーハスピーカ
7 ゲームメディア
【技術分野】
【0001】
本発明は、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置、その音声出力処理装置をコンピュータで実現するためのゲームプログラム及びそのゲームプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
従来、ゲーム展開が三次元表示されるゲームソフトが多数商品化され、効果音をサラウンドスピーカシステムによって出力させることができるゲームソフトも商品化されている。例えば、「バイオハザード(登録商標)4」というゲームソフトは、プレイヤが操作するキャラクタ(以下、「プレイヤキャラクタ」という。)をゾンビやモンスターなどの様々な敵が出現する三次元のゲーム空間(仮想的なゲーム世界)にプレイヤの分身として登場させ、プレイヤキャラクタを様々な敵と対戦させながらストーリーを進行させるアクションアドベンチャーゲームであるが、このゲームソフトにも効果音をサラウンドスピーカシステムによって出力させることができる機能(以下、「サラウンド出力機能」という。)が設けられている。
【0003】
「バイオハザード(登録商標)4」のサラウンド出力機能は、例えば、図11に示すように、プレイヤキャラクタPaの正面に位置する建物Eが爆破されると、サラウンドスピーカシステムの正面に配置されるスピーカからその爆破音をゲーム空間上でプレイヤキャラクタPaが聞く音量で出力させ、これにより恰もプレイヤがゲーム世界で敵との戦闘を体験しているかのような臨場感を演出するようになっている。
【0004】
また、ゲーム機において、効果音をサラウンドスピーカシステムによって出力させる技術も提案されている。
【0005】
【特許文献1】特開2004−195210号公報
【特許文献2】特開2008−245984号公報
【非特許文献1】「バイオハザード4 オフィシャルコンプリートガイド」、株式会社カプコン、2005年12月22日発行
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、アクションアドベンチャーゲームでは、プレイヤが1人でゲームを楽しむ1人用ゲームモードだけでなく2人以上のプレイヤが同時にゲームを楽しむ複数人用ゲームモードが設けられることがある。例えば、2人用ゲームモードの場合、2人のプレイヤA,Bがそれぞれ操作する2体のプレイヤキャラクタPa,Pbをゲーム世界に登場させ、両プレイヤキャラクタPa,Pbが協力して敵と戦闘しながらストーリーを進行させることになる。
【0007】
2人用ゲームモードでは、プレイヤAの操作するプレイヤキャラクタPaとプレイヤBが操作するプレイヤキャラクタPbはそれぞれ独立してゲーム世界を移動することになるので、プレイヤAに対するゲーム画面はプレイヤキャラクタPaを中心としたゲーム画面とし、プレイヤBに対するゲーム画面はプレイヤキャラクタPbを中心としたゲーム画面とすることが好ましい。
【0008】
また、ゲーム世界上で発生する音は、プレイヤAに対してはプレイヤキャラクタPaが聞いたようにサラウンド出力し、プレイヤBに対してはプレイヤキャラクタPbが聞いたようにサラウンド出力することが好ましい。
【0009】
一般に、家庭でサラウンド出力機能を備えたゲームソフトを楽しむ場合、例えば、5.1チャンネルのサラウンドスピーカシステムを含むゲームシステムが用いられる。本発明に係る音声出力処理を含むゲームソフトを楽しむためのゲームシステムを示す図2を用いて説明すると、そのゲームシステムは、ゲームソフトを実行させるゲーム装置本体2、プレイヤA,Bがそれぞれ操作するコントローラ3、ゲーム画面を表示するモニタ4、効果音を出力する、5.1chのサラウンドスピーカシステム6及びこのサラウンドスピーカシステム6に音声信号を出力するAVアンプ5を含んでいる。
【0010】
同図に示すゲームシステム1では、ゲーム画面を表示するモニタ4は1台であるので、プレイヤA,Bに対してゲーム画面を見易くするために、2人用ゲームモードでは、図4に示すようにモニタ4の表示画面401に表示されるゲーム画面を2つに分割し、一方の分割画面にプレイヤキャラクタPaを中心としたゲーム画面を表示し、他方の分割画面にプレイヤキャラクタPbを中心としたゲーム画面を表示するように表示処理を行うことが考えられる。
【0011】
その一方、サラウンド出力では、サラウンドスピーカシステム6が1セットの場合、画面分割のように効果音を出力させるスピーカを分離させることはできないので、従来は、プレイヤAに対するサラウンド出力とプレイヤBに対するサラウンド出力のいずれか一方で行うか、或いは、ゲーム世界上で音の発生源に近い方のプレイヤキャラクタに聞こえるサラウンド出力を行う音声出力処理が行われていた。
【0012】
しかし、プレイヤA,Bは視覚的には恰もゲーム世界上でそれぞれプレイヤキャラクタPa,Pbの位置に居るかのように体感できるが、上記の音声出力処理では、プレイヤキャラクタPa,Pbのいずれか一方で聞こえるようにサラウンド出力されるので、他方のプレイヤキャラクタを操作するプレイヤにはサラウンド出力される音の方向が当該プレイヤキャラクタで聞いた方向と異なることになり、不自然かつ違和感を与えることになる。
【0013】
例えば、図12は、横方向に並んで居るプレイヤキャラクタPaとプレイヤキャラクタPbの間で爆発が生じた状態を上から見た図であるが、この場合はプレイヤキャラクタPaはその爆発音Qを右側から聞き、プレイヤキャラクタPbはその爆発音Qを左側から聞くことになる。従って、サラウンドスピーカシステム6でのサラウンド出力をプレイヤキャラクタPaで聞いた内容にすると、サラウンドスピーカシステム6のFRチャンネルのスピーカ603とSRチャンネルのスピーカ605から爆発音Qが発音されることになるので、プレイヤAは違和感がないが、プレイヤBは反対側から爆発音Qが聞こえるので、ゲーム画面の内容と一致せず、違和感が生じる。逆にサラウンドスピーカシステム6でのサラウンド出力をプレイヤキャラクタPbで聞いた内容にすると、サラウンドスピーカシステム6のFLチャンネルのスピーカ602とSLチャンネルのスピーカ604から爆発音Qが発音されることになるので、プレイヤBは違和感がないが、プレイヤAは反対側から爆発音Qが聞こえるので、ゲーム画面の内容と一致せず、違和感が生じる。
【0014】
また、図13は、縦方向に並んでいるプレイヤキャラクタPaとプレイヤキャラクタPbの間で爆発が生じた状態を上から見た図であるが、この場合も図12の場合と同様に、プレイヤA,Bのいずれか一方は爆発音Qの聞こえる方向がゲーム画面の内容と逆になり、爆発音Qの聞え方に不自然感や違和感が生じる。
【0015】
このようなゲーム世界で生じる爆発などの音のサラウンド出力における不自然な聞え方や違和感はできるだけ軽減することが好ましいが、上記の特開2004−195210号公報や特開2008−245984号公報などにはその点の言及はなく、上記の不都合を解消するための技術も何ら示唆されていない。
【0016】
本発明は、上記の課題に鑑みてなされたものであり、2人以上のプレイヤが同時に楽しむことができ、各プレイヤが操作するプレイヤキャラクタがゲーム世界で聴取する音をサラウンド出力することができるゲームにおいて、各プレイヤがサラウンド出力される音を違和感なく聞くことができる音声出力処理装置、その音声出力処理装置をコンピュータで実現するためのゲームプログラム及びそのゲームプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明の第1の側面によって提供されるゲームプログラムは、コンピュータを、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置として機能させるためのゲームプログラムであって、前記コンピュータを、前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、して機能させることを特徴としている(請求項1)。
【0018】
なお、請求項1に記載のゲームプログラムにおいて、前記位置情報算出手段で算出される前記音の発生源の位置情報は、各キャラクタの正面方向を基準とした前記音の発生源の方向を含み、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向に対する各チャンネルの方向の角度を求め、それらの角度に基づいて各チャンネルに対応するスピーカに対する音量の比率を算出するとよい(請求項2)。
【0019】
また、請求項1に記載のゲームプログラムにおいて、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとするとよい(請求項3)。
【0020】
また、請求項2又は3に記載のゲームプログラムにおいて、前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正するとよい(請求項4)。
【0021】
また、請求項1乃至4のいずれかに記載のゲームプログラムにおいて、前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算し、その加算値を用いて各チャンネルのスピーカから出力すべき音量に関するデータを算出するとよい(請求項5)。
【0022】
さらに、請求項5に記載のゲームプログラムにおいて、前記第2の音量データ算出手段は、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出し、この第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数をチャンネル毎に算出される前記加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出するとよい(請求項6)。
【0023】
本発明の第2の側面によって提供される記録媒体は、請求項1乃至6のいずれかに記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体である(請求項7)。
【0024】
本発明の第3の側面によって提供されるゲーム装置は、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムで出力させるための音声出力処理装置であって、前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、を備えたことを特徴としている(請求項8)。
【0025】
なお、請求項8に記載のゲーム装置において、前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとするとよい(請求項9)。
【0026】
また、請求項8又は9に記載のゲーム装置において、前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率に前記距離に基づいて予め設定された減衰率を乗じて補正するとよい(請求項10)。
【0027】
また、請求項8乃至10のいずれかに記載のゲーム装置において、前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算する第1の演算手段と、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出第2の演算手段と、前記第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数を前記加算手段で算出されるチャンネル毎の加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第3に演算手段とを含む(請求項11)。
【発明の効果】
【0028】
本発明によれば、例えば、ゲーム世界に2体のキャラクタPa,Pbが登場する場合、ゲーム展開によってそのゲーム世界に存在する物体などに爆発などの所定の事象が発生すると、効果音として発生される爆発音(以下、このような音を「効果音」という。)の発生源の各キャラクタPa,Pbに対する相対的な位置に関する情報が算出される。位置に関する情報とは、例えば、各キャラクタPa,Pbの正面方向を基準とした効果音の発生源の方向や各キャラクタPa,Pbと効果音の発生源との距離である。
【0029】
そして、キャラクタ毎に算出された効果音の位置に関する情報(以下、「位置情報」という。)に基づいて、キャラクタ毎に、サラウンドスピーカシステムの各チャンネルの音量に関するデータ(以下、「音量データ」という。)が算出される。
【0030】
キャラクタPaに対する音量データは、例えば、ゲーム世界における効果音の発生源がキャラクタPaの左前方向にある場合、キャラクタPaに対する音量データを用いてサラウンドスピーカシステムから効果音を発生させると、サラウンドスピーカシステムの中心に位置するプレイヤA(キャラクタPaの操作者)が左前方向から効果音を聞くことができるデータである。また、キャラクタPbに対する音量データは、例えば、ゲーム空間における効果音の発生源がキャラクタPbの真後ろ方向にある場合、キャラクタPbに対する音量データを用いてサラウンドスピーカシステムから爆発音を発生させると、サラウンドスピーカシステムの中心に位置するプレイヤB(キャラクタPbの操作者)が真後ろ方向から爆発音を聞くことができるデータである。
【0031】
次に、キャラクタPaに対する音量データとキャラクタPbに対する音量データを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータが算出される。例えば、キャラクタPaに対する音量データとキャラクタPbに対する音量データがサラウンドスピーカシステムのチャンネル毎に加算され、その加算値を用いて各チャンネルのスピーカから実際に出力させる音量に関するデータが算出される。そして、その音量データを用いてサラウンドスピーカシステムの各チャンネルのスピーカから音が発生させられる。
【0032】
これにより、効果音は、プレイヤAが左前方向から効果音を聞く状態とプレイヤBが真後ろ方向から効果音を聞く状態とを重畳したような状態でサラウンドスピーカシステムから実際に出力される。この結果、キャラクタPaを操作するプレイヤAとキャラクタPbを操作するプレイヤBに対して左前方向と真後ろ方向から効果音が発せられることになるので、従来のように、プレイヤAがゲーム世界でキャラクタPaが聞く方向と全く異なる方向から効果音を聞くことになったり、プレイヤBがゲーム世界でキャラクタPbが聞く方向と全く異なる方向から効果音を聞くことになったりするという不自然かつ違和感のある状態を緩和することができる。
【0033】
本願発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【発明を実施するための最良の形態】
【0034】
以下、本発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【0035】
本発明は、上述したようにテレビゲームの効果音をサラウンドスピーカシステムで出力させる方法に関するものである。具体的には、図1に示すように、仮想的な三次元のゲーム世界(ゲーム空間)GWにプレイヤが操作する当該プレイヤの分身であるプレイヤキャラクタPを登場させ、そのプレイヤキャラクタPにゲーム世界GWで冒険や敵キャラクタTとの対戦などの様々な体験をさせるゲームソフトにおいて、その冒険や敵キャラクタTとの対戦などでゲーム世界GWで発生する音、例えば、爆発音Qを効果音としてサラウンドスピーカシステムで出力させる方法に関するものである。
【0036】
なお、テレビゲームにおける音(以下、ゲームサウンドという)には、ゲーム世界に発生源がある音とゲーム世界内に発生源のない音がある。前者のゲームサウンドは、例えば、ゲーム世界に存在する物体(例えば、建物、草木、車、飛行機など)や生物(例えば、動物、植物、仮想の生命体など)などが何らかの事象を起こすことで発する音(例えば、爆発音、衝突音、打撃音などの音や風、吹雪などの環境音)や物体等が動体である場合はその動作自体を発生源とする音(例えば、車の走行音や飛行体の飛行音など)であり、後者のゲームサウンドは、例えば、BGMなどの音である。本発明は、前者のゲームサウンドのサラウンド出力に関するものであるので、以下の説明では、ゲーム世界内の物体等の事象発生を発生源とする音を「効果音」と呼び、ゲーム世界内のキャラクタを発生源としない音を「BGM」と呼んで両者を区別し、両者を含む場合は、単に「ゲームサウンド」と呼ぶことにする。
【0037】
上記のようなゲームソフトでは、プレイヤキャラクタPは当該プレイヤキャラクタPを操作するプレイヤの分身であるから、爆発音Qをサラウンドスピーカシステムで出力させる場合、ゲーム世界GWでプレイヤキャラクタPが爆発音Qを聞く状態に近い内容となるように、サラウンドスピーカシステムの各スピーカの音量が調整される。例えば、図1の例では、プレイヤキャラクタPには右側から爆発音Qが聞こえるから、サラウンドスピーカシステムのFRチャンネルのスピーカから爆発音Qを出力させることにより、プレイヤは恰もゲーム世界GWのプレイヤキャラクタPの位置で爆発音Qを聞くような体感をすることができる。
【0038】
従って、本発明に係る効果音の出力処理を含むゲームソフトは、図2に示すようなサラウンドスピーカシステムを備えたゲームシステム1で実行されることにより当該効果音の出力処理の効果が実現される。
【0039】
図2に示すゲームシステム1は、本発明に係る効果音の出力処理を含むゲームソフトを実行させるゲーム装置2、プレイヤA,Bがそれぞれ操作するコントローラ3、ゲーム画面を表示するモニタ4、ゲーム装置2から出力されるサラウンド用のゲームサウンドを増幅するAVアンプ5、AVアンプ5から出力されるゲームサウンドを音声出力する、例えば5.1chのサラウンドスピーカシステム6を含んでいる。
【0040】
ゲーム装置2は、例えば、「ニンテンドー Wii(登録商標)」や「PlayStation(登録商標)3」などのゲーム機で構成される。ゲーム装置2は、ゲームプログラムやゲームデータが記録されたDVD−ROMなどの可搬型のゲームメディア7を装填するゲームメディア装填部2aを有している。ゲームメディア装填部2aにゲームメディア7が装填されると、当該ゲームメディア7に記録されたゲームプログラムやゲームデータが装置内のメモリ(図3のRAM202参照)に読み込まれ、CPU(Central Processing Unit、図3のCPU201参照)がゲームプログラムを実行することによってプレイヤA,Bはゲームを楽しむことができる。
【0041】
なお、以下の説明では、プレイヤAに対するものとプレイヤBに対するものとを区別する必要がある場合は、適宜、プレイヤAに関する部材等には添え字「a」や「A」を付し、プレイヤBに関する部材等には添え字「b」や「B」を付して説明する。
【0042】
ゲーム装置2にはプレイヤA,Bがゲーム装置2に操作信号を入力するためのコントローラ3が接続されている。コントローラ3には周知の十字キーやセレクトボタン、スタートボタン、A,B,X,Yの4つの操作ボタンなどが設けられている。図1は、同一のゲームソフトを2人のプレイヤA,Bが同時に楽しむことができるモード(以下、「2人用ゲームモード」という。)の例であるので、ゲーム装置2にはコントローラ3が2個接続されているが、3人以上のプレイヤが同時に楽しむことができるモードを有するゲームソフトもあるので、コントローラ3の接続数は2個に限定されるものではない。
【0043】
ゲーム装置2内のCPUは、2個のコントローラ3からそれぞれ入力されるプレイヤA,Bの十字キーやA,B,X,Yの操作ボタンの操作信号とゲームプログラムに従ってゲームを進行させ、そのゲーム進行を示す三次元表示のゲーム画面とサラウンド出力用及びステレオ出力用のゲームサウンドを生成する。
【0044】
モニタ4は、テレビ放送を受信するためのブラウン管テレビや液晶テレビなどで構成される。ゲーム装置2の映像出力がモニタ4の映像用外部入力に接続されており、ゲーム装置2で生成されるゲーム画面がモニタ4の表示画面401に三次元表示される。また、ゲーム装置2の音声出力(ステレオ出力)がモニタ4の音声用外部入力に接続されており、ゲーム装置2で生成されるステレオ出力用のゲームサウンドがモニタ4に内蔵されている一対の内蔵スピーカ402,403から出力される。
【0045】
AVアンプ5は、AV(Audio-Visual)システムにおける5.1chのサラウンドスピーカシステムに対応したAVアンプで構成されている。AVアンプ5は、ゲーム装置2から入力されるサラウンド用のゲームサウンド(センタ(C)チャンネル、フロント左(FL)チャンネル、フロント右(FR)チャンネル、リアー左(SL)チャンネル、リアー右(SR)チャンネル及びサブウーハ(SW)チャンネルの各チャンネルのゲームサウンド)をそれぞれ増幅して対応するチャンネルのスピーカに出力する。
【0046】
サラウンドスピーカシステム6は、C、FL、FR、SL、SR及びSWの各チャンネルに対応して6つのスピーカ601〜606で構成されている。SWチャンネルのスピーカ606を除く5つのスピーカ601〜605は、プレイヤA,Bを中心とした所定の円Mのほぼ円周上に配置されている。円Mの中心とモニタ4の中心を結ぶ方向を基準方向NRとし、この基準方向NRから反時計回りに角度(ラジアン)を取るとすると、Cチャンネルのスピーカ601、FLチャンネルのスピーカ602、FRチャンネルのスピーカ603、SLチャンネルのスピーカ604、SRチャンネルのスピーカ605は、それぞれ0、+π/4、−π/4、+3π/4、−3π/4の方向に配置されている。また、SWチャンネルのスピーカ606は、Cチャンネルのスピーカ601とFRチャンネルのスピーカ603の間の適当な位置に配置されている。
【0047】
プレイヤA又はBがゲームソフトを1人だけで楽しむモード(以下、「1人用ゲームモード」という。)で行っている場合は、図1の例で説明したように、ゲーム世界GWで爆発音Qが発生すると、ゲーム装置2内のCPUは、その爆発音Qの出力処理として、例えば、FRチャンネルのスピーカ603とSRチャンネルのスピーカ605からほぼ同じ音量で出力させ、他のチャンネルのスピーカからは出力させないように処理する。従って、プレイヤA又はプレイヤBは、FRチャンネルのスピーカ603とSRチャンネルのスピーカ605のほぼ中央、すなわち、右側から爆発音Qが聞こえることになり、恰もゲーム世界GWのプレイヤキャラクタPの位置で爆発音Qを聞くような体感をすることができる。
【0048】
図3は、ゲーム装置2の内部構成を示すブロック図である。
【0049】
ゲーム装置2は、CPU201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、描画処理プロセッサ204、VRAM(Video-RAM)205、D/A(Digital-Analog)コンバータ206、音声処理プロセッサ207、モニタ用I/F208、音声用I/F209、コントローラ用I/F210、ゲームメディア7を読み取るメディアドライバ211及びバス212を含んでいる。CPU201、RAM202、ROM203、描画処理プロセッサ204、音声処理プロセッサ207、コントローラ用I/F210及びメディアドライバ211はバス212によって相互にデータ伝送可能に接続されている。
【0050】
CPU201は、ゲームメディア7からRAM202に読み込まれるゲームプログラムを実行することにより、ゲーム進行を統括的に制御する。コントローラ用I/F210を介してコントローラ3からプレイヤA,Bの操作信号が入力されると、CPU201は、ゲームプログラムに従ってその操作信号に応じた処理を行い、その処理結果に応じたゲーム画面(タイトル画面や各種のメニュー画面やゲームの進行画面などを含む)のデータを描画処理プロセッサ204に生成させるとともに、ゲームサウンドのデータを音声処理プロセッサ207に生成させる。
【0051】
ゲーム画面のデータはモニタ用I/F208を介してモニタ4に転送され、当該モニタ4の表示画面401に表示される。なお、本発明に係る効果音の出力処理が適用されるゲームプログラムには、1人用ゲームモードと2人用ゲームモードが含まれている。2人用ゲームモードでは、プレイヤA,BがそれぞれプレイヤキャラクタPa,Pbを操作し易くするために、CPU201は、描画処理プロセッサ204に、プレイヤキャラクタPaの背後から見たゲーム画像とプレイヤキャラクタPbの背後から見たゲーム画像を上下に配置したゲーム画面を生成させ、図4に示すように、そのゲーム画面をモニタ4の表示画面401に表示させる。
【0052】
従って、2人用ゲームモードでは、プレイヤAは表示画面401の上側に表示されたゲーム画像401aを見ながらプレイヤキャラクタPaを操作し、プレイヤBは表示画面401の下側に表示されたゲーム画像401bを見ながらプレイヤキャラクタPbを操作することになる。なお、1人用ゲームモードでは、例えば、プレイヤAが1人でゲームを行う場合は、当該プレイヤAが選択したプレイヤキャラクタPaに対するゲーム画像401a又はプレイヤキャラクタPbに対するゲーム画像401bが表示画面401全体に表示され、プレイヤAはモニタ4の表示画面401全体に表示されたゲーム画像401a又は401bを見ながらプレイヤキャラクタPa又はPbを操作することになる。
【0053】
なお、図4の例ではモニタ4の表示画面401に表示されるゲーム画面を上下に2分割しているが、これを左右に2分割するようにしてもよい。
【0054】
一方、ゲームサウンドのデータは音声用I/F209を介してAVアンプ5に出力され、当該AVアンプ5で出力レベルが調整されてサラウンドスピーカシステム6から音声出力される。
【0055】
CPU201は、効果音については、サラウンドスピーカシステム6の5つのスピーカ601〜605に対する音量のバランスを調整し、ゲーム世界でその効果音をプレイヤA又はBが操作するプレイヤキャラクタPa又はPbが聞いている状態に近い内容でプレイヤA又はBが聞こえるように効果音の出力を制御する。一方、BGMについては、サラウンドスピーカシステム6の5つのスピーカ601〜605に対する音量を均等に調整し、プレイヤA又はBには全方向からBGMが聞こえるようにBGMの出力を制御する。なお、効果音の出力処理の詳細については後述する。
【0056】
RAM202は、ゲームメディア7から読み込まれたゲームプログラムとゲームデータを格納するエリアと、CPU201がゲームプログラムを実行するためのワークエリアを提供するものである。RAM202には、ゲーム開始時やゲームの進行に応じた適宜のタイミングで必要なゲームプログラムとゲームデータがメディアドライバ211によってゲームメディア7から読み込まれる。
【0057】
ゲームプログラムには、CPU201に実行させるための処理手順や各種命令等が記述されており、その中には、コントローラ3からの操作信号に応じてゲーム画面やゲームサウンドを制御するための内容が含まれている。ゲームデータには、例えばプレイヤキャラクタ、敵キャラクタ及び背景や他の物体を描画するための画像データが含まれ、BGMや効果音のゲームサウンドとして用いられる各種の音声データも含まれている。
【0058】
ROM203は、ディスクローディング機能などのゲーム装置2の基本的機能やゲームメディア7に記憶されたゲームプログラム及びゲームデータを読み出す手順などを示す基本プログラムが記憶されている。CPU201は、ゲームメディア装填部2aにゲームメディア7が装着されると、ROM203の基本プログラムに従ってゲームメディア7からゲームプログラム及びゲームデータをRAM202に読み込み、ゲーム開始状態に設定する。
【0059】
描画処理プロセッサ204は、モニタ4に表示させるゲーム画面の各コマの画像を生成する。このゲーム画面には、タイトル画面や各種のメニュー画面やゲームの進行画面が含まれる。タイトル画面やメニュー画面は二次元表示の画面であるが、ゲームの進行画面は三次元表示される画面である。描画処理プロセッサ204は、CPU201からの描画指令に基づき、モニタ4に表示させる各コマの画像を作成する。描画処理プロセッサ204には各コマの画像の作成作業をするためのVRAM205が接続されている。
【0060】
VRAM205には、モニタ4に表示される各コマの画像のデータを格納するためのバッファメモリが2個設けられている。バッファメモリ205A,205Bは同一のメモリ構造及びメモリ容量を有している。
【0061】
D/Aコンバータ206は、VRAM205から出力される画像データをアナログ信号に変換してモニタ用I/F208を介してモニタ4に出力するものである。D/Aコンバータ206にはバッファメモリ205Aからの画像データとバッファメモリ205Bからの画像データを切り換えるスイッチ回路が設けられている。このスイッチ回路の切り換えは描画処理プロセッサ204によって制御される。
【0062】
音声処理プロセッサ207は、CPU201からの指令に基づき、RAM202からゲームサウンドの音声データを読み出し、所要の加工処理とD/A変換処理をした後、音声用I/F209を介してAVアンプ5に出力する。
【0063】
次に、本発明に係る効果音の出力処理について説明する。
【0064】
まず、1人用ゲームモードにおける効果音の出力処理について、図5を用いて説明する。
【0065】
図5(a)は、サラウンドスピーカシステムにおけるCチャンネル、FLチャンネル、FRチャンネル、SLチャンネル及びSRチャンネルの各スピーカの基本的な配置を示している。同図(a)に示すスピーカの配置は、図2に示したスピーカ601〜605の配置と同一である。円M’の中心Oはリスナー(プレイヤAやプレイヤBに相当)の位置であり、図2において、プレイヤAの位置に対応している。図5(b)は、一例としてゲーム世界において爆発音が発生したときの当該爆発音とプレイヤキャラクタとの位置関係を示す図である。
【0066】
図5(b)において、プレイヤキャラクタPaの正面方向NR’に対して爆発音Qの発生位置Oqの方向が斜め左前方であるとすると、プレイヤキャラクタPaはゲーム世界GWにおいて斜め左前方から爆発音Qを聞くことになる。サラウンドスピーカシステムで発生される爆発音Qが中心Oに位置するプレイヤAにプレイヤキャラクタPaと同じように聞こえるようにするためには、プレイヤAに対する爆発音Qの方向を図5(b)の状態と合わせる必要がある。
【0067】
このため、本実施形態では、円M’のθ方向の位置Qmaに爆発音Qの発生位置を設定し、その位置Qmaを挟む2つのスピーカを用いて爆発音Qを発生させるようにしている。具体的には、爆発音Qの全音量を「1」とし、2つのスピーカの音量を位置Qmaからの円周上の距離の逆数で全音量を案分するように設定し、他のスピーカの音量をゼロに設定するようにしている。すなわち、円M’上の爆発音Qの発生位置Qmaを挟む2つのスピーカだけを使用し、両スピーカの音量バランスを調整することにより、プレイヤAに対してプレイヤキャラクタPaと同じ方向から爆発音Qが聞こえるようにしている。
【0068】
例えば、図5(b)の角度θaがπ/3とすると、図5(a)に示すように、円M’における爆発音Qの発生位置Qmaの角度θaは+π/3となるので、この発生位置Qmaを挟む2つのスピーカは、FLチャンネルのスピーカ602とSLチャンネルのスピーカ604となる。発生位置QmaからFLチャンネルのスピーカ位置までの円弧の長さをLFLA、発生位置QmaからSLチャンネルのスピーカ位置までの円弧の長さをLSLAとすると、FLチャンネルのスピーカ602の音量VFLAは、LSLA/(LFLA+LSLA)、SLチャンネルのスピーカ604の音量VSLAは、LFLA/(LFLA+LSLA)となる。
【0069】
そして、発生位置QmaからFLチャンネルのスピーカ位置までの角度をθFLA、発生位置QmaからSLチャンネルのスピーカ位置までの角度をθSLAとし、円M’の半径をDとすると、LFLA=θFLA・D、LSLA=θSLA・Dであるから、FLチャンネルのスピーカ602の音量VFLAは、θSLA/(θFLA+θSLA)、SLチャンネルのスピーカ604の音量VSLAは、θFLA/(θFLA+θSLA)となる。
【0070】
θa=π/3の場合、θFLA=π/3−π/4=π/12、θSLA=3π/4−π/3=5π/12であるから、FLチャンネルのスピーカ602の音量VFLAはVFLA=(5π/12)/(π/2)=10/12≒0.83、SLチャンネルのスピーカ604の音量VSLAはVSLA=(π/12)/(π/2)=1/6≒0.17となる。
【0071】
なお、爆発音Qの発生位置Qmaがいずれかのスピーカの位置と一致する場合は、そのスピーカの音量を「1」とし、他のスピーカの音量は「0」とする。すなわち、この場合は、爆発音Qの発生位置Qmaと一致するスピーカのみで爆発音Qを発生させ、他のスピーカでは爆発音Qを発生させない。例えば、図5(b)の例で、爆発音Qの発生位置OqがプレイヤキャラクタPaの正面方向NR’にあれば、図5(a)では、爆発音Qの発生位置QmaはCチャンネルのスピーカ601の位置に一致するから、Cチャンネルのスピーカ601から音量「1」で爆発音Qが発生され、他のチャンネルのスピーカ602〜605では爆発音Qは発生されない。
【0072】
上記の説明は、プレイヤキャラクタPaに対する爆発音Qの発生位置Oqの方向をサラウンドスピーカシステムで再現する方法についての説明であり、プレイヤキャラクタPaに対する爆発音Qの発生位置Oqの距離を考慮していない。爆発音Qの発生位置OqがプレイヤキャラクタPaから遠くなるほど、プレイヤキャラクタPaに聞える爆発音Qは小さくなるから、本実施形態では、例えば、距離に反比例して音量を小さくする補正係数K1aを設け、上記の説明で算出された音量に補正係数K1aを乗じて最終的な音量としている。
【0073】
図5(b)の例で、例えば、プレイヤキャラクタPaと爆発音Qの発生位置Oqの距離が0〜1mの範囲であれば、音の減衰量を0%(K1a=1)とし、1m〜5mの範囲では音の減衰量を10%(K1a=0.9)、5m〜10mの範囲では音の減衰量を20%(K1a=0.8)、10mより遠い範囲では音の減衰量を30%(K1a=0.7)のように段階的に音が減衰するように設定していると、プレイヤキャラクタPaと爆発音Qの発生位置Oqの距離が0〜1mの範囲であれば、FLチャンネルのスピーカ602の音量VFLAとSLチャンネルのスピーカ604の音量VSLAは、VFLA=0.833、VSLA=0.167であるが、1〜5mの範囲であれば、VFLA=0.83×0.9≒0.75、VSLA=0.17×0.9≒0.15になる。
【0074】
なお、音の距離減衰を反映するための補正係数K1aは、上記のように段階的に変化させるものに限定されるものではなく、連続的に変化させてもよく、その変化波形は距離が長くなるのに応じて音量が減少する特性を有する限り任意に設定することができるものである。
【0075】
次に、2人用ゲームモードにおける効果音の出力処理について、図6〜図9を用いて説明する。
【0076】
図6は、図5に対応するものである。図6(b)は、図5(b)において、プレイヤキャラクタPbを爆発音Qの発生位置Oqの前方に配置した図であり、図6(a)は、図5(a)において、プレイヤBに対する爆発音Qの発生位置Qmbを追加したものである。
【0077】
2人用ゲームモードでは、プレイヤAとプレイヤBについてそれぞれ1人用ゲームモードでの効果音の出力処理が行われる。プレイヤAについての1人用ゲームモードでの効果音の出力処理の結果は、図5(a)に示したものと同じであるので、説明を省略する。
【0078】
プレイヤBについての1人用ゲームモードでの効果音の出力処理では、プレイヤキャラクタPbの正面方向NRb’に対して爆発音Qの発生位置Oqの方向が真後ろ(角度θbがπの方向)であるので、プレイヤキャラクタPbはゲーム世界GWにおいて真後ろから爆発音Qを聞くことになる。従って、プレイヤBについては、円M’のπ方向の位置Qmbに爆発音Qの発生位置を設定し、その位置Qmbを挟むSLチャンネルのスピーカ604とSRチャンネルのスピーカ605を用いて爆発音Qを発生させることになる。
【0079】
そして、SLチャンネルのスピーカ604とSRチャンネルの605の各音量は、プレイヤAについて算出した方法と同様の方法で算出される。すなわち、発生位置QmbからSLチャンネルのスピーカ位置までの角度をθSLB、発生位置QmbからSRチャンネルのスピーカ位置までの角度をθSRBとすると、θSLB=π−3π/4=π/4、θSRB=5π/4−π=π/4であるから、SLチャンネルのスピーカ604の音量VSLBは、π/4/(π/4+π/4)=0.5、SRチャンネルのスピーカ605の音量VSRBは、π/4/(π/4+π/4)=0.5となる。
【0080】
図7は、プレイヤBについての1人用ゲームモードでの効果音の出力処理をした結果を示す図である。なお、図7では、減衰係数K1b=0.8を乗じた値を出力処理結果としているので、音量VSLB及びVSRBは0.4になっている。同図に示すように、SLチャンネルのスピーカ604とSRチャンネルのスピーカ605から同一の音量で爆発音Qが発生するので、プレイヤBは真後ろから爆発音Qを聞くことができる。
【0081】
2人用ゲームモードでは、図8に示すように、プレイヤAとプレイヤBについて算出された1人用ゲームモードでの効果音の出力処理の結果を足し合わせてサラウンドスピーカシステム6の各スピーカ601〜605の音量が設定される。
【0082】
なお、図8は、図5(a)に示すプレイヤAに対するサラウンド出力(距離減衰10%)と図7に示すプレイヤBに対するサラウンド出力(距離減衰20%)とを足し合わせるもので、その結果、C、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC〜VSRは、VC=0、VFL=0.75、VFR=0、VSL=0.55、VSR=0.4となっている。
【0083】
図8に示す音量配分では、スピーカ601〜605の音量VC〜VSRの合計値Vtが1.7(=0.75+0.55+0.4)となり、サラウンドスピーカシステムで出力可能な音量「1」を超えることになるので、スピーカ601〜605の音量VC〜VSRに補正係数KLを乗じてスピーカ601〜605の音量VC〜VSRの合計値が1以下になるようにリミッタ処理が行われる。
【0084】
補正係数KLは、プレイヤAに対するサラウンド出力の合計値VtaとプレイヤBに対するサラウンド出力の合計値Vtbのうち、大きい方をスピーカ601〜605の音量VC〜VSRの合計値Vtで割ることによって算出される。図8の例では、Vta=0.75+0.15=0.9、Vtb=0.4+0.4=0.8であるので、補正係数KLはKL=Vta/Vt=0.9/1.7≒0.529となる。
【0085】
従って、図8の音量配分にリミッタ処理が行われると、図9に示すように、C、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC’〜VSR’は、VC’=0、VFL’≒0.40(=0.75×0.529)、VFR’=0、VSL’≒0.29(=0.55×0.529)、VSR’=0.21(=0.4×0.529)となる。
【0086】
なお、補正係数KLの算出方法は、スピーカ601〜605の音量VC’〜VSR ’の合計値を1以下にできるものであれば、上記の方法に限定されるものではない。例えば、KL=1/Vtとしてもよい。この場合は、KL=0.588となるので、VFL’≒0.44、VSL’≒0.32、VSR=0.24となる。
【0087】
2人用ゲームモードで、プレイヤAとプレイヤBが同一のゲームソフトを行っているときに、例えば、図6(b)に示すような爆発音Qの発生が生じた場合、サラウンドスピーカシステム6のFL、SL及びSRの各チャンネルのスピーカ602,604,605から図9に示す音量配分で爆発音Qが発生される。
【0088】
従来のように、図5(a)に示す音量配分でサラウンドスピーカシステム6から爆発音Qを発生させた場合は、プレイヤBは後方から爆発音Qが聞えなくてはならないのに、斜め左前方から爆発音Qで聞えることになり、爆発音Qの聞え方に不自然感や違和感が生じる。また、図7に示す音量配分でサラウンドスピーカシステム6から爆発音Qを発生させた場合は、プレイヤAは斜め前方から爆発音Qが聞えなくてはならないのに、後方から爆発音Qで聞えることになり、爆発音Qの聞え方に不自然感や違和感が生じる。
【0089】
本実施形態では、サラウンドスピーカシステム6から図9に示す音量配分で爆発音Qが発生されるので、プレイヤA,Bには後方乃至斜め左前方向から爆発音Qが聞えることになるので、プレイヤA,Bがそれぞれ操作しているプレイヤキャラクタPa,Pbがゲーム世界GWで聞く爆発音Qの方向と全く異なる方向から爆発音Qが聞えるという不都合を緩和し、爆発音Qの聞え方の不自然感や違和感を低減することができる。
【0090】
次に、2人用ゲームモードにおける効果音の出力処理の手順について、図6と図10を用いて説明する。なお、以下の説明では、ゲーム進行中にゲーム世界GWの中で爆発という事象が発生した場合にその爆発音Qがサラウンドスピーカシステム6で出力されるまでの処理を中心に説明する。また、以下の処理は、例えばフレーム画像を作成するのに同期して行われるものである。
【0091】
ゲーム進行中に、ゲーム世界GWの中で爆発が発生すると(S1)、CPU201は、そのときの爆発の発生位置Oqの座標のデータとプレイヤキャラクタPa及びPbの位置Oa,Obの座標及び正面方向のデータを音声処理プロセッサ207に転送し(S2)、音声処理プロセッサ207にステップS2以降の手順を実行させる。なお、爆発物やプレイヤキャラクタPa及びPbのデータにはゲーム世界GWにおける座標やプレイヤキャラクタPa及びPbの正面方向を示すベクトルデータが含まれており、ゲームの進行やプレイヤA,Bの操作によりゲーム世界GWにおける爆発物やプレイヤキャラクタPa及びPbの位置が変化した場合には、RAM202に格納されている各キャラクタに含まれる座標やプレイヤキャラクタPa及びPbの正面方向を示すベクトルデータも更新されている。従って、CPU201はRAM202から爆発物やプレイヤキャラクタPa及びPbのデータを読み出し、2人用ゲームモードにおける効果音の出力処理指令とともに音声処理プロセッサ207に転送する。
【0092】
音声処理プロセッサ207では、爆発の発生位置OqとプレイヤキャラクタPaの位置Oaの座標からプレイヤキャラクタPaに対する爆発の発生位置Oqの方向のベクトルデータが算出され、このベクトルデータとプレイヤキャラクタPaの正面方向を示すベクトルデータとからプレイヤキャラクタPaの正面方向に対する爆発の発生位置Oqの方向の角度θaが算出される。同様に、爆発の発生位置OqとプレイヤキャラクタPbの位置Obの座標からプレイヤキャラクタPbに対する爆発の発生位置Oqの方向のベクトルデータが算出され、このベクトルデータとプレイヤキャラクタPbの正面方向を示すベクトルデータとからプレイヤキャラクタPbの正面方向に対する爆発の発生位置Oqの方向の角度θbが算出される(S3)。
【0093】
続いて、角度θa,θbを用いて図6(a)における爆発の発生位置Qma,Qmbが算出され(S4)、発生位置QmaとC、FL、FR、SL、SRの各チャンネルのスピーカの位置から発生位置Qma,Qmbを挟むそれぞれ2つのチャンネルが決定される(S5)。図6(a)の例では、発生位置Qmaに対してFLチャンネルとSLチャンネルが決定され、発生位置Qmbに対してSLチャンネルとSRチャンネルが決定される。
【0094】
続いて、発生位置QmaとFLチャンネルのスピーカ位置で挟まれる角度θFLAと発生位置QmaとSLチャンネルのスピーカ位置で挟まれる角度θSLAが算出される(S6)。図6(a)の例では、θFLA=π/12、θSLA=5π/12が算出される。また、発生位置QmbとSLチャンネルのスピーカ位置で挟まれる角度θSLBと発生位置QmbとSRチャンネルのスピーカ位置で挟まれる角度θSRBが算出される(S6)。図6(a)の例では、θSLB=π/4、θSRB=π/4が算出される。
【0095】
続いて、爆発の発生位置OqとプレイヤキャラクタPaの位置Oaの座標からプレイヤキャラクタPaに対する爆発の発生位置Oqの距離が算出され、その距離から補正係数K1aが算出される。同様に、爆発の発生位置OqとプレイヤキャラクタPbの位置Obの座標からプレイヤキャラクタPbに対する爆発の発生位置Oqの距離が算出され、その距離から補正係数K1bが算出される(S7)。
【0096】
続いて、角度θFLA,θSLAと補正係数K1aを用いてFLチャンネルのスピーカの音量VFLAとSLチャンネルの音量VSLAが算出され、角度θSLB,θSRBと補正係数K1bを用いてSLチャンネルのスピーカの音量VSLBとSRチャンネルの音量VSRBが算出される(S8)。図6(a)の例では、K1a=0.9、K1b=0.8、とすると、VFLA=K1a・θSLA/(θFLA+θSLA)=0.9・(5π/12)/(π/12+5π/12)≒0.75、VSLA=K1a・θFLA/(θFLA+θSLA)=0.9・(π/12)/(π/12+5π/12)≒0.15が算出され、VSLB=K1b・θSRB/(θSLB+θSRB)=0.8・(π/4)/(π/4+π/4)=0.4、VSRB=K1b・θSLB/(θSLB+θSRB)=0.8・(π/4)/(π/4+π/4)=0.4が算出される。
【0097】
続いて、プレイヤキャラクタPaとプレイヤキャラクタPbについてそれぞれ算出されたサラウンドスピーカシステム6の各チャンネルの音量が、チャンネル毎に加算される(S9)。すなわち、C,FL,FR,SL,SRの各チャンネルの音量VC,VFL,VFR,VSL,VSRとすると、VC=VCA+VCB、VFL=VFLA+VFLB、VRL=VRLA+VRLB、VSL=VSLA+VSLB、VSR=VSRA+VSRBの演算が行われる。
【0098】
続いて、リミッタ処理のための補正係数KLが算出される(S10)。音声処理プロセッサ207は、Vta=VFLA+VSLAとVtb=VSLB+VSRBを算出するとともに、Vt=Vta+Vtbを算出し、Vta>Vtbであれば、Vta/Vtを補正係数KLとし、Vta<Vtbであれば、Vtb/Vtを補正係数KLとして算出する。図6(a)の例では、Vta=0.9、Vtb=0.8であるので、音声処理プロセッサ207は、Vta/Vt≒0.529を補正係数KLとして算出する。
【0099】
続いて、ステップS9で算出されたC,FL,FR,SL,SRの各チャンネルの音量VC,VFL,VFR,VSL,VSRに補正係数KLを乗じてC、FL、FR、SL、SRの各チャンネルのスピーカ601〜605の音量VC’〜VSR’が算出される(S11)。図6(a)の例では、VCA=VCB=VFRA=VFRB=0であるから、VC’=0、VFR’=0となる。また、VFLA+VFLB=0.75、VSLA+VSLB=0.55、VSRA+VSRB=0.4であるから、VFL’=KL・(VFLA+VFLB)≒0.40、VSL’=KL・(VSLA+VSLB)≒0.29、VSR’=KL・(VSRA+VSRB)≒0.21となる。
【0100】
そして、ステップS10で算出されたC、FL、FR、SL、SRの各チャンネルの音量のデータはAVアンプ5に出力されて(S12)、効果音の出力処理は終了する。
【0101】
なお、上記実施形態では、サラウンドスピーカシステムの各チャンネルについて、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量を加算し、その加算値を用いて各チャンネルのスピーカ601〜605から実際に出力すべき音量を算出していたが、上記の実施形態の効果と同様の効果を得ることができるものであれば、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量の加算値ではなく、プレイヤAに対して求めた音量とプレイヤBに対して求めた音量とを用いて所定の演算式により求めた演算結果を用いて各チャンネルのスピーカ601〜605から実際に出力すべき音量を算出するようにしてもよい。
【0102】
なお、上記実施形態では、5.1chのサラウンドスピーカシステムにおけるFL、FR、SL、SRの各チャンネルのスピーカの位置を±π/4、±3π/4としていたが、ITU−R配置であってもよい。また、サラウンドスピーカシステムは、5.1chに限られるものではなく、本発明は、7.1chや9.2chなどの他のサラウンドスピーカシステムにも適用できる。
【0103】
また、上記実施形態では、ゲーム世界で効果音を聞く主体はプレイヤが操作するプレイヤキャラクタとしていたが、必ずしもプレイヤキャラクタに限定しなくてもよい。
【0104】
また、上記実施形態では、オフラインのゲーム機について説明したが、本発明は、オンラインゲームモードを備え、効果音をサラウンドスピーカシステムで出力することができるゲームソフトにも適用することができることは言うまでもない。さらに、上記実施形態では、三次元のゲーム世界でプレイヤキャラクタが行動するゲームについて説明したが、本発明は、二次元のゲーム世界でプレイヤキャラクタが行動するゲームについても適用できることは言うまでもない。
【0105】
また、上記実施形態では、2人用ゲームモードを例に説明したが、3人以上のプレイヤが同時にプレイをできるモードを有している場合にも各プレイヤが操作するプレイヤキャラクタ毎にサラウンドスピーカシステムの各チャンネルの音量を求めるとともに、プレイヤキャラクタ毎の音量をチャンネル毎に加算(若しくは所定の演算)し、その加算値を用いてサラウンドスピーカシステムからサラウンド出力を行うことにより、2人用ゲームモードの例と同様の効果を得ることができる。
【図面の簡単な説明】
【0106】
【図1】本発明に係る効果音出力処理を含むゲームソフトで仮想的に構築されるゲーム世界の一例を示す斜視図である。
【図2】本発明に係る効果音出力処理を含むゲームソフトを実行するためのゲームシステムの一例を示す図である。
【図3】ゲーム装置の内部構成を示すブロック図である。
【図4】2人用ゲームモードでモニタに表示されるゲーム画面の一例を示す図である。
【図5】1人用ゲームモードにおける効果音の出力処理を説明するための図である。
【図6】2人用ゲームモードにおける効果音の出力処理を説明するための図である。
【図7】他のプレイヤについての1人用ゲームモードでの効果音の出力処理結果を示す図である。
【図8】2人のプレイヤについてそれぞれ行った1人用ゲームモードでの効果音の出力処理を足し合わせる処理を示す図である。
【図9】図8の処理結果にリミッタ処理を行った結果を示す図である。
【図10】2人用ゲームモードにおける効果音の出力処理手順を示すフローチャートである。
【図11】ゲーム空間上で爆破音が発生したときに、その爆破音をサラウンドスピーカシステムで出力させる方法の一例を説明するための図である。
【図12】横方向に並んで居る2体のプレイヤキャラクタの間で爆発が生じた状態を上から見た図である。
【図13】縦方向に並んで居る2体のプレイヤキャラクタの間で爆発が生じた状態を上から見た図である。
【符号の説明】
【0107】
1 ゲームシステム
2 ゲーム装置
2a ゲームメディア装填部
201 CPU
202 RAM
203 ROM
204 描画処理プロセッサ
205 VRAM
206 D/Aコンバータ
207 音声処理プロセッサ
208 モニタ用I/F
209 音声用I/F
210 コントローラ用I/F
211 メディアドライバ
212 バス
3 コントローラ
4 モニタ
402,403 内蔵スピーカ
5 AVアンプ
6 サラウンドスピーカシステム
601 センタスピーカ
602 フロントLスピーカ
603 フロントRスピーカ
604 リアーLスピーカ
605 リアーRスピーカ
606 サブウーハスピーカ
7 ゲームメディア
【特許請求の範囲】
【請求項1】
コンピュータを、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置として機能させるためのゲームプログラムであって、
前記コンピュータを、
前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、
各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、
前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、
前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、
して機能させることを特徴とするゲームプログラム。
【請求項2】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、各キャラクタの正面方向を基準とした前記音の発生源の方向を含み、
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向に対する各チャンネルの方向の角度を求め、それらの角度に基づいて各チャンネルに対応するスピーカに対する音量の比率を算出する、請求項1に記載のゲームプログラム。
【請求項3】
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとする、請求項1に記載のゲームプログラム。
【請求項4】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正する、請求項2又は3に記載のゲームプログラム。
【請求項5】
前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算し、その加算値を用いて各チャンネルのスピーカから出力すべき音量に関するデータを算出する、請求項1乃至4のいずれかに記載のゲームプログラム。
【請求項6】
前記第2の音量データ算出手段は、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出し、この第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数をチャンネル毎に算出される前記加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する、請求項5に記載のゲームプログラム。
【請求項7】
前記請求項1乃至6のいずれかに記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項8】
ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムで出力させるための音声出力処理装置であって、
前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、
各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、
前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、
前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、
を備えたことを特徴とする音声出力処理装置。
【請求項9】
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとする、請求項8に記載の音声出力処理装置。
【請求項10】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正する、請求項8又は9に記載の音声出力処理装置。
【請求項11】
前記第2の音量データ算出手段は、
前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算する第1の演算手段と、
前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出する第2の演算手段と、
前記第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数を前記加算手段で算出されるチャンネル毎の加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第3に演算手段と、
を含む、請求項8乃至10のいずれかに記載の音声出力処理装置。
【請求項1】
コンピュータを、ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムによって出力させるための音声出力処理装置として機能させるためのゲームプログラムであって、
前記コンピュータを、
前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、
各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、
前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、
前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、
して機能させることを特徴とするゲームプログラム。
【請求項2】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、各キャラクタの正面方向を基準とした前記音の発生源の方向を含み、
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向に対する各チャンネルの方向の角度を求め、それらの角度に基づいて各チャンネルに対応するスピーカに対する音量の比率を算出する、請求項1に記載のゲームプログラム。
【請求項3】
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとする、請求項1に記載のゲームプログラム。
【請求項4】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正する、請求項2又は3に記載のゲームプログラム。
【請求項5】
前記第2の音量データ算出手段は、前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算し、その加算値を用いて各チャンネルのスピーカから出力すべき音量に関するデータを算出する、請求項1乃至4のいずれかに記載のゲームプログラム。
【請求項6】
前記第2の音量データ算出手段は、前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出し、この第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数をチャンネル毎に算出される前記加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する、請求項5に記載のゲームプログラム。
【請求項7】
前記請求項1乃至6のいずれかに記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項8】
ゲームに登場する2以上のキャラクタがゲーム空間上で聴取する音をサラウンドスピーカシステムで出力させるための音声出力処理装置であって、
前記ゲーム空間における前記音の発生源の各キャラクタに対する相対的な位置に関する情報を算出する位置情報算出手段と、
各キャラクタに対して算出された前記音の発生源の位置情報に基づいて、キャラクタ毎に前記サラウンドスピーカシステムの各チャンネルの音量に関するデータを算出する第1の音量データ算出手段と、
前記サラウンドスピーカシステムのチャンネル毎に前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを用いて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第2の音量データ算出手段と、
前記音が発生する事象が生じると、前記第2の音量データ算出手段で前記サラウンドスピーカシステムの各チャンネルに対して算出された音量に関するデータを用いて各チャンネルに対応するスピーカから音を出力させる音量制御手段と、
を備えたことを特徴とする音声出力処理装置。
【請求項9】
前記第1の音量データ算出手段は、各キャラクタの正面方向を前記サラウンドスピーカシステムの正面方向に合わせて、前記音の発生源の方向を挟む2つのチャンネルの方向を求め、両チャンネルの方向の前記音の発生源の方向に対する角度を求め、それらの角度に基づいて両チャンネルに対応するスピーカに対する音量の比率を算出し、他のチャンネルに対応するスピーカに対する音量はゼロとする、請求項8に記載の音声出力処理装置。
【請求項10】
前記位置情報算出手段で算出される前記音の発生源の位置情報は、さらに各キャラクタと前記音の発生源との距離を含み、
前記第1の音量データ算出手段は、キャラクタ毎に算出した音量の比率を前記距離に基づいて予め設定された減衰率を乗じて補正する、請求項8又は9に記載の音声出力処理装置。
【請求項11】
前記第2の音量データ算出手段は、
前記サラウンドスピーカシステムのチャンネル毎に、前記第1の音量データ算出手段で算出されたキャラクタ毎の音量に関するデータを加算する第1の演算手段と、
前記第1の音量データ算出手段で算出された前記サラウンドスピーカシステムの各チャンネルの音量に関するデータをキャラクタ毎に合計した第1の合計値と全ての各チャンネルの音量に関するデータを合計した第2の合計値を算出する第2の演算手段と、
前記第2の合計値で前記第1の合計値の中の最大値を除してリミッタ係数を算出し、このリミッタ係数を前記加算手段で算出されるチャンネル毎の加算値に乗じて各チャンネルのスピーカから実際に出力させる音量に関するデータを算出する第3に演算手段と、
を含む、請求項8乃至10のいずれかに記載の音声出力処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−131113(P2010−131113A)
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願番号】特願2008−308632(P2008−308632)
【出願日】平成20年12月3日(2008.12.3)
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願日】平成20年12月3日(2008.12.3)
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】
[ Back to top ]