(57)【要約】【課題】  ３次元のゲーム空間内の任意のオブジェクトをプレイヤがタッチパネルを操作して移動させるときに、プレイヤが意図した点に正確に移動できるようにすること。【解決手段】  ＣＰＵコアは、タッチパネルからの出力信号に基づいて、タッチパネルにスティックが接触しているかどうかを判定し、接触していない場合は、オブジェクトの重心に仮想カメラの注視点を移動させる。一方、タッチパネルにスティックが接触している場合は、カメラ設定値を固定し、タッチ座標に対応するゲーム空間中の位置に操作対象オブジェクトを出現させ、さらにプレイヤのドラッグ操作に応じてこの操作対象オブジェクトを移動させる。カメラ設定値は、タッチパネルからスティックが離れるまでの間、固定される。【選択図】  図１１
2006122519.tif 000002
【特許請求の範囲】
【請求項１】
３次元のゲーム空間に配置されたオブジェクトを、当該ゲーム空間内に定義された仮想カメラに基づいて、タッチパネルを設置した表示装置に表示するためのゲームプログラムであって、コンピュータに、
前記仮想カメラの位置、注視点、画角の少なくとも１つを示すカメラ設定値を変化させるカメラ制御ステップ、
前記カメラ設定値に基づいて前記オブジェクトを描画することによって、前記表示装置に表示すべきゲーム画像を生成するゲーム画像生成ステップ、
前記タッチパネルからの出力信号に基づいて当該タッチパネルへの接触位置を示すタッチ座標を検出するタッチ座標検出ステップ、
前記カメラ設定値が変化している途中で前記タッチ座標が検出されたときに、少なくとも前記タッチ座標が検出されなくなるまで当該カメラ設定値を変動しないように固定するカメラ固定ステップ、および
前記カメラ設定値が固定されている状態において前記タッチ座標が変化したときに、当該変化後のタッチ座標に対応するゲーム空間内の３次元座標を、プレイヤによる指示座標として順次算出する指示座標算出ステップを実行させるためのゲームプログラム。
【請求項２】
前記カメラ設定値が変化している途中で前記タッチ座標が検出されたときに、当該タッチ座標に対応するゲーム空間内の３次元座標に操作対象オブジェクトを配置する操作対象オブジェクト配置ステップ、および
前記指示座標算出ステップで順次算出される指示座標の変化に応じて前記操作対象オブジェクトを移動させる操作対象オブジェクト移動ステップをさらに前記コンピュータに実行させることを特徴とする、請求項１に記載のゲームプログラム。
【請求項３】
前記指示座標算出ステップは、前記タッチパネル上の各点を、前記ゲーム空間における視体積内に設定した所定面に写像することによって、タッチ座標検出ステップにおいて検出されたタッチ座標に対応する前記指示座標を算出することを特徴とする、請求項１に記載のゲームプログラム。
【請求項４】
前記カメラ制御ステップは、予め決められた計算式に基づいて単位時間ごとに前記カメラ設定値を変化させることを特徴とする、請求項１に記載のゲームプログラム。
【請求項５】
３次元のゲーム空間に配置されたオブジェクトを、当該ゲーム空間内に定義された仮想カメラに基づいて、タッチパネルを設置した表示装置に表示するためのゲームプログラムであって、コンピュータに、
前記仮想カメラの位置、注視点、画角の少なくとも１つを示すカメラ設定値を変化させる第１カメラ制御ステップ、
前記仮想カメラに基づいて前記オブジェクトを描画することによって、前記表示装置に表示すべきゲーム画像を生成するゲーム画像生成ステップ、
前記タッチパネルからの出力信号に基づいて当該タッチパネルへの接触位置を示すタッチ座標を検出するタッチ座標検出ステップ、
前記タッチ座標検出ステップにおいて検出されたタッチ座標に基づいて、当該タッチ座標に対応する前記表示装置の画面上の位置に操作対象オブジェクトが表示されているかどうかを判定するオブジェクト判定ステップ、
前記カメラ設定値が変化している途中で前記オブジェクト判定ステップにおいてタッチ座標に対応する前記表示装置の画面上の位置に操作対象オブジェクトが表示されていると判定されたときに、少なくとも前記タッチ座標が検出されなくなるまで当該カメラ設定値を変動しないように固定するカメラ固定ステップ、
前記カメラ設定値が固定されている状態において前記タッチ座標が変化したときに、当該変化後のタッチ座標に対応するゲーム空間内の３次元座標を、プレイヤによる指示座標として順次算出する指示座標算出ステップ、および
前記指示座標算出ステップで順次算出される指示座標の変化に応じてゲーム空間における前記操作対象オブジェクトの位置を更新する操作対象オブジェクト移動ステップを実行させるためのゲームプログラム。
【請求項６】
前記カメラ設定値が変化している途中で前記オブジェクト判定ステップにおいてタッチ座標に対応する前記表示装置の画面上の位置に操作対象オブジェクトが表示されていないと判定されたときに、前記タッチ座標に応じて前記カメラ設定値を変化させる第２カメラ制御ステップをさらに前記コンピュータに実行させることを特徴とする、請求項５に記載のゲームプログラム。
【請求項７】
前記カメラ制御ステップは、予め決められた計算式に基づいて単位時間ごとに前記カメラ設定値を変化させることを特徴とする、請求項５に記載のゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲームプログラムに関し、特に、３次元のゲーム空間に配置されたオブジェクトを、当該ゲーム空間内に定義された仮想カメラに基づいて、タッチパネルを設置した表示装置に表示するためのゲームプログラムに関する。
【背景技術】
【０００２】
従来、３次元のゲーム空間を表示画面に表示し、この表示画面上に設けられたタッチパネルを操作することによってゲームに関する入力操作を行えるようにしたゲーム装置が存在する（例えば特許文献１参照）。特許文献１に記載のゲーム装置では、３次元のゲーム空間に配置された主人公は剣を持っており、ユーザはタッチパネルに触れることによってその剣を操作することができる。具体的には、タッチパネル上の剣が表示されている位置をタッチし、タッチした指をタッチパネルに接触させたまま、敵が表示されている位置まで移動（ドラッグ）させることによって、主人公に剣で敵を切らせることができる。
【特許文献１】特開２００２−９３９号公報、図２３
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記特許文献１に記載のゲーム装置では、３次元のゲーム空間をこのゲーム空間に設けられた仮想カメラから見たときの様子を表示画面に表示しているが、上記特許文献１に記載のゲーム装置において、例えば、仮想カメラの注視点が常に主人公と敵との中間点になるように仮想カメラの向き（すなわち注視点）を自動的に制御することが考えられる。しかしながらこの場合には、以下のような問題が生じることになる。
【０００４】
仮想カメラの注視点が常に主人公と敵との中間点になるように仮想カメラの向きを自動的に制御するようにした場合、主人公や敵の移動に応じて仮想カメラの向きが目まぐるしく変化することになる。そうすると、仮想カメラの向きの変化に応じて、表示画面に表示される主人公の位置、主人公が持つ剣の位置、敵の位置が目まぐるしく変化することになる。その結果、ユーザがタッチパネルによって剣を敵の位置までドラッグしようとしたときに、敵の位置が目まぐるしく変化するために正確に敵の位置までドラッグすることが難しいという問題がある。なお、ゲーム空間内を素早く移動する敵の動きを予測して剣を敵に当てることはゲーム性の向上に繋がるが、ゲーム空間内における敵の移動先地点を予測できたとしても、その地点が表示画面のどこに表示されるかは仮想カメラの位置に依存するため、仮想カメラの向きが目まぐるしく変化すると敵の動きを予想して敵を攻撃するという面白さが失われてしまう。例えば、図従Ａのように、敵が走っているときに、敵の移動先を予測してその予測地点に向かってプレイヤが主人公の剣をドラッグしたとしても、敵が移動したことによって仮想カメラの注視点が移動してしまうため、プレイヤの予測が正確でも図従Ｂのように主人公は剣を空振りしてしまうことになる。
【０００５】
なお上記の例は、仮想カメラの注視点が常に主人公と敵との中間点になるように仮想カメラの向きが自動的に変化する例であるが、仮想カメラの位置や画角が変化する場合にも同様の問題が発生する。
【０００６】
それゆえに本発明は、タッチパネルを利用して３次元のゲーム空間内の任意の点をプレイヤが指示するときに、プレイヤが意図した点を正確に指示できるようなゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号および図番号は、本発明の理解を助けるために図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００８】
第１の発明は、３次元のゲーム空間に配置されたオブジェクト（ＯＢ１〜ＯＢ３）を、当該ゲーム空間内に定義された仮想カメラ（ＶＣ）に基づいて、タッチパネル（１５）を設置した表示装置（１２）に表示するためのゲームプログラムである。
このゲームプログラムは、コンピュータ（２１）に、カメラ制御ステップ（Ｓ２１）、ゲーム画像生成ステップ（Ｓ３５）、タッチ座標検出ステップ（Ｓ１５）、カメラ固定ステップ（Ｓ２３）、および指示座標算出ステップ（Ｓ２５）を実行させるためのプログラムである。
カメラ制御ステップは、仮想カメラの位置（４０ａ）、注視点（４０ｂ）、画角（４０ｃ）の少なくとも１つを示すカメラ設定値を変化させるステップであり、ゲーム画像生成ステップは、カメラ設定値に基づいてオブジェクトを描画することによって、表示装置に表示すべきゲーム画像を生成するステップであり、タッチ座標検出ステップは、タッチパネルからの出力信号に基づいて当該タッチパネルへの接触位置を示すタッチ座標（４２）を検出するステップであり、カメラ固定ステップは、カメラ設定値が変化している途中でタッチ座標が検出されたときに、少なくともタッチ座標が検出されなくなるまで当該カメラ設定値を変動しないように固定するステップであり、指示座標算出ステップは、カメラ設定値が固定されている状態においてタッチ座標が変化したときに、当該変化後のタッチ座標に対応するゲーム空間内の３次元座標を、プレイヤによる指示座標（４３）として順次算出するステップである。
【０００９】
第２の発明は、第１の発明において、操作対象オブジェクト配置ステップ（Ｓ２９）および操作対象オブジェクト移動ステップ（Ｓ３３）をさらにコンピュータに実行させることを特徴とするものである。
操作対象オブジェクト配置ステップは、カメラ設定値が変化している途中でタッチ座標が検出されたときに、当該タッチ座標に対応するゲーム空間内の３次元座標に操作対象オブジェクト（ＣＴ１）を配置するステップであり、操作対象オブジェクト移動ステップは、指示座標算出ステップで順次算出される指示座標の変化に応じて操作対象オブジェクトを移動させるステップである。
【００１０】
第３の発明は、第１の発明において、指示座標算出ステップは、タッチパネル上の各点を、ゲーム空間における視体積内に設定した所定面（ＶＳ）に写像することによって、タッチ座標検出ステップにおいて検出されたタッチ座標に対応する指示座標を算出することを特徴とする（図１２）。
【００１１】
第４の発明は、第１の発明において、カメラ制御ステップは、予め決められた計算式（Ｓ１９）に基づいて単位時間ごとにカメラ設定値を変化させることを特徴とする。
【００１２】
第５の発明は、３次元のゲーム空間に配置されたオブジェクト（ＯＢ１〜ＯＢ３）を、当該ゲーム空間内に定義された仮想カメラ（ＶＣ）に基づいて、タッチパネル（１５）を設置した表示装置（１２）に表示するためのゲームプログラムである。
このゲームプログラムは、コンピュータ（２１）に、第１カメラ制御ステップ（Ｓ２１）、ゲーム画像生成ステップ（Ｓ３５）、タッチ座標検出ステップ（Ｓ１５）、オブジェクト判定ステップ（Ｓ４５）、カメラ固定ステップ（Ｓ４７）、指示座標算出ステップ（Ｓ４１）、および操作対象オブジェクト移動ステップ（Ｓ５３）を実行させるためのプログラムである。
第１カメラ制御ステップは、仮想カメラの位置（４０ａ）、注視点（４０ｂ）、画角（４０ｃ）の少なくとも１つを示すカメラ設定値を変化させるステップであり、ゲーム画像生成ステップは、仮想カメラに基づいてオブジェクトを描画することによって、表示装置に表示すべきゲーム画像を生成するステップであり、タッチ座標検出ステップは、タッチパネルからの出力信号に基づいて当該タッチパネルへの接触位置を示すタッチ座標（４２）を検出するステップであり、オブジェクト判定ステップは、タッチ座標検出ステップにおいて検出されたタッチ座標に基づいて、当該タッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクト（ＣＴ２）が表示されているかどうかを判定するステップであり、カメラ固定ステップは、カメラ設定値が変化している途中でオブジェクト判定ステップにおいてタッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクトが表示されていると判定されたときに、少なくともタッチ座標が検出されなくなるまで当該カメラ設定値を変動しないように固定するステップであり、指示座標算出ステップは、カメラ設定値が固定されている状態においてタッチ座標が変化したときに、当該変化後のタッチ座標に対応するゲーム空間内の３次元座標を、プレイヤによる指示座標（４３）として順次算出するステップであり、操作対象オブジェクト移動ステップは、指示座標算出ステップで順次算出される指示座標の変化に応じてゲーム空間における操作対象オブジェクトの位置を更新するステップである。
【００１３】
第６の発明は、第５の発明において、カメラ設定値が変化している途中でオブジェクト判定ステップにおいてタッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクトが表示されていないと判定されたときに、タッチ座標に応じてカメラ設定値を変化させる第２カメラ制御ステップ（Ｓ５１）をさらにコンピュータに実行させることを特徴とする。
【００１４】
第７の発明は、第５の発明において、カメラ制御ステップは、予め決められた計算式（Ｓ１９）に基づいて単位時間ごとにカメラ設定値を変化させることを特徴とする。
【発明の効果】
【００１５】
上記第１の発明によれば、タッチ座標が検出されたときに、少なくともタッチ座標が検出されなくなるまでカメラ設定値が一時的に固定されるので、プレイヤがタッチパネルを利用してゲーム空間内の所望の点を指示しようとするときにその点の表示位置が変化してしまうことがなくなり、プレイヤはゲーム空間内の所望の点をすばやくかつ正確に指示することができる。
【００１６】
上記第２の発明によれば、タッチ座標が検出されたときに、少なくともタッチ座標が検出されなくなるまでカメラ設定値が一時的に固定されるので、プレイヤがタッチパネルを利用して操作対象オブジェクトをゲーム空間内の所望の点まで移動させようとするときにその点の表示位置が変化してしまうことがなくなり、プレイヤは操作対象オブジェクトをゲーム空間内の所望の点まですばやくかつ正確に移動させることができる。
【００１７】
上記第３の発明によれば、タッチ座標をゲーム空間内の仮想面に写像することによって、２次元のタッチ座標をゲーム空間内の３次元座標に変換することができる。
【００１８】
上記第４の発明によれば、カメラ設定値を所定のアルゴリズムに基づいて自動的に制御することができる。また、この場合においても、タッチ座標が検出されたときには、少なくともタッチ座標が検出されなくなるまでカメラ設定値が一時的に固定されるので、プレイヤがタッチパネルを利用してゲーム空間内の所望の点を指示しようとするときにその点の表示位置が変化してしまうことがなくなり、プレイヤはゲーム空間内の所望の点をすばやくかつ正確に指示することができる。
【００１９】
上記第５の発明によれば、タッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクトが表示されているときに、少なくともタッチ座標が検出されなくなるまでカメラ設定値が一時的に固定されるので、プレイヤがタッチパネルを利用して操作対象オブジェクトをゲーム空間内の所望の点まで移動させようとするときにその点の表示位置が変化してしまうことがなくなり、プレイヤは操作対象オブジェクトをゲーム空間内の所望の点まですばやくかつ正確に移動させることができる。
【００２０】
上記第６の発明によれば、操作対象オブジェクトをゲーム空間内の所望の点まですばやくかつ正確に移動させることができるという第５の発明の効果に加えて、タッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクトが表示されていないときにはタッチ座標に応じてカメラ設定値が変化するので、プレイヤはタッチパネルを利用してカメラ設定値を変更することができるという効果も得られる。
【００２１】
上記第７の発明によれば、カメラ設定値を所定のアルゴリズムに基づいて自動的に制御することができる。また、この場合においても、タッチ座標に対応する表示装置の画面上の位置に操作対象オブジェクトが表示されているときに、少なくともタッチ座標が検出されなくなるまでカメラ設定値が一時的に固定されるので、プレイヤがタッチパネルを利用して操作対象オブジェクトをゲーム空間内の所望の点まで移動させようとするときにその点の表示位置が変化してしまうことがなくなり、プレイヤは操作対象オブジェクトをゲーム空間内の所望の点まですばやくかつ正確に移動させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態に係るゲーム装置の構成および動作を説明する。
【００２３】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２２８ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２４】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２５】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２６】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２２８ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００２７】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００２８】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００２９】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３０】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３１】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３２】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、画面上にタッチパネルの設けられた少なくとも１つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３３】
以下、ゲーム画面例を参照しながら、ゲームプログラムに従ってゲーム装置１０で実行されるゲームの概要を説明する。
【００３４】
第２のＬＣＤ１２には、３次元のゲーム空間の様子が表示される。このゲーム空間には、図３Ａのように、犬を表す３つのオブジェクトＯＢ１，ＯＢ２，ＯＢ３と、仮想カメラＶＣが配置されている。オブジェクトＯＢ１，ＯＢ２，ＯＢ３は、所定のアルゴリズムに従って移動したり所定の動作をしたりする。仮想カメラＶＣの注視点は、常にオブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心に位置するようにその位置が自動的に制御される。オブジェクトＯＢ１，ＯＢ２，ＯＢ３が図１Ａの位置にいる場合、第２のＬＣＤ１２には、オブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心（ここではＳＰ１）を中心とした図３Ｂのようなゲーム画像が表示される。このように、仮想カメラＶＣの注視点をオブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心位置に自動的に移動させることにより、３つのオブジェクトＯＢ１，ＯＢ２，ＯＢ３が第２のＬＣＤ１２の画面上に常にバランス良く表示されることとなる。
【００３５】
ここで、図３Ａの状態からオブジェクトＯＢ１が図３Ａの矢印の先の地点に移動すると、仮想カメラＶＣの注視点は図４ＡのようにＳＰ１からＳＰ２に移動する。その結果、第２のＬＣＤ１２に表示されるゲーム画像は図３Ｂから図４Ｂのように変化する。なお、ゲーム空間においてオブジェクトＯＢ２，ＯＢ３は全く移動していないが、仮想カメラの注視点が変化した結果、第２のＬＣＤ１２の画面におけるオブジェクトＯＢ２，ＯＢ３の表示位置は変化する。
【００３６】
本実施形態では、プレイヤはタッチパネル１５を操作することによって犬に骨付き肉を与えることができる。以下、オブジェクトＯＢ３に骨付き肉を与える場合を例として説明する。
【００３７】
プレイヤは、ゲーム空間に骨付き肉を出現させるために、タッチパネル１５上の任意の点にスティック１６を接触させる。ここでは図５に示す矢印の先の点にスティックを接触させるものとする。
【００３８】
プレイヤがスティック１６をタッチパネル１５に接触させると、その接触位置に対応する第２のＬＣＤ１２の画面上の位置に、図６のように骨付き肉を表すオブジェクトＣＴ１が表示される。なお、このオブジェクトＣＴ１の位置はプレイヤの操作により制御されるので、以下ではオブジェクトＣＴ１のことを操作対象オブジェクトＣＴ１と称す。
【００３９】
なお、プレイヤがスティック１６をタッチパネル１５に接触させると、ゲーム空間に操作対象オブジェクトＣＴ１が出現すると同時に、それまでオブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心に位置するように自動的に制御されていた仮想カメラＶＣの注視点が、プレイヤがスティック１６をタッチパネル１５から離すまでの間、固定される。ここでは、プレイヤがスティック１６をタッチパネル１５に接触させる直前の仮想カメラＶＣの注視点の位置はＳＰ２であるので、プレイヤがスティック１６をタッチパネル１５から離すまでの間、仮想カメラＶＣの注視点はＳＰ２で固定されることとなる。なお、より正確には、プレイヤがスティック１６をタッチパネル１５に接触させている間は、仮想カメラＶＣの注視点だけでなく、仮想カメラＶＣの位置（視点位置）や画角も固定される。したがって、その間は、ゲーム空間において全く移動しないオブジェクトは、第２のＬＣＤ１２の画面上でも終始同じ位置に表示されることとなる。
【００４０】
第２のＬＣＤ１２に図６のように操作対象オブジェクトＣＴ１が表示されると、次にプレイヤは、図７のように、操作対象オブジェクトＣＴ１をドラッグ操作によってオブジェクトＯＢ３の口元に向かって移動させる。なおドラッグ操作とは、スティック１６をタッチパネル１５に接触させたまま移動させる操作である。なお、プレイヤが操作対象オブジェクトＣＴ１を移動させているときに、図７のようにオブジェクトＯＢ１，ＯＢ２が操作対象オブジェクトＣＴ１に近寄ってくるが、仮想カメラＶＣの注視点はＳＰ２に固定されているため、オブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心が移動しても、第２のＬＣＤ１２に表示されているオブジェクトＯＢ３の画面上の位置は全く変化しない。したがって、図１６Ｂを参照して前に説明したような問題は生じず、プレイヤは操作対象オブジェクトＣＴ１をゲーム空間内の所望の位置（ここではオブジェクトＯＢ３の口元）にすばやくかつ正確に移動させることができる。
【００４１】
図８のように操作対象オブジェクトＣＴ１をオブジェクトＯＢ３の口元まで移動し終えると、プレイヤはスティック１６をタッチパネル１５から離す。そうすると、それまでＳＰ２に固定されていた仮想カメラＶＣの注視点が、オブジェクトＯＢ１，ＯＢ２，ＯＢ３の重心（ここではＳＰ３）に位置するように移動する。その結果、３つのオブジェクトＯＢ１，ＯＢ２，ＯＢ３が、図９のように第２のＬＣＤ１２の画面上にバランス良く表示されることとなる。
【００４２】
次に、ゲームプログラムに基づくＣＰＵコア２１の動作を詳細に説明する。
【００４３】
図１０は、ＲＡＭ２４のメモリマップである。ＲＡＭ２４には、メモリカード１７のＲＯＭ１７ａから読み出されたゲームプログラムの他にも、ゲーム空間に配置される各オブジェクトに関するデータ、カメラ設定値、ドラッグ中フラグ４１、タッチ座標４２、および指示座標４３が記憶される。
【００４４】
ゲームプログラムの中には、オブジェクトＯ１，ＯＢ２，ＯＢ３を自動制御するためのプログラムや、仮想カメラの注視点を自動制御するためのプログラムや、仮想カメラに基づいてゲーム画像を生成するためのプログラムなども含まれている。
【００４５】
オブジェクトに関するデータとしては、ゲーム空間におけるオブジェクトの位置を表す座標（ワールド座標系）、ポリゴンデータ、テクスチャデータなどがＲＡＭ２４に記憶される。
【００４６】
カメラ設定値としては、ゲーム空間における仮想カメラＶＣの位置を表す視点座標（ワールド座標系）、ゲーム空間における仮想カメラＶＣの注視点を表す注視点座標（ワールド座標系）、仮想カメラＶＣの画角などがＲＡＭ２４に記憶される。
【００４７】
ドラッグ中フラグ４１は、プレイヤが操作対象オブジェクトＣＴ１をドラッグ中かどうかを示すフラグであって、操作対象オブジェクトＣＴ１に対するドラッグ操作の開始時にオンにされ、ドラッグ操作の終了時にオフにされる。
【００４８】
タッチ座標４２は、プレイヤがスティック１６をタッチパネル１５に接触させたときの接触位置を表す座標（タッチパネル系）であって、タッチパネル１５からの出力信号に基づいてＲＡＭ２４に随時記憶される。
【００４９】
指示座標４３は、タッチ座標４２に対応して決定されるゲーム空間内の座標（ワールド座標系）である。タッチ座標４２と指示座標４３との対応関係については後述する。
【００５０】
次に、図１１のフローチャートを参照して、ゲームプログラムに基づくＣＰＵコア２１の処理の流れを説明する。
【００５１】
まずステップＳ１１で、ＣＰＵコア２１は、例えば図３Ａのようにゲーム空間にオブジェクトＯＢ１〜ＯＢ３と仮想カメラＶＣをそれぞれの初期位置に配置する。
【００５２】
ステップＳ１３では、所定のアルゴリズムに基づいてゲーム空間内のオブジェクトＯＢ１〜ＯＢ３を移動させる。
【００５３】
ステップＳ１５では、タッチパネル１５からの出力信号に基づいて、タッチパネル１５にスティック１６が接触しているかどうかを判定し、接触していない場合（例えば図５や図９の状態）はステップＳ１７に進み、接触している場合（例えば図６〜図８の状態）にはステップＳ２３に進む。
【００５４】
ステップＳ１７では、ＲＡＭ２４に格納されているドラッグ中フラグ４１をオフにする。ステップＳ１９では、オブジェクトＯＢ１〜ＯＢ３の重心の座標を計算する。重心のＸ座標、Ｙ座標、Ｚ座標は、オブジェクトＯＢ１〜ＯＢ３のＸ座標、Ｙ座標、Ｚ座標をそれぞれ平均した値となる。ステップＳ２１では、ステップＳ１９で算出された重心に仮想カメラＶＣの注視点を移動させる。具体的には、ＲＡＭ２４に格納されている仮想カメラの注視点座標４０ｂを、ステップＳ１９で算出された重心の座標で上書きする。なお、ステップＳ１９で算出された重心が、その時点での注視点の位置から大きく離れている場合には、注視点が重心に徐々に近づくように、注視点座標４０ｂを数回に分けて更新するようにしてもよい。ステップＳ２１の後、ステップＳ３５でゲーム画像を生成する。ステップＳ３５で生成されたゲーム画像は、適宜のタイミングで第２のＬＣＤ１２に表示される。ステップＳ３７では、ゲームが終了したかどうかを判断し、ゲームが終了していなければステップＳ１３に戻る。
【００５５】
ステップＳ２３では、カメラ設定値（視点座標４０ａ、注視点座標４０ｂ、画角４０ｃ）を固定する。例えば、カメラ設定値の変更の可否を示すフラグが設けられている場合には、カメラ設定値の変更が禁止されるようにそのフラグを更新する。
【００５６】
ステップＳ２５では、タッチ座標４２から指示座標を算出し、その算出結果をＲＡＭ２４に格納する。ここでの指示座標の算出方法の一例を、図１２を参照して説明する。タッチパネル１５上の各点は、ゲーム空間における視体積内に設定される仮想面ＶＳの各点に対応しており、タッチパネル座標系のタッチ座標をゲーム空間の仮想面ＶＳに写像することによって、タッチ座標に対応する指示座標が算出される。例えば、図１２において、タッチパネル１５上の点Ａ１，Ａ１，Ｃ１，Ｄ１は、仮想面ＶＳ上の点Ａ２，Ｂ２，Ｃ２，Ｄ２にそえぞれ対応する。なお、視体積とは、ゲーム空間のうちの描画対象となる空間であって、仮想カメラＶＣの位置、注視点の位置、画角、ニアクリッピング面、ファークリッピング面に応じて画定される空間である。
【００５７】
なお、図１２の例では、カメラ座標系において所定のＺ座標を有する平面を仮想面ＶＳとして規定しているが、これに限らず、視体積内の任意の面を仮想面ＶＳとして規定してもよい。例えば、仮想面ＶＳが曲面であってもよい。また、仮想面ＶＳが視体積内のいずれかのオブジェクトの表面（例えば地面など）であってもよい。
【００５８】
ステップＳ２７では、ドラッグ中フラグ４１がオンかどうかを判断する。ドラッグ中フラグ４１がオフである場合（これは図６のようにタッチパネル１５にスティック１６が接触した直後であることを意味する）には、ステップＳ２９で操作対象オブジェクトＣＴ１をステップＳ２５で算出された指示座標４３に配置し、さらにステップＳ３１でドラッグ中フラグをオンにした後、ステップＳ３５に進む。これにより、図６のようにタッチ座標に対応する第２のＬＣＤ１２の画面上の位置に操作対象オブジェクトＣＴ１が表示されることとなる。
【００５９】
一方、ステップＳ２７でドラッグ中フラグ４１がオンであると判断された場合（これは図７や図８のようにプレイヤがドラッグ操作中であることを意味する）には、ステップＳ３３で、操作対象オブジェクトＣＴ１をステップＳ２５で算出された指示座標４３に移動させた後、ステップＳ３５に進む。これにより、図７や図８のように操作対象オブジェクトＣＴ１がタッチ座標に対応する第２のＬＣＤ１２の画面上の位置に移動することとなる。
【００６０】
以上のように、本実施形態によれば、プレイヤがタッチパネル１５を用いて操作対象オブジェクトをドラッグ操作している間はカメラ設定値が固定されるので、プレイヤは操作対象オブジェクトをゲーム空間内の所望の位置まですばやくかつ正確に移動させることができる。
【００６１】
なお、本実施形態では、プレイヤがタッチパネル１５を使って操作対象オブジェクトＣＴ１をドラッグする例を説明したが、本発明はこれに限らず、プレイヤがタッチパネル１５を使って３次元のゲーム空間内の所望の位置を指示する必要がある任意のゲームに本発明を適用することができる。例えば、サッカーゲームにおいてシュート方向（例えばゴールの右上隅）をプレイヤがタッチパネル１５を使って指示する場合にも、本発明は有効である。この場合、プレイヤはまず、第２のＬＣＤ１２にゴールが表示された時点でタッチパネル１５上の任意の位置にスティック１６を接触させ、続いて、スティック１６をタッチパネル１５に接触させたまま、スティック１６の先端を、第２のＬＣＤ１２に表示されているゴールの右上隅まで移動させた後、タッチパネル１５からスティック１６を離す。すると、タッチパネル１５からスティック１６を離す直前のタッチ座標に基づいてシュート方向が決定され、そのシュート方向へサッカー選手がシュートを放つこととなる。この場合にも、プレイヤがタッチパネル１５にスティック１６を接触させてから離すまでの間、カメラ設定値が固定されるため、その間にたとえゲームがリアルタイムに進行していたとしても、第２のＬＣＤ１２に表示されているゴールの位置は固定されるため、プレイヤはシュート方向を正確に指示することが可能である。
【００６２】
また、本実施形態では、図１１のステップＳ１９、Ｓ２１のように、タッチパネル１５にスティック１６が接触していない状態において、仮想カメラＶＣの注視点が自動的に制御される例を説明したが、本発明はこれに限らず、タッチパネル１５にスティック１６が接触していない状態において、仮想カメラＶＣの位置が自動的に制御されてもよいし、仮想カメラＶＣの画角が自動的に制御されてもよいし、さらにはプレイヤのキー操作（操作スイッチ部１４を用いた入力操作）に応じて仮想カメラＶＣの位置、注視点、画角が制御されてもよい。
【００６３】
また、本実施形態では、プレイヤがタッチパネル１５にスティック１６を接触させたときに、図６のようにその直前の位置（ＳＰ２）で注視点を固定する例を説明したが、本発明はこれに限らない。例えば、プレイヤがタッチパネル１５にスティック１６を接触させたときに、その直前の注視点の位置によらず、予め決められた固定位置に注視点を固定するようにしてもよい。また、この場合において、その予め決められた固定位置が、プレイヤがタッチパネル１５にスティック１６を接触させる直前の注視点の位置から大きく離れている場合には、注視点が固定位置に徐々に近づくように、注視点座標４０ｂを数回に分けて更新するようにしてもよい。
【００６４】
なお、本実施形態では、プレイヤがタッチパネル１５にスティック１６を接触させたときに初めて操作対象オブジェクトがゲーム空間に出現するとしたが、本発明はこれに限らず、１つまたは複数の操作対象オブジェクトがゲーム空間に予め配置されていても構わない。この場合、例えば、プレイヤがタッチパネル１５にスティック１６を接触させたときに、その接触位置に対応する操作対象オブジェクトを特定し、特定された操作対象オブジェクトを、その後のドラッグ操作に応じて移動させるようにすればよい。
【００６５】
なお、上記のように１つまたは複数の操作対象オブジェクトがゲーム空間に予め配置されている場合において、プレイヤがタッチパネル１５にスティック１６を接触させたときに、その接触位置に対応する第２のＬＣＤ１２の画面上に操作対象オブジェクトが表示されているか否かに応じて、その後の処理を変化させるようにしてもよい。例えば、図１３Ａのようにボールを表す操作対象オブジェクトＣＴ２が第２のＬＣＤ１２に表示されているときに、スティック１６を操作対象オブジェクトＣＴ２の表示領域に接触させたときには、カメラ設定値を固定した上で図１３Ｂのようにその後のドラッグ操作に応じて操作対象オブジェクトＣＴ２を移動させ、スティック１６を操作対象オブジェクトＣＴ２の表示領域以外の場所（例えば図１４ＡのようにオブジェクトＯＢ２の足下）に接触させたときには、その場所に注視点を移動させるようにしてもよい。以下、図１５を参照して、この場合のＣＰＵコア２１の処理の流れを説明する。なお、図１５において省略されているステップについては図１１と同様であるため、説明を省略する。
【００６６】
図１１のステップＳ１５で、タッチパネル１５にスティック１６が接触していると判断された場合、ＣＰＵコア２１は、図１５のステップＳ４１で、タッチ座標４２から指示座標を算出し、その算出結果をＲＡＭ２４に格納する。
【００６７】
ステップＳ４３では、ドラッグ中フラグがオンかどうかを判断し、ドラッグ中フラグがオフである場合（これはプレイヤがスティック１６をタッチパネル１５に接触させた直後であることを意味する）には、ステップＳ４５で、視点座標４０ａと指示座標４３を通る直線上に操作対象オブジェクトＣＴ２が存在するかどうかを判断する。
【００６８】
ステップＳ４５でＹＥＳと判断された場合（これはプレイヤがスティック１６を操作対象オブジェクトＣＴ２の表示領域に接触させたことを意味する）には、ステップＳ４７でカメラ設定値を固定した後、ステップＳ４９でドラッグ中フラグをオンにし、図１１のステップＳ３５に進む。また、ステップＳ４５でＮＯと判断された場合（これはプレイヤがスティック１６を操作対象オブジェクトＣＴ２の表示領域以外の場所に接触させたことを意味する）には、ステップＳ５１で、タッチ座標４２に応じて注視点を移動（すなわち注視点座標４０ｂを更新）させた後、図１１のステップＳ３５に進む。
【００６９】
一方、ステップＳ４３でドラッグ中フラグがオンであると判断された場合（これはドラッグ操作中であることを意味する）には、ステップＳ５３で、指示座標４３に応じて操作対象オブジェクトＣＴ２を移動（すなわち操作対象オブジェクトＣＴ２の座標を更新）させた後、図１１のステップＳ３５に進む。
【００７０】
なお、図１４Ｂの例では、プレイヤがスティック１６を操作対象オブジェクトＣＴ２の表示領域以外の場所に接触させたときに、仮想カメラＶＣの注視点を指示座標まで移動させているが、本発明はこれに限らない。例えば、プレイヤがスティック１６を操作対象オブジェクトＣＴ２の表示領域以外の場所に接触させたときには、その入力操作を無視するようにしてもよい。また他の例として、その接触位置の周辺領域が拡大表示されるようにしてもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】ゲーム装置の内部構成図
【図３Ａ】ゲーム空間の様子を示す図
【図３Ｂ】図３Ａに対応するゲーム画面例
【図４Ａ】ゲーム空間の様子を示す図
【図４Ｂ】図３Ａに対応するゲーム画面例
【図５】スティックをタッチパネルに接触させる直前のゲーム画面例
【図６】スティックをタッチパネルに接触させた直後のゲーム画面例
【図７】ドラッグ操作中のゲーム画面例
【図８】スティックをタッチパネルから離す直前のゲーム画面例
【図９】スティックをタッチパネルから離した直後のゲーム画面例
【図１０】ＲＡＭ２４のメモリマップ
【図１１】ゲームプログラムに基づくＣＰＵコア２１の処理の流れを示すフローチャート
【図１２】タッチパネルとゲーム空間内の仮想面との対応関係を示す図
【図１３Ａ】操作対象オブジェクトに触れる直前のゲーム画面例
【図１３Ｂ】操作対象オブジェクトに触れた直後のゲーム画面例
【図１４Ａ】操作対象オブジェクト以外の部分に触れる直前のゲーム画面例
【図１４Ｂ】操作対象オブジェクト以外の部分に触れた直後のゲーム画面例
【図１５】変形例に係るＣＰＵコア２１の処理の流れを示すフローチャート
【図１６Ａ】従来のゲーム装置のゲーム画面例
【図１６Ｂ】従来のゲーム装置のゲーム画面例
【符号の説明】
【００７２】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
４０ａ  視点座標
４０ｂ  注視点座標
４０ｃ  画角
４１  ドラッグ中フラグ
４２  タッチ座標
４３  指示座標
ＯＢ１〜ＯＢ３  犬を表すオブジェクト
ＶＣ  仮想カメラ
ＳＰ１〜ＳＰ５  仮想カメラの注視点
ＣＴ１  骨付き肉を表す操作対象オブジェクト
ＶＳ  仮想面
ＣＴ２  ボールを表す操作対象オブジェクト
【図１】
2006122519.tif 000003
【図２】
2006122519.tif 000004
【図３Ａ】
2006122519.tif 000005
【図３Ｂ】
2006122519.tif 000006
【図４Ａ】
2006122519.tif 000007
【図４Ｂ】
2006122519.tif 000008
【図５】
2006122519.tif 000009
【図６】
2006122519.tif 000010
【図７】
2006122519.tif 000011
【図８】
2006122519.tif 000012
【図９】
2006122519.tif 000013
【図１０】
2006122519.tif 000014
【図１１】
2006122519.tif 000015
【図１２】
2006122519.tif 000016
【図１３Ａ】
2006122519.tif 000017
【図１３Ｂ】
2006122519.tif 000018
【図１４Ａ】
2006122519.tif 000019
【図１４Ｂ】
2006122519.tif 000020
【図１５】
2006122519.tif 000021
【図１６Ａ】
2006122519.tif 000022
【図１６Ｂ】
2006122519.tif 000023