説明

ゲーム装置、ゲーム処理方法、ならびに、プログラム

【課題】プレイヤーにゲームをなるべく飽きさせないようにする。
【解決手段】ゲーム装置500は、第1キャラクターと第2キャラクターが含まれるゲームを実行する。ゲーム装置500において、入力受付部501は、プレイヤーから指示入力を受け付ける。ゲーム進行部502は、受け付けられた指示入力に基づいて第1キャラクターを動作させ、ゲームを進行する。記録部503は、ゲーム進行部502による第1キャラクターの動作経過を記録する。修正部504は、動作経過が記録されてから現在までの経過に応じて、記録部503によって記録された動作経過を修正する。そして、ゲーム進行部502は、修正部504によって修正された動作経過に基づいて第2キャラクターを更に動作させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
プレイの度にプレイヤーの操作履歴を記録し、次回以降のプレイ時に、記録された操作履歴に基づいて、いわゆる“ゴースト”を表示するゲームがある。このゴーストは、プレイヤーにとっての“過去の自分”の記録や“過去の他のプレイヤー”の記録を表すキャラクターである。例えば、自動車レースゲームの場合、現在プレイヤーが操作しているレーシングカーに加えて、過去に自分がプレイしたときの様子を表すゴーストカーが表示される。プレイヤーは、過去の自分の記録から見て、現在の自分の操作が向上しているかどうかを把握することができる。特許文献1には、現在プレイヤーが操作しているキャラクターを表示しつつ、ゴーストを分かりやすく提示するゲーム装置が開示されている。
【0003】
また、記録された操作履歴に従って動作するキャラクターを、同じゲーム内における協力相手や対戦相手に選べるゲームがある。プレイヤーは、1人でプレイするときであっても、仮想的なキャラクターと協力してミッションを達成すべくゲームをプレイしたり、仮想的なプレイヤーを相手に対戦するゲームをプレイしたりすることが可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−230853号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のゲーム装置では、上述のゴーストや、協力相手や対戦相手となる仮想的なキャラクターは、過去の操作履歴をそのまま再現するため、プレイヤーがゲームを何度プレイしても相手が同じ動作をすることになり、プレイヤーのゲームへの関心を薄めてしまう恐れがあった。
【0006】
本発明はこのような課題を解決するものであり、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0008】
本発明の第1の観点に係るゲーム装置は、第1キャラクターと第2キャラクターとが含まれるゲームを実現するゲーム装置であって、入力受付部、ゲーム進行部、記録部、修正部を備える。
入力受付部は、プレイヤーから指示入力を受け付ける。
ゲーム進行部は、受け付けられた指示入力に基づいて第1キャラクターを動作させてゲームを進行する。
記録部は、ゲーム進行部による第1キャラクターの動作経過を記録する。
修正部は、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行部は、修正された動作経過に基づいて第2キャラクターを更に動作させてゲームを進行する。
【0009】
本発明のゲーム装置にて行われるゲームのプレイヤーは、人間、又は、ゲーム装置自体が制御する仮想プレイヤーである。ゲームに含まれるキャラクターには、第1プレイヤーが動作を指示する第1キャラクターと、第2プレイヤーが動作を指示する第2キャラクターとがある。第1プレイヤーが人間のプレイヤーであり、第2プレイヤーが仮想プレイヤーである。第1プレイヤーは、第2プレイヤーが指示を与える第2キャラクターを相手に第1キャラクターを対戦させたり、第2キャラクターと協力して第1キャラクターにミッションを達成させるべくゲームを進めたりする。
【0010】
第1プレイヤーがゲームをプレイすると、そのゲームにおける第1キャラクターの動作経過が記録される。例えば、プレイヤーが指示された通りにマットを踏むとダンスを踊る感覚を体験できるダンスゲームにおいて、どのタイミングにマットのどの部分を踏んだかを示す情報が記録される。また、例えば、カーレーシングゲームにおいて、レーシングカーのコース取りやラップタイム等を示す情報が記録される。
【0011】
第1プレイヤー(人間)には第1キャラクターが対応付けられ、第2プレイヤー(仮想プレイヤー)には第2キャラクターが対応付けられる。第1キャラクターは、第1プレイヤーからの指示入力に従って動作する。第2キャラクターは、以前に記録された動作経過に従ってゲーム装置が指示を与えることにより動作する。第2キャラクターの動作は、以前に記録された動作経過をそのまま再現する動作ではなく、以前に記録された動作経過を何らかの形で修正した動作である。
【0012】
動作経過の修正の仕方は様々である。典型的には、動作経過は、動作経過が記録されてから経過した時間や、対戦相手もしくは協力相手として使用された回数や、対戦相手もしくは協力相手として使用されたときの第1プレイヤー(人間)の成績などに応じて、修正される。
例えば、ダンスゲームにおいて、仮想プレイヤーがマットを踏んだと見なされるタイミングが、動作経過が示すタイミングの前後にずれる。あるいは、仮想プレイヤーが踏んだと見なされるマット内の位置が、動作経過が示す位置の周辺にずれる。
例えば、カーレーシングゲームにおいて、仮想プレイヤーがアクセルやブレーキを踏んだと見なされるタイミングが、動作経過が示すタイミングの前後にずれる。あるいは、仮想プレイヤーが行ったとみなされるハンドル操作が、動作経過が示すハンドル操作と異なったものに変わる。
【0013】
従って、第1プレイヤーは、単純に“過去の自分”と一緒にゲームができるだけではなく、時間の経過と共に“過去の自分”から成長したり劣化したりした“修正された過去の自分”と一緒にゲームができるのである。ただし、修正対象の動作経過は、“過去の自分”の記録を表すものであってもよいし、“自分以外の過去の誰か”の記録を表すものであってもよい。本発明によれば、プレイヤーは、自分の向上度合いの目安を把握できるだけでなく、常に違った(仮想の)相手とゲームを楽しむことができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0014】
修正部は、経過の長さが長くなるほど、動作経過の修正量を大きくしてもよい。
【0015】
すなわち、動作経過が記録されてから時間が経つほど、“過去の自分”が大きく成長したり劣化したりする。本発明によれば、(仮想の)相手が進化していくので、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【0016】
記録される動作経過は、受け付けられた指示入力と、指示入力が受け付けられた時刻と、を対応付ける履歴を表してもよい。
そして、修正部は、指示入力が受け付けられた時刻を変化させる量を修正量とし、記録された動作経過を修正してもよい。
【0017】
つまり、時間の経過とともに、仮想プレイヤーの指示タイミングがだんだんとずれていく。例えばダンスゲームにおいて、マットを踏んだと見なされるタイミングが前後にずれていく。例えばカーレーシングゲームにおいて、アクセルやブレーキを踏むタイミングやハンドルを切るタイミングが前後にずれていく。タイミングは、遅くなるように修正されてもよいし、早くなるように修正されてもよい。本発明によっても、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【0018】
記録される動作経過は、受け付けられた指示入力と、指示入力が受け付けられた時刻と、を対応付ける履歴を表してもよい。
そして、修正部は、記録された動作経過が示す履歴のうち受け付けられた指示入力を修正する履歴の割合を修正量とし、記録された動作経過を修正してもよい。
【0019】
つまり、時間の経過とともに、仮想プレイヤーの指示内容がだんだんと変化していく。例えばダンスゲームにおいて、仮想プレイヤーが踏んだと見なされるマットの位置が、その周辺にずれていく。例えばカーレーシングゲームにおいて、アクセルやブレーキの踏み込み量やハンドルを切る量が増減する。指示内容は、既に記録された動作経過と異なる内容であれば、どのような内容に修正されてもよい。本発明によっても、プレイヤーにゲームをなるべく飽きさせないようにする効果が増す。
【0020】
ゲーム進行部は、ゲームにおける第1キャラクターの成績と第2キャラクターの成績を判定してもよい。
そして、記録部は、判定された第1キャラクターの成績が、判定された第2キャラクターの成績よりも優れている場合に、第1キャラクターの動作経過を記録してもよい。
【0021】
つまり、人間のプレイヤーが操作する第1キャラクターが、仮想プレイヤーが操作する第2キャラクターよりも優れた成績を収めると、その第1キャラクターの今回の動作経過が保存される。本発明によれば、既に記録された動作経過よりも成績が優れた新たな動作経過が追加されていくので、プレイヤーは、自分の腕に合ったレベルの仮想の相手とゲームができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0022】
記録部は、判定された第1キャラクターの成績が、判定された第2キャラクターの成績よりも優れている場合に、第2キャラクターの動作経過を削除してもよい。
【0023】
つまり、人間のプレイヤーが操作する第1キャラクターが、仮想プレイヤーが操作する第2キャラクターよりも優れた成績を収めると、その第1キャラクターの今回の動作経過が保存され、代わりに、その第2キャラクターの動作の基となった動作経過が削除される。本発明によれば、プレイヤーは、自分の腕に合ったレベルの仮想の相手とゲームができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0024】
ゲーム進行部は、受け付けられた指示入力に基づいて第1キャラクターの動作結果を画面に表示し、修正された動作経過に基づいて第2キャラクターの動作結果を当該画面に表示してもよい。
【0025】
すなわち、プレイヤーは、今回のゲーム成績やゲーム状況だけでなく、協力相手もしくは対戦相手となる“過去の自分”等のゲーム成績やゲーム経過も把握できるので、自分の上達度の目安を簡単に把握することができる。本発明によれば、ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0026】
本発明のその他の観点に係るゲーム処理方法は、入力受付部、ゲーム進行部、記録部、修正部を有し、第1キャラクターと第2キャラクターとが含まれるゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、入力受付ステップ、ゲーム進行ステップ、記録ステップ、修正ステップを備える。
入力受付ステップでは、入力受付部が、プレイヤーから指示入力を受け付ける。
ゲーム進行ステップでは、ゲーム進行部が、受け付けられた指示入力に基づいて第1キャラクターを動作させてゲームを進行する。
記録ステップでは、記録部が、ゲーム進行ステップによる第1キャラクターの動作経過をメモリに記録する。
修正ステップでは、修正部が、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行ステップでは、ゲーム進行部は、修正された動作経過に基づいて第2キャラクターを更に動作させてゲームを進行する。
【0027】
本発明によれば、プレイヤーは、自分の向上度合いの目安を把握できるだけでなく、常に違った(仮想の)相手とゲームを楽しむことができる。ゲーム装置は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0028】
本発明のその他の観点に係るプログラムは、第1キャラクターと第2キャラクターとが含まれるゲームを実現するコンピュータを、入力受付部、ゲーム進行部、記録部、修正部として機能させる。
入力受付部は、プレイヤーから指示入力を受け付ける。
ゲーム進行部は、受け付けられた指示入力に基づいて第1キャラクターを動作させてゲームを進行する。
記録部は、ゲーム進行部による第1キャラクターの動作経過を記録する。
修正部は、動作経過が記録されてから現在までの経過に応じて、記録された動作経過を修正する。
そして、ゲーム進行部は、修正された動作経過に基づいて第2キャラクターを更に動作させてゲームを進行する。
【0029】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0030】
本発明によれば、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0031】
【図1】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】コントローラの構成を説明するための図である。
【図3】シングルプレイにおけるゲームの画面の構成例を示す図である。
【図4】マルチプレイにおけるゲームの画面の構成例を示す図である。
【図5】ゲーム装置の機能的な構成を説明するための図である。
【図6】(a),(b)はキャラクターを説明するための図である。
【図7】経過時間と動作経過の修正量との関係の例を示す図である。
【図8】経過時間と動作経過の修正量との関係の他の例を示す図である。
【図9】動作経過の記録処理を説明するためのフローチャートである。
【図10】ゲーム処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0032】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0033】
図1は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
【0034】
情報処理装置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と、を備える。
【0035】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【0036】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0037】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0038】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0039】
インターフェース104を介して接続されたコントローラ105は、プレイヤーがダンスゲームやレーシングゲームなどのゲームの実行の際に行う操作入力を受け付ける。インターフェース104には、複数のコントローラ105が接続されていてもよい。
【0040】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームのプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤーは、コントローラ105を介して操作入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0041】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0042】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0043】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0044】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0045】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0046】
また、ゲームの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
【0047】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカー(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカーから出力させる。
【0048】
音声処理部109では、DVD−ROMに記録された音声データがMIDI(Musical Instrument Digital Interface)データである場合には、これが有する音源データを参照して、MIDIデータをPCM(Pulse Code Modulation)データに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【0049】
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0050】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0051】
図2は、上記構成を有する情報処理装置100によって実現されるゲーム装置に接続されるコントローラ105の概略図である。コントローラ105は、床の上などに敷くマット型コントローラである。コントローラ105には、左ボタン201、下ボタン202、上ボタン203、右ボタン204等が配置されている。コントローラ105には、一般にプレイヤーが足で踏むことによって指示が入力される。ただし、プレイヤーは手で各ボタンを押圧することにより指示を入力することも可能である。
【0052】
図3は、本実施形態のゲーム装置において行われるダンスゲームの画面300の構成例である。画面300は、1人でプレイするとき(以下「シングルプレイ」という。)のゲーム画面を表している。画面300には、画面300内の所定位置に固定して描画される静止マーク301〜304、描画位置が時間の経過と共に移動する踏み位置指示マーク310(本図中では310A,310B,310C,310Dの4種類)、プレイヤー(又はキャラクター)がゲームで獲得した点数320、プレイヤー(又はキャラクター)のゲーム成績を表すゲージ330、その他の背景画像などが表示される。
【0053】
まず、本実施形態のゲーム装置で行われるゲームについて説明する。本ゲームでは、ゲーム装置により音楽が再生される。プレイヤーは踏み位置指示マーク310に合わせて指示を入力することにより、再生される音楽に合わせてダンスをしている感覚を味わうことができる。
【0054】
踏み位置指示マーク310は、再生される音楽に合わせてスクロール表示される。踏み位置指示マーク310には、ボタン201〜204に対応する上下左右のいずれかの矢印が描かれている。踏み位置指示マーク310が音楽に合わせて移動することによって、ボタン201〜204を押圧すべきタイミングがプレイヤーに提示される。
【0055】
静止マーク301〜304は、それぞれ、ボタン201〜204をプレイヤーが押圧すべきタイミング(以下「課題時刻」ともいう。)を指示するマークである。静止マーク301〜304には、上下左右のいずれかの矢印の画像が描かれている。
【0056】
踏み位置指示マーク310は、静止マーク301〜304が描画されている位置に向かって音楽の再生速度に合わせて移動していく。静止マーク301〜304と同じ位置に踏み位置指示マーク310が移動してきたときに、静止マーク301〜304に描かれる矢印の向きに対応するボタン201〜204のいずれかをプレイヤーが押圧すると、プレイヤーの点数320に所定点数が加算されたり、ゲージ330が示す値(ダンスメーター)がアップしたりする。
【0057】
CPU 101は、予め対応付けられる課題時刻に予め決められたゲーム課題をプレイヤーが達成したと判別すると、プレイヤーのゲーム成績が優れていると評価し、ゲージ330が示す値を増加させたり点数320が示す値を増加させたりする。また、CPU 101は、ゲーム課題が達成された時刻が課題時刻に近いほど、ゲーム成績がより優れていると評価する。
【0058】
例えば、踏み位置指示マーク310が静止マーク301〜304のいずれかと重なる位置に移動してきたときに、移動してきた踏み位置指示マーク310に示される矢印に対応するボタン(ボタン201〜204のいずれか)をプレイヤーが片足で押圧すると、再生されている音楽に合った模範的なダンスステップを踏むことができるようになっている。
【0059】
課題時刻とその課題時刻に押圧すべきボタンを指定する情報との組み合わせを「ゲーム課題」と呼ぶ。1つのゲーム課題は[数1]のように表される。
【0060】
P(i) = (T(i),B(x)) ・・・[数1]
【0061】
ただし、本実施形態のゲームにはN個(Nは1以上の整数)のゲーム課題が存在することとし、P(i)は先頭からi番目(iは1以上N以下の整数)のゲーム課題を表し、T(i)はゲーム課題P(i)に対応する課題時刻を表し、B(x)は課題内容を表す。
【0062】
課題内容B(x)には、ボタン201を示す値B(L)、ボタン202を示す値B(D)、ボタン203を示す値B(U)、ボタン204を示す値B(R)のいずれかが指定される。
【0063】
例えば、あるゲーム課題が、[数2]のように表されるとする。
P(i) = (T(i),B(L)) ・・・[数2]
このとき、ゲームのi番目のゲーム課題は「課題時刻T(i)にコントローラ105の左ボタン201を押圧すること」である。プレイヤーは、通常、ゲーム内の時間がT(i)になったとき、左ボタン201を足で踏めばよい。
【0064】
1つの課題時刻に、複数の課題内容を対応付けることも可能である。ただし、1つの課題時刻には、最大でも2つまでの課題内容を対応付けることが望ましい。例えば課題時刻T(i)に2つの課題内容B(x1),B(x2)を対応付ける場合、ゲーム課題は[数3]のように表される。
【0065】
P(i) = (T(i),B(x1),B(x2)) ・・・[数3]
【0066】
あるいは、[数4]と[数5]に示すように、2つの異なるゲーム課題として表してもよい。
【0067】
P(i) = (T(i),B(x1)) ・・・[数4]
P(i+1) = (T(i),B(x2)) ・・・[数5]
【0068】
例えば、あるゲーム課題が、[数6]のように表されるとする。
P(i) = (T(i),B(L),B(R)) ・・・[数6]
このとき、ゲームのi番目のゲーム課題は「課題時刻T(i)に、コントローラ105の左ボタン201を押圧し、且つ、コントローラ105の右ボタン204を押圧すること」である。プレイヤーは、ゲーム内の時間がT(i)になったとき、左ボタン201と右ボタン204の両方を足で踏めばよい。
【0069】
CPU 101は、ボタン201〜204のうち課題内容によって示されるボタンが課題時刻にどの程度近いタイミングで押圧されたかに基づいて、それぞれのゲーム課題についてのプレイヤー(又はキャラクター)の成績を判定する。例えば、CPU 101は、課題内容によって示されるボタンが課題時刻と同じタイミングで押圧されると“PERFECT”(最も優れている)、課題内容によって示されるボタンが課題時刻の前後の所定余裕幅以内のタイミングで押圧されると“GOOD”(まあまあ合っている)、その他のタイミングで押圧されるかもしくは押圧されなかったときは“BOO”(間違っている)、などのように判定する。
【0070】
図4は、本実施形態のゲーム装置において行われるゲームの画面400の他の構成例である。画面400は、同一ゲームを複数人(本図では2人)でプレイする(以下「マルチプレイ」という。)ときのゲーム画面を表している。マルチプレイでは、参加するすべてのプレイヤーが人間であってもよいし、参加するプレイヤーの一部又は全部が、CPU 101によって制御される仮想プレイヤー(NPC;Non Player Character)であってもよい。
【0071】
複数の人間のプレイヤーがゲームに参加する場合、インターフェース104には、少なくともそれらのプレイヤーの人数分のコントローラ105が接続され、コントローラ105が各人に1つずつ割り当てられる。ゲームに仮想プレイヤーが参加する場合、その仮想プレイヤーにはコントローラ105が割り当てられなくてもよい。
【0072】
画面400の左側エリア440は、第1プレイヤーに割り当てられる表示エリアである。左側エリア440には、所定位置に固定して描画される静止マーク401〜404、描画位置が時間の経過と共に移動する踏み位置指示マーク410(本図中では410A,410B,410C,410Dの4種類)、第1プレイヤー(又は第1キャラクター)がゲームで獲得した点数420、第1プレイヤー(又は第1キャラクター)のゲーム成績を表すゲージ430、その他の背景画像などが表示される。
【0073】
第1プレイヤーが人間である場合、その第1プレイヤーは、左側エリア440を見ながらゲームをプレイする。静止マーク401〜404が表示される位置に踏み位置指示マーク410A〜410Dが移動してきたときに、移動してきた踏み位置指示マーク410A〜410Dに示される矢印に対応するボタン(ボタン201〜204のいずれか)が第1プレイヤーによって押圧されると、CPU 101は、点数420に所定点数を加算したり、ゲージ430が示す値をアップしたりする。
【0074】
第1プレイヤーが仮想プレイヤーである場合、後述するように、CPU 101は、外部メモリ106等に記憶されている過去のプレイ記録に基づいてボタン201〜204が押圧されたとみなして成績を判定し、点数420に所定点数を加算したり、ゲージ430が示す値をアップしたりする。
【0075】
画面400の右側エリア490は、第2プレイヤーに割り当てられる表示エリアである。右側エリア490には、左側エリア440と同様に、所定位置に固定して描画される静止マーク451〜454、描画位置が時間の経過と共に移動する踏み位置指示マーク460(本図中では460A,460B,460C,460Dの4種類)、第2プレイヤー(又は第2キャラクター)がゲームで獲得した点数470、第2プレイヤー(又は第2キャラクター)のゲーム成績を表すゲージ480、その他の背景画像などが表示される。
【0076】
第2プレイヤーが人間である場合、その第2プレイヤーは、右側エリア490を見ながらゲームをプレイする。静止マーク451〜454が表示される位置に踏み位置指示マーク460A〜460Dが移動してきたときに、移動してきた踏み位置指示マーク460A〜460Dに示される矢印に対応するボタン(ボタン201〜204のいずれか)が第2プレイヤーによって押圧されると、CPU 101は、点数470に所定点数を加算したり、ゲージ480が示す値をアップしたりする。
【0077】
第2プレイヤーが仮想プレイヤーである場合、後述するように、CPU 101は、外部メモリ106等に記憶されている過去のプレイ記録に基づいてボタン201〜204が押圧されたとみなして成績を判定し、点数470に所定点数を加算したり、ゲージ480が示す値をアップしたりする。
【0078】
第1プレイヤーと第2プレイヤーは、いずれも、人間であってもよいし、仮想プレイヤーであってもよい。
【0079】
第1プレイヤーと第2プレイヤーの両方が人間である場合、ゲームモードは「マルチプレイ」モードである。マルチプレイモードには、例えば、第1プレイヤーと第2プレイヤーが協力して共通のミッションを達成するような「協力モード」や、第1プレイヤーと第2プレイヤーがスコアを競い合う「対戦モード」がある。
【0080】
第1プレイヤーと第2プレイヤーの両方が仮想プレイヤーである場合、ゲームモードは「デモンストレーション」モードである。例えば、一定時間以上ゲームを開始する旨の指示がなされずに放置された場合、CPU 101は、第1プレイヤーと第2プレイヤーを共に仮想プレイヤーに設定したゲームのデモンストレーションを実行し、ゲームの説明や紹介などを行う。
【0081】
第1プレイヤーと第2プレイヤーのどちらか一方が人間であり、もう片方が仮想プレイヤーである場合、ゲームモードは「仮想マルチプレイ」モードである。仮想マルチプレイモードでは、CPU 101は、人間のプレイヤー(例えば第1プレイヤー)については、コントローラ105が受け付けた指示入力に基づいて成績を判定し、仮想プレイヤー(例えば第2プレイヤー)については、外部メモリ106等に記憶されている過去のプレイ記録に基づいて成績を判定して、ゲームを進行する。人間のプレイヤーは、1人でゲームをプレイしつつも、あたかも他の人間と協力したり他の人と対戦したりするかのように、ゲームを楽しむことができる。
【0082】
次に、上記構成を有する情報処理装置100により実現される、本実施形態のゲーム装置500の機能的な構成等について説明する。図5は、ゲーム装置500の機能的な構成を示す図である。ゲーム装置500は、入力受付部501、ゲーム進行部502、記録部503、修正部504を備える。
【0083】
本実施形態では、ゲーム装置500にて行われるゲームは、仮想マルチプレイモードで行われるゲームである。説明を分かりやすくするため、2人のプレイヤーがゲームに参加するものとし、一方のプレイヤー(以下「第1プレイヤー」という。)が人間であり、他方のプレイヤー(以下「第2プレイヤー」という。)がCPU 101によって制御される仮想プレイヤーである。
【0084】
入力受付部501は、第1プレイヤーから指示入力を受け付ける。プレイヤー(ただし、仮想プレイヤーを除く。)は、コントローラ105のボタン201〜204を押圧することにより、所望の指示を入力することができる。CPU 101とコントローラ105が協働して、入力受付部501として機能する。
【0085】
ゲーム進行部502は、入力受付部501により受け付けられた第1プレイヤーからの指示入力に基づいて自身のキャラクター(以下「第1キャラクター」という。)を動作させ、ゲームを進行する。CPU 101がゲーム進行部502として機能する。
【0086】
ゲーム装置500にて行われるゲームに含まれるキャラクターには、入力受付部501により受け付けられた第1プレイヤーからの指示入力に基づいて動作する第1キャラクターと、CPU 101が制御する第2プレイヤー(仮想プレイヤー)からの指示に基づいて動作するキャラクター(以下「第2キャラクター」という。)とがある。各プレイヤーには1つのキャラクターが対応付けられる。キャラクターは、プレイヤーの指示によって動作したり、プレイヤーの指示によって属性パラメータが変化したりする、プレイヤーの指示対象である。
【0087】
本実施形態におけるキャラクターは、上述のダンスゲームにおいて、プレイヤーに対応付けられ、プレイヤーの指示に基づいて変化する成績やプレイヤー(あるいはキャラクター)に関する情報等が格納されるデータ構造体である。
【0088】
図6(a)に、データ構造体の構成例を示す。第1プレイヤーに対応付けられる第1キャラクター601は、例えば、第1プレイヤーに対応付けて、現在プレイ中のゲームのスコア、現在のゲージ430が示す値、現在プレイ中のゲームのコンボ数(判定「GREAT」を連続して獲得した回数)、過去のプレイを含めたハイスコア、過去のプレイ結果による第1プレイヤーのランク、などを格納するデータ構造体が、第1キャラクター601である。同様に、第2プレイヤーに対応付けてスコア等を格納するデータ構造体が、第2キャラクター602である。
【0089】
本実施形態でいうデータ構造体とは、例えば、コンピュータプログラムを記述する上で用いられるC言語等における構造体(struct)に相当する。構造体に含まれるデータ(メンバー)の数、型、具体的な内容は、本発明によって限定されない。
【0090】
本実施形態のように、キャラクターは、人間のプレイヤーが容易にそれと視認できる画像を伴わない抽象的な概念であってもよいが、仮想的なダンサーの画像などのようにプレイヤーが容易に視認できる画像データを伴うものであってもよい。
【0091】
例えば、レーシングゲームでは、プレイヤーの指示によってコース取りやスピード等が変化する仮想的なレーシングカーや、そのレーシングカーを運転する仮想的なドライバーなどが、キャラクターとなり得る。図6(b)に、レーシングゲームにおけるキャラクターを示す。第1キャラクター611は、第1プレイヤーの指示対象であるレーシングカーを表す画像である。第2キャラクター612は、第2プレイヤーの指示対象であるレーシングカーを表す画像である。
【0092】
また、ゲーム進行部502は、修正部504によって修正された動作経過に基づいて第2キャラクターを動作させるのであるが、詳細は後述する。
【0093】
次に、記録部503は、ゲーム進行部502による第1キャラクターの動作経過を記録する。CPU 101と外部メモリ106が協働して、記録部503として機能する。
【0094】
より詳細には、CPU 101は、ゲーム中、第1プレイヤーからの指示入力に基づいて動作した第1キャラクターの動作経過をいったんRAM 103に記憶しておき、ゲーム終了後、RAM 103に一次記憶した動作経過を、ゲームが行われた時刻(タイムスタンプ)と対応付けて、外部メモリ106に保存する。1件の動作経過は、1つのゲームが開始されてから終了されるまでの第1キャラクターの振る舞いを表す。外部メモリ106に保存される動作経過の件数は任意である。
【0095】
動作経過は、受け付けられた指示入力"P"と、その指示入力"P"が受け付けられた時刻"Q"と、の対応付け{P,Q}を1つの配列要素とし、少なくとも受け付けられた指示入力の数以上の配列数"X"を有する構造体配列変数"ARRAY"を用いて表される。
【0096】
ARRAY = {ARRAY[0], ARRAY[1], ARRAY[2],・・・, ARRAY(X-1)}
ARRAY[n] = { P(n), Q(n) } ・・・[数7]
ただし、nは0以上X-1以下の整数。
P(n):受け付けられた指示入力を示す情報。
Q(n):時刻。
【0097】
時刻"Q"は、典型的には、現実の年月日(yyyymmdd)と時刻(hhmmss)とで表される。
【0098】
なお、受け付けられた指示入力"P"の代わりに、受け付けられた指示入力"P"によって変化した後のキャラクターの状態"R"が用いられてもよい。
【0099】
ARRAY = {ARRAY[0], ARRAY[1], ARRAY[2],・・・, ARRAY(X-1)}
ARRAY[n] = { R(n), Q(n) } ・・・[数8]
ただし、nは0以上X-1以下の整数。
R(n):指示入力によって変化した後のキャラクターの状態を表す情報。
Q(n):時刻。
【0100】
キャラクターの状態は、例えば、レーシングゲームにおけるレーシングカーの位置座標や移動速度、ダンスゲームにおける足譜ごとの成績、格闘ゲームにおけるキャラクターの体力値、などである。
【0101】
記録される動作履歴は、仮想プレイヤーによってなされたものとして扱われる指示入力を決定する際に用いられる。プレイヤーが仮想プレイヤーを相手にマルチプレイでゲームをする場合、そのプレイヤーは、例えば“過去の自分”の記録を基に作られた仮想プレイヤーと一緒にゲームをすることができる。
【0102】
なお、CPU 101は、動作履歴と対応付けて、ゲームをプレイしたプレイヤーを識別する情報(例えばユーザ名等)あるいはキャラクターを識別する情報(例えばキャラクター名)を外部メモリ106に記録してもよい。
【0103】
次に、修正部504は、記録部503によって動作経過が記録されてから現在までの経過に応じて、記録されたその動作経過を修正する。第2キャラクターは、修正された動作経過に基づいて動作することになる。CPU 101が、修正部504として機能する。
【0104】
動作履歴の修正の仕方には様々なバリエーションがあり、以下に幾つか例示する。
【0105】
(1)時刻"Q"を変化させる手法:
CPU 101は、動作経過が外部メモリ106に記録された時刻からの経過時間に応じて、指示入力が受け付けられた時刻"Q"を変化させる。より詳細には、CPU 101は、動作経過が外部メモリ106に記録された時刻からの経過時間が長ければ長いほど、時刻"Q"を変化させる時間の幅を大きくする。
【0106】
図7に示すように、CPU 101は、経過時間の増加に対して、時刻"Q"の修正量を単調増加させる。例えばダンスゲームにおいて、指示入力「ボタン201を押圧する」がゲーム内時刻「音楽再生開始からX秒後の時刻」になされた旨が、動作経過に記録されている場合、この動作経過が記録された日時から現在行っているゲームの開始日時までに時間TAだけ経過していると、CPU 101は、その指示入力「ボタン201を押圧する」が、ゲーム内時刻「音楽再生開始からX+T1秒後の時刻」になされたものと修正する。つまり、第1プレイヤーの協力相手もしくは対戦相手となる第2プレイヤー(仮想プレイヤー)が指示を入力する時刻が、時間T1だけ遅れる。
【0107】
更に、その動作経過が記録された日時から現在行っているゲームの開始日時までに時間TB(TA<TB)だけ経過すると、CPU 101は、その指示入力「ボタン201を押圧する」が、ゲーム内時刻「音楽再生開始からX+T2秒後の時刻」(ただしT1<T2)になされたものと修正する。つまり、第1プレイヤーの協力相手もしくは対戦相手となる第2プレイヤー(仮想プレイヤー)が指示を入力する時刻が、更に時間(T2−T1)だけ遅れ、トータルで時間T2だけ遅れる。このように、CPU 101は、第2プレイヤーが指示を入力する時刻をだんだんと遅くすることにより、仮想プレイヤーがより“のろまな性格”になるように育成してもよい。
【0108】
CPU 101は、第2プレイヤーが指示をする時刻を、遅くする代わりに、早くしてもよい。すなわち、CPU 101は、その指示入力「ボタン201を押圧する」が、ゲーム内時刻「音楽再生開始からX−T1秒後の時刻」になされたものと修正してもよい。つまり、第1プレイヤーの協力相手もしくは対戦相手となる第2プレイヤー(仮想プレイヤー)が指示を入力する時刻が、時間T1だけ早まる。このように、CPU 101は、第2プレイヤーが指示を入力する時刻をだんだんと早くすることによって、仮想プレイヤーがより“せっかちな性格”になるように育成してもよい。
【0109】
あるいは、CPU 101は、第2プレイヤーが指示を入力する時刻を早くするか遅くするかをランダムに決定してもよい。
【0110】
仮に、人間のプレイヤーが仮想プレイヤーを相手に仮想マルチプレイでゲームをするときに、仮想プレイヤーの行動パターンが常に決まっていると、ゲームを重ねるたびに新鮮さが失われていき、最終的にゲームへの関心が薄れてしまう恐れがある。しかし、本実施形態のように、仮想プレイヤーの強さ(ゲームの上手さ)が時間の経過と共に変化するようにすれば、プレイヤーは、ゲームをプレイするたびに、異なった面白さを体験することができる。ゲーム装置500は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0111】
(2)指示入力"P"を変化させる手法:
CPU 101は、動作経過が記録された時刻からの経過時間に応じて、指示入力"P"を変化させる。より詳細には、CPU 101は、動作経過が記録された時刻からの経過時間が長ければ長いほど、動作経過に含まれるすべての指示入力"P"のうち変化させる対象の指示入力の割合を大きくする。
【0112】
図8に示すように、CPU 101は、経過時間の増加に対して、指示入力"P"の修正量を単調増加させる。ただし、修正量は、最終的に100%に収束する。
例えばダンスゲームにおいて、動作経過にX個の指示入力が含まれている場合、この動作経過が記録された日時から現在行っているゲームの開始日時までに時間TCだけ経過していると、CPU 101は、X個のすべての指示入力のうち、割合R1の個数の指示入力について、指示入力を修正する。CPU 101は、例えば、X個のすべての指示入力のうちの20%を修正し、残りの80%は修正しない、といったように、修正対象となる指示入力の個数を調整する。
【0113】
更に、その動作経過が記録された日時から現在行っているゲームの開始日時までに時間TD(TC<TD)だけ経過していると、CPU 101は、X個のすべての指示入力のうち、割合R2(R1<R2))の指示入力について、指示入力を修正する。つまり、時間が経つほど、第2プレイヤーが指示する内容が大きく変わっていく。
【0114】
上述のダンスゲームでは、ゲーム課題ごとに、プレイヤーが達成すべき課題内容B(x)が決まっている。言い換えれば、ゲーム課題ごとに、最もふさわしい“正解”が定義されている。CPU 101は、動作経過が記録された時刻から現在までの経過時間が長いほど、第2プレイヤーによる指示内容が“正解”からだんだん大きく外れていくように、修正してもよい。このように、CPU 101は、第2プレイヤーの成績が徐々に悪くなるように第2プレイヤーの指示内容を変えることによって、仮想プレイヤーがより“下手”になるように育成してもよい。
【0115】
CPU 101は、第2プレイヤーの成績が悪くなるように第2プレイヤーの指示内容を変える代わりに、第2プレイヤーの成績が良くなるように第2プレイヤーの指示内容を変えてもよい。すなわち、CPU 101は、動作経過が記録された時刻から現在までの経過時間が長いほど、第2プレイヤーによる指示内容が“正解”に近づいていくように、修正してもよい。このように、CPU 101は、第2プレイヤーの成績が良くなるように第2プレイヤーの指示内容を変えるによって、仮想プレイヤーがより“上手”になるように育成してもよい。
【0116】
この(2)の手法によっても、プレイヤーは、ゲームをプレイするたびに、異なった面白さを体験することができるようになる。ゲーム装置500は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。
【0117】
(3)その他の手法:
CPU 101は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、対戦相手もしくは協力相手として一緒にプレイした回数に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、CPU 101は、対戦相手もしくは協力相手として選択された回数と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【0118】
例えば、CPU 101は、選択された回数が多ければ多いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、CPU 101は、選択された回数が多ければ多いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【0119】
CPU 101は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、対戦相手もしくは協力相手として一緒にプレイしたときにプレイヤーが相対的に良い成績を収められなかった回数に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、CPU 101は、人間のプレイヤーが相対的に良い成績を収められなかった回数(つまり勝てなかった回数)をカウントし、このカウントした回数と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【0120】
例えば、CPU 101は、相対的に良い成績を収められなかった回数が多ければ多いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、CPU 101は、相対的に良い成績を収められなかった回数が多ければ多いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【0121】
CPU 101は、動作経過が記録された時刻からの経過時間に応じて指示入力"P"や時刻"Q"を変化させる代わりに、所定期間内に対戦相手もしくは協力相手として一緒にプレイした頻度に応じて指示入力"P"や時刻"Q"を変化させてもよい。この場合、CPU 101は、所定期間内に選択された頻度を計算し、この計算された頻度と対応付けて動作経過を記録すればよく、必ずしもゲームが行われた時刻と対応付けて動作経過を記録しなくてもよい。
【0122】
例えば、CPU 101は、計算された頻度が高ければ高いほど、時刻"Q"を変化させる時間の幅を大きくしてもよい。また、例えば、CPU 101は、計算された頻度が高ければ高いほど、動作経過に含まれるすべての指示入力"P"のうち修正する指示入力の割合を大きくしてもよい。
【0123】
次に、本実施形態のゲーム装置500の上記各部が実行する、動作経過の記録処理と、ゲーム処理と、について説明する。記録処理とゲーム処理は、ゲーム装置500がゲームを実行する際、並行して行われる。ここでは、ダンスゲームを例にとって記録処理とゲーム処理を説明する。
【0124】
図9は、動作経過の記録処理を説明するためのフローチャートである。
図10は、ゲーム処理を説明するためのフローチャートである。
【0125】
まず、記録処理について説明する。記録処理は、ゲームモードがシングルプレイモードかマルチプレイモードかに関わらず実行される。
【0126】
CPU 101は、第1プレイヤー(人間のプレイヤー)からの指示入力に応じて、ゲームを開始する(ステップS901)。例えば、第1プレイヤーは、コントローラ105を操作することにより、再生する楽曲(課題曲)を選択し、選択した楽曲を用いたダンスゲームを開始する旨の指示を入力する。
【0127】
ゲーム開始後、CPU 101は、コントローラ105を用いた第1プレイヤーからの指示入力の内容を、その指示入力が受け付けられた時刻と対応付けて、RAM 103に一時記憶する。CPU 101は、ゲーム中に受け付けられた指示入力のそれぞれについて、受け付けられた時刻と対応付けてRAM 103に一時記憶する。つまり、CPU 101は、ゲーム中の動作経過を記憶する(ステップS902)。
【0128】
CPU 101は、ステップS901で開始したゲームが終了したか否かを判別する(ステップS903)。例えば、CPU 101は、課題曲の再生が終了した場合や、ゲージ330が示す値が所定の閾値(典型的にはゼロ)以下になった場合に、ゲームが終了したと判別する。
【0129】
ゲームが終了していないと判別した場合(ステップS903;NO)、CPU 101は、ステップS902〜S903の処理を繰り返す。一方、ゲームが終了したと判別した場合(ステップS903;YES)、CPU 101は、RAM 103に一時記憶した動作経過を、現在日時と対応付けて外部メモリに保存し(ステップS904)、ゲームを終了する。
【0130】
ここでの現在日時とは、ゲームが終了し、動作経過を記録するときの日時である。ただし、ゲームを開始した日時やゲームを終了した日時を現在時刻としてもよい。
【0131】
なお、ステップS904において、CPU 101は、今回行われたゲームによる第1プレイヤーもしくは第1キャラクターの成績(例えば点数320の値)が、既に外部メモリ106に保存された動作経過が示すプレイヤーの成績よりも優れている場合にのみ、RAM 103に一時記憶した動作経過を、現在日時と対応付けて外部メモリ106に保存するようにしてもよい。
【0132】
また、CPU 101は、外部メモリ106に保存できる動作経過の件数に上限を設けてもよい。そして、CPU 101は、ステップS904で動作経過を外部メモリ106に保存する際、既に保存されている動作経過の件数が上限に達している場合には、外部メモリ106に保存されている動作経過のうち最も成績の劣った動作経過を削除してもよい。
【0133】
次に、ゲーム処理について説明する。このゲーム処理は、ゲームモードが仮想マルチプレイモードである場合を想定している。
【0134】
まず、CPU 101は、ゲームに登場する第1キャラクターと第2キャラクターを決定する(ステップS1001)。
【0135】
例えば、本実施形態のゲーム装置500にて実行されるダンスゲームにおいて、第1キャラクターは第1プレイヤーに対応付けられる成績等を格納するデータ構造体であり、第2キャラクターは第2プレイヤーに対応付けられる成績等を格納するデータ構造体である。
あるいは、例えば、レースゲームにおいて、第1キャラクターは第1プレイヤー(人間のプレイヤー)の操作対象であるレーシングカーであり、第2キャラクターは第2プレイヤー(仮想プレイヤー)の操作対象であるレーシングカーである。
【0136】
仮想マルチプレイモードでは、CPU 101は、外部メモリ106に保存された動作経過の中から任意に1つを選択して読み出す(ステップS1002)。
【0137】
ここで、CPU 101は、第1プレイヤーと対応付けて外部メモリ106に記憶されている動作経過を読み出すようにしてもよい。このようにすれば、プレイヤーは、“過去の自分”と一緒にプレイすることができる。また、CPU 101がランダムに動作経過を読み出すこととすれば、プレイヤーは、“過去にプレイした誰か”と一緒にプレイすることができる。
【0138】
CPU 101は、ステップS1002で読み出した動作経過を、例えば上述した時刻"Q"を変化させる手法や指示入力"P"を変化させる手法により、修正する(ステップS1003)。ここで修正された動作経過が、第1キャラクターの協力相手もしくは対戦相手である第2キャラクターがとる動作になる。
【0139】
CPU 101は、第1キャラクターと第2キャラクターを含むゲームを開始する(ステップS1004)。第1キャラクターの協力相手(又は対戦相手)の行動パターンは、かつて第1キャラクターがとった行動パターンと全く同一なのではなく、かつて第1キャラクターがとった行動パターンを基に修正された行動パターンである。第1プレイヤーは、まるで何らかの形で“成長”もしくは“劣化”した“過去の自分”などと協力(又は対戦)するかのように、ゲームをプレイできる。
【0140】
ゲーム実行中、CPU 101は、第1キャラクターの成績と第2キャラクターの成績を判定する。また、CPU 101は、画像処理部108を制御して、入力受付部501によって受け付けられた指示入力に基づく第1キャラクターの動作結果と、修正部504によって修正された動作経過に基づく第2キャラクターの動作結果を、画面に表示する。
【0141】
動作結果は、具体的には、例えば図4に示す点数420,470や、ゲージ430,480や、「PERFECT」「BOO」などのように成績判定結果を示すメッセージなどである。
【0142】
なお、CPU 101は、動作結果を画面に表示するだけでなく、あるいは、動作結果を画面に表示するのに代えて、音声処理部109を制御して動作結果を示す音声を出力してもよい。
【0143】
CPU 101は、ゲームが終了したか否かを判別する(ステップS1005)。例えば、CPU 101は、課題曲の再生が終了した場合や、ゲージ430,480が示す値が所定の閾値(典型的にはゼロ)以下になった場合に、ゲームが終了したと判別する。
【0144】
ゲームが終了していないと判別した場合(ステップS1005;NO)、CPU 101は、ゲームを続行し、ステップS1005の判別を繰り返す。一方、ゲームが終了したと判別した場合(ステップS1005;YES)、CPU 101は、第1プレイヤー(又は第1キャラクター)の成績が第2プレイヤー(又は第2キャラクター)の成績より優れているか否かを判別する(ステップS1006)。すなわち、今回ゲームをプレイした人間のプレイヤーが、仮想の協力相手(又は対戦相手)よりも優れた成績を収めたか否かが判別される。
【0145】
例えば、第1プレイヤーの点数420が示す値が、第2プレイヤーの点数470が示す値よりも大きい場合に、CPU 101は、第1プレイヤーの成績が第2プレイヤーの成績よりも優れていると判別する。
【0146】
第1プレイヤーの成績が第2プレイヤーの成績より優れていない(劣っているか、もしくは同じである)場合(ステップS1006;NO)、CPU 101は、ゲーム処理を終了する。
【0147】
一方、第1プレイヤーの成績が第2プレイヤーの成績より優れている場合(ステップS1006;YES)、CPU 101は、ステップS1002で読み出した動作経過を外部メモリ106から削除し(ステップS1007)、今回の第1プレイヤーの動作経過を外部メモリ106に保存する(ステップS1008)。
【0148】
すなわち、第1プレイヤーが自分の協力相手(又は対戦相手)である第2プレイヤーに勝てば、外部メモリ106に保存される動作経過が入れ替わり、勝たなければ、外部メモリ106に保存される動作経過は維持される。従って、外部メモリ106には、第1プレイヤーにとって有益な協力相手と推測される動作経過や、第1プレイヤーにとって実力相応な対戦相手と推測される動作経過が、優先的に保存されることになる。
【0149】
以上のように、本実施形態によれば、現実のプレイヤーの協力相手や対戦相手となる仮想プレイヤーによって動作が指示されるキャラクターの行動パターンが、時間の経過と共に変化していくので、ゲーム装置500は、プレイヤーにゲームをなるべく飽きさせないようにすることができる。例えば、1回目の対戦時に第1プレイヤーが第1キャラクターの対戦相手として第2キャラクターを指定したものの第1キャラクターが負け、その後、2回目の対戦時に第1プレイヤーが再び同じキャラクターを第2キャラクターに指定した場合、1回目の対戦時の第2キャラクターの強さと、2回目の対戦時の第2キャラクターの強さは、同じではなく、強くなったり弱くなったりする。対戦を繰り返すごとに第2キャラクターを強くすれば、第1キャラクター(もしくは第1プレイヤー)の腕が上達するように手助けする機能を実現できる。また、対戦を繰り返すごとに第2キャラクターを弱くすれば、第1キャラクター(もしくは第1プレイヤー)の腕があたかも上達していくかのように思わせ、ゲームへの関心度をなるべく損なわせなくする機能を実現することができる。
【0150】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【0151】
上記実施形態ではダンスゲームを例にとって説明したが、本発明は、複数のキャラクターが登場するゲームであれば、ダンスゲーム以外の様々なゲームに適用することができる。
【0152】
ゲーム装置500の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0153】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0154】
以上説明したように、本発明によれば、プレイヤーにゲームをなるべく飽きさせないようにするために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0155】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
201 左ボタン
202 下ボタン
203 上ボタン
204 右ボタン
300,400 画面
301〜304,401〜404,451〜454 静止マーク
310A〜310D,410A〜410D,460A〜460D 踏み位置指示マーク
320,420,470 点数
330,430,480 ゲージ(ダンスメーター)
500 ゲーム装置
501 入力受付部
502 ゲーム進行部
503 記録部
504 修正部
601,611 第1キャラクター
602,612 第2キャラクター

【特許請求の範囲】
【請求項1】
第1キャラクターと第2キャラクターとが含まれるゲームを実現するゲーム装置であって、
プレイヤーから指示入力を受け付ける入力受付部と、
前記受け付けられた指示入力に基づいて前記第1キャラクターを動作させて前記ゲームを進行するゲーム進行部と、
前記ゲーム進行部による前記第1キャラクターの動作経過を記録する記録部と、
前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正部と、
を備え、
前記ゲーム進行部は、前記修正された動作経過に基づいて前記第2キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記修正部は、前記経過の長さが長くなるほど、前記動作経過の修正量を大きくする、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
前記記録される動作経過は、前記受け付けられた指示入力と、前記指示入力が受け付けられた時刻と、を対応付ける履歴を表し、
前記修正部は、前記指示入力が受け付けられた時刻を変化させる量を前記修正量とし、前記記録された動作経過を修正する、
ことを特徴とするゲーム装置。
【請求項4】
請求項2に記載のゲーム装置であって、
前記記録される動作経過は、前記受け付けられた指示入力と、前記指示入力が受け付けられた時刻と、を対応付ける履歴を表し、
前記修正部は、前記記録された動作経過が示す履歴のうち前記受け付けられた指示入力を修正する履歴の割合を前記修正量とし、前記記録された動作経過を修正する、
ことを特徴とするゲーム装置。
【請求項5】
請求項1乃至4のいずれか1項に記載のゲーム装置であって、
前記ゲーム進行部は、前記ゲームにおける前記第1キャラクターの成績と前記第2キャラクターの成績を判定し、
前記記録部は、前記判定された第1キャラクターの成績が、前記判定された第2キャラクターの成績よりも優れている場合に、前記第1キャラクターの動作経過を記録する、
ことを特徴とするゲーム装置。
【請求項6】
請求項5に記載のゲーム装置であって、
前記記録部は、前記判定された第1キャラクターの成績が、前記判定された第2キャラクターの成績よりも優れている場合に、前記第2キャラクターの動作経過を削除する、
ことを特徴とするゲーム装置。
【請求項7】
請求項1乃至6のいずれか1項に記載のゲーム装置であって、
前記ゲーム進行部は、前記受け付けられた指示入力に基づいて前記第1キャラクターの動作結果を画面に表示し、前記修正された動作経過に基づいて前記第2キャラクターの動作結果を当該画面に表示する、
ことを特徴とするゲーム装置。
【請求項8】
入力受付部、ゲーム進行部、記録部、修正部を有し、第1キャラクターと第2キャラクターとが含まれるゲームを実現するゲーム装置にて実行されるゲーム処理方法であって、
前記入力受付部が、プレイヤーから指示入力を受け付ける入力受付ステップと、
前記ゲーム進行部が、前記受け付けられた指示入力に基づいて前記第1キャラクターを動作させて前記ゲームを進行するゲーム進行ステップと、
前記記録部が、前記ゲーム進行ステップによる前記第1キャラクターの動作経過をメモリに記録する記録ステップと、
前記修正部が、前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正ステップと、
を備え、
前記ゲーム進行ステップでは、前記ゲーム進行部は、前記修正された動作経過に基づいて前記第2キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするゲーム処理方法。
【請求項9】
第1キャラクターと第2キャラクターとが含まれるゲームを実現するコンピュータを、
プレイヤーから指示入力を受け付ける入力受付部、
前記受け付けられた指示入力に基づいて前記第1キャラクターを動作させて前記ゲームを進行するゲーム進行部、
前記ゲーム進行部による前記第1キャラクターの動作経過を記録する記録部、
前記動作経過が記録されてから現在までの経過に応じて、前記記録された動作経過を修正する修正部、
として機能させ、
前記ゲーム進行部は、前記修正された動作経過に基づいて前記第2キャラクターを更に動作させて前記ゲームを進行する、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate