以下、本発明の一実施形態について、図面を参照して説明する。理解の向上のため、以下では、本実施形態に係るゲームプログラムが適用されたゲームソフトが、携帯型ゲーム機等のゲーム装置で実行される場合を例示して説明する。
また、理解の向上のため、次のようなゲームを例示して説明する。このゲームでは、プレイヤーは相棒となるノンプレイヤーキャラクター(以下、「ノンプレイヤーオブジェクト」ともいう)を複数のノンプレイヤーキャラクター候補の中から選択する。プレイヤーはプレイヤーキャラクターを操作し、様々なアクションを実行しながらノンプレイヤーキャラクターと共に仮想空間内を移動し、目的地を目指す。
移動中に、プレイヤーキャラクター(以下、単に「プレイヤー」ともいう)がアクシデントに遭遇すると、プレイヤーキャラクターの絶望度が増加する。絶望度とは、ゲーム終了の判定に用いるパラメーター値であって、予め定められた第一の値に絶望度が到達すると、原則として、ゲームが終了する。
また、移動中に、プレイヤーとノンプレイヤーキャラクターとの親近感を示す度合いである親近度を増減させる仕組みが設けられている。親近度を増減させる仕組みの一例として、会話イベントがある。会話イベントは、プレイヤーが提供した話題について、プレイヤーとノンプレイヤーキャラクターとで仮想的な会話を行うイベントであって、選択する話題によって親近度が増減する。また、会話イベントでは、選択する話題によって絶望度が減少する。付言すれば、本実施形態において、プレイヤーキャラクターはゲーム画像に表示されてもよいし、されなくてもよい。
図1は、実施形態に係るゲーム装置100の機能構成の一例を示すブロック図である。ゲーム装置100は、制御部110と、記憶部120とを備える。
制御部110は、プレイヤーの操作を検出するとともに、検出したプレイヤーの操作に従ってゲーム進行を制御し、ゲーム進行に従ったゲーム画像やゲーム音声を生成して出力する。例えば、制御部110は、検出したプレイヤーの操作や時間経過などに従って、仮想ゲーム空間を変化させたり、仮想ゲーム空間内のノンプレイヤーオブジェクト等の各種オブジェクトの挙動を変化させたり、音声を出力したりする。また例えば、制御部110は、生成したゲーム画像をディスプレイに出力したり、生成したゲーム音声をスピーカーに出力したりする。
上述のような機能を実現するため、制御部110は、例えば、操作検出部111と、イベント制御部112と、出力処理部113と、パラメーター算出部114とを備える。
操作検出部111は、プレイヤーの操作を検出し、検出した操作を示す操作情報を他の機能部に出力する。例えば、操作検出部111は、プレイヤーの操作を示す操作信号を、後述する入力インターフェース装置を介してゲームコントローラー等の入力装置から受け付ける。
一例として、操作検出部111は、複数のノンプレイヤーオブジェクト候補の中から、ゲーム進行を共にする相棒として1つのノンプレイヤーオブジェクトを選択する選択操作を検出する。また、操作検出部111は、行動イベントにおいて表示される複数の行動選択肢の中から、1又は複数の行動選択肢を選択する選択操作を検出する。なお、行動イベントとは、プレイヤーに対して複数の行動選択肢を提示して行動の選択を促すイベントである。行動イベントには、先述の会話イベントや、後述する課題イベントが含まれる。
イベント制御部112は、ゲーム進行中の、行動イベント等のイベントの進行を制御する。イベントとは、ゲーム進行に従って実行される出来事であって、プレイヤーの操作や、プレイヤーキャラクターの挙動などの所定の契機により発生する。イベントには、行動イベント等、進行上プレイヤーの操作を必要とするものと、プリレンダームービーの再生によるイベント等、進行上プレイヤーの操作を必要としないものとが含まれる。
また、イベント制御部112は、絶望度が第一の値に達した場合に、プレイヤーオブジェクトへのペナルティを示すイベントを発生させる。ペナルティを示すイベントには、例えばゲーム終了であることを示すイベントや、ゲーム終了となる事象からプレイヤーオブジェクトを救済することを示す救済イベントが含まれる。
また、イベント制御部112は、行動イベントの一つである課題イベントにおいて、課題に対して入力された回答が正解であるか否かを判定し、正解である場合にゲームを進行させる。イベント制御部112は、課題イベントにおいて、絶望度を用いて課題の表示時間や入力可能時間を決定する。例えば、イベント制御部112は、絶望度が第一の値に近いほど、課題の表示時間や入力可能時間が短くなるよう制御する。
出力処理部113は、ゲーム進行により定まるゲーム画像や音声を、後述する出力インターフェース装置を介してディスプレイやスピーカー等の出力装置に出力する。例えば、出力処理部113は、課題イベントにおいて、ゲーム進行の条件となる課題を表示する。また、出力処理部113は、イベント制御部112の制御により、課題イベントにおいて絶望度が第一の値に近いほど、短い表示時間で課題を表示する。
また、出力処理部113は、行動イベントにおいて複数の行動選択肢を表示する。また、出力処理部113は、会話イベントにおいて、選択された話題により定まる会話表示を行う。
パラメーター算出部114は、プレイヤーの入力操作に基づいて、パラメーター値を算出する。パラメーター値は、例えば先述した絶望度である。パラメーター算出部114は、入力操作によって、あるゲーム進行状況に至った場合に、絶望度を第一の値に近くなるよう変化させる。より詳細には、パラメーター算出部114は、プレイヤーオブジェクトがアクシデントに遭遇すると、アクシデントにより特定される値を用いて絶望度第一の値に近くなるよう変化させる。なお、パラメーター算出部114は、変化前の絶望度が第一の値に近いほど、絶望度の変化量が小さくなるよう制御する。
また、パラメーター算出部114は、行動イベントにおいて、所定の行動選択肢が選択された場合に、絶望度を第一の値から遠くなるよう変化させる。例えばパラメーター算出部114は、会話イベントにおいて、所定の話題が選択された場合に、当該話題により定まる値を用いて、絶望度が第一の値から遠くなるよう変化させる。
また、パラメーター算出部114は、ゲーム開始後に初めて実行されるゲーム開始イベントにおいて、操作検出部111が入力操作を検出するまで絶望度を漸次第一の値に近づくよう変化させる。なお、パラメーター算出部114は、ゲーム進行中に実行される所定のイベントにおいても、操作検出部111が入力操作を検出するまで絶望度を漸次第一の値に近づくよう変化させてもよい。
記憶部120は、プレイヤーオブジェクト情報121と、絶望度情報122と、行動イベント情報123と、課題情報124とを記憶している。プレイヤーオブジェクト情報121は、プレイヤーオブジェクトの有する絶望度や親近度に関する情報である。絶望度情報122は、ゲーム中に存在するアクシデントによる絶望度の増減に関する情報である。
行動イベント情報123は、課題イベントや会話イベント等の行動イベントにおいて表示される行動選択肢と、親近度及び絶望度の増加量に関する情報である。課題情報124は、課題イベントにおいて表示される課題に関する情報である
図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は、数値が大きいほど絶望的である状態を示しており、プレイヤーオブジェクトがアクシデントに遭遇すると、絶望度が増加する。本実施形態では、絶望度が増加した結果、第一の値に達した場合に、原則としてゲームが終了する。図3に示す例において、第一の値は「100」である。
図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は、課題情報124のデータ構造の一例を示す図である。課題情報124は、課題イベント識別子1241と、課題識別子1242と、正解識別子1243と、絶望度範囲1244と、課題表示時間1245と、入力可能時間1246と、を含む。課題イベント識別子1241は、課題イベントを特定する識別情報である。
課題識別子1242は、課題イベント識別子1241により特定される課題イベントで表示される課題を特定する識別子である。正解識別子1243は、課題識別子1242により特定される課題の正解を特定する識別子である。絶望度範囲1244は、後述の課題表示時間1245及び入力可能時間1246を特定するための絶望度の範囲を示す値である。
課題表示時間1245及び入力可能時間1246は、プレイヤーの絶望度が絶望度範囲1244に示す範囲に含まれる場合の課題の表示時間及び入力可能時間を示す値である。本実施形態における課題情報124は、絶望度が高いほど課題表示時間及び入力可能時間が短く設定されている。
図7は、アクシデントが発生する際の絶望度算出処理の一例を示すフローチャートである。本処理開始前に、操作検出部111は、ノンプレイヤーオブジェクトを選択する選択操作を受け付ける。イベント制御部112は、プレイヤーオブジェクトと、選択されたノンプレイヤーオブジェクトを関連付け、プレイヤーオブジェクト情報121を生成する。
また、イベント制御部112は、ノンプレイヤーオブジェクトが選択された後に、ゲーム開始後に初めて実行されるゲーム開始イベントを開始する。ゲーム開始イベントでは、操作検出部111が所定の入力操作を検出するまで、パラメーター算出部114が絶望度を漸次第一の値に近づくよう変化させる。入力操作が検出されると、パラメーター算出部114は絶望度の変化を停止させ、停止時の絶望度をプレイヤーオブジェクト情報121の絶望度1214に設定する。
その後、イベント制御部112は、操作検出部111の検出した入力操作に従って、ゲームを進行させる。本フローチャートの処理は、例えばゲーム進行中に定期的に実行される。
まず、操作検出部111は、プレイヤーオブジェクトの操作を受け付ける(ステップS11)。
次に、パラメーター算出部114は、アクシデントに遭遇したか否かを判定する(ステップS12)。具体的には、パラメーター算出部114は、先述のアクシデント発生条件を参照し、ステップS11で検出されたプレイヤーオブジェクトの操作により、アクシデントに遭遇したか否かを判定する。
パラメーター算出部114が、アクシデントに遭遇していないと判定する場合(ステップS12で「NO」の場合)、パラメーター算出部114は処理をステップS11に戻す。
パラメーター算出部114が、アクシデントに遭遇したと判定する場合(ステップS12で「YES」の場合)、パラメーター算出部114は、絶望度変化量を算出する(ステップS13)。具体的には、パラメーター算出部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は、変化前の絶望度に絶望度変化量を加算する(ステップ14)。具体的には、パラメーター算出部114は、ステップS13で特定した変化前の絶望度に、ステップS13で算出した絶望度変化量を加算して、変化後の絶望度を求める。パラメーター算出部114は、変化後の絶望度をプレイヤーオブジェクト情報121の絶望度1214に設定する。その後、制御部110は、本フローチャートの処理を終了する。
なお、先述の絶望度情報122の各レコードは、図示しない終了可否フラグを含んでいてもよい。本フローチャートの処理のステップS13において、遭遇したアクシデントのアクシデント識別子が、絶望度情報122において終了可能を示すフラグと関連付けられている場合、上述の処理により変化後の絶望度が算出される。
アクシデント識別子が、絶望度情報122において終了不可であることを示すフラグと関連付けられている場合、パラメーター算出部114は、α+βが100以上であるか否かを判定し、100未満である場合に上述の処理により変化後の絶望度を算出する。パラメーター算出部は、α+βが100以上である場合、変化前の絶望度に絶望度変化量を加算しない。即ち、変化前の絶望度αが、そのまま変化後の絶望度として取り扱われる。
以上に説明したように、本実施形態では、絶望度が第一の値に達した場合に、原則としてゲームが終了する。絶望度はアクシデントの遭遇により第一の値に近づくよう変化するが、変化前の絶望度が第一の値に近いほど、変化量が小さくなるよう制御される。これにより、絶望度がゲーム終了の判定に用いる第一の値に近い状態を維持しつつゲームを進行させることが可能となり、プレイヤーに緊張感を与えることができ、興趣性が向上する。
また、終了可否フラグにより絶望度を増加させるか否かを判定することで、ゲーム終了となるタイミングや仮想空間上の位置の調整を容易に行うことができる。仮にゲーム終了タイミングや仮想空間上の位置調整が困難である場合、ゲーム終了イベントがどのタイミング及びどの位置で発生しても不自然なものとならないよう、汎用性を持たせる必要がある。本実施形態では、終了のタイミングや位置の調整が容易であるため、よりゲームの終了状況に適したゲーム終了イベントを実行することができ、プレイヤーの満足度を向上させることができる。
図9は、行動イベント発生処理の一例を示すフローチャートである。本処理開始前に、記憶部120の図示しない領域に、行動イベント発生条件が記憶されている。行動イベント発生条件とは、例えばあるゲーム進行状況において所定の入力操作を受け付けたことを示す情報等である。本処理は、例えばゲーム進行中に定期的に実行される。
まず、操作検出部111は、プレイヤーオブジェクトの操作を受け付ける(ステップS21)。本ステップの処理は、図7のステップS11における処理と同様であるため、説明を省略する。
次に、イベント制御部112は、行動イベント発生条件を検出したか否かを判定する(ステップS22)。具体的には、イベント制御部112は、ステップS21において受け付けた操作が、記憶部120に記憶された行動イベント発生条件に相当するか否かを判定する。イベント制御部112が、行動イベント発生条件を検出していないと判定する場合(ステップS22で「NO」の場合)、イベント制御部112は処理をステップS21に戻す。
イベント制御部112が、行動イベント発生条件を検出したと判定する場合(ステップS22で「YES」の場合)、操作検出部111は、行動選択肢の選択を受け付けたか否かを判定する(ステップS23)。操作検出部111が、行動選択肢の選択を受け付けていないと判定する場合(ステップS23で「NO」の場合)、操作検出部111は、行動選択肢の選択を検出するまで、ステップS23の処理を繰り返す。
操作検出部111が、行動選択肢の選択を受け付けたと判定する場合(ステップS23で「YES」の場合)、操作検出部111は、行動選択肢を特定する(ステップS24)。即ち、操作検出部111は、選択された行動選択肢の行動選択肢識別子を特定する。
次に、パラメーター算出部114は、親近度増加量を決定する(ステップS25)。具体的には、パラメーター算出部114は、行動イベント発生条件の検出された行動イベントのイベント識別子を特定する。パラメーター算出部114は、行動イベント情報123を参照し、特定したイベント識別子と、ステップS24で特定した行動選択肢識別子とを含むレコードを特定する。パラメーター算出部114は、当該レコードに含まれる親近度増加量1233を特定する。
次に、パラメーター算出部114は、変化前の親近度に加算する(ステップS26)。具体的には、パラメーター算出部114は、プレイヤーオブジェクト情報121の親近度1213を、変化前の親近度として特定する。パラメーター算出部114は、変化前の親近度に対し、ステップS25で特定した親近度増加量を加算して新たな親近度とし、プレイヤーオブジェクト情報121の親近度1213を更新する。
次に、パラメーター算出部114は、絶望度増加量を決定する(ステップS27)。具体的には、パラメーター算出部114は、ステップS25で特定した行動イベント情報123のレコードに含まれる絶望度増加量1234を特定する。
次に、パラメーター算出部114は、変化前の絶望度に加算する(ステップS28)。具体的には、パラメーター算出部114は、プレイヤーオブジェクト情報121の絶望度1214を、変化前の絶望度として特定する。パラメーター算出部114は、変化前の絶望度に対し、ステップS27で特定した絶望度増加量を加算して新たな絶望度とし、プレイヤーオブジェクト情報121の絶望度1214を更新する。制御部110は、その後本フローチャートの処理を終了する。
なお、本実施形態では、行動イベントにおいて選択された行動選択肢に基づいて、新たな親近度と絶望度とを算出している。しかしながら、あるイベントが開始すると、行動選択肢に関わらず親近度や絶望度を変化させる実施形態においても、本処理を行うことが可能である。その場合、例えば行動イベント情報123の行動選択肢識別子1232に空の情報を設定し、イベント開始条件を満たせば親近度や絶望度が変化するよう制御することができる。
ここで、行動イベントの1つである会話イベントについて説明する。
図12は、会話イベントにおける表示画面の一例を示す図である。本例におけるゲーム装置100のディスプレイは、画面表示領域210と、タッチパネル領域220とを有し、出力処理部113は、画面表示領域210及びタッチパネル領域220に表示画面を出力する。また、タッチパネル領域220は、入力操作を受け付けることができる。
会話イベントにおいて、画面表示領域210は、メッセージ表示領域211を有する。メッセージ表示領域211は、メッセージを表示する領域である。会話イベントの一態様として、図12に示すように、メッセージ表示領域211には、複数の話題の中から会話表示を行う話題を選択するよう促すメッセージが表示される。
また、会話イベントにおける画面表示領域210には、例えばノンプレイヤーオブジェクトを示す画像212が表示される。画面表示領域210には、図12に示すように、選択可能な話題数を示すアイコン213が表示されてもよい。
また、会話イベントにおいて、タッチパネル領域220は、話題選択領域221を有する。話題選択領域221には、蓄積した話題が選択可能に表示される。なお、選択可能に表示された話題は、行動選択肢といえ、行動選択肢識別子により識別が可能である。
上述したように、会話イベントは行動イベントの1つである。即ち、行動選択肢としての話題の選択を受け付けると、パラメーター算出部114は選択された行動選択肢に従って親近度や絶望度を更新する。これにより、例えばゲーム進行上好ましい話題が選択された場合に、絶望度を第一の値から遠ざける(本例では小さくする)よう制御することができる。
次に、絶望度判定処理について説明する。
図10は、絶望度判定処理の一例を示すフローチャートである。本処理は、例えばゲーム進行中に定期的に実行される。
まず、イベント制御部112は、絶望度及び親近度を特定する(ステップS31)。具体的には、イベント制御部112は、プレイヤーオブジェクト情報121の絶望度1214及び親近度1213を、本処理時の絶望度及び親近度として特定する。
次に、イベント制御部112は、ステップS31で特定した絶望度が第一の値に達したか否かを判定する(ステップS32)。イベント制御部112が、絶望度が第一の値に達していないと判定する場合(ステップS32で「NO」の場合)、イベント制御部112は処理をステップS31に戻す。
イベント制御部112が、絶望度が第一の値に達したと判定する場合(ステップS32で「YES」の場合)、イベント制御部112は、親近度が第二の値に達したか否かを判定する(ステップS33)。第二の値は、第一の値と同様に、記憶部120の図示しない領域に予め格納されており、親近度が第二の値に近いほど、プレイヤーとノンプレイヤーオブジェクトとの親近度が強い。イベント制御部112は、ステップS31で特定した親近度が、第二の値に達したか否かを判定する。
イベント制御部112が、親近度が第二の値に達していないと判定する場合(ステップS33で「NO」の場合)、イベント制御部112は、ゲーム終了イベントを実行する(ステップS34)。ゲーム終了イベントは、例えばプリレンダームービーの再生であって、プレイヤーの操作を必要としないイベントである。
次に、イベント制御部112は、ゲームを終了する(ステップS35)。その後、制御部110は本フローチャートの処理を終了させる。
イベント制御部112が、親近度が第二の値に達したと判定する場合(ステップS33で「YES」の場合)、イベント制御部112は、救済イベントを実行する(ステップS36)。具体的には、イベント制御部112は、ゲーム開始時に選択されたノンプレイヤーオブジェクトが、プレイヤーキャラクターをゲーム終了となる事象から救済することを示すイベントを実行する。救済イベントは、例えばプリレンダームービーの再生であって、プレイヤーの操作を必要としないイベントである。
次に、イベント制御部112は、絶望度を第一の値から遠ざける(ステップS37)。具体的には、イベント制御部112は、ステップS32において第一の値に達したと判定された絶望度を第一の値から遠ざけ、プレイヤーオブジェクト情報121を更新する。絶望度を第一の値から遠ざける変化量については、予め定められていてもよいし、プレイヤーの入力操作に基づいて定められてもよい。これにより、絶望度が未だ第一の値に達していない状態に戻る。その後、制御部110は本フローチャートの処理を終了する。
本実施形態では、絶望度が第一の値に達しても、ノンプレイヤーキャラクターとの親近感が強ければ、ゲーム終了を免れることが可能となる。親近度は、行動選択肢の選択やイベント開始条件の充足により変化するため、プレイヤーの入力操作に従って親近度を第二の値に近づけることにより、ゲーム終了を免れる可能性が高まり、より深みのあるゲーム構成とすることができる。
図11は、課題イベント発生処理の一例を示すフローチャートである。本処理開始前に、記憶部120の図示しない領域に、行動イベント発生条件が記憶されている。課題イベントは行動イベントの一つであるため、記憶部120を参照することにより、課題イベント発生条件の有無を判定することができる。本処理は、例えばゲーム進行中において定期的に実行される。
まず、操作検出部111は、プレイヤーオブジェクトの操作を受け付ける(ステップS41)。本ステップの処理は、図7のステップS11における処理と同様であるため、説明を省略する。
次に、イベント制御部112は、課題イベント発生条件を検出したか否かを判定する(ステップS42)。具体的には、イベント制御部112は、ステップS41において受け付けた操作が、課題イベント発生条件に相当するか否かを判定する。イベント制御部112が、課題イベント発生条件を検出していないと判定する場合(ステップS42で「NO」の場合)、イベント制御部112は処理をステップS41に戻す。
ここで、課題イベントにおける画面遷移について説明する。本実施形態における課題イベントは、課題表示ステップと回答入力表示ステップとの組合せにより構成される。課題表示ステップでは、1又は複数のキー情報を課題として表示し、プレイヤーはキー情報を暗記する。回答入力表示ステップでは、プレイヤーは入力可能時間内に課題のキー情報を入力する。
図13は、課題イベントにおける表示画面の一例を示す図(その1)である。図13は、課題表示ステップの表示画面の一例である。課題表示ステップにおいて、画面表示領域210は、課題表示領域214と、課題表示時間を示す表示ゲージ215とを含む。なお、図13に示すタッチパネル領域220には、ゲーム装置100の有する入力装置を示す画像が表示されているが、課題表示ステップにおいてタッチパネル領域220に表示される画像は、本画像に限定されない。
課題表示領域214には、1又は複数のキー情報が課題として表示される。図13の課題表示領域214には、「A、(右)、Y、X」のキー情報が課題として表示されている。プレイヤーは、課題表示領域214に表示されたキー情報を、表示された順番に従って記憶する。また、表示ゲージ215は時間の経過に従って満ちていき、表示ゲージ215が充満すると、課題表示ステップから回答入力ステップへと移行する。
なお、本実施形態では、絶望度が第一の値に近いほど、課題の表示時間が短くなるよう制御される。即ち、絶望度が第一の値に近いほど、短時間で課題を記憶しなければならず、課題イベントの難易度が増す。
図14は、課題イベントにおける表示画面の一例を示す図(その2)である。図14は、回答入力表示ステップの表示画面の一例である。回答入力表示ステップにおいて、画面表示領域210は、入力回答表示領域216と、入力ゲージ217とを含む。入力回答表示領域216は、入力装置に対して入力された情報を表示する領域である。図14に示す入力回答表示領域216は、キー「A」が入力されたことを示している。
また、タッチパネル領域220には、ゲーム装置100の有する入力装置を示す画像が表示されている。操作検出部111は、タッチパネル領域220に表示された入力装置の画像への操作を受け付けると、入力装置が直接操作を受け付けたものと取扱い、各機能部に操作情報を出力する。
入力ゲージ217は、入力可能時間を示している。プレイヤーは、入力可能時間内に限り、課題に対する回答を入力することができる。入力ゲージ217は時間の経過に従って満ちていき、入力ゲージ217が充満すると、図示しない評価画面へと表示画面が遷移する。
なお、本実施形態では、絶望度が第一の値に近いほど、入力可能時間が短くなるよう制御される。即ち、絶望度が第一の値に近いほど、プレイヤーは短時間で課題の回答を入力しなければならず、課題イベントの難易度が増加する。
説明を図11に戻す。ステップS42において、イベント制御部112が、課題イベント発生条件を検出したと判定する場合(ステップS42で「YES」の場合)、イベント制御部112は、課題の表示時間と回答の入力可能時間とを決定する(ステップS43)。具体的には、イベント制御部112は、課題イベント発生条件の検出された課題イベントの識別情報を特定する。また、イベント制御部112は、プレイヤーオブジェクト情報121を参照し、課題イベント実行時の絶望度1214を特定する。
イベント制御部112は、課題情報124を参照し、特定した課題イベント識別情報を含むレコードを抽出する。イベント制御部112は、抽出したレコードの絶望度範囲1244を参照し、課題イベント実行時の絶望度をその範囲に含むレコードを特定する。イベント制御部は、特定したレコードの課題表示時間の1245と、入力可能時間1246とを特定する。
次に、イベント制御部112は、課題表示ステップを実行する(ステップS44)。具体的には、イベント制御部112は、課題情報124を参照し、ステップS43で特定した課題イベント識別情報と関連付けられた課題識別子1242を抽出する。イベント制御部112は、抽出した課題識別子1242の中から課題表示ステップにおいて表示する課題の課題識別子1242を決定し、出力処理部113に通知する。
なお、記憶部120の図示しない領域に、課題識別子と課題を示す情報とが関連付けられて記憶されている。出力処理部113は、記憶部120を参照し、決定した課題識別子1242と関連する課題を表示する画面情報を生成する。
また、イベント制御部112は、ステップS43で特定した課題の表示時間を出力処理部113に通知する。出力処理部113は、通知された課題を課題表示領域214に表示させた画面情報を生成し、通知された課題表示時間の間、画面表示領域210に出力する。
次に、イベント制御部112は、回答入力ステップを実行する(ステップS45)。具体的には、イベント制御部112は、課題表示時間が終了したことを出力処理部113に通知し、図14に示す入力回答表示領域216を含む表示画面を、ステップS43で特定した入力可能時間の間、出力処理部113に出力させる。
操作検出部111は、課題に対する入力操作を検出する。なお、出力処理部113は、操作検出部111が入力操作を検出すると、該入力操作に従って入力回答表示領域216の表示を更新する。
次に、イベント制御部112は、正解の回答の入力を受け付けたか否かを判定する(ステップS46)。具体的には、イベント制御部112は、課題情報124を参照し、入力された回答が正解であるか否かを判定する。
イベント制御部112が、正解の回答の入力を受け付けたと判定する場合(ステップS46で「YES」の場合)、イベント制御部112は、すべての課題を表示したか否かを判定する(ステップS47)。具体的には、イベント制御部112は、ステップS44で抽出した1又は複数の課題のすべてを、ステップS44の課題表示ステップにおいて表示したか否かを判定する。イベント制御部112が、すべての課題を表示していない、即ち表示していない課題が存在すると判定する場合(ステップS46で「NO」の場合)、イベント制御部112は処理をステップS44に戻す。
イベント制御部112が、すべての課題を表示したと判定する場合(ステップS47で「YES」の場合)、イベント制御部112は、入力された回答を評価する(ステップS48)。具体的には、イベント制御部112は、予め設定されたランク定義情報を参照し、入力可能時間が開始してから、ステップS46において正解の回答の入力を受け付けたと判定されるまでの所要時間を用いて、ランク付けを行う。イベント制御部112は、ランクを示す評価結果を出力処理部113に表示させ、本フローチャートの処理を終了する。
なお、回答の評価はランクに限定されず、例えば点数であってもよい。また、評価基準は所要時間に限られない。
ステップS46において、イベント制御部112が、正解の回答の入力を受け付けていないと判定する場合(ステップS46で「NO」の場合)、イベント制御部112は、入力可能時間が経過したか否かを判定する(ステップS49)。イベント制御部112が、入力可能時間が経過していないと判定する場合(ステップS49で「NO」の場合)、イベント制御部112は処理をステップS46に戻す。
イベント制御部112が、入力可能時間が経過したと判定する場合(ステップS49で「YES」の場合)、イベント制御部112は、課題イベントを終了する。イベント制御部112は、課題イベント終了を示す画像を出力処理部113に出力させ、本フローチャートの処理を終了する。
なお、入力可能時間の経過によって課題イベントを終了させることが、先述のアクシデント発生条件であってもよい。その場合、例えばステップS50で課題イベントが終了した後に、図7に示す絶望度算出処理が実行され、入力可能時間の経過による課題イベント終了を示すアクシデント識別子に関連付けられた絶望度増加基準値を用いて、絶望度が更新される。
なお、課題イベントの処理手順については、図11に示す例に限定されない。例えば、ステップS49において、入力可能時間が経過したとイベント制御部112が判定した場合に、課題イベントを終了させず、処理をステップS47に移行させてもよい。その場合、課題イベントに含まれるすべての課題が、正解の入力の有無に関わらず課題表示ステップで表示されることとなる。イベント制御部112は、すべての課題に対して入力された操作情報を参照し、回答を評価してもよい。
以上、本実施形態では、絶望度を用いて課題の表示時間と回答の入力可能時間が決定される。絶望度が第一の値に近いほど、課題表示時間及び入力可能時間が短くなるよう設定することにより、絶望度に従って難易度を向上させることができる。
なお、絶望度が第一の値から遠いほど、課題表示時間及び入力可能時間が短くなるよう設定されていてもよい。その場合、絶望的な状態でないほど難易度が増すこととなり、より容易に絶望度が第一の値に近づくといえる。これにより、プレイヤーに緊張感を与えることができ、興趣性が向上する。
以上、図1で示したゲーム装置100の構成は、ゲーム装置100及びゲームプログラムの構成を理解容易にするために、主な処理内容に基づいて分類したものである。構成要素の分類の仕方や名称によって、本発明が制限されることはない。ゲーム装置100及びゲームプログラムの構成は、処理内容に基づいて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。また、図2で示したゲーム装置100のハードウェア構成は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。
また、図7、図9、図10、及び図11等で示したフローチャートの処理単位は、ゲーム装置100及びゲームプログラムの処理を理解容易にするために、主な処理内容に基づいて分割したものである。処理単位の分割の仕方や名称によって、本発明が制限されることはない。ゲーム装置100及びゲームプログラムの処理は、処理内容に基づいて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、本発明の目的及び効果を達成できるのであれば、上記のフローチャートの処理順序も、図示した例に限られるものではない。また、図12~図14に示したゲーム画像は、本発明の目的及び効果を達成できるのであれば、図示した構成態様に限られない。
また、本発明は、家庭用ゲーム機に限らず、携帯型ゲーム機、アーケードゲーム機等のゲーム機にも適用することができるし、PC、スマートフォン等の汎用的なコンピューターにも適用することができる。また、本発明は、単独のゲーム装置によってゲームプログラムが実行される場合に限らず、複数のゲーム装置100あるいはゲーム装置とサーバによってゲームプログラムが実行される場合にも適用できる。
また、本発明は、ゲームプログラムだけでなく、当該ゲームプログラムを記録したコンピューター読み取り可能な記憶媒体、当該ゲームプログラムを実行するゲーム装置あるいはコンピューター、ゲーム進行制御方法、などの様々な態様で提供することができる。