オブジェクト移動制御装置およびオブジェクト移動制御プログラム
【構成】 ゲーム装置10はLCD14を含み、LCD14に関連してタッチパネル22が設けられる。LCD14には、ゲーム画面100が表示され、プレイヤはスティック24でタッチパネル22上をタッチ操作(スライド操作、クリック)することにより、オブジェクトの移動経路を描画したり、訂正したり、ランダムに決定したりする。オブジェクトの移動経路が決定され、当該移動経路上の点をクリックすると、オブジェクトはクリックした位置まで移動経路に従って移動する。
【効果】 方策を簡単に検討してオブジェクトを移動させることができる。
【効果】 方策を簡単に検討してオブジェクトを移動させることができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はオブジェクト移動制御装置およびオブジェクト移動制御プログラムに関し、特にたとえば、プレイヤの操作に従って移動オブジェクトを目標位置に移動させる、オブジェクト移動制御装置およびオブジェクト移動制御プログラムに関する。
【背景技術】
【0002】
この種の従来のオブジェクト移動制御装置の一例が特許文献1に開示される。この特許文献1によれば、シミュレーションゲーム等において、テレビジョン装置の画面に戦場の全体マップが表示され、操作者が操作可能な戦車や飛行機やヘリコプターや兵等の戦闘手段とともに、戦闘手段の移動可能範囲が表示される。また、戦闘手段の移動可能範囲を含む全体マップの一部が液晶コントローラに表示される。操作者が戦闘手段を移動させる場合には、まず、所望の戦闘手段をタッチすることにより選択する。すると、選択した戦闘手段の能力に応じた移動範囲が色の変化等により明示される。そして、操作者が動かしたい位置(移動希望位置)をタッチすると、従前の位置(現在位置)から移動希望位置に戦闘手段が移動される。
【0003】
また、この種の従来のオブジェクト移動制御装置の他の例が特許文献2に開示される。この特許文献2によれば、所望のオブジェクトがドラッグ操作により移動される。
【特許文献1】特開平6−285259号
【特許文献2】特開平10−28777号
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、所望の戦闘手段をタッチ操作のみで移動させることができるが、単に戦闘手段が現在位置から移動希望位置に移動した画面に切り替わるだけであり、戦闘手段が徐々に移動希望位置に移動するようなリアリティを表現することができない。つまり、現在位置と移動希望位置との間を直線的に進むため、その間に障害物が存在しても、戦車のような戦闘手段は、何ら問題なく移動できてしまう。
【0005】
また、特許文献2では、ドラッグ操作によりオブジェクトを移動させるため、障害物を避けるようにオブジェクトを移動させることができるが、ドラッグ操作に従ってオブジェクトが移動してしまうため、その移動をやり直すことができない。したがって、移動する経路を予め十分に検討する必要があるが、ゲーム画面を見ただけでは、地形や障害物を考慮した経路を検討するのは困難である。
【0006】
それゆえに、この発明の主たる目的は、新規な、オブジェクト移動制御装置およびオブジェクト移動制御プログラムを提供することである。
【0007】
この発明の他の目的は、方策を簡単に検討してオブジェクトを移動させることができる、オブジェクト移動制御装置およびオブジェクト移動制御プログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1の発明は、移動オブジェクトを表示する表示手段、表示手段に関連して設けられるポインティングデバイス、ポインティングデバイスによって入力された入力座標を検出する入力検出手段、入力検出手段によって検出された入力座標が移動オブジェクトの表示位置と一致するか否かを判定する判定手段、判定手段による判定結果が一致を示した後、入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する描画軌跡生成手段、および描画軌跡生成手段による第1軌跡の生成後に、一旦入力検出手段によって入力座標が検出されなくなった後、再度入力検出手段によって検出される入力座標が第1軌跡上の第1位置を指示すとき、移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動手段を備える、オブジェクト移動制御装置である。
【0009】
請求項1の発明では、オブジェクト移動制御装置(10:実施例で示す参照符号。以下、同じ。)は、移動オブジェクト(102)を表示するための表示手段(14)を備える。この表示手段(14)に関連して、ポインティングデバイス(22)が設けられる。入力検出手段(42,S5,S15,S21)は、ポインティングデバイス(22)によって入力された入力座標を検出する。判定手段(42,S7)は入力検出手段(42,S5,S15,S21)によって検出された入力座標が移動オブジェクト(102)の表示位置と一致するか否かを判定する。つまり、入力座標が移動オブジェクト(102)の表示領域に含まれるかどうかを判断する。描画軌跡生成手段(42,S21,S25)は、判定手段(42,S7)による判定結果が一致を示した(S7で“YES”)後、入力検出手段(42,S5,S15,S21)によって連続的に検出される入力座標に基づく第1軌跡を生成する。オブジェクト移動手段(42,S55)は、描画軌跡生成手段(42,S21,S25)にようる第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)によって入力座標が検出されなくなった(S11で“YES”)後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が第1軌跡上の第1位置を示すとき(S29で“YES”)、つまり第1軌跡上の所望の点を指示するとき、移動オブジェクト(102)を第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させる。
【0010】
請求項1の発明によれば、描画した軌跡上の所望の点を指示することにより、当該軌跡に従って始点から所望の点まで移動オブジェクトを移動させることができるので、移動オブジェクトを所望の経路で所望の位置まで移動させることできる。また、一旦経路を決定した後でも、経路の途中までしか移動オブジェクトを移動させないようにすることができる。このため、簡単に方策を練ることができる。
【0011】
請求項2の発明は請求項1に従属し、描画軌跡生成手段による第1軌跡の生成後に、一旦入力検出手段による検出がなくなった後、再度入力検出手段によって検出される入力座標が、第1軌跡以外の第2位置を示すとき、第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する延長する軌跡延長手段をさらに備える。
【0012】
請求項2の発明では、軌跡延長手段(42,S31)は、描画軌跡生成手段(42,S21,S25)による第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)による検出がなくなった(S11で“YES”)後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が、第1軌跡以外の第2位置を示すとき(S29で“NO”)、第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する。
【0013】
請求項2の発明によれば、一旦描画した軌跡を延長できるので、当初の目標位置を簡単に変更することができる。つまり、方策の変更が簡単である。
【0014】
請求項3の発明は請求項1または2に従属し、第1位置が第1軌跡の終点以外の点であるとき、当該第1軌跡を始点から当該第1位置までに短縮する軌跡短縮手段をさらに備える。
【0015】
請求項3の発明では、軌跡短縮手段(42,S49)は、第1位置が第1軌跡の終点以外の点であるとき(S47で“NO”)、第1軌跡を始点から第1位置までに短縮する。
【0016】
請求項3の発明によれば、一旦描画した軌跡を短縮することができる。したがって、短縮した後にさらに軌跡を延長すれば、途中まで描いた軌跡を利用して再度新しい軌跡を描くことができ、簡単に目標位置または軌跡或いはその両方を変更することができる。
【0017】
請求項4の発明は請求項3に従属し、描画軌跡生成手段は、軌跡短縮手段によって第1軌跡が第1位置まで短縮された後、入力検出手段によって連続的に検出される入力座標に基づいて第1軌跡を延長し、オブジェクト移動手段は、延長した第1軌跡の生成後に、一旦入力検出手段によって入力座標が検出されなくなった後、再度入力検出手段によって検出される入力座標が延長した第1軌跡上の第3位置を示すとき、移動オブジェクトを当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる。
【0018】
請求項4の発明では、描画軌跡生成手段(42,S21,S25)は、軌跡短縮手段(42,S49)によって第1軌跡が第1位置まで短縮された後、入力検出手段(42,S5,S15,S21)によって連続的に検出される入力座標に基づいて第1軌跡を延長する。つまり、一旦描画した軌跡の一部を利用して新たらしい軌跡を描画できる。オブジェクト移動手段(42,S55)は、延長した第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)によって入力座標が検出されなくなった後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が延長した第1軌跡上の第3位置を示すとき、移動オブジェクト(102)を当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる。
【0019】
請求項4の発明によれば、一旦描画した軌跡の一部を利用して新しい軌跡を描画できるので、目標位置または軌跡或いはその両方を容易に変更することができる。
【0020】
請求項5の発明は請求項1ないし4のいずれかに従属し、複数の移動オブジェクトが存在し、ポインティングデバイスによって選択された1の移動オブジェクトの現在位置が第1軌跡の始点であり、オブジェクト移動手段は、選択された1の移動オブジェクトを第1軌跡に従って移動させる。
【0021】
請求項5の発明では、移動オブジェクト(102)は複数存在する。したがって、操作者は複数の移動オブジェクト(102)のうち、所望の1の移動オブジェクト(102)をポインティングデバイス(22)によって選択することができる。第1軌跡の始点は、選択された移動オブジェクト(102)の現在位置に決定される。したがって、オブジェクト移動手段(42,S55)は、選択された移動オブジェクト(102)を軌跡に従って移動させる。
【0022】
請求項5の発明によれば、複数の移動オブジェクトから1の移動オブジェクトを選択するので、所望の移動オブジェクトを戦略により移動させることができる。
【0023】
請求項6の発明は請求項1ないし5のいずれかに従属し、第1軌跡が移動オブジェクトの許容移動範囲を超えるか否かを判断する許容移動範囲判断手段、および第1軌跡が移動オブジェクトの許容移動範囲を超えるとき、始点と入力検出手段によって検出される現在の入力座標に対応する第4位置とを結ぶ第1軌跡とは異なる第2軌跡を所定のルールに従って決定する軌跡決定手段をさらに備える。
【0024】
請求項6の発明では、許容移動範囲判断手段(42,S23,S33)は、第1軌跡の長さが移動オブジェクト(102)の許容移動範囲を超えるか否かを判断する。第1軌跡の長さが移動オブジェクト(102)の許容移動範囲を超えるとき、始点と入力検出手段(42,S5,S15,S21)によって検出される現在の入力座標に対応する第4位置とを結ぶ第2軌跡を所定のルールに従って決定する。ただし、第2軌跡は、第1軌跡とは異なる。
【0025】
請求項6の発明によれば、軌跡の長さが移動オブジェクトの許容移動範囲を超える場合には、所定のルールに従って他の軌跡が決定されるので、許容移動範囲内で移動させる軌跡を考えることができる。
【0026】
請求項7の発明は請求項6に従属し、軌跡決定手段によって第2軌跡を決定するとき、第1軌跡を消去する軌跡消去手段をさらに備える。
【0027】
請求項7の発明では、軌跡消去手段(42,S37)は、第2軌跡を決定するとき、第1軌跡を消去する。
【0028】
請求項7の発明によれば、他の軌跡を決定するとき、許容移動範囲を超える軌跡が消去されるため、軌跡を決定するときに、操作者が混乱することがない。
【0029】
請求項8の発明は、移動オブジェクトを表示する表示手段および表示手段に関連して設けられるポインティングデバイスを備えるオブジェクト移動制御装置のオブジェクト移動制御プログラムであって、オブジェクト移動制御装置のプロセサに、入力検出ステップ、判定ステップ、描画軌跡生成ステップ、およびオブジェクト移動ステップを実行させる。入力検出ステップは、ポインティングデバイスによって入力された入力座標を検出する。判定ステップは、入力検出ステップによって検出された入力座標が移動オブジェクトのひょうじ位置と一致するか否かを判定する。描画軌跡生成ステップは、判定結果による判定結果が一致を示した後、入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する。オブジェクト移動ステップは、描画軌跡生成ステップによる第1軌跡の生成後に、一旦入力検出ステップによって入力座標が検出されなくなった後、再度入力検出ステップによって検出される入力座標が第1軌跡上の第1位置を示すとき、移動オブジェクトを第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させる。
【0030】
請求項8の発明においても、請求項1の発明と同様に、移動オブジェクトを所望の経路で所望の位置まで移動させることでき、簡単にその方策を練ることができる。
【発明の効果】
【0031】
この発明によれば、描画することにより決定した経路上の所望の位置まで当該経路に従って移動オブジェクトを移動させるので、方策を簡単に検討して移動オブジェクトを移動することができる。
【0032】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0033】
図1を参照して、この発明の一実施例であるゲーム装置10は、オブジェクト移動制御プログラムを記憶し、オブジェクト移動制御装置として機能する。このゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含み、LCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0034】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0035】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0036】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0037】
操作スイッチ20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。
【0038】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、操作者(プレイヤ)によって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0039】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0040】
動作スイッチ(左押しボタン)20Lおよび動作スイッチ(右押しボタン)20Rは、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0041】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面(検出面)をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0042】
この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出面の検出精度もその解像度に対応して256dot×192dotとしてある。ただし、タッチパネル22の検出面の検出精度は、LCD14の表示面の解像度よりも低くてもよく、高くてもよい。
【0043】
LCD12およびLCD14には異なるゲーム画像(ゲーム画面)を表示することができる。たとえば、レースゲームでは、一方のLCDに移動体の運転席からの視点による画面を表示し、または、移動体をその後ろまたは上方から追従するカメラで撮影した画像を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCD(たとえば、LCD12)にゲームのプレイ画面を表示し、他方のLCD(たとえば、LCD14)に当該ゲームを操作するための文字情報やアイコン等を含むゲーム画面(操作画面)を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。
【0044】
したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示(指定)したり、動作(移動)させたり、コマンドを選択したりすることができる。また、3次元ゲーム空間に設けられる仮想カメラ(視点)の方向を変化させたり、ゲーム画面をスクロール(徐々に移動表示)させたりすることもできる。
【0045】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0046】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0047】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0048】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0049】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0050】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0051】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0052】
ROM28aは、ゲーム装置10で実行すべき仮想ゲーム(実施例では、ゴルフゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0053】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0054】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0055】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0056】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。なお、CPUコア42は、描画に必要な画像データをGPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして描画のためのゲーム画像データを作成し、GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成する。
【0057】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が「1」である場合には、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0058】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接ゲーム画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58からゲーム画像データを読み出したりする。
【0059】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22からの座標データがI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32から出力する。
【0060】
たとえば、このような構成のゲーム装置10では、対戦シミュレーションゲームを楽しむことができる。対戦シミュレーションゲームにおいては、プレイヤが操作する軍(自軍)と、コンピュータプレイヤないし他のプレイヤが操作する軍(敵軍)との間で戦闘が行われる。たとえば、プレイヤは、自軍の移動オブジェクト(戦車、戦闘機、戦艦、歩兵など)を移動させることにより、敵軍の移動オブジェクトを攻撃する。
【0061】
ここで、従来のゲーム装置では、タッチ操作により、所望の移動オブジェクトを選択し、続いて、当該移動オブジェクトを移動させたい位置(目標位置)を選択する。すると、移動オブジェクトは、現在位置から目標位置に向けて直線的に移動する。また、他のゲーム装置では、移動オブジェクトをドラッグすることにより、目標位置に移動させる。
【0062】
しかし、前者の方法では、所望の移動オブジェクトをタッチ操作のみで移動させることができるが、移動オブジェクトが現在位置から目標位置に移動した画面に切り替わるだけであり、移動オブジェトが徐々に目標位置に移動するようなリアリティを表現することができない。つまり、現在位置と目標位置との間を直線的に進むため、その間に障害物が存在しても、戦車のような移動オブジェクトは、何ら問題なく移動できてしまう。また、後者の方法では、ドラッグ操作により移動オブジェクトを移動させるため、障害物を避けるように移動オブジェクトを移動させることができるが、ドラッグ操作に従って移動オブジェクトが移動してしまうため、その移動をやり直すことができない。したがって、移動する経路を予め十分に検討する必要があるが、ゲーム画面を見ただけでは、地形や障害物を考慮した経路を検討するのは困難である。
【0063】
そこで、この実施例では、方策(戦略)に応じて、移動経路(軌跡)を予め決定し、決定した経路に従って移動オブジェクトを移動させるようにしてある。以下、ゲーム画面の例を用いて、移動オブジェクトの移動経路(軌跡)の決定および移動オブジェクトの移動について説明する。
【0064】
図3は、ゲーム装置10のLCD14に表示されるゲーム画面100の一例を示す図解図である。なお、図示できないが、上述したように、LCD14上にタッチパネル22が設けられる(図4−図6,図8−図11も同じ。)。LCD14には、プレイヤによって操作可能なオブジェクト102(自軍のプレイヤオブジェクトないしプレイヤキャラクタ)およびその近傍ないし周辺を含むゲームマップの一部がゲーム画面100として表示される。図示は省略するが、ゲーム画面100には、地面(地形)、建物、森林、空、海などの背景を表わす背景オブジェクトが表示され、また、場合によっては、敵軍のオブジェクトも表示される。また、図3のゲーム画面100では、マス目を表示してあるが、これは、オブジェクト102がマス目に従うように上下または左右に移動されるためである。つまり、この実施例では、オブジェクト102は、斜め方向には移動しないし、マス目を飛び越えて移動することもない。ただし、マス目は、実際のゲーム画面100においては、表示されなくてもよい。
【0065】
なお、図示は省略するが、ゲーム空間ないし面(ステージ)に対応するゲームマップの全体は、LCD12に他のゲーム画面として表示される。ただし、LCD12に表示されるゲーム画面では、オブジェクト102や敵オブジェクト(図示せず)に関する情報ないしパラメータ(生命力、体力、攻撃力、レベルなどの値(数値))などを表示することも可能である。
【0066】
図3に示すように、プレイヤがスティック24を用いて、オブジェクト102を指示(タッチ操作)すると、タッチ操作されたオブジェクト102が選択状態(移動可能なアクティブ状態)となる。図3(図4−図6,図8−図11も同じ。)では、オブジェクト102が選択状態であることを、斜線を付すことにより示してある。ただし、実際のゲーム画面100においては、色反転や輝度変化により、選択状態が示される。
【0067】
所望のオブジェクト102を選択状態にした後、たとえば、そのままスティック24をスライドさせると、つまりスライド操作すると、当該スライド操作に従ってゲーム画面100に軌跡(移動経路)が描画される。ただし、上述したように、オブジェクトは上下または左右に1マスずつ移動するため、上下または左右の方向にドラッグする必要がある。したがって、たとえば、図4に示すように、オブジェクト102の移動経路(以下、単に「経路」という。)Lを描画することができる。ただし、1のオブジェクト102が選択状態にされると、当該オブジェクト102の位置座標が経路Lの基準点ないし始点(O点)に決定される。
【0068】
なお、詳細な説明は省略するが、タッチ座標は一定時間(1フレーム:画面更新単位時間(1/60秒))毎に検出され、検出されたタッチ座標を含むマス目が経路Lを構成するようにしてある。したがって、スライド操作するときに、必ずしもマス目の中心をスライドする必要はない。また、この実施例では、1マスずつオブジェクト102を移動させるようにしてあるため、経路Lを構成するマス目の中心座標が時系列(順番)に従って記憶され、その中心座標を連結するように、線のテクスチャが貼り付けられ、経路Lがゲーム画面100に表示される。
【0069】
図4に示すように、プレイヤはスティック24をO点から右に1マス進み、下に2マス進み、右に1マス進み、上に2マス進み、右に1マス進み、そして、上に1マス進むようにスライドすると、線aで構成される経路Lが描画される。ここで、プレイヤがスティック24をタッチパネル22から離す(タッチオフする)と、経路Lが一旦確定される。
【0070】
このとき、経路L上のいずれかの点をタッチオンし、タッチオンした点と同じ点でタッチオフすると、つまり経路L上の所望の点をクリックすると、オブジェクト102は、当該所望の点(位置座標)まで経路Lに従って移動する。ただし、後述するように、経路Lの途中でクリックした場合には、その途中の点まで経路Lが短縮され、短縮された経路Lに従って所望の点(終点)まで、オブジェクト102は移動される。
【0071】
また、経路Lを延長することも可能である。この実施例では、スライド操作により、一旦経路Lを描画した後に、つまり一旦タッチオフした後に、描画した経路L上でない点をタッチオンすることにより、経路Lを延長することができる。具体的には、図4に示したように、線aで構成される経路Lをスライド操作により描画し、タッチオフした後に、図5に示すように、経路L(線a)以外の点(B点)をタッチオンすると、たとえば、乱数で延長する部分(線b)が決定され、図6に示すように、経路Lが延長される。つまり、経路Lの終点(A点)が乱数のような所定のルールに従ってB点で示すマス目まで延長される。
【0072】
ここで、図7(A)〜図7(D)を用いて、経路Lを乱数で決定する方法について説明する。図7(A)を参照して、始点(P点)から終点(Q点)までの経路Lを決定する場合には、まず、マス目200からQ点に向かう方向であり、上下または左右の進行方向となるように、マス目200から1マス進んだマス目が乱数で決定される。したがって、1マス目としては、マス目202またはマス目206が候補として選出される。ここで、図7(A)に示すように、たとえば、マス目202が決定されると、次に、マス目202からQ点に向かう方向であり、上下または左右の進行方向となるように、マス目202から1マス進んだマス目が乱数で決定される。ここでは、マス目204およびマス目208が候補として選出される。以下、同様である。
【0073】
図7(B)に示すように、たとえば、マス目208が決定されると、次に、当該マス目208から1マス進んだマス目が乱数で決定される。ここでは、上述した法則に従ってマス目210およびマス目214が候補として選出される。図7(C)に示すように、たとえば、マス目214が決定されると、次に、当該マス目214から1マス進んだマス目が乱数で決定される。ただし、ここでは、1マス進むと、終点としてのQ点が存在するマス目216が存在するため、一義的にマス目216に決定される。このようにして、経路Lが乱数で決定される。なお、経路Lは、マス目200、202、208、214および216の順で通過するように決定される。また、詳細な説明は省略するが、1マス毎に進路が決定され、経路Lが決定されると、当該経路Lがゲーム画面100に表示(描画)される。以下、同様である。
【0074】
なお、図7(A)〜図7(D)では省略したが、既に経路Lとして選択されているマス目や他のオブジェクト102や障害物が存在するマス目は、乱数で決定するマス目の候補としては選択されない。
【0075】
また、経路Lを短縮することも可能である。たとえば、図4に示したように、経路Lを一旦確定した後に、図8に示すように、当該経路L上であり、始点(O点)と終点(A点)以外の点(C点)をタッチオンすると、図9に示すように、経路Lは、その一部が消去されることにより短縮される。
【0076】
ここで、プレイヤがタッチオフすると、つまりC点をクリックすると、経路Lが短縮された後に、オブジェクト102が経路Lに従ってC点まで移動する。これは、上述したように、経路Lを決定するためのタッチオンの座標(タッチオン座標)とその後のタッチオフの座標(タッチオフ座標)とが一致し、経路Lを短縮する操作とオブジェクト102の移動を指示する操作とを入力したことになるためである。
【0077】
ただし、経路Lを短縮して、つまりC点をタッチオンした状態で、そのままスライド操作することにより、経路Lを延長することも可能である。つまり、一旦描画した経路Lを変更することが可能である。したがって、たとえば、図4、図図8、図9、図10に示す順番で、プレイヤがスティック24を操作すると、線aで示される経路Lが決定され、線cで示される経路Lに短縮された後に、線c+線dで示される経路Lが決定される。すなわち、図4に示す経路Lから図10に示す経路Lへの変更が可能である。ただし、上述したように、経路Lが許容範囲を超える場合には、O点を始点とし、D点を終点として、新たな経路Lが乱数で決定される。
【0078】
このように、プレイヤは所望のオブジェクト102を選択した後に、当該オブジェクト102の移動後の位置(目標位置)を決めて、スライド操作により経路Lを描画することができる。また、一旦経路Lを決定しても、目標位置や経路Lを再考して、経路Lを延長したり、短縮および延長したりすることができるし、経路Lの途中をクリックして、途中までしかオブジェクト102が進まないようにすることもできる。つまり、戦略に応じた経路Lを決定でき、その変更等も簡単である。
【0079】
また、オブジェクト102では、それぞれ、移動可能な範囲(マス目の数)は予め決定されており、その移動可能な範囲(許容範囲)に相当するマス目の数を越えると、それまでに決定された経路Lはすべて消去され、O点を始点とし、現在のタッチ座標を終点として別の経路Lが乱数で決定される。たとえば、図6に示すように、O点からB点までの経路L(線a+線b)が決定されたときに、つまり経路Lを延長したときに、この経路Lの長さが許容範囲を超える場合には、当該経路Lは消去され、図11に示すように、O点を始点とし、B点を終点として、新しい経路L(線b´)が決定される。ただし、新しい経路Lの決定方法は、図7(A)ないし図7(D)を用いて説明した方法と同じである。図示は省略するが、スライド操作のみによって経路Lを描画しているときに、経路Lの長さが許容範囲を超える場合も同様に、別の経路Lが乱数で決定される。
【0080】
なお、図示は省略するが、乱数で経路Lを決定した場合に、再度許容範囲を超える場合には、現在のタッチ座標の変更を促すべく、警告メッセージをLCD14(またはLCD12)に表示したり、警告音をスピーカ32から出力したり、それら両方を実行したりするようにする必要がある。
【0081】
また、この実施例では、許容範囲は各オブジェクト102に応じて予め設定されているようにしてあるが、これに限定される必要はない。プレイヤのゲームレベル、ゲームの進行状況やオブジェクトのパラメータ(生命力、レベル、体力など)などに応じて可変的に設定するようにしてもよい。または、オブジェクト102の現在位置に対応するマス目(背景オブジェクト)に応じて、許容範囲が設定されてもよい。
【0082】
さらに、図示は省略するが、図3−図6,図8−図11に示したように、オブジェクト102が複数存在する場合には、一旦選択したオブジェクト102を再度クリックすることにより、その選択を解除することができる。つまり、他のオブジェクト102を選択することができる。
【0083】
図12は、図2に示したゲーム装置10に内蔵されるRAM48のメモリマップの例を示す図解図である。この図12を参照して、RAM48はプログラム記憶領域480およびデータ記憶領域482を含む。プログラム記憶領域480には、ゲームプログラムが記憶され、ゲームプログラムはゲームメイン処理プログラム480a、画像生成プログラム480b、画像表示プログラム480c、タッチ入力検出プログラム480d、経路決定プログラム480e、経路消去プログラム480fおよび移動処理プログラム480gなどによって構成される。
【0084】
ゲームメイン処理プログラム480aは、対戦シミュレーションゲームについてのメインルーチンを処理するためのプログラムである。画像生成プログラム480bは、後述する画像データ482aを用いて、ゲームオブジェクト(オブジェクト102,敵オブジェクト,背景オブジェクトなど)を生成したり、経路Lのような線や点のテクスチャを貼り付けたりするためのプログラムである。画像表示プログラム480cは、画像生成プログラム480bに従って生成された画像をLCD12およびLCD14に表示するためのプログラムである。
【0085】
タッチ入力検出プログラム480dは、タッチパネル22から入力される座標データ(タッチ座標のデータ)を一定時間毎に検出するためのプログラムである。また、CPU42は、タッチ入力検出プログラム480dに従って座標データを検出した場合には、後述するタッチオンフラグ482eをオンし、逆に座標データを検出しない場合には、タッチオンフラグ482eをオフする。経路決定プログラム480eは、上述したように、経路Lを延長する場合、経路L上でない位置をクリックした場合、または、経路Lが許容範囲を超えた場合に、乱数で経路Lを決定するためのプログラムである。経路消去プログラム480fは、経路Lが許容範囲を超えたり、プレイヤによって経路Lが短縮されたりしたとき、描画された経路Lおよび/または乱数で決定された経路Lの全部または一部を消去するためのプログラムである。また、このとき、消去する経路Lに対応するタッチ座標データ482bを消去する。移動処理プログラム480gは、決定された経路Lに従って選択状態のオブジェクト102を移動させるためのプログラムである。
【0086】
なお、図示は省略するが、プログラム記憶領域480には、ゲーム音再生プログラムやバックアッププログラムなども記憶される。ゲーム音再生プログラムは、ゲームに必要な音(音楽)を再生するためのプログラムである。また、バックアッププログラムは、プレイヤの指示や所定のイベントに従ってゲームの途中データや結果データをメモリカード28に記憶(セーブ)するためのプログラムである。
【0087】
データ記憶領域482は、画像データ482a、タッチ座標データ482b、経路座標データ482dを記憶などのデータを記憶する。画像データ482aは、上述したように、ゲームオブジェクト等を生成するための画像データ(ポリゴンデータ、テクスチャデータなど)である。タッチ座標データ482cは、タッチ入力検出プログラム480dに従って検出された現在の座標データであり、タッチ座標が検出される毎に更新される。
【0088】
オブジェクト座標データ482cは、操作可能(移動可能)なオブジェクト102についての位置座標の座標データであり、オブジェクト102のそれぞれに対応して記憶される。したがって、オブジェクト102の移動に従って更新され、経路Lを乱数で決定する場合には、選択状態のオブジェクト102についての座標データが示す位置座標が始点となる。
【0089】
経路座標データ482dは、プレイヤが描画することにより決定した経路Lまたは乱数で決定した経路Lを構成するマス目の中心座標についての座標データを時系列(順番)に従って記憶した座標データ群である。ただし、経路Lの一部または全部が消去されるとき、この経路座標データ482dに含まれる座標データの一部または全部が消去される。
【0090】
また、データ記憶領域482には、タッチオンフラグ482eが設けられる。タッチオンフラグ482eは、タッチ入力が有る状態で成立(オン)され、タッチ入力が無い状態で不成立(オフ)される。たとえば、タッチオンフラグ482eは、1ビットのレジスタで構成され、オンであれば、レジスタにデータ値「1」が設定され、オフであれば、レジスタにデータ値「0」が設定される。
【0091】
なお、図示は省略するが、データ記憶領域482には、他のデータ、たとえば、ゲームに必要な音(音声、音楽、効果音など)データ、ゲームの進行に応じて発生(生成)されるゲームデータ(途中データや結果データ)や他のフラグデータなども記憶される。
【0092】
具体的には、図2に示したCPUコア42が図13〜図15に示すフロー図に従ってオブジェクト移動制御処理(経路Lの決定処理およびオブジェクト移動処理)を実行する。なお、詳細な説明は省略するが、このオブジェクト移動制御処理は、たとえば、自軍の攻撃ターンにおいて、移動処理可能な回数だけ実行される。ここで、移動処理可能な回数は、たとえば、自軍のオブジェクト102の総数であったり、ゲームレベルやゲームの進行状況で可変的に決定される回数であったり、ゲームプログラムや開発者によって予め決定される回数であったりする。
【0093】
図13を参照して、CPUコア42は、オブジェクト移動制御処理を開始すると、ステップS1で、タッチオンかどうかを判断する。ここでは、タッチオンフラグ482eがオンであるかどうかを判断する。以下、同様である。ステップS1で“NO”であれば、つまりタッチオンフラグ482eがオフであれば、タッチオフであると判断して、ステップS3で、その他の処理を実行して、オブジェクト移動制御処理を終了する。ここで、たとえば、その他の処理は、敵軍のオブジェクトの移動や背景の変化などのノンプレイヤオブジェクトについての画面更新処理などである。
【0094】
なお、図示は省略するが、図13−図15に示すオブジェクト移動制御処理とは、別個独立の処理によって、一定時間毎に、CPUコア42はタッチ座標を検出し、また、タッチオンフラグ482をオン/オフしている。
【0095】
また、ステップS1で“YES”であれば、つまりタッチオンフラグ482eがオンであれば、タッチオンであると判断して、ステップS5で、現在のタッチ座標を検出する。ここでは、CPUコア42はデータ記憶領域482を参照して、タッチ座標データ482bから現在(最新)の座標データを検出する。ただし、図示は省略するが、上述したように、一定時間毎に、CPUコア42はタッチ座標を検出すると、時系列に従ってタッチ座標に対応する座標データをデータ記憶領域482に記憶する。これにより、タッチ座標データ482bが更新される。以下、同様である。
【0096】
続くステップS7では、検出した(現在の)タッチ座標がオブジェクト102上であるかどうかを判断する。ステップS7で“NO”であれば、つまり検出したタッチ座標がオブジェクト102上でなければ、そのままステップS3に進む。しかし、ステップS7で“YES”であれば、つまり検出したタッチ座標がオブジェクト102上であれば、ステップS9で、該当オブジェクトを選択状態にする。続くステップS11では、タッチオフかどうかを判断する。ここでは、タッチオンフラグ482eがオフであるかどうかを判断する。
【0097】
ステップS11で“YES”であれば、つまりタッチオンフラグ482eがオフであれば、オブジェクト102の選択またはスライド操作を終了したと判断して、ステップS13で、タッチオンであるかどうかを判断する。ステップS13で“NO”であれば、つまりタッチオフであれば、同じステップS13に戻る。しかし、ステップS13で“YES”であれば、つまりタッチオンであれば、ステップS15で、現在のタッチ座標を検出する。
【0098】
続いて、ステップS17では、現在のタッチ座標が選択中のオブジェクト102上であるかどうかを判断する。ここでは、タッチ座標に対応するLCD14上の座標(dot)が選択中のオブジェクト102の表示領域に含まれるかどうかを判断しているのである。ステップS17で“YES”であれば、つまり現在のタッチ座標が選択中のオブジェクト102上でなければ、図14に示すステップS27に進む。しかし、ステップS17で“YES”であれば、つまり現在のタッチ座標が選択中のオブジェクト102上であれば、ステップS19で、当該オブジェクト102の選択を解除(キャンセル)して、ステップS1に戻る。かかる場合には、たとえば、プレイヤは他のオブジェクト102を選択して、移動処理を実行させることができる。
【0099】
また、ステップS11で“NO”であれば、つまりタッチオン状態であれば、ステップS21で、現在のタッチ座標を検出する。ここでは、図示は省略するが、上述したように、検出されたタッチ座標が含まれるマス目を検出して、時系列に従ってマス目の中心座標に対応する座標データを順次記憶している。つまり、経路座標データ482dが更新される。続いて、ステップS23で、許容範囲内かどうかを判断する。ここでは、現時点で(現在のタッチ座標の位置において)、描画により決定された経路Lの長さ(マス目の数)が選択中のオブジェククト102の許容範囲内であるかどうかを判断する。ステップS23で“NO”であれば、つまり決定された経路Lの長さが許容範囲外であれば、図14に示すステップS37に進む。しかし、ステップS23で“YES”であれば、つまり決定された経路Lの長さが許容範囲内であれば、ステップS25で、描画された経路Lを表示して、ステップS11に戻る。ステップS11,S21,S23およびS25の処理を繰り返すことにより、プレイヤのスライド操作に従って経路Lが描画される。
【0100】
上述したように、ステップS17で、現在のタッチ座標が選択中のオブジェクト102上でなければ、図14に示すステップS27で、現在表示されている経路Lがあるかどうかを判断する。ここでは、CPUコア42は、RAM48を参照して、経路座標データ482dが記憶されているかどうかを判断する。ステップS27で“NO”であれば、つまり現在表示されている経路Lが無い場合には、いわゆる2点押し(或る位置をクリックした後に、他の位置をクリックする)による経路Lの決定であると判断して、ステップS39に進む。しかし、ステップS27で“YES”であれば、つまり現在表示されている経路Lが有る場合には、ステップS29で、ステップS15で検出した現在のタッチ座標が当該経路L上であるかどうかを判断する。ただし、厳格に、経路L上をタッチオンしたか否かを判断すると、プレイヤがゲーム装置10の故障等であると判断するおそれがあるため、実際には、或る程度の誤差範囲(数dotの範囲)を設けるようにしてある。
【0101】
ステップS29で“YES”であれば、つまり現在のタッチ座標が当該経路L上であれば、図15に示すステップS47に進む。しかし、ステップS29で“NO”であれば、つまり現在のタッチ座標が当該経路L上でなければ、経路Lを延長すると判断して、ステップS31で、延長する部分を1マスずつ乱数で決定する。かかる場合には、既に表示されている経路Lの終点と現在のタッチ座標との間の部分が乱数で決定されるのである。そして、ステップS33で、延長した経路Lの長さが許容範囲内であるかどうかを判断する。ステップS33で“NO”であれば、つまり延長した経路Lの長さが選択中のオブジェクト102の許容範囲外であれば、ステップS37に進む。しかし、ステップS33で“YES”であれば、つまり延長した経路Lの長さが許容範囲内であれば、ステップS35で、経路Lを延長表示して、図15に示すステップS51に進む。
【0102】
また、上述したように、ステップS23で現在のタッチ座標が許容範囲外である場合には、ステップS35で、現在表示されている全経路Lをキャンセルする。つまり、経路座標データ482dをすべて消去する。続くステップS39では、経路Lを1マスずつ乱数で決定する。この決定方法は、図7(A)〜図7(D)を用いて説明した通りであるが、ステップS37において全経路Lをキャンセルした場合には、選択中のオブジェクト102の位置座標を始点とし、現在のタッチ座標を終点として、経路Lが乱数で決定される。ただし、スライド操作により経路Lを描画した後に、所望の点をクリックした場合には、描画してある経路Lの終点を始点とし、クリックした点を終点として、延長する部分が乱数で決定される。図示は省略するが、ステップS39の処理によって、経路座標データ482dが更新される。
【0103】
続くステップS41では、乱数で決定した経路Lの長さが選択中のオブジェクト102の許容範囲内であるかどうかを判断する。ステップS39で“YES”であれば、つまり決定した経路Lが許容範囲内であれば、ステップS43で、決定した経路Lを表示して、図15に示すステップS51に進む。しかし、ステップS41で“NO”であれば、つまり決定した経路Lが許容範囲外であれば、ステップS45で、警告して、図13に示したステップS11に戻る。たとえば、ステップS45では、経路Lの長さが選択中のオブジェクト102の許容範囲を超えている旨、およびタッチ座標を変更すべき旨をメッセージ表示したり、警告音を出力したり、或いはその両方により、プレイヤに現在のタッチ座標の変更を促す。
【0104】
図15に示すステップS47では、ステップS15で検出した現在のタッチ座標が当該経路Lの終点であるかどうかを判断する。つまり、現在のタッチ座標に対応する座標データが、経路座標データ482dの終点に対応する座標データと一致するかどうかを判断する。ただし、厳格に、同じ座標(dot)をタッチオンしたか否かを判断すると、プレイヤがゲーム装置10の故障等であると判断することがあるため、実際には、或る程度の誤差範囲(数dotの範囲)を設けるようにしてある。
【0105】
ステップS47で“YES”であれば、つまり現在のタッチ座標が経路Lの終点であれば、そのままステップS51に進む。しかし、ステップS47で“NO”であれば、つまり現在のタッチ座標が経路Lの終点でなければ、つまり現在のタッチ座標が経路Lの途中の点であれば、ステップS49で、当該タッチ座標まで経路Lを短縮して、ステップS51に進む。つまり、ステップS49では、終点から現在のタッチ座標までのマス目に含まれる座標データを、経路座標データ482dから削除するのである。したがって、図8および図9に示したように、経路Lが短縮表示される。
【0106】
ステップS51では、タッチオフかどうかを判断する。ステップS51で“NO”であれば、つまりタッチオンであれば、そのまま図13に示したステップS21に戻る。一方、ステップS51で“YES”であれば、つまりタッチオフであれば、ステップS53で、タッチオン座標(ステップS15で検出しタッチ座標)とタッチオフ座標(ステップS51でタッチオフと判断される直前まで検出されていたタッチ座標)とが一致するかどうかを判断する。つまり、クリック操作であるかどうかを判断する。
【0107】
ステップS53で“NO”であれば、つまりタッチオン座標とタッチオフ座標とが不一致であれば、経路Lの延長または変更があったと判断して、図13に示したステップS13に戻る。しかし、ステップS53で“YES”であれば、つまりタッチオン座標とタッチオフ座標とが一致すれば、オブジェクト102の移動指示であると判断し、ステップS55で、経路Lに従ってオブジェクトを終点(クリックされた点)まで移動表示させ、オブジェクト移動制御処理を終了する。
【0108】
なお、簡単のため、このオブジェクト移動制御処理では、タッチオン座標がオブジェクト102上であれば、当該オブジェクト102を必ず選択できるようにしてあるが、一回の攻撃ターンにつき、一度しかオブジェクト102を移動させることができない場合には、選択可能なオブジェクト102か否かを判断するようにしてもよい。選択可能であれば、タッチオン座標が示すオブジェクト102を選択状態にし、選択不能であれば、他のオブジェクト102を選択すべきことの警告処理を実行して、他のオブジェクト102の選択をプレイヤに促すようにすればよい。
【0109】
この実施例によれば、タッチ操作により、オブジェクトの経路を描画したり、変更したりして決定したり、乱数で決定したりするので、戦略に応じて経路を決定することができる。つまり、戦略に応じてオブジェクトを移動させることができる。また、所望の経路を描画し、目標位置や経路を必要に応じて変更し、或いはランダムに決定することができるので、戦略を簡単に練ることができる。
【0110】
なお、この実施例では、オブジェクトはマス目毎に移動するようにしたため、経路を1マス単位で決定するようにしたが、経路の表示単位(最小単位は1dot)で、経路を決定するようにしてもよい。
【0111】
また、この実施例では、オブジェクトは左右または上下方向に移動可能としてあるが、斜め方向に移動可能としてもよい。
【0112】
さらに、この実施例では、経路を描画しているときに、許容範囲外に出た場合には、それまでに描画した経路を全てキャンセルするようにしたが、許容範囲内で描画していた部分についてはそのまま残すようにしてもよい。
【0113】
さらにまた、この実施例では、選択したオブジェクトを再度クリックすると、当該オブジェクトの選択を解除するようにしてあるが、選択したオブジェクトの許容範囲外をクリックしたときに選択を解除するようにしてもよい。このとき、解除されるオブジェクトについて経路を描画していた場合には、当該経路も全てキャンセルされる。
【0114】
また、この実施例では、2つのLCDを設けるようにしたが、少なくとも1つのLCDを設け、当該LCD上にタッチパネルを設けるようにすればよい。または、2つのLCD上にそれぞれタッチパネルを設けて、選択的に画面を切り換えるようにしてもよい。
【0115】
さらに、この実施例では、ポインティングデバイスとしてタッチパネルを用いるようにしたが、コンピュータマウス、トラックボール、タッチパッドなどの他のポインティングデバイスを用いることも可能である。ただし、他のポインティングデバイスを用いる場合には、ゲーム画面上に、マウスポインタのような指示画像を表示する必要がある。
【図面の簡単な説明】
【0116】
【図1】図1はこの発明のゲーム装置の一例を示す図解図である。
【図2】図2は図1に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の一例を示す図解図である。
【図4】図4は図1に示すゲーム装置の第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図5】図5は図1に示すゲーム装置の第2のLCDに表示されるゲーム画面のその他の例を示す図解図である。
【図6】図6は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図7】図7は経路を乱数で決定する方法を説明するための図解図である。
【図8】図8は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図9】図9は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面のその他の例を示す図解図である。
【図10】図10は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面のさらに他の例を示す図解図である。
【図11】図11は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図12】図12は図2に示すRAMのメモリマップの例を示す図解図である。
【図13】図13は図2に示すCPUコアのオブジェクト移動制御処理の一部を示すフロー図である。
【図14】図14は図2に示すCPUコアのオブジェクト移動制御処理の他の一部であり、図13に後続するフロー図である。
【図15】図15は図2に示すCPUコアのオブジェクト移動制御処理のその他の一部であり、図13および図14に後続するフロー図である。
【符号の説明】
【0117】
10 …ゲーム装置
12,14 …LCD
16,16a,16b …ハウジング
20 …操作スイッチ
22 …タッチパネル
24 …スティック
28 …メモリカード
28a …ROM
28b,48 …RAM
40 …電子回路基板
42 …CPUコア
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ
【技術分野】
【0001】
この発明はオブジェクト移動制御装置およびオブジェクト移動制御プログラムに関し、特にたとえば、プレイヤの操作に従って移動オブジェクトを目標位置に移動させる、オブジェクト移動制御装置およびオブジェクト移動制御プログラムに関する。
【背景技術】
【0002】
この種の従来のオブジェクト移動制御装置の一例が特許文献1に開示される。この特許文献1によれば、シミュレーションゲーム等において、テレビジョン装置の画面に戦場の全体マップが表示され、操作者が操作可能な戦車や飛行機やヘリコプターや兵等の戦闘手段とともに、戦闘手段の移動可能範囲が表示される。また、戦闘手段の移動可能範囲を含む全体マップの一部が液晶コントローラに表示される。操作者が戦闘手段を移動させる場合には、まず、所望の戦闘手段をタッチすることにより選択する。すると、選択した戦闘手段の能力に応じた移動範囲が色の変化等により明示される。そして、操作者が動かしたい位置(移動希望位置)をタッチすると、従前の位置(現在位置)から移動希望位置に戦闘手段が移動される。
【0003】
また、この種の従来のオブジェクト移動制御装置の他の例が特許文献2に開示される。この特許文献2によれば、所望のオブジェクトがドラッグ操作により移動される。
【特許文献1】特開平6−285259号
【特許文献2】特開平10−28777号
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、所望の戦闘手段をタッチ操作のみで移動させることができるが、単に戦闘手段が現在位置から移動希望位置に移動した画面に切り替わるだけであり、戦闘手段が徐々に移動希望位置に移動するようなリアリティを表現することができない。つまり、現在位置と移動希望位置との間を直線的に進むため、その間に障害物が存在しても、戦車のような戦闘手段は、何ら問題なく移動できてしまう。
【0005】
また、特許文献2では、ドラッグ操作によりオブジェクトを移動させるため、障害物を避けるようにオブジェクトを移動させることができるが、ドラッグ操作に従ってオブジェクトが移動してしまうため、その移動をやり直すことができない。したがって、移動する経路を予め十分に検討する必要があるが、ゲーム画面を見ただけでは、地形や障害物を考慮した経路を検討するのは困難である。
【0006】
それゆえに、この発明の主たる目的は、新規な、オブジェクト移動制御装置およびオブジェクト移動制御プログラムを提供することである。
【0007】
この発明の他の目的は、方策を簡単に検討してオブジェクトを移動させることができる、オブジェクト移動制御装置およびオブジェクト移動制御プログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1の発明は、移動オブジェクトを表示する表示手段、表示手段に関連して設けられるポインティングデバイス、ポインティングデバイスによって入力された入力座標を検出する入力検出手段、入力検出手段によって検出された入力座標が移動オブジェクトの表示位置と一致するか否かを判定する判定手段、判定手段による判定結果が一致を示した後、入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する描画軌跡生成手段、および描画軌跡生成手段による第1軌跡の生成後に、一旦入力検出手段によって入力座標が検出されなくなった後、再度入力検出手段によって検出される入力座標が第1軌跡上の第1位置を指示すとき、移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動手段を備える、オブジェクト移動制御装置である。
【0009】
請求項1の発明では、オブジェクト移動制御装置(10:実施例で示す参照符号。以下、同じ。)は、移動オブジェクト(102)を表示するための表示手段(14)を備える。この表示手段(14)に関連して、ポインティングデバイス(22)が設けられる。入力検出手段(42,S5,S15,S21)は、ポインティングデバイス(22)によって入力された入力座標を検出する。判定手段(42,S7)は入力検出手段(42,S5,S15,S21)によって検出された入力座標が移動オブジェクト(102)の表示位置と一致するか否かを判定する。つまり、入力座標が移動オブジェクト(102)の表示領域に含まれるかどうかを判断する。描画軌跡生成手段(42,S21,S25)は、判定手段(42,S7)による判定結果が一致を示した(S7で“YES”)後、入力検出手段(42,S5,S15,S21)によって連続的に検出される入力座標に基づく第1軌跡を生成する。オブジェクト移動手段(42,S55)は、描画軌跡生成手段(42,S21,S25)にようる第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)によって入力座標が検出されなくなった(S11で“YES”)後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が第1軌跡上の第1位置を示すとき(S29で“YES”)、つまり第1軌跡上の所望の点を指示するとき、移動オブジェクト(102)を第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させる。
【0010】
請求項1の発明によれば、描画した軌跡上の所望の点を指示することにより、当該軌跡に従って始点から所望の点まで移動オブジェクトを移動させることができるので、移動オブジェクトを所望の経路で所望の位置まで移動させることできる。また、一旦経路を決定した後でも、経路の途中までしか移動オブジェクトを移動させないようにすることができる。このため、簡単に方策を練ることができる。
【0011】
請求項2の発明は請求項1に従属し、描画軌跡生成手段による第1軌跡の生成後に、一旦入力検出手段による検出がなくなった後、再度入力検出手段によって検出される入力座標が、第1軌跡以外の第2位置を示すとき、第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する延長する軌跡延長手段をさらに備える。
【0012】
請求項2の発明では、軌跡延長手段(42,S31)は、描画軌跡生成手段(42,S21,S25)による第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)による検出がなくなった(S11で“YES”)後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が、第1軌跡以外の第2位置を示すとき(S29で“NO”)、第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する。
【0013】
請求項2の発明によれば、一旦描画した軌跡を延長できるので、当初の目標位置を簡単に変更することができる。つまり、方策の変更が簡単である。
【0014】
請求項3の発明は請求項1または2に従属し、第1位置が第1軌跡の終点以外の点であるとき、当該第1軌跡を始点から当該第1位置までに短縮する軌跡短縮手段をさらに備える。
【0015】
請求項3の発明では、軌跡短縮手段(42,S49)は、第1位置が第1軌跡の終点以外の点であるとき(S47で“NO”)、第1軌跡を始点から第1位置までに短縮する。
【0016】
請求項3の発明によれば、一旦描画した軌跡を短縮することができる。したがって、短縮した後にさらに軌跡を延長すれば、途中まで描いた軌跡を利用して再度新しい軌跡を描くことができ、簡単に目標位置または軌跡或いはその両方を変更することができる。
【0017】
請求項4の発明は請求項3に従属し、描画軌跡生成手段は、軌跡短縮手段によって第1軌跡が第1位置まで短縮された後、入力検出手段によって連続的に検出される入力座標に基づいて第1軌跡を延長し、オブジェクト移動手段は、延長した第1軌跡の生成後に、一旦入力検出手段によって入力座標が検出されなくなった後、再度入力検出手段によって検出される入力座標が延長した第1軌跡上の第3位置を示すとき、移動オブジェクトを当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる。
【0018】
請求項4の発明では、描画軌跡生成手段(42,S21,S25)は、軌跡短縮手段(42,S49)によって第1軌跡が第1位置まで短縮された後、入力検出手段(42,S5,S15,S21)によって連続的に検出される入力座標に基づいて第1軌跡を延長する。つまり、一旦描画した軌跡の一部を利用して新たらしい軌跡を描画できる。オブジェクト移動手段(42,S55)は、延長した第1軌跡の生成後に、一旦入力検出手段(42,S5,S15,S21)によって入力座標が検出されなくなった後、再度入力検出手段(42,S5,S15,S21)によって検出される入力座標が延長した第1軌跡上の第3位置を示すとき、移動オブジェクト(102)を当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる。
【0019】
請求項4の発明によれば、一旦描画した軌跡の一部を利用して新しい軌跡を描画できるので、目標位置または軌跡或いはその両方を容易に変更することができる。
【0020】
請求項5の発明は請求項1ないし4のいずれかに従属し、複数の移動オブジェクトが存在し、ポインティングデバイスによって選択された1の移動オブジェクトの現在位置が第1軌跡の始点であり、オブジェクト移動手段は、選択された1の移動オブジェクトを第1軌跡に従って移動させる。
【0021】
請求項5の発明では、移動オブジェクト(102)は複数存在する。したがって、操作者は複数の移動オブジェクト(102)のうち、所望の1の移動オブジェクト(102)をポインティングデバイス(22)によって選択することができる。第1軌跡の始点は、選択された移動オブジェクト(102)の現在位置に決定される。したがって、オブジェクト移動手段(42,S55)は、選択された移動オブジェクト(102)を軌跡に従って移動させる。
【0022】
請求項5の発明によれば、複数の移動オブジェクトから1の移動オブジェクトを選択するので、所望の移動オブジェクトを戦略により移動させることができる。
【0023】
請求項6の発明は請求項1ないし5のいずれかに従属し、第1軌跡が移動オブジェクトの許容移動範囲を超えるか否かを判断する許容移動範囲判断手段、および第1軌跡が移動オブジェクトの許容移動範囲を超えるとき、始点と入力検出手段によって検出される現在の入力座標に対応する第4位置とを結ぶ第1軌跡とは異なる第2軌跡を所定のルールに従って決定する軌跡決定手段をさらに備える。
【0024】
請求項6の発明では、許容移動範囲判断手段(42,S23,S33)は、第1軌跡の長さが移動オブジェクト(102)の許容移動範囲を超えるか否かを判断する。第1軌跡の長さが移動オブジェクト(102)の許容移動範囲を超えるとき、始点と入力検出手段(42,S5,S15,S21)によって検出される現在の入力座標に対応する第4位置とを結ぶ第2軌跡を所定のルールに従って決定する。ただし、第2軌跡は、第1軌跡とは異なる。
【0025】
請求項6の発明によれば、軌跡の長さが移動オブジェクトの許容移動範囲を超える場合には、所定のルールに従って他の軌跡が決定されるので、許容移動範囲内で移動させる軌跡を考えることができる。
【0026】
請求項7の発明は請求項6に従属し、軌跡決定手段によって第2軌跡を決定するとき、第1軌跡を消去する軌跡消去手段をさらに備える。
【0027】
請求項7の発明では、軌跡消去手段(42,S37)は、第2軌跡を決定するとき、第1軌跡を消去する。
【0028】
請求項7の発明によれば、他の軌跡を決定するとき、許容移動範囲を超える軌跡が消去されるため、軌跡を決定するときに、操作者が混乱することがない。
【0029】
請求項8の発明は、移動オブジェクトを表示する表示手段および表示手段に関連して設けられるポインティングデバイスを備えるオブジェクト移動制御装置のオブジェクト移動制御プログラムであって、オブジェクト移動制御装置のプロセサに、入力検出ステップ、判定ステップ、描画軌跡生成ステップ、およびオブジェクト移動ステップを実行させる。入力検出ステップは、ポインティングデバイスによって入力された入力座標を検出する。判定ステップは、入力検出ステップによって検出された入力座標が移動オブジェクトのひょうじ位置と一致するか否かを判定する。描画軌跡生成ステップは、判定結果による判定結果が一致を示した後、入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する。オブジェクト移動ステップは、描画軌跡生成ステップによる第1軌跡の生成後に、一旦入力検出ステップによって入力座標が検出されなくなった後、再度入力検出ステップによって検出される入力座標が第1軌跡上の第1位置を示すとき、移動オブジェクトを第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させる。
【0030】
請求項8の発明においても、請求項1の発明と同様に、移動オブジェクトを所望の経路で所望の位置まで移動させることでき、簡単にその方策を練ることができる。
【発明の効果】
【0031】
この発明によれば、描画することにより決定した経路上の所望の位置まで当該経路に従って移動オブジェクトを移動させるので、方策を簡単に検討して移動オブジェクトを移動することができる。
【0032】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0033】
図1を参照して、この発明の一実施例であるゲーム装置10は、オブジェクト移動制御プログラムを記憶し、オブジェクト移動制御装置として機能する。このゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含み、LCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0034】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0035】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0036】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0037】
操作スイッチ20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。
【0038】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、操作者(プレイヤ)によって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0039】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0040】
動作スイッチ(左押しボタン)20Lおよび動作スイッチ(右押しボタン)20Rは、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0041】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面(検出面)をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0042】
この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出面の検出精度もその解像度に対応して256dot×192dotとしてある。ただし、タッチパネル22の検出面の検出精度は、LCD14の表示面の解像度よりも低くてもよく、高くてもよい。
【0043】
LCD12およびLCD14には異なるゲーム画像(ゲーム画面)を表示することができる。たとえば、レースゲームでは、一方のLCDに移動体の運転席からの視点による画面を表示し、または、移動体をその後ろまたは上方から追従するカメラで撮影した画像を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCD(たとえば、LCD12)にゲームのプレイ画面を表示し、他方のLCD(たとえば、LCD14)に当該ゲームを操作するための文字情報やアイコン等を含むゲーム画面(操作画面)を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。
【0044】
したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示(指定)したり、動作(移動)させたり、コマンドを選択したりすることができる。また、3次元ゲーム空間に設けられる仮想カメラ(視点)の方向を変化させたり、ゲーム画面をスクロール(徐々に移動表示)させたりすることもできる。
【0045】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0046】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0047】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0048】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部にはスピーカ32(図2参照)が設けられる。
【0049】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0050】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0051】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0052】
ROM28aは、ゲーム装置10で実行すべき仮想ゲーム(実施例では、ゴルフゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0053】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0054】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0055】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0056】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。なお、CPUコア42は、描画に必要な画像データをGPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして描画のためのゲーム画像データを作成し、GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成する。
【0057】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が「1」である場合には、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0058】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接ゲーム画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58からゲーム画像データを読み出したりする。
【0059】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22からの座標データがI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32から出力する。
【0060】
たとえば、このような構成のゲーム装置10では、対戦シミュレーションゲームを楽しむことができる。対戦シミュレーションゲームにおいては、プレイヤが操作する軍(自軍)と、コンピュータプレイヤないし他のプレイヤが操作する軍(敵軍)との間で戦闘が行われる。たとえば、プレイヤは、自軍の移動オブジェクト(戦車、戦闘機、戦艦、歩兵など)を移動させることにより、敵軍の移動オブジェクトを攻撃する。
【0061】
ここで、従来のゲーム装置では、タッチ操作により、所望の移動オブジェクトを選択し、続いて、当該移動オブジェクトを移動させたい位置(目標位置)を選択する。すると、移動オブジェクトは、現在位置から目標位置に向けて直線的に移動する。また、他のゲーム装置では、移動オブジェクトをドラッグすることにより、目標位置に移動させる。
【0062】
しかし、前者の方法では、所望の移動オブジェクトをタッチ操作のみで移動させることができるが、移動オブジェクトが現在位置から目標位置に移動した画面に切り替わるだけであり、移動オブジェトが徐々に目標位置に移動するようなリアリティを表現することができない。つまり、現在位置と目標位置との間を直線的に進むため、その間に障害物が存在しても、戦車のような移動オブジェクトは、何ら問題なく移動できてしまう。また、後者の方法では、ドラッグ操作により移動オブジェクトを移動させるため、障害物を避けるように移動オブジェクトを移動させることができるが、ドラッグ操作に従って移動オブジェクトが移動してしまうため、その移動をやり直すことができない。したがって、移動する経路を予め十分に検討する必要があるが、ゲーム画面を見ただけでは、地形や障害物を考慮した経路を検討するのは困難である。
【0063】
そこで、この実施例では、方策(戦略)に応じて、移動経路(軌跡)を予め決定し、決定した経路に従って移動オブジェクトを移動させるようにしてある。以下、ゲーム画面の例を用いて、移動オブジェクトの移動経路(軌跡)の決定および移動オブジェクトの移動について説明する。
【0064】
図3は、ゲーム装置10のLCD14に表示されるゲーム画面100の一例を示す図解図である。なお、図示できないが、上述したように、LCD14上にタッチパネル22が設けられる(図4−図6,図8−図11も同じ。)。LCD14には、プレイヤによって操作可能なオブジェクト102(自軍のプレイヤオブジェクトないしプレイヤキャラクタ)およびその近傍ないし周辺を含むゲームマップの一部がゲーム画面100として表示される。図示は省略するが、ゲーム画面100には、地面(地形)、建物、森林、空、海などの背景を表わす背景オブジェクトが表示され、また、場合によっては、敵軍のオブジェクトも表示される。また、図3のゲーム画面100では、マス目を表示してあるが、これは、オブジェクト102がマス目に従うように上下または左右に移動されるためである。つまり、この実施例では、オブジェクト102は、斜め方向には移動しないし、マス目を飛び越えて移動することもない。ただし、マス目は、実際のゲーム画面100においては、表示されなくてもよい。
【0065】
なお、図示は省略するが、ゲーム空間ないし面(ステージ)に対応するゲームマップの全体は、LCD12に他のゲーム画面として表示される。ただし、LCD12に表示されるゲーム画面では、オブジェクト102や敵オブジェクト(図示せず)に関する情報ないしパラメータ(生命力、体力、攻撃力、レベルなどの値(数値))などを表示することも可能である。
【0066】
図3に示すように、プレイヤがスティック24を用いて、オブジェクト102を指示(タッチ操作)すると、タッチ操作されたオブジェクト102が選択状態(移動可能なアクティブ状態)となる。図3(図4−図6,図8−図11も同じ。)では、オブジェクト102が選択状態であることを、斜線を付すことにより示してある。ただし、実際のゲーム画面100においては、色反転や輝度変化により、選択状態が示される。
【0067】
所望のオブジェクト102を選択状態にした後、たとえば、そのままスティック24をスライドさせると、つまりスライド操作すると、当該スライド操作に従ってゲーム画面100に軌跡(移動経路)が描画される。ただし、上述したように、オブジェクトは上下または左右に1マスずつ移動するため、上下または左右の方向にドラッグする必要がある。したがって、たとえば、図4に示すように、オブジェクト102の移動経路(以下、単に「経路」という。)Lを描画することができる。ただし、1のオブジェクト102が選択状態にされると、当該オブジェクト102の位置座標が経路Lの基準点ないし始点(O点)に決定される。
【0068】
なお、詳細な説明は省略するが、タッチ座標は一定時間(1フレーム:画面更新単位時間(1/60秒))毎に検出され、検出されたタッチ座標を含むマス目が経路Lを構成するようにしてある。したがって、スライド操作するときに、必ずしもマス目の中心をスライドする必要はない。また、この実施例では、1マスずつオブジェクト102を移動させるようにしてあるため、経路Lを構成するマス目の中心座標が時系列(順番)に従って記憶され、その中心座標を連結するように、線のテクスチャが貼り付けられ、経路Lがゲーム画面100に表示される。
【0069】
図4に示すように、プレイヤはスティック24をO点から右に1マス進み、下に2マス進み、右に1マス進み、上に2マス進み、右に1マス進み、そして、上に1マス進むようにスライドすると、線aで構成される経路Lが描画される。ここで、プレイヤがスティック24をタッチパネル22から離す(タッチオフする)と、経路Lが一旦確定される。
【0070】
このとき、経路L上のいずれかの点をタッチオンし、タッチオンした点と同じ点でタッチオフすると、つまり経路L上の所望の点をクリックすると、オブジェクト102は、当該所望の点(位置座標)まで経路Lに従って移動する。ただし、後述するように、経路Lの途中でクリックした場合には、その途中の点まで経路Lが短縮され、短縮された経路Lに従って所望の点(終点)まで、オブジェクト102は移動される。
【0071】
また、経路Lを延長することも可能である。この実施例では、スライド操作により、一旦経路Lを描画した後に、つまり一旦タッチオフした後に、描画した経路L上でない点をタッチオンすることにより、経路Lを延長することができる。具体的には、図4に示したように、線aで構成される経路Lをスライド操作により描画し、タッチオフした後に、図5に示すように、経路L(線a)以外の点(B点)をタッチオンすると、たとえば、乱数で延長する部分(線b)が決定され、図6に示すように、経路Lが延長される。つまり、経路Lの終点(A点)が乱数のような所定のルールに従ってB点で示すマス目まで延長される。
【0072】
ここで、図7(A)〜図7(D)を用いて、経路Lを乱数で決定する方法について説明する。図7(A)を参照して、始点(P点)から終点(Q点)までの経路Lを決定する場合には、まず、マス目200からQ点に向かう方向であり、上下または左右の進行方向となるように、マス目200から1マス進んだマス目が乱数で決定される。したがって、1マス目としては、マス目202またはマス目206が候補として選出される。ここで、図7(A)に示すように、たとえば、マス目202が決定されると、次に、マス目202からQ点に向かう方向であり、上下または左右の進行方向となるように、マス目202から1マス進んだマス目が乱数で決定される。ここでは、マス目204およびマス目208が候補として選出される。以下、同様である。
【0073】
図7(B)に示すように、たとえば、マス目208が決定されると、次に、当該マス目208から1マス進んだマス目が乱数で決定される。ここでは、上述した法則に従ってマス目210およびマス目214が候補として選出される。図7(C)に示すように、たとえば、マス目214が決定されると、次に、当該マス目214から1マス進んだマス目が乱数で決定される。ただし、ここでは、1マス進むと、終点としてのQ点が存在するマス目216が存在するため、一義的にマス目216に決定される。このようにして、経路Lが乱数で決定される。なお、経路Lは、マス目200、202、208、214および216の順で通過するように決定される。また、詳細な説明は省略するが、1マス毎に進路が決定され、経路Lが決定されると、当該経路Lがゲーム画面100に表示(描画)される。以下、同様である。
【0074】
なお、図7(A)〜図7(D)では省略したが、既に経路Lとして選択されているマス目や他のオブジェクト102や障害物が存在するマス目は、乱数で決定するマス目の候補としては選択されない。
【0075】
また、経路Lを短縮することも可能である。たとえば、図4に示したように、経路Lを一旦確定した後に、図8に示すように、当該経路L上であり、始点(O点)と終点(A点)以外の点(C点)をタッチオンすると、図9に示すように、経路Lは、その一部が消去されることにより短縮される。
【0076】
ここで、プレイヤがタッチオフすると、つまりC点をクリックすると、経路Lが短縮された後に、オブジェクト102が経路Lに従ってC点まで移動する。これは、上述したように、経路Lを決定するためのタッチオンの座標(タッチオン座標)とその後のタッチオフの座標(タッチオフ座標)とが一致し、経路Lを短縮する操作とオブジェクト102の移動を指示する操作とを入力したことになるためである。
【0077】
ただし、経路Lを短縮して、つまりC点をタッチオンした状態で、そのままスライド操作することにより、経路Lを延長することも可能である。つまり、一旦描画した経路Lを変更することが可能である。したがって、たとえば、図4、図図8、図9、図10に示す順番で、プレイヤがスティック24を操作すると、線aで示される経路Lが決定され、線cで示される経路Lに短縮された後に、線c+線dで示される経路Lが決定される。すなわち、図4に示す経路Lから図10に示す経路Lへの変更が可能である。ただし、上述したように、経路Lが許容範囲を超える場合には、O点を始点とし、D点を終点として、新たな経路Lが乱数で決定される。
【0078】
このように、プレイヤは所望のオブジェクト102を選択した後に、当該オブジェクト102の移動後の位置(目標位置)を決めて、スライド操作により経路Lを描画することができる。また、一旦経路Lを決定しても、目標位置や経路Lを再考して、経路Lを延長したり、短縮および延長したりすることができるし、経路Lの途中をクリックして、途中までしかオブジェクト102が進まないようにすることもできる。つまり、戦略に応じた経路Lを決定でき、その変更等も簡単である。
【0079】
また、オブジェクト102では、それぞれ、移動可能な範囲(マス目の数)は予め決定されており、その移動可能な範囲(許容範囲)に相当するマス目の数を越えると、それまでに決定された経路Lはすべて消去され、O点を始点とし、現在のタッチ座標を終点として別の経路Lが乱数で決定される。たとえば、図6に示すように、O点からB点までの経路L(線a+線b)が決定されたときに、つまり経路Lを延長したときに、この経路Lの長さが許容範囲を超える場合には、当該経路Lは消去され、図11に示すように、O点を始点とし、B点を終点として、新しい経路L(線b´)が決定される。ただし、新しい経路Lの決定方法は、図7(A)ないし図7(D)を用いて説明した方法と同じである。図示は省略するが、スライド操作のみによって経路Lを描画しているときに、経路Lの長さが許容範囲を超える場合も同様に、別の経路Lが乱数で決定される。
【0080】
なお、図示は省略するが、乱数で経路Lを決定した場合に、再度許容範囲を超える場合には、現在のタッチ座標の変更を促すべく、警告メッセージをLCD14(またはLCD12)に表示したり、警告音をスピーカ32から出力したり、それら両方を実行したりするようにする必要がある。
【0081】
また、この実施例では、許容範囲は各オブジェクト102に応じて予め設定されているようにしてあるが、これに限定される必要はない。プレイヤのゲームレベル、ゲームの進行状況やオブジェクトのパラメータ(生命力、レベル、体力など)などに応じて可変的に設定するようにしてもよい。または、オブジェクト102の現在位置に対応するマス目(背景オブジェクト)に応じて、許容範囲が設定されてもよい。
【0082】
さらに、図示は省略するが、図3−図6,図8−図11に示したように、オブジェクト102が複数存在する場合には、一旦選択したオブジェクト102を再度クリックすることにより、その選択を解除することができる。つまり、他のオブジェクト102を選択することができる。
【0083】
図12は、図2に示したゲーム装置10に内蔵されるRAM48のメモリマップの例を示す図解図である。この図12を参照して、RAM48はプログラム記憶領域480およびデータ記憶領域482を含む。プログラム記憶領域480には、ゲームプログラムが記憶され、ゲームプログラムはゲームメイン処理プログラム480a、画像生成プログラム480b、画像表示プログラム480c、タッチ入力検出プログラム480d、経路決定プログラム480e、経路消去プログラム480fおよび移動処理プログラム480gなどによって構成される。
【0084】
ゲームメイン処理プログラム480aは、対戦シミュレーションゲームについてのメインルーチンを処理するためのプログラムである。画像生成プログラム480bは、後述する画像データ482aを用いて、ゲームオブジェクト(オブジェクト102,敵オブジェクト,背景オブジェクトなど)を生成したり、経路Lのような線や点のテクスチャを貼り付けたりするためのプログラムである。画像表示プログラム480cは、画像生成プログラム480bに従って生成された画像をLCD12およびLCD14に表示するためのプログラムである。
【0085】
タッチ入力検出プログラム480dは、タッチパネル22から入力される座標データ(タッチ座標のデータ)を一定時間毎に検出するためのプログラムである。また、CPU42は、タッチ入力検出プログラム480dに従って座標データを検出した場合には、後述するタッチオンフラグ482eをオンし、逆に座標データを検出しない場合には、タッチオンフラグ482eをオフする。経路決定プログラム480eは、上述したように、経路Lを延長する場合、経路L上でない位置をクリックした場合、または、経路Lが許容範囲を超えた場合に、乱数で経路Lを決定するためのプログラムである。経路消去プログラム480fは、経路Lが許容範囲を超えたり、プレイヤによって経路Lが短縮されたりしたとき、描画された経路Lおよび/または乱数で決定された経路Lの全部または一部を消去するためのプログラムである。また、このとき、消去する経路Lに対応するタッチ座標データ482bを消去する。移動処理プログラム480gは、決定された経路Lに従って選択状態のオブジェクト102を移動させるためのプログラムである。
【0086】
なお、図示は省略するが、プログラム記憶領域480には、ゲーム音再生プログラムやバックアッププログラムなども記憶される。ゲーム音再生プログラムは、ゲームに必要な音(音楽)を再生するためのプログラムである。また、バックアッププログラムは、プレイヤの指示や所定のイベントに従ってゲームの途中データや結果データをメモリカード28に記憶(セーブ)するためのプログラムである。
【0087】
データ記憶領域482は、画像データ482a、タッチ座標データ482b、経路座標データ482dを記憶などのデータを記憶する。画像データ482aは、上述したように、ゲームオブジェクト等を生成するための画像データ(ポリゴンデータ、テクスチャデータなど)である。タッチ座標データ482cは、タッチ入力検出プログラム480dに従って検出された現在の座標データであり、タッチ座標が検出される毎に更新される。
【0088】
オブジェクト座標データ482cは、操作可能(移動可能)なオブジェクト102についての位置座標の座標データであり、オブジェクト102のそれぞれに対応して記憶される。したがって、オブジェクト102の移動に従って更新され、経路Lを乱数で決定する場合には、選択状態のオブジェクト102についての座標データが示す位置座標が始点となる。
【0089】
経路座標データ482dは、プレイヤが描画することにより決定した経路Lまたは乱数で決定した経路Lを構成するマス目の中心座標についての座標データを時系列(順番)に従って記憶した座標データ群である。ただし、経路Lの一部または全部が消去されるとき、この経路座標データ482dに含まれる座標データの一部または全部が消去される。
【0090】
また、データ記憶領域482には、タッチオンフラグ482eが設けられる。タッチオンフラグ482eは、タッチ入力が有る状態で成立(オン)され、タッチ入力が無い状態で不成立(オフ)される。たとえば、タッチオンフラグ482eは、1ビットのレジスタで構成され、オンであれば、レジスタにデータ値「1」が設定され、オフであれば、レジスタにデータ値「0」が設定される。
【0091】
なお、図示は省略するが、データ記憶領域482には、他のデータ、たとえば、ゲームに必要な音(音声、音楽、効果音など)データ、ゲームの進行に応じて発生(生成)されるゲームデータ(途中データや結果データ)や他のフラグデータなども記憶される。
【0092】
具体的には、図2に示したCPUコア42が図13〜図15に示すフロー図に従ってオブジェクト移動制御処理(経路Lの決定処理およびオブジェクト移動処理)を実行する。なお、詳細な説明は省略するが、このオブジェクト移動制御処理は、たとえば、自軍の攻撃ターンにおいて、移動処理可能な回数だけ実行される。ここで、移動処理可能な回数は、たとえば、自軍のオブジェクト102の総数であったり、ゲームレベルやゲームの進行状況で可変的に決定される回数であったり、ゲームプログラムや開発者によって予め決定される回数であったりする。
【0093】
図13を参照して、CPUコア42は、オブジェクト移動制御処理を開始すると、ステップS1で、タッチオンかどうかを判断する。ここでは、タッチオンフラグ482eがオンであるかどうかを判断する。以下、同様である。ステップS1で“NO”であれば、つまりタッチオンフラグ482eがオフであれば、タッチオフであると判断して、ステップS3で、その他の処理を実行して、オブジェクト移動制御処理を終了する。ここで、たとえば、その他の処理は、敵軍のオブジェクトの移動や背景の変化などのノンプレイヤオブジェクトについての画面更新処理などである。
【0094】
なお、図示は省略するが、図13−図15に示すオブジェクト移動制御処理とは、別個独立の処理によって、一定時間毎に、CPUコア42はタッチ座標を検出し、また、タッチオンフラグ482をオン/オフしている。
【0095】
また、ステップS1で“YES”であれば、つまりタッチオンフラグ482eがオンであれば、タッチオンであると判断して、ステップS5で、現在のタッチ座標を検出する。ここでは、CPUコア42はデータ記憶領域482を参照して、タッチ座標データ482bから現在(最新)の座標データを検出する。ただし、図示は省略するが、上述したように、一定時間毎に、CPUコア42はタッチ座標を検出すると、時系列に従ってタッチ座標に対応する座標データをデータ記憶領域482に記憶する。これにより、タッチ座標データ482bが更新される。以下、同様である。
【0096】
続くステップS7では、検出した(現在の)タッチ座標がオブジェクト102上であるかどうかを判断する。ステップS7で“NO”であれば、つまり検出したタッチ座標がオブジェクト102上でなければ、そのままステップS3に進む。しかし、ステップS7で“YES”であれば、つまり検出したタッチ座標がオブジェクト102上であれば、ステップS9で、該当オブジェクトを選択状態にする。続くステップS11では、タッチオフかどうかを判断する。ここでは、タッチオンフラグ482eがオフであるかどうかを判断する。
【0097】
ステップS11で“YES”であれば、つまりタッチオンフラグ482eがオフであれば、オブジェクト102の選択またはスライド操作を終了したと判断して、ステップS13で、タッチオンであるかどうかを判断する。ステップS13で“NO”であれば、つまりタッチオフであれば、同じステップS13に戻る。しかし、ステップS13で“YES”であれば、つまりタッチオンであれば、ステップS15で、現在のタッチ座標を検出する。
【0098】
続いて、ステップS17では、現在のタッチ座標が選択中のオブジェクト102上であるかどうかを判断する。ここでは、タッチ座標に対応するLCD14上の座標(dot)が選択中のオブジェクト102の表示領域に含まれるかどうかを判断しているのである。ステップS17で“YES”であれば、つまり現在のタッチ座標が選択中のオブジェクト102上でなければ、図14に示すステップS27に進む。しかし、ステップS17で“YES”であれば、つまり現在のタッチ座標が選択中のオブジェクト102上であれば、ステップS19で、当該オブジェクト102の選択を解除(キャンセル)して、ステップS1に戻る。かかる場合には、たとえば、プレイヤは他のオブジェクト102を選択して、移動処理を実行させることができる。
【0099】
また、ステップS11で“NO”であれば、つまりタッチオン状態であれば、ステップS21で、現在のタッチ座標を検出する。ここでは、図示は省略するが、上述したように、検出されたタッチ座標が含まれるマス目を検出して、時系列に従ってマス目の中心座標に対応する座標データを順次記憶している。つまり、経路座標データ482dが更新される。続いて、ステップS23で、許容範囲内かどうかを判断する。ここでは、現時点で(現在のタッチ座標の位置において)、描画により決定された経路Lの長さ(マス目の数)が選択中のオブジェククト102の許容範囲内であるかどうかを判断する。ステップS23で“NO”であれば、つまり決定された経路Lの長さが許容範囲外であれば、図14に示すステップS37に進む。しかし、ステップS23で“YES”であれば、つまり決定された経路Lの長さが許容範囲内であれば、ステップS25で、描画された経路Lを表示して、ステップS11に戻る。ステップS11,S21,S23およびS25の処理を繰り返すことにより、プレイヤのスライド操作に従って経路Lが描画される。
【0100】
上述したように、ステップS17で、現在のタッチ座標が選択中のオブジェクト102上でなければ、図14に示すステップS27で、現在表示されている経路Lがあるかどうかを判断する。ここでは、CPUコア42は、RAM48を参照して、経路座標データ482dが記憶されているかどうかを判断する。ステップS27で“NO”であれば、つまり現在表示されている経路Lが無い場合には、いわゆる2点押し(或る位置をクリックした後に、他の位置をクリックする)による経路Lの決定であると判断して、ステップS39に進む。しかし、ステップS27で“YES”であれば、つまり現在表示されている経路Lが有る場合には、ステップS29で、ステップS15で検出した現在のタッチ座標が当該経路L上であるかどうかを判断する。ただし、厳格に、経路L上をタッチオンしたか否かを判断すると、プレイヤがゲーム装置10の故障等であると判断するおそれがあるため、実際には、或る程度の誤差範囲(数dotの範囲)を設けるようにしてある。
【0101】
ステップS29で“YES”であれば、つまり現在のタッチ座標が当該経路L上であれば、図15に示すステップS47に進む。しかし、ステップS29で“NO”であれば、つまり現在のタッチ座標が当該経路L上でなければ、経路Lを延長すると判断して、ステップS31で、延長する部分を1マスずつ乱数で決定する。かかる場合には、既に表示されている経路Lの終点と現在のタッチ座標との間の部分が乱数で決定されるのである。そして、ステップS33で、延長した経路Lの長さが許容範囲内であるかどうかを判断する。ステップS33で“NO”であれば、つまり延長した経路Lの長さが選択中のオブジェクト102の許容範囲外であれば、ステップS37に進む。しかし、ステップS33で“YES”であれば、つまり延長した経路Lの長さが許容範囲内であれば、ステップS35で、経路Lを延長表示して、図15に示すステップS51に進む。
【0102】
また、上述したように、ステップS23で現在のタッチ座標が許容範囲外である場合には、ステップS35で、現在表示されている全経路Lをキャンセルする。つまり、経路座標データ482dをすべて消去する。続くステップS39では、経路Lを1マスずつ乱数で決定する。この決定方法は、図7(A)〜図7(D)を用いて説明した通りであるが、ステップS37において全経路Lをキャンセルした場合には、選択中のオブジェクト102の位置座標を始点とし、現在のタッチ座標を終点として、経路Lが乱数で決定される。ただし、スライド操作により経路Lを描画した後に、所望の点をクリックした場合には、描画してある経路Lの終点を始点とし、クリックした点を終点として、延長する部分が乱数で決定される。図示は省略するが、ステップS39の処理によって、経路座標データ482dが更新される。
【0103】
続くステップS41では、乱数で決定した経路Lの長さが選択中のオブジェクト102の許容範囲内であるかどうかを判断する。ステップS39で“YES”であれば、つまり決定した経路Lが許容範囲内であれば、ステップS43で、決定した経路Lを表示して、図15に示すステップS51に進む。しかし、ステップS41で“NO”であれば、つまり決定した経路Lが許容範囲外であれば、ステップS45で、警告して、図13に示したステップS11に戻る。たとえば、ステップS45では、経路Lの長さが選択中のオブジェクト102の許容範囲を超えている旨、およびタッチ座標を変更すべき旨をメッセージ表示したり、警告音を出力したり、或いはその両方により、プレイヤに現在のタッチ座標の変更を促す。
【0104】
図15に示すステップS47では、ステップS15で検出した現在のタッチ座標が当該経路Lの終点であるかどうかを判断する。つまり、現在のタッチ座標に対応する座標データが、経路座標データ482dの終点に対応する座標データと一致するかどうかを判断する。ただし、厳格に、同じ座標(dot)をタッチオンしたか否かを判断すると、プレイヤがゲーム装置10の故障等であると判断することがあるため、実際には、或る程度の誤差範囲(数dotの範囲)を設けるようにしてある。
【0105】
ステップS47で“YES”であれば、つまり現在のタッチ座標が経路Lの終点であれば、そのままステップS51に進む。しかし、ステップS47で“NO”であれば、つまり現在のタッチ座標が経路Lの終点でなければ、つまり現在のタッチ座標が経路Lの途中の点であれば、ステップS49で、当該タッチ座標まで経路Lを短縮して、ステップS51に進む。つまり、ステップS49では、終点から現在のタッチ座標までのマス目に含まれる座標データを、経路座標データ482dから削除するのである。したがって、図8および図9に示したように、経路Lが短縮表示される。
【0106】
ステップS51では、タッチオフかどうかを判断する。ステップS51で“NO”であれば、つまりタッチオンであれば、そのまま図13に示したステップS21に戻る。一方、ステップS51で“YES”であれば、つまりタッチオフであれば、ステップS53で、タッチオン座標(ステップS15で検出しタッチ座標)とタッチオフ座標(ステップS51でタッチオフと判断される直前まで検出されていたタッチ座標)とが一致するかどうかを判断する。つまり、クリック操作であるかどうかを判断する。
【0107】
ステップS53で“NO”であれば、つまりタッチオン座標とタッチオフ座標とが不一致であれば、経路Lの延長または変更があったと判断して、図13に示したステップS13に戻る。しかし、ステップS53で“YES”であれば、つまりタッチオン座標とタッチオフ座標とが一致すれば、オブジェクト102の移動指示であると判断し、ステップS55で、経路Lに従ってオブジェクトを終点(クリックされた点)まで移動表示させ、オブジェクト移動制御処理を終了する。
【0108】
なお、簡単のため、このオブジェクト移動制御処理では、タッチオン座標がオブジェクト102上であれば、当該オブジェクト102を必ず選択できるようにしてあるが、一回の攻撃ターンにつき、一度しかオブジェクト102を移動させることができない場合には、選択可能なオブジェクト102か否かを判断するようにしてもよい。選択可能であれば、タッチオン座標が示すオブジェクト102を選択状態にし、選択不能であれば、他のオブジェクト102を選択すべきことの警告処理を実行して、他のオブジェクト102の選択をプレイヤに促すようにすればよい。
【0109】
この実施例によれば、タッチ操作により、オブジェクトの経路を描画したり、変更したりして決定したり、乱数で決定したりするので、戦略に応じて経路を決定することができる。つまり、戦略に応じてオブジェクトを移動させることができる。また、所望の経路を描画し、目標位置や経路を必要に応じて変更し、或いはランダムに決定することができるので、戦略を簡単に練ることができる。
【0110】
なお、この実施例では、オブジェクトはマス目毎に移動するようにしたため、経路を1マス単位で決定するようにしたが、経路の表示単位(最小単位は1dot)で、経路を決定するようにしてもよい。
【0111】
また、この実施例では、オブジェクトは左右または上下方向に移動可能としてあるが、斜め方向に移動可能としてもよい。
【0112】
さらに、この実施例では、経路を描画しているときに、許容範囲外に出た場合には、それまでに描画した経路を全てキャンセルするようにしたが、許容範囲内で描画していた部分についてはそのまま残すようにしてもよい。
【0113】
さらにまた、この実施例では、選択したオブジェクトを再度クリックすると、当該オブジェクトの選択を解除するようにしてあるが、選択したオブジェクトの許容範囲外をクリックしたときに選択を解除するようにしてもよい。このとき、解除されるオブジェクトについて経路を描画していた場合には、当該経路も全てキャンセルされる。
【0114】
また、この実施例では、2つのLCDを設けるようにしたが、少なくとも1つのLCDを設け、当該LCD上にタッチパネルを設けるようにすればよい。または、2つのLCD上にそれぞれタッチパネルを設けて、選択的に画面を切り換えるようにしてもよい。
【0115】
さらに、この実施例では、ポインティングデバイスとしてタッチパネルを用いるようにしたが、コンピュータマウス、トラックボール、タッチパッドなどの他のポインティングデバイスを用いることも可能である。ただし、他のポインティングデバイスを用いる場合には、ゲーム画面上に、マウスポインタのような指示画像を表示する必要がある。
【図面の簡単な説明】
【0116】
【図1】図1はこの発明のゲーム装置の一例を示す図解図である。
【図2】図2は図1に示すゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の一例を示す図解図である。
【図4】図4は図1に示すゲーム装置の第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図5】図5は図1に示すゲーム装置の第2のLCDに表示されるゲーム画面のその他の例を示す図解図である。
【図6】図6は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図7】図7は経路を乱数で決定する方法を説明するための図解図である。
【図8】図8は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図9】図9は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面のその他の例を示す図解図である。
【図10】図10は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面のさらに他の例を示す図解図である。
【図11】図11は図1に示すゲーム装置に設けられる第2のLCDに表示されるゲーム画面の他の例を示す図解図である。
【図12】図12は図2に示すRAMのメモリマップの例を示す図解図である。
【図13】図13は図2に示すCPUコアのオブジェクト移動制御処理の一部を示すフロー図である。
【図14】図14は図2に示すCPUコアのオブジェクト移動制御処理の他の一部であり、図13に後続するフロー図である。
【図15】図15は図2に示すCPUコアのオブジェクト移動制御処理のその他の一部であり、図13および図14に後続するフロー図である。
【符号の説明】
【0117】
10 …ゲーム装置
12,14 …LCD
16,16a,16b …ハウジング
20 …操作スイッチ
22 …タッチパネル
24 …スティック
28 …メモリカード
28a …ROM
28b,48 …RAM
40 …電子回路基板
42 …CPUコア
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ
【特許請求の範囲】
【請求項1】
移動オブジェクトを表示する表示手段、
前記表示手段に関連して設けられるポインティングデバイス、
前記ポインティングデバイスによって入力された入力座標を検出する入力検出手段、
前記入力検出手段によって検出された入力座標が前記移動オブジェクトの表示位置と一致するか否かを判定する判定手段、
前記判定手段による判定結果が一致を示した後、前記入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する描画軌跡生成手段、および
前記描画軌跡生成手段による前記第1軌跡の生成後に、一旦前記入力検出手段によって入力座標が検出されなくなった後、再度前記入力検出手段によって検出される入力座標が前記第1軌跡上の第1位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動手段を備える、オブジェクト移動制御装置。
【請求項2】
前記描画軌跡生成手段による前記第1軌跡の生成後に、一旦前記入力検出手段による検出がなくなった後、再度前記入力検出手段によって検出される入力座標が、前記第1軌跡以外の第2位置を示すとき、前記第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する軌跡延長手段をさらに備える、請求項1記載のオブジェクト移動制御装置。
【請求項3】
前記第1位置が前記第1軌跡の終点以外の点であるとき、当該第1軌跡を始点から当該第1位置までに短縮する軌跡短縮手段をさらに備える、請求項1または2記載のオブジェクト移動制御装置。
【請求項4】
前記描画軌跡生成手段は、前記軌跡短縮手段によって前記第1軌跡が前記第1位置まで短縮された後、前記入力検出手段によって連続的に検出される入力座標に基づいて第1軌跡を延長し、
前記オブジェクト移動手段は、前記延長した第1軌跡の生成後に、一旦前記入力検出手段によって入力座標が検出されなくなった後、再度前記入力検出手段によって検出される入力座標が前記延長した第1軌跡上の第3位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる、請求項3記載のオブジェクト移動制御装置。
【請求項5】
複数の前記移動オブジェクトが存在し、
前記ポインティングデバイスによって選択された1の前記移動オブジェクトの現在位置が前記第1軌跡の始点であり、
前記オブジェクト移動手段は、選択された1の前記移動オブジェクトを前記第1軌跡に従って移動させる、請求項1ないし4のいずれかに記載のオブジェクト移動制御装置。
【請求項6】
前記第1軌跡が前記移動オブジェクトの許容移動範囲を超えるか否かを判断する許容移動範囲判断手段、および
前記第1軌跡が前記移動オブジェクトの許容移動範囲を超えるとき、前記始点と前記入力検出手段によって検出される現在の入力座標に対応する第4位置とを結ぶ第1軌跡とは異なる第2軌跡を所定のルールに従って決定する軌跡決定手段をさらに備える、請求項1ないし5のいずれかに記載のオブジェクト移動制御装置。
【請求項7】
前記軌跡決定手段によって第2軌跡を決定するとき、前記第1軌跡を消去する軌跡消去手段をさらに備える、請求項6記載のオブジェクト移動制御装置。
【請求項8】
移動オブジェクトを表示する表示手段および前記表示手段に関連して設けられるポインティングデバイスを備えるオブジェクト移動制御装置のオブジェクト移動制御プログラムであって、
前記オブジェクト移動制御装置のプロセサに、
前記ポインティングデバイスによって入力された入力座標を検出する入力検出ステップ、
前記入力検出ステップによって検出された入力座標が前記移動オブジェクトの表示位置と一致するか否かを判定する判定ステップ、
前記判定ステップの判定結果が一致を示した後、前記入力検出ステップによって連続的に検出される入力座標に基づく軌跡を生成する描画軌跡生成ステップ、および
前記描画軌跡生成ステップによる軌跡の生成後に、一旦前記入力検出ステップによって入力座標が検出されなくなった後、再度前記入力検出ステップによって検出される入力座標が前記軌跡上の第1位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動ステップを実行させる、オブジェクト移動制御プログラム。
【請求項1】
移動オブジェクトを表示する表示手段、
前記表示手段に関連して設けられるポインティングデバイス、
前記ポインティングデバイスによって入力された入力座標を検出する入力検出手段、
前記入力検出手段によって検出された入力座標が前記移動オブジェクトの表示位置と一致するか否かを判定する判定手段、
前記判定手段による判定結果が一致を示した後、前記入力検出手段によって連続的に検出される入力座標に基づく第1軌跡を生成する描画軌跡生成手段、および
前記描画軌跡生成手段による前記第1軌跡の生成後に、一旦前記入力検出手段によって入力座標が検出されなくなった後、再度前記入力検出手段によって検出される入力座標が前記第1軌跡上の第1位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動手段を備える、オブジェクト移動制御装置。
【請求項2】
前記描画軌跡生成手段による前記第1軌跡の生成後に、一旦前記入力検出手段による検出がなくなった後、再度前記入力検出手段によって検出される入力座標が、前記第1軌跡以外の第2位置を示すとき、前記第1軌跡の終点から当該第2位置まで所定のルールに従って当該第1軌跡を延長する軌跡延長手段をさらに備える、請求項1記載のオブジェクト移動制御装置。
【請求項3】
前記第1位置が前記第1軌跡の終点以外の点であるとき、当該第1軌跡を始点から当該第1位置までに短縮する軌跡短縮手段をさらに備える、請求項1または2記載のオブジェクト移動制御装置。
【請求項4】
前記描画軌跡生成手段は、前記軌跡短縮手段によって前記第1軌跡が前記第1位置まで短縮された後、前記入力検出手段によって連続的に検出される入力座標に基づいて第1軌跡を延長し、
前記オブジェクト移動手段は、前記延長した第1軌跡の生成後に、一旦前記入力検出手段によって入力座標が検出されなくなった後、再度前記入力検出手段によって検出される入力座標が前記延長した第1軌跡上の第3位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第3位置まで、当該第1軌跡に従って移動させる、請求項3記載のオブジェクト移動制御装置。
【請求項5】
複数の前記移動オブジェクトが存在し、
前記ポインティングデバイスによって選択された1の前記移動オブジェクトの現在位置が前記第1軌跡の始点であり、
前記オブジェクト移動手段は、選択された1の前記移動オブジェクトを前記第1軌跡に従って移動させる、請求項1ないし4のいずれかに記載のオブジェクト移動制御装置。
【請求項6】
前記第1軌跡が前記移動オブジェクトの許容移動範囲を超えるか否かを判断する許容移動範囲判断手段、および
前記第1軌跡が前記移動オブジェクトの許容移動範囲を超えるとき、前記始点と前記入力検出手段によって検出される現在の入力座標に対応する第4位置とを結ぶ第1軌跡とは異なる第2軌跡を所定のルールに従って決定する軌跡決定手段をさらに備える、請求項1ないし5のいずれかに記載のオブジェクト移動制御装置。
【請求項7】
前記軌跡決定手段によって第2軌跡を決定するとき、前記第1軌跡を消去する軌跡消去手段をさらに備える、請求項6記載のオブジェクト移動制御装置。
【請求項8】
移動オブジェクトを表示する表示手段および前記表示手段に関連して設けられるポインティングデバイスを備えるオブジェクト移動制御装置のオブジェクト移動制御プログラムであって、
前記オブジェクト移動制御装置のプロセサに、
前記ポインティングデバイスによって入力された入力座標を検出する入力検出ステップ、
前記入力検出ステップによって検出された入力座標が前記移動オブジェクトの表示位置と一致するか否かを判定する判定ステップ、
前記判定ステップの判定結果が一致を示した後、前記入力検出ステップによって連続的に検出される入力座標に基づく軌跡を生成する描画軌跡生成ステップ、および
前記描画軌跡生成ステップによる軌跡の生成後に、一旦前記入力検出ステップによって入力座標が検出されなくなった後、再度前記入力検出ステップによって検出される入力座標が前記軌跡上の第1位置を示すとき、前記移動オブジェクトを当該第1軌跡の始点から当該第1位置まで、当該第1軌跡に従って移動させるオブジェクト移動ステップを実行させる、オブジェクト移動制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−318392(P2006−318392A)
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願番号】特願2005−142857(P2005−142857)
【出願日】平成17年5月16日(2005.5.16)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(397037890)株式会社インテリジェントシステムズ (14)
【Fターム(参考)】
【公開日】平成18年11月24日(2006.11.24)
【国際特許分類】
【出願日】平成17年5月16日(2005.5.16)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(397037890)株式会社インテリジェントシステムズ (14)
【Fターム(参考)】
[ Back to top ]