ゲーム装置、ゲーム処理方法、ならびに、プログラム
【課題】ゲームが難しすぎたり易しすぎたりすることがないようにキャラクタオブジェクトを配置する。
【解決手段】ゲーム装置200において、記憶部201はプレイヤーキャラクタの位置と、敵キャラクタの位置と、新たに敵キャラクタを出現させる位置の候補とを記憶する。計測部202はゲーム開始からの経過時間を計測する。計算部203は計測した経過時間に基づいて新たな敵キャラクタを出現させる位置の判断基準となる基準距離を計算する。基準距離は経過時間の増加に対して単調増加するように設定される。ゲーム中に新たな敵キャラクタを出現させるとき、出現設定部204は記憶部201に記憶された候補のうちプレイヤーキャラクタまでの距離が基準距離に最も近い候補を選んで新たな敵キャラクタの出現位置とし、敵キャラクタを出現させる。
【解決手段】ゲーム装置200において、記憶部201はプレイヤーキャラクタの位置と、敵キャラクタの位置と、新たに敵キャラクタを出現させる位置の候補とを記憶する。計測部202はゲーム開始からの経過時間を計測する。計算部203は計測した経過時間に基づいて新たな敵キャラクタを出現させる位置の判断基準となる基準距離を計算する。基準距離は経過時間の増加に対して単調増加するように設定される。ゲーム中に新たな敵キャラクタを出現させるとき、出現設定部204は記憶部201に記憶された候補のうちプレイヤーキャラクタまでの距離が基準距離に最も近い候補を選んで新たな敵キャラクタの出現位置とし、敵キャラクタを出現させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
仮想ゲーム空間内において、プレイヤーがプレイヤーキャラクタを操作して敵キャラクタを仮想の銃や刀を使って倒すゲームがある。例えば、プレイヤーは、敵キャラクタが出現すると、その位置までプレイヤーキャラクタを移動させて、あるいはその位置を狙って、敵キャラクタを倒す。また、プレイヤーキャラクタが敵キャラクタに見つかると、その敵キャラクタを倒さないと前に進めないこともある。多くのゲームでは、ある敵キャラクタを倒すと別の敵キャラクタが新たに出現するので、プレイヤーは次々と現れる敵キャラクタを倒さないとゲームをクリアできない。ゲーム装置は、プレイヤーキャラクタの位置やレベル等に応じて適宜新たな敵キャラクタを出現させ、より面白いゲーム展開にしてプレイヤーの興味を引きつける。例えば、特許文献1には、ゲームに参加しているプレイヤーの人数やプレイヤーキャラクタのレベルに基づいて敵キャラクタの数、強さ等を制御することによって、ゲームバランスを大きく損ねることなくゲームを面白くすることができるゲームシステムが開示されている。
【特許文献1】特開2004−160059号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来のゲーム装置では、敵キャラクタが新たに出現する場所は予め決められた場所であったりランダムに選ばれた場所であったりするため、敵キャラクタが続けざまにプレイヤーキャラクタ近辺に出現することがある。そうすると、初心者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が高い(敵キャラクタが強い)と感じたり不公平感を抱いたりしてしまい、結果としてゲームへの興味を削ぐことになってしまう。また、敵キャラクタがプレイヤーキャラクタから遠く離れた場所ばかりに出現することもある。そうすると、上級者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が低い(敵キャラクタが弱い)と感じてしまい、結果としてゲームへの興味を削ぐことになってしまう。
【0004】
本発明はこのような課題を解決するものであり、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0006】
本発明の第1の観点に係るゲーム装置は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置であって、記憶部、計測部、計算部、出現設定部を備える。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測部は、当該ゲームが開始されてからの経過時間を計測する。
計算部は、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、ゲーム装置は、ゲームの経過時間が長いとプレイヤーキャラクタから遠い位置に敵キャラクタを出現させ、ゲームの経過時間が短いとプレイヤーキャラクタから近い位置に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。例えば、初心者にとってゲームが難しすぎないように、また、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
ゲームの経過時間として、ゲーム中に発生する任意のイベントからの経過時間を用いてもよい。敵キャラクタは、プレイヤーがゲームをクリアすることに対して悪影響を与えるキャラクタオブジェクトとすることができる。
【0007】
出現設定部は、記憶部に記憶された当該敵キャラクタの位置の数が所定のしきい値を超えないように、当該新たな敵キャラクタの位置を記憶部に記憶させることができる。
この結果、ゲーム装置は、新たに敵キャラクタを出現させることができる状況であっても、既に所定数の敵キャラクタが存在していれば、新たに敵キャラクタを出現させない。これにより、ゲーム装置は、敵キャラクタの数を制限してゲームバランスが大きく崩れないようにすることで、ユーザにとってゲームが難しすぎないようにすることができる。例えば、ゲームの初心者にとっては、ゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【0008】
このゲーム装置は、当該プレイヤーキャラクタの位置と当該敵キャラクタの位置とが所定距離以上離れている場合、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置に近づくように移動させて、記憶部に記憶される情報を更新する移動部をさらに備えることができる。
この結果、ゲーム装置は、既にゲーム中に登場している移動可能な敵キャラクタをプレイヤーキャラクタに向かって移動させる。これにより、ゲーム装置は、ユーザにとってゲームが易しすぎないようにすることができる。例えば、ゲームの上級者にとっては、ゲームをクリアしづらくする要因が過度に少なくなってしまうことがない。
【0009】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該記憶されたプレイヤーキャラクタまでの距離が同じ候補が複数存在する場合、当該候補の中からランダムに選択して、当該選択された位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、出現位置の候補が複数存在すると、適宜位置を選択して敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0010】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離に最も近い候補の位置から所定の許容範囲内に含まれる位置の中からランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、出現位置の候補の近くに敵キャラクタを出現させる。例えば、ゲーム装置は、敵キャラクタを出現させるとき、予め設定された位置に他のキャラクタオブジェクトが既に配置されているため敵キャラクタを配置できない場合であっても、代わりにその近辺に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0011】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離より遠くの位置の候補が複数存在する場合、当該複数の候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、プレイヤーキャラクタから所定距離より遠い位置に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎないように敵キャラクタを出現させることができる。例えば、ゲームの初心者にとっては、ゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【0012】
出現設定部は、現在時間から所定期間内に当該プレイヤーキャラクタが移動した移動方向を求めて、当該求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、プレイヤーキャラクタの移動方向に敵キャラクタを出現しやすくする。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。
【0013】
出現設定部は、当該計算された距離に近い候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、ゲームの経過時間とともにプレイヤーキャラクタから遠くに敵キャラクタを出現しやすくすることによって、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0014】
このゲーム装置は、当該プレイヤーキャラクタが当該敵キャラクタを攻撃することにより当該プレイヤーキャラクタが勝利するか、又は、出現設定部が当該敵キャラクタの位置を記憶部に記憶させてから所定時間が経過すると、当該敵キャラクタの位置を記憶部から削除する削除部をさらに備えることができる。
この結果、ゲーム装置は、適宜敵キャラクタを消すことによって、ユーザにとってゲームが難しすぎることがないようにすることができる。
【0015】
本発明のその他の観点に係るゲーム処理方法は、記憶部、計測部、計算部、出現設定部を有し、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、計測ステップ、計算ステップ、出現設定ステップを備える。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測ステップは、計測部が、当該ゲームが開始されてからの経過時間を計測する。
計算ステップは、計算部が、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定ステップは、出現設定部が、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、このゲーム処理方法を用いたゲーム装置は、ゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。例えば、初心者にとってゲームが難しすぎないように、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
【0016】
本発明のその他の観点に係るプログラムは、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するコンピュータを、記憶部、計測部、計算部、出現設定部として機能させる。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測部は、当該ゲームが開始されてからの経過時間を計測する。
計算部は、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、プログラムは、コンピュータを、ゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させるゲーム装置として機能させることができる。例えば、初心者にとってゲームが難しすぎないように、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
【0017】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0018】
本発明によれば、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0019】
(実施例1)
本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0020】
図1は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
【0021】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
【0022】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例のゲーム装置が実現される。
【0023】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0024】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0025】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0026】
インターフェース104を介して接続されたコントローラ105は、ユーザがサッカーゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【0027】
インターフェース104を介して着脱自在に接続された外部メモリ106には、対戦ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0028】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0029】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0030】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0031】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0032】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0033】
また、対戦ゲームの画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、対戦の様子や手札などを画面に表示することができるようになる。
【0034】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0035】
音声処理部109では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0036】
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0037】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0038】
次に、本実施例のゲーム装置200が行う処理について説明する。以下の説明では、ゲーム装置200は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタオブジェクト(以下、単に「プレイヤーキャラクタ」と呼ぶ)と、敵キャラクタオブジェクト(以下、単に「敵キャラクタ」と呼ぶ)と、の対戦ゲームを想定する。敵キャラクタは、ゲーム装置200によって動作指示がなされるものとする。プレイヤーキャラクタと敵キャラクタは、この仮想空間内で移動可能である。ただし、ゲーム内容は一例に過ぎない。
【0039】
図2はゲーム装置200の構成を示す図である。ゲーム装置200は、記憶部201、計測部202、計算部203、出現設定部204、受付部205、移動部206、削除部207、出力部208を備える。
【0040】
記憶部201は、(1)仮想空間内におけるプレイヤーキャラクタの位置、(2)敵キャラクタの位置、(3)敵キャラクタの出現時の位置の候補、を記憶する。それぞれの位置は、例えば仮想空間内に設定された座標系を用いた空間座標値として表される。座標系の決め方は任意であり、例えば、互いに直交する3軸による直交座標系を用いることができるほか、1個の動径と2個の偏角を用いた球座標のような極座標系を用いることもできる。記憶部201は、これらの情報をRAM 103内の所定の記憶領域に記憶する。外部メモリ106に記憶するように構成してもよい。
【0041】
プレイヤーは、コントローラ105を操作してプレイヤーキャラクタに指示を与えて移動させたり敵キャラクタと戦わせたりすることができる。例えば、プレイヤーキャラクタが敵キャラクタを攻撃し、この攻撃による敵キャラクタの損害レベル(いわゆる「ダメージ」)あるいはダメージの合計が所定値以上になると、敵キャラクタを倒してプレイヤーキャラクタの勝利となる。敵キャラクタは、出現した時刻から所定期間経過すると、プレイヤーキャラクタによる攻撃に関わらず消滅する(仮想空間内から消えて無くなる)ことがあってもよい。ゲーム装置200は、ゲームの展開に応じて適宜敵キャラクタを出現させる。例えば、ゲーム装置200は、敵キャラクタが倒されたり消滅したりすると、この仮想空間内に新たな敵キャラクタを出現させる。敵キャラクタの新たな出現位置は、記憶部201に記憶された候補の中から、後述する出現設定部204により選択される。この選択方法の詳細については後述する。なお、以下の説明において、「プレイヤーキャラクタが敵キャラクタを倒す」とは、「プレイヤーキャラクタが敵キャラクタに勝利する」の意味である。
【0042】
図3(a)は、記憶部201に記憶される、プレイヤーキャラクタの位置を示すデータの構成例であり、図3(b)は、敵キャラクタの位置を示すデータの構成例である。敵キャラクタの位置は、仮想空間内に存在する敵キャラクタの数の分だけ記憶される。識別情報は、敵キャラクタの種類や個体を識別するための情報である。例えば、数字、文字、記号等を用いて表される。なお、本実施例では、この対戦ゲームのプレイヤーとプレイヤーキャラクタはそれぞれ1人であるが、複数のプレイヤーが参加したり複数のプレイヤーキャラクタが存在したりしてもよい。この場合には、記憶部201は、プレイヤーキャラクタの位置を示す情報として、プレイヤーキャラクタを識別するための識別情報と、そのプレイヤーキャラクタの位置とを対応づけて記憶すればよい。なお、以下の説明では、敵キャラクタの識別情報と、敵キャラクタの位置との組み合わせを「レコード」と呼ぶこととする。
【0043】
図3(c)は、記憶部201に記憶される、敵キャラクタの出現時の位置の候補を示すデータの構成例である。識別情報は、図3(b)と同様、敵キャラクタの種類や個体を識別するための情報である。候補リストは、この敵キャラクタを新たに出現させる場合の出現場所の候補であり、1つに限らず複数の候補でもよい。これらの候補は予め設定されている。例えば、本図では、識別情報「0001」で識別される敵キャラクタには、新たに出現させる位置の1番目の候補として座標値(X1,Y1,Z1)、2番目の候補として座標値(X2,Y2,Z2)、などのように設定されている。このように候補がN個(Nは1以上の整数)存在すると、出現設定部204はN個の中からいずれか1つを選択して、その位置に敵キャラクタを配置するように、記憶部201に記憶される敵キャラクタの位置を更新する。それぞれの候補の位置は、座標値を用いる代わりに、「領域1」「領域2」のように予め決められた複数の領域のうちいずれの領域に属するかによって指定されてもよい。この場合、選択された領域内のいずれかの1つの位置が新たな敵キャラクタの出現位置となる。なお、図3(a)乃至(c)は一例に過ぎず、これらの情報のうちの一部のみを含んでもよいし、これらの情報に加えて他の情報を記憶するようにしてもよい。
なお、CPU 101とRAM 103が協働して動作することにより、記憶部201として機能する。
【0044】
計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計測した経過時間をRAM 103の所定記憶領域に記憶する。計測部202は、ゲーム装置200が備える内部時計(図示せず)により経過時間を計測する。計測部202は、時間、分、秒などを単位とした正確な時刻を計測して経過時間を得てもよいし、モニターの垂直同期割り込み(一般には60分の1秒)など定期的な割り込み処理の回数をカウントして、このカウントした回数を経過時間としてもよい。また、計測部202は、この対戦ゲームの任意のタイミングから現在までの経過時間なども計測できる。
なお、CPU 101が計測部202として機能する。
【0045】
本実施例では、計測部202は、この対戦ゲームが開始されてからの経過時間を求めているが、ゲーム中の任意のタイミングからの経過時間を求めてもよい。例えば、ゲームがシナリオの進行度によって複数のステージやシーンから構成されている場合、それぞれのステージやシーンが開始されてからの経過時間を用いることができる。計測部202は、それぞれのステージやシーンごとに経過時間をリセットして時間を計測し直す。また、ゲーム内で所定のイベントが発生すると、そのイベント発生から現在までの経過時間を計測してもよい。
【0046】
計算部203は、計測部202によって計測された経過時間が長くなるにつれて増大する距離(以下、「基準距離」と呼ぶ)を計算する。この基準距離は、出現設定部204が敵キャラクタを新たに出現させる位置を決定するために用いられる。用いられる単位は任意である。典型的には、この対戦ゲームが行われる仮想空間内に設定された座標系で定められた単位長さを用いた2点間の距離(プレイヤーキャラクタの位置座標と敵キャラクタの位置座標との間の距離)が用いられる。
【0047】
基準距離は、この対戦ゲームが開始されてからの経過時間が長いほど大きくなる。すなわち、基準距離は、例えば図4に示すように、ゲームの経過時間に対して単調増加する。本図では、この関係は直線関数で描かれているが、これに限られず任意の曲線関数でもよい。また、基準距離は階段関数のような非連続な関数で表されてもよい。あるいは、複数の経過時間に対応して基準距離を記憶するテーブルで表されてもよい。この場合、計算部203は各点間をスプライン補間して、任意の経過時間に対して基準距離が一意に求まるようにすればよい。補間方法は任意である。
なお、CPU 101が計算部203として機能する。
【0048】
出現設定部204は、記憶部201に記憶された敵キャラクタの出現時の位置の候補のうち、候補の位置と記憶部201に記憶されたプレイヤーキャラクタの位置との距離が、計算部203により計算された基準距離に最も近い候補の位置を、新たな敵キャラクタの位置とするように、記憶部201に記憶させる。
なお、CPU 101とRAM 103が協働して動作することにより、出現設定部204として機能する。
【0049】
図5は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では3つの候補が示されている。すなわち、記憶部201は、敵キャラクタを新たに出現させる位置の候補として第1から第3候補の3つの位置を含む候補リストを記憶している。
まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択して、新たな敵キャラクタの位置とする。この例では、出現設定部204は第2候補を新たな敵キャラクタの位置とすることになる。
なお、この例では、本発明をより容易に理解できるように仮想空間を2次元で表現しているが、3次元空間でもよい。3次元の場合には円の代わりに球面を用いればよい。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎず、画面レイアウト、候補の位置、候補の数などを任意に変更できる。
【0050】
受付部205は、プレイヤーキャラクタの位置を取得して記憶部201に記憶させる。例えば、受付部205は、コントローラ105を用いてユーザにより入力された指示入力を受け付けてプレイヤーキャラクタの位置を求め、求めたプレイヤーキャラクタの位置を記憶部201に記憶させる。プレイヤーはコントローラ105を用いて任意の方向にプレイヤーキャラクタを移動させる指示を行うことができるが、指示した方向に動かない固定オブジェクト(例えば岩、木、建築物など)があると指示通りにプレイヤーキャラクタを移動できない場合もある。
なお、CPU 101とRAM 103とコントローラ105とが協働して動作することにより、出現設定部204として機能する。
【0051】
移動部206は、敵キャラクタの位置を移動させる。すなわち、記憶部201に記憶された敵キャラクタの位置を更新する。移動部206は、対戦ゲームのゲーム展開に応じて変化する敵キャラクタの位置を、例えばモニターの垂直同期割り込みのタイミングなど、定期的なタイミングで更新する。
なお、CPU 101とRAM 103が協働して動作することにより、移動部206として機能する。
【0052】
削除部207は、プレイヤーキャラクタが敵キャラクタを倒したり敵キャラクタが消滅したりすると、その敵キャラクタに対応するレコードを記憶部201から削除する。これにより、倒された敵キャラクタはこの対戦ゲームから削除される。
ここで、削除部207は、プレイヤーキャラクタが敵キャラクタを倒すと、記憶部201に記憶された敵キャラクタの位置に、この敵キャラクタが倒されたことを示すフラグを対応づけて記憶させてもよい。出現設定部204は、敵キャラクタを出現させる際、敵キャラクタの位置に、この敵キャラクタが生きている(プレイヤーキャラクタがまだ倒していない)ことを示すフラグを記憶させる。出力部208は、このフラグを参照して、敵キャラクタをゲーム画面に表示させるか否かを判別して敵キャラクタを出力する(又は出力しない)。あるいは、出力部208は、生きている画像を表示するか死んでいる画像を表示するか、を判別して敵キャラクタの画像を出力する。
なお、CPU 101とRAM 103が協働して動作することにより、削除部207として機能する。
【0053】
出力部208は、記憶部201に記憶されたプレイヤーキャラクタと敵キャラクタの位置を読み出して、プレイヤーキャラクタや敵キャラクタの画像をその位置に出力する。プレイヤーキャラクタや敵キャラクタの位置が記憶部201に設定されると、CPU 101は、プレイヤーキャラクタの画像データをDVD−ROMドライブ107に装着されたDVD−ROMから読み出して、画像処理部108を制御して、記憶部201に記憶されたプレイヤーキャラクタの位置にプレイヤーキャラクタの画像を出力させる。同様に、CPU 101は、敵キャラクタの画像データをDVD−ROMドライブ107に装着されたDVD−ROMから読み出して、画像処理部108を制御して、記憶部201に記憶された敵キャラクタの位置に敵キャラクタの画像を出力させる。CPU 101は、ゲーム中の他のキャラクタオブジェクトの画像データ、テキストデータ等もDVD−ROMから読み出して、DVD−ROMに格納された所定のゲームプログラムに従ってゲーム画面を生成し、画像処理部108に接続されたモニターに出力させる。これによって、ユーザは画面を見ながらコントローラ105を操作してゲームをすることができる。プレイヤーキャラクタや敵キャラクタなどの画像データは、典型的には、表面を微小な多角形(典型的には三角形や四角形など)のポリゴンに分割して数値データ化されて表されるデータであるが、ビットマップデータ等他の形式のデータでもよく、本発明によって限定されない。
なお、CPU 101とRAM 103と画像処理部108が協働して動作することにより、出力部208として機能する。
【0054】
(出現設定処理)
次に、本実施例のゲーム装置200の各部が行う出現設定処理について図6のフローチャートを用いて説明する。この出現設定処理は、ゲーム装置200が新たな敵キャラクタを出現させる際に行われる処理である。以下の説明では、一例として、対戦ゲームにおいて、コントローラ105を用いてプレイヤーが操作するプレイヤーキャラクタが敵キャラクタにダメージを与えて倒した後、ゲーム装置200が新たな敵キャラクタを出現させると判断したタイミングで実行されるものとする。ただし、これは一例に過ぎず、ゲーム装置200は任意のタイミングでこの出現設定処理を行うことができる。
【0055】
受付部205は、ユーザにより操作されるコントローラ105から、指定した方向にプレイヤーキャラクタを移動する旨の指示入力、プレイヤーキャラクタに特定の動作をさせる旨の指示入力(例えば、プレイヤーキャラクタに刀や盾を装着させる指示入力など)、その他のゲームに関わる指示入力を受け取る。受付部205は、これらの指示入力に従って、記憶部201にプレイヤーキャラクタの位置を示すデータを記憶させる。受付部205は、モニターの垂直同期割り込みなど所定の定期的なタイミングでこの処理を実行する。これにより、記憶部201にはプレイヤーキャラクタの最新の位置が記憶される。
【0056】
また、移動部206は、ゲーム展開に応じて変化する敵キャラクタの位置を更新する処理を、モニターの垂直同期割り込みなど所定の定期的なタイミングで実行する。これにより、記憶部201には敵キャラクタの最新の位置が記憶される。
【0057】
まず、計測部202は、対戦ゲームが開始されてからの経過時間を求める(ステップS601)。例えば、計測部202は、対戦ゲームを開始した時刻と、現在の時刻とをRAM 103の所定記憶領域に記憶し、これらの時刻の差分から経過時間を求める。
【0058】
計算部203は、ステップS601で求められた経過時間から、新たな敵キャラクタを出力する位置を決めるために用いる上述の基準距離を求める(ステップS602)。例えば、計算部203は、図4に示すような経過時間と基準距離との関係を表す関数を用いて、基準距離を求める。
【0059】
出現設定部204は、現在のプレイヤーキャラクタの位置と、新たな敵キャラクタを出力する候補となる位置とを記憶部201から取得する(ステップS603)。候補となる位置が複数ある場合には、それらすべてを取得する。
【0060】
さらに、出現設定部204は、ステップS603で取得した候補の中から、ステップS602で求めた基準距離に最も近い候補を1つ選択する(ステップS604)。ここで選択した候補が、新たな敵キャラクタを出力する位置となる。
【0061】
そして、出現設定部204は、ステップS604で選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新する(ステップS605)。具体的には、例えば図3(b)に示されるデータに、新たに出現させる敵キャラクタの識別情報と、新たに出現させる敵キャラクタの位置との組み合わせを示す新たなレコードを追加する。
【0062】
出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得し、それぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS606)。
【0063】
本実施例では、出現設定部204は、記憶部201に記憶された候補の中から基準距離に最も近い候補を選んで新たな敵キャラクタの出現位置に決めているが、基準距離よりも離れた位置にある候補の中から選んでもよい。例えば、出現設定部204は、基準距離よりも離れた位置に候補が複数存在する場合、少なくとも基準距離以上離れている候補の中からランダムに選択することができる。出現設定部204は、基準距離との差異が大きくなると選択確率が小さくなるように重み付けを行ってランダムに選択してもよい。
【0064】
一つの例として、初心者プレイヤーは、敵キャラクタを倒すまでに上級者よりも長い時間を要することが多い。もし、敵キャラクタを出現させる位置が全くのランダムで決められたり固定位置だったりすると、敵キャラクタを倒した直後にまたプレイヤーキャラクタのすぐ近くに新たな敵キャラクタが出現してしまう場合もある。そうすると、初心者プレイヤーにとっては、このゲームがとても難しく感じられ、不公平感を抱いたり難しすぎてこのゲームへの関心が無くなってしまったりする可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が長いほどプレイヤーキャラクタから遠くにするので、初心者プレイヤーでも理不尽に難しく感じることがないようにすることができる。
また、上級者プレイヤーは、敵キャラクタを倒すまでに初心者よりも短い時間で済むことが多い。敵キャラクタを倒した後プレイヤーキャラクタから遠くの場所ばかりに新たな敵キャラクタが出現してしまうと、上級者プレイヤーにとっては、このゲームがとても易しく感じられ、つまらなくなってこのゲームへの関心が薄れてしまう可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が短いほどプレイヤーキャラクタの近くにするので、上級者プレイヤーにとっても不満足感を抱かせることがないようにすることができる。
【0065】
本実施例によれば、ゲーム装置200は、あるゲームの開始直後では、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタの近くに出現させ、ゲーム開始後しばらくすると、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタから遠い位置に出現させることができる。これにより、敵キャラクタがすぐ近くに立て続けに出現してゲームの難易度が理不尽に上がってしまうことがなくなる。
【0066】
上述した出現設定処理によって出現位置が制御される敵キャラクタと、そうでない敵キャラクタとがゲーム内に混在していてもよい。
【0067】
このように、ゲーム装置200は、新たな敵キャラクタを出現させる際、ゲームの経過時間に応じて出現させる位置を変化させることによって、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0068】
(実施例2)
次に、本発明の他の実施例について図7のフローチャートを用いて説明する。本実施例は、この対戦ゲームに出現する敵キャラクタの総数が所定量より多くならないようにする点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0069】
記憶部201は、ゲームに同時に出現させることができる敵キャラクタの総数のしきい値(上限値)をさらに記憶する。しきい値は、DVD−ROMに格納されるゲームプログラムに予め格納されており、CPU 101がゲームを開始する際に読み出して記憶部201に記憶する。例えば、しきい値は、ゲームのステージごと、シーンごとに予め決められている。ゲーム全体で共通の1つの上限値として設定されていてもよい。
【0070】
まず、出現設定部204は、既にゲーム中に登場している敵キャラクタの総数を取得する(ステップS701)。出現設定部204は、記憶部201に記憶された敵キャラクタの位置を示すデータのレコード数をカウントすることにより総数を得ることができる。
【0071】
出現設定部204は、ゲームに出現する敵キャラクタの総数のしきい値を記憶部201から取得する(ステップS702)。
【0072】
出現設定部204は、ステップS701で取得した敵キャラクタの総数が、ステップS702で取得したしきい値に達しているか否かを判別する(ステップS703)。
【0073】
しきい値に達していないと判別された場合(ステップS703;NO)、ゲーム装置200は図6に示す上述の出現設定処理を実行する(ステップS704)。一方、しきい値に達していると判別された場合(ステップS703;YES)、ゲーム装置200は処理を終了する。なお、ステップS704で行う出現設定処理は上述の実施例で述べた処理と同じであるので説明を省略する。
【0074】
なお、削除部207は、プレイヤーキャラクタが敵キャラクタに所定レベル以上のダメージを与えた場合や、敵キャラクタが自然消滅するまでの所定時間が経過した場合などに、敵キャラクタの位置を示すデータを記憶部201から消去して、出力部208はゲーム画面から敵キャラクタを消すことができる。
【0075】
このように、本実施例によれば、ゲーム装置200は、ゲーム中に存在している現在の敵キャラクタの総数が予め決められたしきい値を超えないように制御する。すなわち、ゲーム装置200は、新たな敵キャラクタを出現させる際、敵キャラクタの総数がしきい値に達していなければ、ゲームの経過時間に応じて出現させる位置を変化させて敵キャラクタを出現させることによって、ゲームが難しすぎることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0076】
(実施例3)
次に、本発明の他の実施例について図8のフローチャートと図9とを用いて説明する。本実施例は、ゲーム中に敵キャラクタがプレイヤーキャラクタのいる場所に近づくように制御される点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0077】
まず、移動部206は、現在行われている対戦ゲーム内に敵キャラクタが存在するか否かを判別する(ステップS801)。移動部206は、記憶部201に記憶された敵キャラクタの位置を示すデータのレコード数をカウントし、レコード数が1以上であれば存在すると判別し、それ以外であれば存在しないと判別する。
【0078】
敵キャラクタが存在しないと判別された場合(ステップS801;NO)、出現設定部204は、後述するステップS805以降の処理を行う。
【0079】
一方、敵キャラクタが存在すると判別された場合(ステップS801;YES)、移動部206は、現在のプレイヤーキャラクタの位置と敵キャラクタの位置を取得する(ステップS802)。敵キャラクタが複数存在する場合には、それらすべての位置を取得する。
【0080】
さらに、移動部206は、プレイヤーキャラクタと敵キャラクタが所定距離以上離れているか否かを判別する(ステップS803)。所定距離とは、出力部208がゲーム画像を出力する際、プレイヤーキャラクタと敵キャラクタとが重ならないようにするために十分な距離のことである。この所定距離は、DVD−ROMに格納されるゲームプログラムに予め格納されており、CPU 101がゲームを開始する際に読み出して記憶部201に記憶する。
【0081】
所定距離以上離れていないと判別された場合(ステップS803;NO)、ゲーム装置200は後述するステップS805の処理に進む。なおこの場合、移動部206は、プレイヤーキャラクタと敵キャラクタとが所定距離以上離れるように、敵キャラクタの位置を変更して記憶部201に記憶させてもよい。
【0082】
所定距離以上離れていると判断された場合(ステップS803;YES)、移動部206は、敵キャラクタの位置がプレイヤーキャラクタの位置に近づくように移動させ(ステップS804)、移動した後の位置を記憶部201に記憶させる。例えば図9に示すように、ある時刻に敵キャラクタが位置E1に存在するとき、この敵キャラクタを単位時間あたり距離Laだけプレイヤーキャラクタに近づくように位置E2に移動させ、移動後の敵キャラクタの位置座標を求めて記憶部201に記憶させる。単位時間とは、例えばモニターの垂直同期割り込みの回数を用いた時間間隔である。単位時間あたりに移動させる距離Laは、敵キャラクタの種類や個体の違いによって異なる値に設定することができる。この距離Laは敵キャラクタごとに設定される移動速度に相当し、CPU 101がゲームプログラムを実行してゲームを進行させる際に計算する。距離Laは固定値にしてもよいし、敵キャラクタによっては全く動かない(La=0)ものとしてもよい。敵キャラクタが複数存在する場合には、移動部206は、ステップS802で取得した位置に基づいて、すべての敵キャラクタについて位置を移動させる処理を行う。
【0083】
さらに、出現設定部204は、仮想空間内に新たな敵キャラクタを配置するか否かを判別する(ステップS805)。例えば、出現設定部204は、上述した実施例におけるステップS701乃至S703の処理を行って判別する。すなわち、現在の敵キャラクタの総数を取得し(ステップS701)、敵キャラクタを配置できるしきい値(上限値)を取得し(ステップS702)、総数がしきい値を超えているか否かを判別する(ステップS703)ことにより、この判別を行う。
【0084】
新たな敵キャラクタを配置すると判別された場合(ステップS805;YES)、出現設定部204は上述した出現設定処理を行う(ステップS806)。一方、新たな敵キャラクタを配置しないと判別された場合(ステップS805;NO)、ゲーム装置200は敵キャラクタの位置を移動させる処理を終了する。なお、ステップS805で新たに敵キャラクタを配置すると、新たに配置された敵キャラクタは、次回の処理において位置を移動させる対象となる。
【0085】
このように、本実施例によれば、ゲーム装置200は、ゲーム中に存在している敵キャラクタがプレイヤーキャラクタのいる位置に向かって移動させて、ユーザにとってゲームが易しすぎることがないようにできる。例えば、ゲームの上級者でも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0086】
(実施例4)
次に、本発明の他の実施例について図10と図11を用いて説明する。本実施例は、新たな敵キャラクタの候補のうち、基準距離と同じ距離だけ離れている候補が複数存在する場合に、候補をどのように選択するかを考慮した点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0087】
図10は、本実施例のゲーム装置200が行う出現設定処理を説明するためのフローチャートである。
【0088】
図11(a)と(b)は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎない。
【0089】
上述のように、記憶部201は敵キャラクタの出現時の位置の候補を記憶するが、候補は複数設定できる。そのため、記憶部201に記憶された敵キャラクタの出現時の位置の候補には、その候補の位置と記憶部201に記憶されたプレイヤーキャラクタの位置との距離が計算部203により計算された基準距離に最も近いものが、複数存在する場合がある。例えば、図11(a)では、第2候補と第3候補の2箇所が、基準距離に最も近い候補である。また、敵キャラクタの出現時の位置の候補は、座標ではなく領域として指定することもできる。例えば、図11(b)では、第1候補の領域と第2候補の領域のうち、第2候補の領域には計算部203により計算された基準距離をもつ点が無数に存在することになる。すなわち、基準距離を示す円のうち、第2領域と重なる弧の上の点は、すべて敵キャラクタの出現時の位置の候補となりうる。
【0090】
このような場合、出現設定部204は、これらの複数の候補の中からランダムに1つ選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させる。例えば図11(a)の場合、出現設定部204は、第2候補と第3候補のどちらかをランダムに1つ選択する。例えば図11(b)の場合、出現設定部204は、第2領域と重なる弧の上の点の中からランダムに1つ選択する。
【0091】
なお、出現設定部204は、記憶部201に記憶された候補のうち、候補の位置とプレイヤーキャラクタの位置との距離が基準距離に最も近いものが複数ある場合、それらの候補が選択される確率に偏り(重み付け)を設定して、ランダムに選択するようにしてもよい。例えば、草原地帯に設定された候補よりも森林地帯に設定された候補のほうにより大きい重みを設定することによって、同じ距離であっても森林地帯の候補のほうが選択されやすくなる。
【0092】
また、敵キャラクタの出現時の位置の候補に予め優先度を設定し、出現設定部204は優先度に従って候補を選択してもよい。例えばこの場合、記憶部201は、敵キャラクタの出現時の位置の候補に対応して、所定段階数の優先度を記憶する。そして、基準距離に最も近いものが複数ある場合、出現設定部204はそれらの中で最も高い優先順位が設定された候補を選択する。
【0093】
次に、本実施例の出現設定処理について図10を用いて説明する。なお、本図において、ステップS1001乃至S1004の処理は、それぞれ上述のステップS601乃至S604と同じであるため説明を省略する。
【0094】
ステップS1005において、出現設定部204は、ステップS1004で選択した基準距離に最も近い候補が複数か否かを判別する。
【0095】
複数であると判別された場合(ステップS1005;YES)、出現設定部204は、それらの中からランダムに1つ選択する(ステップS1006)。候補ごとに選択確率の重み付けや優先度を設定した上でランダムに選択してもよい。そして、出現設定部204は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新する(ステップS1007)。出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS1008)。
【0096】
一方、複数ではないと判別された場合(ステップS1005;NO)、出現設定部204はステップS1004で選択された候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新し(ステップS1007)、出力部208はそれぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS1008)。
【0097】
このように、本実施例によれば、ゲーム装置200は、基準距離と同じ距離だけ離れている候補が複数存在しても、適宜1つを選択して敵キャラクタを出現させて、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0098】
(実施例5)
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0099】
出現設定部204は、記憶部201に記憶された敵キャラクタの出現時の位置の候補のうち、計算部203により計算された基準距離に最も近い候補の位置を含む所定の許容範囲の中からランダムに1つの位置を選択して、選択された位置を新たな敵キャラクタの位置として記憶部201に記憶させる。
【0100】
図12は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では3つの候補がある。まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第2候補である。さらに、出現設定部204は、選択した候補の位置を含む所定の許容範囲を設定する。本図では第2候補の位置を中心とした所定長さの半径の円内を許容範囲とする。そして、出現設定部204は、設定した許容範囲内からランダムに1つの位置を選択して、新たな敵キャラクタの出現位置とする。
【0101】
この例では、許容範囲の形状は、記憶部201に記憶された候補の位置を中心とする所定長さの半径の円内としたが、これは一例に過ぎず、任意の形状でよい。また、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、許容範囲を示す斜線領域が示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【0102】
例えば、記憶部201に記憶された、敵キャラクタを新たに出現させる候補の位置に、既に他のキャラクタオブジェクトが配置されている場合、出現設定部204は、候補の位置の周辺に許容範囲を設定し、既に他のキャラクタオブジェクトが配置された位置を避けて、その近くに設定した許容範囲内からランダムに1つの位置を選択することができる。
【0103】
具体的には、上述の実施例のステップS1005において、出現設定部204は、選択した候補の位置に既に他のキャラクタオブジェクトが配置されているか否かを判別する。既に配置されている場合、出現設定部204はステップS1006で、選択した候補の位置を含む所定の許容範囲を設定し、この許容範囲内から1つの位置を選択し、新たな敵キャラクタの出現位置に設定する。配置されていない場合、出現設定部204は、ステップS1004で選択した候補の位置を、新たな敵キャラクタの出現位置に設定する。他のステップにおける処理は上述の実施例と同様であるため詳細は省略する。このように、キャラクタオブジェクト同士が同じ位置に重なってしまうことはない。
【0104】
例えば、記憶部201に記憶された、敵キャラクタを新たに出現させる候補の位置を、1つの点の座標値ではなく、ある程度幅をもった領域によって指定するように構成する場合にも、本実施例は有効である。つまり、絶対的な座標値を用いなくても、敵キャラクタを出現させる位置を設定することができる。
【0105】
また、許容範囲内の領域に予め優先度を設定し、出現設定部204は優先度に従って候補を選択してもよい。この場合、記憶部201は、許容範囲内の領域の各位置に対応して、所定段階数の優先度を記憶する。そして、優先度が高い位置ほど選択確率が大きいようにする。例えば、出現設定部204は、ある候補の位置を中心とした半径R0の円内を許容範囲に設定する。また、0<R1<R2<R0の関係を満たす長さR1とR2を設定する。出現設定部204は、その候補の位置を中心とした半径R1の同心円内の点の選択確率をP1とし、半径R2の同心円内で且つ半径R1の同心円に含まれない部分の選択確率をP2とし、半径R0の同心円内で且つ半径R2の同心円に含まれない部分の選択確率を(1−P1−P2)にする。ただし、0≦P1,P2≦1、且つ、P1+P2≦1である。なお、この例では3つの同心円を用いたが、任意の形状の図形、任意の数の図形を用いることができる。
【0106】
このように、本実施例によれば、ゲーム装置200は、敵キャラクタを新たに出現させる候補の位置に敵キャラクタを配置できない状況であっても、適切に敵キャラクタの出現位置を選択して、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者や上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【0107】
(実施例6)
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた他の変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0108】
出現設定部204は、現在時間から所定期間内にプレイヤーキャラクタが移動した移動方向を求める。そして、求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに1つの位置を選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部201に記憶させる。
【0109】
具体的には、出現設定部204は、モニターの垂直同期割り込みなどの周期的なタイミングで、プレイヤーキャラクタの位置を履歴情報としてRAM 103に記憶する。そして、出現設定部204は、この履歴情報から、プレイヤーキャラクタの移動方向を求める。例えば、ある時刻T1におけるプレイヤーキャラクタの位置が点PA(X1,Y1,Z1)で、時刻T1より後の時刻T2におけるプレイヤーキャラクタの位置が点PB(X2,Y2,Z2)であったとすると、点PAから点PBに向かう方向ベクトル(X2−X1,Y2−Y1,Z2−Z1)の向きを、プレイヤーキャラクタの移動方向とする。
【0110】
なお、移動方向の決定方法は上記方法に限られず、他の手法を用いてもよい。例えば、プレイヤーキャラクタの位置の履歴として3つ以上の点の位置を記憶し、これらの点の分散の度合いから移動方向を求めてもよい。位置の履歴を取得する時間間隔は一定間隔が望ましく、時間の長さは任意である。
【0111】
図13は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。図中の矢印Y1は、出現設定部204が求めたプレイヤーキャラクタの移動方向である。まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第2候補と第3候補の2つである。さらに、出現設定部204は、基準距離に最も近い候補のうち、移動方向に近い候補ほど選択される確率が大きくなるように重み付けを設定し、新たな敵キャラクタの出現位置としてランダムに1つ選択する。そして、出現設定部204は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新し、出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する。
なお、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、移動方向が矢印で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【0112】
さらに、出現設定部204は、プレイヤーキャラクタを移動方向に近い候補ほど選択される確率が大きくなり、且つ、基準距離に近い候補ほど選択される確率が大きくなるように、重み付けを行って、ランダムに選択することもできる。
【0113】
なお、出現設定部204は、選択される確率に重み付けをしてランダムに1つ選択するのではなく、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。また、出現設定部204は、移動方向に近い候補ほど選択される確率が小さくなるように重み付けを設定してもよい。あるいは、敵キャラクタが出現可能なエリアの種別(例えば、森林、草むら、池など)の違いによって重み付けを設定してもよい。
【0114】
本実施例の変形例として、プレイヤーキャラクタの移動方向の代わりに、プレイヤーキャラクタの視線方向を用いることもできる。CPU 101は、仮想空間内に配置されたプレイヤーキャラクタが仮想空間内の様子を観測する点として、視点を設定する。この視点から視線方向に見た仮想映像は、例えば3Dグラフィックスの表示に用いられる。視線方向は、プレイヤーによるコントローラ105の操作により任意に変更することができる。そして、出現設定部204は、ユーザによって設定された視線方向を取得して、プレイヤーキャラクタの視線方向に近い候補ほど選択される確率が大きくなるように重みを設定して、新たな敵キャラクタの出現位置としてランダムに1つ選択する。この場合においても、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。このように視線方向を用いると、プレイヤーキャラクタの視点から視線方向に見たゲーム画面内(視界内)に敵キャラクタを出現しやすくすることができるので、初心者プレイヤー向けに難易度を下げたゲーム設定にすることができる。また、プレイヤーキャラクタの視界の外に敵キャラクタを出現しやすくすることもできるので、上級者プレイヤー向けに難易度を上げたゲーム設定にすることができる。
【0115】
このように、本実施例によれば、ゲーム装置200は、プレイヤーキャラクタが移動する方向に敵キャラクタを出現させて、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【0116】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例の各構成要素を自由に組み合わせることも可能である。
【0117】
上述の各実施例のフローチャートには、敵キャラクタを消す処理が含まれていないが、削除部207はCPU 101が実行するゲームの展開に応じて任意のタイミングで敵キャラクタの位置を示すデータを記憶部201から消去でき、出力部208はゲーム画面から敵キャラクタを消すことができる。すなわち、CPU 101は、任意のタイミングで敵キャラクタを消去できる。例えば、削除部207は、プレイヤーキャラクタが敵キャラクタに所定レベル以上のダメージを与えた場合や、敵キャラクタが自然消滅するまでの所定時間が経過した場合などに、その敵キャラクタの位置を示すデータを記憶部201から消去して、敵キャラクタを消去する処理を行う。
【0118】
上述の各実施例では、出現設定部204は敵キャラクタの出現位置を選択しているが、本発明は敵キャラクタに限らず他の任意のキャラクタオブジェクトを出現させる場合の出現位置の選択方法としても用いることができる。上述した敵キャラクタには、例えば地雷、落とし穴、ワナ、障害物など、プレイヤーキャラクタに対して何らかの悪い影響を及ぼす可能性のあるキャラクタオブジェクトも含めることができる。
【0119】
上述の各実施例では、出現設定部204は敵キャラクタの出現位置として1つの位置を選択しているが、M個以上(Mは2以上で候補数以下の整数)の位置を選択することもできる。この場合、出現設定部204は、ステップS604において、記憶部201に記憶された候補の中から基準距離に近いものの上位M個を選択し、これらM個の位置を新たな敵キャラクタの出現位置とすればよい。選択したM個の位置どうしは、敵キャラクタを配置するときに互いに重ならないように十分離れていることが望ましい。
【0120】
上述の各実施例では、プレイヤーキャラクタが1つであるとしているが、複数のプレイヤーが参加できるゲームのように複数のプレイヤーキャラクタがあってもよい。
【0121】
ゲーム装置200を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0122】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0123】
以上説明したように、本発明によれば、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0124】
【図1】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】ゲーム装置の各部が行う処理を説明するための図である。
【図3】(a)〜(c)は記憶部に記憶される情報の構成例である。(a)はプレイヤーキャラクタの位置を示すデータの構成例である。(b)は敵キャラクタの位置を示すデータの構成例である。(c)は敵キャラクタの出現時の位置の候補を示すデータの構成例である。
【図4】ゲームの経過時間と、新たな敵キャラクタの出現位置を求めるための基準距離との関係の一例を示す図である。
【図5】基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図6】ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図7】実施例2において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図8】実施例3において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図9】敵キャラクタを移動させる位置の例を示す図である。
【図10】実施例4において、ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図11】(a)(b)共に、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図12】基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。
【図13】基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。
【符号の説明】
【0125】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200 ゲーム装置
201 記憶部
202 計測部
203 計算部
204 出現設定部
205 受付部
206 移動部
207 削除部
208 出力部
【技術分野】
【0001】
本発明は、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
仮想ゲーム空間内において、プレイヤーがプレイヤーキャラクタを操作して敵キャラクタを仮想の銃や刀を使って倒すゲームがある。例えば、プレイヤーは、敵キャラクタが出現すると、その位置までプレイヤーキャラクタを移動させて、あるいはその位置を狙って、敵キャラクタを倒す。また、プレイヤーキャラクタが敵キャラクタに見つかると、その敵キャラクタを倒さないと前に進めないこともある。多くのゲームでは、ある敵キャラクタを倒すと別の敵キャラクタが新たに出現するので、プレイヤーは次々と現れる敵キャラクタを倒さないとゲームをクリアできない。ゲーム装置は、プレイヤーキャラクタの位置やレベル等に応じて適宜新たな敵キャラクタを出現させ、より面白いゲーム展開にしてプレイヤーの興味を引きつける。例えば、特許文献1には、ゲームに参加しているプレイヤーの人数やプレイヤーキャラクタのレベルに基づいて敵キャラクタの数、強さ等を制御することによって、ゲームバランスを大きく損ねることなくゲームを面白くすることができるゲームシステムが開示されている。
【特許文献1】特開2004−160059号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来のゲーム装置では、敵キャラクタが新たに出現する場所は予め決められた場所であったりランダムに選ばれた場所であったりするため、敵キャラクタが続けざまにプレイヤーキャラクタ近辺に出現することがある。そうすると、初心者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が高い(敵キャラクタが強い)と感じたり不公平感を抱いたりしてしまい、結果としてゲームへの興味を削ぐことになってしまう。また、敵キャラクタがプレイヤーキャラクタから遠く離れた場所ばかりに出現することもある。そうすると、上級者のプレイヤーは、ゲームのレベルやストーリー展開に関係なく難易度が低い(敵キャラクタが弱い)と感じてしまい、結果としてゲームへの興味を削ぐことになってしまう。
【0004】
本発明はこのような課題を解決するものであり、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0006】
本発明の第1の観点に係るゲーム装置は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置であって、記憶部、計測部、計算部、出現設定部を備える。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測部は、当該ゲームが開始されてからの経過時間を計測する。
計算部は、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、ゲーム装置は、ゲームの経過時間が長いとプレイヤーキャラクタから遠い位置に敵キャラクタを出現させ、ゲームの経過時間が短いとプレイヤーキャラクタから近い位置に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。例えば、初心者にとってゲームが難しすぎないように、また、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
ゲームの経過時間として、ゲーム中に発生する任意のイベントからの経過時間を用いてもよい。敵キャラクタは、プレイヤーがゲームをクリアすることに対して悪影響を与えるキャラクタオブジェクトとすることができる。
【0007】
出現設定部は、記憶部に記憶された当該敵キャラクタの位置の数が所定のしきい値を超えないように、当該新たな敵キャラクタの位置を記憶部に記憶させることができる。
この結果、ゲーム装置は、新たに敵キャラクタを出現させることができる状況であっても、既に所定数の敵キャラクタが存在していれば、新たに敵キャラクタを出現させない。これにより、ゲーム装置は、敵キャラクタの数を制限してゲームバランスが大きく崩れないようにすることで、ユーザにとってゲームが難しすぎないようにすることができる。例えば、ゲームの初心者にとっては、ゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【0008】
このゲーム装置は、当該プレイヤーキャラクタの位置と当該敵キャラクタの位置とが所定距離以上離れている場合、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置に近づくように移動させて、記憶部に記憶される情報を更新する移動部をさらに備えることができる。
この結果、ゲーム装置は、既にゲーム中に登場している移動可能な敵キャラクタをプレイヤーキャラクタに向かって移動させる。これにより、ゲーム装置は、ユーザにとってゲームが易しすぎないようにすることができる。例えば、ゲームの上級者にとっては、ゲームをクリアしづらくする要因が過度に少なくなってしまうことがない。
【0009】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該記憶されたプレイヤーキャラクタまでの距離が同じ候補が複数存在する場合、当該候補の中からランダムに選択して、当該選択された位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、出現位置の候補が複数存在すると、適宜位置を選択して敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0010】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離に最も近い候補の位置から所定の許容範囲内に含まれる位置の中からランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、出現位置の候補の近くに敵キャラクタを出現させる。例えば、ゲーム装置は、敵キャラクタを出現させるとき、予め設定された位置に他のキャラクタオブジェクトが既に配置されているため敵キャラクタを配置できない場合であっても、代わりにその近辺に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0011】
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離より遠くの位置の候補が複数存在する場合、当該複数の候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、敵キャラクタを出現させるとき、プレイヤーキャラクタから所定距離より遠い位置に敵キャラクタを出現させる。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎないように敵キャラクタを出現させることができる。例えば、ゲームの初心者にとっては、ゲームをクリアしづらくする要因が過度に多くなってしまうことがない。
【0012】
出現設定部は、現在時間から所定期間内に当該プレイヤーキャラクタが移動した移動方向を求めて、当該求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、プレイヤーキャラクタの移動方向に敵キャラクタを出現しやすくする。これにより、ゲーム装置は、ユーザにとってゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。
【0013】
出現設定部は、当該計算された距離に近い候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させることができる。
この結果、ゲーム装置は、ゲームの経過時間とともにプレイヤーキャラクタから遠くに敵キャラクタを出現しやすくすることによって、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないように敵キャラクタを出現させることができる。
【0014】
このゲーム装置は、当該プレイヤーキャラクタが当該敵キャラクタを攻撃することにより当該プレイヤーキャラクタが勝利するか、又は、出現設定部が当該敵キャラクタの位置を記憶部に記憶させてから所定時間が経過すると、当該敵キャラクタの位置を記憶部から削除する削除部をさらに備えることができる。
この結果、ゲーム装置は、適宜敵キャラクタを消すことによって、ユーザにとってゲームが難しすぎることがないようにすることができる。
【0015】
本発明のその他の観点に係るゲーム処理方法は、記憶部、計測部、計算部、出現設定部を有し、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、計測ステップ、計算ステップ、出現設定ステップを備える。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測ステップは、計測部が、当該ゲームが開始されてからの経過時間を計測する。
計算ステップは、計算部が、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定ステップは、出現設定部が、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、このゲーム処理方法を用いたゲーム装置は、ゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させることができる。例えば、初心者にとってゲームが難しすぎないように、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
【0016】
本発明のその他の観点に係るプログラムは、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するコンピュータを、記憶部、計測部、計算部、出現設定部として機能させる。
記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する。
計測部は、当該ゲームが開始されてからの経過時間を計測する。
計算部は、当該計測された経過時間が長くなるにつれて増大する距離を計算する。
出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として記憶部に記憶させる。
この結果、プログラムは、コンピュータを、ゲームが難しすぎたり易しすぎたりしないように敵キャラクタを出現させるゲーム装置として機能させることができる。例えば、初心者にとってゲームが難しすぎないように、上級者にとってゲームが易しすぎないように、敵キャラクタの出現位置を決めることができる。
【0017】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0018】
本発明によれば、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0019】
(実施例1)
本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0020】
図1は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
【0021】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
【0022】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例のゲーム装置が実現される。
【0023】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0024】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0025】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0026】
インターフェース104を介して接続されたコントローラ105は、ユーザがサッカーゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【0027】
インターフェース104を介して着脱自在に接続された外部メモリ106には、対戦ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0028】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0029】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0030】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0031】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0032】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0033】
また、対戦ゲームの画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、対戦の様子や手札などを画面に表示することができるようになる。
【0034】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0035】
音声処理部109では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0036】
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0037】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0038】
次に、本実施例のゲーム装置200が行う処理について説明する。以下の説明では、ゲーム装置200は、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタオブジェクト(以下、単に「プレイヤーキャラクタ」と呼ぶ)と、敵キャラクタオブジェクト(以下、単に「敵キャラクタ」と呼ぶ)と、の対戦ゲームを想定する。敵キャラクタは、ゲーム装置200によって動作指示がなされるものとする。プレイヤーキャラクタと敵キャラクタは、この仮想空間内で移動可能である。ただし、ゲーム内容は一例に過ぎない。
【0039】
図2はゲーム装置200の構成を示す図である。ゲーム装置200は、記憶部201、計測部202、計算部203、出現設定部204、受付部205、移動部206、削除部207、出力部208を備える。
【0040】
記憶部201は、(1)仮想空間内におけるプレイヤーキャラクタの位置、(2)敵キャラクタの位置、(3)敵キャラクタの出現時の位置の候補、を記憶する。それぞれの位置は、例えば仮想空間内に設定された座標系を用いた空間座標値として表される。座標系の決め方は任意であり、例えば、互いに直交する3軸による直交座標系を用いることができるほか、1個の動径と2個の偏角を用いた球座標のような極座標系を用いることもできる。記憶部201は、これらの情報をRAM 103内の所定の記憶領域に記憶する。外部メモリ106に記憶するように構成してもよい。
【0041】
プレイヤーは、コントローラ105を操作してプレイヤーキャラクタに指示を与えて移動させたり敵キャラクタと戦わせたりすることができる。例えば、プレイヤーキャラクタが敵キャラクタを攻撃し、この攻撃による敵キャラクタの損害レベル(いわゆる「ダメージ」)あるいはダメージの合計が所定値以上になると、敵キャラクタを倒してプレイヤーキャラクタの勝利となる。敵キャラクタは、出現した時刻から所定期間経過すると、プレイヤーキャラクタによる攻撃に関わらず消滅する(仮想空間内から消えて無くなる)ことがあってもよい。ゲーム装置200は、ゲームの展開に応じて適宜敵キャラクタを出現させる。例えば、ゲーム装置200は、敵キャラクタが倒されたり消滅したりすると、この仮想空間内に新たな敵キャラクタを出現させる。敵キャラクタの新たな出現位置は、記憶部201に記憶された候補の中から、後述する出現設定部204により選択される。この選択方法の詳細については後述する。なお、以下の説明において、「プレイヤーキャラクタが敵キャラクタを倒す」とは、「プレイヤーキャラクタが敵キャラクタに勝利する」の意味である。
【0042】
図3(a)は、記憶部201に記憶される、プレイヤーキャラクタの位置を示すデータの構成例であり、図3(b)は、敵キャラクタの位置を示すデータの構成例である。敵キャラクタの位置は、仮想空間内に存在する敵キャラクタの数の分だけ記憶される。識別情報は、敵キャラクタの種類や個体を識別するための情報である。例えば、数字、文字、記号等を用いて表される。なお、本実施例では、この対戦ゲームのプレイヤーとプレイヤーキャラクタはそれぞれ1人であるが、複数のプレイヤーが参加したり複数のプレイヤーキャラクタが存在したりしてもよい。この場合には、記憶部201は、プレイヤーキャラクタの位置を示す情報として、プレイヤーキャラクタを識別するための識別情報と、そのプレイヤーキャラクタの位置とを対応づけて記憶すればよい。なお、以下の説明では、敵キャラクタの識別情報と、敵キャラクタの位置との組み合わせを「レコード」と呼ぶこととする。
【0043】
図3(c)は、記憶部201に記憶される、敵キャラクタの出現時の位置の候補を示すデータの構成例である。識別情報は、図3(b)と同様、敵キャラクタの種類や個体を識別するための情報である。候補リストは、この敵キャラクタを新たに出現させる場合の出現場所の候補であり、1つに限らず複数の候補でもよい。これらの候補は予め設定されている。例えば、本図では、識別情報「0001」で識別される敵キャラクタには、新たに出現させる位置の1番目の候補として座標値(X1,Y1,Z1)、2番目の候補として座標値(X2,Y2,Z2)、などのように設定されている。このように候補がN個(Nは1以上の整数)存在すると、出現設定部204はN個の中からいずれか1つを選択して、その位置に敵キャラクタを配置するように、記憶部201に記憶される敵キャラクタの位置を更新する。それぞれの候補の位置は、座標値を用いる代わりに、「領域1」「領域2」のように予め決められた複数の領域のうちいずれの領域に属するかによって指定されてもよい。この場合、選択された領域内のいずれかの1つの位置が新たな敵キャラクタの出現位置となる。なお、図3(a)乃至(c)は一例に過ぎず、これらの情報のうちの一部のみを含んでもよいし、これらの情報に加えて他の情報を記憶するようにしてもよい。
なお、CPU 101とRAM 103が協働して動作することにより、記憶部201として機能する。
【0044】
計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計測した経過時間をRAM 103の所定記憶領域に記憶する。計測部202は、ゲーム装置200が備える内部時計(図示せず)により経過時間を計測する。計測部202は、時間、分、秒などを単位とした正確な時刻を計測して経過時間を得てもよいし、モニターの垂直同期割り込み(一般には60分の1秒)など定期的な割り込み処理の回数をカウントして、このカウントした回数を経過時間としてもよい。また、計測部202は、この対戦ゲームの任意のタイミングから現在までの経過時間なども計測できる。
なお、CPU 101が計測部202として機能する。
【0045】
本実施例では、計測部202は、この対戦ゲームが開始されてからの経過時間を求めているが、ゲーム中の任意のタイミングからの経過時間を求めてもよい。例えば、ゲームがシナリオの進行度によって複数のステージやシーンから構成されている場合、それぞれのステージやシーンが開始されてからの経過時間を用いることができる。計測部202は、それぞれのステージやシーンごとに経過時間をリセットして時間を計測し直す。また、ゲーム内で所定のイベントが発生すると、そのイベント発生から現在までの経過時間を計測してもよい。
【0046】
計算部203は、計測部202によって計測された経過時間が長くなるにつれて増大する距離(以下、「基準距離」と呼ぶ)を計算する。この基準距離は、出現設定部204が敵キャラクタを新たに出現させる位置を決定するために用いられる。用いられる単位は任意である。典型的には、この対戦ゲームが行われる仮想空間内に設定された座標系で定められた単位長さを用いた2点間の距離(プレイヤーキャラクタの位置座標と敵キャラクタの位置座標との間の距離)が用いられる。
【0047】
基準距離は、この対戦ゲームが開始されてからの経過時間が長いほど大きくなる。すなわち、基準距離は、例えば図4に示すように、ゲームの経過時間に対して単調増加する。本図では、この関係は直線関数で描かれているが、これに限られず任意の曲線関数でもよい。また、基準距離は階段関数のような非連続な関数で表されてもよい。あるいは、複数の経過時間に対応して基準距離を記憶するテーブルで表されてもよい。この場合、計算部203は各点間をスプライン補間して、任意の経過時間に対して基準距離が一意に求まるようにすればよい。補間方法は任意である。
なお、CPU 101が計算部203として機能する。
【0048】
出現設定部204は、記憶部201に記憶された敵キャラクタの出現時の位置の候補のうち、候補の位置と記憶部201に記憶されたプレイヤーキャラクタの位置との距離が、計算部203により計算された基準距離に最も近い候補の位置を、新たな敵キャラクタの位置とするように、記憶部201に記憶させる。
なお、CPU 101とRAM 103が協働して動作することにより、出現設定部204として機能する。
【0049】
図5は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では3つの候補が示されている。すなわち、記憶部201は、敵キャラクタを新たに出現させる位置の候補として第1から第3候補の3つの位置を含む候補リストを記憶している。
まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択して、新たな敵キャラクタの位置とする。この例では、出現設定部204は第2候補を新たな敵キャラクタの位置とすることになる。
なお、この例では、本発明をより容易に理解できるように仮想空間を2次元で表現しているが、3次元空間でもよい。3次元の場合には円の代わりに球面を用いればよい。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎず、画面レイアウト、候補の位置、候補の数などを任意に変更できる。
【0050】
受付部205は、プレイヤーキャラクタの位置を取得して記憶部201に記憶させる。例えば、受付部205は、コントローラ105を用いてユーザにより入力された指示入力を受け付けてプレイヤーキャラクタの位置を求め、求めたプレイヤーキャラクタの位置を記憶部201に記憶させる。プレイヤーはコントローラ105を用いて任意の方向にプレイヤーキャラクタを移動させる指示を行うことができるが、指示した方向に動かない固定オブジェクト(例えば岩、木、建築物など)があると指示通りにプレイヤーキャラクタを移動できない場合もある。
なお、CPU 101とRAM 103とコントローラ105とが協働して動作することにより、出現設定部204として機能する。
【0051】
移動部206は、敵キャラクタの位置を移動させる。すなわち、記憶部201に記憶された敵キャラクタの位置を更新する。移動部206は、対戦ゲームのゲーム展開に応じて変化する敵キャラクタの位置を、例えばモニターの垂直同期割り込みのタイミングなど、定期的なタイミングで更新する。
なお、CPU 101とRAM 103が協働して動作することにより、移動部206として機能する。
【0052】
削除部207は、プレイヤーキャラクタが敵キャラクタを倒したり敵キャラクタが消滅したりすると、その敵キャラクタに対応するレコードを記憶部201から削除する。これにより、倒された敵キャラクタはこの対戦ゲームから削除される。
ここで、削除部207は、プレイヤーキャラクタが敵キャラクタを倒すと、記憶部201に記憶された敵キャラクタの位置に、この敵キャラクタが倒されたことを示すフラグを対応づけて記憶させてもよい。出現設定部204は、敵キャラクタを出現させる際、敵キャラクタの位置に、この敵キャラクタが生きている(プレイヤーキャラクタがまだ倒していない)ことを示すフラグを記憶させる。出力部208は、このフラグを参照して、敵キャラクタをゲーム画面に表示させるか否かを判別して敵キャラクタを出力する(又は出力しない)。あるいは、出力部208は、生きている画像を表示するか死んでいる画像を表示するか、を判別して敵キャラクタの画像を出力する。
なお、CPU 101とRAM 103が協働して動作することにより、削除部207として機能する。
【0053】
出力部208は、記憶部201に記憶されたプレイヤーキャラクタと敵キャラクタの位置を読み出して、プレイヤーキャラクタや敵キャラクタの画像をその位置に出力する。プレイヤーキャラクタや敵キャラクタの位置が記憶部201に設定されると、CPU 101は、プレイヤーキャラクタの画像データをDVD−ROMドライブ107に装着されたDVD−ROMから読み出して、画像処理部108を制御して、記憶部201に記憶されたプレイヤーキャラクタの位置にプレイヤーキャラクタの画像を出力させる。同様に、CPU 101は、敵キャラクタの画像データをDVD−ROMドライブ107に装着されたDVD−ROMから読み出して、画像処理部108を制御して、記憶部201に記憶された敵キャラクタの位置に敵キャラクタの画像を出力させる。CPU 101は、ゲーム中の他のキャラクタオブジェクトの画像データ、テキストデータ等もDVD−ROMから読み出して、DVD−ROMに格納された所定のゲームプログラムに従ってゲーム画面を生成し、画像処理部108に接続されたモニターに出力させる。これによって、ユーザは画面を見ながらコントローラ105を操作してゲームをすることができる。プレイヤーキャラクタや敵キャラクタなどの画像データは、典型的には、表面を微小な多角形(典型的には三角形や四角形など)のポリゴンに分割して数値データ化されて表されるデータであるが、ビットマップデータ等他の形式のデータでもよく、本発明によって限定されない。
なお、CPU 101とRAM 103と画像処理部108が協働して動作することにより、出力部208として機能する。
【0054】
(出現設定処理)
次に、本実施例のゲーム装置200の各部が行う出現設定処理について図6のフローチャートを用いて説明する。この出現設定処理は、ゲーム装置200が新たな敵キャラクタを出現させる際に行われる処理である。以下の説明では、一例として、対戦ゲームにおいて、コントローラ105を用いてプレイヤーが操作するプレイヤーキャラクタが敵キャラクタにダメージを与えて倒した後、ゲーム装置200が新たな敵キャラクタを出現させると判断したタイミングで実行されるものとする。ただし、これは一例に過ぎず、ゲーム装置200は任意のタイミングでこの出現設定処理を行うことができる。
【0055】
受付部205は、ユーザにより操作されるコントローラ105から、指定した方向にプレイヤーキャラクタを移動する旨の指示入力、プレイヤーキャラクタに特定の動作をさせる旨の指示入力(例えば、プレイヤーキャラクタに刀や盾を装着させる指示入力など)、その他のゲームに関わる指示入力を受け取る。受付部205は、これらの指示入力に従って、記憶部201にプレイヤーキャラクタの位置を示すデータを記憶させる。受付部205は、モニターの垂直同期割り込みなど所定の定期的なタイミングでこの処理を実行する。これにより、記憶部201にはプレイヤーキャラクタの最新の位置が記憶される。
【0056】
また、移動部206は、ゲーム展開に応じて変化する敵キャラクタの位置を更新する処理を、モニターの垂直同期割り込みなど所定の定期的なタイミングで実行する。これにより、記憶部201には敵キャラクタの最新の位置が記憶される。
【0057】
まず、計測部202は、対戦ゲームが開始されてからの経過時間を求める(ステップS601)。例えば、計測部202は、対戦ゲームを開始した時刻と、現在の時刻とをRAM 103の所定記憶領域に記憶し、これらの時刻の差分から経過時間を求める。
【0058】
計算部203は、ステップS601で求められた経過時間から、新たな敵キャラクタを出力する位置を決めるために用いる上述の基準距離を求める(ステップS602)。例えば、計算部203は、図4に示すような経過時間と基準距離との関係を表す関数を用いて、基準距離を求める。
【0059】
出現設定部204は、現在のプレイヤーキャラクタの位置と、新たな敵キャラクタを出力する候補となる位置とを記憶部201から取得する(ステップS603)。候補となる位置が複数ある場合には、それらすべてを取得する。
【0060】
さらに、出現設定部204は、ステップS603で取得した候補の中から、ステップS602で求めた基準距離に最も近い候補を1つ選択する(ステップS604)。ここで選択した候補が、新たな敵キャラクタを出力する位置となる。
【0061】
そして、出現設定部204は、ステップS604で選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新する(ステップS605)。具体的には、例えば図3(b)に示されるデータに、新たに出現させる敵キャラクタの識別情報と、新たに出現させる敵キャラクタの位置との組み合わせを示す新たなレコードを追加する。
【0062】
出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得し、それぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS606)。
【0063】
本実施例では、出現設定部204は、記憶部201に記憶された候補の中から基準距離に最も近い候補を選んで新たな敵キャラクタの出現位置に決めているが、基準距離よりも離れた位置にある候補の中から選んでもよい。例えば、出現設定部204は、基準距離よりも離れた位置に候補が複数存在する場合、少なくとも基準距離以上離れている候補の中からランダムに選択することができる。出現設定部204は、基準距離との差異が大きくなると選択確率が小さくなるように重み付けを行ってランダムに選択してもよい。
【0064】
一つの例として、初心者プレイヤーは、敵キャラクタを倒すまでに上級者よりも長い時間を要することが多い。もし、敵キャラクタを出現させる位置が全くのランダムで決められたり固定位置だったりすると、敵キャラクタを倒した直後にまたプレイヤーキャラクタのすぐ近くに新たな敵キャラクタが出現してしまう場合もある。そうすると、初心者プレイヤーにとっては、このゲームがとても難しく感じられ、不公平感を抱いたり難しすぎてこのゲームへの関心が無くなってしまったりする可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が長いほどプレイヤーキャラクタから遠くにするので、初心者プレイヤーでも理不尽に難しく感じることがないようにすることができる。
また、上級者プレイヤーは、敵キャラクタを倒すまでに初心者よりも短い時間で済むことが多い。敵キャラクタを倒した後プレイヤーキャラクタから遠くの場所ばかりに新たな敵キャラクタが出現してしまうと、上級者プレイヤーにとっては、このゲームがとても易しく感じられ、つまらなくなってこのゲームへの関心が薄れてしまう可能性がある。しかし、本発明によれば、新たに敵キャラクタが出現する位置を、敵キャラクタを倒すまでの時間が短いほどプレイヤーキャラクタの近くにするので、上級者プレイヤーにとっても不満足感を抱かせることがないようにすることができる。
【0065】
本実施例によれば、ゲーム装置200は、あるゲームの開始直後では、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタの近くに出現させ、ゲーム開始後しばらくすると、敵キャラクタを倒したとき次の新たな敵キャラクタをプレイヤーキャラクタから遠い位置に出現させることができる。これにより、敵キャラクタがすぐ近くに立て続けに出現してゲームの難易度が理不尽に上がってしまうことがなくなる。
【0066】
上述した出現設定処理によって出現位置が制御される敵キャラクタと、そうでない敵キャラクタとがゲーム内に混在していてもよい。
【0067】
このように、ゲーム装置200は、新たな敵キャラクタを出現させる際、ゲームの経過時間に応じて出現させる位置を変化させることによって、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0068】
(実施例2)
次に、本発明の他の実施例について図7のフローチャートを用いて説明する。本実施例は、この対戦ゲームに出現する敵キャラクタの総数が所定量より多くならないようにする点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0069】
記憶部201は、ゲームに同時に出現させることができる敵キャラクタの総数のしきい値(上限値)をさらに記憶する。しきい値は、DVD−ROMに格納されるゲームプログラムに予め格納されており、CPU 101がゲームを開始する際に読み出して記憶部201に記憶する。例えば、しきい値は、ゲームのステージごと、シーンごとに予め決められている。ゲーム全体で共通の1つの上限値として設定されていてもよい。
【0070】
まず、出現設定部204は、既にゲーム中に登場している敵キャラクタの総数を取得する(ステップS701)。出現設定部204は、記憶部201に記憶された敵キャラクタの位置を示すデータのレコード数をカウントすることにより総数を得ることができる。
【0071】
出現設定部204は、ゲームに出現する敵キャラクタの総数のしきい値を記憶部201から取得する(ステップS702)。
【0072】
出現設定部204は、ステップS701で取得した敵キャラクタの総数が、ステップS702で取得したしきい値に達しているか否かを判別する(ステップS703)。
【0073】
しきい値に達していないと判別された場合(ステップS703;NO)、ゲーム装置200は図6に示す上述の出現設定処理を実行する(ステップS704)。一方、しきい値に達していると判別された場合(ステップS703;YES)、ゲーム装置200は処理を終了する。なお、ステップS704で行う出現設定処理は上述の実施例で述べた処理と同じであるので説明を省略する。
【0074】
なお、削除部207は、プレイヤーキャラクタが敵キャラクタに所定レベル以上のダメージを与えた場合や、敵キャラクタが自然消滅するまでの所定時間が経過した場合などに、敵キャラクタの位置を示すデータを記憶部201から消去して、出力部208はゲーム画面から敵キャラクタを消すことができる。
【0075】
このように、本実施例によれば、ゲーム装置200は、ゲーム中に存在している現在の敵キャラクタの総数が予め決められたしきい値を超えないように制御する。すなわち、ゲーム装置200は、新たな敵キャラクタを出現させる際、敵キャラクタの総数がしきい値に達していなければ、ゲームの経過時間に応じて出現させる位置を変化させて敵キャラクタを出現させることによって、ゲームが難しすぎることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0076】
(実施例3)
次に、本発明の他の実施例について図8のフローチャートと図9とを用いて説明する。本実施例は、ゲーム中に敵キャラクタがプレイヤーキャラクタのいる場所に近づくように制御される点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0077】
まず、移動部206は、現在行われている対戦ゲーム内に敵キャラクタが存在するか否かを判別する(ステップS801)。移動部206は、記憶部201に記憶された敵キャラクタの位置を示すデータのレコード数をカウントし、レコード数が1以上であれば存在すると判別し、それ以外であれば存在しないと判別する。
【0078】
敵キャラクタが存在しないと判別された場合(ステップS801;NO)、出現設定部204は、後述するステップS805以降の処理を行う。
【0079】
一方、敵キャラクタが存在すると判別された場合(ステップS801;YES)、移動部206は、現在のプレイヤーキャラクタの位置と敵キャラクタの位置を取得する(ステップS802)。敵キャラクタが複数存在する場合には、それらすべての位置を取得する。
【0080】
さらに、移動部206は、プレイヤーキャラクタと敵キャラクタが所定距離以上離れているか否かを判別する(ステップS803)。所定距離とは、出力部208がゲーム画像を出力する際、プレイヤーキャラクタと敵キャラクタとが重ならないようにするために十分な距離のことである。この所定距離は、DVD−ROMに格納されるゲームプログラムに予め格納されており、CPU 101がゲームを開始する際に読み出して記憶部201に記憶する。
【0081】
所定距離以上離れていないと判別された場合(ステップS803;NO)、ゲーム装置200は後述するステップS805の処理に進む。なおこの場合、移動部206は、プレイヤーキャラクタと敵キャラクタとが所定距離以上離れるように、敵キャラクタの位置を変更して記憶部201に記憶させてもよい。
【0082】
所定距離以上離れていると判断された場合(ステップS803;YES)、移動部206は、敵キャラクタの位置がプレイヤーキャラクタの位置に近づくように移動させ(ステップS804)、移動した後の位置を記憶部201に記憶させる。例えば図9に示すように、ある時刻に敵キャラクタが位置E1に存在するとき、この敵キャラクタを単位時間あたり距離Laだけプレイヤーキャラクタに近づくように位置E2に移動させ、移動後の敵キャラクタの位置座標を求めて記憶部201に記憶させる。単位時間とは、例えばモニターの垂直同期割り込みの回数を用いた時間間隔である。単位時間あたりに移動させる距離Laは、敵キャラクタの種類や個体の違いによって異なる値に設定することができる。この距離Laは敵キャラクタごとに設定される移動速度に相当し、CPU 101がゲームプログラムを実行してゲームを進行させる際に計算する。距離Laは固定値にしてもよいし、敵キャラクタによっては全く動かない(La=0)ものとしてもよい。敵キャラクタが複数存在する場合には、移動部206は、ステップS802で取得した位置に基づいて、すべての敵キャラクタについて位置を移動させる処理を行う。
【0083】
さらに、出現設定部204は、仮想空間内に新たな敵キャラクタを配置するか否かを判別する(ステップS805)。例えば、出現設定部204は、上述した実施例におけるステップS701乃至S703の処理を行って判別する。すなわち、現在の敵キャラクタの総数を取得し(ステップS701)、敵キャラクタを配置できるしきい値(上限値)を取得し(ステップS702)、総数がしきい値を超えているか否かを判別する(ステップS703)ことにより、この判別を行う。
【0084】
新たな敵キャラクタを配置すると判別された場合(ステップS805;YES)、出現設定部204は上述した出現設定処理を行う(ステップS806)。一方、新たな敵キャラクタを配置しないと判別された場合(ステップS805;NO)、ゲーム装置200は敵キャラクタの位置を移動させる処理を終了する。なお、ステップS805で新たに敵キャラクタを配置すると、新たに配置された敵キャラクタは、次回の処理において位置を移動させる対象となる。
【0085】
このように、本実施例によれば、ゲーム装置200は、ゲーム中に存在している敵キャラクタがプレイヤーキャラクタのいる位置に向かって移動させて、ユーザにとってゲームが易しすぎることがないようにできる。例えば、ゲームの上級者でも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0086】
(実施例4)
次に、本発明の他の実施例について図10と図11を用いて説明する。本実施例は、新たな敵キャラクタの候補のうち、基準距離と同じ距離だけ離れている候補が複数存在する場合に、候補をどのように選択するかを考慮した点で、上述の実施例と異なる。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0087】
図10は、本実施例のゲーム装置200が行う出現設定処理を説明するためのフローチャートである。
【0088】
図11(a)と(b)は、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。本図には候補の位置が星印で示され、基準距離を示す円が点線で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。本図は一例に過ぎない。
【0089】
上述のように、記憶部201は敵キャラクタの出現時の位置の候補を記憶するが、候補は複数設定できる。そのため、記憶部201に記憶された敵キャラクタの出現時の位置の候補には、その候補の位置と記憶部201に記憶されたプレイヤーキャラクタの位置との距離が計算部203により計算された基準距離に最も近いものが、複数存在する場合がある。例えば、図11(a)では、第2候補と第3候補の2箇所が、基準距離に最も近い候補である。また、敵キャラクタの出現時の位置の候補は、座標ではなく領域として指定することもできる。例えば、図11(b)では、第1候補の領域と第2候補の領域のうち、第2候補の領域には計算部203により計算された基準距離をもつ点が無数に存在することになる。すなわち、基準距離を示す円のうち、第2領域と重なる弧の上の点は、すべて敵キャラクタの出現時の位置の候補となりうる。
【0090】
このような場合、出現設定部204は、これらの複数の候補の中からランダムに1つ選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部に記憶させる。例えば図11(a)の場合、出現設定部204は、第2候補と第3候補のどちらかをランダムに1つ選択する。例えば図11(b)の場合、出現設定部204は、第2領域と重なる弧の上の点の中からランダムに1つ選択する。
【0091】
なお、出現設定部204は、記憶部201に記憶された候補のうち、候補の位置とプレイヤーキャラクタの位置との距離が基準距離に最も近いものが複数ある場合、それらの候補が選択される確率に偏り(重み付け)を設定して、ランダムに選択するようにしてもよい。例えば、草原地帯に設定された候補よりも森林地帯に設定された候補のほうにより大きい重みを設定することによって、同じ距離であっても森林地帯の候補のほうが選択されやすくなる。
【0092】
また、敵キャラクタの出現時の位置の候補に予め優先度を設定し、出現設定部204は優先度に従って候補を選択してもよい。例えばこの場合、記憶部201は、敵キャラクタの出現時の位置の候補に対応して、所定段階数の優先度を記憶する。そして、基準距離に最も近いものが複数ある場合、出現設定部204はそれらの中で最も高い優先順位が設定された候補を選択する。
【0093】
次に、本実施例の出現設定処理について図10を用いて説明する。なお、本図において、ステップS1001乃至S1004の処理は、それぞれ上述のステップS601乃至S604と同じであるため説明を省略する。
【0094】
ステップS1005において、出現設定部204は、ステップS1004で選択した基準距離に最も近い候補が複数か否かを判別する。
【0095】
複数であると判別された場合(ステップS1005;YES)、出現設定部204は、それらの中からランダムに1つ選択する(ステップS1006)。候補ごとに選択確率の重み付けや優先度を設定した上でランダムに選択してもよい。そして、出現設定部204は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新する(ステップS1007)。出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS1008)。
【0096】
一方、複数ではないと判別された場合(ステップS1005;NO)、出現設定部204はステップS1004で選択された候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新し(ステップS1007)、出力部208はそれぞれのキャラクタを配置したゲーム画面を生成して出力する(ステップS1008)。
【0097】
このように、本実施例によれば、ゲーム装置200は、基準距離と同じ距離だけ離れている候補が複数存在しても、適宜1つを選択して敵キャラクタを出現させて、ユーザにとってゲームが難しすぎたり易しすぎたりすることがないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。
【0098】
(実施例5)
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0099】
出現設定部204は、記憶部201に記憶された敵キャラクタの出現時の位置の候補のうち、計算部203により計算された基準距離に最も近い候補の位置を含む所定の許容範囲の中からランダムに1つの位置を選択して、選択された位置を新たな敵キャラクタの位置として記憶部201に記憶させる。
【0100】
図12は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。本図に示したそれぞれの星印は、敵キャラクタを新たに出現させる位置の候補の位置を示し、この例では3つの候補がある。まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第2候補である。さらに、出現設定部204は、選択した候補の位置を含む所定の許容範囲を設定する。本図では第2候補の位置を中心とした所定長さの半径の円内を許容範囲とする。そして、出現設定部204は、設定した許容範囲内からランダムに1つの位置を選択して、新たな敵キャラクタの出現位置とする。
【0101】
この例では、許容範囲の形状は、記憶部201に記憶された候補の位置を中心とする所定長さの半径の円内としたが、これは一例に過ぎず、任意の形状でよい。また、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、許容範囲を示す斜線領域が示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【0102】
例えば、記憶部201に記憶された、敵キャラクタを新たに出現させる候補の位置に、既に他のキャラクタオブジェクトが配置されている場合、出現設定部204は、候補の位置の周辺に許容範囲を設定し、既に他のキャラクタオブジェクトが配置された位置を避けて、その近くに設定した許容範囲内からランダムに1つの位置を選択することができる。
【0103】
具体的には、上述の実施例のステップS1005において、出現設定部204は、選択した候補の位置に既に他のキャラクタオブジェクトが配置されているか否かを判別する。既に配置されている場合、出現設定部204はステップS1006で、選択した候補の位置を含む所定の許容範囲を設定し、この許容範囲内から1つの位置を選択し、新たな敵キャラクタの出現位置に設定する。配置されていない場合、出現設定部204は、ステップS1004で選択した候補の位置を、新たな敵キャラクタの出現位置に設定する。他のステップにおける処理は上述の実施例と同様であるため詳細は省略する。このように、キャラクタオブジェクト同士が同じ位置に重なってしまうことはない。
【0104】
例えば、記憶部201に記憶された、敵キャラクタを新たに出現させる候補の位置を、1つの点の座標値ではなく、ある程度幅をもった領域によって指定するように構成する場合にも、本実施例は有効である。つまり、絶対的な座標値を用いなくても、敵キャラクタを出現させる位置を設定することができる。
【0105】
また、許容範囲内の領域に予め優先度を設定し、出現設定部204は優先度に従って候補を選択してもよい。この場合、記憶部201は、許容範囲内の領域の各位置に対応して、所定段階数の優先度を記憶する。そして、優先度が高い位置ほど選択確率が大きいようにする。例えば、出現設定部204は、ある候補の位置を中心とした半径R0の円内を許容範囲に設定する。また、0<R1<R2<R0の関係を満たす長さR1とR2を設定する。出現設定部204は、その候補の位置を中心とした半径R1の同心円内の点の選択確率をP1とし、半径R2の同心円内で且つ半径R1の同心円に含まれない部分の選択確率をP2とし、半径R0の同心円内で且つ半径R2の同心円に含まれない部分の選択確率を(1−P1−P2)にする。ただし、0≦P1,P2≦1、且つ、P1+P2≦1である。なお、この例では3つの同心円を用いたが、任意の形状の図形、任意の数の図形を用いることができる。
【0106】
このように、本実施例によれば、ゲーム装置200は、敵キャラクタを新たに出現させる候補の位置に敵キャラクタを配置できない状況であっても、適切に敵キャラクタの出現位置を選択して、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者や上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【0107】
(実施例6)
次に、本発明の他の実施例について説明する。本実施例は、敵キャラクタの出現時の位置のいくつかの候補の中からいずれかを選択する際の選択の仕方を変えた他の変形例である。なお、上述の実施例と共通する構成については同じ参照番号を用い説明を省略する。
【0108】
出現設定部204は、現在時間から所定期間内にプレイヤーキャラクタが移動した移動方向を求める。そして、求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに1つの位置を選択して、選択された候補の位置を新たな敵キャラクタの位置として記憶部201に記憶させる。
【0109】
具体的には、出現設定部204は、モニターの垂直同期割り込みなどの周期的なタイミングで、プレイヤーキャラクタの位置を履歴情報としてRAM 103に記憶する。そして、出現設定部204は、この履歴情報から、プレイヤーキャラクタの移動方向を求める。例えば、ある時刻T1におけるプレイヤーキャラクタの位置が点PA(X1,Y1,Z1)で、時刻T1より後の時刻T2におけるプレイヤーキャラクタの位置が点PB(X2,Y2,Z2)であったとすると、点PAから点PBに向かう方向ベクトル(X2−X1,Y2−Y1,Z2−Z1)の向きを、プレイヤーキャラクタの移動方向とする。
【0110】
なお、移動方向の決定方法は上記方法に限られず、他の手法を用いてもよい。例えば、プレイヤーキャラクタの位置の履歴として3つ以上の点の位置を記憶し、これらの点の分散の度合いから移動方向を求めてもよい。位置の履歴を取得する時間間隔は一定間隔が望ましく、時間の長さは任意である。
【0111】
図13は、基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。図中の矢印Y1は、出現設定部204が求めたプレイヤーキャラクタの移動方向である。まず、計測部202は、この対戦ゲームが開始されてから現在までの経過時間を計測し、計算部203は、計測された経過時間に対応する基準距離を求める。本図に示した点線の円は、求めた基準距離を半径とする円である。そして、出現設定部204は、第1から第3候補のうち、基準距離に最も近い候補、すなわち、この円の弧に最も近い候補を選択する。本図では第2候補と第3候補の2つである。さらに、出現設定部204は、基準距離に最も近い候補のうち、移動方向に近い候補ほど選択される確率が大きくなるように重み付けを設定し、新たな敵キャラクタの出現位置としてランダムに1つ選択する。そして、出現設定部204は、選択した候補の位置を新たな敵キャラクタの出力位置とするように記憶部201を更新し、出力部208は、記憶部201に記憶されたプレイヤーキャラクタの位置と敵キャラクタの位置を取得して、それぞれのキャラクタを配置したゲーム画面を生成して出力する。
なお、本図には候補の位置が星印で示され、基準距離を示す円が点線で示され、移動方向が矢印で示されているが、これらは説明の都合上記載しただけであり、実際のゲーム画面には表示されない。
【0112】
さらに、出現設定部204は、プレイヤーキャラクタを移動方向に近い候補ほど選択される確率が大きくなり、且つ、基準距離に近い候補ほど選択される確率が大きくなるように、重み付けを行って、ランダムに選択することもできる。
【0113】
なお、出現設定部204は、選択される確率に重み付けをしてランダムに1つ選択するのではなく、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。また、出現設定部204は、移動方向に近い候補ほど選択される確率が小さくなるように重み付けを設定してもよい。あるいは、敵キャラクタが出現可能なエリアの種別(例えば、森林、草むら、池など)の違いによって重み付けを設定してもよい。
【0114】
本実施例の変形例として、プレイヤーキャラクタの移動方向の代わりに、プレイヤーキャラクタの視線方向を用いることもできる。CPU 101は、仮想空間内に配置されたプレイヤーキャラクタが仮想空間内の様子を観測する点として、視点を設定する。この視点から視線方向に見た仮想映像は、例えば3Dグラフィックスの表示に用いられる。視線方向は、プレイヤーによるコントローラ105の操作により任意に変更することができる。そして、出現設定部204は、ユーザによって設定された視線方向を取得して、プレイヤーキャラクタの視線方向に近い候補ほど選択される確率が大きくなるように重みを設定して、新たな敵キャラクタの出現位置としてランダムに1つ選択する。この場合においても、最も移動方向に近い候補を新たな敵キャラクタの出現位置として選択することもできる。このように視線方向を用いると、プレイヤーキャラクタの視点から視線方向に見たゲーム画面内(視界内)に敵キャラクタを出現しやすくすることができるので、初心者プレイヤー向けに難易度を下げたゲーム設定にすることができる。また、プレイヤーキャラクタの視界の外に敵キャラクタを出現しやすくすることもできるので、上級者プレイヤー向けに難易度を上げたゲーム設定にすることができる。
【0115】
このように、本実施例によれば、ゲーム装置200は、プレイヤーキャラクタが移動する方向に敵キャラクタを出現させて、ゲームが難しすぎたり易しすぎたりしないようにできる。例えば、初心者、上級者などどんなプレイヤーでも大きくゲームバランスを崩すことなく敵キャラクタを出現させてゲームを面白くさせることができる。本実施例は、上述の他の実施例と容易に組み合わせて実施することができる。
【0116】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例の各構成要素を自由に組み合わせることも可能である。
【0117】
上述の各実施例のフローチャートには、敵キャラクタを消す処理が含まれていないが、削除部207はCPU 101が実行するゲームの展開に応じて任意のタイミングで敵キャラクタの位置を示すデータを記憶部201から消去でき、出力部208はゲーム画面から敵キャラクタを消すことができる。すなわち、CPU 101は、任意のタイミングで敵キャラクタを消去できる。例えば、削除部207は、プレイヤーキャラクタが敵キャラクタに所定レベル以上のダメージを与えた場合や、敵キャラクタが自然消滅するまでの所定時間が経過した場合などに、その敵キャラクタの位置を示すデータを記憶部201から消去して、敵キャラクタを消去する処理を行う。
【0118】
上述の各実施例では、出現設定部204は敵キャラクタの出現位置を選択しているが、本発明は敵キャラクタに限らず他の任意のキャラクタオブジェクトを出現させる場合の出現位置の選択方法としても用いることができる。上述した敵キャラクタには、例えば地雷、落とし穴、ワナ、障害物など、プレイヤーキャラクタに対して何らかの悪い影響を及ぼす可能性のあるキャラクタオブジェクトも含めることができる。
【0119】
上述の各実施例では、出現設定部204は敵キャラクタの出現位置として1つの位置を選択しているが、M個以上(Mは2以上で候補数以下の整数)の位置を選択することもできる。この場合、出現設定部204は、ステップS604において、記憶部201に記憶された候補の中から基準距離に近いものの上位M個を選択し、これらM個の位置を新たな敵キャラクタの出現位置とすればよい。選択したM個の位置どうしは、敵キャラクタを配置するときに互いに重ならないように十分離れていることが望ましい。
【0120】
上述の各実施例では、プレイヤーキャラクタが1つであるとしているが、複数のプレイヤーが参加できるゲームのように複数のプレイヤーキャラクタがあってもよい。
【0121】
ゲーム装置200を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0122】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0123】
以上説明したように、本発明によれば、ユーザにとってゲームが難しすぎたり易しすぎたりしないようにキャラクタオブジェクトを配置するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0124】
【図1】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】ゲーム装置の各部が行う処理を説明するための図である。
【図3】(a)〜(c)は記憶部に記憶される情報の構成例である。(a)はプレイヤーキャラクタの位置を示すデータの構成例である。(b)は敵キャラクタの位置を示すデータの構成例である。(c)は敵キャラクタの出現時の位置の候補を示すデータの構成例である。
【図4】ゲームの経過時間と、新たな敵キャラクタの出現位置を求めるための基準距離との関係の一例を示す図である。
【図5】基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図6】ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図7】実施例2において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図8】実施例3において、ゲーム装置が行う処理を説明するためのフローチャートである。
【図9】敵キャラクタを移動させる位置の例を示す図である。
【図10】実施例4において、ゲーム装置が行う出現設定処理を説明するためのフローチャートである。
【図11】(a)(b)共に、基準距離と、新たに敵キャラクタを出現させる位置の候補との関係の例を示す図である。
【図12】基準距離と、新たに敵キャラクタを出現させる位置の候補と、許容範囲との関係の例を示す図である。
【図13】基準距離と、新たに敵キャラクタを出現させる位置の候補と、プレイヤーキャラクタの移動方向との関係の例を示す図である。
【符号の説明】
【0125】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200 ゲーム装置
201 記憶部
202 計測部
203 計算部
204 出現設定部
205 受付部
206 移動部
207 削除部
208 出力部
【特許請求の範囲】
【請求項1】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置であって、
当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する記憶部と、
当該ゲームが開始されてからの経過時間を計測する計測部と、
当該計測された経過時間が長くなるにつれて増大する距離を計算する計算部と、
当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定部と、
を備えることを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記出現設定部は、前記記憶部に記憶された当該敵キャラクタの位置の数が所定のしきい値を超えないように、当該新たな敵キャラクタの位置を前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項3】
請求項1又は2に記載のゲーム装置であって、
当該プレイヤーキャラクタの位置と当該敵キャラクタの位置とが所定距離以上離れている場合、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置に近づくように移動させて、前記記憶部に記憶される情報を更新する移動部をさらに備える
ことを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該記憶されたプレイヤーキャラクタまでの距離が同じ候補が複数存在する場合、当該候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項5】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離に最も近い候補の位置から所定の許容範囲内に含まれる位置の中からランダムに位置を選択して、当該選択された位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項6】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離以上離れた位置の候補が複数存在する場合、当該複数の候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項7】
請求項4乃至6のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、現在時間から所定期間内に当該プレイヤーキャラクタが移動した移動方向を求めて、当該求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項8】
請求項5又は6に記載のゲーム装置であって、
前記出現設定部は、当該計算された距離に近い候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項9】
請求項1乃至8のいずれか1項に記載のゲーム装置であって、
当該プレイヤーキャラクタが当該敵キャラクタを攻撃することにより当該プレイヤーキャラクタが勝利するか、又は、前記出現設定部が当該敵キャラクタの位置を前記記憶部に記憶させてから所定時間が経過すると、当該敵キャラクタの位置を前記記憶部から削除する削除部をさらに備える
ことを特徴とするゲーム装置。
【請求項10】
記憶部、計測部、計算部、出現設定部を有し、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶し、
前記計測部が、当該ゲームが開始されてからの経過時間を計測する計測ステップと、
前記計算部が、当該計測された経過時間が長くなるにつれて増大する距離を計算する計算ステップと、
前記出現設定部が、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項11】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するコンピュータを、
当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する記憶部、
当該ゲームが開始されてからの経過時間を計測する計測部、
当該計測された経過時間が長くなるにつれて増大する距離を計算する計算部、
当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定部、
として機能させることを特徴とするプログラム。
【請求項1】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置であって、
当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する記憶部と、
当該ゲームが開始されてからの経過時間を計測する計測部と、
当該計測された経過時間が長くなるにつれて増大する距離を計算する計算部と、
当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定部と、
を備えることを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記出現設定部は、前記記憶部に記憶された当該敵キャラクタの位置の数が所定のしきい値を超えないように、当該新たな敵キャラクタの位置を前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項3】
請求項1又は2に記載のゲーム装置であって、
当該プレイヤーキャラクタの位置と当該敵キャラクタの位置とが所定距離以上離れている場合、当該敵キャラクタの位置が当該プレイヤーキャラクタの位置に近づくように移動させて、前記記憶部に記憶される情報を更新する移動部をさらに備える
ことを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該記憶されたプレイヤーキャラクタまでの距離が同じ候補が複数存在する場合、当該候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項5】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離に最も近い候補の位置から所定の許容範囲内に含まれる位置の中からランダムに位置を選択して、当該選択された位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項6】
請求項1乃至3のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該計算された距離以上離れた位置の候補が複数存在する場合、当該複数の候補の中からランダムに選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項7】
請求項4乃至6のいずれか1項に記載のゲーム装置であって、
前記出現設定部は、現在時間から所定期間内に当該プレイヤーキャラクタが移動した移動方向を求めて、当該求めた移動方向に存在する候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項8】
請求項5又は6に記載のゲーム装置であって、
前記出現設定部は、当該計算された距離に近い候補ほど選択される確率が大きくなるようにランダムに位置を選択して、当該選択された候補の位置を新たな敵キャラクタの位置として前記記憶部に記憶させる
ことを特徴とするゲーム装置。
【請求項9】
請求項1乃至8のいずれか1項に記載のゲーム装置であって、
当該プレイヤーキャラクタが当該敵キャラクタを攻撃することにより当該プレイヤーキャラクタが勝利するか、又は、前記出現設定部が当該敵キャラクタの位置を前記記憶部に記憶させてから所定時間が経過すると、当該敵キャラクタの位置を前記記憶部から削除する削除部をさらに備える
ことを特徴とするゲーム装置。
【請求項10】
記憶部、計測部、計算部、出現設定部を有し、プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部は、当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶し、
前記計測部が、当該ゲームが開始されてからの経過時間を計測する計測ステップと、
前記計算部が、当該計測された経過時間が長くなるにつれて増大する距離を計算する計算ステップと、
前記出現設定部が、当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項11】
プレイヤーの指示により仮想空間内を移動するプレイヤーキャラクタと、敵キャラクタと、が存在するゲームを実現するコンピュータを、
当該仮想空間内におけるプレイヤーキャラクタの位置と、敵キャラクタの位置と、敵キャラクタの出現時の位置の候補と、を記憶する記憶部、
当該ゲームが開始されてからの経過時間を計測する計測部、
当該計測された経過時間が長くなるにつれて増大する距離を計算する計算部、
当該記憶された敵キャラクタの出現時の位置の候補のうち、当該候補から当該プレイヤーキャラクタまでの距離が、当該計算された距離に最も近い候補の位置を、新たな敵キャラクタの位置として前記記憶部に記憶させる出現設定部、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−67863(P2008−67863A)
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願番号】特願2006−248614(P2006−248614)
【出願日】平成18年9月13日(2006.9.13)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願日】平成18年9月13日(2006.9.13)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]