図1は、本発明に係るゲーム装置の一実施形態を示す外観図である。図1において、本ゲーム装置1は、いずれも薄型の直方体形状を有する上部本体10と下部本体20とを備えている。上部本体10と下部本体20とは、中央のヒンジ部1A周りで回動して開閉可能に連結されている。上部本体10と下部本体20とが対向する面、すなわち図1で見えている両面には、それぞれ中央に長方形をなす所要サイズの表示部11,21が設けられている。表示部11,21は液晶パネルディスプレイ、プラズマディスプレイ、及びEL(Electro luminescence)ディスプレイ等が採用可能である。
下部本体20は、表示部21を挟んで左右側に、ゲーム機のコントローラとして周知の操作部材22が配設されている。操作部材22は、スタートボタン221、セレクトボタン222を備えると共に、X,Y,A,Bの4つのボタン223〜226、十字ボタン227及びアナログパッド228を含む。さらに、操作部材22は、下部本体20の上部の左右角部に配設されたLボタン22L及びRボタン22Rを含む。
スタートボタン221は、ゲームのスタートを指示するために設けられる。セレクトボタン222は、ゲームの種類の選択、その他各種の選択要求に応答するべく指示を行うために設けられる。Aボタン223は、例えばプレイヤキャラクタに対するパンチ、ジャンプ等のアクションを指示するために設けられる。Bボタン224は、セレクトボタン222で選択された内容の変更やAボタン223で指示したアクションの取り消し等を指示するために設けられる。Xボタン225及びYボタン226は、Aボタン223及びBボタン224による指示以外の指示、例えば武器やアイテムの使用指示がある場合に補助的に使用される。十字ボタン(Directional pad)227は、上下左右の4部 位に押圧部と押圧を感知する感知部とを有している。十字ボタン227は、いずれかの押圧部への選択的な押圧によって、対応付けられた方向に、プレイヤがゲームに登場するプレイヤキャラクタ等のゲーム空間内での移動方向を指示したり、カーソルの移動方向を指示したりするために設けられる。アナログパッド228は、傾倒可能に立設された操作桿と操作桿の傾倒方向及び傾倒角度を検知する検知部を有したジョイスティックで、プレイヤキャラクタの移動方向の指示を行うために設けられる。Lボタン22L及びRボタン22Rは、Aボタン223及びBボタン224と同様の操作に用いることができ、又はこれらの補助的な操作にも用いることができる。また、本実施形態では、Lボタン22Lは、ゲーム空間内に配置されてゲーム画像を撮る仮想カメラの視線をリセット(カメラリセット)する場合にも操作される。
表示部21の上面には、タッチパネル23が積層されている。タッチパネル23は、押圧(接触含む)操作位置を感知する薄層の透明材料を用いたものが採用可能である。押圧の感知方式は、電極感圧素子方式の他、電圧降下検出式、光学式及び静電容量結合式等が適宜採用可能である。また、タッチパネル23は、プレイヤの指による又はスタイラスペン25による上面の押圧位置を、例えば直交する方向の電圧等の感知信号として検知することで、押圧位置の2次元座標を検知する。表示部21に表示される画像の表示座標とタッチパネル23の直交検知信号(位置座標)との関係を予め対応付けておくことで、表示部21の画面のいずれの画像に対して押圧が行われたかを検知する。また、タッチパネル23に対する押圧検知動作が高速で周期的に繰り返されることで、継続した押圧が検出される。例えば、押圧が連続して検知されている状態から解除(検知が途絶える)された時点が検出可能である。また、押圧が連続して検知されている状態で検知される押圧位置の変動(すなわち移動)が検出可能である。なお、指等で押圧する態様では、押圧位置は幅を持って検出されるが、この場合、中心点を算出(いわば重心計算)し、この点を押圧位置として扱えばよい。以下、押圧位置の検知や押圧状態の検知を行う態様である表示部21とタッチパネル23とからなる構成をタッチスクリーン24という。
図2は、図1に示すゲーム装置のハードウエア構成の一実施形態を示すブロック図である。ゲーム装置1は、コンピュータを備えており、CPU(Central Processing Unit)300を有する。CPU300は、バスBAを介してROM(Read Only Memory) 321及びRAM(Random Access Memory)322に接続されている。
また、ゲーム装置1は、描画処理プロセッサ323、VRAM(Video RAM)111 ,211、および、音声処理プロセッサ331を含む。描画処理プロセッサ323は、各表示部11,21に必要な画像を表示させる。VRAM111,211は、表示部11,21に対応する。音声処理プロセッサ331は、ゲーム効果音、BGM、音声等の音響信号を生成し、上部本体10の表示部11の左右に設けられた図略のスピーカ33(又は側面に設けられた図略のイヤホン端子)に出力する。
また、ゲーム装置1は、タッチスクリーン24(表示部21及びタッチパネル23)からの検知信号を継続的に受信して押圧、座標情報を検知する入力信号処理部34を備える。さらにゲーム装置1は、必要に応じて、無線通信モジュール35が接続可能にされている。無線通信モジュール35は、HSPA(High Speed Packet Access)等の通信規格に準拠した無線通信によってインターネット上の他のサーバ装置との間でデータ通信を可能にする。無線通信モジュール35は、インターネット上の、ゲームプログラム及びゲームデータを格納しているサーバ装置からゲームプログラム及びゲームデータがダウンロードされる。ゲームメディア36は、ゲームプログラム及びゲームデータを記憶する。ゲームメディア36からかかるゲームプログラム及びゲームデータがRAM322などにダウンロードされる。ゲームデータとしては、ゲーム空間に登場する各キャラクタ、ゲーム空間を構成する各種のオブジェクト、ゲーム進行に必要な各種のデータ類、また、表示部21に表示される各メニュー画面の画像及び各種のアイコン(パネル画像含む)を含む。なお、無線通信モジュール35は、インターネットを介して(または介さず)他のゲーム装置との間でデータ通信することにより、他のプレイヤと対戦ゲーム等を行うことを可能とする。
ROM321は、無線通信モジュール35から、またゲームメディア36等からRAM322にゲームプログラム及び各種のデータをロードするプログラムが記憶されている。また、外部メモリ37は、ゲーム途中でセーブ(保存)したときのゲーム履歴情報をサーブ情報として記憶するもので、メモリスティックやUSB(Universal Serial Bus)メモリ等である。この場合、ゲーム装置1の本体の適所に外部メモリ37との通信を可能にする接続端子が設けられておればよい。RAM322は、ロードしたゲームプログラム及びゲームデータが格納されるロードエリアと、CPU300がゲームプログラムを実行する際に使用するためのワークエリアとを有している。
CPU300は、RAM322にロードされたゲームプログラムを、タッチスクリーン24への押圧及び操作部材22への操作の内容に応じて実行することでゲーム進行を制御する。具体的には、CPU300は、以下の手順でゲーム進行を制御する。CPU300は、スタイラスペン23による操作をタッチスクリーン24を用いて検出する。この操作信号は入力信号処理部34を経て入力される。CPU300は、操作部材22からの操作信号を入力する。CPU300は、RAM322に展開されているゲームプログラムに従ってその操作信号に対応する所定のゲーム進行処理を行う。CPU300は、その処理結果を、ゲーム進行を示す画像(以下、「ゲーム画像」)として表示部11の画面に表示する。また、CPU300は、必要に応じて、ゲーム進行を示す音声信号(以下、「ゲーム音声」)をスピーカ33又はイヤホン端子に出力する。
表示部11へのゲーム画像の描画処理は、CPU300の指令を受けて描画処理プロセッサ323が実行する。すなわち、CPU300は、プレイヤにより操作部材22及びタッチスクリーン24から入力された操作信号等に基づき、表示部11の画面に表示すべきゲーム画像の内容を決定する。CPU300は、描画処理プロセッサ323に、その内容に対して必要な描画データを生成させ、その描画データを用いて描画処理を行わせる。描画処理プロセッサ323は、描画データに基づいて所定周期、例えば1/60秒毎にゲーム画像を生成し、生成したゲーム画像をVRAM111に書き込む。VRAM111に書き込まれたゲーム画像は、1/60秒毎にフレーム単位で繰り返し読み出されて表示部11に描画される。
また、後述する表示部21への画像の描画処理は、CPU300の指令を受けて描画処理プロセッサ323が行う。すなわち、CPU300は、プレイヤにより操作部材22及びタッチスクリーン24から入力された操作信号等に基づき、表示部21の画面に表示すべき画像の内容を決定する。描画処理プロセッサ323は、その内容に対して必要な描画データを生成し、さらにその描画データを用いて描画処理を行う。描画処理プロセッサ323は、描画データに基づいて所定周期、例えば1/60秒毎に画像を生成し、生成したゲーム画像をVRAM211に書き込む。VRAM211に書き込まれたゲーム画像は、1/60秒毎にフレーム単位で繰り返し読み出されて表示部21に描画される。ここに、CPU300、ROM321、RAM322、描画処理プロセッサ323及び音声処理プロセッサ331は制御部30を構成している。
なお、本ゲーム装置1で実行可能なゲームは、複数プレイヤによるゲームの他、1人のプレイヤで行うゲームを含む。1人プレイヤゲームとしては、予め設定されたゲームルールに従って行動などするようにCPUによって制御されるNPC(Non Player Character)を相手に行うゲームであってもよく、この場合、サッカーゲームのようなチーム対戦ゲームであってもよい。また、ゲームの種類も、各種の対戦ゲーム及び競争ゲームに適用可能である。
ここで、本ゲーム装置1で実行されるゲームの一例について説明する。本ゲームは、戦闘ゲームであり、戦闘のための複数のゲーム空間(戦闘ゲーム空間)と、プレイヤが操作するプレイヤキャラクタに対して戦闘の準備等を行わせるための拠点となるゲーム空間(拠点ゲーム空間)とが準備されている。それぞれの戦闘ゲーム空間には、ゲーム空間毎に、ターゲットとなるNPCのモンスターキャラクタが割り当てられ、かつNPCである種々の敵キャラクタがゲームの難度を高める演出等の目的で準備されている。敵キャラクタ及びモンスターキャラクタは、戦闘ゲーム空間においてゲームプログラムに従ってプレイヤキャラクタ等と対戦する等の種々の行動を実行するよう制御される。
プレイヤキャラクタは、拠点ゲーム空間において、予め付与された乃至は過去の戦績で獲得したポイント、その他を利用して戦闘のための各種アイテム(武器、プレイヤキャラクタの味方であるNPCの仲間キャラクタ「Player2,Player3,…」等)を補充したりする。仲間キャラクタは、プレイヤキャラクタの戦闘行動を側面から支援する行動を実行するようにゲームプログラムによって制御される。
また、拠点ゲーム空間では、プレイヤキャラクタに対し、例えば無作為に、あるモンスターキャラクタの退治乃至は捕獲のコマンドが発生する。プレイヤキャラクタは、このコマンドを受けると、必要なアイテム、武器、仲間キャラクタ等の補充、補強を行った後、当該モンスターキャラクタが割り当てられている戦闘ゲーム空間に移行する。そして、プレイヤキャラクタは、移行先の戦闘ゲーム空間内、かつ所定の時間制限の中で、各種の敵キャラクタと戦う。また戦闘ゲーム空間は複数の戦闘エリアに区分されており、プレイヤキャラクタは全体地図を頼りに最終的にターゲットであるモンスターキャラクタを見つけて、戦闘を行う。そして、プレイヤキャラクタが制限時間内にコマンドを達成して拠点ゲーム空間に戻ることで、プレイヤは所定のポイントを取得することができる。その後、CPU300は、1つのゲームステージを終了する。
上記において、戦闘を有利に進めるために、プレイヤは、アイテムの使用に対する素速い指示や、迅速な状況判断を行うことが望まれる。ゲーム進行のための各種の指示は、機構的な操作部材22で行うことが可能である。しかし、操作部材22は配置が固定化されたものであること、また指令の種類の多さを考えると、ゲーム進行に関する指示内容に対応付けられたパネル画像をタッチスクリーン24に、ある程度準備可能にすることが望ましい。例えば図5を参照して簡単に説明すると、表示部21に表示されているパネル画像のうち、例えば「カメラ」パネル画像Q1の上下左右部位のいずれかが押圧されると、表示部11にゲーム画像を撮るための仮想カメラの視線が対応する方向に旋回され、ゲーム空間に対する視野を変えることができる。また、「仲間ステータス」パネル画像Q10が押圧されると、仲間キャラクタの状況が即座に把握できてゲーム戦略を練り直す等が可能となる。その他、「アクションショートカット」パネル画像が押圧されると、プレイヤキャラクタに対して所定のアクションを指示することができる。
図3は、制御部の機能的な構成の一実施形態を示すブロック図である。ゲーム装置1の制御部30は、操作受付処理部302、ゲーム進行処理部303、上側画面表示処理部304、下側画面表示処理部305、及び、ターゲットスコープ処理部310等として機能する。操作受付処理部302は、操作部材22及びタッチスクリーン24からの操作信号の受付処理を行う。ゲーム進行処理部303は、操作受付処理部302による処理に基づいてゲーム進行を制御する上側画面表示処理部304は、ゲーム進行処理部303からの指示を受けて表示部11の画面にゲーム画像を描画させる。下側画面表示処理部305は、表示部21の画面に所定の画像を描画させる。一致判定部309は、ゲーム進行中に表示部11に表示予定の所定のパネル画像と同一乃至は対応するパネル画像がパネル画像登録処理部306によって表示部21上で選択されているか否かを判断する。ターゲットスコープ処理部310は、仮想カメラをターゲットキャラクタの方に向ける処理を許可するためのターゲットスコープの表示および消去、及びLボタン22Lが操作された場合の仮想カメラの視線変更処理を行う。
操作受付処理部302は、操作部材22及びタッチスクリーン24からの操作信号の入力を所定周期で連続的に検知している。操作受付処理部302は、操作部材22から操作信号が検知されると、ボタン221〜226,Lボタン22L、Rボタン22R、十字ボタン227及びアナログパッド228のいずれが操作されたかを判断し、検知した信号をゲーム進行処理部303及び必要な処理部に出力する。また、操作受付処理部302は、プレイヤの指又はスタイラスペン25による押圧によってタッチスクリーン24から押圧信号が入力されると、押圧信号から位置座標を算出して、ゲーム進行処理部303及び必要な処理部に出力する。操作受付処理部302は、タッチスクリーン24等に対する押圧の有無を連続的に検知していることで、例えばスタイラスペン25をタッチスクリーン24に押圧したままスライドさせた操作態様を検知可能である。また、連続して検知されていた信号が途切れることで、スタイラスペン25がタッチスクリーン24から離されたことを検知可能である。
ゲーム進行処理部303は、操作受付処理部302から入力される信号等に基づいて、ゲームプログラムに従ってゲームを展開させ、それに応じたゲーム画像の描画処理を上側画面表示処理部304に指示する。例えばアナログパッド228が所定方向、例えば左方に傾倒操作されたことが検知されると、ゲーム進行処理部303は、この信号を受けてゲーム画面上のプレイヤキャラクタをゲーム画面上で左方向に歩行させる描画処理を指示する。この場合、上側画面表示処理部304はプレイヤキャラクタを左方向に歩行させる演出画像の表示を行う。
戦闘ゲーム空間内には、プレイヤキャラクタの移動に連動して、乃至は例えば十字ボタン227を利用してのプレイヤの指示操作によって移動制御される仮想カメラが配置されている。表示部11には、仮想カメラの視線方向の所定視野内の画像が描画される。仮想カメラの挙動は、通常、ゲーム進行処理部303によって制御される。仮想カメラは、例えばプレイヤキャラクタを中心に所要の半径で水平方向や垂直方向に移動可能にされており、原則としてプレイヤキャラクタを中心とした所要の視野をプレイヤキャラクタの後方から撮るように制御される。例えば図4、図5に示す表示部11には、プレイヤキャラクタを中央に撮った戦闘ゲームの一場面が描画されている。
また、ゲーム進行処理部303は、ゲーム進行中に、タッチスクリーン24から操作受付処理部302を経て位置座標が入力された場合、この位置座標の入力の連続性また入力された位置座標の変化等と、表示部21に表示されている各種アイコン(パネル画像含む)の表示位置を示す表示アドレスとから、ゲーム進行に関わる指示内容を決定する処理を行う。ゲーム進行処理部303は、例えば、タッチスクリーン24からの位置座標が、対応する表示部21の画面上のいずれの箇所かを判断し、その箇所に表示されているパネル画像を識別することで、押圧されたパネル画像を特定することができる。その結果、ゲーム進行処理部303は、それに応じた機能乃至は処理をゲーム進行に反映させる。また、スタイラスペン25等がタッチスクリーン24上でスライドされる結果、算出された位置座標が変化している場合、その変化方向及び変化速さを用いることで、かかるスライド操作を含めた指示を検知することができる。
下側画面表示処理部305は、表示部21に対して、ゲーム進行中での表示部21に表示される配置パネル表示画面、その他の設定、調整のためのパネル画像に対する表示処理を、後述のようにして行う。
「カメラ」パネル画像は、仮想カメラの視線を旋回させる機能に対応付けられている。「カメラ」パネル画像の内部に描かれている十字ボタン画像の上下左右部位のいずれかの押圧が検出されたとき、仮想カメラの視線が、プレイヤキャラクタを中心にした所要半径上で、押圧の部位に対応付けられた方向、すなわち上下方向、左右方向に旋回する。この旋回処理と並行して、プレイヤキャラクタの顔の向きが仮想カメラの向いている方向に変更される。なお、この処理は、操作部材22である十字ボタン227に対する操作に対しても同様に行われる。「ターゲットコントロール」パネル画像は、仮想カメラに対するリセット操作(例えばLボタン22Lを操作)で、仮想カメラの視線を、当該戦闘ゲーム空間でのターゲットであるモンスターキャラクタの方向に向かせる機能(ロックオン機能)に対応付けられている。この操作が行われると、戦闘ゲーム空間内における仮想カメラの視線方向がモンスターキャラクタの方向に変更される。
図4は、ゲーム進行中の一場面を示す画面図である。上側の表示部11には戦闘を行うゲーム空間を演出した画面が表示され、下側の表示部21にはパネル画像が表示されている。なお、下部本体20の操作部材22類は便宜上省略している。
表示部11には、画面略中央にプレイヤキャラクタ120が表示され、さらに、アイテムとして例えば、「マイステータス」画像121、「マップ」画像122、選択中のアイテム、ここではある種の「スタミナ回復アイテム」画像123が表示され、そして、領域FGに、通常であれば「仲間ステータス」画像が表示されている。すなわち、表示部11には、仮想カメラで撮られたゲーム空間の2次元画像上に「マイステータス」画像121等が合成表示される。「マイステータス」画像121には、「体力」ゲージ画像1211と「スタミナ」ゲージ画像1212とが少なくとも表示され、プレイヤキャラクタの「体力」、「スタミナ」が常に認識可能になっている。また、ゲームの制限時間を計時するタイマ画像1213も表示されている。「体力」ゲージ画像1211及び「スタミナ」ゲージ画像1212は、前述したように、それらの消費や回復状態によって値が増減し、現時点での値に連動してゲージ長が伸張縮小するよう表示処理される。これら表示部11に表示される「体力」ゲージ画像1211、「スタミナ」ゲージ画像1212、タイマ画像1213などの「マイステータス」画像121、「マップ」画像122は、プレイヤキャラクタの状態やゲームの状況をプレイヤに対して表示するインジケータ画像である。
「マップ」画像122には、プレイヤキャラクタの位置がマークPで示される他、戦闘ゲーム空間を区分した各戦闘エリアに戦闘エリア情報が、例えば連番で付されている。「マップ」画像122にマークPの他、必要に応じて仲間キャラクタやターゲットキャラクタの位置がそれぞれ識別可能なマークで表示されることで、プレイヤは、プレイヤキャラクタの他、仲間キャラクタやターゲットキャラクタがいずれの戦闘エリアにいるかまでも把握することができる。
図4に示す状態の表示部21には、「カメラ」パネル画像Q1、「仲間ステータス」パネル画像Q10が配置されており、その他、「アクション」パネル画像、「調合」パネル画像、「キック」パネル画像が配置されている。
プレイヤが、「仲間ステータス」パネル画像Q10内の「Player1」、「Player2」、「Player3」のいずれかの表示位置を押圧指定すると、指定された仲間キャラクタのステータス情報(体力、スタミナ等)が表示される。あるいは、プレイヤが、「仲間ステータス」パネル画像Q10を押圧すると、各仲間キャラクタのステータス情報が表示部21に別途形成されたウィンドウ内に拡大表示されるようにしてもよい。
図5は、表示部21に表示される「ターゲットコントロール」パネル画像Q20を説明する図である。図5(A)は戦闘ゲーム空間毎に割り当てられたモンスター等のターゲットに対応する「ターゲット」画像601が表示されている画像を示す図である。図5(B)は「ターゲット」画像601に「ターゲットスコープ」画像602が重畳表示されている状態の画像を示す図である。図5(C)は「ターゲット」画像601に「エリア外」画像603が重畳して表示されている状態の画像を示す図である。図5(D)は「ターゲット」画像601に「ターゲットスコープ」画像602及び「エリア外」画像603が重畳して表示されている状態の画像を示す図である。すなわち、「ターゲットコントロール」パネル画像Q20は、1つの「ターゲット」画像601を表示するターゲット表示エリア(601)を有している。
図5(A)において、「ターゲットコントロール」パネル画像Q20は、カスタマイズモードで選択されて配置表示域42内の指定された配置エリアに表示される。「ターゲット」画像601は、所定のモンスターを模した画像、例えばプレイヤキャラクタの移動先の戦闘ゲーム空間内で登場するように予め対応付けられているモンスターキャラクタを模擬した画像である。「ターゲットコントロール」パネル画像Q20はRAM322内のゲームデータ中から読み出されて、表示部21に表示される。モンスターキャラクタは、拠点ゲーム空間において退治乃至は捕獲のコマンドの対象となるターゲットキャラクタである。また、コマンドと関係なく、所定のモンスター、例えば戦闘ゲーム空間において、各々に設定されている強さに対応する値が最大のモンスターがターゲットキャラクタとして設定される態様でもよい。
ターゲットスコープ処理部310は、ゲーム進行中に、スタイラスペン25でタッチスクリーン24の「ターゲット」画像601の表示位置が押圧されたことを検知すると、「ターゲットスコープ」画像602の表示の有無を判断する。ターゲットスコープ処理部310は、「ターゲットスコープ」画像602が非表示であれば、「ターゲットスコープ」画像602を重畳表示(図5(B)参照)し、逆に「ターゲットスコープ」画像602が表示中であれば、「ターゲットスコープ」画像602を消去(図5(A)参照)する指示を下側画面表示処理部305に出力する。なお、ゲーム進行処理部303によって、プレイヤキャラクタに対する前記コマンドが終了したと判断された時点で 「ターゲットスコープ」画像602の表示は停止される。
また、戦闘ゲーム空間は、前述したように複数の戦闘エリアに区分けされており、いずれかの戦闘エリアで戦闘が進行する。すなわち、表示部11に表示されるゲーム画像内でのゲーム進行処理は戦闘エリア単位で行われ、これによって一時的にRAM322に展開するデータ量を低減して処理負担を緩和する。従って、戦闘ゲーム空間において、ターゲットキャラクタが、プレイヤキャラクタと同一戦闘エリアでなく、他の戦闘エリアにいる状態では、プレイヤキャラクタがターゲットキャラクタに直接関与することはない。しかし、その一方で、プレイヤキャラクタはターゲットキャラクタの所在等が把握可能になっていることが戦略性を反映させる上で望ましい。そこで、ゲーム進行処理部303は、ターゲットキャラクタがどの戦闘エリアに居るかを常時監視する。そして、ターゲットスコープ処理部310は、ターゲットキャラクタがプレイヤキャラクタと同じ戦闘エリアから別の戦闘エリアに外れると、「ターゲット」画像601の画像を図5(A)の画像から「エリア外」画像603が併記された図5(C)の画像に切り換える。逆の場合は、ターゲットスコープ処理部310は、「ターゲット」画像601の画像を図5(C)の画像から図5(A)の画像に切り換える。また、ターゲットスコープ処理部310は、図5(A)の表示状態において、「ターゲット」画像601が押圧されたときに、ターゲットキャラクタがプレイヤキャラクタとは異なる戦闘エリアにいると判断した場合、図5(B)の画像に代えて、「ターゲットスコープ」画像602及び「エリア外」画像603が併記された図5(D)に示す画像を表示する。
ところで、ゲーム進行中には、プレイヤの操作によって、あるいはゲーム進行状況によって仮想カメラの視線がプレイヤキャラクタに対する基準位置から外れるが、かかる場合に、仮想カメラの視線を一旦プレイヤキャラクタが向いている向き(基準位置)に戻して(カメラリセット)、プレイヤキャラクタの状況を把握することは重要である。そのための操作部材として、例えばLボタン22Lが設けられている。ゲーム進行中であって「ターゲットスコープ」画像602が設定されている以外の状態で、Lボタン22Lが操作されると、ゲーム進行処理部303は、当該戦闘ゲーム空間におけるプレイヤキャラクタの現在位置情報と仮想カメラ自身の現在視点情報とを取得して、カメラリセット処理を行う。カメラリセット処理とは、仮想カメラの視線を、視野の中心にプレイヤキャラクタが、後方から入るように変更する処理である。
一方、図5(B)の「ターゲットスコープ」画像602が設定されている状態で、Lボタン22Lが操作されると、ゲーム進行処理部303は、仮想カメラ自身の現在視点情報、プレイヤキャラクタの現在位置情報及びターゲットキャラクタの現在位置情報とを取得して、仮想カメラのロックオン処理を行う。ロックオン処理とは、仮想カメラの視点をプレイヤキャラクタとターゲットキャラクタとを結ぶ線上に変更し、かつ仮想カメラの視線を視野内に近い側にプレイヤキャラクタが、遠い側にターゲットキャラクタが撮るように調整する処理である。なお、図5(C),(D)の場合には、ターゲットキャラクタは同一戦闘エリアに存在しないので、Lボタン22Lが操作されると、仮想カメラに対してカメラリセットの処理が実行される。
また、所定のボタン、例えばLボタン22Lによって特定のリセット操作が行われたことが検知されると、「ターゲットコントロール」パネル画像の配置表示域42内への配置の如何を問わず、カメラリセットの処理が実行される。特定のリセット操作としては、例えば、ボタンの押し込み操作を連続して2回行う等である。
ここで、図6および図7を参照してロックオン処理およびカメラリセット処理について詳細に説明する。ロックオン処理とは、上述したように、仮想カメラ140の視線をターゲットキャラクタ130方向に変更する処理である。仮想カメラ140は、プレイヤの操作によるカメラパネル画像Q1または十字ボタン227の操作によって、プレイヤキャラクタを中心に旋回および向きを上下(チルト)する。仮想カメラ140は、プレイヤキャラクタを中心に旋回するため、旋回角度によらず、プレイヤキャラクタ120が視野の中心に入っている。ロックオン操作(たとえばLボタン22Lの押し下げ)がされると、仮想カメラ140は、プレイヤキャラクタ120を視野の中央に維持しながら、視線をターゲットキャラクタ130のほうに向ける。なお、図6(A)〜図7(B)は、いずれも仮想カメラ140がロックオンされた状態を示している。
ターゲットキャラクタ130には、仮想カメラ140の視線の目標点である注視点131が設定されている。注視点131は、ターゲットキャラクタ130の顔付近に設定される。図6(A)は、ロックオン操作に応じて仮想カメラ140がターゲットキャラクタ130の注視点131(131A)にカメラの視線を向けた状態を示した図である。
ターゲットキャラクタ130には、プレイヤキャラクタ120よりも大きいものがある。プレイヤキャラクタ120とターゲットキャラクタ130が接近した状態でロックオン操作がされたとき、仮想カメラ140の視線をターゲットキャラクタ130の顔付近に設定されている注視点131Aに向けると、大きく見上げるような視線になってしまい、プレイヤキャラクタ120が殆ど視野から外れてしまう。そこで、プレイヤキャラクタ120とターゲットキャラクタ130との距離に応じて、図6(B)に示すように、注視点131を下方の131Bの位置に修正し、仮想カメラ140の視線が大きく見上げるようにならない視線でロックオン処理を行う。
また、図6(C)のようにターゲットキャラクタ130が空中を飛んでいる場合や、図6(D)のようにプレイヤキャラクタ120が居る地面(ステージ)よりもターゲットキャラクタ130が居る地面のほうが高い場合にも、注視点131を低い位置131C,131Dに修正して、仮想カメラ140のロックオン処理を行う。なお、図6(C),図6(D)のようにプレイヤキャラクタ120とターゲットキャラクタ130の位置に高度差がある場合、距離は考慮せずに注視点131を修正してもよく、図6(B)の場合と同様に、高度差に加えて距離も考慮して注視点131を修正してもよい。
なお、仮想カメラ140は、プレイヤの操作によって、その高さを上下させることも可能であるが、ロックオン時にはデフォルトの高さ(図6に示した高さ)にリセットされる。また、ロックオン時にLボタン22Lが二度押しされると、プレイヤキャラクタ120が向いている方向に仮想カメラ140の視線を戻すカメラリセット処理が行われるが、ロックオン前に仮想カメラ140の高さが上下していた場合、その高さに戻してもよく、デフォルトの高さでカメラリセットを行ってもよい。
図6(C)、(D)の例では、ターゲットキャラクタ130との距離および注視点131の高さに応じて仮想カメラ140をチルトさせているが、ターゲットキャラクタ130の距離に応じて、さらに、仮想カメラ140を上下に移動させてもよい。図7(A),(B)にその例を示す。
図7(A)は、ロックオン操作がされたとき、プレイヤキャラクタ120とターゲットキャラクタ130との距離が遠い場合の仮想カメラ140の視線を示す図である。仮想カメラ140をデフォルト位置から上方に移動させ広い視野で見下ろすような視線でターゲットキャラクタ130にロックオンさせている。ターゲットキャラクタ130には、低い位置に注視点132(132A)が設定され、仮想カメラ140の視線はこの注視点132Aに向けられる。
図7(B)は、ロックオン操作がされたとき、プレイヤキャラクタ120とターゲットキャラクタ130との距離が近い場合の仮想カメラ140の視線を示す図である。仮想カメラ140をデフォルト位置から下方に移動させ見上げるような視線でターゲットキャラクタ130にロックオンさせている。ターゲットキャラクタ130には、低い位置に注視点132(132B)が設定され、仮想カメラ140の視線はこの注視点132Bに向けられる。
このように、仮想カメラ140を上下させることにより(さらに視野角を変更することにより)、プレイヤキャラクタ120を仮想カメラ140の視野に入れつつ距離感を強調することも可能である。
図8は、表示部21に表示される「ターゲットコントロール」パネル画像Q30を説明する図である。図8は、図5の場合と異なり、戦闘ゲーム空間にモンスターが複数種類、ここでは2種類のモンスターが割り当てられている場合を示している。2種類のモンスターキャラクタは、拠点ゲーム空間において退治乃至は捕獲のコマンドの対象となる第1、第2のターゲットキャラクタである。また、コマンドと関係なく、所定の2種類のモンスター、例えば戦闘ゲーム空間において、各々に設定されている強さに対応する値が最大のモンスターと2番目のモンスターとが第1、第2のターゲットキャラクタとして設定される態様でもよい。すなわち、「ターゲットコントロール」パネル画像Q30は、「ターゲット」画像701,801を表示する2つのターゲット表示エリア (701,801)を有している。
図8(A)は戦闘ゲーム空間毎に割り当てられたモンスター等のターゲットキャラクタに対応する第1の「ターゲット」画像701と第2の「ターゲット」画像801とが併記表示されている画像図である。図8(B)は第1の「ターゲット」画像701に第1の「ターゲットスコープ」画像702が重畳表示されている状態の画像図である。図8(C)は第2の「ターゲット」画像801に第2の「ターゲットスコープ」画像802が重畳表示されている状態の画像図である。図8(D)は第2の「ターゲット」画像801に「エリア外」画像803が重畳して併記表示されている状態の画像図である。図8(E)は第2の「ターゲット」画像801に第2の「ターゲットスコープ」画像802及び「エリア外」画像803が重畳して併記表示されている状態の画像図である。なお、2つのターゲットキャラクタの一方が退治乃至は捕獲されると、当該ターゲットキャラクタの「ターゲット」パネル画像が消去され、他方の「ターゲット」パネル画像のみとなる。
ターゲットスコープ処理部310は、第1の「ターゲット」画像701と第2の「ターゲット」画像801とのいずれ側が押圧されたかを判断する。ターゲットスコープ処理部310は、第1の「ターゲット」画像701が押圧されたと判断した場合には、第1の「ターゲットスコープ」画像702の表示の有無を判断し、非表示であれば、第1の「ターゲット」画像701に第1の「ターゲットスコープ」画像702を重畳表示し、かつ第2の「ターゲット」画像801に第2の「ターゲットスコープ」画像802が重畳表示されている場合には第2の「ターゲットスコープ」画像802を消去する(図8(B)参照)。一方、ターゲットスコープ処理部310は、第1の「ターゲット」画像701が押圧されたと判断した場合に、第1の「ターゲットスコープ」画像702が逆に表示中であれば、第1の「ターゲットスコープ」画像702を消去(図8(A)参照)する。
ターゲットスコープ処理部310は、第2の「ターゲット」画像801が押圧されたと判断した場合には、第2の「ターゲットスコープ」画像802の表示の有無を判断し、非表示であれば、第2の「ターゲット」画像801に第2の「ターゲットスコープ」画像802を重畳表示し、かつ第1の「ターゲット」画像701に第1の「ターゲットスコープ」画像702が重畳表示されている場合には第1の「ターゲットスコープ」画像702を消去する(図8(C)参照)。一方、ターゲットスコープ処理部310は、第2の「ターゲット」画像801が押圧されたと判断した場合に、「第2のターゲットスコープ」画像802が逆に表示中であれば、第2の「ターゲットスコープ」画像802を消去(図8(A)参照)する。
このように、「ターゲットスコープ」画像702,802をいずれか一方しか表示しないようにして、Lボタン22Lの操作で、いずれのターゲットに対して仮想カメラをロックオンさせるかをプレイヤが識別できる。
また、ゲーム進行処理部303は、第1、第2のターゲットキャラクタの居場所である戦闘エリアを常時監視する。そして、ターゲットスコープ処理部310は、例えば第2のターゲットキャラクタがプレイヤキャラクタと同じ戦闘エリアから別の戦闘エリアに外れると、図8(A)から「エリア外」画像803が併記された図8(D)の画像に変わり、逆の場合は、図8(D)から図8(A)に変わるように表示される。また、プレイヤキャラクタと同一戦闘エリアに存在しないターゲットキャラクタが選択された場合、例えば同一戦闘エリアに第2のターゲットキャラクタがいない状況(図8(D))で、この第2のターゲットキャラクタが選択された場合(第2の「ターゲット」画像801が押圧されたと判断した場合)、第2の「ターゲット」画像801に「第2のターゲットスコープ」画像802と「エリア外」画像803とが重畳して併記表示される (図8(E)参照)。なお、第2のターゲットキャラクタについて説明したが、第1のターゲットキャラクタの場合も同様である。
図9は、制御部30によって実行される、ターゲットコントロール表示処理の一例を示すフローチャートである。この処理は、ターゲットキャラクタがいずれの戦闘エリアに居るかの継続的な監視の結果を利用するものである。すなわち、本実施形態では、配置表示域42内に「ターゲット」画像が配置されている場合のゲーム進行において,前記監視結果を利用した処理を行う。
このフローチャートでは、まず、プレイヤキャラクタが1つの戦闘移動空間に移動すると、当該戦闘ゲーム空間のターゲットキャラクタの数が、例えばモンスターが1匹か2匹かというように判断される(ステップS121)。次いで、ターゲットコントロール表示処理の元でのそれぞれの場合において、所定の割込処理が許可される(ステップS123,S127)。そして、モンスターが1匹であれば、ステップS125で「ターゲットスコープ表示処理I」が実行され、モンスターが2匹であれば、ステップS129で「ターゲットスコープ表示処理II」が実行される。
図10〜図12は、割込許可される割込処理の内容を示している。図10は、制御部30によって実行される、ターゲットキャラクタが1つの場合における割込Iの処理を示すフローチャートである。まず、ターゲットキャラクタおよびプレイヤキャラクタに対する継続的な監視の結果から、ターゲットキャラクタの存在する戦闘エリアがプレイヤキャラクタのいる戦闘エリアに対して異同の変化があったか否かが判断される(ステップS131)。異同の変化とは、ターゲットキャラクタの存在する戦闘エリアとプレイヤキャラクタのいる戦闘エリアとの一致/不一致の変化である。なお、異同変化がなければ、割込Iの処理は発生しない。
異同変化の内、ターゲットキャラクタとプレイヤキャラクタとが異なる戦闘エリアに存在することとなった場合、「ターゲット」画像601に「エリア外」画像603が重ね合わせて表示される(ステップS133)。一方、異同変化の内、ターゲットキャラクタとプレイヤキャラクタとが同じ戦闘エリアに存在することとなった場合、「ターゲット」画像601上から「エリア外」画像603が消去される(ステップS135)。そして、次に異同変化があるまで表示/非表示の状態が持続される。
図11は、制御部30によって実行される、ターゲットキャラクタが2つの場合における割込IIの処理を示すフローチャートである。まず、第1のターゲットキャラクタおよびプレイヤキャラクタに対する継続的な監視の結果から、第1のターゲットキャラクタの存在する戦闘エリアがプレイヤキャラクタのいる戦闘エリアに対して異同の変化があったか否かが判断される(ステップS141)。なお、異同変化がなければ、割込IIの処理は発生しない。
異同変化の内、第1のターゲットキャラクタとプレイヤキャラクタとが異なる戦闘エリアに存在することとなった場合、第1の「ターゲット」画像701(図8参照)に 「エリア外」画像703が重ね合わせて表示される(ステップS143)。一方、異同変化の内、第1のターゲットキャラクタとプレイヤキャラクタとが同じ戦闘エリアに存在することとなった場合、第1の「ターゲット」画像701上から「エリア外」画像703が消去される(ステップS145)。そして、次に異同変化があるまで表示/非表示の状態が持続される。
図12は、制御部30によって実行される、ターゲットキャラクタが2つの場合における割込IIIの処理を示すフローチャートである。まず、第2のターゲットキャラクタ およびプレイヤキャラクタに対する継続的な監視の結果から、第2のターゲットキャラクタの存在する戦闘エリアがプレイヤキャラクタのいる戦闘エリアに対して異同の変化があったか否かが判断される(ステップS151)。なお、異同変化がなければ、割込IIIの処理は発生しない。
異同変化の内、第2のターゲットキャラクタとプレイヤキャラクタとが異なる戦闘エリアに存在することとなった場合、第2の「ターゲット」画像801(図8参照)に 「エリア外」画像803が重ね合わせて表示される(ステップS153)。一方、異同変化の内、第2のターゲットキャラクタとプレイヤキャラクタとが同じ戦闘エリアに存在することとなった場合、第2の「ターゲット」画像801上から「エリア外」画像803が消去される(ステップS155)。そして、次に異同変化があるまで表示/非表示の状態が持続される。
図13は、「ターゲットスコープ表示処理I」(図9のステップS125参照)の一例を示すフローチャートである。まず、「ターゲット」画像601(図5(A)参照)の押圧、LボタンL22の操作、LボタンL22の特定操作(リセット操作)の有無が、例えばこの順番で判断される(ステップS161,S163,S165)。いずれも操作無しと判断されると、本フローを抜ける。
一方、ステップS161で「ターゲット」画像601が押圧されたのであれば、「ターゲットスコープ」画像602が表示中か否かが判断され(ステップS167)、表示中と判断されると、「ターゲットスコープ」画像602の消去が行われる(ステップS169)。一方、ステップS167で表示中でないと判断されると、「ターゲットスコープ」画像602が表示される(ステップS171)。
また、ステップS163でLボタンL22が操作された場合、「ターゲットスコープ」画像602が表示、かつ「エリア外」画像603が非表示か否かが判断され(ステップS173)、「ターゲットスコープ」画像602が表示、かつ「エリア外」画像603が非表示であれば、仮想カメラに対してロックオン処理が行われ(ステップS175)、「ターゲットスコープ」画像602が表示、かつ「エリア外」画像603が非表示でなければ、カメラリセット処理が行われる(ステップS177)。なお、LボタンL22に対して特定操作、例えば2度押す操作が検出されると、カメラリセットと判断して、ステップS177に移行する。
図14(A)のフローチャートを参照してロックオン処理およびカメラリセット処理について説明する。ロックオン操作がされると、まず、現在のカメラ位置を記憶する (S101)。カメラ位置は、カメラの旋回角度、高さ、および、チルト角度を含む情報である。そして、現在のプレイヤキャラクタ120とロックオン対象であるターゲットキャラクタ130との距離および高度差を算出する(S102、S103)。この距離および高度差に基づいて、ターゲットキャラクタ130の注視点131の高さを修正する(S104)。そして、仮想カメラ140の高さをデフォルトの高さに戻し(S105)、上記の計算結果に基づき、仮想カメラ140の視線が修正された注視点131を向くように、仮想カメラ140を旋回させ(S106)、チルト角度を制御する(S107)。
S104における注視点の修正(決定)は、距離および/または高度差を変数として注視点の位置(たとえば高さ)を算出する計算式や、距離および/または高度差に対応する注視点の位置を記憶したテーブルなどを用いて行えばよい。
注視点の修正(決定)は、距離および/または高度差に応じて連続的に変化させてもよく、距離および/または高度差の区間ごとに段階的に変化させてもよい。本発明の「ターゲットオブジェクトとの距離が小さくなることに応じて」および「ターゲットオブジェクトの位置までの高度差が上方向に大きくなることに応じて」は、この両方を含んでいる。
また、テーブル、計算式は、ゲームプログラムとともにゲームデータとして記憶されていてもよいが、ユーザによって設定可能であってもよい。たとえば、ゲーム開始前に、ユーザにテーブルの値の入力を開放し、各距離/高度差区間に対応する注視点の位置の入力を受け付けてもよい。
また、図14(B)はカメラリセット処理を示すフローチャートである。カメラリセット操作がされると、ロックオン処理(図14(A))時に記憶したカメラ位置情報を読み出す(S111)。そして、このカメラ位置情報に基づき、仮想カメラ140の旋回角度およびチルト角度を制御する(S112)。このとき同時に仮想カメラ140の高さを制御してもよい。
図15、図16は、「ターゲットスコープ表示処理II」(図9のステップS129参照)の一例を示すフローチャートである。まず、第1の「ターゲット」画像701(図8(A)参照)の押圧、第2の「ターゲット」画像801(図8(A)参照)の押圧、LボタンL22の操作、LボタンL22の特定操作(リセット操作)の有無が、例えばこの順番で判断される(ステップS181,S183,S185,S187)。いずれも操作無しと判断されると、本フローを抜ける。
一方、ステップS181で第1の「ターゲット」画像701が押圧されたのであれば、第1の「ターゲットスコープ」画像702が表示中か否かが判断される(ステップS189)。第1の「ターゲットスコープ」画像702が表示中と判断されると、第1の「ターゲットスコープ」画像702が消去される(ステップS191)。一方、ステップS189で第1の「ターゲットスコープ」画像702が表示中でないと判断されると、第1の「ターゲットスコープ」画像702が表示され、かつ第2の「ターゲットスコープ」画像802が表示されている場合には第2の「ターゲットスコープ」画像802が消去される(ステップS193)。
また、ステップS183で第2の「ターゲット」画像801が押圧されたのであれば、第2の「ターゲットスコープ」画像802が表示中か否かが判断され(ステップS195)、第2の「ターゲットスコープ」画像802が表示中と判断されると、第2の 「ターゲットスコープ」画像802が消去される(ステップS197)。一方、ステップS195で第2の「ターゲットスコープ」画像802が表示中でないと判断されると、第2の「ターゲットスコープ」画像802が表示され、かつ第1の「ターゲットスコープ」画像702が表示されている場合には第1の「ターゲットスコープ」画像702が消去される(ステップS199)。
さらに、ステップS185でLボタンL22が操作された場合、第1の「ターゲットスコープ」画像702が表示中で、かつ「エリア外」画像703が非表示中の状態にあるか否か、次いで、第2の「ターゲットスコープ」画像802が表示中で、かつ「エリア外」画像803が非表示中の状態にあるか否かが、例えばこの順番で判断される(ステップS201,S203)。
ステップS201の判断が肯定されると、第1のターゲットキャラクタに対する仮想カメラのロックオン処理が実行される(ステップS205)。一方、ステップS203の判断が肯定されると、第2のターゲットキャラクタに対する仮想カメラのロックオン処理が実行される(ステップS207)。さらに、一方、ステップS201及びS203のいずれの判断も否定されたときは、仮想カメラに対してカメラリセット処理が実行される(ステップS209)。
なお、LボタンL22に対して特定操作、例えば2度押す操作が検出されると(ステップS187でYes)、カメラリセットと判断して、ステップS209に移行する。
なお、本発明は以下の態様を採用することが可能である。
(1)ターゲットコントロールにおいて、ターゲットキャラクタが異なる戦闘エリアにいる場合には、「エリア外」画像603,703,803を表示してターゲットキャラクタに対するロックオンを不可としたが、その他にも、例えば、ターゲットキャラクタが地中に潜る態様のゲームの場合において、地中潜行中が検知された状態でLボタンL22が操作された場合、「探知不可」画像を併記して(または当該画像に変更して)ロックオンできないことを報知するようにしてもよい。
(2)ターゲットキャラクタが水中に潜る態様を有するゲームにおいて、ターゲットキャラクタへのカメラリセットは、地上の場合と異なる処理を採用してもよい。例えば、ターゲットキャラクタが地上にいる際には、仮想カメラのロックオンを水平面上での旋回で行い、ターゲットキャラクタが水中にいる場合には、仮想カメラのロックオンを水平面上での旋回及び垂直面での旋回で行って、ターゲットキャラクタを真正面で正対するようにしてもよい。
(3)本実施形態では、図5、図8に示すような「ターゲットスコープ」画像を採用したが、ターゲットスコープ設定時の画像はこれに限定されない。ターゲットスコープの設定の有無が識別容易な形態の図柄であればよい。あるいは、図5、図8に示すような「ターゲット」画像の形及び表示色の少なくとも一方を変化させたり、点滅させたりなど、「ターゲット」画像に対する変化で表現するようにしてもよい。
(4)カメラリセットをLボタン22Lの2度押しで行う態様としたが、これに限定されず、操作部材22内の他のボタンでもよいし、表示部21内にカメラリセットボタン画像を別途設けてもよい。
(5)本実施形態では、選択表示域41の範囲を表示部21の画面の上部と左辺部とを利用したものとしたが、これに限定されず、配置表示域42が確保できればよく、例えば配置表示域42の周囲に環状に設ける態様であってもよい。
(6)「カメラ」パネル画像は、十字キーを模擬した形状であったが、ジョイスティック等を模擬した形状やアナログスティックを模擬した形状等であってもよい。また、十字キーに加え、アナログスティックやボタン等の物理的な操作子を模擬したパネル画像を用意してもよい。これによれば、プレイヤが自由に配置を決めてゲームをプレイできる。なお、物理的な操作子を模擬したパネル画像を配置した場合は、物理的な操作子の入力を受け付けないようにしてもよい。これにより、誤って操作子を操作してしまった場合であっても、ゲーム進行に影響が生じることを防止できる。
(7)以上の実施形態では、ゲーム画面にプレイヤオブジェクトが表示されるゲームについて説明したが、本発明は、ゲーム画面にプレイヤオブジェクトが表示されない一人称視点のゲームにも適用可能である。
(8)また、注視点の修正(決定)は、プレイヤキャラクタとターゲットキャラクタの位置関係(距離および/または高度差)に基づいて行っているが、仮想カメラとターゲットキャラクタの位置関係に基づいて行ってもよい。
(9)本実施形態では、表示部11,21の二画面を使用したが、一画面を2つの領域に分割する態様であってもよい。例えば、タッチスクリーン一画面を2つの領域に分割して使用する。
この実施形態では、ゲームメディア36にゲームプログラムを記憶しているが、本発明におけるゲームプログラムを記憶する媒体はゲームメディア36に限定されない。ネットワーク上のサーバがゲームプログラムを記憶する記憶媒体であってもよく、このサーバ上のゲームプログラムをネットワークを介してダウンロードしたゲーム装置1の内蔵メモリや外付けメモリがゲームプログラムを記憶する記憶媒体であってもよい。