ゲームプログラム,ゲーム装置およびゲームシステム
【課題】リプレイ画像において見どころの位置を認識させる。
【解決手段】ゲーム装置(12)は、ゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存し、保存したリプレイデータに基づいてリプレイ画像130bをモニタ28に表示する。CPU(40)は、リプレイ画像130bにおける見どころの少なくとも時間的な位置を示す見どころ位置情報を見どころ位置指定操作に基づいて作成し(S35,S43,S45)、作成した見どころ位置情報をリプレイデータと関連付けてメモリに保存し(S39)、そしてリプレイ画像130bがモニタ28に表示されているときに、リプレイ画像130bにおける見どころの時間的な位置を示すタイムライン画像136を見どころ位置情報に基づいてモニタ28に表示する(S84)。
【解決手段】ゲーム装置(12)は、ゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存し、保存したリプレイデータに基づいてリプレイ画像130bをモニタ28に表示する。CPU(40)は、リプレイ画像130bにおける見どころの少なくとも時間的な位置を示す見どころ位置情報を見どころ位置指定操作に基づいて作成し(S35,S43,S45)、作成した見どころ位置情報をリプレイデータと関連付けてメモリに保存し(S39)、そしてリプレイ画像130bがモニタ28に表示されているときに、リプレイ画像130bにおける見どころの時間的な位置を示すタイムライン画像136を見どころ位置情報に基づいてモニタ28に表示する(S84)。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ゲームプログラム,ゲーム装置およびゲームシステムに関し、特にたとえば、プレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現する、ゲームプログラム,ゲーム装置およびゲームシステムに関する。
【背景技術】
【0002】
リプレイデータは、たとえば、プレイヤ間でクリア方法を教え合ったりハイスコアを自慢し合ったりする目的でやり取りされることがあり、これを提供する側のプレイヤには、提供を受ける相手側で再現されるプレイ画像つまりリプレイ画像に、自分のプレイの「見どころ」を明示したい要求がある。
【0003】
リプレイに関する背景技術としては、リプレイ映像の編集(視点選択など)について開示した特許文献1や、リプレイ画像の視点制御および各種マーカ(キャラ指示マーカなど)の表示制御について開示した特許文献2がある。一方、見どころに関する背景技術としては、メディアストリームにブックマークおよびウオッチポイントを設定することについて開示した特許文献3が知られている。また、特許文献4は、リプレイデータの通信について開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004‐41645号公報
【特許文献2】特開2005‐245795号公報
【特許文献3】特表2006‐518063号公報
【特許文献4】特開2008‐29885号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、いずれの背景技術でも、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることはできなかった。
【0006】
たとえば、特許文献1,2または4のリプレイデータに特許文献3のウオッチポイントを設定することが考えられるものの、このウオッチポイントは、ウオッチポイントトリガ(if…)およびウオッチポイントアクション(then…)で構成され、映画などのメディア再生に関連して所定のトリガが発生したとき所定のアクションを実行する、一般的な制御情報に過ぎない。
【0007】
また、仮に、リプレイデータにウオッチポイントを設定することで、「見どころ」をトリガとしてリプレイ画像に“見どころ指示マーカ”を表示できたとしても、この種の指示マーカは「見どころ」が現れて初めて表示される。一方、リプレイデータの提供を受ける側のプレイヤは、「見どころ」がどのタイミングで現れるか知らないので、リプレイ画像を最初から通して凝視しない限り「見どころ」を見落とす可能性がある。さらに、リプレイ画像の視点移動が可能な場合には、視点が「見どころ」から遠く離れた位置にある(すなわち「見どころ」が視界に入っていない)状態で「見どころ」のタイミングが到来すると、マーカ表示も困難となり、プレイヤは「見どころ」を見落とす可能性が高い。
【0008】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム,ゲーム装置およびゲームシステムを提供することである。
【0009】
この発明の他の目的は、リプレイ画像の見どころを認識させることができる、ゲームプログラム,ゲーム装置およびゲームシステムを提供することである。
【課題を解決するための手段】
【0010】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0011】
第1の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつリプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラムである。
【0012】
第1の発明では、ゲーム装置(12)は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存し、保存したリプレイデータに基づいてリプレイ画像(130b)を画面(28)に表示する。ゲームプログラムは、ゲーム装置のコンピュータ(40)を、作成手段(S35,S43,S45)、保存手段(S39)および見どころ位置画像表示手段(S84)として機能させる。作成手段は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する。保存手段は、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する。見どころ位置画像表示手段は、リプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像(136)を見どころ位置情報に基づいて画面に表示する。
【0013】
第1の発明によれば、リプレイ画像と一緒に見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減できる。
【0014】
第2の発明は、第1の発明に従属するゲームプログラムであって、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、作成手段が作成する見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示し、コンピュータを、見どころ位置情報に基づいて視点を見どころの開始前に見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる。
【0015】
第2の発明では、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示す。ゲームプログラムはコンピュータを視点移動手段(S117)としてさらに機能させる。視点移動手段は、見どころ位置情報に基づいて、視点を見どころの開始前に見どころの位置へ向けて移動させる。
【0016】
第2の発明によれば、見どころの開始前に視点を見どころの位置へと移動させることで、見どころのタイミングで視点が見どころの場所から離れていても、相手に見どころを見せることができる。
【0017】
なお、見どころ位置画像表示手段は、リプレイ画像における見どころの空間的な位置を示す別の見どころ位置画像(132,132a)を見どころ位置情報に基づいてさらに表示してもよい。これによって、相手が見どころを見落とす可能性をさらに低減できる。
【0018】
第3の発明は、第1の発明に従属するゲームプログラムであって、見どころの時間的な位置はリプレイ画像のフレーム特定情報で示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報を見どころ位置情報に記述する(S43)。
【0019】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。
【0020】
第3の発明によれば、プレイヤは、リプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置を指定することができる。
【0021】
第4の発明は、第2の発明に従属するゲームプログラムであって、見どころの時間的な位置および空間的な位置はリプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を見どころ位置情報に記述する(S43,S45)。
【0022】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。また、視点は、ある実施例では視点変更操作に応じて移動するが、他の実施例では任意のキャラクタないしグループに追従して移動してもよい。前者の場合、見どころ位置情報は現時点の視点を示す座標であり、見どころの開始前に視点が当該座標の示す位置へと移動される。後者の場合、見どころ位置情報は現時点の追従対象を示すIDであり、見どころの開始前に追従対象が当該IDの示すキャラクタないしグループへと変更される。
【0023】
第4の発明によれば、プレイヤは、任意の視点からのリプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置および空間位置を指定することができる。
【0024】
第5の発明は、第3または第4の発明に従属するゲームプログラムであって、見どころ位置画像は、リプレイ画像の表示期間に対応するタイムライン(136a)、および見どころの時間的な位置をタイムラインにおける位置で示す見どころマーク(136c,136d)を含む。
【0025】
第5の発明によれば、見どころの時間位置を直感的に認識させることができる。
【0026】
第6の発明は、第5の発明に従属するゲームプログラムであって、見どころ位置画像は、現時刻をタイムラインにおける位置で示す現時刻ポインタ(136b)をさらに含む。
【0027】
第6の発明によれば、見どころまでの時間を直感的に認識させることができる。また、早送りなどの操作が容易になる。
【0028】
第7の発明は、第1ないし第6のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を画面に表示する、予告画像表示手段としてさらに機能させる。
【0029】
第7の発明では、ゲームプログラムはコンピュータを予告画像表示手段(S113)としてさらに機能させる。予告画像表示手段は、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像(138)を画面に表示する。
【0030】
第7の発明によれば、事前に予告を行うことで、見どころの特に先頭部分を逃さないように準備させることができる。
【0031】
第8の発明は、第1ないし第7のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる態様変化手段(S121)としてさらに機能させる。
【0032】
第8の発明では、ゲームプログラムはコンピュータを態様変化手段(S121)としてさらに機能させる。態様変化手段は、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる。
【0033】
第8の発明によれば、見どころの開始を明確に認識させることができる。
【0034】
第9の発明は、第5の発明に従属するゲームプログラムであって、メモリは一時期記憶領域(42e,46)および保存領域(44,38)を含み、保存手段は、作成手段によって作成された見どころ位置情報を一時期記憶領域に記憶し、一時記憶領域に記憶している見どころ位置情報をユーザの保存操作に応答して保存領域に保存し、見どころ位置画像表示手段は、一時期記憶領域に記憶している見どころ位置情報に基づいて第1見どころマーク(136c)を表示し、保存領域に保存した見どころ位置情報に基づいて第2見どころマーク(136d)を表示する。
【0035】
第9の発明によれば、保存操作を通じて確定済みの見どころ位置と未確定の見どころ位置とを異なる見どころマークで表現することで、両者を視覚的に区別できる。また、見どころ位置の変更を容易に行える。
【0036】
第10の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存しかつリプレイデータに基づいてリプレイ画像を画面(28)に表示するゲーム装置(12)であって、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段(S35,S43,S45)、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段(S39)、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像(136)を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段(S84)を備える。
【0037】
第11の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第1ゲーム装置(12)と第1ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面(28)に表示する第2ゲーム装置(12A)とを含むゲームシステム(120)であって、第1ゲーム装置は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段(S35,S43,S45)、および作成手段によって作成された見どころ位置情報をリプレイデータと関連付けて第2ゲーム装置に提供する提供手段(S39,S69,50,62)を備え、第2ゲーム装置は、第1ゲーム装置からリプレイデータと関連付けて提供された見どころ位置情報を受領する受領手段(S67,50,62)、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段(S84)を備える。
【0038】
第10,第11の各発明でも、第1の発明と同様に、リプレイ画像の見どころを認識させることができる。
【発明の効果】
【0039】
この発明によれば、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることができる、ゲームプログラム,ゲーム装置およびゲームシステムが実現される。
【0040】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0041】
【図1】この発明のゲームシステムの一実施例を示す図解図である。
【図2】ゲームシステムの電気的な構成を示すブロック図である。
【図3】第1コントローラの外観を説明するための図解図である。
【図4】第2コントローラの外観を説明するための図解図である。
【図5】コントローラ(第1コントローラおよび第2コントローラを互いに接続したもの)の電気的な構成を示すブロック図である。
【図6】コントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図7】マーカおよびコントローラの視野角を説明するための図解図である。
【図8】コントローラによる撮像画像の一例を示す図解図である。
【図9】第1および第2のゲーム装置を含むネットワークシステムを示すブロック図である。
【図10】ゲーム画面の構成を説明するための図解図であり、(A)がプレイ時の構成例を、図10がリプレイ時の構成例を示す。
【図11】リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が操作時点の画面を、(B)が操作直後の画面を示す。
【図12】見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が再記録操作時点の画面を、(B)が再記録操作直後の画面を示す。
【図13】リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを説明するための図解図であり、(A)が見どころ接近時(5秒前)の画面を、(B)が見どころ到来時の画面を示す。
【図14】カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が見どころ5秒前の画面を、(B)が見どころ3秒前の画面を示す。
【図15】メモリマップの一部を示す図解図である。
【図16】CPU動作の一部を示すフロー図である。
【図17】CPU動作の他の一部を示すフロー図である。
【図18】CPU動作のその他の一部を示すフロー図である。
【図19】CPU動作のさらにその他の一部を示すフロー図である。
【図20】CPU動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【0042】
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。図示は省略するが、この実施例のゲーム装置12は、最大4つのコントローラ14と通信可能に設計されている。また、ゲーム装置12と各コントローラ14とは、無線によって接続される。たとえば、無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【0043】
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18が設けられる。ディスクスロット18から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク24が挿入されて、ハウジング16内のディスクドライブ54(図2参照)に装着される。図示は省略するが、ディスクスロット18の周囲には、LEDと導光板とが配置され、様々な処理に応答させて、ディスクスロット18を点灯または点滅させることが可能である。
【0044】
また、ゲーム装置12のハウジング16の前面の上部には、電源ボタン20aおよびリセットボタン20bが設けられ、その下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット18の近傍には、外部メモリカード用コネクタカバー22が設けられる。この外部メモリカード用コネクタカバー22の内側には、外部メモリカード用コネクタ62(図2参照)が設けられ、外部メモリカード38(以下、単に「メモリカード38」という。)が挿入される。メモリカード38は、光ディスク24から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ、あるいは後述するリプレイデータ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード38に対して行うことに代えて、たとえばゲーム装置12の内部に設けられるフラッシュメモリ44(図2参照)のような内部メモリに対して行うようにしてもよい。また、メモリカード38は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置12では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード38には当該他のアプリケーションのデータを保存することができる。
【0045】
なお、メモリカード38としては、汎用のSDカードを用いることができるが、メモリスティックやマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。メモリカード38は、ゲーム装置12と同様の構成を有する他のゲーム装置12Aでも利用することができるので、ゲームデータをメモリカード38を介して他のプレイヤに提供することもできる。
【0046】
図1では省略するが、ゲーム装置12のハウジング16の後面には、AVコネクタ58(図2参照)が設けられ、そのAVコネクタ58を用いて、AVケーブル26を通してゲーム装置12にモニタ28およびスピーカ30を接続する。このモニタ28およびスピーカ30は典型的にはカラーテレビジョン受像機であり、AVケーブル26によって、ゲーム装置12からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置12からの音声信号が音声入力端子に入力される。したがって、カラーテレビ(モニタ)28の画面上にたとえば3次元(3D)ビデオゲームの仮想3次元ゲーム画像が表示され、左右のスピーカ30からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ28の周辺(この実施例では、モニタ28の上側)には、2つの赤外LED(マーカ)32aおよび32bを備えるマーカ部32が設けられる。このマーカ部32は、電源線32cを通してゲーム装置12に接続される。したがって、マーカ部32には、ゲーム装置12から電源が供給される。これによって、マーカ32aおよび32bは発光し、それぞれモニタ28の前方に向けて赤外光を出力する。
【0047】
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置12は、家庭用電源(商用電源)を、駆動に適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【0048】
コントローラ14は、詳細は後述されるが、第1の操作ユニットおよび第2の操作ユニットとして、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36を含む。第2コントローラ36の後端から延びるケーブル36aの先端にはコネクタ36bが設けられており、当該コネクタ36bは、第1コントローラ34の後端面に設けられるコネクタ34a(図3、図5)に接続される。第2コントローラ36において取得される入力データは、ケーブル36aを介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0049】
このゲームシステム10において、ユーザまたはプレイヤがゲーム(またはゲームに限らず、他のアプリケーション)をプレイするために、ユーザは電源スイッチ20aによってまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)のプログラムを記録している適宜の光ディスク24を選択し、その光ディスク24をゲーム装置12のディスクドライブ54にローディングする。応じて、ゲーム装置12がその光ディスク24に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。たとえば操作部82のどれかの操作ボタンを操作することによって、ゲームもしくは他のアプリケーションをスタートさせる。また、操作部82に対する操作以外にも、コントローラ14自体を動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(仮想カメラの位置)を変化させることができる。
【0050】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置12の内部メモリ(フラッシュメモリ44(図2参照))に記憶(インストール)しておき、当該内部メモリから実行するようにしてもよい。かかる場合には,光ディスク24のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【0051】
図2は図1実施例のゲームシステム10の電気的な構成を示すブロック図である。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図2に示すように、ゲーム装置12には、CPU40が設けられ、ゲームプロセッサとして機能する。また、CPU40には、システムLSI42が接続される。このシステムLSI42には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
【0052】
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU40のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク24からプログラムやテクスチャデータ等を読み出し、CPU40の制御の下で、後述する内部メインメモリ42eまたは外部メインメモリ46に書き込む。
【0053】
システムLSI42には、入出力プロセッサ42a、GPU(Graphics Processor Unit)42b,DSP(Digital Signal Processor)42c,VRAM42dおよび内部メインメモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。GPU42bは、描画手段の一部を形成し、CPU40からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU42bに与える。
【0054】
図示は省略するが、上述したように、GPU42bにはVRAM42dが接続される。GPU42bが作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU42bがVRAM42dにアクセスして取得する。ただし、CPU40は、描画に必要な画像データを、GPU42bを介してVRAM42dに書き込む。GPU42bは、VRAM42dにアクセスして描画のためのゲーム画像データを作成する。
【0055】
なお、この実施例では、GPU42bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU42bは当該任意のアプリケーションについての画像データを生成する。
【0056】
また、DSP42cは、オーディオプロセッサとして機能し、内部メインメモリ42eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ30から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【0057】
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ28およびスピーカ30に出力される。したがって、ゲーム画面がモニタ28に表示され、ゲームに必要な音(音楽)がスピーカ30から出力される。
【0058】
また、入出力プロセッサ42aには、フラッシュメモリ44、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
【0059】
入出力プロセッサ42aは、無線通信モジュール50を介して、ネットワーク122に接続された他のゲーム装置10Aやサーバ124と通信することができる(図9参照)。ただし、ネットワーク122を介さずに、直接的に他のゲーム装置10Aと通信することもできる。入出力プロセッサ42aは、定期的にフラッシュメモリ44にアクセスし、ネットワーク122へ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワーク122に送信する。また、入出力プロセッサ42aは、他のゲーム装置10Aから送信されるデータ(「受信データ」とする)を、ネットワーク122、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ44に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ42aは、ネットワーク122に接続されたサーバ124からダウンロードしたデータ(ダウンロードデータとする)をネットワーク122、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ44に記憶することもできる。
【0060】
また、入出力プロセッサ42aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ42eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU40の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
【0061】
さらに、入出力プロセッサ42aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ42aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0062】
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI42に接続される。この電源ボタン20aがオンされると、システムLSI42には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通常の通電状態となるモード(「通常モード」と呼ぶこととする)が設定される。一方、電源ボタン20aがオフされると、システムLSI42には、ゲーム装置12の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」という)が設定される。
【0063】
この実施例では、スタンバイモードが設定された場合には、システムLSI42は、入出力プロセッサ42a、フラッシュメモリ44、外部メインメモリ46、ROM/RTC48および無線通信モジュール50、無線コントローラモジュール52以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、CPU40がアプリケーションを実行することはない。
【0064】
リセットボタン20bもまた、システムLSI42に接続される。リセットボタン20bが押されると、システムLSI42は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク24が排出される。
【0065】
図3には第1コントローラ34の外観の一例が示される。図3(A)は、第1コントローラ34を上面後方から見た斜視図であり、図3(B)は、第1コントローラ34を下面前方から見た斜視図である。第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング80を有している。ハウジング80は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング80は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0066】
ハウジング80には、複数の操作ボタン(操作キー)が設けられる。すなわち、ハウジング80の上面には、十字キー82a、1ボタン82b、2ボタン82c、Aボタン82d、−ボタン82e、メニューボタン82f、および+ボタン82gが設けられる。一方、ハウジング80の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン82hが設けられる。これら各ボタン(スイッチ)82a−82hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング80の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ82iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号82を用いて示されることもある。
【0067】
また、ハウジング80の後面には、上述のコネクタ34aが設けられている。コネクタ34aは、たとえば32ピンのエッジコネクタであり、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ34aには第2コントローラ36のコネクタ36bが接続される。また、ハウジング80上面の後端側には複数のLED84が設けられ、この複数のLED84によって当該コントローラ14のコントローラ番号(コントローラの識別番号)が示される。ゲーム装置12には、たとえば最大4つのコントローラ14が接続可能であり、ゲーム装置12に複数のコントローラ14が接続される場合には、各コントローラ14には、たとえば接続順にコントローラ番号が付与される。各LED84はコントローラ番号と対応付けられており、当該コントローラ番号に対応するLED84が点灯される。
【0068】
また、第1コントローラ34のハウジング80内には加速度センサ86(図5)が設けられている。加速度センサ86としては、典型的には静電容量式の加速度センサが用いられ得る。加速度センサ86は、当該加速度センサの検出部に加わっている加速度のうち、センシング軸ごとの直線成分の加速度や重力加速度を検出する。具体的には、この実施例では、3軸加速度センサが適用され、第1コントローラ34の上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0069】
なお、加速度センサ86としては、ハウジング80の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
【0070】
さらに、コントローラ22は、撮像情報演算部88(図5参照)を有している。図3(B)に示すように、ハウジング80の先端面には撮像情報演算部88の光入射口90が設けられ、光入射口90からはセンサバー44のマーカ44m、44nの発する赤外線が取り込まれる。
【0071】
図4には第2コントローラ36の外観の一例が示される。図4(A)は、第2コントローラ36を上面後方から見た斜視図であり、図4(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図4では、第2コントローラ36のケーブル36aは省略されている。
【0072】
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング92を有している。ハウジング92は、平面視では、前後方向(図4のZ軸方向)に略細長い楕円形状を有し、後端側の左右方向(図4のX軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング92は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング92は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング80よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0073】
ハウジング92の上面の先端側には、アナログジョイスティック94aが設けられる。ハウジング92の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図4に示すY軸方向)に並べて、Cボタン94bおよびZボタン94cが設けられる。アナログジョイスティック94aおよび各ボタン94b,94cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第2コントローラ36に設けられるアナログジョイスティック94aおよび各ボタン94b,94cは、包括的に参照符号94を用いて示されることもある。
【0074】
また、第2コントローラ36のハウジング92内には加速度センサ96(図5)が設けられている。この加速度センサ96としては、第1コントローラ34の加速度センサ86と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(図4に示すY軸方向)、左右方向(図4に示すX軸方向)および前後方向(図4に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0075】
なお、図3に示した第1コントローラ34および図4に示した第2コントローラ36の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は一例であり、他の形状、数および設置位置等に適宜変更され得る。
【0076】
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ34a、コネクタ36bおよびケーブル36aを介してこの電源が供給される。
【0077】
図5には、第1コントローラ34と第2コントローラ36とが接続されたときのコントローラ14の電気的構成の一例が示される。第1コントローラ34は、その内部に通信部98を備え、通信部98には、操作部82、加速度センサ86、撮像情報演算部88およびコネクタ34aが接続される。操作部82は、上述の操作ボタンないし操作スイッチ82a‐82iを示す。操作部82が操作されると、その操作信号(キー情報)が通信部98に与えられる。加速度センサ86が検出した加速度を示すデータは、通信部98へ出力される。加速度センサ86は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
【0078】
撮像情報演算部88が取得したデータもまた通信部98に出力される。撮像情報演算部88は、赤外線フィルタ100、レンズ102、撮像素子104および画像処理回路106によって構成される。赤外線フィルタ100は、第1コントローラ34の前方の光入射口90から入射する光から赤外線のみを通過させる。上述したように、モニタ30の表示面近傍(周辺)に配置されるセンサバー44のマーカ44mおよび44nは、モニタ30の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ100を設けることによってマーカ44mおよび44nの画像をより正確に撮像することができる。レンズ102は、赤外線フィルタ100を透過した赤外線を集光して撮像素子104へ出射する。撮像素子104は、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ102によって集光された赤外線を撮像する。したがって、撮像素子104は、赤外線フィルタ100を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子104によって撮像された画像を撮像画像と呼ぶ。撮像素子104によって生成された画像データは、画像処理回路106で処理される。画像処理回路106は、撮像画像内における撮像対象(マーカ44mおよび44n)の位置を算出し、所定時間(たとえば1フレーム)毎に、当該位置を示す各座標値を含むマーカ座標データを通信部98に出力する。なお、画像処理回路106における処理については後述する。
【0079】
コネクタ34aには、第2コントローラ36から延びるケーブル36aのコネクタ36bが接続される。コネクタ36bには、第2コントローラ36の操作部94および加速度センサ96が接続される。操作部94は、上述のアナログジョイスティック94aおよび操作ボタン94b、94cを示す。操作部94が操作されると、その操作信号がケーブル36a、コネクタ36bおよびコネクタ34a等を介して通信部98に与えられる。また、加速度センサ96も、加速度センサ86と同様のサンプリング周期を有しており、検出された加速度を示すデータを通信部98に与える。
【0080】
通信部98は、マイクロコンピュータ(マイコン)108、メモリ110、無線モジュール78およびアンテナ112を含む。マイコン108は、処理の際にメモリ110を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール78を制御して、取得したデータをゲーム装置12に送信したりゲーム装置12からのデータを受信したりする。
【0081】
第1コントローラ34の操作部82、加速度センサ86および撮像情報演算部88ならびに第2コントローラ36の操作部94および加速度センサ96からマイコン108へ出力されたデータは、一時的にメモリ110に格納される。通信部98からゲーム装置12のBluetooth通信ユニット76への無線送信は所定の周期毎に行われる。なお、ゲームの処理は1/60秒を単位として行われることが一般的であるので、第1コントローラ34からの送信はそれと同等かそれより短い周期で行うことが必要となる。マイコン108は、ゲーム装置12への送信タイミングが到来すると、メモリ110に格納されている操作部82および94の操作データ、加速度センサ86および96の加速度データならびに撮像情報演算部88のマーカ座標データを含むデータを、コントローラデータとして無線モジュール78へ出力する。無線モジュール78は、Bluetoothのような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ112から放射する。つまり、コントローラデータは、無線モジュール78で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット76で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU46は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。
【0082】
なお、加速度センサ86および96から出力される加速度の信号に基づいて、ゲーム装置12のプロセッサ(例えばCPU46)またはコントローラ14のプロセッサ(例えばマイコン108)などのコンピュータが処理を行うことによって、コントローラ14に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ86および96を搭載する第1コントローラ34および第2コントローラ36が静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサ86および96によって検出される加速度が重力加速度のみであるとして処理する場合)、第1コントローラ34および第2コントローラ36が現実に静的な状態であれば、検出された加速度に基づいて第1コントローラ34および第2コントローラ36の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかをそれぞれ知ることができる。具体的には、加速度センサ86および96の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで、第1コントローラ34および第2コントローラ36がそれぞれ傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸加速度センサが適用される場合には、さらに各軸の加速度の信号に対して処理を施すことによって、第1コントローラ34および第2コントローラ36がそれぞれ重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ86および96からの出力に基づいて、コンピュータが第1コントローラ34および第2コントローラ36の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ86および96からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ86および96をコンピュータと組み合わせて用いることによって、第1コントローラ34および第2コントローラ36の傾き、姿勢または位置を判定することができる。
【0083】
一方、加速度センサ86および96が動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサ86および96の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ86および96を備える第1コントローラ34および第2コントローラ36がユーザの手で動的に加速されて動かされる場合に、加速度センサ86および96によって生成される加速度信号を上記コンピュータによって処理することによって、第1コントローラ34および第2コントローラ36のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサ86および96が動的な状態であることを前提とする場合であっても、加速度センサ86および96の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることが可能である。他の実施例では、加速度センサ86および96は、信号をマイコン108に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ86および96が静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0084】
このゲームシステム10では、ユーザがコントローラ14を動かすことによってゲームに対する操作または入力を行うことができる。ゲームをプレイする際には、たとえば図6に示すように、ユーザは、その右手で第1コントローラ34を持ち、その左手で第2コントローラ36を持つ。上述のように、この実施例では、第1コントローラ34には3軸方向の加速度を検出する加速度センサ86が内蔵され、第2コントローラ36にも同様の加速度センサ96が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれユーザによって動かされると、加速度センサ86および加速度センサ96によって、それぞれのコントローラ自身の動きを示す加速度値が検出される。ゲーム装置12では、当該検出された加速度値に応じてゲーム処理が実行され得る。
【0085】
また、第1コントローラ34には撮像情報演算部88が設けられるので、ユーザは第1コントローラ34をポインティングデバイスとして使用して操作を行うことができる。この場合、ユーザは、第1コントローラ34の先端面(光入射口90)がマーカ44mおよび44nの方を向く状態で第1コントローラ34を把持する。ただし、図1から分かるように、マーカ44mおよび44nは、モニタ30の画面の所定の1辺(上辺または下辺)の近傍に、当該所定の1辺に対して平行に配置されている。この状態で、ユーザは、第1コントローラ34自体を動かして、第1コントローラ34が指示する画面上の位置を変更したり、第1コントローラ34と各マーカ44mおよび44nとの距離を変更したりすることによって、ゲーム操作を行うことができる。
【0086】
図7は、マーカ44mおよび44nと第1コントローラ34の視野角を説明するための図である。図7に示すように、マーカ44mおよび44nは、それぞれ、視野角αの範囲で赤外光を放射する。また、撮像情報演算部88の撮像素子104は、第1コントローラ34の視線方向(図3に示すZ軸方向)を中心とした視野角βの範囲で入射する光を受光することができる。たとえば、マーカ44mおよび44nの視野角αは、共に34°(半値角)であり、一方、撮像素子104の視野角βは42°である。ユーザは、撮像素子104が2つのマーカ44mおよび44nからの赤外光を受光することが可能な位置および向きとなるように、第1コントローラ34を把持する。具体的には、撮像素子104の視野角βの中に少なくとも一方のマーカ44mまたは44nが存在し、かつ、マーカ44mおよび44nの少なくとも一方の視野角αの中に第1コントローラ34が存在する状態となるように、ユーザは第1コントローラ34を把持する。この状態にあるとき、第1コントローラ34は、マーカ44mおよび44nの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲で第1コントローラ34の位置および向きを変化させることによってゲーム操作を行うことができる。なお、マーカ44mおよび44nのいずれか一方のみが検出される場合には、たとえば、直前の2つのマーカ44mおよび44nを検出したデータを利用して、検出されない他方のマーカの代わりに仮のマーカ座標を設定することによって、第1コントローラ34の指示位置を算出することができる。
【0087】
なお、第1コントローラ34の位置および向きがこの範囲外となった場合、第1コントローラ34の位置および向きに基づいたゲーム操作を行うことができなくなる。したがって、上記範囲は「操作可能範囲」と呼ばれる。
【0088】
操作可能範囲内で第1コントローラ34が把持される場合、撮像情報演算部88によってマーカ44mおよび44nの画像が撮像される。すなわち、撮像素子104によって得られる撮像画像には、撮像対象であるマーカ44mおよび44nの画像(対象画像)が含まれる。図8は、対象画像を含む撮像画像の一例を示す図である。対象画像44m’および44n’を含む撮像画像の画像データを用いて、画像処理回路106は、各マーカ44mおよび44nの撮像画像における位置を表す座標(マーカ座標)を算出する。
【0089】
撮像画像の画像データにおいて対象画像44m’および44n’は高輝度部分として現れるため、画像処理回路106は、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路106は、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、2つの対象画像(マーカ画像)44m’および44n’だけではなく、窓からの太陽光や部屋の蛍光灯の光等のような他の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、マーカ44mおよび44nの画像44m’および44n’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。撮像画像における対象画像44m’および44n’と他の画像との区別のために、撮像対象44mおよび44nは既知のものである必要があり、この実施例ではその大きさが予め決められるので、マーカ画像44m’および44n’の大きさを予測することができる。したがって、高輝度部分の大きさに基づいて、マーカ画像44m’および44n’の判定を行うことができる。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【0090】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路106は当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子104の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子104によって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
【0091】
なお、図8に示すように、撮像画像における位置は、撮像画像の左上を原点Oとし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(撮像画像のXY座標系)で表現されるものとする。
【0092】
また、対象画像44m’および44n’が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路106は、算出された2箇所のマーカ座標を示すデータ、つまり、撮像対象の位置を示す撮像対象データを通信部98に出力する。出力された撮像対象データ(マーカ座標データ)は、上述したように、マイコン108によってコントローラデータに含められて、ゲーム装置12に送信される。
【0093】
ゲーム装置12(CPU46)は、受信したコントローラデータからマーカ座標データを取得すると、このマーカ座標データに基づいて、モニタ30の画面上における第1コントローラ34の指示位置(指示座標)と、第1コントローラ34からマーカ44mおよび44nまでの各距離とを算出することができる。なお、たとえば、第1コントローラ34がモニタ30の画面の左端を指示するとき、対象画像44m’および44n’は撮像画像の右側に検出され、第1コントローラ34が画面の下端を指示するとき、対象画像44m’および44n’は撮像画像の上側に検出され、つまり、画面上の第1コントローラ34の指示位置と逆側に撮像画像上のマーカ座標が検出される。したがって、第1コントローラ34の指示位置の座標をマーカ座標から算出する際には、座標系が図8の撮像画像の座標系から画面上の位置を表すための座標系に適宜に変換される。
【0094】
なお、この実施例では、第1コントローラ34で撮像データに所定の演算処理を行ってマーカ座標を検出して、そのマーカ座標データをゲーム装置12に送信するようにしている。しかし、他の実施例では、撮像データをコントローラデータとして第1コントローラ34からゲーム装置12に送信し、ゲーム装置12のCPU46が撮像データに所定の演算処理を行って、マーカ座標および指示位置の座標を検出するようにしてもよい。
【0095】
また、撮像画像における対象画像間の距離は、第1コントローラ34と、マーカ44mおよび44nとの距離に応じて変化する。マーカ44mおよび44n間の距離、撮像画像の幅、撮像素子104の視野角βが予め決まっているので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12は第1コントローラ34とマーカ44mおよび44nとの間の現在の距離を算出することができる。
【0096】
以上のように構成されたゲーム装置10では、ゲームをプレイするときプレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現(リプレイ)することができる(以下では、こうして再現された画像を「リプレイ画像」と呼ぶ)。保存されたリプレイデータをたとえばネットワーク122に送信することで、他のゲーム装置10Aでリプレイを行うこともできる。ネットワーク122などの通信媒体に限らず、メモリカード38などの記憶媒体を介してリプレイデータの提供を行うことも可能である。また、リプレイ時にプレイヤが見どころ位置を指定する操作を行うと、見どころ位置情報がリプレイデータに付加され、リプレイ時には、見どころ位置情報に基づいてリプレイの見どころが明示される。
【0097】
このゲームでは、プレイヤキャラクタがゲーム空間内を移動しつつ敵キャラクタとのバトルを行う。仮想カメラは、このようなバトルを捉えるべく、フリーカメラモードでは手動操作(たとえば操作部82に対する操作もしくはコントローラ14自体の動き)によって、追従カメラモードでは自動制御によって、ゲーム空間内を移動する。前述の見どころ位置情報は、見どころの時間的な位置および空間的な位置を示す情報であり、たとえば、時間的位置はリプレイ画像のフレーム番号(あるいはタイムスタンプ)によって、空間的位置は仮想カメラの視点座標(あるいは追従対象ID)によって表現される。
【0098】
図10は、モニタ28に表示されるゲーム画面の構成がプレイ時およびリプレイ時でどのように異なるかを説明するための図解図であり、図10(A)がプレイ時の構成例を、図10(B)がリプレイ時の構成例を示している。図10(A)を参照して、プレイ時のゲーム画面は、ゲーム空間のうち現時点で仮想カメラ(図示せず)が捉えている部分つまりプレイヤキャラクタCを含む被写界の画像(プレイ画像)130aと、当該部分のゲーム空間内での位置を示すミニマップの画像132とを含む。この例では、プレイ画像130aは画面全体に表示され、ミニマップ画像132はプレイ画像130aに重ねて画面右下隅に表示されている。
【0099】
図10(B)を参照して、リプレイ時のゲーム画面は、上記のプレイ画像130aに対応するリプレイ画像130bおよびミニマップ画像132に加え、タイムライン画像136およびボタン画像134をさらに含む。この例では、タイムライン画像136は画面右上に、ボタン画像134は画面左下に配置される。ボタン画像134は、コントローラ14のAボタン82dおよびZボタン94cを意味する“A”および“Z”と、Aボタン82dおよびZボタン94cに割り当てられた機能を示す“見どころ記録”および“早送り”とで構成される。
【0100】
タイムライン画像136は、リプレイ期間を示すタイムライン136aと、現時刻がリプレイ期間のどの辺りかをタイムライン136a上で示す現時刻ポインタ136bとを含む。この例では、タイムライン136aの上端および下端がリプレイの開始時点および終了時点に対応し、現時刻ポインタ136bはリプレイの進行に連れてタイムライン136aの上端から下端へと移動する。タイムライン136aの長さは、この実施例ではプレイ期間の長短に関わらず一定である。なお、タイムライン画像136は、現時刻や見どころの時間的位置を時間軸上で示すものであれば、どのような画像でもよい。また、タイムライン136aの長さは、一定とは限らず、リプレイ期間の長短に応じて変化させてもよい。
【0101】
図11は、リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図11(A)が操作時点の画面を示し、図11(B)が操作直後の画面を示している。なお、図11(A)の画面は、図10(B)の画面から所定時間経過後の画面であり、この間に、プレイヤキャラクタCおよび仮想カメラ(図示せず)は手動操作により移動し、タイムライン136a上の現時刻ポインタ136bは経過時間に相当する距離だけ変位している。リプレイ中にAボタン82dが押されると、まず図11(A)のように、画面内の“A”ボタンの表示態様(色,形状など)が変化し、次いで図11(B)のように、タイムライン136a上の現時刻ポインタ136bで示される位置に見どころマーク136c(ここでは黄色)が表示される。
【0102】
なお、この実施例では、何度でも見どころ記録操作を行うことができる一方、記録可能な見どころの数は1つなので、見どころ記録操作が行われる度に見どころマーク136cの表示位置が変化する。また、見どころ記録操作の後に見どころ保存操作が行われると、その時点で記録されている見どころが確定された見どころとして保存され、図11(B)の見どころマーク136cは、図12(A)の見どころマーク136d(ここでは赤色)に変化する。このように、見どころマークには、それが未確定の見どころであることを示す見どころマーク136cと、それが確定済みの見どころであることを示す見どころマーク136dとの2種類がある。なお、2種類の見どころマーク136cおよび136dの間の相違は、ここでは色であるが、これに代えて、またはこれに加えて、大きさ,形状,明るさなどを異ならせてもよい。
【0103】
図12は、見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図12(A)が再記録操作時点の画面を示し、図12(B)が再記録操作直後の画面を示している。なお、図12(A)の画面は、図11(B)の画面から所定時間経過後の画面であり、プレイヤキャラクタCおよび仮想カメラ(図示せず)は手動操作により移動し、タイムライン136a上の現時刻ポインタ136bは経過時間に相当する距離だけ変位している。
【0104】
図12(A)の画面には確定済みの見どころを示す見どころマーク136dを含が含まれており、再びAボタン82dが押されると、まず図12(A)のように、画面内の“A”ボタンの表示態様(色や形状など)が変化し、次いで図12(B)のように、タイムライン136a上の現時刻ポインタ136bで示される位置に未確定の見どころを示す見どころマーク136cがさらに表示される。したがって、タイムライン136a上には、2種類の見どころマーク136cおよび136dが存在する結果となる。
【0105】
なお、この後、さらに見どころ再記録操作が行われると、未確定の見どころを示す見どころマーク136cの位置が変化する(既存の見どころマーク136cは消滅し、新たな見どころマーク136cが現時刻ポインタ136bの位置に登場する)。一方、見どころ保存操作が行われると、確定済みの見どころを示す見どころマーク136dは消滅し、未確定の見どころを示す見どころマーク136cが確定済みの見どころを示す見どころマーク136dに変化する。
【0106】
図13は、リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを示した図解図であり、図13(A)が見どころ接近時の画面を示し、図13(B)が見どころ到来時の画面を示している。見どころの所定時間前たとえば5秒前になると、まず図13(A)のように予告メッセージ138たとえば“もうすぐ見どころ”が表示され、次いで図13(B)のように現時刻ポインタ136bが見どころマーク136dに到達したとき予告メッセージ138が消滅して見どころマーク136dが点灯(形状,色,明るさ等が変化)する。点灯状態は、たとえば5秒間継続する。なお、他の実施例では、予告メッセージ138に見どころまでの時間を記述してもよく、カウントダウンを行ってもよい。
【0107】
図14は、カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したとき、ゲーム画面がどのように変化するかを示した図解図である。図14(A)は図13(A)と同様の画面(見どころの5秒前の画面)であり、ここから2秒が経過する(つまり見どころの3秒前になる)と、図14(B)にようにカメラ視点が見どころの場所へと強制移動される。
【0108】
以下、具体的なゲーム処理について、図15のメモリマップおよび図16〜図20のフローチャートにより説明する。このゲームをプレイするとき、内部メインメモリ42eおよび/または外部メインメモリ46には、図15に示すように、プログラム記憶領域70およびデータ記憶領域78が形成され、プログラム記憶領域70には、ゲームプログラム72,入出力・通信制御プログラム74およびAIプログラム76などが格納される。
【0109】
ゲームプログラム72は、CPU40を介してハードウェア全体(図2参照)を制御することによりこのゲームを実現するソフトウェアであり、図16〜図20のフローチャートに対応する。入出力・通信制御プログラム74は、主として入出力プロセッサ42aを介してコントローラ14からの入力やモニタ28への出力を制御し、また主として無線通信モジュール50を介して他のゲーム装置12Aやサーバ124との間でネットワーク122を通じたデータ通信を行うためのソフトウェアであり、ゲームプログラム72によって利用される。AIプログラム76は、プレイヤに代わってコンピュータがゲームをプレイするためのソフトウェアであり、ゲームプログラム72によって利用される。
【0110】
データ記憶領域78は、モード情報領域80,操作情報領域82,フレーム画像領域84,フレーム番号領域86,視点座標領域88,リプレイデータ領域90,現時刻ポインタ情報領域92および見どころ情報領域94などを含む。モード情報領域80には、現時点で選択されているモードを示すモード情報が記憶される。操作情報領域82には、コントローラ14による直近のゲーム操作を示す操作情報が記憶される。フレーム画像領域84には、現時点のフレーム画像が記憶される。フレーム番号領域86には、現時点のフレーム番号が記憶される。視点座標領域88には、現時点の視点座標が記憶される。リプレイデータ領域90には、ゲーム操作履歴を示すリプレイデータが記憶される。現時刻ポインタ情報領域92には、現時点での現時刻ポインタ136bの表示位置を示す現時刻ポインタ情報が記憶される。見どころ情報領域94には、リプレイデータに関し見どころの位置を示す見どころ情報が記憶される。ここで見どころ情報は、見どころの時間的位置および空間的位置をそれぞれ示す変数VNおよびVCを含む。
【0111】
CPU40は、図15のメモリマップに示したプログラムおよびデータに基づいて、図16〜図20のフローに従うゲーム処理を実行する。図15を参照して、ゲーム開始の時点で、モード情報領域80には、プレイモード,リプレイモードI,通信モードおよびリプレイモードIIのいずれか1つを示すモード情報が記憶されている。
【0112】
なお、図示は省略するが、図16〜図20のゲーム処理と並行して、コントローラ14によるゲーム操作の度に操作情報領域82の情報を更新する処理と、コントローラ14によるモード変更操作に応じてモード情報領域80の情報を更新する処理とが、入出力・通信制御プログラム74によって実行されている。
【0113】
モード情報がプレイモードを示す場合、ゲーム処理は、図16のフローに従って進行する。図16を参照して、CPU40は、まず、ステップS1でプレイ画面をモニタ28に初期表示し(図10(A)参照)、ステップS3では、AIプログラム76を利用して、および/またはゲーム操作に応じて(操作情報領域82の情報に基づいて)、キャラクタ移動やバトルといったゲーム処理を実行する。次に、ステップS5で、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、プレイ画面を更新する。
【0114】
次に、ステップS7〜S11で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS7では終了操作またはモード変更操作が行われたか否かが、ステップS9では視点変更操作が行われたか否かが、そしてステップS11ではゲーム操作が行われたか否かが、それぞれ判別される。
【0115】
ステップS7でYESであれば、ステップS13に移って、リプレイデータ領域90のデータ(ゲーム操作履歴)をフラッシュメモリ44および/またはメモリカード38に保存した後、ゲーム処理を終了または他のモードへ移行する。ステップS9でYESであれば、ステップS15に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS3に戻る。ステップS11でYESであれば、ステップS17に移ってリプレイデータ領域90のデータを更新し、そしてステップS3に戻る。
【0116】
モード情報がリプレイモードIを示す場合、ゲーム処理は、図17のフローに従って進行する。図17を参照して、CPU40は、まず、ステップS21でリプレイデータをフラッシュメモリ44および/またはメモリカード38からリプレイデータ領域90に読み込み、ステップS23ではリプレイ画面をモニタ28に初期表示する(図10(B)参照)。
【0117】
次に、ステップS25で、現時刻ポインタ情報領域92の情報を更新することによって、リプレイ画面上で現時刻ポインタ136bを移動させる。ステップS27では、AIプログラム76を利用して、および/またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップS29では、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【0118】
次に、ステップS31〜S35で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS31では終了操作またはモード変更操作が行われたか否かが、ステップS33では視点変更操作が行われたか否かが、そしてステップS35では見どころ指定操作が行われたか否かが、それぞれ判別される。
【0119】
ステップS31でYESであれば、ステップS37に移って、終了操作またはモード変更操作の後さらに保存操作が行われたか否かを操作情報領域82の情報に基づいて判別し、NOであれば直ちにゲーム処理を終了または他のモードへ移行する。ステップS37でYESであれば、ステップS39で、変数VNおよびVCを含む見どころ位置情報をリプレイデータに関連付けてフラッシュメモリ44および/またはメモリカード38に保存した後、ゲーム処理を終了または他のモードへ移行する。
【0120】
ステップS33でYESであれば、ステップS41に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS25に戻る。ステップS35でYESであれば、ステップS43で現フレーム番号つまりフレーム番号領域86の番号を変数VNにセットし、ステップS45では現視点座標つまり視点座標領域88の座標を変数VCにセットする。そしてステップS47で、これら2つの変数VNおよびVCを含む見どころ情報を見どころ情報領域94に書き込むことにより見どころ情報を更新した後、ステップS25に戻る。
【0121】
モード情報が通信モードを示す場合、ゲーム処理は、図18のフローに従って進行する。図18を参照して、CPU40は、ステップS61〜S65で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS61では終了操作またはモード変更操作が行われたか否かが、ステップS63では見どころ付きリプレイデータ受信操作が行われたか否かが、そしてステップS65では見どころ付きリプレイデータ送信操作が行われたか否かが、それぞれ判別される。
【0122】
ステップS61でYESであれば、ゲーム処理を終了または他のモードへ移行する。ステップS63でYESであれば、ステップS67に移って、入出力・通信制御プログラム74を利用して他のゲーム装置12Aから見どころ付きリプレイデータを受信し、受信した見どころ付きリプレイデータをフラッシュメモリ44および/またはメモリカード38に保存する。その後、ステップS61に戻る。ステップS65でYESであれば、ステップS69に移って、フラッシュメモリ44および/またはメモリカード38に保存されている見どころ付きリプレイデータを入出力・通信制御プログラム74を利用して他のゲーム装置12Aに送信し、そしてステップS61に戻る。
【0123】
モード情報がリプレイモードIIを示す場合、ゲーム処理は、図19のフローに従って進行する。図19を参照して、CPU40は、まず、ステップS81でリプレイデータと見どころ位置情報とをフラッシュメモリ44および/またはメモリカード38からリプレイデータ領域90に読み込み、ステップS83ではリプレイ画面をモニタ28に初期表示し、そしてステップS84でタイムライン画像136をさらにモニタ28に表示する(図10(B)参照)。
【0124】
次に、ステップS85で、現時刻ポインタ情報領域92の情報を更新することによって、リプレイ画面上で現時刻ポインタ136bを移動させる。ステップS87では、AIプログラム76を利用して、および/またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップS89では、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【0125】
次に、ステップS91〜S95で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別し、また現フレーム番号が特定の条件を満足したか否かをフレーム番号領域86の情報および見どころ情報領域の情報に基づいて判別する。具体的には、ステップS91では終了操作またはモード変更操作が行われたか否かが、ステップS93では現フレーム番号が変数VNに関する第1〜第3条件(後述)の少なくとも1つを満足したか否かが、そしてステップS95では視点変更操作が行われたか否かが、それぞれ判別される。
【0126】
ステップS91でYESであれば、ゲーム処理を終了または他のモードへ移行する。ステップS93でYESであれば、ステップS97に移って、見どころを表示するべく画面制御(図19参照:後述)を行い、そしてステップS85に戻る。ステップS95でYESであれば、ステップS99に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS85に戻る。
【0127】
ここで、上記の変数VNに関する第1〜第3条件について、具体的に説明する。第1条件は、現時点が見どころ予告の挿入期間に含まれるか否かを判定するための条件であり、たとえば“VN−300≦現フレーム番号<VN”のように定義される。この定義に従えば、見どころ予告の挿入期間は、見どころの直前の300フレーム期間(60fpsで換算すれば5秒間)となる。第2条件は、現時点が視点の強制移動を行うタイミングか否かを判定するための条件であり、たとえば“VN−180=現フレーム番号”のように定義される。この定義に従えば、視点の強制移動を行うタイミングは、見どころの180フレーム前(3秒前)となる。第3条件は、現時点が見どころマークの点灯期間に含まれるか否かを判定するための条件であり、たとえば“VN≦現フレーム番号≦VN+299”のように定義される。この定義に従えば、見どころマークの点灯期間は、見どころ以降の300フレーム期間(5秒間)となる。この場合、見どころの180フレーム前で第1条件に加えて第2条件も満足される結果、見どころ予告が表示された状態で視点が強制移動される。なお、他の例では、たとえば第1条件を“VN−300≦現フレーム番号<VN−120”とし、第2条件を“VN−120=現フレーム番号”とすることで、見どころ予告表示が終了された後に視点が強制移動されるようにしてもよい。他の実施例では、変数VNに関する条件は、第1〜第3条件のいずれか1つまたは2つでもよく、これ以外の条件が加わってもよい。
【0128】
上記ステップS97の画面制御は、詳しくは図20のサブルーチンに従って進行する。図20を参照して、CPU40は、まず、第1条件が満足されたか否かをステップS111で判別し、YESであればステップS113に進む。ステップS113では、フレーム画像領域86への描画を実行して、リプレイ画面に見どころ予告(予告メッセージ138)を挿入する。次に、第2条件が満足されたか否かをステップS115で判別し、YESであればステップS117に進む。ステップS117では、視点座標領域88の座標を見どころ情報に基づいて更新することにより、視点を変数VCの示す位置へと強制移動させる。その後、上位層のルーチンに復帰する。
【0129】
一方、ステップS111でNOであれば、ステップS119に移って、第3条件が満足されたか否かを判別し、NOであれば上位層のルーチンに復帰する。ステップS119でYESであれば、ステップS121に進んで、見どころマークの表示態様を変更(点灯)し、そして上位層のルーチンに復帰する。なお、見どころマークの点灯状態は、たとえば5秒間継続した後、消灯状態に戻る。
【0130】
以上から明らかなように、この実施例では、ゲーム装置12は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてフラッシュメモリ44および/またはメモリカード38に保存し、保存したリプレイデータに基づいてリプレイ画像をモニタ28に表示する。ゲーム装置12のCPU40は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成し(S35,S43,S45)、作成した見どころ位置情報をリプレイデータと関連付けてフラッシュメモリ44および/またはメモリカード38に保存し(S39)、そしてリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示すタイムライン画像136を見どころ位置情報に基づいてモニタ28に表示する(S84)。
【0131】
こうして、リプレイ画像と一緒に、タイムライン画像136のような見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減することができる。
【0132】
なお、見どころ指定は、上記の実施例では1箇所だけであるが、他の実施例では複数箇所指定できるようにしてもよい。
【0133】
また、仮想カメラは、上記の実施例ではユーザのカメラ操作に応じて移動するフリーカメラであるが、他の実施例では、特定のキャラクタないしグループに追従して移動する追従カメラでもよい。この場合、ユーザは、プレイ開始前またはプレイ中に追従対象となるキャラクタないしグループを指定する操作を行い、CPU40は、指定されたキャラクタないしグループを追尾するように仮想カメラを移動させる。
【0134】
具体的には、上記の実施例(フリーカメラモード)において、次のような変更を行えば、追従カメラモードが実現される。視点座標領域88(図15参照)には、現時点の視点座標に代えて、現時点で追従対象となっているキャラクタないしグループのIDが記憶される。したがって、リプレイデータに記述される視点座標もまた、キャラクタないしグループのIDに変更される。ステップS9,S33およびS95(図16,図17および図19参照)では、視点変更操作の有無に代えて、追従対象を変更する操作の有無が判別される。ステップS45(図17参照)では、見どころ指定操作が行われた時点の視点座標に代えて、見どころ指定操作が行われた時点で追従対象となっているキャラクタないしグループのIDが、変数VC(図15参照)にセットされる。
【0135】
以上では、ゲーム装置12について説明したが、この発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存し、リプレイデータに基づいてリプレイ画像を画面に表示する、ゲーム装置に適用できる。
【符号の説明】
【0136】
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
28 …モニタ
38 …(外部)メモリカード
40 …CPU
42b …GPU
42e …内部メインメモリ
44 …フラッシュメインメモリ
46 …外部メインメモリ
50 …無線通信モジュール
62 …メモリカード用コネクタ
120 …ネットワークシステム
【技術分野】
【0001】
この発明は、ゲームプログラム,ゲーム装置およびゲームシステムに関し、特にたとえば、プレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現する、ゲームプログラム,ゲーム装置およびゲームシステムに関する。
【背景技術】
【0002】
リプレイデータは、たとえば、プレイヤ間でクリア方法を教え合ったりハイスコアを自慢し合ったりする目的でやり取りされることがあり、これを提供する側のプレイヤには、提供を受ける相手側で再現されるプレイ画像つまりリプレイ画像に、自分のプレイの「見どころ」を明示したい要求がある。
【0003】
リプレイに関する背景技術としては、リプレイ映像の編集(視点選択など)について開示した特許文献1や、リプレイ画像の視点制御および各種マーカ(キャラ指示マーカなど)の表示制御について開示した特許文献2がある。一方、見どころに関する背景技術としては、メディアストリームにブックマークおよびウオッチポイントを設定することについて開示した特許文献3が知られている。また、特許文献4は、リプレイデータの通信について開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004‐41645号公報
【特許文献2】特開2005‐245795号公報
【特許文献3】特表2006‐518063号公報
【特許文献4】特開2008‐29885号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、いずれの背景技術でも、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることはできなかった。
【0006】
たとえば、特許文献1,2または4のリプレイデータに特許文献3のウオッチポイントを設定することが考えられるものの、このウオッチポイントは、ウオッチポイントトリガ(if…)およびウオッチポイントアクション(then…)で構成され、映画などのメディア再生に関連して所定のトリガが発生したとき所定のアクションを実行する、一般的な制御情報に過ぎない。
【0007】
また、仮に、リプレイデータにウオッチポイントを設定することで、「見どころ」をトリガとしてリプレイ画像に“見どころ指示マーカ”を表示できたとしても、この種の指示マーカは「見どころ」が現れて初めて表示される。一方、リプレイデータの提供を受ける側のプレイヤは、「見どころ」がどのタイミングで現れるか知らないので、リプレイ画像を最初から通して凝視しない限り「見どころ」を見落とす可能性がある。さらに、リプレイ画像の視点移動が可能な場合には、視点が「見どころ」から遠く離れた位置にある(すなわち「見どころ」が視界に入っていない)状態で「見どころ」のタイミングが到来すると、マーカ表示も困難となり、プレイヤは「見どころ」を見落とす可能性が高い。
【0008】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム,ゲーム装置およびゲームシステムを提供することである。
【0009】
この発明の他の目的は、リプレイ画像の見どころを認識させることができる、ゲームプログラム,ゲーム装置およびゲームシステムを提供することである。
【課題を解決するための手段】
【0010】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0011】
第1の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつリプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラムである。
【0012】
第1の発明では、ゲーム装置(12)は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存し、保存したリプレイデータに基づいてリプレイ画像(130b)を画面(28)に表示する。ゲームプログラムは、ゲーム装置のコンピュータ(40)を、作成手段(S35,S43,S45)、保存手段(S39)および見どころ位置画像表示手段(S84)として機能させる。作成手段は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する。保存手段は、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する。見どころ位置画像表示手段は、リプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像(136)を見どころ位置情報に基づいて画面に表示する。
【0013】
第1の発明によれば、リプレイ画像と一緒に見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減できる。
【0014】
第2の発明は、第1の発明に従属するゲームプログラムであって、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、作成手段が作成する見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示し、コンピュータを、見どころ位置情報に基づいて視点を見どころの開始前に見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる。
【0015】
第2の発明では、リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、見どころ位置情報はリプレイ画像における見どころの空間的な位置をさらに示す。ゲームプログラムはコンピュータを視点移動手段(S117)としてさらに機能させる。視点移動手段は、見どころ位置情報に基づいて、視点を見どころの開始前に見どころの位置へ向けて移動させる。
【0016】
第2の発明によれば、見どころの開始前に視点を見どころの位置へと移動させることで、見どころのタイミングで視点が見どころの場所から離れていても、相手に見どころを見せることができる。
【0017】
なお、見どころ位置画像表示手段は、リプレイ画像における見どころの空間的な位置を示す別の見どころ位置画像(132,132a)を見どころ位置情報に基づいてさらに表示してもよい。これによって、相手が見どころを見落とす可能性をさらに低減できる。
【0018】
第3の発明は、第1の発明に従属するゲームプログラムであって、見どころの時間的な位置はリプレイ画像のフレーム特定情報で示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報を見どころ位置情報に記述する(S43)。
【0019】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。
【0020】
第3の発明によれば、プレイヤは、リプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置を指定することができる。
【0021】
第4の発明は、第2の発明に従属するゲームプログラムであって、見どころの時間的な位置および空間的な位置はリプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、見どころ位置指定操作はリプレイ画像が画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、作成手段は、ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を見どころ位置情報に記述する(S43,S45)。
【0022】
なお、フレーム特定情報は、ある実施例では再生順序を示すフレーム番号であるが、他の実施例では再生時刻を示すタイムスタンプなどでもよい。また、視点は、ある実施例では視点変更操作に応じて移動するが、他の実施例では任意のキャラクタないしグループに追従して移動してもよい。前者の場合、見どころ位置情報は現時点の視点を示す座標であり、見どころの開始前に視点が当該座標の示す位置へと移動される。後者の場合、見どころ位置情報は現時点の追従対象を示すIDであり、見どころの開始前に追従対象が当該IDの示すキャラクタないしグループへと変更される。
【0023】
第4の発明によれば、プレイヤは、任意の視点からのリプレイ画像を見ながら所望のタイミングでボタン押下操作を行うことで、簡単に見どころの時間位置および空間位置を指定することができる。
【0024】
第5の発明は、第3または第4の発明に従属するゲームプログラムであって、見どころ位置画像は、リプレイ画像の表示期間に対応するタイムライン(136a)、および見どころの時間的な位置をタイムラインにおける位置で示す見どころマーク(136c,136d)を含む。
【0025】
第5の発明によれば、見どころの時間位置を直感的に認識させることができる。
【0026】
第6の発明は、第5の発明に従属するゲームプログラムであって、見どころ位置画像は、現時刻をタイムラインにおける位置で示す現時刻ポインタ(136b)をさらに含む。
【0027】
第6の発明によれば、見どころまでの時間を直感的に認識させることができる。また、早送りなどの操作が容易になる。
【0028】
第7の発明は、第1ないし第6のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を画面に表示する、予告画像表示手段としてさらに機能させる。
【0029】
第7の発明では、ゲームプログラムはコンピュータを予告画像表示手段(S113)としてさらに機能させる。予告画像表示手段は、現時刻が見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像(138)を画面に表示する。
【0030】
第7の発明によれば、事前に予告を行うことで、見どころの特に先頭部分を逃さないように準備させることができる。
【0031】
第8の発明は、第1ないし第7のいずれかの発明に従属するゲームプログラムであって、コンピュータを、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる態様変化手段(S121)としてさらに機能させる。
【0032】
第8の発明では、ゲームプログラムはコンピュータを態様変化手段(S121)としてさらに機能させる。態様変化手段は、現時刻が見どころの時間的な位置に到達するのに応じて、見どころマークの態様を変化させる。
【0033】
第8の発明によれば、見どころの開始を明確に認識させることができる。
【0034】
第9の発明は、第5の発明に従属するゲームプログラムであって、メモリは一時期記憶領域(42e,46)および保存領域(44,38)を含み、保存手段は、作成手段によって作成された見どころ位置情報を一時期記憶領域に記憶し、一時記憶領域に記憶している見どころ位置情報をユーザの保存操作に応答して保存領域に保存し、見どころ位置画像表示手段は、一時期記憶領域に記憶している見どころ位置情報に基づいて第1見どころマーク(136c)を表示し、保存領域に保存した見どころ位置情報に基づいて第2見どころマーク(136d)を表示する。
【0035】
第9の発明によれば、保存操作を通じて確定済みの見どころ位置と未確定の見どころ位置とを異なる見どころマークで表現することで、両者を視覚的に区別できる。また、見どころ位置の変更を容易に行える。
【0036】
第10の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリ(38,44,42e,46)に保存しかつリプレイデータに基づいてリプレイ画像を画面(28)に表示するゲーム装置(12)であって、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段(S35,S43,S45)、作成手段によって作成された見どころ位置情報をリプレイデータと関連付けてメモリに保存する保存手段(S39)、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像(136)を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段(S84)を備える。
【0037】
第11の発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第1ゲーム装置(12)と第1ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面(28)に表示する第2ゲーム装置(12A)とを含むゲームシステム(120)であって、第1ゲーム装置は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成する作成手段(S35,S43,S45)、および作成手段によって作成された見どころ位置情報をリプレイデータと関連付けて第2ゲーム装置に提供する提供手段(S39,S69,50,62)を備え、第2ゲーム装置は、第1ゲーム装置からリプレイデータと関連付けて提供された見どころ位置情報を受領する受領手段(S67,50,62)、およびリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を見どころ位置情報に基づいて画面に表示する、見どころ位置画像表示手段(S84)を備える。
【0038】
第10,第11の各発明でも、第1の発明と同様に、リプレイ画像の見どころを認識させることができる。
【発明の効果】
【0039】
この発明によれば、リプレイデータの提供を受ける相手にリプレイ画像の見どころを認識させることができる、ゲームプログラム,ゲーム装置およびゲームシステムが実現される。
【0040】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0041】
【図1】この発明のゲームシステムの一実施例を示す図解図である。
【図2】ゲームシステムの電気的な構成を示すブロック図である。
【図3】第1コントローラの外観を説明するための図解図である。
【図4】第2コントローラの外観を説明するための図解図である。
【図5】コントローラ(第1コントローラおよび第2コントローラを互いに接続したもの)の電気的な構成を示すブロック図である。
【図6】コントローラを用いて仮想ゲームをプレイするときの状態を概説するための図解図である。
【図7】マーカおよびコントローラの視野角を説明するための図解図である。
【図8】コントローラによる撮像画像の一例を示す図解図である。
【図9】第1および第2のゲーム装置を含むネットワークシステムを示すブロック図である。
【図10】ゲーム画面の構成を説明するための図解図であり、(A)がプレイ時の構成例を、図10がリプレイ時の構成例を示す。
【図11】リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が操作時点の画面を、(B)が操作直後の画面を示す。
【図12】見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が再記録操作時点の画面を、(B)が再記録操作直後の画面を示す。
【図13】リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを説明するための図解図であり、(A)が見どころ接近時(5秒前)の画面を、(B)が見どころ到来時の画面を示す。
【図14】カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したときゲーム画面がどのように変化するかを説明するための図解図であり、(A)が見どころ5秒前の画面を、(B)が見どころ3秒前の画面を示す。
【図15】メモリマップの一部を示す図解図である。
【図16】CPU動作の一部を示すフロー図である。
【図17】CPU動作の他の一部を示すフロー図である。
【図18】CPU動作のその他の一部を示すフロー図である。
【図19】CPU動作のさらにその他の一部を示すフロー図である。
【図20】CPU動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【0042】
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。図示は省略するが、この実施例のゲーム装置12は、最大4つのコントローラ14と通信可能に設計されている。また、ゲーム装置12と各コントローラ14とは、無線によって接続される。たとえば、無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【0043】
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18が設けられる。ディスクスロット18から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク24が挿入されて、ハウジング16内のディスクドライブ54(図2参照)に装着される。図示は省略するが、ディスクスロット18の周囲には、LEDと導光板とが配置され、様々な処理に応答させて、ディスクスロット18を点灯または点滅させることが可能である。
【0044】
また、ゲーム装置12のハウジング16の前面の上部には、電源ボタン20aおよびリセットボタン20bが設けられ、その下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット18の近傍には、外部メモリカード用コネクタカバー22が設けられる。この外部メモリカード用コネクタカバー22の内側には、外部メモリカード用コネクタ62(図2参照)が設けられ、外部メモリカード38(以下、単に「メモリカード38」という。)が挿入される。メモリカード38は、光ディスク24から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ、あるいは後述するリプレイデータ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカード38に対して行うことに代えて、たとえばゲーム装置12の内部に設けられるフラッシュメモリ44(図2参照)のような内部メモリに対して行うようにしてもよい。また、メモリカード38は、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置12では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカード38には当該他のアプリケーションのデータを保存することができる。
【0045】
なお、メモリカード38としては、汎用のSDカードを用いることができるが、メモリスティックやマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。メモリカード38は、ゲーム装置12と同様の構成を有する他のゲーム装置12Aでも利用することができるので、ゲームデータをメモリカード38を介して他のプレイヤに提供することもできる。
【0046】
図1では省略するが、ゲーム装置12のハウジング16の後面には、AVコネクタ58(図2参照)が設けられ、そのAVコネクタ58を用いて、AVケーブル26を通してゲーム装置12にモニタ28およびスピーカ30を接続する。このモニタ28およびスピーカ30は典型的にはカラーテレビジョン受像機であり、AVケーブル26によって、ゲーム装置12からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置12からの音声信号が音声入力端子に入力される。したがって、カラーテレビ(モニタ)28の画面上にたとえば3次元(3D)ビデオゲームの仮想3次元ゲーム画像が表示され、左右のスピーカ30からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ28の周辺(この実施例では、モニタ28の上側)には、2つの赤外LED(マーカ)32aおよび32bを備えるマーカ部32が設けられる。このマーカ部32は、電源線32cを通してゲーム装置12に接続される。したがって、マーカ部32には、ゲーム装置12から電源が供給される。これによって、マーカ32aおよび32bは発光し、それぞれモニタ28の前方に向けて赤外光を出力する。
【0047】
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置12は、家庭用電源(商用電源)を、駆動に適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【0048】
コントローラ14は、詳細は後述されるが、第1の操作ユニットおよび第2の操作ユニットとして、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36を含む。第2コントローラ36の後端から延びるケーブル36aの先端にはコネクタ36bが設けられており、当該コネクタ36bは、第1コントローラ34の後端面に設けられるコネクタ34a(図3、図5)に接続される。第2コントローラ36において取得される入力データは、ケーブル36aを介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0049】
このゲームシステム10において、ユーザまたはプレイヤがゲーム(またはゲームに限らず、他のアプリケーション)をプレイするために、ユーザは電源スイッチ20aによってまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)のプログラムを記録している適宜の光ディスク24を選択し、その光ディスク24をゲーム装置12のディスクドライブ54にローディングする。応じて、ゲーム装置12がその光ディスク24に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。たとえば操作部82のどれかの操作ボタンを操作することによって、ゲームもしくは他のアプリケーションをスタートさせる。また、操作部82に対する操作以外にも、コントローラ14自体を動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(仮想カメラの位置)を変化させることができる。
【0050】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置12の内部メモリ(フラッシュメモリ44(図2参照))に記憶(インストール)しておき、当該内部メモリから実行するようにしてもよい。かかる場合には,光ディスク24のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【0051】
図2は図1実施例のゲームシステム10の電気的な構成を示すブロック図である。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図2に示すように、ゲーム装置12には、CPU40が設けられ、ゲームプロセッサとして機能する。また、CPU40には、システムLSI42が接続される。このシステムLSI42には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
【0052】
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU40のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク24からプログラムやテクスチャデータ等を読み出し、CPU40の制御の下で、後述する内部メインメモリ42eまたは外部メインメモリ46に書き込む。
【0053】
システムLSI42には、入出力プロセッサ42a、GPU(Graphics Processor Unit)42b,DSP(Digital Signal Processor)42c,VRAM42dおよび内部メインメモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。GPU42bは、描画手段の一部を形成し、CPU40からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU42bに与える。
【0054】
図示は省略するが、上述したように、GPU42bにはVRAM42dが接続される。GPU42bが作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU42bがVRAM42dにアクセスして取得する。ただし、CPU40は、描画に必要な画像データを、GPU42bを介してVRAM42dに書き込む。GPU42bは、VRAM42dにアクセスして描画のためのゲーム画像データを作成する。
【0055】
なお、この実施例では、GPU42bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU42bは当該任意のアプリケーションについての画像データを生成する。
【0056】
また、DSP42cは、オーディオプロセッサとして機能し、内部メインメモリ42eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ30から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【0057】
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ28およびスピーカ30に出力される。したがって、ゲーム画面がモニタ28に表示され、ゲームに必要な音(音楽)がスピーカ30から出力される。
【0058】
また、入出力プロセッサ42aには、フラッシュメモリ44、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
【0059】
入出力プロセッサ42aは、無線通信モジュール50を介して、ネットワーク122に接続された他のゲーム装置10Aやサーバ124と通信することができる(図9参照)。ただし、ネットワーク122を介さずに、直接的に他のゲーム装置10Aと通信することもできる。入出力プロセッサ42aは、定期的にフラッシュメモリ44にアクセスし、ネットワーク122へ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワーク122に送信する。また、入出力プロセッサ42aは、他のゲーム装置10Aから送信されるデータ(「受信データ」とする)を、ネットワーク122、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ44に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ42aは、ネットワーク122に接続されたサーバ124からダウンロードしたデータ(ダウンロードデータとする)をネットワーク122、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ44に記憶することもできる。
【0060】
また、入出力プロセッサ42aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ42eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU40の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
【0061】
さらに、入出力プロセッサ42aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ42aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0062】
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI42に接続される。この電源ボタン20aがオンされると、システムLSI42には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通常の通電状態となるモード(「通常モード」と呼ぶこととする)が設定される。一方、電源ボタン20aがオフされると、システムLSI42には、ゲーム装置12の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」という)が設定される。
【0063】
この実施例では、スタンバイモードが設定された場合には、システムLSI42は、入出力プロセッサ42a、フラッシュメモリ44、外部メインメモリ46、ROM/RTC48および無線通信モジュール50、無線コントローラモジュール52以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、CPU40がアプリケーションを実行することはない。
【0064】
リセットボタン20bもまた、システムLSI42に接続される。リセットボタン20bが押されると、システムLSI42は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク24が排出される。
【0065】
図3には第1コントローラ34の外観の一例が示される。図3(A)は、第1コントローラ34を上面後方から見た斜視図であり、図3(B)は、第1コントローラ34を下面前方から見た斜視図である。第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング80を有している。ハウジング80は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング80は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0066】
ハウジング80には、複数の操作ボタン(操作キー)が設けられる。すなわち、ハウジング80の上面には、十字キー82a、1ボタン82b、2ボタン82c、Aボタン82d、−ボタン82e、メニューボタン82f、および+ボタン82gが設けられる。一方、ハウジング80の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン82hが設けられる。これら各ボタン(スイッチ)82a−82hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング80の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ82iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号82を用いて示されることもある。
【0067】
また、ハウジング80の後面には、上述のコネクタ34aが設けられている。コネクタ34aは、たとえば32ピンのエッジコネクタであり、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ34aには第2コントローラ36のコネクタ36bが接続される。また、ハウジング80上面の後端側には複数のLED84が設けられ、この複数のLED84によって当該コントローラ14のコントローラ番号(コントローラの識別番号)が示される。ゲーム装置12には、たとえば最大4つのコントローラ14が接続可能であり、ゲーム装置12に複数のコントローラ14が接続される場合には、各コントローラ14には、たとえば接続順にコントローラ番号が付与される。各LED84はコントローラ番号と対応付けられており、当該コントローラ番号に対応するLED84が点灯される。
【0068】
また、第1コントローラ34のハウジング80内には加速度センサ86(図5)が設けられている。加速度センサ86としては、典型的には静電容量式の加速度センサが用いられ得る。加速度センサ86は、当該加速度センサの検出部に加わっている加速度のうち、センシング軸ごとの直線成分の加速度や重力加速度を検出する。具体的には、この実施例では、3軸加速度センサが適用され、第1コントローラ34の上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0069】
なお、加速度センサ86としては、ハウジング80の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
【0070】
さらに、コントローラ22は、撮像情報演算部88(図5参照)を有している。図3(B)に示すように、ハウジング80の先端面には撮像情報演算部88の光入射口90が設けられ、光入射口90からはセンサバー44のマーカ44m、44nの発する赤外線が取り込まれる。
【0071】
図4には第2コントローラ36の外観の一例が示される。図4(A)は、第2コントローラ36を上面後方から見た斜視図であり、図4(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図4では、第2コントローラ36のケーブル36aは省略されている。
【0072】
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング92を有している。ハウジング92は、平面視では、前後方向(図4のZ軸方向)に略細長い楕円形状を有し、後端側の左右方向(図4のX軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング92は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング92は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング80よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0073】
ハウジング92の上面の先端側には、アナログジョイスティック94aが設けられる。ハウジング92の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図4に示すY軸方向)に並べて、Cボタン94bおよびZボタン94cが設けられる。アナログジョイスティック94aおよび各ボタン94b,94cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第2コントローラ36に設けられるアナログジョイスティック94aおよび各ボタン94b,94cは、包括的に参照符号94を用いて示されることもある。
【0074】
また、第2コントローラ36のハウジング92内には加速度センサ96(図5)が設けられている。この加速度センサ96としては、第1コントローラ34の加速度センサ86と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(図4に示すY軸方向)、左右方向(図4に示すX軸方向)および前後方向(図4に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0075】
なお、図3に示した第1コントローラ34および図4に示した第2コントローラ36の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は一例であり、他の形状、数および設置位置等に適宜変更され得る。
【0076】
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ34a、コネクタ36bおよびケーブル36aを介してこの電源が供給される。
【0077】
図5には、第1コントローラ34と第2コントローラ36とが接続されたときのコントローラ14の電気的構成の一例が示される。第1コントローラ34は、その内部に通信部98を備え、通信部98には、操作部82、加速度センサ86、撮像情報演算部88およびコネクタ34aが接続される。操作部82は、上述の操作ボタンないし操作スイッチ82a‐82iを示す。操作部82が操作されると、その操作信号(キー情報)が通信部98に与えられる。加速度センサ86が検出した加速度を示すデータは、通信部98へ出力される。加速度センサ86は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
【0078】
撮像情報演算部88が取得したデータもまた通信部98に出力される。撮像情報演算部88は、赤外線フィルタ100、レンズ102、撮像素子104および画像処理回路106によって構成される。赤外線フィルタ100は、第1コントローラ34の前方の光入射口90から入射する光から赤外線のみを通過させる。上述したように、モニタ30の表示面近傍(周辺)に配置されるセンサバー44のマーカ44mおよび44nは、モニタ30の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ100を設けることによってマーカ44mおよび44nの画像をより正確に撮像することができる。レンズ102は、赤外線フィルタ100を透過した赤外線を集光して撮像素子104へ出射する。撮像素子104は、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ102によって集光された赤外線を撮像する。したがって、撮像素子104は、赤外線フィルタ100を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子104によって撮像された画像を撮像画像と呼ぶ。撮像素子104によって生成された画像データは、画像処理回路106で処理される。画像処理回路106は、撮像画像内における撮像対象(マーカ44mおよび44n)の位置を算出し、所定時間(たとえば1フレーム)毎に、当該位置を示す各座標値を含むマーカ座標データを通信部98に出力する。なお、画像処理回路106における処理については後述する。
【0079】
コネクタ34aには、第2コントローラ36から延びるケーブル36aのコネクタ36bが接続される。コネクタ36bには、第2コントローラ36の操作部94および加速度センサ96が接続される。操作部94は、上述のアナログジョイスティック94aおよび操作ボタン94b、94cを示す。操作部94が操作されると、その操作信号がケーブル36a、コネクタ36bおよびコネクタ34a等を介して通信部98に与えられる。また、加速度センサ96も、加速度センサ86と同様のサンプリング周期を有しており、検出された加速度を示すデータを通信部98に与える。
【0080】
通信部98は、マイクロコンピュータ(マイコン)108、メモリ110、無線モジュール78およびアンテナ112を含む。マイコン108は、処理の際にメモリ110を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール78を制御して、取得したデータをゲーム装置12に送信したりゲーム装置12からのデータを受信したりする。
【0081】
第1コントローラ34の操作部82、加速度センサ86および撮像情報演算部88ならびに第2コントローラ36の操作部94および加速度センサ96からマイコン108へ出力されたデータは、一時的にメモリ110に格納される。通信部98からゲーム装置12のBluetooth通信ユニット76への無線送信は所定の周期毎に行われる。なお、ゲームの処理は1/60秒を単位として行われることが一般的であるので、第1コントローラ34からの送信はそれと同等かそれより短い周期で行うことが必要となる。マイコン108は、ゲーム装置12への送信タイミングが到来すると、メモリ110に格納されている操作部82および94の操作データ、加速度センサ86および96の加速度データならびに撮像情報演算部88のマーカ座標データを含むデータを、コントローラデータとして無線モジュール78へ出力する。無線モジュール78は、Bluetoothのような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ112から放射する。つまり、コントローラデータは、無線モジュール78で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット76で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU46は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。
【0082】
なお、加速度センサ86および96から出力される加速度の信号に基づいて、ゲーム装置12のプロセッサ(例えばCPU46)またはコントローラ14のプロセッサ(例えばマイコン108)などのコンピュータが処理を行うことによって、コントローラ14に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ86および96を搭載する第1コントローラ34および第2コントローラ36が静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサ86および96によって検出される加速度が重力加速度のみであるとして処理する場合)、第1コントローラ34および第2コントローラ36が現実に静的な状態であれば、検出された加速度に基づいて第1コントローラ34および第2コントローラ36の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかをそれぞれ知ることができる。具体的には、加速度センサ86および96の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで、第1コントローラ34および第2コントローラ36がそれぞれ傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸加速度センサが適用される場合には、さらに各軸の加速度の信号に対して処理を施すことによって、第1コントローラ34および第2コントローラ36がそれぞれ重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ86および96からの出力に基づいて、コンピュータが第1コントローラ34および第2コントローラ36の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ86および96からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ86および96をコンピュータと組み合わせて用いることによって、第1コントローラ34および第2コントローラ36の傾き、姿勢または位置を判定することができる。
【0083】
一方、加速度センサ86および96が動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサ86および96の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ86および96を備える第1コントローラ34および第2コントローラ36がユーザの手で動的に加速されて動かされる場合に、加速度センサ86および96によって生成される加速度信号を上記コンピュータによって処理することによって、第1コントローラ34および第2コントローラ36のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサ86および96が動的な状態であることを前提とする場合であっても、加速度センサ86および96の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることが可能である。他の実施例では、加速度センサ86および96は、信号をマイコン108に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ86および96が静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0084】
このゲームシステム10では、ユーザがコントローラ14を動かすことによってゲームに対する操作または入力を行うことができる。ゲームをプレイする際には、たとえば図6に示すように、ユーザは、その右手で第1コントローラ34を持ち、その左手で第2コントローラ36を持つ。上述のように、この実施例では、第1コントローラ34には3軸方向の加速度を検出する加速度センサ86が内蔵され、第2コントローラ36にも同様の加速度センサ96が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれユーザによって動かされると、加速度センサ86および加速度センサ96によって、それぞれのコントローラ自身の動きを示す加速度値が検出される。ゲーム装置12では、当該検出された加速度値に応じてゲーム処理が実行され得る。
【0085】
また、第1コントローラ34には撮像情報演算部88が設けられるので、ユーザは第1コントローラ34をポインティングデバイスとして使用して操作を行うことができる。この場合、ユーザは、第1コントローラ34の先端面(光入射口90)がマーカ44mおよび44nの方を向く状態で第1コントローラ34を把持する。ただし、図1から分かるように、マーカ44mおよび44nは、モニタ30の画面の所定の1辺(上辺または下辺)の近傍に、当該所定の1辺に対して平行に配置されている。この状態で、ユーザは、第1コントローラ34自体を動かして、第1コントローラ34が指示する画面上の位置を変更したり、第1コントローラ34と各マーカ44mおよび44nとの距離を変更したりすることによって、ゲーム操作を行うことができる。
【0086】
図7は、マーカ44mおよび44nと第1コントローラ34の視野角を説明するための図である。図7に示すように、マーカ44mおよび44nは、それぞれ、視野角αの範囲で赤外光を放射する。また、撮像情報演算部88の撮像素子104は、第1コントローラ34の視線方向(図3に示すZ軸方向)を中心とした視野角βの範囲で入射する光を受光することができる。たとえば、マーカ44mおよび44nの視野角αは、共に34°(半値角)であり、一方、撮像素子104の視野角βは42°である。ユーザは、撮像素子104が2つのマーカ44mおよび44nからの赤外光を受光することが可能な位置および向きとなるように、第1コントローラ34を把持する。具体的には、撮像素子104の視野角βの中に少なくとも一方のマーカ44mまたは44nが存在し、かつ、マーカ44mおよび44nの少なくとも一方の視野角αの中に第1コントローラ34が存在する状態となるように、ユーザは第1コントローラ34を把持する。この状態にあるとき、第1コントローラ34は、マーカ44mおよび44nの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲で第1コントローラ34の位置および向きを変化させることによってゲーム操作を行うことができる。なお、マーカ44mおよび44nのいずれか一方のみが検出される場合には、たとえば、直前の2つのマーカ44mおよび44nを検出したデータを利用して、検出されない他方のマーカの代わりに仮のマーカ座標を設定することによって、第1コントローラ34の指示位置を算出することができる。
【0087】
なお、第1コントローラ34の位置および向きがこの範囲外となった場合、第1コントローラ34の位置および向きに基づいたゲーム操作を行うことができなくなる。したがって、上記範囲は「操作可能範囲」と呼ばれる。
【0088】
操作可能範囲内で第1コントローラ34が把持される場合、撮像情報演算部88によってマーカ44mおよび44nの画像が撮像される。すなわち、撮像素子104によって得られる撮像画像には、撮像対象であるマーカ44mおよび44nの画像(対象画像)が含まれる。図8は、対象画像を含む撮像画像の一例を示す図である。対象画像44m’および44n’を含む撮像画像の画像データを用いて、画像処理回路106は、各マーカ44mおよび44nの撮像画像における位置を表す座標(マーカ座標)を算出する。
【0089】
撮像画像の画像データにおいて対象画像44m’および44n’は高輝度部分として現れるため、画像処理回路106は、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路106は、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、2つの対象画像(マーカ画像)44m’および44n’だけではなく、窓からの太陽光や部屋の蛍光灯の光等のような他の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、マーカ44mおよび44nの画像44m’および44n’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。撮像画像における対象画像44m’および44n’と他の画像との区別のために、撮像対象44mおよび44nは既知のものである必要があり、この実施例ではその大きさが予め決められるので、マーカ画像44m’および44n’の大きさを予測することができる。したがって、高輝度部分の大きさに基づいて、マーカ画像44m’および44n’の判定を行うことができる。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【0090】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路106は当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子104の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子104によって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
【0091】
なお、図8に示すように、撮像画像における位置は、撮像画像の左上を原点Oとし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(撮像画像のXY座標系)で表現されるものとする。
【0092】
また、対象画像44m’および44n’が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路106は、算出された2箇所のマーカ座標を示すデータ、つまり、撮像対象の位置を示す撮像対象データを通信部98に出力する。出力された撮像対象データ(マーカ座標データ)は、上述したように、マイコン108によってコントローラデータに含められて、ゲーム装置12に送信される。
【0093】
ゲーム装置12(CPU46)は、受信したコントローラデータからマーカ座標データを取得すると、このマーカ座標データに基づいて、モニタ30の画面上における第1コントローラ34の指示位置(指示座標)と、第1コントローラ34からマーカ44mおよび44nまでの各距離とを算出することができる。なお、たとえば、第1コントローラ34がモニタ30の画面の左端を指示するとき、対象画像44m’および44n’は撮像画像の右側に検出され、第1コントローラ34が画面の下端を指示するとき、対象画像44m’および44n’は撮像画像の上側に検出され、つまり、画面上の第1コントローラ34の指示位置と逆側に撮像画像上のマーカ座標が検出される。したがって、第1コントローラ34の指示位置の座標をマーカ座標から算出する際には、座標系が図8の撮像画像の座標系から画面上の位置を表すための座標系に適宜に変換される。
【0094】
なお、この実施例では、第1コントローラ34で撮像データに所定の演算処理を行ってマーカ座標を検出して、そのマーカ座標データをゲーム装置12に送信するようにしている。しかし、他の実施例では、撮像データをコントローラデータとして第1コントローラ34からゲーム装置12に送信し、ゲーム装置12のCPU46が撮像データに所定の演算処理を行って、マーカ座標および指示位置の座標を検出するようにしてもよい。
【0095】
また、撮像画像における対象画像間の距離は、第1コントローラ34と、マーカ44mおよび44nとの距離に応じて変化する。マーカ44mおよび44n間の距離、撮像画像の幅、撮像素子104の視野角βが予め決まっているので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12は第1コントローラ34とマーカ44mおよび44nとの間の現在の距離を算出することができる。
【0096】
以上のように構成されたゲーム装置10では、ゲームをプレイするときプレイヤのゲーム操作に関する履歴をリプレイデータとして保存し、後にリプレイデータに基づいてプレイヤのプレイ画像を再現(リプレイ)することができる(以下では、こうして再現された画像を「リプレイ画像」と呼ぶ)。保存されたリプレイデータをたとえばネットワーク122に送信することで、他のゲーム装置10Aでリプレイを行うこともできる。ネットワーク122などの通信媒体に限らず、メモリカード38などの記憶媒体を介してリプレイデータの提供を行うことも可能である。また、リプレイ時にプレイヤが見どころ位置を指定する操作を行うと、見どころ位置情報がリプレイデータに付加され、リプレイ時には、見どころ位置情報に基づいてリプレイの見どころが明示される。
【0097】
このゲームでは、プレイヤキャラクタがゲーム空間内を移動しつつ敵キャラクタとのバトルを行う。仮想カメラは、このようなバトルを捉えるべく、フリーカメラモードでは手動操作(たとえば操作部82に対する操作もしくはコントローラ14自体の動き)によって、追従カメラモードでは自動制御によって、ゲーム空間内を移動する。前述の見どころ位置情報は、見どころの時間的な位置および空間的な位置を示す情報であり、たとえば、時間的位置はリプレイ画像のフレーム番号(あるいはタイムスタンプ)によって、空間的位置は仮想カメラの視点座標(あるいは追従対象ID)によって表現される。
【0098】
図10は、モニタ28に表示されるゲーム画面の構成がプレイ時およびリプレイ時でどのように異なるかを説明するための図解図であり、図10(A)がプレイ時の構成例を、図10(B)がリプレイ時の構成例を示している。図10(A)を参照して、プレイ時のゲーム画面は、ゲーム空間のうち現時点で仮想カメラ(図示せず)が捉えている部分つまりプレイヤキャラクタCを含む被写界の画像(プレイ画像)130aと、当該部分のゲーム空間内での位置を示すミニマップの画像132とを含む。この例では、プレイ画像130aは画面全体に表示され、ミニマップ画像132はプレイ画像130aに重ねて画面右下隅に表示されている。
【0099】
図10(B)を参照して、リプレイ時のゲーム画面は、上記のプレイ画像130aに対応するリプレイ画像130bおよびミニマップ画像132に加え、タイムライン画像136およびボタン画像134をさらに含む。この例では、タイムライン画像136は画面右上に、ボタン画像134は画面左下に配置される。ボタン画像134は、コントローラ14のAボタン82dおよびZボタン94cを意味する“A”および“Z”と、Aボタン82dおよびZボタン94cに割り当てられた機能を示す“見どころ記録”および“早送り”とで構成される。
【0100】
タイムライン画像136は、リプレイ期間を示すタイムライン136aと、現時刻がリプレイ期間のどの辺りかをタイムライン136a上で示す現時刻ポインタ136bとを含む。この例では、タイムライン136aの上端および下端がリプレイの開始時点および終了時点に対応し、現時刻ポインタ136bはリプレイの進行に連れてタイムライン136aの上端から下端へと移動する。タイムライン136aの長さは、この実施例ではプレイ期間の長短に関わらず一定である。なお、タイムライン画像136は、現時刻や見どころの時間的位置を時間軸上で示すものであれば、どのような画像でもよい。また、タイムライン136aの長さは、一定とは限らず、リプレイ期間の長短に応じて変化させてもよい。
【0101】
図11は、リプレイ中に見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図11(A)が操作時点の画面を示し、図11(B)が操作直後の画面を示している。なお、図11(A)の画面は、図10(B)の画面から所定時間経過後の画面であり、この間に、プレイヤキャラクタCおよび仮想カメラ(図示せず)は手動操作により移動し、タイムライン136a上の現時刻ポインタ136bは経過時間に相当する距離だけ変位している。リプレイ中にAボタン82dが押されると、まず図11(A)のように、画面内の“A”ボタンの表示態様(色,形状など)が変化し、次いで図11(B)のように、タイムライン136a上の現時刻ポインタ136bで示される位置に見どころマーク136c(ここでは黄色)が表示される。
【0102】
なお、この実施例では、何度でも見どころ記録操作を行うことができる一方、記録可能な見どころの数は1つなので、見どころ記録操作が行われる度に見どころマーク136cの表示位置が変化する。また、見どころ記録操作の後に見どころ保存操作が行われると、その時点で記録されている見どころが確定された見どころとして保存され、図11(B)の見どころマーク136cは、図12(A)の見どころマーク136d(ここでは赤色)に変化する。このように、見どころマークには、それが未確定の見どころであることを示す見どころマーク136cと、それが確定済みの見どころであることを示す見どころマーク136dとの2種類がある。なお、2種類の見どころマーク136cおよび136dの間の相違は、ここでは色であるが、これに代えて、またはこれに加えて、大きさ,形状,明るさなどを異ならせてもよい。
【0103】
図12は、見どころ確定後に再び見どころ記録操作が行われたときゲーム画面がどのように変化するかを示した図解図であり、図12(A)が再記録操作時点の画面を示し、図12(B)が再記録操作直後の画面を示している。なお、図12(A)の画面は、図11(B)の画面から所定時間経過後の画面であり、プレイヤキャラクタCおよび仮想カメラ(図示せず)は手動操作により移動し、タイムライン136a上の現時刻ポインタ136bは経過時間に相当する距離だけ変位している。
【0104】
図12(A)の画面には確定済みの見どころを示す見どころマーク136dを含が含まれており、再びAボタン82dが押されると、まず図12(A)のように、画面内の“A”ボタンの表示態様(色や形状など)が変化し、次いで図12(B)のように、タイムライン136a上の現時刻ポインタ136bで示される位置に未確定の見どころを示す見どころマーク136cがさらに表示される。したがって、タイムライン136a上には、2種類の見どころマーク136cおよび136dが存在する結果となる。
【0105】
なお、この後、さらに見どころ再記録操作が行われると、未確定の見どころを示す見どころマーク136cの位置が変化する(既存の見どころマーク136cは消滅し、新たな見どころマーク136cが現時刻ポインタ136bの位置に登場する)。一方、見どころ保存操作が行われると、確定済みの見どころを示す見どころマーク136dは消滅し、未確定の見どころを示す見どころマーク136cが確定済みの見どころを示す見どころマーク136dに変化する。
【0106】
図13は、リプレイ中に見どころのタイミングでゲーム画面がどのように変化するかを示した図解図であり、図13(A)が見どころ接近時の画面を示し、図13(B)が見どころ到来時の画面を示している。見どころの所定時間前たとえば5秒前になると、まず図13(A)のように予告メッセージ138たとえば“もうすぐ見どころ”が表示され、次いで図13(B)のように現時刻ポインタ136bが見どころマーク136dに到達したとき予告メッセージ138が消滅して見どころマーク136dが点灯(形状,色,明るさ等が変化)する。点灯状態は、たとえば5秒間継続する。なお、他の実施例では、予告メッセージ138に見どころまでの時間を記述してもよく、カウントダウンを行ってもよい。
【0107】
図14は、カメラ視点が見どころの場所から離れた状態で見どころのタイミングが近接したとき、ゲーム画面がどのように変化するかを示した図解図である。図14(A)は図13(A)と同様の画面(見どころの5秒前の画面)であり、ここから2秒が経過する(つまり見どころの3秒前になる)と、図14(B)にようにカメラ視点が見どころの場所へと強制移動される。
【0108】
以下、具体的なゲーム処理について、図15のメモリマップおよび図16〜図20のフローチャートにより説明する。このゲームをプレイするとき、内部メインメモリ42eおよび/または外部メインメモリ46には、図15に示すように、プログラム記憶領域70およびデータ記憶領域78が形成され、プログラム記憶領域70には、ゲームプログラム72,入出力・通信制御プログラム74およびAIプログラム76などが格納される。
【0109】
ゲームプログラム72は、CPU40を介してハードウェア全体(図2参照)を制御することによりこのゲームを実現するソフトウェアであり、図16〜図20のフローチャートに対応する。入出力・通信制御プログラム74は、主として入出力プロセッサ42aを介してコントローラ14からの入力やモニタ28への出力を制御し、また主として無線通信モジュール50を介して他のゲーム装置12Aやサーバ124との間でネットワーク122を通じたデータ通信を行うためのソフトウェアであり、ゲームプログラム72によって利用される。AIプログラム76は、プレイヤに代わってコンピュータがゲームをプレイするためのソフトウェアであり、ゲームプログラム72によって利用される。
【0110】
データ記憶領域78は、モード情報領域80,操作情報領域82,フレーム画像領域84,フレーム番号領域86,視点座標領域88,リプレイデータ領域90,現時刻ポインタ情報領域92および見どころ情報領域94などを含む。モード情報領域80には、現時点で選択されているモードを示すモード情報が記憶される。操作情報領域82には、コントローラ14による直近のゲーム操作を示す操作情報が記憶される。フレーム画像領域84には、現時点のフレーム画像が記憶される。フレーム番号領域86には、現時点のフレーム番号が記憶される。視点座標領域88には、現時点の視点座標が記憶される。リプレイデータ領域90には、ゲーム操作履歴を示すリプレイデータが記憶される。現時刻ポインタ情報領域92には、現時点での現時刻ポインタ136bの表示位置を示す現時刻ポインタ情報が記憶される。見どころ情報領域94には、リプレイデータに関し見どころの位置を示す見どころ情報が記憶される。ここで見どころ情報は、見どころの時間的位置および空間的位置をそれぞれ示す変数VNおよびVCを含む。
【0111】
CPU40は、図15のメモリマップに示したプログラムおよびデータに基づいて、図16〜図20のフローに従うゲーム処理を実行する。図15を参照して、ゲーム開始の時点で、モード情報領域80には、プレイモード,リプレイモードI,通信モードおよびリプレイモードIIのいずれか1つを示すモード情報が記憶されている。
【0112】
なお、図示は省略するが、図16〜図20のゲーム処理と並行して、コントローラ14によるゲーム操作の度に操作情報領域82の情報を更新する処理と、コントローラ14によるモード変更操作に応じてモード情報領域80の情報を更新する処理とが、入出力・通信制御プログラム74によって実行されている。
【0113】
モード情報がプレイモードを示す場合、ゲーム処理は、図16のフローに従って進行する。図16を参照して、CPU40は、まず、ステップS1でプレイ画面をモニタ28に初期表示し(図10(A)参照)、ステップS3では、AIプログラム76を利用して、および/またはゲーム操作に応じて(操作情報領域82の情報に基づいて)、キャラクタ移動やバトルといったゲーム処理を実行する。次に、ステップS5で、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、プレイ画面を更新する。
【0114】
次に、ステップS7〜S11で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS7では終了操作またはモード変更操作が行われたか否かが、ステップS9では視点変更操作が行われたか否かが、そしてステップS11ではゲーム操作が行われたか否かが、それぞれ判別される。
【0115】
ステップS7でYESであれば、ステップS13に移って、リプレイデータ領域90のデータ(ゲーム操作履歴)をフラッシュメモリ44および/またはメモリカード38に保存した後、ゲーム処理を終了または他のモードへ移行する。ステップS9でYESであれば、ステップS15に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS3に戻る。ステップS11でYESであれば、ステップS17に移ってリプレイデータ領域90のデータを更新し、そしてステップS3に戻る。
【0116】
モード情報がリプレイモードIを示す場合、ゲーム処理は、図17のフローに従って進行する。図17を参照して、CPU40は、まず、ステップS21でリプレイデータをフラッシュメモリ44および/またはメモリカード38からリプレイデータ領域90に読み込み、ステップS23ではリプレイ画面をモニタ28に初期表示する(図10(B)参照)。
【0117】
次に、ステップS25で、現時刻ポインタ情報領域92の情報を更新することによって、リプレイ画面上で現時刻ポインタ136bを移動させる。ステップS27では、AIプログラム76を利用して、および/またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップS29では、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【0118】
次に、ステップS31〜S35で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS31では終了操作またはモード変更操作が行われたか否かが、ステップS33では視点変更操作が行われたか否かが、そしてステップS35では見どころ指定操作が行われたか否かが、それぞれ判別される。
【0119】
ステップS31でYESであれば、ステップS37に移って、終了操作またはモード変更操作の後さらに保存操作が行われたか否かを操作情報領域82の情報に基づいて判別し、NOであれば直ちにゲーム処理を終了または他のモードへ移行する。ステップS37でYESであれば、ステップS39で、変数VNおよびVCを含む見どころ位置情報をリプレイデータに関連付けてフラッシュメモリ44および/またはメモリカード38に保存した後、ゲーム処理を終了または他のモードへ移行する。
【0120】
ステップS33でYESであれば、ステップS41に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS25に戻る。ステップS35でYESであれば、ステップS43で現フレーム番号つまりフレーム番号領域86の番号を変数VNにセットし、ステップS45では現視点座標つまり視点座標領域88の座標を変数VCにセットする。そしてステップS47で、これら2つの変数VNおよびVCを含む見どころ情報を見どころ情報領域94に書き込むことにより見どころ情報を更新した後、ステップS25に戻る。
【0121】
モード情報が通信モードを示す場合、ゲーム処理は、図18のフローに従って進行する。図18を参照して、CPU40は、ステップS61〜S65で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別する。具体的には、ステップS61では終了操作またはモード変更操作が行われたか否かが、ステップS63では見どころ付きリプレイデータ受信操作が行われたか否かが、そしてステップS65では見どころ付きリプレイデータ送信操作が行われたか否かが、それぞれ判別される。
【0122】
ステップS61でYESであれば、ゲーム処理を終了または他のモードへ移行する。ステップS63でYESであれば、ステップS67に移って、入出力・通信制御プログラム74を利用して他のゲーム装置12Aから見どころ付きリプレイデータを受信し、受信した見どころ付きリプレイデータをフラッシュメモリ44および/またはメモリカード38に保存する。その後、ステップS61に戻る。ステップS65でYESであれば、ステップS69に移って、フラッシュメモリ44および/またはメモリカード38に保存されている見どころ付きリプレイデータを入出力・通信制御プログラム74を利用して他のゲーム装置12Aに送信し、そしてステップS61に戻る。
【0123】
モード情報がリプレイモードIIを示す場合、ゲーム処理は、図19のフローに従って進行する。図19を参照して、CPU40は、まず、ステップS81でリプレイデータと見どころ位置情報とをフラッシュメモリ44および/またはメモリカード38からリプレイデータ領域90に読み込み、ステップS83ではリプレイ画面をモニタ28に初期表示し、そしてステップS84でタイムライン画像136をさらにモニタ28に表示する(図10(B)参照)。
【0124】
次に、ステップS85で、現時刻ポインタ情報領域92の情報を更新することによって、リプレイ画面上で現時刻ポインタ136bを移動させる。ステップS87では、AIプログラム76を利用して、および/またはゲーム操作に応じて、キャラクタ移動やバトルといったゲーム処理を実行する。ステップS89では、フレーム画像領域84にゲーム処理後のフレーム画像を書き込み、かつフレーム番号領域85に次のフレーム番号を書き込むことによって、リプレイ画面を更新する。
【0125】
次に、ステップS91〜S95で、特定の操作が行われたか否かを操作情報領域82の情報に基づいて判別し、また現フレーム番号が特定の条件を満足したか否かをフレーム番号領域86の情報および見どころ情報領域の情報に基づいて判別する。具体的には、ステップS91では終了操作またはモード変更操作が行われたか否かが、ステップS93では現フレーム番号が変数VNに関する第1〜第3条件(後述)の少なくとも1つを満足したか否かが、そしてステップS95では視点変更操作が行われたか否かが、それぞれ判別される。
【0126】
ステップS91でYESであれば、ゲーム処理を終了または他のモードへ移行する。ステップS93でYESであれば、ステップS97に移って、見どころを表示するべく画面制御(図19参照:後述)を行い、そしてステップS85に戻る。ステップS95でYESであれば、ステップS99に移り、視点座標領域88の座標を更新して仮想カメラの視点を移動させた後、ステップS85に戻る。
【0127】
ここで、上記の変数VNに関する第1〜第3条件について、具体的に説明する。第1条件は、現時点が見どころ予告の挿入期間に含まれるか否かを判定するための条件であり、たとえば“VN−300≦現フレーム番号<VN”のように定義される。この定義に従えば、見どころ予告の挿入期間は、見どころの直前の300フレーム期間(60fpsで換算すれば5秒間)となる。第2条件は、現時点が視点の強制移動を行うタイミングか否かを判定するための条件であり、たとえば“VN−180=現フレーム番号”のように定義される。この定義に従えば、視点の強制移動を行うタイミングは、見どころの180フレーム前(3秒前)となる。第3条件は、現時点が見どころマークの点灯期間に含まれるか否かを判定するための条件であり、たとえば“VN≦現フレーム番号≦VN+299”のように定義される。この定義に従えば、見どころマークの点灯期間は、見どころ以降の300フレーム期間(5秒間)となる。この場合、見どころの180フレーム前で第1条件に加えて第2条件も満足される結果、見どころ予告が表示された状態で視点が強制移動される。なお、他の例では、たとえば第1条件を“VN−300≦現フレーム番号<VN−120”とし、第2条件を“VN−120=現フレーム番号”とすることで、見どころ予告表示が終了された後に視点が強制移動されるようにしてもよい。他の実施例では、変数VNに関する条件は、第1〜第3条件のいずれか1つまたは2つでもよく、これ以外の条件が加わってもよい。
【0128】
上記ステップS97の画面制御は、詳しくは図20のサブルーチンに従って進行する。図20を参照して、CPU40は、まず、第1条件が満足されたか否かをステップS111で判別し、YESであればステップS113に進む。ステップS113では、フレーム画像領域86への描画を実行して、リプレイ画面に見どころ予告(予告メッセージ138)を挿入する。次に、第2条件が満足されたか否かをステップS115で判別し、YESであればステップS117に進む。ステップS117では、視点座標領域88の座標を見どころ情報に基づいて更新することにより、視点を変数VCの示す位置へと強制移動させる。その後、上位層のルーチンに復帰する。
【0129】
一方、ステップS111でNOであれば、ステップS119に移って、第3条件が満足されたか否かを判別し、NOであれば上位層のルーチンに復帰する。ステップS119でYESであれば、ステップS121に進んで、見どころマークの表示態様を変更(点灯)し、そして上位層のルーチンに復帰する。なお、見どころマークの点灯状態は、たとえば5秒間継続した後、消灯状態に戻る。
【0130】
以上から明らかなように、この実施例では、ゲーム装置12は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてフラッシュメモリ44および/またはメモリカード38に保存し、保存したリプレイデータに基づいてリプレイ画像をモニタ28に表示する。ゲーム装置12のCPU40は、リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報をプレイヤの見どころ位置指定操作に基づいて作成し(S35,S43,S45)、作成した見どころ位置情報をリプレイデータと関連付けてフラッシュメモリ44および/またはメモリカード38に保存し(S39)、そしてリプレイ画像が画面に表示されているときに、リプレイ画像における見どころの時間的な位置を示すタイムライン画像136を見どころ位置情報に基づいてモニタ28に表示する(S84)。
【0131】
こうして、リプレイ画像と一緒に、タイムライン画像136のような見どころ位置画像を表示することで、見どころの少なくとも時間的な位置を認識させることができる。この結果、リプレイデータの提供を受ける相手が見どころを見落とす可能性を低減することができる。
【0132】
なお、見どころ指定は、上記の実施例では1箇所だけであるが、他の実施例では複数箇所指定できるようにしてもよい。
【0133】
また、仮想カメラは、上記の実施例ではユーザのカメラ操作に応じて移動するフリーカメラであるが、他の実施例では、特定のキャラクタないしグループに追従して移動する追従カメラでもよい。この場合、ユーザは、プレイ開始前またはプレイ中に追従対象となるキャラクタないしグループを指定する操作を行い、CPU40は、指定されたキャラクタないしグループを追尾するように仮想カメラを移動させる。
【0134】
具体的には、上記の実施例(フリーカメラモード)において、次のような変更を行えば、追従カメラモードが実現される。視点座標領域88(図15参照)には、現時点の視点座標に代えて、現時点で追従対象となっているキャラクタないしグループのIDが記憶される。したがって、リプレイデータに記述される視点座標もまた、キャラクタないしグループのIDに変更される。ステップS9,S33およびS95(図16,図17および図19参照)では、視点変更操作の有無に代えて、追従対象を変更する操作の有無が判別される。ステップS45(図17参照)では、見どころ指定操作が行われた時点の視点座標に代えて、見どころ指定操作が行われた時点で追従対象となっているキャラクタないしグループのIDが、変数VC(図15参照)にセットされる。
【0135】
以上では、ゲーム装置12について説明したが、この発明は、プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存し、リプレイデータに基づいてリプレイ画像を画面に表示する、ゲーム装置に適用できる。
【符号の説明】
【0136】
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
28 …モニタ
38 …(外部)メモリカード
40 …CPU
42b …GPU
42e …内部メインメモリ
44 …フラッシュメインメモリ
46 …外部メインメモリ
50 …無線通信モジュール
62 …メモリカード用コネクタ
120 …ネットワークシステム
【特許請求の範囲】
【請求項1】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラム。
【請求項2】
前記リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、
前記作成手段が作成する見どころ位置情報は前記リプレイ画像における見どころの空間的な位置をさらに示し、
前記コンピュータを、前記見どころ位置情報に基づいて前記視点を前記見どころの開始前に前記見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる、請求項1記載のゲームプログラム。
【請求項3】
前記見どころの時間的な位置は前記リプレイ画像のフレーム特定情報で示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報を前記見どころ位置情報に記述する、請求項1記載のゲームプログラム。
【請求項4】
前記見どころの時間的な位置および空間的な位置は前記リプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を前記見どころ位置情報に記述する、請求項2記載のゲームプログラム。
【請求項5】
前記見どころ位置画像は、前記リプレイ画像の表示期間に対応するタイムライン、および前記見どころの時間的な位置を前記タイムラインにおける位置で示す見どころマークを含む、請求項3または4記載のゲームプログラム。
【請求項6】
前記見どころ位置画像は、現時刻を前記タイムラインにおける位置で示す現時刻ポインタをさらに含む、請求項5記載のゲームプログラム。
【請求項7】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を前記画面に表示する、予告画像表示手段としてさらに機能させる、請求項1ないし6のいずれかに記載のゲームプログラム。
【請求項8】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達するのに応じて、前記見どころマークの態様を変化させる態様変化手段としてさらに機能させる、請求項1ないし7のいずれかに記載のゲームプログラム。
【請求項9】
前記メモリは一時期記憶領域および保存領域を含み、
前記保存手段は、前記作成手段によって作成された見どころ位置情報を前記時期記憶領域に記憶し、前記一時記憶領域に記憶している見どころ位置情報を前記ユーザの保存操作に応答して前記保存領域に保存し、
前記見どころ位置画像表示手段は、前記一時期記憶領域に記憶している見どころ位置情報に基づいて第1見どころマークを表示し、前記保存領域に保存した見どころ位置情報に基づいて第2見どころマークを表示する、請求項5記載のゲームプログラム。
【請求項10】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置であって、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲーム装置。
【請求項11】
プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第1ゲーム装置と前記第1ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面に表示する第2ゲーム装置とを含むゲームシステムであって、
前記第1ゲーム装置は、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、および
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記第2ゲーム装置に提供する提供手段を備え、
前記第2ゲーム装置は、
前記第1ゲーム装置から前記リプレイデータと関連付けて提供された前記見どころ位置情報を受領する受領手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲームシステム。
【請求項1】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置のコンピュータを、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段として機能させる、ゲームプログラム。
【請求項2】
前記リプレイ画像は仮想ゲーム空間の少なくとも一部を任意の視点から見た画像であり、
前記作成手段が作成する見どころ位置情報は前記リプレイ画像における見どころの空間的な位置をさらに示し、
前記コンピュータを、前記見どころ位置情報に基づいて前記視点を前記見どころの開始前に前記見どころの位置へ向けて移動させる視点移動手段としてさらに機能させる、請求項1記載のゲームプログラム。
【請求項3】
前記見どころの時間的な位置は前記リプレイ画像のフレーム特定情報で示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報を前記見どころ位置情報に記述する、請求項1記載のゲームプログラム。
【請求項4】
前記見どころの時間的な位置および空間的な位置は前記リプレイ画像のフレーム特定情報および視点特定情報でそれぞれ示され、
前記見どころ位置指定操作は前記リプレイ画像が前記画面に表示されている期間に任意のタイミングで行われるボタン押下操作であり、
前記作成手段は前記ボタン押下操作が行われた時点のフレーム特定情報および視点特定情報を前記見どころ位置情報に記述する、請求項2記載のゲームプログラム。
【請求項5】
前記見どころ位置画像は、前記リプレイ画像の表示期間に対応するタイムライン、および前記見どころの時間的な位置を前記タイムラインにおける位置で示す見どころマークを含む、請求項3または4記載のゲームプログラム。
【請求項6】
前記見どころ位置画像は、現時刻を前記タイムラインにおける位置で示す現時刻ポインタをさらに含む、請求項5記載のゲームプログラム。
【請求項7】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達する前に、見どころの開始を予告する予告画像を前記画面に表示する、予告画像表示手段としてさらに機能させる、請求項1ないし6のいずれかに記載のゲームプログラム。
【請求項8】
前記コンピュータを、現時刻が前記見どころの時間的な位置に到達するのに応じて、前記見どころマークの態様を変化させる態様変化手段としてさらに機能させる、請求項1ないし7のいずれかに記載のゲームプログラム。
【請求項9】
前記メモリは一時期記憶領域および保存領域を含み、
前記保存手段は、前記作成手段によって作成された見どころ位置情報を前記時期記憶領域に記憶し、前記一時記憶領域に記憶している見どころ位置情報を前記ユーザの保存操作に応答して前記保存領域に保存し、
前記見どころ位置画像表示手段は、前記一時期記憶領域に記憶している見どころ位置情報に基づいて第1見どころマークを表示し、前記保存領域に保存した見どころ位置情報に基づいて第2見どころマークを表示する、請求項5記載のゲームプログラム。
【請求項10】
プレイヤのゲーム操作に関する履歴をリプレイデータとしてメモリに保存しかつ前記リプレイデータに基づいてリプレイ画像を画面に表示するゲーム装置であって、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記メモリに保存する保存手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲーム装置。
【請求項11】
プレイヤのゲーム操作に関する履歴をリプレイデータとして提供する第1ゲーム装置と前記第1ゲーム装置から受領したリプレイデータに基づいてリプレイ画像を画面に表示する第2ゲーム装置とを含むゲームシステムであって、
前記第1ゲーム装置は、
前記リプレイ画像における見どころの少なくとも時間的な位置を示す見どころ位置情報を前記プレイヤの見どころ位置指定操作に基づいて作成する作成手段、および
前記作成手段によって作成された見どころ位置情報を前記リプレイデータと関連付けて前記第2ゲーム装置に提供する提供手段を備え、
前記第2ゲーム装置は、
前記第1ゲーム装置から前記リプレイデータと関連付けて提供された前記見どころ位置情報を受領する受領手段、および
前記リプレイ画像が前記画面に表示されているときに、前記リプレイ画像における見どころの時間的な位置を示す見どころ位置画像を前記見どころ位置情報に基づいて前記画面に表示する、見どころ位置画像表示手段を備える、ゲームシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−264173(P2010−264173A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−119773(P2009−119773)
【出願日】平成21年5月18日(2009.5.18)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(310009993)株式会社タイトー (207)
【Fターム(参考)】
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願日】平成21年5月18日(2009.5.18)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(310009993)株式会社タイトー (207)
【Fターム(参考)】
[ Back to top ]