図1を参照して、本発明の一実施形態に係る情報処理プログラムを実行する装置について説明する。以下、説明を具体的にするために、当該装置の一例の据置型のゲーム装置本体5を含むゲームシステムについて説明する。なお、図1は据置型のゲーム装置3を含むゲームシステム1の外観図であり、図2はゲーム装置本体5のブロック図である。以下、当該ゲームシステム1について説明する。
図1において、ゲームシステム1は、表示手段の一例の家庭用テレビジョン受像機(以下、モニタと記載する)2と、当該モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、ゲーム装置本体5から出力された音声信号を音声出力するためのスピーカ2aを備える。また、ゲーム装置3は、本願発明の情報処理プログラムの一例であるゲームプログラムを記録した光ディスク4と、当該光ディスク4のゲームプログラムを実行してゲーム画面をモニタ2に表示出力させるためのコンピュータを搭載したゲーム装置本体5と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体5に与えるためのコントローラ7とを備えている。
また、ゲーム装置本体5は、無線コントローラモジュール19(図2参照)を内蔵する。無線コントローラモジュール19は、コントローラ7から無線送信されるデータを受信し、ゲーム装置本体5からコントローラ7へデータを送信して、コントローラ7とゲーム装置本体5とを無線通信によって接続する。さらに、ゲーム装置本体5には、当該ゲーム装置本体5に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。
また、ゲーム装置本体5には、後述する各種データやゲームソフト処理におけるセーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ17(図2参照)が搭載される。ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ2に表示する。また、ゲームプログラム等は、光ディスク4に限らず、フラッシュメモリ17に予め記録されたものを実行するようにしてもよい。さらに、ゲーム装置本体5は、フラッシュメモリ17に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置本体5のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
コントローラ7は、無線コントローラモジュール19を内蔵するゲーム装置本体5へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて操作情報等の送信データを無線送信する。コントローラ7は、主にモニタ2の表示画面に表示されるオブジェクト等を操作するための操作手段である。コントローラ7は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン(十字キーやスティック等を含む)とが設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって例えば赤外光を出力する。また、コントローラ7は、ゲーム装置本体5の無線コントローラモジュール19から無線送信された送信データを通信部75で受信して、当該送信データに応じた音や振動を発生させることもできる。
次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については、後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。
また、システムLSI11には、入出力プロセッサ31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。図示は省略するが、これらの構成要素31〜35は、内部バスによって互いに接続される。
GPU32は、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM34は、GPU32がグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU32は、VRAM34に記憶されたデータを用いて画像データを作成する。
DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。そして、スピーカ2aから音を出力させる場合、DSP33は、上記サウンドデータを読み出し、AV−IC15およびAVコネクタ16を介して、モニタ2に備えるスピーカ2aに出力させる。また、コントローラ7に搭載されたスピーカ706(図7参照)から音を出力させる場合、DSP33は、上記サウンドデータを読み出し、無線コントローラモジュール19およびアンテナ23を介して、音声データをコントローラ7に送信する。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、画像がモニタ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ(I/Oプロセッサ)31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、および外部メモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ31は、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ31は、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介して当該データをネットワークに送信する。また、入出力プロセッサ31は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22、および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10は、ゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムや情報処理プログラムの実行動作で利用する。フラッシュメモリ17には、ゲーム装置本体5と他のゲーム装置や各種サーバとの間で送受信されるデータの他、上述したようにゲーム装置本体5を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ31は、アンテナ23および無線コントローラモジュール19を介して、コントローラ7から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。なお、内部メインメモリ35には、外部メインメモリ12と同様に、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、CPU10のワーク領域やバッファ領域として用いられてもかまわない。
さらに、入出力プロセッサ31には、拡張コネクタ20および外部メモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ31は、拡張コネクタ20や外部メモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
また、ゲーム装置本体5(例えば、前部主面)には、当該ゲーム装置本体5の電源ボタン24、ゲーム処理のリセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、ゲーム装置本体5の各構成要素に対して、図示しないACアダプタを経て電力が供給される。また、一旦電源ボタン24がオンにされた状態で、再度電源ボタン24を押すと、比較的低電力で動作する低電力スタンバイモードへの移行する。この低電力スタンバイモードでもゲーム装置本体5への通電が行われているため、ゲーム装置本体5をインターネット等のネットワークに常時接続することができる。なお、一旦電源ボタン24がオンにされた状態で、ゲーム装置本体5の電源を完全にオフにしたいときは、電源ボタン24を所定時間以上長押しすることで、電源を完全にオフとすることが可能である。また、リセットボタン25が押されると、システムLSI11は、ゲーム装置本体5の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
ここで、ゲーム装置本体5が他の装置(他のゲーム装置やサーバ)と行う通信の種類について説明する。当該通信の種類は、大きく分けて2種類ある。第1の通信は、上述の低電力スタンバイモード中においても通信を行い得る、常時接続型のネットワークを利用した通信(以下、常時接続利用型通信と記載する)である。第2の通信は、例えば、通信対戦ゲーム等のアプリケーションプログラムに依存し、必要に応じてその都度接続する通信制御が行われる通信である(以下、随時接続型通信と記載する)。常時接続利用型通信においては、後述するようなゲームプログラム等の各種プログラムによる処理に関わらず、上述のように入出力プロセッサ31が独立してフラッシュメモリ17に書き込まれた送信データを送信する。また、アンテナ22および無線通信モジュール18を介して受信したデータやダウンロードしたデータを、フラッシュメモリ17に書き込む。そのため、常時接続利用型通信を利用するアプリケーション(例えばメールアプリケーションや後述するゲームプログラムの投稿を行うアプリケーション等)は、送信したいデータをフラッシュメモリ17に書込み、受信データをフラッシュメモリ17から読み出すだけでよい。また、常時接続利用型通信を利用すれば、上記低電力スタンバイモード中であっても、定期的に通信を行うことができ、更に、所定のゲームプログラムが実行中であっても、そのバックグラウンドのプロセスとして通信を行うことも可能である。なお、本実施形態では、後述するサーバ9との通信については、常時接続型通信を利用して各種データ(詳細は後述)を送受信する。
図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面前方から見た斜視図である。
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置本体5が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置本体5の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、無線コントローラモジュール19からコントローラ7へ、複数のLED702のうち、上記コントローラ種別に対応するLEDを点灯させるための信号が送信される。
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5に示すスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。また、無線モジュール753(図7参照)およびアンテナ754によって、コントローラ7がワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。
また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の動きを良好な感度でゲーム装置本体5等が判定することができる。例えば、コントローラ7は、3軸の加速度センサ701を備えている。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。そして、加速度センサ701でそれぞれ検知された加速度を示すデータは、通信部75に出力される。
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置本体5から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置本体5から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置本体5からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置本体5から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置本体5から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置本体5の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置本体5で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置本体5のCPU10は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
次に、ゲーム装置本体5が行う具体的な処理を説明する前に、図8を参照して複数のゲーム装置3とサーバ9とによって構成される情報処理システムについて説明する。なお、図8は、複数のゲーム装置3とサーバ9とによって構成される情報処理システムの一例を示すブロック図である。
図8において、複数のゲーム装置3a〜3nは、ネットワーク等を介してサーバ9と通信可能に接続されている。例えば、各ゲーム装置3a〜3nは、上述した常時接続利用型通信を用いて、サーバ9との間でデータ送受信を行う。サーバ9は、大略的に記憶装置、メモリ、CPU、および通信部が、バスを介して相互に接続されている。サーバ9の記憶装置は、後述する投稿結果を集計するプログラム、投稿可否を判断するためのプログラム、各ゲーム装置3との通信接続を行うための通信接続制御プログラム、および各プログラムによって生成される各種データが記憶される。サーバ9のCPUは、メモリに読み込んだ各種プログラムを実行する演算装置や制御装置である。また、サーバ9の通信部は、ネットワークを介して他のゲーム装置3a〜3n等と通信を行う。
例えば、各ゲーム装置3a〜3nからは、プレイヤの投稿操作に応じて、それぞれ投稿送信情報データがサーバ9に送信される。一方、サーバ9からは、各ゲーム装置3a〜3nの要求に応じて、投稿結果データ、ランキングデータ、およびソフト投稿内訳データ等が各ゲーム装置3a〜3nにそれぞれ送信される。
次に、ゲームシステム1において行われる情報処理の詳細を説明する。まず、図9〜図12を参照して、情報処理において用いられる主なデータについて説明する。なお、図9は、ゲーム装置本体5の外部メインメモリ12および/または内部メインメモリ35(以下、2つのメインメモリを総称して、単にメインメモリと記載する)やフラッシュメモリ17に記憶される主なデータの一例を示す図である。図10は、プレイ履歴ファイルデータDcに格納されるプレイ履歴ファイルFphの一例を示す図である。図11は、投稿リストデータDdに格納される投稿リストLposの一例を示す図である。図12は、投稿送信情報データDeに格納される投稿送信情報Itpの一例を示す図である。
図9に示すように、メインメモリやフラッシュメモリ17には、操作情報データDa、ランキングデータDb、プレイ履歴ファイルデータDc、投稿リストデータDd、投稿送信情報データDe、ソフト投稿内訳データDf、および画像データDg等が記憶される。なお、メインメモリやフラッシュメモリ17には、図9に示すデータの他、ゲーム処理を実行するためのデータや他の処理を実行するためのデータ等、各種処理に必要なデータが記憶されるが、詳細な説明を省略する。
操作情報データDaは、コントローラ7から送信データとして送信されてくる一連の操作情報(キーデータ、加速度データ、および処理結果データ)を示すデータが格納される。なお、ゲーム装置本体5に備える無線コントローラモジュール19は、コントローラ7から所定周期(例えば、1/200秒毎)に送信される操作情報を受信し、無線コントローラモジュール19に備える図示しないバッファに蓄えられる。その後、上記バッファに蓄えられた最新の操作情報がゲーム処理周期である1フレーム毎(例えば、1/60秒毎)に読み出されて、メインメモリの操作情報データDaが更新される。
ランキングデータDbは、サーバ9からダウンロードされるデータであり、各ゲーム装置3からの投稿を集計したランキングを示すデータが格納される。例えば、上記ランキングは、評価対象のゲームソフト毎に、ゲームソフトコード、メディアの種別、おすすめ度、得票数等が記述される。特に、評価対象のおすすめ度および得票数は、それぞれ性別および年齢層別等で記述される。
プレイ履歴ファイルデータDcは、ゲーム装置3を用いてゲームソフトをプレイした履歴を管理するためのプレイ履歴ファイルFphを示すデータが格納される。図10に示すように、プレイ履歴ファイルFphは、プレイヤがゲーム装置本体5においてゲームソフトを起動および所定時間が経過する毎に、その「ゲームソフトタイトル」、「ゲームソフトコード」、「プレイ開始日時」、および「プレイ時間」等が記述され、フラッシュメモリ17にセーブされる。図10に示すプレイ履歴ファイルFphの一例では、「ゲームソフトタイトル」が「ゲームソフトA」、「ゲームソフトコード」が「AAAAAA」、「プレイ開始日時」が「2007年1月1日7時00分」、および「プレイ時間」が「25分」であることが記述されている。
投稿リストデータDdは、ゲーム装置3を用いてプレイしたゲームソフト毎に、投稿を行ったか否かを示す投稿リストLposを示すデータが格納される。図11に示すように、投稿リストLposは、プレイヤが所定の操作を行ったときに、「ゲームソフトタイトル」、「ゲームソフトコード」、「累計プレイ時間」、および「投稿済フラグ」等がゲームソフト毎に記述され、フラッシュメモリ17にセーブされる。例えば、投稿リストLposには、ゲーム装置3を用いてプレイした順に所定件数分(例えば、1000件)の投稿履歴が記述される。ここで、「累計プレイ時間」は、ゲーム装置本体5を用いてそのゲームソフトをプレイした時間の総合計を示している。また、「投稿済フラグ」は、ゲーム装置3を用いて既にそのゲームソフトの投稿を行ったときに「ON」、まだそのゲームソフトの投稿を行っていないときに「OFF」となる投稿済フラグの状態を示している。図11に示す投稿リストLposの一例では、ゲームソフトA(コード:AAAAAA)の累計プレイ時間が「45分」であり、投稿済フラグが「OFF」(未投稿)であることが記述されている。また、「ゲームソフトD(コード:DDDDDD)」の累計プレイ時間が「5時間30分」であり、投稿済フラグが「ON」(投稿済)であることが記述されている。
投稿送信情報データDeは、ゲーム装置3からサーバ9へ投稿する際に送信される投稿送信情報Itpを示すデータが格納される。図12に示すように、投稿送信情報Itpは、「ゲーム装置シリアル番号」、「ゲームソフトコード」、「累計プレイ時間」、および複数の「投稿内容Q1〜」等が記述される。ここで、「ゲーム装置シリアル番号」は、ゲーム装置本体5に固有のユニークな番号であり、各ゲーム装置本体5毎に予め設定されている。「投稿内容Q1〜」は、投稿者が投稿するゲームソフトについての複数の質問事項について、それぞれ当該投稿者が選択した内容が示されている。図12に示す投稿送信情報Itpの一例では、「ゲーム装置シリアル番号」が「123456」、「ゲームソフトコード」が「QQQQQQ」、「累計プレイ時間」が「2時間10分」、「投稿内容Q1」が「1」、「投稿内容Q2」が「35」、「投稿内容Q3」が「65」、「投稿内容Q4」および「投稿内容Q5」がそれぞれ「2」であることが記述されている。
ソフト投稿内訳データDfは、サーバ9からダウンロードされるデータであり、プレイヤが選択したゲームソフトに関する詳細な投稿を示すデータが格納される。例えば、上記投稿内訳は、選択されたゲームソフトに関して、各投稿者の投稿内容、おすすめ度、累計プレイ時間等が集計された結果が、それぞれ性別および年齢層別等で記述される。
画像データDgは、表示装置(モニタ2)に、後述する各種メニューやアイコン等を表示したり、サーバ9からダウンロードされたデータを表示したりするための画像データである。
次に、図13〜図18を参照して、ゲーム装置本体5およびサーバ9においてそれぞれ行われる情報処理の詳細を説明する。なお、図13は、ゲーム装置本体5において実行される情報処理の流れを示すフローチャートである。図14は、図13のステップ44におけるゲームソフト処理の詳細な動作を示すサブルーチンである。図15は、図13のステップ46におけるチャンネル処理の詳細な動作を示すサブルーチンである。図16は、図15のステップ66における投稿処理の詳細な動作を示すサブルーチンである。図17は、図15のステップ68におけるランキング表示処理の詳細な動作を示すサブルーチンである。図18は、サーバ9において実行される情報処理の流れを示すフローチャートである。なお、図13〜図18に示すフローチャートにおいては、情報処理のうち、プレイヤが投稿する処理および他のプレイヤの投稿結果を閲覧する処理について説明し、本願発明と直接関連しない他の情報処理については詳細な説明を省略する。また、図13〜図18では、CPU10やサーバ9が実行する各ステップを「S」と略称する。
ゲーム装置本体5の電源ボタン24がオンされると、電源が完全にオフされた状態から、または上記低電力スタンバイモードから通常処理モードへ移行する。そして、ゲーム装置本体5のCPU10は、ROM/RTC13に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4が装着されている場合、当該光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が可能となる状態となる。図13に示すフローチャートは、以上の処理が完了した後に行われる情報処理を示すフローチャートである。
図13において、CPU10は、ダウンロード処理を行い(ステップ40)、処理を次のステップに進める。例えば、CPU10は、サーバ9が公開用に格納しているランキングデータをダウンロードして、ランキングデータDbを更新する。なお、ランキングデータDbに最新のランキングデータが既に記憶されている場合、上記ステップ40におけるダウンロード処理を行わなくてもかまわない。また、上記ステップ40は、ゲーム装置本体5の起動時に行われる処理であるが、上記低電力スタンバイモード中においても定期的(例えば、6時間毎)にダウンロード処理を行ってもかまわない。この場合、上述した常時接続利用型通信を利用して、サーバ9からランキングデータがダウンロードされることになる。
次に、CPU10は、ゲーム装置本体5に設定されたメニューを起動し(ステップ41)、当該メニューを示す画面をモニタ2に表示して(ステップ42)、処理を次のステップに進める。例えば、メニューを起動してメニュー画面を表示することによって、プレイヤは、当該メニュー画面にある光ディスク4のゲームソフトを選択して当該ゲームソフトを実行したり、メニュー画面にある各チャンネルを選択することによってネットワークに接続して情報取得やネットワークゲームを楽しんだり、ゲーム装置3の各種設定を行ったりすることができる。
次に、CPU10は、プレイヤがゲームソフトの実行を選択したか否か(ステップ43)、チャンネルを選択したか否か(ステップ45)、および他の処理を選択したか否か(ステップ47)を判断する。具体的には、プレイヤは、コントローラ7を操作して上記メニュー画面から所望の項目を選択することが可能である。CPU10は、コントローラ7から送信される操作情報で逐次更新される操作情報データDaを参照することによって、コントローラ7の操作状況を取得することができる。つまり、CPU10は、コントローラ7の上記操作状況(操作情報データDa)を用いて、プレイヤが上記メニュー画面から選択した項目を判断することができる。そして、CPU10は、プレイヤがゲームソフトの実行を選択した場合(ステップ43でYes)、ステップ44に処理を進める。また、CPU10は、プレイヤがチャンネルを選択した場合(ステップ45でYes)、ステップ46に処理を進める。さらに、CPU10は、プレイヤが他の処理を選択した場合(ステップ47でYes)、選択された他の処理を実行して(ステップ48)、次のステップ49に処理を進める。一方、CPU10は、ゲームソフト、チャンネル、および他の処理の何れも選択していない場合(ステップ43、ステップ45、およびステップ47が何れもNo)、上記ステップ42に戻って処理を繰り返す。
ステップ44において、CPU10は、選択されたゲームソフトを実行するゲームソフト処理を行い、次のステップ49に処理を進める。以下、図14を参照して、上記ステップ44で行うゲームソフト処理について説明する。
図14において、CPU10は、プレイ履歴ファイルFphを作成し(ステップ50)、処理を次のステップに進める。プレイ履歴ファイルFphは、上述したようにプレイヤがゲーム装置本体5においてゲームソフトを起動させると新たに作成され、起動させたゲームソフトのゲームソフトタイトル、ゲームソフトコード、プレイ開始日時、およびプレイ時間(起動時は0分)等が記述されてプレイ履歴ファイルデータDcに格納される(図10参照)。
次に、CPU10は、現在実行対象となっているゲームプログラムおよびコントローラ7から取得される操作情報に基づいて、所定のゲーム処理を行い(ステップ51)、処理を次のステップに進める。なお、上記ステップ51におけるゲーム処理は、コントローラ7の操作に応じた実行対象のゲームプログラム固有の動作となるが、ここでは詳細な説明を省略する。
次に、CPU10は、図示しない本体内蔵時計に基づいて、前回更新した現在時刻から第1の時間(例えば1分間)が経過したか否かを判断する(ステップ52)。そして、CPU10は、前回更新した現在時刻から第1の時間が経過した場合、メインメモリ等に格納された現在時刻データが示す現在時刻を上記本体内蔵時計が計時している時刻に更新して(ステップ53)、次のステップ54に処理を進める。一方、CPU10は、前回更新した現在時刻からまだ第1の時間が経過していない場合、そのまま次のステップ54に処理を進める。
ステップ54において、CPU10は、上記本体内蔵時計に基づいて、プレイ履歴ファイルFphを更新してから第2の時間が経過したか否かを判断する。なお、上記第2の時間は、上記第1の時間より長い時間であり、例えば5分間である。そして、CPU10は、プレイ履歴ファイルFphを更新した時刻から第2の時間が経過した場合、上記本体内蔵時計に基づいてプレイ履歴ファイルデータDcに格納されたプレイ履歴ファイルFphの「プレイ時間」を更新して(ステップ55)、次のステップ56に処理を進める。一方、CPU10は、プレイ履歴ファイルFphを更新した時刻から第2の時間が経過していない場合、そのまま次のステップ56に処理を進める。
ステップ56において、CPU10は、プレイヤがプレイ中のゲームの結果データや途中データをセーブデータとしてセーブするセーブ処理を行ったか否かを判断する。そして、CPU10は、プレイヤがセーブ処理を行った場合、上記本体内蔵時計に基づいてプレイ履歴ファイルデータDcに格納されたプレイ履歴ファイルFphの「プレイ時間」を更新して(ステップ57)、次のステップ58に処理を進める。一方、CPU10は、プレイヤがセーブ処理を行っていない場合、そのまま次のステップ58に処理を進める。
ステップ58において、CPU10は、ゲーム処理を終了するか否かを判断する。ゲーム処理を終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。CPU10は、ゲーム処理を終了しない場合に上記ステップ51に戻って処理を繰り返し、ゲームを終了する場合に次のステップ59に処理を進める。
ステップ59において、CPU10は、上記本体内蔵時計に基づいてプレイ履歴ファイルデータDcに格納されたプレイ履歴ファイルFphの「プレイ時間」を更新して、当該サブルーチンによる処理を終了する。このように、プレイ履歴ファイルFphには、ゲームプログラムを起動してから所定時間経過毎(第2の時間毎)、当該ゲームプログラムのセーブ処理時、および当該ゲームプログラムのゲーム処理を終了する時に、それぞれ起動時からのプレイ時間が記述されて更新される。
図13に戻り、プレイヤがチャンネルを選択した場合(ステップ45でYes)、選択されたチャンネルを起動してチャンネル処理を行い(ステップ46)、次のステップ49に処理を進める。以下、図15を参照して、上記ステップ46で行うチャンネル処理について説明する。
図15において、CPU10は、プレイ履歴ファイルデータDcに格納されたプレイ履歴ファイルFphを集計し(ステップ61)、投稿リストLposを更新して(ステップ62)、次のステップに処理を進める。ここで、上記ステップ61において、CPU10は、現在まで未集計のプレイ履歴ファイルFphを対象として、ゲームソフト毎にプレイ時間を集計する。そして、上記ステップ62において、ゲームソフト毎に上記ステップ61で集計されたプレイ時間を加算して、投稿リストデータDdに格納された投稿リストLposの累計プレイ時間を更新する。したがって、上記ステップ61およびステップ62の処理によって、ゲーム装置3を用いてプレイした順に所定件数分(例えば、1000件)のゲームソフトの種類(ゲームソフトタイトルやゲームソフトコード)と、現在までそれらのゲームソフトをプレイした累計プレイ時間とが、投稿リストLposに集計されてセーブされることになる。
次に、CPU10は、ダウンロード処理を行い(ステップ63)、処理を次のステップに進める。なお、上記ステップ63で行うダウンロード処理は、上述したステップ40のダウンロード処理を同様であるため、詳細な説明を省略する。
次に、CPU10は、チャンネルメニューを示す画面をモニタ2に表示して(ステップ64)、処理を次のステップに進める。例えば、図19に示すように、チャンネルメニュー画面には、「みんなのおすすめに投稿する」や「みんなのおすすめを表示する」等の選択肢が表示される。コントローラ7を用いて、プレイヤがこれらの選択肢から選択する操作を行うことによって、ゲームソフトに関する投稿を行ったり(「みんなのおすすめに投稿する」)、他のプレイヤを含めた投稿結果のランキングを表示したり(「みんなのおすすめを表示する」)することができる。
次に、CPU10は、操作情報データDaを参照して、プレイヤが投稿を選択したか否か(ステップ65)、ランキング表示を選択したか否か(ステップ67)、および他の処理を選択したか否か(ステップ69)を判断する。そして、CPU10は、プレイヤが投稿を選択した場合(ステップ65でYes)、ステップ66に処理を進める。また、CPU10は、プレイヤがランキング表示を選択した場合(ステップ67でYes)、ステップ68に処理を進める。さらに、CPU10は、プレイヤが他の処理を選択した場合(ステップ69でYes)、選択された他の処理を実行して(ステップ70)、当該サブルーチンによる処理を終了する。一方、CPU10は、投稿、ランキング表示、および他の処理の何れも選択していない場合(ステップ65、ステップ67、およびステップ69が何れもNo)、上記ステップ64に戻って処理を繰り返す。
ステップ66において、CPU10は、投稿処理を行い、当該サブルーチンによる処理を終了する。以下、図16を参照して、上記ステップ66で行う投稿処理について説明する。
図16において、CPU10は、投稿対象全リストをサーバ9から取得し(ステップ81)、処理を次のステップに進める。ここで、ゲーム装置3で実行可能なゲームソフトについては、それぞれプレイヤにおける投稿対象または投稿対象外にするか予めサーバ9で設定されており、当該投稿対象となっているゲームソフトのリスト(投稿対象全リスト)が公開されている。上記ステップ81では、CPU10がサーバ9にアクセスして、公開されている投稿対象全リストを取得する。
次に、CPU10は、上記ステップ81でサーバ9から取得した投稿対象全リストおよび投稿リストデータDdに格納されている投稿リストLposを用いて、プレイヤが投稿可能なゲームソフトを抽出し(ステップ82)、処理を次のステップに進める。
上記ステップ82においては、以下の3つの条件を全て満たすものが投稿可能なゲームソフトとして抽出される。第1の条件は、プレイヤの累計プレイ時間が所定時間(例えば1時間)以上になっているゲームソフトであることである。第2の条件は、現在まで未投稿になっているゲームソフトであることである。第3の条件は、上記ステップ81で取得した投稿対象全リストに含まれているゲームソフトであることである。上述したように、投稿リストLposには、ゲームソフト毎に、現在までプレイした累計プレイ時間が集計されている。また、後述により明らかとなるが、投稿リストLposには、プレイヤの投稿処理に応じてONに設定される投稿済フラグが記述されており、当該投稿済フラグを参照すればゲームソフト毎に未投稿か否かが区別できる。このように、CPU10は、上記ステップ81で取得した投稿対象全リストおよび投稿リストLposを参照することによって、上記3つの条件を全て満たすゲームソフトを区別して抽出することができる。
次に、CPU10は、上記ステップ82で抽出された投稿可能なゲームソフトの一覧をモニタ2に表示する(ステップ83)。例えば、図20に示すように、モニタ2には、投稿可能なゲームソフトがリスト状に表示される。図20に示す投稿可能なゲームソフトの一例では、ゲームソフトQ、ゲームソフトB、ゲームソフトC、ゲームソフトZ、およびゲームソフトF等が、リスト状にモニタ2に表示されている。そして、プレイヤは、モニタ2に表示された上記投稿可能なゲームソフトの一覧から、コントローラ7を操作して所望のゲームソフトを投稿対象として選択することが可能である。そして、CPU10は、プレイヤが上記投稿可能なゲームソフトの一覧から何れかのゲームソフトを選択した場合(ステップ84でYes)、次のステップ85に処理を進める。
ステップ85において、CPU10は、投稿対象となったゲームソフトに関する評価投稿画面をモニタ2に表示する。例えば、ゲームソフトの投稿項目としては、当該ゲームソフトのおすすめ度(例えば、0−100の評価)の他に、投稿者の性別、投稿者の年齢、どのような人に向いているか(「誰にでも」または「ゲームに慣れている人」)、どんな風に遊ぶのに向いているか(「気軽に遊びたいとき」または「じっくり遊びたいとき」)、何人で遊ぶのに向いているか(「1人で」または「みんなで」)等がある。そして、プレイヤは、モニタ2に表示されたこれらの投稿項目毎に、コントローラ7を操作して所望の内容や数値を選択および/または入力することが可能である。そして、CPU10は、プレイヤによる全ての投稿項目の入力が完了した場合(ステップ86でYes)、次のステップ87に処理を進める。
ステップ87において、CPU10は、全ての投稿項目に対してプレイヤが入力した内容を示す投稿確認画面をモニタ2に表示する。図21に示すように、投稿確認画面には、投稿項目毎のプレイヤの入力内容に加えて、当該入力内容で投稿するか否かをプレイヤに選択させる選択肢が表示される。図21に示す投稿確認画面の一例では、「ゲームソフトB」に対する入力内容として、投稿者の年齢「男性」、投稿者の年齢「35歳」、ゲームソフトのおすすめ度「グラフ表示」、どのような人に向いているか「誰にでも」、どんな風に遊ぶのに向いているか「気軽に遊びたいとき」、何人で遊ぶのに向いているか「1人で」がそれぞれ表示されている。また、「これで投稿する」および「やりなおす」がプレイヤに選択させる選択肢として表示されている。そして、プレイヤは、コントローラ7を操作して、モニタ2に表示された選択肢を選択することが可能である。そして、CPU10は、プレイヤによって投稿することが選択された、すなわち、投稿送信情報データを送信する場合(ステップ88でYes)、次のステップ89に処理を進める。
ステップ89において、CPU10は、投稿送信情報データをサーバ9に送信する。具体的には、CPU10は、上記ステップ85においてプレイヤが入力した投稿内容を記述した投稿送信情報Itpが格納された投稿送信情報データDeを、サーバ9へ送信する。そして、CPU10は、投稿送信情報Itpを送信したゲームソフトの投稿済フラグをONに設定して、投稿リストデータDdに格納された投稿リストLposを更新する。ここで、図12を用いて説明したように、サーバ9へ送信する投稿送信情報Itpには、「投稿内容Q1〜」としてそれぞれ記述される投稿内容の他に、「ゲーム装置シリアル番号」、「ゲームソフトコード」、および「累計プレイ時間」が記述されており、それらの情報が全てサーバ9へ送信される。そして、CPU10は、サーバ9から返信される投稿結果データの受信を待つ(ステップ90)。
CPU10は、サーバ9から投稿結果データを受信したとき(ステップ90でYes)、受信した投稿結果データが投稿の成功を示しているか否かを判断する(ステップ91)。後述により明らかとなるが、サーバ9は、ゲーム装置3から投稿送信情報データを受信したときにその投稿の有効/無効を判断し、その判断結果を投稿結果データとしてゲーム装置3へ返信する(ステップ115およびステップ118参照)。そして、CPU10は、投稿が有効であったことを受信した投稿結果データが示している場合、次のステップ92に処理を進める。一方、CPU10は、投稿が無効であったことを受信した投稿結果データが示している場合、次のステップ93に処理を進める。
ステップ92において、CPU10は、投稿が成功したことを示す投稿成功画面をモニタ2に表示し、当該サブルーチンによる処理を終了する。例えば、図22に示すように、投稿が成功したことをプレイヤが直感できる画像が、投稿成功画面としてモニタ2で表現される。
ステップ93において、CPU10は、投稿が失敗したことを示す投稿失敗画面をモニタ2に表示し、当該サブルーチンによる処理を終了する。ここで、サーバ9は、投稿回数に制限を設けており、例えば各ゲームソフトに対してそれぞれ1回のみ投稿を受け付けている。したがって、サーバ9は、プレイヤが同じゲームソフトに対して2回目の投稿を行った場合、投稿の無効を示す投稿結果データを返信する。このような場合、図23に示すように、投稿済みであるために投稿が受け付けられなかったことを示すメッセージが、投稿失敗画面としてモニタ2に表示される。
このように、ステップ66における投稿処理では、プレイヤがプレイした累計プレイ時間が所定時間以上になっているゲームソフトについてのみ投稿が可能となっている。これによって、評価(投稿)の容易性と信頼性との両立が可能となる。また、ステップ66における投稿処理では、投稿回数の制限(例えば、各投稿対象に対してそれぞれ1回)を設けており、ゲーム装置3側およびサーバ9側で投稿回数のチェックがそれぞれ行われる。サーバ9側の投稿回数の制限によって、ゲーム装置3内における投稿回数データの改竄が行われたとしてもサーバ9側のチェックで投稿が無効となるため、作為的な大量投稿が防止されて評価(投稿)の信頼性が向上する。また、ゲーム装置3では、投稿済みのゲームソフトを投稿可能なゲームソフトの一覧から除外しているため、投稿回数の制限があることをプレイヤに予め知らせることになり、プレイヤが無駄な投稿操作を行うことを防止することができる。
図15に戻り、プレイヤがランキング表示を選択した場合(ステップ67でYes)、CPU10は、ランキング表示処理を行い(ステップ68)、当該サブルーチンによる処理を終了する。以下、図17を参照して、上記ステップ68で行うランキング表示処理について説明する。
図17において、CPU10は、サーバ9からダウンロードされているランキングデータDbを用いて、条件に合わせたランキング一覧画面をモニタ2に表示して(ステップ101)、処理を次のステップに進める。例えば、図24に示すように、ランキング一覧画面では、各ゲーム装置3からの投稿数降順にゲームソフトがリスト状に表示される。ここで、ランキング一覧を作成する条件には、投稿数を集計する期間別(週間、月間、年間等)、性別(男女共、男性、女性)、年齢層別(全ての年齢層、12歳以下、13〜18歳、19歳〜24歳、25歳〜34歳、35歳〜44歳、45歳〜54歳、55歳以上等)、対象ソフト別(全てのソフト、光ディスクソフト、チャンネルソフト等)等がある。そして、これらの条件は、コントローラ7を用いたプレイヤの操作によって変更することが可能である。図24に示したランキング一覧画面の一例では、週間ランキングを示しており、各ゲームソフトの得票数、星の数で示された各ゲームソフトのおすすめ度の平均等が表示されている。
次に、CPU10は、プレイヤがランキング一覧画面を表示する条件を変更したか否かを判断する(ステップ102)。例えば、CPU10は、操作情報データDaを参照して、図24に示した条件チェンジアイコンIc1を選択する操作が行われた場合、プレイヤが条件を変更したと判断する。そして、CPU10は、条件が変更された場合、プレイヤの操作に応じてランキング一覧画面を表示する条件を変更して(ステップ103)、上記ステップ101に戻って処理を継続する。一方、CPU10は、条件が変更されていない場合、次のステップ104に処理を進める。
ステップ104において、CPU10は、プレイヤがランキング一覧画面からゲームソフトを選択したか否かを判断する。例えば、CPU10は、操作情報データDaを参照して、図24に示したランキング一覧画面のゲームソフトから何れか1つのゲームソフトを選択する操作が行われた場合、ゲームソフトが選択されたと判断する。そして、CPU10は、ゲームソフトが選択された場合、次のステップ105に処理を進める。一方、CPU10は、ゲームソフトが選択されていない場合、上記ステップ101に戻って処理を継続する。
ステップ105において、CPU10は、サーバ9にソフト投稿内訳データのダウンロードを要求して当該データを取得する。ここで、サーバ9は、各ゲームソフトについて、その投稿内訳の詳細を示すソフト投稿内訳データを公開しており、ゲーム装置3からの要求に応じてソフト投稿内訳データを送信している。上記ステップ105において、CPU10は、送信されたソフト投稿内訳データをフラッシュメモリ17に格納して、処理を次のステップに進める。
次に、CPU10は、上記ステップ105で取得したソフト投稿内訳データを用いて、条件に合わせた投稿内訳画面をモニタ2に表示して(ステップ106)、処理を次のステップに進める。例えば、図25に示すように、投稿内訳画面では、上記ステップ104でプレイヤが選択したゲームソフト(ここでは、ゲームソフトQ)について、各ゲーム装置3からの投稿内容の集計結果が表示される。ここで、投稿内訳を表示する条件は、投稿内容を集計した、性別(男女共、男性、女性)、年齢層別(全ての年齢層、12歳以下、13〜18歳、19歳〜24歳、25歳〜34歳、35歳〜44歳、45歳〜54歳、55歳以上等)等がある。そして、これらの条件も、コントローラ7を用いたプレイヤの操作によって変更することが可能である。図25に示した投稿内訳画面の一例では、ゲームソフトQの投稿内容として、「誰にでもおすすめできる」と投稿された割合が71%、「1人で遊ぶのにおすすめできる」と投稿された割合が80%、「気軽に遊ぶのにおすすめできる」と投稿された割合が50%であり、おすすめ度の平均がランク5(星印が5つ)であることが示されている。また、投稿内訳画面には、投稿者それぞれの投稿時点におけるプレイ時間の内訳がグラフで示されている。したがって、プレイヤがプレイ時間のグラフを閲覧することによって、どれくらいゲームソフトをプレイしたことによる投稿内容であるかを判断することができ、投稿内容の信頼度が把握できる。
なお、投稿内訳画面に表示された投稿者のプレイ時間の内訳は、他の形式で表示してもかまわない。例えば、投稿者それぞれの投稿時点における累計プレイ時間の平均(平均プレイ時間)を投稿内訳画面に表示してもかまわない。このような平均プレイ時間を表示しても、プレイヤが平均プレイ時間を閲覧することによって、どれくらいゲームソフトをプレイしたことによる投稿内容であるかを判断することができ、投稿内容の信頼度が把握できる。
次に、CPU10は、プレイヤが投稿内訳画面を表示する条件を変更したか否かを判断する(ステップ107)。例えば、CPU10は、操作情報データDaを参照して、図25に示した条件チェンジアイコンIc2を選択する操作が行われた場合、プレイヤが条件を変更したと判断する。そして、CPU10は、条件が変更された場合、プレイヤの操作に応じて投稿内訳画面を表示する条件を変更して(ステップ108)、上記ステップ106に戻って処理を継続する。一方、CPU10は、条件が変更されていない場合、次のステップ109に処理を進める。
ステップ109において、CPU10は、投稿内訳画面の表示を終了するか否かを判断する。表示を終了する条件としては、例えば、プレイヤが表示を終了する操作を行ったこと等がある。CPU10は、表示を終了しない場合に上記ステップ106に戻って処理を繰り返し、表示を終了する場合に当該サブルーチンによる処理を終了する。
図13に戻り、上記ステップ44のゲームソフト処理、上記ステップ46のチャンネル処理、および上記ステップ48の他の処理がそれぞれ実行された後、CPU10は、ゲーム装置本体5の電源ボタン24がオフされたか否かを判断する(ステップ49)。そして、CPU10は、電源ボタン24がオン状態である場合、上記ステップ41に戻って処理を繰り返す。一方、CPU10は、電源ボタン24がオフされた場合、通常処理モードから上記低電力スタンバイモードへ移行、または通常処理モードから電源を完全にオフした状態に移行して、当該フローチャートによる処理を終了する。
次に、図18を参照して、サーバ9の処理について説明する。
図18において、サーバ9のCPUは、投稿対象全リストを変更するか否かを判断する(ステップ111)。ここで、上述したように、投稿対象全リストは、各ゲーム装置3で実行可能な全ゲームソフトについて投稿対象にするか否かが予め設定されたリストであり、サーバ9の記憶装置に格納されて各ゲーム装置3に公開される。また、投稿対象全リストは、サーバ9の運営担当者によって変更可能になっている。例えば、上記ステップ111においては、サーバ9に対して、運営担当者が投稿対象全リストの変更を行う操作を行った場合、サーバ9のCPUは、投稿対象全リストを変更すると判断する。そして、サーバ9のCPUは、投稿対象全リストを変更する場合、次のステップ112に処理を進める。一方、サーバ9のCPUは、投稿対象全リストを変更しない場合、次のステップ113に処理を進める。
ステップ112において、サーバ9のCPUは、サーバ9の運営担当者の入力に応じて投稿対象全リストを更新してサーバ9の記憶装置に格納する。例えば、サーバ9の運営担当者は、各ゲーム装置3で実行可能な新しいゲームソフトが開発された場合や既にリストに登録済みのゲームソフトの投稿対象区分を変更(投稿対象から投稿対象外への変更、または投稿対象外から投稿対象への変更)する場合等において、投稿対象全リストを変更する作業を行う。そして、サーバ9のCPUは、運営担当者による投稿対象全リストを更新が終了すると、次のステップ113に処理を進める。
ステップ113において、サーバ9のCPUは、ゲーム装置3から送信される投稿送信情報データ(ステップ88参照)を受信したか否かを判断する。そして、サーバ9のCPUは、投稿送信情報データを受信した場合、次のステップ114に処理を進める。一方、サーバ9のCPUは、投稿送信情報データを受信していない場合、次のステップ119に処理を進める。
ステップ114において、サーバ9のCPUは、受信した投稿送信情報データが示す送信元および投稿対象のゲームソフトを用いて、受信した投稿送信情報が既に投稿済みであるか否かを判断する。ここで、サーバ9の記憶装置には、受信した投稿送信情報の履歴が投稿履歴リストとして格納されている。投稿履歴リストは、投稿したゲーム装置3(ゲーム装置シリアル番号)および投稿対象のゲームソフト(ゲームソフトコード)の組み合わせが、投稿毎に記述されていく。つまり、受信した投稿送信情報データが示す投稿送信情報Itpの「ゲーム装置シリアル番号」および「ゲームソフトコード」を参照し、これらの情報の組み合わせが既に投稿履歴リストに記述されていれば、受信した投稿送信情報Itpが既に投稿済みであることが判明する。そして、サーバ9のCPUは、受信した投稿送信情報Itpが既に投稿済みである場合、次のステップ118に処理を進める。一方、サーバ9のCPUは、受信した投稿送信情報Itpが未投稿である場合、次のステップ115に処理を進める。
ステップ115において、サーバ9のCPUは、投稿が受け付けられたこと(投稿有効)を示す投稿結果データを、投稿送信情報データの送信元のゲーム装置3へ返信する。次に、サーバ9のCPUは、受信した投稿送信情報Itpが示す「ゲーム装置シリアル番号」および「ゲームソフトコード」を、記憶装置に格納された投稿履歴リストに追加して更新する(ステップ116)。そして、サーバ9のCPUは、受信した投稿送信情報Itpを記憶装置に格納して(ステップ117)、次のステップ119に処理を進める。
ステップ118において、サーバ9のCPUは、投稿が受け付けられなかったこと(投稿無効)を示す投稿結果データを、投稿送信情報データの送信元のゲーム装置3へ返信し、次のステップ119に処理を進める。このように、サーバ9は、投稿回数の制限を設けており、同じゲーム装置3から同じゲームソフトに関する投稿を1回のみ可能としている。
ステップ119において、サーバ9のCPUは、投稿結果に基づいたランキングを作成するタイミングか否かを判断する。本実施形態では、各ゲーム装置3から受け付けた受信した投稿送信情報Itpを一定期間蓄積してバッチ処理することで、ランキングデータおよびソフト投稿内訳データを作成する。したがって、上記ステップ119において、サーバ9のCPUは、上記バッチ処理を行うタイミングが到来したか否かを判断する。そして、サーバ9のCPUは、ランキング作成タイミングが到来した場合、次のステップ120に処理を進める。一方、サーバ9のCPUは、ランキング作成タイミングではない場合、次のステップ122に処理を進める。
サーバ9のCPUは、ランキング作成タイミングが到来した場合、サーバ9のCPUは、前回のバッチ処理から記憶装置に蓄積された投稿送信情報Itpを集計して、ランキングデータ(ステップ120)およびソフト投稿内訳データ(ステップ121)を更新し、次のステップ122に処理を進める。ここで、上述したように、ランキングデータは、各ゲーム装置3からの投稿を集計したランキングを示すデータであり、例えば、ランキングデータが示すランキングは、評価対象のゲームソフト毎に、ゲームソフトコード、メディアの種別、おすすめ度および得票数の集計結果等が記述される。特に、上記ランキングにおける評価対象のおすすめ度および得票数は、それぞれ性別および年齢層別等でそれぞれ集計されて記述される。また、上述したようにソフト投稿内訳データは、各ゲームソフトについてのそれぞれ投稿内訳の詳細を示すデータであり、例えば、各ゲームソフトに関する投稿内容、おすすめ度、累計プレイ時間等を性別および年齢層別等で集計した結果がそれぞれ記述されたデータである。これらランキングデータおよびソフト投稿内訳データは、サーバ9の記憶装置にそれぞれ格納されて各ゲーム装置3に公開される。また、ランキングデータおよびソフト投稿内訳データは、上記バッチ処理によって更新可能になっている。
ステップ122において、サーバ9のCPUは、ゲーム装置3からランキングデータの要求(ステップ40、ステップ63参照)があったか否かを判断する。そして、サーバ9のCPUは、ランキングデータの要求があった場合、記憶装置に格納されているランキングデータを要求元のゲーム装置3へ送信して(ステップ123)、次のステップ124に処理を進める。一方、サーバ9のCPUは、ランキングデータの要求がない場合、そのまま次のステップ124に処理を進める。
ステップ124において、サーバ9のCPUは、ゲーム装置3からソフト投稿内訳データの要求(ステップ105参照)があったか否かを判断する。そして、サーバ9のCPUは、ソフト投稿内訳データの要求があった場合、記憶装置に格納されている要求されたゲームソフトに対応したソフト投稿内訳データを要求元のゲーム装置3へ送信して(ステップ125)、次のステップ126に処理を進める。一方、サーバ9のCPUは、ソフト投稿内訳データの要求がない場合、そのまま次のステップ126に処理を進める。
ステップ126において、サーバ9のCPUは、ゲーム装置3から投稿対象全リストの要求(ステップ81参照)があったか否かを判断する。そして、サーバ9のCPUは、投稿対象全リストの要求があった場合、記憶装置に格納されている投稿対象全リストのデータを要求元のゲーム装置3へ送信し(ステップ127)、上記ステップ111に戻って処理を繰り返す。一方、サーバ9のCPUは、投稿対象全リストの要求がない場合、そのまま上記ステップ111に戻って処理を繰り返す。
このように、当該実施形態に係るゲーム装置3およびサーバ9によれば、各ゲーム装置3とサーバ9との間の通信を用いて、各ゲーム装置3で実行可能なゲームソフトの評価を行うことができる。ここで、各ゲーム装置3のプレイヤがゲームソフトを評価した結果を投稿するとき、プレイヤがプレイした累計プレイ時間が所定時間以上になっているゲームソフトについてのみ投稿が可能となっている。これによって、評価(投稿)の容易性と信頼性との両立が可能となる。また、各ゲーム装置3のプレイヤがゲームソフトを評価した結果を投稿するとき、投稿回数の制限が設けられており、ゲーム装置3側およびサーバ9側でそれぞれ投稿回数のチェックが行われる。このサーバ9側の投稿回数の制限によって、ゲーム装置3内における投稿回数データの改竄が行われたとしてもサーバ9側のチェックで投稿が無効となるため、作為的な大量投稿が防止されて評価(投稿)の信頼性が向上する。また、ゲーム装置3側では、投稿済みのゲームソフトを投稿可能なゲームソフトの一覧から除外しているため、投稿回数の制限があることをプレイヤに予め知らせることになり、プレイヤが無駄な投稿操作を行うことを防止することができる。なお、投稿済みのゲームソフトを一覧から除外せずにリストに表示し、投稿済みであることが分かるような表示(「投稿済み」マークやグレーアウト表示等)をした上で、当該ゲームソフトが選択操作されても受け付けないようにしてもよい。このようにしても、投稿済みであることや投稿回数の制限があることをプレイヤに知らせることができる。
なお、上述した実施形態では、プレイヤがプレイした累計プレイ時間が所定時間以上になっているゲームソフト(ゲームプログラム)について投稿可能とすることによって、ゲームソフトの実行履歴に基づいて評価可能な評価対象の抽出を行っているが、他の実行履歴を用いて評価対象を抽出してもかまわない。例えば、プレイヤがプレイしたプレイ回数が所定回数以上になっているゲームプログラムについて投稿可能としてもかまわない。この場合、投稿送信情報Itpには、累計プレイ時間の代わりに累計プレイ回数が記述されてサーバ9に送信される。このように、評価の信憑性が得られるレベルを想定した実行履歴の閾値を設け、当該閾値を越えた評価対象を評価可能にすることによって、当該評価対象の評価自体の信頼性を向上させることができる。
また、プレイヤがゲームプログラムをプレイした進行度を実行履歴として、評価可能なゲームプログラムを抽出してもかまわない。第1の例として、プレイヤがゲームプログラムをプレイしてゲームをクリアするまでの固定的な途中時点で当該ゲームプログラムが投稿可能となるように、投稿対象の各ゲームプログラムが予め設定される。例えば、ゲームプログラムを実行することによって表現される仮想ゲーム世界の所定地点にプレイヤキャラクタが到達したときや、所定のステージをクリアしたり失敗したりしたとき等に、実行中のゲームプログラムが投稿可能となるフラグを立てる。そして、上記フラグの状況を投稿処理における判定基準とすることによって、上述した投稿制限と同様の処理が可能となる。そして、累積プレイ時間に換算して上記投稿可能とする所定時間(例えば、1時間)程度で到達できる仮想ゲーム世界の地点やステージに、投稿対象の各ゲームプログラムに設定するフラグを設定すれば、評価(投稿)の容易性と信頼性との両立が可能となる。
また、第2の例として、プレイヤがゲームプログラムをプレイ開始してからゲームをクリアするまでを全行程として、プレイヤがゲームプログラムをプレイした当該全行程に対する進行度を実行履歴として、評価可能なゲームプログラムを抽出する。そして、累積プレイ時間に換算して上記投稿可能とする所定時間に相当する進行度(例えば、上記全行程の10%)を閾値とすれば、評価(投稿)の容易性と信頼性との両立が可能となる。
また、上述した実施形態では、ゲーム装置3側で累計プレイ時間に基づいた評価対象ゲームソフトの抽出、すなわち実行履歴に基づいた評価対象の抽出を行っているが、サーバ9側で当該実行履歴に基づいた評価対象の抽出を行ってもかまわない。例えば、ゲーム装置3における各ゲームソフトの累計プレイ時間をサーバ9へ送信する。そして、サーバ9において、上記ステップ82と同様に送信元のゲーム装置3における投稿可能なゲームソフトを抽出して、そのリストを示すデータを当該ゲーム装置3へ送信する。これによって、サーバ9側で実行履歴に基づいた評価対象を抽出する評価システムが実現できる。
また、上述した説明では、上記投稿処理で用いるデータの一例としてゲームソフトの種別を表すコードとしてゲームソフトコード(製品コード)を用いたが、ゲームソフトの種別を表す他のコードを用いてもかまわない。例えば、ゲームソフトの種別を表すイニシャルコードを用いて、他のゲームソフトが有するコードと差別してもかまわない。
また、上述した説明では、投稿内訳画面(図25参照)において投稿者それぞれの投稿時点におけるプレイ時間の内訳がグラフ表示されているために、どれくらいゲームソフトをプレイしたことによる投稿内容であるかを当該投稿内訳画面の閲覧者が判断することが可能となる。しかしながら、このような効果を期待しない場合、ゲーム装置3側で管理する累計プレイ時間は、評価対象を評価可能とする所定時間(すなわち、評価の信憑性が得られるレベルを想定した実行履歴の閾値;例えば、1時間)に到達した時点で、それ以上のプレイ時間の累積処理を行わなくてもかまわない。この場合、投稿リストLpos(図11参照)や投稿送信情報Itp(図12参照)における累計プレイ時間には、所定時間以上であることを示す所定のデータを記述すればよい。また、投稿送信情報Itpにおける累計プレイ時間を削除して、サーバ9へゲーム装置3の累計プレイ時間の情報を送信しなくてもかまわない。これによって、ゲーム装置3側における累積プレイ時間管理等が単純となり、処理の効率化が図れる。
また、上述した説明では、第2の時間が経過する毎にプレイ履歴ファイルデータDcに格納されたプレイ履歴ファイルFphの「プレイ時間」を更新している。例えば、フラッシュメモリ17がNANDフラッシュ等で構成されて、当該フラッシュメモリ17にプレイ履歴ファイルFpcを示すデータを記録する場合、当該データの更新頻度が少なくなるためにフラッシュメモリ17の劣化を防止することが可能となる。しかしながら、このような効果を期待しない場合、プレイ履歴ファイルFphの「プレイ時間」を更新は、時間経過に応じてリアルタイムに行ってもかまわない。
また、上述した実施形態では、投稿回数の制限が設けられており、同じゲーム装置3から同じゲームソフトに関する投稿を1回のみ可能としているが、他の態様の投稿回数制限を設けてもかまわない。例えば、ゲーム装置3のプレイヤそれぞれにユニークなコードを設定して、同じプレイヤから同じソフトに関する投稿を1回のみ可能とする投稿回数制限でもかまわない。この場合、ゲーム装置3側において、プレイ履歴ファイルFphにおいてゲームソフトをプレイしているプレイヤのコードも記述され、累積プレイ時間や投稿済フラグもプレイヤ毎に管理される。そして、サーバ9側において、投稿したプレイヤ(プレイヤのコード)および投稿対象のゲームソフト(ゲームソフトコード)の組み合わせを、投稿毎に投稿履歴リストに記述すれば、プレイヤを基準とした投稿回数制限が可能となる。
また、上述した処理では、ゲームソフト処理毎に作成されて格納されたプレイ履歴ファイルFphをチャンネル処理開始時に集計して投稿リストLposを更新する(ステップ62参照)手順を説明したが、プレイ履歴ファイルFphの集計を他のタイミングで行ってもかまわない。例えば、ゲーム装置本体5に設定されたメニューを起動したとき(ステップ41参照)に、現在まで未集計のプレイ履歴ファイルFphを対象として、ゲームソフト毎にプレイ時間を集計して、投稿リストLposを更新するまでの一時的なファイルを作成してもかまわない。この場合、投稿リストLposの更新処理(ステップ62)が、未反映の上記一時的なファイルを用いて行われることになる。
また、サーバ9がゲーム装置3に公開しているデータ(ランキングデータ、ソフト投稿内訳データ、投稿対象全リスト等)は、各処理によって更新されたデータが即時に公開されているが、他の態様で公開してもかまわない。例えば、ゲーム装置3に公開される公開フォルダと未公開の公開準備フォルダとをサーバ9の記憶装置に設け、各処理によって更新されたデータを当該更新毎に公開準備フォルダに保管する。そして、予め決められたデータの公開時刻が到来したとき、公開準備フォルダに保管されたデータを用いて、公開フォルダ内のデータを更新する。これによって、公開対象となるデータの更新頻度が少なくなり、ゲーム装置3におけるダウンロード頻度も少なくすることができる。
また、上述したサーバ9の処理では、投稿送信情報Itpを一定期間蓄積してバッチ処理することで、ランキングデータおよびソフト投稿内訳データを作成しているが、他の処理周期でランキングデータおよびソフト投稿内訳データを作成してもかまわない。例えば、有効な投稿送信情報Itpを取得する毎に、当該投稿送信情報Itpを用いてランキングデータおよびソフト投稿内訳データを更新してもかまわない。
また、上述した実施形態では、評価対象を光ディスク4に記録されたゲームプログラムとし、当該ゲームプログラムの実行時間や実行回数等の履歴に基づいて評価可能なゲームプログラムを抽出しているが、他のメディアを評価対象としてもかまわない。例えば、一般的な情報処理プログラムやブラウザ等の様々なアプリケーションプログラムを評価対象としてもかまわない。また、評価対象となるプログラムは、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリに記憶されていてもよい。また、評価対象となるプログラムは、外部記憶媒体を通じてゲーム装置本体5に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもいいし、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されていてもよい。
また、音楽データ、映像データ、電子書籍データ、および静止画(写真)データ等を本発明の評価対象としてもかまわない。例えば、上述した外部記憶媒体に記憶、有線または無線の通信回線を通じてゲーム装置本体5に供給、またはゲーム装置本体5内部の不揮発性記憶装置に予め記録された音楽データ、映像データ、電子書籍データ、および静止画データを、それぞれ評価対象とする。この場合、音楽データ、映像データ、電子書籍データ、および静止画データ等を再生する処理をゲーム装置本体5が実行し、その実行履歴(実行時間や実行回数等)に基づいて評価可能な音楽データ、映像データ、電子書籍データ、および静止画データを抽出する。
さらに、ゲーム装置本体5からネットワークを介して閲覧可能なウェブサイト等を本発明の評価対象としてもかまわない。例えば、ネットワークを介して、ゲーム装置本体5がアクセス可能な各ウェブサイト(例えば、ショッピングサイト、ニュースサイト、天気サイト等)を、それぞれ評価対象とする。この場合、各ウェブサイトを閲覧する処理をゲーム装置本体5が実行し、その実行履歴(実行時間や実行回数等)に基づいて評価可能なウェブサイトを抽出する。
また、上述した説明では、コントローラ7に対する操作に応じて処理を行う据置型のゲーム装置本体5に本願発明を適用した例を説明したが、携帯ゲーム装置にも適用することができる。例えば、携帯ゲーム装置の本体に設けられた操作ボタンに対する操作に応じて、上述した情報処理を実行する。このように本願発明を適用することで、携帯ゲーム装置等においても、本発明の情報処理を実現することができる。
また、上述した説明では、据置型や携帯型のゲーム装置に本願発明を適用した例を説明したが、入力装置によって操作される一般的なパーソナルコンピュータ等の情報処理装置や携帯型の情報処理装置にも適用することができる。携帯型の情報処理装置としては、例えば一般的なパーソナルコンピュータ、携帯電話機、PDA(Personal Digital Assistant)等のデバイスに適用することができる。
また、上述した説明では、コントローラ7とゲーム装置本体5とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置本体5とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置本体5の接続端子に接続する。
また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した処理で用いられる判定値や表示例等は、単なる一例に過ぎず他の値や表示態様であっても、本発明を実現できることは言うまでもない。
また、本発明の情報処理プログラムは、光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもよい。また、情報処理プログラムは、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されていてもよい。なお、情報処理プログラムを記憶する情報記憶媒体としては、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。