[1.実施形態1]
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本実施形態では、本発明に係るデータ取得装置が、ゲーム装置を用いて実現される一例を説明する。ゲーム装置としては、例えば、携帯ゲーム機、業務用ゲーム機、携帯電話機(スマートフォン)、携帯情報端末(PDA)、又はパーソナルコンピュータ等の各種ゲーム機が適用可能である。ここでは、本発明の実施形態に係るゲーム装置を、携帯ゲーム機を用いて実現する場合について説明する。
[1−1.ゲーム装置のハードウェア構成]
図1は、本実施形態に係るゲーム装置のハードウェア構成を示す図である。図1に示すように、ゲーム装置10は、携帯ゲーム機11を含んでなる。携帯ゲーム機11は、制御部14、記憶部16、主記憶18、画像処理部20、表示部22、入出力処理部24、メモリカードスロット26、操作キー部30、光ディスク再生部32、音声処理部36、音声出力部38、音声入力部40、通信I/F(インタフェース)42等を含む。
制御部14は、記憶部16に記憶されるオペレーティングシステムや、メモリカード28又は光ディスク34に格納されるプログラムや各種データに基づいてゲーム装置10の各部を制御する。また、制御部14は、リアルタイムクロックを含み、計時手段として機能する。
記憶部16は、フラッシュメモリ等の不揮発性記憶媒体を含んで構成される。記憶部16には、オペレーティングシステム等が記憶される。
主記憶18は、例えば、RAMを含んで構成される。記憶部16に記憶されたプログラム、メモリカードスロット26を介してメモリカード28から読み出されたプログラムやデータ、及び、光ディスク再生部32を介して光ディスク34から読み出されたプログラムやデータは、必要に応じて主記憶18に書き込まれる。主記憶18は、制御部14の作業用メモリとしても用いられる。
バス12は、アドレス及び各種データをゲーム装置10の各部でやり取りするために用いられる。制御部14、記憶部16、主記憶18、画像処理部20及び入出力処理部24は、バス12によって相互データ通信可能に接続される。
画像処理部20は、VRAMを含む。画像処理部20は、制御部14からの指示に従って画像をVRAM上に描画する。VRAM上に描画された画像は、所定のタイミングで表示部22に表示される。表示部22は、液晶表示パネルや有機ELパネル等を含み、各種画面を表示する。
入出力処理部24は、制御部14が、メモリカードスロット26、操作キー部30、音声処理部36、通信I/F44と、各種データを授受するためのインタフェースである。
メモリカードスロット26は、メモリカード28に記憶されたゲームプログラムやゲームデータを制御部14からの指示に従って読み出す。メモリカード28は、例えば、セーブデータ等のゲームデータが記憶される不揮発性記憶媒体を含む。
操作キー部30は、ユーザが各種操作を行うための入力手段として機能する。操作キー部30は、十字ボタン、スライドパッド、各種ボタン等を含む。入出力処理部24は、一定周期毎(例えば、1/60秒毎)に、操作キー部30の各部の状態をスキャンする。このスキャン結果を表す操作信号は、バス12を介して制御部14に供給される。制御部14は、ユーザの操作内容を、操作信号に基づいて判断する。
光ディスク再生部32は、光ディスク34に記録されたプログラムやデータを読み取る。なお、以降では、プログラムやデータを携帯ゲーム機11に供給するために、光ディスク34が用いられる場合を説明するが、メモリカード28等、他の情報記憶媒体が用いられるようにしてもよい。他にも例えば、インターネット等の通信ネットワークを介して、遠隔地からプログラムやデータを携帯ゲーム機11に供給するようにしてもよい。
音声処理部36は、サウンドバッファを含む。音声処理部36は、サウンドバッファに格納された楽曲の出力用データや音声データに基づいて、楽曲や音声を音声出力部38から出力する。
音声入力部40は、マイク等を含む。音声入力部40は、ユーザの音声等を検出し、検出信号を入出力処理部24を介して制御部14に入力する。通信I/F44は、ゲーム装置10を通信ネットワークに接続するためのインタフェースである。
なお、ゲーム装置10の構成は、上記の例に限られない。ゲーム装置10は、他の構成を含んでいてもよい。他にも例えば、ジャイロセンサやCCDカメラ等の各種センサが、ゲーム装置10に含まれていてもよい。
[1−2.ゲーム装置において実行されるゲーム]
次に、ゲーム装置10において実行されるゲームについて説明する。ここでは、ユーザが、複数のキャラクタのうちの何れかを操作するゲームが実行される。ユーザは、操作対象に設定されているキャラクタを仮想世界で動作させ、ゲームをプレイすることになる。また、ユーザは、ゲームプレイ中に、操作対象のキャラクタを変更することができる。ユーザが操作キー部30から所定の操作を行うと、操作対象のキャラクタを変更するためのキャラクタ選択画面が表示部22に表示される。
図2は、キャラクタ選択画面の一例を示す図である。図2に示すように、キャラクタ選択画面50には、キャラクタの顔が描かれた複数のアイコン52−1〜52−20(以降、これらをまとめて単にアイコン52ともいう。)と、カーソル54と、が表示される。例えば、ユーザが操作キー部30の十字ボタンを押下すると、押下された十字ボタンに対応する方向(例えば、上下左右の何れか)にカーソル54が移動する。そして、ユーザが操作対象に設定したいキャラクタのアイコン52にカーソル54を合わせ、操作キー部30の所与のボタンを押下すると、当該キャラクタが操作対象として設定される。
キャラクタ選択画面50には、所定条件のもとで、各アイコン52が示すキャラクタの3Dモデルが表示される。ここでは、カーソル54が停止しており、アイコン52にカーソル54が合っている状態が所定期間継続すると、このアイコン52が示すキャラクタの3Dモデルがキャラクタ選択画面50に表示される。
図3は、キャラクタの3Dモデルが表示された場合のキャラクタ選択画面50の一例を示す図である。図3に示すように、カーソル54がアイコン52−7に合っている状態が所定期間継続すると、アイコン52−7が示すキャラクタの3Dモデル画像56が、キャラクタ選択画面50に表示される。
3Dモデル画像56は、主記憶18に構築されるゲーム空間に、キャラクタを示すオブジェクトが配置されることによって表示される。より具体的には、カーソル54が停止した状態が所定期間継続すると、カーソル54が合っているアイコン52が示すキャラクタの3Dモデルデータが光ディスク34から読み出されて、主記憶18に格納されることによって、キャラクタを示すオブジェクトがゲーム空間に配置される。
図4は、主記憶18に展開されるゲーム空間の一例を示す図である。図4に示すように、ゲーム空間60は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。キャラクタの3Dモデルデータが光ディスク34から読み出されると、ゲーム空間60には、キャラクタの3Dモデルを示すキャラクタオブジェクト62が配置される。キャラクタオブジェクト62の頂点座標の位置は、例えば、ワールド座標系(Xw−Yw−Zw座標系)の3次元座標で特定される。
また、ゲーム空間60には、所与の仮想カメラ64(視点)が設定される。キャラクタオブジェクト62が配置される場合、仮想カメラ64の位置及び視線方向として、初期位置及び初期方向が設定されている。キャラクタオブジェクト62は、仮想カメラ64の初期位置及び初期方向に対応する視野内に配置される。例えば、図4に示すように、キャラクタオブジェクト62と仮想カメラ64とが互いに対向するように、キャラクタオブジェクト62と仮想カメラ64との位置関係が決定される。
ここでは、仮想カメラ64の位置及び視線方向は、ユーザの操作に応じて変化する。例えば、ユーザが操作キー部30のスライドパッドをスライドさせると、スライド方向に基づいて、仮想カメラ64がキャラクタオブジェクト62の周囲を移動する。仮想カメラ64は、キャラクタオブジェクト62の全周囲(即ち、360°全て)を移動可能にしてもよいし、所定領域内で移動可能にしてもよい。また、ユーザの操作に応じて、仮想カメラ64をズームイン又はズームアウトさせるようにしてもよい。
キャラクタ選択画面50においては、キャラクタオブジェクト62を仮想カメラ64から見た様子を表す画像が、3Dモデル画像56として表示される。ゲーム空間60に配置されたキャラクタオブジェクト62の頂点座標が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって、3Dモデル画像56が生成されることになる。
なお、図3に示すように、キャラクタ選択画面50に3Dモデル画像56が表示されている場合でも、ユーザは、操作キー部30の十字ボタンを押下して、カーソル54を別のアイコン52に移動させることができる。カーソル54が別のアイコン52に移動すると、ゲーム空間60に配置されたキャラクタオブジェクト62は破棄され、キャラクタ選択画面50から3Dモデル画像56が消去される。この場合も上記と同様に、カーソル54が他のアイコン52に合った状態が一定期間継続するまで、アイコン52に対応する3Dモデル画像56は、キャラクタ選択画面50に表示されないことになる。
このように、本実施形態では、カーソル54がアイコン52に合った状態が所定期間継続するまで、光ディスク34からのデータ取得処理を待機し、この状態が所定期間継続した場合に、当該データ取得処理を実行することによって、無駄なデータ取得処理の実行を軽減する構成になっている。以下、この技術について詳細に説明する。
[1−3.ゲーム装置において実現される機能]
図5は、ゲーム装置10で実現される機能を示す機能ブロック図である。図5に示すように、ゲーム装置10は、検出部70、表示制御部72、移動制御部74、指定判定部76、継続判定部78、制限部80、データ取得部82、ゲームデータ記憶部84、処理実行部86、及びゲーム実行部88を含む。これらの機能は、制御部14が、光ディスク34に記憶されたゲームプログラムを実行することによって、実現される。
[1−3−1.検出部]
検出部70は、制御部14、入出力処理部24、及び操作キー部30を主として実現される。検出部70は、指定操作を検出する。検出部70は、操作キー部30の検出信号に基づいて、ユーザによる指定操作を検出する。当該指定操作は、ユーザが項目を指定するための操作である。
検出部70が検出する操作は、種々の操作が適用可能である。ここでは、検出部70が検出する操作として、移動指示操作(方向指示操作)を例に挙げる。移動指示操作は、画像を移動させるための所定操作ともいえる。例えば、操作キー部30の十字ボタンを押下する行為やスライドパッドをスライドさせる行為が、移動指示操作に相当する。
また、本実施形態での「項目」とは、データ取得部82が取得すべきデータを一意に識別するための情報(見出し)を意味し、ここでは、ゲームに用意された複数のキャラクタの各々が「項目」に相当する。即ち、各アイコン52が示すキャラクタが、「項目」に相当し、各キャラクタに対応する3Dモデルデータが、「項目に対応するデータ」に相当する。
[1−3−2.表示制御部]
表示制御部72は、制御部14及び画像処理部20を主として実現される。表示制御部72は、項目を示す項目画像(アイコン52)とカーソル54とを表示画面(キャラクタ選択画面50)に表示させる。カーソル54は、ユーザがアイコン52を指定するための指示画像ともいえる。カーソル54としては、任意の画像が適用可能であり、図2及び図3に示すような四角形の画像の他にも、マウスカーソルのような画像であってもよい。
アイコン52とカーソル54の画像データは、予め光ディスク34に記憶されている。表示制御部72は、キャラクタ選択画面50を表示させる場合、これら画像データを光ディスク34から読み出してゲームデータ記憶部84に格納し、アイコン52とカーソル54とをキャラクタ選択画面50に表示させる。
[1−3−3.移動制御部]
移動制御部74は、制御部14を主として実現される。移動制御部74は、移動指示操作に基づいて、項目画像(アイコン52)又はカーソル54を移動させる。ここでは、移動制御部74がカーソル54を移動させる態様を説明する。移動制御部74がアイコン52を移動させる態様は、後述の変形例で説明する。
移動制御部74は、移動指示操作が示す方向に、カーソル54を所定距離(例えば、アイコン52の間隔)だけ移動させる。また、移動制御部74は、ユーザによる移動指示操作が継続して行われている場合(例えば、ユーザが操作キー部30の十字ボタンを押下したままの状態の場合)、当該移動指示操作が示す方向に、カーソル54を所定の速さで移動させる。
[1−3−4.指定判定部]
指定判定部76は、制御部14を主として実現される。指定判定部76は、検出部70の検出結果に基づいて、項目(アイコン52が示すキャラクタ)がユーザにより指定されたか否かを判定する。
指定判定部76は、検出部70が項目の指定操作を検出したか否かを判定し、当該検出した指定操作に基づいて、ユーザが指定された項目を特定する。本実施形態では、指定判定部76は、項目画像(アイコン52)にカーソル54が合っているか否かを判定することによって、項目(アイコン52が示すキャラクタ)がユーザにより指定されたか否かを判定することになる。
「アイコン52にカーソル54が合う」とは、アイコン52の表示位置に対応する位置にカーソル54が表示されている状態であり、例えば、アイコン52にカーソル54が囲われる状態、又は、アイコン52にカーソル54が重畳する状態である。ここでは、カーソル54が合っているアイコン52が示すキャラクタが、ユーザにより指定された項目となる。
[1−3−5.継続判定部]
継続判定部78は、制御部14を主として実現される。継続判定部78は、項目(アイコン52が示すキャラクタ)が指定されたと判定された場合、当該項目が指定されている状態が基準期間継続しているか否かを判定する。「項目が指定されている状態」とは、ある特定の項目がユーザにより指定され続けている状態であり、本実施形態では、ある特定のアイコン52にカーソル54が合っている状態である。
継続判定部78は、項目がユーザにより指定されたと判定された場合、計時を開始し、当該項目がユーザにより指定され続けている場合に計時を継続する。計時中に上記項目の指定が解除された場合には、継続判定部78は計時を中止する。継続判定部78は、計時が開始されてからの経過時間が基準期間を超えたか否かを判定することになる。
なお、基準期間は、予め定められた時間であればよく、例えば、n秒間(nは、0よりも大きい数値。ゲームの挙動単位が1/60フレームである場合、1/60秒以上の任意の数値であればよい。例えば、n=1/60)である。ここでは、基準期間が一定期間である態様を説明するが、基準期間は、ユーザによる設定や各種状況に応じて変化する可変期間であってもよい(詳細後述)。
[1−3−6.制限部]
制限部80は、制御部14を主として実現される。制限部80は、上記状態が基準期間継続していないと判定された場合、ユーザにより指定された項目に対応するデータの取得を制限する。「データの取得を制限する」とは、データの取得を抑止することであり、データを取得せずに待機することである。本実施形態では、制限部80は、アイコン52が示すキャラクタに対応する3Dモデルデータを、データ取得部82が光ディスク34から取得しないように、データ取得処理の実行を待機させることになる。
[1−3−7.データ取得部]
データ取得部82は、制御部14を主として実現される。データ取得部82は、上記状態が基準期間継続していると判定された場合、ユーザにより指定された項目に対応するデータ(アイコン52が示すキャラクタの3Dモデルデータ)を記憶手段(光ディスク34)から取得する。
図6は、光ディスク34の記憶内容の一例を示す図である。図6に示すように、光ディスク34には、各項目と、データ取得部82の取得対象となるデータと、が関連付けられて記憶されている。ここでは、各アイコン52が示すキャラクタ名と、このキャラクタの3Dモデルデータと、が関連付けられて記憶されている。データ取得部82は、アイコン52に対応するキャラクタに関連付けられた3Dモデルデータを取得することになる。
なお、ここでの「データを取得する」とは、情報記憶媒体からデータを読み出してゲームデータ記憶部84に展開(格納)することであり、例えば、ゲーム装置10に外部接続された情報記憶媒体(光ディスク34の他にも、メモリカード28であってもよいし、DVD等の各種記録メディアであってもよい。)、又は、ネットワーク(有線及び無線)を介してゲーム装置10とデータ送受信可能に接続された外部装置(例えば、他のゲーム装置やサーバ装置等)からデータを取得することである。
[1−3−8.ゲームデータ記憶部]
ゲームデータ記憶部84は、主記憶18を主として実現される。ゲームデータ記憶部84は、データ取得部82が取得したデータ等の各種データを記憶する。ここでは、ゲームデータ記憶部84は、下記のデータを記憶する。
(1)ゲーム空間60の現在の様子を示すデータ
(2)キャラクタ選択画面50に関するデータ
(3)現在のゲームの状況を示すデータ
ゲーム空間60の現在の様子を示すデータには、例えば、キャラクタオブジェクト62の位置を示す情報(ポリゴンの頂点座標やスケルトンの位置及び姿勢を示す情報等)、仮想カメラ64の設定情報(位置及び視線方向等)が含まれる。なお、キャラクタオブジェクト62は所与の動作をするようにしてもよい。この場合、キャラクタオブジェクト62の動作を示すモーションデータがゲームデータ記憶部84に記憶され、モーションデータが再生されることによって、キャラクタオブジェクト62が動作する。
キャラクタ選択画面50に関するデータには、例えば、各アイコン52及びカーソル54の画像データ、各アイコン52の表示位置やカーソル54の現在位置を示す情報等が含まれる。移動制御部74による移動制御に基づいて、キャラクタ選択画面50に関するデータが更新される。
現在のゲームの状況を示すデータには、例えば、ユーザの操作対象として設定されているキャラクタを識別する情報(例えば、キャラクタ名)等が含まれる。後述の処理実行部86やゲーム実行部88が実行する処理に応じて、現在のゲームの状況を示すデータが更新される。
[1−3−9.処理実行部]
処理実行部86は、制御部14を主として実現される。処理実行部86は、項目(アイコン52が示すキャラクタ)がユーザにより指定されている状態においてユーザにより所与の操作が行われた場合、当該項目に対応する処理を実行する。
「項目に対応する処理」とは、ユーザが第1の操作を行って指定した項目が、第2の操作により選択された場合(例えば、ユーザが十字ボタンを押下し、カーソル54を移動させて指定したアイコン52のキャラクタを、所与のボタンを押下して選択した場合)に実行される処理であり、各項目と処理内容とが予め関連付けられて記憶されている。ここでは、アイコン52が示すキャラクタをユーザの操作対象として設定する処理が、「項目に対応する処理」に相当する。
処理実行部86は、ゲームの状況を示すデータを更新することによって、アイコン52が示すキャラクタをユーザの操作対象に設定することになる。なお、処理実行部86が実行する処理は、上記の処理に限られない。処理実行部86は、ゲーム装置10に関する各種処理を実行する動作主体として機能する。
[1−3−10.ゲーム実行部]
ゲーム実行部88は、制御部14を主として実現される。ゲーム実行部88は、ゲームを実行する。ゲーム実行部88は、ユーザの操作やゲームの進行に応じてゲームの状況を示すデータを更新することによって、ゲームを実行する。
[1−4.ゲーム装置が実行する処理]
図7及び図8は、ゲーム装置10が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部14は、キャラクタ選択画面50を表示する場合(例えば、ユーザがゲームプレイ中に操作キー部30の所与のボタンを押下した場合)に、光ディスク34に記憶されるプログラムに従って、図7及び図8に示す処理を実行する。
図7に示すように、まず、制御部14は、表示部22にキャラクタ選択画面50を表示させる(S1)。S1においては、光ディスク34からアイコン52及びカーソル54の画像データが読み出されて主記憶18に格納される。各アイコン52は、予め指定された位置に表示される。また、S1の時点では、カーソル54は初期位置(例えば、アイコン52−1に対応する位置)に表示される。
制御部14は、ユーザによる移動指示操作が行われているか否かを判定する(S2)。例えば、操作キー部30の十字キーが押下されているか否かが判定される。
ユーザによる移動指示操作が行われていないと判定された場合(S2;N)、制御部14は、ユーザにより項目が指定されたか否かを判定する(S3)。具体的には、カーソル54が停止してアイコン52の何れかにあっているか否かが判定される。
項目が指定されたと判定された場合(S3;Y)、制御部14は、取得済みフラグの値が「0」であるか否かを判定する(S4)。取得済みフラグは、カーソル54が合っているアイコン52が示すキャラクタの3Dモデルデータが既に光ディスク34から取得されているか否かを識別するためのフラグであり、主記憶18に記憶される。ここでは、取得済みフラグが「0」であることは、3Dモデルデータが光ディスク34から取得されていないことを示し、取得済みフラグが「1」であることは、3Dモデルデータが光ディスク34から既に取得されたことを示す。
取得済みフラグの値が「0」であると判定された場合(S3;Y)、制御部14は、計時処理を実行する(S4)。S4における計時が開始されてからの経過時間を示す情報は、主記憶18に格納される。S4における計時処理が行われると、当該経過時間が更新される。
制御部14は、項目が指定されている状態が基準期間継続しているか否かを判定する(S6)。S6においては、現在の経過時間と基準期間とが比較され、カーソル54がアイコン52に合っている状態が基準期間継続したか否かが判定される。即ち、現在の経過時間が基準期間以上になったか否かが判定されることになる。
項目が指定されている状態が基準期間継続していると判定された場合(S6;Y)、制御部14は、当該項目に対応するデータを取得する(S7)。S7においては、カーソル54が合っているアイコン52が示すキャラクタの3Dモデルデータが、光ディスク34から取得されて主記憶18に格納される。即ち、S7においては、光ディスク34に記憶された3Dモデルデータのうち、アイコン52が示すキャラクタに関連付けられた3Dモデルデータが、入出力処理部24及び光ディスク再生部32を介して主記憶18に格納されることになる。アイコン52が示すキャラクタオブジェクト62がゲーム空間60に配置され、主記憶18に格納した3Dモデルデータに基づいて、3Dモデル画像56がキャラクタ選択画面50に表示される。仮想カメラ64からゲーム空間60を見た様子を示す画像が、3Dモデル画像56として表示されることになる。
制御部14は、取得済みフラグを「1」に更新する(S8)。この後、処理はS8からS14に移行する。即ち、3Dモデルデータが光ディスク34から取得された場合には、S9〜S13の処理が実行されず、カーソル54が移動するまで3Dモデルデータが主記憶18に保持されることになる。
一方、ユーザによる移動指示操作が行われたと判定された場合(S2;Y)、図8に移り、制御部14は、当該移動指示操作に基づいて、カーソル54を移動させる(S9)。ここでは、操作キー部30の十字ボタンがユーザにより押下された場合に、押下された十字ボタンに対応する方向にカーソル54を移動させることになる。また、この場合、カーソル54が移動している状態であるので、S7の処理が実行されず、キャラクタの3Dモデルデータの取得処理の実行が待機されることになる。
制御部14は、現在の取得済みフラグの値が「1」であるか否かを判定する(S10)。現在の取得済みフラグの値が「1」ではない、つまり、「0」であると判定された場合(S10;N)、処理はS14に移行する。
一方、現在の取得済みフラグの値が「1」であると判定された場合(S10;Y)、制御部14は、主記憶18に展開されているデータを破棄する(S11)。S11においては、主記憶18に記憶されている3Dモデルデータが破棄され、3Dモデル画像56がキャラクタ選択画面50から消去される。
制御部14は、取得済みフラグを「0」に更新し(S12)、主記憶18に記憶された経過時間を0に戻す(S13)。
制御部14は、終了条件が満たされるか否かを判定する(S14)。終了条件は、本処理を終了するための所定条件であればよい。例えば、アイコン52に対応するキャラクタを操作対象に設定するための決定ボタンが押下されたか否か、又は、操作対象のキャラクタを変更しないキャンセルボタンが押下されたか否か等である。
S13からS14に移行する場合には、カーソル54が移動しており、3Dモデルデータが読みだされていない状態で、終了条件が満たされるか否かが判定されることになる。一方、S8からS14に移行する場合には、カーソル54が停止しており、3Dモデルデータが読みだされている状態で、終了条件が満たされるか否かが判定されることになる。
終了条件が満たされると判定されない場合(S14;N)、処理はS2に戻る。終了条件が満たされると判定された場合(S14;Y)、処理は終了する。
また、項目が指定されたと判定されない場合(S3;N)、処理はS14に移行する。この場合、カーソル54は停止していないので、3Dモデルデータの取得が行われない。
また、取得済みフラグの値が「1」であると判定された場合(S4;N)、処理はS14に移行する。この場合、カーソル54は停止しているが、既に3Dモデルデータを取得しているので、再度の取得処理をしないようになる。
また、カーソル54がアイコン52に合っている状態が基準期間継続したと判定されない場合(S6;N)、処理はS14に移行する。この場合、カーソル54が停止してから基準期間が経過していないので、S6の処理が実行されず、3Dモデルデータの取得処理の実行が待機されることになる。
以上説明したゲーム装置10によれば、カーソル54がアイコン52に合った状態が基準期間継続するまで、当該アイコン52が示すキャラクタの3Dモデルデータの取得が待機され、この状態が基準期間継続すると、3Dモデルデータが光ディスク34から読み出されるので、カーソル54がアイコン52に合ってすぐに3Dモデルデータを取得する場合に比べて、無駄なデータ取得処理を軽減することができる。
[2.実施形態2]
次に、本発明に係るゲーム装置10の別実施形態について説明する。実施形態1では、基準期間の長さが一定である場合を説明したが、実施形態2では、基準期間の長さが可変である場合を説明する。
実施形態2では、ユーザによる項目の指定に関する頻度の高いキャラクタのアイコン52にカーソル54が合っている場合には、ユーザが、このキャラクタを操作対象に設定する可能性が高いので、比較的短い0.2秒の基準期間を設定し、3Dモデルデータの読み込みの待機時間を短くする。一方、ユーザによる項目の指定に関する頻度の低いキャラクタのアイコン52にカーソル54が合っている場合には、ユーザが、このキャラクタを操作対象に設定する可能性が低いので、比較的長い1.5秒の基準期間を設定し、3Dモデルデータの読み込みの待機時間を長くする。
なお、実施形態2のハードウェア構成は、実施形態1と同様であるので、説明を省略する。
図9は、実施形態2のゲーム装置10において実現される機能ブロック図である。図9に示すように、実施形態2のゲーム装置10では、実施形態1の機能に加えて、変更部90が実現される。
実施形態2のゲームデータ記憶部84は、項目(アイコン52が示すキャラクタ)の指定頻度に関する頻度情報を記憶する。項目の指定に関する頻度とは、ユーザにより項目が指定された頻度、指定された項目に対応する処理が実行された頻度(即ち、処理実行部86による処理が実行された頻度)、又は、ユーザにより指定された項目に対応するデータが取得された頻度(即ち、データ取得部82によるデータ取得処理が実行された頻度)を示す。ここでは、頻度情報が、ユーザにより指定された項目に対応する処理が実行された頻度を示す場合について説明する。
また、ここでの「頻度」は、例えば、所定期間における項目の指定された項目に対応する処理の実行回数、又は、ユーザによる項目に対応する処理の総実行回数に対する各項目に対応する処理の実行回数を示す。なお、この所定期間とは、ゲームが開始されてから現在までの期間全体、現在の直近の所定期間(例えば、直近1週間)、又はゲームが実行されている最中の所定期間を含む意味である。また、総実行回数は、ゲームが開始されてから現在までの期間全体における実行回数の総数であってもよいし、現在の直近の期間の実行回数の総数であってもよい。
図10は、頻度情報のデータ格納例を示す図である。図10に示すように、各アイコン52が示すキャラクタ名(項目名)と、キャラクタに対応する処理(ここでは、キャラクタを操作対象に設定する処理)が実行された頻度と、が関連付けられて、頻度情報としてゲームデータ記憶部84に記憶される。ユーザがアイコン52にカーソル54を合わせて操作キー部30の所定ボタンを押下し、処理実行部86が当該アイコン52のキャラクタを操作対象に設定すると、当該キャラクタに関連付けられた頻度が更新される。
変更部90は、制御部14を主として実現される。変更部90は、頻度情報に基づいて、基準期間の長さを変更する。ここでは、変更部90は、ユーザにより指定された項目に対応する処理が実行された頻度に基づいて、基準期間の長さを変更することになる。
図11は、頻度情報が示す頻度に関する条件と基準期間の長さとの関係を示す図である。図11に示す関連付けは、テーブル形式のデータであってもよいし、数式形式のデータであってもよい。即ち、テーブルに基づいて基準期間の長さが変更されるようにしてもよいし、数式による演算処理により基準期間の長さが変更されるようにしてもよい。図11に示す頻度に関する条件には、頻度の範囲に関する条件が格納される。
変更部90は、ゲームデータ記憶部84の記憶内容を参照し、現時点においてカーソル54が合っているアイコン52を特定して、当該アイコン52に対応する頻度を取得する。変更部90は、この頻度と上記条件とを比較し、キャラクタの指定に関する頻度が満たす条件に関連付けられた長さの基準期間を設定する。
図11に示すように、変更部90は、カーソル54が合っているアイコン52のキャラクタの指定に関する頻度が高くなるほど、基準期間が短くなるように設定する。即ち、変更部90は、カーソル54が合っているアイコン52のキャラクタの指定に関する頻度が低くなるほど、基準期間が長くなるように設定する。この設定された基準期間の長さを示す情報は、主記憶18に一時的に記憶される。
なお、変更部90は、頻度情報が示す頻度が所定範囲であるか否かを判定し、当該判定結果に基づいて基準期間の長さを変更してもよい。例えば、変更部90は、頻度情報が示す頻度が基準頻度以上である場合、基準期間を第1の長さ(例えば、標準値よりも短い長さ)に設定し、頻度情報が示す頻度が基準頻度未満である場合、基準期間を、第1の長さよりも長い第2の長さ(例えば、標準値よりも長い長さ)に設定するようにしてもよい。
実施形態2では、図7及び図8を参照して説明した処理と同様の処理が実行される。ただし、S6において比較対象となる基準期間が、変更部90によって変更された長さとなる点で、実施形態1と異なる。例えば、S3において、カーソル54がアイコン52に合っていると判定された場合に、変更部90が基準期間の長さを変更し、当該変更された長さを示す情報が主記憶18等に一時的に記憶される。実施形態2のS6では、当該情報に基づいて判定処理が行われることになる。
以上説明した実施形態2によれば、頻度情報が示す頻度に応じて基準期間の長さを変更し、ユーザによるキャラクタの指定に関する頻度に応じた最適な長さの基準期間を設定することができる。
[3.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、実施形態2では、カーソル54が合っているアイコン52に対応する頻度に基づいて基準期間の長さが設定される場合を説明したが、頻度情報に基づいて基準期間の長さを変更する方法は、これに限られない。
(1−1)他にも、操作対象に設定された頻度が高いキャラクタのアイコン52がキャラクタ選択画面50に表示されているか否かに基づいて、基準期間の長さが変更されるようにしてもよい。
変形例(1−1)のゲーム装置10は、頻度情報が示す頻度が所定範囲となる項目の項目画像(アイコン52)が表示画面(キャラクタ選択画面50)に表示されているか否かを判定する表示判定手段を含む。当該手段は、制御部14を主として実現される。ここでは、表示制御部72が表示判定手段として機能する場合を説明する。
「頻度が所定範囲となる」とは、頻度が基準頻度以上となる状態、又は、頻度が基準頻度未満となる状態である。所定範囲(即ち、基準頻度)は、予め定められた範囲(数値)であればよい。表示制御部72は、ゲームデータ記憶部84の記憶内容を参照し、キャラクタ選択画面50に表示されている各アイコン52を特定する。そして、表示制御部72は、頻度情報を参照して、当該特定された各アイコン52が示すキャラクタに関連付けられた頻度を取得し、この頻度と基準頻度とを比較することによって、頻度が所定範囲となるキャラクタのアイコン52が表示されているか否かを判定する。
変形例(1−1)の変更部90は、表示制御部72の判定結果に基づいて、基準期間の長さを変更する。例えば、変更部90は、頻度情報が示す頻度が基準頻度以上であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、第1の長さの基準期間を設定し、頻度情報が示す頻度が基準頻度未満であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、第1の長さよりも長い第2の長さの基準期間を設定する。
別の言い方をすれば、変更部90は、頻度情報が示す頻度が基準頻度以上であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、頻度情報が示す頻度が基準頻度未満であるキャラクタのアイコン52がキャラクタ選択画面50に表示されていない場合よりも短い基準期間を設定する。
変形例(1−1)によれば、例えば、頻度が比較的高いキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合には、当該アイコン52が選択される可能性が高いので、基準期間を短く設定し、3Dモデルデータを比較的すぐに取得するように設定することができる。
(1−2)また例えば、頻度が所定範囲となるアイコン52とカーソル54との現在の位置関係に応じて基準期間の長さを動的に変化させるようにしてもよい。即ち、ユーザは、頻度が比較的高いキャラクタのアイコン52にカーソル54を合わせる可能性が高いので、当該アイコン52にカーソル54が近づくほど基準期間が短くなるように設定し、3Dモデルデータをすぐに取得するように設定してもよい。
変形例(1−2)の変更部90は、頻度情報が示す頻度が所定範囲となる項目の項目画像(キャラクタのアイコン52)とカーソルとの現在の位置関係に基づいて、基準期間の長さを変更する。「アイコン52とカーソル54との位置関係」とは、アイコン52の表示位置とカーソル54の表示位置との関係であり、例えば、アイコン52とカーソル54との表示画面上での距離、又は、カーソル54がアイコン52に合うまでに必要な移動距離である。
図12は、アイコン52とカーソル54との位置関係と基準期間の長さとの関係を示す図である。図12に示すように、位置関係に関する条件と基準期間の長さとが関連付けられている。図12に示す関連付けは、テーブル形式のデータであってもよいし、数式形式のデータであってもよい。
位置関係に関する条件には、アイコン52とカーソル54との位置関係が所定の関係であるか否かを示す条件が格納され、ここでは、アイコン52とカーソル54との距離を示す条件が格納される。図12に示す「アイコンk個分(kは自然数)」とは、各アイコン52の表示間隔のk間隔分の意味である。
変更部90は、ゲームデータ記憶部84の記憶内容を参照し、頻度情報が示す頻度が所定範囲となるキャラクタのアイコン52の表示位置と、カーソル54の現在位置と、を特定し、これらの位置関係と上記条件とを比較する。変更部90は、アイコン52とカーソル54との現在の位置関係が満たす条件に関連付けられた長さの基準期間を設定する。
ここでは、変更部90は、頻度情報が示す頻度が所定範囲となるキャラクタのアイコン52にカーソル54が近づくほど、基準期間の長さが長く又は短くなるように、基準期間の長さを変更する。即ち、図12に示すように、変更部90は、頻度が基準頻度以上のアイコン52にカーソル54が近づくほど、基準期間の長さが短くなるように設定する。別の言い方をすれば、変更部90は、頻度が基準頻度未満のアイコン52にカーソル54が近づくほど、基準期間の長さが長くなるように設定する。
変形例(1−2)によれば、アイコン52とカーソル54との現在の位置関係に応じて基準期間の長さを動的に変化させることができる。
(2)また例えば、頻度情報が、データ取得部82が3Dモデルデータを取得した頻度を示していてもよい。即ち、データ取得部82が3Dモデルデータを取得した頻度に応じて、基準期間の長さを変化させるようにしてもよい。
変形例(2)の頻度情報は、ユーザにより指定された項目に対応するデータが取得された頻度を示す。当該頻度は、データ取得部82がデータを取得した頻度と同意であり、キャラクタ選択画面50に3Dモデル画像56が表示された頻度ともいえる。なお、頻度が、所定期間におけるデータの取得回数、又は、データの総取得回数に対する各データの取得回数を示す点については、実施形態2と同様である。
また、図10と同様に、キャラクタと、当該キャラクタの3Dモデルデータが光ディスク34から取得された頻度と、が関連付けられてゲームデータ記憶部84に記憶されている。データ取得部82が光ディスク34から3Dモデルデータを取得すると、頻度情報が示す頻度が更新されることになる。
変更部90は、ユーザにより指定された項目に対応するデータが取得された頻度に基づいて、基準期間の長さを変更する。なお、変更部90が基準期間の長さを変更させる方法は、実施形態2及び変形例(1)と同様である。即ち、実施形態2及び変形例(1)において頻度情報が「ユーザにより指定された項目に対応する処理が実行された頻度」を示すこととして説明した箇所を、頻度情報が「ユーザにより指定された項目に対応するデータが取得された頻度」を示すこととして読み替えることができる。
変形例(2)によれば、3Dモデルデータを取得した頻度の高いキャラクタのアイコン52に基づいて基準期間を変更することができる。
(3)また例えば、上記においては、頻度情報に基づいて基準期間の長さを変更する場合を説明したが、アイコン52に対応する3Dモデルのデータ量に応じて、基準期間の長さを変化させるようにしてもよい。
(3−1)例えば、3Dモデルのデータ量の高いアイコン52にカーソル54が合っている場合には、この3Dモデルデータを光ディスク34から主記憶18に展開するのに時間がかかるので、比較的長い1.5秒の基準期間を設定し、3Dモデルデータの読み込みの待機時間を長くするようにしてもよい。一方、3Dモデルのデータ量の低いアイコン52にカーソル54が合っている場合には、この3Dモデルデータを光ディスク34から主記憶18に展開するのにはあまり時間がかからないので、比較的短い0.3秒の基準期間を設定し、3Dモデルデータの読み込みの待機時間を短くするようにしてもよい。
変形例(3−1)のゲームデータ記憶部84は、項目(アイコン52が示すキャラクタ)に対応するデータのデータ量に関するデータ量情報を記憶する。データ量とは、データサイズと同意である。
図13は、データ量情報のデータ格納例を示す図である。図13に示すように、各アイコン52が示すキャラクタと、当該キャラクタの3Dモデルデータのデータ量と、が関連付けられて、データ量情報としてゲームデータ記憶部84に記憶される。例えば、キャラクタの3Dモデルデータが編集された場合には、当該編集後の3Dモデルデータのデータ量が取得され、データ量情報が更新されることになる。
変形例(3−1)では、変更部90が、データ量情報に基づいて、基準期間の長さを変更する点では、実施形態2とは異なるものの、基準期間の長さを変更する方法は略同様である。
図14は、データ量情報が示すデータ量に関する条件と基準期間の長さとの関係を示す図である。図14に示す関連付けは、テーブル形式のデータであってもよいし、数式形式のデータであってもよい。即ち、テーブルに基づいて基準期間の長さが変更されるようにしてもよいし、数式による演算処理により基準期間の長さが変更されるようにしてもよい。図14に示すデータ量に関する条件には、データ量の範囲に関する条件が格納される。
変更部90は、ゲームデータ記憶部84の記憶内容を参照し、現時点においてカーソル54が合っているアイコン52を特定して、当該アイコン52に対応するデータ量を取得する。変更部90は、このデータ量と上記条件とを比較し、キャラクタの使用データ量が満たす条件に関連付けられた長さの基準期間を設定する。
図14に示すように、変更部90は、カーソル54が合っているアイコン52のキャラクタのデータ量が大きいほど、基準期間が長くなるように設定する。即ち、変更部90は、カーソル54が合っているアイコン52のキャラクタのデータ量が小さいほど、基準期間が短くなるように設定する。この設定された基準期間の長さを示す情報が主記憶18に一時的に記憶される点、及び、S6における判定で当該情報が使用される点は、実施形態2と同様である。
なお、変更部90は、データ量情報が示すデータ量が所定範囲であるか否かを判定し、当該判定結果に基づいて基準期間の長さを変更してもよい。例えば、変更部90は、データ量情報が示すデータ量が基準量以上である場合、基準期間を第1の長さ(例えば、標準値よりも短い長さ)に設定し、データ量情報が示すデータ量が基準量未満である場合、基準期間を、第1の長さよりも長い第2の長さ(例えば、標準値よりも長い長さ)に設定するようにしてもよい。
(3−2)また、変更部90が変形例(1−1)のように基準期間の長さを変更する場合、表示制御部72は、データ量情報が示すデータ量が所定範囲となる項目の項目画像(アイコン52)が表示画面(キャラクタ選択画面50)に表示されているか否かを判定する。「データ量が所定範囲となる」とは、データ量が基準量以上となる状態、又は、データ量が基準量未満となる状態である。所定範囲(即ち、基準量)は、予め定められた範囲(数値)であればよい。
表示制御部72は、ゲームデータ記憶部84の記憶内容を参照し、キャラクタ選択画面50に表示されている各アイコン52を特定する。そして、表示制御部72は、データ量情報を参照して、当該特定された各アイコン52が示すキャラクタに関連付けられたデータ量を取得し、このデータ量と基準量とを比較することによって、データ量が所定範囲となるキャラクタのアイコン52が表示されているか否かを判定する。
例えば、変更部90は、データ量情報が示すデータ量が基準量以上であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、第1の長さの基準期間を設定し、データ量情報が示すデータ量が基準量未満であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、第1の長さよりも短い第2の長さの基準期間を設定する。別の言い方をすれば、変更部90は、データ量情報が示すデータ量が基準量以上であるキャラクタのアイコン52がキャラクタ選択画面50に表示されている場合、データ量情報が示すデータ量が基準量未満であるキャラクタのアイコン52がキャラクタ選択画面50に表示されていない場合よりも長い基準期間を設定する。
(3−3)また、変更部90が変形例(1−2)のように基準期間の長さを変更する場合、変更部90は、ゲームデータ記憶部84の記憶内容を参照し、データ量情報が示すデータ量が所定範囲となるキャラクタのアイコン52の表示位置と、カーソル54の現在位置と、を特定し、これらの位置関係と位置に関する条件とを比較する。変更部90は、アイコン52とカーソル54との現在の位置関係が満たす条件に関連付けられた長さの基準期間を設定する。
ここでは、変更部90は、データ量情報が示すデータ量が所定範囲となるキャラクタのアイコン52にカーソル54が近づくほど、基準期間の長さが長く又は短くなるように、基準期間の長さを変更する。例えば、変更部90は、データ量が基準量よりも大きいアイコン52にカーソル54が近づくほど、基準期間の長さが長くなるように設定する。別の言い方をすれば、変更部90は、データ量が基準量よりも低いアイコン52にカーソル54が近づくほど、基準期間の長さが短くなるように設定する。
(4)また例えば、アイコン52が示すキャラクタに対応するデータの種類に応じて、基準期間の長さを変更するようにしてもよい。例えば、3Dモデルデータのように比較的データ量が大きく読み込みに時間がかかる種類のデータが取得対象となる場合には、基準期間を比較的長く設定し、データ量があまり大きくない種類のデータが取得対象となる場合には、基準期間を比較的短く設定するようにしてもよい。
変形例(4)においては、項目(アイコン52が示すキャラクタ)には、一又は複数の種類のデータが対応付けられている。データの種類とは、データの属性であり、例えば、データの拡張子により識別される種類である。変更部90は、項目(アイコン52が示すキャラクタ)がユーザにより指定されたと判定された場合、当該項目に対応するデータの種類に基づいて、基準期間の長さを変更する。
図15は、データの種類と基準期間の長さとの関連付けを示す図である。図15に示すように、データの種類に関する条件と、基準期間の長さと、が関連付けられてゲームデータ記憶部84に記憶されている。データの種類に関する条件とは、データの種類が所定の種類であるか否かを示す条件、又は、データの種類の組み合わせが所定の組み合わせであるか否かを示す条件である。
変更部90は、光ディスク34を参照し、カーソル54が合っているアイコン52のキャラクタに対応するデータの種類を特定する。そして、変更部90は、当該特定したデータの種類と上記条件を比較し、データの種類が満たす条件に関連付けられた長さの基準期間を設定することになる。
なお、キャラクタ選択画面50に表示されている全アイコン52について、取得対象となるデータの種類が複数存在しても良い。この場合、複数種類のデータのうち、ユーザにより選択された種類のデータ、又は、予め定められた種類のデータが、取得対象のデータとして設定される。変更部90は、データ取得部82の取得対象として設定されているデータの種類に基づいて、基準期間の長さを変更することになる。
変形例(4)によれば、取得対象のデータの種類に応じて基準期間の長さを変更することができるので、取得対象のデータが読み込みに時間を要する種類のものである場合(例えば、比較的読み込みに時間がかかることが多い3Dモデルデータが読み出しの対象となっている場合)には、基準期間を長く設定し、取得対象のデータが読み込みに時間を要しない種類のものである場合(例えば、比較的読み込みに時間がかからないことが多いパラメータが読み出し対の対象となっている場合)には、基準期間を短く設定することができる。
(5)また、データ取得部82が光ディスク34から3Dモデルデータを取得する場合を説明したが、例えば、データ取得部82が通信I/F42を介して外部端末から3Dモデルデータを取得するような場合には、通信環境によっては、3Dモデルデータを主記憶18に展開するのに時間がかかることが考えられる。一般的に、無線ネットワークは有線ネットワークよりも通信速度が遅いことが多いので、無線ネットワークを介して3Dモデルデータを取得する場合には、基準期間を比較的長く設定して、3Dモデルデータの読み込みの待機時間が長くなるようにしてもよい。
同様に、CD−ROMからデータを読み込む場合には、フラッシュメモリからデータを読み込む場合よりもデータ転送速度が遅いことが多いので、CD−ROMから3Dモデルデータを取得する場合には、基準期間を比較的長く設定して、フラッシュメモリから3Dモデルデータを取得する場合には、基準期間を比較的短く設定するようにしてもよい。
変形例(5)のゲーム装置10は、記憶手段からのデータの取得速度(データ転送速度)に関する速度情報を取得する手段を含む。当該手段は、制御部14を主として実現される。速度情報は、公知の種々の転送速度判定方法によって取得可能である。例えば、pingコマンドを用いて単位時間当たりの最大データ転送量(BPS:Bits PerSecond)を測定する方法等を適用するようにしてもよい。上記取得された速度情報は、ゲームデータ記憶部84に格納される。また、ここでの速度は、ネットワークの通信速度、又は、記憶媒体からの読み込み速度(例えば、フラッシュメモリのデータ転送速度)を含む意味である。
図16は、速度情報が示す速度に関する条件と基準期間の長さとの関係を示す図である。速度に関する条件とは、速度の範囲に関する条件が格納される。変形例(5)の変更部90は、速度情報に基づいて、基準期間の長さを変更する。ここでは、変更部90は、ゲームデータ記憶部84の記憶内容を参照して速度情報を取得し、当該速度情報が示す速度が満たす条件に関連付けられた長さの基準期間を設定する。
例えば、変更部90は、速度情報が示す速度が速くなるほど、基準期間が短くなるように設定する。別の言い方をすれば、変更部90は、速度情報が示す速度が遅くなるほど、基準期間が長くなるように、基準期間を設定する。
変形例(5)によれば、ゲーム装置10が接続されているネットワークの通信速度や、記憶媒体の読み込み速度に応じて、基準期間を設定することができるので、ユーザの利便性が更に向上する。
(6)また例えば、実行中のゲームの状況に応じて基準期間の長さを変化させるようにしてもよい。例えば、実施形態において説明したようなゲームでは、現在のゲームの状況に応じて使用すべきキャラクタが異なる場合が考えられる。このため、現在の状況に適したキャラクタのアイコン52に、ユーザがカーソル54を合わせる可能性が高い。したがって、現在において、カーソル54が合っているアイコン52のキャラクタが、現在のゲームの状況に適したキャラクタであるか否かに応じて、基準期間の長さを変更するようにしてもよい。
アイコン52に対応するデータは、ゲームに関するデータであり、上記に説明した3Dモデルデータの他にも、キャラクタに関する各種データ(キャラクタに関するパラメータデータ、キャラクタが保有又は装備しているアイテムデータ)や、ユーザに関する各種データ(例えば、ユーザが使用するアバターデータ等)であってもよい。
先述のように、ゲームデータ記憶部84は、ゲームの現在の状況を示すデータ(状況情報)を記憶する。例えば、ユーザが所与の課題(ミッション)を達成することを目指すゲームでは、当該課題の達成状況を示すデータが、状況情報となる。また例えば、ユーザがゲームのステージをクリアすることを目指すゲームでは、ステージのクリア状況を示すデータが、状況情報となる。ゲーム実行部88は、課題の達成状況やステージのクリア状況を、ゲームの進行に応じて適宜更新することになる。
変更部90は、ゲームデータ記憶部84に記憶された状況情報に基づいて、基準期間の長さを変更する。
図17は、実行中のゲームの状況に関する条件と基準期間の長さとの関連付けを示す図である。図17に示すように、ここでは、ゲームの状況に関する条件と基準項目と基準期間の長さとが関連付けられている。基準項目とは、ゲームの状況に関する条件が満たされる場合にデータを取得すべき項目であり、ここでは、複数のキャラクタのうちの何れかが格納される。ゲームの状況に関する条件としては、状況情報が示す状況が所定の状況であるか否かを示す条件が格納され、例えば、状況情報が示す数値(例えば、課題の達成状況を示す数値)が所定範囲であるか否かを示す条件となる。
変更部90は、ゲームデータ記憶部84に記憶された状況情報に基づいて、基準期間の長さを変更する。変更部90は、ゲームデータ記憶部84の記憶内容を参照し、状況情報とゲームの状況に関する条件とを比較する。そして、変更部90は、状況情報が満たす条件に関連付けられた基準項目を取得する。変更部90は、当該基準項目を示すアイコン52にカーソル54が合っている場合、又は、基準項目を示すアイコン52がキャラクタ選択画面50に表示されている場合、基準項目に関連付けられた長さの基準期間を設定することになる。
即ち、継続判定部78が、ゲームの現在の状況に対応する基準項目がユーザによって指定されている状態が基準期間以上にわたって継続したか否かを判定する場合の基準期間を、変更部90が、ゲームの現在の状況に対応する基準時間に設定するともいえる。別の言い方をすれば、継続判定部78は、ゲームの現在の状況に対応する基準項目がユーザによって指定されている状態が、ゲームの現在の状況に対応する基準期間以上にわたって継続したか否かを判定することになる。
変形例(6)によれば、現在のゲームの状況に応じた長さの基準期間を設定することができる。
(7)また例えば、実施形態においては、カーソル54を移動させることによってアイコン52が示すキャラクタを指定する場合を説明したが、キャラクタが指定されたか否かを判定する方法は、これに限られない。ユーザの操作に基づいてキャラクタが指定されたか否かが判定されるようにすればよい。例えば、表示部22に重畳してタッチパネルを備えておき、ユーザがアイコン52をタッチすることによって、ユーザがキャラクタを指定するようにしてもよい。他にも例えば、現実空間におけるユーザの位置を検出する装置からの検出信号に基づいて、ユーザがキャラクタを指定したか否かが判定されるようにしてもよい。
変形例(7)の検出部70は、表示画面又は現実空間における位置の指定操作を検出する。検出部70は、表示画面におけるユーザの指示位置(ユーザが指し示す画面上の位置)を検出する。この場合、ゲーム装置10はポインティングデバイスを含み、検出部70は、当該ポインティングデバイスを主として実現される。当該ポインティングデバイスは、タッチパネルの他にも、マウスであってもよいし、赤外線センサを内蔵したゲームコントローラ等であってもよい。
また、検出部70が現実空間におけるユーザの位置を検出する場合には、ゲーム装置10は、カメラ及び赤外線センサを含み、検出部70は、ユーザを撮影する撮影手段(例えば、カメラ)と、ユーザと基準位置との間隔を測定する測定手段(例えば、赤外線センサ)と、を主として実現される。検出部70は、ユーザを撮影する撮影手段から得られる撮影画像と、測定手段の基準位置とユーザとの間隔に関する深度情報と、に基づいて現実空間におけるユーザの位置を検出する。
変形例(7)のゲーム装置10は、項目(各キャラクタ)に対応する領域を表示画面又は現実空間に設定する手段を含む。例えば、アイコン52の表示領域に対応する表示画面内又は現実空間内の領域が設定される。当該領域を示す情報は、主記憶18に記憶される。変形例(7)では、指定判定部76は、検出部70が検出した位置と領域とを比較して、領域内にユーザにより指定された位置が含まれるか否かを判定することによって、項目がユーザにより指定されたか否かを判定することになる。
(8)また例えば、実施形態においては、3Dモデル画像56が表示されている状態でカーソル54が移動を開始すると、キャラクタ選択画面50から3Dモデル画像56が消去される場合を説明したが、キャラクタを示す画像を直ちに画面から消去するとユーザは不自然さを感じることがあり、キャラクタを示す何らかの画像を常に表示させている方が好ましい場合がある。一方、カーソル54が移動した場合に3Dモデルデータを主記憶18に記憶させたままにしておくと、無駄にメモリを消費をしてしまうことが考えられる。そこで、メモリの消費を軽減しつつ、ユーザに与える不自然さを軽減する方法として、カーソル54が移動した場合に主記憶18から3Dモデルデータを破棄しつつ、キャラクタのスクリーンショット(静止画像)をキャラクタ選択画面50に表示させるようにしてもよい。
変形例(8)の表示制御部72は、検出部70の検出結果に基づいて、項目の指定が解除されたか否かを判定する手段と、項目の指定が解除されたと判定された場合に3Dモデルデータに係る画像を生成する手段と、当該画像が生成された場合に主記憶18から3Dモデルデータを破棄する手段と、を含む。なお、ここでは、カーソル54が移動した場合に、項目の指定が解除されたと判定されることになる。
3Dモデルデータに係る画像とは、3Dモデルデータに基づいて生成される画像であり、ここでは、キャラクタオブジェクト62を仮想カメラ64から見た様子を示す画像である。当該画像を示すデータは、主記憶18に一時的に記憶される。キャラクタ選択画面50には、このデータに基づいてキャラクタを示す画像が表示されることになる。また、この画像が生成された場合には、キャラクタの3Dモデルデータが主記憶18から破棄されることによって、メモリ容量が確保される。カーソル54が移動して、他のキャラクタを示すアイコン52にカーソル54が合っている状態が所定期間継続した場合、当該他のキャラクタの3Dモデルデータが主記憶18に展開されることになる。そして、上記生成された画像のデータが主記憶18から破棄され、キャラクタ選択画面50に表れるキャラクタが更新される。
変形例(8)によれば、キャラクタの画像をあらかじめ光ディスク34に用意しておく必要がなく、ゲーム装置10が、無駄なデータ読み込みの発生をさせずに、キャラクタの画像を生成することができる。また、3Dモデルデータをそのまま主記憶18に残しておく場合に比べて、メモリの無駄な使用が軽減され、ゲーム装置10の処理負荷も軽減することができる。更に、キャラクタ選択画面50からキャラクタが消えることなく、他のキャラクタの選択を行うことができるので、ユーザに不自然さを感じさせずにキャラクタの選択を行うことができる。
(9)また例えば、実施形態においては、アイコン52の位置が固定されており、カーソル54が移動する場合を説明したが、アイコン52が移動し、カーソル54が固定されているようにしてもよい。この場合、移動制御部74は、ユーザによる移動指示操作に基づいて、アイコン52を移動させる。ユーザは、アイコン52を移動させてカーソル54の位置に合わせることによって、キャラクタを指定することになる。また例えば、カーソル54が表示されていなくてもよい。この場合、ユーザは、画面内の所定位置にアイコン52を移動させることによって、アイコン52が示すキャラクタを指定することになる。
また、多数のアイコン52が用意されており、キャラクタ選択画面50に全てのアイコン52を表示することができない場合には、ユーザによる操作に応じて、キャラクタ選択画面50をスクロールさせて、表示されていない分のアイコン52を表示させるようにしてもよい。
また、実施形態においては、光ディスク34から取得されるデータの一例として3Dモデルデータを例に挙げて説明したが、光ディスク34から取得されるデータは、これに限られない。他にも例えば、キャラクタの動画等のデータであってもよい。また、キャラクタのパラメータや装備アイテムによって異なるレンダリング処理が必要な画像の場合には、データの読み込みに比較的時間がかかるので、このような画像のデータを光ディスク34から取得するようにしてもよい。
また、上記実施形態及び変形例の何れか2つ以上を組み合わせてもよい。
また、実施形態1においては、検出部70、表示制御部72、移動制御部74、指定判定部76、継続判定部78、制限部80、データ取得部82、ゲームデータ記憶部84、処理実行部86、及びゲーム実行部88がゲーム装置10に含まれる場合を説明したが、表示制御部72、移動制御部74、処理実行部86、及びゲーム実行部88は、ゲーム装置10に含まれていなくてもよい。
(10)また例えば、上記においては、1台のコンピュータによりゲームが実行される場合を説明したが、複数の装置からなるシステムに本発明を適用するようにしてもよい。ここでは、ユーザが操作するユーザ装置と、サーバ装置と、を含むゲームシステムを例に挙げて説明する。
図18は、ゲームシステムの構成を示す図である。図18に示すように、ユーザ装置100とサーバ装置200とはネットワークNを介して互いにデータ送受信可能に接続される。ネットワークNは、公知の種々のネットワークが適用可能であり、有線ネットワークであってもよいし、無線ネットワークであってもよい。
ユーザ装置100としては、実施形態で説明したゲーム装置10を適用してもよいし、他にも、携帯電話機(スマートフォン)、パーソナルコンピュータ等の公知のコンピュータを適用可能である。制御部110は、CPU等を含んで構成され、記憶部120に格納されるオペレーティングシステムや各種プログラム等に基づいてユーザ装置100の各部を制御する。操作部130は、各種ボタンやタッチパネル等を含んで構成され、各種操作信号を制御部110に入力する。表示部140は、液晶モニタ等を含んで構成され、表示データに基づいて各種画面を表示する。通信部150は、ネットワークカード等を含んで構成され、ネットワークNを介して他の端末と通信を行う。
サーバ装置200は、公知のサーバコンピュータである。制御部210は、CPU等を含んで構成され、記憶部220に格納されるオペレーティングシステムや各種プログラム等に基づいてサーバ装置200の各部を制御する。操作部230は、キーボード等を含んで構成され、各種操作信号を制御部210に入力する。通信部240は、ネットワークカード等を含んで構成され、ネットワークNを介して他の端末と通信を行う。
なお、ユーザ装置100及びサーバ装置200のハードウェア構成は、公知の種々のコンピュータを適用可能であり、上記の例に限られない。例えば、制御部110又は制御部210は、リアルタイムクロックを含み、計時手段としても機能するようにしてもよい。
(10−1)まず、ゲームに関する各種データがサーバ装置200に記憶されており、ゲームに関する各種処理をサーバ装置200が行う場合を説明する。この場合、ユーザ装置100は、サーバ装置200で実行された結果をもとにゲーム画面を表示させるとともに、ユーザの操作を受け付けて、ユーザの操作をサーバ装置200に送信することになる。サーバ装置200は、ユーザの操作を受信すると、当該操作に基づいて処理を実行し、実行結果をユーザ装置100に送信する。
このゲームシステムSに上記実施形態及び変形例を適用すると、ユーザ装置100により、検出部70、表示制御部72、及び移動制御部74が実現され、サーバ装置200により、指定判定部76、継続判定部78、制限部80、データ取得部82、ゲームデータ記憶部84、処理実行部86、ゲーム実行部88、及び変更部90が実現される。
サーバ装置200は、ユーザによる操作内容に関する操作情報を、ネットワークNを介してユーザ装置100から取得する手段を含む。当該手段は、制御部210及び通信部240を主として実現される。即ち、サーバ装置200は、検出部70の検出結果を示す操作情報を、ネットワークNを介して取得することになる。そして、指定判定部76は、当該取得された操作情報に基づいて判定処理を行う。データ取得部82は、取得したデータをユーザ装置に送信することになる。
(10−2)また例えば、ゲームに関する各種データがサーバ装置200に記憶されており、ゲームに関する各種処理をユーザ装置100が行うようにしてもよい。即ち、サーバ装置200は、各種データを管理するだけであり、ユーザ装置100がサーバ装置200からデータを取得して各種処理を実行するようにしてもよい。サーバ装置200は、ユーザ装置100からのデータ取得要求を受け付けると、当該要求に従って、ネットワークNを介してデータをユーザ装置100に送信する。
このゲームシステムSに上記実施形態及び変形例を適用すると、ユーザ装置100により、検出部70、表示制御部72、移動制御部74、指定判定部76、継続判定部78、制限部80、データ取得部82、ゲームデータ記憶部84、処理実行部86、ゲーム実行部88、及び変更部90が実現される。ユーザ装置100は、サーバ装置200に記憶されていたデータを取得して、ゲームデータ記憶部84に格納することになる。
サーバ装置200は、項目に対応するデータを記憶する。即ち、実施形態では光ディスク34に記憶されることとして説明した3Dモデルデータが、サーバ装置200の記憶部220に記憶されることになる。この場合、データ取得部82は、データをネットワークNを介してサーバ装置から取得することになる。
(11)また、上記においては、本発明に係る装置をゲームを実行するコンピュータに適用する場合を説明したが、本発明は、記憶手段からデータを取得する種々のコンピュータに適用可能である。他にも例えば、各種携帯電話機(スマートフォン)やデジタルカメラ、カーナビゲーション装置等に本発明を適用してもよい。