以下、本発明の一実施形態について、図面を参照して説明する。理解の向上のため、本実施形態に係るゲームプログラムが適用されたゲームソフトが、携帯型ゲーム機等のゲーム装置で実行される場合を例示して説明する。
また、理解の向上のため、次のようなゲームを例示して説明する。このゲームでは、プレイヤーは相棒となるノンプレイヤーキャラクター(以下、「ノンプレイヤーオブジェクト」ともいう)を複数のノンプレイヤーキャラクター候補の中から選択する。プレイヤーはプレイヤーオブジェクトを操作し、様々なアクションを実行しながらノンプレイヤーキャラクターと共に仮想空間内を移動し、目的地を目指す。
移動中にプレイヤーオブジェクト(以下、単に「プレイヤー」ともいう)がアクシデントに遭遇すると、プレイヤーの絶望度が変化する。絶望度は、ゲーム終了の判定に用いるパラメーターであって、プレイヤーの絶望度合を示す。絶望度が所定値に達すると、原則としてゲームが終了する。
以下、絶望度は0から100までの値であって、所定値が100であるものとして説明する。アクシデントに遭遇すると、絶望度が増加し、絶望度が100に達すると、原則としてゲームが終了する。
図1は、実施形態に係るゲーム装置100の機能構成の一例を示すブロック図である。ゲーム装置100は、制御部110と、記憶部120とを備える。
制御部110は、プレイヤーの操作を検出するとともに、検出したプレイヤーの操作に従ってゲーム進行を制御し、ゲーム進行に従ったゲーム画像やゲーム音声を生成して出力する。例えば、制御部110は、検出したプレイヤーの操作や時間経過などに従って、仮想ゲーム空間を変化させたり、仮想ゲーム空間内のノンプレイヤーオブジェクト等の各種オブジェクトの挙動を変化させたり、音声を出力したりする。また例えば、制御部110は、生成したゲーム画像をディスプレイに出力したり、生成したゲーム音声をスピーカーに出力したりする。
上述のような機能を実現するため、制御部110は、例えば、操作検出部111と、イベント制御部112と、出力処理部113と、パラメーター算出部114とを備える。
操作検出部111は、プレイヤーの入力操作を検出し、検出した操作を示す操作情報を他の機能部に出力する。例えば、操作検出部111は、プレイヤーの操作を示す操作信号を、後述する入力インターフェース装置を介してゲームコントローラー等の入力装置から受け付ける。
一例として、操作検出部111は、地図上のプレイヤーオブジェクトを移動させる操作を検出する。また、操作検出部111は、複数のノンプレイヤーオブジェクト候補の中から、ゲーム進行を共にする相棒として1つのノンプレイヤーオブジェクトの選択操作を検出する。また、操作検出部111は、ゲーム進行中の行動に関する複数の行動選択肢の中から、1つの行動選択肢の選択操作を検出する。
イベント制御部112は、ゲーム進行中の、行動イベント等のイベントの進行を制御する。イベントとは、ゲーム進行に従って実行される出来事であって、プレイヤーの操作や、プレイヤーオブジェクトの挙動などの所定の契機により発生する。イベントには、行動イベント等、進行上プレイヤーの操作を必要とするものと、プリレンダームービーの再生によるイベント等、進行上プレイヤーの操作を必要としないものとが含まれる。
行動イベントとは、プレイヤーに対して複数の行動選択肢を提示して行動の選択を促すイベントである。イベント制御部112は、選択された行動選択肢により定まる値を用いて、プレイヤーとノンプレイヤーオブジェクトの親近感を示す値である親近度や、絶望度を更新する。
また、イベント制御部112は、絶望度が所定値に達した場合に、プレイヤーオブジェクトへのペナルティを示すイベントを発生させる。ペナルティを示すイベントには、例えばゲーム終了であることを示すイベントや、ゲーム終了となる事象からプレイヤーオブジェクトを救済することを示す救済イベントが含まれる。
また、イベント制御部112は、地図上のプレイヤーオブジェクトを移動させる操作を操作検出部111が受け付けると、入力操作に従った位置にプレイヤーオブジェクトを移動させる。
出力処理部113は、ゲーム進行により定まるゲーム画像や音声を、後述する出力インターフェース装置を介してスピーカー等に出力する。例えば、出力処理部113は、敵オブジェクトの所在候補となる候補範囲を仮想ゲーム空間の地図上に表示する。敵オブジェクトは候補範囲内に存在する。
出力処理部113は、絶望度を用いて候補範囲の大きさを決定する。例えば、出力処理部113は、絶望度の数値範囲に従って候補範囲の大きさが定められた図示しない候補範囲情報を用いて、候補範囲の大きさを決定する。なお、出力処理部113が候補範囲の大きさを決定する方法についてはこれに限られず、絶望度に従って候補範囲の大きさが一意に定められればよい。なお、絶望度が所定値である「100」に近いほど、出力処理部113は、候補範囲が小さくなるよう大きさを決定する。
パラメーター算出部114は、プレイヤーの入力操作に基づいて、パラメーター値を算出する。パラメーター値は、例えば先述した絶望度である。パラメーター算出部114は、入力操作によって、あるゲーム進行状況に至った場合に、絶望度を変化させる。より詳細には、パラメーター算出部114は、プレイヤーオブジェクトがアクシデントに遭遇すると、アクシデントにより特定される値を用いて絶望度が所定値の「100」に近くなるよう変化させる。例えばパラメーター算出部114は、地図上のプレイヤーオブジェクトと敵オブジェクトとが接触した場合に、絶望度を増加させる。
また、パラメーター算出部114は、変化前の絶望度が「100」に近いほど、絶望度の変化量が小さくなるよう制御する。また、パラメーター算出部114は、行動イベントにおいて、所定の行動選択肢が選択された場合に、絶望度を所定値から遠くなるよう変化させる。
記憶部120は、プレイヤーオブジェクト情報121と、絶望度情報122と、行動イベント情報123とを記憶している。プレイヤーオブジェクト情報121は、プレイヤーオブジェクトの有する絶望度や親近度に関する情報である。絶望度情報122は、ゲーム中に存在するアクシデントによる絶望度の増減に関する情報である。行動イベント情報123は、行動イベントにおいて表示される行動選択肢と、親近度及び絶望度の増加量に関する情報である。
図2は、実施形態に係るゲーム装置100のハードウェア構成の一例を示すブロック図である。
ゲーム装置100は、ゲーム専用のゲーム機で実現されてもよいし、PC(Personal Computer)、スマートフォン、タブレットコンピューター等の汎用的なコンピューターで実現されてもよい。
ゲーム装置100は、演算処理装置131、メインメモリ132、記録装置133、メディアインターフェース装置134、通信インターフェース装置135、画像演算処理装置136、画像メモリ137、音声処理装置138、入力インターフェース装置139、及び出力インターフェース装置140を有する。
演算処理装置131は、例えば、CPU(Central Processing Unit)などの演算ユニットである。メインメモリ132は、例えば、RAM(Random Access Memory)などの記憶装置である。記録装置133は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュROM(Read Only Memory)などの記録装置である。
メディアインターフェース装置134は、記憶媒体から情報を読み取るための装置である。メディアインターフェース装置134は、記憶媒体に情報を書き込めてもよい。メディアインターフェース装置134は、例えば、DVD(Digital Versatile Disc)などの光ディスクを読み取るディスクドライブや、USB(Universal Serial Bus)メモリなどの半導体メモリを読み取るリーダである。通信インターフェース装置135は、ネットワークケーブルを介して有線通信を行う通信装置、アンテナを介して無線通信を行う通信装置を含む、情報を送受信する装置である。
画像演算処理装置136は、例えば、GPU(Graphics Processing Unit)などの、ゲーム画像等のグラフィックスを生成するための演算ユニットである。画像メモリ137は、例えば、VRAM(Video RAM)などの、ゲーム画像等のグラフィックスをレンダリングするために使用される記憶装置である。レンダリングされたグラフィックスは、後述の出力インターフェース装置140を介してディスプレイ(図示しない)に出力され、表示される。
音声処理装置138は、例えば、DSP(Digital Signal Processor)などの、入力された音声データを処理して音声信号を生成する装置である。生成された音声信号は、出力インターフェース装置140を介してスピーカー(図示しない)に出力され、音声として出力される。入力インターフェース装置139は、例えば、ゲームコントローラー、タッチパネル、又はメカニカルキーなどの入力装置に接続され、当該入力装置からの操作信号を受け付ける装置である。
出力インターフェース装置140は、ディスプレイやスピーカー等の出力装置に接続され、当該出力装置へと出力を行う装置である。例えば、出力インターフェース装置140は、画像演算処理装置136の生成したグラフィックス等の表示データを、ディスプレイに出力する。また、出力インターフェース装置140は、音声処理装置138の生成した音声信号を、スピーカーに出力する。
例えば、演算処理装置131は、記憶媒体に記憶されているゲームソフト(ゲームプログラムやゲームデータを含む)の少なくとも一部を、メディアインターフェース装置134を介して読み込み、メインメモリ132に展開する。演算処理装置131は、記録装置133に記憶されているゲームソフトを読み込んでもよい。また例えば、演算処理装置131は、例えば、読み込んだゲームソフトを実行し、プレイヤー操作による入力装置からの操作信号に従ってゲーム進行を制御する。
また例えば、演算処理装置131は、ゲーム進行に従ったゲーム画像の内容を決定し、その内容を構成する描画データを画像演算処理装置136に生成させる。画像演算処理装置136は、描画データを用いて画像データを画像メモリ137上にレンダリングする。レンダリングされた画像データ(ゲーム画像)は、外部のディスプレイに出力される。また例えば、演算処理装置131は、ゲーム進行に従ったゲーム音声を決定し、当該音声の音声信号を音声処理装置138に生成させ、スピーカーに出力させる。
図1に示した制御部110は、例えば、演算処理装置131がゲームプログラムを実行することによって実現される。制御部110の少なくとも一部の機能、例えば出力処理部113の一部の機能は、画像演算処理装置136や音声処理装置138により実現されてもよい。また、図1に示した記憶部120は、例えば、メインメモリ132又は記録装置133によりその機能が実現される。
図3は、プレイヤーオブジェクト情報121のデータ構造の一例を示す図である。プレイヤーオブジェクト情報121は、プレイヤー識別子1211と、ノンプレイヤー識別子1212と、親近度1213と、絶望度1214と、を含む。
プレイヤー識別子1211は、プレイヤーオブジェクトを特定する識別情報である。ノンプレイヤー識別子1212は、複数のノンプレイヤーオブジェクト候補の中から、相棒として選択されたノンプレイヤーオブジェクトを特定する識別情報である。
親近度1213は、プレイヤー識別子1211により特定されるプレイヤーと、ノンプレイヤー識別子1212により特定されるノンプレイヤーオブジェクトとの親近度である。図3に示す親近度1213は、数値が大きいほど親近感が強い状態を示す。
絶望度1214は、プレイヤー識別子1211により特定されるプレイヤーオブジェクトの絶望度を示す値である。図3に示す絶望度1214は、数値が大きいほど絶望的である状態を示しており、プレイヤーオブジェクトがアクシデントに遭遇すると、絶望度が増加する。
図4は、絶望度情報122のデータ構造の一例を示す図である。絶望度情報122は、アクシデント識別子1221と、絶望度増加基準値1222と、を含む。アクシデント識別子1221は、ゲーム進行中に生じるアクシデントを特定する識別情報である。
なお、本実施形態において、記憶部120の図示しない領域にアクシデントの契機となるアクシデント発生条件が記憶されている。アクシデント発生条件は、例えば入力操作によりプレイヤーオブジェクトが所定の経路を進行した場合や、行動イベントにおいて所定の行動選択肢が選択された場合等である。アクシデント発生条件には、プレイヤーオブジェクトが敵オブジェクトと接触する場合が含まれる。
絶望度増加基準値1222は、アクシデントが発生した際の、絶望度の増加の基準となる値である。絶望度算出処理については、後に詳述する。
図5は、行動イベント情報123のデータ構造の一例を示す図である。行動イベント情報123は、イベント識別子1231と、行動選択肢識別子1232と、親近度増加量1233と、絶望度増加量1234と、を含む。イベント識別子1231は、行動イベントを特定する識別情報である。
行動選択肢識別子1232は、イベント識別子1231により特定されるイベントで表示される行動選択肢を特定する識別情報である。親近度増加量1233は、行動選択肢識別子1232を選択した場合の親近度の増加量を示す値である。絶望度増加量1234は、行動選択肢識別子1232を選択した場合の絶望度の増加量を示す値である。なお、図5に示すように、親近度増加量1233及び絶望度増加量1234は、正の値であっても、負の値であってもよい。
図6は、地図画面表示処理の一例を示すフローチャートである。本処理開始前に、記憶部120の図示しない領域に、絶望度を示す数値範囲毎に候補範囲の大きさを示す値が候補範囲情報として記憶されている。また、操作検出部111は、ノンプレイヤーオブジェクトを選択する選択操作を受け付ける。イベント制御部112は、プレイヤーオブジェクトと、選択されたノンプレイヤーオブジェクトを関連付け、プレイヤーオブジェクト情報121を生成する。
また、イベント制御部112は、ノンプレイヤーオブジェクトが選択された後に、ゲーム開始後に初めて実行されるゲーム開始イベントを開始する。ゲーム開始イベントでは、操作検出部111が所定の入力操作を検出するまで、パラメーター算出部114が絶望度を漸次所定値に近づくよう変化させる。入力操作が検出されると、パラメーター算出部114は絶望度の変化を停止させ、停止時の絶望度をプレイヤーオブジェクト情報121の絶望度1214に設定する。その後、イベント制御部112は、操作検出部111の検出した入力操作に従って、ゲームを進行させる。
本フローチャートの処理は、ゲーム装置100において例えば定期的に実行される。
まず、操作検出部111は、地図表示の操作を受け付ける(ステップS11)。具体的には、操作検出部111は、地図画面を開く入力操作を受け付ける。
次に、出力処理部113は、絶望度を特定する(ステップS12)。具体的には、出力処理部113は、プレイヤーオブジェクト情報121の絶望度1214を、本処理時の絶望度として特定する。
次に、イベント制御部112は、プレイヤーオブジェクト及び敵オブジェクトの位置を特定する(ステップS13)。本実施形態において、プレイヤーオブジェクトはプレイヤーの入力操作に従って移動する。イベント制御部112は、プレイヤーオブジェクトの地図上の位置を特定する。
また、本実施形態において、敵オブジェクトは地図上の任意の位置に存在する。イベント制御部112は、敵オブジェクトが地図上で移動するよう制御してもよい。イベント制御部112は、本処理時の敵オブジェクトの地図上の位置を特定する。
次に、出力処理部113は、候補範囲の大きさを決定する(ステップS14)。具体的には、出力処理部113は候補範囲情報を参照し、ステップS12で特定した絶望度を用いて候補範囲の大きさを決定する。候補範囲は例えば略円形であって、候補範囲の大きさは円の半径により定まる。
次に、出力処理部113は、地図を表示する(ステップS15)。より具体的には、出力処理部113は地図を示す画像情報を作成し、地図画面を表示する。また、出力処理部113は、ステップS13で特定したプレイヤーオブジェクトの地図上の位置に、プレイヤーオブジェクトを示すアイコンを表示する。また、出力処理部113は、ステップS13で特定した敵オブジェクトの位置をその範囲に含む候補範囲の画像情報を生成し、地図上に表示する。制御部110は、その後本フローチャートの処理を終了する。
図10は、地図画面の一例を示す図(その1)である。本例におけるゲーム装置100のディスプレイは、画面表示領域210と、タッチパネル領域220とを有し、出力処理部113は、画面表示領域210及びタッチパネル領域220に表示画面を出力する。また、タッチパネル領域220は、入力操作を受け付けることができる。
図10に示す例において、出力処理部113は、タッチパネル領域220に地図画面を表示する。地図画面は、プレイヤーオブジェクトを示すアイコン221と、候補範囲223とを含む。候補範囲223の内部には、敵オブジェクト222が存在している。敵オブジェクト222は、候補範囲223の内部において一定の大きさを有している。なお、図10では、便宜上敵オブジェクトを点線にて示しているが、実際のゲーム画面では敵オブジェクトは表示されない。
なお、候補範囲223は敵オブジェクト222を内部に含むものであればよく、敵オブジェクト222に対する候補範囲223の位置は任意である。本実施形態では、プレイヤーオブジェクト(即ちアイコン221)と敵オブジェクト222とが接触した場合に、プレイヤーがアクシデントに遭遇したものと取り扱われ、絶望度が所定値に近づく。
また、上述したように、地図画面において、敵オブジェクト222の大きさは候補範囲223の大きさに関わらず一定である。一方で、絶望度が所定値に近いほど、即ち大きいほど、候補範囲は小さく表示される。換言すれば、絶望度が小さい場合には、絶望度が大きい場合に比べて候補範囲が大きく表示されるため、移動するプレイヤーオブジェクトの移動経路上に候補範囲223が存在する可能性が高くなる。敵オブジェクト222の候補範囲223内の位置は視認できないため、候補範囲223の大きさが大きいほど、プレイヤーオブジェクトが敵オブジェクトを回避できずに接触する可能性が高いといえる。
これは、絶望度が大きいほどプレイヤーの感覚が研ぎ澄まされ、敵オブジェクトの回避が容易になるという状況を意味している。一方で、絶望度が小さいと、敵オブジェクトを回避できずに接触し、絶望度が増加する可能性が高くなる。即ち、絶望度が所定値に近い状態を維持しつつゲームを進行させ、プレイヤーに緊張感を与えることができる。
なお、絶望度が所定値に近いほど、候補範囲を大きく表示するものであってもよい。その場合、絶望度が所定値に近いほど、プレイヤーオブジェクトが敵オブジェクトと接触する可能性が高くなるといえる。即ち、プレイヤーに絶望度を低く保つ誘因を与え、興趣性を向上させることが可能となる。
付言すると、図10に示す地図画面には、1つの敵オブジェクト222が表示されているが、敵オブジェクト222の数はこれに限定されない。例えば、1つの候補範囲223の中に、複数の敵オブジェクト222が含まれていてもよい。この場合、例えば、図6に示す地図画面表示処理のステップS13において、イベント制御部112は、複数の敵オブジェクト222のうち任意の敵オブジェクト222の位置を特定する。
その後、ステップS15において、出力処理部113は、当該敵オブジェクト222の位置に基づいて候補範囲223を表示する。イベント制御部112は、候補範囲223の内部に、予め定められた数の敵オブジェクト222を設定する。
また、図10に示す地図画面には、1つの候補範囲223が表示されているが、候補範囲223の数はこれに限定されない。例えば敵オブジェクト222が複数である場合に、各々の敵オブジェクト222に対して候補範囲223が表示されてもよい。その場合、図6に示す地図画面表示処理において、制御部110の各機能部が敵オブジェクト毎にステップS13からステップS15までの処理を行うことにより、複数の候補範囲223が表示される。
図7は、アクシデントが発生する際の絶望度算出処理の一例を示すフローチャートである。本フローチャートの処理は、例えばゲーム進行中に定期的に実行される。
まず、操作検出部111は、プレイヤーオブジェクトの操作を受け付ける(ステップS21)。
次に、イベント制御部112は、アクシデントに遭遇したか否かを判定する(ステップS22)。具体的には、イベント制御部112は、先述のアクシデント発生条件を参照し、ステップS11で検出されたプレイヤーオブジェクトの操作により、アクシデントに遭遇したか否かを判定する。
イベント制御部112が、アクシデントに遭遇していないと判定する場合(ステップS22で「NO」の場合)、イベント制御部112は処理をステップS21に戻す。
イベント制御部112が、アクシデントに遭遇したと判定する場合(ステップS22で「YES」の場合)、パラメーター算出部114は、絶望度変化量を算出する(ステップS23)。具体的には、パラメーター算出部114は、アクシデント発生条件を参照し、遭遇したアクシデントを示すアクシデント識別子を特定する。パラメーター算出部114は、特定したアクシデント識別子を用いて絶望度情報122を参照し、遭遇したアクシデントの絶望度増加基準値1222を特定する。パラメーター算出部114は、絶望度増加基準値を用いて、絶望度変化量を算出する。
図8は、絶望度の増加イメージを示す図である。本実施形態では、遭遇したアクシデント量に対して絶望度が直線的に増加するのではなく、アクシデント量に対し、変化前の絶望度が所定値に近い(即ち、大きい)ほど、変化量が小さくなるよう絶望度が算出される。
例えば、パラメーター算出部114は、プレイヤーオブジェクト情報121を参照し、絶望度1214を変化前の絶望度として特定する。パラメーター算出部114は、変化前の絶望度により定まる係数を、絶望度増加基準値に乗算することにより、絶望度変化量を決定する。
一例として、変化前の絶望度をα、絶望度変化量をβ、絶望度増加基準値をγ、係数をkとする。本例において、変化後の絶望度は、α+βにより算出することができ、絶望度変化量βはγ×kにより算出することができる。また本例では、αの範囲に従って、係数kの値を変更する。
例えば、0≦α<60である場合に、β=γ×k1とする。また、60≦α<82である場合に、β=γ×k2とする。また、82≦α<95である場合に、β=γ×k3とする。また、95≦α<100である場合に、β=γ×k4とする。この場合に、k1>k2>k3>k4とすることで、変化前の絶望度が所定値に近いほど、絶望度変化量が小さくなるよう制御することができる。
なお、図8に示すグラフは、アクシデントの遭遇によってのみ絶望度が変化する状態を便宜的に示したイメージ図である。実際には、行動イベントの実行等の所定の条件に基づいて、絶望度が変化しうる。
説明を図7に戻す。次に、パラメーター算出部114は、変化前の絶望度に絶望度変化量を加算する(ステップS24)。具体的には、パラメーター算出部114は、ステップS23で特定した変化前の絶望度に、ステップS23で算出した絶望度変化量を加算して、変化後の絶望度を求める。パラメーター算出部114は、変化後の絶望度をプレイヤーオブジェクト情報121の絶望度1214に設定する。その後、制御部110は、本フローチャートの処理を終了する。
なお、先述の絶望度情報122の各レコードは、図示しない終了可否フラグを含んでいてもよい。本フローチャートの処理のステップS22において、アクシデントに遭遇したと判定される場合、イベント制御部112は絶望度情報122を参照し、遭遇したアクシデントのアクシデント識別子が、絶望度情報122において終了可能を示すフラグと関連付けられているか否かを判定する。アクシデント識別子が、終了可能を示すフラグと関連づけられている場合、上述の処理により変化後の絶望度が算出される。
アクシデント識別子が、絶望度情報122において終了不可であることを示すフラグと関連付けられている場合、パラメーター算出部114は、α+βが100以上であるか否かを判定し、100未満である場合に上述の処理により変化後の絶望度を算出する。パラメーター算出部は、α+βが100以上である場合、変化前の絶望度に絶望度変化量を加算しない。即ち、変化前の絶望度αが、そのまま変化後の絶望度として取り扱われる。
本実施形態では、絶望度が所定値に達した場合に、原則としてゲームが終了する。絶望度はアクシデントの遭遇により所定値に近づくよう変化するが、変化前の絶望度が所定値に近いほど、変化量が小さくなるよう制御される。これにより、絶望度がゲーム終了の判定に用いる所定値に近い状態を維持しつつゲームを進行させることが可能となり、プレイヤーに緊張感を与えることができ、興趣性が向上する。
また、終了可否フラグにより絶望度を増加させるか否かを判定することで、ゲーム終了となるタイミングや仮想空間上の位置の調整を容易に行うことができる。仮にゲーム終了タイミングや仮想空間上の位置調整が困難である場合、ゲーム終了イベントがどのタイミング及びどの位置で発生しても不自然なものとならないよう、汎用性を持たせる必要がある。本実施形態では、終了のタイミングや位置の調整が容易であるため、よりゲームの終了状況に適したゲーム終了イベントを実行することができ、プレイヤーの満足度を向上させることができる。
図9は、行動イベント発生処理の一例を示すフローチャートである。本処理開始前に、記憶部120の図示しない領域に、行動イベント発生条件が記憶されている。行動イベント発生条件とは、例えばあるゲーム進行状況において所定の入力操作を受け付けたことを示す情報等である。本処理は、例えばゲーム進行中に定期的に実行される。
まず、操作検出部111は、プレイヤーオブジェクトの操作を受け付ける(ステップS31)。
次に、イベント制御部112は、行動イベント発生条件を検出したか否かを判定する(ステップS32)。具体的には、イベント制御部112は、ステップS31において受け付けた操作が、記憶部120に記憶された行動イベント発生条件に相当するか否かを判定する。イベント制御部112が、行動イベント発生条件を検出していないと判定する場合(ステップS32で「NO」の場合)、イベント制御部112は処理をステップS31に戻す。
イベント制御部112が、行動イベント発生条件を検出したと判定する場合(ステップS32で「YES」の場合)、操作検出部111は、行動選択肢の選択を受け付けたか否かを判定する(ステップS33)。操作検出部111が、行動選択肢の選択を受け付けていないと判定する場合(ステップS33で「NO」の場合)、操作検出部111は、行動選択肢の選択を検出するまで、ステップS33の処理を繰り返す。
操作検出部111が、行動選択肢の選択を受け付けたと判定する場合(ステップS33で「YES」の場合)、操作検出部111は、行動選択肢を特定する(ステップS34)。即ち、操作検出部111は、選択された行動選択肢の行動選択肢識別子を特定する。
次に、パラメーター算出部114は、親近度増加量を決定する(ステップS35)。具体的には、パラメーター算出部114は、行動イベント発生条件の検出された行動イベントのイベント識別子を特定する。パラメーター算出部114は、行動イベント情報123を参照し、特定したイベント識別子と、ステップS34で特定した行動選択肢識別子とを含むレコードを特定する。パラメーター算出部114は、当該レコードに含まれる親近度増加量1233を特定する。
次に、パラメーター算出部114は、変化前の親近度に加算する(ステップS36)。具体的には、パラメーター算出部114は、プレイヤーオブジェクト情報121の親近度1213を、変化前の親近度として特定する。パラメーター算出部114は、変化前の親近度に対し、ステップS35で特定した親近度増加量を加算して新たな親近度とし、プレイヤーオブジェクト情報121の親近度1213を更新する。
次に、パラメーター算出部114は、絶望度増加量を決定する(ステップS37)。具体的には、パラメーター算出部114は、ステップS35で特定した行動イベント情報123のレコードに含まれる絶望度増加量1234を特定する。
次に、パラメーター算出部114は、変化前の絶望度に加算する(ステップS38)。具体的には、パラメーター算出部114は、プレイヤーオブジェクト情報121の絶望度1214を、変化前の絶望度として特定する。パラメーター算出部114は、変化前の絶望度に対し、ステップS37で特定した絶望度増加量を加算して新たな絶望度とし、プレイヤーオブジェクト情報121の絶望度1214を更新する。制御部110は、その後本フローチャートの処理を終了する。
なお、本実施形態では、行動イベントにおいて選択された行動選択肢に基づいて、新たな親近度と絶望度とを算出している。しかしながら、あるイベントが開始すると、行動選択肢に関わらず親近度や絶望度を変化させる実施形態においても、本処理を行うことが可能である。その場合、例えば行動イベント情報123の行動選択肢識別子1232に空の情報を設定し、イベント開始条件を満たせば親近度や絶望度が変化するよう制御することができる。
ここで、親近度について、より詳細に説明する。先述したように、親近度はプレイヤーとノンプレイヤーオブジェクトとの親近感の度合いを示す値である。本実施形態では、絶望度が所定値に達した場合に、親近度が予め定められた値に達しているか否かを判定する。親近度が予め定められた値に達している場合、ノンプレイヤーオブジェクトはプレイヤーに対し強い親近感を有しているものとし、イベント制御部112は、ノンプレイヤーオブジェクトによりプレイヤーがゲーム終了となる事象から救済されることを示す救済イベントを実行する。
一方で、絶望度が所定値に達した場合であって、親近度が予め定められた値に達していない場合、救済イベントは行われず、ゲームが終了する。なお、救済イベントは、例えばプリレンダームービーの再生であって、プレイヤーの操作を必要としないイベントである。救済イベントの実行後、パラメーター算出部114は、絶望度を所定値から遠ざける。また、パラメーター算出部114は、親近度を予め定められた値から遠ざける。
以上に記載したように、本実施形態では、絶望度が所定値に達しても、ノンプレイヤーオブジェクトとの親近感が強ければ、ゲーム終了を免れることが可能となる。親近度は、行動選択肢の選択やイベント開始条件の充足により変化するため、プレイヤーの入力操作に従って親近度を予め定められた値に近づけることにより、ゲーム終了を免れる可能性が高まり、より深みのあるゲーム構成とすることができる。
<第一の変形例>
次に、本実施形態の第一の変形例について説明する。上述の実施形態では、候補範囲の大きさが絶望度に従って決定される一方、敵オブジェクトの大きさは一定である。本変形例では、候補範囲の大きさが絶望度に従って定められる点は上述の実施形態と同じであるが、敵オブジェクトの大きさは候補範囲の大きさと同じである。以下、上述の実施形態と異なる点について説明する。
図11は、地図画面の一例を示す図(その2)である。図11に示すように、本変形例の敵オブジェクト222の大きさは、候補範囲223の大きさと同じである。従って、プレイヤーオブジェクトが移動して候補範囲223に接触することは、敵オブジェクト222に接触したことと同義である。敵オブジェクトとの接触がアクシデント発生条件である場合には、接触により、絶望度増加基準値に従って絶望度が増加する。
図6に示すフローチャートにおいて、ステップS14で候補範囲の大きさが決定される。本変形例では、ステップS13で特定した敵オブジェクトの位置と、決定された候補範囲の大きさとを用いて、敵オブジェクト222及び候補範囲223を地図画面に表示する。敵オブジェクト222及び候補範囲223は、例えばステップS13で特定した敵オブジェクトの位置を中心とし、ステップS14で決定された半径を有する略円形である。
本変形例において、絶望度が所定値に近いほど、敵オブジェクト222及び候補範囲223が小さくなるよう表示する。即ち、絶望度が所定値から遠いほど、プレイヤーオブジェクトは敵オブジェクト222と接触し易くなり、絶望度の増加を招く。これにより、絶望度が所定値に近い状態が維持されることとなり、興趣性が向上する。
なお、絶望度が所定値に近いほど、敵オブジェクト222及び候補範囲223が大きくなるよう表示してもよい。即ち、絶望度が所定値に近いほど、プレイヤーオブジェクトは敵オブジェクト222と接触し易くなる。これにより、絶望度を所定値から遠い状態に保つことの誘因を与えることができることに加え、絶望度が所定値から近い状態になった場合に、プレイヤーに切迫感を与えることができる。このように、ゲーム進行に抑揚を持たせることにより、興趣性の向上が可能となる。
<第二の変形例>
次に、本実施形態の第二の変形例について説明する。本変形例では、プレイヤーオブジェクトが地図上で移動する際の速度を、親近度を用いて決定する。以下、上述の実施形態と異なる点について説明する。
図12は、第二の変形例における地図画面表示処理の一例を示すフローチャートである。本処理開始前に、プレイヤーとノンプレイヤーオブジェクトとの親近度の数値範囲毎に、プレイヤーオブジェクトの移動速度が予め設定されている。本処理は、ゲーム装置100において例えば定期的に実行される。
ステップS11からステップS15の処理は、図6に示すステップS11からステップS15の処理と同様であるため、説明を省略する。
次に、操作検出部111は、プレイヤーオブジェクトの移動操作を受け付ける(ステップS16)。
次に、イベント制御部112は、移動速度を決定する(ステップS17)。具体的には、イベント制御部112は、プレイヤーオブジェクト情報121を参照し、親近度1213を本処理時のプレイヤーとノンプレイヤーオブジェクトとの親近度として特定する。イベント制御部112は、特定した親近度に対して予め設定された移動速度を決定する。
次に、出力処理部113は、プレイヤーオブジェクトを移動させ、地図を表示する(ステップS18)。具体的には、出力処理部113は、ステップS15において表示したプレイヤーオブジェクトの位置を始点とし、ステップS17で決定した移動速度で、ステップS16で受け付けた移動操作に従ってプレイヤーオブジェクトを示すアイコン221を地図上で移動させる。その後、出力処理部113は本フローチャートの処理を終了する。
以上説明したように、候補範囲223の表示された地図画面において、親近度により定まる速度でプレイヤーオブジェクトを移動させることができる。この際、プレイヤーオブジェクトは、親近度が高いほど早い速度で移動するよう設定されていることが望ましい。例えば、地図上で敵オブジェクト222が移動する場合、プレイヤーオブジェクトの移動速度が速いほど、敵オブジェクトと接触する可能性が低くなる。
本変形例は、敵オブジェクト222の大きさよりも候補範囲223の大きさが大きい実施形態において、特に有用である。敵オブジェクト222の位置が視認できない場合において、候補範囲223の内部をプレイヤーオブジェクトが移動しなければならない場合に、敵オブジェクト222との接触を免れるため、プレイヤーは、早く候補範囲223を通過したいと考える。その際に、親近度に従って移動速度を決定することで、親近度を向上させることに意欲を持たせることができ、興趣性が向上する。
なお、プレイヤーオブジェクトが候補範囲223の内部を移動する場合にのみ、親近度に従った速度でプレイヤーオブジェクトを移動させてもよい。その場合、候補範囲223の内部を移動する速度と、候補範囲223の内部以外を移動する速度とが異なる可能性がある。候補範囲223の内部を移動する場合にのみ親近度に従った速度とすることで、候補範囲223の内部を走行する際に緊張感が生じ、ゲーム構成に深みを持たせることができる。
以上、図1で示したゲーム装置100の構成は、ゲーム装置100及びゲームプログラムの構成を理解容易にするために、主な処理内容に基づいて分類したものである。構成要素の分類の仕方や名称によって、本発明が制限されることはない。ゲーム装置100及びゲームプログラムの構成は、処理内容に基づいて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。また、図2で示したゲーム装置100のハードウェア構成は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。
また、図6、図7、及び図9等で示したフローチャートの処理単位は、ゲーム装置100及びゲームプログラムの処理を理解容易にするために、主な処理内容に基づいて分割したものである。処理単位の分割の仕方や名称によって、本発明が制限されることはない。ゲーム装置100及びゲームプログラムの処理は、処理内容に基づいて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、本発明の目的及び効果を達成できるのであれば、上記のフローチャートの処理順序も、図示した例に限られるものではない。また、図10~図11に示したゲーム画像は、本発明の目的及び効果を達成できるのであれば、図示した構成態様に限られない。
また、本発明は、家庭用ゲーム機に限らず、携帯型ゲーム機、アーケードゲーム機等のゲーム機にも適用することができるし、PC、スマートフォン等の汎用的なコンピューターにも適用することができる。また、本発明は、単独のゲーム装置によってゲームプログラムが実行される場合に限らず、複数のゲーム装置100あるいはゲーム装置とサーバーによってゲームプログラムが実行される場合にも適用できる。
また、本発明は、上述したようなゲームに限らず、例えば、プレイヤーに操作される第1のオブジェクト(プレイヤーキャラクター等のプレイヤーオブジェクトであって、画面に表示されなくてもよい)、及び当該第1のオブジェクトに関連する第2のオブジェクト(敵キャラクター等の関連オブジェクト)を有する様々なゲームに適用できる。
なお、本発明において、プレイヤーキャラクターはゲーム画面に表示されてもよいし、されなくてもよい。
また、本発明は、ゲームプログラムだけでなく、当該ゲームプログラムを記録したコンピューター読み取り可能な記憶媒体、当該ゲームプログラムを実行するゲーム装置あるいはコンピューター、ゲーム進行制御方法、などの様々な態様で提供することができる。