ゲーム装置、キャラクタ制御方法、および、プログラム
【課題】操作性を向上させつつ、キャラクタ間の会話をより自然に表現することのできるゲーム装置等を提供する。
【解決手段】メッセージ取得部230は、自キャラクタから相手キャラクタに向けたメッセージを取得する。姿勢更新部260は、このメッセージが相手キャラクタを指定したものである場合に、自キャラクタの姿勢を更新する。すなわち、方位算定部261は、自キャラクタの位置情報と、相手キャラクタの位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。そして、注視方向移動部262は、算定された方位に沿うように、自キャラクタの位置情報中における注視方向を更新する。画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成し、メッセージを合成する。
【解決手段】メッセージ取得部230は、自キャラクタから相手キャラクタに向けたメッセージを取得する。姿勢更新部260は、このメッセージが相手キャラクタを指定したものである場合に、自キャラクタの姿勢を更新する。すなわち、方位算定部261は、自キャラクタの位置情報と、相手キャラクタの位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。そして、注視方向移動部262は、算定された方位に沿うように、自キャラクタの位置情報中における注視方向を更新する。画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成し、メッセージを合成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することのできるゲーム装置、キャラクタ制御方法、および、プログラムに関する。
【背景技術】
【0002】
従来より、インターネット等のネットワークを介して接続された端末の間で通信を行う通信技術が広く利用されている。例えば、パソコン(パーソナルコンピュータ)を使用する複数のユーザが、インターネットを介してサーバに接続し、相互にメッセージを交換できるチャット(文字等での会話)も普及している。
このようなチャットでは、例えば、ユーザが自己のパソコンを用いてメッセージを送信すると、そのメッセージが、チャット相手のパソコンのディスプレイに表示されるようになっている。
【0003】
一方、ゲーム装置等でも、インターネットを介してゲームサーバに接続したネットワークゲーム(オンラインゲーム)にて、このようなチャットが行えるようになっている。例えば、プレイヤは、仮想空間内に配置される自キャラクタ(プレイヤが操作するキャラクタ)を自由に移動させ、近傍のキャラクタ(他のプレイヤが操作するキャラクタ等)とチャットを行い、ゲーム攻略の情報等を交換したりすることができる。
このようなネットワークゲームにおけるチャットは、例えば、ゲームフィールドにてキャラクタ同士が会話を行っているように表示される。このため、プレイヤは、あたかも自分が仮想空間内にいるかのように感じ、ゲームを楽しむことができる。
【0004】
このようなネットワークゲーム(ゲーム装置)の先行技術として、文字列等に関連してキャラクタの演出等を行い、利用者同士のコミュニケーションの向上を図る技術も開示されている(例えば、特許文献1参照)。
【特許文献1】特開2004−216033号公報 (第10−24頁、第7図)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したネットワークゲームでは、例えば、キャラクタ間が一定距離以内であればチャットが行えるようになっており、その際、各キャラクタの向き(向いている方向)に制約はない。つまり、自キャラクタと相手キャラクタとが、向き合っていなくとも、チャットが行えていた。
例えば、図12(a)に示すように、自キャラクタJcと相手キャラクタAcとが互いに無関係な方向を向いていても、チャットが行えてしまう。そのため、きわめて不自然であり、チャットを行っているプレイヤ同士だけでなく、その様子を眺めている他のプレイヤにとっても、違和感を感じるものとなっていた。
このような違和感を払拭するために、各プレイヤは、自己のキャラクタをそれぞれ操作して、図12(b)に示すように、自キャラクタJcと相手キャラクタAcとが向き合うように操作することになる。
【0006】
しかしながら、チャット文字列の入力にはキーボード等が用いられ、また、キャラクタの操作には、ゲームパッドやマウス等が用いられるため、チャットの文字入力とキャラクタ操作との両方を行うことは、プレイヤにとって大きな負担であった。しかも、チャットの相手(話を振る先)を変える度に、キャラクタ操作を行うのは極めて煩雑であった。
【0007】
また、このようなチャットの他に、RPG(ロールプレーイングゲーム)等でも、自キャラクタが他のキャラクタと会話を交わすような場面が多く登場する。例えば、到着した村で情報を得るために、村人キャラクタから話を聞くような場合である。
この場合、プレイヤは、自キャラクタを村人キャラクタに接近(接触等)させて、「話す」を指示することになるが、この際、自キャラクタの正面方向が、その村人キャラクタに向いている必要があった。つまり、話を聞くために、自キャラクタの位置や向きを適宜操作しなければならず、極めて煩雑であった。
【0008】
そのため、操作性を向上させつつ、キャラクタ間のチャット表現を適切に行える技術が求められていた。
【0009】
本発明は、このような課題を解決するためになされたもので、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することのできるゲーム装置、キャラクタ制御方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の観点に係るゲーム装置は、プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置であって、メッセージ取得部、姿勢更新部、及び、画像生成部を含んで構成される。
【0011】
まず、メッセージ取得部は、会話相手となる相手キャラクタの指定を伴うメッセージ(例えば、ハンドル名等が付加されたメッセージ等)を取得する。また、姿勢更新部は、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。そして、画像生成部は、姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する。
【0012】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0013】
本発明の第2の観点に係るゲーム装置は、プレイヤが操作する自キャラクタと他のプレイヤが操作するキャラクタとが共通の仮想空間に配置され、装置間の通信により当該キャラクタ間で会話を行うゲーム装置であって、メッセージ取得部、姿勢更新部、送信部、及び、画像生成部を含んで構成される。
【0014】
まず、メッセージ取得部は、会話相手となる相手キャラクタの指定を伴うメッセージを取得する。また、姿勢更新部は、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。送信部は、姿勢を更新した当該自キャラクタの位置情報及び、取得した当該メッセージを他のゲーム装置に向けて送信する。そして、画像生成部は、当該自キャラクタ及び当該メッセージを含む表示画像を生成する。
【0015】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。そして、更新後の自キャラクタの位置情報及び、取得したメッセージを他のゲーム装置に向けて送信する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0016】
上記のゲーム装置は、他のゲーム装置から送信された相手キャラクタの位置情報及びメッセージを受信する受信部を更に備え、前記画像生成部は、受信した当該位置情報に従って姿勢を更新した相手キャラクタ及び、受信した当該メッセージを含む表示画像を生成してもよい。
この場合、更新された相手キャラクタの位置(向き等)もメッセージと共に適切に表示することができる。
【0017】
前記姿勢更新部は、自キャラクタを基準として、仮想空間における相手キャラクタの方位を算定する方位算定部と、算定された当該方位に向けて、自キャラクタの注視方向を移動させる注視方向移動部と、を備えてもよい。
この場合、例えば、首や上半身だけを動かす等により、自キャラクタの注視方向(視線方向)を相手キャラクタの方位に移動させ、自キャラクタの姿勢を適切に制御することができる。
【0018】
前記送信部は、他のキャラクタと会話中の相手キャラクタに向けてメッセージを送る際に、更新した自キャラクタの位置情報だけを先に送信し、取得したメッセージを当該会話終了後に送信してもよい。
この場合、会話途中で割り込むことなく、相手キャラクタにメッセージを送信することができる。
【0019】
前記メッセージ取得部は、相手キャラクタの複数指定を伴うメッセージ(例えば、全てのキャラクタに向けたメッセージ等)を取得し、前記姿勢更新部は、自キャラクタを基準として、仮想空間における各相手キャラクタの方位をそれぞれ算定する方位算定部と、算定された当該各方位に向けて、自キャラクタの注視方向を順次移動させる注視方向移動部と、を備えてもよい。
この場合、複数の相手キャラクタを指定するメッセージを取得すると、それら各相手キャラクタの方向を向くように、自キャラクタの姿勢を順次制御することができる。
【0020】
前記注視方向移動部は、算定された当該各方位に向けて注視方向を順次移動させる際に、当該移動量を、例えば、時間経過に従って減衰させてもよい。
この場合、メッセージを送信してから所定時間等が経過するまでに、自キャラクタの向きの移動を自然に止めることができる。
【0021】
本発明の第3の観点に係るキャラクタ制御方法は、プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置におけるキャラクタ制御方法であって、メッセージ取得ステップ、姿勢更新ステップ、及び、画像生成ステップを含んで構成される。
【0022】
まず、メッセージ取得ステップでは、会話相手となる相手キャラクタの指定を伴うメッセージ(例えば、ハンドル名等が付加されたメッセージ等)を取得する。また、姿勢更新ステップでは、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。そして、画像生成ステップでは、姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する。
【0023】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0024】
本発明の第4の観点に係るプログラムは、コンピュータ(電子機器を含む。)を、上記のゲーム装置として機能させるように構成する。
【0025】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0026】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0027】
本発明によれば、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【発明を実施するための最良の形態】
【0028】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0029】
(実施形態1)
図1は、本発明の実施の形態に係るビジュアルチャット装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0030】
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、キーボード105と、コントローラ106と、外部メモリ107と、DVD(Digital Versatile Disk)−ROMドライブ108と、画像処理部109と、音声処理部110と、NIC(Network Interface Card)111と、を備える。
【0031】
なお、ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のビジュアルチャット装置が実現される。
【0032】
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0033】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、ゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0034】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【0035】
インターフェース104を介して接続されたキーボード105は、プレイヤがチャットを行う際の操作入力を受け付ける。例えば、キーボード105は、プレイヤの操作に従って、文字列(メッセージ)等の入力を受け付ける。
【0036】
インターフェース104を介して接続されたコントローラ106は、プレイヤがゲーム実行の際に行う指示入力を受け付ける。例えば、コントローラ106は、プレイヤの操作に従って、キャラクタ等に向けたコマンド等の指示入力を受け付ける。
【0037】
インターフェース104を介して着脱自在に接続された外部メモリ107には、ゲームの進行状態を示すデータ、チャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤは、コントローラ106を介して保存指示を行うことにより、これらのデータを適宜外部メモリ107に記録することができる。
【0038】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0039】
画像処理部109は、DVD−ROMから読み出されたデータをCPU 101や自己が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを自己が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部109に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0040】
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0041】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0042】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0043】
NIC 111は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0044】
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ107、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【0045】
また、本実施形態のゲーム装置100にかえて、一般的なコンピュータ(汎用のパーソナルコンピュータ等)をビジュアルチャット装置として利用することもできる。例えば、一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ビジュアルチャット装置として機能する。
【0046】
(ビジュアルチャット装置の概要構成)
図2は、本実施形態に係るビジュアルチャット装置の概要構成を示す模式図である。このビジュアルチャット装置は、一例として、自キャラクタ(プレイヤが操作するキャラクタ)及び他キャラクタ(他のプレイヤが操作するキャラクタ等)が共通の仮想空間内に配置され、他のビジュアルチャット装置との通信を行うことにより当該キャラクタ間で会話を行う装置である。以下、本図を参照して説明する。
【0047】
ビジュアルチャット装置200は、通信部210と、操作部220と、メッセージ取得部230と、オブジェクト記憶部240と、キャラクタ位置管理部250と、姿勢更新部260と、画像生成部270とを備える。
【0048】
まず、通信部210は、インターネット等のネットワークを介してサーバ(ゲームサーバ等)に接続して、種々のデータを送受信する。
例えば、通信部210は、キャラクタ位置管理部250にて管理される自キャラクタの位置情報や、操作部220からプレイヤによって入力されるメッセージ等をサーバに送信する。
また、通信部210は、サーバから送られた他キャラクタの位置情報や、他キャラクタ(他のプレイヤ)からのメッセージ(チャットデータ)等を受信する。そして、受信した他キャラクタの位置情報をキャラクタ位置管理部250に供給し、また、受信したメッセージをメッセージ取得部230に供給する。
なお、NIC 111が、このような通信部210として機能しうる。
【0049】
操作部220は、プレイヤの操作に従って、自キャラクタへの指示情報や、チャット相手となる相手キャラクタ(話の振り先となる他キャラクタ)等に向けて発するメッセージを受け付ける。つまり、仮想空間内における自キャラクタに対する移動指示や動作指示等を受け付けると共に、プレイヤから他のプレイヤに向けたメッセージを受け付ける。
なお、キーボード105及びコントローラ106がこのような操作部220として機能しうる。
【0050】
メッセージ取得部230は、通信部210が受信したデータからメッセージを取得する。つまり、他キャラクタから送られたメッセージ(例えば、相手キャラクタから自キャラクタに向けたメッセージ等)を取得する。
なお、メッセージ取得部230は、プレイヤにより入力されたメッセージ(例えば、自キャラクタから相手キャラクタに向けたメッセージ等)も取得する。その際、操作部220から入力されたメッセージを直接取得してもよく、また、サーバからエコーバックされたメッセージを取得してもよい。
そして、CPU 101が、このようなメッセージ取得部230として機能しうる。
【0051】
オブジェクト記憶部240は、仮想空間内に配置されるキャラクタ、及び、その他のオブジェクトに関する情報を記憶する。
例えば、オブジェクト記憶部240は、自キャラクタや他キャラクタ等のキャラクタオブジェクト、及び、フィールド等に配置される固定物(地形、建物、壁等)といった他のオブジェクトの情報を記憶する。
なお、固定物といった仮想空間内で位置が変化しないオブジェクトについては、仮想空間内における位置情報等も、このオブジェクト記憶部240にて管理されているものとする。
そして、RAM 103が、このようなオブジェクト記憶部240として機能しうる。
【0052】
キャラクタ位置管理部250は、自キャラクタや他キャラクタといった仮想空間内で位置が変化するオブジェクトの位置情報(現在位置や姿勢等)を管理する。例えば、キャラクタ位置管理部250は、図3(a)に示すような自キャラクタの位置情報及び、図3(b)に示すような他キャラクタの位置情報を管理する。
つまり、自キャラクタは、操作部220によって受け付けた移動指示や、後述するように、話の振り先となる相手キャラクタを指定することによって、仮想空間内の現在位置や姿勢(向き等)が変化するため、図3(a)のような位置情報が管理される。
同様に、他キャラクタも、他のプレイヤの操作等(より具体的には、サーバから送られる他キャラクタの位置情報)によって仮想空間内の現在位置や姿勢等が変化するため、図3(b)のような位置情報が管理される。
なお、図3(b)中の「会話可否」は、自キャラクタを基準として一定距離範囲内に位置するキャラクタがチャット対象となる場合に、その可否を示す情報である。また、この「会話可否」は、ビジュアルチャット装置200側でなく、サーバ側で管理するようにしてもよい。
そして、RAM 103及びCPU 101が、このようなキャラクタ位置管理部250として機能しうる。
【0053】
姿勢更新部260は、話の振り先として指定された他キャラクタ(相手キャラクタ)と自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を適宜更新する。
例えば、姿勢更新部260は、方位算定部261及び、注視方向移動部262を有しており、自キャラクタから他キャラクタへ送信したメッセージ(メッセージ取得部230が取得したエコーバックされたメッセージ)が、話の振り先となる相手キャラクタを指定したものである場合に、その相手キャラクタの方を向くように、自キャラクタの姿勢を更新する。
ここで、相手キャラクタの指定は、例えば、メッセージの終わりに、ハンドル名等が付加されて行われるものとする。一例として、「こんにちは>Hanako」というメッセージは、ハンドル名がHanakoというキャラクタに話を振るものであるため、このHanakoが相手キャラクタとなる。
なお、相手キャラクタの指定は、これに限られるものではなく、適宜変更可能である。例えば、ID等の番号を用いて相手キャラクタの指定が行われてもよい。
【0054】
より具体的に、図4(a),(b)に示すような仮想空間に自キャラクタJc(ハンドル名:Taro)と指定された相手キャラクタAc(ハンドル名:Hanako)とが配置されている場合を一例として説明する。なお、この仮想空間は、一例として、3次元空間を示しているが、2次元空間であってもよい。
【0055】
方位算定部261は、図4(a)に示すような場合に、自キャラクタJcを基準として、相手キャラクタAcの方位を算定する。つまり、方位算定部261は、キャラクタ位置管理部250に管理されている自キャラクタの位置情報と、相手キャラクタ(ハンドル名がHanako)の位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。
【0056】
また、注視方向移動部262は、方位算定部261が算定した方位を向くように、自キャラクタの位置情報を更新する。つまり、注視方向移動部262は、方位算定部261が算定した方位に沿うように、図3(a)における位置情報中の注視方向を移動させる。
この注視方向移動部262が注視方向を移動させることにより、図4(b)に示すような場合に、自キャラクタJcの向きが相手キャラクタAcへ向くようになる。なお、図4(b)では、自キャラクタJcが体全体で向きを変える場合を示しているが、首や上半身だけを動かすことにより、自キャラクタJcが注視している向きを変えるようにしてもよい。
そして、CPU 101が、このような姿勢更新部260(方位算定部261、注視方向移動部262)として機能しうる。
【0057】
図2に戻って、画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成する。例えば、画像生成部270は、オブジェクト記憶部240に記憶される固定物等のオブジェクトを仮想空間内の所定位置に配置し、また、オブジェクト記憶部240に記憶される自キャラクタや他キャラクタ等のオブジェクトをキャラクタ位置管理部250にて管理される現在位置に配置する。そして、所定の視点位置から各オブジェクトを透視変換し、隠面消去やテクスチャマッピング等を行って、表示用のゲーム画像を生成する。
なお、表示用のゲーム画像には、メッセージ取得部230にて取得されたメッセージも合成されて表示される。
【0058】
一例として、自キャラクタJcから相手キャラクタAcが指定されメッセージが送られると、画像生成部270は、図5に示すような自キャラクタJcからのメッセージMを含んだゲーム画像を生成する。この図5のゲーム画像は、自キャラクタJcの姿勢(向き)が自動的に更新された後を示している。つまり、メッセージを送る前までは、自キャラクタJcが相手キャラクタAcとは無関係の方向を向いていても、相手キャラクタAcを指定したメッセージを送ると自動的に、自キャラクタJcが相手キャラクタAcを自動的に向くことになる。
また、図5では、一例として、吹き出しによりメッセージを表示する場合を示しているが、チャットのメッセージを表示する手法は、これに限らず任意である。例えば、チャット用の専用表示領域を別途設けて、その領域にメッセージを表示するようにしてもよい。
そして、画像処理部109が、このような画像生成部270として機能しうる。
【0059】
(ビジュアルチャット装置の動作の概要)
図6は、上述した構成のビジュアルチャット装置200において実行されるチャット処理(送信側チャット処理及び、受信側チャット処理)の流れを示すフローチャートである。以下、本図を参照してビジュアルチャット装置200の動作について説明する。このチャット処理は、例えば、自キャラクタと他キャラクタ等が登場する所定のゲーム実行中において、メッセージを送信する際に送信側となり、また、受信する際に受信側となり、繰り返しそれぞれが実行される。
【0060】
まず、送信側のビジュアルチャット装置200は、メッセージをサーバに送信し、エコーバックされたメッセージを取得する(ステップS301)。
つまり、あるビジュアルチャット装置200にてプレイヤにより入力されたメッセージが、サーバを介して受信側のビジュアルチャット装置200に送信され、また、エコーバックされたメッセージが送信側のビジュアルチャット装置200にて取得される。
【0061】
送信側のビジュアルチャット装置200は、取得したメッセージが相手キャラクタを指定したものであるか否かを判別する(ステップS302)。
例えば、ビジュアルチャット装置200は、メッセージの終わりに、ハンドル名等が付加されているかどうかにより、相手キャラクタを指定したものであるかどうかを判別する。具体的には、「こんにちは>Hanako」というように、ハンドル名等が付加されていた場合に、相手キャラクタを指定したものであると判別する。
ビジュアルチャット装置200は、相手キャラクタを指定したものでないと判別すると(ステップS302;No)、後述するステップS307に処理を進める。
【0062】
一方、相手キャラクタを指定したものであると判別した場合(ステップS302;Yes)に、ビジュアルチャット装置200は、相手キャラクタを特定する(ステップS303)。
つまり、メッセージに付加されたハンドル名と一致するものを、キャラクタ位置管理部250に管理される情報から特定する。具体的には、「こんにちは>Hanako」というメッセージの場合、図3(b)の情報を参照して、ハンドル名がHanakoというキャラクタを相手キャラクタとして特定する。
【0063】
ビジュアルチャット装置200は、自キャラクタから相手キャラクタへの方位を算定する(ステップS304)。
すなわち、方位算定部261は、キャラクタ位置管理部250に管理されている自キャラクタの位置情報と、相手キャラクタの位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。
【0064】
ビジュアルチャット装置200は、算定した方位に向けて自キャラクタの姿勢を更新する(ステップS305)。
すなわち、注視方向移動部262は、方位算定部261が算定した方位に沿うように、図3(a)における位置情報中の注視方向を移動させる。つまり、相手キャラクタの方向を向くように、自キャラクタの位置情報を更新する。
【0065】
ビジュアルチャット装置200は、更新後の自キャラクタの位置情報をサーバに送信する(ステップS306)。
つまり、相手キャラクタの方向を向くように自動的に更新した自キャラクタの位置情報が、サーバを介して他のビジュアルチャット装置200に送信される。
【0066】
ビジュアルチャット装置200は、位置情報等に基づいて、仮想空間の画像を生成する(ステップS307)。
すなわち、画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成する。
【0067】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS308)。
つまり、仮想空間の画像にメッセージを合成したゲーム画面を表示する。
【0068】
例えば、メッセージ送信前では、図7(a)に示すように、自キャラクタJcが相手キャラクタAcと無関係な方向を向いていた場合でも、相手キャラクタAcを指定したメッセージの送信により、図7(b)に示すような、自キャラクタJcが自動的に相手キャラクタAcの方位に向きを移動させた画像にメッセージMが合成されたゲーム画面を表示する。
【0069】
図6に戻って、これに対する受信側のビジュアルチャット装置200は、送信されたメッセージを取得する(ステップS401)。
つまり、上述したステップS301にて、送信側のビジュアルチャット装置200から送信されたメッセージを受信する。
【0070】
受信側のビジュアルチャット装置200は、位置情報も受信したか否かを判別する(ステップS402)。
つまり、上述したステップS306にて、送信側のビジュアルチャット装置200から送信され得る位置情報があるかどうかを判別する。
ビジュアルチャット装置200は、位置情報を受信していないと判別すると(ステップS402;No)、後述するステップS405に処理を進める。
【0071】
一方、位置情報を受信していると判別した場合(ステップS402;Yes)に、ビジュアルチャット装置200は、送信元のキャラクタの姿勢を更新する(ステップS403)。
つまり、受信した位置情報に基づいて、キャラクタ位置管理部250における他キャラクタの位置情報(送信側の自キャラクタは、受信側では他キャラクタとなるため)を更新する。
【0072】
ビジュアルチャット装置200は、位置情報等に基づいて、仮想空間の画像を生成する(ステップS404)。
すなわち、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶される情報に基づいて、ゲーム画像(受信側のゲーム画像)を生成する。
【0073】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS405)。
つまり、仮想空間の画像にメッセージを合成したゲーム画面(受信側のゲーム画面)を表示する。
【0074】
このように、図6に示す両チャット処理によって、メッセージにハンドル名等を付加するだけで、相手キャラクタの方向を向くように、自キャラクタの姿勢が自動的に更新される。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
【0075】
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0076】
(他の実施形態)
上記の実施形態では、更新した自キャラクタの位置情報と、相手キャラクタに向けたメッセージとを同時期に送信する場合について説明したが、相手キャラクタの状況に応じて、メッセージの送信を適宜遅らせるようにしてもよい。
例えば、相手キャラクタが他のキャラクタと会話中(メッセージの送受信中)である場合に、更新した自キャラクタの位置情報だけを先に送信し、当該会話が終わった後に、メッセージを送信するようにしてもよい。
【0077】
具体的に上記図6に示す送信側チャット処理を参照して説明すると、ビジュアルチャット装置200は、ステップS301にてメッセージを送信する前に、相手キャラクタが他のキャラクタと会話中であるか否かを判別する。その際、会話中でなければ、そのまま送信するが、会話中である場合には、メッセージの送信をここでは行わずに、処理を進める。つまり、ステップS306にて更新後の位置情報を先に送信してしまう。
そして、相手キャラクタの会話が終わった後に、ステップS301と同じ処理を行い、相手キャラクタにメッセージを送信する。
この場合、会話途中で割り込むことなく、相手キャラクタにメッセージを送信することができる。
【0078】
上記の実施形態では、1つの相手キャラクタが指定された場合を一例として説明したが、相手キャラクタが複数指定されることも起こりうる。例えば、ハンドル名を複数連記したり、「こんにちは>ALL」というように、チャットが可能となる他キャラクタ全てを指定する場合等である。
このような場合に、各相手キャラクタに向けて話しているように、自キャラクタの向きを順次変化させるようにしてもよい。
【0079】
例えば、図8(a)に示すように、3つの相手キャラクタAc1〜Ac3がチャット可能な範囲内に位置しており、「こんにちは>ALL」というメッセージが自キャラクタJcから送信された場合、ビジュアルチャット装置200は、図8(b)〜(d)に示すように、自キャラクタJcの向きを各相手キャラクタAc1〜Ac3に向けて順次移動させてもよい。なお、図8(b)〜(d)は、仮想空間内の各キャラクタを上方から見た様子を示す図である。
この際、ビジュアルチャット装置200は、図8(b)〜(d)の順に移動させたら、その逆の図8(d)〜(b)の順に移動させ、また、図8(b)〜(d)の順に移動させるというように、所定時間、往復移動を繰り返すようにしてもよい。
【0080】
具体的にビジュアルチャット装置200は、図9に示すようなチャット処理(送信側チャット処理及び、受信側チャット処理)を実行する。このチャット処理も、ゲーム実行中において、メッセージを送信する際に送信側となり、また、受信する際に受信側となり、繰り返しそれぞれが実行される。
【0081】
まず、送信側のビジュアルチャット装置200は、メッセージをサーバに送信し、エコーバックされたメッセージを取得する(ステップS501)。つまり、「こんにちは>ALL」というような、複数の相手キャラクタを指定したメッセージが、サーバを介して受信側のビジュアルチャット装置200に送信され、また、エコーバックされたメッセージが送信側のビジュアルチャット装置200にて取得される。
【0082】
送信側のビジュアルチャット装置200は、指定された全ての相手キャラクタを特定し、、自キャラクタから各相手キャラクタへのそれぞれの方位を算定する(ステップS502)。
ビジュアルチャット装置200は、算定した各方位をソートして順番を定める(ステップS503)。例えば、図8(a)に示すような場合、最も左端の相手キャラクタAc1から最も右端の相手キャラクタAc3までの順番を正順と定め、その逆の順番を逆順と定める。
【0083】
ビジュアルチャット装置200は、n番目の方位に向けて自キャラクタの姿勢を更新する(ステップS504)。例えば、最初であれば、相手キャラクタAc1への方位を向くように、自キャラクタの位置情報を更新する。
【0084】
ビジュアルチャット装置200は、更新後の自キャラクタの位置情報をサーバに送信し、(ステップS505)、更新後の位置情報等に基づいて、仮想空間の画像を生成する(ステップS506)。つまり、n番目の方位を向いたゲーム画像を生成する。
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS507)。
【0085】
ビジュアルチャット装置200は、nの値を変更する(ステップS508)。例えば、1番目、2番目、3番目と正順に進み、3番目の後は、2番目、1番目と逆順に進むように、nの値を適宜変更する。
【0086】
ビジュアルチャット装置200は、メッセージを送信してから所定時間が経過したか否かを判別する(ステップS509)。つまり、自キャラクタの位置情報の更新を止めるための要件として定めた時間が経過したかどうかを判別する。なお、時間の経過以外に他の要件で、自キャラクタの位置情報の更新を止めるようにしてもよい。例えば、時間が経過する前に、他のビジュアルチャット装置200からメッセージが送られた場合には、直ちに、自キャラクタの位置情報の更新を止めてもよい。
【0087】
ビジュアルチャット装置200は、所定時間が経過していないと判別すると(ステップS509;No)、ステップS504に処理を戻し、上述したステップS504〜S509の処理を繰り返し実行する。
一方、所定時間が経過したと判別した場合(ステップS509;Yes)に、ビジュアルチャット装置200は、送信側チャット処理を終える。
【0088】
これに対する受信側のビジュアルチャット装置200は、送信されたメッセージを取得する(ステップS601)。
ビジュアルチャット装置200は、位置情報を受信したか否かを判別する(ステップS602)。
つまり、上述したステップS505にて、送信側のビジュアルチャット装置200から順次送信され得る位置情報があるかどうかを判別する。
【0089】
ビジュアルチャット装置200は、位置情報を受信していると判別すると(ステップS602;Yes)、送信元のキャラクタの姿勢を更新し(ステップS603)、更新後の位置情報等に基づいて、仮想空間の画像を生成する(ステップS604)。
すなわち、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶される情報に基づいて、ゲーム画像(受信側のゲーム画像)を生成する。
【0090】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS605)。つまり、仮想空間の画像にメッセージを合成したゲーム画面(受信側のゲーム画面)を表示する。
【0091】
その後、ビジュアルチャット装置200は、上述したステップS602に処理を戻す。そして、位置情報を受信していない(例えば、一定時間内に位置情報を受信しなかった)と判別した場合(ステップS602;No)に、ビジュアルチャット装置200は、受信側チャット処理を終える。
【0092】
このように、図9に示す両チャット処理によって、複数の相手キャラクタが指定された場合でも、各相手キャラクタの方向をそれぞれ向くように、自キャラクタの姿勢が順次更新される。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
【0093】
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0094】
上記の図8や図9を参照して説明した実施形態では、各相手キャラクタに向けて、自キャラクタの向きを変化させる場合について説明した。この場合、自キャラクタが各相手キャラクタへ、機敏に向きを変える様子が表示されることになる。
これ以外にも、自キャラクタの向きを順次変える手法を適用して、自キャラクタが向きを変える様子を表示してもよい。
【0095】
例えば、両端の2つの相手キャラクタを特定し、その間(方位間)を、一定速度で向きを変えるように、自キャラクタを制御してもよい。
一例として、まず、図10(a)に示すように、左端の相手キャラクタAc1と、右端の相手キャラクタAc3との間のレンジRを特定する。次に、図10(b)に示すように、レンジRのなす角度を所定数に等分した各方位を特定し、その各方位に向けて自キャラクタが順次向きを変えるように、位置情報を順次更新する。なお、この場合も、レンジR内での往復移動を繰り返すようにする。
【0096】
更に、行き来する自キャラクタの移動量を、例えば、時間経過に従って小さくしていき、自キャラクタの向きの移動が減衰するように、表示してもよい。
一例として、まず、図11(a)に示すようなレンジR1の範囲内で、自キャラクタJcが一定速度で向きを変えるようにし、その後、図11(b)に示すような範囲を狭めたレンジR2の範囲内で向きを変えるようにする。更に、図11(c)に示すようなより範囲を狭めたレンジR3の範囲内で向きを変えるようにして、自キャラクタの向きの移動が減衰していくように表示する。そして、最後には、自キャラクタの向きの移動を止めるようにしてもよい。
この場合、メッセージを送信してから所定時間等が経過するまでに、自キャラクタの向きの移動を自然に止めることができる。
【0097】
上記の実施形態では、他のプレイヤが操作するキャラクタにメッセージを送る場合について説明したが、自律的に仮想空間を移動等するNPC(ノンプレイヤキャラクタ/ノンプレイヤブルキャラクタ)にメッセージを送る場合も、同様に適用可能である。
【0098】
以上説明したように、本発明によれば、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【図面の簡単な説明】
【0099】
【図1】本発明の実施形態に係るゲーム装置の概要構成を示すブロック図である。
【図2】本発明の実施形態に係るビジュアルチャット装置の概要構成を示すブロック図である。
【図3】(a),(b)共に、キャラクタ位置管理部にて管理される情報の一例を示す模式図である。
【図4】(a),(b)共に、自キャラクタの向きを変更する様子を説明するための図である。
【図5】チャット時のゲーム画面の一例を示す図である。
【図6】本発明の実施形態に係るチャット処理(送信側、受信側)の一例を示すフローチャートである。
【図7】(a),(b)共に、自キャラクタの向きを変更するゲーム画面を説明するための図である。
【図8】(a)〜(d)共に、複数の相手キャラクタが指定された場合での自キャラクタの向きを順に変更する様子を説明するための図である。
【図9】本発明の他の実施形態に係るチャット処理(送信側、受信側)の一例を示すフローチャートである。
【図10】(a)が向きを変えるレンジを説明するための図であり、(b)がレンジを等分する様子を説明するための模式図である。
【図11】(a)〜(c)共に、レンジを狭める様子を説明するための図である。
【図12】(a)、(b)共に、従来のゲーム装置での課題を説明するための模式図である。
【符号の説明】
【0100】
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 キーボード
106 コントローラ
107 外部メモリ
108 DVD−ROMドライブ
109 画像処理部
110 音声処理部
111 NIC
200 ビジュアルチャット装置
210 通信部
220 操作部
230 メッセージ取得部
240 オブジェクト記憶部
250 キャラクタ位置管理部
260 姿勢更新部
270 画像生成部
【技術分野】
【0001】
本発明は、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することのできるゲーム装置、キャラクタ制御方法、および、プログラムに関する。
【背景技術】
【0002】
従来より、インターネット等のネットワークを介して接続された端末の間で通信を行う通信技術が広く利用されている。例えば、パソコン(パーソナルコンピュータ)を使用する複数のユーザが、インターネットを介してサーバに接続し、相互にメッセージを交換できるチャット(文字等での会話)も普及している。
このようなチャットでは、例えば、ユーザが自己のパソコンを用いてメッセージを送信すると、そのメッセージが、チャット相手のパソコンのディスプレイに表示されるようになっている。
【0003】
一方、ゲーム装置等でも、インターネットを介してゲームサーバに接続したネットワークゲーム(オンラインゲーム)にて、このようなチャットが行えるようになっている。例えば、プレイヤは、仮想空間内に配置される自キャラクタ(プレイヤが操作するキャラクタ)を自由に移動させ、近傍のキャラクタ(他のプレイヤが操作するキャラクタ等)とチャットを行い、ゲーム攻略の情報等を交換したりすることができる。
このようなネットワークゲームにおけるチャットは、例えば、ゲームフィールドにてキャラクタ同士が会話を行っているように表示される。このため、プレイヤは、あたかも自分が仮想空間内にいるかのように感じ、ゲームを楽しむことができる。
【0004】
このようなネットワークゲーム(ゲーム装置)の先行技術として、文字列等に関連してキャラクタの演出等を行い、利用者同士のコミュニケーションの向上を図る技術も開示されている(例えば、特許文献1参照)。
【特許文献1】特開2004−216033号公報 (第10−24頁、第7図)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したネットワークゲームでは、例えば、キャラクタ間が一定距離以内であればチャットが行えるようになっており、その際、各キャラクタの向き(向いている方向)に制約はない。つまり、自キャラクタと相手キャラクタとが、向き合っていなくとも、チャットが行えていた。
例えば、図12(a)に示すように、自キャラクタJcと相手キャラクタAcとが互いに無関係な方向を向いていても、チャットが行えてしまう。そのため、きわめて不自然であり、チャットを行っているプレイヤ同士だけでなく、その様子を眺めている他のプレイヤにとっても、違和感を感じるものとなっていた。
このような違和感を払拭するために、各プレイヤは、自己のキャラクタをそれぞれ操作して、図12(b)に示すように、自キャラクタJcと相手キャラクタAcとが向き合うように操作することになる。
【0006】
しかしながら、チャット文字列の入力にはキーボード等が用いられ、また、キャラクタの操作には、ゲームパッドやマウス等が用いられるため、チャットの文字入力とキャラクタ操作との両方を行うことは、プレイヤにとって大きな負担であった。しかも、チャットの相手(話を振る先)を変える度に、キャラクタ操作を行うのは極めて煩雑であった。
【0007】
また、このようなチャットの他に、RPG(ロールプレーイングゲーム)等でも、自キャラクタが他のキャラクタと会話を交わすような場面が多く登場する。例えば、到着した村で情報を得るために、村人キャラクタから話を聞くような場合である。
この場合、プレイヤは、自キャラクタを村人キャラクタに接近(接触等)させて、「話す」を指示することになるが、この際、自キャラクタの正面方向が、その村人キャラクタに向いている必要があった。つまり、話を聞くために、自キャラクタの位置や向きを適宜操作しなければならず、極めて煩雑であった。
【0008】
そのため、操作性を向上させつつ、キャラクタ間のチャット表現を適切に行える技術が求められていた。
【0009】
本発明は、このような課題を解決するためになされたもので、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することのできるゲーム装置、キャラクタ制御方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の観点に係るゲーム装置は、プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置であって、メッセージ取得部、姿勢更新部、及び、画像生成部を含んで構成される。
【0011】
まず、メッセージ取得部は、会話相手となる相手キャラクタの指定を伴うメッセージ(例えば、ハンドル名等が付加されたメッセージ等)を取得する。また、姿勢更新部は、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。そして、画像生成部は、姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する。
【0012】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0013】
本発明の第2の観点に係るゲーム装置は、プレイヤが操作する自キャラクタと他のプレイヤが操作するキャラクタとが共通の仮想空間に配置され、装置間の通信により当該キャラクタ間で会話を行うゲーム装置であって、メッセージ取得部、姿勢更新部、送信部、及び、画像生成部を含んで構成される。
【0014】
まず、メッセージ取得部は、会話相手となる相手キャラクタの指定を伴うメッセージを取得する。また、姿勢更新部は、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。送信部は、姿勢を更新した当該自キャラクタの位置情報及び、取得した当該メッセージを他のゲーム装置に向けて送信する。そして、画像生成部は、当該自キャラクタ及び当該メッセージを含む表示画像を生成する。
【0015】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。そして、更新後の自キャラクタの位置情報及び、取得したメッセージを他のゲーム装置に向けて送信する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0016】
上記のゲーム装置は、他のゲーム装置から送信された相手キャラクタの位置情報及びメッセージを受信する受信部を更に備え、前記画像生成部は、受信した当該位置情報に従って姿勢を更新した相手キャラクタ及び、受信した当該メッセージを含む表示画像を生成してもよい。
この場合、更新された相手キャラクタの位置(向き等)もメッセージと共に適切に表示することができる。
【0017】
前記姿勢更新部は、自キャラクタを基準として、仮想空間における相手キャラクタの方位を算定する方位算定部と、算定された当該方位に向けて、自キャラクタの注視方向を移動させる注視方向移動部と、を備えてもよい。
この場合、例えば、首や上半身だけを動かす等により、自キャラクタの注視方向(視線方向)を相手キャラクタの方位に移動させ、自キャラクタの姿勢を適切に制御することができる。
【0018】
前記送信部は、他のキャラクタと会話中の相手キャラクタに向けてメッセージを送る際に、更新した自キャラクタの位置情報だけを先に送信し、取得したメッセージを当該会話終了後に送信してもよい。
この場合、会話途中で割り込むことなく、相手キャラクタにメッセージを送信することができる。
【0019】
前記メッセージ取得部は、相手キャラクタの複数指定を伴うメッセージ(例えば、全てのキャラクタに向けたメッセージ等)を取得し、前記姿勢更新部は、自キャラクタを基準として、仮想空間における各相手キャラクタの方位をそれぞれ算定する方位算定部と、算定された当該各方位に向けて、自キャラクタの注視方向を順次移動させる注視方向移動部と、を備えてもよい。
この場合、複数の相手キャラクタを指定するメッセージを取得すると、それら各相手キャラクタの方向を向くように、自キャラクタの姿勢を順次制御することができる。
【0020】
前記注視方向移動部は、算定された当該各方位に向けて注視方向を順次移動させる際に、当該移動量を、例えば、時間経過に従って減衰させてもよい。
この場合、メッセージを送信してから所定時間等が経過するまでに、自キャラクタの向きの移動を自然に止めることができる。
【0021】
本発明の第3の観点に係るキャラクタ制御方法は、プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置におけるキャラクタ制御方法であって、メッセージ取得ステップ、姿勢更新ステップ、及び、画像生成ステップを含んで構成される。
【0022】
まず、メッセージ取得ステップでは、会話相手となる相手キャラクタの指定を伴うメッセージ(例えば、ハンドル名等が付加されたメッセージ等)を取得する。また、姿勢更新ステップでは、指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を、例えば、その相手キャラクタの方向を向くように更新する。そして、画像生成ステップでは、姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する。
【0023】
つまり、相手キャラクタを指定するためのハンドル名等が付加されたメッセージを取得すると、その相手キャラクタの方向を向くように、自キャラクタの姿勢を自動的に更新する。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0024】
本発明の第4の観点に係るプログラムは、コンピュータ(電子機器を含む。)を、上記のゲーム装置として機能させるように構成する。
【0025】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0026】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0027】
本発明によれば、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【発明を実施するための最良の形態】
【0028】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0029】
(実施形態1)
図1は、本発明の実施の形態に係るビジュアルチャット装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0030】
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、キーボード105と、コントローラ106と、外部メモリ107と、DVD(Digital Versatile Disk)−ROMドライブ108と、画像処理部109と、音声処理部110と、NIC(Network Interface Card)111と、を備える。
【0031】
なお、ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のビジュアルチャット装置が実現される。
【0032】
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0033】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、ゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0034】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【0035】
インターフェース104を介して接続されたキーボード105は、プレイヤがチャットを行う際の操作入力を受け付ける。例えば、キーボード105は、プレイヤの操作に従って、文字列(メッセージ)等の入力を受け付ける。
【0036】
インターフェース104を介して接続されたコントローラ106は、プレイヤがゲーム実行の際に行う指示入力を受け付ける。例えば、コントローラ106は、プレイヤの操作に従って、キャラクタ等に向けたコマンド等の指示入力を受け付ける。
【0037】
インターフェース104を介して着脱自在に接続された外部メモリ107には、ゲームの進行状態を示すデータ、チャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤは、コントローラ106を介して保存指示を行うことにより、これらのデータを適宜外部メモリ107に記録することができる。
【0038】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0039】
画像処理部109は、DVD−ROMから読み出されたデータをCPU 101や自己が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを自己が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部109に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0040】
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0041】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0042】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0043】
NIC 111は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0044】
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ107、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【0045】
また、本実施形態のゲーム装置100にかえて、一般的なコンピュータ(汎用のパーソナルコンピュータ等)をビジュアルチャット装置として利用することもできる。例えば、一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ビジュアルチャット装置として機能する。
【0046】
(ビジュアルチャット装置の概要構成)
図2は、本実施形態に係るビジュアルチャット装置の概要構成を示す模式図である。このビジュアルチャット装置は、一例として、自キャラクタ(プレイヤが操作するキャラクタ)及び他キャラクタ(他のプレイヤが操作するキャラクタ等)が共通の仮想空間内に配置され、他のビジュアルチャット装置との通信を行うことにより当該キャラクタ間で会話を行う装置である。以下、本図を参照して説明する。
【0047】
ビジュアルチャット装置200は、通信部210と、操作部220と、メッセージ取得部230と、オブジェクト記憶部240と、キャラクタ位置管理部250と、姿勢更新部260と、画像生成部270とを備える。
【0048】
まず、通信部210は、インターネット等のネットワークを介してサーバ(ゲームサーバ等)に接続して、種々のデータを送受信する。
例えば、通信部210は、キャラクタ位置管理部250にて管理される自キャラクタの位置情報や、操作部220からプレイヤによって入力されるメッセージ等をサーバに送信する。
また、通信部210は、サーバから送られた他キャラクタの位置情報や、他キャラクタ(他のプレイヤ)からのメッセージ(チャットデータ)等を受信する。そして、受信した他キャラクタの位置情報をキャラクタ位置管理部250に供給し、また、受信したメッセージをメッセージ取得部230に供給する。
なお、NIC 111が、このような通信部210として機能しうる。
【0049】
操作部220は、プレイヤの操作に従って、自キャラクタへの指示情報や、チャット相手となる相手キャラクタ(話の振り先となる他キャラクタ)等に向けて発するメッセージを受け付ける。つまり、仮想空間内における自キャラクタに対する移動指示や動作指示等を受け付けると共に、プレイヤから他のプレイヤに向けたメッセージを受け付ける。
なお、キーボード105及びコントローラ106がこのような操作部220として機能しうる。
【0050】
メッセージ取得部230は、通信部210が受信したデータからメッセージを取得する。つまり、他キャラクタから送られたメッセージ(例えば、相手キャラクタから自キャラクタに向けたメッセージ等)を取得する。
なお、メッセージ取得部230は、プレイヤにより入力されたメッセージ(例えば、自キャラクタから相手キャラクタに向けたメッセージ等)も取得する。その際、操作部220から入力されたメッセージを直接取得してもよく、また、サーバからエコーバックされたメッセージを取得してもよい。
そして、CPU 101が、このようなメッセージ取得部230として機能しうる。
【0051】
オブジェクト記憶部240は、仮想空間内に配置されるキャラクタ、及び、その他のオブジェクトに関する情報を記憶する。
例えば、オブジェクト記憶部240は、自キャラクタや他キャラクタ等のキャラクタオブジェクト、及び、フィールド等に配置される固定物(地形、建物、壁等)といった他のオブジェクトの情報を記憶する。
なお、固定物といった仮想空間内で位置が変化しないオブジェクトについては、仮想空間内における位置情報等も、このオブジェクト記憶部240にて管理されているものとする。
そして、RAM 103が、このようなオブジェクト記憶部240として機能しうる。
【0052】
キャラクタ位置管理部250は、自キャラクタや他キャラクタといった仮想空間内で位置が変化するオブジェクトの位置情報(現在位置や姿勢等)を管理する。例えば、キャラクタ位置管理部250は、図3(a)に示すような自キャラクタの位置情報及び、図3(b)に示すような他キャラクタの位置情報を管理する。
つまり、自キャラクタは、操作部220によって受け付けた移動指示や、後述するように、話の振り先となる相手キャラクタを指定することによって、仮想空間内の現在位置や姿勢(向き等)が変化するため、図3(a)のような位置情報が管理される。
同様に、他キャラクタも、他のプレイヤの操作等(より具体的には、サーバから送られる他キャラクタの位置情報)によって仮想空間内の現在位置や姿勢等が変化するため、図3(b)のような位置情報が管理される。
なお、図3(b)中の「会話可否」は、自キャラクタを基準として一定距離範囲内に位置するキャラクタがチャット対象となる場合に、その可否を示す情報である。また、この「会話可否」は、ビジュアルチャット装置200側でなく、サーバ側で管理するようにしてもよい。
そして、RAM 103及びCPU 101が、このようなキャラクタ位置管理部250として機能しうる。
【0053】
姿勢更新部260は、話の振り先として指定された他キャラクタ(相手キャラクタ)と自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を適宜更新する。
例えば、姿勢更新部260は、方位算定部261及び、注視方向移動部262を有しており、自キャラクタから他キャラクタへ送信したメッセージ(メッセージ取得部230が取得したエコーバックされたメッセージ)が、話の振り先となる相手キャラクタを指定したものである場合に、その相手キャラクタの方を向くように、自キャラクタの姿勢を更新する。
ここで、相手キャラクタの指定は、例えば、メッセージの終わりに、ハンドル名等が付加されて行われるものとする。一例として、「こんにちは>Hanako」というメッセージは、ハンドル名がHanakoというキャラクタに話を振るものであるため、このHanakoが相手キャラクタとなる。
なお、相手キャラクタの指定は、これに限られるものではなく、適宜変更可能である。例えば、ID等の番号を用いて相手キャラクタの指定が行われてもよい。
【0054】
より具体的に、図4(a),(b)に示すような仮想空間に自キャラクタJc(ハンドル名:Taro)と指定された相手キャラクタAc(ハンドル名:Hanako)とが配置されている場合を一例として説明する。なお、この仮想空間は、一例として、3次元空間を示しているが、2次元空間であってもよい。
【0055】
方位算定部261は、図4(a)に示すような場合に、自キャラクタJcを基準として、相手キャラクタAcの方位を算定する。つまり、方位算定部261は、キャラクタ位置管理部250に管理されている自キャラクタの位置情報と、相手キャラクタ(ハンドル名がHanako)の位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。
【0056】
また、注視方向移動部262は、方位算定部261が算定した方位を向くように、自キャラクタの位置情報を更新する。つまり、注視方向移動部262は、方位算定部261が算定した方位に沿うように、図3(a)における位置情報中の注視方向を移動させる。
この注視方向移動部262が注視方向を移動させることにより、図4(b)に示すような場合に、自キャラクタJcの向きが相手キャラクタAcへ向くようになる。なお、図4(b)では、自キャラクタJcが体全体で向きを変える場合を示しているが、首や上半身だけを動かすことにより、自キャラクタJcが注視している向きを変えるようにしてもよい。
そして、CPU 101が、このような姿勢更新部260(方位算定部261、注視方向移動部262)として機能しうる。
【0057】
図2に戻って、画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成する。例えば、画像生成部270は、オブジェクト記憶部240に記憶される固定物等のオブジェクトを仮想空間内の所定位置に配置し、また、オブジェクト記憶部240に記憶される自キャラクタや他キャラクタ等のオブジェクトをキャラクタ位置管理部250にて管理される現在位置に配置する。そして、所定の視点位置から各オブジェクトを透視変換し、隠面消去やテクスチャマッピング等を行って、表示用のゲーム画像を生成する。
なお、表示用のゲーム画像には、メッセージ取得部230にて取得されたメッセージも合成されて表示される。
【0058】
一例として、自キャラクタJcから相手キャラクタAcが指定されメッセージが送られると、画像生成部270は、図5に示すような自キャラクタJcからのメッセージMを含んだゲーム画像を生成する。この図5のゲーム画像は、自キャラクタJcの姿勢(向き)が自動的に更新された後を示している。つまり、メッセージを送る前までは、自キャラクタJcが相手キャラクタAcとは無関係の方向を向いていても、相手キャラクタAcを指定したメッセージを送ると自動的に、自キャラクタJcが相手キャラクタAcを自動的に向くことになる。
また、図5では、一例として、吹き出しによりメッセージを表示する場合を示しているが、チャットのメッセージを表示する手法は、これに限らず任意である。例えば、チャット用の専用表示領域を別途設けて、その領域にメッセージを表示するようにしてもよい。
そして、画像処理部109が、このような画像生成部270として機能しうる。
【0059】
(ビジュアルチャット装置の動作の概要)
図6は、上述した構成のビジュアルチャット装置200において実行されるチャット処理(送信側チャット処理及び、受信側チャット処理)の流れを示すフローチャートである。以下、本図を参照してビジュアルチャット装置200の動作について説明する。このチャット処理は、例えば、自キャラクタと他キャラクタ等が登場する所定のゲーム実行中において、メッセージを送信する際に送信側となり、また、受信する際に受信側となり、繰り返しそれぞれが実行される。
【0060】
まず、送信側のビジュアルチャット装置200は、メッセージをサーバに送信し、エコーバックされたメッセージを取得する(ステップS301)。
つまり、あるビジュアルチャット装置200にてプレイヤにより入力されたメッセージが、サーバを介して受信側のビジュアルチャット装置200に送信され、また、エコーバックされたメッセージが送信側のビジュアルチャット装置200にて取得される。
【0061】
送信側のビジュアルチャット装置200は、取得したメッセージが相手キャラクタを指定したものであるか否かを判別する(ステップS302)。
例えば、ビジュアルチャット装置200は、メッセージの終わりに、ハンドル名等が付加されているかどうかにより、相手キャラクタを指定したものであるかどうかを判別する。具体的には、「こんにちは>Hanako」というように、ハンドル名等が付加されていた場合に、相手キャラクタを指定したものであると判別する。
ビジュアルチャット装置200は、相手キャラクタを指定したものでないと判別すると(ステップS302;No)、後述するステップS307に処理を進める。
【0062】
一方、相手キャラクタを指定したものであると判別した場合(ステップS302;Yes)に、ビジュアルチャット装置200は、相手キャラクタを特定する(ステップS303)。
つまり、メッセージに付加されたハンドル名と一致するものを、キャラクタ位置管理部250に管理される情報から特定する。具体的には、「こんにちは>Hanako」というメッセージの場合、図3(b)の情報を参照して、ハンドル名がHanakoというキャラクタを相手キャラクタとして特定する。
【0063】
ビジュアルチャット装置200は、自キャラクタから相手キャラクタへの方位を算定する(ステップS304)。
すなわち、方位算定部261は、キャラクタ位置管理部250に管理されている自キャラクタの位置情報と、相手キャラクタの位置情報を読み出し、自キャラクタの現在位置を基準として相手キャラクタの方位を算定する。
【0064】
ビジュアルチャット装置200は、算定した方位に向けて自キャラクタの姿勢を更新する(ステップS305)。
すなわち、注視方向移動部262は、方位算定部261が算定した方位に沿うように、図3(a)における位置情報中の注視方向を移動させる。つまり、相手キャラクタの方向を向くように、自キャラクタの位置情報を更新する。
【0065】
ビジュアルチャット装置200は、更新後の自キャラクタの位置情報をサーバに送信する(ステップS306)。
つまり、相手キャラクタの方向を向くように自動的に更新した自キャラクタの位置情報が、サーバを介して他のビジュアルチャット装置200に送信される。
【0066】
ビジュアルチャット装置200は、位置情報等に基づいて、仮想空間の画像を生成する(ステップS307)。
すなわち、画像生成部270は、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶(管理)される情報に基づいて、ゲーム画像を生成する。
【0067】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS308)。
つまり、仮想空間の画像にメッセージを合成したゲーム画面を表示する。
【0068】
例えば、メッセージ送信前では、図7(a)に示すように、自キャラクタJcが相手キャラクタAcと無関係な方向を向いていた場合でも、相手キャラクタAcを指定したメッセージの送信により、図7(b)に示すような、自キャラクタJcが自動的に相手キャラクタAcの方位に向きを移動させた画像にメッセージMが合成されたゲーム画面を表示する。
【0069】
図6に戻って、これに対する受信側のビジュアルチャット装置200は、送信されたメッセージを取得する(ステップS401)。
つまり、上述したステップS301にて、送信側のビジュアルチャット装置200から送信されたメッセージを受信する。
【0070】
受信側のビジュアルチャット装置200は、位置情報も受信したか否かを判別する(ステップS402)。
つまり、上述したステップS306にて、送信側のビジュアルチャット装置200から送信され得る位置情報があるかどうかを判別する。
ビジュアルチャット装置200は、位置情報を受信していないと判別すると(ステップS402;No)、後述するステップS405に処理を進める。
【0071】
一方、位置情報を受信していると判別した場合(ステップS402;Yes)に、ビジュアルチャット装置200は、送信元のキャラクタの姿勢を更新する(ステップS403)。
つまり、受信した位置情報に基づいて、キャラクタ位置管理部250における他キャラクタの位置情報(送信側の自キャラクタは、受信側では他キャラクタとなるため)を更新する。
【0072】
ビジュアルチャット装置200は、位置情報等に基づいて、仮想空間の画像を生成する(ステップS404)。
すなわち、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶される情報に基づいて、ゲーム画像(受信側のゲーム画像)を生成する。
【0073】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS405)。
つまり、仮想空間の画像にメッセージを合成したゲーム画面(受信側のゲーム画面)を表示する。
【0074】
このように、図6に示す両チャット処理によって、メッセージにハンドル名等を付加するだけで、相手キャラクタの方向を向くように、自キャラクタの姿勢が自動的に更新される。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
【0075】
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0076】
(他の実施形態)
上記の実施形態では、更新した自キャラクタの位置情報と、相手キャラクタに向けたメッセージとを同時期に送信する場合について説明したが、相手キャラクタの状況に応じて、メッセージの送信を適宜遅らせるようにしてもよい。
例えば、相手キャラクタが他のキャラクタと会話中(メッセージの送受信中)である場合に、更新した自キャラクタの位置情報だけを先に送信し、当該会話が終わった後に、メッセージを送信するようにしてもよい。
【0077】
具体的に上記図6に示す送信側チャット処理を参照して説明すると、ビジュアルチャット装置200は、ステップS301にてメッセージを送信する前に、相手キャラクタが他のキャラクタと会話中であるか否かを判別する。その際、会話中でなければ、そのまま送信するが、会話中である場合には、メッセージの送信をここでは行わずに、処理を進める。つまり、ステップS306にて更新後の位置情報を先に送信してしまう。
そして、相手キャラクタの会話が終わった後に、ステップS301と同じ処理を行い、相手キャラクタにメッセージを送信する。
この場合、会話途中で割り込むことなく、相手キャラクタにメッセージを送信することができる。
【0078】
上記の実施形態では、1つの相手キャラクタが指定された場合を一例として説明したが、相手キャラクタが複数指定されることも起こりうる。例えば、ハンドル名を複数連記したり、「こんにちは>ALL」というように、チャットが可能となる他キャラクタ全てを指定する場合等である。
このような場合に、各相手キャラクタに向けて話しているように、自キャラクタの向きを順次変化させるようにしてもよい。
【0079】
例えば、図8(a)に示すように、3つの相手キャラクタAc1〜Ac3がチャット可能な範囲内に位置しており、「こんにちは>ALL」というメッセージが自キャラクタJcから送信された場合、ビジュアルチャット装置200は、図8(b)〜(d)に示すように、自キャラクタJcの向きを各相手キャラクタAc1〜Ac3に向けて順次移動させてもよい。なお、図8(b)〜(d)は、仮想空間内の各キャラクタを上方から見た様子を示す図である。
この際、ビジュアルチャット装置200は、図8(b)〜(d)の順に移動させたら、その逆の図8(d)〜(b)の順に移動させ、また、図8(b)〜(d)の順に移動させるというように、所定時間、往復移動を繰り返すようにしてもよい。
【0080】
具体的にビジュアルチャット装置200は、図9に示すようなチャット処理(送信側チャット処理及び、受信側チャット処理)を実行する。このチャット処理も、ゲーム実行中において、メッセージを送信する際に送信側となり、また、受信する際に受信側となり、繰り返しそれぞれが実行される。
【0081】
まず、送信側のビジュアルチャット装置200は、メッセージをサーバに送信し、エコーバックされたメッセージを取得する(ステップS501)。つまり、「こんにちは>ALL」というような、複数の相手キャラクタを指定したメッセージが、サーバを介して受信側のビジュアルチャット装置200に送信され、また、エコーバックされたメッセージが送信側のビジュアルチャット装置200にて取得される。
【0082】
送信側のビジュアルチャット装置200は、指定された全ての相手キャラクタを特定し、、自キャラクタから各相手キャラクタへのそれぞれの方位を算定する(ステップS502)。
ビジュアルチャット装置200は、算定した各方位をソートして順番を定める(ステップS503)。例えば、図8(a)に示すような場合、最も左端の相手キャラクタAc1から最も右端の相手キャラクタAc3までの順番を正順と定め、その逆の順番を逆順と定める。
【0083】
ビジュアルチャット装置200は、n番目の方位に向けて自キャラクタの姿勢を更新する(ステップS504)。例えば、最初であれば、相手キャラクタAc1への方位を向くように、自キャラクタの位置情報を更新する。
【0084】
ビジュアルチャット装置200は、更新後の自キャラクタの位置情報をサーバに送信し、(ステップS505)、更新後の位置情報等に基づいて、仮想空間の画像を生成する(ステップS506)。つまり、n番目の方位を向いたゲーム画像を生成する。
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS507)。
【0085】
ビジュアルチャット装置200は、nの値を変更する(ステップS508)。例えば、1番目、2番目、3番目と正順に進み、3番目の後は、2番目、1番目と逆順に進むように、nの値を適宜変更する。
【0086】
ビジュアルチャット装置200は、メッセージを送信してから所定時間が経過したか否かを判別する(ステップS509)。つまり、自キャラクタの位置情報の更新を止めるための要件として定めた時間が経過したかどうかを判別する。なお、時間の経過以外に他の要件で、自キャラクタの位置情報の更新を止めるようにしてもよい。例えば、時間が経過する前に、他のビジュアルチャット装置200からメッセージが送られた場合には、直ちに、自キャラクタの位置情報の更新を止めてもよい。
【0087】
ビジュアルチャット装置200は、所定時間が経過していないと判別すると(ステップS509;No)、ステップS504に処理を戻し、上述したステップS504〜S509の処理を繰り返し実行する。
一方、所定時間が経過したと判別した場合(ステップS509;Yes)に、ビジュアルチャット装置200は、送信側チャット処理を終える。
【0088】
これに対する受信側のビジュアルチャット装置200は、送信されたメッセージを取得する(ステップS601)。
ビジュアルチャット装置200は、位置情報を受信したか否かを判別する(ステップS602)。
つまり、上述したステップS505にて、送信側のビジュアルチャット装置200から順次送信され得る位置情報があるかどうかを判別する。
【0089】
ビジュアルチャット装置200は、位置情報を受信していると判別すると(ステップS602;Yes)、送信元のキャラクタの姿勢を更新し(ステップS603)、更新後の位置情報等に基づいて、仮想空間の画像を生成する(ステップS604)。
すなわち、オブジェクト記憶部240及びキャラクタ位置管理部250にて記憶される情報に基づいて、ゲーム画像(受信側のゲーム画像)を生成する。
【0090】
そして、ビジュアルチャット装置200は、メッセージを合成したゲーム画面を表示する(ステップS605)。つまり、仮想空間の画像にメッセージを合成したゲーム画面(受信側のゲーム画面)を表示する。
【0091】
その後、ビジュアルチャット装置200は、上述したステップS602に処理を戻す。そして、位置情報を受信していない(例えば、一定時間内に位置情報を受信しなかった)と判別した場合(ステップS602;No)に、ビジュアルチャット装置200は、受信側チャット処理を終える。
【0092】
このように、図9に示す両チャット処理によって、複数の相手キャラクタが指定された場合でも、各相手キャラクタの方向をそれぞれ向くように、自キャラクタの姿勢が順次更新される。このため、プレイヤは、キーボード等を操作して文字入力するだけで、ゲームパッドやマウス等を操作することなく、自キャラクタの姿勢を適切に制御することができる。
【0093】
この結果、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【0094】
上記の図8や図9を参照して説明した実施形態では、各相手キャラクタに向けて、自キャラクタの向きを変化させる場合について説明した。この場合、自キャラクタが各相手キャラクタへ、機敏に向きを変える様子が表示されることになる。
これ以外にも、自キャラクタの向きを順次変える手法を適用して、自キャラクタが向きを変える様子を表示してもよい。
【0095】
例えば、両端の2つの相手キャラクタを特定し、その間(方位間)を、一定速度で向きを変えるように、自キャラクタを制御してもよい。
一例として、まず、図10(a)に示すように、左端の相手キャラクタAc1と、右端の相手キャラクタAc3との間のレンジRを特定する。次に、図10(b)に示すように、レンジRのなす角度を所定数に等分した各方位を特定し、その各方位に向けて自キャラクタが順次向きを変えるように、位置情報を順次更新する。なお、この場合も、レンジR内での往復移動を繰り返すようにする。
【0096】
更に、行き来する自キャラクタの移動量を、例えば、時間経過に従って小さくしていき、自キャラクタの向きの移動が減衰するように、表示してもよい。
一例として、まず、図11(a)に示すようなレンジR1の範囲内で、自キャラクタJcが一定速度で向きを変えるようにし、その後、図11(b)に示すような範囲を狭めたレンジR2の範囲内で向きを変えるようにする。更に、図11(c)に示すようなより範囲を狭めたレンジR3の範囲内で向きを変えるようにして、自キャラクタの向きの移動が減衰していくように表示する。そして、最後には、自キャラクタの向きの移動を止めるようにしてもよい。
この場合、メッセージを送信してから所定時間等が経過するまでに、自キャラクタの向きの移動を自然に止めることができる。
【0097】
上記の実施形態では、他のプレイヤが操作するキャラクタにメッセージを送る場合について説明したが、自律的に仮想空間を移動等するNPC(ノンプレイヤキャラクタ/ノンプレイヤブルキャラクタ)にメッセージを送る場合も、同様に適用可能である。
【0098】
以上説明したように、本発明によれば、操作性を向上させつつ、キャラクタ間の会話をより自然に表現することができる。
【図面の簡単な説明】
【0099】
【図1】本発明の実施形態に係るゲーム装置の概要構成を示すブロック図である。
【図2】本発明の実施形態に係るビジュアルチャット装置の概要構成を示すブロック図である。
【図3】(a),(b)共に、キャラクタ位置管理部にて管理される情報の一例を示す模式図である。
【図4】(a),(b)共に、自キャラクタの向きを変更する様子を説明するための図である。
【図5】チャット時のゲーム画面の一例を示す図である。
【図6】本発明の実施形態に係るチャット処理(送信側、受信側)の一例を示すフローチャートである。
【図7】(a),(b)共に、自キャラクタの向きを変更するゲーム画面を説明するための図である。
【図8】(a)〜(d)共に、複数の相手キャラクタが指定された場合での自キャラクタの向きを順に変更する様子を説明するための図である。
【図9】本発明の他の実施形態に係るチャット処理(送信側、受信側)の一例を示すフローチャートである。
【図10】(a)が向きを変えるレンジを説明するための図であり、(b)がレンジを等分する様子を説明するための模式図である。
【図11】(a)〜(c)共に、レンジを狭める様子を説明するための図である。
【図12】(a)、(b)共に、従来のゲーム装置での課題を説明するための模式図である。
【符号の説明】
【0100】
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 キーボード
106 コントローラ
107 外部メモリ
108 DVD−ROMドライブ
109 画像処理部
110 音声処理部
111 NIC
200 ビジュアルチャット装置
210 通信部
220 操作部
230 メッセージ取得部
240 オブジェクト記憶部
250 キャラクタ位置管理部
260 姿勢更新部
270 画像生成部
【特許請求の範囲】
【請求項1】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部と、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部と、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成部と、を備える、
ことを特徴とするゲーム装置。
【請求項2】
プレイヤが操作する自キャラクタと他のプレイヤが操作するキャラクタとが共通の仮想空間に配置され、装置間の通信により当該キャラクタ間で会話を行うゲーム装置であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部と、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部と、
姿勢を更新した当該自キャラクタの位置情報及び、取得した当該メッセージを他のゲーム装置に向けて送信する送信部と、
当該自キャラクタ及び当該メッセージを含む表示画像を生成する画像生成部と、を備える、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
他のゲーム装置から送信された相手キャラクタの位置情報及びメッセージを受信する受信部を更に備え、
前記画像生成部は、受信した当該位置情報に従って姿勢を更新した相手キャラクタ及び、受信した当該メッセージを含む表示画像を生成する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1又は2に記載のゲーム装置であって、
前記姿勢更新部は、
自キャラクタを基準として、仮想空間における相手キャラクタの方位を算定する方位算定部と、
算定された当該方位に向けて、自キャラクタの注視方向を移動させる注視方向移動部と、を備える、
ことを特徴とするゲーム装置。
【請求項5】
請求項1又は2に記載のゲーム装置であって、
前記送信部は、他のキャラクタと会話中の相手キャラクタに向けてメッセージを送る際に、更新した自キャラクタの位置情報だけを先に送信し、取得したメッセージを当該会話終了後に送信する、
ことを特徴とするゲーム装置。
【請求項6】
請求項1又は2に記載のゲーム装置であって、
前記メッセージ取得部は、相手キャラクタの複数指定を伴うメッセージを取得し、
前記姿勢更新部は、
自キャラクタを基準として、仮想空間における各相手キャラクタの方位をそれぞれ算定する方位算定部と、
算定された当該各方位に向けて、自キャラクタの注視方向を順次移動させる注視方向移動部と、を備える、
ことを特徴とするゲーム装置。
【請求項7】
請求項6に記載のゲーム装置であって、
前記注視方向移動部は、算定された当該各方位に向けて注視方向を順次移動させる際に、当該移動量を所定条件に従って減衰させる、
ことを特徴とするゲーム装置。
【請求項8】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置におけるキャラクタ制御方法であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得ステップと、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新ステップと、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成ステップと、を備える、
ことを特徴とする方法。
【請求項9】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うコンピュータを、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成部、
として機能させることを特徴とするプログラム。
【請求項1】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部と、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部と、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成部と、を備える、
ことを特徴とするゲーム装置。
【請求項2】
プレイヤが操作する自キャラクタと他のプレイヤが操作するキャラクタとが共通の仮想空間に配置され、装置間の通信により当該キャラクタ間で会話を行うゲーム装置であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部と、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部と、
姿勢を更新した当該自キャラクタの位置情報及び、取得した当該メッセージを他のゲーム装置に向けて送信する送信部と、
当該自キャラクタ及び当該メッセージを含む表示画像を生成する画像生成部と、を備える、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
他のゲーム装置から送信された相手キャラクタの位置情報及びメッセージを受信する受信部を更に備え、
前記画像生成部は、受信した当該位置情報に従って姿勢を更新した相手キャラクタ及び、受信した当該メッセージを含む表示画像を生成する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1又は2に記載のゲーム装置であって、
前記姿勢更新部は、
自キャラクタを基準として、仮想空間における相手キャラクタの方位を算定する方位算定部と、
算定された当該方位に向けて、自キャラクタの注視方向を移動させる注視方向移動部と、を備える、
ことを特徴とするゲーム装置。
【請求項5】
請求項1又は2に記載のゲーム装置であって、
前記送信部は、他のキャラクタと会話中の相手キャラクタに向けてメッセージを送る際に、更新した自キャラクタの位置情報だけを先に送信し、取得したメッセージを当該会話終了後に送信する、
ことを特徴とするゲーム装置。
【請求項6】
請求項1又は2に記載のゲーム装置であって、
前記メッセージ取得部は、相手キャラクタの複数指定を伴うメッセージを取得し、
前記姿勢更新部は、
自キャラクタを基準として、仮想空間における各相手キャラクタの方位をそれぞれ算定する方位算定部と、
算定された当該各方位に向けて、自キャラクタの注視方向を順次移動させる注視方向移動部と、を備える、
ことを特徴とするゲーム装置。
【請求項7】
請求項6に記載のゲーム装置であって、
前記注視方向移動部は、算定された当該各方位に向けて注視方向を順次移動させる際に、当該移動量を所定条件に従って減衰させる、
ことを特徴とするゲーム装置。
【請求項8】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うゲーム装置におけるキャラクタ制御方法であって、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得ステップと、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新ステップと、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成ステップと、を備える、
ことを特徴とする方法。
【請求項9】
プレイヤが操作する自キャラクタを含む複数のキャラクタが共通の仮想空間に配置され、当該キャラクタ間で会話を行うコンピュータを、
会話相手となる相手キャラクタの指定を伴うメッセージを取得するメッセージ取得部、
指定された当該相手キャラクタと自キャラクタとの位置関係に基づいて、自キャラクタの姿勢を更新する姿勢更新部、
姿勢を更新した当該自キャラクタ及び、取得した当該メッセージを含む表示画像を生成する画像生成部、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−212269(P2008−212269A)
【公開日】平成20年9月18日(2008.9.18)
【国際特許分類】
【出願番号】特願2007−51223(P2007−51223)
【出願日】平成19年3月1日(2007.3.1)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成20年9月18日(2008.9.18)
【国際特許分類】
【出願日】平成19年3月1日(2007.3.1)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]