(57)【要約】【課題】リプレイ画像において見どころの位置を認識させる。【解決手段】ゲーム装置（１２）は、ゲーム操作に関する履歴をリプレイデータとしてメモリ（３８，４４，４２ｅ，４６）に保存し、保存したリプレイデータに基づいてリプレイ画像１３０ｂをモニタ２８に表示する。ＣＰＵ（４０）は、リプレイ画像１３０ｂにおける見どころの少なくとも時間的な位置を示す見どころ位置情報を見どころ位置指定操作に基づいて作成し（Ｓ３５，Ｓ４３，Ｓ４５）、作成した見どころ位置情報をリプレイデータと関連付けてメモリに保存し（Ｓ３９）、そしてリプレイ画像１３０ｂがモニタ２８に表示されているときに、リプレイ画像１３０ｂにおける見どころの時間的な位置を示すタイムライン画像１３６を見どころ位置情報に基づいてモニタ２８に表示する（Ｓ８４）。【選択図】図１３
2010264173.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラム。
【請求項２】
前記リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、
前記作成手段が作成する見どころ位置情報は前記リプレイ画像における見どころの空間的な位置をさらに示し、
前記コンピュータを、前記見どころ位置情報に基づいて前記視点を前記見どころの開始前に前記見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる、請求項１記載のゲームプログラム。
【請求項３】
前記見どころの時間的な位置は前記リプレイ画像のフレーム特定情報で示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報を前記見どころ位置情報に記述する、請求項１記載のゲームプログラム。
【請求項４】
前記見どころの時間的な位置および空間的な位置は前記リプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を前記見どころ位置情報に記述する、請求項２記載のゲームプログラム。
【請求項５】
前記見どころ位置画像は、前記リプレイ画像の表示期間に対応するタイムライン、および前記見どころの時間的な位置を前記タイムラインにおける位置で示す見どころマークを含む、請求項３または４記載のゲームプログラム。
【請求項６】
前記見どころ位置画像は、現時刻を前記タイムラインにおける位置で示す現時刻ポインタをさらに含む、請求項５記載のゲームプログラム。
【請求項７】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を前記画面に表示する、予告画像表示手段としてさらに機能させる、請求項１ないし６のいずれかに記載のゲームプログラム。
【請求項８】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達するのに応じて、前記見どころマークの態様を変化させる態様変化手段としてさらに機能させる、請求項１ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記メモリは一時期記憶領域および保存領域を含み、
前記保存手段は、前記作成手段によって作成された見どころ位置情報を前記時期記憶領域に記憶し、前記一時記憶領域に記憶している見どころ位置情報を前記ユーザの保存操作に応答して前記保存領域に保存し、
前記見どころ位置画像表示手段は、前記一時期記憶領域に記憶している見どころ位置情報に基づいて第１見どころマークを表示し、前記保存領域に保存した見どころ位置情報に基づいて第２見どころマークを表示する、請求項５記載のゲームプログラム。
【請求項１０】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置であって、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲーム装置。
【請求項１１】
プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第１ゲーム装置と前記第１ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面に表示する第２ゲーム装置とを含むゲームシステムであって、
前記第１ゲーム装置は、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、および
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記第２ゲーム装置に提供する提供手段を備え、
前記第２ゲーム装置は、
前記第１ゲーム装置から前記リプレイデータと関連付けて提供された前記見どころ位置情報を受領する受領手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラム，ゲーム装置およびゲームシステムに関し、特にたとえば、プレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現する、ゲームプログラム，ゲーム装置およびゲームシステムに関する。
【背景技術】
【０００２】
リプレイデータは、たとえば、プレイヤ間でクリア方法を教え合ったりハイスコアを自慢し合ったりする目的でやり取りされることがあり、これを提供する側のプレイヤには、提供を受ける相手側で再現されるプレイ画像つまりリプレイ画像に、自分のプレイの「見どころ」を明示したい要求がある。
【０００３】
リプレイに関する背景技術としては、リプレイ映像の編集（視点選択など）について開示した特許文献１や、リプレイ画像の視点制御および各種マーカ（キャラ指示マーカなど）の表示制御について開示した特許文献２がある。一方、見どころに関する背景技術としては、メディアストリームにブックマークおよびウオッチポイントを設定することについて開示した特許文献３が知られている。また、特許文献４は、リプレイデータの通信について開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４‐４１６４５号公報
【特許文献２】特開２００５‐２４５７９５号公報
【特許文献３】特表２００６‐５１８０６３号公報
【特許文献４】特開２００８‐２９８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、いずれの背景技術でも、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることはできなかった。
【０００６】
たとえば、特許文献１，２または４のリプレイデータに特許文献３のウオッチポイントを設定することが考えられるものの、このウオッチポイントは、ウオッチポイントトリガ（ｉｆ…）およびウオッチポイントアクション（ｔｈｅｎ…）で構成され、映画などのメディア再生に関連して所定のトリガが発生したとき所定のアクションを実行する、一般的な制御情報に過ぎない。
【０００７】
また、仮に、リプレイデータにウオッチポイントを設定することで、「見どころ」をトリガとしてリプレイ画像に“見どころ指示マーカ”を表示できたとしても、この種の指示マーカは「見どころ」が現れて初めて表示される。一方、リプレイデータの提供を受ける側のプレイヤは、「見どころ」がどのタイミングで現れるか知らないので、リプレイ画像を最初から通して凝視しない限り「見どころ」を見落とす可能性がある。さらに、リプレイ画像の視点移動が可能な場合には、視点が「見どころ」から遠く離れた位置にある（すなわち「見どころ」が視界に入っていない）状態で「見どころ」のタイミングが到来すると、マーカ表示も困難となり、プレイヤは「見どころ」を見落とす可能性が高い。
【０００８】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム，ゲーム装置およびゲームシステムを提供することである。
【０００９】
この発明の他の目的は、リプレイ画像の見どころを認識させることができる、ゲームプログラム，ゲーム装置およびゲームシステムを提供することである。
【課題を解決するための手段】
【００１０】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１１】
第１の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつリプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラムである。
【００１２】
第１の発明では、ゲーム装置（１２）は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ（３８，４４，４２ｅ，４６）に保存し、保存したリプレイデータに基づいてリプレイ画像（１３０ｂ）を画面（２８）に表示する。ゲームプログラムは、ゲーム装置のコンピュータ（４０）を、作成手段（Ｓ３５，Ｓ４３，Ｓ４５）、保存手段（Ｓ３９）および見どころ位置画像表示手段（Ｓ８４）として機能させる。作成手段は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する。保存手段は、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する。見どころ位置画像表示手段は、リプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像（１３６）を見どころ位置情報に基づいて画面に表示する。
【００１３】
第１の発明によれば、リプレイ画像と一緒に見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減できる。
【００１４】
第２の発明は、第１の発明に従属するゲームプログラムであって、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、作成手段が作成する見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示し、コンピュータを、見どころ位置情報に基づいて視点を見どころの開始前に見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる。
【００１５】
第２の発明では、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示す。ゲームプログラムはコンピュータを視点移動手段（Ｓ１１７）としてさらに機能させる。視点移動手段は、見どころ位置情報に基づいて、視点を見どころの開始前に見どころの位置へ向けて移動させる。
【００１６】
第２の発明によれば、見どころの開始前に視点を見どころの位置へと移動させることで、見どころのタイミングで視点が見どころの場所から離れていても、相手に見どころを見せることができる。
【００１７】
なお、見どころ位置画像表示手段は、リプレイ画像における見どころの空間的な位置を示す別の見どころ位置画像（１３２，１３２ａ）を見どころ位置情報に基づいてさらに表示してもよい。これによって、相手が見どころを見落とす可能性をさらに低減できる。
【００１８】
第３の発明は、第１の発明に従属するゲームプログラムであって、見どころの時間的な位置はリプレイ画像のフレーム特定情報で示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報を見どころ位置情報に記述する（Ｓ４３）。
【００１９】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。
【００２０】
第３の発明によれば、プレイヤは、リプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置を指定することができる。
【００２１】
第４の発明は、第２の発明に従属するゲームプログラムであって、見どころの時間的な位置および空間的な位置はリプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を見どころ位置情報に記述する（Ｓ４３，Ｓ４５）。
【００２２】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。また、視点は、ある実施例では視点変更操作に応じて移動するが、他の実施例では任意のキャラクタないしグループに追従して移動してもよい。前者の場合、見どころ位置情報は現時点の視点を示す座標であり、見どころの開始前に視点が当該座標の示す位置へと移動される。後者の場合、見どころ位置情報は現時点の追従対象を示すＩＤであり、見どころの開始前に追従対象が当該ＩＤの示すキャラクタないしグループへと変更される。
【００２３】
第４の発明によれば、プレイヤは、任意の視点からのリプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置および空間位置を指定することができる。
【００２４】
第５の発明は、第３または第４の発明に従属するゲームプログラムであって、見どころ位置画像は、リプレイ画像の表示期間に対応するタイムライン（１３６ａ）、および見どころの時間的な位置をタイムラインにおける位置で示す見どころマーク（１３６ｃ，１３６ｄ）を含む。
【００２５】
第５の発明によれば、見どころの時間位置を直感的に認識させることができる。
【００２６】
第６の発明は、第５の発明に従属するゲームプログラムであって、見どころ位置画像は、現時刻をタイムラインにおける位置で示す現時刻ポインタ（１３６ｂ）をさらに含む。
【００２７】
第６の発明によれば、見どころまでの時間を直感的に認識させることができる。また、早送りなどの操作が容易になる。
【００２８】
第７の発明は、第１ないし第６のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を画面に表示する、予告画像表示手段としてさらに機能させる。
【００２９】
第７の発明では、ゲームプログラムはコンピュータを予告画像表示手段（Ｓ１１３）としてさらに機能させる。予告画像表示手段は、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像（１３８）を画面に表示する。
【００３０】
第７の発明によれば、事前に予告を行うことで、見どころの特に先頭部分を逃さないように準備させることができる。
【００３１】
第８の発明は、第１ないし第７のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる態様変化手段（Ｓ１２１）としてさらに機能させる。
【００３２】
第８の発明では、ゲームプログラムはコンピュータを態様変化手段（Ｓ１２１）としてさらに機能させる。態様変化手段は、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる。
【００３３】
第８の発明によれば、見どころの開始を明確に認識させることができる。
【００３４】
第９の発明は、第５の発明に従属するゲームプログラムであって、メモリは一時期記憶領域（４２ｅ，４６）および保存領域（４４，３８）を含み、保存手段は、作成手段によって作成された見どころ位置情報を一時期記憶領域に記憶し、一時記憶領域に記憶している見どころ位置情報をユーザの保存操作に応答して保存領域に保存し、見どころ位置画像表示手段は、一時期記憶領域に記憶している見どころ位置情報に基づいて第１見どころマーク（１３６ｃ）を表示し、保存領域に保存した見どころ位置情報に基づいて第２見どころマーク（１３６ｄ）を表示する。
【００３５】
第９の発明によれば、保存操作を通じて確定済みの見どころ位置と未確定の見どころ位置とを異なる見どころマークで表現することで、両者を視覚的に区別できる。また、見どころ位置の変更を容易に行える。
【００３６】
第１０の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ（３８，４４，４２ｅ，４６）に保存しかつリプレイデータに基づいてリプレイ画像を画面（２８）に表示するゲーム装置（１２）であって、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段（Ｓ３５，Ｓ４３，Ｓ４５）、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段（Ｓ３９）、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像（１３６）を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段（Ｓ８４）を備える。
【００３７】
第１１の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第１ゲーム装置（１２）と第１ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面（２８）に表示する第２ゲーム装置（１２Ａ）とを含むゲームシステム（１２０）であって、第１ゲーム装置は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段（Ｓ３５，Ｓ４３，Ｓ４５）、および作成手段によって作成された見どころ位置情報をリプレイデータと関連付けて第２ゲーム装置に提供する提供手段（Ｓ３９，Ｓ６９，５０，６２）を備え、第２ゲーム装置は、第１ゲーム装置からリプレイデータと関連付けて提供された見どころ位置情報を受領する受領手段（Ｓ６７，５０，６２）、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段（Ｓ８４）を備える。
【００３８】
第１０，第１１の各発明でも、第１の発明と同様に、リプレイ画像の見どころを認識させることができる。
【発明の効果】
【００３９】
この発明によれば、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることができる、ゲームプログラム，ゲーム装置およびゲームシステムが実現される。
【００４０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４１】
【図１】この発明のゲームシステムの一実施例を示す図解図である。
【図２】ゲームシステムの電気的な構成を示すブロック図である。
【図３】第１コントローラの外観を説明するための図解図である。
【図４】第２コントローラの外観を説明するための図解図である。
【図５】コントローラ（第１コントローラおよび第２コントローラを互いに接続したもの）の電気的な構成を示すブロック図である。
【図６】コントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図７】マーカおよびコントローラの視野角を説明するための図解図である。
【図８】コントローラによる撮像画像の一例を示す図解図である。
【図９】第１および第２のゲーム装置を含むネットワークシステムを示すブロック図である。
【図１０】ゲーム画面の構成を説明するための図解図であり、（Ａ）がプレイ時の構成例を、図１０がリプレイ時の構成例を示す。
【図１１】リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、（Ａ）が操作時点の画面を、（Ｂ）が操作直後の画面を示す。
【図１２】見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、（Ａ）が再記録操作時点の画面を、（Ｂ）が再記録操作直後の画面を示す。
【図１３】リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを説明するための図解図であり、（Ａ）が見どころ接近時（５秒前）の画面を、（Ｂ）が見どころ到来時の画面を示す。
【図１４】カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したときゲーム画面がどのように変化するかを説明するための図解図であり、（Ａ）が見どころ５秒前の画面を、（Ｂ）が見どころ３秒前の画面を示す。
【図１５】メモリマップの一部を示す図解図である。
【図１６】ＣＰＵ動作の一部を示すフロー図である。
【図１７】ＣＰＵ動作の他の一部を示すフロー図である。
【図１８】ＣＰＵ動作のその他の一部を示すフロー図である。
【図１９】ＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図２０】ＣＰＵ動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【００４２】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ゲーム装置１２およびコントローラ１４を含む。図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ１４と通信可能に設計されている。また、ゲーム装置１２と各コントローラ１４とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００４３】
ゲーム装置１２は、略直方体のハウジング１６を含み、ハウジング１６の前面にはディスクスロット１８が設けられる。ディスクスロット１８から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク２４が挿入されて、ハウジング１６内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１８の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１８を点灯または点滅させることが可能である。
【００４４】
また、ゲーム装置１２のハウジング１６の前面の上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１８の近傍には、外部メモリカード用コネクタカバー２２が設けられる。この外部メモリカード用コネクタカバー２２の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、外部メモリカード３８（以下、単に「メモリカード３８」という。）が挿入される。メモリカード３８は、光ディスク２４から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ、あるいは後述するリプレイデータ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード３８に対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカード３８は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード３８には当該他のアプリケーションのデータを保存することができる。
【００４５】
なお、メモリカード３８としては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。メモリカード３８は、ゲーム装置１２と同様の構成を有する他のゲーム装置１２Ａでも利用することができるので、ゲームデータをメモリカード３８を介して他のプレイヤに提供することもできる。
【００４６】
図１では省略するが、ゲーム装置１２のハウジング１６の後面には、ＡＶコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル２６を通してゲーム装置１２にモニタ２８およびスピーカ３０を接続する。このモニタ２８およびスピーカ３０は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル２６によって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）２８の画面上にたとえば３次元（３Ｄ）ビデオゲームの仮想３次元ゲーム画像が表示され、左右のスピーカ３０からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ２８の周辺（この実施例では、モニタ２８の上側）には、２つの赤外ＬＥＤ（マーカ）３２ａおよび３２ｂを備えるマーカ部３２が設けられる。このマーカ部３２は、電源線３２ｃを通してゲーム装置１２に接続される。したがって、マーカ部３２には、ゲーム装置１２から電源が供給される。これによって、マーカ３２ａおよび３２ｂは発光し、それぞれモニタ２８の前方に向けて赤外光を出力する。
【００４７】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００４８】
コントローラ１４は、詳細は後述されるが、第１の操作ユニットおよび第２の操作ユニットとして、それぞれが片手で把持可能な第１コントローラ３４および第２コントローラ３６を含む。第２コントローラ３６の後端から延びるケーブル３６ａの先端にはコネクタ３６ｂが設けられており、当該コネクタ３６ｂは、第１コントローラ３４の後端面に設けられるコネクタ３４ａ（図３、図５）に接続される。第２コントローラ３６において取得される入力データは、ケーブル３６ａを介して第１コントローラ３４に与えられる。第１コントローラ３４は、第１コントローラ３４自身の入力データと第２コントローラ３６の入力データとを含むコントローラデータをゲーム装置１２に送信する。
【００４９】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザは電源スイッチ２０ａによってまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク２４を選択し、その光ディスク２４をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク２４に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置１２に入力を与えるためにコントローラ１４を操作する。たとえば操作部８２のどれかの操作ボタンを操作することによって、ゲームもしくは他のアプリケーションをスタートさせる。また、操作部８２に対する操作以外にも、コントローラ１４自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（仮想カメラの位置）を変化させることができる。
【００５０】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４４（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク２４のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００５１】
図２は図１実施例のゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１６内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００５２】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク２４からプログラムやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００５３】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００５４】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画命令を実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００５５】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００５６】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３０から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００５７】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ２８およびスピーカ３０に出力される。したがって、ゲーム画面がモニタ２８に表示され、ゲームに必要な音（音楽）がスピーカ３０から出力される。
【００５８】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００５９】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワーク１２２に接続された他のゲーム装置１０Ａやサーバ１２４と通信することができる（図９参照）。ただし、ネットワーク１２２を介さずに、直接的に他のゲーム装置１０Ａと通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワーク１２２へ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワーク１２２に送信する。また、入出力プロセッサ４２ａは、他のゲーム装置１０Ａから送信されるデータ（「受信データ」とする）を、ネットワーク１２２、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ネットワーク１２２に接続されたサーバ１２４からダウンロードしたデータ（ダウンロードデータとする）をネットワーク１２２、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶することもできる。
【００６０】
また、入出力プロセッサ４２ａは、コントローラ１４から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００６１】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ１４とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカード３８のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６２】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１６）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（「通常モード」と呼ぶこととする）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００６３】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００６４】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク２４が排出される。
【００６５】
図３には第１コントローラ３４の外観の一例が示される。図３（Ａ）は、第１コントローラ３４を上面後方から見た斜視図であり、図３（Ｂ）は、第１コントローラ３４を下面前方から見た斜視図である。第１コントローラ３４は、たとえばプラスチック成型によって形成されたハウジング８０を有している。ハウジング８０は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング８０は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第１コントローラ３４を用いて、それに設けられたボタンを押下することと、第１コントローラ３４自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【００６６】
ハウジング８０には、複数の操作ボタン（操作キー）が設けられる。すなわち、ハウジング８０の上面には、十字キー８２ａ、１ボタン８２ｂ、２ボタン８２ｃ、Ａボタン８２ｄ、−ボタン８２ｅ、メニューボタン８２ｆ、および＋ボタン８２ｇが設けられる。一方、ハウジング８０の下面には凹部が形成されており、当該凹部の後方側傾斜面にはＢボタン８２ｈが設けられる。これら各ボタン（スイッチ）８２ａ−８２ｈには、ゲーム装置１２が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング８０の上面には、遠隔からゲーム装置１２本体の電源をオン／オフするための電源スイッチ８２ｉが設けられる。第１コントローラ３４に設けられる各ボタン（スイッチ）は、包括的に参照符号８２を用いて示されることもある。
【００６７】
また、ハウジング８０の後面には、上述のコネクタ３４ａが設けられている。コネクタ３４ａは、たとえば３２ピンのエッジコネクタであり、第１コントローラ３４に他の機器を接続するために利用される。この実施例では、コネクタ３４ａには第２コントローラ３６のコネクタ３６ｂが接続される。また、ハウジング８０上面の後端側には複数のＬＥＤ８４が設けられ、この複数のＬＥＤ８４によって当該コントローラ１４のコントローラ番号（コントローラの識別番号）が示される。ゲーム装置１２には、たとえば最大４つのコントローラ１４が接続可能であり、ゲーム装置１２に複数のコントローラ１４が接続される場合には、各コントローラ１４には、たとえば接続順にコントローラ番号が付与される。各ＬＥＤ８４はコントローラ番号と対応付けられており、当該コントローラ番号に対応するＬＥＤ８４が点灯される。
【００６８】
また、第１コントローラ３４のハウジング８０内には加速度センサ８６（図５）が設けられている。加速度センサ８６としては、典型的には静電容量式の加速度センサが用いられ得る。加速度センサ８６は、当該加速度センサの検出部に加わっている加速度のうち、センシング軸ごとの直線成分の加速度や重力加速度を検出する。具体的には、この実施例では、３軸加速度センサが適用され、第１コントローラ３４の上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向のそれぞれで加速度を検知する。
【００６９】
なお、加速度センサ８６としては、ハウジング８０の形状または第１コントローラ３４の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか２方向の加速度を検出する２軸加速度センサが用いられてもよい。場合によっては１軸加速度センサが用いられてもよい。
【００７０】
さらに、コントローラ２２は、撮像情報演算部８８（図５参照）を有している。図３（Ｂ）に示すように、ハウジング８０の先端面には撮像情報演算部８８の光入射口９０が設けられ、光入射口９０からはセンサバー４４のマーカ４４ｍ、４４ｎの発する赤外線が取り込まれる。
【００７１】
図４には第２コントローラ３６の外観の一例が示される。図４（Ａ）は、第２コントローラ３６を上面後方から見た斜視図であり、図４（Ｂ）は、第２コントローラ３６を下面前方から見た斜視図である。なお、図４では、第２コントローラ３６のケーブル３６ａは省略されている。
【００７２】
第２コントローラ３６は、たとえばプラスチック成型によって形成されたハウジング９２を有している。ハウジング９２は、平面視では、前後方向（図４のＺ軸方向）に略細長い楕円形状を有し、後端側の左右方向（図４のＸ軸方向）の幅が先端側のそれよりも狭くされている。また、ハウジング９２は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング９２は、第１コントローラ３４と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向（Ｚ軸方向）の長さは、第１コントローラ３４のハウジング８０よりもやや短くされている。この第２コントローラ３６でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【００７３】
ハウジング９２の上面の先端側には、アナログジョイスティック９４ａが設けられる。ハウジング９２の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向（図４に示すＹ軸方向）に並べて、Ｃボタン９４ｂおよびＺボタン９４ｃが設けられる。アナログジョイスティック９４ａおよび各ボタン９４ｂ，９４ｃには、ゲーム装置１２が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第２コントローラ３６に設けられるアナログジョイスティック９４ａおよび各ボタン９４ｂ，９４ｃは、包括的に参照符号９４を用いて示されることもある。
【００７４】
また、第２コントローラ３６のハウジング９２内には加速度センサ９６（図５）が設けられている。この加速度センサ９６としては、第１コントローラ３４の加速度センサ８６と同様の加速度センサが適用される。具体的には、この実施例では３軸加速度センサが適用され、第２コントローラ３６の上下方向（図４に示すＹ軸方向）、左右方向（図４に示すＸ軸方向）および前後方向（図４に示すＺ軸方向）の３軸方向のそれぞれで加速度を検知する。
【００７５】
なお、図３に示した第１コントローラ３４および図４に示した第２コントローラ３６の形状や、ボタン（スイッチまたはスティック等）の形状、数および設置位置等は一例であり、他の形状、数および設置位置等に適宜変更され得る。
【００７６】
また、コントローラ１４の電源は、第１コントローラ３４内に取替可能に収容されるバッテリ（図示せず）によって与えられる。第２コントローラ３６には、コネクタ３４ａ、コネクタ３６ｂおよびケーブル３６ａを介してこの電源が供給される。
【００７７】
図５には、第１コントローラ３４と第２コントローラ３６とが接続されたときのコントローラ１４の電気的構成の一例が示される。第１コントローラ３４は、その内部に通信部９８を備え、通信部９８には、操作部８２、加速度センサ８６、撮像情報演算部８８およびコネクタ３４ａが接続される。操作部８２は、上述の操作ボタンないし操作スイッチ８２ａ‐８２ｉを示す。操作部８２が操作されると、その操作信号（キー情報）が通信部９８に与えられる。加速度センサ８６が検出した加速度を示すデータは、通信部９８へ出力される。加速度センサ８６は、たとえば最大２００フレーム／秒程度のサンプリング周期を有する。
【００７８】
撮像情報演算部８８が取得したデータもまた通信部９８に出力される。撮像情報演算部８８は、赤外線フィルタ１００、レンズ１０２、撮像素子１０４および画像処理回路１０６によって構成される。赤外線フィルタ１００は、第１コントローラ３４の前方の光入射口９０から入射する光から赤外線のみを通過させる。上述したように、モニタ３０の表示面近傍（周辺）に配置されるセンサバー４４のマーカ４４ｍおよび４４ｎは、モニタ３０の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ１００を設けることによってマーカ４４ｍおよび４４ｎの画像をより正確に撮像することができる。レンズ１０２は、赤外線フィルタ１００を透過した赤外線を集光して撮像素子１０４へ出射する。撮像素子１０４は、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ１０２によって集光された赤外線を撮像する。したがって、撮像素子１０４は、赤外線フィルタ１００を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子１０４によって撮像された画像を撮像画像と呼ぶ。撮像素子１０４によって生成された画像データは、画像処理回路１０６で処理される。画像処理回路１０６は、撮像画像内における撮像対象（マーカ４４ｍおよび４４ｎ）の位置を算出し、所定時間（たとえば１フレーム）毎に、当該位置を示す各座標値を含むマーカ座標データを通信部９８に出力する。なお、画像処理回路１０６における処理については後述する。
【００７９】
コネクタ３４ａには、第２コントローラ３６から延びるケーブル３６ａのコネクタ３６ｂが接続される。コネクタ３６ｂには、第２コントローラ３６の操作部９４および加速度センサ９６が接続される。操作部９４は、上述のアナログジョイスティック９４ａおよび操作ボタン９４ｂ、９４ｃを示す。操作部９４が操作されると、その操作信号がケーブル３６ａ、コネクタ３６ｂおよびコネクタ３４ａ等を介して通信部９８に与えられる。また、加速度センサ９６も、加速度センサ８６と同様のサンプリング周期を有しており、検出された加速度を示すデータを通信部９８に与える。
【００８０】
通信部９８は、マイクロコンピュータ（マイコン）１０８、メモリ１１０、無線モジュール７８およびアンテナ１１２を含む。マイコン１０８は、処理の際にメモリ１１０を記憶領域（作業領域やバッファ領域）として用いながら、無線モジュール７８を制御して、取得したデータをゲーム装置１２に送信したりゲーム装置１２からのデータを受信したりする。
【００８１】
第１コントローラ３４の操作部８２、加速度センサ８６および撮像情報演算部８８ならびに第２コントローラ３６の操作部９４および加速度センサ９６からマイコン１０８へ出力されたデータは、一時的にメモリ１１０に格納される。通信部９８からゲーム装置１２のＢｌｕｅｔｏｏｔｈ通信ユニット７６への無線送信は所定の周期毎に行われる。なお、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、第１コントローラ３４からの送信はそれと同等かそれより短い周期で行うことが必要となる。マイコン１０８は、ゲーム装置１２への送信タイミングが到来すると、メモリ１１０に格納されている操作部８２および９４の操作データ、加速度センサ８６および９６の加速度データならびに撮像情報演算部８８のマーカ座標データを含むデータを、コントローラデータとして無線モジュール７８へ出力する。無線モジュール７８は、Ｂｌｕｅｔｏｏｔｈのような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ１１２から放射する。つまり、コントローラデータは、無線モジュール７８で微弱電波信号に変調されて第１コントローラ３４から送信される。微弱電波信号はゲーム装置１２側のＢｌｕｅｔｏｏｔｈ通信ユニット７６で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置１２はコントローラデータを取得することができる。ゲーム装置１２のＣＰＵ４６は、コントローラ１４から取得したコントローラデータに基づいてゲーム処理を行う。
【００８２】
なお、加速度センサ８６および９６から出力される加速度の信号に基づいて、ゲーム装置１２のプロセッサ（例えばＣＰＵ４６）またはコントローラ１４のプロセッサ（例えばマイコン１０８）などのコンピュータが処理を行うことによって、コントローラ１４に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ８６および９６を搭載する第１コントローラ３４および第２コントローラ３６が静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサ８６および９６によって検出される加速度が重力加速度のみであるとして処理する場合）、第１コントローラ３４および第２コントローラ３６が現実に静的な状態であれば、検出された加速度に基づいて第１コントローラ３４および第２コントローラ３６の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかをそれぞれ知ることができる。具体的には、加速度センサ８６および９６の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで、第１コントローラ３４および第２コントローラ３６がそれぞれ傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸加速度センサが適用される場合には、さらに各軸の加速度の信号に対して処理を施すことによって、第１コントローラ３４および第２コントローラ３６がそれぞれ重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ８６および９６からの出力に基づいて、コンピュータが第１コントローラ３４および第２コントローラ３６の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ８６および９６からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ８６および９６をコンピュータと組み合わせて用いることによって、第１コントローラ３４および第２コントローラ３６の傾き、姿勢または位置を判定することができる。
【００８３】
一方、加速度センサ８６および９６が動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサ８６および９６の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ８６および９６を備える第１コントローラ３４および第２コントローラ３６がユーザの手で動的に加速されて動かされる場合に、加速度センサ８６および９６によって生成される加速度信号を上記コンピュータによって処理することによって、第１コントローラ３４および第２コントローラ３６のさまざまな動きおよび／または位置を算出することができる。なお、加速度センサ８６および９６が動的な状態であることを前提とする場合であっても、加速度センサ８６および９６の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることが可能である。他の実施例では、加速度センサ８６および９６は、信号をマイコン１０８に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ８６および９６が静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８４】
このゲームシステム１０では、ユーザがコントローラ１４を動かすことによってゲームに対する操作または入力を行うことができる。ゲームをプレイする際には、たとえば図６に示すように、ユーザは、その右手で第１コントローラ３４を持ち、その左手で第２コントローラ３６を持つ。上述のように、この実施例では、第１コントローラ３４には３軸方向の加速度を検出する加速度センサ８６が内蔵され、第２コントローラ３６にも同様の加速度センサ９６が内蔵されている。第１コントローラ３４および第２コントローラ３６がそれぞれユーザによって動かされると、加速度センサ８６および加速度センサ９６によって、それぞれのコントローラ自身の動きを示す加速度値が検出される。ゲーム装置１２では、当該検出された加速度値に応じてゲーム処理が実行され得る。
【００８５】
また、第１コントローラ３４には撮像情報演算部８８が設けられるので、ユーザは第１コントローラ３４をポインティングデバイスとして使用して操作を行うことができる。この場合、ユーザは、第１コントローラ３４の先端面（光入射口９０）がマーカ４４ｍおよび４４ｎの方を向く状態で第１コントローラ３４を把持する。ただし、図１から分かるように、マーカ４４ｍおよび４４ｎは、モニタ３０の画面の所定の１辺（上辺または下辺）の近傍に、当該所定の１辺に対して平行に配置されている。この状態で、ユーザは、第１コントローラ３４自体を動かして、第１コントローラ３４が指示する画面上の位置を変更したり、第１コントローラ３４と各マーカ４４ｍおよび４４ｎとの距離を変更したりすることによって、ゲーム操作を行うことができる。
【００８６】
図７は、マーカ４４ｍおよび４４ｎと第１コントローラ３４の視野角を説明するための図である。図７に示すように、マーカ４４ｍおよび４４ｎは、それぞれ、視野角αの範囲で赤外光を放射する。また、撮像情報演算部８８の撮像素子１０４は、第１コントローラ３４の視線方向（図３に示すＺ軸方向）を中心とした視野角βの範囲で入射する光を受光することができる。たとえば、マーカ４４ｍおよび４４ｎの視野角αは、共に３４°（半値角）であり、一方、撮像素子１０４の視野角βは４２°である。ユーザは、撮像素子１０４が２つのマーカ４４ｍおよび４４ｎからの赤外光を受光することが可能な位置および向きとなるように、第１コントローラ３４を把持する。具体的には、撮像素子１０４の視野角βの中に少なくとも一方のマーカ４４ｍまたは４４ｎが存在し、かつ、マーカ４４ｍおよび４４ｎの少なくとも一方の視野角αの中に第１コントローラ３４が存在する状態となるように、ユーザは第１コントローラ３４を把持する。この状態にあるとき、第１コントローラ３４は、マーカ４４ｍおよび４４ｎの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲で第１コントローラ３４の位置および向きを変化させることによってゲーム操作を行うことができる。なお、マーカ４４ｍおよび４４ｎのいずれか一方のみが検出される場合には、たとえば、直前の２つのマーカ４４ｍおよび４４ｎを検出したデータを利用して、検出されない他方のマーカの代わりに仮のマーカ座標を設定することによって、第１コントローラ３４の指示位置を算出することができる。
【００８７】
なお、第１コントローラ３４の位置および向きがこの範囲外となった場合、第１コントローラ３４の位置および向きに基づいたゲーム操作を行うことができなくなる。したがって、上記範囲は「操作可能範囲」と呼ばれる。
【００８８】
操作可能範囲内で第１コントローラ３４が把持される場合、撮像情報演算部８８によってマーカ４４ｍおよび４４ｎの画像が撮像される。すなわち、撮像素子１０４によって得られる撮像画像には、撮像対象であるマーカ４４ｍおよび４４ｎの画像（対象画像）が含まれる。図８は、対象画像を含む撮像画像の一例を示す図である。対象画像４４ｍ’および４４ｎ’を含む撮像画像の画像データを用いて、画像処理回路１０６は、各マーカ４４ｍおよび４４ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【００８９】
撮像画像の画像データにおいて対象画像４４ｍ’および４４ｎ’は高輝度部分として現れるため、画像処理回路１０６は、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路１０６は、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、２つの対象画像（マーカ画像）４４ｍ’および４４ｎ’だけではなく、窓からの太陽光や部屋の蛍光灯の光等のような他の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、マーカ４４ｍおよび４４ｎの画像４４ｍ’および４４ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。撮像画像における対象画像４４ｍ’および４４ｎ’と他の画像との区別のために、撮像対象４４ｍおよび４４ｎは既知のものである必要があり、この実施例ではその大きさが予め決められるので、マーカ画像４４ｍ’および４４ｎ’の大きさを予測することができる。したがって、高輝度部分の大きさに基づいて、マーカ画像４４ｍ’および４４ｎ’の判定を行うことができる。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【００９０】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路１０６は当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子１０４の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子１０４によって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【００９１】
なお、図８に示すように、撮像画像における位置は、撮像画像の左上を原点Ｏとし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（撮像画像のＸＹ座標系）で表現されるものとする。
【００９２】
また、対象画像４４ｍ’および４４ｎ’が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路１０６は、算出された２箇所のマーカ座標を示すデータ、つまり、撮像対象の位置を示す撮像対象データを通信部９８に出力する。出力された撮像対象データ（マーカ座標データ）は、上述したように、マイコン１０８によってコントローラデータに含められて、ゲーム装置１２に送信される。
【００９３】
ゲーム装置１２（ＣＰＵ４６）は、受信したコントローラデータからマーカ座標データを取得すると、このマーカ座標データに基づいて、モニタ３０の画面上における第１コントローラ３４の指示位置（指示座標）と、第１コントローラ３４からマーカ４４ｍおよび４４ｎまでの各距離とを算出することができる。なお、たとえば、第１コントローラ３４がモニタ３０の画面の左端を指示するとき、対象画像４４ｍ’および４４ｎ’は撮像画像の右側に検出され、第１コントローラ３４が画面の下端を指示するとき、対象画像４４ｍ’および４４ｎ’は撮像画像の上側に検出され、つまり、画面上の第１コントローラ３４の指示位置と逆側に撮像画像上のマーカ座標が検出される。したがって、第１コントローラ３４の指示位置の座標をマーカ座標から算出する際には、座標系が図８の撮像画像の座標系から画面上の位置を表すための座標系に適宜に変換される。
【００９４】
なお、この実施例では、第１コントローラ３４で撮像データに所定の演算処理を行ってマーカ座標を検出して、そのマーカ座標データをゲーム装置１２に送信するようにしている。しかし、他の実施例では、撮像データをコントローラデータとして第１コントローラ３４からゲーム装置１２に送信し、ゲーム装置１２のＣＰＵ４６が撮像データに所定の演算処理を行って、マーカ座標および指示位置の座標を検出するようにしてもよい。
【００９５】
また、撮像画像における対象画像間の距離は、第１コントローラ３４と、マーカ４４ｍおよび４４ｎとの距離に応じて変化する。マーカ４４ｍおよび４４ｎ間の距離、撮像画像の幅、撮像素子１０４の視野角βが予め決まっているので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２は第１コントローラ３４とマーカ４４ｍおよび４４ｎとの間の現在の距離を算出することができる。
【００９６】
以上のように構成されたゲーム装置１０では、ゲームをプレイするときプレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現（リプレイ）することができる（以下では、こうして再現された画像を「リプレイ画像」と呼ぶ）。保存されたリプレイデータをたとえばネットワーク１２２に送信することで、他のゲーム装置１０Ａでリプレイを行うこともできる。ネットワーク１２２などの通信媒体に限らず、メモリカード３８などの記憶媒体を介してリプレイデータの提供を行うことも可能である。また、リプレイ時にプレイヤが見どころ位置を指定する操作を行うと、見どころ位置情報がリプレイデータに付加され、リプレイ時には、見どころ位置情報に基づいてリプレイの見どころが明示される。
【００９７】
このゲームでは、プレイヤキャラクタがゲーム空間内を移動しつつ敵キャラクタとのバトルを行う。仮想カメラは、このようなバトルを捉えるべく、フリーカメラモードでは手動操作（たとえば操作部８２に対する操作もしくはコントローラ１４自体の動き）によって、追従カメラモードでは自動制御によって、ゲーム空間内を移動する。前述の見どころ位置情報は、見どころの時間的な位置および空間的な位置を示す情報であり、たとえば、時間的位置はリプレイ画像のフレーム番号（あるいはタイムスタンプ）によって、空間的位置は仮想カメラの視点座標（あるいは追従対象ＩＤ）によって表現される。
【００９８】
図１０は、モニタ２８に表示されるゲーム画面の構成がプレイ時およびリプレイ時でどのように異なるかを説明するための図解図であり、図１０（Ａ）がプレイ時の構成例を、図１０（Ｂ）がリプレイ時の構成例を示している。図１０（Ａ）を参照して、プレイ時のゲーム画面は、ゲーム空間のうち現時点で仮想カメラ（図示せず）が捉えている部分つまりプレイヤキャラクタＣを含む被写界の画像（プレイ画像）１３０ａと、当該部分のゲーム空間内での位置を示すミニマップの画像１３２とを含む。この例では、プレイ画像１３０ａは画面全体に表示され、ミニマップ画像１３２はプレイ画像１３０ａに重ねて画面右下隅に表示されている。
【００９９】
図１０（Ｂ）を参照して、リプレイ時のゲーム画面は、上記のプレイ画像１３０ａに対応するリプレイ画像１３０ｂおよびミニマップ画像１３２に加え、タイムライン画像１３６およびボタン画像１３４をさらに含む。この例では、タイムライン画像１３６は画面右上に、ボタン画像１３４は画面左下に配置される。ボタン画像１３４は、コントローラ１４のＡボタン８２ｄおよびＺボタン９４ｃを意味する“Ａ”および“Ｚ”と、Ａボタン８２ｄおよびＺボタン９４ｃに割り当てられた機能を示す“見どころ記録”および“早送り”とで構成される。
【０１００】
タイムライン画像１３６は、リプレイ期間を示すタイムライン１３６ａと、現時刻がリプレイ期間のどの辺りかをタイムライン１３６ａ上で示す現時刻ポインタ１３６ｂとを含む。この例では、タイムライン１３６ａの上端および下端がリプレイの開始時点および終了時点に対応し、現時刻ポインタ１３６ｂはリプレイの進行に連れてタイムライン１３６ａの上端から下端へと移動する。タイムライン１３６ａの長さは、この実施例ではプレイ期間の長短に関わらず一定である。なお、タイムライン画像１３６は、現時刻や見どころの時間的位置を時間軸上で示すものであれば、どのような画像でもよい。また、タイムライン１３６ａの長さは、一定とは限らず、リプレイ期間の長短に応じて変化させてもよい。
【０１０１】
図１１は、リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図１１（Ａ）が操作時点の画面を示し、図１１（Ｂ）が操作直後の画面を示している。なお、図１１（Ａ）の画面は、図１０（Ｂ）の画面から所定時間経過後の画面であり、この間に、プレイヤキャラクタＣおよび仮想カメラ（図示せず）は手動操作により移動し、タイムライン１３６ａ上の現時刻ポインタ１３６ｂは経過時間に相当する距離だけ変位している。リプレイ中にＡボタン８２ｄが押されると、まず図１１（Ａ）のように、画面内の“Ａ”ボタンの表示態様（色，形状など）が変化し、次いで図１１（Ｂ）のように、タイムライン１３６ａ上の現時刻ポインタ１３６ｂで示される位置に見どころマーク１３６ｃ（ここでは黄色）が表示される。
【０１０２】
なお、この実施例では、何度でも見どころ記録操作を行うことができる一方、記録可能な見どころの数は１つなので、見どころ記録操作が行われる度に見どころマーク１３６ｃの表示位置が変化する。また、見どころ記録操作の後に見どころ保存操作が行われると、その時点で記録されている見どころが確定された見どころとして保存され、図１１（Ｂ）の見どころマーク１３６ｃは、図１２（Ａ）の見どころマーク１３６ｄ（ここでは赤色）に変化する。このように、見どころマークには、それが未確定の見どころであることを示す見どころマーク１３６ｃと、それが確定済みの見どころであることを示す見どころマーク１３６ｄとの２種類がある。なお、２種類の見どころマーク１３６ｃおよび１３６ｄの間の相違は、ここでは色であるが、これに代えて、またはこれに加えて、大きさ，形状，明るさなどを異ならせてもよい。
【０１０３】
図１２は、見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図１２（Ａ）が再記録操作時点の画面を示し、図１２（Ｂ）が再記録操作直後の画面を示している。なお、図１２（Ａ）の画面は、図１１（Ｂ）の画面から所定時間経過後の画面であり、プレイヤキャラクタＣおよび仮想カメラ（図示せず）は手動操作により移動し、タイムライン１３６ａ上の現時刻ポインタ１３６ｂは経過時間に相当する距離だけ変位している。
【０１０４】
図１２（Ａ）の画面には確定済みの見どころを示す見どころマーク１３６ｄを含が含まれており、再びＡボタン８２ｄが押されると、まず図１２（Ａ）のように、画面内の“Ａ”ボタンの表示態様（色や形状など）が変化し、次いで図１２（Ｂ）のように、タイムライン１３６ａ上の現時刻ポインタ１３６ｂで示される位置に未確定の見どころを示す見どころマーク１３６ｃがさらに表示される。したがって、タイムライン１３６ａ上には、２種類の見どころマーク１３６ｃおよび１３６ｄが存在する結果となる。
【０１０５】
なお、この後、さらに見どころ再記録操作が行われると、未確定の見どころを示す見どころマーク１３６ｃの位置が変化する（既存の見どころマーク１３６ｃは消滅し、新たな見どころマーク１３６ｃが現時刻ポインタ１３６ｂの位置に登場する）。一方、見どころ保存操作が行われると、確定済みの見どころを示す見どころマーク１３６ｄは消滅し、未確定の見どころを示す見どころマーク１３６ｃが確定済みの見どころを示す見どころマーク１３６ｄに変化する。
【０１０６】
図１３は、リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを示した図解図であり、図１３（Ａ）が見どころ接近時の画面を示し、図１３（Ｂ）が見どころ到来時の画面を示している。見どころの所定時間前たとえば５秒前になると、まず図１３（Ａ）のように予告メッセージ１３８たとえば“もうすぐ見どころ”が表示され、次いで図１３（Ｂ）のように現時刻ポインタ１３６ｂが見どころマーク１３６ｄに到達したとき予告メッセージ１３８が消滅して見どころマーク１３６ｄが点灯（形状，色，明るさ等が変化）する。点灯状態は、たとえば５秒間継続する。なお、他の実施例では、予告メッセージ１３８に見どころまでの時間を記述してもよく、カウントダウンを行ってもよい。
【０１０７】
図１４は、カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したとき、ゲーム画面がどのように変化するかを示した図解図である。図１４（Ａ）は図１３（Ａ）と同様の画面（見どころの５秒前の画面）であり、ここから２秒が経過する（つまり見どころの３秒前になる）と、図１４（Ｂ）にようにカメラ視点が見どころの場所へと強制移動される。
【０１０８】
以下、具体的なゲーム処理について、図１５のメモリマップおよび図１６〜図２０のフローチャートにより説明する。このゲームをプレイするとき、内部メインメモリ４２ｅおよび／または外部メインメモリ４６には、図１５に示すように、プログラム記憶領域７０およびデータ記憶領域７８が形成され、プログラム記憶領域７０には、ゲームプログラム７２，入出力・通信制御プログラム７４およびＡＩプログラム７６などが格納される。
【０１０９】
ゲームプログラム７２は、ＣＰＵ４０を介してハードウェア全体（図２参照）を制御することによりこのゲームを実現するソフトウェアであり、図１６〜図２０のフローチャートに対応する。入出力・通信制御プログラム７４は、主として入出力プロセッサ４２ａを介してコントローラ１４からの入力やモニタ２８への出力を制御し、また主として無線通信モジュール５０を介して他のゲーム装置１２Ａやサーバ１２４との間でネットワーク１２２を通じたデータ通信を行うためのソフトウェアであり、ゲームプログラム７２によって利用される。ＡＩプログラム７６は、プレイヤに代わってコンピュータがゲームをプレイするためのソフトウェアであり、ゲームプログラム７２によって利用される。
【０１１０】
データ記憶領域７８は、モード情報領域８０，操作情報領域８２，フレーム画像領域８４，フレーム番号領域８６，視点座標領域８８，リプレイデータ領域９０，現時刻ポインタ情報領域９２および見どころ情報領域９４などを含む。モード情報領域８０には、現時点で選択されているモードを示すモード情報が記憶される。操作情報領域８２には、コントローラ１４による直近のゲーム操作を示す操作情報が記憶される。フレーム画像領域８４には、現時点のフレーム画像が記憶される。フレーム番号領域８６には、現時点のフレーム番号が記憶される。視点座標領域８８には、現時点の視点座標が記憶される。リプレイデータ領域９０には、ゲーム操作履歴を示すリプレイデータが記憶される。現時刻ポインタ情報領域９２には、現時点での現時刻ポインタ１３６ｂの表示位置を示す現時刻ポインタ情報が記憶される。見どころ情報領域９４には、リプレイデータに関し見どころの位置を示す見どころ情報が記憶される。ここで見どころ情報は、見どころの時間的位置および空間的位置をそれぞれ示す変数ＶＮおよびＶＣを含む。
【０１１１】
ＣＰＵ４０は、図１５のメモリマップに示したプログラムおよびデータに基づいて、図１６〜図２０のフローに従うゲーム処理を実行する。図１５を参照して、ゲーム開始の時点で、モード情報領域８０には、プレイモード，リプレイモードI，通信モードおよびリプレイモードIIのいずれか１つを示すモード情報が記憶されている。
【０１１２】
なお、図示は省略するが、図１６〜図２０のゲーム処理と並行して、コントローラ１４によるゲーム操作の度に操作情報領域８２の情報を更新する処理と、コントローラ１４によるモード変更操作に応じてモード情報領域８０の情報を更新する処理とが、入出力・通信制御プログラム７４によって実行されている。
【０１１３】
モード情報がプレイモードを示す場合、ゲーム処理は、図１６のフローに従って進行する。図１６を参照して、ＣＰＵ４０は、まず、ステップＳ１でプレイ画面をモニタ２８に初期表示し（図１０（Ａ）参照）、ステップＳ３では、ＡＩプログラム７６を利用して、および／またはゲーム操作に応じて（操作情報領域８２の情報に基づいて）、キャラクタ移動やバトルといったゲーム処理を実行する。次に、ステップＳ５で、フレーム画像領域８４にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域８５に次のフレーム番号を書き込むことによって、プレイ画面を更新する。
【０１１４】
次に、ステップＳ７〜Ｓ１１で、特定の操作が行われたか否かを操作情報領域８２の情報に基づいて判別する。具体的には、ステップＳ７では終了操作またはモード変更操作が行われたか否かが、ステップＳ９では視点変更操作が行われたか否かが、そしてステップＳ１１ではゲーム操作が行われたか否かが、それぞれ判別される。
【０１１５】
ステップＳ７でＹＥＳであれば、ステップＳ１３に移って、リプレイデータ領域９０のデータ（ゲーム操作履歴）をフラッシュメモリ４４および／またはメモリカード３８に保存した後、ゲーム処理を終了または他のモードへ移行する。ステップＳ９でＹＥＳであれば、ステップＳ１５に移り、視点座標領域８８の座標を更新して仮想カメラの視点を移動させた後、ステップＳ３に戻る。ステップＳ１１でＹＥＳであれば、ステップＳ１７に移ってリプレイデータ領域９０のデータを更新し、そしてステップＳ３に戻る。
【０１１６】
モード情報がリプレイモードIを示す場合、ゲーム処理は、図１７のフローに従って進行する。図１７を参照して、ＣＰＵ４０は、まず、ステップＳ２１でリプレイデータをフラッシュメモリ４４および／またはメモリカード３８からリプレイデータ領域９０に読み込み、ステップＳ２３ではリプレイ画面をモニタ２８に初期表示する（図１０（Ｂ）参照）。
【０１１７】
次に、ステップＳ２５で、現時刻ポインタ情報領域９２の情報を更新することによって、リプレイ画面上で現時刻ポインタ１３６ｂを移動させる。ステップＳ２７では、ＡＩプログラム７６を利用して、および／またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップＳ２９では、フレーム画像領域８４にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域８５に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【０１１８】
次に、ステップＳ３１〜Ｓ３５で、特定の操作が行われたか否かを操作情報領域８２の情報に基づいて判別する。具体的には、ステップＳ３１では終了操作またはモード変更操作が行われたか否かが、ステップＳ３３では視点変更操作が行われたか否かが、そしてステップＳ３５では見どころ指定操作が行われたか否かが、それぞれ判別される。
【０１１９】
ステップＳ３１でＹＥＳであれば、ステップＳ３７に移って、終了操作またはモード変更操作の後さらに保存操作が行われたか否かを操作情報領域８２の情報に基づいて判別し、ＮＯであれば直ちにゲーム処理を終了または他のモードへ移行する。ステップＳ３７でＹＥＳであれば、ステップＳ３９で、変数ＶＮおよびＶＣを含む見どころ位置情報をリプレイデータに関連付けてフラッシュメモリ４４および／またはメモリカード３８に保存した後、ゲーム処理を終了または他のモードへ移行する。
【０１２０】
ステップＳ３３でＹＥＳであれば、ステップＳ４１に移り、視点座標領域８８の座標を更新して仮想カメラの視点を移動させた後、ステップＳ２５に戻る。ステップＳ３５でＹＥＳであれば、ステップＳ４３で現フレーム番号つまりフレーム番号領域８６の番号を変数ＶＮにセットし、ステップＳ４５では現視点座標つまり視点座標領域８８の座標を変数ＶＣにセットする。そしてステップＳ４７で、これら２つの変数ＶＮおよびＶＣを含む見どころ情報を見どころ情報領域９４に書き込むことにより見どころ情報を更新した後、ステップＳ２５に戻る。
【０１２１】
モード情報が通信モードを示す場合、ゲーム処理は、図１８のフローに従って進行する。図１８を参照して、ＣＰＵ４０は、ステップＳ６１〜Ｓ６５で、特定の操作が行われたか否かを操作情報領域８２の情報に基づいて判別する。具体的には、ステップＳ６１では終了操作またはモード変更操作が行われたか否かが、ステップＳ６３では見どころ付きリプレイデータ受信操作が行われたか否かが、そしてステップＳ６５では見どころ付きリプレイデータ送信操作が行われたか否かが、それぞれ判別される。
【０１２２】
ステップＳ６１でＹＥＳであれば、ゲーム処理を終了または他のモードへ移行する。ステップＳ６３でＹＥＳであれば、ステップＳ６７に移って、入出力・通信制御プログラム７４を利用して他のゲーム装置１２Ａから見どころ付きリプレイデータを受信し、受信した見どころ付きリプレイデータをフラッシュメモリ４４および／またはメモリカード３８に保存する。その後、ステップＳ６１に戻る。ステップＳ６５でＹＥＳであれば、ステップＳ６９に移って、フラッシュメモリ４４および／またはメモリカード３８に保存されている見どころ付きリプレイデータを入出力・通信制御プログラム７４を利用して他のゲーム装置１２Ａに送信し、そしてステップＳ６１に戻る。
【０１２３】
モード情報がリプレイモードIIを示す場合、ゲーム処理は、図１９のフローに従って進行する。図１９を参照して、ＣＰＵ４０は、まず、ステップＳ８１でリプレイデータと見どころ位置情報とをフラッシュメモリ４４および／またはメモリカード３８からリプレイデータ領域９０に読み込み、ステップＳ８３ではリプレイ画面をモニタ２８に初期表示し、そしてステップＳ８４でタイムライン画像１３６をさらにモニタ２８に表示する（図１０（Ｂ）参照）。
【０１２４】
次に、ステップＳ８５で、現時刻ポインタ情報領域９２の情報を更新することによって、リプレイ画面上で現時刻ポインタ１３６ｂを移動させる。ステップＳ８７では、ＡＩプログラム７６を利用して、および／またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップＳ８９では、フレーム画像領域８４にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域８５に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【０１２５】
次に、ステップＳ９１〜Ｓ９５で、特定の操作が行われたか否かを操作情報領域８２の情報に基づいて判別し、また現フレーム番号が特定の条件を満足したか否かをフレーム番号領域８６の情報および見どころ情報領域の情報に基づいて判別する。具体的には、ステップＳ９１では終了操作またはモード変更操作が行われたか否かが、ステップＳ９３では現フレーム番号が変数ＶＮに関する第１〜第３条件（後述）の少なくとも１つを満足したか否かが、そしてステップＳ９５では視点変更操作が行われたか否かが、それぞれ判別される。
【０１２６】
ステップＳ９１でＹＥＳであれば、ゲーム処理を終了または他のモードへ移行する。ステップＳ９３でＹＥＳであれば、ステップＳ９７に移って、見どころを表示するべく画面制御（図１９参照：後述）を行い、そしてステップＳ８５に戻る。ステップＳ９５でＹＥＳであれば、ステップＳ９９に移り、視点座標領域８８の座標を更新して仮想カメラの視点を移動させた後、ステップＳ８５に戻る。
【０１２７】
ここで、上記の変数ＶＮに関する第１〜第３条件について、具体的に説明する。第１条件は、現時点が見どころ予告の挿入期間に含まれるか否かを判定するための条件であり、たとえば“ＶＮ−３００≦現フレーム番号＜ＶＮ”のように定義される。この定義に従えば、見どころ予告の挿入期間は、見どころの直前の３００フレーム期間（６０ｆｐｓで換算すれば５秒間）となる。第２条件は、現時点が視点の強制移動を行うタイミングか否かを判定するための条件であり、たとえば“ＶＮ−１８０＝現フレーム番号”のように定義される。この定義に従えば、視点の強制移動を行うタイミングは、見どころの１８０フレーム前（３秒前）となる。第３条件は、現時点が見どころマークの点灯期間に含まれるか否かを判定するための条件であり、たとえば“ＶＮ≦現フレーム番号≦ＶＮ＋２９９”のように定義される。この定義に従えば、見どころマークの点灯期間は、見どころ以降の３００フレーム期間（５秒間）となる。この場合、見どころの１８０フレーム前で第１条件に加えて第２条件も満足される結果、見どころ予告が表示された状態で視点が強制移動される。なお、他の例では、たとえば第１条件を“ＶＮ−３００≦現フレーム番号＜ＶＮ−１２０”とし、第２条件を“ＶＮ−１２０＝現フレーム番号”とすることで、見どころ予告表示が終了された後に視点が強制移動されるようにしてもよい。他の実施例では、変数ＶＮに関する条件は、第１〜第３条件のいずれか１つまたは２つでもよく、これ以外の条件が加わってもよい。
【０１２８】
上記ステップＳ９７の画面制御は、詳しくは図２０のサブルーチンに従って進行する。図２０を参照して、ＣＰＵ４０は、まず、第１条件が満足されたか否かをステップＳ１１１で判別し、ＹＥＳであればステップＳ１１３に進む。ステップＳ１１３では、フレーム画像領域８６への描画を実行して、リプレイ画面に見どころ予告（予告メッセージ１３８）を挿入する。次に、第２条件が満足されたか否かをステップＳ１１５で判別し、ＹＥＳであればステップＳ１１７に進む。ステップＳ１１７では、視点座標領域８８の座標を見どころ情報に基づいて更新することにより、視点を変数ＶＣの示す位置へと強制移動させる。その後、上位層のルーチンに復帰する。
【０１２９】
一方、ステップＳ１１１でＮＯであれば、ステップＳ１１９に移って、第３条件が満足されたか否かを判別し、ＮＯであれば上位層のルーチンに復帰する。ステップＳ１１９でＹＥＳであれば、ステップＳ１２１に進んで、見どころマークの表示態様を変更（点灯）し、そして上位層のルーチンに復帰する。なお、見どころマークの点灯状態は、たとえば５秒間継続した後、消灯状態に戻る。
【０１３０】
以上から明らかなように、この実施例では、ゲーム装置１２は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてフラッシュメモリ４４および／またはメモリカード３８に保存し、保存したリプレイデータに基づいてリプレイ画像をモニタ２８に表示する。ゲーム装置１２のＣＰＵ４０は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成し（Ｓ３５，Ｓ４３，Ｓ４５）、作成した見どころ位置情報をリプレイデータと関連付けてフラッシュメモリ４４および／またはメモリカード３８に保存し（Ｓ３９）、そしてリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示すタイムライン画像１３６を見どころ位置情報に基づいてモニタ２８に表示する（Ｓ８４）。
【０１３１】
こうして、リプレイ画像と一緒に、タイムライン画像１３６のような見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減することができる。
【０１３２】
なお、見どころ指定は、上記の実施例では１箇所だけであるが、他の実施例では複数箇所指定できるようにしてもよい。
【０１３３】
また、仮想カメラは、上記の実施例ではユーザのカメラ操作に応じて移動するフリーカメラであるが、他の実施例では、特定のキャラクタないしグループに追従して移動する追従カメラでもよい。この場合、ユーザは、プレイ開始前またはプレイ中に追従対象となるキャラクタないしグループを指定する操作を行い、ＣＰＵ４０は、指定されたキャラクタないしグループを追尾するように仮想カメラを移動させる。
【０１３４】
具体的には、上記の実施例（フリーカメラモード）において、次のような変更を行えば、追従カメラモードが実現される。視点座標領域８８（図１５参照）には、現時点の視点座標に代えて、現時点で追従対象となっているキャラクタないしグループのＩＤが記憶される。したがって、リプレイデータに記述される視点座標もまた、キャラクタないしグループのＩＤに変更される。ステップＳ９，Ｓ３３およびＳ９５（図１６，図１７および図１９参照）では、視点変更操作の有無に代えて、追従対象を変更する操作の有無が判別される。ステップＳ４５（図１７参照）では、見どころ指定操作が行われた時点の視点座標に代えて、見どころ指定操作が行われた時点で追従対象となっているキャラクタないしグループのＩＤが、変数ＶＣ（図１５参照）にセットされる。
【０１３５】
以上では、ゲーム装置１２について説明したが、この発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存し、リプレイデータに基づいてリプレイ画像を画面に表示する、ゲーム装置に適用できる。
【符号の説明】
【０１３６】
１０  …ゲームシステム
１２  …ゲーム装置
１４  …コントローラ
２８  …モニタ
３８  …（外部）メモリカード
４０  …ＣＰＵ
４２ｂ  …ＧＰＵ
４２ｅ  …内部メインメモリ
４４  …フラッシュメインメモリ
４６  …外部メインメモリ
５０  …無線通信モジュール
６２  …メモリカード用コネクタ
１２０  …ネットワークシステム
【図１】
2010264173.tif 000003
【図２】
2010264173.tif 000004
【図３】
2010264173.tif 000005
【図４】
2010264173.tif 000006
【図５】
2010264173.tif 000007
【図６】
2010264173.tif 000008
【図７】
2010264173.tif 000009
【図８】
2010264173.tif 000010
【図９】
2010264173.tif 000011
【図１０】
2010264173.tif 000012
【図１１】
2010264173.tif 000013
【図１２】
2010264173.tif 000014
【図１３】
2010264173.tif 000015
【図１４】
2010264173.tif 000016
【図１５】
2010264173.tif 000017
【図１６】
2010264173.tif 000018
【図１７】
2010264173.tif 000019
【図１８】
2010264173.tif 000020
【図１９】
2010264173.tif 000021
【図２０】
2010264173.tif 000022