(57)【要約】インタラクティブなアニメーション環境は、ユーザ制御オブジェクト（１８８）を含む。アニメーション環境を提供するアニメーションシステムは、ユーザ制御オブジェクトの位置を特定すること（Ｓ１７０）と、この位置の周囲の複数の領域を定義すること（Ｓ１７２）と、ユーザ制御オブジェクトの位置を動かすユーザ入力を検出すること（Ｓ１７４）と、検出したユーザ制御オブジェクトの位置を動かすユーザ入力を運動方向に存在する１個の領域に関連付けること（Ｓ１８４）と、マッピングした領域に関連付けられたユーザ制御オブジェクトのアニメーションを提供すること（Ｓ２１６）とを含む。このシステムを実施するための制御方法とコントローラも開示される。更に、本発明を実施するためのコンピュータプログラムとコンピュータプログラム生成物（記憶媒体）が開示される。
2009536566.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブなアニメーション環境の制御方法であって、前記アニメーション環境は少なくとも１個のユーザ制御オブジェクトを含み、前記制御方法は、
前記ユーザ制御オブジェクトの位置を特定することと、
前記位置の周囲の複数の領域を定義することと、
前記ユーザ制御オブジェクトの位置を動かすユーザ入力を検出することと、
検出した前記ユーザ入力を、前記ユーザ制御オブジェクトの運動方向に存在する領域である運動領域に関連付けることと、
前記ユーザ制御オブジェクトのアニメーションを、マッピングした前記運動領域に関連付けて提供するアニメーション提供ステップと
を含む、制御方法。  
【請求項２】
前記アニメーション環境は更に、前記運動領域において前記ユーザ制御オブジェクトに相互作用できる能動エレメントを含み、
前記アニメーション提供ステップは、前記ユーザ制御オブジェクトと前記能動エレメントのアニメーションを提供することを含む、請求項１記載の制御方法。
【請求項３】
前記能動エレメントは、非ユーザ制御オブジェクトである、請求項２記載の制御方法。
【請求項４】
前記非ユーザ制御オブジェクトは、人工知能エージェントによって制御される、請求項３記載の制御方法。
【請求項５】
前記アニメーション提供ステップは、前記ユーザ制御オブジェクトを制御するための何らかの前記ユーザ入力を受取ることを含む、請求項１記載の制御方法。
【請求項６】
前記ユーザ入力は、前記ユーザ制御オブジェクトの運動または動作に関する、請求項５記載の制御方法。
【請求項７】
前記アニメーション提供ステップは、前記非ユーザ制御オブジェクトの挙動を特定する情報を受取ることを含む、請求項１記載の制御方法。
【請求項８】
前記アニメーション提供ステップは、前記能動エレメントの運動または動作に関する情報を受取ることを含む、請求項１記載の制御方法。
【請求項９】
前記アニメーション提供ステップは、前記ユーザ制御オブジェクトと前記能動エレメントの相互作用のアニメーションを含む、請求項２記載の制御方法。
【請求項１０】
前記相互作用は、前記ユーザ入力に依存して決定される、請求項９記載の制御方法。
【請求項１１】
前記相互作用は、前記能動エレメントの動作に依存して決定される、請求項９記載の制御方法。
【請求項１２】
検出した前記ユーザ入力を前記運動領域にマッピングするステップは、
各々の可能なユーザ方向を１個の領域にマッピングするステップと、
入力された前記ユーザ方向に関連付けてマッピングした前記運動領域を特定するステップと
を含む、請求項１記載の制御方法。
【請求項１３】
前記能動エレメントは、人工知能エージェントによって制御される、請求項２記載の制
御方法。
【請求項１４】
前記アニメーション提供ステップは、前記ユーザ入力と前記人工知能メッセージを監視することを含む、請求項１３記載の制御方法。
【請求項１５】
それぞれ人工知能エージェントによって制御される複数の前記能動エレメントが設けられ、
前記制御方法は更に、前記人工知能メッセージを相互調整するステップを含む、請求項１４記載の制御方法。
【請求項１６】
前記制御方法は更に、前記人工知能メッセージを監視するステップに基づき、前記能動エレメントの動作を特定することを含む、請求項１５記載の制御方法。
【請求項１７】
前記制御方法は更に、所定のアニメーションセットを記憶することを含む、請求項１項記載の制御方法。
【請求項１８】
前記制御方法は更に、マッピングした前記運動領域に依存して適切なアニメーションを選択することを含む、請求項１７記載の制御方法。
【請求項１９】
前記制御方法は更に、ユーザ入力装置によって、方向制御の方向に各々の前記領域をマッピングすることを含む、請求項１記載の制御方法。
【請求項２０】
前記領域の数は４個であり、
各々の前記領域は、上下左右何れか１方向にマッピングされる、請求項１記載の制御方法。
【請求項２１】
前記ユーザ制御オブジェクトは、戦闘によって前記能動エレメントに相互作用できる、請求項２記載の制御方法。
【請求項２２】
前記制御方法は更に、前記アニメーションをプリレンダリングするステップを含む、請求項１記載の制御方法。
【請求項２３】
前記制御方法は更に、前記アニメーションをコンピュータによってリアルタイムに生成するステップを含む、請求項１記載の制御方法。
【請求項２４】
選択した前記アニメーションは、プレーヤキャラクタと非プレーヤキャラクタの相対身長に依存する、請求項１記載の制御方法。
【請求項２５】
選択した前記アニメーションは、キャラクタの状態に依存する、請求項１記載の制御方法。
【請求項２６】
前記能動エレメントの位置は、前記アニメーションのレンダリングに先行して調整される、請求項２記載の制御方法。
【請求項２７】
前記能動エレメントの位置は、前記能動エレメントの方向を変えることによって調整される、請求項２６項記載の制御方法。
【請求項２８】
前記能動エレメントの位置は、前記能動エレメントを動かすことによって調整される、請求項２６項記載の制御方法。
【請求項２９】
前記調整は、マッピングした前記運動領域内において行われる、請求項２６記載の制御方法。
【請求項３０】
前記調整は、ユーザ制御オブジェクトの位置と前記能動エレメントの位置が前記アニメーション提供ステップを準備するように整えられることを保証する、請求項２６記載の制御方法。
【請求項３１】
前記ユーザ制御オブジェクトは、マッピングした前記運動領域において複数の前記能動エレメントを交戦させる、請求項２記載の制御方法。
【請求項３２】
複数の前記能動エレメントとの交戦が整合される、請求項３１記載の制御方法。
【請求項３３】
複数の前記能動エレメントとの交戦は、単一のユーザ入力に応答してすべての前記能動エレメントを交戦させることを含む、請求項３１記載の制御方法。
【請求項３４】
ユーザ制御オブジェクトの位置を特定することと、
前記位置の周囲の複数の領域を定義することと、
前記ユーザ制御オブジェクトの位置を動かすユーザ入力を検出することと、
検出した前記ユーザ入力を、前記ユーザ制御オブジェクトの運動方向に存在する領域である運動領域に関連付けることと、
前記ユーザ制御オブジェクトのアニメーションを、マッピングした前記運動領域に関連付けて提供することと
からなる方法を実施するためのコンピュータプログラムコードを記憶する記憶媒体。
【請求項３５】
ユーザ制御オブジェクトの位置を特定することと、
前記位置の周囲の複数の領域を定義することと、
前記ユーザ制御オブジェクトの位置を動かすユーザ入力を検出することと、
検出した前記ユーザ入力を、前記ユーザ制御オブジェクトの運動方向に存在する領域である運動領域に関連付けることと、
前記ユーザ制御オブジェクトのアニメーションを、マッピングした前記運動領域に関連付けて提供することと
からなる方法をコンピュータに実施させるためのコンピュータプログラム。
【請求項３６】
インタラクティブなアニメーション環境を制御する制御システムであって、前記アニメーション環境は少なくとも１個のユーザ制御オブジェクトを含み、前記制御システムは、
前記ユーザ制御オブジェクトの位置を特定し、
前記位置の周囲の複数の領域を定義し、
前記ユーザ制御オブジェクトの位置を動かすユーザ入力を検出し、
検出した前記ユーザ入力を、前記ユーザ制御オブジェクトの運動方向に存在する領域である運動領域に関連付け、そして
前記ユーザ制御オブジェクトのアニメーションを、マッピングした前記運動領域に関連付けて提供するように構成される、制御システム。
【請求項３７】
前記アニメーション環境は更に、前記運動領域において前記ユーザ制御オブジェクトに相互作用できる能動エレメントを含み、
前記制御システムは更に、前記ユーザ制御オブジェクトと前記能動エレメントのアニメーションを提供するように構成される、請求項３６記載の制御システム。
【請求項３８】
前記能動エレメントは、非ユーザ制御オブジェクトである、請求項３７記載の制御システム。
【請求項３９】
前記制御システムは更に、前記非ユーザ制御オブジェクトを制御するための人工知能エージェントを含む、請求項３８記載の制御システム。
【請求項４０】
前記制御システムは更に、前記ユーザ制御オブジェクトを前記ユーザ入力に依存して制御するように構成される、請求項３６記載の制御システム。
【請求項４１】
前記ユーザ入力は、前記ユーザ制御オブジェクトの運動または動作に関する、請求項４０記載の制御システム。
【請求項４２】
前記制御システムは前記アニメーションを提供するために、何れかの非ユーザ制御エレメントの挙動を特定する情報を受取るように構成される、請求項３６記載の制御システム。
【請求項４３】
前記制御システムは前記アニメーションを提供するために、前記能動エレメントの運動または動作を特定する情報を受取るように構成される、請求項３６記載の制御システム。
【請求項４４】
前記制御システムは更に、前記ユーザ制御オブジェクトと前記能動エレメントの相互作用のアニメーションを含むアニメーションを提供するように構成される、請求項３７記載の制御システム。
【請求項４５】
前記制御システムは更に、前記ユーザ入力に依存して前記相互作用を特定するように構成される、請求項４４記載の制御システム。
【請求項４６】
前記相互作用は、前記能動エレメントの動作に依存して特定される、請求項４５記載の制御システム。
【請求項４７】
前記制御システムは更に、各々の可能なユーザ方向を１個の領域にマッピングし、入力された前記ユーザ方向に関連付けてマッピングした前記運動領域を特定するように構成される、請求項３６記載の制御システム。
【請求項４８】
前記制御システムは更に、所定のアニメーションセットを記憶するように構成される、請求項３６記載の制御システム。
【請求項４９】
前記制御システムは更に、マッピングした前記運動領域に依存して適切な記憶したアニメーションを選択するように構成される、請求項４８記載の制御システム。
【請求項５０】
選択した前記アニメーションは、プレーヤキャラクタと非プレーヤキャラクタの相対身長に依存するように構成される、請求項３６記載の制御システム。
【請求項５１】
選択した前記アニメーションは、キャラクタの状態に依存するように構成される、請求項３６記載の制御システム。
【請求項５２】
前記能動エレメントの位置は、前記アニメーションのレンダリングに先行して調整されるように構成される、請求項３６記載の制御システム。
【請求項５３】
インタラクティブなアニメーション環境を制御するためのコントローラであって、前記アニメーション環境には少なくとも１個のユーザ制御オブジェクトが設けられ、前記コントローラは、
前記ユーザ制御オブジェクトの位置を特定するための手段と、
前記位置の周囲の複数の領域を定義するための手段と、
前記ユーザ制御オブジェクトの位置を動かすユーザ入力を検出するための手段と、
検出した前記ユーザ入力を、前記ユーザ制御オブジェクトの運動方向に存在する領域である運動領域に関連付けるための手段と、
前記ユーザ制御オブジェクトのアニメーションを、マッピングした前記運動領域に関連付けて提供するための手段と
を含む、コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによって制御されるアニメーション環境でインタラクティブなエレメントの提示の改善に関する。特に本発明は、ビデオゲーム環境におけるインタラクティブアニメーションの提示に関するが、これに限るものではない。
【背景技術】
【０００２】
ビデオゲームは、ユーザによって制御されるアニメーション環境の典型的かつ一般的な例である。ビデオゲームはユーザにアニメーションをグラフィックエレメントの構成として提示する。グラフィックエレメントは、ゲームが行われる環境を定義する背景、キャラクタ、テクスチャおよびオブジェクトを含む。
【０００３】
コンピュータゲームの種々のグラフィックエレメントを生成する２つの周知の一般的方法は、コンピュータ生成とプリレンダリングである。
コンピュータ生成は、グラフィックエレメントがリアルタイム（またはニアリアルタイム）にレンダリングされるので、プレーヤの入力によく応答するインタラクティブなエレメントを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、コンピュータ生成はコンピュータ資源に費用がかかり、典型的にはユーザ入力に対するリーズナブルな応答性を達成するために画像提示の質を妥協することをデザイナーに強いる。
【０００５】
プリレンダリングは、典型的にはゲームを行っている間よりもむしろ製作中にゲーム開発者によってレンダリングされる背景、映画およびテクスチャを提供するために使用される。プリレンダリングされるエレメントは、非常にリアルで複雑な表示を提供するが、ユーザ入力に応答しない。プリレンダリングされるエレメントはこのように応答性が欠如しているので、主としてターゲットプラットフォームにとってリアルタイムにレンダリングするには大きすぎるレベルの複雑度を要求するエレメントにとって有用であり、画面上でゲームプレイを演じるキャラクタ等のエレメントには使用されない。
【０００６】
多くのビデオゲームは、ゲーム内の双方向性を実現するためにコンピュータ生成キャラクタとプリレンダリングしたグラフィックエレメントを組合せる。しかし、コンピュータ生成は現在のプロセッサの制約のために、ほとんどのゲーム用プラットフォームで高品質のグラフィックエレメントを生み出すことができない。これは特に何らかの接近戦ゲームや多くのスポーツゲームで一般的なキャラクタ間の相互作用に当てはまる。しかしプロセッサの設計が発展するに従い、これらの制約は著しく減少するであろう。
【０００７】
ゲームプラットフォームが、複雑でリアルな動きをする高品質のキャラクタをレンダリングできるとしても、商業的に妥当なユーザ入力装置で複雑な動きに対する十分な制御をユーザに提供することは非常に困難である。
【０００８】
更に、たとえば剣劇ゲームで剣がぶつかり合う時等、コンピュータで生成されるグラフィックエレメント間の相互作用を検出することは難しい。
本発明の目的は、上述した問題の１つ以上を解決することである。
【０００９】
本発明の目的は、ユーザによって制御されるアニメーション環境においてインタラクティブなエレメントの提示を改善することである。
【課題を解決するための手段】
【００１０】
本発明に従い提供される方法は、少なくとも１個のユーザ制御オブジェクトを含むインタラクティブなアニメーション環境において、ユーザ制御オブジェクトの位置を特定することと、前記位置の周囲の複数の領域を定義することと、ユーザ制御オブジェクトの位置を動かすユーザ入力を検出することと、検出したユーザ制御オブジェクトの位置を動かすユーザ入力を運動方向に存在する１個の領域に関連付けることと、マッピングした領域に関連付けられたユーザ制御オブジェクトのアニメーションを提供することを含む。  
【００１１】
更に、インタラクティブなアニメーション環境が、運動方向に存在する領域においてユーザ制御オブジェクトに相互作用できる能動オブジェクトとしての能動エレメントを含んでよく、アニメーションを提供するステップが、ユーザ制御オブジェクトと能動エレメントのアニメーションを提供することを含む。  
【００１２】
ユーザによって制御されるキャラクタは、ユーザ制御オブジェクトの例である。ユーザによって制御されないキャラクタは、能動エレメントの例である。能動エレメントは能動オブジェクトと呼ばれてよい。ユーザがユーザ制御オブジェクトを制御するという観点から、非ユーザ制御オブジェクトである能動エレメントは、異なるユーザによって制御されるキャラクタであってよい。ユーザ制御オブジェクトはプレーヤ制御オブジェクトと呼ばれてもよく、非ユーザ制御オブジェクトは非プレーヤオブジェクトと呼ばれてもよい。
【００１３】
ユーザ制御オブジェクトに相互作用するためのユーザによって制御されない少なくとも１個のオブジェクトは、好ましくは非ユーザ制御オブジェクトである。非ユーザ制御オブジェクトは、好ましくは人工知能エージェントによって制御される。
【００１４】
更にこの方法は、領域に関連付けられたユーザ制御オブジェクトのアニメーションを提供するステップを制御するための制御機能を提供することを含む。この制御機能は、好ましくはユーザ制御オブジェクトを制御するための何らかのユーザ入力を受取るようになっている。ユーザ入力は非ユーザ制御オブジェクトの運動または動作に関するものであってよい。制御機能が、好ましくは非ユーザ制御キャラクタの挙動を特定する入力情報を受取るようになっている。非ユーザ制御オブジェクトが非ユーザ制御キャラクタである場合、この情報は非ユーザ制御キャラクタの運動または動作に関するものであってよい。更に好ましくは、制御機能が非制御キャラクタのアニメーションを提供するステップを入力に依存して制御するようになっている。
【００１５】
更に好ましくは、この方法は領域に関連付けられた非ユーザ制御オブジェクトのアニメーションを提供する。この方法は好ましくは、ユーザ制御キャラクタと非ユーザ制御キャラクタの相互作用のアニメーションを提供する。この相互作用は、好ましくはユーザ入力に依存して特定される。この相互作用は、非ユーザ制御エレメントの動作に依存して特定されてもよい。
【００１６】
更に好ましくは、この方法は関連付けられた領域のアニメーションを提供する。
検出したユーザ制御キャラクタの位置を動かすユーザ入力を当該方向に存在する領域に関連付けることは、各々の可能なユーザ方向を１個の領域にマッピングし、入力したユーザ方向に関連付けてマッピングした領域を特定するステップを含む。
【００１７】
少なくとも１個の非プレーヤオブジェクトが人工知能エージェント（ＡＩエージェント）として実装されるか、もしくは人工知能エージェントによって制御されてよい。ＡＩエ
ージェント間でＡＩメッセージが受け渡されてよい。
【００１８】
この方法は、１個のユーザ方向に対応する領域に存在する非ユーザ制御オブジェクトを特定することを含んでよい。
この方法は、ユーザ入力とＡＩメッセージを監視することを（好ましくは振付層に）含んでよい。
【００１９】
この方法は、ＡＩメッセージを好ましくは（振付層において）相互調整することを含んでよい。
この方法は、ＡＩメッセージに基づきＡＩキャラクタの動作を特定することを含んでよい。
【００２０】
この方法は、各々のオブジェクト、エレメントまたはキャラクタに対する所定のアニメーションセットを記憶することを含んでよい。
この方法は、ユーザ制御オブジェクトとＡＩ制御オブジェクトとの間の相互作用を表示するためのＡＩオブジェクトに依存して適切なアニメーションを選択することを含んでよい。
【００２１】
複数の非プレーヤオブジェクトが設けられてよい。
本発明の好適な実施形態は、次の特徴の幾つかまたはすべてを含む。
各々の領域は、ユーザ入力装置で方向制御の方向にマッピングされてよい。領域の数は４個である。各々の領域は上下左右何れか１方向にマッピングされてよい。領域の方向とのマッピングは、高さまたは奥行きによって制限されない。
【００２２】
ユーザ制御オブジェクトは、非ユーザ制御オブジェクトと戦闘によって相互作用できる。戦闘は好ましくは剣闘である。
アニメーションはプリレンダリングされ得る。アニメーションはリアルタイムにレンダリングされ得る。
【００２３】
選択したアニメーションはユーザ制御オブジェクトと非ユーザ制御オブジェクトの相対身長に依存してよい。
選択したアニメーションはキャラクタの状態に依存してよい。この状態は、たとえば剣が鞘に入っているか、またはいないかを含んでよい。
【００２４】
非ユーザ制御オブジェクトの位置は、アニメーションのレンダリングに先行して調整されてよい。この位置は非ユーザ制御オブジェクトの方向を変えることによって調整され得る。この位置は、非ユーザ制御オブジェクトを動かすことによって調整され得る。この調整は、ユーザ制御オブジェクトと非ユーザ制御オブジェクトの位置がレンダリングされるアニメーションを準備するように整えられることを保証するものであってよい。
【００２５】
ユーザ制御オブジェクトは、１個の領域において複数の能動エレメントと交戦できる。複数の能動エレメントの交戦は、好ましくは整合される。複数の能動エレメントとの交戦は、単一のユーザ入力ですべての能動エレメントを交戦させることを含む。
【００２６】
本発明の実施形態は、３Ｄ環境における規則の基礎的システムによって管理されるアニメーション、インタラクティブなオブジェクトおよびユーザ入力の組合せを用いたリアルな振付システムを含む。
【００２７】
本発明の実施形態は、剣等の武器の非常に精確な接触を含むリアルなキャラクタの動きに相互作用を表示する戦闘システムを実装するシステムを含む。このようなシステムをプ
レーヤ入力とアニメーションのブレンドだけに基づき創出することは実用的ではなく、この問題はプレーヤからの入力を保持しながら動きを振付ける知能システムを提供することによって克服される。
【００２８】
本発明は、どの動きが一緒に演じられるかを定義し、脚本化したアニメーションセットによってそれらを結合することによって、プレーヤを巻き込みながらリアルな戦闘を提供する。ゲームにおいて高品質のユーザ応答グラフィックエレメントとして提示される種々のキャラクタおよび他のグラフィックエレメントに対して、アニメーションバンクが予め設定される。各々のアニメーションは、ゲームで極めて特定の動作に対応する画像またはより典型的には一連の画像を提供する。具体的な例において個々のアニメーションは、特定のキャラクタ（たとえばプレーヤのキャラクタ、特定の敵のキャラクタ等）、およびアニメーションがいつゲーム中の使用に適しているかを指示するキャラクタまたはゲームコンテクストの特定の特徴に対応する。
【００２９】
本発明のシステムは、複雑なグラフィックをリアルタイムでレンダリングするよりも、キャラクタの状況、ユーザ入力および／またはゲーム設計者が選択した特徴に基づき、コンテクストに適したアニメーションまたはアニメーションセットを選択する。その結果としてアニメーションセットは、プレーヤにとって映画品質で提示される。アニメーションセットは、キーフレームに基づきうる。任意のアニメーションに関連付けられる特徴の数は、事実上制限がない。アニメーションバンクに記憶できるアニメーションの数も非常に大きくできるので、ゲームによって提示される種々多様な状況において多様でリアルなコンテクストに適したアニメーションを提供できる。
【００３０】
以下の説明において具体的には本発明は、インタラクティブなアニメーション環境を実現した例としてビデオゲームのコンテクストにおいて説明される。そのようなビデオゲームは、コンピュータゲーム専用のハードウェアコンソールのプロセッサの制御下で動作するソフトウェアを含んでよい。具体的な記載例において接近戦コンピュータゲームについて説明される。ここではゲームコンソールに付属したユーザ入力装置、たとえば手持ちコントローラのユーザは、ゲーム内のオブジェクトまたはエレメント、たとえばキャラクタを制御する。ユーザ制御キャラクタは、ゲーム内の他のオブジェクトまたはエレメント、たとえば非ユーザ制御キャラクタに相互作用できる。ユーザ制御キャラクタは、ゲームの種々のステージで１個以上の非ユーザ制御キャラクタと接近戦において交戦できる。具体的に説明した例において、接近戦はユーザ制御キャラクタと１個以上の非ユーザ制御キャラクタとの剣闘を含む。
【００３１】
ユーザ制御キャラクタは、ユーザ制御オブジェクトの１例である。非ユーザ制御キャラクタは、能動エレメントの１例である。能動エレメントは、能動オブジェクトと呼ばれてもよい。ここに、能動エレメントまたは能動オブジェクトという用語は、ユーザまたはプレーヤが直接制御できないオブジェクトまたはエレメントを示す為に用いられる。ユーザ制御オブジェクトを１人のユーザが制御するという視点から、非ユーザ制御オブジェクトである能動エレメントは、別のユーザによって制御されるキャラクタであってもよい。ユーザ制御オブジェクトは、プレーヤ制御オブジェクトと呼ばれてもよい。非ユーザ制御オブジェクトは、非プレーヤオブジェクトと呼ばれてもよい。
【００３２】
以下の説明において、ユーザはコンピュータゲームのプレーヤを指すものとして理解される。代替として、ユーザ制御キャラクタは非プレーヤ制御キャラクタと呼ばれてよい。
当業者にとってコンピュータゲームコンソールを実装するためのハードウェアの一般的アーキテクチャは、コンピュータゲームオペレーションおよび使用しているコンピュータゲーム内のユーザ制御キャラクタと他のキャラクタとの相互作用の一般的コンセプトと同様に周知である。以下の記載では、そのようなコンピュータゲームのエレメントと、それ
に関連するソフトウェアおよびハードウェアの構造のみ参照を求めるか、もしくは当業者が理解し本発明を実施できるように十分詳細に説明する。
【００３３】
本発明およびその実施形態は、コンピュータゲームアプリケーション用のインタラクティブなアニメーションの枠内で多数の利点を達成する。
ゲームユーザにとって映画的体験が創出または改善される。
【００３４】
接近戦を含むゲームのコンテクストにおいて、２個以上のキャラクタ間のリアルな相互作用が創出される。特に接近戦用の武器を精確に検出できるようになっている。剣闘のコンテクストにおいて、リアルな画面上の剣闘が提供される。総じて、何らかの接近戦の相互作用に対してリアルな再現が提供される。
【００３５】
ユーザはインタラクティブなアニメーションに対するコントロール、たとえば接近戦に対するコントロールが提供される。
ユーザは、能動領域の定義によって、１個以上の他のキャラクタ、たとえば敵と交戦できる。
【００３６】
ユーザは複数のレベルおよび角度で闘争および交戦してよい。
複雑なユーザ制御を管理するために定義したアニメーションセットの自動化が提供される。
【００３７】
以下に、本発明の実施の形態を図面に基づき詳細に説明する。
以下に、本発明を具体的な例および好適な実施形態について説明する。本発明はそのような例および好適な実施形態に限定されるものではない。これらの例および好適な実施形態は本発明の思想を説明し、本発明の理解を容易にする目的で提示され、本発明の範囲を制限するものではない。
【発明を実施するための最良の形態】
【００３８】
本発明の好適な実施形態について、最初に図１（ａ）〜図１（ｆ）および図２に関連して説明する。図１（ａ）〜図１（ｆ）は、本発明の好適な実施形態の原理を示し、図２はそのような原理を実施するためのプロセスの流れを示す。
【００３９】
図１（ａ）について、参照符号「１８８」で中実円が示される。中実円（１８８）は、例となるコンピュータゲームにおけるユーザ制御キャラクタ１８８の現在位置を表す。ユーザ制御キャラクタ１８８の現在位置は、コンピュータゲームソフトウェア内で適切な座標系によって表示されてもよく、位置を特定する技術は本発明の範囲外である。
【００４０】
図２について、本発明の好適な実施形態において、ステップＳ１７０でコンピュータゲームに関連付けられた制御機能がユーザ制御キャラクタ１８８の現在の位置または場所をゲームの座標系との関連で決定する。この場所は、ゲームの特定の場面におけるユーザ制御キャラクタ１８８の位置を定義する。
【００４１】
本発明の好適の実施形態において、次に図２のステップＳ１７２で複数の領域を定義する。これらはプレーヤの位置を中心とした能動領域と呼ばれてよい。領域の数は実施形態によって異なる。ここに記載する好適な実施形態では、４個の領域が定義される。従って３６０度のエリアは、図１（ｂ）に示すように９０度ずつ４個の四分円に分割される。
【００４２】
好適な実施形態に従い、ユーザ制御キャラクタ１８８の周囲の２次元エリアは領域に分割される。たとえば２次元エリアは、ユーザ制御キャラクタ１８８が（ユーザ制御によって）移動され得る地面または床面を表すことができる。しかし、代替的な実施形態におい
て、ここに記載する本発明のコンセプトに従い３次元エリアが複数の領域に分割または定義されてもよい。
【００４３】
図１（ｂ）について、記載した実施形態のおける４個の領域の定義を見ることができる。ユーザ制御キャラクタ１８８が配置される位置を通る第１対角線状の破線（１９２）は、この位置に対して左上の点から右下の点に向かって進んでいる。ユーザ制御キャラクタ１８８が配置される位置を通る第２対角線状の破線１９０は、この位置に対して左下の点から右上の点に向かって進んでいる。ユーザ制御キャラクタ１８８が配置される位置に注目して、角位置システムを用いると、４個の領域が定義される好適な例において、これらの領域は次のように定義されることが理解される。すなわち第１四分円Ｑ１はユーザ制御キャラクタ１８８の位置を基準として＋４５°〜＋１３５°に存在するように定義され、第２四分円Ｑ２はユーザ制御キャラクタ１８８の位置を基準として＋４５°〜−４５°に存在するように定義され、第３四分円Ｑ３はユーザ制御キャラクタ１８８の位置を基準として−４５°〜−１３５°に存在するように定義され、そして第４四分円Ｑ４はユーザ制御キャラクタ１８８の位置を基準として−１３５°〜−２２５°に存在するように定義される。
【００４４】
記載した２次元の例では、図１（ｂ）はユーザ制御キャラクタ１８８の位置を上から見た図を示したものとして理解でき、位置の周囲の３６０°のエリアはキャラクタの内部に存在するエリアであって、動くことができる。これはユーザに表示されるグラフィックイメージまたはアニメーションを表すものではなく、ユーザにはキャラクタが配置した場面が３次元でレンダリングされる。
【００４５】
各々の四分円の半径方向長さは定義されない。ユーザ制御キャラクタ１８８の現在の場所の周囲の領域を定義する目的は、ユーザ制御キャラクタ１８８を何らかの方向に動かし、または押すユーザ入力を検出した際に、定義した領域の何れの方向に行われたかを特定することである。この目的のために、ユーザ制御キャラクタ１８８の現在の位置の周りの領域を定義するステップＳ１７２の一部として、方向を指示する各々の可能なユーザ入力を定義した領域にマッピングまたは関連付けるステップも含まれている。記載した好適な例では、これらの方向は次のようにマッピング／関連付けされる。右方向への移動を示すユーザ入力は第２四分円Ｑ２に定義した領域にマッピングされる。左方向への移動を示すユーザ入力は第４四分円Ｑ４に定義した領域にマッピングされる。前進方向または前方への移動を示すユーザ入力は第１四分円Ｑ１に定義した領域にマッピングされる。後退方向または後方への移動を示すユーザ入力は第３四分円Ｑ３に定義した領域にマッピングされる。多くの領域を定義すればするほど、ユーザ入力に定義した領域との間のマッピングはより複雑になる。
【００４６】
領域が定義されて、ユーザ入力による運動が定義した領域にマッピング／関連付けされると、図２のステップＳ１７４で制御機能がユーザ入力装置から受取られる入力を監視する。具体的には、制御機能はユーザ制御を示すユーザ入力についてユーザ制御キャラクタ１８８の運動を監視する。
【００４７】
ステップＳ１７６では、制御機能は、ユーザ制御キャラクタ１８８がユーザによって特定の方向に押され、または動かされることを示すユーザ入力が受取られたかどうかを特定する。そのようなユーザ入力が受取られない場合は、ステップＳ１７６でユーザ入力は引き続き監視される。
【００４８】
ステップＳ１７６でユーザ制御キャラクタ１８８が何れかの方向に押されることを表すユーザ入力が受取られたら、ステップＳ１７８で方向が特定され、この方向が定義した領域にマッピングされる。例示すれば、図１（ｃ）において、矢印１９２はユーザ制御キャ
ラクタ１８８が前進方向に押されることを示す。この運動は、ステップＳ１７８で第１四分円Ｑ１にマッピングされる。実際には、ユーザ入力装置から受取られる各々の可能な方向は、４方向の何れか１つにマッピングされる。
【００４９】
次にステップＳ１８０において、ユーザ制御キャラクタ１８８が押される方向の定義した領域に能動エレメントがあるかどうか特定される。能動エレメントは、ユーザ制御キャラクタ１８８が相互作用できる任意のエレメントであってよい。たとえば能動エレメントは、キャラクタが獲得または制御できるアイテムであってよい。たとえばユーザ制御キャラクタ１８８は武器を取り上げたり、扉を開くように制御したりできる。能動エレメントは非ユーザ制御キャラクタ１９４、たとえばユーザ制御キャラクタ１８８が戦闘で交戦する敵であってよい。
【００５０】
記載した好適な例において図１（ｄ）について見ると、ステップＳ１８０で第１四分円Ｑ１の領域に能動エレメントとしての非ユーザ制御キャラクタ１９４が存在することが特定される。この好適な実施形態では能動エレメントは、非ユーザ制御キャラクタ１９４、特にユーザ制御キャラクタ１８８が剣闘で交戦できるキャラクタである。
【００５１】
このようにステップＳ１８０では、第１四分円Ｑ１内のどこかに何らかの能動エレメントがあるか特定される。そのような能動エレメントの位置は、当該四分円内であればどこでもよい。以下に説明するように、四分円内に１個以上の能動エレメントがあってよい。
【００５２】
ステップＳ１８２で、非ユーザ制御キャラクタ１９４の現在位置が特定される。本発明の目的は、ユーザ制御キャラクタ１８８を制御するユーザに、能動エレメント、たとえば非ユーザ制御キャラクタ１９４と交戦する際に改善した品質のアニメーションを提供することであり、記載した実施形態においては具体的に剣闘で交戦する際に映画品質のアニメーションを提供することである。この目的を達成するために、ユーザ制御キャラクタ１８８が第１四分円Ｑ１の領域に「移動」した後で、ユーザ制御キャラクタ１８８は好ましくは非ユーザ制御キャラクタ１９４と整合されて、両者の位置決めがその後のアニメーションシーケンスの初期場面と一致するようにされる。
【００５３】
ユーザ制御キャラクタ１８８の周囲の３６０°エリアを４個の四分円に分割することによって、能動エレメント、たとえば非ユーザ制御キャラクタ１９４との相互作用の効率的なハンドリングが可能となる。この相互作用は、たとえば非ユーザ制御キャラクタ１９４を攻撃するユーザ制御キャラクタ１８８、または非ユーザ制御キャラクタ１９４の動作、たとえば防衛動作に反応するユーザ制御キャラクタ１８８を含んでよい。非ユーザ制御キャラクタ１９４の特定の位置はユーザ／プレーヤにとって重要ではなく、ユーザ／プレーヤは好適な４方向システムを用いてそれらの一般的方向で攻撃するに過ぎない。要約すると、好適な実施形態の戦闘システムは、絶えず次の３個の質問をする。
【００５４】
○  ユーザ／プレーヤがユーザ制御キャラクタ１８８を押した方向にどの四分円があるか。
○  この四分円内に誰か（または何か）、たとえば非ユーザ制御キャラクタ１９４があるか。
【００５５】
○  この非ユーザ制御キャラクタ１９４の画面上における特定の位置は何か。
これらの質問に対する答えが知られた時点で、制御機能はユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４を整列させるための十分な情報を有するので、剣闘が開始できる。
【００５６】
ステップＳ１８４で、非ユーザ制御キャラクタ１９４の位置は、必要であればステップ
Ｓ１８２で特定した位置に依存して正確な整合を保証するように調整される。この調整ステップはキャラクタの実際に相対的位置に依存して任意に選択できる。
【００５７】
好ましくはユーザ制御キャラクタ１８８の位置は調整されない。しかしユーザ制御キャラクタ１８８の位置はユーザによって調整され得る。この場合、ユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４との距離は、何らかの調整後も一定のままである。図１（ｅ）に示すように、ユーザ制御キャラクタ１８８の位置が調整される必要がない場合は、当該位置の周囲の領域の定義は再整合されて、図１（ｆ）に示すように調整した四分円Ｑ１´、Ｑ２´、Ｑ３´およびＱ４´が定義される。図１（ｅ）および図１（ｆ）に示す能動領域の再定義は、図２のステップＳ１８６によって表される。
【００５８】
したがって剣闘のキャラクタを整列させることは、キャラクタをわずかに回転させて互いに対面させることを含んでよい。ユーザ制御キャラクタ１８８の運動はユーザ入力によってのみ制御される。非ユーザ制御キャラクタ１９４の運動はゲームの動作をコントロールしている制御システムによって制御される。
【００５９】
ユーザはユーザ入力装置のジョイスティックを多重方向に自由に押すことができ、システムはリクエストを処理して、ユーザ制御キャラクタ１８８を回転させて次の攻撃に備えるか、または次の攻撃を開始する。
【００６０】
図１（ｆ）に示すように、非ユーザ制御キャラクタ１９４、および必要な場合はユーザ制御キャラクタ１８８の位置の調整に従い、それぞれのキャラクタは後続のアニメーションの準備を整えるように位置決めされる。ユーザ制御キャラクタ１８８を矢印１９２の方向に動かすユーザ入力の結果として、図１（ｆ）に示した相対的位置決めに関連付けられたアニメーションが提示される。このアニメーションは、ユーザ入力に依存したアニメーションと、それにすぐ続く非ユーザ制御キャラクタ１９４の動作の潜在的シーケンスの最初に提示されるアニメーションである。後続のアニメーションは、図１（ｆ）に示すように、キャラクタの相対的開始位置に基づきうる。
【００６１】
好適な実施形態において、後続のアニメーションはプリレンダリングされるアニメーションをメモリから引き出すことによって表示される。好ましくは可能なアニメーションシーケンスのセットがメモリに記憶される。代替として、アニメーションが他のソースからストリームされてもよい。これらのシーケンスはユーザ制御キャラクタ１８８に対するアニメーションシーケンス、１個以上の非ユーザ制御キャラクタ１９４に対するアニメーションシーケンス、および他のゲームコンテクスト（たとえば背景等）に関連付けられたアニメーションである。ユーザ制御キャラクタ１８８の周囲のエリアを複数の領域に分割することによって、潜在的なアニメーションシーケンスの数は制限される。そのような領域においてユーザ制御キャラクタ１８８が相互作用できる他の能動エレメントでユーザ制御キャラクタ１８８の位置を予め位置決めすることによって、各々のアニメーションシーケンスの開始点は整合される。
【００６２】
プリレンダリングしたアニメーションシーケンスは、ユーザ入力のあらゆる可能性を許容する。従って、たとえばユーザ制御キャラクタ１８８が開始できる各タイプの攻撃に対するすべての可能なアニメーションシーケンスが記憶される。そのような攻撃に応答する非ユーザ制御キャラクタ１９４に対する適切なアニメーションシーケンスも、ユーザが取ってよい防衛動作に関連するアニメーションと一緒に記憶される。
【００６３】
以下に論じるように、制御機能はゲームプレイに応じてプリレンダリングしたアニメーションへのアクセスを制御してインタラクティブなアニメーションを表示する。
好適な実施形態ではアニメーションがプリレンダリングされるが、処理能力が許す場合
にはアニメーションはコンピュータで生成されてよい。ゲームプレイはユーザ入力と非ユーザ制御キャラクタ１９４の動作を含む。
【００６４】
本発明の好適な実施形態で、以上に記載したプロセスの流れと、以下に記載する他のプロセスの流れを制御するために使用される制御機能は、相互調整機能を提供する。この相互調整機能は振付機能と呼ばれてもよい。更に、この機能は、本発明の好適な実施形態に従って構成したコンピュータゲームにおける幾つかの制御層を示す図３に基づき理解され得る。
【００６５】
図３に示すように、相互作用制御層としての振付層１０４の上方に、ユーザインタフェース層１０２が設けられる。矢印１０８で表されるように、ユーザインタフェース層１０２は振付層１０４に入力を提供する。矢印１１０で表されるように、振付層１０４はゲームプレイ層１０６を制御する。更に、矢印１１２で表されるように、ゲームプレイ層１０６は振付層１０４に入力を提供する。振付層１０４は、ゲームの全体的制御に関連するより大きい制御層の一部であってよい。記載目的のために、論議は以下に論じるようにゲームの相互調整または振付における機能性に限定されており、それゆえ相互作用制御層は、相互調整層または振付層１０４と呼ぶことができる。ゲームプレイ層１０６は、振付層１０４の上に位置する。
【００６６】
振付層１０４、または制御機能の相互調整／振付機能性は、ユーザ制御キャラクタ１８８の周囲の敵（非ユーザ制御キャラクタ１９４）の位置および攻撃パターンを監視するために考案した構成物である。主要な課題は、応答的であると同時に映画的であるシステムを提供することである。このシステムは、映画でユーザ制御キャラクタ１８８を包囲する多数の敵と剣で数多く接触するが、効果的な決定打はわずかであるように振付される戦闘を再現しなければならない。しかしシステムは「粘着質」または遅いと感じられてはならず、ユーザに常時完全にコントロールしているという印象を与えなければならない。
【００６７】
好適な実施形態において、非ユーザ制御キャラクタ１９４は、人工知能（ＡＩ）エージェントによって実装される。振付層１０４もしくは振付機能は、ＡＩエージェント間で受け渡されるメッセージを相互調整して、包囲しているどの敵がユーザ制御キャラクタ１８８に積極的に攻撃しようとしているかを特定し、そして過度に急速な攻撃を回避し、かつプレーヤが容易に入り込めるリズムを動作に与える。
【００６８】
図３の入力１０８によって表されるように、振付層１０４は、ユーザ入力に基づくユーザ制御キャラクタ１８８の動作に気付いている。矢印１１２で表されるように、振付層１０４は、ＡＩエージェント間で受け渡されるメッセージを監視することによって、非ユーザ制御キャラクタ１９４の動作にも気付いている。
【００６９】
振付層１０４は、この監視に基づき、ユーザ制御キャラクタ１８８および／または非ユーザ制御キャラクタ１９４のアニメーションに適したコンテクストや、ゲームによって提供される他のコンテクスト特徴を選択する。たとえば振付層１０４は、ユーザ制御キャラクタ１８８が加えられる攻撃を阻止しようとするときの経過を追跡し、どのアニメーションが演じられ、実際にどの敵から、どの高さで攻撃が加えられるかを特定する。これによって映画と同等の質を備えた連続的な剣の接触が提供される。
【００７０】
振付層１０４は、直接ユーザ制御キャラクタ１８８と交戦する敵のほかに、遠巻きにしている敵や、時々戦闘が行われているエリアで場所を入れ替わる多数の敵も扱う。
本発明は、この振付層１０４を実装することによって、ユーザを絶えず戦闘に巻き込みながらリアルでインテリジェントな剣闘を生み出す問題を解決する。
【００７１】
本発明のシステムは、非ユーザ制御キャラクタ１９４による様々な新しい挙動を付加することを可能にすることによって拡張を意図し、戦闘システムを強化するとともに、接近戦、種々異なる形態を考慮する。
【００７２】
図４には、上で図１および図２に関連して説明した技術に従いユーザ制御キャラクタ１８８が非ユーザ制御キャラクタ１９４と「交戦」を開始した場合に、相互調整／振付を含むゲームプレイ全体に対して制御機能によって制御したプロセスの流れが示される。
【００７３】
ステップＳ２００で、制御機能はユーザ入力を監視する。より具体的には、制御機能は、ユーザ制御キャラクタ１８８の動作、たとえば攻撃動作または防衛動作に関連したユーザ入力を監視する。
【００７４】
ステップＳ２０２で、プレーヤがユーザ動作を開始したかどうかが特定される。ユーザの動作が検出されない場合、プロセスはステップＳ２０６に進む。
ユーザの動作が検出した場合、ステップＳ２０４において検出した具体的な動作を特定する。
【００７５】
次にステップＳ２０６で、非ユーザ制御キャラクタ１９４、またはより一般的にはユーザ制御キャラクタ１８８が交戦してよい能動エレメントが動作を開始したかどうか特定される。このような動作は、ユーザ制御キャラクタ１８８への攻撃を開始するものであってよい。
【００７６】
非ユーザ制御キャラクタ１９４の動作が検出されない場合、プロセスはステップＳ２１０に進む。非ユーザ制御キャラクタ１９４が動作を開始していた場合、ステップＳ２０８でどのような動作であるか特定される。
【００７７】
次にステップＳ２１０で現在のゲームコンテクストが特定される。
次にステップＳ２１２で何らかのエレメントのステータス情報が特定される。ステータス要素は、非ユーザ制御キャラクタ１９４の現在のステータス、たとえば抜き身の剣、鞘に入った剣、低い強度等、または他の任意の能動エレメントのステータス情報であってよい。
【００７８】
ステップＳ２１４では、１つ以上の適切なアニメーションシーケンスが、プリレンダリングした画像から引き出される。これはユーザ制御キャラクタ１８８に関連したアニメーション、非ユーザ制御キャラクタ１９４に関連したアニメーション、およびコンテクストアニメーションを引き出し、表示用の合成アニメーションを形成することを含んでよい。アニメーションのシーケンスが表示されてよい。表示したアニメーションは、現在の状態および現在の入力に依存し、すべて制御機能によって処理される。
【００７９】
アニメーションの表示はステップＳ２１６によって表される。次にプロセスはステップＳ２００に戻って、次の入力セットに応じて次のアニメーションまたはアニメーションシーケンスを表示する。
【００８０】
プレイのスキルは、ユーザ制御キャラクタ１８８の制御のタイミングによって導入される。たとえばユーザは、ある方向にジョイスティックを押し入れて、ゲームコンソールのハンドセット上に設けられる、コンテクスト感応する攻撃ボタンセットの何れかのボタンを押す。ゲームプレイの成功は、押して向かってくる非ユーザ制御キャラクタ１９４の攻撃に対処し、または弱い瞬間を有利に突くために適時にボタンを押すことを含む。
【００８１】
システムは制御（振付）機能を制御して、非ユーザ制御キャラクタ１９４からの攻撃の
タイミングを変えることによって、動的に困難なシステムの実装を可能にする。具体例を示すと、第１アニメーションは、ユーザ制御キャラクタ１８８の剣攻撃を提示するために選択される。第２アニメーションは、この攻撃と、ゲーム設計者によって定義した他のコンテクスト特徴に特有の防衛策がある場合、非ユーザ制御キャラクタ１９４の相応の防衛策を提示するために選択される。第１アニメーションと第２アニメーションは、剣同士が接触するように設計されるが、剣の接触は、２個のキャラクタが互いを基準として精確に戦闘エリア内に位置している場合のみ起る。従ってアニメーションは、キャラクタの位置に基づき選択され、および／またはキャラクタの位置は、アニメーションが画面上に表示した時にキャラクタが選択したアニメーションに対応する位置に存在するように制御される。
【００８２】
剣闘中に剣が確実に接触するためには、ユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４の双方に対する位置制御が必要である。すなわちキャラクタがインタラクティブな剣闘に関連するプリレンダリングした画像に関連付けられた所定のイメージと一致するように整合され得ることを保証しなければならない。
【００８３】
本発明の好適な実施形態を実装するための主要な機能要素が図５に示される。本発明は、発明の好適な実施形態を実装するために必要な機能性を提供するように構成したハードウェアをベースとして、慣用的なプロセッサに実装されてよい。
【００８４】
制御機能はコントローラ１２８によって提供されるが、これはシステムプロセッサを含む、ゲーム全体のシステムコントローラの一部であってよい。コントローラは、発明の好適な実施形態を実装するために必要な相互調整機能または振付機能を実装する。
【００８５】
特徴的な３個の記憶装置１３４ａ、１３４ｂおよび１３４ｃが図示されており、これらは唯一の大きいメモリ領域の部分を形成してよい。図示の目的で、記憶装置１３４ａは、プリレンダリングされるユーザ制御キャラクタ１８８に関連したアニメーションを記憶している。記憶装置１３４ｂは、プリレンダリングされる非ユーザ制御キャラクタ１９４に関連したアニメーションを記憶している。このような多重記憶装置は、各々の異なるタイプの非ユーザ制御キャラクタ１９４に対して提供されてよい。記憶装置１３４ｃは、プリレンダリングされるゲームコンテクストに関連したアニメーションを記憶する。
【００８６】
それぞれの記憶装置１３４ａ、１３４ｂ、１３４ｃとのインタフェース接続１５４ａ、１５４ｂ、１５４ｃにインタフェースを提供するためにメモリインタフェース１３２が設けられる。更にメモリインタフェース１３２は、インタフェース接続１５２を介してコントローラ１２８に接続される。メモリインタフェース１３２は、インタフェース接続１５８を介してグラフィックコントローラ１３６に接続される。
【００８７】
３個の特徴的な人工知能エージェントである第１ＡＩエージェント１２０ａ、第２ＡＩエージェント１２０ｂ、および第３ＡＩエージェント１２０ｃが図示される。各々、それぞれの非ユーザ制御キャラクタ１９４に関連付けられている。このようなＡＩエージェントの実装は、当業者に公知である。
【００８８】
第１ＡＩエージェント１２０ａ、第２ＡＩエージェント１２０ｂ、および第３ＡＩエージェント１２０ｃのそれぞれとのインタフェース接続１４０ａ、１４０ｂ、１４０ｃにインタフェースを提供するために、ＡＩインタフェース１２４が設けられる。更に、ＡＩインタフェース１２４はインタフェース接続１４４を介してコントローラ１２８に接続される。ＡＩインタフェース１２４もＡＩエージェントに何らかの制御機能性を提供する。
【００８９】
ユーザ入力装置１２２が示される。ユーザ入力装置１２２とのインタフェース接続１４
２にインタフェースを提供するためにユーザインタフェース１２６が設けられる。更に、ユーザインタフェース１２６はインタフェース接続１４６を介してコントローラ１２８に接続される。
【００９０】
更に、グラフィックコントローラ１３６は、コントローラ１２８とのインタフェース接続１５６を備えている。グラフィックプロセッサ１３０はインタフェース接続１４８を介してコントローラ１２８に接続され、インタフェース接続１５０を介してグラフィックコントローラに接続される。グラフィックコントローラ１３６は、インタフェース接続１６０を介してグラフィックドライバ１３８に接続される。グラフィックドライバ１３８は、インタフェース接続１６２を介してアニメーションディスプレイ（図示せず）を駆動するために接続される。
【００９１】
以下に本発明をゲームプレイの動作例に基づき説明する。
好適な実装において、複数の非ユーザ制御キャラクタ１９４は、いつでも同時にユーザ制御キャラクタ１８８と交戦してよい。たとえば４個の非ユーザ制御キャラクタ１９４が、ユーザ制御キャラクタ１８８を攻撃できる。可能な攻撃パターンの例が図６に示される。これらはユーザ制御キャラクタ１８８が直面する可能性があり、従って制御機能が対処しなければならない攻撃パターンである。
【００９２】
図６の各々のシナリオは、矢印１９２で表されるように上方四分円に向かって前進もしくは移動するユーザ制御キャラクタ１８８を示す。各々のシナリオにおいて、ユーザ制御キャラクタ１８８は１個以上の非ユーザ制御キャラクタ１９４によって攻撃される。図６（ａ）では、上四分円内の第１能動エレメント２２０によって単独攻撃が行われる。図６（ｂ）では、上四分円内の第１能動エレメント２２０と下四分円内の第２能動エレメント２２２によって２面攻撃が行われる。図６（ｃ）では、左四分円内の第３能動エレメント２２４と、右四分円内の第４能動エレメント２２６とによって２面攻撃が行われる。図６（ｄ）では、上四分円内の第１能動エレメント２２０と、左四分円内の第３能動エレメント２２４と、右四分円内の第４能動エレメント２２６とによって３面攻撃が行われる。図６（ｅ）では、左四分円内の第３能動エレメント２２４と、下四分円内の第２能動エレメント２２２と、右四分円内の能動エレメント２２８とによって３面攻撃が行われる。図６（ｆ）では、左四分円内の第３能動エレメント２２４と、下四分円内の第２能動エレメント２２２と、上四分円内の第１能動エレメント２２０と、右四分円内の能動エレメント２２８とによって４面攻撃が行われる。
【００９３】
非ユーザ制御キャラクタ１９４は、各々の四分円内の指定位置にいるのではなく、四分円内のどこでも位置でき、要求があれば他の四分円に移行できる。このようになっているのは、ユーザ制御キャラクタ１８８の周囲の画面で「敵」の配置パターンが常に対称的に見えるという問題を避けるためである。非ユーザ制御キャラクタ１９４が１個の四分円内に配置されていれば、ユーザ制御キャラクタ１８８はそれと予め設定した関係において対面することになる。これらのキャラクタの現れ方を変化させるために、キャラクタは異なる四分円に移動する。
【００９４】
好適な実施形態のシステムの最終的な成果は、振付した接近戦コントロールゲーム、たとえば剣闘であり、非常にリアルに見えるが、プレーヤは常時動作を制御する。
同期攻撃は、複数の敵が同時に同方向、すなわち定義した同一の領域から攻撃する時に生じる攻撃の特殊な形態である。たとえば互いに非常に接近した３人の敵が剣を持ってユーザ制御キャラクタ１８８に突撃してよい。プリレンダリングしたアニメーションはそのような同期攻撃を効率的に単独攻撃として扱い、それらと交戦するためにそれらの方向に前進し、適切な時点で攻撃ボタンを押してそれらを同期的に攻撃する。表示したアニメーションの結果として、所望される画面上の効果は、ユーザ制御キャラクタ１８８が３人の
敵の攻撃をすべてかわすことである。
【００９５】
このコンセプトは、たとえば２個、３個または４個の非ユーザ制御キャラクタ１９４が同期的に攻撃する場合に使用できる。アニメーションが利用できる限り、好適な実施形態において同期攻撃によって次が可能となる。
【００９６】
○  ３個の強力な非ユーザ制御キャラクタ１９４の攻撃；
○  ２個の強力な非ユーザ制御キャラクタ１９４の攻撃；
○  ３個の強力な非ユーザ制御キャラクタ１９４の剣闘；
○  ２個の強力な非ユーザ制御キャラクタ１９４の剣闘。
【００９７】
必要に応じて、たとえば非ユーザ制御キャラクタ１９４が物体によって阻止されるか、その瞬間プレーヤに積極的に到達できない、たとえばまたは廊下にいるか、スペースがわずかしかない場合、非ユーザ制御キャラクタ１９４は別の非ユーザ制御キャラクタ１９４の四分円に移動して、ユーザ制御キャラクタ１８８を攻撃してもよい。そのような移動は公知の技術に従い、人工知能エージェントによって制御される。
【００９８】
そのような同期攻撃に加えて、非ユーザ制御キャラクタ１９４の集団挙動は、制御機能または振付機能によって制御されてよい。システムはユーザ制御キャラクタ１８８と集団で闘うキャラクタを示すように構成される。非ユーザ制御キャラクタ１９４はユーザ制御キャラクタ１８８を包囲し、攻撃を相互調整してよく、それによってユーザに組織した攻撃集団に直面しているかのような印象を与える。これに関して非ユーザ制御キャラクタ１９４は真に自律的ではない。非ユーザ制御キャラクタ１９４を実装するＡＩエージェント間のメッセージの受け渡しによって、非ユーザ制御キャラクタ１９４の挙動を他の非ユーザ制御キャラクタ１９４の挙動に基づき変えることが可能となる。それによって非ユーザ制御キャラクタ１９４は、別の非ユーザ制御キャラクタ１９４が攻撃を行っている間、攻撃を控えるか、または別の種類の攻撃を選択すること可能となる。
【００９９】
ユーザ制御キャラクタ１８８も非ユーザ制御キャラクタ１９４を攻撃するために「踏み出し」てよい。このような攻撃を検出するメカニズムを、以下に図１に基づき説明する。非ユーザ制御キャラクタ１９４が「飛び込んで」攻撃してこない間に、ユーザはそのキャラクタと闘うことを決定できる。非ユーザ制御キャラクタ１９４を包含する四分円の方向に前進して、ユーザインタフェース上の適切な攻撃ボタンを押すことによって、ユーザは「踏み出し」を開始でき、続いてキャラクタを攻撃し、たとえばキャラクタをヒットし、または剣闘に入る。
【０１００】
ユーザ制御キャラクタ１８８の「踏み出し」は防衛策と攻撃策の何れにも使用できる。タイミングが正しければ、プレーヤは相手が攻撃してくる経路から踏み出すことができる。攻撃の経路から踏み出すことによって、別の敵のキャラクタへの攻撃を開始してよい。タイミングが正しくなければ、ユーザが「踏み出し」を制御しようと試みた時にユーザ制御キャラクタ１８８がヒットされることがある。
【０１０１】
ユーザ制御キャラクタ１８８と１個以上の非ユーザ制御キャラクタ１９４との相互作用の流れ、たとえば乱闘は、ユーザが短時間で加えられる複数の攻撃等に対処できるための一定のレベルの制御を要求する。相互作用は画面上リアルに見えるが、実際に基礎をなすシステムが相互作用を振付ける。相互作用の振付は、キーポイントになるタイミングに依拠している。
【０１０２】
図７Ａおよび図７Ｂに関して、ユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４との相互作用がどのように起るかを示したフローチャートが例示される。
何れのフローチャートも反復される前に４個の特徴的なセクションまたは段階を有しており、それぞれ好適な実施形態においてユーザが入ってよい可能な四分円に対応している。これによって、アニメーションセットをこれら４段階に構成するように創作することが可能となる。
【０１０３】
図７Ａには、ユーザ制御キャラクタ１８８の可能な状態の間におけるユーザ制御キャラクタ１８８に対する相互作用の流れが示される。可能な状態とは、次の通りである。
ａ）攻撃／かわしの準備；
ｂ）かわし；
ｃ）攻撃；
ｄ）ヒット；
ｅ）攻撃転換；
ｆ）アイドリング復帰。
【０１０４】
初期状態７０２においてユーザ制御キャラクタ１８８は攻撃するか、または攻撃をかわす準備をしている。これは実質的にユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４が、図１に関して示したシーケンスに従って位置決めされることを意味し、２個（または多数の非ユーザ制御キャラクタ１９４が関与する場合はそれ以上）のキャラクタが交戦しようと身構えており、非ユーザ制御キャラクタ１９４が位置決めされる四分円内にユーザ制御キャラクタ１８８が進入するようにユーザが制御するのを待機している。
【０１０５】
それからユーザ入力に応じて、ユーザ制御キャラクタ１８８は攻撃をかわそうとするかわし状態７０４に入るか、またはユーザ制御キャラクタ１８８は非ユーザ制御キャラクタ１９４を攻撃しようとするヒット状態７０６に入る。
【０１０６】
かわし状態７０４で攻撃をかわした後で、ユーザ制御キャラクタ１８８はユーザ入力に応じて３個の状態の何れか１個の状態に移行できる。すなわちキャラクタがアイドリングしているアイドリング状態７１２、攻撃が準備される攻撃状態７０８、または攻撃たとえばヒットが行われるヒット状態７１０の何れかに移行できる。
【０１０７】
攻撃状態７０８に続いて、ユーザ制御キャラクタ１８８の状態は、アイドリング状態７１２に戻る。ヒット状態７１０に続いて、ユーザ制御キャラクタ１８８の状態はアイドリング状態７１２に戻るか、またはユーザは攻撃転換状態７１４において攻撃を転換する。攻撃を転換するのに続いて、ユーザ制御キャラクタ１８８はアイドリング状態７１２に戻る。
【０１０８】
ヒット状態７０６に続いて、ユーザ制御プレーヤは攻撃転換状態７１４に移行するか、またはアイドリング状態７１２に戻る。
上述したプロセスの流れは、制御システムがアニメーションセットを交換して表示した相互作用を混合することを可能にする。従って１個の与えられた領域内で、キャラクタの与えられた状態に対して、アニメーションのサブセットの１個が表示される。このようにしてユーザ制御キャラクタ１８８は、非ユーザ制御キャラクタ１９４をある動きで攻撃し、それから別の非ユーザ制御キャラクタ１９４を別の動きで攻撃してよい。何れの攻撃も図７Ａに示される状態の同一のシーケンスに続くが、アニメーションは特定の四分円において特定のユーザ入力に対する特定の攻撃に関連付けられたアニメーションのサブセットから選択されるので、当該攻撃に対して表示されるアニメーションは異なる。
【０１０９】
しかし、すべての攻撃は４ステージルール、すなわち好適な実施例においてユーザ制御キャラクタ１８８の周囲のエリアが４個の領域に分割されるという規則に合致する。
図７Ｂには、非ユーザ制御キャラクタ１９４の可能な状態の間における非ユーザ制御キ
ャラクタ１９４に対する相互作用の流れが示される。可能な状態とは、次の通りである。
【０１１０】
ａ）攻撃準備；
ｂ）攻撃；
ｃ）ヒット；
ｄ）かわし／攻撃；
ｅ）やじ；
ｆ）アイドリング復帰。
【０１１１】
ユーザ制御キャラクタ１８８と非ユーザ制御キャラクタ１９４との間の相互作用の追加的特徴は、非ユーザ制御キャラクタ１９４とユーザ制御キャラクタ１８８の何れも、相互作用している相手のキャラクタとは異なる高さに位置できることである。この高低差は、たとえば一続きの階段、または相互作用が生じる環境内にテーブルなどの物体を含める結果であってよい。
【０１１２】
ゲームルールおよびゲームプレイを実装する基本システムは同一のままであり、キャラクタの動きが適宜調整される。たとえばある四分円内の非ユーザ制御キャラクタ１９４がテーブルの上にいたら、システムがこれを認識し、この四分円に対して相応に使用できるアニメーションセットを縮小する。それによってテーブル上のキャラクタは下方攻撃および下方防御しかできず、床上のキャラクタは上方攻撃および上方防御しかできなくなる。これは多層レベルの戦闘の印象を与え、相互作用に新しい次元を提供する。
【０１１３】
ユーザ制御キャラクタ１８８は攻撃の間、（剣闘の例では）剣で敵に斬りつけることによってヒットする。これを実行するためにユーザは敵が油断しているすきを突くか、敵のガードを破る必要がある。これはゲーム設計に従い利用可能な任意の攻撃によって行うことができるが、敵のタイプにも依存する。たとえば「砲弾の餌食」タイプの敵は、５秒間の剣闘で２回の軽い攻撃、またはガードが破られる前に１回の重い攻撃をかわすことができる。ガードが破られると、プレーヤの更なる攻撃が打ち当り、敵を損傷または破壊できる。
【０１１４】
ユーザ制御キャラクタ１８８の攻撃は敵のキャラクタに応じて反撃されてよい。たとえば何らかの頑強な敵キャラクタとの剣闘の結果、敵ではなくユーザ制御キャラクタ１８８のガードが破られることもある。このような場合は、敵を破るために異なる戦術が必要となり、ユーザはそれを実験してみることが必要であろう。
【０１１５】
敵を「破る」ことは短時間しか続かない。敵が敗れたら、わずか数秒後に敵が回復して更なる攻撃を行う前に、ユーザ制御キャラクタ１８８は追加攻撃を行ってよい。本発明のシステムはこれを集団状況において混成できるので、ユーザ制御キャラクタ１８８はトドメを与える時間がなく、注意を他の敵または敵集団に振り向けなければならない。
【０１１６】
システムは好ましくはユーザが攻撃の動きを組合せて形成することを可能にし、剣闘においてあたかも相手を次第に疲れさせるかのような勢いを獲得する。
システムは好ましくはユーザが望む通りに自由に動き回れる手動交戦システムを活用する。交戦が行われる唯一のポイントは、ユーザインタフェース上の適切な攻撃ボタンを押下する時である。攻撃に入ると、ユーザ制御キャラクタ１８８は動きがわずかに遅くなり、闘っている敵に組み込まれてよい。ユーザは交戦を随時開始でき、常にユーザ制御キャラクタ１８８の動きを十全にコントロールできる。
【０１１７】
表示されてよいアニメーションおよび表示用のアニメーションオプションは、インタラクティブなアニメーション環境に依存する。戦闘もしくは闘争を含む典型的なコンピュー
タゲームにおいて、アニメーションオプションはキャラクタが武器を持っているか否か、武器が抜かれているか否か等に依存する。当業者はゲーム設計に応じてアニメーションが要求され、キャラクタの相互作用のオプションがゲーム設計によって要求されることを完全に理解するであろう。
【０１１８】
本発明および記載した実施形態に対する種々の追加的な変更や変化は、当業者にとって自明であろう。技術を進歩させた原理およびそれらの等効物に依拠する、この明細書の具体的な教示からのすべての逸脱は、上に記載および請求した本発明の範囲内に含まれる。
【図面の簡単な説明】
【０１１９】
【図１】図１（ａ）〜図１（ｆ）は、それぞれ本発明の好適な実施形態に従いユーザ制御キャラクタの位置の周囲の領域を定義するコンセプトを示す図。
【図２】図１（ａ）〜図１（ｆ）のコンセプトを実装するプロセスのフローチャート。
【図３】本発明の実施形態に従う制御層を示す図。
【図４】本発明の実施形態に従うアニメーションを表示するためのプロセスのフローチャート。
【図５】本発明の実施形態に従う機能性を提供するためのシステムアーキテクチャを示す図。
【図６】本発明の実施形態に従う制御機能によって処理されるシナリオ例を示す図。
【図７Ａ】本発明の実施形態に従うプロセスのブロック図。
【図７Ｂ】本発明の実施形態に従うプロセスのブロック図。
【図１ａ】
2009536566.tif 000003
【図１ｂ】
2009536566.tif 000004
【図１ｃ】
2009536566.tif 000005
【図１ｄ】
2009536566.tif 000006
【図１ｅ】
2009536566.tif 000007
【図１ｆ】
2009536566.tif 000008
【図２】
2009536566.tif 000009
【図３】
2009536566.tif 000010
【図４】
2009536566.tif 000011
【図５】
2009536566.tif 000012
【図６ａ】
2009536566.tif 000013
【図６ｂ】
2009536566.tif 000014
【図６ｃ】
2009536566.tif 000015
【図６ｄ】
2009536566.tif 000016
【図６ｅ】
2009536566.tif 000017
【図６ｆ】
2009536566.tif 000018
【図７Ａ】
2009536566.tif 000019
【図７Ｂ】
2009536566.tif 000020
【国際調査報告】
2009536566.tif 000021