説明

ゲーム情報、情報記憶媒体、およびゲーム装置

【課題】 本発明の課題は、ゲーム装置により実現する球技ゲームにおいて、位置関係に応じたキャラクタの心理的変化を表現することである。
【解決手段】 上記課題を解決するために、本実施形態では、位置条件判定部222がボール所有キャラクタとその相手チームに属するキャラクタとの位置関係を判定する。そしてキャラクタ間の位置関係が位置条件を満たす場合には、能力変更部224がボール所有キャラクタの動作能力を決定付ける固有値を変更するための処理を実行し、動作制御部226が変更された固有値に基づいてボール所有キャラクタの動作を制御する。また、視点制御部228は、キャラクタ間の位置関係に応じて視点の位置あるいは視野角を変更する。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】利用者の操作入力に応答して仮想空間におけるゲームを実行すると共に、係る仮想空間の画像をリアルタイムに生成するようにプロセッサを備える装置に機能させるためのゲーム情報、係るゲーム情報を記憶する情報記憶媒体、およびゲームを実現するゲーム装置に関する。
【0002】
【従来の技術】従来、操作入力に応答してゲームを実行すると共に、リアルタイムでゲーム画像を生成し、ディスプレイに表示させるタイプのゲーム装置が多く開発されている。例えば、家庭用のゲーム装置としては、テレビ等のディスプレイと操作入力用のゲームコントローラがゲーム装置の本体に接続されることでゲームを実現するタイプのものや、表示画面とコントローラが一体構成された小型のゲーム装置などがある。また業務用のゲーム装置では、大型ディスプレイと操作パネルとを一体的に備える筐体により構成されるゲーム装置がある。あるいはパーソナルコンピュータ(PC)などを用いて、ネットワークを介して実現されるゲームも多く開発されている。これらのゲーム(あるいはゲーム装置)の多くは、操作入力やプログラム、データなどに基づいてキャラクタの動きを制御し、仮想的なカメラ(視点)に基づいてキャラクタを含む仮想空間の画像を生成し、表示している。
【0003】この種のゲーム装置により実現されるゲームには様々な種類のものがあるが、その1つにバスケットボールゲームがある。バスケットボールゲームでは、1チームを5つのキャラクタにより構成し、仮想空間に設定されたゲームコート上で2チーム(すなわち、10のキャラクタ)を対戦させる。プレーヤは、いずれか一方のチームのキャラクタをゲームコントローラによって操作する。例えば、操作対象となるキャラクタがボールを保持する場合には、方向キーによってドリブルする方向を指定し、また機能キーによってボールのパスやシュートの実行有無を指示する。一方、操作対象となるキャラクタがボールを保持しない場合には、方向キーなどによって移動方向を指定し、機能キーにより敵チームのキャラクタの動作を阻止したりボールを奪わせる動作などを指定する。
【0004】ところで、上記バスケットボールゲームのように、複数のキャラクタが同時に画面上に登場するようなゲームでは、個々のキャラクタにそれぞれ固有な能力を持たせてキャラクタを識別可能ならしめ、またゲームがより複雑且つリアルに展開するように設定されたものがある。例えば、シュートやパス、ドリブル、ジャンプなどの各キャラクタの動作能力の違いを明瞭にして個性を表現させるものがある。係るゲームによればプレーヤはこれらキャラクタの能力を使い分けてゲーム戦略を練ることとなる。
【0005】
【発明が解決しようとする課題】上述のように、キャラクタに固有な動作能力を発揮させるタイプのゲームはバスケットボールゲームに限らず過去に複数存在した。しかし、操作入力に応答してリアルタイムにゲームを実現させるタイプの球技ゲームにおいて、ゲーム実行中におけるキャラクタの心の動きを表現し、尚且つその感情をリアルにゲームに反映させるタイプのゲームは稀であった。現実世界におけるバスケットボールゲームでは、選手同士のボディーコンタクトによって選手に心理的作用が引き起こり、係る選手のプレーに変化が現れることがある。例えば、苦手とする相手選手にマークされることでプレッシャーを感じて上手く能力が発揮できないといったことがある。現実の球技では、こうした心理的効果を戦略に取り入れることがあるが、従来のゲーム装置によれば、係る心理戦略を可能とするゲームがなかった。
【0006】本発明の課題は、ゲーム装置により実現する球技ゲームにおいて、位置関係に応じたキャラクタの心理的変化を表現することである。
【0007】
【課題を解決するための手段】請求項1に記載の発明は、演算・制御を行うプロセッサを備える装置に対して、操作入力に応答して所与のキャラクタをリアルタイムに動作させ、前記所与のキャラクタを含む複数のキャラクタが登場する球技ゲームを実行する手段(例えば、図7に示すゲーム演算部220)と、視点に基づいて前記複数のキャラクタが存する仮想空間の画像を生成する手段(例えば、図7に示す画像生成部240)と、を機能させるためのゲーム情報であって、前記複数のキャラクタのうち、ボールを有するボール所有キャラクタと他のキャラクタとの位置関係が位置条件を満たすか否かを判定する位置判定手段(例えば、図7に示す位置条件判定部222;図9の位置判定処理)と、前記位置条件を満たすキャラクタの動作能力を変更する動作能力変更手段(例えば、図7に示す能力変更部224および動作制御部226;図13に示す動作制御処理)と、を前記装置に機能させるための情報を含むことを特徴とする。
【0008】請求項20に記載の発明は、操作入力に応答して所与のキャラクタをリアルタイムに動作させ、視点に基づいて前記所与のキャラクタを含む複数のキャラクタが存する仮想空間の画像を生成して表示することで前記複数のキャラクタが登場する球技ゲームを実行するゲーム装置(例えば、図1に示すゲーム装置1)であって、前記複数のキャラクタのうち、ボールを有するボール所有キャラクタと他のキャラクタとの位置関係が位置条件を満たすか否かを判定する位置判定手段(例えば、図7に示す位置条件判定部222)と、前記位置条件を満たすキャラクタの動作能力を変更する動作能力変更手段(例えば、図7に示す能力変更部224および動作制御部226)と、を備えることを特徴とする。
【0009】この請求項1または20に記載の発明によれば、ボールを所有するキャラクタとその他のキャラクタとの位置関係を判定し、位置条件を満たすキャラクタが存在する場合には、係るキャラクタの動作能力を変更する。すなわち、キャラクタ間の位置関係に応じてキャラクタの動作能力を変更させることができる。故に例えばバスケットボールゲームのようにキャラクタ間にボディーコンタクトが起こり得るゲームでは、位置関係によって発生する選手キャラクタの心理的変化を動作能力の変化により表現することができる。また、このように位置関係に応じて動作能力を変更させることでゲームをより複雑かつリアルに展開させることができる。
【0010】また請求項2に記載の発明のように、請求項1に記載のゲーム情報において、前記位置判定手段が、ボール所有キャラクタの所定方向に対して他のキャラクタが存在するか否かを前記位置条件として判定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0011】この請求項2に記載の発明によれば、ボール所有キャラクタに対するその他のキャラクタの方位に応じて動作能力の変更有無を決定することができる。故にボール所有キャラクタから見て一の方向にその他のキャラクタが存在する場合には動作能力を変更せず、それとは異なる方向にその他のキャラクタが存在する場合には動作能力を変更するといった具合に、方向に対する特異性を演出することができる。したがって例えば、ボール所有キャラクタの背後にその他のキャラクタが存在するときには動作能力を変更せず、それ以外の方向に存在する場合には動作能力を変更するといったことが可能となる。
【0012】また請求項3に記載の発明のように、請求項1または2に記載のゲーム情報において、前記位置判定手段が、ボール所有キャラクタに追動する所定範囲内に他のキャラクタが存在するか否かを前記位置条件として判定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0013】この請求項3に記載の発明によれば、位置条件として、ボール所有キャラクタに追動する所定範囲内に他のキャラクタが存在するか否かを判定する。その際、所定範囲内にキャラクタが存在するときを位置条件が満たされたものとしても良いし、所定範囲外にキャラクタが存在するときを位置条件が満たされたものとしてもよい。このように所定範囲内か外かを判定するだけで簡単に位置判定を行うことが可能となる。また、所定範囲はボール所有キャラクタの移動に従って移動するものであるから(追動)、例えばボール所有キャラクタの位置近傍に所定範囲が常に位置するように設定すれば、ボール所有キャラクタに対して他のキャラクタが遠いかあるいは近いかを区別することが容易となる。
【0014】また請求項4に記載の発明のように、請求項3に記載のゲーム情報において、前記動作能力変更手段が、前記所定範囲内に存在する他のキャラクタの数または/および存続時間に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0015】この請求項4に記載の発明によれば、位置条件を満たす他のキャラクタの数や存続時間に伴って動作能力が変化することとなる。故に例えば、位置条件を満たす他のキャラクタの数が多ければ多いほど、あるいは少なければ少ないほど動作能力が変化するように設定することができる。係る設定によれば、例えばディフェンスの数が増すほど心理的負担が増大し、動作能力が低下するといったボール所有キャラクタの心理を演出することが可能となる。または、位置条件を満たす時間が長引くほどに動作能力を低下あるいは向上させたり、逆に、長引くにつれて次第に通常の動作能力に戻るように設定することができる。
【0016】また請求項5に記載の発明のように、請求項1から4のいずれかに記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの距離に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0017】この請求項5に記載の発明によれば、位置条件を満たす他のキャラクタとボール所有キャラクタとの距離に応じて動作能力を変更させる。故に例えば、ボール所有キャラクタに対して他のキャラクタが近ければ近い程、あるいは遠ければ遠いほど動作能力が変化するように設定することができる。係る設定によれば、例えばディフェンス側のキャラクタが接近したことによって生じる心理的変化を動作能力の変化によって表現することができる。
【0018】また請求項6に記載の発明のように、請求項1から5のいずれかに記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たすキャラクタのうち、前記ボール所有キャラクタの動作能力を変更する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0019】この請求項6に記載の発明によれば、位置条件が満たされたとき、ボール所有キャラクタの動作能力を変更する。これにより例えば、ディフェンス時におけるキャラクタの行為を明確にすることができる。従来のバスケットボールゲームなどでは、キャラクタ間の物理的な接触によってのみディフェンスによるオフェンスに対する妨害を成していたが、係る発明によれば、他のキャラクタとの位置関係によってボール所有キャラクタの動作能力を低下させることができる。
【0020】また請求項7に記載の発明のように、請求項6に記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たす他のキャラクタが前記球技ゲームに登場する何れのキャラクタであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0021】この請求項7に記載の発明によれば、他のキャラクタの種類に応じてボール所有キャラクタの動作能力の変更量を決定する。例えば、ボール所有キャラクタに他のキャラクタAが接近した場合と他のキャラクタBが接近した場合とで動作能力の変更量が異なるように設定することができる。故にディフェンスの得意不得意を個々のキャラクタの個性として表現することができる。
【0022】また請求項8に記載の発明のように、請求項6に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタが前記球技ゲームに登場する何れのキャラクタであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0023】この請求項8に記載の発明によれば、ボールを所有するキャラクタの種類に応じて動作能力の変更量を決定する。例えば、キャラクタAがボールを所有する場合と、キャラクタBがボールを所有する場合とで、位置条件が満たされたときの動作能力の変更量が異なるように設定することができる。故にキャラクタ間の位置関係に反応して心が動揺しやすいキャラクタや動揺しにくいキャラクタなどを表現することができる。
【0024】また請求項9に記載の発明のように、請求項6に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの組み合わせが、前記球技ゲームに登場する何れのキャラクタの組み合わせであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0025】この請求項9に記載の発明によれば、ボール所有キャラクタと位置条件を満たした他のキャラクタとの組み合わせに応じて動作能力の変更量を決定する。例えば、ボール所有キャラクタがAであるときに、他のキャラクタBが接近した場合とキャラクタCが接近した場合とでは、キャラクタBが接近したときの方がより大きくキャラクタAの動作能力を変更できるが、ボール所有キャラクタがDであるときには、キャラクタBが接近したときよりもキャラクタCが接近したときの方がより大きくキャラクタDの動作能力を変更できる、といった違いを演出することができる。
【0026】また請求項10に記載の発明のように、請求項9に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタのポジションと前記位置条件を満たす他のキャラクタのポジションとの組み合わせに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0027】この請求項10に記載の発明によれば、ボール所有キャラクタと位置条件を満たした他のキャラクタのポジションに応じて動作能力の変更量を決定する。故に例えば相関性のないポジション同士のキャラクタが接近した場合には、動作能力の変更量が少なく、また相関性の高いポジション同士のキャラクタが接近した場合には動作能力の変更量を大きく設定する、といった演出を施すことが可能となる。
【0028】また請求項11に記載の発明のように、請求項6から10のいずれかに記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たす他のキャラクタが、前記球技ゲームにおけるボール所有キャラクタの相手チームに属する場合にのみ動作能力を変更する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0029】この請求項11に記載の発明によれば、ボール所有キャラクタの相手チームに属するキャラクタが位置条件を満たした場合に、ボール所有キャラクタの動作能力を変更する。換言すれば味方チームに属するキャラクタが位置条件を満たしてもボール所有キャラクタの動作能力は変更されず、したがってオフェンス時とディフェンス時におけるキャラクタの行為を明確に区別することができる。
【0030】なおボール所有キャラクタの動作能力には様々な種類のものが考えられるが、例えば請求項12に記載の発明のように、請求項6から11のいずれかに記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタのシュート、パス、ジャンプ、ドリブル、のうち少なくとも1つの動作能力を変更する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0031】また請求項13に記載の発明のように、請求項1から12のいずれかに記載のゲーム情報において、ボール所有キャラクタに周囲を見渡す行為を行わせる見渡行為手段を、前記装置に機能させるための情報と、前記位置判定手段が、ボール所有キャラクタが見渡す行為を行う際に前記位置条件の判定を行う、ように前記装置に機能させるための情報と、を含むこととしてもよい。
【0032】この請求項13に記載の発明によれば、仮想空間における周囲を見渡す行為をボール所有キャラクタに実行させる。そして、ボール所有キャラクタが見渡す行為を行う際に位置条件の判定を行う。換言すれば、ボール所有キャラクタの見渡す行為をきっかけとして位置判定を行う。例えば、バスケットボールゲームなどでは周囲を見渡すことでパス先を決定することがある。係るゲームにおいては、周囲を見渡したときの位置条件に基づいて動作能力の変更有無を決定したり、動作能力の変更量を決定することができる。
【0033】また請求項14に記載の発明のように、請求項1から13のいずれかに記載のゲーム情報において、前記動作能力変更手段は、前記球技ゲームにおける残り時間若しくは点差に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0034】この請求項14に記載の発明によれば、ゲームにおける残り時間あるいは点差に応じて動作能力の変更量を決定することができる。故に、キャラクタ間の位置関係に基づく心理的作用と、時間や点差などのゲームの進行状況に基づく心理的作用の両方を動作能力の変化によって表現することが可能となる。
【0035】また、請求項15に記載の発明のように、請求項1から14のいずれかに記載のゲーム情報において、前記位置条件が満たされたときに、前記ボール所有キャラクタの表情を変更する表情変更手段を、前記装置に機能させるための情報を含むこととしてもよい。
【0036】ここで、表情とは、顔付きや顔色、汗などの他、身振りなどを含む意である。この請求項15の発明によれば、位置条件が満たされたときのボール所有キャラクタの表情を変化させることができる。例えば、ボール所有キャラクタの顔色を悪くさせたり、額や頭部近傍に汗を配したり、或いは、びくびくさせる、などといった表現をする。これによって、ボール所有キャラクタの焦りや動揺を視覚的に表現すると共に、動作能力の変化を間接的にプレーヤに知らせることが可能となる。
【0037】また請求項16に記載の発明のように、請求項1から15のいずれかに記載のゲーム情報において、前記位置条件が満たされたときに、視点に基づく前記仮想空間の画像表示範囲を変更する表示範囲変更手段(例えば、図7に示す視点制御部228;図17に示す視点制御処理)を、前記装置に機能させるための情報を含むこととしてもよい。
【0038】この請求項16に記載の発明によれば、位置条件が満たされたときに仮想空間の画像表示範囲を変更する。例えば、位置条件が満たされないときには、球技ゲームにおけるコート全体を表示し、位置条件が満たされたときにはその位置条件を満たすキャラクタに注目した表現をする、といった具合に画像表示範囲を変更する。このことによって位置条件が満たされたときのキャラクタの心理を動作能力の変化によって表現するだけでなく、表示状態を変更することで主観的に表現することが可能となる。
【0039】また請求項17に記載の発明のように、請求項16に記載のゲーム情報において、前記表示範囲変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの距離、前記位置条件を満たす他のキャラクタの数、及び前記位置条件を満たした経過時間、の内の少なくとも1つに基づいて画像表示範囲の変更量を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0040】この請求項17に記載の発明によれば、ボール所有キャラクタと位置条件を満たす他のキャラクタとの距離や、位置条件を満たす他のキャラクタの数、時間に応じて画像の表示範囲を変更する。故に例えば、ディフェンスが接近したことやディフェンスの数が増したことによるボール所有キャラクタの不安感や緊張感を表示状態の変化によって主観的に表現することができる。
【0041】なお、画像表示範囲を変更する方法としては複数の方法が考えられるが、例えば請求項18に記載の発明のように、請求項16または17に記載のゲーム情報において、前記表示範囲変更手段が、ボール所有キャラクタに対する視点の距離を変更する、視点の視野角を変更する、ボール所有キャラクタの周囲をぼかす、のうち少なくとも1つの処理を行うことで画像表示範囲を変更する、ように前記装置に機能させるための情報を含むこととしてもよい。
【0042】また、請求項19に記載の発明のように、請求項1から18のいずれかに記載のゲーム情報を情報記憶媒体に記憶しても良いことは勿論である。
【0043】
【発明の実施の形態】以下に、本発明の好適な実施形態について図面を参照して説明する。以下では、家庭用のゲーム装置によりバスケットボールゲームを実行する場合を例に説明するが、本発明の適用については、以下の場合に限定する必要はない。
【0044】図1は、家庭用のゲーム装置1の一例を示す図である。同図によれば、ゲーム装置1には、ディスプレイ2、ゲームコントローラ3,4等が着脱自在な構成になっている。ゲーム装置1の処理系は、システムプログラムやゲームプログラム420などの情報とゲームコントローラ3,4から入力される信号とに基づいて画像を生成して、ディスプレイ2に表示する。また、ゲーム装置1に着脱自在な情報記憶媒体であるCD−ROM5、ICカード6、メモリカード7および、ゲーム装置1本体が備える情報記憶媒体等にシステムプログラムやゲームプログラム420、ゲームデータ、本実施形態を実現する為に必要な情報などが格納されている。
【0045】図2は、本実施形態におけるバスケットボールゲームのゲーム画像10の一例を示す図である。同図によれば、ゲーム画像10には、仮想空間内に設定されたバスケットボールコート12と、複数の選手キャラクタ14a,14b,14c…と、得点16と、が表示されている。各選手キャラクタはAチームとBチームの何れかに属し、ユニフォームの色や模様によって所属するチームを明示している。
【0046】プレーヤは、ディスプレイ2に映し出されるゲーム画像を見ながらゲームコントローラ3,4を操作してバスケットボールゲームを楽しむ。ただし本実施形態では、プレーヤがゲームコントローラ3,4によって動作指示可能なキャラクタの数は常に1つとする。すなわち、プレーヤは、ゲーム実行中においてゲームに登場する一方のチームに属するキャラクタの中から操作対象となるキャラクタをその時々で選択してゲームコントローラ3,4によって動作の指示を入力する。例えば、操作対象として選択したキャラクタがボールを有する場合には、プレーヤはゲームコントローラ3,4によってシュートやジャンプ、パス、ドリブルなどの動作を指示し、また操作対象として選択したキャラクタがディフェンス側である場合には、相手となるキャラクタのパスの妨害、ボールのカット、ブロック、相手となるキャラクタのマークなどの動作を指示する。なおプレーヤの操作対象となるキャラクタ以外のキャラクタについては、ゲーム装置1の処理系によって自動制御される。以下、プレーヤにより操作されるキャラクタを操作キャラクタという。
【0047】一方、ゲーム装置1の処理系は、ゲームコントローラ3,4から入力される指示やゲームプログラムなどに含まれる情報に基づいて各キャラクタの動きを制御する。そして、仮想空間に設定した仮想的なカメラ(以下、視点という)に基づいて各キャラクタを含む仮想空間の画像を生成し、ディスプレイ2に表示させる。
【0048】ところで、本実施形態におけるゲーム装置1の特徴は、ボールを所有するキャラクタとその他のキャラクタとの位置関係に応じてボールを所有するキャラクタの能力を変化させることである。具体的には、ボールを所有するキャラクタの近くにその対戦相手チームに属するキャラクタが接近したとき、ボールを所有するキャラクタの動作能力を変化させる。これにより、マークされたことにより動揺したキャラクタの心理を表現し、またバスケットボールゲームにおけるゲーム戦略の手段を増やし、より現実的なゲームを演出することが可能となる。
【0049】図3は、本実施形態におけるゲーム画像20の一例を示す図であり、黒いユニフォームのキャラクタ22(以下、黒キャラクタという)がシュートを実行する直前の画像例である。すなわち、黒キャラクタ22がボール26を所有している。さて、同図において、黒キャラクタ22の近くには、すなわち黒キャラクタ22のシュートを妨害するのに十分近い位置には、対戦相手である白いユニフォームのキャラクタ24(以下、白キャラクタという)が存在しない。係る場合には、本実施形態におけるゲーム装置1の処理系は、黒キャラクタ22に予め設定した動作能力を発揮させてシュートを行わせる。
【0050】図4は、本実施形態におけるゲーム画像30の一例を示す図であり、白キャラクタ32がドリブルを行っている際の画像例である。すなわち、ボール36を所有するキャラクタは、白キャラクタ32である。さて同図によれば、白キャラクタ32の近くに、すなわち白キャラクタ32のドリブルを妨害するのに十分近い位置に黒キャラクタ34が存在する。係る場合には、本実施形態におけるゲーム装置1の処理系は、白キャラクタ32の動作能力を低下させ、例えば、ドリブル速度を遅くさせたり、パスの成功確率を低くしたりして、白キャラクタ32の心の動揺を表現する。
【0051】ただし、本実施形態では、ボールを所有するキャラクタの近くにその対戦相手であるキャラクタが存在する場合であっても、その対戦相手であるキャラクタがボールを所有するキャラクタの背後に存在する場合には、ボールを所有するキャラクタの動作能力を低下させることなく動作を行わせる。図5は、本実施形態におけるゲーム画像40の一例を示す図であり、白キャラクタ42がドリブルを行っている最中の画像例である。すなわち、白キャラクタ42がボール46を所有している。さて同図によれば、白キャラクタ42の近くにはその対戦相手である黒キャラクタ44が存在するが、黒キャラクタ44は白キャラクタ42の背後に位置する。故に本実施形態におけるゲーム装置1の処理系は、白キャラクタ42の動作能力を低下させることなく動作を続行させる。
【0052】また、本実施形態では、プレーヤにより操作対象として選択されたキャラクタがボールを所有する場合には、操作キャラクタとその対戦相手であるキャラクタとの位置関係に応じて視点の位置、水平方向における視線の向き、および俯角を自動的に変化させる。具体的には、操作キャラクタがボールを所有し、尚且つ操作キャラクタの位置近傍にその対戦相手であるキャラクタが存在するときには、視点の位置を操作キャラクタに接近させて、仮想空間の見通しが悪くなるようにする。係る演出によれば、ボールを所有する操作キャラクタの動揺を行動の結果として表現するだけでなく、周囲を見難くすることで主観的に表現することができる。
【0053】例えば、図4に示したように、ドリブル実行中の白キャラクタ32の近傍に黒キャラクタ34が存在するとき、白キャラクタ32が操作キャラクタである場合には、視点を白キャラクタ32の位置に接近させると共に視線を白キャラクタ32に向ける。図6は、図4に示す状態において視点を白キャラクタ32に近づけ、更に視線を白キャラクタ32に向けて画像を生成した場合のゲーム画像50の一例を示す図である。図6によれば、ゲーム画像50には、向かい合う白キャラクタ32と黒キャラクタ34のみが表示され、プレーヤはバスケットボールコートを広く見渡すことができない。故に、マークされたことで周囲が見えなくなった操作キャラクタの不安感を主観的に表現することができると共に、ゲームを実行するプレーヤの不安感をも引き起こし、臨場感を体験させることができる。
【0054】以下ではボールを所有するキャラクタをボール所有キャラクタという。また、ボール所有キャラクタが所属するチームを味方チームといい、その対戦相手となるチームを相手チーム、相手チームに属するキャラクタを相手キャラクタという。
【0055】以下に本実施形態につて詳細に説明する。まず、本実施形態におけるゲーム装置1の機能構造について説明する。図7は、ゲーム装置1の機能ブロックの一例を示す図である。同図によれば、ゲーム装置1は、処理部200と、入力部100と、表示部300と、情報記憶媒体400と、一時記憶部500と、を備える。
【0056】処理部200は、システム全体の制御、システム内の各機能部への命令の指示、入力部100から入力される操作信号や情報記憶媒体400に記憶されたゲームプログラム420に基づいてバスケットボールゲームを進行するための処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)等のハードウェア、あるいは所与のプログラムにより実現できる。また、処理部200は、主に、ゲーム演算部220と画像生成部240とを含み、入力部100から入力される操作信号に応じた処理をゲーム演算部220に実行させ、更に、その処理結果に基づく画像を画像生成部240に生成させる。
【0057】ゲーム演算部220は、ゲームにおける各種選択用の画面の設定処理や、バスケットボールゲームの進行処理、仮想空間に存在する各キャラクタやボール、オブジェクト等の座標,向き,姿勢,動作などを決定する処理、プレーヤの操作対象となるキャラクタ(すなわち操作キャラクタ)を決定する処理、視点の位置および向きを決定する処理、などの種々のゲーム処理を1フレーム毎に実行する。なお、これらの処理は、入力部100から入力される操作信号や、情報記憶媒体400に格納されたゲーム演算プログラム422に基づいて実行する。
【0058】また、本実施形態におけるゲーム演算部220は、位置条件判定部222と、能力変更部224と、動作制御部226と、視点制御部228と、を主に含み、情報記憶媒体400に格納されたゲーム演算プログラム422に基づいて各部を機能させる。
【0059】画像生成部240は、ゲーム演算部220によって決定された情報に基づいて1フレーム毎のゲーム画像をリアルタイムに生成する処理を実行するものであり、CPU、DSP、画像生成専用のIC、メモリなどのハードウェアにより構成される。具体的には、画像生成部240は、前方・後方クリッピングを実行して仮想空間のビューボリュームを決定する処理、各キャラクタやオブジェクトの座標を視点に基づいて変換する処理、3次元の仮想空間の座標系から視点に基づく2次元座標系へと座標を変換する処理、などを1フレーム毎に実行して、ゲーム画像を生成する。そして、生成したゲーム画像を一時記憶部500(例えばフレームバッファなど)に格納する。なお処理部200は、一時記憶部500に記憶されたゲーム画像を必要なタイミング(例えば、1フレーム間隔)で表示部300に出力して表示させる。
【0060】入力部100は、図1に示すゲームコントローラ3,4に相当する機能部であって、プレーヤの操作入力を電気信号として処理部200に出力するものである。なお、入力部100は、図1に示したようなゲームコントローラ3,4だけでなく、キーボードなどの汎用の入力装置、マウス、トラックボール、ジョイスティック等の入力手段を用いてもよい。
【0061】表示部300は、図1に示すディスプレイ2に相当する機能部であり、処理部200から入力される指示に従って、一時記憶部500に記憶されるゲーム画像を逐次読み出して表示する。なお、表示部300は主にコンピュータなどに接続されるディスプレイにより実現しても良いし、TV放送を表示する際に主に用いられるディスプレイによって実現してもかまわない。
【0062】情報記憶媒体400は、本実施形態におけるゲーム装置1の駆動に係るシステムプログラムやデータ、バスケットボールゲームを実現する為に必要なゲームプログラムなどを記憶するものであり、CD−ROM、MO、DVD、メモリ、ハードディスク等のハードウェアにより実現できる。なお、ゲームプログラム420には、ゲーム演算プログラム422や画像生成プログラム424が含まれる。
【0063】ゲーム演算プログラム422には、ゲームシナリオや各キャラクタのモデル情報、仮想空間に配置する各オブジェクトの情報、入力部100から入力される操作信号に応じて各オブジェクトやキャラクタを動作させるための情報、バスケットボールゲームの得点を算出するための情報、ゲーム時間を計時するための情報、各キャラクタの動作能力を決定付ける固有値の情報、などが含まれる。更に、ゲーム演算部220に含まれる位置条件判定部222を機能させるための情報(後述する位置判定処理を実現する為の情報)、能力変更部224および動作制御部226を機能させるための情報(後述する動作制御処理を実現する為の情報)、視点制御部228を機能させるための情報(後述する視点制御処理を実現する為の情報)などを含む。
【0064】画像生成プログラム424には、ゲーム演算部220による処理結果に基づいて画像生成部240が1フレーム毎にゲーム画像を生成するためのプログラムが含まれる。例えば、仮想空間におけるオブジェクトやキャラクタの座標を視点の位置に基づく座標系に変換する処理を実現する為の情報や、視点に基づく3次元の座標系から2次元の座標系に変換する処理を実現する為の情報、などが含まれる。
【0065】一時記憶部500は、処理部200の作業領域として用いられる記憶部であり、処理部200による演算結果や、入力部100から入力される操作情報、情報記憶媒体400から読み出したデータやプログラムなどを一時的に記憶する機能部である。具体的には、各キャラクタの座標,向き,動作内容,属性(例えば、所属チームやボール所有の有無など)を記憶したり、バスケットボールゲームの開始時から計時した経過時間を記憶したり、各チームの得点を記憶したり、処理部200により生成された画像情報を記憶したりする。また、一時記憶部500は、RAMやVRAMなどのハードウェアにより実現されるものである。
【0066】以下にゲーム演算部220に含まれる各機能部について詳細に説明する。なお以下では、バスケットボールコートを含む仮想空間における座標系をワールド座標系といい、(X,Y,Z)によって表記する。またY軸によって仮想空間の鉛直方向を示し、Y軸の正方向が仮想空間における鉛直上向きを示すようにワールド座標系を設定する。また、Y軸に垂直な平面の座標系を水平座標系といい、(X,Z)によって表記する。
【0067】まず、位置条件判定部222について説明する。位置条件判定部222は、キャラクタ間の位置関係を判定し、ボール所有キャラクタの動作能力の変更有無を決定する機能部である。具体的には、ボール所有キャラクタとその相手キャラクタとの位置関係が位置条件を満たすか否かを判定する。そして、位置条件を満たす相手キャラクタが存在する場合には、その数nをカウントして、一時記憶部500にその都度更新記憶する。
【0068】図8(a)は、位置条件の一例について説明するための図であり、仮想空間におけるバスケットボールコートの平面図である。同図において、点70は、仮想空間におけるボール所有キャラクタの存在位置を示している。以下では、仮想空間における各キャラクタの存在位置を1つの点によって表現し、係る点を代表点という。すなわち、点70は、ボール所有キャラクタの代表点を示している。また、代表点70を出発点とする矢印72は、水平座標系におけるボール所有キャラクタの方向ベクトルを示している。すなわち、図8(a)に示す仮想空間においてボール所有キャラクタは矢印72の方向を向いている。
【0069】さて、位置条件判定部222は位置判定に際して、まずボール所有キャラクタの位置近傍の判定範囲74に相手キャラクタが存在するか否かを判定する。判定範囲74とは、図8(a)に示す斜線部分に相当する範囲であり、ボール所有キャラクタを中心とする半径RCの扇部分を意味する。すなわち、位置条件判定部222は、ボール所有キャラクタの代表点70を中心とする半径RCの円領域に相手キャラクタが存在するか否かを判定し、存在する場合には更に係る相手キャラクタがボール所有キャラクタの背後に存在するか否かを判定する。具体的には、ボール所有キャラクタの代表点を中心とする半径RCの円領域のうち、方向ベクトル72の位置を一端とする弧の中心角θが(−θC≦θ≦θC)を満たす範囲(図8(b))に相手キャラクタが存在するか否かを判定する。
【0070】換言すれば、位置条件判定部222は位置条件として、■ボール所有キャラクタの代表点を中心とする半径RCの円領域にキャラクタが存在するか否か、■ボール所有キャラクタと条件■を満たすキャラクタとを結ぶ直線と、方向ベクトルとが成す角が所定角範囲(−θC≦θ≦θC)内であるか否か、■上述の条件■,■を満たすキャラクタが相手のキャラクタであるか否か、を判定する。
【0071】また、位置条件判定部222は、位置条件■〜■を満たすキャラクタが複数存在する場合には、その数nをカウントする。そして、カウントした結果を一時記憶部500に一時記憶させる。
【0072】以下に、図9に示すフローチャートを用いて位置条件判定部222による位置判定処理について説明する。なお、以下の処理は、1フレーム毎に行っても良いし、所定期間毎に行っても良いし、ボール所有キャラクタがアクションを実行する直前に行ってもよい。ここでアクションとは、シュート、パス、ドリブル、ジャンプなどのいわゆるオフェンス時におけるキャラクタの行為を意味する。
【0073】まず、位置条件判定部222は、水平座標系における各キャラクタの座標(すなわち、代表点の座標)を決定する。また同時にボールの所有権を決定する。換言すれば、実行中のバスケットボールゲームに登場するキャラクタのうち、何れのキャラクタがボール所有キャラクタであるかを決定する。そして、各キャラクタと、その属性(例えば、水平座標系における座標、ボールの有無、所属チームなど)を対応付けた属性データ520を生成して一時記憶部500に更新記憶する(ステップS1)。図10は、属性データ520の格納形式の一例を示す図である。同図によれば、属性データ520には、各キャラクタの識別コードと、水平座標系における座標と、所属チームの識別コードと、ボールの所有有無とがそれぞれ対応付けて記憶される。
【0074】次いで、位置条件判定部222は、ステップS1にて生成した属性データ520の中からボールを所有するキャラクタの情報を抽出して(ステップS2)、そのキャラクタ(すなわちボール所有キャラクタ)が属するチームを判定する(ステップS3)。具体的には、属性データ520の中からボールを「所有」する旨のコードが付されたキャラクタのコードと、座標情報と、所属チームのコードとを読み出す。そして、属性データ520から読み出したチームコードに基づいてボール所有キャラクタが所属するチームを判定する。図10R>0に示した属性データ520によれば、Aチームに属するキャラクタとBチームに属するキャラクタとが存在する。故にここでは、位置条件判定部222は、属性データ520から読み出したボール所有キャラクタがAチームとBチームの何れに属するかを判定する。
【0075】さて、ステップS3にてボール所有キャラクタが所属するチームを判定すると、その相手チームに所属する全ての相手キャラクタのキャラクタコードおよび座標情報を属性データ520から読み出す。例えば、ボール所有キャラクタがAチームに属する場合にはBチームに所属するキャラクタの情報を属性データ520から読み出す(ステップS4)。一方、ボール所有キャラクタがBチームに属する場合には、Aチームに所属するキャラクタの情報を属性データ520から読み出す(ステップS5)。
【0076】次いで、位置条件判定部222は、位置条件を満たす相手キャラクタの数をカウントするための変数nをゼロにする(ステップS6)。そして、ステップS4あるいはステップS5にて読み出した相手キャラクタの中から未処理の相手キャラクタを選び(ステップS7)、ボール所有キャラクタとの距離rを算出する(ステップS8)。具体的には、水平座標系におけるボール所有キャラクタの代表点の座標(XBAL,ZBAL)と、選出した相手キャラクタの代表点の座標(XM,ZM)とから距離rを算出する。
r=√((XBAL−XM2+(ZBAL−ZM2) …(1)
【0077】更に位置条件判定部222は、ステップS8にて算出した距離rが所定長RCよりも小さいか否か(r≦RC)を判定する(ステップS9)。すなわち、ステップS7にて選出したキャラクタがボール所有キャラクタの代表点を中心とする半径RCの円内に存在するか否かを判定する。算出した距離rが所定長RCよりも長い場合(r>RC)には、ステップS13に移行して、次の相手キャラクタへと処理を移行する。すなわちステップS4あるいはS5にて読み出した相手キャラクタの中に未処理の相手キャラクタが存在するか否かを判定する。
【0078】ステップS9にて、条件(r≦RC)が満たされる場合には、ステップS7にて選出した相手キャラクタとボール所有キャラクタを結ぶ線分と、ボール所有キャラクタの方向ベクトルとが成す角θを算出する(ステップS10)。具体的には、選出した相手キャラクタの代表点とボール所有キャラクタの代表点とを結ぶ線分の単位ベクトルUを算出し(ただし、ボール所有キャラクタの代表点を出発点とする)、ボール所有キャラクタの方向ベクトルDとの内積(U・D)および外積(U×D)とから成す角θを算出する。
θ=tan-1{|U×D|/(U・D)} …(2)
ここで|U×D|は、外積U×Dのスカラーを意味する。
【0079】続いて位置条件判定部222は、ステップS10にて算出した成す角θが条件(−θC≦θ≦θC)を満たすか否か判定する(ステップS11)。すなわち、ステップS7にて選出した相手キャラクタが図8に示した斜線領域74内に存在するか否かを判定する。このとき、成す角θが条件(−θC≦θ≦θC)を満たさない場合には、ステップS13に移行して、ステップS4あるいはS5にて読み出した相手キャラクタの中に未処理の相手キャラクタが存在するか否かの判定を行う。一方、ステップS11にて成す角θが条件(−θC≦θ≦θC)を満たす場合には、位置条件を満たす相手キャラクタの数をカウントするための変数nに1を加算する(ステップS12)。そして、次の相手キャラクタへと処理を移行する。すなわちステップS4あるいはS5にて抽出した相手キャラクタの中に未処理の相手キャラクタが存在するか否かを判定する(ステップS13)。
【0080】ステップS13において、ステップS4あるいはS5にて属性データ520の中から読み出した相手キャラクタのうち未処理の相手キャラクタが存在すると判定した場合には、ステップS7に戻って処理を繰り返す。一方、ステップS13において、選出した相手キャラクタの全てについて処理が終了した旨を判定した場合には、カウントしたnの値を一時記憶部500に記憶し、本処理を終了する。
【0081】以上のように、位置条件判定部222は、仮想空間におけるボール所有キャラクタと相手キャラクタとの位置関係を判定し、位置条件を満たす相手キャラクタの存在有無を判定する。そして、位置条件を満たす相手キャラクタが存在する場合にはその数をカウントし、一時記憶部500に更新記憶する。
【0082】なお、ボール所有キャラクタと相手キャラクタとの位置関係を判定するための判定範囲は、図8に示した斜線部分74のような形状に限定する必要はなく、他の形状であってもかまわない。また、半径RCや閾値θCの値を、ゲームの時間経過に伴って変化させてもよいし、キャラクタ毎に異なるように設定してもよい。また、キャラクタ間の距離rや角度θは、必ずしも式(1)や式(2)を用いて算出する必要はなく、テーブル形式のデータや、他の算出方法によって求めても良いことは勿論である。
【0083】続いて、能力変更部224について説明する。能力変更部224は、位置条件を満たす相手キャラクタの数nに応じてボール所有キャラクタの動作能力を変化させるための処理を実行する機能部である。
【0084】本実施形態では、ボール所有キャラクタの動作能力(または動作そのもの)を各キャラクタに固有な固有値(=一定)に基づいて決定する。ただし上記位置条件■〜■を満たすキャラクタが存在する場合には、相手キャラクタの数nに応じて変動する数値ηを固有値に乗算することで、動作能力を変化させる。換言すれば、能力変更部224は各キャラクタの固有値をデフォルトの値(予め設定された値)から変化させるための処理、すなわち数nの値に応じて変化する値ηを算出する処理を行う。また、本実施形態では、位置条件を満たす相手キャラクタの数nが増加するほどボール所有キャラクタの動作能力が衰えるように数値ηの値を変化させる。以下では、値ηを変更係数ηという。
【0085】なお固有値とは、例えばドリブルにおける移動速度vD、ジャンプにおける高さh、シュートやパスにおける狙いの照準域ΔV、特殊技(例えば、ダンクシュートなど)の成功確率Cなどの数値である。ここに照準域ΔVとは、詳細は後述するが、ボールを目的位置に到達させる可能性を示す値であり、係る固有値ΔVの値が大きいほどシュートやパスが不正確であり、小さいほど目標位置に対して正確にボールを投げる可能性が高いことを示す。
【0086】さて、位置条件を満たす相手キャラクタの数nの増加に伴ってボール所有キャラクタの動作能力を低下させるためには、変更係数ηを、nの増加に伴って減少する減少関数(ただし、n≧0で常にη>0を満たすもの)により定義する。例えば、指数関数を用いて、η(n)=exp{−αn} …(3)
などとする。ここでαは、0<α<1を満たす定数であり、この定数αによって変数nの変化に伴う変更係数ηの急激な減少を緩和させる。なお、式(3)によれば、n=0のときη=1となる。このような関数を用いる理由は、位置条件を満たす相手キャラクタが存在しないとき、ボールを所有するキャラクタに、予め与えられた動作能力を発揮させるためである。例えば、ドリブル速度vDが予め設定された移動速度であり、これに式(3)に示すηを乗算した場合(vDη)、n≠0であればη<1であるからvD>vDηとなりドリブル時の移動速度が減少し、n=0であればη=1であるからvD=vDηとなり予め設定されたドリブル速度を発揮させることができる。
【0087】ただし変更係数ηを決定する方法としては、nを変数とする関数η(n)によって決定する方法に限定する必要はない。例えば、予めnの値とηの値とを対応付けたテーブル形式のデータを用いて決定しても良い。図11は、nとηの対応テーブル440の一例を示す図である。係る対応テーブル440を用いる場合には、能力変更部224は、位置条件判定部222によって相手キャラクタの数nが決定されると、その数値に対応する変更係数ηの値を対応テーブル440から読み出す。
【0088】次に、動作制御部226について説明する。動作制御部226は、能力変更部224によって決定された変更係数ηと、各動作能力を決定付ける固有値とに基づいてボール所有キャラクタの動作を制御する機能部である。
【0089】以下、動作能力の変更方法についていくつかの例を説明する。なお、ボール所有キャラクタの動作、すなわちオフェンス側におけるキャラクタの動作には複数の種類が考えられるが、ここではジャンプや、ドリブル、一般的なシュート、パス、特殊技(例えば、ダンクシュートなど)、を例に説明する。
【0090】まず、ジャンプやドリブルについて説明する。本実施形態ではジャンプ能力を特徴付ける固有値を、ジャンプ時における頂点の高さhとし、またドリブル能力を特徴付ける固有値を、ドリブル時における移動速度vVとする。すなわち、固有値hが大きいほど、その固有値hを有するキャラクタは高くジャンプでき、固有値vVが大きいほど、その固有値vVを有するキャラクタはドリブルしながら高速に仮想空間を移動することができる。故に動作制御部226は、例えばボール所有キャラクタにジャンプを実行させる際には、係るキャラクタの固有値hを情報記憶媒体400から読み出してジャンプ時の頂点の高さを決定することとなる。あるいは、ボール所有キャラクタにドリブルを実行させる際には、係るキャラクタの固有値vDを情報記憶媒体400から読み出してドリブル時の移動速度を決定する。
【0091】ただし動作制御部226は、ボール所有キャラクタにジャンプあるいはドリブルを実行させる際、情報記憶媒体400から読み出した固有値h,vDをそのまま用いるのではなく、能力変更部224によって決定された変更係数ηを乗算して用いる。変更係数ηは相手キャラクタの数nの増加に伴って減少する値である。故に、変更係数ηを固有値h,vDに乗算すれば、n>0ならばジャンプ時における高さが低くなり、またドリブル時における移動速度が遅くなる。一方、位置条件を満たす相手キャラクタが存在しない場合(n=0)には、η=1であるからボール所有キャラクタが有する本来のジャンプ力、ドリブル速度を発揮させることができる。
【0092】次に、シュートおよびパスについて説明する。シュートやパスの能力を特徴付ける固有値として、本実施形態では上述の通り照準域ΔVを用いる。この数値は、仮想空間における範囲を示しており、具体的にはワールド座標径における体積(ΔV=2ΔX×2ΔY×2ΔZ)を示している。
【0093】ところでシュートやパスを実行するときには、ボールの目標到達位置を予め定めた上で実行する。例えば、シュートであれば目標到達位置を相手チームのゴールの真上に設定し、またパスの場合にはパス先のキャラクタの代表点位置を目標到達位置とする。そこで本実施形態では、シュートやパスを実行する際、まずボールの目標到達位置を決定し、係る目標到達位置を中心とする照準域ΔVの範囲をボールが到達する位置の「選択範囲」としてワールド座標系に設定する。そして、そのワールド座標系に設定した選択範囲の中から乱数によってボールの到達位置を決定し、その決定したボールの到達位置とボール所有キャラクタの位置とに基づいてボールの軌道を決定し、ボールを移動させる。
【0094】例えば、ボール所有キャラクタにシュートを実行させる際には、動作制御部226は、相手チームのゴール真上の座標(XG,YG,ZG)と、キャラクタ毎に設定された照準域(ΔX,ΔY,ΔZ)を情報記憶媒体400から読み出して、選択範囲を決定する。
(XG−ΔX≦X≦XG+ΔX)
(YG−ΔY≦Y≦YG+ΔY)
(ZG−ΔZ≦Z≦ZG+ΔZ)
この選択範囲は、ゴール真上の座標(XG,YG,ZG)を中心とする照準域ΔVの範囲を示すものである。そしてその決定した選択範囲の中から乱数によってボールの到達位置を決定する。
【0095】図12は、仮想空間におけるコート60の平面図であり、ボール到達位置の選択範囲の一例を示す図である。同図によれば、選択範囲52の平面(2ΔX×2ΔZ)は、ボールが確実にゴールする到達範囲より更に広い範囲である。係る選択範囲の中から乱数によって到達位置を決定すれば、確実にゴールする位置以外の位置が選択される可能性がある。換言すれば、照準域ΔVが小さいほどボールをゴールさせる可能性が高くなり、逆に照準域ΔVが大きいほどボールをゴールさせる可能性が低くなる。
【0096】ただし、動作制御部226は、パスやシュートの固有値として情報記憶媒体400から読み出した照準域ΔVの値をそのまま用いるのではなく、能力変更部224によって決定された変更係数ηによって照準域ΔVを変化させて用いる。具体的には、動作制御部226は、照準域ΔVの各成分(ΔX,ΔY,ΔZ)に対して変更係数ηの逆数(1/η)を乗算する。すなわち、相手キャラクタの数nが増すほど変更係数の逆数(1/η)の値が増大して照準域ΔVの範囲は大きくなり、シュートやパスの確実性が低くなる。ただし、位置条件を満たす相手キャラクタが存在しない場合、すなわちn=0の場合にはη=1であるから、ボール所有キャラクタが有する本来の照準域ΔVでシュートやパスを実現させることができる。
【0097】次に、ダンクシュートのような特殊技について説明する。特殊技については、その動作能力を決定付ける固有値をその動作の成功確率Cによって定義する。すなわち、成功確率Cによってその動作の成否を決定する。例えば、特殊技Aについて成功確率Cが30%である場合には、1以上100未満の値の中から乱数ξを発生させ、得られた乱数ξが1以上30未満の数値範囲に含まれるか否かを判定する。含まれる場合には係る特殊技を成功するように実行させ、含まれない場合には特殊技を失敗するように実行させる。
【0098】具体的には動作制御部226は、ボール所有キャラクタに特殊技を実行する指示が入力されると、情報記憶媒体400から特殊技の固有値Cを読み出して特殊技の実行有無を決定する。ただし動作制御部226は、読み出した固有値Cの値をそのまま用いるのではなく、能力変更部224によって算出された変更係数ηの値を固有値Cに乗算して用いる。変更係数ηは相手キャラクタの数nの増加に伴って減少する値であるから、固有値Cに乗算すれば相手キャラクタの数nが増すほど成功確率は低くなる。一方、位置条件を満たす相手キャラクタが存在しない場合(n=0)には、η=1であるから、ボール所有キャラクタが本来に有する成功確率によって特殊技の成否を決定して実行することとなる。
【0099】以下に、図13に示すフローチャートを用いて能力変更部224と動作制御部226による動作制御処理について説明する。動作制御処理とは、ボール所有キャラクタの動作を制御する処理である。以下に説明する動作制御処理は、入力部100からキャラクタの動作実行指示が入力される度に繰り返し実行される。
【0100】動作制御処理では、ゲームプログラム420に基づく処理結果、或いは入力部100からの入力指示に応じてキャラクタに動作させる際には(ステップS20)、位置条件判定部222により生成された属性データ520(図10)に基づいて係るキャラクタがボール所有キャラクタであるか否かを判定する(ステップS21)。ボール所有キャラクタでない場合には、本処理を終了し、通常通りにキャラクタに動作を実行させる。
【0101】ボール所有キャラクタである場合(ステップS21;Y)には、能力変更部224が変更係数ηを算出する(ステップS22)。より正確には能力変更部224は、図9の位置判定処理により一時記憶部500に記憶された相手キャラクタの数nを読み出して変更係数ηを算出する。
【0102】次いで、動作制御部226は、ゲームプログラム420に基づく処理結果、あるいは入力部100から入力された指示内容に従ってボール所有キャラクタに実行させる動作の内容を判定する(ステップS23)。
【0103】ステップS23にて、ジャンプあるいはドリブルを実行する旨の判定を行った場合には、係る動作に対応する固有値を情報記憶媒体400から読み出す(ステップS24)。例えば、ジャンプを実行させる場合には、該当するキャラクタのジャンプ力の固有値hを読み出す。あるいはドリブルの場合には、該当するキャラクタのドリブル速度の固有値vDを読み出す。そして、ステップS22にて決定した変更係数ηを、読み出した固有値に乗算して動作能力を決定する(ステップS25)。例えば、ジャンプをさせる場合には固有値hに変更係数ηを乗算してジャンプ時における頂点の高さを決定し、ドリブルをさせる場合には固有値vDに変更係数ηを乗算してドリブル時における移動速度を決定する。動作制御部226は、決定した値に基づいてボール所有キャラクタに動作を実行させる(ステップS26)。
【0104】ステップS23にて、シュートあるいはパスを実行する判定を行った場合には、ボールを所有するキャラクタに対応する固有値のうち、シュートやパスの固有値ΔVを情報記憶媒体400から読み出す(ステップS27)。更にステップS22にて能力変更部224が決定した変更係数ηの逆数(1/η)および固有値(照準域)ΔVを用いてパスやシュートの照準域の値を変更する(ステップS28)。具体的には、固有値ΔVを構成する成分(ΔX,ΔY,ΔZ)それぞれに逆数(1/η)を乗算する。
【0105】次いで、動作制御部226はボールの目標到達位置を決定する(ステップS29)。例えば、ボール所有キャラクタにシュートをさせる場合には、相手チームのゴール真上位置(XG,YG,ZG)を目標到達位置とし、パスをさせる場合には、パス先キャラクタの代表点の座標(XP,YP,ZP)を目標到達位置とする。更に、その目標到達位置が中心点となるようにステップS28にて変更した照準域(ΔX,ΔY,ΔZ)を用いて選択範囲を決定する(ステップS30)。
【0106】選択範囲を決定すると、動作制御部226は、乱数を発生させて選択範囲の中からボールの到達位置を決定する(ステップS31)。更に、決定した到達位置と、ボール所有キャラクタの代表点の座標とからボールの軌道を決定して(ステップS32)、ボールを移動させる。
【0107】ステップS23にて特殊技を実行する判定を行った場合には、ボールを所有するキャラクタに対応する固有値のうち、係る特殊技の固有値Cを情報記憶媒体400から読み出す(ステップS33)。そして、ステップS22にて決定した変更係数ηを固有値Cに乗算して、係る特殊技の成功確率を決定する(ステップS34)。次いで動作制御部226は、乱数を発生して係る乱数と成功確率とに基づいて特殊技の成否を決定する処理を行う(ステップS35)。成功させる場合(ステップS36;Y)には、ボール所有キャラクタに特殊技を成功するように実行させ(ステップS37)、失敗させる場合(ステップS36;N)には、ボール所有キャラクタに特殊技を失敗するように実行させる(ステップS38)。
【0108】さて、ステップS23にて判定した動作に係る処理が終了すると、本処理を終了する。
【0109】以上のように、能力変更部224は、位置条件を満たした相手キャラクタの数nに基づいて変更係数ηを算出し、動作制御部226は、各キャラクタに予め定められた固有値と、変更係数ηに基づいてボール所有キャラクタの動作能力、実行成否等を決定する。
【0110】ところで上記説明によれば、動作能力を決定付ける量として各キャラクタに固有な固有値を用い、また係る固有値は、一定であることとして説明した。しかし、これに限定する必要はなく、動作能力を決定付ける量が、ゲームの経過時間やキャラクタと任意の対象物との距離に応じて変化するような値であってもかまわない。例えば、ボールやゴールなどの対象物とキャラクタの距離に応じて変化する値によって動作能力が決定付けられるようにしてもよい。
【0111】あるいは、パスの能力を特徴付けるパラメータ(ΔX、ΔY,ΔZ)がボール所有キャラクタとパス先キャラクタとの距離Lに応じて変化するような値であってもかまわない。例えば、ボール所有キャラクタとパス先キャラクタが近いとき各パラメータ(ΔX、ΔY,ΔZ)の値が小さく、遠いとき各パラメータ(ΔX、ΔY,ΔZ)の値が大きくなるように設定してもよい。係る場合であっても、各パラメータに変更係数(1/η)を乗算することで動作能力を変更することができる。
【0112】続いて、視点制御部228について説明する。視点制御部228は、ゲーム実行中の視点の位置および向き(すなわち視線方向)を1フレーム毎に決定する機能部である。
【0113】本実施形態では、以下2つの条件が満たされるときには、ボールを所有するキャラクタに視点を接近させる。
条件a. 操作キャラクタがボール所有キャラクタである。
条件b. 位置条件■〜■を満たす相手キャラクタが存在する。
【0114】まず、通常時、すなわち上記2つの条件が満たされないときの視点位置の決定方法例を説明する。以下では、説明の簡単のために、通常時では、視点の俯角τO、視野角ωO、高さYVを一定とし、また、水平座標系における視点の視線方向をZ軸に平行となるように設定する。
【0115】図14は、仮想空間におけるバスケットボールコート60(以下、単にコートという)の平面図である。同図において、エンドライン61a,61bおよびセンターライン62がZ軸と平行であり、サイドライン63a,63bがX軸と平行に設定されている。すなわち、視線方向がエンドライン61a,61bおよびセンターライン62と常に平行となるように仮想空間内を視点は平行移動することとなる。なお、上述の通りY軸は仮想空間における鉛直上向きを示し、また、外積(X×Y)がZ軸の正方向を示すように各座標軸が設定されている。
【0116】通常時では、操作キャラクタの水平座標(XCH,ZCH)および方向ベクトルを用いた次式に従って視点の水平座標(XV,ZV)を決定する。
V=XCH+XOsinφ …(4)
V=ZCH−ZO …(5)
ここで(XO,ZO)は定数である。また、φは、操作キャラクタの方向ベクトルとZ軸との成す角を示す。
【0117】図15は、コート60の平面図であり、式(4),(5)に基づく操作キャラクタ82と視点80との位置関係を説明するための図である。なお、同図においては、エンドライン61a,61bとサイドライン63a,63bのみを表記し、それ以外のラインは省略した。さて、式(4)によれば、視点のX座標は、操作キャラクタの方向ベクトルとZ軸との成す角φの大きさに応じて、操作キャラクタの代表点を中心とする振幅XOの範囲から配置位置が決定される。例えば、方向ベクトルがZ軸に平行である場合(φ=0,π)には、視点のX座標はXV=XCH、すなわち操作キャラクタのX座標と同等になる。方向ベクトルとZ軸との成す角がφ=π/2である場合にはXV=XCH+XOとなり、φ=-π/2の場合にはXV=XCH−XOとなる。すなわち、視点は常に操作キャラクタが向く方向に配置されることとなる。また、式(5)によれば、Z方向における操作キャラクタと視点との距離は常にZO(=一定)に保たれ、またコート60における一方のサイドライン63a側に常に視点は配置される。換言すれば、通常時においては視点に対する操作キャラクタの奥行位置および視点の向きは常に一定であり、操作キャラクタが常に画面上に等しい大きさで表現される。
【0118】続いて以下に、上記2つの条件a,bが満たされたときの視点の配置方法についてその一例を説明する。ただし、条件a,bが満たされたときでも、視点の高さYV、視野角ωOの値は一定とする。
【0119】上記2つの条件a,bを満たす場合には、すなわち、操作キャラクタがボールを所有し、尚且つ位置条件を満たす相手キャラクタが存在する場合には、視点を操作キャラクタに接近させると共に視線方向を変化させる。具体的には、位置条件を満たす相手キャラクタの数nの増加に伴って視点を操作キャラクタに接近させ、また位置条件を満たす相手キャラクタと操作キャラクタとの距離のうち最短距離rMINの短縮に伴って視点を操作キャラクタに接近させる。すなわち、数nと距離rMINについて、nの増加に伴って減少し、rMINの短縮に伴って減少する関数ξ(n,r)を算出して、式(4),(5)に含まれる定数(XO,ZO)に乗算する。
V=XCH+XOξsinφ …(6)
V=ZCH−ZOξ …(7)
関数ξは、相手キャラクタの数nの増加に伴って減少し、距離rMINの短縮に伴って減少する関数であるから、視点のX座標およびZ座標は、nの増加に、rMINの短縮に伴って操作キャラクタの代表点位置に接近することとなる。
【0120】なお、関数ξは、nの増加、rMINの短縮(あるいは1/rMINの増加)に伴って減少する関数であれば如何なるものであってもかまわないが、例えば次式のように指数関数を用いても良い。
ξ=exp{−(βn+γ/rMIN)} …(8)
ここでβ,γは1未満の正の定数であり、これらの定数によりn,rMINの変化による急激な値の変化を緩和させる。
【0121】また、視点制御部228は、視点の位置を操作キャラクタに接近させると共に、水平座標系における視点の視線ベクトルを操作キャラクタの方向に向ける。具体的には、視線ベクトルを、Z軸方向を向いた状態からY軸回りに、τY回転させれば良い。
τY=tan-1{−XOsinφ/ZO} …(9)
【0122】ところで、式(8)に示すような関数ξを定数ZOに乗算すると視点に対する操作キャラクタの奥行位置が変化する。関数ξは、nと1/rMINに対する減少関数であるから、位置条件を満たす相手キャラクタの数nが増せば増すほど、あるいは最近隣の相手キャラクタが操作キャラクタに接近すればするほど、視点は操作キャラクタに接近することとなる。ここで、視点の高さYVは一定であるから、俯角τOを一定に保てば視点の接近に伴って操作キャラクタが画面の中央から下方に移動して見え、操作キャラクタが見難くなってしまう。
【0123】図16は、仮想空間における操作キャラクタと視点との位置関係と、その位置関係に対応する画像例について説明する図である。(a)は、通常時における視点80と操作キャラクタ82との位置関係および画像例を示している。通常時においては、操作キャラクタ82の奥行ZOは常に一定であり、俯角τOは、操作キャラクタが画面中央近傍に位置するように設定されている。ところが、俯角τOを一定にして視点80を操作キャラクタ82に接近させると、視点80の視線が操作キャラクタ82の頭部上方を通過することとなり、画面の中央近傍に対象(すなわち操作キャラクタ82)が表示されないこととなる(図16(b))。そこで、視点80の視線が操作キャラクタ82の代表点の高さ近傍を通過するように俯角τを変化させる。具体的には、対象の高さ(例えば、操作キャラクタ82の頭部や胴部の高さ)をh、視点と操作キャラクタとの距離をrZとして、次式によって算出する。
τ=tan1{(YV−h)/rZ} …(10)
このように、視点80と操作キャラクタ82との位置関係に応じて俯角τを変化させることで操作キャラクタを画面の中央近傍に表示することができる(図16(c))。
【0124】なお、操作キャラクタと視点との距離を変更するための係数ξの値を決定する方法としては、式(8)に示すような変数nと1/rMINの関数によって決定する方法だけでなく、nや1/rMINの値とξの値とが対応付けられたテーブル形式のデータに基づいて決定しても良いことは勿論である。
【0125】続いて以下に、視点制御部228による処理(視点制御処理)について図17に示すフローチャートを用いて説明する。なお、視点制御部228は以下の処理を1フレーム毎に実行する。
【0126】同図によれば、視点制御部228は、位置条件判定部222により生成された属性データ520の中から操作キャラクタを抽出する(ステップS50)。そして、抽出した操作キャラクタがボールを所有するか否かを判定する(ステップS51)。このとき、ボールを所有しない場合には、ステップS53に移行して通常時の視点位置決定を行う。ボールを所有する場合には、位置条件判定部222の処理結果に基づいて位置条件を満たす相手キャラクタが存在するか否か、すなわち一時記憶部500に記憶された相手キャラクタの数nがn=0であるか否かを判定する(ステップS52)。位置条件を満たす相手キャラクタが存在しない場合には、ステップS53に移行し通常時の視点位置決定を行う。
【0127】通常時には、すなわち、操作キャラクタがボールを所有しないとき(ステップS51;N)、あるいは、位置条件を満たすキャラクタが存在しないとき(ステップS52;N)には、式(4),(5)に基づいて視点の水平座標(XV,ZV)を決定する(ステップS53)。即ち、操作キャラクタの水平座標(XCH,ZCH)及び、方向ベクトルとZ軸との成す角φを式(4),(5)に代入して視点の水平座標を決定する。次いで、予め設定された視点の俯角τO,視野角ωO,高さYV,水平座標系における視点の視線方向,および視点の水平座標(XV,ZV)に基づいて画像生成部240に画像を生成させて(ステップS54)、1フレームにおける視点制御処理を終了する。
【0128】一方、操作キャラクタがボールを所有し(ステップS51;Y)、尚且つ位置条件を満たす相手キャラクタが存在する(ステップS52;Y)場合には、視点位置を位置条件判定部222の処理結果に基づいて次のように決定する。すなわち、位置条件を満たす相手キャラクタの数nと、位置条件を満たす相手キャラクタと操作キャラクタとの距離のうち最短の距離rMINとに基づいて係数ξを算出する(ステップS55)。ついで、算出した係数ξを式(6),(7)に代入して視点の水平座標(XV,ZV)を決定する(ステップS56)。また、視線方向を決定する(ステップS57)。水平座標系における視線の向きは式(9)により決定し、俯角τは式(10)により決定する。そして、算出した水平座標(XV,ZV)、視線方向(水平座標系での視線の向きおよび俯角τ)、予め設定された視点の視野角ωO,高さYVに基づいて画像生成部240に画像を生成させる(ステップS58)。以上の処理が終了すると、1フレームにおける視点制御処理を終了する。
【0129】次に本実施形態におけるゲーム装置1のハードウェア構成について説明する。図18は、本実施の形態を実現可能とするハードウェア構成の一例を示す図である。同図によればゲーム装置1には、CPU600、RAM602、ROM604、情報記憶媒体606、画像生成IC608、音生成IC610、I/Oポート612,614が、システムバス616により相互にデータ入出力可能に接続されている。そして、画像生成IC608には、表示装置618が接続され、音生成IC610には、スピーカ620が接続され、I/Oポート612には、コントロール装置622が接続され、I/Oポート614には、通信装置624が接続されている。
【0130】ROM604は、ゲーム装置1本体の初期化情報、ゲーム装置1本体の各部を機能させるための基本情報などが記憶されている。また、情報記憶媒体606は、図7に示す機能ブロックにおける情報記憶媒体400に相当するものであり、ゲームプログラム420や、バスケットボールゲームにおける各キャラクタやコートなどを表現する為の画像データ、音データ、プレイデータ等を主に格納するものである。なお図1に示す家庭用ゲーム装置1に本発明を適用する場合には、ゲームプログラム420等を記憶する情報記憶媒体として、CD−ROM、ゲームカセット、DVD、メモリカードなどが用いられる。また、業務用のゲーム装置に本発明を適用する場合には、ROMなどのハードウェアにより実現でき、この場合には情報記憶媒体606はROM604になる。また、パーソナルコンピュータにて本発明を実現する場合には、CD−ROM、DVD、ROM等のメモリ、ハードディスク等が用いられる。
【0131】コントロール装置622は、図1に示したようなゲームコントローラ3,4に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0132】情報記憶媒体606に格納されるプログラム、ROM604に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置622によって入力される信号等に従って、CPU600は、装置全体の制御や各種データ処理を行う。RAM602は、このCPU600の作業領域等として用いられる記憶手段であり、情報記憶媒体606やROM604の所与の内容、あるいはCPU600の演算結果が格納される。なお、RAM602は、図7に示した機能ブロックにおける一時記憶部500に相当する働きをする。
【0133】更に、この種の装置には、音生成IC610と画像生成IC608とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC610は、情報記憶媒体606やROM604に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ620によって出力される。また、画像生成IC608は、RAM602、ROM604、情報記憶媒体606等から出力される画像情報に基づいて表示装置618に出力するための画素情報を生成する集積回路である。また表示装置618は、CRTやLCD、TV、プラズマディスプレイ、プロジェクター等により実現される。
【0134】また、通信装置624は、ゲーム装置1の内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置1と接続されてゲームプログラム420に応じた所与の情報を送受し、また、通信回線を介してゲームプログラム420等の情報を送受すること等に利用される。
【0135】また、図1〜図17で説明した種々の処理は、図9,図13,図17のフローチャートに示したゲーム実行中の処理やリプレイ時処理等を行うためのプログラムを含むプログラムを格納した情報記憶媒体606と、該プログラムに従って動作するCPU600、画像生成IC608、音生成IC610等によって実現される。なお、画像生成IC608、音生成IC610等で行われる処理は、CPU600あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0136】なお、本発明は、図1に示した家庭用のゲーム装置1だけでなく、他のいかなる形態のゲーム装置1に適用してもかまわない。例えば、図19に、ホスト装置700と、このホスト装置700と通信回線702を介して接続される端末704−1〜704−nとを含むゲーム装置に本実施形態を適用した場合の例を示す。
【0137】図19に示す形態の場合、図7に示した情報記憶媒体400に記憶されるゲームプログラム420等は、例えば、ホスト装置700が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体706に格納されている。また、端末704−1〜704−nが、CPU、画像生成IC、音生成IC、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置700からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム420等が端末704−1〜704−nに伝送される。一方、スタンドアローンで生成できない場合には、ホスト装置700がゲーム画像、ゲーム音を生成し、これを端末704−1〜704−nに伝送し端末において出力することになる。
【0138】あるいは、図20に示すように、本実施形態を業務用ゲーム装置800に適用してもよい。この業務用ゲーム装置800は、プレーヤがスピーカ802から出力される音を聞きながら、操作ボタン804を操作することによって、ディスプレイ806に表示される所与のキャラクタを操作して所与のゲームを楽しむ装置である。業務用ゲーム装置800に内蔵されるシステム基板808には、CPU、画像生成IC、音生成IC、RAM、ROM、およびゲーム情報を記憶する情報記憶媒体であるメモリ810などが実装されている。そして、CPUによって上記図9,図13,図17などを用いて説明した各種処理を実行して、ゲームを実現する。
【0139】続いて以下に、本実施形態の変形例についていくつか説明する。
(1)動作能力の変更方法の変形例上記実施形態では、ボールを所有するキャラクタについて、全て同一の条件で動作能力を変化させることとして説明した。例えば、キャラクタAがボールを所有するときと、キャラクタBがボールを所有するときとで、位置条件が満たされた際の動作能力の変更割合が等しい。即ち、キャラクタを問わず、式(3)によって算出した変更係数ηをボール所有キャラクタの固有値に乗算することとした。しかしこの方法に限定する必要はない。以下に変形例を説明する。
【0140】〔1〕キャラクタ毎に動作能力の変更量が異なる例上記実施形態では、位置条件が満たされたボール所有キャラクタの固有値に式(3)に基づく変更係数ηを乗算することとした。しかし、ボールを所有するキャラクタに応じて動作能力の変更量が異なるように設定してもよい。
【0141】例えば、式(3)に示したように変数nの関数によって変更係数ηを定義する場合には、係る関数に含まれる定数αをキャラクタに固有な値として設定する。即ち、nの値が同一でも係数αの値の違いによって得られる変更係数ηの値がキャラクタ毎に異なるように設定する。具体的には、キャラクタAにはαAを、キャラクタBにはαBを、…といった具合にそれぞれキャラクタに固有なαを設定する(ただし定数αは0<α<1を満たすものとする)。ゲーム実行中では、ゲーム装置1の処理系(例えば能力変更部224)が、ボールを所有するキャラクタに対応する指数αの値を読み出して式(3)に代入し、変更係数ηを算出する。このようにボールを所有するキャラクタに応じて動作能力の変更量が異なるように設定することで、平常心の強いキャラクタや、相手キャラクタにマークされると動揺するキャラクタなどを演出することが可能となる。
【0142】〔2〕相手キャラクタに応じて動作能力の変更量が異なる例上記実施形態では、位置条件を満たした相手キャラクタの種類によらず、ボール所有キャラクタの固有値に式(3)に基づく変更係数ηを乗算することとした。しかし、位置条件を満たした相手キャラクタに応じて、ボール所有キャラクタの動作能力の変更量が異なるように設定してもよい。
【0143】例えば、キャラクタAには定数αAを、キャラクタBには定数αBを、キャラクタCには定数αCを…、といった具合にキャラクタ毎に定数αを設定する(ただし、定数αは0<αを満たすものとする)。そしてボール所有キャラクタに対して、キャラクタAが位置条件を満たした場合には、変更係数ηを、η=exp{−αA} …(11)
によって算出する。また、キャラクタAとキャラクタBが位置条件を満たした場合には、変更係数ηを、η=exp{−(αA+αB)} …(12)
によって算出する。このように相手キャラクタの種類に応じてボール所有キャラクタの動作能力の変更量を決定することで、ディフェンスの得意不得意を表現することが可能となる。
【0144】〔3〕相性に応じて動作能力の変更量が異なる例位置条件を満たした相手キャラクタと、ボールを所有するキャラクタとの相関(あるいは相性)に応じてボール所有キャラクタの動作能力の変更量を変化させてもよい。例えば、対立するポジションのキャラクタ同士が接近した場合、あるいはライバル関係にあるキャラクタ同士が接近した場合などには、ボール所有キャラクタの動作能力の変更量を大きくし、相関関係の少ないキャラクタ同士が接近した場合には、ボール所有キャラクタの動作能力の変更量を小さくする。
【0145】具体的な例としては、次のようにして変更係数ηを算出する。
η=exp{−α} …(13)
ゲーム実行中には、式(13)に含まれるαに、位置条件を満たした相手キャラクタとボール所有キャラクタとの相関関係に基づく指数値を代入する。図21は、相関関係と指数とを対応付けた相関テーブル460の一例を示す図である。同図によれば、ボールを所有するキャラクタと位置条件を満たした相手キャラクタとが同種ポジションである場合の指数α1と、ライバル関係である場合の指数α2と、非相関関係である場合の指数α3とがそれぞれ対応付けて記憶されている。
【0146】ゲーム装置1の処理系(例えば、位置条件判定部222)は、図10に示した属性データ520に各キャラクタの座標情報やボールの所有有無を記憶するだけでなく、ポジションやライバルキャラクタなどを識別するためのコードを記憶する。更にゲーム装置1の処理系(例えば、能力変更部224)は、位置条件を満たす相手キャラクタについて、そのポジション、あるいはライバル関係を判定し、図21に示した相関テーブル460から適当な指数を読み出して、変更係数ηを算出する。
【0147】なお、位置条件を満たす相手キャラクタが複数存在する場合には、以下に示すように各相手キャラクタに対応する指数を加算して変更係数ηを決定してもよい。
η=exp{−(α1+α3+α3+…)} …(14)
このように、キャラクタ間の相関性を表現することで、バスケットボールゲームにおける戦略性を高めることが可能となる。
【0148】〔4〕動作の内容に応じて能力の変更量が異なる例上記実施形態では、動作の内容によらず、固有値に変更係数η(もしくはその逆数1/η)を乗算して動作能力を変更することとして説明した。しかし、係る方法に限定する必要はなく、動作の内容に応じて動作能力を変更する割合を変化させても良いことは勿論である。
【0149】例えば式(3)に示したように、変数nを有する関数によって変更係数ηを定義する場合には、係る関数に含まれるαに対して動作の内容に応じた値(ただし0<α<1)を代入する。例えば、ボール所有キャラクタにジャンプを実行させる際にはαJを、ドリブルを実行させる際にはαDを、パスを実行させる際にはαPを、シュートを実行させる際にはαSを、それぞれ式(3)に代入する。このように動作内容に応じたαの値を設定して式(3)に代入すれば、動作毎に動作能力の変化を表現することが可能となる。
【0150】〔5〕キャラクタ間の距離に応じて動作能力の変更量が異なる例上記実施形態では、位置条件を満たした相手キャラクタの数に応じてボール所有キャラクタの動作能力を変更することとして説明したが、位置条件を満たした相手キャラクタとボール所有キャラクタとの距離のうち最短の距離rMINに基づいて動作能力の変更量を決定する構成にしてもよい。
【0151】具体的には、位置条件を満たす相手キャラクタが存在しない場合には、変更係数ηをη=1とし、位置条件を満たす相手キャラクタが存在する場合には、係る相手キャラクタとボール所有キャラクタとの距離の中から最短の距離rMINを選出して、次式によって変更係数ηを決定する。
η=exp{−α/rMIN} …(15)
このように位置条件を満たす相手キャラクタとボール所有キャラクタとの距離rMINに応じて動作能力を変化させることで、よりリアルにボール所有キャラクタの心の動きを表現することが可能となる。
【0152】〔6〕ゲームの点差に応じて動作能力の変更量が異なる例上記実施形態では、位置条件を満たす相手キャラクタの数に応じてボール所有キャラクタの動作能力を変更することとして説明した。これに対して更にゲームの点差に応じて動作能力が変化するようにしてもよい。
【0153】例えば、ボール所有キャラクタが所属するチームがその相手チームに負けている場合には、動作能力を低下させ、勝っている場合には動作能力を実際の能力よりも向上させるようにしてもよい。具体的には、例えばボール所有キャラクタがAチームに所属し、Bチームと対戦している場合において、Aチームの得点をa、Bチームの得点をbとした場合に、変更係数ηを次式に従って決定する。
η=exp{−αn+(1-b/a)} …(16)
ただし得点a,bが0の場合にはa,bにそれぞれ1を代入する。さて式(16)において、a>bであればexp{1-b/a}>1となり、ボール所有キャラクタの動作能力は向上する。一方、a<bであればexp{1-b/a}<1となりボール所有キャラクタの動作能力は低下する。
【0154】あるいは逆に、ボール所有キャラクタが所属するチームがその相手チームに負けている場合に、点差を縮めるためにボール所有キャラクタの動作能力を向上させ、勝っている場合には動作能力を低下させるようにしてもよい。
【0155】〔8〕ゲームの残り時間に応じて動作能力の変更量が異なる例上記実施形態では、位置条件を満たす相手キャラクタの数に応じてボール所有キャラクタの動作能力を変更することとして説明した。これに対して更にゲームの残り時間に応じて動作能力が変化するようにしてもよい。
【0156】例えば、ゲーム時間の制限時間がTである場合において、ゲーム開始時からの経過時間tが0≦t≦T/2である場合には、変更係数ηを式(3)によって計算し、経過時間tがT/2<t≦Tを満たす場合には、次式によって変更係数を算出する。
η=Iexp{−αn} …(17)
ここで、Iは0<I<1を満たす定数である。式(17)によれば、定数Iによって変更係数ηは常に1未満であり故に動作能力が低下する。このように、時間経過に応じて動作能力を変化させることによって、キャラクタの疲れや判断力の低下などを演出することが可能となる。
【0157】〔9〕位置条件を満たす経過時間に応じて動作能力の変更量が異なる例上記実施形態では、位置条件を満たす相手キャラクタの数に応じてボール所有キャラクタの動作能力を変更することとして説明した。これに対して位置条件を満たす時間の長さに応じてボール所有キャラクタの動作能力が変化するようにしてもよい。
【0158】例えば、変更係数ηを次の式により定義する。
η=exp{−φt} …(18)、或いはη=J−exp{−φt} …(19)
とする。ここで、φ及びJは正の定数であり(ただしJ>1)、tは相手キャラクタが位置条件を満たしてからの経過時間を示す。式(18)によれば、時間経過に応じて変更係数ηが小さくなり、動作能力が通常時から徐々に異なるように演出できる。一方、式(19)によれば、時間経過に応じて変更係数ηがJの値に近づく。故に、J≒1に設定すれば、時間経過に応じて徐々にボール所有キャラクタの動作能力が平常時に戻るように演出できる。
【0159】この他、ボール所有キャラクタが属するチームがホームチームであるか、アウェイチームであるかによって動作能力の変更量が異なるように設定してもよい。
【0160】また、上記説明によれば、動作能力を決定付ける固有値に変更係数ηを乗算することで動作能力を変更することとした。しかし、この方法に限定する必要はなく、例えば、動作能力(例えば固有値)と各条件(例えば、位置条件を満たす相手キャラクタの数や相手キャラクタとボール所有キャラクタとの距離など)とを対応付けたテーブル形式のデータなどを用いて直接的に動作能力を決定するようにしても良いことは勿論である。
【0161】また、変更係数ηを定義する関数として指数関数を用いる場合を例に説明したが、これに限定する必要はなく、1次関数などによって算出しても良いことは勿論である。
【0162】また、上記説明によれば、位置条件を満たす相手キャラクタの存在有無に応じてボール所有キャラクタの動作能力を低下させる場合を中心に説明したが、逆に動作能力が向上するように設定しても良いことは勿論である。
【0163】(2)視点の制御方法の変形例上記実施形態では、操作キャラクタがボールを所有する場合において、位置条件を満たした相手キャラクタとボール所有キャラクタとの距離に応じて視点の位置を操作キャラクタに接近させることとして説明した。しかし、上記方法に限定する必要はなく、位置条件が満たされたときに仮想空間における視界の範囲を変更するものであれば、如何なるものであってもかまわない。
【0164】〔1〕視野角を変化させる例上記実施形態では、通常時においては、式(4),(5)に従って水平座標系における視点の位置を決定し、条件a,bが満たされたとき(すなわち、操作キャラクタがボールを所有し、尚且つ位置条件を満たす相手キャラクタが存在するとき)に、上記式に含まれる定数(XO,ZO)の値を変更して視点を操作キャラクタに近づけることとした。しかし、定数(XO,ZO)の値を変更せずに、視点の視野角ωを変更することとしてもよい。ここで視野角とは、視点が、ビュウウインドウ(矩形)における隣合う頂点と作る角度のことであり、水平方向の視野角と鉛直方向の視野角とはそれぞれ大きさが異なる。
【0165】なお視点に基づいて透視投影変換を行って画像を生成する場合においては、投影面にビュウウインドウを設定し、係るビュウウインドウの大きさを一定にした場合、視野角を変更することと、視点と投影面(すなわちビュウウインドウ)との距離を変更することは同等である。すなわち、投影面を視点から遠ざければ視野角が小さくなり、投影面を視点に近づければ視野角が大きくなる。したがって、視野角を変更する方法としては、仮想空間における投影面の位置を基準に視点の位置(すなわち奥行)を変更する方法と、視点の位置を基準として投影面の位置(奥行)を変更する方法とが考えられるが、以下では後者、すなわち投影面の位置を変化させる場合について説明する。
【0166】図22は、視野角を変更する例について説明するための図である。図22(a)は、通常時(すなわち、操作キャラクタがボールを所有しないとき、または操作キャラクタがボールを所有するが位置条件を満たす相手キャラクタが存在しないとき)における視点92と投影面94との位置関係を示す図である。同図において黒丸96が操作キャラクタを示し、黒三角98が相手キャラクタを示す。また図22(a)においては、簡明の為にコート60におけるエンドライン61a,61bとサイドライン63a,63bのみを表示しそれ以外のラインを省略した。通常時においては、水平座標系における視点92の視線方向はZ軸に平行であり、また、視点92と投影面94との距離RはRO(=一定)である。図23は、図22(a)に示す位置関係を有する視点92に基づいて生成した画像の模式図である。図23によれば、比較的広い範囲の仮想空間が表示されている。
【0167】図22(b)は、操作キャラクタ96がボールを所有し、相手キャラクタ98が位置条件を満たした場合における視点の向きと投影面の位置の一例を示す図である。図22(b)において視点の視線ベクトルは操作キャラクタ96の位置を向き、視点と投影面との距離Rは通常時における距離ROよりも長い。したがって、視野角は狭くなり、仮想空間における表示範囲が狭くなる。このとき同時に視点の高さYVを低くする。図2424は、図22(b)に示す位置関係を有する視点に基づいて生成した画像の模式図である。図24によれば、操作キャラクタが拡大して画面上に表示され、また視点の高さYVが低くなったことでより臨場感および緊迫感が増す。
【0168】ところで、視点と投影面との距離Rは、位置条件を満たした相手キャラクタと操作キャラクタとの距離に応じて決定するようにしてもよい。例えば、相手キャラクタと操作キャラクタとが接近すればするほど視点と投影面とが遠くはなれるように設定する。この設定によれば、相手キャラクタと操作キャラクタとが接近するほどに、係る2つのキャラクタが拡大して表示されることとなる。
【0169】〔2〕ボール所有キャラクタの周辺をぼかす例視界の範囲を変更する方法として、対象の周囲をぼかしてもよい。具体的には、操作キャラクタがボールを所有し、尚且つ位置条件を満たすキャラクタが存在する場合には、操作キャラクタの代表点を中心として半径κの範囲以外の部分をぼかして表現する。ぼかす方法としては様々に考えられるが、例えばフォグ処理などで知られるように、1点(すなわち操作キャラクタの代表点)から離れるにつれて画像に所定色(例えば白や黒)が合成されるように設定する。このように操作キャラクタ(すなわちボール所有キャラクタ)の周囲をぼかすことによって、周囲が見えない操作キャラクタの不安感を主観的に表現することができる。
【0170】(3)位置条件の判定タイミングの変形例上記実施形態では、位置条件判定部222は、所定時間毎に(例えば1フレーム毎に)上記位置判定処理を行うこととした。しかし、これに限定する必要はなく、所定のきっかけを機に位置判定処理を行うようにしてもよい。例えば、ゲーム実行中においてボール所有キャラクタにパスやシュートなどを行わせる際に、ボールの行方を決定するためにボール所有キャラクタに仮想空間における周囲を見渡させることがある。そこで係る行為を行った後(あるいは、係る行為を行っている最中に)、位置判定処理を行うようにしてもよい。なお見渡し行為については、プレーヤによる操作入力に応答して行っても良いし、ゲームプログラム420によって自動的に行うようにしてもよい。
【0171】(4)キャラクタの表情を変化させる例上記実施形態によれば、位置条件が満たされたとき、ボール所有キャラクタの動作能力を変更したり、視点における視界の範囲を変更することとした。しかしこれらの方法だけでなく、キャラクタの表情(顔色や振舞い)を変化させて、動作能力の変化を視覚的に表現してもよい。例えば、位置条件が満たされた際に、ボール所有キャラクタの顔色を悪くしたり、相手キャラクタの表情を勝ち誇ったような表情に変化させる。或いは、動作能力の変化に伴って、びくびくしたり、戸惑ったような振舞いをさせたり、落ち着き無く周囲を見回せたりする。
【0172】具体的には、位置条件判定処理(図9)によりn≠0となったときに(即ち位置条件が満たされたときに)、ゲーム装置の処理系(例えば、動作制御部226)が、キャラクタの振舞いをびくびくしたり、周囲をきょろきょろと見回すように行為させる。また、画像を生成する際には、(例えば、画像生成部240が)ボール所有キャラクタの顔部分にマッピングするテクスチャの基調色を変更して顔面を青っぽくしたり、顔部分や頭部近傍に汗を配したり、各キャラクタの顔部分にマッピングするテクスチャを変更したりして、ゲーム画像を生成する。
【0173】このように、位置条件が満たされたことに起因して、ボール所有キャラクタの表情を変化させることによって、動作能力の変化をプレーヤに視覚的に知らしめることが可能となる。
【0174】なお、キャラクタの表情を変化させるだけでなく、動作の能力値を数値や棒グラフによって直接的に表現しても良い。
【0175】上記実施の形態によれば、球技ゲームとしてバスケットボールゲームを例に説明したが、これに限定する必要はなく、例えばサッカー、ホッケー、ハンドボール、水球などに適用しても良いことは勿論である。また、動作能力を決定付けるパラメータの値を表示画面に表示するように設定しても良いことは勿論である。
【0176】
【発明の効果】以上に説明したように、本発明に係るゲーム情報によれば、ボールを有するキャラクタとその他のキャラクタとの位置関係を判定し、位置条件を満たすキャラクタが存在する場合には、係るキャラクタの動作能力を変更する。したがって、キャラクタ間の位置関係に伴うキャラクタの心理的変化を動作能力の変更によって表現することが可能となる。
【図面の簡単な説明】
【図1】本実施形態におけるゲーム装置の外観図である。
【図2】本実施形態におけるゲーム画像の一例を示す図である。
【図3】位置条件を満たさないときのゲーム画像の一例を示す図である。
【図4】位置条件が満たされるときのゲーム画像の一例を示す図である。
【図5】位置条件が満たされないときのゲーム画像の一例を示す図である。
【図6】画像表示範囲を変更したときのゲーム画像の一例を示す図である。
【図7】本実施形態におけるゲーム装置の機能ブロックを示す図である。
【図8】(a)は仮想空間の平面図である。(b)は判定範囲の一例を示す図である。
【図9】位置判定処理を説明するためのフローチャートである。
【図10】属性データの一例を示す図である。
【図11】対応テーブルの一例を示す図である。
【図12】仮想空間におけるコートの平面図である。
【図13】動作制御処理を説明するためのフローチャートである。
【図14】仮想空間におけるコートの平面図である。
【図15】操作キャラクタと視点との位置関係を説明するための図である。
【図16】(a)は通常時における視点と操作キャラクタの位置関係を示す図である。(b)は俯角τOを一定にしたときの一例を示す図である。(c)は、俯角τを変化させたときの一例を示す図である。
【図17】視点制御処理について説明するためのフローチャートである。
【図18】本実施形態におけるゲーム装置1のハードウェア構成を示す図である。
【図19】ホスト装置と端末を含むゲーム装置に本実施形態を適用した例を示す図である。
【図20】本実施形態を業務用のゲーム装置に適用した例を示す図である。
【図21】相関テーブルの一例を示す図である。
【図22】(a)は通常時における視点と視野角の関係を示す図である。(b)は位置条件が満たされたときの視点と視野角の関係を示す図である。
【図23】通常時におけるゲーム画像の一例を示す図である。
【図24】視野角を縮めたときのゲーム画像の一例を示す図である。
【符号の説明】
100 入力部
200 処理部
220 ゲーム演算部
222 位置条件判定部
224 能力変更部
226 動作制御部
228 視点制御部
240 画像生成部
300 表示部
400 情報記憶媒体
420 ゲームプログラム
422 ゲーム演算プログラム
424 画像生成プログラム
500 一時記憶部
520 属性データ
540 相手キャラクタ数n

【特許請求の範囲】
【請求項1】演算・制御を行うプロセッサを備える装置に対して、操作入力に応答して所与のキャラクタをリアルタイムに動作させ、前記所与のキャラクタを含む複数のキャラクタが登場する球技ゲームを実行する手段と、視点に基づいて前記複数のキャラクタが存する仮想空間の画像を生成する手段と、を機能させるためのゲーム情報であって、前記複数のキャラクタのうち、ボールを有するボール所有キャラクタと他のキャラクタとの位置関係が位置条件を満たすか否かを判定する位置判定手段と、前記位置条件を満たすキャラクタの動作能力を変更する動作能力変更手段と、を前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項2】請求項1に記載のゲーム情報において、前記位置判定手段が、ボール所有キャラクタの所定方向に対して他のキャラクタが存在するか否かを前記位置条件として判定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項3】請求項1または2に記載のゲーム情報において、前記位置判定手段が、ボール所有キャラクタに追動する所定範囲内に他のキャラクタが存在するか否かを前記位置条件として判定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項4】請求項3に記載のゲーム情報において、前記動作能力変更手段が、前記所定範囲内に存在する他のキャラクタの数または/および存続時間に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項5】請求項1から4のいずれかに記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの距離に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項6】請求項1から5のいずれかに記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たすキャラクタのうち、前記ボール所有キャラクタの動作能力を変更する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項7】請求項6に記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たす他のキャラクタが前記球技ゲームに登場する何れのキャラクタであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項8】請求項6に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタが前記球技ゲームに登場する何れのキャラクタであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項9】請求項6に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの組み合わせが、前記球技ゲームに登場する何れのキャラクタの組み合わせであるかに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項10】請求項9に記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタのポジションと前記位置条件を満たす他のキャラクタのポジションとの組み合わせに応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項11】請求項6から10のいずれかに記載のゲーム情報において、前記動作能力変更手段が、前記位置条件を満たす他のキャラクタが、前記球技ゲームにおけるボール所有キャラクタの相手チームに属する場合にのみ動作能力を変更する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項12】請求項6から11のいずれかに記載のゲーム情報において、前記動作能力変更手段が、ボール所有キャラクタのシュート、パス、ジャンプ、ドリブル、のうち少なくとも1つの動作能力を変更する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項13】請求項1から12のいずれかに記載のゲーム情報において、ボール所有キャラクタに周囲を見渡す行為を行わせる見渡行為手段を、前記装置に機能させるための情報と、前記位置判定手段が、ボール所有キャラクタが見渡す行為を行う際に前記位置条件の判定を行う、ように前記装置に機能させるための情報と、を含むことを特徴とするゲーム情報。
【請求項14】請求項1から13のいずれかに記載のゲーム情報において、前記動作能力変更手段は、前記球技ゲームにおける残り時間若しくは点差に応じて動作能力の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項15】請求項1から14のいずれかに記載のゲーム情報において、前記位置条件が満たされたときに、前記ボール所有キャラクタの表情を変更する表情変更手段を、前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項16】請求項1から15のいずれかに記載のゲーム情報において、前記位置条件が満たされたときに、視点に基づく前記仮想空間の画像表示範囲を変更する表示範囲変更手段を、前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項17】請求項16に記載のゲーム情報において、前記表示範囲変更手段が、ボール所有キャラクタと前記位置条件を満たす他のキャラクタとの距離、前記位置条件を満たす他のキャラクタの数、及び前記位置条件を満たした経過時間、の内の少なくとも1つに基づいて画像表示範囲の変更量を決定する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項18】請求項16または17に記載のゲーム情報において、前記表示範囲変更手段が、ボール所有キャラクタに対する視点の距離を変更する、視点の視野角を変更する、ボール所有キャラクタの周囲をぼかす、のうち少なくとも1つの処理を行うことで画像表示範囲を変更する、ように前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項19】請求項1から18のいずれかに記載のゲーム情報を記憶することを特徴とする情報記憶媒体。
【請求項20】操作入力に応答して所与のキャラクタをリアルタイムに動作させ、視点に基づいて前記所与のキャラクタを含む複数のキャラクタが存する仮想空間の画像を生成して表示することで前記複数のキャラクタが登場する球技ゲームを実行するゲーム装置であって、前記複数のキャラクタのうち、ボールを有するボール所有キャラクタと他のキャラクタとの位置関係が位置条件を満たすか否かを判定する位置判定手段と、前記位置条件を満たすキャラクタの動作能力を変更する動作能力変更手段と、を備えることを特徴とするゲーム装置。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図11】
image rotate


【図19】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図12】
image rotate


【図18】
image rotate


【図21】
image rotate


【図9】
image rotate


【図10】
image rotate


【図15】
image rotate


【図20】
image rotate


【図13】
image rotate


【図14】
image rotate


【図16】
image rotate


【図22】
image rotate


【図23】
image rotate


【図17】
image rotate


【図24】
image rotate


【公開番号】特開2003−210848(P2003−210848A)
【公開日】平成15年7月29日(2003.7.29)
【国際特許分類】
【出願番号】特願2002−17273(P2002−17273)
【出願日】平成14年1月25日(2002.1.25)
【出願人】(000134855)株式会社ナムコ (1,157)
【Fターム(参考)】