説明

ゲームプログラムおよびゲーム装置

【構成】 ゲーム装置12はCPU40を含み、CPU40は、仮想ゲームを開始すると、ゲーム画像データを生成し、対応するゲーム画面(100)をモニタ34に表示する。ゲーム画面(100)には、操作方法を記載した操作説明が表示され、その内容がゲームの進行状況に応じて変化される。たとえば、ゲームが進むに連れて、プレイヤオブジェクトが新しい攻撃を習得したり、プレイヤオブジェクトのレベル(経験値)やプレイヤの操作レベルが上がったりすると、新しい操作の方法を含む操作説明が表示される。ただし、比較的長い期間、仮想ゲームをプレイしていなければ、ゲームの進行状況に拘わらず、操作説明が表示される。
【効果】 必要なときに必要な内容の操作説明を表示することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラムおよびゲーム装置に関し、特にたとえば、ゲームの進行状況に応じてプレイヤないしプレイヤオブジェクトに関するゲームパラメータを変化させる、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
この種のゲーム装置の一例が特許文献1に開示されている。特許文献1の情報処理装置は、ユーザにより何の入力操作もなされない時間が一定時間(たとえば5秒)に達すると、ヘルプメッセージの表示処理に移行する。複数のヘルプメッセージに対応する各ヘルプメッセージデータには、表示“1”または非表示“0”を示す表示制御フラグが設定され、ヘルプメッセージの表示処理において、表示制御フラグが“1”(表示)を示すヘルプメッセージデータが読み出され、対応するヘルプメッセージが表示される。ただし、表示制御フラグは、ユーザの熟練度(初級,中級,上級)に応じて選択的に設定され、この熟練度はユーザによって設定される。
【0003】
この種のゲーム装置の他の例が特許文献2に開示される。この特許文献2のヘルプ情報提示装置は、視聴者のキー操作に応じた操作回数を操作履歴情報として格納し、格納された操作履歴情報に基づきその視聴者の操作制御に対する熟練度を判定する。この判定結果に基づいて、ヘルプの表示処理が実行される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−16348号[G06F 3/14]
【特許文献2】特開平7−284034号[H04N 5/445]
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の情報処理装置では、ユーザの熟練度に応じて、ヘルプメッセージを表示または非表示するようにしてあるが、その熟練度はユーザが選択して設定するため、設定された熟練度が正しいものとは限らない。つまり、適切なヘルプメッセージが表示されているとは言い難い。
【0006】
この点、特許文献2のヘルプ情報提示装置では、キー操作に応じた操作回数についての操作履歴情報に基づきその視聴者の操作制御に対する熟練度を判定するようにしてある。つまり、操作回数に応じて慣れ不慣れを判断して、これを熟練度として判定しているのである。しかし、たとえば、特許文献2のヘルプ情報提示装置をゲーム装置に適用すると、操作回数に基づいて熟練度が判定されるため、ゲームの上級者に合わせるために、比較的少ない操作回数で、熟練度を高くするようにすると、ゲームの初級者にとっては不慣れな状態で高度なヘルプが表示されてしまうことになる。一方、ゲームの初級者に合わせるために、比較的多くの操作回数で、熟練度を高くするようにすると、ゲームの上級者にとっては既に習得した操作などについてのヘルプが表示されてしまい、煩わしいと感じてしまう可能性がある。つまり、特許文献2においても、適切なヘルプ表示がなされるとは言い難い。
【0007】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0008】
また、この発明の他の目的は、必要なときに必要な操作説明を提示できる、ゲームプログラムおよびゲーム装置を提供することができる。
【課題を解決するための手段】
【0009】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0010】
第1の発明は、仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、仮想ゲームのゲーム画面を表示手段に出力するゲーム装置のゲームプログラムであって、ゲーム装置のコンピュータを、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、操作説明を表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する表示判断手段、および表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する出力手段として機能させる、ゲームプログラムである。
【0011】
第1の発明では、ゲーム装置(12)は、仮想ゲームの操作説明を表示手段(34)に表示するための操作説明データを記憶する操作説明データ記憶手段(42e,46)を備え、仮想ゲームのゲーム画面(100)を表示手段に出力する。ゲームプログラムは、このゲーム装置のコンピュータを、ゲームデータ記憶手段(40,S7)、タイミング判断手段(40)、表示判断手段(40,S35,S41,S45,S49)および出力手段(40,S11)として機能させる。ゲームデータ記憶手段は、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体(42e,46)に記憶する。タイミング判断手段は、操作説明を表示手段に表示するタイミングであるかどうかを判断する。表示判断手段は、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する。つまり、少なくとも仮想ゲームの進行状況に応じて操作説明が表示される。出力手段は、表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する。したがって、表示手段に操作説明が表示される。
【0012】
第1の発明によれば、少なくとも仮想ゲームの進行状況に応じて操作説明が表示されるので、必要なときに必要な操作説明を表示することができる。
【0013】
第2の発明は、第1の発明に従属し、仮想ゲームの進行状況は、クリアしたゲームステージの数を含む。
【0014】
第2の発明では、仮想ゲームの進行状況としては、たとえば、プレイヤがクリアしたゲームステージ(または面ないし章)の数を含む。
【0015】
第2の発明によれば、クリアしたゲームステージの数に応じて操作説明を表示するので、プレイヤの上達度合いに応じて適切な操作説明を表示することができる。
【0016】
第3の発明は、第1または第2の発明に従属し、仮想ゲームの進行状況は、仮想ゲームの総プレイ時間を含む。
【0017】
第3の発明では、仮想ゲームの進行状況は、仮想ゲームの総プレイ時間を含む。通常、長時間ゲームをプレイした場合には、プレイヤの上達度合いや仮想ゲームの進行度合いが高いと考えられる。
【0018】
第3の発明によれば、仮想ゲームの総プレイ時間に応じて操作説明を表示するので、第2の発明と同様に、プレイヤの上達度合いや仮想ゲームの進行度合いに応じて適切な操作説明を表示することができる。
【0019】
第4の発明は、第1ないし第3の発明に従属し、操作説明データ記憶手段は、同一種類の操作説明について、プレイヤの操作レベルに応じて異なる複数の内容を記憶しており、プレイヤの操作を検出する操作検出手段、および操作検出手段の検出結果に基づいてプレイヤの操作レベルを判断する操作レベル判断手段としてコンピュータをさらに機能させ、出力手段は、操作レベル判断手段によって判断された操作レベルに応じた内容の操作説明についての操作説明データを出力する。
【0020】
第4の発明では、操作説明データ記憶手段は、同一種類の操作説明について、プレイヤの操作レベルに応じて異なる複数の内容を記憶している。つまり、操作レベルに応じた操作説明が記憶される。操作検出手段(40,S77)は、プレイヤの操作を検出する。操作レベル判断手段(40、S51、S53)は、操作検出手段の検出結果に基づいてプレイヤの操作レベルを判断する。出力手段は、操作レベル判断手段によって判断された操作レベルに応じた内容の操作説明についての操作説明データを出力する。
【0021】
第4の発明によれば、プレイヤの操作レベルに応じた内容の操作説明を表示するので、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【0022】
第5の発明は、第4の発明に従属し、操作レベルは、操作の成功率である。
【0023】
第5の発明では、操作レベルは、操作の成功率である。たとえば、すべての操作回数に対する正しい操作の回数の割合によって、プレイヤの操作レベルが判断される。
【0024】
第5の発明によれば、第4の発明にと同様に、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【0025】
第6の発明は、第4の発明に従属し、操作レベルは、操作に掛かる時間である。
【0026】
第6の発明では、操作レベルは、操作に掛かる時間である。たとえば、プレイヤが操作可能な状態になってから、実際にプレイヤが操作を行うまでの時間に応じて、操作レベルが判断される。
【0027】
第6の発明においても、第4の発明と同様に、仮想ゲームの進行状況のみならず、プレイヤの状態に応じた操作説明を表示することができる。
【0028】
第7の発明は第4ないし第6の発明のいずれかに従属し、表示判断手段によって操作説明を表示しないことが判断されたとき、操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する時間計測手段としてコンピュータをさらに機能させ、出力手段は、時間計測手段によって計測された時間が一定時間を超えるとき、表示判断手段によって表示しないことが判断された操作説明に対応する操作説明データを表示手段に出力する。
【0029】
第7の発明では、時間計測手段(40,502k,S89)は、表示判断手段によって操作説明を表示しないことが判断されたとき(S69で“YES”)、操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する。出力手段は、時間計測手段によって計測された時間が一定時間を超えるとき(S89で“YES”)、表示判断手段によって表示しないことが判断された操作説明に対応する操作説明データを表示手段に出力する。
【0030】
第7の発明によれば、一旦表示しないことが判断された操作説明であっても、一定時間以上プレイヤの操作が無い場合には、当該操作説明を表示するので、操作方法が分からない場合などの必要に応じて適切に操作説明を表示することができる。
【0031】
第8の発明は、第1ないし第7の発明のいずれかに従属し、タイミング判断手段は、仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を表示手段に表示するタイミングであることを判断する。
【0032】
第8の発明では、タイミング判断手段は、仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を表示手段に表示するタイミングであることを判断する。
【0033】
第8の発明によれば、新しい種類の操作が可能になった場合にその操作説明を表示するので、プレイヤは新しい種類の操作が可能になったことやその操作の方法を知ることができる。
【0034】
第9の発明は、第1ないし第8の発明のいずれかに従属し、表示判断手段は、仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に、ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、操作説明を表示することを判断する。
【0035】
第9の発明では、表示判断手段は、仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に(S35で“YES”)、ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、操作説明を表示することを判断する(S37)。
【0036】
第9の発明によれば、プレイしていない期間が比較的長い場合には、ゲームデータに拘わらず、操作説明を表示するので、操作方法を忘れてしまっていても、プレイに支障が出るのを防止することができる。
【0037】
第10の発明は、仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、仮想ゲームのゲーム画面を表示手段に出力するゲーム装置であって、少なくとも仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、操作説明を表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、タイミング判断手段によって操作説明を表示するタイミングであることが判断されたとき、ゲームデータ記憶手段に記憶されたゲームデータに基づいて、操作説明を表示するか否かを判断する表示判断手段、および表示判断手段によって操作説明を表示することが判断されたとき、表示手段に当該操作説明に対応する操作説明データを出力する出力手段を備える、ゲーム装置である。
【0038】
第10の発明においても、第1の発明と同様に、必要なときに必要な操作説明を提示することができる。
【発明の効果】
【0039】
この発明によれば、少なくともゲームの進行状況に応じて操作説明を出力するので、必要なときに必要な操作説明を提示することができる。
【0040】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0041】
【図1】図1はこの発明のゲームシステムの一実施例を示す図解図である。
【図2】図2は図1に示すゲームシステムの電気的な構成を示すブロック図である。
【図3】図3は図1に示すコントローラの外観を説明するための図解図である。
【図4】図4は図3に示すコントローラの電気的な構成を示すブロック図である。
【図5】図5は図1に示すコントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図6】図6は図1に示すマーカおよびコントローラの視野角を説明するための図解図である。
【図7】図7は対象画像を含む撮像画像の一例を示す図解図である。
【図8】図8は図1に示すモニタに表示されるゲーム画面の例を示す図解図である。
【図9】図9は図2に示すメインメモリのメモリマップの一例を示す図解図である。
【図10】図10は図9に示す操作データの一例を示す図解図である。
【図11】図11は図2に示すCPUの全体処理を示すフロー図である。
【図12】図12は図2に示すCPUの操作説明の表示制御処理の一部を示すフロー図である。
【図13】図13は図2に示すCPUの操作説明の表示制御処理の第2の一部であって、図12に後続するフロー図である。
【図14】図14は図2に示すCPUの操作説明の表示制御処理の第3の一部であって、図13に後続するフロー図である。
【図15】図15は図2に示すCPUの操作説明の表示制御処理の第4の一部であって、図14に後続するフロー図である。
【図16】図16は図2に示すCPUの操作説明の表示制御処理の第5の一部であって、図15に後続するフロー図である。
【発明を実施するための形態】
【0042】
図1を参照して、この発明の一実施例であるゲームシステム10は、3次元画像処理装置としても機能するビデオゲーム装置(以下、単に「ゲーム装置」という)12およびコントローラ22を含む。なお、図示は省略するが、この実施例のゲーム装置12は、最大4つのコントローラ22と通信可能に設計されている。また、ゲーム装置12と各コントローラ22とは、無線によって接続される。たとえば、無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【0043】
ゲーム装置12は、略直方体のハウジング14を含み、ハウジング14の前面にはディスクスロット16が設けられる。ディスクスロット16から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が挿入されて、ハウジング14内のディスクドライブ54(図2参照)に装着される。図示は省略するが、ディスクスロット16の周囲には、LEDと導光板とが配置され、様々な処理に応答させて、ディスクスロット16を点灯または点滅させることが可能である。
【0044】
また、ゲーム装置12のハウジング14の前面であり、その上部には、電源ボタン20aおよびリセットボタン20bが設けられ、その下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット16の近傍には、外部メモリカード用コネクタカバー28が設けられる。この外部メモリカード用コネクタカバー28の内側には、外部メモリカード用コネクタ62(図2参照)が設けられ、図示しない外部メモリカード(以下、単に「メモリカード」という)が挿入される。メモリカードは、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置12の内部に設けられるフラッシュメモリ44(図2参照)のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置12では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカードには当該他のアプリケーションのデータを保存することができる。
【0045】
なお、メモリカードとしては、汎用のSDカードを用いることができるが、メモリスティックやマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。
【0046】
図1では省略するが、ゲーム装置12のハウジング14の後面には、AVケーブルコネクタ58(図2参照)が設けられ、そのAVコネクタ58を用いて、AVケーブル32aを通してゲーム装置12にモニタ34およびスピーカ34aを接続する。このモニタ34およびスピーカ34aは典型的にはカラーテレビジョン受像機であり、AVケーブル32aによって、ゲーム装置12からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置12からの音声信号が音声入力端子に入力される。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ34の周辺(この実施例では、モニタ34の上側)には、2つの赤外LED(マーカ)340m,340nを備えるマーカ部34bが設けられる。このマーカ部34bは、電源ケーブル32bを通してゲーム装置12に接続される。したがって、マーカ部34bには、ゲーム装置12から電源が供給される。これによって、マーカ340m,340nは発光し、それぞれモニタ34の前方に向けて赤外光を出力する。
【0047】
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置12は、家庭用電源(商用電源)を、駆動に適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【0048】
このゲームシステム10において、ユーザまたはプレイヤがゲーム(またはゲームに限らず、他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)のプログラムを記録している適宜の光ディスク18を選択し、その光ディスク18をゲーム装置12のディスクドライブ54にローディングする。応じて、ゲーム装置12がその光ディスク18に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、入力手段26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段26に対する操作以外にも、コントローラ22自体を動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
【0049】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置12の内部メモリ(フラッシュメモリ42(図2参照))に記憶(インストール)しておき、当該内部メモリから実行するようにしてもよい。かかる場合には,光ディスク18のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【0050】
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。図示は省略するが、ハウジング14内の各コンポーネントは、プリント基板に実装される。図2に示すように、ゲーム装置12には、CPU40が設けられ、ゲームプロセッサとして機能する。また、CPU40には、システムLSI42が接続される。このシステムLSI42には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
【0051】
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU40のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク18からプログラム、画像データや音声データ等を読み出し、CPU40の制御の下で、後述する内部メインメモリ42eまたは外部メインメモリ46に書き込む。
【0052】
システムLSI42には、入出力プロセッサ42a、GPU(Graphics Processor Unit)42b,DSP(Digital Signal Processor)42c,VRAM42dおよび内部メインメモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後述する。
【0053】
GPU42bは、描画手段の一部を形成し、CPU40からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU42bに与える。
【0054】
図示は省略するが、上述したように、GPU42bにはVRAM42dが接続される。GPU42bが作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU42bがVRAM42dにアクセスして取得する。ただし、CPU40は、描画に必要な画像データを、GPU42bを介してVRAM42dに書き込む。GPU42bは、VRAM42dにアクセスして描画のためのゲーム画像データを作成する。
【0055】
なお、この実施例では、GPU42bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU42bは当該任意のアプリケーションについての画像データを生成する。
【0056】
また、DSP42cは、オーディオプロセッサとして機能し、内部メインメモリ42eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ34aから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【0057】
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ34およびスピーカ34aに出力される。したがって、ゲーム画面がモニタ34に表示され、ゲームに必要な音(音楽)がスピーカ34aから出力される。
【0058】
また、入出力プロセッサ42aには、フラッシュメモリ44、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
【0059】
図示は省略するが、入出力プロセッサ42aは、無線通信モジュール50を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ42aは、定期的にフラッシュメモリ44にアクセスし、ネットワークへ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワークに送信する。また、入出力プロセッサ42aは、他のゲーム装置から送信されるデータ(「受信データ」とする)を、ネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ44に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ42aは、ダウンロードサーバからダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ44に記憶する。
【0060】
また、入出力プロセッサ42aは、コントローラ22から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ42eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU40の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
【0061】
なお、この実施例では、上述したように、無線コントローラモジュール52は、Bluetooth規格に従ってコントローラ22との間で通信を行う。
【0062】
さらに、入出力プロセッサ42aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ22とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ42aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0063】
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング14)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI42に接続される。この電源ボタン20aがオンされると、システムLSI42には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通常の通電状態となるモード(以下、「通常モード」という)が設定される。一方、電源ボタン20aがオフされると、システムLSI42には、ゲーム装置12の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」という)が設定される。
【0064】
この実施例では、スタンバイモードが設定された場合には、システムLSI42は、入出力プロセッサ42a、フラッシュメモリ44、外部メインメモリ46、ROM/RTC48および無線通信モジュール50、無線コントローラモジュール52以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、CPU40がアプリケーションを実行することはない。
【0065】
なお、システムLSI42には、スタンバイモードにおいても電源が供給されるが、GPU42b、DSP42cおよびVRAM42dへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
【0066】
また、図示は省略するが、ゲーム装置12のハウジング14内部には、CPU40やシステムLSI42などのICの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【0067】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン20aがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【0068】
また、通常モードとスタンバイモードとの切り替えは、コントローラ22の電源スイッチ26hのオン/オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール52aへの電源供給を行わない設定にしてもよい。
【0069】
リセットボタン20bもまた、システムLSI42に接続される。リセットボタン20bが押されると、システムLSI42は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク18が排出される。
【0070】
図3(A)ないし図3(E)は、コントローラ22の外観の一例を示す。図3(A)はコントローラ22の先端面を示し、図3(B)はコントローラ22の上面を示し、図3(C)はコントローラ22の右側面を示し、図3(D)はコントローラ22の下面を示し、そして、図3(E)はコントローラ22の後端面を示す。
【0071】
図3(A)ないし図3(E)を参照して、コントローラ22は、たとえばプラスチック成型によって形成されたハウジング22aを有している。ハウジング22aは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング22a(コントローラ22)には、入力手段(複数のボタンないしスイッチ)26が設けられる。具体的には、図3(B)に示すように、ハウジング22aの上面には、十字キー26a,1ボタン26b,2ボタン26c,Aボタン26d,−ボタン26e,HOMEボタン26f,+ボタン26gおよび電源スイッチ26hが設けられる。また、図3(C)および図3(D)に示すように、ハウジング22aの下面に傾斜面が形成されており、この傾斜面に、Bトリガースイッチ26iが設けられる。
【0072】
十字キー26aは、4方向プッシュスイッチであり、矢印で示す4つの方向、前(または上)、後ろ(または下)、右および左の操作部を含む。この操作部のいずれか1つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト(プレイヤキャラクタまたはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したり、単に方向を指示したりすることができる。
【0073】
1ボタン26bおよび2ボタン26cは、それぞれ、押しボタンスイッチである。たとえば3次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、1ボタン26bおよび2ボタン26cは、Aボタン26dおよびBトリガースイッチ26iと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【0074】
Aボタンスイッチ26dは、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Aボタンスイッチ26dは、コントローラ22をポインティングデバイスとして用いる場合に、ゲーム画面上でポインタ(指示画像)が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令(コマンド)を入力することができる。
【0075】
−ボタン26e、HOMEボタン26f、+ボタン26gおよび電源スイッチ26hもまた、押しボタンスイッチである。−ボタン26eは、ゲームモードを選択するために使用される。HOMEボタン26fは、ゲームメニュー(メニュー画面)を表示するために使用される。+ボタン26gは、ゲームを開始(再開)したり、一時停止したりするなどのために使用される。電源スイッチ26hは、ゲーム装置12の電源を遠隔操作によってオン/オフするために使用される。
【0076】
なお、この実施例では、コントローラ22自体をオン/オフするための電源スイッチは設けておらず、コントローラ22の入力手段26のいずれかを操作することによってコントローラ22はオンとなり、一定時間(たとえば、30秒)以上操作しなければ自動的にオフとなるようにしてある。
【0077】
Bトリガースイッチ26iもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ22で選択した位置を指定したりするために使用される。また、Bトリガースイッチ26iを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Bトリガースイッチ26iは、通常のBボタンと同様に機能し、Aボタン26dによって決定したアクションやコマンドなどを取り消すなどのために使用される。
【0078】
また、図3(E)に示すように、ハウジング22aの後端面に外部拡張コネクタ22bが設けられ、また、図3(B)に示すように、ハウジング22aの上面であり、後端面側にはインジケータ22cが設けられる。外部拡張コネクタ22bは、コントローラ22とは異なる拡張コントローラ(図示せず)を接続するためなどに使用される。インジケータ22cは、たとえば、4つのLEDで構成される。たとえば、インジケータ22cでは、4つのうちのいずれか1つを点灯させることにより、点灯したLEDに応じて、コントローラ22の識別情報(コントローラ番号)を示すことができる。また、インジケータ22cでは、点灯させるLEDの個数によってコントローラ22の電池残量を示すこともできる。
【0079】
さらに、コントローラ22は、撮像情報演算部80(図4参照)を有しており、図3(A)に示すように、ハウジング22aの先端面には撮像情報演算部80の光入射口22dが設けられる。また、コントローラ22は、スピーカ86(図4参照)を有しており、このスピーカ86は、図3(B)に示すように、ハウジング22aの上面であり、1ボタン26bとHOMEボタン26fとの間に設けられる音抜き孔22eに対応して、ハウジング22a内部に設けられる。
【0080】
なお、図3(A)ないし図3(E)に示したコントローラ22の形状や、各入力手段26の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明を実現できることは言うまでもない。
【0081】
図4はコントローラ22の電気的な構成を示すブロック図である。この図4を参照して、コントローラ22はプロセッサ70を含み、このプロセッサ70には、内部バス(図示せず)によって、外部拡張コネクタ22b、入力手段26、メモリ72、加速度センサ74、無線モジュール76、撮像情報演算部80、LED82(インジケータ22c)、バイブレータ84、スピーカ86および電源回路88が接続される。また、無線モジュール76には、アンテナ78が接続される。
【0082】
なお、簡単のため、図4では省略するが、上述したように、インジケータ22cは4つのLED82によって構成される。
【0083】
プロセッサ70は、コントローラ22の全体制御を司り、入力手段26、加速度センサ74および撮像情報演算部80によって入力された情報(入力情報)を、入力データとして無線モジュール76およびアンテナ78を介してゲーム装置12に送信(入力)する。このとき、プロセッサ70は、メモリ72を作業領域ないしバッファ領域として用いる。また、上述した入力手段26(26a−26i)からの操作信号(操作データ)は、プロセッサ70に入力され、プロセッサ70は操作データを一旦メモリ72に記憶する。
【0084】
加速度センサ74は、コントローラ22の縦方向(y軸方向)、横方向(x軸方向)および前後方向(z軸方向)の3軸で各々の加速度を検出する。この加速度センサ74は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【0085】
たとえば、加速度センサ74は、第1所定時間毎に、x軸,y軸,z軸の各々についての加速度(ax,ay,az)を検出し、検出した加速度のデータ(加速度データ)をプロセッサ70に入力する。たとえば、加速度センサ74は、各軸方向の加速度を、−2.0g〜2.0g(gは重力加速度である。以下、同じ。)の範囲で検出する。プロセッサ70は、加速度センサ74から与えられる加速度データを、第2所定時間毎に検出し、一旦メモリ72に記憶する。
【0086】
プロセッサ70は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも1つを含む入力データを作成し、作成した入力データを、第3所定時間(たとえば、5msec)毎にゲーム装置12に送信する。
【0087】
なお、図3(A)−図3(E)では省略したが、この実施例では、加速度センサ74は、ハウジング22a内部の基板上の十字キー26aが配置される付近に設けられる。
【0088】
無線モジュール76は、たとえばBluetoothの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ78から放射する。つまり、入力データは、無線モジュール76によって微弱電波信号に変調されてアンテナ78(コントローラ22)から送信される。この微弱電波信号が上述したゲーム装置12に設けられた無線コントローラモジュール52によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置12(CPU40)は、コントローラ22からの入力データを取得することができる。そして、CPU40は、取得した入力データとアプリケーションプログラム(ゲームプログラム)とに従ってアプリケーションの処理(ゲーム処理)を行う。
【0089】
さらに、上述したように、コントローラ22には、撮像情報演算部80が設けられる。この撮像情報演算部80は、赤外線フィルタ80a、レンズ80b、撮像素子80cおよび画像処理回路80dによって構成される。赤外線フィルタ80aは、コントローラ22の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ34の表示画面近傍(周辺)に配置されるマーカ340mおよび340nは、モニタ34の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ80aを設けることによってマーカ340mおよび340nの画像をより正確に撮像することができる。レンズ80bは、赤外線フィルタ80aを透過した赤外線を集光して撮像素子80cへ出射する。撮像素子80cは、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ80bによって集光された赤外線を撮像する。したがって、撮像素子80cは、赤外線フィルタ80aを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子80cによって撮像された画像を撮像画像と呼ぶ。撮像素子80cによって生成された画像データは、画像処理回路80dで処理される。画像処理回路80dは、撮像画像内における撮像対象(マーカ340mおよび340n)の位置を算出し、第4所定時間毎に、当該位置を示す各座標値を撮像データ(後述するマーカ座標データ)としてプロセッサ70に出力する。なお、画像処理回路80dにおける処理については後述する。
【0090】
図5は、コントローラ22を用いてゲームプレイするときの状態を概説する図解図である。ただし、ゲームプレイのみならず、他のアプリケーションを実行する場合も同様である。図5に示すように、ビデオゲームシステム10でコントローラ22を用いてゲームをプレイする際、プレイヤは、一方の手でコントローラ22を把持する。厳密に言うと、プレイヤは、コントローラ22の先端面(撮像情報演算部80が撮像する光の入射口22d側)がマーカ340mおよび340nの方を向く状態でコントローラ22を把持する。ただし、図1からも分かるように、マーカ340mおよび340nは、モニタ34の画面の横方向と平行に配置されている。この状態で、プレイヤは、コントローラ22が指示する画面上の位置を変更したり、コントローラ22と各マーカ340mおよび340nとの距離を変更したりすることによってゲーム操作を行う。
【0091】
図6は、マーカ340mおよび340nと、コントローラ22との視野角を説明するための図である。図6に示すように、マーカ340mおよび340nは、それぞれ、視野角θ1の範囲で赤外光を放射する。また、撮像情報演算部80の撮像素子80cは、コントローラ22の視線方向を中心とした視野角θ2の範囲で入射する光を受光することができる。たとえば、マーカ340mおよび340nの視野角θ1は、共に34°(半値角)であり、一方、撮像素子80cの視野角θ2は41°である。プレイヤは、撮像素子80cが2つのマーカ340mおよび340nからの赤外光を受光することが可能な位置および向きとなるように、コントローラ22を把持する。具体的には、撮像素子80cの視野角θ2の中にマーカ340mおよび340nの少なくとも一方が存在し、かつ、マーカ340mまたは340nの少なくとも一方の視野角θ1の中にコントローラ22が存在する状態となるように、プレイヤはコントローラ22を把持する。この状態にあるとき、コントローラ22は、マーカ340mおよび340nの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ22の位置および向きを変化させることによってゲーム操作を行うことができる。
【0092】
なお、コントローラ22の位置および向きがこの範囲外となった場合、コントローラ22の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、上記範囲を「操作可能範囲」と呼ぶ。
【0093】
操作可能範囲内でコントローラ22が把持される場合、撮像情報演算部80によって各マーカ340mおよび340nの画像が撮像される。すなわち、撮像素子80cによって得られる撮像画像には、撮像対象である各マーカ340mおよび340nの画像(対象画像)が含まれる。図7は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路80dは、各マーカ340mおよび340nの撮像画像における位置を表す座標(マーカ座標)を算出する。
【0094】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路80dは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路80dは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である2つのマーカ340mおよび340nに対応する画像340m’および340n’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像340m’および340n’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【0095】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路80dは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子80cの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子80cによって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
【0096】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(XY座標系)で表現されるものとする。
【0097】
また、対象画像が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路80dは、算出された2箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ(マーカ座標データ)は、上述したように、プロセッサ70によって入力データに含まれ、ゲーム装置12に送信される。
【0098】
ゲーム装置12(CPU40)は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ34の画面上におけるコントローラ22の指示位置(指示座標)と、コントローラ22からマーカ340mおよび340nまでの各距離とを算出することができる。具体的には、2つのマーカ座標の中点の位置から、コントローラ22の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ22と、マーカ340mおよび340nとの距離に応じて変化するので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12はコントローラ22と、マーカ340mおよび340nとの間の距離を把握できる。
【0099】
このようなゲームシステム10では、ゲーム処理が実行されると、図示は省略するが、戦闘シーンにおいて、プレイヤオブジェクトと敵オブジェクトとの間で攻撃ターンと防御ターンとを交互に繰り返すことにより、互いのオブジェクトを戦わせるような仮想ゲームをプレイすることができる。また、攻撃ターンや防御ターンを設定せず、常に操作を行うような仮想ゲームを行うこともできる。
【0100】
たとえば、戦闘シーンにおいて、プレイヤオブジェクトの攻撃ターンになると、図8(A)や図8(B)に示すようなゲーム画面100がモニタ34に表示される。これらのゲーム画面100は、プレイヤオブジェクトに行わせる攻撃を指示するための画面(操作画面)である。図8(A)および図8(B)に示すように、ゲーム画面100には、その中央に文字、図形ないし記号(以下、「文字等」という)を描画するための描画領域102が設けられる。ターンが設定されない仮想ゲームにおいては、たとえば操作中に特定の操作が行われたタイミングにおいてこの操作画面が表示されるようにしてもよい。この描画領域102の下方には、操作説明の表示領域104が設けられる。また、描画領域102の左右には、実行可能な攻撃に対応する文字等を表示するための表示領域106が4つずつ設けられる。
【0101】
たとえば、ゲーム画面100がモニタ34に表示されると、プレイヤは、表示領域106に表示された文字等を参照して、プレイヤオブジェクトに行わせたい攻撃に対応する文字等を、コントローラ22を用いて描画領域102に描画する。前述のように、コントローラ22によってモニタ34の画面上における指示位置(指示座標)を特定することができるので、当該指示位置を動かすことによって描画を行う。図示は省略するが、ゲーム画面100には、たとえば、コントローラ22によって指示された位置に指示画像が表示され、したがって、コントローラ22を移動させると、それに応じて指示画像も移動される。指示画像の軌跡(時系列に並ぶ指示位置の座標の集まり)に基づいて、プレイヤが描画した文字等が認識される。
【0102】
なお、プレイヤが描画した文字等の認識方法としては、たとえば、本件出願人が先に出願し、既に出願公開された特開2006−204344号公報に記載の方法を用いることができる。この文字等の認識方法は、本願発明の本質的な内容ではないため、その説明は省略することにする。
【0103】
プレイヤが描画した文字等が認識され、表示領域106に記載された文字等と一致する場合には、当該文字等に割り当てられた攻撃の内容(たとえば、パンチ、キック、体当たり、剣などで斬る、弾などを撃つ、魔法の種類など)が決定される。ただし、プレイヤが描画した文字等が認識され、表示領域106に記載された文字等と一致しない場合には、描画(入力)に失敗したと判定される。ただし、プレイヤが文字等を描画するための最大時間(たとえば、30秒)が予め設定されており、ゲーム画面100がモニタ34に表示されてから最大時間が経過するまでに、文字等が認識されない場合にも、描画に失敗したと判定される。
【0104】
ここで、図8(A)に示すゲーム画面100では、表示領域104には、「まほうをはなつ」場合の操作方法として、コントローラ22を振ることを示す画像が描画されるとともに、入力した文字等を「キャンセル」する場合の操作方法として、コントローラ22に設けられた−ボタン26eを操作することを示す画像が描画されている。
【0105】
一方、図8(B)に示すゲーム画面100では、表示領域104には、「れんぞく」して攻撃する(ここでは、まほうをはなつ)場合の操作方法として、コントローラ22に設けられたAボタン26dを押し続けることを示す画像およびテキストが描画(記載)されるとともに、「まほうをはなつ」場合の操作方法として、コントローラ22を振ることを示す画像が描画されている。
【0106】
つまり、図8(B)に示すゲーム画面100では、「キャンセル」するような基本的な操作(低度な操作)についての説明に代えて、連続して攻撃するような新しい操作(高度な操作)についての説明が表示されているのである。
【0107】
たとえば、このように操作説明の表示内容が変化されるのは、仮想ゲームが進行されることによって、プレイヤが新しい操作(入力)を出来るようになった場合、プレイヤオブジェクトのレベル(経験値)が上昇した場合、プレイヤの操作のレベル(操作レベル)が上がった場合などである。つまり、仮想ゲームの進行状況に応じて、表示内容が変化(決定)されるのである。
【0108】
ただし、この実施例では、比較的長い期間(たとえば、一週間以上)、仮想ゲームをプレイしていない場合には、ゲームの進行状況に拘わらず、操作説明を表示するようにしてある。このような場合には、プレイヤが操作の方法(入力の仕方)を忘れてしまっていることがあり得るからである。つまり、プレイヤの状態に応じて表示内容が変化される場合もある。
【0109】
図9は、図2に示したメインメモリ(42e,46)のメモリマップの一例である。図9に示すように、メインメモリ(42e,46)は、プログラム記憶領域500およびデータ記憶領域502を含む。プログラム記憶領域500は、ゲームプログラムを記憶し、ゲームプログラムは、メイン処理プログラム500a、画像生成プログラム500b、画像表示プログラム500cおよび操作説明表示プログラム500dなどによって構成される。
【0110】
メイン処理プログラム500aは、この実施例の仮想ゲームのメインルーチン(図11参照)を処理するためのプログラムである。画像生成プログラム500bは、後述する画像データ502bを用いて、モニタ34に表示するゲーム画面(100など)に対応するゲーム画像データを生成するためのプログラムである。画像表示プログラム500cは、画像生成プログラム500bに従って生成されたゲーム画像データをモニタ34に出力して、対応するゲーム画面(100など)を表示するためのプログラムである。操作説明表示プログラム500dは、ゲーム画面100の表示領域104への操作説明の表示制御(図12−図16参照)を行うためのプログラムである。
【0111】
図示は省略するが、ゲームプログラムは、音出力プログラムやバックアッププログラムなども含む。音出力プログラムは、プレイヤオブジェクトや敵オブジェクトなどの音声ないし擬声音、効果音、音楽(BGM)のような、ゲームに必要な音を生成し、スピーカ34aから出力するためのプログラムである。バックアッププログラムは、データ記憶領域502に記憶されるゲームデータ(502c,502d,502f,502gなど)を、フラッシュメモリ44や外部のメモリカードに保存(セーブ)するためのプログラムである。
【0112】
データ記憶領域502には、入力データバッファ502aが設けられる。また、データ記憶領域502には、画像データ502b、進行状況データ502c、表示レベルデータ502d、操作説明データ502e、総プレイ時間データ502f、前回プレイ終了日時データ502gおよび成功率データ502hが記憶される。さらに、データ記憶領域502には、操作回数カウンタ502i、表示時間タイマ502j、操作待ち時間タイマ502k、表示レベル上昇フラグ502m、強制表示1フラグ502n、強制表示2フラグ502pおよび強制非表示フラグ502qが設けられる。
【0113】
入力データバッファ502aは、コントローラ22からの入力データを時系列に従って記憶(一時記憶)する。入力データバッファ502aに記憶された入力データは、ゲーム処理に使用された後に、削除(クリア)される。
【0114】
画像データ502bは、上述したように、ゲーム画像データを生成するためのポリゴンデータやテクスチャデータなどである。進行状況データ502cは、仮想ゲームの進行状況についてのデータである。ここで、この実施例では、仮想ゲームの進行状況は、プレイヤがクリアしたステージ(または面,章)についての情報、プレイヤオブジェクトが習得している攻撃(まほうなど)の情報、プレイヤオブジェクトが所持しているアイテムの情報、およびプレイヤオブジェクトのレベル(経験値)の情報などを意味する。
【0115】
表示レベルデータ502dは、操作説明の表示レベルについての数値データである。操作説明データ502eは、操作説明の具体的な内容についてのデータである。たとえば、図10に示すように、操作説明データ502eは、表示レベルに対応して、操作説明の内容が記述されたテーブルのデータある。図10に示すように、この実施例では、表示レベルは、1,2,3,4,5,….nまで設定されており、各表示レベル1−nに対応して、操作説明(1),操作説明(2)、操作説明(3)、操作説明(4)、操作説明(5)、…、操作説明(n)が記述される。ただし、操作説明(1)−(n)は、実際には、図8(A)および図8(B)に示したような画像およびテキストについてのデータである。また、詳細な説明は省略するが、表示レベルが高くなるにつれて、操作説明の内容も高度になる。
【0116】
図9に戻って、総プレイ時間データ502fは、この仮想ゲームをプレイした時間の累計についてのデータである。詳細な説明は省略するが、仮想ゲームをプレイする度に、プレイの開始日時と終了日時とがROM/RTC48から取得され、その差分によってプレイ時間が計算され、プレイ終了時に総プレイ時間に今回のプレイ時間が加算される。前回プレイ終了日時データ502gは、この仮想ゲームについての前回のプレイの終了日時についてのデータである。上述したように、プレイの終了日時は、ROM/RTC48から取得される。
【0117】
成功率データ502hは、プレイヤによる文字等の入力すなわち操作の成功率についての数値データである。この実施例では、成功率は、同一表示レベルにおける、正しい操作の回数をすべての操作の回数(総操作回数)で割った値である。したがって、表示レベルが更新(この実施例では、上昇)されるときに、成功率はリセットされる。
【0118】
操作回数カウンタ502iは、所定の操作の回数をカウントするためのアップカウンタである。所定の操作は、現在の表示レベルの操作説明において初めて説明される操作(この実施例では、新しい操作)である。表示時間タイマ502jは、操作説明を表示している時間をカウントするためのタイマである。また、操作待ち時間タイマ502kは、プレイヤからの入力(操作)を待っている時間をカウントするためのタイマである。
【0119】
表示レベル上昇フラグ502mは、操作説明の表示レベルが上昇したかどうかを判定するためのフラグであり、1ビットのレジスタで構成される。表示レベル上昇フラグ502mがオンされると、レジスタにはデータ値「1」が設定される。一方、表示レベル上昇フラグ502mがオフされると、レジスタにはデータ値「0」が設定される。この実施例では、表示レベルが上昇されたときに、表示レベル上昇フラグ502mはオンされる。また、所定の操作の回数が一定回数以上になると、つまり操作回数カウンタ502iのカウント値が一定値以上になると、表示レベル上昇フラグ502mはオフされる。
【0120】
強制表示1フラグ502nは、前回のプレイから一定時間(たとえば、一週間)以上経過している場合に、操作説明を強制的に表示設定しているかどうかを判定するためのフラグであり、1ビットのレジスタで構成される。強制表示1フラグ502nがオンされると、レジスタにデータ値「1」が設定される。一方、強制表示1フラグ502nがオフされると、レジスタにデータ値「0」が設定される。この実施例では、前回のプレイから一定時間以上が経過しており、ゲームレベルに拘わらず、操作説明を強制的に表示設定すると、強制表示1フラグ502nがオンされる。また、仮想ゲームが開始されたときに、強制表示1フラグ502nがオフされる。
【0121】
強制表示2フラグ502pは、ゲーム画面100(操作画面)が表示されて一定時間(この実施例では、10秒)以上、操作(入力)が無い場合に、操作説明を強制的に表示設定しているか否かを判定するためのフラグであり、1ビットのレジスタで構成される。強制表示2フラグ502pがオンされると、レジスタにはデータ値「1」が設定される。一方、強制表示2フラグ502pがオフされると、レジスタにはデータ値「0」が設定される。この実施例では、プレイヤが文字等を入力する場合において、操作画面が表示されてから一定時間(たとえば、10秒)以上、何ら入力が無い場合に、強制表示2フラグ502pはオンされる。また、この強制表示2フラグ502pがオンされることにより、操作説明が強制的に表示されてから一定時間(たとえば、2秒)が経過すると、強制表示2フラグ502pはオフされる。
【0122】
強制非表示フラグ502qは、操作説明を強制的に非表示しているかどうかを判定するためのフラグであり、1ビットのレジスタで構成される。強制非表示フラグ502qがオンであれば、レジスタにデータ値「1」が設定される。一方、強制非表示フラグ502qがオフであれば、レジスタにデータ値「0」が設定される。この実施例では、所定の操作の回数が一定回数以上になったり、強制的に操作説明が表示されてから一定時間(たとえば、2秒)が経過したりすると、強制非表示フラグ502qはオンされる。また、操作説明を表示することが設定されたときに、強制非表示フラグ502qはオフされる。
【0123】
図示は省略するが、データ記憶領域502には、音データのような他のデータも記憶される。また、ゲーム処理に必要な、他のカウンタ(タイマ)や他のフラグも設定される。
【0124】
図11は図2に示すCPU40の全体処理を示すフロー図である。図11に示すように、CPU40は、全体処理を開始すると、ステップS1で、初期化処理を実行する。ここでは、CPU40は、入力データバッファ502aをクリアしたり、各データ502b−502hをロードしたり、カウンタ502iやタイマ502j,502kをリセットしたり、フラグ502m−502qをオフしたりする。
【0125】
次のステップS3では、入力があるかどうかを判断する。ここでは、入力データバッファ502aに現フレームにおける入力データが記憶されているかどうかを判断する。ステップS3で“NO”であれば、つまり入力が無ければ、そのままステップS9に進む。一方、ステップS3で“YES”であれば、つまり入力が有れば、ステップS5で、入力に応じたゲーム処理を実行し、ステップS7で、ゲームデータを更新して、ステップS9に進む。
【0126】
詳細な説明は省略するが、ステップS5のゲーム処理では、プレイヤの入力(操作)に従って、3次元仮想空間におけるプレイヤオブジェクトの位置を更新したり、プレイヤオブジェクトに任意のアクションを実行させたり、プレイヤが文字等を入力している場合には、文字等の認識処理を実行したりする。また、ゲーム処理では、プレイヤの操作によらないで、ゲームプログラムに従って、敵オブジェクトのようなノンプレイヤオブジェクトの位置を更新したり、ノンプレイヤオブジェクトに任意のアクションを実行させたりする。
【0127】
また、ステップS7では、ステップS5でゲーム処理が実行されることによって、ゲームデータに含まれる進行状況データ502cや表示レベルデータ502dが必要に応じて更新される。
【0128】
ステップS9では、画像生成処理を実行する。つまり、CPU40は、ゲーム画面(100など)を表示するためのゲーム画像データを生成する。図示は省略するが、図8(A)または図8(B)に示したようなゲーム画面100(操作画面)を表示する際には、後述する操作説明の表示制御処理(図12−図16参照)における、操作説明の表示設定または非表示設定に応じて、操作説明が表示または非表示される。
【0129】
図示は省略するが、操作説明が非表示される場合には、表示領域104もゲーム画面100に表示しないため、描画領域102を広くすることができる。つまり、モニタ34の表示領域を有効に使用することができる。
【0130】
次のステップS11では、画像表示処理を実行する。つまり、CPU40は、ステップS9で生成したゲーム画像データをモニタ34に出力する。次のステップS13では、ゲーム終了かどうかを判断する。つまり、CPU40は、ゲームクリアやゲームオーバにより仮想ゲームを終了することが決定されたり、プレイヤの指示に従って仮想ゲームを終了することが決定されたりしたかどうかを判断する。
【0131】
ステップS13で“NO”であれば、つまりゲーム終了でなければ、そのままステップS3に戻る。一方、ステップS13で“YES”であれば、つまりゲーム終了であれば、そのまま全体処理を終了する。
【0132】
なお、図示は省略するが、プレイヤの指示やゲーム終了などのイベント発生時に、ゲームデータ(502c,502d,502f,502gなど)がフラッシュメモリ44やメモリカードに記憶(セーブ)される。このとき、総プレイ時間データ50fや前回プレイ終了日時データ502gが更新される。
【0133】
図12−図16は、操作説明の表示制御処理を示すフロー図である。この操作説明の表示制御処理は、操作説明を表示するタイミングになると、開始される。ただし、操作説明を表示するタイミングは、この実施例の仮想ゲームでは、プレイヤオブジェクトの攻撃ターンになったときを意味する。ただし、これに限定される必要はなく、他の仮想ゲームでは、プレイヤオブジェクトのレベルアップ(所定の技の習得や経験値の増大)や所定のアイテムの取得により、新しい操作が可能になった場合や単に一定時間以上プレイヤからの入力が無い場合などを、操作説明を表示するタイミングとしてもよい。
【0134】
図12に示すように、CPU40は、操作説明の表示制御処理を開始すると、ステップS31で、終了かどうかを判断する。つまり、CPU40は、操作説明の表示制御を終了するかどうかを判断している。この実施例では、プレイヤが文字等を入力し、図8(A)や図8(B)に示したゲーム画面100を消去するとき、つまりゲーム画面100から他のゲーム画面(この実施例では、主として、プレイヤオブジェクトの攻撃シーンのゲーム画面)に更新されるときに、操作説明の表示制御を終了することが判断される。
【0135】
ステップS31で“YES”であれば、つまり終了であれば、そのまま操作説明の表示制御処理を終了する。一方、ステップS31で“NO”であれば、つまり終了でなければ、ステップS33で、強制表示1フラグ502nがオンであるかどうかを判断する。つまり、CPU40は、前回のプレイから一定時間以上経過しており、操作説明の表示設定を強制的に行っているかどうかを判断しているのである。
【0136】
ステップS33で“YES”であれば、つまり強制表示1フラグ502nがオンであれば、そのままステップS41に進む。一方、ステップS33で“NO”であれば、つまり強制表示1フラグ502nがオフであれば、ステップS35で、前回のプレイから一定時間以上経過したかどうかを判断する。つまり、CPU40は、前回プレイ終了日時データ502gが示す前回のプレイ終了日時と、現在の日時とを比較し、一定時間(たとえば、一週間)以上経過しているかどうかを判断する。ただし、CPU40は、プレイの開始日時や終了日時と同様に、現在の日時をROM/RTC48から取得する。
【0137】
ステップS35で“NO”であれば、つまり前回のプレイから一定時間以上経過していなければ、そのままステップS41に進む。一方、ステップS35で“YES”であれば、つまり前回のプレイから一定時間以上経過していれば、ステップS37で、現在の表示レベルの操作説明を表示設定し、ステップS39で、強制表示1フラグ502nをオンして、ステップS45に進む。ただし、ステップS37では、CPU40は、表示レベルデータ502dが示す表示レベルに対応する操作説明の内容を表示することを設定する。以下、同様である。
【0138】
なお、この実施例では、或る程度長期間プレイしていない場合には、ゲームレベルに拘わらず、操作説明を表示するようにしてあるが、たとえば、表示レベルを低下させて操作説明を表示するようにしてもよい。かかる場合には、プレイヤの操作レベルが低下している場合であっても、プレイに支障が出るのを防止できると考えられるからである。表示レベルの低下させる度合いについては、たとえば、前回のプレイからの経過時間の長さに応じて段階的に決定すればよいと考えられる。
【0139】
図12に戻って、ステップS41では、ゲームレベルが所定レベル以上であるかどうかを判断する。この実施例では、CPU40は、進行状況データ502cが示すゲーム進行状況(クリアしたステージ,章ないし面の数)に応じてゲームレベルが所定レベル以上であるかどうかを判断する。たとえば、1つもステージをクリアしていない(最初のステージ,第1章,第1面をプレイ中である)場合には、ゲームレベルが所定レベル未満であると判断され、1つ以上のステージ等をクリアしている場合には、ゲームレベルが所定レベル以上であると判断される。または、総プレイ時間データ502fが示す仮想ゲームの総プレイ時間に基づいてゲームレベルが所定レベル以上であるかどうかを判断するようにしてもよい。たとえば、総プレイ時間が一定時間(2時間)未満であれば、ゲームレベルが所定レベル未満であると判断され、総プレイ時間が一定時間以上であれば、ゲームレベルが所定レベル以上であると判断される。或いは、クリアしたステージ等の数および総プレイ時間の両方を考慮して、ゲームレベルを判断するようにしてもよい。
【0140】
ステップS41で“NO”であれば、つまりゲームレベルが所定レベル未満であれば、ステップS43で、表示レベル1(基本レベル)の操作説明(1)を表示設定して、ステップS31に戻る。一方、ステップS41で“YES”であれば、つまりゲームレベルが所定レベル以上であれば、そのまま図13に示すステップS45に進む。
【0141】
図13に示すステップS45では、強制非表示フラグ502qがオンであるかどうかを判断する。ステップS45で“YES”であれば、つまり強制非表示フラグ502qがオンであれば、そのままステップS49に進む。一方、ステップS45で“NO”であれば、つまり強制非表示フラグ502qがオフであれば、ステップS47で、現在の表示レベルの操作説明を表示設定して、ステップS49に進む。
【0142】
ステップS49では、新しい操作が必要になったかどうかを判断する。ここでは、CPU40は、進行状況データ502cが示すゲームの進行状況(ここでは、プレイヤオブジェクトが習得している攻撃)を参照して、連続攻撃や特殊な攻撃を習得したかどうかを判断する。つまり、CPU40は、連続する操作や複合的に行う操作のような新しい操作が必要になったかどうかを判断するのである。
【0143】
ステップS49で“YES”であれば、つまり新しい操作が必要になった場合には、そのままステップS55に進む。一方、ステップS49で“NO”であれば、つまり新しい操作が必要になっていない場合には、ステップS51で、成功率が一定値以上であるかどうかを判断する。ステップS51で“YES”であれば、つまり成功率が一定値以上であれば、ステップS55に進む。一方、ステップS51で“NO”であれば、つまり成功率が一定値未満であれば、ステップS53で、操作時間が一定時間未満であるかどうかを判断する。ステップS53で“NO”であれば、つまり操作時間が一定時間以上であれば、そのまま図14に示すステップS67に進む。一方、ステップS53で“YES”であれば、つまり操作時間が一定時間未満であれば、ステップS55に進む。
【0144】
なお、この実施例では、ステップS51やステップS53の判断処理を実行することにより、プレイヤの操作の上達の度合い(操作レベル)を検出しているのである。この実施例では、成功率が一定値以上であるか、操作時間が一定時間未満であるかのいずれか一方を満たせば、プレイヤの操作の上達の度合いが高いと判断するようにしてある。ただし、これら両方を満たす場合に、プレイヤの操作の上達の度合いが高いと判断するようにしてもよい。
【0145】
また、この実施例では、総操作回数に拘わらず、ステップS51で、成功率が一定値以上であるかどうかを判断するようにしてあるが、総操作回数が少ない場合に、正しい操作が行われると、成功率が高くなってしまうため、実際には、総操作数が一定値(たとえば、20)以上である場合に、ステップS51の処理を実行するようにしてある。
【0146】
図13に戻って、ステップS55では、成功率をクリアする。つまり、CPU40は、成功率データ502hをリセットする。次のステップS57では、表示レベルを1段階上げる。つまり、CPU40は、表示レベルデータ502dが示す表示レベルを1段階上昇させて、当該表示レベルデータ502dを更新するのである。次に、図14に示すステップS59では、現在の表示レベルの操作説明を表示設定し、ステップS61で、回数をリセットする。つまり、操作回数カウンタ502iのカウント値に0を設定する。続くステップS63では、表示レベル上昇フラグ502をオンし、ステップS65で、強制非表示フラグ502qをオフして、ステップS67に進む。
【0147】
ステップS67では、表示レベル上昇フラグ502mがオンであるかどうかを判断する。ここでは、CPU40は、現在の表示レベルになってあまり時間が経っていないかどうかを判断しているのである。これは、表示レベルが変化し、プレイヤが新しい操作方法に慣れるまでは、変化した表示レベルに対応する操作説明を表示するようにするためである。ステップS67で“NO”であれば、つまり表示レベル上昇フラグ502mがオフであれば、そのまま図15に示すステップS77に進む。一方、ステップS67で“YES”であれば、つまり表示レベル上昇フラグ502mがオンであれば、ステップS69で、回数が所定回数を超えているかどうかを判断する。ここでは、CPU40は、操作回数カウンタ502iのカウント値が一定数(たとえば、20)を超えているかどうかを判断する。
【0148】
ステップS69で“NO”であれば、つまり回数が所定回数以下であれば、新しい操作方法に慣れていないと判断して、そのままステップS77に進む。一方、ステップS69で“YES”であれば、つまり回数が所定回数を超えていれば、新しい操作方法に慣れたと判断して、ステップS71で、操作説明を非表示設定し、ステップS73で、強制非表示フラグ502qをオンし、ステップS75で、表示レベル上昇フラグ502mをオフして、ステップS77に進む。
【0149】
図15に示すように、ステップS77では、入力があるかどうかを判断する。この判断処理は、上述したステップS3の処理と同じである。ステップS77で“NO”であれば、つまり入力が無ければ、そのまま図16に示すステップS87に進む。一方、ステップS77で“YES”であれば、つまり入力が有れば、ステップS79で、操作時間を取得する。詳細な説明は省略するが、CPU40は、図8(A)や図8(B)に示したようなゲーム画面100(操作画面)を表示したときに、入力待ち時間タイマ502kをスタートし、入力があったとき、つまりステップ77で“YES”となったときに、入力待ち時間タイマ502kをストップして、入力が無い時間すなわち操作時間(操作に掛かった時間)を計測する。この実施例では、操作画面を表示してから入力が開始されるまでの時間を操作時間として取得するようにしてあるが、操作画面が表示されてから入力が終了する(文字等が認識される)までの時間を操作時間として取得するようにしてもよい。かかる場合には、入力待ち時間タイマ502kは、文字等が認識されたときにストップされる。
【0150】
続くステップS81では、正しい操作かどうかを判断する。つまり、CPU40は、プレイヤによって入力された文字等すなわち認識した文字等が、表示領域106に表示された文字等と一致するかどうかを判断する。ステップS81で“NO”であれば、つまり正しい操作でなければ、そのままステップS85に進む。一方、ステップS81で“YES”であれば、つまり正しい操作であれば、ステップS83で、今回の操作についての操作回数を1加算して、ステップS85に進む。つまり、ステップS83では、CPU40は、操作回数カウンタ502iのカウント値を1加算する。
【0151】
ステップS85では、操作の成功率を更新し、ステップS87に進む。このステップS85では、CPU40は、総操作回数に1加算する。そして、CPU40は、正しい操作の回数(操作回数カウンタ502iのカウント値)を総操作回数で割ることにより、成功率を算出する。ただし、ステップS81で“NO”と判断された場合には、正しい操作の回数は加算されない。
【0152】
図16に示すように、ステップS87では、強制表示2フラグ502pがオンであるかどうかを判断する。ステップS87で“NO”であれば、つまり強制表示2フラグ502pがオフであれば、ステップS89で、10秒以上入力が無いかどうかを判断する。つまり、CPU40は、入力待ち時間タイマ502kのカウント値が10秒以上であるかどうかを判断するのである。ステップS89で“NO”であれば、つまり入力の無い状態が10秒未満であれば、そのまま図12に示したステップS31に戻る。一方、ステップS89で“YES”であれば、つまり10秒以上入力の無ければ、ステップS91で、現在の表示レベルの操作説明を表示設定し、ステップS93で、強制表示2フラグ502pをオンし、ステップS95で、強制非表示フラグ502qをオフして、ステップS31に戻る。
【0153】
また、ステップS87で“YES”であれば、つまり強制表示2フラグ502pがオンであれば、ステップS97で、操作説明の表示後、2秒経過したかどうかを判断する。詳細な説明は省略するが、ステップS89で“YES”と判断された後に、全体処理に従って、ゲーム画面100(説明画面)に操作説明が表示されると、表示時間タイマ502jがスタートされる。ステップS97では、この表示時間タイマ502jのカウント値が2秒を超えたかどうかを判断しているのである。
【0154】
ステップS97で“NO”であれば、つまり操作説明の表示後、2秒経過していなければ、そのままステップS31に戻る。一方、ステップS97で“YES”であれば、つまり操作説明の表示後、2秒経過すれば、ステップS99で、操作説明を非表示設定し、ステップS101で、強制非表示フラグ502qをオンし、ステップS103で、強制表示2フラグ502pをオフして、ステップS31に戻る。
【0155】
この実施例によれば、少なくともゲームの進行状況に応じて内容の異なる操作説明を表示するので、必要なときに必要な操作説明を提示することができる。
【0156】
なお、この実施例では、操作の成功率が一定値以上である場合に、表示レベルを上昇させるようにしたが、操作の成功率が低い場合には、表示レベルを低下させるようにしてもよい。もしくは、操作が正しくない場合に、表示レベルを低下させるようにしてもよい。
【0157】
また、この実施例では、操作説明が非表示にされている場合に、一定時間を超えて入力が無い場合に、操作説明を強制的に表示するようにしたが、非常に高度な内容の操作説明を表示するような場合にも、操作説明を強制的に表示するようにしてもよい。たとえば、非常に高度な内容の操作説明とは、ゲームの進行に欠かせない内容の操作説明を意味し、たとえば、プレイ中のステージをクリアするために必要な操作説明や敵オブジェクトのボスを倒したりするための操作説明などが該当する。
【0158】
さらに、この実施例では、操作時間や成功率に基づいて操作レベルを判定するようにしたが、これに限定される必要はない。たとえば、プレイヤが描画した文字等の形のきれいさに基づいて操作レベルを判定するようにしてもよい。また、これらすべての要素に基づいて操作レベルを判定するようにしてもよい。
【0159】
さらにまた、この実施例では、ゲーム装置とモニタとが別に設けられたゲームシステムについてのみ説明したが、モニタが一体的に設けられたゲーム装置、たとえば、携帯型のゲーム装置、ゲーム機能を有するコンピュータ(PDAを含む)、ゲーム機能を有する携帯電話機、アーケードゲームにも適用することができる。
【符号の説明】
【0160】
10 …ゲームシステム
12 …ゲーム装置
18 …光ディスク
22 …コントローラ
24 …受信ユニット
34 …モニタ
34a …スピーカ
40 …CPU
42 …システムLSI
42a …入出力プロセッサ
42b …GPU
42c …DSP
42d …VRAM
42e …内部メインメモリ
44 …フラッシュメモリ
46 …外部メインメモリ
48 …ROM/RTC
50 …無線通信モジュール
52 …無線コントローラモジュール
54 …ディスクドライブ
56 …AV IC
58 …AVコネクタ
60 …拡張コネクタ
62 …メモリカード用コネクタ
70 …プロセッサ
74 …加速度センサ
80 …画像情報演算部
80c …撮像素子
80d …画像処理回路

【特許請求の範囲】
【請求項1】
仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、前記仮想ゲームのゲーム画面を前記表示手段に出力するゲーム装置のゲームプログラムであって、
前記ゲーム装置のコンピュータを、
少なくとも前記仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、
前記操作説明を前記表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、
前記タイミング判断手段によって前記操作説明を表示するタイミングであることが判断されたとき、前記ゲームデータ記憶手段に記憶されたゲームデータに基づいて、前記操作説明を表示するか否かを判断する表示判断手段、および
前記表示判断手段によって前記操作説明を表示することが判断されたとき、前記表示手段に当該操作説明に対応する操作説明データを出力する出力手段として機能させる、ゲームプログラム。
【請求項2】
前記仮想ゲームの進行状況は、クリアしたゲームステージの数を含む、請求項1記載のゲームプログラム。
【請求項3】
前記仮想ゲームの進行状況は、前記仮想ゲームの総プレイ時間を含む、請求項1または2記載のゲームプログラム。
【請求項4】
前記操作説明データ記憶手段は、同一種類の操作説明について、前記プレイヤの操作レベルに応じて異なる複数の内容を記憶しており、
前記プレイヤの操作を検出する操作検出手段、および
前記操作検出手段の検出結果に基づいて前記プレイヤの操作レベルを判断する操作レベル判断手段として前記コンピュータをさらに機能させ、
前記出力手段は、前記操作レベル判断手段によって判断された操作レベルに応じた内容の前記操作説明についての操作説明データを出力する、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記操作レベルは、前記操作の成功率である、請求項5記載のゲームプログラム。
【請求項6】
前記操作レベルは、前記操作に掛かる時間である、請求項5記載のゲームプログラム。
【請求項7】
前記表示判断手段によって前記操作説明を表示しないことが判断されたとき、前記操作検出手段によってプレイヤの操作が無いことが検出されている時間を計測する時間計測手段として前記コンピュータをさらに機能させ、
前記出力手段は、前記時間計測手段によって計測された時間が一定時間を超えるとき、前記表示判断手段によって表示しないことが判断された前記操作説明に対応する操作説明データを前記表示手段に出力する、請求項4ないし6のいずれかに記載のゲームプログラム。
【請求項8】
前記タイミング判断手段は、前記仮想ゲームにおいて新たな種類の操作が可能となった場合に、当該操作についての操作説明を前記表示手段に表示するタイミングであることを判断する、請求項1ないし7のいずれかに記載のゲームプログラム。
【請求項9】
前記表示判断手段は、前記仮想ゲームの前回のプレイ時から今回のプレイ時までの期間が所定期間を超えている場合に、前記ゲームデータ記憶手段に記憶されたゲームデータに拘わらず、前記操作説明を表示することを判断する、請求項1ないし8のいずれかに記載のゲームプログラム。
【請求項10】
仮想ゲームの操作説明を表示手段に表示するための操作説明データを記憶する操作説明データ記憶手段を備え、前記仮想ゲームのゲーム画面を前記表示手段に出力するゲーム装置であって、
少なくとも前記仮想ゲームの進行状況についてのデータを含むゲームデータを記憶媒体に記憶するゲームデータ記憶手段、
前記操作説明を前記表示手段に表示するタイミングであるかどうかを判断するタイミング判断手段、
前記タイミング判断手段によって前記操作説明を表示するタイミングであることが判断されたとき、前記ゲームデータ記憶手段に記憶されたゲームデータに基づいて、前記操作説明を表示するか否かを判断する表示判断手段、および
前記表示判断手段によって前記操作説明を表示することが判断されたとき、前記表示手段に当該操作説明に対応する操作説明データを出力する出力手段を備える、ゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate