(57)【要約】    【構成】  ゲーム装置１２はＣＰＵ４０を含み、ＣＰＵ４０は、仮想ゲームを開始すると、ゲーム画像データを生成し、対応するゲーム画面（１００）をモニタ３４に表示する。ゲーム画面（１００）には、操作方法を記載した操作説明が表示され、その内容がゲームの進行状況に応じて変化される。たとえば、ゲームが進むに連れて、プレイヤオブジェクトが新しい攻撃を習得したり、プレイヤオブジェクトのレベル（経験値）やプレイヤの操作レベルが上がったりすると、新しい操作の方法を含む操作説明が表示される。ただし、比較的長い期間、仮想ゲームをプレイしていなければ、ゲームの進行状況に拘わらず、操作説明が表示される。    【効果】  必要なときに必要な内容の操作説明を表示することができる。【選択図】  図１
2010264171.tif 000002
【特許請求の範囲】
【請求項１】
仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、前記仮想ゲームのゲーム画面を前記表示手段に出力するゲーム装置のゲームプログラムであって、
前記ゲーム装置のコンピュータを、
少なくとも前記仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、
前記操作説明を前記表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、
前記タイミング判断手段によって前記操作説明を表示するタイミングであることが判断されたとき、前記ゲームデータ記憶手段に記憶されたゲームデータに基づいて、前記操作説明を表示するか否かを判断する表示判断手段、および
前記表示判断手段によって前記操作説明を表示することが判断されたとき、前記表示手段に当該操作説明に対応する操作説明データを出力する出力手段として機能させる、ゲームプログラム。
【請求項２】
前記仮想ゲームの進行状況は、クリアしたゲームステージの数を含む、請求項１記載のゲームプログラム。
【請求項３】
前記仮想ゲームの進行状況は、前記仮想ゲームの総プレイ時間を含む、請求項１または２記載のゲームプログラム。
【請求項４】
前記操作説明データ記憶手段は、同一種類の操作説明について、前記プレイヤの操作レベルに応じて異なる複数の内容を記憶しており、
前記プレイヤの操作を検出する操作検出手段、および
前記操作検出手段の検出結果に基づいて前記プレイヤの操作レベルを判断する操作レベル判断手段として前記コンピュータをさらに機能させ、
前記出力手段は、前記操作レベル判断手段によって判断された操作レベルに応じた内容の前記操作説明についての操作説明データを出力する、請求項１ないし３のいずれかに記載のゲームプログラム。
【請求項５】
前記操作レベルは、前記操作の成功率である、請求項５記載のゲームプログラム。
【請求項６】
前記操作レベルは、前記操作に掛かる時間である、請求項５記載のゲームプログラム。
【請求項７】
前記表示判断手段によって前記操作説明を表示しないことが判断されたとき、前記操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する時間計測手段として前記コンピュータをさらに機能させ、
前記出力手段は、前記時間計測手段によって計測された時間が一定時間を超えるとき、前記表示判断手段によって表示しないことが判断された前記操作説明に対応する操作説明データを前記表示手段に出力する、請求項４ないし６のいずれかに記載のゲームプログラム。
【請求項８】
前記タイミング判断手段は、前記仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を前記表示手段に表示するタイミングであることを判断する、請求項１ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記表示判断手段は、前記仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に、前記ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、前記操作説明を表示することを判断する、請求項１ないし８のいずれかに記載のゲームプログラム。
【請求項１０】
仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、前記仮想ゲームのゲーム画面を前記表示手段に出力するゲーム装置であって、
少なくとも前記仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、
前記操作説明を前記表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、
前記タイミング判断手段によって前記操作説明を表示するタイミングであることが判断されたとき、前記ゲームデータ記憶手段に記憶されたゲームデータに基づいて、前記操作説明を表示するか否かを判断する表示判断手段、および
前記表示判断手段によって前記操作説明を表示することが判断されたとき、前記表示手段に当該操作説明に対応する操作説明データを出力する出力手段を備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームプログラムおよびゲーム装置に関し、特にたとえば、ゲームの進行状況に応じてプレイヤないしプレイヤオブジェクトに関するゲームパラメータを変化させる、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
この種のゲーム装置の一例が特許文献１に開示されている。特許文献１の情報処理装置は、ユーザにより何の入力操作もなされない時間が一定時間（たとえば５秒）に達すると、ヘルプメッセージの表示処理に移行する。複数のヘルプメッセージに対応する各ヘルプメッセージデータには、表示“１”または非表示“０”を示す表示制御フラグが設定され、ヘルプメッセージの表示処理において、表示制御フラグが“１”（表示）を示すヘルプメッセージデータが読み出され、対応するヘルプメッセージが表示される。ただし、表示制御フラグは、ユーザの熟練度（初級，中級，上級）に応じて選択的に設定され、この熟練度はユーザによって設定される。
【０００３】
この種のゲーム装置の他の例が特許文献２に開示される。この特許文献２のヘルプ情報提示装置は、視聴者のキー操作に応じた操作回数を操作履歴情報として格納し、格納された操作履歴情報に基づきその視聴者の操作制御に対する熟練度を判定する。この判定結果に基づいて、ヘルプの表示処理が実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１６３４８号［G06F 3/14］
【特許文献２】特開平７−２８４０３４号[H04N 5/445]
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の情報処理装置では、ユーザの熟練度に応じて、ヘルプメッセージを表示または非表示するようにしてあるが、その熟練度はユーザが選択して設定するため、設定された熟練度が正しいものとは限らない。つまり、適切なヘルプメッセージが表示されているとは言い難い。
【０００６】
この点、特許文献２のヘルプ情報提示装置では、キー操作に応じた操作回数についての操作履歴情報に基づきその視聴者の操作制御に対する熟練度を判定するようにしてある。つまり、操作回数に応じて慣れ不慣れを判断して、これを熟練度として判定しているのである。しかし、たとえば、特許文献２のヘルプ情報提示装置をゲーム装置に適用すると、操作回数に基づいて熟練度が判定されるため、ゲームの上級者に合わせるために、比較的少ない操作回数で、熟練度を高くするようにすると、ゲームの初級者にとっては不慣れな状態で高度なヘルプが表示されてしまうことになる。一方、ゲームの初級者に合わせるために、比較的多くの操作回数で、熟練度を高くするようにすると、ゲームの上級者にとっては既に習得した操作などについてのヘルプが表示されてしまい、煩わしいと感じてしまう可能性がある。つまり、特許文献２においても、適切なヘルプ表示がなされるとは言い難い。
【０００７】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【０００８】
また、この発明の他の目的は、必要なときに必要な操作説明を提示できる、ゲームプログラムおよびゲーム装置を提供することができる。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１０】
第１の発明は、仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、仮想ゲームのゲーム画面を表示手段に出力するゲーム装置のゲームプログラムであって、ゲーム装置のコンピュータを、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、操作説明を表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する表示判断手段、および表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する出力手段として機能させる、ゲームプログラムである。
【００１１】
第１の発明では、ゲーム装置（１２）は、仮想ゲームの操作説明を表示手段（３４）に表示するための操作説明データを記憶する操作説明データ記憶手段（４２ｅ，４６）を備え、仮想ゲームのゲーム画面（１００）を表示手段に出力する。ゲームプログラムは、このゲーム装置のコンピュータを、ゲームデータ記憶手段（４０，Ｓ７）、タイミング判断手段（４０）、表示判断手段（４０，Ｓ３５，Ｓ４１，Ｓ４５，Ｓ４９）および出力手段（４０，Ｓ１１）として機能させる。ゲームデータ記憶手段は、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体（４２ｅ，４６）に記憶する。タイミング判断手段は、操作説明を表示手段に表示するタイミングであるかどうかを判断する。表示判断手段は、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する。つまり、少なくとも仮想ゲームの進行状況に応じて操作説明が表示される。出力手段は、表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する。したがって、表示手段に操作説明が表示される。
【００１２】
第１の発明によれば、少なくとも仮想ゲームの進行状況に応じて操作説明が表示されるので、必要なときに必要な操作説明を表示することができる。
【００１３】
第２の発明は、第１の発明に従属し、仮想ゲームの進行状況は、クリアしたゲームステージの数を含む。
【００１４】
第２の発明では、仮想ゲームの進行状況としては、たとえば、プレイヤがクリアしたゲームステージ（または面ないし章）の数を含む。
【００１５】
第２の発明によれば、クリアしたゲームステージの数に応じて操作説明を表示するので、プレイヤの上達度合いに応じて適切な操作説明を表示することができる。
【００１６】
第３の発明は、第１または第２の発明に従属し、仮想ゲームの進行状況は、仮想ゲームの総プレイ時間を含む。
【００１７】
第３の発明では、仮想ゲームの進行状況は、仮想ゲームの総プレイ時間を含む。通常、長時間ゲームをプレイした場合には、プレイヤの上達度合いや仮想ゲームの進行度合いが高いと考えられる。
【００１８】
第３の発明によれば、仮想ゲームの総プレイ時間に応じて操作説明を表示するので、第２の発明と同様に、プレイヤの上達度合いや仮想ゲームの進行度合いに応じて適切な操作説明を表示することができる。
【００１９】
第４の発明は、第１ないし第３の発明に従属し、操作説明データ記憶手段は、同一種類の操作説明について、プレイヤの操作レベルに応じて異なる複数の内容を記憶しており、プレイヤの操作を検出する操作検出手段、および操作検出手段の検出結果に基づいてプレイヤの操作レベルを判断する操作レベル判断手段としてコンピュータをさらに機能させ、出力手段は、操作レベル判断手段によって判断された操作レベルに応じた内容の操作説明についての操作説明データを出力する。
【００２０】
第４の発明では、操作説明データ記憶手段は、同一種類の操作説明について、プレイヤの操作レベルに応じて異なる複数の内容を記憶している。つまり、操作レベルに応じた操作説明が記憶される。操作検出手段（４０，Ｓ７７）は、プレイヤの操作を検出する。操作レベル判断手段（４０、Ｓ５１、Ｓ５３）は、操作検出手段の検出結果に基づいてプレイヤの操作レベルを判断する。出力手段は、操作レベル判断手段によって判断された操作レベルに応じた内容の操作説明についての操作説明データを出力する。
【００２１】
第４の発明によれば、プレイヤの操作レベルに応じた内容の操作説明を表示するので、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【００２２】
第５の発明は、第４の発明に従属し、操作レベルは、操作の成功率である。
【００２３】
第５の発明では、操作レベルは、操作の成功率である。たとえば、すべての操作回数に対する正しい操作の回数の割合によって、プレイヤの操作レベルが判断される。
【００２４】
第５の発明によれば、第４の発明にと同様に、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【００２５】
第６の発明は、第４の発明に従属し、操作レベルは、操作に掛かる時間である。
【００２６】
第６の発明では、操作レベルは、操作に掛かる時間である。たとえば、プレイヤが操作可能な状態になってから、実際にプレイヤが操作を行うまでの時間に応じて、操作レベルが判断される。
【００２７】
第６の発明においても、第４の発明と同様に、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【００２８】
第７の発明は第４ないし第６の発明のいずれかに従属し、表示判断手段によって操作説明を表示しないことが判断されたとき、操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する時間計測手段としてコンピュータをさらに機能させ、出力手段は、時間計測手段によって計測された時間が一定時間を超えるとき、表示判断手段によって表示しないことが判断された操作説明に対応する操作説明データを表示手段に出力する。
【００２９】
第７の発明では、時間計測手段（４０，５０２ｋ，Ｓ８９）は、表示判断手段によって操作説明を表示しないことが判断されたとき（Ｓ６９で“ＹＥＳ”）、操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する。出力手段は、時間計測手段によって計測された時間が一定時間を超えるとき（Ｓ８９で“ＹＥＳ”）、表示判断手段によって表示しないことが判断された操作説明に対応する操作説明データを表示手段に出力する。
【００３０】
第７の発明によれば、一旦表示しないことが判断された操作説明であっても、一定時間以上プレイヤの操作が無い場合には、当該操作説明を表示するので、操作方法が分からない場合などの必要に応じて適切に操作説明を表示することができる。
【００３１】
第８の発明は、第１ないし第７の発明のいずれかに従属し、タイミング判断手段は、仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を表示手段に表示するタイミングであることを判断する。
【００３２】
第８の発明では、タイミング判断手段は、仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を表示手段に表示するタイミングであることを判断する。
【００３３】
第８の発明によれば、新しい種類の操作が可能になった場合にその操作説明を表示するので、プレイヤは新しい種類の操作が可能になったことやその操作の方法を知ることができる。
【００３４】
第９の発明は、第１ないし第８の発明のいずれかに従属し、表示判断手段は、仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に、ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、操作説明を表示することを判断する。
【００３５】
第９の発明では、表示判断手段は、仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に（Ｓ３５で“ＹＥＳ”）、ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、操作説明を表示することを判断する（Ｓ３７）。
【００３６】
第９の発明によれば、プレイしていない期間が比較的長い場合には、ゲームデータに拘わらず、操作説明を表示するので、操作方法を忘れてしまっていても、プレイに支障が出るのを防止することができる。
【００３７】
第１０の発明は、仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、仮想ゲームのゲーム画面を表示手段に出力するゲーム装置であって、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、操作説明を表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する表示判断手段、および表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する出力手段を備える、ゲーム装置である。
【００３８】
第１０の発明においても、第１の発明と同様に、必要なときに必要な操作説明を提示することができる。
【発明の効果】
【００３９】
この発明によれば、少なくともゲームの進行状況に応じて操作説明を出力するので、必要なときに必要な操作説明を提示することができる。
【００４０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４１】
【図１】図１はこの発明のゲームシステムの一実施例を示す図解図である。
【図２】図２は図１に示すゲームシステムの電気的な構成を示すブロック図である。
【図３】図３は図１に示すコントローラの外観を説明するための図解図である。
【図４】図４は図３に示すコントローラの電気的な構成を示すブロック図である。
【図５】図５は図１に示すコントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図６】図６は図１に示すマーカおよびコントローラの視野角を説明するための図解図である。
【図７】図７は対象画像を含む撮像画像の一例を示す図解図である。
【図８】図８は図１に示すモニタに表示されるゲーム画面の例を示す図解図である。
【図９】図９は図２に示すメインメモリのメモリマップの一例を示す図解図である。
【図１０】図１０は図９に示す操作データの一例を示す図解図である。
【図１１】図１１は図２に示すＣＰＵの全体処理を示すフロー図である。
【図１２】図１２は図２に示すＣＰＵの操作説明の表示制御処理の一部を示すフロー図である。
【図１３】図１３は図２に示すＣＰＵの操作説明の表示制御処理の第２の一部であって、図１２に後続するフロー図である。
【図１４】図１４は図２に示すＣＰＵの操作説明の表示制御処理の第３の一部であって、図１３に後続するフロー図である。
【図１５】図１５は図２に示すＣＰＵの操作説明の表示制御処理の第４の一部であって、図１４に後続するフロー図である。
【図１６】図１６は図２に示すＣＰＵの操作説明の表示制御処理の第５の一部であって、図１５に後続するフロー図である。
【発明を実施するための形態】
【００４２】
図１を参照して、この発明の一実施例であるゲームシステム１０は、３次元画像処理装置としても機能するビデオゲーム装置（以下、単に「ゲーム装置」という）１２およびコントローラ２２を含む。なお、図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ２２と通信可能に設計されている。また、ゲーム装置１２と各コントローラ２２とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００４３】
ゲーム装置１２は、略直方体のハウジング１４を含み、ハウジング１４の前面にはディスクスロット１６が設けられる。ディスクスロット１６から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が挿入されて、ハウジング１４内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１６の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１６を点灯または点滅させることが可能である。
【００４４】
また、ゲーム装置１２のハウジング１４の前面であり、その上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１６の近傍には、外部メモリカード用コネクタカバー２８が設けられる。この外部メモリカード用コネクタカバー２８の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」という）が挿入される。メモリカードは、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカードには当該他のアプリケーションのデータを保存することができる。
【００４５】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００４６】
図１では省略するが、ゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル３２ａを通してゲーム装置１２にモニタ３４およびスピーカ３４ａを接続する。このモニタ３４およびスピーカ３４ａは典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２ａによって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ３４の周辺（この実施例では、モニタ３４の上側）には、２つの赤外ＬＥＤ（マーカ）３４０ｍ，３４０ｎを備えるマーカ部３４ｂが設けられる。このマーカ部３４ｂは、電源ケーブル３２ｂを通してゲーム装置１２に接続される。したがって、マーカ部３４ｂには、ゲーム装置１２から電源が供給される。これによって、マーカ３４０ｍ，３４０ｎは発光し、それぞれモニタ３４の前方に向けて赤外光を出力する。
【００４７】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００４８】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク１８に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、入力手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段２６に対する操作以外にも、コントローラ２２自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００４９】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４２（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク１８のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００５０】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１４内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００５１】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク１８からプログラム、画像データや音声データ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００５２】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後述する。
【００５３】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００５４】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００５５】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００５６】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００５７】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ３４およびスピーカ３４ａに出力される。したがって、ゲーム画面がモニタ３４に表示され、ゲームに必要な音（音楽）がスピーカ３４ａから出力される。
【００５８】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００５９】
図示は省略するが、入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（「受信データ」とする）を、ネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ダウンロードサーバからダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶する。
【００６０】
また、入出力プロセッサ４２ａは、コントローラ２２から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００６１】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格に従ってコントローラ２２との間で通信を行う。
【００６２】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ２２とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６３】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１４）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（以下、「通常モード」という）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００６４】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００６５】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
【００６６】
また、図示は省略するが、ゲーム装置１２のハウジング１４内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００６７】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００６８】
また、通常モードとスタンバイモードとの切り替えは、コントローラ２２の電源スイッチ２６ｈのオン／オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００６９】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク１８が排出される。
【００７０】
図３（Ａ）ないし図３（Ｅ）は、コントローラ２２の外観の一例を示す。図３（Ａ）はコントローラ２２の先端面を示し、図３（Ｂ）はコントローラ２２の上面を示し、図３（Ｃ）はコントローラ２２の右側面を示し、図３（Ｄ）はコントローラ２２の下面を示し、そして、図３（Ｅ）はコントローラ２２の後端面を示す。
【００７１】
図３（Ａ）ないし図３（Ｅ）を参照して、コントローラ２２は、たとえばプラスチック成型によって形成されたハウジング２２ａを有している。ハウジング２２ａは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング２２ａ（コントローラ２２）には、入力手段（複数のボタンないしスイッチ）２６が設けられる。具体的には、図３（Ｂ）に示すように、ハウジング２２ａの上面には、十字キー２６ａ，１ボタン２６ｂ，２ボタン２６ｃ，Ａボタン２６ｄ，−ボタン２６ｅ，ＨＯＭＥボタン２６ｆ，＋ボタン２６ｇおよび電源スイッチ２６ｈが設けられる。また、図３（Ｃ）および図３（Ｄ）に示すように、ハウジング２２ａの下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ２６ｉが設けられる。
【００７２】
十字キー２６ａは、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト（プレイヤキャラクタまたはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したり、単に方向を指示したりすることができる。
【００７３】
１ボタン２６ｂおよび２ボタン２６ｃは、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン２６ｂおよび２ボタン２６ｃは、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００７４】
Ａボタンスイッチ２６ｄは、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Ａボタンスイッチ２６ｄは、コントローラ２２をポインティングデバイスとして用いる場合に、ゲーム画面上でポインタ（指示画像）が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令（コマンド）を入力することができる。
【００７５】
−ボタン２６ｅ、ＨＯＭＥボタン２６ｆ、＋ボタン２６ｇおよび電源スイッチ２６ｈもまた、押しボタンスイッチである。−ボタン２６ｅは、ゲームモードを選択するために使用される。ＨＯＭＥボタン２６ｆは、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン２６ｇは、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ２６ｈは、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００７６】
なお、この実施例では、コントローラ２２自体をオン／オフするための電源スイッチは設けておらず、コントローラ２２の入力手段２６のいずれかを操作することによってコントローラ２２はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００７７】
Ｂトリガースイッチ２６ｉもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ２２で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ２６ｉを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ２６ｉは、通常のＢボタンと同様に機能し、Ａボタン２６ｄによって決定したアクションやコマンドなどを取り消すなどのために使用される。
【００７８】
また、図３（Ｅ）に示すように、ハウジング２２ａの後端面に外部拡張コネクタ２２ｂが設けられ、また、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、後端面側にはインジケータ２２ｃが設けられる。外部拡張コネクタ２２ｂは、コントローラ２２とは異なる拡張コントローラ（図示せず）を接続するためなどに使用される。インジケータ２２ｃは、たとえば、４つのＬＥＤで構成される。たとえば、インジケータ２２ｃでは、４つのうちのいずれか１つを点灯させることにより、点灯したＬＥＤに応じて、コントローラ２２の識別情報（コントローラ番号）を示すことができる。また、インジケータ２２ｃでは、点灯させるＬＥＤの個数によってコントローラ２２の電池残量を示すこともできる。
【００７９】
さらに、コントローラ２２は、撮像情報演算部８０（図４参照）を有しており、図３（Ａ）に示すように、ハウジング２２ａの先端面には撮像情報演算部８０の光入射口２２ｄが設けられる。また、コントローラ２２は、スピーカ８６（図４参照）を有しており、このスピーカ８６は、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、１ボタン２６ｂとＨＯＭＥボタン２６ｆとの間に設けられる音抜き孔２２ｅに対応して、ハウジング２２ａ内部に設けられる。
【００８０】
なお、図３（Ａ）ないし図３（Ｅ）に示したコントローラ２２の形状や、各入力手段２６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明を実現できることは言うまでもない。
【００８１】
図４はコントローラ２２の電気的な構成を示すブロック図である。この図４を参照して、コントローラ２２はプロセッサ７０を含み、このプロセッサ７０には、内部バス（図示せず）によって、外部拡張コネクタ２２ｂ、入力手段２６、メモリ７２、加速度センサ７４、無線モジュール７６、撮像情報演算部８０、ＬＥＤ８２（インジケータ２２ｃ）、バイブレータ８４、スピーカ８６および電源回路８８が接続される。また、無線モジュール７６には、アンテナ７８が接続される。
【００８２】
なお、簡単のため、図４では省略するが、上述したように、インジケータ２２ｃは４つのＬＥＤ８２によって構成される。
【００８３】
プロセッサ７０は、コントローラ２２の全体制御を司り、入力手段２６、加速度センサ７４および撮像情報演算部８０によって入力された情報（入力情報）を、入力データとして無線モジュール７６およびアンテナ７８を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ７０は、メモリ７２を作業領域ないしバッファ領域として用いる。また、上述した入力手段２６（２６ａ−２６ｉ）からの操作信号（操作データ）は、プロセッサ７０に入力され、プロセッサ７０は操作データを一旦メモリ７２に記憶する。
【００８４】
加速度センサ７４は、コントローラ２２の縦方向（ｙ軸方向）、横方向（ｘ軸方向）および前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ７４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００８５】
たとえば、加速度センサ７４は、第１所定時間毎に、ｘ軸，ｙ軸，ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ７０に入力する。たとえば、加速度センサ７４は、各軸方向の加速度を、−２．０ｇ〜２．０ｇ（ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ７０は、加速度センサ７４から与えられる加速度データを、第２所定時間毎に検出し、一旦メモリ７２に記憶する。
【００８６】
プロセッサ７０は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも１つを含む入力データを作成し、作成した入力データを、第３所定時間（たとえば、５ｍｓｅｃ）毎にゲーム装置１２に送信する。
【００８７】
なお、図３（Ａ）−図３（Ｅ）では省略したが、この実施例では、加速度センサ７４は、ハウジング２２ａ内部の基板上の十字キー２６ａが配置される付近に設けられる。
【００８８】
無線モジュール７６は、たとえばＢｌｕｅｔｏｏｔｈの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ７８から放射する。つまり、入力データは、無線モジュール７６によって微弱電波信号に変調されてアンテナ７８（コントローラ２２）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ２２からの入力データを取得することができる。そして、ＣＰＵ４０は、取得した入力データとアプリケーションプログラム（ゲームプログラム）とに従ってアプリケーションの処理（ゲーム処理）を行う。
【００８９】
さらに、上述したように、コントローラ２２には、撮像情報演算部８０が設けられる。この撮像情報演算部８０は、赤外線フィルタ８０ａ、レンズ８０ｂ、撮像素子８０ｃおよび画像処理回路８０ｄによって構成される。赤外線フィルタ８０ａは、コントローラ２２の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ３４の表示画面近傍（周辺）に配置されるマーカ３４０ｍおよび３４０ｎは、モニタ３４の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ８０ａを設けることによってマーカ３４０ｍおよび３４０ｎの画像をより正確に撮像することができる。レンズ８０ｂは、赤外線フィルタ８０ａを透過した赤外線を集光して撮像素子８０ｃへ出射する。撮像素子８０ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ８０ｂによって集光された赤外線を撮像する。したがって、撮像素子８０ｃは、赤外線フィルタ８０ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子８０ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子８０ｃによって生成された画像データは、画像処理回路８０ｄで処理される。画像処理回路８０ｄは、撮像画像内における撮像対象（マーカ３４０ｍおよび３４０ｎ）の位置を算出し、第４所定時間毎に、当該位置を示す各座標値を撮像データ（後述するマーカ座標データ）としてプロセッサ７０に出力する。なお、画像処理回路８０ｄにおける処理については後述する。
【００９０】
図５は、コントローラ２２を用いてゲームプレイするときの状態を概説する図解図である。ただし、ゲームプレイのみならず、他のアプリケーションを実行する場合も同様である。図５に示すように、ビデオゲームシステム１０でコントローラ２２を用いてゲームをプレイする際、プレイヤは、一方の手でコントローラ２２を把持する。厳密に言うと、プレイヤは、コントローラ２２の先端面（撮像情報演算部８０が撮像する光の入射口２２ｄ側）がマーカ３４０ｍおよび３４０ｎの方を向く状態でコントローラ２２を把持する。ただし、図１からも分かるように、マーカ３４０ｍおよび３４０ｎは、モニタ３４の画面の横方向と平行に配置されている。この状態で、プレイヤは、コントローラ２２が指示する画面上の位置を変更したり、コントローラ２２と各マーカ３４０ｍおよび３４０ｎとの距離を変更したりすることによってゲーム操作を行う。
【００９１】
図６は、マーカ３４０ｍおよび３４０ｎと、コントローラ２２との視野角を説明するための図である。図６に示すように、マーカ３４０ｍおよび３４０ｎは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部８０の撮像素子８０ｃは、コントローラ２２の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３４０ｍおよび３４０ｎの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子８０ｃの視野角θ２は４１°である。プレイヤは、撮像素子８０ｃが２つのマーカ３４０ｍおよび３４０ｎからの赤外光を受光することが可能な位置および向きとなるように、コントローラ２２を把持する。具体的には、撮像素子８０ｃの視野角θ２の中にマーカ３４０ｍおよび３４０ｎの少なくとも一方が存在し、かつ、マーカ３４０ｍまたは３４０ｎの少なくとも一方の視野角θ１の中にコントローラ２２が存在する状態となるように、プレイヤはコントローラ２２を把持する。この状態にあるとき、コントローラ２２は、マーカ３４０ｍおよび３４０ｎの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ２２の位置および向きを変化させることによってゲーム操作を行うことができる。
【００９２】
なお、コントローラ２２の位置および向きがこの範囲外となった場合、コントローラ２２の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、上記範囲を「操作可能範囲」と呼ぶ。
【００９３】
操作可能範囲内でコントローラ２２が把持される場合、撮像情報演算部８０によって各マーカ３４０ｍおよび３４０ｎの画像が撮像される。すなわち、撮像素子８０ｃによって得られる撮像画像には、撮像対象である各マーカ３４０ｍおよび３４０ｎの画像（対象画像）が含まれる。図７は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路８０ｄは、各マーカ３４０ｍおよび３４０ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【００９４】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路８０ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路８０ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３４０ｍおよび３４０ｎに対応する画像３４０ｍ’および３４０ｎ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像３４０ｍ’および３４０ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【００９５】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路８０ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子８０ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子８０ｃによって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【００９６】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【００９７】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路８０ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ７０によって入力データに含まれ、ゲーム装置１２に送信される。
【００９８】
ゲーム装置１２（ＣＰＵ４０）は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ３４の画面上におけるコントローラ２２の指示位置（指示座標）と、コントローラ２２からマーカ３４０ｍおよび３４０ｎまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ２２の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ２２と、マーカ３４０ｍおよび３４０ｎとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ２２と、マーカ３４０ｍおよび３４０ｎとの間の距離を把握できる。
【００９９】
このようなゲームシステム１０では、ゲーム処理が実行されると、図示は省略するが、戦闘シーンにおいて、プレイヤオブジェクトと敵オブジェクトとの間で攻撃ターンと防御ターンとを交互に繰り返すことにより、互いのオブジェクトを戦わせるような仮想ゲームをプレイすることができる。また、攻撃ターンや防御ターンを設定せず、常に操作を行うような仮想ゲームを行うこともできる。
【０１００】
たとえば、戦闘シーンにおいて、プレイヤオブジェクトの攻撃ターンになると、図８（Ａ）や図８（Ｂ）に示すようなゲーム画面１００がモニタ３４に表示される。これらのゲーム画面１００は、プレイヤオブジェクトに行わせる攻撃を指示するための画面（操作画面）である。図８（Ａ）および図８（Ｂ）に示すように、ゲーム画面１００には、その中央に文字、図形ないし記号（以下、「文字等」という）を描画するための描画領域１０２が設けられる。ターンが設定されない仮想ゲームにおいては、たとえば操作中に特定の操作が行われたタイミングにおいてこの操作画面が表示されるようにしてもよい。この描画領域１０２の下方には、操作説明の表示領域１０４が設けられる。また、描画領域１０２の左右には、実行可能な攻撃に対応する文字等を表示するための表示領域１０６が４つずつ設けられる。
【０１０１】
たとえば、ゲーム画面１００がモニタ３４に表示されると、プレイヤは、表示領域１０６に表示された文字等を参照して、プレイヤオブジェクトに行わせたい攻撃に対応する文字等を、コントローラ２２を用いて描画領域１０２に描画する。前述のように、コントローラ２２によってモニタ３４の画面上における指示位置（指示座標）を特定することができるので、当該指示位置を動かすことによって描画を行う。図示は省略するが、ゲーム画面１００には、たとえば、コントローラ２２によって指示された位置に指示画像が表示され、したがって、コントローラ２２を移動させると、それに応じて指示画像も移動される。指示画像の軌跡（時系列に並ぶ指示位置の座標の集まり）に基づいて、プレイヤが描画した文字等が認識される。
【０１０２】
なお、プレイヤが描画した文字等の認識方法としては、たとえば、本件出願人が先に出願し、既に出願公開された特開２００６−２０４３４４号公報に記載の方法を用いることができる。この文字等の認識方法は、本願発明の本質的な内容ではないため、その説明は省略することにする。
【０１０３】
プレイヤが描画した文字等が認識され、表示領域１０６に記載された文字等と一致する場合には、当該文字等に割り当てられた攻撃の内容（たとえば、パンチ、キック、体当たり、剣などで斬る、弾などを撃つ、魔法の種類など）が決定される。ただし、プレイヤが描画した文字等が認識され、表示領域１０６に記載された文字等と一致しない場合には、描画（入力）に失敗したと判定される。ただし、プレイヤが文字等を描画するための最大時間（たとえば、３０秒）が予め設定されており、ゲーム画面１００がモニタ３４に表示されてから最大時間が経過するまでに、文字等が認識されない場合にも、描画に失敗したと判定される。
【０１０４】
ここで、図８（Ａ）に示すゲーム画面１００では、表示領域１０４には、「まほうをはなつ」場合の操作方法として、コントローラ２２を振ることを示す画像が描画されるとともに、入力した文字等を「キャンセル」する場合の操作方法として、コントローラ２２に設けられた−ボタン２６ｅを操作することを示す画像が描画されている。
【０１０５】
一方、図８（Ｂ）に示すゲーム画面１００では、表示領域１０４には、「れんぞく」して攻撃する（ここでは、まほうをはなつ）場合の操作方法として、コントローラ２２に設けられたＡボタン２６ｄを押し続けることを示す画像およびテキストが描画（記載）されるとともに、「まほうをはなつ」場合の操作方法として、コントローラ２２を振ることを示す画像が描画されている。
【０１０６】
つまり、図８（Ｂ）に示すゲーム画面１００では、「キャンセル」するような基本的な操作（低度な操作）についての説明に代えて、連続して攻撃するような新しい操作（高度な操作）についての説明が表示されているのである。
【０１０７】
たとえば、このように操作説明の表示内容が変化されるのは、仮想ゲームが進行されることによって、プレイヤが新しい操作（入力）を出来るようになった場合、プレイヤオブジェクトのレベル（経験値）が上昇した場合、プレイヤの操作のレベル（操作レベル）が上がった場合などである。つまり、仮想ゲームの進行状況に応じて、表示内容が変化（決定）されるのである。
【０１０８】
ただし、この実施例では、比較的長い期間（たとえば、一週間以上）、仮想ゲームをプレイしていない場合には、ゲームの進行状況に拘わらず、操作説明を表示するようにしてある。このような場合には、プレイヤが操作の方法（入力の仕方）を忘れてしまっていることがあり得るからである。つまり、プレイヤの状態に応じて表示内容が変化される場合もある。
【０１０９】
図９は、図２に示したメインメモリ（４２ｅ，４６）のメモリマップの一例である。図９に示すように、メインメモリ（４２ｅ，４６）は、プログラム記憶領域５００およびデータ記憶領域５０２を含む。プログラム記憶領域５００は、ゲームプログラムを記憶し、ゲームプログラムは、メイン処理プログラム５００ａ、画像生成プログラム５００ｂ、画像表示プログラム５００ｃおよび操作説明表示プログラム５００ｄなどによって構成される。
【０１１０】
メイン処理プログラム５００ａは、この実施例の仮想ゲームのメインルーチン（図１１参照）を処理するためのプログラムである。画像生成プログラム５００ｂは、後述する画像データ５０２ｂを用いて、モニタ３４に表示するゲーム画面（１００など）に対応するゲーム画像データを生成するためのプログラムである。画像表示プログラム５００ｃは、画像生成プログラム５００ｂに従って生成されたゲーム画像データをモニタ３４に出力して、対応するゲーム画面（１００など）を表示するためのプログラムである。操作説明表示プログラム５００ｄは、ゲーム画面１００の表示領域１０４への操作説明の表示制御（図１２−図１６参照）を行うためのプログラムである。
【０１１１】
図示は省略するが、ゲームプログラムは、音出力プログラムやバックアッププログラムなども含む。音出力プログラムは、プレイヤオブジェクトや敵オブジェクトなどの音声ないし擬声音、効果音、音楽（ＢＧＭ）のような、ゲームに必要な音を生成し、スピーカ３４ａから出力するためのプログラムである。バックアッププログラムは、データ記憶領域５０２に記憶されるゲームデータ（５０２ｃ，５０２ｄ，５０２ｆ，５０２ｇなど）を、フラッシュメモリ４４や外部のメモリカードに保存（セーブ）するためのプログラムである。
【０１１２】
データ記憶領域５０２には、入力データバッファ５０２ａが設けられる。また、データ記憶領域５０２には、画像データ５０２ｂ、進行状況データ５０２ｃ、表示レベルデータ５０２ｄ、操作説明データ５０２ｅ、総プレイ時間データ５０２ｆ、前回プレイ終了日時データ５０２ｇおよび成功率データ５０２ｈが記憶される。さらに、データ記憶領域５０２には、操作回数カウンタ５０２ｉ、表示時間タイマ５０２ｊ、操作待ち時間タイマ５０２ｋ、表示レベル上昇フラグ５０２ｍ、強制表示１フラグ５０２ｎ、強制表示２フラグ５０２ｐおよび強制非表示フラグ５０２ｑが設けられる。
【０１１３】
入力データバッファ５０２ａは、コントローラ２２からの入力データを時系列に従って記憶（一時記憶）する。入力データバッファ５０２ａに記憶された入力データは、ゲーム処理に使用された後に、削除（クリア）される。
【０１１４】
画像データ５０２ｂは、上述したように、ゲーム画像データを生成するためのポリゴンデータやテクスチャデータなどである。進行状況データ５０２ｃは、仮想ゲームの進行状況についてのデータである。ここで、この実施例では、仮想ゲームの進行状況は、プレイヤがクリアしたステージ（または面，章）についての情報、プレイヤオブジェクトが習得している攻撃（まほうなど）の情報、プレイヤオブジェクトが所持しているアイテムの情報、およびプレイヤオブジェクトのレベル（経験値）の情報などを意味する。
【０１１５】
表示レベルデータ５０２ｄは、操作説明の表示レベルについての数値データである。操作説明データ５０２ｅは、操作説明の具体的な内容についてのデータである。たとえば、図１０に示すように、操作説明データ５０２ｅは、表示レベルに対応して、操作説明の内容が記述されたテーブルのデータある。図１０に示すように、この実施例では、表示レベルは、１，２，３，４，５，…．ｎまで設定されており、各表示レベル１−ｎに対応して、操作説明（１），操作説明（２）、操作説明（３）、操作説明（４）、操作説明（５）、…、操作説明（ｎ）が記述される。ただし、操作説明（１）−（ｎ）は、実際には、図８（Ａ）および図８（Ｂ）に示したような画像およびテキストについてのデータである。また、詳細な説明は省略するが、表示レベルが高くなるにつれて、操作説明の内容も高度になる。
【０１１６】
図９に戻って、総プレイ時間データ５０２ｆは、この仮想ゲームをプレイした時間の累計についてのデータである。詳細な説明は省略するが、仮想ゲームをプレイする度に、プレイの開始日時と終了日時とがＲＯＭ／ＲＴＣ４８から取得され、その差分によってプレイ時間が計算され、プレイ終了時に総プレイ時間に今回のプレイ時間が加算される。前回プレイ終了日時データ５０２ｇは、この仮想ゲームについての前回のプレイの終了日時についてのデータである。上述したように、プレイの終了日時は、ＲＯＭ／ＲＴＣ４８から取得される。
【０１１７】
成功率データ５０２ｈは、プレイヤによる文字等の入力すなわち操作の成功率についての数値データである。この実施例では、成功率は、同一表示レベルにおける、正しい操作の回数をすべての操作の回数（総操作回数）で割った値である。したがって、表示レベルが更新（この実施例では、上昇）されるときに、成功率はリセットされる。
【０１１８】
操作回数カウンタ５０２ｉは、所定の操作の回数をカウントするためのアップカウンタである。所定の操作は、現在の表示レベルの操作説明において初めて説明される操作（この実施例では、新しい操作）である。表示時間タイマ５０２ｊは、操作説明を表示している時間をカウントするためのタイマである。また、操作待ち時間タイマ５０２ｋは、プレイヤからの入力（操作）を待っている時間をカウントするためのタイマである。
【０１１９】
表示レベル上昇フラグ５０２ｍは、操作説明の表示レベルが上昇したかどうかを判定するためのフラグであり、１ビットのレジスタで構成される。表示レベル上昇フラグ５０２ｍがオンされると、レジスタにはデータ値「１」が設定される。一方、表示レベル上昇フラグ５０２ｍがオフされると、レジスタにはデータ値「０」が設定される。この実施例では、表示レベルが上昇されたときに、表示レベル上昇フラグ５０２ｍはオンされる。また、所定の操作の回数が一定回数以上になると、つまり操作回数カウンタ５０２ｉのカウント値が一定値以上になると、表示レベル上昇フラグ５０２ｍはオフされる。
【０１２０】
強制表示１フラグ５０２ｎは、前回のプレイから一定時間（たとえば、一週間）以上経過している場合に、操作説明を強制的に表示設定しているかどうかを判定するためのフラグであり、１ビットのレジスタで構成される。強制表示１フラグ５０２ｎがオンされると、レジスタにデータ値「１」が設定される。一方、強制表示１フラグ５０２ｎがオフされると、レジスタにデータ値「０」が設定される。この実施例では、前回のプレイから一定時間以上が経過しており、ゲームレベルに拘わらず、操作説明を強制的に表示設定すると、強制表示１フラグ５０２ｎがオンされる。また、仮想ゲームが開始されたときに、強制表示１フラグ５０２ｎがオフされる。
【０１２１】
強制表示２フラグ５０２ｐは、ゲーム画面１００（操作画面）が表示されて一定時間（この実施例では、１０秒）以上、操作（入力）が無い場合に、操作説明を強制的に表示設定しているか否かを判定するためのフラグであり、１ビットのレジスタで構成される。強制表示２フラグ５０２ｐがオンされると、レジスタにはデータ値「１」が設定される。一方、強制表示２フラグ５０２ｐがオフされると、レジスタにはデータ値「０」が設定される。この実施例では、プレイヤが文字等を入力する場合において、操作画面が表示されてから一定時間（たとえば、１０秒）以上、何ら入力が無い場合に、強制表示２フラグ５０２ｐはオンされる。また、この強制表示２フラグ５０２ｐがオンされることにより、操作説明が強制的に表示されてから一定時間（たとえば、２秒）が経過すると、強制表示２フラグ５０２ｐはオフされる。
【０１２２】
強制非表示フラグ５０２ｑは、操作説明を強制的に非表示しているかどうかを判定するためのフラグであり、１ビットのレジスタで構成される。強制非表示フラグ５０２ｑがオンであれば、レジスタにデータ値「１」が設定される。一方、強制非表示フラグ５０２ｑがオフであれば、レジスタにデータ値「０」が設定される。この実施例では、所定の操作の回数が一定回数以上になったり、強制的に操作説明が表示されてから一定時間（たとえば、２秒）が経過したりすると、強制非表示フラグ５０２ｑはオンされる。また、操作説明を表示することが設定されたときに、強制非表示フラグ５０２ｑはオフされる。
【０１２３】
図示は省略するが、データ記憶領域５０２には、音データのような他のデータも記憶される。また、ゲーム処理に必要な、他のカウンタ（タイマ）や他のフラグも設定される。
【０１２４】
図１１は図２に示すＣＰＵ４０の全体処理を示すフロー図である。図１１に示すように、ＣＰＵ４０は、全体処理を開始すると、ステップＳ１で、初期化処理を実行する。ここでは、ＣＰＵ４０は、入力データバッファ５０２ａをクリアしたり、各データ５０２ｂ−５０２ｈをロードしたり、カウンタ５０２ｉやタイマ５０２ｊ，５０２ｋをリセットしたり、フラグ５０２ｍ−５０２ｑをオフしたりする。
【０１２５】
次のステップＳ３では、入力があるかどうかを判断する。ここでは、入力データバッファ５０２ａに現フレームにおける入力データが記憶されているかどうかを判断する。ステップＳ３で“ＮＯ”であれば、つまり入力が無ければ、そのままステップＳ９に進む。一方、ステップＳ３で“ＹＥＳ”であれば、つまり入力が有れば、ステップＳ５で、入力に応じたゲーム処理を実行し、ステップＳ７で、ゲームデータを更新して、ステップＳ９に進む。
【０１２６】
詳細な説明は省略するが、ステップＳ５のゲーム処理では、プレイヤの入力（操作）に従って、３次元仮想空間におけるプレイヤオブジェクトの位置を更新したり、プレイヤオブジェクトに任意のアクションを実行させたり、プレイヤが文字等を入力している場合には、文字等の認識処理を実行したりする。また、ゲーム処理では、プレイヤの操作によらないで、ゲームプログラムに従って、敵オブジェクトのようなノンプレイヤオブジェクトの位置を更新したり、ノンプレイヤオブジェクトに任意のアクションを実行させたりする。
【０１２７】
また、ステップＳ７では、ステップＳ５でゲーム処理が実行されることによって、ゲームデータに含まれる進行状況データ５０２ｃや表示レベルデータ５０２ｄが必要に応じて更新される。
【０１２８】
ステップＳ９では、画像生成処理を実行する。つまり、ＣＰＵ４０は、ゲーム画面（１００など）を表示するためのゲーム画像データを生成する。図示は省略するが、図８（Ａ）または図８（Ｂ）に示したようなゲーム画面１００（操作画面）を表示する際には、後述する操作説明の表示制御処理（図１２−図１６参照）における、操作説明の表示設定または非表示設定に応じて、操作説明が表示または非表示される。
【０１２９】
図示は省略するが、操作説明が非表示される場合には、表示領域１０４もゲーム画面１００に表示しないため、描画領域１０２を広くすることができる。つまり、モニタ３４の表示領域を有効に使用することができる。
【０１３０】
次のステップＳ１１では、画像表示処理を実行する。つまり、ＣＰＵ４０は、ステップＳ９で生成したゲーム画像データをモニタ３４に出力する。次のステップＳ１３では、ゲーム終了かどうかを判断する。つまり、ＣＰＵ４０は、ゲームクリアやゲームオーバにより仮想ゲームを終了することが決定されたり、プレイヤの指示に従って仮想ゲームを終了することが決定されたりしたかどうかを判断する。
【０１３１】
ステップＳ１３で“ＮＯ”であれば、つまりゲーム終了でなければ、そのままステップＳ３に戻る。一方、ステップＳ１３で“ＹＥＳ”であれば、つまりゲーム終了であれば、そのまま全体処理を終了する。
【０１３２】
なお、図示は省略するが、プレイヤの指示やゲーム終了などのイベント発生時に、ゲームデータ（５０２ｃ，５０２ｄ，５０２ｆ，５０２ｇなど）がフラッシュメモリ４４やメモリカードに記憶（セーブ）される。このとき、総プレイ時間データ５０ｆや前回プレイ終了日時データ５０２ｇが更新される。
【０１３３】
図１２−図１６は、操作説明の表示制御処理を示すフロー図である。この操作説明の表示制御処理は、操作説明を表示するタイミングになると、開始される。ただし、操作説明を表示するタイミングは、この実施例の仮想ゲームでは、プレイヤオブジェクトの攻撃ターンになったときを意味する。ただし、これに限定される必要はなく、他の仮想ゲームでは、プレイヤオブジェクトのレベルアップ（所定の技の習得や経験値の増大）や所定のアイテムの取得により、新しい操作が可能になった場合や単に一定時間以上プレイヤからの入力が無い場合などを、操作説明を表示するタイミングとしてもよい。
【０１３４】
図１２に示すように、ＣＰＵ４０は、操作説明の表示制御処理を開始すると、ステップＳ３１で、終了かどうかを判断する。つまり、ＣＰＵ４０は、操作説明の表示制御を終了するかどうかを判断している。この実施例では、プレイヤが文字等を入力し、図８（Ａ）や図８（Ｂ）に示したゲーム画面１００を消去するとき、つまりゲーム画面１００から他のゲーム画面（この実施例では、主として、プレイヤオブジェクトの攻撃シーンのゲーム画面）に更新されるときに、操作説明の表示制御を終了することが判断される。
【０１３５】
ステップＳ３１で“ＹＥＳ”であれば、つまり終了であれば、そのまま操作説明の表示制御処理を終了する。一方、ステップＳ３１で“ＮＯ”であれば、つまり終了でなければ、ステップＳ３３で、強制表示１フラグ５０２ｎがオンであるかどうかを判断する。つまり、ＣＰＵ４０は、前回のプレイから一定時間以上経過しており、操作説明の表示設定を強制的に行っているかどうかを判断しているのである。
【０１３６】
ステップＳ３３で“ＹＥＳ”であれば、つまり強制表示１フラグ５０２ｎがオンであれば、そのままステップＳ４１に進む。一方、ステップＳ３３で“ＮＯ”であれば、つまり強制表示１フラグ５０２ｎがオフであれば、ステップＳ３５で、前回のプレイから一定時間以上経過したかどうかを判断する。つまり、ＣＰＵ４０は、前回プレイ終了日時データ５０２ｇが示す前回のプレイ終了日時と、現在の日時とを比較し、一定時間（たとえば、一週間）以上経過しているかどうかを判断する。ただし、ＣＰＵ４０は、プレイの開始日時や終了日時と同様に、現在の日時をＲＯＭ／ＲＴＣ４８から取得する。
【０１３７】
ステップＳ３５で“ＮＯ”であれば、つまり前回のプレイから一定時間以上経過していなければ、そのままステップＳ４１に進む。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり前回のプレイから一定時間以上経過していれば、ステップＳ３７で、現在の表示レベルの操作説明を表示設定し、ステップＳ３９で、強制表示１フラグ５０２ｎをオンして、ステップＳ４５に進む。ただし、ステップＳ３７では、ＣＰＵ４０は、表示レベルデータ５０２ｄが示す表示レベルに対応する操作説明の内容を表示することを設定する。以下、同様である。
【０１３８】
なお、この実施例では、或る程度長期間プレイしていない場合には、ゲームレベルに拘わらず、操作説明を表示するようにしてあるが、たとえば、表示レベルを低下させて操作説明を表示するようにしてもよい。かかる場合には、プレイヤの操作レベルが低下している場合であっても、プレイに支障が出るのを防止できると考えられるからである。表示レベルの低下させる度合いについては、たとえば、前回のプレイからの経過時間の長さに応じて段階的に決定すればよいと考えられる。
【０１３９】
図１２に戻って、ステップＳ４１では、ゲームレベルが所定レベル以上であるかどうかを判断する。この実施例では、ＣＰＵ４０は、進行状況データ５０２ｃが示すゲーム進行状況（クリアしたステージ，章ないし面の数）に応じてゲームレベルが所定レベル以上であるかどうかを判断する。たとえば、１つもステージをクリアしていない（最初のステージ，第１章，第１面をプレイ中である）場合には、ゲームレベルが所定レベル未満であると判断され、１つ以上のステージ等をクリアしている場合には、ゲームレベルが所定レベル以上であると判断される。または、総プレイ時間データ５０２ｆが示す仮想ゲームの総プレイ時間に基づいてゲームレベルが所定レベル以上であるかどうかを判断するようにしてもよい。たとえば、総プレイ時間が一定時間（２時間）未満であれば、ゲームレベルが所定レベル未満であると判断され、総プレイ時間が一定時間以上であれば、ゲームレベルが所定レベル以上であると判断される。或いは、クリアしたステージ等の数および総プレイ時間の両方を考慮して、ゲームレベルを判断するようにしてもよい。
【０１４０】
ステップＳ４１で“ＮＯ”であれば、つまりゲームレベルが所定レベル未満であれば、ステップＳ４３で、表示レベル１（基本レベル）の操作説明（１）を表示設定して、ステップＳ３１に戻る。一方、ステップＳ４１で“ＹＥＳ”であれば、つまりゲームレベルが所定レベル以上であれば、そのまま図１３に示すステップＳ４５に進む。
【０１４１】
図１３に示すステップＳ４５では、強制非表示フラグ５０２ｑがオンであるかどうかを判断する。ステップＳ４５で“ＹＥＳ”であれば、つまり強制非表示フラグ５０２ｑがオンであれば、そのままステップＳ４９に進む。一方、ステップＳ４５で“ＮＯ”であれば、つまり強制非表示フラグ５０２ｑがオフであれば、ステップＳ４７で、現在の表示レベルの操作説明を表示設定して、ステップＳ４９に進む。
【０１４２】
ステップＳ４９では、新しい操作が必要になったかどうかを判断する。ここでは、ＣＰＵ４０は、進行状況データ５０２ｃが示すゲームの進行状況（ここでは、プレイヤオブジェクトが習得している攻撃）を参照して、連続攻撃や特殊な攻撃を習得したかどうかを判断する。つまり、ＣＰＵ４０は、連続する操作や複合的に行う操作のような新しい操作が必要になったかどうかを判断するのである。
【０１４３】
ステップＳ４９で“ＹＥＳ”であれば、つまり新しい操作が必要になった場合には、そのままステップＳ５５に進む。一方、ステップＳ４９で“ＮＯ”であれば、つまり新しい操作が必要になっていない場合には、ステップＳ５１で、成功率が一定値以上であるかどうかを判断する。ステップＳ５１で“ＹＥＳ”であれば、つまり成功率が一定値以上であれば、ステップＳ５５に進む。一方、ステップＳ５１で“ＮＯ”であれば、つまり成功率が一定値未満であれば、ステップＳ５３で、操作時間が一定時間未満であるかどうかを判断する。ステップＳ５３で“ＮＯ”であれば、つまり操作時間が一定時間以上であれば、そのまま図１４に示すステップＳ６７に進む。一方、ステップＳ５３で“ＹＥＳ”であれば、つまり操作時間が一定時間未満であれば、ステップＳ５５に進む。
【０１４４】
なお、この実施例では、ステップＳ５１やステップＳ５３の判断処理を実行することにより、プレイヤの操作の上達の度合い（操作レベル）を検出しているのである。この実施例では、成功率が一定値以上であるか、操作時間が一定時間未満であるかのいずれか一方を満たせば、プレイヤの操作の上達の度合いが高いと判断するようにしてある。ただし、これら両方を満たす場合に、プレイヤの操作の上達の度合いが高いと判断するようにしてもよい。
【０１４５】
また、この実施例では、総操作回数に拘わらず、ステップＳ５１で、成功率が一定値以上であるかどうかを判断するようにしてあるが、総操作回数が少ない場合に、正しい操作が行われると、成功率が高くなってしまうため、実際には、総操作数が一定値（たとえば、２０）以上である場合に、ステップＳ５１の処理を実行するようにしてある。
【０１４６】
図１３に戻って、ステップＳ５５では、成功率をクリアする。つまり、ＣＰＵ４０は、成功率データ５０２ｈをリセットする。次のステップＳ５７では、表示レベルを１段階上げる。つまり、ＣＰＵ４０は、表示レベルデータ５０２ｄが示す表示レベルを１段階上昇させて、当該表示レベルデータ５０２ｄを更新するのである。次に、図１４に示すステップＳ５９では、現在の表示レベルの操作説明を表示設定し、ステップＳ６１で、回数をリセットする。つまり、操作回数カウンタ５０２ｉのカウント値に０を設定する。続くステップＳ６３では、表示レベル上昇フラグ５０２をオンし、ステップＳ６５で、強制非表示フラグ５０２ｑをオフして、ステップＳ６７に進む。
【０１４７】
ステップＳ６７では、表示レベル上昇フラグ５０２ｍがオンであるかどうかを判断する。ここでは、ＣＰＵ４０は、現在の表示レベルになってあまり時間が経っていないかどうかを判断しているのである。これは、表示レベルが変化し、プレイヤが新しい操作方法に慣れるまでは、変化した表示レベルに対応する操作説明を表示するようにするためである。ステップＳ６７で“ＮＯ”であれば、つまり表示レベル上昇フラグ５０２ｍがオフであれば、そのまま図１５に示すステップＳ７７に進む。一方、ステップＳ６７で“ＹＥＳ”であれば、つまり表示レベル上昇フラグ５０２ｍがオンであれば、ステップＳ６９で、回数が所定回数を超えているかどうかを判断する。ここでは、ＣＰＵ４０は、操作回数カウンタ５０２ｉのカウント値が一定数（たとえば、２０）を超えているかどうかを判断する。
【０１４８】
ステップＳ６９で“ＮＯ”であれば、つまり回数が所定回数以下であれば、新しい操作方法に慣れていないと判断して、そのままステップＳ７７に進む。一方、ステップＳ６９で“ＹＥＳ”であれば、つまり回数が所定回数を超えていれば、新しい操作方法に慣れたと判断して、ステップＳ７１で、操作説明を非表示設定し、ステップＳ７３で、強制非表示フラグ５０２ｑをオンし、ステップＳ７５で、表示レベル上昇フラグ５０２ｍをオフして、ステップＳ７７に進む。
【０１４９】
図１５に示すように、ステップＳ７７では、入力があるかどうかを判断する。この判断処理は、上述したステップＳ３の処理と同じである。ステップＳ７７で“ＮＯ”であれば、つまり入力が無ければ、そのまま図１６に示すステップＳ８７に進む。一方、ステップＳ７７で“ＹＥＳ”であれば、つまり入力が有れば、ステップＳ７９で、操作時間を取得する。詳細な説明は省略するが、ＣＰＵ４０は、図８（Ａ）や図８（Ｂ）に示したようなゲーム画面１００（操作画面）を表示したときに、入力待ち時間タイマ５０２ｋをスタートし、入力があったとき、つまりステップ７７で“ＹＥＳ”となったときに、入力待ち時間タイマ５０２ｋをストップして、入力が無い時間すなわち操作時間（操作に掛かった時間）を計測する。この実施例では、操作画面を表示してから入力が開始されるまでの時間を操作時間として取得するようにしてあるが、操作画面が表示されてから入力が終了する（文字等が認識される）までの時間を操作時間として取得するようにしてもよい。かかる場合には、入力待ち時間タイマ５０２ｋは、文字等が認識されたときにストップされる。
【０１５０】
続くステップＳ８１では、正しい操作かどうかを判断する。つまり、ＣＰＵ４０は、プレイヤによって入力された文字等すなわち認識した文字等が、表示領域１０６に表示された文字等と一致するかどうかを判断する。ステップＳ８１で“ＮＯ”であれば、つまり正しい操作でなければ、そのままステップＳ８５に進む。一方、ステップＳ８１で“ＹＥＳ”であれば、つまり正しい操作であれば、ステップＳ８３で、今回の操作についての操作回数を１加算して、ステップＳ８５に進む。つまり、ステップＳ８３では、ＣＰＵ４０は、操作回数カウンタ５０２ｉのカウント値を１加算する。
【０１５１】
ステップＳ８５では、操作の成功率を更新し、ステップＳ８７に進む。このステップＳ８５では、ＣＰＵ４０は、総操作回数に１加算する。そして、ＣＰＵ４０は、正しい操作の回数（操作回数カウンタ５０２ｉのカウント値）を総操作回数で割ることにより、成功率を算出する。ただし、ステップＳ８１で“ＮＯ”と判断された場合には、正しい操作の回数は加算されない。
【０１５２】
図１６に示すように、ステップＳ８７では、強制表示２フラグ５０２ｐがオンであるかどうかを判断する。ステップＳ８７で“ＮＯ”であれば、つまり強制表示２フラグ５０２ｐがオフであれば、ステップＳ８９で、１０秒以上入力が無いかどうかを判断する。つまり、ＣＰＵ４０は、入力待ち時間タイマ５０２ｋのカウント値が１０秒以上であるかどうかを判断するのである。ステップＳ８９で“ＮＯ”であれば、つまり入力の無い状態が１０秒未満であれば、そのまま図１２に示したステップＳ３１に戻る。一方、ステップＳ８９で“ＹＥＳ”であれば、つまり１０秒以上入力の無ければ、ステップＳ９１で、現在の表示レベルの操作説明を表示設定し、ステップＳ９３で、強制表示２フラグ５０２ｐをオンし、ステップＳ９５で、強制非表示フラグ５０２ｑをオフして、ステップＳ３１に戻る。
【０１５３】
また、ステップＳ８７で“ＹＥＳ”であれば、つまり強制表示２フラグ５０２ｐがオンであれば、ステップＳ９７で、操作説明の表示後、２秒経過したかどうかを判断する。詳細な説明は省略するが、ステップＳ８９で“ＹＥＳ”と判断された後に、全体処理に従って、ゲーム画面１００（説明画面）に操作説明が表示されると、表示時間タイマ５０２ｊがスタートされる。ステップＳ９７では、この表示時間タイマ５０２ｊのカウント値が２秒を超えたかどうかを判断しているのである。
【０１５４】
ステップＳ９７で“ＮＯ”であれば、つまり操作説明の表示後、２秒経過していなければ、そのままステップＳ３１に戻る。一方、ステップＳ９７で“ＹＥＳ”であれば、つまり操作説明の表示後、２秒経過すれば、ステップＳ９９で、操作説明を非表示設定し、ステップＳ１０１で、強制非表示フラグ５０２ｑをオンし、ステップＳ１０３で、強制表示２フラグ５０２ｐをオフして、ステップＳ３１に戻る。
【０１５５】
この実施例によれば、少なくともゲームの進行状況に応じて内容の異なる操作説明を表示するので、必要なときに必要な操作説明を提示することができる。
【０１５６】
なお、この実施例では、操作の成功率が一定値以上である場合に、表示レベルを上昇させるようにしたが、操作の成功率が低い場合には、表示レベルを低下させるようにしてもよい。もしくは、操作が正しくない場合に、表示レベルを低下させるようにしてもよい。
【０１５７】
また、この実施例では、操作説明が非表示にされている場合に、一定時間を超えて入力が無い場合に、操作説明を強制的に表示するようにしたが、非常に高度な内容の操作説明を表示するような場合にも、操作説明を強制的に表示するようにしてもよい。たとえば、非常に高度な内容の操作説明とは、ゲームの進行に欠かせない内容の操作説明を意味し、たとえば、プレイ中のステージをクリアするために必要な操作説明や敵オブジェクトのボスを倒したりするための操作説明などが該当する。
【０１５８】
さらに、この実施例では、操作時間や成功率に基づいて操作レベルを判定するようにしたが、これに限定される必要はない。たとえば、プレイヤが描画した文字等の形のきれいさに基づいて操作レベルを判定するようにしてもよい。また、これらすべての要素に基づいて操作レベルを判定するようにしてもよい。
【０１５９】
さらにまた、この実施例では、ゲーム装置とモニタとが別に設けられたゲームシステムについてのみ説明したが、モニタが一体的に設けられたゲーム装置、たとえば、携帯型のゲーム装置、ゲーム機能を有するコンピュータ（ＰＤＡを含む）、ゲーム機能を有する携帯電話機、アーケードゲームにも適用することができる。
【符号の説明】
【０１６０】
１０  …ゲームシステム
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
２４  …受信ユニット
３４  …モニタ
３４ａ  …スピーカ
４０  …ＣＰＵ
４２  …システムＬＳＩ
４２ａ  …入出力プロセッサ
４２ｂ  …ＧＰＵ
４２ｃ  …ＤＳＰ
４２ｄ  …ＶＲＡＭ
４２ｅ  …内部メインメモリ
４４  …フラッシュメモリ
４６  …外部メインメモリ
４８  …ＲＯＭ／ＲＴＣ
５０  …無線通信モジュール
５２  …無線コントローラモジュール
５４  …ディスクドライブ
５６  …ＡＶ  ＩＣ
５８  …ＡＶコネクタ
６０  …拡張コネクタ
６２  …メモリカード用コネクタ
７０  …プロセッサ
７４  …加速度センサ
８０  …画像情報演算部
８０ｃ  …撮像素子
８０ｄ  …画像処理回路
【図１】
2010264171.tif 000003
【図２】
2010264171.tif 000004
【図３】
2010264171.tif 000005
【図４】
2010264171.tif 000006
【図５】
2010264171.tif 000007
【図６】
2010264171.tif 000008
【図７】
2010264171.tif 000009
【図８】
2010264171.tif 000010
【図９】
2010264171.tif 000011
【図１０】
2010264171.tif 000012
【図１１】
2010264171.tif 000013
【図１２】
2010264171.tif 000014
【図１３】
2010264171.tif 000015
【図１４】
2010264171.tif 000016
【図１５】
2010264171.tif 000017
【図１６】
2010264171.tif 000018