[1.実施形態]
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、パーソナルコンピュータ、又はサーバコンピュータ等によって実現される。
[2.ゲーム装置のハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成の一例を示す図である。図1に示すように、ゲーム装置10は、制御部11、記憶部12、光ディスクドライブ部13、通信部14、表示部15、音声出力部16、及び操作部17を含む。
制御部11は、例えば、一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12又は光ディスクに記憶されたプログラムに基づいて、ゲーム装置10の各部を制御するための処理を実行したり、情報処理を実行したりする。
記憶部12は、主記憶部及び補助記憶部を含む。主記憶部は、例えばRAMを含み、補助記憶部又は光ディスクから読み出されたプログラム及びデータが主記憶部に書き込まれる。主記憶部は、制御部11の作業用メモリとしても用いられる。補助記憶部は、例えばハードディスクドライブ又はソリッドステートドライブ等の不揮発性記憶媒体を含む。補助記憶部は、プログラムやデータが補助記憶部に記憶される。
光ディスクドライブ部13は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、光ディスクを介してゲーム装置10に供給され、記憶部12に記憶される。
なお、ゲーム装置10は、光ディスク以外の情報記憶媒体に記憶されたプログラムやデータを読み出すための構成要素を含むようにしてもよい。例えば、ゲーム装置10はメモリカードスロット部を含むようにしてもよい。メモリカードスロット部は、メモリカード(情報記憶媒体)に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、メモリカードを介してゲーム装置10に供給され、記憶部12に記憶されるようにしてもよい。
通信部14は、インターネット等の通信ネットワークを介してデータ通信を行うためのものである。例えば、プログラムやデータは通信ネットワークを介して遠隔地からゲーム装置10に供給され、記憶部12に記憶されるようにしてもよい。
表示部15は、例えば、液晶ディスプレイ又は有機ELディスプレイ等である。表示部15は、制御部11からの指示に従って画面を表示する。音声出力部16は、例えばスピーカ又はヘッドホン等である。音声出力部16は、制御部11からの指示に従って音声(例えば、音楽又は効果音等)を出力する。
操作部17は、ユーザが操作を行うために用いられるものである。操作部17は、ユーザの操作を受け付けるための一又は複数の操作部材を含む。例えば、操作部17は、ボタン、キー、及びスティック(レバー)の少なくとも一方を含む。また例えば、操作部17はタッチパネル又はマウス等のポインティングデバイスを含む。
[3.ゲーム装置において実行されるゲーム]
ゲーム装置10は、ゲーム空間(仮想世界)において複数のゲームイベントの各々が時系列順に発生するゲームを実行する。ゲーム装置10は、ゲームを実行すると、ゲーム空間を記憶部12の主記憶部に構築する。
図2は、ゲーム空間の一例を示す図である。図2に示すように、ゲーム空間20は、お互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。図2には、ゲーム空間20の一部が示されている。なお、記憶部12に構築されるゲーム空間は、2次元空間であってもよい。
ゲーム空間20には、プレイヤキャラクタ22を示すオブジェクトと、ノンプレイヤキャラクタ24を示すオブジェクトと、ガソリンスタンド26を示すオブジェクトと、ビル28を示すオブジェクトと、が配置されている。プレイヤキャラクタ22は、ユーザの操作に従って行動する。ノンプレイヤキャラクタ24は、コンピュータの操作に従って行動する。例えば、ノンプレイヤキャラクタ24は、仮想世界において所定の時点が到来すると、所定の行動をする。
また、ゲーム空間20には、仮想カメラ30(視点)が設定される。仮想カメラ30は、プレイヤキャラクタ22の位置に基づいて設定される。仮想カメラ30は、プレイヤキャラクタ22の移動に従って移動する。例えば、仮想カメラ30は、プレイヤキャラクタ22の背後の上方に設定される。
なお、仮想カメラ30は、プレイヤキャラクタ22の頭部内の位置(例えば、左目と右目との間の中間位置)に設定されるようにしてもよい。この場合、仮想カメラ30の視野はプレイヤキャラクタ22の視野と略等しくなる。表示部15には、仮想カメラ30から見たゲーム空間20を示すゲーム画面が表示される。
図3は、ゲーム画面の一例を示す図である。図3に示すように、ゲーム画面40には、仮想カメラ30の視野内に含まれる各オブジェクトが表示される。時刻42は、プレイヤキャラクタ22がいる仮想世界の現在の時点(以下、「現在時点」という。)を示す。時刻42は、ゲームの進行とともに更新される。即ち、時刻42は、仮想世界における時間進行とともに更新される。
先述のように、ゲーム空間20では、予め設定されている複数のゲームイベントが時系列順で発生する。ここでは、ゲーム空間20で発生するゲームイベントとして、下記の3つのゲームイベントを例に挙げて説明する。これら3つのゲームイベントは、イベント1,2,3の順番に発生する。以降、イベント1,2,3が発生する時刻を、それぞれ、時刻T1,T2,T3ともいう。
(イベント1)ノンプレイヤキャラクタ24が噂話をする
(イベント2)ガソリンスタンド26が爆発する
(イベント3)ビル28の階段28aが崩れる
ユーザは、プレイヤキャラクタ22を操作しつつ、所与のゲーム課題(ミッション)をクリアすることを目指す。ゲーム課題は、ユーザがゲームにおいて達成すべき課題であり、ゲームクリアのための条件ともいえる。ユーザが所与のゲームプレイをすること、ユーザが所与の操作を行うこと、がゲーム課題に相当する。例えば、プレイヤキャラクタ22がゲーム空間20内で所与の動作(例えば、プレイヤキャラクタ22が所与の場所に到達すること、プレイヤキャラクタ22が所与の行動をとること等)をすること、プレイヤキャラクタ22が所与のアイテムを取得すること、がゲーム課題に相当する。
ここでは、「プレイヤキャラクタ22がビル28の入口28bに到着する」ことが、ゲーム課題に相当する場合を説明する。原則として、ゲーム課題のクリア方法は、ユーザには提示されない。ユーザは、ゲーム課題のクリア方法を知らない状態でゲームをプレイすることになる。
例えば、ビル28の階段28aが崩れるイベント3が時刻T3のタイミングで発生する場合、プレイヤキャラクタ22がビル28の入口28bに到達する前に、時刻T3が到来すると、階段28aが崩れてしまうので、プレイヤキャラクタ22は、入口28bに到達することができない。この場合、ユーザはゲーム課題をクリアすることができない。
また、本実施形態においては、ユーザが所与の操作を行うと、仮想世界の現在時点をゲーム開始時のタイミングである初期時点に戻すことができるようになっている。即ち、プレイヤキャラクタ22は、仮想世界において過去にタイムスリップをすることができる。ここでは、上記初期時点を「2012年12月24日17:56:00」とする。なお、プレイヤキャラクタ22が初期時点にタイムスリップした場合には、プレイヤキャラクタ22は、ゲーム空間20内に設定される初期位置32に戻るようにしてもよい。この場合、プレイヤキャラクタ22は、初期位置32から、再びユーザの操作に基づいてゲーム空間20内で動作することになる。
プレイヤキャラクタ22がタイムスリップした後に仮想世界の時間が経過して、再び時刻T1,T2,T3が到来すると、再びイベント1,2,3が発生することになる。ユーザは、プレイヤキャラクタ22を過去にタイムスリップさせつつゲーム空間20内で行動させ、ゲーム課題をクリアすることを目指す。
上記のようなゲームを実行するゲーム装置10は、主に、下記に説明する3つの機能を実現する。
[第1の機能]
まず、第1の機能の概要について説明する。第1の機能は、プレイヤキャラクタ22が体験したことがあるゲームイベントのゲームイベント発生タイミングが近づいていることをユーザに通知するための機能である。なお、本実施形態においては、プレイヤキャラクタ22が体験していないゲームイベントのゲームイベント発生タイミングが近づいても、当該ゲームイベント発生タイミングはユーザに通知されない。
例えば、プレイヤキャラクタ22がノンプレイヤキャラクタ24に近づいて噂話を聞いた場合(ノンプレイヤキャラクタ24の音声が音声出力部16から出力された場合)、プレイヤキャラクタ22はイベント1を体験したことになる。同様に、プレイヤキャラクタ22がガソリンスタンド26の爆発に遭遇した場合(ガソリンスタンド26の爆発シーンがゲーム画面40に表示された場合)、プレイヤキャラクタ22はイベント2を体験したことになる。また、プレイヤキャラクタ22が階段28aの崩壊に遭遇した場合(階段28aが崩壊するシーンがゲーム画面40に表示された場合)、プレイヤキャラクタ22はイベント3を体験したことになる。
図3に示すように、ゲーム画面40においては、ゲームイベントの内容を示すイベント内容画像44がゲーム画面40に表示されることによって、ゲームイベント発生タイミングがユーザに通知される。イベント内容画像44は、複数のゲームイベントのうちプレイヤキャラクタ22が体験したゲームイベントの内容を示す。プレイヤキャラクタ22が一度も体験していないゲームイベントについては、イベント内容画像44は表示されないことになる。図3の画面例では、プレイヤキャラクタ22が、イベント1(ノンプレイヤキャラクタ24が噂話をする)とイベント3(ビル28の階段28aが崩れる)を体験しており、イベント2(ガソリンスタンド26が爆発する)は体験していない状態を示している。
プレイヤキャラクタ22がゲームイベントを体験した状態で過去にタイムスリップした後、当該ゲームイベントのゲームイベント発生タイミングの到来が再び近づくと、当該ゲームイベントを示すイベント内容画像44がゲーム画面40に表示される。ここでは、イベント内容画像44がゲーム画面40内を所定方向に移動することによって、イベント内容画像44が示すゲームイベントのゲームイベント発生タイミングがユーザに通知(案内)される。
具体的には、イベント内容画像44は、ゲームイベント発生タイミングが近づくと、ゲーム画面40内の発生位置46に発生し、目標位置48に徐々に近づくように移動する。例えば、イベント内容画像44の表示位置と目標位置48との距離が、ゲームイベントが到来するまでの時間に対応するように、イベント内容画像44が移動する。イベント内容画像44が目標位置48に到達すると、当該イベント内容画像44が示すゲームイベントが、ゲーム空間20において発生する。
また、ゲーム画面40には、所与の時間間隔毎に設定される基準時点を示す基準時点画像50が表示される。基準時点は、例えば、初期時点である「2012年12月24日17:56:00」を起点として、所定間隔毎(例えば、5秒毎)に設定される。即ち、基準時点画像50がゲーム画面40内を所定方向に移動することによって、基準時点画像50が示す基準時点がユーザに案内される。
基準時点画像50は、イベント内容画像44と同様の移動制御がなされる。即ち、基準時点画像50は、基準時点が近づくと、ゲーム画面40内の発生位置52に発生し、目標位置54に徐々に近づくように移動する。
例えば、基準時点画像50の表示位置と目標位置54との距離が、基準時点が到来するまでの時間に対応するように、基準時点画像50が移動する。基準時点画像50が目標位置54に到達すると、当該基準時点画像50が示す基準時点が到来する。イベント内容画像44と基準時点画像50とが並んで表示され、互いに同じ方向に移動することによって、ユーザは、イベント内容画像44が示すゲームイベントが到来するまでの時間を、より正確に把握することができる。
[第2の機能]
次に、第2の機能の概要について説明する。第2の機能は、プレイヤキャラクタ22が体験したゲームイベントの発生場所を、ユーザに分かりやすく提示するための機能である。ユーザがゲームプレイ中に所与の操作を行うと、プレイヤキャラクタ22が過去に体験したゲームイベントの詳細を表示させるための確認画面が、表示部15に表示される。なお、確認画面が表示されている間は、ゲームの進行が一時停止するようにしてもよいし、ゲーム進行を止めなくてもよい。
図4は、確認画面の一例を示す図である。図4に示すように、確認画面60は、プレイヤキャラクタ22が体験したゲームイベントを示すイベント内容画像62を含む。イベント内容画像62は、当該イベント内容画像62が示すゲームイベントの発生順に並ぶように表示される。また、基準時点を示す基準時点画像64も確認画面60に表示される。
ただし、確認画面60におけるイベント内容画像62及び基準時点画像64は、ゲーム画面40におけるイベント内容画像44及び基準時点画像50とは異なり、自動的には移動しない。例えば、ユーザの操作に応じてイベント内容画像44及び基準時点画像64が移動する。
地図66は、ゲーム空間20の一部の様子を示す画像である。ユーザがイベント内容画像62を選択すると、当該イベント内容画像62が示すゲームイベントの発生場所に、当該ゲームイベントの詳細を示すイベント詳細画像が表示される。
図5は、イベント詳細画像が表示された確認画面60を示す図である。図5に示すように、ユーザが選択したイベント内容画像62に対応する位置にカーソル68が表示される。当該カーソル68で囲われたイベント内容画像62が示すゲームイベントの発生場所に対応する地図66上の位置に、イベント詳細画像70が表示される。
このように、確認画面60において、ゲームイベント発生タイミングの到来順に並んでいるイベント内容画像44をユーザが選択すると、ゲームイベントの発生場所を指し示すように、地図66上にイベント詳細画像70が表示されるので、ユーザはゲームイベントの発生場所を容易に把握することができる。
[第3の機能]
次に、第3の機能の概要について説明する。第3の機能は、プレイヤキャラクタ22が体験したゲームイベントに基づいて、ゲーム課題のクリア方法をユーザに提供するための機能である。本実施形態においては、確認画面60からユーザが所与の操作を行うと、プレイヤキャラクタ22が体験したゲームイベントに基づいて、所定条件のもとで、ゲーム課題のクリア方法をユーザに提供する。
図6は、確認画面60の一例を示す図である。図6に示すように、ユーザがイベント内容画像62を指定した状態で所与の操作を行うと、所定条件のもとで、ゲーム課題のクリア方法を示すクリア方法提示画像72が表示される。例えば、ゲーム課題をクリアするためにプレイヤキャラクタ22がとるべき行動が、クリア方法として提示される。
ここでは、上記所定条件が、イベント1,2,3の全てをプレイヤキャラクタ22が体験していることである場合を説明する。イベント1,2,3に対応するイベント内容画像62をユーザが選択した状態で所与の操作を行うと、「プレイヤキャラクタ22がビル28の入口28bに到着する」というクリア方法が、クリア方法提示画像72に表示される。
このように、ゲーム装置10においては、ゲームイベント発生タイミングをユーザに把握させやすくするための第1の機能と、ゲームイベントの発生場所を提示するための第2の機能と、ゲーム課題のクリア方法を解析するための第3の機能と、が実現される。以降、これら第1の機能〜第3の機能を実現するための構成について、詳細に説明する。
[4.ゲーム装置において実現される機能]
図7は、ゲーム装置10で実現される機能ブロックを示す機能ブロック図である。図7に示すように、ゲーム装置10は、ゲームデータ記憶部80と、ゲーム実行部82と、ゲームイベント発生部84と、表示制御部86と、時点制御部88と、提示判定部90と、場所提示部92と、タイミング提示部96と、第1受付部98と、第1決定部94と、第2決定部100と、提示制御部102と、組み合わせ判定部104と、第2受付部106と、操作対象制御部108と、クリア判定部110と、を含む。
例えば、ゲームデータ記憶部80は、記憶部12又は光ディスクによって実現され、他の機能ブロックは制御部11によって実現される。即ち、制御部11が記憶部12又は光ディスクに記憶されたプログラムに従って処理を実行することによって、制御部11が、ゲームデータ記憶部80以外の機能ブロックとして機能するようになる。
[4−1.第1の機能に係る機能ブロック]
まず、第1の機能を実現するための機能ブロックについて説明する。第1の機能は、ゲームデータ記憶部80と、ゲーム実行部82と、ゲームイベント発生部84と、表示制御部86と、時点制御部88と、提示判定部90と、を主として実現される。
[4−1−1.ゲームデータ記憶部]
ゲームデータ記憶部80は、ゲームを実行するために必要なデータを記憶する。ここでは、ゲームデータ記憶部80は、ゲーム状況データと、イベントデータと、を記憶する。
ゲーム状況データは、実行中のゲームの状況を示す。ゲーム状況データは、仮想世界の現在時点(時刻)を示すデータと、ゲーム空間20の現在の状態を示すデータと、を含む。現在時点を示すデータは、ゲームの進行に応じて適宜更新され、リアルタイムクロックの計時処理に応じて更新される。ゲーム空間20の現在の状態を示すデータは、例えば、ゲーム空間20に配置される各オブジェクトの状態を示すデータを含む。具体的には、プレイヤキャラクタ22の状態(位置等)を示すデータが、ゲーム空間20の現在の状態を示すデータに含まれる。
図8は、イベントデータのデータ格納例を示す図である。イベントデータは、ゲーム空間20内で発生するゲームイベントを定義したデータであり、ゲームイベント発生タイミングやゲームイベントの発生場所に関する情報を含む。図8に示すように、ゲームイベントの発生時刻と、ゲームイベントの発生場所と、ゲームイベント名と、ゲームイベントの内容と、体験フラグと、がイベントデータとして格納される。
ここでの「ゲームイベント」とは、ゲーム空間20で起こる出来事を示し、ゲーム空間20の出来事を示す画像が表示部15で表示されること、ゲーム空間20における出来事を示す音声が音声出力部16から出力されることを含む意味である。ゲームイベントが発生した場合のゲーム空間20の変化を示すデータ(例えば、オブジェクトの位置変化又は形状変化を示すデータや音声データ)は、ゲームデータ記憶部80に記憶される。このデータが再生されることによって、ゲーム空間20においてゲームイベントが発生する。
イベントデータに格納される発生時刻は、ゲーム開始時の初期時点以降の時点である。イベントデータに格納される発生場所は、ゲーム空間20内の所定場所を示す。例えば、ゲーム空間20内の座標が、発生場所に格納されるようにしてもよい。ゲームイベント名は、イベント内容画像44,62に含まれる文字列が格納され、ゲームイベントの内容は、イベント詳細画像70に含まれる文字列が格納される。体験フラグは、プレイヤキャラクタ22がゲームイベントを体験したか否かを示すフラグである。
なお、制御部11は、ゲームデータ記憶部80の記憶内容を取得する手段及び更新する手段として機能する。また、ゲームデータ記憶部80に記憶されるデータは、上記の例に限られない。他にも例えば、ゲーム空間20に配置される各オブジェクトの形状データやノンプレイヤキャラクタ24の行動を定義したデータ等がゲームデータ記憶部80に記憶されるようにしてもよい。
[4−1−2.ゲーム実行部]
ゲーム実行部82は、仮想世界において複数のゲームイベントの各々が時系列順に発生するゲームを実行する。ゲーム実行部82は、ゲームの進行に応じてゲームデータ記憶部80の記憶内容を更新することによって、ゲームを進行させる。ゲーム実行部82は、ユーザの操作に基づいてゲームデータ記憶部80の記憶内容を更新する。ここでは、ゲーム実行部82は、ユーザのゲームプレイに基づいて、実行中のゲームの状況を示すデータを更新する。
[4−1−3.ゲームイベント発生部]
ゲームイベント発生部84は、複数のゲームイベントの各々について、当該ゲームイベントが発生すべきタイミング(ゲームイベント発生タイミング)が到来した場合、仮想世界(ゲーム空間20内)において当該ゲームイベントを発生させる。
ゲームイベント発生部84は、ゲーム状況データとイベントデータとに基づいて、ゲームイベント発生タイミングが到来したか否かを判定する。例えば、ゲームイベント発生部84は、ゲーム状況データが示す現在時点と、イベントデータに格納されたゲームイベント発生タイミングと、を比較することによって、ゲームイベント発生タイミングが到来したか否かを判定する。
ゲームイベント発生部84は、ゲームイベント発生タイミングが到来したと判定された場合、当該ゲームイベント発生タイミングに関連付けられたゲームイベントを、イベントデータで定義された発生場所で発生させる。例えば、ゲームイベント発生部84は、ゲーム空間20の変化を示すデータを再生することによって、ゲーム空間20においてゲームイベントを発生させる。
[4−1−4.表示制御部]
表示制御部86は、表示部15に表示される各画面の表示制御を行う。本実施形態においては、表示制御部86は、ゲーム画面40と確認画面60との表示制御を行う。
表示制御部86は、複数のゲームイベントの各々について、当該ゲームイベントが発生すべきタイミングが到来するまでの時間に基づいて、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像44)を、ゲーム画面内の第1位置(例えば、発生位置46)から第2位置(例えば、目標位置48)に向けて移動させる。
図9は、表示制御部86の制御内容を説明するための図である。表示制御部86は、案内対象期間内にゲームイベント発生タイミングが含まれると、当該ゲームイベント発生タイミングにおいて発生するゲームイベントを示すイベント内容画像44を発生位置46に表示させる。案内対象期間は、ゲームイベント発生タイミングをユーザに案内すべき期間であり、現在時点に基づいて設定される期間である。例えば、現在時点から、現在時点の所定時間後までの期間が、案内対象期間となる。
表示制御部86は、イベント内容画像44を表示させると、ゲームイベント発生タイミングが近づくにつれて、イベント内容画像44が目標位置48に近づくように移動させる。即ち、表示制御部86は、イベント内容画像44が目標位置48に到達した場合にゲームイベント発生タイミングが到来するように、イベント内容画像44を図中上方向に移動させる。
例えば、図9に示すように、イベント内容画像44の表示位置と目標位置48との距離L1が、当該イベント内容画像44が示すゲームイベントのゲームイベント発生タイミングと現在時点との時間間隔ΔTに対応するように、イベント内容画像44が移動する。例えば、案内対象期間の長さをT0とし、発生位置46と目標位置48との距離をL0とすると、L1=L0×ΔT/T0となるように、イベント内容画像44が移動する。
なお、目標位置48に到達したイベント内容画像44は、ゲーム画面40から消去される。即ち、各イベント内容画像44に対応するゲームイベント発生タイミングが到来した場合、当該イベント内容画像44はゲーム画面40から消去される。
また、表示制御部86は、所与の時間間隔毎に設定される複数の基準時点の各々について、当該基準時点が到来するまでの時間に基づいて、基準画像(例えば、基準時点画像50)をゲーム画面40内の第1位置(例えば、発生位置52)から第2位置(例えば、目標位置54)に向けて移動させる。
表示制御部86は、複数のゲームイベントの各々について、当該ゲームイベントが発生すべきタイミングが属する基準時点に対応する基準画像(例えば、基準時点画像50)とともに、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像44)を、ゲーム画面40内の第1位置(例えば、発生位置46,52)から第2位置(例えば、目標位置48,54)に向けて移動させる。
表示制御部86は、複数の基準時点の各々について、当該基準時点が到来するまでの時間ΔTに基づいて、当該基準時点を示す基準時点画像50を、ゲーム画面40内の発生位置52から目標位置54に向けて移動させる。表示制御部86は、基準時点を案内すべき時点が到来すると、当該基準時点に対応する基準時点画像50を発生位置52に発生させる。その後、表示制御部86は、基準時点が近づくにつれて、基準時点画像50が目標位置54に近づくように移動させる。即ち、表示制御部86は、基準時点画像50が目標位置54に到達した場合に基準時点が到来するように、基準時点画像50を移動させる。
なお、目標位置54に到達した基準時点画像50は、ゲーム画面40から消去される。即ち、各基準時点画像50が示す基準時点が到来した場合、当該基準時点画像50はゲーム画面40から消去される。
例えば、図9に示すように、基準時点画像50の表示位置と目標位置54との距離D1が、当該基準時点画像50が示す基準時点と現在時点との時間間隔ΔTに対応するように、基準時点画像50が移動する。例えば、案内対象期間の長さをT0とし、発生位置52と目標位置54との距離をD0とすると、D1=D0×ΔT/T0となるように、基準時点画像50が移動する。
[4−1−5.時点制御部]
時点制御部88は、複数のゲームイベントの少なくとも一つの発生後に、仮想世界(例えば、ゲーム空間20)の現在時点を、当該ゲームイベントの発生前の時点に戻す。例えば、時点制御部88は、ゲームの実行中において、仮想世界の現在時点を過去の所定時点に戻す。本実施形態では、時点制御部88は、ゲーム状況データに格納された仮想世界の現在時点を、ゲーム開始時の初期時点に設定する。
時点制御部88による制御が行われた場合、ゲームイベント発生部84は、現在時点が過去に戻される前に発生したゲームイベントについて、当該ゲームイベントが発生すべきタイミングが、現在時点が戻された後に再び到来した場合、当該ゲームイベントを再び発生させる。ゲームイベント発生部84は、時点制御部88により制御された仮想世界の現在時点と、ゲームイベント発生タイミングと、を比較することによって、ゲームイベントを再び発生させるか否かを決定することになる。
[4−1−6.提示判定部]
提示判定部90は、複数のゲームイベントの各々について、当該ゲームイベントが発生したことがユーザに提示されたか否かを判定する。「ゲームイベントがユーザに提示される」とは、ゲームイベントが発生する様子がユーザに通知されることであり、例えば、ゲームイベントが発生する様子が表示部15に表示されること、又は、ゲームイベントが発生する様子が音声出力部16から出力されることである。
例えば、提示判定部90は、ゲームイベント発生場所の位置に基づいて設定される領域内に、プレイヤキャラクタ22が到達したか否かを判定することによって、ゲームイベントが発生したことがユーザに提示されたか否かを判定するようにしてもよい。上記領域は、ゲームイベントの発生場所の付近領域であり、例えば、ゲームイベントの発生場所からの距離が閾値(基準距離)未満である領域である。
表示制御部86は、現在時点が戻された場合、複数のゲームイベントの各々について、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像44)をゲーム画面40に表示させるか否かを、提示判定部90の判定結果に基づいて決定することになる。
例えば、表示制御部86は、現在時点が過去に戻された場合、複数のゲームイベントのうち、ユーザに提示されたと判定されたゲームイベントについて、イベント内容画像44をゲーム画面40に表示させる。即ち、表示制御部86は、現在時点が戻された場合、複数のゲームイベントのうち、ユーザに提示されたと判定されないゲームイベントについて、イベント内容画像44がゲーム画面40に表示されることを制限する。「表示を制限する」とは、表示を行わないように抑止することであり、画像を表示させる処理を行わないことである。以降についても同様である。
[4−2.第2の機能に係る機能ブロック]
次に、第2の機能を実現するための機能ブロックについて説明する。第2の機能は、ゲームデータ記憶部80と、ゲーム実行部82と、ゲームイベント発生部84と、表示制御部86と、場所提示部92と、タイミング提示部96と、第1受付部98と、第1決定部94と、を主として実現される。
[4−2−1.場所提示部]
場所提示部92は、複数のゲームイベントの少なくとも一つの発生場所をユーザに提示する。「発生場所をユーザに提示する」とは、ゲームイベントの発生場所をユーザに通知することであり、ゲームイベントの発生場所に関する画像を表示部15に表示させること、又は、ゲームイベントの発生場所に関する音声を音声出力部16から出力させることである。
場所提示部92は、ユーザにより選択されたゲームイベントの発生場所に対応する画面(例えば、確認画面60)内の位置に、当該ゲームイベントの内容を示す画像(例えば、イベント詳細画像70)を表示させることによって、当該ゲームイベントの発生場所をユーザに提示する。本実施形態では、場所提示部92は、確認画面60において、ゲームイベントの内容を示すイベント詳細画像70を、発生場所に対応する地図66上の位置に表示させることによって、ゲームイベントの発生場所をユーザに提示する。
[4−2−2.第1決定部]
第1決定部94は、複数のゲームイベントの各々について、場所提示部92による発生場所の提示を許可するか否かを、提示判定部90の判定結果に基づいて決定する。第1決定部94は、ゲームイベントが発生したことがユーザに提示されたと判定された場合、当該ゲームイベントの発生場所の提示を許可する。即ち、第1決定部94は、ゲームイベントが発生したことがユーザに提示されたと判定されない場合、当該ゲームイベントの発生場所の提示を制限(抑止)する。
[4−2−3.タイミング提示部]
タイミング提示部96は、ゲームイベント発生タイミングをユーザに提示する。例えば、タイミング提示部96は、複数のゲームイベントのうち場所提示部92による発生場所の提示が許可されるゲームイベントについて、ゲームイベント発生タイミングをユーザに提示する。「発生場所の提示が許可されるゲームイベント」とは、複数のゲームイベントのうち所与の条件を満たしたゲームイベントであり、本実施形態では、プレイヤキャラクタ22が体験したゲームイベントである。
「ゲームイベント発生タイミングをユーザに提示する」とは、ゲームイベント発生タイミングをユーザに通知することであり、ゲームイベント発生タイミングに関する画像を表示部15に表示させること、又は、ゲームイベント発生タイミングに関する音声を音声出力部16から出力させることである。
本実施形態では、タイミング提示部96は、複数のゲームイベントの発生順に基づいて、各ゲームイベントの内容を示す画像(例えば、イベント内容画像62)を並べて表示させることによって、ゲームイベント発生タイミングをユーザに提示する。
図10は、タイミング提示部96の処理内容を説明するための図である。図10に示すように、確認対象期間にゲームイベント発生タイミングが含まれるゲームイベントについて、イベント内容画像62が、確認画面60に表示される。確認対象期間は、対象時点に基づいて設定される期間であり、例えば、対象時点から、対象時点の所定時間後までの期間である。対象時点は、確認画面60において提示すべきゲームイベント発生タイミングの基準となる時点であり、ユーザが確認画面60の表示指示を行った場合の仮想世界の現在時点であってもよいし、ユーザの操作に基づいて指定される時点であってもよい。
タイミング提示部96は、複数のゲームイベントの各々について、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像62)の表示位置と画面内の基準位置(例えば、確認画面60内の基準位置74)との位置関係が、当該ゲームイベントのゲームイベント発生タイミングと基準時点との時間間隔に対応するように、当該ゲームイベントの内容を示す画像の表示位置を決定する。
図10に示すように、タイミング提示部96は、対象時点と、ゲームイベント発生タイミングと、の時間間隔に基づいてイベント内容画像62の表示位置を決定する。タイミング提示部96は、対象時点と、ゲームイベント発生タイミングと、の時間間隔が、イベント内容画像62の表示位置と確認画面60内の基準位置74との間隔L2に対応するように、イベント内容画像62を表示させることによって、ゲームイベントの発生順にイベント内容画像62を並べて表示させる。
なお、確認画面60においては、対象時点と基準時点との時間間隔に基づいて、基準時点画像64の表示位置が決定される。例えば、図10に示すように、対象時点と基準時点との時間間隔が、基準時点画像64の表示位置と基準位置76との間隔D2に対応するように、基準時点画像64が表示される。
[4−2−4.第1受付部]
第1受付部98は、タイミング提示部96によりゲームイベント発生タイミングが提示されたゲームイベントのうちから、場所提示部92により発生場所を提示させるべきゲームイベントのユーザによる選択を受け付ける。第1受付部98は、操作部17の検出信号に基づいて、ユーザによる選択を受け付ける。
本実施形態では、第1受付部98は、画面(例えば、確認画面60)に表示された画像(例えば、イベント内容画像62)のユーザによる選択を受け付けることによって、場所提示部92により発生場所を提示させるべきゲームイベントのユーザによる指定を受け付ける。即ち、第1受付部98は、確認画面60に表示された複数のイベント内容画像62のうちの一又は複数について、ユーザによる選択を受け付ける。
また、場所提示部92は、第1受付部98によりユーザによる選択が受け付けられた場合、ユーザにより選択されたゲームイベントの発生場所をユーザに提示する。即ち、場所提示部92は、タイミング提示部96によりゲームイベント発生タイミングが提示されたゲームイベントのうち、第1受付部98が選択を受け付けたゲームイベントについて、ゲームイベントの発生場所を提示することになる。
[4−3.第3の機能に係る機能ブロック]
次に、第3の機能を実現するための機能ブロックについて説明する。第3の機能は、ゲームデータ記憶部80と、ゲーム実行部82と、ゲームイベント発生部84と、表示制御部86と、提示判定部90と、第2決定部100と、提示制御部102と、組み合わせ判定部104と、第2受付部106と、操作対象制御部108と、クリア判定部110と、を主として実現される。
第3の機能を実現するために、本実施形態のゲームデータ記憶部80は、攻略データを記憶する。
図11は、攻略データのデータ格納例を示す図である。攻略データは、ゲーム課題のクリア方法をユーザに提示するために必要な条件を定義したデータである。図11に示すように、攻略データには、ゲームイベントと、ゲーム課題と、が関連付けられている。ここでは、攻略データには、ゲームイベントの組み合わせと、クリア方法を提示すべきゲーム課題と、が関連付けられている。即ち、攻略データは、プレイヤキャラクタ22がどのゲームイベントを体験すれば、どのゲーム課題のクリア方法を提示するか、を定義したデータといえる。
また、第3の機能を実現するために、ゲーム実行部82は、ユーザがゲーム課題をクリアすることを目指すゲームを実行する。なお、ゲーム実行部82は、一又は複数のゲーム課題をユーザがクリアした場合に、ユーザがゲームをクリアしたと判定するようにしてもよい。また、第3の機能を実現するために、ゲームイベント発生部84は、ゲームの実行中において、ゲーム空間20内で所与のゲームイベント(複数のゲームイベント)を発生させる。
[4−3−1.第2決定部]
第2決定部100は、提示判定部90の判定結果に基づいて、ゲーム課題のクリア方法をユーザに提示させるか否かを決定する。「ゲーム課題のクリア方法をユーザに提示」とは、ゲーム課題のクリア方法をユーザに通知することであり、例えば、ゲーム課題のクリア方法を示す画像を表示部15に表示させること、又は、ゲーム課題のクリア方法を示す音声を音声出力部16から出力させることである。
第2決定部100は、ゲームイベントとゲーム課題との関連付けと、提示判定部90の判定結果と、に基づいて、ゲーム課題のクリア方法をユーザに提示させるか否かを決定する。第2決定部100は、攻略データに格納されたゲームイベントがユーザに提示された場合、ゲーム課題のクリア方法をユーザに提示させると決定する。即ち、第2決定部100は、攻略データに格納されたゲームイベントがユーザに提示されていない場合、ゲーム課題のクリア方法をユーザに提示させないと決定する。
[4−3−2.提示制御部]
提示制御部102は、第2決定部100の決定結果に基づいて、ゲーム課題のクリア方法を、ゲームの実行中においてユーザに提示する。例えば、提示制御部102は、ゲーム課題をクリアするためにユーザの操作対象(例えば、プレイヤキャラクタ22)がとるべき動作内容を、ゲーム課題のクリア方法としてユーザに提示する。
[4−3−3.組み合わせ判定部]
組み合わせ判定部104は、提示判定部90によりユーザに提示されたと判定されたゲームイベントの組み合わせが所与の組み合わせであるか否かを判定する。「ゲームイベントの組み合わせが所与の組み合わせである」とは、複数のゲームイベントのうちの特定の複数のゲームイベントをプレイヤキャラクタ22が体験することである。
本実施形態の第2決定部100は、組み合わせ判定部104の判定結果に基づいて、ゲーム課題のクリア方法をユーザに提示させるか否かを決定する。第2決定部100は、ゲームイベントの組み合わせが所与の組み合わせである場合、ゲーム課題のクリア方法をユーザに提示させると決定する。第2決定部100は、ゲームイベントの組み合わせが所与の組み合わせでない場合、ゲーム課題のクリア方法をユーザに提示させないと決定する。
[4−3−4.第2受付部]
第2受付部106は、提示判定部90によりユーザに提示されたと判定されたゲームイベントのうちから、ユーザによる選択を受け付ける。第2受付部106は、操作部17の検出信号に基づいて、ユーザによる選択を受け付ける。第2受付部106は、確認画面60に表示されたイベント内容画像62のユーザによる選択を受け付けることによって、ゲームイベントのユーザによる選択を受け付ける。
第2決定部100は、提示判定部90によりユーザに提示されたと判定されたゲームイベントのうちユーザにより選択されたゲームイベントに基づいて、ゲーム課題のクリア方法をユーザに提示させるか否かを決定する。本実施形態においては、第2決定部100は、ユーザにより選択されたゲームイベントの組み合わせが所与の組み合わせであるか否かの判定結果に基づいて、ゲーム課題のクリア方法をユーザに提示するか否かを判定する。
[4−3−5.操作対象制御部]
操作対象制御部108は、ユーザのゲームプレイに基づいて、ゲーム空間20内でユーザの操作対象を動作させる。操作対象制御部108は、ユーザの操作に基づいてユーザの操作対象をゲーム空間内で移動させる。上記に説明したゲームの場合、プレイヤキャラクタ22が「ユーザの操作対象」に相当する。
操作対象制御部108は、ユーザの操作に基づいてプレイヤキャラクタ22をゲーム空間20内で動作させる。ユーザの操作内容と、プレイヤキャラクタ22の動作内容と、の関連付けがゲームデータ記憶部80に記憶されている。操作対象制御部108は、当該関連付けとユーザの操作とに基づいて、ゲーム空間20内でプレイヤキャラクタ22を動作させる。
[4−3−6.クリア判定部]
クリア判定部110は、ユーザの操作対象(例えば、プレイヤキャラクタ22)の動作に基づいて、ゲーム課題をユーザがクリアしたか否かを判定する。クリア判定部110は、ゲーム課題のクリア条件が満たされたか否かを判定することによって、ゲーム課題をユーザがクリアしたか否かを判定する。
クリア条件は、実行中のゲームの状況が所与の状況になったか否かを示す条件であり、例えば、プレイヤキャラクタ22が所与の動作を行ったか否か(例えば、ゲーム空間20内の所与の場所に行ったか否か、ゲームアイテムを入手したか否か)、ゲーム空間20において所与のゲームイベントが発生したか否か等である。
[5.ゲーム装置において実行される処理]
次に、上記の機能ブロックを実現するためにゲーム装置10で実行される処理について説明する。
図12は、ゲーム装置10において実行される処理を示すフロー図である。なお、図12に示す処理は、ゲームが開始された場合に実行される。制御部11がプログラムに従って図12に示す処理を実行することによって、機能ブロックの各機能が実現される。
図12に示すように、まず、制御部11は、記憶部12にゲーム空間20を構築する(S1)。S1においては、制御部11は、各オブジェクトをゲーム空間20に配置させる。例えば、プレイヤキャラクタ22やノンプレイヤキャラクタ24がゲーム開始時の初期位置に配置され、ゲーム開始時におけるゲーム空間20の様子を示す画像がゲーム画面40に表示されることになる。
制御部11は、仮想世界の現在時点を進める(S2)。S2においては、制御部11は、リアルタイムクロックによる計時処理に基づいて、ゲーム状況データに格納された仮想世界の現在時点を示すデータを更新する。なお、ゲームの開始時には、仮想世界の現在時点は初期時点を示すことになる。
制御部11は、操作部17からの検出信号に基づいて、ユーザにより操作が行われたか否かを判定する(S3)。ユーザにより操作が行われたと判定された場合(S3;Y)、制御部11は、ユーザの操作内容を特定する(S4)。例えば、操作部17からの検出信号と、ユーザの操作内容と、の関連付けが記憶部12に記憶されており、S4においては、当該関連付けが参照されることによって、ユーザの操作内容が特定される。
ユーザによりプレイヤキャラクタ22の動作指示が行われた場合(S4;動作指示)、制御部11は、当該動作指示に基づいて、ゲーム空間20内でプレイヤキャラクタ22を動作させる(S5)。動作指示内容(例えば、ボタン等)と、プレイヤキャラクタ22の動作内容(例えば、ボタンが押下された場合の動作)と、が関連付けられて記憶部12又は光ディスクに記憶されており、S5においては、制御部11は、ユーザにより行われた動作指示に関連付けられた動作を、プレイヤキャラクタ22に行わせる。
制御部11は、ゲームイベント発生タイミングが到来したか否かを判定する(S6)。S6においては、イベントデータに格納された発生時刻と、S2で更新された現在時点と、が比較されることによって、ゲームイベント発生タイミングが到来したか否かが判定される。
ゲームイベント発生タイミングが到来したと判定された場合(S6;Y)、制御部11は、ゲーム空間20において、ゲームイベントを発生させる(S7)。S7においては、制御部11は、イベントデータを参照し、S7において到来したと判定されたゲームイベント発生タイミングに関連付けられたゲームイベントを発生させる。
制御部11は、S7で発生したゲームイベントを、プレイヤキャラクタ22が既に体験済みであるか否かを判定する(S8)。S8においては、制御部11は、S7で発生したゲームイベントに関連付けられた体験フラグの値が参照されることによって、ゲームイベントをプレイヤキャラクタ22が既に体験済みであるか否かを判定する。
プレイヤキャラクタ22が既に体験済みであると判定されない場合(S8;N)、制御部11は、S7で発生したゲームイベントを、プレイヤキャラクタ22が体験したか否かを判定する(S9)。S9においては、制御部11は、S7において発生したゲームイベントがユーザに提示されたか否かを判定することになる。例えば、制御部11は、プレイヤキャラクタ22が、ゲームイベントの発生場所を含む所定領域内にいるか否かを判定する。
プレイヤキャラクタ22がゲームイベントを体験したと判定された場合(S9;Y)、制御部11は、S7で発生したゲームイベントの体験フラグをオンにする(S10)。制御部11は、ゲーム状況データを参照して、ゲーム課題のクリア条件が満たされるか否かを判定する(S11)。S11においては、制御部11は、ゲーム状況データと、ゲーム課題のクリア条件と、を比較することによって、当該クリア条件が満たされるか否かが判定される。
クリア条件が満たされると判定された場合(S11;Y)、制御部11は、ゲーム課題をクリアした旨をユーザに通知する(S12)。S12においては、ゲーム課題をクリアした旨を示す画像が表示部15に表示されたり、ゲーム課題をクリアした旨を示す音声が音声出力部16から出力されたりする。
制御部11は、ゲーム画面40の表示制御処理を行う(S13)。図13は、ゲーム画面40の表示制御処理の一例を示す図である。図13に示すように、制御部11は、ゲーム空間20の様子を示す画像をゲーム画面40に表示させる(S14)。S14においては、仮想カメラ30の視野内に含まれるオブジェクトに座標変換処理が施されることによって、ゲーム空間20の様子を示す画像がゲーム画面40に表示されることになる。
制御部11は、ゲーム状況データに格納された仮想世界の現在時点を示すデータに基づいて、時刻42と基準時点画像50の表示制御を行う(S15)。S15においては、制御部11は、時刻42を仮想世界の現在時点に基づいて更新し、案内対象期間内に含まれる基準時点の各々について、当該基準時点が到来するまでの時間に基づいて基準時点画像50を移動させる。
制御部11は、イベントデータを参照し、案内対象期間にゲームイベント発生タイミングが含まれるか否かを判定する(S16)。案内対象期間にゲームイベント発生タイミングが含まれると判定された場合(S16;Y)、制御部11は、当該ゲームイベント発生タイミングに対応するゲームイベントをプレイヤキャラクタ22が体験済みであるか否かを判定する(S17)。S17においては、制御部11は、イベントデータを参照し、案内対象期間にゲームイベント発生タイミングが含まれるゲームイベントの体験フラグがオンになっているか否かが判定される。
ゲームイベントをプレイヤキャラクタ22が体験済みであると判定された場合(S17;Y)、制御部11は、当該ゲームイベントを示すイベント内容画像44の表示制御を行う(S18)。S18においては、制御部11は、プレイヤキャラクタ22が体験済みであるゲームイベントのゲームイベント発生タイミングが到来するまでの時間に基づいて、イベント内容画像44をゲーム画面40で移動させる。
ゲームイベントをユーザが体験済みでない(ゲームイベントが発生したことがない)場合(S17;N)、S18の処理は実行されず、当該ゲームイベントに対応するイベント内容画像44は表示されないことになる。
制御部11は、案内対象期間に含まれるゲームイベントの全てについてS17及びS18の処理を行ったか否かを判定する(S19)。案内対象期間に含まれるゲームイベントの全てについてS17及びS18の処理を行ったと判定されない場合(S19;N)、処理はS17に戻る。この場合、次のゲームイベントについて、プレイヤキャラクタ22が体験していれば(次のゲームイベントが既に発生したことがあれば)、当該ゲームイベントに対応するイベント内容画像44の表示制御処理が行われる。
案内対象期間に含まれるゲームイベントの全てについてS17及びS18の処理を行ったと判定された場合(S19;Y)、図12に戻り、制御部11は、終了条件が満たされるか否かを判定する(S20)。終了条件は、本処理を終了するための所定条件である。例えば、ゲームクリアの条件が満たされたか否かを示す条件、ゲームオーバーの条件が満たされたか否かを示す条件、及びユーザによるゲームの終了指示が行われたか否かを示す条件等が終了条件に相当する。
終了条件が満たされると判定された場合(S20;Y)、処理は終了する。終了条件が満たされると判定されない場合(S20;N)、処理はS2に戻る。
一方、ユーザによりタイムスリップ指示が行われたと判定された場合(S4;タイムスリップ指示)、制御部11は、プレイヤキャラクタ22がタイムスリップをする様子を示すアニメーションを、表示部15に表示させる(S21)。S21においては、制御部11は、記憶部12又は光ディスクに記憶されたアニメーションデータを再生することによって、プレイヤキャラクタ22が過去にタイムスリップする様子を表示部15に表示させる。
制御部11は、ゲーム状況データを参照し、仮想世界の現在時点を初期時点に戻す(S22)。先述のように、初期時点は、記憶部12又は光ディスクに予め記憶されている。S22においては、制御部11は、ゲーム状況データに含まれる現在時点を、当該初期時点に変更する。
制御部11は、ゲーム状況データを参照し、プレイヤキャラクタ22を初期位置32に戻し(S23)、処理は、S2に戻る。この場合、初期時点からゲームが再び進行するので、タイムスリップする前に発生したゲームイベントであっても、ゲームイベント発生タイミングが到来すれば、当該ゲームイベントが再び発生することになる。
一方、ユーザにより確認画面60の表示指示が行われたと判定された場合(S4;表示指示)、制御部11は、ゲーム画面40を表示部15から消去し、確認画面60の表示制御処理を行う(S24)。
図14は、確認画面60の表示制御処理の一例を示す図である。図14に示すように、制御部11は、地図66を確認画面60に表示させる(S25)。地図66の画像データは、記憶部12又は光ディスク等に記憶されている。S25においては、制御部11は、当該画像データのうちの一部を、地図66として確認画面60に表示させる。
制御部11は、イベントデータを参照して、プレイヤキャラクタ22が体験したゲームイベントがあるか否かを判定する(S26)。S26においては、イベントデータに格納されたゲームイベントのうち、体験フラグがオンになっているものがあるか否かが判定される。
プレイヤキャラクタ22が体験したゲームイベントがあると判定された場合(S26;Y)、制御部11は、プレイヤキャラクタ22が体験したゲームイベントを示すイベント内容画像62を、時系列順で確認画面60に表示させる(S27)。S27においては、制御部11は、確認時点とゲームイベント発生タイミングとの間隔が、対象位置とイベント内容画像62の表示位置との間隔に対応するように、イベント内容画像62の表示位置を決定することによって、時系列順でイベント内容画像62を表示させる。
制御部11は、操作部17からの検出信号に基づいて、ユーザによりイベント内容画像62が選択されたか否かを判定する(S28)。なお、複数のイベント内容画像62が確認画面60に表示されている場合、ユーザが一度に複数のイベント内容画像62を選択可能なようにしてもよい。
イベント内容画像62が選択されたと判定された場合(S28;Y)、制御部11は、地図66上の発生場所にイベント詳細画像70を表示させる(S29)。S29においては、ユーザが選択したイベント内容画像62が示すゲームイベントの発生場所が特定され、当該発生場所に対応する位置にイベント詳細画像70が表示される。なお、ユーザが選択したイベント内容画像62を示す情報は、記憶部12に一時的に記憶される。
制御部11は、ユーザにより解析操作が行われたか否かを判定する(S30)。S30においては、制御部11は、操作部17により所与の操作が行われたか否かを判定する。
ユーザにより解析操作が行われたと判定された場合(S30;Y)、制御部11は、ユーザが選択したゲームイベントの組み合わせが所与の組み合わせであるか否かを判定する(S31)。S31においては、ユーザが選択したイベント内容画像62が示すゲームイベントの組み合わせと、攻略データに格納された組み合わせと、が比較される。
所与の組み合わせであると判定された場合(S31;Y)、制御部11は、ゲーム課題のクリア方法をユーザに提示する(S32)。S32においては、制御部11は、攻略データを参照し、ユーザが選択したゲームイベントの組み合わせに関連付けられたゲーム課題のクリア方法が確認画面60に表示される。
所与の組み合わせでないと判定された場合(S31;N)、制御部11は、解析を実行できない旨のメッセージ(図示せず)を表示させる(S33)。即ち、この場合、ゲーム課題のクリア方法の提示が制限されることになる。
制御部11は、ユーザにより確認画面60を終了するための操作が行われたか否かを判定する(S34)。確認画面60を終了するための操作が行われたと判定されない場合(S34;N)、処理はS28に戻る。
一方、確認画面60を終了するための操作が行われたと判定された場合(S34;Y)、処理はS13に移行する。この場合、再びゲーム画面40の表示制御処理が行われ、ゲームの進行が再開されることになる。
以上説明したゲーム装置10によれば、ゲーム画面40内でイベント内容画像44が移動することによって、ゲームイベントが発生するタイミングをユーザに容易に把握させることができる。更に、プレイヤキャラクタ22が体験したゲームイベントのゲームイベント発生タイミングのみをユーザに通知することができる。
また、確認画面60において時系列順に並ぶイベント内容画像62をユーザが選択すると、ゲームイベントの発生場所に対応する位置にイベント詳細画像70が表示されるので、ゲームイベントの発生場所をユーザが把握しやすくなる。更に、イベント内容画像62は時系列順に並んでいるので、ユーザは、ゲームイベントの発生順を確認画面60で把握しやすくなる。また、プレイヤキャラクタ22が体験したゲームイベントの発生場所のみをユーザに通知することができる。
また、プレイヤキャラクタ22が体験したゲームイベントに応じて、ゲーム課題のクリア方法をユーザに提示することができる。更に、プレイヤキャラクタ22が体験したゲームイベントの組み合わせに応じて、ゲーム課題のクリア方法をユーザに提示することができる。また、ユーザに提示されるクリア方法として、プレイヤキャラクタ22がとるべき動作内容を提示することができる。
[6.変形例]
本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
(1)まず、第1の機能に関する変形例について説明する。図15は、変形例の機能ブロック図である。図15に示すように、以降説明する変形例では、実施形態で説明した機能に加えて期間変更部112と、到来後提示部114と、場所判定部116と、第3決定部118と、が実現される。これら各機能は、制御部11を主として実現される。
(1−1)例えば、案内対象期間の長さがユーザの操作に応じて変化するようにしてもよい。即ち、ユーザが案内対象期間を長くすることによって、より後の期間までゲームイベント発生タイミングが案内されるようにしてもよいし、ユーザが案内対象期間を短くすることによって、現在時点により近い期間のみゲームイベント発生タイミングが案内されるようにしてもよい。
本変形例のゲーム装置10は、期間変更部112を含む。期間変更部112は、ユーザの操作に基づいて、案内対象期間の長さを変更する。期間変更部112は、案内対象期間を短く又は長くする。例えば、ユーザの操作内容と、案内対象期間の変化方法と、が関連付けられて、ゲームデータ記憶部80に記憶されている。案内対象期間の変化方法とは、案内対象期間をどの程度長くするか短くするかである。期間変更部112は、ユーザの操作に関連付けられた変化方法で、案内対象期間の長さを変更する。
表示制御部86は、複数のゲームイベントの各々について、現時点に基づいて設定される期間(例えば、案内対象期間)内に当該ゲームイベントが発生すべきタイミングが含まれる場合に、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像44)をゲーム画面40に表示させる。
表示制御部86は、期間変更部112により案内対象期間の長さが変更された場合、当該変更後の案内対象期間にゲームイベント発生タイミングが含まれるゲームイベントについて、イベント内容画像44を表示させる。案内対象期間が長くなるほどイベント内容画像44の数が多くなり、案内対象期間が短くなるほどイベント内容画像44の数が少なくなる。
変形例(1−1)によれば、ユーザの好みに応じた案内対象期間を設定することができる。
(1−2)また例えば、案内対象期間の長さに応じて、イベント内容画像44が示すゲームイベントの情報量を変化させるようにしてもよい。例えば、案内対象期間が長くなるほど、ゲーム画面40に含まれるイベント内容画像44の数が多くなる可能性があるので、イベント内容画像44が示す情報量が少なくして表示スペースを節約する。同様に、案内対象期間が短くなるほど、ゲーム画面40に含まれるイベント内容画像44の数が少なくなる可能性があるので、イベント内容画像44が示す情報量が多くして、ユーザにゲームイベントの詳細を提示させる。
本変形例の表示制御部86は、複数のゲームイベントの各々について、当該ゲームイベントの内容を示す画像(例えば、イベント内容画像44)をゲーム画面40に表示させる場合、当該画像に含まれる当該ゲームイベントの内容の情報量を、期間変更部112により変更された期間の長さに基づいて変更する。
図16は、案内対象期間の長さと、イベント内容画像44が示す情報量と、の関連付けを示す図である。図16に示すように、案内対象期間が長くなるほどイベント内容画像44が示す情報量が少なくなる。即ち、案内対象期間が短くなるほどイベント内容画像44が示す情報量が多くなる。表示制御部86は、期間変更部112により変更された案内対象期間の長さに関連付けられた情報量に基づいて、イベント内容画像44の表示制御を行う。
イベント内容画像44が示す情報量とは、ゲームイベントの内容の詳しさの程度であり、ここでは、イベント内容画像44に含まれる文字数である。表示制御部86は、案内対象期間の長さに関連付けられた文字数だけイベント内容画像44に含まれるように、イベント内容画像44の表示制御を行う。例えば、表示制御部86は、案内対象期間が長くなるほど、イベント内容画像44が示すゲームイベントの情報量が少なくなるように、イベント内容画像44を表示させる。即ち、表示制御部86は、案内対象期間が短くなるほど、イベント内容画像44が示すゲームイベントの情報量が多くなるように、イベント内容画像44を表示させる。
変形例(1−2)によれば、案内対象期間の長さに応じた最適な情報量をユーザに提供することができる。
なお、案内対象期間の長さと、ゲームイベントの内容自体と、が関連付けられてゲームデータ記憶部80に記憶されているようにしてもよい。この場合、表示制御部86は、期間変更部112により変更された案内対象期間の長さに関連付けられたゲームイベントの内容に基づいて、イベント内容画像44が表示されることになる。
(1−3)また例えば、ゲームイベントが発生した後に、プレイヤキャラクタ22が当該ゲームイベントの発生場所に到達した場合には、ゲームイベントの発生時刻が提示されるようにしてもよい。例えば、プレイヤキャラクタ22がゲームイベントを体験できなかったとしても、このゲームイベントの発生場所にたどりついた場合には、この場所に、ゲームイベント発生タイミングを示す時計が落ちているようにしてもよい。
到来後提示部114は、複数のゲームイベントの各々について、当該ゲームイベントが発生すべきタイミングの到来後に操作対象(例えば、プレイヤキャラクタ22)が当該ゲームイベントの発生場所にいる場合、当該ゲームイベントが発生すべきタイミングをユーザに提示する。タイミング提示部96は、プレイヤキャラクタ22の位置と、ゲームイベントの発生場所と、を比較することによって、プレイヤキャラクタ22がゲームイベントの発生場所にいるか否かを判定する。
図17は、ゲーム画面40の一例を示す図である。図17に示すように、例えば、ゲームイベント発生タイミングを示す時計56がゲーム画面40に表示されることによって、ゲームイベント発生タイミングがユーザに提示される。
ここでは、プレイヤキャラクタ22が体験していないゲームイベントについて、ゲームイベント発生タイミング後に、時計56を示すオブジェクトがゲーム空間20に配置される。当該オブジェクトには、ゲームイベント発生タイミングを示す画像がマッピングされている。プレイヤキャラクタ22が、当該時計56が配置されている場所に到達すると、時計56がゲーム画面40に表示されることになる。
プレイヤキャラクタ22が体験していないが時計56を表示させたゲームイベントについては、プレイヤキャラクタ22がタイムスリップした後に、当該時計56が示す時刻が近づくと、所与の画像がゲーム画面40に表示される。
図18は、ゲーム画面40の一例を示す図である。図18に示すように、タイミング案内画像58がゲーム画面40に表示される。タイミング案内画像58は、イベント内容画像44と同様の移動をする。ただし、図18に示すように、タイミング案内画像58には、イベントの内容(例えば、発生場所)は含まれない。即ち、ユーザは、ゲーム空間20において何が起こるかは分からないが、いつ何かが起こるかのみが分かる状態となる。
表示制御部86は、提示判定部90によりユーザに提示されていないと判定されたゲームイベントのうち、タイミング提示部96によりタイミングが提示されたゲームイベントについて、当該ゲームイベントが発生すべきタイミングが到来するまでの時間に基づいて、所与の画像(例えば、イベント内容画像44とは異なるタイミング案内画像58)を、ゲーム画面40の第1位置(例えば、発生位置46)から第2位置(例えば、目標位置48)に移動させる。
変形例(1−3)によれば、プレイヤキャラクタ22がゲームイベントを体験していなくても、時計56を表示させたゲームイベントについては、ゲームイベント発生タイミングのみをゲーム画面40において案内することができる。
(2)次に、第2の機能に関する変形例について説明する。
(2−1)例えば、確認画面60から指定したイベント内容画像62が示すゲームイベントの発生場所が地図66に含まれていない場合、自動的に当該発生場所が含まれるように地図66の表示制御を行うようにしてもよい。
図19は、地図画像120の一例を示す図である。図19に示すように、地図画像120のうち対象領域122内の画像が、地図66として表示される。対象領域122は、例えば、プレイヤキャラクタ22又は仮想カメラ30の位置を含むように設定される。対象領域122の位置や大きさは、ユーザの操作に基づいて変更可能であってもよい。
表示制御部86は、ユーザにより選択されたゲームイベントの発生場所がゲーム画面に表示されていない場合、当該発生場所がゲーム画面40に表示されるように対象領域の制御を行う。例えば、表示制御部86は、対象領域122内に発生場所が含まれるように、対象領域の位置を変更する。
場所提示部92は、ユーザにより選択されたゲームイベントの発生場所が表示された確認画面60において、ゲームイベントの内容を示す画像(例えば、イベント詳細画像70)を表示させることになる。
変形例(2−1)によれば、確認画面60においてユーザが選択したイベント内容画像62が示すゲームイベントの発生場所を地図66に含めることができる。
(2−2)また例えば、地図66に発生場所が含まれるゲームイベントのみが、イベント内容画像62に表示されるようにしてもよい。
本変形例のゲーム装置10は、場所判定部116を含む。場所判定部116は、複数のゲームイベントの各々の発生場所が確認画面60に表示されているか否かを判定する。場所判定部116は、対象領域と、ゲームイベントの発生場所と、を比較することによって、ゲームイベントの発生場所が確認画面60に表示されているか否かを判定する。
タイミング提示部96は、ゲームイベント発生タイミングをユーザに提示するか否かを、場所判定部116の判定結果に基づいて決定する。タイミング提示部96は、発生場所の提示が許可されているゲームイベントのうち、確認画面60に発生場所が含まれているゲームイベントについて、イベント内容画像62を表示させる。
変形例(2−2)によれば、確認画面60に発生場所が表示されているゲームイベントのゲームイベント発生タイミングのみをユーザに提示することができる。
(2−3)また例えば、プレイヤキャラクタ22が時計56を見たものについては、確認画面60において、ゲームイベントの内容は表示されずに、ゲームイベントが発生するタイミングのみが表示されるようにしてもよい。
本変形例のゲーム装置10は、到来後提示部114と、第3決定部118と、を含む。第3決定部118は、タイミング提示部96によるゲームイベント発生タイミングの提示を許可するか否かを、到来後提示部114による提示がされたか否かで決定する。
例えば、第3決定部118は、プレイヤキャラクタ22が体験していないゲームイベントのうち、到来後提示部114によりゲームイベント発生タイミングが提示されたゲームイベントについて、ゲームイベント発生タイミングを示す画像を確認画面60に表示させる。この場合、上記ゲームイベントの内容を示す画像が確認画面60に表示されることは制限される。
変形例(2−3)によれば、プレイヤキャラクタ22が時計56を見たものについては、確認画面60において、ゲームイベント発生タイミングを表示させることができる。
(3)次に、第3の機能に関する変形例について説明する。
(3−1)例えば、プレイヤキャラクタ22が体験したゲームイベントの数に応じて、ゲーム課題のクリア方法の情報量が変化するようにしてもよい。例えば、プレイヤキャラクタ22が体験したゲームイベントの数が多いほど、クリア方法の情報量が多くなり、プレイヤキャラクタ22が体験したゲームイベントの数が少ないほど、クリア方法の情報量が少なくなるようにしてもよい。
本変形例の提示制御部102は、提示判定部90の判定結果に基づいて、ゲーム課題のクリア方法をユーザに提示させる場合の情報量を決定する手段を含み、当該決定された情報量に基づいて、ゲーム課題のクリア方法を、ゲームの実行中においてユーザに提示する。
図20は、プレイヤキャラクタ22が体験したゲームイベントと、クリア方法の情報量と、の関連付けを示す図である。図20に示すように、プレイヤキャラクタ22が体験したゲームイベントが多くなるほどクリア方法の情報量が多くなる。即ち、プレイヤキャラクタ22が体験したゲームイベントが少なくなるほどクリア方法の情報量が少なくなる。提示制御部102は、提示判定部90によりユーザに提示されたと判定されたゲームイベントに関連付けられた情報量に基づいて、ゲーム課題のクリア方法をユーザに提示する。
ここでは、クリア方法提示画像72に含まれる文字数が、クリア方法の情報量に相当する。提示制御部102は、提示判定部90によりユーザに提示されたと判定されたゲームイベントに関連付けられた文字数だけクリア方法提示画像72に含まれるように、クリア方法提示画像72の表示制御を行うことになる。
変形例(3−1)によれば、プレイヤキャラクタ22が体験したゲームイベントに応じて、ユーザに提示されるクリア方法の情報量を異ならせることができる。
(3−2)また例えば、ユーザがすべきプレイ内容がクリア方法として提示されるようにしてもよい。プレイ内容としては、例えば、ユーザがすべき操作内容及び当該操作がなされるべきタイミングである。
提示制御部102は、ゲーム課題をクリアするためにユーザが行うべきプレイ内容を、ゲーム課題のクリア方法としてユーザに提示する。例えば、提示制御部102は、ユーザが押下すべき操作部17のボタンや当該ボタンが押下されるべきタイミング等を、ゲーム課題のクリア方法として提示する。
変形例(3−2)によれば、ユーザがすべきプレイ内容をクリア方法として提示することができる。
(4)また例えば、実施形態においては、イベント内容画像44及び基準時点画像50がゲーム画面40内を上方向に移動する場合を説明したが、ゲーム画面40内を任意の方向に移動するようにしてもよい。イベント内容画像44及び基準時点画像50がゲーム画面40内を下方向に移動してもよいし、水平方向に移動してもよい。
また例えば、上記においては、プレイヤキャラクタ22が体験したゲームイベントのみイベント内容画像44が表示される場合を説明したが、第1の機能においては、プレイヤキャラクタ22が体験していないゲームイベントについて、イベント内容画像44が表示されるようにしてもよい。即ち、ユーザに提示されていないゲームイベントのゲームイベント発生タイミングが通知されるようにしてもよい。
また例えば、イベント内容画像62が確認画面60において並ぶ方向は、実施形態の例に限られない。イベント内容画像62は、ゲームイベントの発生順に並ぶように、確認画面60に表示されるようにすればよい。
また例えば、本発明は、ゲームシステムにも適用することが可能である。図21は、ゲームシステムの全体構成を示す図である。図21に示すように、ゲームシステム130は、ゲーム装置10とゲームサーバ132とを含んでいる。ゲームサーバ132は、例えば、制御部等を備えたサーバコンピュータである。ゲームシステム130では、ゲーム装置10とゲームサーバ132とが通信ネットワーク134を介してデータを授受することによって、ゲームが実行される。
例えば、ゲームシステム130では、ゲームサーバ132に備えられた記憶部、又はゲームサーバ132からアクセス可能な装置に備えられた記憶部にゲーム状態データが記憶される。そして、ゲーム状態データはゲームサーバ132によって更新される。
具体的には、ゲームシステム130では、ゲーム装置10において行われた操作に関するデータがゲーム装置10からゲームサーバ132に送信される。ゲームサーバ132では、ゲーム装置10から送信されたデータに基づいて、ゲーム状況データ等が更新される。そして、更新後のゲーム状況データがゲームサーバ132からゲーム装置10に送信される。ゲーム装置10では、ゲームサーバ132から送信されたデータに基づいて、ゲーム画面30が表示部15に表示される。
ゲームシステム130では、機能ブロックの各々について、ゲーム装置10とゲームサーバ132との何れかで実現される。即ち、機能ブロック図で示した各機能が、ゲーム装置10とゲームサーバ132とで分担されるようにしてもよい。
例えば、ゲームデータ記憶部80がゲームサーバ132において実現されるようにしてもよい。この場合、ゲームデータ記憶部80の記憶内容がゲームサーバ132からゲーム装置10に送信されるようにすればよい。
また例えば、ゲーム実行部82及びゲームイベント発生部84がゲームサーバ132において実現されるようにしてもよい。この場合、ゲームデータ記憶部80の記憶内容がゲーム装置10からゲームサーバ132に送信されるようにすればよい。
また例えば、表示制御部86、場所提示部92、タイミング提示部96、提示制御部102、及び到来後提示部114が、ゲームサーバ132において実現されるようにしてもよい。この場合、提示内容を示す画像データ等がゲームサーバ132からゲーム装置10に送信されるようにすればよい。
また例えば、時点制御部88、操作対象制御部108、及び期間変更部112がゲームサーバ132において実現されるようにしてもよい。この場合、ゲームデータ記憶部80の記憶内容がゲーム装置10からゲームサーバ132に送信され、ゲームサーバ132からの指示により、ゲームデータ記憶部80の記憶内容が更新される。
また例えば、提示判定部90、第1決定部94、第2決定部100、組み合わせ判定部104、クリア判定部110、場所判定部116、及び第3決定部118がゲームサーバ132において実現されるようにしてもよい。この場合、ゲームデータ記憶部80の記憶内容がゲーム装置10からゲームサーバ132に送信されることによって、ゲームサーバ132は各種判定処理や決定処理を実行する。
また例えば、第1受付部98及び第2受付部106がゲームサーバ132において実現されるようにしてもよい。この場合、ゲームサーバ132は、ゲーム装置10からユーザの操作内容を取得することになる。
なお、ゲームシステム130では、ゲームサーバ132においてゲーム状況データが更新された場合に、更新後のゲーム状況データに基づいてゲームサーバ132がゲーム画面40の画像データ等を生成するようにしてもよい。そして、生成された画像データがゲームサーバ132からゲーム装置10に送信されるようにしてもよい。
また例えば、本発明は、上記に説明したゲーム以外のゲームにも適用することができる。本発明は、ゲームイベント発生タイミングが到来した場合に、ゲーム空間において所定のゲームイベントが発生するゲームに適用することができる。