説明

ゲームプログラム、ゲーム装置およびゲーム制御方法

【課題】ゲームが下手な人でもゲームに行き詰まることがないようにゲームを楽しませつつ、興趣性も低下させないようにするゲームプログラム、ゲーム装置を提供すること。
【解決手段】手動操作手段は、入力装置から出力される操作データに基づき操作対象キャラクタを動作制御する。また、自動動作制御手段は、予め作成された一連の操作データである自動操作データに基づき、操作対象キャラクタを動作制御する。ゲーム制御手段は、ゲームの進行中における所定の区間内において、手動操作手段によってのみ操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行するが、当該区間内の少なくとも一部において自動動作制御手段による動作制御がなされたときは、いずれの条件が満たされた場合であっても第1の処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置、および、当該ゲーム装置のコンピュータに実行させるゲームプログラムに関し、より特定的には、所定の入力装置から出力される操作データに基づいて操作対象キャラクタを動作制御するゲーム装置、ゲームプログラムおよびゲーム制御方法に関する。
【背景技術】
【0002】
従来から、ビデオゲーム装置で行われるビデオゲームには、多くの種類が存在する。例えば、ロールプレイングゲームと云われる種類のビデオゲームや、アクションゲームと云われる種類のビデオゲームがある。このうち、例えば、ロールプレイングゲームにおいて、ゲームの進行過程において、謎が解けない等でゲーム進行に行き詰まった場合の救済措置として、ヒントを表示するゲームプログラムが知られている(例えば、特許文献1)。このゲームプログラムでは、特別なアクションを実行可能な場所の近くで、特別アクションを実行可能なキャラクタがパーティ(プレイヤが操作しているプレイヤキャラクタのグループ)内にいない場合にヒントメッセージを表示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−200351号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述したようなゲームプログラムでは、従来から以下に示す問題点があった。上記のようなヒント表示は、ロールプレイングゲームにおいては有用ではある。しかし、例えば、アクションゲームのような場合は、一般に、プレイヤキャラクタの操作に関して、ジャンプ操作や敵を攻撃するタイミング等で、RPG等に比べて、より複雑なアクション操作が要求される。そのため、例えゲーム攻略のヒントが文字情報のような形で表示されても、プレイヤの腕前次第では、必ずしもゲームを先に進めることができるとは限らなかった。
【0005】
そこで、このような場合は、予め用意されたプレイヤキャラクタの操作用データを利用するという方法が考えられる。例えば、ゲーム開発者がプレイヤキャラクタを操作してゲームを進めたときの操作データを記録し、自動操作用データとして製品版のゲームディスク等に含めておく。そして、プレイヤがゲームに行き詰まった場所では、当該自動操作用データに基づいてプレイヤキャラクタの動作制御を実行させることで、ゲームを先に進めさせるという方法が考えられる。しかし、この方法を用いる場合、プレイヤがゲームに行き詰まって先に進めなくなる状況を防ぐ事は可能となる反面、ゲームの難度を下げすぎてしまい、簡単にゲームをクリアさせてしまうことで、かえってゲームの興趣性が下がってしまうという問題があった。つまり、ゲームに飽きてしまいやすくなるという問題があった。
【0006】
それ故に、本発明の目的は、ゲームが下手な人でも、ゲームに行き詰まることがないようにゲームを楽しませつつ、ゲームの興趣性も低下させないようにするゲームプログラム、ゲーム装置、ゲーム制御方法を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【0008】
第1の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段として機能させる。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によって操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行する。
【0009】
第1の発明によれば、ゲームがあまり上手くない人でもゲームを最後まで楽しめるようにすることができると共に、プレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【0010】
第2の発明は、第1の発明において、ゲームプログラムは、コンピュータを、操作対象キャラクタの動作制御を手動操作手段による動作制御と自動動作制御手段による動作制御との間で切り替える手動自動切換手段として更に機能させる。
【0011】
第3の発明は、第2の発明において、ゲームプログラムは、コンピュータを、自動動作制御手段によって操作対象キャラクタが動作制御されているときに、当該動作制御中に入力された操作データに基づいて当該自動動作制御手段による動作制御を中断し、手動操作手段による動作制御に切り替える自動制御中断手段として更に機能させる。
【0012】
第2乃至第3の発明によれば、操作対象キャラクタが自動動作制御されている途中で、プレイヤ自身の操作に切り替えることができ、ゲームの興趣性をより高くすることができる。
【0013】
第4の発明は、第1の発明において、自動操作データは、操作対象キャラクタが第1の条件を満たす動作内容となる一連の操作データである。
【0014】
第4の発明によれば、自動動作制御だけではプレイヤが楽しめないようなゲーム要素を残しておくことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【0015】
第5の発明は、第1の発明において、ゲーム制御手段は、ゲームプログラムの実行によるゲームの進行中における所定の区間内において実行され、当該ゲームの進行中における所定の区間内の少なくとも一部分において自動動作制御手段によって操作対象キャラクタが動作制御されたときは、第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも第1の処理を実行する。
【0016】
第5の発明によれば、複数の区間をクリアしていくタイプのゲームにおいて、自動動作制御だけを用いて各区間をクリアしただけではプレイヤが楽しめないようなゲーム要素を残しておくことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【0017】
第6の発明は、第5の発明において、ゲームプログラムで実行されるゲームは、当該ゲームの進行状況を、当該ゲームの進み具合に応じた所定の構成単位で区切った複数のゲームステージで構成されている。そして、当該複数のゲームステージを順次クリアしていくことによって最終的なゲームクリアを目指すゲームである。そして、所定の区間とは、ゲームステージのことである。
【0018】
第6の発明によれば、複数のゲームステージで構成されるゲームにおいて、ゲームがあまり上手くない人でもゲームを最後まで楽しめるようにすることができる。更に、自動動作制御を用いているだけでは楽しめないゲーム要素を残すことができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性をより高めることができる。
【0019】
第7の発明は、第6の発明において、第1の条件とは、ゲームステージにおける仮想ゲーム空間内に予め設定されている第1の地点に操作対象キャラクタが到達したことである。また、第2の条件とは、ゲームステージにおける仮想ゲーム空間内に予め設定されている第2の地点に操作対象キャラクタが到達したことである。
【0020】
第7の発明によれば、例えば、各ゲームステージに複数のゴール地点を設け、どのゴール地点に到達したかに応じてその後の処理を変化させて、ゲームの興趣性を高めることができる。
【0021】
第8の発明は、第6の発明において、第1の処理とは、次にプレイするゲームステージとして所定のステージを設定する処理であり、第2の処理は、次にプレイするゲームステージとして上記所定のステージとは異なるステージを設定する処理である。
【0022】
第9の発明は、第8の発明において、第1の処理とは、次にプレイ可能なゲームステージとして所定のステージをプレイヤが選択可能とする処理である。第2の処理は、第1の処理で設定されるものとは異なる別のステージを次にプレイ可能なゲームステージとして選択可能とする処理である。
【0023】
第8乃至第9の発明によれば、複数のゲームステージで構成されるゲームにおいて、自動動作制御を用いてゲームステージをクリアした場合と、自動動作制御を用いずにゲームステージをクリアした場合とで、次に遊べるゲームステージを異なるものとすることができる。これにより、自動動作制御を利用しているだけでは楽しめないゲームステージを設けることができ、プレイヤがゲームにすぐに飽きてしまうことを防いでゲームの興趣性を高めることができる。
【0024】
第10の発明は、第5の発明において、第1の処理とは、次にプレイする区間として所定の区間を設定する処理であり、第2の処理とは、次にプレイする区間として第1の処理とは異なる区間を設定する処理である。
【0025】
第10の発明によれば、複数の区間をクリアしていくタイプのゲームにおいて、ある区間をクリアした際に、次にプレイ可能な区間をクリア状態に応じて異なるものとすることができる。
【0026】
第11の発明は、第1の発明において、第1の条件及び第2の条件とは、操作対象キャラクタが仮想ゲーム空間内において達成することができる所定の条件である。
【0027】
第11の発明によれば、達成した条件に応じてその後の処理を変化させて、ゲームの興趣性を高めることができる。
【0028】
第12の発明は、第2の発明において、ゲームプログラムは、コンピュータを、自動制御指示手段として更に機能させる。自動制御指示手段は、操作データに基づいて、手動操作手段による制御から自動制御手段による制御への切替を指示する。そして、自動制御切替手段は、自動制御指示手段からの指示があったときにのみ、操作対象キャラクタの動作制御を切り替える。
【0029】
第12の発明によれば、操作対象キャラクタの動作制御をプレイヤの意思によって自動動作制御に切り替えることが可能となる。
【0030】
第13の発明は、第12の発明において、自動制御指示手段は、手動操作手段によって操作対象キャラクタが動作制御されている状態において、ゲーム中における所定の条件が満たされたときにのみ利用可能とする。
【0031】
第13の発明によれば、ゲーム中の所定の条件が満たされたときにのみ、自動動作制御を可能とすることで、ゲームの興趣性を高めることができる。
【0032】
第14の発明は、第13の発明において、自動制御指示手段は、ゲーム中における所定の条件が満たされたときに仮想ゲーム空間内に指示用オブジェクトを配置する。そして、操作対象キャラクタが指示用オブジェクトに対して所定の行動を起こしたときに、動作制御の切替を自動制御切替手段に指示する。
【0033】
第14の発明によれば、指示用オブジェクトに対してプレイヤが所定の操作を行うことで、自動動作制御に切り替えることができ、自動動作制御への切替をプレイヤにわかりやすく提示できる。
【0034】
第15の発明は、第14の発明において、自動制御指示手段は、手動操作手段によって操作されている操作対象キャラクタが予め設定されている所定の失敗条件を所定の回数満たしたときに、指示用オブジェクトを配置する。
【0035】
第16の発明は、第14の発明において、自動制御指示手段は、所定の区間におけるプレイ時間が予め設定されている閾値を上回ったときに、指示用オブジェクトを配置する。
【0036】
第15乃至第16の発明によれば、プレイヤがゲームの進行に行き詰まったときに、自動動作制御への切替を可能とすることができ、ゲームが下手なプレイヤへの救済措置として自動動作制御を利用可能とすることができる。
【0037】
第17の発明は、第1の発明において、ゲームプログラムは、コンピュータを、確認手段と、復元手段として更に機能させる。確認手段は、自動制御手段によって操作対象オブジェクトが動作制御された状態でゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる。復元手段は、確認手段においてゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する。
【0038】
第17の発明によれば、自動動作制御によってゲームの進め方、例えば、ゲームステージのクリア方法をプレイヤに提示することができる。そして、その後、プレイヤに自身の手で当該ゲームステージをプレイさせることができる。これにより、ゲーム進行に行き詰まったプレイヤに対しても、ゲームを途中で投げ出させることなく楽しんでもらうことが可能となる。
【0039】
第18の発明は、第1の発明において、ゲームプログラムは、コンピュータを、BGM再生手段と、BGM連動動作制御手段として更に機能させる。BGM再生手段は、操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたBGMを再生する。BGM連動動作制御手段は、BGMに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動操作データには、非操作対象キャラクタの動作の一部を制御するためのデータが含まれている。そして、手動操作手段によって操作対象キャラクタが動作制御されているときは、BGM連動動作制御手段がBGMに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動動作制御手段によって操作対象キャラクタが動作制御されているときは、当該自動動作制御手段が自動操作データに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。
【0040】
第18の発明によれば、ゲームの内容をより変化に富んだものとし、興趣性を高めることができる。
【0041】
第19の発明は、第1の発明において、入力装置は、押圧可能なボタンを少なくとも1つ備えている。そして、自動操作データには、ボタンの押圧操作の有無を示すためのボタンデータが含まれる。
【0042】
第19の発明によれば、ボタンを用いた操作対象キャラクタの動作を自動動作制御の対象にでき、複雑なボタン操作が苦手なプレイヤに対する救済措置として自動動作制御を実行することが可能となる。
【0043】
第20の発明は、第1の発明において、入力装置は、加速度センサを備えている。そして、自動操作データには、加速度センサから出力された加速度データが含まれる。
【0044】
第21の発明は、第1の発明において、入力装置は、角速度センサを備えている。そして、自動操作データには、角速度センサから出力された角速度データが含まれる。
【0045】
第20乃至第21の発明によれば、加速度や角速度を用いた操作について、自動動作制御の対象とすることができ、加速度や角速度を用いた細かい操作が苦手なプレイヤに対する救済措置として自動動作制御を実行することが可能となる。
【0046】
第22の発明は、第1の発明において、入力装置は、少なくとも一つの撮像対象を撮像するための撮像手段を備えている。そして、自動操作データには、撮像手段を備えた入力装置から出力された撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる。
【0047】
第22の発明によれば、例えば、画面をポインティングする操作等についても自動動作制御の対象とすることができる。
【0048】
第23の発明は、第1の発明において、入力装置は、アナログ方式の入力が可能なアナログ操作手段を備えている。そして、自動操作データには、アナログ操作手段を備えた入力装置から出力されたアナログ操作データが含まれる。
【0049】
第23の発明によれば、例えばアナログスティックを用いたような微細な操作についても自動動作制御の対象とすることができる。
【0050】
第24の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置であって、手動操作手段と、自動操作データ記憶手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段とを備える。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ記憶手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め作成された操作データである自動操作データを記憶する。自動操作データ取得手段は、自動操作データ記憶手段から自動操作データを取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によってのみ操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行する。
【0051】
第25の発明は、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲームの制御方法であって、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、ゲーム制御手段として機能させる。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。ゲーム制御手段は、自動操作データは用いずに手動操作手段によって操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行する。
【0052】
第24乃至第25の発明によれば、上記第1の発明と同様の効果を得ることができる。
【0053】
また、ゲームプログラムは、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、確認手段と、復元手段として機能させてもよい。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。確認手段は、自動制御手段によって操作対象オブジェクトが動作制御された状態でゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる。復元手段は、確認手段においてゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する。
【0054】
また、ゲームプログラムは、プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、手動操作手段と、自動操作データ取得手段と、自動動作制御手段と、BGM再生手段と、BGM連動動作制御手段として機能させてもよい。手動操作手段は、操作データに基づいて操作対象キャラクタの動作を制御する。自動操作データ取得手段は、操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する。自動動作制御手段は、自動操作データに基づいて、操作対象キャラクタの動作を手動操作手段の代わりに制御する。BGM再生手段は、操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたBGMを再生する。BGM連動動作制御手段は、BGMに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動操作データには、非操作対象キャラクタの動作の一部を制御するためのデータが含まれている。このような構成において、手動操作手段によって操作対象キャラクタが動作制御されているときは、BGM連動動作制御手段が、BGMに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。また、自動動作制御手段によって操作対象キャラクタが動作制御されているときは、自動動作制御手段が、自動操作データに含まれる非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する。
【発明の効果】
【0055】
本発明によれば、ゲームがあまり上手くない人でもゲームを最後まで(例えば、エンディングが見られるまで)楽しめるようにすることができると共に、自動操作データを用いるだけで簡単にゲームが最後までクリアできてしまうことによってプレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【図面の簡単な説明】
【0056】
【図1】本発明の一実施形態に係るゲームシステム1を説明するための外観図
【図2】図1のゲーム装置本体5の機能ブロック図
【図3】図1のコントローラ7の上面後方から見た斜視図
【図4】図3のコントローラ7を下面前方から見た斜視図
【図5】図3のコントローラ7の上ハウジングを外した状態を示す斜視図
【図6】図3のコントローラ7の下ハウジングを外した状態を示す斜視図
【図7】図3のコントローラ7の構成を示すブロック図
【図8】拡張コントローラ36をコントローラ7のコネクタ73に接続した形態を示す図
【図9】コントローラの持ち方の一例を示す図
【図10】第1の実施形態で想定するゲームのゲーム画面の一例
【図11】第1の実施形態で想定するゲームのゲーム画面の一例
【図12】第1の実施形態で想定するゲームのゲーム画面の一例
【図13】第1の実施形態で想定するゲームのゲーム画面の一例
【図14】第1の実施形態で想定するゲームのゲーム画面の一例
【図15】第1の実施形態で想定するゲームのゲーム画面の一例
【図16】第1の実施形態で想定するゲームのゲーム画面の一例
【図17】第1の実施形態で想定するゲームのゲーム画面の一例
【図18】第1の実施形態で想定するゲームのゲーム画面の一例
【図19】第1の実施形態で想定するゲームのゲーム画面の一例
【図20】第1の実施形態で想定するゲームのゲーム画面の一例
【図21】第1の実施形態で想定するゲームのゲーム画面の一例
【図22】外部メインメモリ12のメモリ構成の一例
【図23】コース用データ127の構成の一例
【図24】ボタンデータ137の構成の一例
【図25】クリア状態データ135のデータ構造の一例
【図26】失敗回数記録データ139のデータ構造の一例
【図27】本発明の第1の実施形態に係るゲーム処理を示すフローチャート
【図28】図24のステップS4で示したコース処理の詳細を示したフローチャート
【図29】図24のステップS4で示したコース処理の詳細を示したフローチャート
【図30】図24のステップS5で示したクリア処理の詳細を示したフローチャート
【図31】加速度データを利用したギミックの一例
【図32】加速度データを利用したギミックの一例
【図33】第2の実施形態にかかる処理の概要を説明するための図
【図34】第2の実施形態にかかる処理の概要を説明するための図
【図35】第2の実施形態にかかる処理の概要を説明するための図
【図36】第2の実施形態にかかる処理の概要を説明するための図
【図37】第2の実施形態にかかる処理の概要を説明するための図
【図38】第2の実施形態にかかる処理の概要を説明するための図
【図39】第2の実施形態にかかる処理の概要を説明するための図
【図40】第2の実施形態にかかる処理の概要を説明するための図
【図41】第2の実施形態にかかる処理の概要を説明するための図
【図42】第2の実施形態にかかる処理の概要を説明するための図
【図43】第2の実施形態にかかる処理の概要を説明するための図
【図44】第2の実施形態にかかる処理の概要を説明するための図
【図45】第2の実施形態にかかるコース用データ127の構成の一例
【図46】第2の実施形態にかかるコース処理の一部を示すフローチャート
【発明を実施するための形態】
【0057】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲームシステムの構成について説明する。
【0058】
(ゲームシステムの全体構成)
図1を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、コントローラ7、およびマーカ部8を含む。本システムは、コントローラ7を用いたゲーム操作に基づいてゲーム装置3でゲーム処理を実行するものである。
【0059】
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【0060】
ゲーム装置3には、表示装置の一例であるテレビ2が接続コードを介して接続される。テレビ2には、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ2の画面の周辺(図1では画面の上側)には、マーカ部8が設置される。マーカ部8は、その両端に2つのマーカ8Rおよび8Lを備えている。マーカ8R(マーカ8Lも同様)は、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。マーカ部8はゲーム装置3に接続されており、ゲーム装置3はマーカ部8が備える各赤外LEDの点灯を制御することが可能である。
【0061】
コントローラ7は、当該コントローラ7自身に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。コントローラ7とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ7とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ7とゲーム装置3とは有線で接続されてもよい。
【0062】
(ゲーム装置3の内部構成)
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
【0063】
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
【0064】
また、システムLSI11には、入出力プロセッサ11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0065】
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。より具体的には、GPU11bは、当該グラフィクスコマンドに従って3Dグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる3D座標から2D座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、CPU10は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU11bに与える。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
【0066】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。また、内部メインメモリ11eは、外部メインメモリ12と同様に、プログラムや各種データを記憶するものであり、CPU10のワーク領域やバッファ領域として用いられる。
【0067】
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに音がスピーカ2aから出力される。
【0068】
入出力プロセッサ(I/Oプロセッサ)11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、およびメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
【0069】
入出力プロセッサ11aは、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
【0070】
また、入出力プロセッサ11aは、コントローラ7から送信される操作データをアンテナ23および無線コントローラモジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0071】
さらに、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0072】
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンにされると、ゲーム装置3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン24を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置3への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン24を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0073】
次に、図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面前方から見た斜視図である。
【0074】
図3および図4において、コントローラ7は、ハウジング71と、当該ハウジング71の表面に設けられた複数個の操作ボタンで構成される操作部72とを備える。本実施例のハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【0075】
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【0076】
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
【0077】
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【0078】
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【0079】
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7からゲーム装置3へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
【0080】
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5のスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
【0081】
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
【0082】
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【0083】
ここで、以下の説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するxyz軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をz軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をz軸正方向とする。また、コントローラ7の上下方向をy軸とし、ハウジング71の上面(操作ボタン72a等が設けられた面)方向をy軸正方向とする。さらに、コントローラ7の左右方向をx軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をx軸正方向とする。
【0084】
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上ハウジング(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下ハウジング(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
【0085】
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。マイコン751は、操作ボタン72a等の種類に応じた操作データを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触/切断をマイコン751が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン751が検出し、操作ボタンの種類に応じた信号を発生させている。
【0086】
また、コントローラ7は、無線モジュール753(図7参照)およびアンテナ754によって、ワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の回転を良好な感度でゲーム装置3等が判定することができる。
【0087】
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置3から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
【0088】
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置3から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
【0089】
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
【0090】
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
【0091】
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。ここで、テレビ2の表示画面近傍に配置されるマーカ8Lおよび8Rは、テレビ2の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ741を設けることによってマーカ8Lおよび8Rの画像をより正確に撮像することができる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ入射させる。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子743によって撮像された画像を撮像画像と呼ぶ。撮像素子743によって生成された画像データは、画像処理回路744で処理される。画像処理回路744は、撮像画像内における撮像対象(マーカ8Lおよび8R)の位置(座標)を算出する。以下、当該画像処理回路744によって算出される座標をマーカ座標と呼ぶ。マーカ座標は、撮像画像に対応する平面上の位置を表すための座標系において撮像対象の位置を示す座標である。画像処理回路744は、マーカ座標を通信部75のマイコン751へ出力する。マーカ座標のデータは、マイコン751によって操作データとしてゲーム装置3に送信される。マーカ座標はコントローラ7自体の向き(姿勢)や位置に対応して変化するので、ゲーム装置3は当該座標値を用いてコントローラ7の向きや位置を算出することができる。また、2つのマーカ座標の中点を算出することで、プレイヤがコントローラ7を用いて指し示している指示位置、すなわち、ポインティング座標を算出することもできる。例えば、以下のようにして算出することが考えられる。すなわち、この中点の位置は、撮像画像に対応する平面上の位置を表すためのxy座標系によって表現される。次に、CPU10は、当該中点の位置を示す座標を、テレビ2の画面上の位置を表すための座標系(x'y'座標系とする)の座標に変換する。この変換は、ある撮像画像から算出される中点の座標を、当該撮像画像が撮像される時のコントローラ7の実際の指示位置に対応する画面上の座標に変換する関数を用いて行うことができる。その際、コントローラ7の指示位置と、撮像画像内でのマーカ座標の位置とは逆方向に移動することになるので、上下左右が反転するような変換を行う。以上のようにして算出されたx'y'座標値により示される値がコントローラ7のポインティング座標となる。
【0092】
コントローラ7は、3軸(x、y、z軸)の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向(または他の対になった方向)のそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。例えば、この3軸または2軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であってもよい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸または2軸の加速度センサ701が提供されてもよい。
【0093】
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【0094】
しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU10)またはコントローラのプロセッサ(例えばマイコン751)などのコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合)、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ701からの出力に基づいて、プロセッサがコントローラ7の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ701からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ701をプロセッサと組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ701を備えるコントローラ7がユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0095】
他の実施形態の例では、コントローラ7の動きを検出する動きセンサとして、回転素子または振動素子などを内蔵したジャイロセンサを用いてもよい。この実施形態で使用されるMEMSジャイロセンサの一例として、アナログ・デバイセズ株式会社から入手可能なものがある。加速度センサ701と異なり、ジャイロセンサは、それが内蔵する少なくとも一つのジャイロ素子の軸を中心とした回転(または角速度)を直接検知することができる。このように、ジャイロセンサと加速度センサとは基本的に異なるので、個々の用途のためにいずれの装置が選択されるかによって、これらの装置からの出力信号に対して行う処理を適宜変更する必要がある。
【0096】
具体的には、加速度センサの代わりにジャイロセンサを用いて傾きや姿勢を算出する場合には、大幅な変更を行う。すなわち、ジャイロセンサを用いる場合、検出開始の状態において傾きの値を初期化する。そして、当該ジャイロセンサから出力される角速度データを積分する。次に、初期化された傾きの値からの傾きの変化量を算出する。この場合、算出される傾きは、角度に対応する値が算出されることになる。一方、加速度センサによって傾きを算出する場合には、重力加速度のそれぞれの軸に関する成分の値を、所定の基準と比較することによって傾きを算出するので、算出される傾きはベクトルで表すことが可能であり、初期化を行わずとも、加速度検出手段を用いて検出される絶対的な方向を検出することが可能である。また、傾きとして算出される値の性質は、ジャイロセンサが用いられる場合には角度であるのに対して、加速度センサが用いられる場合にはベクトルであるという違いがある。したがって、加速度センサに代えてジャイロセンサが用いられる場合、当該傾きのデータに対して、2つのデバイスの違いを考慮した所定の変換を行う必要がある。加速度検出手段とジャイロセンサとの基本的な差異と同様にジャイロセンサの特性は当業者に公知であるので、本明細書ではさらなる詳細を省略する。ジャイロセンサは、回転を直接検知できることによる利点を有する一方、一般的には、加速度センサは、本実施形態で用いるようなコントローラに適用される場合、ジャイロセンサに比べて費用効率が良いという利点を有する。
【0097】
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置3からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置3から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置3から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
【0098】
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(x、y、およびz軸方向加速度データ;以下、単に加速度データと記載する)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(Bluetooth;登録商標)で構成される通信部75の送信間隔は例えば5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データが無線モジュール753で電波信号に変調されてコントローラ7から送信される。そして、ゲーム装置3の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU10は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【0099】
また、以下にかかる実施形態で説明するゲームでは、拡張コントローラを用いた操作も可能としてもよい。例えば、図8に示すように、拡張コントローラ36をコントローラ7のコネクタ73に接続した形態で後述するプレイヤキャラクタの操作を行うことも可能である。図8では、拡張コントローラ36の後端から延びるケーブル37の先端にはコネクタ38が設けられ、当該コネクタ38をコントローラ7のコネクタ73と接続している。ここで、拡張コントローラ36は、アナログ方式の入力が可能なアナログスティック39、および、押圧式のボタン40を備えている。そして、ゲームをプレイする際には、例えば図9に示すように、プレイヤは、その右手でコントローラ7を持ち、その左手で拡張コントローラ36を持つ。このとき、プレイヤは、右手に持ったコントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がマーカ8Lおよび8Rの方向を向く状態でコントローラ7を把持する。この状態で、プレイヤは、コントローラ7の傾きを変化させたり、コントローラ7が指し示す画面上の位置(指示位置)を変更したり、コントローラ7と各マーカ8Lおよび8Rとの距離を変更したりすることによってゲーム操作を行うこともできる。
【0100】
なお、拡張コントローラ36のコネクタ38をコネクタ73に接続した場合には、拡張コントローラ36の操作データ(入力データ)はケーブル37を介してコントローラ7に与えられる。コントローラ7は、コントローラ7自身の入力データと拡張コントローラ36の入力データとを含む操作データをゲーム装置3に送信する。
【0101】
(第1の実施形態)
次に、本発明で想定する処理の概念について説明する。本発明における処理は、プレイヤキャラクタ(プレイヤオブジェクトとも呼ばれる)の動作制御に関して、次のような2種類の制御方式を備えるゲームを想定する。まず、第1の制御方式として、プレイヤが操作しているコントローラ7からの操作信号に基づいてプレイヤキャラクタを動作制御する方式を備える。つまり、一般的なプレイヤキャラクタの動作制御方式である。次に、第2の制御方式は、予め用意されている自動操作用のデータに基づき、プレイヤキャラクタを自動的に動かす(つまり、プレイヤはコントローラ7を操作していない状態)という制御方式である。この自動操作用のデータは、例えば、ゲームの開発者がプレイヤキャラクタを操作したときにコントローラ7から出力された操作データ(どのボタンを押しているか等のデータ)を記録することで作成される。
【0102】
上記のような2つの動作制御方式を備えるゲームにおいて、以下のようなゲーム設定がなされている状況を想定する。すなわち、ゲーム中に、ある目的(例えば、コースのクリア)を達成するための条件(例えばゴール地点)が設定されている。更に、この条件は複数用意されており(例えば、ゴール地点が複数用意されている)、当該目的を達成するための条件は、択一的に選択される。そして、第1の制御方式による動作制御を用いて、第1の条件で上記目的を達成したときは、第1の処理が実行される。また、第1の制御方式による動作制御を用いて、第2の条件で上記目的を達成したときは、第2の処理が実行される。しかし、第2の制御方式(自動操作データを用いた場合)を少しでも利用した場合は、上記目的を第1の条件で達成した場合も、第2の条件で達成した場合も、いずれの場合においても第1の処理が実行される、という制御が本発明では行われる。
【0103】
次に、第1の実施形態で想定するゲームの概要について、図10〜図21を用いて説明する。第1の実施形態で想定するゲームは、2Dスクロール型ジャンプアクションゲーム(但し、各種キャラクタは、3Dポリゴンモデルで描画される)である。本ゲームは、複数の”コース”で構成されており、これらのコースを順にクリアしていくことで、最終的にゲームのエンディングを迎えることが可能となっている。なお、当該コースは、ゲームによっては”ステージ(ゲームステージ)”、”ワールド”、”ラウンド“、”エリア”、”チャプター”、”レベル”、”エピソード”等とも呼ばれる。つまり、アクションゲーム等のような、区切りが明確なゲームにおける構成単位である。また、換言すれば、ゲーム全体にかかる進行状況を、ストーリーやシナリオの展開等の観点から(一般にはゲーム開発者の主観による)ひとまとまりとなるような所定の区間・期間で区切ったときの各区間・期間のことである。
【0104】
また、プレイヤが操作する対象となるプレイヤキャラクタには、予め所定の残数が設定されており、プレイヤが一度ミス(敵キャラクタに衝突する等)しても、すぐにゲームオーバーとはならない。残数が0になるまでは、得点等を引き継いで、プレイ中であったコースの所定地点から再度プレイすることが可能である(つまり、一般的なアクションゲームで採用されることが多い、残機制のゲームとなっている)。
【0105】
図10は、コースを選択するための画面(以下、ワールドマップ画面)の一例であり、図11は、選んだコースをプレイしているときのゲーム画面である(なお、図11の画面は、コースのスタート地点の画面である)。図10に示すワールドマップ画面には、プレイヤマーク101や、複数のコースマーク102a〜i(以下、総称して単にコースマーク102と呼ぶこともある)が表示されている。本ゲームでは、ゲーム開始時は、図10の画面における一番左上のコースマーク102aのコースしか選ぶことができないが、各コースをクリアしていくことで、次のコースマークへと繋がる「ルート」が表示され、次のコースへ進む(選択する)ことができる。図10に示す状態は、3つめのコース(コースマーク102c)をクリアした直後の状態であり、新たに4つめのコースマーク102dにルート103が繋がって、当該4つめのコースに進むことが可能となっている状態を示している(なお、クリア済みのコースもプレイすることは可能である)。なお、当該コースマーク102は、丸い形状のランプを模したデザインとなっており、そのコースのクリア状態によって点灯状態が変化する。
【0106】
図10のワールドマップ画面で、4つめのコースマーク102dにプレイヤマーク101を移動させ、当該コースの選択操作を行うと、画面が図11に示すような画面に切り替わり、当該コースにかかるゲーム処理(以下、コース処理)が開始する。当該ゲームは、基本的には、右方向へと進んでいくゲームである。そして、各コースには、ゴール地点が設けられており、そこには、旗オブジェクトが設置されている。プレイヤは、プレイヤキャラクタ105をゴール地点を目指して進めて、プレイヤキャラクタ105がゴール地点の旗オブジェクトにたどり着けば、そのコースはクリアとなる。
【0107】
ここで、上記コース処理における操作について説明する。プレイヤは、コントローラ7を十字キー72aが左側にくるような横長の状態で把持して操作を行う。図12に、コントローラ7の状態とゲーム画面の対応関係を示す。本実施形態では、十字キー72aを用いてプレイヤキャラクタ105を上下左右方向に移動させ、ボタン72cでプレイヤキャラクタ105をジャンプさせることが可能である。また、ボタン72bを押下したままプレイヤキャラクタ105を移動させることで、プレイヤキャラクタ105をダッシュ移動させることも可能となっている。また、コントローラ7を振る操作を行うことで、「スピンジャンプ」と呼ばれる、プレイヤキャラクタ105をスピンさせながらのジャンプも可能である。
【0108】
ここで、本ゲームでは、コースによっては、ゴール地点が2つ設けられている。本実施形態では、一方を「表ゴール」と呼び、他方を「裏ゴール」と呼ぶ。表ゴールは、普通にコースを進んでいくとたどり着くようなゴール地点であり、図13に示すような旗オブジェクト106が配置されている。一方、裏ゴールは、一見しただけではプレイヤにわからないような位置に配置されているゴール地点、いわば、隠されたゴール地点である。裏ゴール地点には、図14で示すような、表ゴールの旗オブジェクト106とは若干異なるデザインの旗オブジェクト107が配置されている。
【0109】
そして、このように2つのゴールが設定されているコースにおいては、プレイヤキャラクタ105が表ゴールに着くことで当該コースをクリアした場合は、図15に示すように、第1のルート(以下では、表ルートとも呼ぶことがある)108がオープンされて、次のコース(図15では、コースマーク102fのコース)に進むことができる。一方、裏ゴールに着いてコースをクリアした場合は、図16に示すように、第2のルート(以下では裏ルートと呼ぶこともある)109がオープンされ、表ルートとは別のルートで別のコース(図16では、コースマーク102iのコース)に進むことが可能となる。
【0110】
また、本ゲームでは、所定の条件が満たされることで、「お手本プレイ」と呼ばれる、自動操作データに基づくプレイヤキャラクタの自動的な動作の制御が可能となる。所定の条件とは、本ゲームでは、プレイヤが8回続けてミスをしたこと(プレイヤキャラクタ105の残数を失うこと)である。なお、一旦、プレイヤキャラクタ105の残数が0となってゲームオーバーとなり、その後、いわゆる「コンティニュー」を行って引き続きプレイを行ったような場合は、ゲームオーバーをまたいでカウントする。そして、プレイヤが8回ミスをして、9回目のプレイを開始したとき、コースのスタート地点に、図17に示すように、「お手本ブロック」110が出現する。プレイヤが当該お手本ブロック110を使用(本ゲームでは、このお手本ブロック110をプレイヤキャラクタ105に下から叩かせる操作を行う)すると、図18に示すような、「お手本プレイを使うか否か?」の旨の確認画面が表示される。この画面で、プレイヤが「お手本プレイ」を使うことを選択すれば、画面が一旦ブラックアウトし、図19に示すように、プレイヤキャラクタ105が先生キャラクタ111に変更されたゲーム画面が表示される(つまり、プレイヤキャラクタ105の代わりとして、先生キャラクタ111が登場する)。また、このとき、ゲーム画面の左上に、「お手本モード」の表示がなされる。以下、この状態のことを「お手本モード」と呼ぶ。なお、当該先生キャラクタ111は、現在のプレイ状態が「お手本モード」であることをプレイヤにより明確に区別させやすくするために用いているだけであり、基本的には、先生キャラクタ111とプレイヤキャラクタ105は同義である。すなわち、必ずしも先生キャラクタ111を用いる必要はなく、プレイヤキャラクタ105をそのまま用いるようにしても良い。
【0111】
当該先生キャラクタ111は、予め用意されている自動操作用のデータに基づき、その動作が制御される。この自動操作用のデータ(以下、お手本操作データと呼ぶ)は、例えば、ゲームの開発段階(つまり、製品化の前の段階)において作成され、製品となるゲームパッケージ(光学ディスクやダウンロード用のパッケージ等)にゲームのデータの一部として含められている。例えば、コースを熟知している開発者が、コースクリアの「お手本」となるようなプレイヤキャラクタ105の操作を行う。このお手本となるような一連の操作(コースのスタート地点からゴール地点到達まで、つまり、コース単位)にかかる操作データを記録したものが、お手本操作データとなる。本実施形態では、当該お手本となる一連の操作にかかるキー操作のデータ(コントローラ7の各ボタンの押圧状況)を所定の時間間隔で記録したものをお手本操作データとする。また、本実施形態では、ゴールが2つあるコースに関しては、このお手本となるようなプレイは表ゴールに行くようなプレイであるとする。
【0112】
お手本モード中においては、図19に示すように、上記先生キャラクタ111が、上記お手本操作データに基づいて自動的に動作する(つまり、開発者によるプレイヤキャラクタ105の操作が再現されている状態である)。なお、お手本モード中は、例えば点数等は加算されず、先生キャラクタ111がお手本プレイ中に取得したアイテム等もプレイヤキャラクタ105には反映されない。そして、最終的に、当該コースのゴール(ゴールが2つある場合は、表ゴール)まで先生キャラクタ111が来ると、お手本プレイが終了し、図20に示すような、お手本終了時の確認メッセージが表示される。このメッセージでは、プレイヤに今のコースを自分でチャレンジするか否かを問い合わせている。このメッセージに対して、プレイヤが再チャレンジすることを選択すれば、当該コースのスタート地点に画面が切り替わり、プレイヤの操作にかかるコース処理が再度開始される。一方、図20に示した画面でプレイヤが再チャレンジしないことを選択したときは、更に、図21に示すような再度の確認メッセージが表示される。図21に示すメッセージでは、次のコースに進むか否かを問い合わせている。このメッセージに対してプレイヤが次のコースに進むことを選択した場合は、当該コースはクリアした扱いとなり、次のコースに進むためのルートがオープンされる。つまり、プレイヤは、何度やってもクリアできないコースについては、上記お手本プレイで先生キャラクタ111にコースをクリアしてもらうことで、必ずしも自力でコースをクリアしていなくても、ゲームを先に進めることも可能である。いわば、ゲームに行き詰まった場合の救済措置的な意味合いがある。
【0113】
ここで、本実施形態では、上記お手本モード中において、先生キャラクタ111の自動動作制御を中断し、途中からプレイヤ自身が先生キャラクタ111を操作することも可能である。例えば、コースの途中にあるゲーム的な「難所」を越えるまでは先生キャラクタ111のお手本プレイに任せておき、当該「難所」を越えれば、その後はプレイヤ自身が先生キャラクタ111を操作してコースを進んでいくという遊び方も可能である。このような場合、ゴールが2つ設定されているコースで、途中からプレイヤ自身が先生キャラクタ111を操作したとすると、お手本プレイでは、表ゴールに着くところ、途中からプレイヤ自身が操作したことによって、裏ゴールにたどり着くことも可能である。しかし、本実施形態では、このような場合は、表ゴールについたものとみなしてゲーム処理を行う。つまり、ゴールが2つあるコースにおいて、少しでも「お手本プレイ」が利用されてクリアされたときは、常に「表ゴールに着いてクリア」したものとして扱う。その結果、例えプレイヤがお手本プレイを中断して途中から自分で操作し、裏ゴールについたとしても、上記図16に示したような裏ルート109はオープンされずに、図15に示したような表ルート108がオープンされる。そのため、この場合は、コースマーク102iにかかるコースには進むことができないことになる。つまり、コースマーク102iにかかるコースに進むためには、プレイヤは自力で裏ゴールに着く必要があることになる。このようにすることで、ゲームがあまり上手くないプレイヤに対しては、上記お手本プレイによる救済措置でゲームが行き詰まることを防ぐことができる。更に、お手本プレイに頼っているだけではコースマーク102iにかかるコースに行くことは出来ないため、ゲームを攻略する楽しみを残しておくこともできる。つまり、お手本プレイだけでゲームがクリアできてしまうことによって、プレイヤがゲームに早くに飽きてしまうことを軽減することができ、ゲームの興趣性を高めることができる。
【0114】
なお、本実施形態では、コースクリア後において、各コースのクリア状態(クリア済みか否か、自力プレイによるクリアかお手本プレイによるクリアか)を示すために、上記ワールド画面において、コースマークの表示状態に差を設けている。具体的には、未クリア状態のコースについては、コースマーク102は赤色で点滅している状態で表示される。お手本プレイを使わずに、プレイヤがコースの最初から最後まで自力でプレイしてのクリアは、表ゴール、裏ゴールいずれの場合も、コースマーク102は青色で点灯した状態が表示される。また、お手本クリアを使ってクリアした場合は、コースマーク102は、赤色で点灯している状態で表示される。
【0115】
次に、第1の実施形態のゲーム処理実行時に外部メインメモリ12に格納されるデータについて説明する。図22は、図2に示した外部メインメモリ12(ただし、内部メインメモリ11eでもよいし、両方を使用するようにしてもよい)のメモリ構成の一例を示す図である。図22において、外部メインメモリ12は、プログラム記憶領域121、データ記憶領域125、および作業領域133を含む。プログラム記憶領域121には、CPU10によって実行されるゲームプログラムが記憶される。プログラム記憶領域121およびデータ記憶領域125のデータは、光ディスク4に予め記憶されたものが、本実施形態にかかるゲーム処理に際して外部メインメモリ12にコピーされたものである。
【0116】
メイン処理プログラム122は、後述する図27のフローチャートの処理に対応するプログラムである。コース処理プログラム123は、各コース毎におけるゲーム処理をCPU10に実行させるためのプログラムであり、クリア処理プログラム124は、コースクリア時の各種処理をCPU10に実行させるためのプログラムである。
【0117】
データ記憶領域125には、お手本プレイ用データ126、コースデータ128、オブジェクトデータ129、画像データ130、音声・効果音データ131、BGMデータ132などのデータが記憶される。
【0118】
お手本プレイ用データ126は、上述したような「お手本プレイ」において先生キャラクタ111の動作を制御するためのデータである。当該データは、コース1−1用データ127a、コース1−2用データ127b、コース1−3用データ127c・・・、のように、各コース毎に用意されている(以下では、当該コース毎のデータを総称してコース用データ127と呼ぶこともある)。これらのデータは、例えばゲームの開発段階において、開発者がコントローラ7を実際に操作して各コースをプレイしたときにコントローラ7から送信される操作情報を記録することで生成される。
【0119】
図23は、コース用データ127の構成の一例であり、当該データは、複数のお手本操作データ136の集合で構成されている。本実施形態では、コントローラ7が操作情報を出力する間隔は5ms毎である。そして、お手本操作データ136も、それぞれ5ms間隔で記録されたものとする。すなわち、上記複数のお手本操作データ136は、1件が5ms分のデータとなっている。また、これらお手本操作データ136は、時系列順にソートされて記録されているものとする。
【0120】
また、各お手本操作データ136は、ボタンデータ137および加速度データ138とで構成されている。ボタンデータ137は、コントローラ7に設けられている操作部72(複数個の操作ボタン)の各ボタンの押下状態を示すためのデータである。図24は、ボタンデータ137の構成の一例を示す図である。ボタンデータ137は、ボタン種類1371および押下状態1372を含む。ボタン種類1371は操作部72の各ボタンを示す。押下状態1372は、各ボタンの押下状態(オン/オフの状態)を示し、"0"は押下されていない状態(オフの状態)、"1"は押下されている状態(オンの状態)を示す。図24の例では、十字キー72aの"右"とBボタン72iのみが押下されている状態であることを示している。
【0121】
上記図23の加速度データ138は、コントローラ7が振られたか否かを示すためのデータであり、換言すれば、上述した「スピンジャンプ」のための操作が行われたか否かを示すためのデータである。すなわち、開発者が、お手本操作データ作成のため、お手本とする操作を行っているときにコントローラ7に所定値以上の加速度が発生したときは、開発者が上述したような「スピンジャンプ」のためにコントローラ7を振る操作を行ったとして、当該データに”1”が設定されて記録される。また、振る操作が行われていないときは”0”が設定される。
【0122】
図22に戻り、コースデータ128は、各コースを生成するためのデータであり、各コースに関する情報(コースの構成や各種オブジェクトの配置位置等)が含まれている。オブジェクトデータ129は、プレイヤキャラクタ105や敵キャラクタ112等の、ゲーム中に登場する各種キャラクタのポリゴンモデルデータである。画像データ130は、上記オブジェクトに貼り付けるテクスチャ画像や背景画像等の各種画像のデータである。音声・効果音データ131は、ゲーム中に再生される音声や効果音のデータである。BGMデータ132は、ゲーム中にBGMとして再生される楽曲のデータである。
【0123】
作業領域133は、ゲーム処理において一時的に生成・記憶されるデータのための記憶領域であり、操作データ134、クリア状態データ135、失敗回数記録データ139の他、プレイヤキャラクタ105の残数等、ゲーム処理において一時的に必要となる各種データ等が記憶される。
【0124】
操作データ134は、コントローラ7からゲーム装置3へ送信されてくる操作データである。本実施形態では、コントローラ5からゲーム装置3へ1/200秒に1回の割合で操作データが送信され、外部メインメモリ12に記憶される操作データ134はこの割合で更新される。本実施形態においては、外部メインメモリ12には、最新の(最後に取得された)操作データのみが記憶されればよい。
【0125】
なお、上記拡張コントローラ36がコントローラ7に接続されている場合は、当該操作データ134には、当該拡張コントローラ36の操作データも含まれる。例えば、アナログスティック38の操作内容を示すデータやボタン40の押圧状態を示すデータが含まれる。
【0126】
クリア状態データ135は、コースをクリアしたときの状態に関する情報である。図25はクリア状態データ135のデータ構造の一例を示した図である。クリア状態データ135は、表ゴールフラグ1351、裏ゴールフラグ1352、お手本クリアフラグ1353から構成される。表ゴールフラグ1351、裏ゴールフラグ1352、お手本クリアフラグ1353は、選択コースがクリアされたときのクリアの仕方を示すためのデータである。初期値として全て0が設定され、表ゴールでクリアされたときは、表ゴールフラグ1351に”1”が設定される。裏ゴールでクリアされたときは、裏ゴールフラグ1352に”1”が設定される。また、お手本プレイでクリアされたときは、お手本クリアフラグ1353に”1”が設定される。
【0127】
失敗回数記録データ139は、各コースでミスした回数に関する情報である。図26は、失敗回数記録データ139のデータ構造の一例を示した図である。失敗回数記録データ139は、コース番号1391、失敗回数データ1392、の集合から構成される。コース番号1391は、各コースを一意に識別するためのデータである。失敗回数データ1392は、該当するコースにおいて、プレイヤがミスした回数を示すデータである。
【0128】
次に、図27〜図30を参照して、ゲーム装置3によって実行されるゲーム処理について説明する。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、ROM/RTC13に記憶されている起動プログラムを実行し、これによって外部メインメモリ12等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムが外部メインメモリ12に読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。
【0129】
図27はゲーム装置3によって実行されるゲーム処理の全体処理を示すフローチャートである。なお、図27〜図30に示すフローチャートにおいては、ゲーム処理のうち、上述したようなコースの選択や各コースのクリア時に関する処理、お手本プレイに関する処理について説明し、本願発明とは直接関連しない他の処理については詳細な説明を省略する。また、当該フローチャートを用いた説明にかかるコースは、ゴール地点が2つ設けられているコースであるとする。
【0130】
図27において、まず、ステップS1において、ゲーム処理の準備のための初期設定処理が実行される。より具体的は、作業領域133の各種データ、フラグが初期化される。その後、一旦、操作データ134が取得される。
【0131】
次に、ステップS2において、プレイヤからゲーム終了の指示がなされたか否かが操作データ134に基づいて判定される。当該判定の結果、ゲーム終了指示がなされていないと判定されたときは(ステップS2でNO)、次のステップS3に処理が進められる。
【0132】
ステップS3においては、コース選択処理が実行される。このステップS3の処理をより具体的に説明すると、まず、CPU10は、図10に示したようなワールドマップ画面を生成して、ゲーム画面として表示する。そして、プレイヤからの操作を受け付ける。プレイヤからのコースの選択操作を受け付ければ、CPU10は、当該選択されたコース(以下、選択コースと呼ぶ)にかかるコース処理の準備を行う。すなわち、選択コースに対応するコースデータ128を外部メインメモリ12から読み込み、選択コースにかかる仮想ゲーム空間を生成する。そして、CPU10は、プレイヤオブジェクト等を当該仮想ゲーム空間内に適宜配置する。また、CPU10は、仮想カメラが当該選択コースのスタート地点を撮影するように設定する(つまり、最初はスタート地点が画面に表示されるような設定が行われる)。
【0133】
次に、ステップS4において、選択コースにかかるゲーム処理である、コース処理が実行される。図28および図29は、上記ステップS4で示したコース処理の詳細を示すフローチャートである。図28において、まず、ステップS11において、当該選択コースに対応する失敗回数データ1392(例えば、コース番号1391で特定可能である)が作業領域133から取得される(ゲーム開始直後は、失敗回数データ1392には初期値として0が設定されている)。
【0134】
次に、ステップS12において、選択コースにおけるプレイヤの失敗(ここでいう失敗は、プレイヤキャラクタの残数を減らすようなミス)の回数が8回以上か否かが判定される。当該判定の結果、失敗回数が8回未満と判定されたときは(ステップS12でNO)、プレイヤの行った操作に基づくプレイヤキャラクタ105の動作処理が実行される。すなわち、次のステップS13において、操作データ134が取得される。続くステップS14において、当該操作データ134に基づいたプレイヤキャラクタ105の動作制御が実行される。更に、ステップS15において、その他のゲーム制御処理(敵キャラクタの移動や当たり判定、点数加算等のゲーム処理)が実行され、その結果を反映したゲーム画面が生成、表示される。
【0135】
次に、ステップS16において、選択コースがクリアされたか否かが判定される。すなわち、表ゴール地点あるいは裏ゴール地点にプレイヤキャラクタ105が到達したか否かが判定される。当該判定の結果、まだ選択コースがクリアされていないと判定されたときは(ステップS16でNO)、次に、ステップS17で、プレイヤが上述したような(プレイヤキャラクタの残数を減らすような)ミスをしたか否かが判定される。その結果、ミスもしていないと判定されたときは(ステップS17でNO)、上記ステップS13に戻って、プレイヤの操作に基づくプレイヤキャラクタの動作制御処理が繰り返される。
【0136】
一方、ステップS17の判定の結果、プレイヤがミスしたと判定されたときは(ステップS17でYES)、ステップS18において、選択コースに対応する失敗回数データ1392に1が加算される。また、プレイヤキャラクタの残数を減らす等、ミスに伴う他のゲーム処理も適宜実行される。続くステップS19の処理で、ミスしたときの演出をゲーム画面として表示する処理が実行され、コース処理は終了する。
【0137】
一方、上記ステップS16の判定の結果、コースをクリアしたと判定されたときは(ステップS16でYES)、次に、ステップS20において、プレイヤキャラクタ105が表ゴールに着いたことによるクリアであるか否かが判定される。当該判定の結果、表ゴールに着いてのクリアであると判定されたときは(ステップS20でYES)、ステップS21において、選択コースの表ゴールフラグ1351にオンが設定される。一方、表ゴールに着いてのクリアではないと判定されたときは(ステップS20でNO)、ステップS22において、選択コースの裏ゴールフラグ1352にオンが設定される。そして、コース処理は終了する。
【0138】
次に、上記ステップS12において、失敗回数が8回以上と判定されたときの処理について説明する。ステップS12の判定で、失敗回数が8回以上と判定されたときは(ステップS12でYES)、ステップS23において、上述したようなお手本ブロック110(上記図17参照)が生成され、選択コースのスタート地点に配置される。
【0139】
次に、ステップS24において、当該お手本ブロック110が配置されたゲーム画面が表示される。次に、ステップS25において、操作データ134が取得され、ステップS26において、当該操作データ134に基づいて、上記お手本ブロック110が使用されたか否かが判定される。その結果、お手本ブロック110が使用されていないと判定されたときは(ステップS26でNO)、上記ステップS14に処理が進められ、プレイヤの行う操作に基づくプレイヤキャラクタ105の動作制御処理が実行される。
【0140】
一方、ステップS26の判定の結果、お手本ブロック110が使用されたと判定されたときは(ステップS26でYES)、上述したような、お手本データに基づく先生キャラクタ111の動作制御にかかる処理が実行される。具体的には、まず、ステップS27において、選択コースに対応するコース用データ127が外部メインメモリ12から取得される。更に、上述したような先生キャラクタ111への変更や、画面レイアウトの変更(画面左上に「お手本プレイ」の表示を行う)等、上記「お手本プレイ」のための準備処理も適宜行われる。
【0141】
次に、ステップS28において、当該取得されたコース用データ127から、1フレーム(ここでは1/60秒)分のお手本操作データ136が取得される(お手本操作データ136は1件が1/200秒分のデータでるため、大体3〜4件取得されることになる)。
【0142】
次に、ステップS29において、当該お手本操作データ136に基づいた先生キャラクタの動作制御が実行される。続いて、ステップS30において、その他のゲーム処理およびゲーム画面の表示処理が実行される。当該処理は、上記ステップS15の処理と同様である。
【0143】
次に、ステップS31において、お手本プレイの中断指示がなされたか否かを判定するために、操作データ134が取得される。続くステップS32において、お手本プレイの中断を指示する操作が行われたか否かが当該操作データ134に基づいて判定される。当該判定の結果、お手本プレイの中断指示操作が行われていないと判定されたときは(ステップS32でNO)、ステップS33において、先生キャラクタによるコースのクリアが行われたか、あるいは、何らかの原因で先生キャラクタに上述したようなミスが発生したか否かが判定される。なお、ここで先生キャラクタ111に発生するミスを判定に含めているのは、例えば、同じコースを同じお手本プレイで実行した際にも、ゲーム装置の負荷状況等で、先生キャラクタ111の動作に予期せぬずれが生じた場合を想定したものである。当該判定の結果、先生キャラクタ111によるコースのクリアあるいはミスが発生していないと判定されたときは(ステップS33でNO)、上記ステップS28の処理に戻り、お手本プレイが継続される。一方、ステップS33の判定の結果、先生キャラクタ111によるコースクリアが発生したか、あるいは先生キャラクタ111のミスが発生したと判定されたときは(ステップS33でYES)、後述するような、お手本プレイにおけるコースクリア時の処理が実行される(ここでは、先に、お手本プレイ中断時の処理について説明する)。
【0144】
一方、上記ステップS32の判定の結果、お手本プレイの中断指示がなされたと判定されたときは(ステップS32でYES)、ステップS34において、ゲーム進行が一時停止され、お手本プレイが中断される旨のメッセージ(図示せず)が表示される。また、先生キャラクタ111の動作制御の基となるデータ(入力ソース)を、お手本操作データ136から、操作データ134に切り替える処理も実行される。
【0145】
次に、ステップS35において、操作データが取得される。そして、ステップS36において、操作データ134に基づく先生キャラクタ111の動作制御が実行される。更に、ステップS37において、上記ステップS15の処理と同様の、その他のゲーム制御処理およびゲーム画面の表示処理が実行される。
【0146】
次に、ステップS38において、選択コースがクリアされたか否かが判定される。当該判定の結果、選択コースがクリアされたと判定されたときは、お手本プレイを中断してのコースクリア(先生キャラクタ111によるコースクリア)であることになる。この場合は、処理が後述するステップS40に進められて、お手本プレイにおけるコースクリア時の処理が実行されることになる。
【0147】
一方、ステップS38の判定の結果、コースがクリアされていないと判定されたときは(ステップS38でNO)、次に、ステップS39において、ミスが発生したか否かが判定される。その結果、ミスが発生していないと判定されたときは(ステップS39でNO)、上記ステップS35に戻り、プレイヤの操作に基づいた先生キャラクタ111の動作制御が続けられる。一方、ミスが発生したと判定されたときは(ステップS39でYES)、ミスの演出表示のみが行われ(つまり、プレイヤキャラクタ105の残数は減らさない)、当該コース処理が終了する。
【0148】
次に、上記ステップS33あるいはステップS38の判定の結果、YESと判定されたときの処理、すなわち、お手本プレイでゴールに着いたときの処理について説明する。まず、ステップS40において、選択コースのクリア(お手本プレイか否かに関わらず)は、今回が初めてであるか否かが判定される。当該判定の結果、初めてのクリアではないと判定されたときは(ステップS40でNO)、当該コース処理は終了する。なお、上記ステップS33の判定で先生キャラクタ111がミスをした場合も、この処理に分岐することになる。
【0149】
一方、選択コースの初めてのクリアであると判定されたときは(ステップS40でYES)、次に、ステップS41において、上記図20で示したような、プレイヤの自力でのプレイによる選択コースの再チャレンジを確認するためのメッセージが表示され、プレイヤからの入力が受け付けられる。
【0150】
次に、ステップS42において、上記再チャレンジの確認メッセージに対して、再チャレンジを行うことが選択されたか否かが判定される。その結果、再チャレンジを行うことが選択されていたときは(ステップS42でYES)、当該コース処理は終了する(その結果、再度、当該コース処理が最初から繰り返されることになる)。一方、再チャレンジしないことが選択されていたときは(ステップS42でNO)、次に、ステップS43で、上記図21で示したような、再チャレンジするか、次のコースに進むかを問い合わせる再確認メッセージが表示され、プレイヤからの入力が受け付けられる。
【0151】
次に、ステップS44において、上記再確認メッセージに対して、次のコースに進むことが選択されたか否かが判定される。その結果、次のコースに進むことが選択されていないときは(ステップS44でNO)、当該コース処理は終了する。一方、次のコースに進むことが選択されたときは(ステップS44でYES)、ステップS45において、選択コースのお手本クリアフラグ1353にオンが設定されて、当該コース処理が終了する。
【0152】
図27に戻り、ステップS4のコース処理が終了すれば、次に、ステップS5において、クリア処理が実行される。この処理では、クリアしたときの状況(表/裏ゴール、お手本プレイによるゴール)に応じた処理が実行される。図30は、上記ステップS5で示したクリア処理の詳細を示すフローチャートである。図30において、まず、ステップS61において、選択コースにかかるお手本クリアフラグ1353がオンであるか否かが判定される。お手本クリアフラグ1353がオンと判定されたときは(ステップS61でYES)、お手本プレイでクリアしたときにかかる処理が実行される。例えば、コースクリア時の演出の表示が実行される。次に、ステップS63において、上記図15で示したような、表ルート108をオープンにする処理が実行される。次に、ステップS64において、選択コースにかかるお手本クリアフラグ1353がオフに設定される。そして、当該クリア処理は終了する。
【0153】
一方、ステップS61の判定の結果、お手本クリアフラグ1353がオンではないと判定されたときは(ステップS61でNO)、次に、ステップS65において、選択コースの表ゴールフラグ1351がオンであるか否かが判定される。その結果、選択コースの表ゴールフラグ1351がオンと判定されたときは(ステップS65でYES)、ステップS66において、表ゴールに着いてクリアしたときの処理が実行される。例えば、コースクリア時の演出の表示や、クリアボーナス等を点数に加算する処理等が実行される。
【0154】
次に、ステップS67において、上記図15で示したような、表ルート108をオープンにする処理が実行される。当該処理は、上記ステップS63と同様の処理である。続くステップS68において、選択コースにかかる表ゴールフラグ1351がオフに設定される。更に、ステップS69において、選択コースにかかる失敗回数データ1392がリセットされる(0に設定される)。そして、当該クリア処理を終了する。
【0155】
一方、ステップS65の判定の結果、表ゴールフラグ1351がオンではないと判定されたときは(ステップS65でNO)、次に、ステップS70において、選択コースの裏ゴールフラグ1352がオンであるか否かが判定される。その結果、選択コースの裏ゴールフラグ1352がオンと判定されたときは(ステップS70でYES)、ステップS71において、裏ゴールに着いてクリアしたときの処理が実行される。例えば、コースクリア時の演出の表示や、クリアボーナス等を点数に加算する処理等が実行される。
【0156】
次に、ステップS72において、上記図16で示したような、裏ルート109をオープンにする処理が実行される。続くステップS73において、選択コースにかかる裏ゴールフラグ1352がオフに設定される。更に、上述したステップS69において、選択コースにかかる失敗回数データ1392がリセットされる。そして、当該クリア処理を終了する。
【0157】
一方、ステップS70の判定の結果、裏ゴールフラグ1352もオンではないと判定されたときは(ステップS70でNO)、クリアではなく、プレイヤがミスしてコース処理が終了した状況と考えられるため、この場合は、そのままクリア処理は終了する。
【0158】
図27に戻り、ステップS5のクリア処理が終了すれば、ステップS2に戻り、処理が繰り返される。そして、ステップS2の判定において、ゲーム終了指示がなされたと判定されたときは(ステップS2でYES)、本実施形態にかかるゲーム処理は終了する。
【0159】
このように、本実施形態では、基本的には、ゴール(コースクリア)したときの状況(表ゴールか裏ゴールか)によって、その後の処理(表ルートをオープンにするか、裏ルートをオープンにするか)を変えている。一方で、上述したような自動操作用のデータを用いてプレイした場合は、表ゴールでクリアしたときであっても、裏ゴール(自動操作を中断し、途中からプレイヤ自身が操作した場合)でクリアしたときであっても、表ルートをオープンにするという処理が実行される。また、自動操作データを用いてコースをクリアしたときであって、プレイヤ自身の手ではコースがクリアされていないときであっても、次のコースに進めることを可能としている。つまり、自動操作データを用いることで、ゲームを最後までクリアをすることについての難度を下げ、ゲームがあまり上手くない人でもゲームを最後まで(例えば、エンディングが見られるまで)楽しめるようにすることができる。更に、ゲームを最後までクリアすることについての難度は下げつつも、上述したように、自動操作データを用いた場合は「裏ルート」はオープンにしないようにすることで、適度にゲームの面白さを保持することができる。換言すれば、このような、自動操作データを用いているだけでは楽しむことが出来ない要素(裏ルート)を残すことで、自動操作データを用いるだけで簡単にゲームが最後までクリアできてしまうことによってプレイヤがゲームにすぐに飽きてしまうことを防ぎ、ゲームの興趣性をより高めることができる。
【0160】
なお、上記実施形態では、お手本プレイ時は、プレイヤキャラクタ105を先生キャラクタ111に変更していたが、上述したように、お手本プレイに際して、必ずしも先生キャラクタ111に変更する必要はない。お手本プレイ時においても、プレイヤキャラクタ105をそのまま用いて、当該プレイヤキャラクタ105を上記お手本操作データ136に基づいて動作制御するようにすればよい。また、この場合は、上記のように、お手本プレイ中は得点を加算しないようにしたり、ミスしてもプレイヤキャラクタの残数を減らさないようにしたりしてもよいし、お手本プレイではないときと同様に、得点の加算等を行っても良い。
【0161】
また、上述した実施形態では、表ゴールと裏ゴールの2つのゴール地点を設け、どちらのゴールに着いてコースをクリアしたかによって、その後の処理を変えていた。このような、実行する処理の内容を決める条件としては、2つのゴール地点を設けることの他、例えば、ゴール地点は1つだけとして、所定のアイテムを取ってゴールしたか否かでその後の処理を変化させるようにしてもよい。つまり、所定のアイテムを取ってゴールすれば、裏ルート、取らずにクリアすれば、表ルートとし、お手本プレイの内容としては、当該所定のアイテムを取らないようなプレイ内容(表ルートに行くようなプレイ内容)とすればよい。また、各コースに、クリアするまでの制限時間を設けておき、ゴールしたときの残り時間が所定の時間より長いか否かで、その後に実行する処理を変化させるようにしても良い。また、コース内に設けられている所定の地点を通過してゴールしたか否かで(この場合、コースには、ゴールに至るまでのルートが複数あることが好ましい)、その後の処理を変化させてもよい。更には、ゴールしたときの得点が所定値以上であるか否かで、その後の処理を変化させても良い。
【0162】
また、上述したような、ゴールしたときの状況により変化させる処理の例としても、上述のような表ルート108のオープン/裏ルート109のオープンという処理の他、例えば、コースクリアの報酬として所定のアイテムを入手する/しない、というような処理にしてもよい。
【0163】
また、上記実施形態では、あるコースのクリア後、プレイヤに次にプレイするコースを選ばせる場合を例としていたが、これに限らず、プレイヤにコースの選択操作を行わせないようなゲームに適用してもよい。つまり、上述したようなワールドマップ画面がないゲームであり、例えば、第1のコースを表ゴールでクリアすれば、自動的に第2のコースのプレイが開始されるが、第1のコースを裏ゴールでクリアすれば、自動的に第3のコースのプレイが開始されるような構成としてもよい。
【0164】
また、上記お手本ブロックの出現条件についても、上述したような、8回連続でミスした場合に限らない。ミスした回数は、ゲーム内容に応じて適宜設定すればよい。また、ミスの回数を条件とする他、例えば、コースにクリアまでの制限時間を設けているような場合であれば、残り時間が所定値以下となったときにお手本ブロックを出現させるようにしてもよい。
【0165】
また、プレイヤキャラクタ105にHP(HitPoint)や耐久力が設定されているような場合(例えば、RPG等、プレイヤキャラクタ105について、いわゆる残機・残数という形式を用いないゲーム等)、ダメージを受けた回数や、HP、耐久力の残りの値を条件とするようにしてもよい。つまり、一度敵キャラクタに接触しただけではすぐにはミスとはならないが、敵キャラクタとの接触の度に所定量のダメージが累積加算されていき、このダメージ量がHPや耐久力を越えたらミス(あるいは、ゲームオーバー)となる場合に、ダメージを受けた回数が所定値以上となれば、お手本ブロックを出現させるようにしてもよい。
【0166】
また、プレイヤがゲームの進行に行き詰まっているような状態を判定して、お手本ブロックを出現させるようにしてもよい。例えば、プレイヤが、コース内のある地点(例えば、閉まっている扉がある地点)で、先に進む方法(扉の開け方)がわからずに、コントローラ7から手を離して考え込んでいるような場合、プレイヤキャラクタ105は、同じ場所に居るまま動かない状態となることが考えられる。あるいは、このような地点で、プレイヤが仕掛けを解こうとしてプレイヤキャラクタ105をいろいろと操作するものの、やはり先には進めないような場合は、結果的に、比較的狭い範囲でプレイヤキャラクタ105がうろうろしているような状況、同じような動きを繰り返すような状況(換言すれば、動きが少ない状態)となることが考えられる。そこで、例えば、プレイヤキャラクタ105が一定時間以上動かないことを検知するようにし、このような場合は、先への進み方がわからずにプレイヤが考え込んでいると推定して、例えば、そのときにプレイヤキャラクタ105のいる地点の近傍にお手本ブロックを出現させる処理を行うようにしてもよい。また、プレイヤキャラクタ105の動きが少ないこと、あるいは、同じような動きを繰り返していることを検出して、このような場合はプレイヤが行き詰まっていると推定して、お手本ブロックを出現させる処理を行うようにしてもよい。例えば、操作データ134の履歴を保持する様にし、時間にして過去数分にわたる操作の履歴から、類似するような操作が繰り返されており、かつ、コース内におけるプレイヤキャラクタ105の移動距離も所定値以下であるか否かを判定する。そして、当該条件が満たされているときは、プレイヤキャラクタ105の近傍にお手本ブロックを出現させることが考えられる。または、プレイヤキャラクタ105の移動軌跡を記録するようにして、同じ場所でほとんど同じような移動軌跡を描くような動作が繰り返されておりか否かを判定するようにしてもよい。また、このような場合、お手本ブロックを使用した事によるお手本プレイの開始地点は、上述した実施形態と同様、そのコースの最初からでもよいし、当該お手本ブロックが出現した地点からお手本プレイを見せるようにしてもよい。
【0167】
また、失敗回数データ1392の構成について、上記実施形態では、各コースに対応付ける形で失敗回数データ1392を用意し、コース毎に失敗回数を記録できるような構成としていたが(上記図26参照)、このような構成に限らず、コースと失敗回数との対応づけをしないような構成でもよい。つまり、失敗回数データ1392を一つだけ用意しておき、プレイ中のコースがどこであるかに関わらず、単純に、連続した失敗の回数だけカウントするようにしてもよい。この場合、プレイしているコースが変更される度に(例えば、コース1−2で4回連続ミスした後、プレイするコースをコース1−1のような、別のコースに変更したとき等)、当該失敗回数データをリセットするようにすればよい。
【0168】
また、上記実施形態では、プレイヤキャラクタ105が単体のとき、すなわち、1人プレイ時の場合を例としていた、これに限らず、2人同時プレイのような、複数人同時プレイの場合にも本発明は適用可能である。この場合は、例えば、上記ゲームの開発段階において、お手本操作データ136を作成する時に、1Pプレイヤキャラクタと2Pプレイヤキャラクタのそれぞれのお手本操作データを生成すればよい。そして、上述のような「お手本プレイ」の際には、上記先生キャラクタを2人登場させ、一方を1Pプレイヤキャラクタ用のお手本操作データ、他方を2Pプレイヤキャラクタ用のお手本操作データに基づいて動作制御すればよい。
【0169】
また、上述の実施形態においては、加速度データを利用した操作の例として、コントローラ7を振る操作で可能となる「スピンジャンプ」を例に挙げた。そして、お手本操作データ136に記録される内容としては、加速度データ138として、スピンジャンプが行われたか否か(コントローラ7が振られたか否か)を示すデータを記録するようにしていた。このような形態に限らず、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したデータをそのまま記録するようにしてもよい。例えば、上記のような加速度データからコントローラ7自体の傾きを算出し、ゲーム中の操作に反映するようなギミック(仕掛け)として、図31に示すような、シーソー状のリフト301が設定されていると想定する。このリフト301は、図31(リフト301を左に傾ける例)および図32(同じく、右に傾ける例)で示すように、コントローラ7の傾きに応じてリフト301自体を傾けることが可能となっている。このようなリフト301を利用するコースの場合は、お手本操作データ136を作成するときは、まず、当該リフト301にプレイヤキャラクタ105が乗っているか否かを判別できるようにゲームプログラムを構成しておく。例えば、当該リフト301にプレイヤキャラクタ105が乗っている間は、そのことを示すフラグをオンにする等が考えられる。そして、お手本操作データ136の作成時においては、当該フラグがオンとなっている間だけ、コントローラ7から出力される加速度データを記録するようにすればよい。このように、加速度データが必要となる場面においてのみ、当該加速度データを記録するようにすれば、お手本操作データ136のデータサイズを必要最小限のサイズに抑えることが可能となる。そして、上述したような「お手本プレイ」時においては、上記リフト301にプレイヤキャラクタ105が乗っていることを示すフラグがオンのときだけ、お手本操作データ136に含まれている加速度データを参照し、これに基づくリフト301の動作制御を行うようにすればよい。
【0170】
また、加速度データだけでなく、例えば、ジャイロセンサをコントローラ7に備えるようにし、角速度データを利用したゲーム操作、およびその操作を記録するようにしてもよい。例えば、上述したようなリフト301の傾き制御について、加速度データの代わりに角速度データを用いるようにしても良い。
【0171】
また、お手本操作データ136には、上記撮像情報演算部74から出力された上記マーカ座標を含めるようにしても良い。プレイヤが、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がマーカ8aおよび8bの方向を向く状態でコントローラ7を把持して操作したような場合に、例えば、プレイヤがコントローラ7で指し示している指示位置(ポインティング座標)を利用した処理についても、「お手本プレイ」として再現することが可能となる。
【0172】
また、上記実施形態では、2Dスクロールアクションゲームを例として説明したが、ゲームの種類はこれに限らず、例えば、カーレースゲームやロールプレイングゲーム等にも適用可能である。
【0173】
(第2の実施形態)
次に、図33から図46を参照して、本発明の第2の実施形態について説明する。上述の第1の実施形態では、お手本操作データ136として、プレイヤキャラクタ105の動作に関するデータを使用していた。これに対して、第2の実施形態では、お手本操作データ136に、プレイヤキャラクタ105の動作に関する要素以外の要素のデータ(以下、拡張データと呼ぶ)を含める。当該拡張データは、自動制御されるプレイヤキャラクタ105の行動に直接関連する、あるいは、直接影響を与えるような要素のデータである(本実施形態では、以下に説明するような、BGM連動動作に関するデータである)。なお、当該実施形態に係るゲーム装置3は、上述した第1の実施形態と同様であるため、同一の参照符号を付して詳細な説明を省略する。
【0174】
次に、第2の実施形態で想定するゲームの概要について説明する。基本的には、第1の実施形態で説明したゲームと同様であるが、第2の実施形態におけるゲームでは、BGMに併せて、敵キャラクタ112が特定の動きを行う。例えば、BGMの中のあるタイミング(楽曲の構成上、アクセントとなるような音が鳴るタイミング)で、移動中の敵キャラクタ112が一瞬立ち止まって、その場で軽くジャンプする、というように、敵キャラクタ112が、BGMに併せた所定の動きを行う(敵キャラクタが、BGMに併せてさりげなくダンスしているように見える)。以下、この動作のことを、BGM連動動作と呼ぶ。
【0175】
このようなゲームにおいて、お手本操作データ136の作成の際に、以下のような敵キャラクタ112の動作、および、プレイヤキャラクタ105の操作が行われたとする。まず、図33に示すように、画面の右方向から左方向に向けて、敵キャラクタ112が移動している状況であるとする(図33等において敵キャラクタ112の側に表示されている矢印は、当該敵キャラクタ112の移動方向を示すために便宜上付しているものである)。また、このとき、プレイヤキャラクタ105は、画面の左のほうに位置し、プレイヤ(この場合、お手本操作を行う開発者)は、当該敵キャラクタを「踏みつけ攻撃」するタイミングを測っているとする。また、図33では、このときに流れているBGMを示すために、画面例の下に模式的に楽譜を示している。そして、当該楽譜において三角印で示す位置(音符201の位置)が、現在再生されている位置であるとする。以下、この図で示したタイミングを、「第1フレーム状態」と呼ぶ。
【0176】
次に、この後、図34に示すような状況にゲーム進行が進んだとする。つまり、敵キャラクタ112が更に左に移動した結果、x軸上に置いて画面のほぼ中央の位置に敵キャラクタ112が来ているとする。また、BGMは、更に再生が進んで、音符205の位置が再生されているとする。ここで、この音符205が再生されるタイミングが、上述したような、敵キャラクタ112にBGM連動動作を行わせるタイミングであるとする。以下、このタイミングのことをトリガタイミングと呼ぶ。その結果、図35に示すように、このタイミングで、敵キャラクタ112は、左方向への移動を一旦止め、その場で軽くジャンプする。以下、この図34、図35におけるタイミングを「第2フレーム状態」と呼ぶ。その後、図36に示すように、敵キャラクタ112は着地する。また、BGMも、若干再生が進んだ状態となっている。以下、この図におけるタイミングを「第3フレーム状態」と呼ぶ。
【0177】
その後、図37に示すように、敵キャラクタ112は、左方向への移動を再開する。以下、この図のタイミングを「第4フレーム状態」と呼ぶ。そして、このタイミングにおいて、開発者は、プレイヤキャラクタ105に敵キャラクタ112を「踏みつけ攻撃」させるために、プレイヤキャラクタ105を右上方向にジャンプさせる操作を行う。
【0178】
その後、図38に示すように、更に左方向へ移動した敵キャラクタ112をプレイヤキャラクタ105が踏みつけることで、敵キャラクタ112への「踏みつけ攻撃」が成功している。以下、この図におけるタイミングを「第5フレーム状態」と呼ぶ。
【0179】
上記のように、お手本操作データ136の作成時においては、上記「第4フレーム状態」のタイミングで、プレイヤキャラクタ105が「踏みつけ攻撃」動作を開始している。
【0180】
ここで、本実施形態では、BGMの再生は、ストリーミング再生を行っているものとする。所定のコースの開始時に、光ディスク4からBGMデータを読み込んで、BGMの再生を開始している。この場合、光ディスク4の表面の汚れ等が原因で、コース開始時のBGMデータの読み込みに時間がかかることがある。その結果、BGM再生の開始タイミングが、お手本データ作成時のプレイ環境に比べて遅延してしまうことがあり得る。このような、BGM再生開始タイミングの遅延が発生すると、お手本操作データ136作成時の時に比べて、敵キャラクタ112が行うBGM連動動作のタイミングが若干異なることが考えられる。図39〜図44は、上記図33〜図38で説明したお手本操作データ136作成時のときよりも、BGMの再生開始タイミングが若干遅れた場合に上記のお手本操作データ136で先生キャラクタ111が動作制御された場合を想定した図である。この場合、まず、上記「第1フレーム状態」にタイミング的に相当する図39では、BGMの再生位置が、上記図33で示した再生位置まで達していない状態である。
【0181】
そして、タイミング的に上記「第2フレーム状態」に相当する図40で示されるようなタイミングのときに、ようやくBGMの再生位置が上記図33で示した音符201の位置に来ている。
【0182】
図41は、上記「第3フレーム状態」のタイミングに相当する状態を示しており、図42は、上記「第4フレーム状態」のタイミングに相当する状態を示している。上記のように、お手本操作データ136作成時においては、「第3フレーム状態」「第4フレーム状態」のタイミングで敵キャラクタ112が音符205の再生(トリガタイミング)に併せてジャンプしていた。しかし、図41および図42では、まだBGMの再生位置が音符205の位置に達していないため、敵キャラクタ112はジャンプせずに、そのまま左方向へ移動している。その結果、図43で示すように、先生キャラクタ111が「踏みつけ攻撃」の動作を開始したタイミングにおける敵キャラクタ112の位置が、お手本操作データ作成時の位置とは異なってしまう。そして、図44に示すように、「踏みつけ攻撃」が敵キャラクタ112に命中せずに、「お手本プレイ」であるにも関わらず、当該攻撃が失敗に終わってしまうことになる。
【0183】
そこで、第2の実施形態では、上記お手本操作データ136に、上述したようなトリガタイミングであることを示すデータを拡張データとして含めておく。そして、「お手本プレイ」の際には、ボタンデータ137でプレイヤキャラクタ(先生キャラクタ)を動作制御すると共に、拡張データに基づいた敵キャラクタの(部分的な)動作制御も行う(基本的には、敵キャラクタ112は別途独自の思考ルーチン等で動作制御されているが、BGM連動動作のみ、強制割り込みで動作制御される、という意味での「部分的に」である)。つまり、お手本プレイ中においては、厳密には、BGMに併せて敵キャラクタ112に上記BGM連動動作(その場でジャンプ)を行わせるのではなく、お手本操作データ136に含まれる拡張データに基づいて上記BGM連動動作の制御が行われることになる(その結果、お手本プレイ中においては、BGMと敵キャラクタ112の動作とが、必ずしも同期したものとはならないことになる)。このように構成することで、上述したような「お手本プレイ」における動作の不都合を回避することが可能となる。
【0184】
次に、第2の実施形態におけるデータについて説明する。基本的には、第1の実施形態で説明したデータを同じ構成のデータが第2の実施形態でも用いられるが、上述したように、お手本操作データ136に拡張データが含まれる点と、BGMデータ132に関しては、第1の実施形態と相違する。ここでは、当該相違しているデータについてのみ説明する。
【0185】
まず、第2の実施形態におけるBGMデータ132には、上述した「トリガタイミング」を示すデータ(以下、トリガ用データ)が含まれる。これは、例えば、BGMデータの一部に、再生される音とは関係のない値をトリガ用データとして埋め込むことで実現される。あるいは、次のような構成でもよい。まず、BGMのテンポを示す情報(図示せず)を基に、BGMの拍を計算する。次に、拍が起こる位置を当該BGMのストリームのサンプル数から算出する。そして、当該拍が起こる位置を示すデータを「トリガ用データ」とする。つまり、拍のタイミングで、敵キャラクタにBGM連動動作を行わせることになる。
【0186】
次に、第2の実施形態におけるお手本操作データ136について説明する。図45は、第2の実施形態にいけるお手本操作データ136の構成の一例を示す図である。図45に示すお手本操作データ136は、第1の実施形態において図23を用いて説明したお手本操作データ136の構成に拡張データ231が加わった構成となっている。当該拡張データ231は、上記トリガアクセントが発生したか否かを示すデータである。本実施形態では、拡張データ231の値が”0”のときはトリガアクセントは発生しておらず、”1”のときはトリガアクセントが発生したことを示す。また、本データの作成に関しては、お手本操作データ作成時(開発者がお手本となる操作を行っているとき)において、上記BGMデータが毎フレーム読み込まれ、上記トリガ用データが検出されたタイミングで、当該拡張データ231に”1”が設定されて記録される。
【0187】
次に、第2の実施形態におけるゲーム処理に関して説明する。第2の実施形態におけるゲーム処理は、基本的に第1の実施形態で説明した処理と同様の処理が実行されるが、「お手本プレイ」にかかる処理に関して、一部異なる処理が実行され、第1の実施形態とは異なる機能が実現される。ここでは、この異なる処理の部分についてのみ説明する。
【0188】
具体的には、第1の実施形態で図28および図29を用いて説明したコース処理に関し、図29で示したフローチャートが、図46に示すようなフローチャートの処理となる。すなわち、図46において、ステップS29の処理の次に、ステップS81において、上記拡張データ231に基づき、敵キャラクタ112のBGM連動動作の制御が実行される。つまり、拡張データ231の値が”1”のときは、敵キャラクタ112を軽くその場でジャンプさせるという動作制御が実行される。その後、第1の実施形態で説明したステップS30以降の処理が実行される。以上で、第2の実施形態におけるゲーム処理の説明は終了する。
【0189】
このように、第2の実施形態では、BGMと連動して敵キャラクタに所定の動作を行わせる場合に、お手本プレイの内容に影響を及ぼすような要素(ここではトリガアクセント)については、お手本操作用データの中に含めるようにし、お手本プレイによる先生キャラクタ111の動作制御時に支障がでないようにしている。換言すれば、上記のようなBGMに連動して敵キャラクタが動作する等の、通常のゲームプレイ時はプレイヤの操作入力以外の要素で所定の動作のタイミングを制御するような要素であって、且つ、プレイヤキャラクタの動作に直接的に影響を及ぼすような要素については、上記お手本操作データのような、プレイヤキャラクタを自動的に動作制御させるためのデータに含めるようにしている。
【0190】
なお、上記では説明の簡略化のため、敵キャラクタ112を1種類だけで説明したが、複数種類の敵キャラクタを登場させるときは、各種類の敵キャラクタ毎に、異なる内容のBGM連動動作を行わせるようにしても良い。また、上記トリガタイミングにおいて、BGM連動動作を行う敵キャラクタとBGM連動動作を行わない敵キャラクタを混在させるようにしてもよい。また、敵キャラクタの種類に応じて上記トリガデータを複数種類設けておくようにしてもよい。例えば、第1のトリガデータに対しては第1の種類の敵キャラクタのみがBGM連動動作を行い、第2のトリガデータに対しては、第2の種類の敵キャラクタのみがBGM連動動作を行うようにしてもよい。
【産業上の利用可能性】
【0191】
本発明にかかるゲームプログラムおよびゲーム装置は、ゲームの興趣性を高めることができ、据置型ゲーム装置や携帯型ゲーム装置、携帯型情報端末やパーソナルコンピュータ等のゲームプログラムが実行される各種情報処理装置等に有用である。
【符号の説明】
【0192】
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
4…光ディスク
7…コントローラ
10…CPU
11…システムLSI
11a…入出力プロセッサ
11b…GPU
11c…DSP
11d…VRAM
11e…内部メインメモリ
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22…アンテナ
23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
707…サウンドIC
708…アンプ

【特許請求の範囲】
【請求項1】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置のコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行するゲーム制御手段として機能させる、ゲームプログラム。
【請求項2】
前記ゲームプログラムは、前記コンピュータを、前記操作対象キャラクタの動作制御を前記手動操作手段による動作制御と前記自動動作制御手段による動作制御との間で切り替える手動自動切換手段として更に機能させる、請求項1に記載のゲームプログラム。
【請求項3】
前記ゲームプログラムは、前記コンピュータを、前記自動動作制御手段によって前記操作対象キャラクタが動作制御されているときに、当該動作制御中に入力された前記操作データに基づいて当該自動動作制御手段による動作制御を中断し、前記手動操作手段による動作制御に切り替える自動制御中断手段として更に機能させる、請求項2に記載のゲームプログラム。
【請求項4】
前記自動操作データは、前記操作対象キャラクタが前記第1の条件を満たす動作内容となる一連の操作データである、請求項1に記載のゲームプログラム。
【請求項5】
前記ゲーム制御手段は、前記ゲームプログラムの実行によるゲームの進行中における所定の区間内において実行され、当該ゲームの進行中における所定の区間内の少なくとも一部分において前記自動動作制御手段によって前記操作対象キャラクタが動作制御されたときは、前記第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも前記第1の処理を実行する、請求項1に記載のゲームプログラム。
【請求項6】
前記ゲームプログラムで実行されるゲームは、当該ゲームの進行状況を、ゲームの進み具合に応じた所定の構成単位で区切った複数のゲームステージで構成されており、当該複数のゲームステージを順次クリアしていくことによって最終的なゲームクリアを目指すゲームであり、
前記所定の区間とは、前記ゲームステージのことである、請求項5に記載のゲームプログラム。
【請求項7】
前記第1の条件とは、前記ゲームステージにおける前記仮想ゲーム空間内に予め設定されている第1の地点に前記操作対象キャラクタが到達したことであり、
前記第2の条件とは、前記ゲームステージにおける前記仮想ゲーム空間内に予め設定されている第2の地点に前記操作対象キャラクタが到達したことである、請求項6に記載のゲームプログラム。
【請求項8】
前記第1の処理とは、次にプレイする前記ゲームステージとして所定のステージを設定する処理であり、前記第2の処理は、次にプレイする前記ゲームステージとして前記所定のステージとは異なるステージを設定する処理である、請求項6に記載のゲームプログラム。
【請求項9】
前記第1の処理とは、次にプレイ可能な前記ゲームステージとして所定のステージをプレイヤが選択可能とする処理であり、前記第2の処理は、前記第1の処理で設定されるものとは異なる別のステージを前記次にプレイ可能なゲームステージとして選択可能とする処理である、請求項8に記載のゲームプログラム。
【請求項10】
前記第1の処理とは、次にプレイする区間として所定の区間を設定する処理であり、前記第2の処理とは、次にプレイする区間として前記第1の処理とは異なる区間を設定する処理である、請求項5に記載のゲームプログラム。
【請求項11】
前記第1の条件及び前記第2の条件とは、前記操作対象キャラクタが前記仮想ゲーム空間内において達成することができる所定の条件である、請求項1に記載のゲームプログラム。
【請求項12】
前記ゲームプログラムは、前記コンピュータを、
前記操作データに基づいて、前記手動操作手段による制御から前記自動制御手段による制御への切替を指示するための自動制御指示手段として更に機能させ、
前記自動制御指示手段からの指示があったときにのみ、前記操作対象キャラクタの動作制御を切り替える、請求項2に記載のゲームプログラム。
【請求項13】
前記自動制御指示手段は、前記手動操作手段によって前記操作対象キャラクタが動作制御されている状態において、ゲーム中における所定の条件が満たされたときにのみ利用可能とする、請求項12に記載のゲームプログラム。
【請求項14】
前記自動制御指示手段は、ゲーム中における所定の条件が満たされたときに前記仮想ゲーム空間内に指示用オブジェクトを配置し、前記操作対象キャラクタが当該指示用オブジェクトに対して所定の行動を起こしたときに、前記動作制御の切替を前記自動制御切替手段に指示する、請求項13に記載のゲームプログラム。
【請求項15】
前記自動制御指示手段は、前記手動操作手段によって操作されている操作対象キャラクタが予め設定されている所定の失敗条件を所定の回数満たしたときに、前記指示用オブジェクトを配置する、請求項14に記載のゲームプログラム。
【請求項16】
前記自動制御指示手段は、前記所定の区間におけるプレイ時間が予め設定されている閾値を上回ったときに、前記指示用オブジェクトを配置する、請求項14に記載のゲームプログラム。
【請求項17】
前記ゲームプログラムは、前記コンピュータを、
前記自動制御手段によって前記操作対象オブジェクトが動作制御された状態で前記ゲームステージがクリアされたとき、当該ゲームステージをやり直すか否かを問い合わせる確認手段と、
前記確認手段で前記ゲームステージのやり直しが選択されたときは、当該ゲームステージの開始前の状態にゲーム状態を復元する復元手段として更に機能させる、請求項1に記載のゲームプログラム。
【請求項18】
前記ゲームプログラムは、前記コンピュータを、
前記操作対象キャラクタではないキャラクタである非操作対象キャラクタの動作の一部を制御するためのデータが含まれたBGMを再生するBGM再生手段と、
前記BGMに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御するBGM連動動作制御手段して更に機能させ、
前記自動操作データには、前記非操作対象キャラクタの動作の一部を制御するためのデータが含まれ、
前記手動操作手段によって前記操作対象キャラクタが動作制御されているときは、BGM連動動作制御手段が前記BGMに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御し、
前記自動動作制御手段によって前記操作対象キャラクタが動作制御されているときは、当該自動動作制御手段が前記自動操作データに含まれる前記非操作対象キャラクタの動作の一部を制御するためのデータに基づいて当該非操作対象キャラクタの動作の一部を制御する、請求項1に記載のゲームプログラム。
【請求項19】
前記入力装置は、押圧可能なボタンを少なくとも1つ備えており、
前記自動操作データには、前記ボタンの押圧操作の有無を示すためのボタンデータが含まれる、請求項1に記載のゲームプログラム。
【請求項20】
前記入力装置は、加速度センサを備えており、
前記自動操作データには、前記加速度センサから出力された加速度データが含まれる、請求項1に記載のゲームプログラム。
【請求項21】
前記入力装置は、角速度センサを備えており、
前記自動操作データには、前記角速度センサから出力された角速度データが含まれる、請求項1に記載のゲームプログラム。
【請求項22】
前記入力装置は、少なくとも一つの撮像対象を撮像するための撮像手段を備えており、
前記自動操作データには、前記撮像手段を備えた入力装置から出力された撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる、請求項1に記載のゲームプログラム。
【請求項23】
前記入力装置は、アナログ方式の入力が可能なアナログ操作手段を備えており、
前記自動操作データには、前記アナログ操作手段を備えた入力装置から出力されたアナログ操作データが含まれる、請求項1に記載のゲームプログラム。
【請求項24】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲーム装置であって、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め作成された操作データである自動操作データを記憶する自動操作データ記憶手段と、
前記自動操作データ記憶手段から前記自動操作データを取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行するゲーム制御手段とを備える、ゲーム装置。
【請求項25】
プレイヤが入力した操作入力内容を示す操作データを出力する所定の入力装置を備え、仮想ゲーム空間内に存在する所定の操作対象キャラクタを表示するゲームの制御方法であって、
前記操作データに基づいて前記操作対象キャラクタの動作を制御する手動操作手段と、
前記操作対象キャラクタを連続的に動作させるための一連の操作データであって、予め所定の記憶手段に記憶されている自動操作データを当該記憶手段から取得する自動操作データ取得手段と、
前記自動操作データに基づいて、前記操作対象キャラクタの動作を前記手動操作手段の代わりに制御する自動動作制御手段と、
前記自動操作データは用いずに前記手動操作手段によって前記操作対象キャラクタが動作制御された結果、第1の条件が満たされたときは第1の処理を実行し、第2の条件が満たされたときは当該第1の処理とは異なる第2の処理を実行し、前記自動動作制御手段によって当該操作対象キャラクタが動作制御されたときは、当該第1の条件が満たされたときであっても第2の条件が満たされたときであっても、いずれの場合でも当該第1の処理を実行するゲーム制御手段とを備える、ゲームの制御方法。

【図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

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate


【公開番号】特開2011−101754(P2011−101754A)
【公開日】平成23年5月26日(2011.5.26)
【国際特許分類】
【出願番号】特願2009−258311(P2009−258311)
【出願日】平成21年11月11日(2009.11.11)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】