(57)【要約】【課題】ゲームが下手な人でもゲームに行き詰まることがないようにゲームを楽しませつつ、興趣性も低下させないようにするゲームプログラム、ゲーム装置を提供すること。【解決手段】手動操作手段は、入力装置から出力される操作データに基づき操作対象キャラクタを動作制御する。また、自動動作制御手段は、予め作成された一連の操作データである自動操作データに基づき、操作対象キャラクタを動作制御する。ゲーム制御手段は、ゲームの進行中における所定の区間内において、手動操作手段によってのみ操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行するが、当該区間内の少なくとも一部において自動動作制御手段による動作制御がなされたときは、いずれの条件が満たされた場合であっても第１の処理を実行する。【選択図】図３０
2011101754.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行するゲーム制御手段として機能させる、ゲームプログラム。
【請求項２】
前記ゲームプログラムは、前記コンピュータを、前記操作対象キャラクタの動作制御を前記手動操作手段による動作制御と前記自動動作制御手段による動作制御との間で切り替える手動自動切換手段として更に機能させる、請求項１に記載のゲームプログラム。
【請求項３】
前記ゲームプログラムは、前記コンピュータを、前記自動動作制御手段によって前記操作対象キャラクタが動作制御されているときに、当該動作制御中に入力された前記操作データに基づいて当該自動動作制御手段による動作制御を中断し、前記手動操作手段による動作制御に切り替える自動制御中断手段として更に機能させる、請求項２に記載のゲームプログラム。
【請求項４】
前記自動操作データは、前記操作対象キャラクタが前記第１の条件を満たす動作内容となる一連の操作データである、請求項１に記載のゲームプログラム。
【請求項５】
前記ゲーム制御手段は、前記ゲームプログラムの実行によるゲームの進行中における所定の区間内において実行され、当該ゲームの進行中における所定の区間内の少なくとも一部分において前記自動動作制御手段によって前記操作対象キャラクタが動作制御されたときは、前記第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも前記第１の処理を実行する、請求項１に記載のゲームプログラム。
【請求項６】
前記ゲームプログラムで実行されるゲームは、当該ゲームの進行状況を、ゲームの進み具合に応じた所定の構成単位で区切った複数のゲームステージで構成されており、当該複数のゲームステージを順次クリアしていくことによって最終的なゲームクリアを目指すゲームであり、
前記所定の区間とは、前記ゲームステージのことである、請求項５に記載のゲームプログラム。
【請求項７】
前記第１の条件とは、前記ゲームステージにおける前記仮想ゲーム空間内に予め設定されている第１の地点に前記操作対象キャラクタが到達したことであり、
前記第２の条件とは、前記ゲームステージにおける前記仮想ゲーム空間内に予め設定されている第２の地点に前記操作対象キャラクタが到達したことである、請求項６に記載のゲームプログラム。
【請求項８】
前記第１の処理とは、次にプレイする前記ゲームステージとして所定のステージを設定する処理であり、前記第２の処理は、次にプレイする前記ゲームステージとして前記所定のステージとは異なるステージを設定する処理である、請求項６に記載のゲームプログラム。
【請求項９】
前記第１の処理とは、次にプレイ可能な前記ゲームステージとして所定のステージをプレイヤが選択可能とする処理であり、前記第２の処理は、前記第１の処理で設定されるものとは異なる別のステージを前記次にプレイ可能なゲームステージとして選択可能とする処理である、請求項８に記載のゲームプログラム。
【請求項１０】
前記第１の処理とは、次にプレイする区間として所定の区間を設定する処理であり、前記第２の処理とは、次にプレイする区間として前記第１の処理とは異なる区間を設定する処理である、請求項５に記載のゲームプログラム。
【請求項１１】
前記第１の条件及び前記第２の条件とは、前記操作対象キャラクタが前記仮想ゲーム空間内において達成することができる所定の条件である、請求項１に記載のゲームプログラム。
【請求項１２】
前記ゲームプログラムは、前記コンピュータを、
前記操作データに基づいて、前記手動操作手段による制御から前記自動制御手段による制御への切替を指示するための自動制御指示手段として更に機能させ、
前記自動制御指示手段からの指示があったときにのみ、前記操作対象キャラクタの動作制御を切り替える、請求項２に記載のゲームプログラム。
【請求項１３】
前記自動制御指示手段は、前記手動操作手段によって前記操作対象キャラクタが動作制御されている状態において、ゲーム中における所定の条件が満たされたときにのみ利用可能とする、請求項１２に記載のゲームプログラム。
【請求項１４】
前記自動制御指示手段は、ゲーム中における所定の条件が満たされたときに前記仮想ゲーム空間内に指示用オブジェクトを配置し、前記操作対象キャラクタが当該指示用オブジェクトに対して所定の行動を起こしたときに、前記動作制御の切替を前記自動制御切替手段に指示する、請求項１３に記載のゲームプログラム。
【請求項１５】
前記自動制御指示手段は、前記手動操作手段によって操作されている操作対象キャラクタが予め設定されている所定の失敗条件を所定の回数満たしたときに、前記指示用オブジェクトを配置する、請求項１４に記載のゲームプログラム。
【請求項１６】
前記自動制御指示手段は、前記所定の区間におけるプレイ時間が予め設定されている閾値を上回ったときに、前記指示用オブジェクトを配置する、請求項１４に記載のゲームプログラム。
【請求項１７】
前記ゲームプログラムは、前記コンピュータを、
前記自動制御手段によって前記操作対象オブジェクトが動作制御された状態で前記ゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる確認手段と、
前記確認手段で前記ゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する復元手段として更に機能させる、請求項１に記載のゲームプログラム。
【請求項１８】
前記ゲームプログラムは、前記コンピュータを、
前記操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたＢＧＭを再生するＢＧＭ再生手段と、
前記ＢＧＭに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御するＢＧＭ連動動作制御手段して更に機能させ、
前記自動操作データには、前記非操作対象キャラクタの動作の一部を制御するためのデータが含まれ、
前記手動操作手段によって前記操作対象キャラクタが動作制御されているときは、ＢＧＭ連動動作制御手段が前記ＢＧＭに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御し、
前記自動動作制御手段によって前記操作対象キャラクタが動作制御されているときは、当該自動動作制御手段が前記自動操作データに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する、請求項１に記載のゲームプログラム。
【請求項１９】
前記入力装置は、押圧可能なボタンを少なくとも１つ備えており、
前記自動操作データには、前記ボタンの押圧操作の有無を示すためのボタンデータが含まれる、請求項１に記載のゲームプログラム。
【請求項２０】
前記入力装置は、加速度センサを備えており、
前記自動操作データには、前記加速度センサから出力された加速度データが含まれる、請求項１に記載のゲームプログラム。
【請求項２１】
前記入力装置は、角速度センサを備えており、
前記自動操作データには、前記角速度センサから出力された角速度データが含まれる、請求項１に記載のゲームプログラム。
【請求項２２】
前記入力装置は、少なくとも一つの撮像対象を撮像するための撮像手段を備えており、
前記自動操作データには、前記撮像手段を備えた入力装置から出力された撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる、請求項１に記載のゲームプログラム。
【請求項２３】
前記入力装置は、アナログ方式の入力が可能なアナログ操作手段を備えており、
前記自動操作データには、前記アナログ操作手段を備えた入力装置から出力されたアナログ操作データが含まれる、請求項１に記載のゲームプログラム。
【請求項２４】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置であって、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め作成された操作データである自動操作データを記憶する自動操作データ記憶手段と、
前記自動操作データ記憶手段から前記自動操作データを取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行するゲーム制御手段とを備える、ゲーム装置。
【請求項２５】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲームの制御方法であって、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行するゲーム制御手段とを備える、ゲームの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置、および、当該ゲーム装置のコンピュータに実行させるゲームプログラムに関し、より特定的には、所定の入力装置から出力される操作データに基づいて操作対象キャラクタを動作制御するゲーム装置、ゲームプログラムおよびゲーム制御方法に関する。
【背景技術】
【０００２】
従来から、ビデオゲーム装置で行われるビデオゲームには、多くの種類が存在する。例えば、ロールプレイングゲームと云われる種類のビデオゲームや、アクションゲームと云われる種類のビデオゲームがある。このうち、例えば、ロールプレイングゲームにおいて、ゲームの進行過程において、謎が解けない等でゲーム進行に行き詰まった場合の救済措置として、ヒントを表示するゲームプログラムが知られている（例えば、特許文献１）。このゲームプログラムでは、特別なアクションを実行可能な場所の近くで、特別アクションを実行可能なキャラクタがパーティ（プレイヤが操作しているプレイヤキャラクタのグループ）内にいない場合にヒントメッセージを表示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２００３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したようなゲームプログラムでは、従来から以下に示す問題点があった。上記のようなヒント表示は、ロールプレイングゲームにおいては有用ではある。しかし、例えば、アクションゲームのような場合は、一般に、プレイヤキャラクタの操作に関して、ジャンプ操作や敵を攻撃するタイミング等で、ＲＰＧ等に比べて、より複雑なアクション操作が要求される。そのため、例えゲーム攻略のヒントが文字情報のような形で表示されても、プレイヤの腕前次第では、必ずしもゲームを先に進めることができるとは限らなかった。
【０００５】
そこで、このような場合は、予め用意されたプレイヤキャラクタの操作用データを利用するという方法が考えられる。例えば、ゲーム開発者がプレイヤキャラクタを操作してゲームを進めたときの操作データを記録し、自動操作用データとして製品版のゲームディスク等に含めておく。そして、プレイヤがゲームに行き詰まった場所では、当該自動操作用データに基づいてプレイヤキャラクタの動作制御を実行させることで、ゲームを先に進めさせるという方法が考えられる。しかし、この方法を用いる場合、プレイヤがゲームに行き詰まって先に進めなくなる状況を防ぐ事は可能となる反面、ゲームの難度を下げすぎてしまい、簡単にゲームをクリアさせてしまうことで、かえってゲームの興趣性が下がってしまうという問題があった。つまり、ゲームに飽きてしまいやすくなるという問題があった。
【０００６】
それ故に、本発明の目的は、ゲームが下手な人でも、ゲームに行き詰まることがないようにゲームを楽しませつつ、ゲームの興趣性も低下させないようにするゲームプログラム、ゲーム装置、ゲーム制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００８】
第１の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段として機能させる。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によって操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行する。
【０００９】
第１の発明によれば、ゲームがあまり上手くない人でもゲームを最後まで楽しめるようにすることができると共に、プレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【００１０】
第２の発明は、第１の発明において、ゲームプログラムは、コンピュータを、操作対象キャラクタの動作制御を手動操作手段による動作制御と自動動作制御手段による動作制御との間で切り替える手動自動切換手段として更に機能させる。
【００１１】
第３の発明は、第２の発明において、ゲームプログラムは、コンピュータを、自動動作制御手段によって操作対象キャラクタが動作制御されているときに、当該動作制御中に入力された操作データに基づいて当該自動動作制御手段による動作制御を中断し、手動操作手段による動作制御に切り替える自動制御中断手段として更に機能させる。
【００１２】
第２乃至第３の発明によれば、操作対象キャラクタが自動動作制御されている途中で、プレイヤ自身の操作に切り替えることができ、ゲームの興趣性をより高くすることができる。
【００１３】
第４の発明は、第１の発明において、自動操作データは、操作対象キャラクタが第１の条件を満たす動作内容となる一連の操作データである。
【００１４】
第４の発明によれば、自動動作制御だけではプレイヤが楽しめないようなゲーム要素を残しておくことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【００１５】
第５の発明は、第１の発明において、ゲーム制御手段は、ゲームプログラムの実行によるゲームの進行中における所定の区間内において実行され、当該ゲームの進行中における所定の区間内の少なくとも一部分において自動動作制御手段によって操作対象キャラクタが動作制御されたときは、第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも第１の処理を実行する。
【００１６】
第５の発明によれば、複数の区間をクリアしていくタイプのゲームにおいて、自動動作制御だけを用いて各区間をクリアしただけではプレイヤが楽しめないようなゲーム要素を残しておくことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【００１７】
第６の発明は、第５の発明において、ゲームプログラムで実行されるゲームは、当該ゲームの進行状況を、当該ゲームの進み具合に応じた所定の構成単位で区切った複数のゲームステージで構成されている。そして、当該複数のゲームステージを順次クリアしていくことによって最終的なゲームクリアを目指すゲームである。そして、所定の区間とは、ゲームステージのことである。
【００１８】
第６の発明によれば、複数のゲームステージで構成されるゲームにおいて、ゲームがあまり上手くない人でもゲームを最後まで楽しめるようにすることができる。更に、自動動作制御を用いているだけでは楽しめないゲーム要素を残すことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【００１９】
第７の発明は、第６の発明において、第１の条件とは、ゲームステージにおける仮想ゲーム空間内に予め設定されている第１の地点に操作対象キャラクタが到達したことである。また、第２の条件とは、ゲームステージにおける仮想ゲーム空間内に予め設定されている第２の地点に操作対象キャラクタが到達したことである。
【００２０】
第７の発明によれば、例えば、各ゲームステージに複数のゴール地点を設け、どのゴール地点に到達したかに応じてその後の処理を変化させて、ゲームの興趣性を高めることができる。
【００２１】
第８の発明は、第６の発明において、第１の処理とは、次にプレイするゲームステージとして所定のステージを設定する処理であり、第２の処理は、次にプレイするゲームステージとして上記所定のステージとは異なるステージを設定する処理である。
【００２２】
第９の発明は、第８の発明において、第１の処理とは、次にプレイ可能なゲームステージとして所定のステージをプレイヤが選択可能とする処理である。第２の処理は、第１の処理で設定されるものとは異なる別のステージを次にプレイ可能なゲームステージとして選択可能とする処理である。
【００２３】
第８乃至第９の発明によれば、複数のゲームステージで構成されるゲームにおいて、自動動作制御を用いてゲームステージをクリアした場合と、自動動作制御を用いずにゲームステージをクリアした場合とで、次に遊べるゲームステージを異なるものとすることができる。これにより、自動動作制御を利用しているだけでは楽しめないゲームステージを設けることができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性を高めることができる。
【００２４】
第１０の発明は、第５の発明において、第１の処理とは、次にプレイする区間として所定の区間を設定する処理であり、第２の処理とは、次にプレイする区間として第１の処理とは異なる区間を設定する処理である。
【００２５】
第１０の発明によれば、複数の区間をクリアしていくタイプのゲームにおいて、ある区間をクリアした際に、次にプレイ可能な区間をクリア状態に応じて異なるものとすることができる。
【００２６】
第１１の発明は、第１の発明において、第１の条件及び第２の条件とは、操作対象キャラクタが仮想ゲーム空間内において達成することができる所定の条件である。
【００２７】
第１１の発明によれば、達成した条件に応じてその後の処理を変化させて、ゲームの興趣性を高めることができる。
【００２８】
第１２の発明は、第２の発明において、ゲームプログラムは、コンピュータを、自動制御指示手段として更に機能させる。自動制御指示手段は、操作データに基づいて、手動操作手段による制御から自動制御手段による制御への切替を指示する。そして、自動制御切替手段は、自動制御指示手段からの指示があったときにのみ、操作対象キャラクタの動作制御を切り替える。
【００２９】
第１２の発明によれば、操作対象キャラクタの動作制御をプレイヤの意思によって自動動作制御に切り替えることが可能となる。
【００３０】
第１３の発明は、第１２の発明において、自動制御指示手段は、手動操作手段によって操作対象キャラクタが動作制御されている状態において、ゲーム中における所定の条件が満たされたときにのみ利用可能とする。
【００３１】
第１３の発明によれば、ゲーム中の所定の条件が満たされたときにのみ、自動動作制御を可能とすることで、ゲームの興趣性を高めることができる。
【００３２】
第１４の発明は、第１３の発明において、自動制御指示手段は、ゲーム中における所定の条件が満たされたときに仮想ゲーム空間内に指示用オブジェクトを配置する。そして、操作対象キャラクタが指示用オブジェクトに対して所定の行動を起こしたときに、動作制御の切替を自動制御切替手段に指示する。
【００３３】
第１４の発明によれば、指示用オブジェクトに対してプレイヤが所定の操作を行うことで、自動動作制御に切り替えることができ、自動動作制御への切替をプレイヤにわかりやすく提示できる。
【００３４】
第１５の発明は、第１４の発明において、自動制御指示手段は、手動操作手段によって操作されている操作対象キャラクタが予め設定されている所定の失敗条件を所定の回数満たしたときに、指示用オブジェクトを配置する。
【００３５】
第１６の発明は、第１４の発明において、自動制御指示手段は、所定の区間におけるプレイ時間が予め設定されている閾値を上回ったときに、指示用オブジェクトを配置する。
【００３６】
第１５乃至第１６の発明によれば、プレイヤがゲームの進行に行き詰まったときに、自動動作制御への切替を可能とすることができ、ゲームが下手なプレイヤへの救済措置として自動動作制御を利用可能とすることができる。
【００３７】
第１７の発明は、第１の発明において、ゲームプログラムは、コンピュータを、確認手段と、復元手段として更に機能させる。確認手段は、自動制御手段によって操作対象オブジェクトが動作制御された状態でゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる。復元手段は、確認手段においてゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する。
【００３８】
第１７の発明によれば、自動動作制御によってゲームの進め方、例えば、ゲームステージのクリア方法をプレイヤに提示することができる。そして、その後、プレイヤに自身の手で当該ゲームステージをプレイさせることができる。これにより、ゲーム進行に行き詰まったプレイヤに対しても、ゲームを途中で投げ出させることなく楽しんでもらうことが可能となる。
【００３９】
第１８の発明は、第１の発明において、ゲームプログラムは、コンピュータを、ＢＧＭ再生手段と、ＢＧＭ連動動作制御手段として更に機能させる。ＢＧＭ再生手段は、操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたＢＧＭを再生する。ＢＧＭ連動動作制御手段は、ＢＧＭに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動操作データには、非操作対象キャラクタの動作の一部を制御するためのデータが含まれている。そして、手動操作手段によって操作対象キャラクタが動作制御されているときは、ＢＧＭ連動動作制御手段がＢＧＭに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動動作制御手段によって操作対象キャラクタが動作制御されているときは、当該自動動作制御手段が自動操作データに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。
【００４０】
第１８の発明によれば、ゲームの内容をより変化に富んだものとし、興趣性を高めることができる。
【００４１】
第１９の発明は、第１の発明において、入力装置は、押圧可能なボタンを少なくとも１つ備えている。そして、自動操作データには、ボタンの押圧操作の有無を示すためのボタンデータが含まれる。
【００４２】
第１９の発明によれば、ボタンを用いた操作対象キャラクタの動作を自動動作制御の対象にでき、複雑なボタン操作が苦手なプレイヤに対する救済措置として自動動作制御を実行することが可能となる。
【００４３】
第２０の発明は、第１の発明において、入力装置は、加速度センサを備えている。そして、自動操作データには、加速度センサから出力された加速度データが含まれる。
【００４４】
第２１の発明は、第１の発明において、入力装置は、角速度センサを備えている。そして、自動操作データには、角速度センサから出力された角速度データが含まれる。
【００４５】
第２０乃至第２１の発明によれば、加速度や角速度を用いた操作について、自動動作制御の対象とすることができ、加速度や角速度を用いた細かい操作が苦手なプレイヤに対する救済措置として自動動作制御を実行することが可能となる。
【００４６】
第２２の発明は、第１の発明において、入力装置は、少なくとも一つの撮像対象を撮像するための撮像手段を備えている。そして、自動操作データには、撮像手段を備えた入力装置から出力された撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる。
【００４７】
第２２の発明によれば、例えば、画面をポインティングする操作等についても自動動作制御の対象とすることができる。
【００４８】
第２３の発明は、第１の発明において、入力装置は、アナログ方式の入力が可能なアナログ操作手段を備えている。そして、自動操作データには、アナログ操作手段を備えた入力装置から出力されたアナログ操作データが含まれる。
【００４９】
第２３の発明によれば、例えばアナログスティックを用いたような微細な操作についても自動動作制御の対象とすることができる。
【００５０】
第２４の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置であって、手動操作手段と、自動操作データ記憶手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段とを備える。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ記憶手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め作成された操作データである自動操作データを記憶する。自動操作データ取得手段は、自動操作データ記憶手段から自動操作データを取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によってのみ操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行する。
【００５１】
第２５の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲームの制御方法であって、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段として機能させる。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によって操作対象キャラクタが動作制御された結果、第１の条件が満たされたときは第１の処理を実行し、第２の条件が満たされたときは当該第１の処理とは異なる第２の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第１の条件が満たされたときであっても第２の条件が満たされたときであっても、いずれの場合でも当該第１の処理を実行する。
【００５２】
第２４乃至第２５の発明によれば、上記第１の発明と同様の効果を得ることができる。
【００５３】
また、ゲームプログラムは、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、確認手段と、復元手段として機能させてもよい。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。確認手段は、自動制御手段によって操作対象オブジェクトが動作制御された状態でゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる。復元手段は、確認手段においてゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する。
【００５４】
また、ゲームプログラムは、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、ＢＧＭ再生手段と、ＢＧＭ連動動作制御手段として機能させてもよい。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ＢＧＭ再生手段は、操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたＢＧＭを再生する。ＢＧＭ連動動作制御手段は、ＢＧＭに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動操作データには、非操作対象キャラクタの動作の一部を制御するためのデータが含まれている。このような構成において、手動操作手段によって操作対象キャラクタが動作制御されているときは、ＢＧＭ連動動作制御手段が、ＢＧＭに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動動作制御手段によって操作対象キャラクタが動作制御されているときは、自動動作制御手段が、自動操作データに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。
【発明の効果】
【００５５】
本発明によれば、ゲームがあまり上手くない人でもゲームを最後まで（例えば、エンディングが見られるまで）楽しめるようにすることができると共に、自動操作データを用いるだけで簡単にゲームが最後までクリアできてしまうことによってプレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置本体５の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面前方から見た斜視図
【図５】図３のコントローラ７の上ハウジングを外した状態を示す斜視図
【図６】図３のコントローラ７の下ハウジングを外した状態を示す斜視図
【図７】図３のコントローラ７の構成を示すブロック図
【図８】拡張コントローラ３６をコントローラ７のコネクタ７３に接続した形態を示す図
【図９】コントローラの持ち方の一例を示す図
【図１０】第１の実施形態で想定するゲームのゲーム画面の一例
【図１１】第１の実施形態で想定するゲームのゲーム画面の一例
【図１２】第１の実施形態で想定するゲームのゲーム画面の一例
【図１３】第１の実施形態で想定するゲームのゲーム画面の一例
【図１４】第１の実施形態で想定するゲームのゲーム画面の一例
【図１５】第１の実施形態で想定するゲームのゲーム画面の一例
【図１６】第１の実施形態で想定するゲームのゲーム画面の一例
【図１７】第１の実施形態で想定するゲームのゲーム画面の一例
【図１８】第１の実施形態で想定するゲームのゲーム画面の一例
【図１９】第１の実施形態で想定するゲームのゲーム画面の一例
【図２０】第１の実施形態で想定するゲームのゲーム画面の一例
【図２１】第１の実施形態で想定するゲームのゲーム画面の一例
【図２２】外部メインメモリ１２のメモリ構成の一例
【図２３】コース用データ１２７の構成の一例
【図２４】ボタンデータ１３７の構成の一例
【図２５】クリア状態データ１３５のデータ構造の一例
【図２６】失敗回数記録データ１３９のデータ構造の一例
【図２７】本発明の第１の実施形態に係るゲーム処理を示すフローチャート
【図２８】図２４のステップＳ４で示したコース処理の詳細を示したフローチャート
【図２９】図２４のステップＳ４で示したコース処理の詳細を示したフローチャート
【図３０】図２４のステップＳ５で示したクリア処理の詳細を示したフローチャート
【図３１】加速度データを利用したギミックの一例
【図３２】加速度データを利用したギミックの一例
【図３３】第２の実施形態にかかる処理の概要を説明するための図
【図３４】第２の実施形態にかかる処理の概要を説明するための図
【図３５】第２の実施形態にかかる処理の概要を説明するための図
【図３６】第２の実施形態にかかる処理の概要を説明するための図
【図３７】第２の実施形態にかかる処理の概要を説明するための図
【図３８】第２の実施形態にかかる処理の概要を説明するための図
【図３９】第２の実施形態にかかる処理の概要を説明するための図
【図４０】第２の実施形態にかかる処理の概要を説明するための図
【図４１】第２の実施形態にかかる処理の概要を説明するための図
【図４２】第２の実施形態にかかる処理の概要を説明するための図
【図４３】第２の実施形態にかかる処理の概要を説明するための図
【図４４】第２の実施形態にかかる処理の概要を説明するための図
【図４５】第２の実施形態にかかるコース用データ１２７の構成の一例
【図４６】第２の実施形態にかかるコース処理の一部を示すフローチャート
【発明を実施するための形態】
【００５７】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲームシステムの構成について説明する。
【００５８】
（ゲームシステムの全体構成）
図１を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、コントローラ７、およびマーカ部８を含む。本システムは、コントローラ７を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００５９】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００６０】
ゲーム装置３には、表示装置の一例であるテレビ２が接続コードを介して接続される。テレビ２には、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ２の画面の周辺（図１では画面の上側）には、マーカ部８が設置される。マーカ部８は、その両端に２つのマーカ８Ｒおよび８Ｌを備えている。マーカ８Ｒ（マーカ８Ｌも同様）は、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。マーカ部８はゲーム装置３に接続されており、ゲーム装置３はマーカ部８が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００６１】
コントローラ７は、当該コントローラ７自身に対して行われた操作の内容を示す操作データをゲーム装置３に与える入力装置である。コントローラ７とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ７とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ７とゲーム装置３とは有線で接続されてもよい。
【００６２】
（ゲーム装置３の内部構成）
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の構成を示すブロック図である。ゲーム装置３は、ＣＰＵ１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００６３】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００６４】
また、システムＬＳＩ１１には、入出力プロセッサ１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００６５】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。より具体的には、ＧＰＵ１１ｂは、当該グラフィクスコマンドに従って３Ｄグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる３Ｄ座標から２Ｄ座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、ＣＰＵ１０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ１１ｂに与える。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。
【００６６】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。また、内部メインメモリ１１ｅは、外部メインメモリ１２と同様に、プログラムや各種データを記憶するものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。
【００６７】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、画像がテレビ２に表示されるとともに音がスピーカ２ａから出力される。
【００６８】
入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、およびメモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００６９】
入出力プロセッサ１１ａは、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００７０】
また、入出力プロセッサ１１ａは、コントローラ７から送信される操作データをアンテナ２３および無線コントローラモジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００７１】
さらに、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００７２】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンにされると、ゲーム装置３の各構成要素に対して、図示しないＡＣアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン２４を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置３への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン２４を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００７３】
次に、図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００７４】
図３および図４において、コントローラ７は、ハウジング７１と、当該ハウジング７１の表面に設けられた複数個の操作ボタンで構成される操作部７２とを備える。本実施例のハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【００７５】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００７６】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００７７】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００７８】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００７９】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７からゲーム装置３へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００８０】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００８１】
一方、ハウジング７１下面には、凹部が形成されている。後述で明らかとなるが、ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００８２】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００８３】
ここで、以下の説明を具体的にするために、コントローラ７に対して設定する座標系について定義する。図３および図４に示すように、互いに直交するｘｙｚ軸をコントローラ７に対して定義する。具体的には、コントローラ７の前後方向となるハウジング７１の長手方向をｚ軸とし、コントローラ７の前面（撮像情報演算部７４が設けられている面）方向をｚ軸正方向とする。また、コントローラ７の上下方向をｙ軸とし、ハウジング７１の上面（操作ボタン７２ａ等が設けられた面）方向をｙ軸正方向とする。さらに、コントローラ７の左右方向をｘ軸とし、ハウジング７１の左側面（図３では表されずに図４で表されている側面）方向をｘ軸正方向とする。
【００８４】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上ハウジング（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下ハウジング（ハウジング７１の一部）を外した状態を前面側から見た斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００８５】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。マイコン７５１は、操作ボタン７２ａ等の種類に応じた操作データを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触／切断をマイコン７５１が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン７５１が検出し、操作ボタンの種類に応じた信号を発生させている。
【００８６】
また、コントローラ７は、無線モジュール７５３（図７参照）およびアンテナ７５４によって、ワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置３等が判定することができる。
【００８７】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置３から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００８８】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置３から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００８９】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００９０】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００９１】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。ここで、テレビ２の表示画面近傍に配置されるマーカ８Ｌおよび８Ｒは、テレビ２の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ７４１を設けることによってマーカ８Ｌおよび８Ｒの画像をより正確に撮像することができる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ入射させる。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子７４３によって撮像された画像を撮像画像と呼ぶ。撮像素子７４３によって生成された画像データは、画像処理回路７４４で処理される。画像処理回路７４４は、撮像画像内における撮像対象（マーカ８Ｌおよび８Ｒ）の位置（座標）を算出する。以下、当該画像処理回路７４４によって算出される座標をマーカ座標と呼ぶ。マーカ座標は、撮像画像に対応する平面上の位置を表すための座標系において撮像対象の位置を示す座標である。画像処理回路７４４は、マーカ座標を通信部７５のマイコン７５１へ出力する。マーカ座標のデータは、マイコン７５１によって操作データとしてゲーム装置３に送信される。マーカ座標はコントローラ７自体の向き（姿勢）や位置に対応して変化するので、ゲーム装置３は当該座標値を用いてコントローラ７の向きや位置を算出することができる。また、２つのマーカ座標の中点を算出することで、プレイヤがコントローラ７を用いて指し示している指示位置、すなわち、ポインティング座標を算出することもできる。例えば、以下のようにして算出することが考えられる。すなわち、この中点の位置は、撮像画像に対応する平面上の位置を表すためのｘｙ座標系によって表現される。次に、ＣＰＵ１０は、当該中点の位置を示す座標を、テレビ２の画面上の位置を表すための座標系（ｘ'ｙ'座標系とする）の座標に変換する。この変換は、ある撮像画像から算出される中点の座標を、当該撮像画像が撮像される時のコントローラ７の実際の指示位置に対応する画面上の座標に変換する関数を用いて行うことができる。その際、コントローラ７の指示位置と、撮像画像内でのマーカ座標の位置とは逆方向に移動することになるので、上下左右が反転するような変換を行う。以上のようにして算出されたｘ'ｙ'座標値により示される値がコントローラ７のポインティング座標となる。
【００９２】
コントローラ７は、３軸（ｘ、ｙ、ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向（または他の対になった方向）のそれぞれに沿った直線加速度のみを検知する２軸の加速度検出手段を使用してもよい。例えば、この３軸または２軸の加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であってもよい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて３軸または２軸の加速度センサ７０１が提供されてもよい。
【００９３】
当業者には公知であるように、加速度センサ７０１に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、その２軸または３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００９４】
しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラのプロセッサ（例えばマイコン７５１）などのコンピュータが処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合）、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ７０１からの出力に基づいて、プロセッサがコントローラ７の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ７０１からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ７０１をプロセッサと組み合わせて用いることによって、コントローラ７の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ７０１を備えるコントローラ７がユーザの手で動的に加速されて動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７のさまざまな動きおよび／または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００９５】
他の実施形態の例では、コントローラ７の動きを検出する動きセンサとして、回転素子または振動素子などを内蔵したジャイロセンサを用いてもよい。この実施形態で使用されるＭＥＭＳジャイロセンサの一例として、アナログ・デバイセズ株式会社から入手可能なものがある。加速度センサ７０１と異なり、ジャイロセンサは、それが内蔵する少なくとも一つのジャイロ素子の軸を中心とした回転（または角速度）を直接検知することができる。このように、ジャイロセンサと加速度センサとは基本的に異なるので、個々の用途のためにいずれの装置が選択されるかによって、これらの装置からの出力信号に対して行う処理を適宜変更する必要がある。
【００９６】
具体的には、加速度センサの代わりにジャイロセンサを用いて傾きや姿勢を算出する場合には、大幅な変更を行う。すなわち、ジャイロセンサを用いる場合、検出開始の状態において傾きの値を初期化する。そして、当該ジャイロセンサから出力される角速度データを積分する。次に、初期化された傾きの値からの傾きの変化量を算出する。この場合、算出される傾きは、角度に対応する値が算出されることになる。一方、加速度センサによって傾きを算出する場合には、重力加速度のそれぞれの軸に関する成分の値を、所定の基準と比較することによって傾きを算出するので、算出される傾きはベクトルで表すことが可能であり、初期化を行わずとも、加速度検出手段を用いて検出される絶対的な方向を検出することが可能である。また、傾きとして算出される値の性質は、ジャイロセンサが用いられる場合には角度であるのに対して、加速度センサが用いられる場合にはベクトルであるという違いがある。したがって、加速度センサに代えてジャイロセンサが用いられる場合、当該傾きのデータに対して、２つのデバイスの違いを考慮した所定の変換を行う必要がある。加速度検出手段とジャイロセンサとの基本的な差異と同様にジャイロセンサの特性は当業者に公知であるので、本明細書ではさらなる詳細を省略する。ジャイロセンサは、回転を直接検知できることによる利点を有する一方、一般的には、加速度センサは、本実施形態で用いるようなコントローラに適用される場合、ジャイロセンサに比べて費用効率が良いという利点を有する。
【００９７】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置３からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置３から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置３から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００９８】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの加速度信号（ｘ、ｙ、およびｚ軸方向加速度データ；以下、単に加速度データと記載する）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、加速度データ、処理結果データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ；登録商標）で構成される通信部７５の送信間隔は例えば５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥース（登録商標）の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データが無線モジュール７５３で電波信号に変調されてコントローラ７から送信される。そして、ゲーム装置３の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置３で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、加速度データ、および処理結果データ）を取得する。そして、ゲーム装置３のＣＰＵ１０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００９９】
また、以下にかかる実施形態で説明するゲームでは、拡張コントローラを用いた操作も可能としてもよい。例えば、図８に示すように、拡張コントローラ３６をコントローラ７のコネクタ７３に接続した形態で後述するプレイヤキャラクタの操作を行うことも可能である。図８では、拡張コントローラ３６の後端から延びるケーブル３７の先端にはコネクタ３８が設けられ、当該コネクタ３８をコントローラ７のコネクタ７３と接続している。ここで、拡張コントローラ３６は、アナログ方式の入力が可能なアナログスティック３９、および、押圧式のボタン４０を備えている。そして、ゲームをプレイする際には、例えば図９に示すように、プレイヤは、その右手でコントローラ７を持ち、その左手で拡張コントローラ３６を持つ。このとき、プレイヤは、右手に持ったコントローラ７の前面（撮像情報演算部７４が撮像する光の入射口側）がマーカ８Ｌおよび８Ｒの方向を向く状態でコントローラ７を把持する。この状態で、プレイヤは、コントローラ７の傾きを変化させたり、コントローラ７が指し示す画面上の位置（指示位置）を変更したり、コントローラ７と各マーカ８Ｌおよび８Ｒとの距離を変更したりすることによってゲーム操作を行うこともできる。
【０１００】
なお、拡張コントローラ３６のコネクタ３８をコネクタ７３に接続した場合には、拡張コントローラ３６の操作データ（入力データ）はケーブル３７を介してコントローラ７に与えられる。コントローラ７は、コントローラ７自身の入力データと拡張コントローラ３６の入力データとを含む操作データをゲーム装置３に送信する。
【０１０１】
（第１の実施形態）
次に、本発明で想定する処理の概念について説明する。本発明における処理は、プレイヤキャラクタ（プレイヤオブジェクトとも呼ばれる）の動作制御に関して、次のような２種類の制御方式を備えるゲームを想定する。まず、第１の制御方式として、プレイヤが操作しているコントローラ７からの操作信号に基づいてプレイヤキャラクタを動作制御する方式を備える。つまり、一般的なプレイヤキャラクタの動作制御方式である。次に、第２の制御方式は、予め用意されている自動操作用のデータに基づき、プレイヤキャラクタを自動的に動かす（つまり、プレイヤはコントローラ７を操作していない状態）という制御方式である。この自動操作用のデータは、例えば、ゲームの開発者がプレイヤキャラクタを操作したときにコントローラ７から出力された操作データ（どのボタンを押しているか等のデータ）を記録することで作成される。
【０１０２】
上記のような２つの動作制御方式を備えるゲームにおいて、以下のようなゲーム設定がなされている状況を想定する。すなわち、ゲーム中に、ある目的（例えば、コースのクリア）を達成するための条件（例えばゴール地点）が設定されている。更に、この条件は複数用意されており（例えば、ゴール地点が複数用意されている）、当該目的を達成するための条件は、択一的に選択される。そして、第１の制御方式による動作制御を用いて、第１の条件で上記目的を達成したときは、第１の処理が実行される。また、第１の制御方式による動作制御を用いて、第２の条件で上記目的を達成したときは、第２の処理が実行される。しかし、第２の制御方式（自動操作データを用いた場合）を少しでも利用した場合は、上記目的を第１の条件で達成した場合も、第２の条件で達成した場合も、いずれの場合においても第１の処理が実行される、という制御が本発明では行われる。
【０１０３】
次に、第１の実施形態で想定するゲームの概要について、図１０〜図２１を用いて説明する。第１の実施形態で想定するゲームは、２Ｄスクロール型ジャンプアクションゲーム（但し、各種キャラクタは、３Ｄポリゴンモデルで描画される）である。本ゲームは、複数の”コース”で構成されており、これらのコースを順にクリアしていくことで、最終的にゲームのエンディングを迎えることが可能となっている。なお、当該コースは、ゲームによっては”ステージ（ゲームステージ）”、”ワールド”、”ラウンド“、”エリア”、”チャプター”、”レベル”、”エピソード”等とも呼ばれる。つまり、アクションゲーム等のような、区切りが明確なゲームにおける構成単位である。また、換言すれば、ゲーム全体にかかる進行状況を、ストーリーやシナリオの展開等の観点から（一般にはゲーム開発者の主観による）ひとまとまりとなるような所定の区間・期間で区切ったときの各区間・期間のことである。
【０１０４】
また、プレイヤが操作する対象となるプレイヤキャラクタには、予め所定の残数が設定されており、プレイヤが一度ミス（敵キャラクタに衝突する等）しても、すぐにゲームオーバーとはならない。残数が０になるまでは、得点等を引き継いで、プレイ中であったコースの所定地点から再度プレイすることが可能である（つまり、一般的なアクションゲームで採用されることが多い、残機制のゲームとなっている）。
【０１０５】
図１０は、コースを選択するための画面（以下、ワールドマップ画面）の一例であり、図１１は、選んだコースをプレイしているときのゲーム画面である（なお、図１１の画面は、コースのスタート地点の画面である）。図１０に示すワールドマップ画面には、プレイヤマーク１０１や、複数のコースマーク１０２ａ〜ｉ（以下、総称して単にコースマーク１０２と呼ぶこともある）が表示されている。本ゲームでは、ゲーム開始時は、図１０の画面における一番左上のコースマーク１０２ａのコースしか選ぶことができないが、各コースをクリアしていくことで、次のコースマークへと繋がる「ルート」が表示され、次のコースへ進む（選択する）ことができる。図１０に示す状態は、３つめのコース（コースマーク１０２ｃ）をクリアした直後の状態であり、新たに４つめのコースマーク１０２ｄにルート１０３が繋がって、当該４つめのコースに進むことが可能となっている状態を示している（なお、クリア済みのコースもプレイすることは可能である）。なお、当該コースマーク１０２は、丸い形状のランプを模したデザインとなっており、そのコースのクリア状態によって点灯状態が変化する。
【０１０６】
図１０のワールドマップ画面で、４つめのコースマーク１０２ｄにプレイヤマーク１０１を移動させ、当該コースの選択操作を行うと、画面が図１１に示すような画面に切り替わり、当該コースにかかるゲーム処理（以下、コース処理）が開始する。当該ゲームは、基本的には、右方向へと進んでいくゲームである。そして、各コースには、ゴール地点が設けられており、そこには、旗オブジェクトが設置されている。プレイヤは、プレイヤキャラクタ１０５をゴール地点を目指して進めて、プレイヤキャラクタ１０５がゴール地点の旗オブジェクトにたどり着けば、そのコースはクリアとなる。
【０１０７】
ここで、上記コース処理における操作について説明する。プレイヤは、コントローラ７を十字キー７２ａが左側にくるような横長の状態で把持して操作を行う。図１２に、コントローラ７の状態とゲーム画面の対応関係を示す。本実施形態では、十字キー７２ａを用いてプレイヤキャラクタ１０５を上下左右方向に移動させ、ボタン７２ｃでプレイヤキャラクタ１０５をジャンプさせることが可能である。また、ボタン７２ｂを押下したままプレイヤキャラクタ１０５を移動させることで、プレイヤキャラクタ１０５をダッシュ移動させることも可能となっている。また、コントローラ７を振る操作を行うことで、「スピンジャンプ」と呼ばれる、プレイヤキャラクタ１０５をスピンさせながらのジャンプも可能である。
【０１０８】
ここで、本ゲームでは、コースによっては、ゴール地点が２つ設けられている。本実施形態では、一方を「表ゴール」と呼び、他方を「裏ゴール」と呼ぶ。表ゴールは、普通にコースを進んでいくとたどり着くようなゴール地点であり、図１３に示すような旗オブジェクト１０６が配置されている。一方、裏ゴールは、一見しただけではプレイヤにわからないような位置に配置されているゴール地点、いわば、隠されたゴール地点である。裏ゴール地点には、図１４で示すような、表ゴールの旗オブジェクト１０６とは若干異なるデザインの旗オブジェクト１０７が配置されている。
【０１０９】
そして、このように２つのゴールが設定されているコースにおいては、プレイヤキャラクタ１０５が表ゴールに着くことで当該コースをクリアした場合は、図１５に示すように、第１のルート（以下では、表ルートとも呼ぶことがある）１０８がオープンされて、次のコース（図１５では、コースマーク１０２ｆのコース）に進むことができる。一方、裏ゴールに着いてコースをクリアした場合は、図１６に示すように、第２のルート（以下では裏ルートと呼ぶこともある）１０９がオープンされ、表ルートとは別のルートで別のコース（図１６では、コースマーク１０２ｉのコース）に進むことが可能となる。
【０１１０】
また、本ゲームでは、所定の条件が満たされることで、「お手本プレイ」と呼ばれる、自動操作データに基づくプレイヤキャラクタの自動的な動作の制御が可能となる。所定の条件とは、本ゲームでは、プレイヤが８回続けてミスをしたこと（プレイヤキャラクタ１０５の残数を失うこと）である。なお、一旦、プレイヤキャラクタ１０５の残数が０となってゲームオーバーとなり、その後、いわゆる「コンティニュー」を行って引き続きプレイを行ったような場合は、ゲームオーバーをまたいでカウントする。そして、プレイヤが８回ミスをして、９回目のプレイを開始したとき、コースのスタート地点に、図１７に示すように、「お手本ブロック」１１０が出現する。プレイヤが当該お手本ブロック１１０を使用（本ゲームでは、このお手本ブロック１１０をプレイヤキャラクタ１０５に下から叩かせる操作を行う）すると、図１８に示すような、「お手本プレイを使うか否か？」の旨の確認画面が表示される。この画面で、プレイヤが「お手本プレイ」を使うことを選択すれば、画面が一旦ブラックアウトし、図１９に示すように、プレイヤキャラクタ１０５が先生キャラクタ１１１に変更されたゲーム画面が表示される（つまり、プレイヤキャラクタ１０５の代わりとして、先生キャラクタ１１１が登場する）。また、このとき、ゲーム画面の左上に、「お手本モード」の表示がなされる。以下、この状態のことを「お手本モード」と呼ぶ。なお、当該先生キャラクタ１１１は、現在のプレイ状態が「お手本モード」であることをプレイヤにより明確に区別させやすくするために用いているだけであり、基本的には、先生キャラクタ１１１とプレイヤキャラクタ１０５は同義である。すなわち、必ずしも先生キャラクタ１１１を用いる必要はなく、プレイヤキャラクタ１０５をそのまま用いるようにしても良い。
【０１１１】
当該先生キャラクタ１１１は、予め用意されている自動操作用のデータに基づき、その動作が制御される。この自動操作用のデータ（以下、お手本操作データと呼ぶ）は、例えば、ゲームの開発段階（つまり、製品化の前の段階）において作成され、製品となるゲームパッケージ（光学ディスクやダウンロード用のパッケージ等）にゲームのデータの一部として含められている。例えば、コースを熟知している開発者が、コースクリアの「お手本」となるようなプレイヤキャラクタ１０５の操作を行う。このお手本となるような一連の操作（コースのスタート地点からゴール地点到達まで、つまり、コース単位）にかかる操作データを記録したものが、お手本操作データとなる。本実施形態では、当該お手本となる一連の操作にかかるキー操作のデータ（コントローラ７の各ボタンの押圧状況）を所定の時間間隔で記録したものをお手本操作データとする。また、本実施形態では、ゴールが２つあるコースに関しては、このお手本となるようなプレイは表ゴールに行くようなプレイであるとする。
【０１１２】
お手本モード中においては、図１９に示すように、上記先生キャラクタ１１１が、上記お手本操作データに基づいて自動的に動作する（つまり、開発者によるプレイヤキャラクタ１０５の操作が再現されている状態である）。なお、お手本モード中は、例えば点数等は加算されず、先生キャラクタ１１１がお手本プレイ中に取得したアイテム等もプレイヤキャラクタ１０５には反映されない。そして、最終的に、当該コースのゴール（ゴールが２つある場合は、表ゴール）まで先生キャラクタ１１１が来ると、お手本プレイが終了し、図２０に示すような、お手本終了時の確認メッセージが表示される。このメッセージでは、プレイヤに今のコースを自分でチャレンジするか否かを問い合わせている。このメッセージに対して、プレイヤが再チャレンジすることを選択すれば、当該コースのスタート地点に画面が切り替わり、プレイヤの操作にかかるコース処理が再度開始される。一方、図２０に示した画面でプレイヤが再チャレンジしないことを選択したときは、更に、図２１に示すような再度の確認メッセージが表示される。図２１に示すメッセージでは、次のコースに進むか否かを問い合わせている。このメッセージに対してプレイヤが次のコースに進むことを選択した場合は、当該コースはクリアした扱いとなり、次のコースに進むためのルートがオープンされる。つまり、プレイヤは、何度やってもクリアできないコースについては、上記お手本プレイで先生キャラクタ１１１にコースをクリアしてもらうことで、必ずしも自力でコースをクリアしていなくても、ゲームを先に進めることも可能である。いわば、ゲームに行き詰まった場合の救済措置的な意味合いがある。
【０１１３】
ここで、本実施形態では、上記お手本モード中において、先生キャラクタ１１１の自動動作制御を中断し、途中からプレイヤ自身が先生キャラクタ１１１を操作することも可能である。例えば、コースの途中にあるゲーム的な「難所」を越えるまでは先生キャラクタ１１１のお手本プレイに任せておき、当該「難所」を越えれば、その後はプレイヤ自身が先生キャラクタ１１１を操作してコースを進んでいくという遊び方も可能である。このような場合、ゴールが２つ設定されているコースで、途中からプレイヤ自身が先生キャラクタ１１１を操作したとすると、お手本プレイでは、表ゴールに着くところ、途中からプレイヤ自身が操作したことによって、裏ゴールにたどり着くことも可能である。しかし、本実施形態では、このような場合は、表ゴールについたものとみなしてゲーム処理を行う。つまり、ゴールが２つあるコースにおいて、少しでも「お手本プレイ」が利用されてクリアされたときは、常に「表ゴールに着いてクリア」したものとして扱う。その結果、例えプレイヤがお手本プレイを中断して途中から自分で操作し、裏ゴールについたとしても、上記図１６に示したような裏ルート１０９はオープンされずに、図１５に示したような表ルート１０８がオープンされる。そのため、この場合は、コースマーク１０２ｉにかかるコースには進むことができないことになる。つまり、コースマーク１０２ｉにかかるコースに進むためには、プレイヤは自力で裏ゴールに着く必要があることになる。このようにすることで、ゲームがあまり上手くないプレイヤに対しては、上記お手本プレイによる救済措置でゲームが行き詰まることを防ぐことができる。更に、お手本プレイに頼っているだけではコースマーク１０２ｉにかかるコースに行くことは出来ないため、ゲームを攻略する楽しみを残しておくこともできる。つまり、お手本プレイだけでゲームがクリアできてしまうことによって、プレイヤがゲームに早くに飽きてしまうことを軽減することができ、ゲームの興趣性を高めることができる。
【０１１４】
なお、本実施形態では、コースクリア後において、各コースのクリア状態（クリア済みか否か、自力プレイによるクリアかお手本プレイによるクリアか）を示すために、上記ワールド画面において、コースマークの表示状態に差を設けている。具体的には、未クリア状態のコースについては、コースマーク１０２は赤色で点滅している状態で表示される。お手本プレイを使わずに、プレイヤがコースの最初から最後まで自力でプレイしてのクリアは、表ゴール、裏ゴールいずれの場合も、コースマーク１０２は青色で点灯した状態が表示される。また、お手本クリアを使ってクリアした場合は、コースマーク１０２は、赤色で点灯している状態で表示される。
【０１１５】
次に、第１の実施形態のゲーム処理実行時に外部メインメモリ１２に格納されるデータについて説明する。図２２は、図２に示した外部メインメモリ１２（ただし、内部メインメモリ１１ｅでもよいし、両方を使用するようにしてもよい）のメモリ構成の一例を示す図である。図２２において、外部メインメモリ１２は、プログラム記憶領域１２１、データ記憶領域１２５、および作業領域１３３を含む。プログラム記憶領域１２１には、ＣＰＵ１０によって実行されるゲームプログラムが記憶される。プログラム記憶領域１２１およびデータ記憶領域１２５のデータは、光ディスク４に予め記憶されたものが、本実施形態にかかるゲーム処理に際して外部メインメモリ１２にコピーされたものである。
【０１１６】
メイン処理プログラム１２２は、後述する図２７のフローチャートの処理に対応するプログラムである。コース処理プログラム１２３は、各コース毎におけるゲーム処理をＣＰＵ１０に実行させるためのプログラムであり、クリア処理プログラム１２４は、コースクリア時の各種処理をＣＰＵ１０に実行させるためのプログラムである。
【０１１７】
データ記憶領域１２５には、お手本プレイ用データ１２６、コースデータ１２８、オブジェクトデータ１２９、画像データ１３０、音声・効果音データ１３１、ＢＧＭデータ１３２などのデータが記憶される。
【０１１８】
お手本プレイ用データ１２６は、上述したような「お手本プレイ」において先生キャラクタ１１１の動作を制御するためのデータである。当該データは、コース１−１用データ１２７ａ、コース１−２用データ１２７ｂ、コース１−３用データ１２７ｃ・・・、のように、各コース毎に用意されている（以下では、当該コース毎のデータを総称してコース用データ１２７と呼ぶこともある）。これらのデータは、例えばゲームの開発段階において、開発者がコントローラ７を実際に操作して各コースをプレイしたときにコントローラ７から送信される操作情報を記録することで生成される。
【０１１９】
図２３は、コース用データ１２７の構成の一例であり、当該データは、複数のお手本操作データ１３６の集合で構成されている。本実施形態では、コントローラ７が操作情報を出力する間隔は５ｍｓ毎である。そして、お手本操作データ１３６も、それぞれ５ｍｓ間隔で記録されたものとする。すなわち、上記複数のお手本操作データ１３６は、１件が５ｍｓ分のデータとなっている。また、これらお手本操作データ１３６は、時系列順にソートされて記録されているものとする。
【０１２０】
また、各お手本操作データ１３６は、ボタンデータ１３７および加速度データ１３８とで構成されている。ボタンデータ１３７は、コントローラ７に設けられている操作部７２（複数個の操作ボタン）の各ボタンの押下状態を示すためのデータである。図２４は、ボタンデータ１３７の構成の一例を示す図である。ボタンデータ１３７は、ボタン種類１３７１および押下状態１３７２を含む。ボタン種類１３７１は操作部７２の各ボタンを示す。押下状態１３７２は、各ボタンの押下状態（オン／オフの状態）を示し、"０"は押下されていない状態（オフの状態）、"１"は押下されている状態（オンの状態）を示す。図２４の例では、十字キー７２ａの"右"とＢボタン７２ｉのみが押下されている状態であることを示している。
【０１２１】
上記図２３の加速度データ１３８は、コントローラ７が振られたか否かを示すためのデータであり、換言すれば、上述した「スピンジャンプ」のための操作が行われたか否かを示すためのデータである。すなわち、開発者が、お手本操作データ作成のため、お手本とする操作を行っているときにコントローラ７に所定値以上の加速度が発生したときは、開発者が上述したような「スピンジャンプ」のためにコントローラ７を振る操作を行ったとして、当該データに”１”が設定されて記録される。また、振る操作が行われていないときは”０”が設定される。
【０１２２】
図２２に戻り、コースデータ１２８は、各コースを生成するためのデータであり、各コースに関する情報（コースの構成や各種オブジェクトの配置位置等）が含まれている。オブジェクトデータ１２９は、プレイヤキャラクタ１０５や敵キャラクタ１１２等の、ゲーム中に登場する各種キャラクタのポリゴンモデルデータである。画像データ１３０は、上記オブジェクトに貼り付けるテクスチャ画像や背景画像等の各種画像のデータである。音声・効果音データ１３１は、ゲーム中に再生される音声や効果音のデータである。ＢＧＭデータ１３２は、ゲーム中にＢＧＭとして再生される楽曲のデータである。
【０１２３】
作業領域１３３は、ゲーム処理において一時的に生成・記憶されるデータのための記憶領域であり、操作データ１３４、クリア状態データ１３５、失敗回数記録データ１３９の他、プレイヤキャラクタ１０５の残数等、ゲーム処理において一時的に必要となる各種データ等が記憶される。
【０１２４】
操作データ１３４は、コントローラ７からゲーム装置３へ送信されてくる操作データである。本実施形態では、コントローラ５からゲーム装置３へ１／２００秒に１回の割合で操作データが送信され、外部メインメモリ１２に記憶される操作データ１３４はこの割合で更新される。本実施形態においては、外部メインメモリ１２には、最新の（最後に取得された）操作データのみが記憶されればよい。
【０１２５】
なお、上記拡張コントローラ３６がコントローラ７に接続されている場合は、当該操作データ１３４には、当該拡張コントローラ３６の操作データも含まれる。例えば、アナログスティック３８の操作内容を示すデータやボタン４０の押圧状態を示すデータが含まれる。
【０１２６】
クリア状態データ１３５は、コースをクリアしたときの状態に関する情報である。図２５はクリア状態データ１３５のデータ構造の一例を示した図である。クリア状態データ１３５は、表ゴールフラグ１３５１、裏ゴールフラグ１３５２、お手本クリアフラグ１３５３から構成される。表ゴールフラグ１３５１、裏ゴールフラグ１３５２、お手本クリアフラグ１３５３は、選択コースがクリアされたときのクリアの仕方を示すためのデータである。初期値として全て０が設定され、表ゴールでクリアされたときは、表ゴールフラグ１３５１に”１”が設定される。裏ゴールでクリアされたときは、裏ゴールフラグ１３５２に”１”が設定される。また、お手本プレイでクリアされたときは、お手本クリアフラグ１３５３に”１”が設定される。
【０１２７】
失敗回数記録データ１３９は、各コースでミスした回数に関する情報である。図２６は、失敗回数記録データ１３９のデータ構造の一例を示した図である。失敗回数記録データ１３９は、コース番号１３９１、失敗回数データ１３９２、の集合から構成される。コース番号１３９１は、各コースを一意に識別するためのデータである。失敗回数データ１３９２は、該当するコースにおいて、プレイヤがミスした回数を示すデータである。
【０１２８】
次に、図２７〜図３０を参照して、ゲーム装置３によって実行されるゲーム処理について説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動プログラムを実行し、これによって外部メインメモリ１２等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムが外部メインメモリ１２に読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。
【０１２９】
図２７はゲーム装置３によって実行されるゲーム処理の全体処理を示すフローチャートである。なお、図２７〜図３０に示すフローチャートにおいては、ゲーム処理のうち、上述したようなコースの選択や各コースのクリア時に関する処理、お手本プレイに関する処理について説明し、本願発明とは直接関連しない他の処理については詳細な説明を省略する。また、当該フローチャートを用いた説明にかかるコースは、ゴール地点が２つ設けられているコースであるとする。
【０１３０】
図２７において、まず、ステップＳ１において、ゲーム処理の準備のための初期設定処理が実行される。より具体的は、作業領域１３３の各種データ、フラグが初期化される。その後、一旦、操作データ１３４が取得される。
【０１３１】
次に、ステップＳ２において、プレイヤからゲーム終了の指示がなされたか否かが操作データ１３４に基づいて判定される。当該判定の結果、ゲーム終了指示がなされていないと判定されたときは（ステップＳ２でＮＯ）、次のステップＳ３に処理が進められる。
【０１３２】
ステップＳ３においては、コース選択処理が実行される。このステップＳ３の処理をより具体的に説明すると、まず、ＣＰＵ１０は、図１０に示したようなワールドマップ画面を生成して、ゲーム画面として表示する。そして、プレイヤからの操作を受け付ける。プレイヤからのコースの選択操作を受け付ければ、ＣＰＵ１０は、当該選択されたコース（以下、選択コースと呼ぶ）にかかるコース処理の準備を行う。すなわち、選択コースに対応するコースデータ１２８を外部メインメモリ１２から読み込み、選択コースにかかる仮想ゲーム空間を生成する。そして、ＣＰＵ１０は、プレイヤオブジェクト等を当該仮想ゲーム空間内に適宜配置する。また、ＣＰＵ１０は、仮想カメラが当該選択コースのスタート地点を撮影するように設定する（つまり、最初はスタート地点が画面に表示されるような設定が行われる）。
【０１３３】
次に、ステップＳ４において、選択コースにかかるゲーム処理である、コース処理が実行される。図２８および図２９は、上記ステップＳ４で示したコース処理の詳細を示すフローチャートである。図２８において、まず、ステップＳ１１において、当該選択コースに対応する失敗回数データ１３９２（例えば、コース番号１３９１で特定可能である）が作業領域１３３から取得される（ゲーム開始直後は、失敗回数データ１３９２には初期値として０が設定されている）。
【０１３４】
次に、ステップＳ１２において、選択コースにおけるプレイヤの失敗（ここでいう失敗は、プレイヤキャラクタの残数を減らすようなミス）の回数が８回以上か否かが判定される。当該判定の結果、失敗回数が８回未満と判定されたときは（ステップＳ１２でＮＯ）、プレイヤの行った操作に基づくプレイヤキャラクタ１０５の動作処理が実行される。すなわち、次のステップＳ１３において、操作データ１３４が取得される。続くステップＳ１４において、当該操作データ１３４に基づいたプレイヤキャラクタ１０５の動作制御が実行される。更に、ステップＳ１５において、その他のゲーム制御処理（敵キャラクタの移動や当たり判定、点数加算等のゲーム処理）が実行され、その結果を反映したゲーム画面が生成、表示される。
【０１３５】
次に、ステップＳ１６において、選択コースがクリアされたか否かが判定される。すなわち、表ゴール地点あるいは裏ゴール地点にプレイヤキャラクタ１０５が到達したか否かが判定される。当該判定の結果、まだ選択コースがクリアされていないと判定されたときは（ステップＳ１６でＮＯ）、次に、ステップＳ１７で、プレイヤが上述したような（プレイヤキャラクタの残数を減らすような）ミスをしたか否かが判定される。その結果、ミスもしていないと判定されたときは（ステップＳ１７でＮＯ）、上記ステップＳ１３に戻って、プレイヤの操作に基づくプレイヤキャラクタの動作制御処理が繰り返される。
【０１３６】
一方、ステップＳ１７の判定の結果、プレイヤがミスしたと判定されたときは（ステップＳ１７でＹＥＳ）、ステップＳ１８において、選択コースに対応する失敗回数データ１３９２に１が加算される。また、プレイヤキャラクタの残数を減らす等、ミスに伴う他のゲーム処理も適宜実行される。続くステップＳ１９の処理で、ミスしたときの演出をゲーム画面として表示する処理が実行され、コース処理は終了する。
【０１３７】
一方、上記ステップＳ１６の判定の結果、コースをクリアしたと判定されたときは（ステップＳ１６でＹＥＳ）、次に、ステップＳ２０において、プレイヤキャラクタ１０５が表ゴールに着いたことによるクリアであるか否かが判定される。当該判定の結果、表ゴールに着いてのクリアであると判定されたときは（ステップＳ２０でＹＥＳ）、ステップＳ２１において、選択コースの表ゴールフラグ１３５１にオンが設定される。一方、表ゴールに着いてのクリアではないと判定されたときは（ステップＳ２０でＮＯ）、ステップＳ２２において、選択コースの裏ゴールフラグ１３５２にオンが設定される。そして、コース処理は終了する。
【０１３８】
次に、上記ステップＳ１２において、失敗回数が８回以上と判定されたときの処理について説明する。ステップＳ１２の判定で、失敗回数が８回以上と判定されたときは（ステップＳ１２でＹＥＳ）、ステップＳ２３において、上述したようなお手本ブロック１１０（上記図１７参照）が生成され、選択コースのスタート地点に配置される。
【０１３９】
次に、ステップＳ２４において、当該お手本ブロック１１０が配置されたゲーム画面が表示される。次に、ステップＳ２５において、操作データ１３４が取得され、ステップＳ２６において、当該操作データ１３４に基づいて、上記お手本ブロック１１０が使用されたか否かが判定される。その結果、お手本ブロック１１０が使用されていないと判定されたときは（ステップＳ２６でＮＯ）、上記ステップＳ１４に処理が進められ、プレイヤの行う操作に基づくプレイヤキャラクタ１０５の動作制御処理が実行される。
【０１４０】
一方、ステップＳ２６の判定の結果、お手本ブロック１１０が使用されたと判定されたときは（ステップＳ２６でＹＥＳ）、上述したような、お手本データに基づく先生キャラクタ１１１の動作制御にかかる処理が実行される。具体的には、まず、ステップＳ２７において、選択コースに対応するコース用データ１２７が外部メインメモリ１２から取得される。更に、上述したような先生キャラクタ１１１への変更や、画面レイアウトの変更（画面左上に「お手本プレイ」の表示を行う）等、上記「お手本プレイ」のための準備処理も適宜行われる。
【０１４１】
次に、ステップＳ２８において、当該取得されたコース用データ１２７から、１フレーム（ここでは１／６０秒）分のお手本操作データ１３６が取得される（お手本操作データ１３６は１件が１／２００秒分のデータでるため、大体３〜４件取得されることになる）。
【０１４２】
次に、ステップＳ２９において、当該お手本操作データ１３６に基づいた先生キャラクタの動作制御が実行される。続いて、ステップＳ３０において、その他のゲーム処理およびゲーム画面の表示処理が実行される。当該処理は、上記ステップＳ１５の処理と同様である。
【０１４３】
次に、ステップＳ３１において、お手本プレイの中断指示がなされたか否かを判定するために、操作データ１３４が取得される。続くステップＳ３２において、お手本プレイの中断を指示する操作が行われたか否かが当該操作データ１３４に基づいて判定される。当該判定の結果、お手本プレイの中断指示操作が行われていないと判定されたときは（ステップＳ３２でＮＯ）、ステップＳ３３において、先生キャラクタによるコースのクリアが行われたか、あるいは、何らかの原因で先生キャラクタに上述したようなミスが発生したか否かが判定される。なお、ここで先生キャラクタ１１１に発生するミスを判定に含めているのは、例えば、同じコースを同じお手本プレイで実行した際にも、ゲーム装置の負荷状況等で、先生キャラクタ１１１の動作に予期せぬずれが生じた場合を想定したものである。当該判定の結果、先生キャラクタ１１１によるコースのクリアあるいはミスが発生していないと判定されたときは（ステップＳ３３でＮＯ）、上記ステップＳ２８の処理に戻り、お手本プレイが継続される。一方、ステップＳ３３の判定の結果、先生キャラクタ１１１によるコースクリアが発生したか、あるいは先生キャラクタ１１１のミスが発生したと判定されたときは（ステップＳ３３でＹＥＳ）、後述するような、お手本プレイにおけるコースクリア時の処理が実行される（ここでは、先に、お手本プレイ中断時の処理について説明する）。
【０１４４】
一方、上記ステップＳ３２の判定の結果、お手本プレイの中断指示がなされたと判定されたときは（ステップＳ３２でＹＥＳ）、ステップＳ３４において、ゲーム進行が一時停止され、お手本プレイが中断される旨のメッセージ（図示せず）が表示される。また、先生キャラクタ１１１の動作制御の基となるデータ（入力ソース）を、お手本操作データ１３６から、操作データ１３４に切り替える処理も実行される。
【０１４５】
次に、ステップＳ３５において、操作データが取得される。そして、ステップＳ３６において、操作データ１３４に基づく先生キャラクタ１１１の動作制御が実行される。更に、ステップＳ３７において、上記ステップＳ１５の処理と同様の、その他のゲーム制御処理およびゲーム画面の表示処理が実行される。
【０１４６】
次に、ステップＳ３８において、選択コースがクリアされたか否かが判定される。当該判定の結果、選択コースがクリアされたと判定されたときは、お手本プレイを中断してのコースクリア（先生キャラクタ１１１によるコースクリア）であることになる。この場合は、処理が後述するステップＳ４０に進められて、お手本プレイにおけるコースクリア時の処理が実行されることになる。
【０１４７】
一方、ステップＳ３８の判定の結果、コースがクリアされていないと判定されたときは（ステップＳ３８でＮＯ）、次に、ステップＳ３９において、ミスが発生したか否かが判定される。その結果、ミスが発生していないと判定されたときは（ステップＳ３９でＮＯ）、上記ステップＳ３５に戻り、プレイヤの操作に基づいた先生キャラクタ１１１の動作制御が続けられる。一方、ミスが発生したと判定されたときは（ステップＳ３９でＹＥＳ）、ミスの演出表示のみが行われ（つまり、プレイヤキャラクタ１０５の残数は減らさない）、当該コース処理が終了する。
【０１４８】
次に、上記ステップＳ３３あるいはステップＳ３８の判定の結果、ＹＥＳと判定されたときの処理、すなわち、お手本プレイでゴールに着いたときの処理について説明する。まず、ステップＳ４０において、選択コースのクリア（お手本プレイか否かに関わらず）は、今回が初めてであるか否かが判定される。当該判定の結果、初めてのクリアではないと判定されたときは（ステップＳ４０でＮＯ）、当該コース処理は終了する。なお、上記ステップＳ３３の判定で先生キャラクタ１１１がミスをした場合も、この処理に分岐することになる。
【０１４９】
一方、選択コースの初めてのクリアであると判定されたときは（ステップＳ４０でＹＥＳ）、次に、ステップＳ４１において、上記図２０で示したような、プレイヤの自力でのプレイによる選択コースの再チャレンジを確認するためのメッセージが表示され、プレイヤからの入力が受け付けられる。
【０１５０】
次に、ステップＳ４２において、上記再チャレンジの確認メッセージに対して、再チャレンジを行うことが選択されたか否かが判定される。その結果、再チャレンジを行うことが選択されていたときは（ステップＳ４２でＹＥＳ）、当該コース処理は終了する（その結果、再度、当該コース処理が最初から繰り返されることになる）。一方、再チャレンジしないことが選択されていたときは（ステップＳ４２でＮＯ）、次に、ステップＳ４３で、上記図２１で示したような、再チャレンジするか、次のコースに進むかを問い合わせる再確認メッセージが表示され、プレイヤからの入力が受け付けられる。
【０１５１】
次に、ステップＳ４４において、上記再確認メッセージに対して、次のコースに進むことが選択されたか否かが判定される。その結果、次のコースに進むことが選択されていないときは（ステップＳ４４でＮＯ）、当該コース処理は終了する。一方、次のコースに進むことが選択されたときは（ステップＳ４４でＹＥＳ）、ステップＳ４５において、選択コースのお手本クリアフラグ１３５３にオンが設定されて、当該コース処理が終了する。
【０１５２】
図２７に戻り、ステップＳ４のコース処理が終了すれば、次に、ステップＳ５において、クリア処理が実行される。この処理では、クリアしたときの状況（表／裏ゴール、お手本プレイによるゴール）に応じた処理が実行される。図３０は、上記ステップＳ５で示したクリア処理の詳細を示すフローチャートである。図３０において、まず、ステップＳ６１において、選択コースにかかるお手本クリアフラグ１３５３がオンであるか否かが判定される。お手本クリアフラグ１３５３がオンと判定されたときは（ステップＳ６１でＹＥＳ）、お手本プレイでクリアしたときにかかる処理が実行される。例えば、コースクリア時の演出の表示が実行される。次に、ステップＳ６３において、上記図１５で示したような、表ルート１０８をオープンにする処理が実行される。次に、ステップＳ６４において、選択コースにかかるお手本クリアフラグ１３５３がオフに設定される。そして、当該クリア処理は終了する。
【０１５３】
一方、ステップＳ６１の判定の結果、お手本クリアフラグ１３５３がオンではないと判定されたときは（ステップＳ６１でＮＯ）、次に、ステップＳ６５において、選択コースの表ゴールフラグ１３５１がオンであるか否かが判定される。その結果、選択コースの表ゴールフラグ１３５１がオンと判定されたときは（ステップＳ６５でＹＥＳ）、ステップＳ６６において、表ゴールに着いてクリアしたときの処理が実行される。例えば、コースクリア時の演出の表示や、クリアボーナス等を点数に加算する処理等が実行される。
【０１５４】
次に、ステップＳ６７において、上記図１５で示したような、表ルート１０８をオープンにする処理が実行される。当該処理は、上記ステップＳ６３と同様の処理である。続くステップＳ６８において、選択コースにかかる表ゴールフラグ１３５１がオフに設定される。更に、ステップＳ６９において、選択コースにかかる失敗回数データ１３９２がリセットされる（０に設定される）。そして、当該クリア処理を終了する。
【０１５５】
一方、ステップＳ６５の判定の結果、表ゴールフラグ１３５１がオンではないと判定されたときは（ステップＳ６５でＮＯ）、次に、ステップＳ７０において、選択コースの裏ゴールフラグ１３５２がオンであるか否かが判定される。その結果、選択コースの裏ゴールフラグ１３５２がオンと判定されたときは（ステップＳ７０でＹＥＳ）、ステップＳ７１において、裏ゴールに着いてクリアしたときの処理が実行される。例えば、コースクリア時の演出の表示や、クリアボーナス等を点数に加算する処理等が実行される。
【０１５６】
次に、ステップＳ７２において、上記図１６で示したような、裏ルート１０９をオープンにする処理が実行される。続くステップＳ７３において、選択コースにかかる裏ゴールフラグ１３５２がオフに設定される。更に、上述したステップＳ６９において、選択コースにかかる失敗回数データ１３９２がリセットされる。そして、当該クリア処理を終了する。
【０１５７】
一方、ステップＳ７０の判定の結果、裏ゴールフラグ１３５２もオンではないと判定されたときは（ステップＳ７０でＮＯ）、クリアではなく、プレイヤがミスしてコース処理が終了した状況と考えられるため、この場合は、そのままクリア処理は終了する。
【０１５８】
図２７に戻り、ステップＳ５のクリア処理が終了すれば、ステップＳ２に戻り、処理が繰り返される。そして、ステップＳ２の判定において、ゲーム終了指示がなされたと判定されたときは（ステップＳ２でＹＥＳ）、本実施形態にかかるゲーム処理は終了する。
【０１５９】
このように、本実施形態では、基本的には、ゴール（コースクリア）したときの状況（表ゴールか裏ゴールか）によって、その後の処理（表ルートをオープンにするか、裏ルートをオープンにするか）を変えている。一方で、上述したような自動操作用のデータを用いてプレイした場合は、表ゴールでクリアしたときであっても、裏ゴール（自動操作を中断し、途中からプレイヤ自身が操作した場合）でクリアしたときであっても、表ルートをオープンにするという処理が実行される。また、自動操作データを用いてコースをクリアしたときであって、プレイヤ自身の手ではコースがクリアされていないときであっても、次のコースに進めることを可能としている。つまり、自動操作データを用いることで、ゲームを最後までクリアをすることについての難度を下げ、ゲームがあまり上手くない人でもゲームを最後まで（例えば、エンディングが見られるまで）楽しめるようにすることができる。更に、ゲームを最後までクリアすることについての難度は下げつつも、上述したように、自動操作データを用いた場合は「裏ルート」はオープンにしないようにすることで、適度にゲームの面白さを保持することができる。換言すれば、このような、自動操作データを用いているだけでは楽しむことが出来ない要素（裏ルート）を残すことで、自動操作データを用いるだけで簡単にゲームが最後までクリアできてしまうことによってプレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【０１６０】
なお、上記実施形態では、お手本プレイ時は、プレイヤキャラクタ１０５を先生キャラクタ１１１に変更していたが、上述したように、お手本プレイに際して、必ずしも先生キャラクタ１１１に変更する必要はない。お手本プレイ時においても、プレイヤキャラクタ１０５をそのまま用いて、当該プレイヤキャラクタ１０５を上記お手本操作データ１３６に基づいて動作制御するようにすればよい。また、この場合は、上記のように、お手本プレイ中は得点を加算しないようにしたり、ミスしてもプレイヤキャラクタの残数を減らさないようにしたりしてもよいし、お手本プレイではないときと同様に、得点の加算等を行っても良い。
【０１６１】
また、上述した実施形態では、表ゴールと裏ゴールの２つのゴール地点を設け、どちらのゴールに着いてコースをクリアしたかによって、その後の処理を変えていた。このような、実行する処理の内容を決める条件としては、２つのゴール地点を設けることの他、例えば、ゴール地点は１つだけとして、所定のアイテムを取ってゴールしたか否かでその後の処理を変化させるようにしてもよい。つまり、所定のアイテムを取ってゴールすれば、裏ルート、取らずにクリアすれば、表ルートとし、お手本プレイの内容としては、当該所定のアイテムを取らないようなプレイ内容（表ルートに行くようなプレイ内容）とすればよい。また、各コースに、クリアするまでの制限時間を設けておき、ゴールしたときの残り時間が所定の時間より長いか否かで、その後に実行する処理を変化させるようにしても良い。また、コース内に設けられている所定の地点を通過してゴールしたか否かで（この場合、コースには、ゴールに至るまでのルートが複数あることが好ましい）、その後の処理を変化させてもよい。更には、ゴールしたときの得点が所定値以上であるか否かで、その後の処理を変化させても良い。
【０１６２】
また、上述したような、ゴールしたときの状況により変化させる処理の例としても、上述のような表ルート１０８のオープン／裏ルート１０９のオープンという処理の他、例えば、コースクリアの報酬として所定のアイテムを入手する／しない、というような処理にしてもよい。
【０１６３】
また、上記実施形態では、あるコースのクリア後、プレイヤに次にプレイするコースを選ばせる場合を例としていたが、これに限らず、プレイヤにコースの選択操作を行わせないようなゲームに適用してもよい。つまり、上述したようなワールドマップ画面がないゲームであり、例えば、第１のコースを表ゴールでクリアすれば、自動的に第２のコースのプレイが開始されるが、第１のコースを裏ゴールでクリアすれば、自動的に第３のコースのプレイが開始されるような構成としてもよい。
【０１６４】
また、上記お手本ブロックの出現条件についても、上述したような、８回連続でミスした場合に限らない。ミスした回数は、ゲーム内容に応じて適宜設定すればよい。また、ミスの回数を条件とする他、例えば、コースにクリアまでの制限時間を設けているような場合であれば、残り時間が所定値以下となったときにお手本ブロックを出現させるようにしてもよい。
【０１６５】
また、プレイヤキャラクタ１０５にＨＰ（ＨｉｔＰｏｉｎｔ）や耐久力が設定されているような場合（例えば、ＲＰＧ等、プレイヤキャラクタ１０５について、いわゆる残機・残数という形式を用いないゲーム等）、ダメージを受けた回数や、ＨＰ、耐久力の残りの値を条件とするようにしてもよい。つまり、一度敵キャラクタに接触しただけではすぐにはミスとはならないが、敵キャラクタとの接触の度に所定量のダメージが累積加算されていき、このダメージ量がＨＰや耐久力を越えたらミス（あるいは、ゲームオーバー）となる場合に、ダメージを受けた回数が所定値以上となれば、お手本ブロックを出現させるようにしてもよい。
【０１６６】
また、プレイヤがゲームの進行に行き詰まっているような状態を判定して、お手本ブロックを出現させるようにしてもよい。例えば、プレイヤが、コース内のある地点（例えば、閉まっている扉がある地点）で、先に進む方法（扉の開け方）がわからずに、コントローラ７から手を離して考え込んでいるような場合、プレイヤキャラクタ１０５は、同じ場所に居るまま動かない状態となることが考えられる。あるいは、このような地点で、プレイヤが仕掛けを解こうとしてプレイヤキャラクタ１０５をいろいろと操作するものの、やはり先には進めないような場合は、結果的に、比較的狭い範囲でプレイヤキャラクタ１０５がうろうろしているような状況、同じような動きを繰り返すような状況（換言すれば、動きが少ない状態）となることが考えられる。そこで、例えば、プレイヤキャラクタ１０５が一定時間以上動かないことを検知するようにし、このような場合は、先への進み方がわからずにプレイヤが考え込んでいると推定して、例えば、そのときにプレイヤキャラクタ１０５のいる地点の近傍にお手本ブロックを出現させる処理を行うようにしてもよい。また、プレイヤキャラクタ１０５の動きが少ないこと、あるいは、同じような動きを繰り返していることを検出して、このような場合はプレイヤが行き詰まっていると推定して、お手本ブロックを出現させる処理を行うようにしてもよい。例えば、操作データ１３４の履歴を保持する様にし、時間にして過去数分にわたる操作の履歴から、類似するような操作が繰り返されており、かつ、コース内におけるプレイヤキャラクタ１０５の移動距離も所定値以下であるか否かを判定する。そして、当該条件が満たされているときは、プレイヤキャラクタ１０５の近傍にお手本ブロックを出現させることが考えられる。または、プレイヤキャラクタ１０５の移動軌跡を記録するようにして、同じ場所でほとんど同じような移動軌跡を描くような動作が繰り返されておりか否かを判定するようにしてもよい。また、このような場合、お手本ブロックを使用した事によるお手本プレイの開始地点は、上述した実施形態と同様、そのコースの最初からでもよいし、当該お手本ブロックが出現した地点からお手本プレイを見せるようにしてもよい。
【０１６７】
また、失敗回数データ１３９２の構成について、上記実施形態では、各コースに対応付ける形で失敗回数データ１３９２を用意し、コース毎に失敗回数を記録できるような構成としていたが（上記図２６参照）、このような構成に限らず、コースと失敗回数との対応づけをしないような構成でもよい。つまり、失敗回数データ１３９２を一つだけ用意しておき、プレイ中のコースがどこであるかに関わらず、単純に、連続した失敗の回数だけカウントするようにしてもよい。この場合、プレイしているコースが変更される度に（例えば、コース１−２で４回連続ミスした後、プレイするコースをコース１−１のような、別のコースに変更したとき等）、当該失敗回数データをリセットするようにすればよい。
【０１６８】
また、上記実施形態では、プレイヤキャラクタ１０５が単体のとき、すなわち、１人プレイ時の場合を例としていた、これに限らず、２人同時プレイのような、複数人同時プレイの場合にも本発明は適用可能である。この場合は、例えば、上記ゲームの開発段階において、お手本操作データ１３６を作成する時に、１Ｐプレイヤキャラクタと２Ｐプレイヤキャラクタのそれぞれのお手本操作データを生成すればよい。そして、上述のような「お手本プレイ」の際には、上記先生キャラクタを２人登場させ、一方を１Ｐプレイヤキャラクタ用のお手本操作データ、他方を２Ｐプレイヤキャラクタ用のお手本操作データに基づいて動作制御すればよい。
【０１６９】
また、上述の実施形態においては、加速度データを利用した操作の例として、コントローラ７を振る操作で可能となる「スピンジャンプ」を例に挙げた。そして、お手本操作データ１３６に記録される内容としては、加速度データ１３８として、スピンジャンプが行われたか否か（コントローラ７が振られたか否か）を示すデータを記録するようにしていた。このような形態に限らず、加速度センサ７０１がＸ、Ｙ、およびＺ軸の３軸成分に分けてそれぞれ検出したデータをそのまま記録するようにしてもよい。例えば、上記のような加速度データからコントローラ７自体の傾きを算出し、ゲーム中の操作に反映するようなギミック（仕掛け）として、図３１に示すような、シーソー状のリフト３０１が設定されていると想定する。このリフト３０１は、図３１（リフト３０１を左に傾ける例）および図３２（同じく、右に傾ける例）で示すように、コントローラ７の傾きに応じてリフト３０１自体を傾けることが可能となっている。このようなリフト３０１を利用するコースの場合は、お手本操作データ１３６を作成するときは、まず、当該リフト３０１にプレイヤキャラクタ１０５が乗っているか否かを判別できるようにゲームプログラムを構成しておく。例えば、当該リフト３０１にプレイヤキャラクタ１０５が乗っている間は、そのことを示すフラグをオンにする等が考えられる。そして、お手本操作データ１３６の作成時においては、当該フラグがオンとなっている間だけ、コントローラ７から出力される加速度データを記録するようにすればよい。このように、加速度データが必要となる場面においてのみ、当該加速度データを記録するようにすれば、お手本操作データ１３６のデータサイズを必要最小限のサイズに抑えることが可能となる。そして、上述したような「お手本プレイ」時においては、上記リフト３０１にプレイヤキャラクタ１０５が乗っていることを示すフラグがオンのときだけ、お手本操作データ１３６に含まれている加速度データを参照し、これに基づくリフト３０１の動作制御を行うようにすればよい。
【０１７０】
また、加速度データだけでなく、例えば、ジャイロセンサをコントローラ７に備えるようにし、角速度データを利用したゲーム操作、およびその操作を記録するようにしてもよい。例えば、上述したようなリフト３０１の傾き制御について、加速度データの代わりに角速度データを用いるようにしても良い。
【０１７１】
また、お手本操作データ１３６には、上記撮像情報演算部７４から出力された上記マーカ座標を含めるようにしても良い。プレイヤが、コントローラ７の前面（撮像情報演算部７４が撮像する光の入射口側）がマーカ８ａおよび８ｂの方向を向く状態でコントローラ７を把持して操作したような場合に、例えば、プレイヤがコントローラ７で指し示している指示位置（ポインティング座標）を利用した処理についても、「お手本プレイ」として再現することが可能となる。
【０１７２】
また、上記実施形態では、２Ｄスクロールアクションゲームを例として説明したが、ゲームの種類はこれに限らず、例えば、カーレースゲームやロールプレイングゲーム等にも適用可能である。
【０１７３】
（第２の実施形態）
次に、図３３から図４６を参照して、本発明の第２の実施形態について説明する。上述の第１の実施形態では、お手本操作データ１３６として、プレイヤキャラクタ１０５の動作に関するデータを使用していた。これに対して、第２の実施形態では、お手本操作データ１３６に、プレイヤキャラクタ１０５の動作に関する要素以外の要素のデータ（以下、拡張データと呼ぶ）を含める。当該拡張データは、自動制御されるプレイヤキャラクタ１０５の行動に直接関連する、あるいは、直接影響を与えるような要素のデータである（本実施形態では、以下に説明するような、ＢＧＭ連動動作に関するデータである）。なお、当該実施形態に係るゲーム装置３は、上述した第１の実施形態と同様であるため、同一の参照符号を付して詳細な説明を省略する。
【０１７４】
次に、第２の実施形態で想定するゲームの概要について説明する。基本的には、第１の実施形態で説明したゲームと同様であるが、第２の実施形態におけるゲームでは、ＢＧＭに併せて、敵キャラクタ１１２が特定の動きを行う。例えば、ＢＧＭの中のあるタイミング（楽曲の構成上、アクセントとなるような音が鳴るタイミング）で、移動中の敵キャラクタ１１２が一瞬立ち止まって、その場で軽くジャンプする、というように、敵キャラクタ１１２が、ＢＧＭに併せた所定の動きを行う（敵キャラクタが、ＢＧＭに併せてさりげなくダンスしているように見える）。以下、この動作のことを、ＢＧＭ連動動作と呼ぶ。
【０１７５】
このようなゲームにおいて、お手本操作データ１３６の作成の際に、以下のような敵キャラクタ１１２の動作、および、プレイヤキャラクタ１０５の操作が行われたとする。まず、図３３に示すように、画面の右方向から左方向に向けて、敵キャラクタ１１２が移動している状況であるとする（図３３等において敵キャラクタ１１２の側に表示されている矢印は、当該敵キャラクタ１１２の移動方向を示すために便宜上付しているものである）。また、このとき、プレイヤキャラクタ１０５は、画面の左のほうに位置し、プレイヤ（この場合、お手本操作を行う開発者）は、当該敵キャラクタを「踏みつけ攻撃」するタイミングを測っているとする。また、図３３では、このときに流れているＢＧＭを示すために、画面例の下に模式的に楽譜を示している。そして、当該楽譜において三角印で示す位置（音符２０１の位置）が、現在再生されている位置であるとする。以下、この図で示したタイミングを、「第１フレーム状態」と呼ぶ。
【０１７６】
次に、この後、図３４に示すような状況にゲーム進行が進んだとする。つまり、敵キャラクタ１１２が更に左に移動した結果、ｘ軸上に置いて画面のほぼ中央の位置に敵キャラクタ１１２が来ているとする。また、ＢＧＭは、更に再生が進んで、音符２０５の位置が再生されているとする。ここで、この音符２０５が再生されるタイミングが、上述したような、敵キャラクタ１１２にＢＧＭ連動動作を行わせるタイミングであるとする。以下、このタイミングのことをトリガタイミングと呼ぶ。その結果、図３５に示すように、このタイミングで、敵キャラクタ１１２は、左方向への移動を一旦止め、その場で軽くジャンプする。以下、この図３４、図３５におけるタイミングを「第２フレーム状態」と呼ぶ。その後、図３６に示すように、敵キャラクタ１１２は着地する。また、ＢＧＭも、若干再生が進んだ状態となっている。以下、この図におけるタイミングを「第３フレーム状態」と呼ぶ。
【０１７７】
その後、図３７に示すように、敵キャラクタ１１２は、左方向への移動を再開する。以下、この図のタイミングを「第４フレーム状態」と呼ぶ。そして、このタイミングにおいて、開発者は、プレイヤキャラクタ１０５に敵キャラクタ１１２を「踏みつけ攻撃」させるために、プレイヤキャラクタ１０５を右上方向にジャンプさせる操作を行う。
【０１７８】
その後、図３８に示すように、更に左方向へ移動した敵キャラクタ１１２をプレイヤキャラクタ１０５が踏みつけることで、敵キャラクタ１１２への「踏みつけ攻撃」が成功している。以下、この図におけるタイミングを「第５フレーム状態」と呼ぶ。
【０１７９】
上記のように、お手本操作データ１３６の作成時においては、上記「第４フレーム状態」のタイミングで、プレイヤキャラクタ１０５が「踏みつけ攻撃」動作を開始している。
【０１８０】
ここで、本実施形態では、ＢＧＭの再生は、ストリーミング再生を行っているものとする。所定のコースの開始時に、光ディスク４からＢＧＭデータを読み込んで、ＢＧＭの再生を開始している。この場合、光ディスク４の表面の汚れ等が原因で、コース開始時のＢＧＭデータの読み込みに時間がかかることがある。その結果、ＢＧＭ再生の開始タイミングが、お手本データ作成時のプレイ環境に比べて遅延してしまうことがあり得る。このような、ＢＧＭ再生開始タイミングの遅延が発生すると、お手本操作データ１３６作成時の時に比べて、敵キャラクタ１１２が行うＢＧＭ連動動作のタイミングが若干異なることが考えられる。図３９〜図４４は、上記図３３〜図３８で説明したお手本操作データ１３６作成時のときよりも、ＢＧＭの再生開始タイミングが若干遅れた場合に上記のお手本操作データ１３６で先生キャラクタ１１１が動作制御された場合を想定した図である。この場合、まず、上記「第１フレーム状態」にタイミング的に相当する図３９では、ＢＧＭの再生位置が、上記図３３で示した再生位置まで達していない状態である。
【０１８１】
そして、タイミング的に上記「第２フレーム状態」に相当する図４０で示されるようなタイミングのときに、ようやくＢＧＭの再生位置が上記図３３で示した音符２０１の位置に来ている。
【０１８２】
図４１は、上記「第３フレーム状態」のタイミングに相当する状態を示しており、図４２は、上記「第４フレーム状態」のタイミングに相当する状態を示している。上記のように、お手本操作データ１３６作成時においては、「第３フレーム状態」「第４フレーム状態」のタイミングで敵キャラクタ１１２が音符２０５の再生（トリガタイミング）に併せてジャンプしていた。しかし、図４１および図４２では、まだＢＧＭの再生位置が音符２０５の位置に達していないため、敵キャラクタ１１２はジャンプせずに、そのまま左方向へ移動している。その結果、図４３で示すように、先生キャラクタ１１１が「踏みつけ攻撃」の動作を開始したタイミングにおける敵キャラクタ１１２の位置が、お手本操作データ作成時の位置とは異なってしまう。そして、図４４に示すように、「踏みつけ攻撃」が敵キャラクタ１１２に命中せずに、「お手本プレイ」であるにも関わらず、当該攻撃が失敗に終わってしまうことになる。
【０１８３】
そこで、第２の実施形態では、上記お手本操作データ１３６に、上述したようなトリガタイミングであることを示すデータを拡張データとして含めておく。そして、「お手本プレイ」の際には、ボタンデータ１３７でプレイヤキャラクタ（先生キャラクタ）を動作制御すると共に、拡張データに基づいた敵キャラクタの（部分的な）動作制御も行う（基本的には、敵キャラクタ１１２は別途独自の思考ルーチン等で動作制御されているが、ＢＧＭ連動動作のみ、強制割り込みで動作制御される、という意味での「部分的に」である）。つまり、お手本プレイ中においては、厳密には、ＢＧＭに併せて敵キャラクタ１１２に上記ＢＧＭ連動動作（その場でジャンプ）を行わせるのではなく、お手本操作データ１３６に含まれる拡張データに基づいて上記ＢＧＭ連動動作の制御が行われることになる（その結果、お手本プレイ中においては、ＢＧＭと敵キャラクタ１１２の動作とが、必ずしも同期したものとはならないことになる）。このように構成することで、上述したような「お手本プレイ」における動作の不都合を回避することが可能となる。
【０１８４】
次に、第２の実施形態におけるデータについて説明する。基本的には、第１の実施形態で説明したデータを同じ構成のデータが第２の実施形態でも用いられるが、上述したように、お手本操作データ１３６に拡張データが含まれる点と、ＢＧＭデータ１３２に関しては、第１の実施形態と相違する。ここでは、当該相違しているデータについてのみ説明する。
【０１８５】
まず、第２の実施形態におけるＢＧＭデータ１３２には、上述した「トリガタイミング」を示すデータ（以下、トリガ用データ）が含まれる。これは、例えば、ＢＧＭデータの一部に、再生される音とは関係のない値をトリガ用データとして埋め込むことで実現される。あるいは、次のような構成でもよい。まず、ＢＧＭのテンポを示す情報（図示せず）を基に、ＢＧＭの拍を計算する。次に、拍が起こる位置を当該ＢＧＭのストリームのサンプル数から算出する。そして、当該拍が起こる位置を示すデータを「トリガ用データ」とする。つまり、拍のタイミングで、敵キャラクタにＢＧＭ連動動作を行わせることになる。
【０１８６】
次に、第２の実施形態におけるお手本操作データ１３６について説明する。図４５は、第２の実施形態にいけるお手本操作データ１３６の構成の一例を示す図である。図４５に示すお手本操作データ１３６は、第１の実施形態において図２３を用いて説明したお手本操作データ１３６の構成に拡張データ２３１が加わった構成となっている。当該拡張データ２３１は、上記トリガアクセントが発生したか否かを示すデータである。本実施形態では、拡張データ２３１の値が”０”のときはトリガアクセントは発生しておらず、”１”のときはトリガアクセントが発生したことを示す。また、本データの作成に関しては、お手本操作データ作成時（開発者がお手本となる操作を行っているとき）において、上記ＢＧＭデータが毎フレーム読み込まれ、上記トリガ用データが検出されたタイミングで、当該拡張データ２３１に”１”が設定されて記録される。
【０１８７】
次に、第２の実施形態におけるゲーム処理に関して説明する。第２の実施形態におけるゲーム処理は、基本的に第１の実施形態で説明した処理と同様の処理が実行されるが、「お手本プレイ」にかかる処理に関して、一部異なる処理が実行され、第１の実施形態とは異なる機能が実現される。ここでは、この異なる処理の部分についてのみ説明する。
【０１８８】
具体的には、第１の実施形態で図２８および図２９を用いて説明したコース処理に関し、図２９で示したフローチャートが、図４６に示すようなフローチャートの処理となる。すなわち、図４６において、ステップＳ２９の処理の次に、ステップＳ８１において、上記拡張データ２３１に基づき、敵キャラクタ１１２のＢＧＭ連動動作の制御が実行される。つまり、拡張データ２３１の値が”１”のときは、敵キャラクタ１１２を軽くその場でジャンプさせるという動作制御が実行される。その後、第１の実施形態で説明したステップＳ３０以降の処理が実行される。以上で、第２の実施形態におけるゲーム処理の説明は終了する。
【０１８９】
このように、第２の実施形態では、ＢＧＭと連動して敵キャラクタに所定の動作を行わせる場合に、お手本プレイの内容に影響を及ぼすような要素（ここではトリガアクセント）については、お手本操作用データの中に含めるようにし、お手本プレイによる先生キャラクタ１１１の動作制御時に支障がでないようにしている。換言すれば、上記のようなＢＧＭに連動して敵キャラクタが動作する等の、通常のゲームプレイ時はプレイヤの操作入力以外の要素で所定の動作のタイミングを制御するような要素であって、且つ、プレイヤキャラクタの動作に直接的に影響を及ぼすような要素については、上記お手本操作データのような、プレイヤキャラクタを自動的に動作制御させるためのデータに含めるようにしている。
【０１９０】
なお、上記では説明の簡略化のため、敵キャラクタ１１２を１種類だけで説明したが、複数種類の敵キャラクタを登場させるときは、各種類の敵キャラクタ毎に、異なる内容のＢＧＭ連動動作を行わせるようにしても良い。また、上記トリガタイミングにおいて、ＢＧＭ連動動作を行う敵キャラクタとＢＧＭ連動動作を行わない敵キャラクタを混在させるようにしてもよい。また、敵キャラクタの種類に応じて上記トリガデータを複数種類設けておくようにしてもよい。例えば、第１のトリガデータに対しては第１の種類の敵キャラクタのみがＢＧＭ連動動作を行い、第２のトリガデータに対しては、第２の種類の敵キャラクタのみがＢＧＭ連動動作を行うようにしてもよい。
【産業上の利用可能性】
【０１９１】
本発明にかかるゲームプログラムおよびゲーム装置は、ゲームの興趣性を高めることができ、据置型ゲーム装置や携帯型ゲーム装置、携帯型情報端末やパーソナルコンピュータ等のゲームプログラムが実行される各種情報処理装置等に有用である。
【符号の説明】
【０１９２】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
４…光ディスク
７…コントローラ
１０…ＣＰＵ
１１…システムＬＳＩ
１１ａ…入出力プロセッサ
１１ｂ…ＧＰＵ
１１ｃ…ＤＳＰ
１１ｄ…ＶＲＡＭ
１１ｅ…内部メインメモリ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２…アンテナ
２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
【図１】
2011101754.tif 000003
【図２】
2011101754.tif 000004
【図３】
2011101754.tif 000005
【図４】
2011101754.tif 000006
【図５】
2011101754.tif 000007
【図６】
2011101754.tif 000008
【図７】
2011101754.tif 000009
【図８】
2011101754.tif 000010
【図９】
2011101754.tif 000011
【図１０】
2011101754.tif 000012
【図１１】
2011101754.tif 000013
【図１２】
2011101754.tif 000014
【図１３】
2011101754.tif 000015
【図１４】
2011101754.tif 000016
【図１５】
2011101754.tif 000017
【図１６】
2011101754.tif 000018
【図１７】
2011101754.tif 000019
【図１８】
2011101754.tif 000020
【図１９】
2011101754.tif 000021
【図２０】
2011101754.tif 000022
【図２１】
2011101754.tif 000023
【図２２】
2011101754.tif 000024
【図２３】
2011101754.tif 000025
【図２４】
2011101754.tif 000026
【図２５】
2011101754.tif 000027
【図２６】
2011101754.tif 000028
【図２７】
2011101754.tif 000029
【図２８】
2011101754.tif 000030
【図２９】
2011101754.tif 000031
【図３０】
2011101754.tif 000032
【図３１】
2011101754.tif 000033
【図３２】
2011101754.tif 000034
【図３３】
2011101754.tif 000035
【図３４】
2011101754.tif 000036
【図３５】
2011101754.tif 000037
【図３６】
2011101754.tif 000038
【図３７】
2011101754.tif 000039
【図３８】
2011101754.tif 000040
【図３９】
2011101754.tif 000041
【図４０】
2011101754.tif 000042
【図４１】
2011101754.tif 000043
【図４２】
2011101754.tif 000044
【図４３】
2011101754.tif 000045
【図４４】
2011101754.tif 000046
【図４５】
2011101754.tif 000047
【図４６】
2011101754.tif 000048