説明

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

【課題】プレイヤが必要とするときにのみゲームの攻略情報を提供すると共に、ゲームプレイに充分な時間が取れないプレイヤでもゲームを最後まで進めることができ、ゲームクリアすることが可能なゲームプログラムおよびゲーム装置を提供すること。
【解決手段】ゲーム中の所定の期間においてプレイヤの操作入力に替えてプレイヤキャラクタを連続的に動作させるための一連の操作データを自動操作用データとして予め記憶しておく。自動制御手段は、当該自動操作用データに基づいてプレイヤキャラクタを動作させる。また、自動制御手段においてプレイヤキャラクタが動作している間、ユーザのプレイ開始を指示するプレイ開始操作を受け付ける。そして、プレイ開始操作を受け付けたタイミングで、自動操作用データに基づくプレイヤキャラクタの動作を終了し、プレイヤの操作に基づいてプレイヤキャラクタの動作制御を開始する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
従来から、ビデオゲーム装置で行われるビデオゲームには、多くの種類が存在する。その中に、ロールプレイングゲームや、アクションアドベンチャーゲーム、アクションロールプレイングゲームと云われる種類のゲームがある。
【0003】
これらのゲームでは、主に、核となるストーリーやシナリオが予め設定されており、このストーリーやシナリオに沿ってゲームを進めていくのが一般的である。しかし、中には、これらストーリーやシナリオのボリュームが大きく、ゲームをクリアするまでに多大な時間を要するものがあった。また、ゲームの興趣を高めるために、シナリオ中に様々な謎を設けたり、高度なアクション(プレイヤの操作)等を求めたりする場合もある。しかし、これらの謎等の難度が高すぎて、ゲーム進行が途中で行き詰まり、最後までクリアできないという問題があった。そのような問題を解決する手法として、ゲーム中に、ゲームを進めるためのヒントを表示することで、ゲームの難度を下げるというゲーム制御方法が開示されている(例えば、特許文献1)。このゲーム制御方法では、特別なアクションを実行可能な場所の近くで、特別アクションを実行可能なキャラクタがパーティ(プレイヤが操作しているプレイヤキャラクタのグループ)内にいない場合にヒントメッセージを表示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−200351号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述したような上記特許文献1に開示されたゲーム制御方法においては、以下に示す問題点があった。すなわち、特許文献1に記載されたゲーム制御方法では、条件を満たした場合には必ずヒントが表示されてしまう。そのため、自力で謎を解いて、ゲームを攻略をしたいプレイヤにとっては、自分で考えるより先に謎を解くヒントが表示されてしまう結果、ゲームの興趣性を下げるものとなってしまっていた。また、単なるメッセージの表示では、面白味に欠けるという問題もあった。
【0006】
また、上述のような、ボリュームが大きく、ゲームクリアまでに多大な時間がかかるようなゲームにおいて、ゲームを最後までプレイするための時間が十分に取れるプレイヤは、このようなボリュームの大きなゲームを楽しめる。しかし、ゲームプレイのためにそこまでの時間が割けないようなプレイヤは、例え途中でヒント等が表示されてゲームの難度が下がったとしても、このようなボリュームのあるゲームを最後まで楽しめずに、途中で投げ出してしまうという問題があった。
【0007】
それ故に、本発明の目的は、プレイヤが必要とするときにのみゲームの攻略情報を提供すると共に、ゲームプレイに充分な時間が取れないプレイヤでもゲームを最後まで進めることができ、ゲームクリアすることが可能なゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【0009】
第1の発明は、プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置であって、操作データ記憶手段(12)と、自動制御手段(10)と、開始受付手段(10)と、ゲーム処理手段(10)とを備える。操作データ記憶手段は、ゲーム中の所定の期間において、プレイヤの操作入力に替えてプレイヤキャラクタを連続的に動作させるための一連の操作データを自動操作用データとして記憶する。自動制御手段は、自動操作用データを操作データ記憶手段から読み出し、所定の期間において当該自動操作用データに基づいてプレイヤキャラクタを順次動作させ、表示装置に表示させる。開始受付手段は、自動制御手段においてプレイヤキャラクタが動作している期間中、ユーザのプレイ開始を指示するプレイ開始操作を受け付ける。ゲーム処理手段は、プレイ開始操作を受け付けたタイミングにおいて自動制御手段における自動操作用データに基づいたプレイヤキャラクタの動作を終了し、当該タイミングにおけるプレイヤキャラクタの状態から、プレイヤの入力装置に対する操作入力から出力される操作データに基づいて当該タイミング以降のプレイヤキャラクタの動作を制御する。ここで、上記ゲーム中の所定の期間とは、例えば、ロールプレイングゲームやアドベンチャーゲームのような、所定のゲームシナリオに沿ってゲームが進行するゲームであれば、一本のシナリオを複数のまとまりに分割した「チャプター」等が相当する。また、ステージクリア制のゲームであれば、各ステージが上記ゲーム中の所定の期間に相当する。
【0010】
第1の発明によれば、プレイヤにとって難しい操作が含まれるような場面(ゲーム中の所定の期間)を自動操作用データに基づいたプレイヤキャラクタの動作として提示することで、その場面の攻略方法をプレイヤに伝えることができる。その結果、ゲームに不慣れなプレイヤであっても、ゲーム進行に行き詰まることなく、最後までゲームをプレイして楽しむことが可能となる。また、自動操作用データに基づいてプレイヤキャラクタが動作している最中に、プレイヤの操作入力に基づいたプレイヤキャラクタの動作制御に切り替えることができる。そのため、プレイヤにとって必要最低限の攻略情報が得られた後は、プレイヤキャラクタの自動操作をキャンセルし、プレイヤ自身によるプレイヤキャラクタの動作に切り替えることが可能となる。その結果、プレイヤに自力でゲーム攻略する楽しみを与える余地を残すことが可能となる。
【0011】
第2の発明は、第1の発明において、ゲーム装置は、自動制御手段においてプレイヤキャラクタが動作している期間中、当該表示される動作の速度の設定を変更する指示を受け付ける速度変更受付手段(10)をさらに備える。そして、自動制御手段は、速度変更受付手段において設定された速度に基づいてプレイヤキャラクタの動作を表示装置に表示させる。
【0012】
第3の発明は、第2の発明において、自動操作用データは、表示の更新期間と等しいまたは表示の更新期間よりも短い単位時間毎に区切られた複数の操作データとして構成されている。そして、自動制御手段は、単位時間毎の操作データを順に読み出して、当該操作データ毎にプレイヤキャラクタを動作させる動作処理を行い、表示の更新期間毎のタイミングで、当該タイミングにおけるプレイヤキャラクタを表示装置に表示させ、表示の更新期間内の動作処理の回数を速度変更受付手段において設定された速度に応じて変更することで、プレイヤキャラクタの動作が表示される速度を変更する。
【0013】
第4の発明は、第3の発明において、自動制御手段は、表示の更新期間内の動作処理の回数を増やすことで早送り再生を行う。
【0014】
第5の発明は、第3の発明において、自動制御手段は、画面の更新期間内の動作処理の回数を減らすことでスロー再生を行う。
【0015】
第2乃至第5の発明によれば、自動制御手段が実行するプレイヤキャラクタの動作の表示速度をプレイヤに変更させることが可能となる。これにより、自動制御手段が実行するプレイヤキャラクタの動作内容をスロー再生によってプレイヤにゆっくりと観察させたり、一度見た内容は早送りで鑑賞させることができ、プレイヤにとっての利便性を高めることができる。
【0016】
第6の発明は、第1の発明において、入力装置は、押圧可能なボタンを備える。そして、自動操作用データには、ボタンの押圧操作の有無を示すためのボタンデータが含まれる。
【0017】
第6の発明によれば、複雑なボタン操作が必要となるプレイヤキャラクタの動作を自動操作とすることができる。
【0018】
第7の発明は、第1の発明において、前記入力装置は、加速度センサを備える。そして、自動操作用データには加速度センサから出力される加速度データが含まれる。
【0019】
第7の発明によれば、加速度データを利用した操作に関して、自動操作用データに基づくプレイヤキャラクタの動作を実行することができる。これにより、例えば入力装置自体を振る操作のような、プレイヤにとって難しい操作については自動操作を実行させることで、プレイヤがゲーム進行に行き詰まることを防ぐ事ができる。
【0020】
第8の発明は、第1の発明において、入力装置は、ジャイロセンサを備える。そして、自動操作用データにはジャイロセンサから出力される角速度データが含まれる。
【0021】
第8の発明によれば、角速度データを利用した操作に関して、自動操作用データに基づくプレイヤキャラクタの動作を実行することができる。これにより、例えば入力装置自体を動かす操作のような、プレイヤにとって難しい操作については自動操作を実行させることで、プレイヤがゲーム進行に行き詰まることを防ぐ事ができる。
【0022】
第9の発明は、第1の発明において、前記入力装置は、少なくとも1つの撮像対象を撮像するための撮像手段を備える。そして、自動操作用データには、撮像手段を備えた入力装置から出力される撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる。
【0023】
第9の発明によれば、撮像対象の位置に関する情報に基づいて、入力装置の向いている方向や傾きを算出できる。そのため、入力装置の向きや傾きを利用する操作について、自動操作とすることができる。
【0024】
第10の発明は、プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、自動制御手段(S6、S7,S10)と、開始受付手段(S11)と、ゲーム処理手段(S12)として機能させる。自動制御手段は、ゲーム中の所定の期間において、プレイヤの操作入力に替えてプレイヤキャラクタを連続的に動作させるための一連の操作データが自動操作用データとして記憶されている操作データ記憶手段から当該自動操作用データを読み出し、所定の期間において当該自動操作用データに基づいてプレイヤキャラクタを順次動作させ、表示装置に表示させる。開始受付手段は、動作実行手段においてプレイヤキャラクタが動作している期間中、ユーザのプレイ開始を指示するプレイ開始操作を受け付ける。ゲーム処理手段は、プレイ開始操作を受け付けたタイミングにおいて、自動制御手段における自動操作用データに基づいたプレイヤキャラクタの動作を終了し、当該タイミングにおけるプレイヤキャラクタの状態から、プレイヤの入力装置に対する操作入力から出力される操作データに基づいて当該タイミング以降のプレイヤキャラクタの動作を制御する。
【0025】
第11の発明は、第10の発明において、ゲームプログラムは、コンピュータを、自動制御手段においてプレイヤキャラクタが動作している期間中、当該表示される動作の速度の設定を変更する指示を受け付ける速度変更受付手段(S2、S3)としてさらに機能させる。そして、自動制御手段は、速度変更受付手段において設定された速度に基づいてプレイヤキャラクタの動作を表示装置に表示させる。
【0026】
第12の発明は、第11の発明において、自動操作用データは、表示の更新期間と等しいまたは表示の更新期間よりも短い単位時間毎に区切られた複数の操作データとして構成されている。そして、自動制御手段は、単位時間毎の操作データを順に読み出して、当該操作データ毎にプレイヤキャラクタを動作させる動作処理を行い、表示の更新期間毎のタイミングで、当該タイミングにおけるプレイヤキャラクタを表示装置に表示させ、表示の更新期間内の動作処理の回数を速度変更受付手段において設定された速度に応じて変更することで、プレイヤキャラクタの動作が表示される速度を変更する。
【0027】
第13の発明は、第12の発明において、自動制御手段は、表示の更新期間内の動作処理の回数を増やすことで早送り再生を行う。
【0028】
第14の発明は、第12の発明において、自動制御手段は、画面の更新期間内の動作処理の回数を減らすことでスロー再生を行う。
【0029】
第15の発明は、第10の発明において、入力装置は、押圧可能なボタンを備える。そして、自動操作用データには、ボタンの押圧操作の有無を示すためのボタンデータが含まれる。
【0030】
第16の発明は、第10の発明において、入力装置は、加速度センサを備える。そして、自動操作用データには加速度センサから出力される加速度データが含まれる。
【0031】
第17の発明は、第10の発明において、入力装置は、ジャイロセンサを備える。そして、自動操作用データにはジャイロセンサから出力される角速度データが含まれる。
【0032】
第18の発明は、第10の発明において、入力装置は、少なくとも1つの撮像対象を撮像するための撮像手段を備える。そして、自動操作用データには、撮像手段を備えた入力装置から出力される撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる。
【0033】
第10乃至第18のゲームプログラムによれば、上述した第1乃至第9のゲーム装置と同様の効果を得ることができる。
【0034】
第19の発明は、プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置であって、操作データ記憶手段(12)と、制御手段(10)とを備える。操作データ記憶手段は、プレイヤの操作入力に替えてプレイヤキャラクタを連続的に動作させるための一連の操作データとして予め作成された自動操作用データを記憶する。制御手段は、プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタの動作を制御する第1の制御モードと、自動操作用データを操作データ記憶手段から読み出し、当該自動操作用データに基づいてプレイヤキャラクタの動作を制御する第2の制御モードの間で、プレイヤから入力された所定の切替指示操作に応じて当該プレイヤキャラクタの制御を切り替える。
【0035】
第19の発明によれば、ゲーム中においてプレイヤにとって難しい操作が含まれる場面は自動操作用データに基づいてプレイヤキャラクタを動作させることが可能となる。その結果、ゲームに不慣れなプレイヤであっても、最後までゲームをプレイして楽しむことが可能となる。
【0036】
第20の発明は、第19の発明において、ゲーム装置は、プレイヤのプレイ開始を指示するプレイ開始操作を受け付ける開始受付手段を更に備える。そして、制御手段は、第2の制御モードでプレイヤキャラクタを制御している間にプレイ開始操作を受け付けたとき、当該プレイ開始操作を受け付けた時点のプレイヤキャラクタの状態を保持したまま、当該プレイヤキャラクタの制御を第1の制御モードに切り替える。
【0037】
第20の発明によれば、自動操作用データに基づいてプレイヤキャラクタが動作しているとき、プレイヤは所望のタイミングでプレイヤキャラクタの動作制御をプレイヤ自身の操作に基づく制御に切り替えることができる。
【発明の効果】
【0038】
本発明によれば、プレイヤにとって難しい操作が含まれる場面を自動操作用データに基づいた自動操作としてプレイヤに提示することで、その場面の攻略方法をプレイヤに伝えることができる。また、自動操作用データに基づいてプレイヤキャラクタを動作させている最中に、プレイヤの操作入力に基づいたプレイヤキャラクタの動作制御に切り替えることができる。これにより、ゲームに不慣れなプレイヤであっても、ゲームに行き詰まることなく最後までゲームをプレイして楽しむことが可能となる。
【図面の簡単な説明】
【0039】
【図1】本発明の一実施形態に係るゲームシステム1を説明するための外観図
【図2】図1のゲーム装置本体5の機能ブロック図
【図3】図1のコントローラ7の上面後方から見た斜視図
【図4】図3のコントローラ7を下面前方から見た斜視図
【図5】図3のコントローラ7の上ハウジングを外した状態を示す斜視図
【図6】図3のコントローラ7の下ハウジングを外した状態を示す斜視図
【図7】図3のコントローラ7の構成を示すブロック図
【図8】コントローラ7とジャイロセンサ9の斜視図
【図9】コントローラ7およびジャイロセンサ9の構成を示すブロック図
【図10】本発明で想定するゲーム画面の一例
【図11】本発明で想定するゲーム画面の一例
【図12】本発明で想定するゲーム画面の一例
【図13】本発明で想定するゲーム画面の一例
【図14】本実施形態での処理概要を説明するための図
【図15】本発明で想定するゲーム画面の一例
【図16】本発明で想定するゲーム画面の一例
【図17】本発明で想定するゲーム画面の一例
【図18】ゲーム装置本体3の外部メインメモリ12のメモリマップを示す図
【図19】図16で示したチャプタm用データの一例
【図20】ボタンデータ131の構成の一例を示す図
【図21】コントローラ7にジャイロセンサユニット9および拡張コントローラが接続された状態を示す図
【図22】本発明の実施形態にかかるゲーム処理の詳細を示すフローチャート
【発明を実施するための形態】
【0040】
(ゲームシステムの全体構成)
図1を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置本体3、光ディスク4、コントローラ7、およびマーカ部8を含む。本システムは、コントローラ7を用いたゲーム操作に基づいてゲーム装置本体3でゲーム処理を実行するものである。
【0041】
ゲーム装置本体3には、当該ゲーム装置本体3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置本体3において実行されるためのゲームプログラムが記憶されている。ゲーム装置本体3の前面には光ディスク4の挿入口が設けられている。ゲーム装置本体3は、挿入口に挿入された光ディスク4に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【0042】
ゲーム装置本体3には、表示装置の一例であるテレビ2が接続コードを介して接続される。テレビ2には、ゲーム装置本体3において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ2の画面の周辺(図1では画面の上側)には、マーカ部8が設置される。マーカ部8は、その両端に2つのマーカ8Rおよび8Lを備えている。マーカ8R(マーカ8Lも同様)は、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。マーカ部8はゲーム装置本体3に接続されており、ゲーム装置本体3はマーカ部8が備える各赤外LEDの点灯を制御することが可能である。
【0043】
コントローラ7は、当該コントローラ7自身に対して行われた操作の内容を示す操作データをゲーム装置本体3に与える入力装置である。コントローラ7とゲーム装置本体3とは無線通信によって接続される。本実施形態では、コントローラ7とゲーム装置本体3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ7とゲーム装置本体3とは有線で接続されてもよい。
【0044】
(ゲーム装置本体3の内部構成)
次に、図2を参照して、ゲーム装置本体3の内部構成について説明する。図2は、ゲーム装置本体3の構成を示すブロック図である。ゲーム装置本体3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
【0045】
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムLSIの内部構成について後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
【0046】
また、システムLSI11には、入出力プロセッサ11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0047】
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。より具体的には、GPU11bは、当該グラフィクスコマンドに従って3Dグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる3D座標から2D座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、CPU10は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU11bに与える。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
【0048】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。また、内部メインメモリ11eは、外部メインメモリ12と同様に、プログラムや各種データを記憶したり、CPU10のワーク領域やバッファ領域としても用いられる。
【0049】
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに音がスピーカ2aから出力される。
【0050】
入出力プロセッサ(I/Oプロセッサ)11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、およびメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
【0051】
入出力プロセッサ11aは、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置本体3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
【0052】
また、入出力プロセッサ11aは、コントローラ7から送信される操作データをアンテナ23および無線コントローラモジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0053】
さらに、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0054】
ゲーム装置本体3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンにされると、ゲーム装置本体3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン24を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置本体3への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン24を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン25が押されると、システムLSI11は、ゲーム装置本体3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0055】
次に、図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面前方から見た斜視図である。
【0056】
図3および図4において、コントローラ7は、ハウジング71と、当該ハウジング71の表面に設けられた複数個の操作ボタンで構成される操作部72とを備える。本実施例のハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【0057】
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【0058】
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
【0059】
ハウジング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の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【0060】
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置本体3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【0061】
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7からゲーム装置本体3へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
【0062】
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5のスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
【0063】
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
【0064】
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【0065】
ここで、以下の説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するxyz軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をz軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をz軸正方向とする。また、コントローラ7の上下方向をy軸とし、ハウジング71の上面(操作ボタン72a等が設けられた面)方向をy軸正方向とする。さらに、コントローラ7の左右方向をx軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をx軸正方向とする。
【0066】
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上ハウジング(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下ハウジング(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
【0067】
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。マイコン751は本願発明のボタンデータ発生手段の一例として、操作ボタン72a等の種類に応じた操作ボタンデータを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触/切断をマイコン751が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン751が検出し、操作ボタンの種類に応じた信号を発生させている。
【0068】
また、コントローラ7は、無線モジュール753(図7参照)およびアンテナ754によって、ワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の回転を良好な感度でゲーム装置本体3等が判定することができる。
【0069】
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置本体3から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
【0070】
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置本体3から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
【0071】
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
【0072】
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
【0073】
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。この撮像情報演算部74から出力される処理結果データに基づいて、コントローラ7の位置や動きに応じた信号を得ることができる。
【0074】
コントローラ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が提供されてもよい。
【0075】
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【0076】
しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU10)またはコントローラのプロセッサ(例えばマイコン751)などのコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合)、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ701からの出力に基づいて、プロセッサがコントローラ7の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ701からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ701をプロセッサと組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ701を備えるコントローラ7がユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0077】
通信部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を作動させる。
【0078】
コントローラ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は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【0079】
また、本実施形態では、コントローラ7の動きを検出する動きセンサとして、ジャイロセンサを内蔵した拡張ユニット(以下、ジャイロセンサユニットと呼ぶ)がコントローラ7に対して着脱可能である。図8は、コントローラ7およびジャイロセンサユニット9を示す図である。ジャイロセンサユニット9は、3軸周りの角速度を検知するジャイロセンサ(図9に示すジャイロセンサ55および56)を有する。ジャイロセンサユニット9は、コントローラ7のコネクタ73に着脱可能に装着される。ジャイロセンサユニット9の前端(図8に示すZ軸正方向側の端部)には、コネクタ73に接続可能なプラグ(図9に示すプラグ53)が設けられる。さらに、プラグ53の両側にはフック(図示せず)が設けられる。ジャイロセンサユニット9がコントローラ7に対して装着される状態では、プラグ53がコネクタ73に接続されるとともに、上記フックがコントローラ7の係止穴73aに係止する。これによって、コントローラ7とジャイロセンサユニット9とがしっかりと固定される。また、ジャイロセンサユニット9は側面(図8)に示すX軸方向の面)にボタン51を有している。ボタン51は、それを押下すれば上記フックの係止穴73aに対する係止状態を解除することができるように構成されている。したがって、ボタン51を押下しながらプラグ53をコネクタ73から抜くことによって、ジャイロセンサユニット9をコントローラ7から離脱することができる。また、別の実施形態においては、ジャイロセンサがコントローラ7に内蔵される構成であってもよい。
【0080】
また、ジャイロセンサユニット9の後端には、上記コネクタ73と同形状のコネクタが設けられる。したがって、コントローラ7(のコネクタ73)に対して装着可能な他の機器は、ジャイロセンサユニット9のコネクタに対しても装着可能である。なお、図8においては、当該コネクタに対してカバー52が着脱可能に装着されている。
【0081】
図9は、ジャイロセンサユニット9を装着した場合のコントローラ7およびジャイロセンサユニット9の構成を示すブロック図である。ジャイロセンサユニット9は、プラグ53、マイコン54、2軸ジャイロセンサ55、および1軸ジャイロセンサ56を備えている。上述のように、ジャイロセンサユニット7は、3軸(本実施形態では、XYZ軸)周りの角速度を検出し、検出した角速度を示すデータ(角速度データ)をコントローラ5へ送信する。
【0082】
2軸ジャイロセンサ55は、X軸周りの角速度およびY軸周りの(単位時間あたりの)角速度を検出する。また、1軸ジャイロセンサ56は、Z軸周りの(単位時間あたりの)角速度を検出する。なお、本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、XYZ軸周りの回転方向を、それぞれ、ロール方向、ピッチ方向、ヨー方向と呼ぶ。すなわち、2軸ジャイロセンサ55は、ロール方向(X軸周りの回転方向)およびピッチ方向(Y軸周りの回転方向)の角速度を検出し、1軸ジャイロセンサ56は、ヨー方向(Z軸周りの回転方向)の角速度を検出する。
【0083】
なお、本実施形態では、3軸周りの角速度を検出するために、2軸ジャイロセンサ55と1軸ジャイロセンサ56とを用いる構成としたが、他の実施形態においては、3軸周りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。
【0084】
また、本実施形態では、各ジャイロセンサ55および56が角速度を検出する3つの軸は、加速度センサ37が加速度を検出する3つの軸(XYZ軸)と一致するように設定される。ただし、他の実施形態においては、各ジャイロセンサ55および56が角速度を検出する3つの軸と、加速度センサ37が加速度を検出する3つの軸とは一致しなくてもよい。
【0085】
各ジャイロセンサ55および56で検出された角速度を示すデータは、マイコン54に出力される。したがって、マイコン54には、XYZ軸の3軸周りの角速度を示すデータが入力されることになる。マイコン54は、上記3軸周りの角速度を示すデータを角速度データとしてプラグ53を介してコントローラ7へ送信する。なお、マイコン54からコントローラ7への送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。
【0086】
次に、図10〜図16を用いて、本実施形態が想定しているゲーム処理の概要について説明する。本実施形態で想定しているゲームは、アクションアドベンチャーゲームである。本ゲームでは、プレイヤが仮想ゲーム空間内(仮想2次元空間でも仮想3次元空間でもよい)でプレイヤキャラクタを操作し、ゲームの開発者が予め設定した所定のシナリオに沿ってゲームが進められる。
【0087】
図10は、本ゲームのタイトルメニューを示す図である。図10のタイトルメニューでは、「シナリオで遊ぶ」、「チャプターで遊ぶ」の2つの項目が表示されている。「シナリオで遊ぶ」は、一般的なゲームと同様にゲームをプレイするための項目である。「チャプターで遊ぶ」は、ゲームのシナリオを幾つかに区切った「チャプタ」単位で遊ぶための項目である。
【0088】
まず、上記タイトルメニューから、「シナリオで遊ぶ」を選んだときの処理について説明する。プレイヤがタイトルメニューから「シナリオで遊ぶ」を選ぶと、図11に示すような「スタート」「ロード」の2つの項目を有する画面が表示される。この画面でプレイヤが「スタート」を選んだ場合は、ゲームのシナリオの最初から始めることができる。一方、「ロード」を選んだ場合は、セーブデータを読み込むことで、以前プレイした続きから(すなわち、シナリオの途中から)プレイ可能である。そして、いずれの場合も、コントローラ7を用いたプレイヤの操作に基づいてゲーム処理が実行される。すなわち、コントローラ7から送信されてくる上記操作情報に基づいて、プレイヤキャラクタが仮想空間内で様々な行動を起こす処理が実行される。図12に、「シナリオで遊ぶ」を選んだときのゲーム画面の一例を示す。図12では、プレイヤキャラクタ101が存在する仮想ゲーム空間の様子が画面全域を使って表示されている。
【0089】
次に、図10のタイトルメニューから「チャプタで遊ぶ」を選んだときの処理概要を説明する。図13は、「チャプタで遊ぶ」を選んだ場合に表示される画面の一例である。図13では、ゲームの舞台となる仮想世界の縮小マップが表示されている。本ゲームにおける仮想世界は複数のエリアに区切られている。図13では5つのエリアに区切られており、本ゲームのシナリオは、これら5つのエリアを右上から反時計回りに順番に巡って進めていく。また、各エリアに対応するシナリオは複数のチャプターで構成されている。
【0090】
図13において、左上に表示されているエリア(以下では「砂漠エリア」と呼ぶ)をプレイヤが選ぶと、図14に示すように、砂漠エリアが拡大された表示に画面が変化する。図14では、砂漠エリアを構成する複数のチャプターが表示されている。図14の例では、砂漠エリアは4つのチャプターから構成されていることが示されている。すなわち、各チャプターは丸印で示され、それぞれの丸印が一本の線で結ばれることで、上記「シナリオで遊ぶ」で遊んだ場合における砂漠エリアを攻略する経路(シナリオの進み方)が示されている。そして、プレイヤは、当該4つのチャプターから所望のチャプターを選択することが可能となっている(カーソルを丸印に合わせることで、チャプター名が表示される)。
【0091】
また、図14では画面右下に「ダイジェストを見る」というボタン103が表示されている。プレイヤがこのボタン103を押すと、当該砂漠エリアのシナリオ内容をダイジェストで紹介するためのダイジェストムービーが表示される。このダイジェストムービーは予め作成された動画ファイル(例えば、MPEG形式の動画ファイル)を再生するものである。
【0092】
図14の画面で、プレイヤが右から2つめのチャプタ−(以下、チャプター2と呼ぶ)を選ぶとする。この場合、図15に示すようなチャプターメニューが表示される。図15では、当該チャプター2の内容を示すイラスト105と共に、「このチャプターを遊ぶ」ボタン106と「攻略ムービーを見る」ボタン107の2つのボタンが表示されている。図15の画面において、プレイヤが「このチャプターを遊ぶ」ボタン106を押すと、当該チャプター2の冒頭からプレイすることができる。この場合は、プレイヤの操作に基づいてプレイヤキャラクタ101が行動することになる。
【0093】
一方、図15の画面において、プレイヤが「攻略ムービーを見る」ボタン107を押すと、ゲーム画面が図16に示すような画面に変化し、このチャプター2の攻略方法を示す動画である攻略ムービーが表示される。ここでは一例として、チャプター2のボスキャラクタである”サンドワーム”の攻略方法を示す動画が表示される(当該ボスキャラクタとの戦いが、プレイヤにとってゲームに行き詰まりやすい場面であるとする)。具体的には、”サンドワーム”と戦っている様子を示す(そして、最終的にサンドワームを倒すまでの)動画が攻略ムービー表示領域110に表示される。ここで、この攻略ムービーは、予め用意された操作情報(以下、自動操作用データと呼ぶ)に基づいてCPU10がプレイヤキャラクタ101を操作することで表示される動画である。換言すれば、ここでいう攻略ムービーは、自動操作用データを再生したものである。
【0094】
ここで、当該自動操作用データについて説明する。上述のように、自動操作用データとは、予め作成された上記操作情報である。例えば、ゲームの開発段階でゲーム開発者等が実際にコントローラ7を用いてプレイヤキャラクタ101を操作し、このときにコントローラ7からゲーム装置本体3に送信されてくる操作情報を所定のメモリに記録する。そして、これをゲームデータの一部として光ディスク4に格納したものが自動操作用データとなる。なお、自動操作用データの具体的内容については後述する。
【0095】
また、図16では、攻略ムービー表示領域110は、図12で示したような画面全域を使ったものではなく、これよりも小さい領域となっている。また、画面上には、攻略ムービーの再生速度を変更するためのボタン111、およびボタン112も表示されている。本実施形態では、再生速度を1倍速〜8倍速の8段階で変更することができる。ボタン112を押せば、再生速度を1倍速分(1段階)上げることができ(例えば、1倍速→2倍速→3倍速・・・8倍速と変化する)、ボタン111を押すと、1倍速分再生速度を下げることができる(例えば、8倍速→7倍速→6倍速・・・1倍速と変化していく)。
【0096】
更に、図16の画面では、途中参加ボタン113が表示されている。本ゲームでは、上記攻略ムービーの表示中に当該途中参加ボタン113を押すことで、プレイヤキャラクタ101の操作を、自動操作データに基づくCPU10による操作からコントローラ7を用いたプレイヤによる操作へと切り替えることができる。切り替え後は、プレイヤキャラクタの状態は、切り替え直前の状態からそのまま移行する。アイテムの状態等も、切り替え直前の状態を引き継ぐ。すなわち、自動操作データに基づく攻略ムービーの再生中に、プレイヤがゲームに”途中参加”することが可能である。また、”途中参加”することで、ゲーム画面も、図17に示すように、「シナリオで始める」のときと同じ画面、すなわち、プレイヤキャラクタ101が存在する仮想ゲーム空間の様子が画面全域を使って表示される画面に切り替わる。この後は、当該チャプター2が終了するまでは、プレイヤの操作に従ってプレイヤキャラクタ101を動作させながらゲームをプレイすることが可能となる。
【0097】
このように、ゲームのシナリオを複数のチャプターに区切ることで、ゲームをプレイするための時間があまり取れないようなプレイヤであっても、最後まで(ゲームクリアやエンディングまで)ゲームをプレイすることが可能となる。また、各チャプターに関して上記のような攻略ムービーを表示することで、プレイヤがゲームに行き詰まることを防ぐことができ、ゲームに不慣れなプレイヤであっても、最後まで(ゲームクリアやエンディングまで)ゲームをプレイして楽しむことが可能となる。また、「シナリオで遊ぶ」モードと「チャプターで遊ぶ」モードが別々に設けられているので、自力でゲームをクリアしたいプレイヤは、「シナリオで遊ぶ」モードでプレイすれば攻略法を先に知ってしまい興趣を削がれるようなことがない。
【0098】
また、自動操作用データに基づいてCPU10がプレイヤキャラクタ101を操作し、その様子を上記攻略ムービーとして表示することで、当該攻略ムービーの再生途中でスムーズにプレイヤによる操作に切り替えることが可能となる。これにより、攻略ムービーを鑑賞しているときに、プレイヤは好きなところから自分でプレイヤキャラクタ101を操作することが可能になる。例えば、上述したような「チャプター2」の攻略ムービーの例では、ボスキャラクタとの戦いの途中まで自動操作用データによる攻略動画の鑑賞を続けて、ボスキャラクタに止めを刺すところだけプレイヤが自分で操作することが可能になる。換言すれば、プレイヤにとって難しい操作が含まれる場面は自動操作用データに基づいたCPU10による操作に任せ、その場面が過ぎてからプレイヤが自分で操作を始めることが可能となる。その結果、ゲームに不慣れなプレイヤであっても、最後までゲームをプレイして楽しむことが可能となる。
【0099】
次に、ゲーム装置本体3によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際に外部メインメモリ12に記憶されるデータについて説明する。図18は、ゲーム装置本体3の外部メインメモリ12のメモリマップを示す図である。図18において、外部メインメモリ12は、プログラム記憶領域120およびデータ記憶領域123を含む。プログラム記憶領域120およびデータ記憶領域123のデータは、光ディスク4に記憶され、ゲームプログラム実行時には外部メインメモリ12に転送されて記憶される。
【0100】
プログラム記憶領域120は、CPU10によって実行されるゲームプログラムを記憶し、このゲームプログラムは、メイン処理プログラム121と、攻略ムービー再生プログラム122となどによって構成される。
【0101】
データ記憶領域123には、攻略ムービーデータ124、オブジェクトデータ125などのデータが記憶される。
【0102】
攻略ムービーデータ124は、上記攻略ムービーの基となるデータである。攻略ムービーデータ124には、本実施形態で想定するゲームのシナリオ内容に合わせて、エリア1用データ1241〜エリア5用データ1245が含まれている。また、各エリア用データに、そのエリアを構成するチャプターの数に応じて、チャプター1用データ1241a、チャプタ2用データ1241b・・・が記憶されている。以下では、これらを総称してチャプタm用データ(mはチャプター番号)と呼ぶ。
【0103】
図19は、上記チャプタm用データの一例である、チャプタ1用データ1241aの内容を示す図である。図19において、チャプタ1用データ1241aは、複数の自動操作用データ126を含む(図では、自動操作用データ126a、126b、126c・・・と記載しているが、ここではこれらを総称して自動操作用データ126と呼ぶ)。このデータは、上述のように、予め用意されたデータであって、例えばゲームの開発段階において、開発者がコントローラ7を実際に操作してゲームをプレイしたときにコントローラ7から送信される操作情報を記録することで予め生成されたデータである。本実施形態では、コントローラ7が操作情報を出力する間隔は5ms毎である。そして、自動操作用データ126も、それぞれ5ms間隔で記録されたものとする。すなわち、上記複数の自動操作用データ126は、1件が5ms分のデータとなっている。
【0104】
次に、各自動操作用データ126の内容について説明する。自動操作用データ126は、ボタンデータ131、加速度データX軸132、加速度データY軸133、加速度データZ軸134、座標データ135、拡張コントローラデータ136から構成されている。
【0105】
ボタンデータ131は、コントローラ7に設けられている操作部72(複数個の操作ボタン)の各ボタンの押下状態を示すためのデータである。図20は、ボタンデータ131の構成の一例を示す図である。ボタンデータ131は、ボタン種類1311および押下状態1312を含む。ボタン種類1311が操作部72の各ボタンを示す。押下状態1312は、各ボタンの押下状態(オン/オフの状態)を示し、”0”は押下されていない状態(オフの状態)、”1”は押下されている状態(オンの状態)を示す。図20の例では、十字キー72aの”右”とBボタン72iのみが押下されている状態であることを示している。
【0106】
図19に戻り、加速度データX軸132、加速度データY軸133、加速度データZ軸134は、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したデータである。これらのデータを用いることで、コントローラ7自体の動きを検出することができる。そのため、これらのデータを自動操作用データとして用いることで、加速度を利用した操作、より具体的にはコントローラ7自体を振る操作についても攻略ムービーとして再生することが可能となる。
【0107】
座標データ135は、上記撮像情報演算部74から出力される処理結果データに基づいて算出されたデータであり、上記撮像素子743によって撮像された撮像画像に対応する平面上の位置を表すための座標系において撮像対象(マーカ8Lおよび8R)の位置を示す座標のデータである。当該座標はコントローラ7自体の向き(姿勢)や位置に対応して変化するので、ゲーム装置本体3は当該座標データを用いてコントローラ7の向きや位置を算出することができる。
【0108】
拡張コントローラデータ136は、コネクタ73を介して装着可能な拡張コントローラ(例えば、アナログ方式で方向入力が可能なコントローラ)や拡張ユニット(例えば、上記ジャイロセンサユニット9)から出力される各種データである。例えば、開発段階において自動操作データを生成する際に、ジャイロセンサユニット9がコントローラ7に装着されていたときは、角速度(ヨー、ロール、ピッチ)を示すデータ等が格納される。また、コネクタ73に何も装着されていなければ、拡張コントローラデータ136の中身は、空のデータとなる。また、複数の拡張コントローラ/拡張ユニットが接続されたときは、複数の拡張コントローラまたは拡張ユニットの出力データが交互に出力される。例えば、図21に示すように、コントローラ7にジャイロセンサユニット9が装着され、当該ジャイロセンサユニット9に、更に拡張コントローラが装着されているときは、コントローラ7からゲーム装置本体3に当該ジャイロセンサユニット9と当該拡張コントローラのデータが、例えば1フレーム毎に交互に出力される。その結果、拡張コントローラデータ136の内容が1フレーム毎に、ジャイロセンサユニット9→拡張コントローラ→ジャイロセンサユニット9・・のように入れ替わる。この場合は、拡張コントローラおよびジャイロセンサユニット9の出力データには、自身を示すための識別情報が含まれる。
【0109】
図18に戻り、オブジェクトデータ125は、ゲームに登場するプレイヤキャラクタ101や敵キャラクタに関するデータである。
【0110】
その他、データ記憶領域123には、仮想ゲーム空間に関するデータ(地形データ等)等、ゲーム処理に必要なデータが記憶される。
【0111】
次に、図22を参照して、ゲーム装置本体3によって実行されるゲーム処理について説明する。ゲーム装置本体3の電源が投入されると、ゲーム装置本体3のCPU10は、ROM/RTC13に記憶されている起動プログラムを実行し、これによってメインメモリ33等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムが外部メインメモリ12に読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。なお、図22に示すフローチャートにおいては、ゲーム処理のうち、上記図15のメニューで「攻略ムービーを見る」ボタン107が押された時に実行される攻略ムービー再生処理について説明し、本願発明とは直接関連しない他の処理については詳細な説明を省略する。また、図22に示すステップS1〜ステップS13の処理ループは、1フレーム(1/60秒)毎に繰り返し実行される。
【0112】
ここで、図22に示す処理の概要を説明すると、1フレーム分の処理ループの間に読み込む自動操作用データ126の件数をプレイヤによって指定された再生速度に応じて変化させる処理が実行される。そして、当該読み込んだ自動操作用データ126に基づいてプレイヤキャラクタ101をCPU10が操作し、その結果となる仮想ゲーム空間の様子を描画する処理が実行される。そして、上記途中参加ボタン113が押されたときは、プレイヤキャラクタ101の制御をプレイヤの操作(コントローラ7からの操作信号)を入力とするものに切替えて、本処理は終了する。
【0113】
図22において、まず、CPU10は、初期処理を実行する(ステップS1)。具体的には、CPU10は、プレイヤによって指定されたチャプターに対応するステージのデータ(地形データ等)や各種キャラクタ(敵キャラクタやその他ノンプレイヤキャラクタ)のデータ、攻略ムービー再生の際に必要となるアイテムデータ(プレイヤキャラクタ101が装備する武器や、「謎」、「仕掛け」、「罠」等を解除するために必要なアイテムのデータ)を読み込む。そして、読み込んだアイテムデータをプレイヤキャラクタ101に設定する。例えば、プレイヤキャラクタ101がボスキャラクタを倒すための特定の武器を装備した状態に設定する。その後、CPU10は、上記図16に示したような画面を生成して表示する。また、CPU10は、指定されたエリアおよびチャプターに対応するチャプタm用データを特定することで、当該データを読み込むための準備を行う。更に、CPU10は、変数nの初期化を行う。変数nは、後述する操作データの読み込み〜ゲーム空間内への適用処理の回数を示す変数である。また、CPU10は、再生速度を示す変数である変数Sに”1”を設定する。つまり、初期設定では再生速度として1倍速(等倍速)を設定する。
【0114】
次に、CPU10は、再生速度の変更指示が行われたか否かを判定する(ステップS2)。すなわち、上記図16に示した画面において、再生速度を変更するためのボタン111またはボタン112が押されたか否かを判定する。当該判定の結果、再生速度の変更指示が行われてなければ(ステップS2でNO)、後述のステップS5の処理に進む。
【0115】
一方、ステップS2の判定の結果、再生速度の変更指示が行われていたと判定されたときは、CPU10は、当該変更指示に基づいて再生速度を決定する(ステップS3)。すなわち、ボタン112が押されていたときは、再生速度を1倍分上げる処理を実行し、ボタン111が押されていたときは、再生速度を1倍分下げる処理を実行する。例えば、変数Sに”1”が設定されている状態で、ボタン112が押されたときは、変数Sに”2”を設定する再生速度を1段階上げる)。また、変数Sに”2”が設定されている状態でボタン111が押されたときは、変数Sに”1”を設定する(再生速度を1段階下げる)。なお、変数Sに”1”が設定されている状態でボタン111が押された場合は、既に最低速度に達しているため、変数Sは変化させない。変数Sに”8”が設定されている状態でボタン112が押された場合も、既に最高速度に達しているため、変数Sは変化させない。
【0116】
次に、CPU10は、ステップS3で決定された再生速度に応じて、上記変数nの値を設定する処理を実行する(ステップS4)。上述のように、自動操作用データ126は、5ms毎に取得されたデータとして格納されている。一方、本実施形態におけるゲームの処理単位は16.7ms(1/60秒)である。そのため、再生速度が1倍速(等倍速)の場合を例にすると、例えば変数nには”3”という値(16.7/5で、小数点以下を四捨五入した場合)が設定される。すなわち、1/60秒分の自動操作用データ126を読み込ませる処理を3回繰り返すための設定が行われる。また、再生速度が2倍速(変数S=”2”)の場合であれば、1/30秒分のデータを読み込ませるために、変数nには”7”という値が設定される。再生速度が4倍速(変数S=”4”)であれば、1/15秒分のデータを読み込ませるために、例えば変数nには”13”という値が設定される。
【0117】
次に、CPU10は、変数ctrに”0”を設定する(ステップS5)。変数ctrは、以下の読み込み処理等を実行した回数を示すための変数である。
【0118】
次に、CPU10は、上記ステップS1で特定されたチャプターm用データから1件分の自動操作用データ126を読み込む(ステップS6)。なお、自動操作用データ126は、順次読み込み方式(シーケンシャルアクセス)で読み込まれる。
【0119】
続いて、CPU10は、当該読み込んだ自動操作用データ126に基づいて、仮想ゲーム空間内のプレイヤキャラクタ101を操作し、その結果を仮想ゲーム空間内に適用する(ステップS7)。つまり、自動操作用データ126で示される操作内容を仮想ゲーム空間内に反映させる。例えば、プレイヤキャラクタ101が所定の敵キャラクタを攻撃するような操作内容であり、その攻撃が敵キャラクタに当たったときは、プレイヤキャラクタ101の移動処理等と共に、当該敵キャラクタに所定のダメージ値を加算する等の処理が実行される。換言すれば、プレイヤキャラクタ101が自動操作用データ126に基づいてCPU10に操作されているという点を除き、通常のゲーム処理(上記図10の画面で「シナリオで遊ぶ」を選んだときのゲーム処理)と同様の処理が実行される。
【0120】
次に、CPU10は、変数ctrに1を加算する(ステップS8)。続いて、CPU10は、変数ctrと変数nが等しいか否かを判定する(ステップS9)。つまり、変数nで示される回数分だけ、上記ステップS6およびステップS7の処理が実行されたか否かが判定される。当該判定の結果、変数ctrと変数nが等しくないときは(ステップS9でNO)、上記ステップS6に戻って処理を繰り返す。
【0121】
一方、変数ctrと変数nが等しいときは(ステップS9でYES)、次に、CPU10は、前回の描画から1フレーム分の時間が経過したか否かを判定する(ステップS10)。当該判定の結果、1フレーム分の時間が経過していないときは(ステップS10でNO)、1フレーム分の時間が経過するまで待つ処理が実行される。例えば、上記操作データの読み込み処理等の繰り返しが0.2フレーム分の時間で完了したようなときは、残り0.8フレーム分の時間が経過するまで待つための処理が行われることになる。
【0122】
一方、ステップS10の判定の結果、1フレーム分の時間が経過していれば(ステップS10でYES)、CPU10は、描画処理を実行する(ステップS11)。すなわち、仮想カメラで仮想ゲーム空間を撮影した画像をゲーム画像としてテレビ2に表示する処理が実行される。
【0123】
次に、CPU10は、途中参加の指示が行われたか否かを判定する(ステップS12)。すなわち、CPU10は、上記図16で示した画面において、途中参加ボタン113が押されたか否かを判定する。その結果、途中参加ボタンがおされていたときは(ステップS12でYES)、CPU10は、通常のゲーム処理へ移行するための処理を実行する(ステップS13)。すなわち、プレイヤキャラクタ101の動作を制御するための情報の入力元を、自動操作用データ126から、コントローラ7から送信されてくる操作情報に切り替える。つまり、プレイヤの操作に基づくものに切り替える。また、画面表示についても、上記図16に示した画面から図17に示したような、画面の表示領域全域を使って仮想ゲーム空間が表示されるゲーム画面に切り替える。そして、CPU10は、当該攻略ムービー再生処理を終了する。これにより、以降は、プレイヤの操作に基づいてプレイヤキャラクタ101が制御されるゲーム処理(上記図10の画面で「シナリオで遊ぶ」を選んだときのゲーム処理)が実行されることになる。
【0124】
一方、ステップS12の判定の結果、途中参加指示がないときは(ステップS12でNO)、攻略ムービー再生処理の終了条件が満たされたか否かを判定する(ステップS14)。この終了条件は、例えば、攻略ムービーの再生が最後まで終了したこと、あるいは、プレイヤからの攻略ムービー再生の終了指示がなされたこと等である。当該判定の結果、終了条件が満たされているときは(ステップS14でYES)、攻略ムービー再生処理を終了し、終了条件が満たされていないときは(ステップS14でNO)、ステップS2に戻って処理を繰り返す。以上で、攻略ムービー再生処理は終了する。
【0125】
このように、本実施形態では、自動操作用データ126を用いてCPU10がプレイヤキャラクタ101を制御し、これに基づく仮想ゲーム空間の様子を攻略ムービーとして表示している。これにより、プレイヤがゲームに行き詰まることを防ぐことができ、ゲームに不慣れなプレイヤであっても、最後まで(ゲームクリアやエンディングまで)ゲームをプレイして楽しむことが可能となる。また、攻略情報を、CPU10がプレイヤキャラクタを操作する「実演」として示すため、実際にどのようにプレイヤキャラクタを動かせばよいのか(操作すればよいのか)をプレイヤにより確実に伝えることができる。
【0126】
また、攻略ムービーの途中で、途中参加ボタン113を押すことで、プレイヤキャラクタ101の制御をプレイヤ自身による操作に基づくものに切り替えている。これにより、攻略ムービーを鑑賞しているときに、プレイヤは好きなところから自分でプレイヤキャラクタ101を操作することが可能となる。その結果、例えば、加速度データや角速度データ等を用いるような難度の高い操作が必要な場面については攻略ムービーの再生で済ませ、その後のプレイはプレイヤ自身でプレイヤキャラクタを操作して楽しませることができる。つまり、プレイヤにとって難しい操作が要求される部分についてのみ、自動操作用データを利用することが可能となる。そのため、ゲームがあまり上手くないプレイヤに対しても、ゲームを途中で投げ出させることなく、適度に自分でプレイヤキャラクタ101を操作する楽しみを与えながらゲームを最後まで楽しませることが可能となる。
【0127】
また、途中参加ボタン113により攻略ムービーに割り込んでプレイヤがゲームに参加できるため、”ifの体験”という楽しみ方を提供することもできる。例えば、攻略ムービー中に、右と左に枝分かれした道があり、攻略ムービーでは右の道に進むという場面があった場合に、この場面でプレイヤが途中参加して、左の道に進んでゲームを楽しむことも可能となる。
【0128】
また、攻略ムービーとして、一般的な動画ファイル(MPEG形式等)を再生するのではなく、上記のような自動操作用データ、すなわち、コントローラ7から出力される操作情報を記録したもの(つまり、操作情報と同じ形式のデータ)を用いている。そのため、攻略ムービーの再生中に、いつでもプレイヤが好きなところから、プレイヤ自身の操作によるゲームプレイを開始することができる。例えば、一般的な動画ファイルを用いて攻略ムービーを再生していた場合、途中参加ボタン113を押して途中参加したとしても、プレイを開始する場面が完全には同期せず、タイミングによっては途中参加ボタンを押したときの場面より少し前に戻ることもあり得る。しかし、上記実施形態のように自動操作用データ126を用いて攻略ムービーを再生することで、途中参加ボタン113を押した場面の続きからプレイヤの操作に基づくゲームプレイを開始することができる。すなわち、攻略ムービーの再生中に、よりスムーズにプレイヤ自身の操作によるゲームプレイに移行させることが可能となる。
【0129】
また、攻略ムービーの再生速度を変更することで、一度見た部分を飛ばし、プレイヤが見たい部分を手早く鑑賞させることができる。
【0130】
また、ゲームのシナリオを複数のチャプターに分けているため、プレイヤは好きなところからゲームのプレイを行うことができる。これにより、ゲームをプレイする時間があまり取れず、難しい操作が必要な場面に何度もチャレンジする時間的余裕が無いようなプレイヤに対しても、チャプターの選択と、上記攻略ムービーの表示および上記のような途中参加を可能とすることで、適度に自力でのゲームプレイを楽しませつつ、途中でゲームを投げ出させることなくゲームを最後まで楽しませることが可能となる。
【0131】
なお、上記攻略ムービーの再生速度に関して、上述の例では、1倍速〜8倍速の8段階で変化できる場合を例にしたが、この他、スロー再生も可能としても良い。例えば、1倍速〜1/8倍速の8段階で再生速度を変化できるようにしてもよい。この場合、例えば再生速度を1/2倍速にする場合は、1/120秒分のデータだけ読み込むように、変数nに、例えば”1”という値(小数点以下を四捨五入した場合)を設定しても良い。また、再生速度が1/4倍速であれば、2フレーム分の処理ループで1件の割合で自動操作用データ126を取得するようにしてもよい。このように、スロー再生を行うことで、プレイヤは攻略操作内容をじっくりを観察することが可能となる。
【0132】
また、再生速度の変更可能範囲は、8倍速まで、あるいは1/8倍速までに限るものでないことは言うまでもない。
【0133】
また、攻略ムービー(自動操作用データ)の内容も、上述したようなボスキャラクタの倒し方に限らず、プレイヤがゲームの進行に詰まるような「謎」の解き方を示すような内容でもよい。あるいは、チャプター中に設けられたいわゆる「ミニゲーム」(例えば、本ゲームはアクションアドベンチャーゲームを想定しているところ、このゲーム内に設けられたシューティングゲームやパズルゲーム等)のクリアの手順や方法を示すような内容でもよい。つまり、開発者が想定する、プレイヤがゲーム進行に行き詰まりそうな場面をピックアップし、その場面をゲーム開発者が実際に操作した内容を上記自動操作用データ126として記録すればよい。
【0134】
また、自動操作用データ126について、上述の実施形態では5ms間隔で記録されている場合を例に挙げたが、例えば、より細かな1ms間隔で記録されるようにしてもよい。これにより、上記スロー再生を行うようなときに、プレイヤキャラクタ101のより細やかな動き(操作)をプレイヤに確認させることが可能となる。また、ゲームの処理単位に合わせて、16.7ms(1/60秒)間隔で記録されたものを自動操作用データ126としてもよい。ゲームの処理単位に合わせて記録した場合は、攻略ムービーを1倍速で再生するときは、上記処理ループ1回分の間に自動操作用データ126を1件読み込み、2倍速で再生する場合は、上記処理ループ1回分の間に自動操作用データ126を2件読み込むようにすればよい。
【0135】
また、自動操作用データ126の作成について、上記実施形態では、開発者が実際にコントローラ7を操作することで出力される操作信号を記録することで作成する場合を例に挙げた。これに限らず、直接、自動操作用データ126を作成、編集するようにしてもよい。つまり、自動操作用データ126に含まれる各データを手入力すること等で作成するようにしても良い。
【0136】
また、上記自動操作用データについては、所定のサーバからダウンロード可能な構成にしてもよい。例えば、無線通信モジュール18を介して所定のサーバに接続し、当該サーバに保存されている自動操作用データをダウンロードして、フラッシュメモリ17に保存するようにしても良い。この場合、当該自動操作用データには、どのゲームのどの場面のデータであるかが識別できるような情報を含めておけばよい。そして、対応するゲームがゲーム装置本体3で実行されたときに、フラッシュメモリ17から当該自動操作用データを取得し、攻略ムービーの再生処理を実行可能としてもよい。これにより、ゲーム発売後に後発的に攻略ムービーを配布することが可能となる。例えば、ゲームの発売後に、開発者が想定していなかった場面で多数のプレイヤがゲームの進行に行き詰まっていることが判ったような場合、当該場面の攻略方法を示す自動操作用データを作成し、サーバに保存する。そして、当該自動操作用データ126をプレイヤにダウンロードさせるようにすれば、それまでゲームに行き詰まっていたプレイヤも、ゲームを進めることができ、最後までゲームをプレイしてクリアさせることが可能となる。
【0137】
また、上述の実施形態では、チャプターメニューの形で攻略ムービーを提供していたが、このような形態に限らず、ゲームプレイ中にプレイヤが任意で攻略ムービーの再生、すなわち、自動操作用データ126に基づくプレイヤキャラクタ101の制御に切替可能にしてもよい。例えば、予め、開発者が最初から最後まで(エンディング画面を表示させる等、ゲームをクリアするまで)ゲームを一通りプレイし、その操作データを記録しておく。この操作データを、ゲームの進行具合に応じて複数のデータに分割し、各場面を示す識別データと共に自動操作用データ126として記録する。そして、プレイヤが上記図10の画面で「シナリオで遊ぶ」を選んでゲームを開始した場合に、プレイヤの所定の操作(自動操作に切り替えるための指示操作)に応じて、当該操作が行われた時点のゲーム中の場面に応じた上記自動操作用データ126を読み込み、このデータに基づいてCPU10がプレイヤキャラクタ101の動作を制御するようにすればよい。この場合、例えば、上記プレイヤの操作があった時点で、その場面をクリアするために必要な条件が整っているか否かを判定し(例えば、クリアするために必要なアイテムをプレイヤキャラクタ101が取得しているか否か等)、必要な条件を満たしていないときは、例えばどのアイテムが必要か等を攻略のヒントとして表示する。一方、上記必要な条件を満たしていれば、自動操作用データを読み出して、これに基づく制御に切り替えるようにすればよい。更にこの際、自動操作用データに基づく制御の開始位置(仮想ゲーム空間内における位置)を指定するようにしてもよい。例えば、切り替えボタン押せば、自動操作による制御の開始可能位置を示す表示(例えば、ボスキャラクタのいる部屋の扉の前まで移動することを示すマーカやメッセージ)を画面に表示し、プレイヤがコントローラ7を操作して、当該開始可能位置までプレイヤキャラクタ101を移動させる。そして、当該開始可能位置までプレイヤキャラクタ101が移動してから、自動操作用データ126に基づく制御に切り替えるようにしてもよい。その後は、上述の実施形態と同様に、プレイヤの所定の操作(上記途中参加ボタンに相当)を受け付ければ、再度プレイヤによるコントローラ7の操作に基づくプレイヤキャラクタ101の動作制御に切り替えればよい。これにより、ゲーム中、プレイヤが何度か挑戦しても、尚クリアすることができないような、特に難しい操作が必要な場面については、上記自動操作用データに基づくプレイヤキャラクタ101の制御でゲームを進めることが可能となる。これにより、プレイヤがゲームに行き詰まって途中でゲームをクリアすることを諦めてしまうことを防止することができ、最後までゲームをプレイさせることが可能となる。
【0138】
更に、上記自動操作用データについては、プレイヤが作成できるようにしてもよい。例えば、上記図10の「シナリオで遊ぶ」を選んでプレイヤがゲームをプレイしているときに、プレイヤからの「記録指示」操作に応じて、コントローラ7から送信されてくる操作情報をメモリに記憶するような処理を実行してもよい。そして、当該記録した操作情報を「プレイヤ作成版操作データ」として、フラッシュメモリ17や所定の外部記憶媒体(メモリカード等)に保存するようにしても良い。これにより、当該「プレイヤ作成版操作データ」を複数のプレイヤ間で流通することが可能となる。その結果、自分の攻略方法を他人に披露するという楽しみ方を提供することができる。また、据置型ゲーム装置で実行されるゲームの場合、自分では攻略できない場面について、その場面を攻略した友人から自動操作用データ126を入手し、自分の据置型ゲーム装置で再生して攻略方法を知ることも可能となる。そして、当該友人の自動操作用データ126による再生の途中でプレイヤ自身の操作に切り替えてゲームをプレイすることも可能となる。上述のようなサーバから自動操作用データ126をダウンロードする場合に比べると、サーバに自動操作用データ126がアップされるのを待たずに済むという点で有利である。また、「攻略ムービー」という形で攻略情報をプレイヤ間で流通させることで、プレイヤ間同士の交流を促進し、新たな楽しみを提供することも可能となる。
【産業上の利用可能性】
【0139】
本発明にかかるゲーム装置およびゲームプログラムは、自動操作用データに基づいて動作しているプレイヤキャラクタの動作制御を任意のタイミングでプレイヤの操作に基づく制御に切り替えることができ、据置型ゲーム装置や携帯型ゲーム装置等に有用である。
【符号の説明】
【0140】
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
4…光ディスク
7…コントローラ
9…ジャイロセンサユニット
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】
プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置であって、
前記ゲーム中の所定の期間において、前記プレイヤの操作入力に替えて前記プレイヤキャラクタを連続的に動作させるための一連の操作データを自動操作用データとして記憶する操作データ記憶手段と、
前記自動操作用データを前記操作データ記憶手段から読み出し、前記所定の期間において当該自動操作用データに基づいて前記プレイヤキャラクタを順次動作させ、前記表示装置に表示させる自動制御手段と、
前記自動制御手段において前記プレイヤキャラクタが動作している期間中、ユーザのプレイ開始を指示するプレイ開始操作を受け付ける開始受付手段と、
前記プレイ開始操作を受け付けたタイミングにおいて前記自動制御手段における前記自動操作用データに基づいた前記プレイヤキャラクタの動作を終了し、当該タイミングにおける当該プレイヤキャラクタの状態から、プレイヤの入力装置に対する操作入力から出力される操作データに基づいて当該タイミング以降の当該プレイヤキャラクタの動作を制御するゲーム処理手段とを備えるゲーム装置。
【請求項2】
前記ゲーム装置は、前記自動制御手段において前記プレイヤキャラクタが動作している期間中、当該表示される動作の速度の設定を変更する指示を受け付ける速度変更受付手段をさらに備え、
前記自動制御手段は、前記速度変更受付手段において設定された速度に基づいて前記プレイヤキャラクタの動作を前記表示装置に表示させる、請求項1記載のゲーム装置。
【請求項3】
前記自動操作用データは、表示の更新期間と等しいまたは表示の更新期間よりも短い単位時間毎に区切られた複数の操作データとして構成されており、
前記自動制御手段は、前記単位時間毎の操作データを順に読み出して、当該操作データ毎に前記プレイヤキャラクタを動作させる動作処理を行い、前記表示の更新期間毎のタイミングで、当該タイミングにおける前記プレイヤキャラクタを前記表示装置に表示させ、前記表示の更新期間内の前記動作処理の回数を前記速度変更受付手段において設定された速度に応じて変更することで、プレイヤキャラクタの動作が表示される速度を変更する、請求項2に記載のゲーム装置。
【請求項4】
前記自動制御手段は、前記表示の更新期間内の前記動作処理の回数を増やすことで早送り再生を行う、請求項3に記載のゲーム装置。
【請求項5】
前記自動制御手段は、前記画面の更新期間内の前記動作処理の回数を減らすことでスロー再生を行う、請求項3に記載のゲーム装置。
【請求項6】
前記入力装置は、押圧可能なボタンを備え、
前記自動操作用データには、前記ボタンの押圧操作の有無を示すためのボタンデータが含まれる、請求項1に記載のゲーム装置。
【請求項7】
前記入力装置は、加速度センサを備え、
前記自動操作用データには前記加速度センサから出力される加速度データが含まれる、請求項1に記載のゲーム装置。
【請求項8】
前記入力装置は、ジャイロセンサを備え、
前記自動操作用データには前記ジャイロセンサから出力される角速度データが含まれる、請求項1に記載のゲーム装置。
【請求項9】
前記入力装置は、少なくとも1つの撮像対象を撮像するための撮像手段を備え、
前記自動操作用データには、前記撮像手段を備えた入力装置から出力される撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる、請求項1に記載のゲーム装置。
【請求項10】
プレイヤの入力装置に対する操作入力から出力される操作データに基づいて前記プレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置のコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記ゲーム中の所定の期間において、前記プレイヤの操作入力に替えて前記プレイヤキャラクタを連続的に動作させるための一連の操作データが自動操作用データとして記憶されている操作データ記憶手段から当該自動操作用データを読み出し、前記所定の期間において当該自動操作用データに基づいてプレイヤキャラクタを順次動作させ、前記表示装置に表示させる自動制御手段と、
前記自動制御手段において前記プレイヤキャラクタが動作している期間中、ユーザのプレイ開始を指示するプレイ開始操作を受け付ける開始受付手段と、
前記プレイ開始操作を受け付けたタイミングにおいて前記自動制御手段における前記自動操作用データに基づいた前記プレイヤキャラクタの動作を終了し、当該タイミングにおける当該プレイヤキャラクタの状態から、プレイヤの入力装置に対する操作入力から出力される操作データに基づいて当該タイミング以降の当該プレイヤキャラクタの動作を制御するゲーム処理手段として機能させる、ゲームプログラム。
【請求項11】
前記ゲームプログラムは、前記コンピュータを、前記自動制御手段において前記プレイヤキャラクタが動作している期間中、当該表示される動作の速度の設定を変更する指示を受け付ける速度変更受付手段としてさらに機能させ、
前記自動制御手段は、前記速度変更受付手段において設定された速度に基づいて前記プレイヤキャラクタの動作を前記表示装置に表示させる、請求項10記載のゲームプログラム。
【請求項12】
前記自動操作用データは、表示の更新期間と等しいまたは表示の更新期間よりも短い単位時間毎に区切られた複数の操作データとして構成されており、
前記自動制御手段は、前記単位時間毎の操作データを順に読み出して、当該操作データ毎に前記プレイヤキャラクタを動作させる動作処理を行い、前記表示の更新期間毎のタイミングで、当該タイミングにおける前記プレイヤキャラクタを前記表示装置に表示させ、前記表示の更新期間内の前記動作処理の回数を前記速度変更受付手段において設定された速度に応じて変更することで、プレイヤキャラクタの動作が表示される速度を変更する、請求項11に記載のゲームプログラム。
【請求項13】
前記自動制御手段は、前記表示の更新期間内の前記動作処理の回数を増やすことで早送り再生を行う、請求項12に記載のゲームプログラム。
【請求項14】
前記自動制御手段は、画面の更新期間内の動作処理の回数を減らすことでスロー再生を行う、請求項12に記載のゲームプログラム。
【請求項15】
前記入力装置は、押圧可能なボタンを備え、
前記自動操作用データには、前記ボタンの押圧操作の有無を示すためのボタンデータが含まれる、請求項10に記載のゲームプログラム。
【請求項16】
前記入力装置は、加速度センサを備え、
前記自動操作用データには前記加速度センサから出力される加速度データが含まれる、請求項10に記載のゲームプログラム。
【請求項17】
前記入力装置は、ジャイロセンサを備え、
前記自動操作用データには前記ジャイロセンサから出力される角速度データが含まれる、請求項10に記載のゲームプログラム。
【請求項18】
前記入力装置は、少なくとも1つの撮像対象を撮像するための撮像手段を備え、
前記自動操作用データには、前記撮像手段を備えた入力装置から出力される撮像画像データで示される撮像画像に写っている撮像対象の位置に関する情報が含まれる、請求項10に記載のゲームプログラム。
【請求項19】
プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタを動作させて表示装置に表示させるゲーム処理を行うゲーム装置であって、
前記プレイヤの操作入力に替えて前記プレイヤキャラクタを連続的に動作させるための一連の操作データとして予め作成された自動操作用データを記憶する操作データ記憶手段と、
前記プレイヤの入力装置に対する操作入力から出力される操作データに基づいてプレイヤキャラクタの動作を制御する第1の制御モードと、前記自動操作用データを前記操作データ記憶手段から読み出し、当該自動操作用データに基づいてプレイヤキャラクタの動作を制御する第2の制御モードの間で、前記プレイヤから入力された所定の切替指示操作に応じて当該プレイヤキャラクタの制御を切り替える制御手段とを備えた、ゲーム装置。
【請求項20】
前記ゲーム装置は、前記プレイヤのプレイ開始を指示するプレイ開始操作を受け付ける開始受付手段を更に備え、
前記制御手段は、前記第2の制御モードでプレイヤキャラクタを制御している間に前記プレイ開始操作を受け付けたとき、当該プレイ開始操作を受け付けた時点のプレイヤキャラクタの状態を保持したまま、当該プレイヤキャラクタの制御を前記第1の制御モードに切り替える、請求項19に記載のゲーム装置。

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


【公開番号】特開2010−201180(P2010−201180A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2010−105459(P2010−105459)
【出願日】平成22年4月30日(2010.4.30)
【分割の表示】特願2008−235649(P2008−235649)の分割
【原出願日】平成20年9月12日(2008.9.12)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】