(57)【要約】【課題】複数のキャラクタが登場する物語性のあるゲームで、面白みのある人間関係を簡単な制御処理により実現する。【解決手段】制御用座標系を定義して、そこに各キャラクタにそれぞれ対応する複数の座標点を設定し、キャラクタ同士の人間関係を座標点同士の位置関係として管理する。各座標点の座標値は、物語の中で生じた各キャラクタの心境の変化に基づいて随時更新する。制御用座標系における座標点同士の位置関係が所定の条件を満たしている場合には、物語の中で、キャラクタ同士の人間関係に係わるイベントを発生させる。【選択図】　図６
2004033488.tif 000002
【特許請求の範囲】
【請求項１】
物語に登場する複数のキャラクタを制御することにより、前記物語を進行させるゲーム装置であって、
前記各キャラクタにそれぞれ対応する複数の座標点が設定された制御用座標系と、
前記物語の中で生じた各キャラクタの心境の変化に基づいて、当該各キャラクタに対応する前記制御用座標系の座標点の座標値を更新する座標値更新手段と、
前記制御用座標系における座標点同士の位置関係に基づいて、前記物語内の前記キャラクタ同士の人間関係に係わるイベントを制御するイベント制御手段とを備えたことを特徴とするゲーム装置。
【請求項２】
前記制御用座標系上の各座標点に対応する複数の座標点が配置された表示用座標系を表示画面に表示する座標系表示手段をさらに備えることを特徴とする請求項１記載のゲーム装置。
【請求項３】
前記座標系表示手段は、前記表示用座標系に配置された座標点に代えて該座標点に対応する前記キャラクタのイメージ画像を表示することを特徴とする請求項２記載のゲーム装置。
【請求項４】
前記物語中の各キャラクタに前記心境の変化を生じさせる心境変化制御手段をさらに備えることを特徴とする請求項１から３のいずれかに記載のゲーム装置。
【請求項５】
前記心境の変化の大きさは、前記物語の中で当該キャラクタが置かれる環境に基づいて決定されることを特徴とする請求項４記載のゲーム装置。
【請求項６】
前記環境は、ゲームプレイヤの操作入力に基づいて決定されることを特徴とする請求項５記載のゲーム装置。
【請求項７】
前記環境の１つは、前記物語の中で前記キャラクタが戦闘を行う時の配置位置であることを特徴とする請求項６記載のゲーム装置。
【請求項８】
前記心境の変化の大きさは、当該キャラクタ以外のキャラクタの行動力を表す行動パラメータの値に基づいて決まることを特徴とする請求項４から７のいずれかに記載のゲーム装置。
【請求項９】
前記心境の変化の大きさは、プレイヤ情報を表すパラメータ、当該イベントに係わるキャラクタの属性を表すパラメータ、該キャラクタの状態を表すパラメータのうち、少なくとも１つのパラメータの値に基づいて決まることを特徴とする請求項４から８のいずれかに記載のゲーム装置。
【請求項１０】
前記キャラクタ属性は、キャラクタの種族、性別、年齢、職業、血液型、性格のうち少なくとも１つであることを特徴とする請求項９記載のゲーム装置。
【請求項１１】
前記心境の変化の大きさは、確率的な要素に基づいて決まることを特徴とする請求項４から１０のいずれかに記載のゲーム装置。
【請求項１２】
前記座標値更新手段は、前記心境の変化として一のキャラクタが他のキャラクタに対していだく好感が増加した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が短くなるように、前記一のキャラクタに対応する座標点の座標値を更新することを特徴とする請求項１から１１のいずれかに記載のゲーム装置。
【請求項１３】
前記座標値更新手段は、前記心境の変化として一のキャラクタが他のキャラクタに対していだく好感が減少した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が長くなるように、前記一のキャラクタに対応する座標点の座標値を更新することを特徴とする請求項１から１２のいずれかに記載のゲーム装置。
【請求項１４】
前記座標値更新手段は、前記一のキャラクタに対応する座標点が、該座標点と前記他のキャラクタに対応する座標点を結ぶ直線上を移動するように、前記座標値の更新を行うことを特徴とする請求項１２または１３記載のゲーム装置。
【請求項１５】
前記他のキャラクタに対応する座標点は、前記座標値更新手段により更新される前の座標点であることを特徴とする請求項１４記載のゲーム装置。
【請求項１６】
前記制御用座標系上に複数の区分領域が定義され、前記更新後の座標値は、前記区分領域の定義に基づいて決定されることを特徴とする請求項１から１５のいずれかに記載のゲーム装置。
【請求項１７】
前記イベント制御手段は、前記制御用座標系において一のキャラクタに対応する座標点と他の一のキャラクタに対応する座標点の距離が所定値以下である場合に、前記一のキャラクタと前記他の一のキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項１から１６のいずれかに記載のゲーム装置。
【請求項１８】
前記イベント制御手段は、２以上のキャラクタにそれぞれ対応する２以上の座標点が、前記制御用座標系上に設定された所定の位置および／または所定の領域内に配置されている場合に、前記２以上のキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項１から１７のいずれかに記載のゲーム装置。
【請求項１９】
前記イベント制御手段は、前記制御用座標系上に座標点密度が所定値を超える領域がある場合に、該領域内に配置された座標点に対応するキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項１から１８のいずれかに記載のゲーム装置。
【請求項２０】
前記イベント制御手段は、一のキャラクタに対応する座標点が１回の座標値の更新により所定距離以上移動した場合に、前記一のキャラクタに係わるイベントを制御することを特徴とする請求項１から１９のいずれかに記載のゲーム装置。
【請求項２１】
前記イベント制御手段は、前記イベントを所定の確率で発生させることを特徴とする請求項１７から２０のいずれかに記載のゲーム装置。
【請求項２２】
前記所定の確率は、プレイヤ情報を表すパラメータ、当該イベントに係わるキャラクタの属性を表すパラメータ、該キャラクタの状態を表すパラメータのうち、少なくとも１つのパラメータの値に基づいて決定されることを特徴とする請求項２１記載のゲーム装置。
【請求項２３】
前記キャラクタ属性は、キャラクタの種族、性別、年齢、職業、血液型、性格、色、形のうち少なくとも１つであることを特徴とする請求項２２記載のゲーム装置。
【請求項２４】
前記キャラクタの状態は、気力十分状態、無気力状態、躁状態、鬱状態、病気、負傷中、泥酔状態のうち少なくとも１つであることを特徴とする請求項９または２２記載のゲーム装置。
【請求項２５】
前記プレイヤ情報は、プレイヤの性別、年齢、職業、血液型、性格のうち少なくとも１つであることを特徴とする請求項９または２２記載のゲーム装置。
【請求項２６】
前記イベント制御手段は、前記イベントとして、一のキャラクタと他の一のキャラクタとの恋人関係成立、一のキャラクタによる他の一のキャラクタに対するプロポーズ、一のキャラクタと他の一のキャラクタとの結婚、一のキャラクタと他の一のキャラクタとの間の子供誕生、一のキャラクタと他の一のキャラクタとの友情成立、一のキャラクタと他の一のキャラクタとの連携により発揮できる特殊能力の取得、一のキャラクタと他の一のキャラクタとの死別のうち、少なくとも１つのイベントを発生させることを特徴とする請求項１から２５のいずれかに記載のゲーム装置。
【請求項２７】
前記イベント制御手段は、前記イベントの１つとして、２以上のキャラクタが所定のグループを結成するイベントを発生させることを特徴とする請求項１から２６のいずれかに記載のゲーム装置。
【請求項２８】
前記イベント制御手段は、前記イベントの１つとして、前記キャラクタ同士の人間関係へのゲームプレイヤの介入を受け付けるイベントを発生させることを特徴とする請求項１から２７のいずれかに記載のゲーム装置。
【請求項２９】
前記イベント制御手段は、前記イベントの１つとして、シナリオを分岐させるイベントを発生させることを特徴とする請求項１から２８のいずれかに記載のゲーム装置。
【請求項３０】
前記イベント制御手段は、前記イベントの１つとして、キャラクタの戦闘時の行動および／または能力を変化させるイベントを発生させることを特徴とする請求項１から２９のいずれかに記載のゲーム装置。
【請求項３１】
物語に登場する複数のキャラクタを制御することにより、前記物語を進行させるゲームを制御するプログラムであって、
前記各キャラクタにそれぞれ対応する複数の座標点が設定された制御用座標系を定義し、コンピュータに、
前記物語の中で生じた各キャラクタの心境の変化に基づいて、当該各キャラクタに対応する前記制御用座標系の座標点の座標値を更新する座標値更新処理と、
前記制御用座標系における座標点同士の位置関係に基づいて、前記物語内の前記キャラクタ同士の人間関係に係わるイベントを制御するイベント制御処理とを実行させることを特徴とするゲーム制御プログラム。
【請求項３２】
前記制御用座標系上の各座標点に対応する複数の座標点が配置された表示用座標系を表示画面に表示する座標系表示処理を、コンピュータに実行させることを特徴とする請求項３１記載のゲーム制御プログラム。
【請求項３３】
前記座標系表示処理において、前記表示用座標系に配置された座標点に代えて該座標点に対応する前記キャラクタのイメージ画像を表示することを特徴とする請求項３２記載のゲーム制御プログラム。
【請求項３４】
前記物語中の各キャラクタに前記心境の変化を生じさせる心境変化制御処理をコンピュータに実行させることを特徴とする請求項３１から３３のいずれかに記載のゲーム制御プログラム。
【請求項３５】
前記心境の変化の大きさは、前記物語の中で当該キャラクタが置かれる環境に基づいて決定されることを特徴とする請求項３４記載のゲーム制御プログラム。
【請求項３６】
前記環境は、ゲームプレイヤの操作入力に基づいて決定されることを特徴とする請求項３５記載のゲーム制御プログラム。
【請求項３７】
前記環境の１つは、前記物語の中で前記キャラクタが戦闘を行う時の配置位置であることを特徴とする請求項３６記載のゲーム制御プログラム。
【請求項３８】
前記心境の変化の大きさは、当該キャラクタ以外のキャラクタの行動力を表す行動パラメータの値に基づいて決まることを特徴とする請求項３４から３７のいずれかに記載のゲーム制御プログラム。
【請求項３９】
前記心境の変化の大きさは、プレイヤ情報を表すパラメータ、当該イベントに係わるキャラクタの属性を表すパラメータ、該キャラクタの状態を表すパラメータのうち、少なくとも１つのパラメータの値に基づいて決まることを特徴とする請求項３４から３８のいずれかに記載のゲーム制御プログラム。
【請求項４０】
前記キャラクタ属性は、キャラクタの種族、性別、年齢、職業、血液型、性格のうち少なくとも１つであることを特徴とする請求項３９記載のゲーム制御プログラム。
【請求項４１】
前記心境の変化の大きさは、確率的な要素に基づいて決まることを特徴とする請求項３４から４０のいずれかに記載のゲーム制御プログラム。
【請求項４２】
前記座標値更新処理において、前記心境の変化として一のキャラクタが他のキャラクタに対していだく好感が増加した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が短くなるように、前記一のキャラクタに対応する座標点の座標値を更新することを特徴とする請求項３１から４１のいずれかに記載のゲーム制御プログラム。
【請求項４３】
前記座標値更新処理において、前記心境の変化として一のキャラクタが他のキャラクタに対していだく好感が減少した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が長くなるように、前記一のキャラクタに対応する座標点の座標値を更新することを特徴とする請求項３１から４２のいずれかに記載のゲーム制御プログラム。
【請求項４４】
前記座標値更新処理において、前記一のキャラクタに対応する座標点が、該座標点と前記他のキャラクタに対応する座標点を結ぶ直線上を移動するように、前記座標値の更新を行うことを特徴とする請求項４２または４３記載のゲーム制御プログラム。
【請求項４５】
前記他のキャラクタに対応する座標点は、前記座標値更新処理により更新される前の座標点であることを特徴とする請求項４４記載のゲーム制御プログラム。
【請求項４６】
前記制御用座標系上に複数の区分領域が定義され、前記更新後の座標値は、前記区分領域の定義に基づいて決定されることを特徴とする請求項３１から４５のいずれかに記載のゲーム制御プログラム。
【請求項４７】
前記イベント制御処理において、前記制御用座標系において一のキャラクタに対応する座標点と他の一のキャラクタに対応する座標点の距離が所定値以下である場合に、前記一のキャラクタと前記他の一のキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項３１から４６のいずれかに記載のゲーム制御プログラム。
【請求項４８】
前記イベント制御処理において、２以上のキャラクタにそれぞれ対応する２以上の座標点が、前記制御用座標系上に設定された所定の位置および／または所定の領域内に配置されている場合に、前記２以上のキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項３１から４７のいずれかに記載のゲーム制御プログラム。
【請求項４９】
前記イベント制御処理において、前記制御用座標系上に座標点密度が所定値を超える領域がある場合に、該領域内に配置された座標点に対応するキャラクタの人間関係に係わるイベントを制御することを特徴とする請求項３１から４８のいずれかに記載のゲーム制御プログラム。
【請求項５０】
前記イベント制御処理において、一のキャラクタに対応する座標点が１回の座標値の更新により所定距離以上移動した場合に、前記一のキャラクタに係わるイベントを制御することを特徴とする請求項３１から４９のいずれかに記載のゲーム制御プログラム。
【請求項５１】
前記イベント制御処理において、前記イベントを所定の確率で発生させることを特徴とする請求項４７から５０のいずれかに記載のゲーム制御プログラム。
【請求項５２】
前記所定の確率は、プレイヤ情報を表すパラメータ、当該イベントに係わるキャラクタの属性を表すパラメータ、該キャラクタの状態を表すパラメータのうち、少なくとも１つのパラメータの値に基づいて決定されることを特徴とする請求項５１記載のゲーム制御プログラム。
【請求項５３】
前記キャラクタ属性は、キャラクタの種族、性別、年齢、職業、血液型、性格、色、形のうち少なくとも１つであることを特徴とする請求項５２記載のゲーム制御プログラム。
【請求項５４】
前記キャラクタの状態は、気力十分状態、無気力状態、躁状態、鬱状態、病気、負傷中、泥酔状態のうち少なくとも１つであることを特徴とする請求項３９または５２記載のゲーム制御プログラム。
【請求項５５】
前記プレイヤ情報は、プレイヤの性別、年齢、職業、血液型、性格のうち少なくとも１つであることを特徴とする請求項３９または５２記載のゲーム制御プログラム。
【請求項５６】
前記イベント制御処理において、前記イベントとして、一のキャラクタと他の一のキャラクタとの恋人関係成立、一のキャラクタによる他の一のキャラクタに対するプロポーズ、一のキャラクタと他の一のキャラクタとの結婚、一のキャラクタと他の一のキャラクタとの間の子供誕生、一のキャラクタと他の一のキャラクタとの友情成立、一のキャラクタと他の一のキャラクタとの連携により発揮できる特殊能力の取得、一のキャラクタと他の一のキャラクタとの死別のうち、少なくとも１つのイベントを発生させることを特徴とする請求項３１から５５のいずれかに記載のゲーム制御プログラム。
【請求項５７】
前記イベント制御処理において、前記イベントの１つとして、２以上のキャラクタが所定のグループを結成するイベントを発生させることを特徴とする請求項３１から５６のいずれかに記載のゲーム制御プログラム。
【請求項５８】
前記イベント制御処理において、前記イベントの１つとして、前記キャラクタ同士の人間関係へのゲームプレイヤの介入を受け付けるイベントを発生させることを特徴とする請求項３１から５７のいずれかに記載のゲーム制御プログラム。
【請求項５９】
前記イベント制御処理において、前記イベントの１つとして、シナリオを分岐させるイベントを発生させることを特徴とする請求項３１から５８のいずれかに記載のゲーム制御プログラム。
【請求項６０】
前記イベント制御処理において、前記イベントの１つとして、キャラクタの戦闘時の行動および／または能力を変化させるイベントを発生させることを特徴とする請求項３１から５９のいずれかに記載のゲーム制御プログラム。
【請求項６１】
請求項３１から６０のいずれかに記載されたゲーム制御プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム装置およびゲーム制御プログラムに関する。詳しくはロールプレイングゲームのように物語性を有するゲームに適したゲーム装置、ゲーム制御プログラムに関する。
【０００２】
【従来の技術】
ロールプレイングゲーム、アドベンチャーゲームあるいは恋愛シミュレーションゲームなど物語性を有するゲームでは、通常、ゲームプレイヤが操作する主人公以外にも多数の個性豊かなキャラクタが登場する。主人公と他のキャラクタとの人間関係は、多くの場合、物語の展開を直接あるいは間接的に左右する。例えば主人公を含む複数のキャラクタが一緒に冒険するロールプレイングゲームでは、仲間同士の信頼関係が冒険成功の鍵を握る場合がある。また、主人公を除く他のキャラクタ同士の人間関係が物語の進行に影響することもある。例えば、恋愛シミュレーションゲームでは、主人公の恋焦がれるキャラクタと、主人公の恋のライバルとなるキャラクタの関係がどのように進展するかは、主人公にとって重要な関心事となる。また、物語の進行に影響しない場合でも、キャラクタ同士の人間関係が物語に色を添え、ゲーム全体を面白くすることもある。
【０００３】
図２８は、従来の人間関係の制御方法を説明するための図である。従来の方法では、主人公とキャラクタＡの関係、主人公とキャラクタＢの関係、主人公とキャラクタＣの関係は、それぞれ別の制御パラメータにより管理される。また、多くの場合、図に示すように、キャラクタＡに対する主人公の感情を管理するパラメータ（ＰＭ−Ａ）と、主人公に対するキャラクタＡの感情を管理するパラメータ（ＰＡ−Ｍ）は、別のものとして管理されている。さらには、例えば好き嫌い、尊敬、ライバル心というように感情の種類ごとに異なるパラメータを定義する場合もある。一般には、相手に対していだく感情が良いほどパラメータの値を大きくする。
【０００４】
【発明が解決しようとする課題】
一般に、人間関係が面白いと感じられるのは、何らかの意外性や番狂わせがあった場合である。例えばＡさん一筋だったＢさんが突然Ｃさんと結婚したり、あるいは、Ｄさんを中心とする派閥内で主要な位置を占めていたＥさんが、いつのまにかＦさんの派閥に所属していたなど、予想外の結び付きや亀裂が生じてこそ人間関係は面白い。一方で、ゲームの物語内の人間関係が現実世界とかけ離れた、あまりにも不自然な関係であると、ゲームが面白くなくなる場合もある。
【０００５】
よって、ゲームを面白くするためには、現実世界にいるプレイヤが共感を覚えることができる程度に自然で、かつ意外性もある、面白みのある人間関係を演出する必要がある。
【０００６】
しかし、キャラクタ対キャラクタの関係を制御パラメータにより個別に管理する従来の手法では、多数のパラメータを相互に関連付けながら制御することでキャラクタの人間関係を設定するので、自然な人間関係を実現することは必ずしも容易ではない。特に、この手法ではキャラクタ数をＮとするとパラメータの数はＮの二乗オーダーの数となるので、キャラクタ数が多い場合には、人間関係の制御が困難になる。
【０００７】
本発明は、比較的シンプルな制御処理で、従来よりもさらに面白みのある人間関係を演出できるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
本発明のゲーム装置は、上記課題を解決するために、次の手段を備える。このゲーム装置は、物語に登場する複数のキャラクタを制御することにより、物語を進行させるゲーム装置であって、各キャラクタにそれぞれ対応する複数の座標点が設定された制御用座標系と、物語の中で生じた各キャラクタの心境の変化に基づいて、その各キャラクタに対応する制御用座標系の座標点の座標値を更新する座標値更新手段と、制御用座標系における座標点同士の位置関係に基づいて、物語内のキャラクタ同士の人間関係に係わるイベントを制御するイベント制御手段とを備えたことを特徴とする。すなわち、キャラクタ同士の人間関係を、関係ごとのパラメータ値として管理するのではなく、キャラクタごとの座標点の位置関係として管理する。これにより、少ない処理負担で物語の展開をバラエティに富んだものとすることができる。
【０００９】
また、本発明のゲーム制御プログラムは、物語に登場する複数のキャラクタを制御することにより、物語を進行させるゲームを制御するプログラムであって、各キャラクタにそれぞれ対応する複数の座標点が設定された制御用座標系を定義し、コンピュータに、物語の中で生じた各キャラクタの心境の変化に基づいて、その各キャラクタに対応する制御用座標系の座標点の座標値を更新する座標値更新処理と、制御用座標系における座標点同士の位置関係に基づいて、物語内のキャラクタ同士の人間関係に係わるイベントを制御するイベント制御処理とを実行させることを特徴とする。
【００１０】
ここで、例えばロールプレイングゲームには、人間のキャラクタ以外に、動物、妖精、ロボットなどが登場することがあるが、本明細書における「人間関係」は、ゲームの物語の中で何らかの意志を持って行動するあらゆる対象の関係を便宜上「人間関係」と称したものであり、動物など他の種族のキャラクタを排除するものではない。したがって、例えば人間キャラクタとロボットキャラクタの関係、ロボットキャラクタと妖精キャラクタの関係なども、「人間関係」に含まれる。
【００１１】
「人間関係」の定義は設計者が自由に定め得る。例えば、「人間関係＝好き／嫌い」、「人間関係＝信頼している／していない」、「人間関係＝尊敬している／していない」、「人間関係＝表面的つきあい／深いつきあい」などと定義することができる。あるいは、これらの組み合わせにより人間関係を定義してもよい。この場合、制御用座標系を人間関係の定義ごとに複数定義することも考えられる。
【００１２】
上記ゲーム装置には、制御用座標系上の各座標点に対応する複数の座標点が配置された表示用座標系を表示画面に表示する座標系表示手段を備えることが好ましい。ゲーム制御プログラムについては、コンピュータに、制御用座標系上の各座標点に対応する複数の座標点が配置された表示用座標系を表示画面に表示する座標系表示処理を実行させることが好ましい。この際、前記表示用座標系に配置された座標点に代えて該座標点に対応する前記オブジェクトのイメージ画像を表示してもよい。
【００１３】
物語中の各キャラクタの心境の変化は、予め固定されたものであってもよいが、好ましくは、上記ゲーム装置に物語中の各キャラクタの心境に変化を生じさせる心境変化発生手段を備え、変化を持たせるのがよい。ゲーム制御プログラムについては、コンピュータに、物語中の各キャラクタの心境に変化を生じさせる心境変化発生処理を実行させることが好ましい。
【００１４】
心境の変化の大きさは、物語の中でそのキャラクタが置かれる環境に基づいて決定されるようにすることが好ましい。また、キャラクタが置かれる環境は、ゲームプレイヤの操作入力に基づいて決定されるようにすることが好ましい。「物語の中でそのキャラクタが置かれる環境」とは、例えば、ロールプレイングゲームの物語の中でキャラクタが戦闘を行う時の配置位置などである。あるいは、恋愛シミュレーションゲームの物語の中でキャラクタがデートをするときのデートコースや、歴史シミュレーションゲームの武将キャラクタが城を構える土地の地形や気候なども該当する。
【００１５】
また、心境の変化の大きさは、キャラクタ以外のキャラクタの行動力を表す行動パラメータの値に基づいて決まるようにしてもよい。また、プレイヤ情報や、キャラクタの属性・状態を表すパラメータの値に基づいて決まるようにしてもよい。さらには、これに確率的な要素を取り入れてもよい。また、これらの組み合わせにより心境変化の大きさが決まるようにしてもよいことは言うまでもない。
【００１６】
前記座標値更新手段（処理）は、例えば、心境の変化として一のキャラクタが他のキャラクタに対していだく好感が増加した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が短くなるように、前記一のキャラクタに対応する座標点の座標値を更新する。座標点同士の距離を近づけるだけではなく、一のキャラクタが他のキャラクタに対していだく好感が減少した場合に、前記一のキャラクタに対応する座標点と前記他のキャラクタに対応する座標点の距離が長くなるように、前記一のキャラクタに対応する座標点の座標値を更新するようにしてもよい。この際、座標値の更新は、前記一のキャラクタに対応する座標点が、その座標点と前記他のキャラクタに対応する座標点を結ぶ直線上を移動するように行うことが好ましい。また、前記他のキャラクタに対応する座標点は、更新される前の座標点としてもよい。計算処理が簡単になり、制御処理を簡素化できるからである。この他、制御用座標系上に複数の区分領域を定義しておき、更新後の座標値が、区分領域の定義に基づいて決定されるようにする制御方法も考えられる。
【００１７】
イベント制御手段（処理）は、例えば、制御用座標系において一のキャラクタに対応する座標点と他の一のキャラクタに対応する座標点の距離が所定値以下である場合に、前記一のキャラクタと前記他の一のキャラクタの人間関係に係わるイベントを発生させる。あるいは、２以上のキャラクタにそれぞれ対応する２以上の座標点が、制御用座標系上に設定された所定の位置および／または所定の領域内に配置されている場合に、２以上のキャラクタの人間関係に係わるイベントを発生させてもよい。また、制御用座標系上に座標点密度が所定値を超える領域がある場合に、その領域内に配置された座標点に対応するキャラクタの人間関係に係わるイベントを発生させてもよい。さらには、一のキャラクタに対応する座標点が１回の座標値の更新により所定距離以上移動した場合に、前記一のキャラクタに係わるイベントを発生させることも考えられる。また、イベントを所定の確率で発生させるようにしてもよい。所定の確率は、プレイヤ情報や、そのイベントに係わるキャラクタの属性や状態を表すパラメータの値に基づいて決定されるようにすることが好ましい。
【００１８】
なお、心境変化発生あるいはイベント制御に取り入れられるキャラクタ属性としては、例えば、キャラクタの種族、性別、年齢、職業、血液型、性格、色、形などが考えられる。キャラクタの状態としては、例えば、気力十分状態、無気力状態、躁状態、鬱状態、病気、負傷中、泥酔状態などが考えられる。また、プレイヤ情報としては、プレイヤの性別、年齢、職業、血液型、性格などが考えられる。
【００１９】
また、イベントとしては、例えば、一のキャラクタと他の一のキャラクタとの恋人関係成立、一のキャラクタによる他の一のキャラクタに対するプロポーズ、一のキャラクタと他の一のキャラクタとの結婚、一のキャラクタと他の一のキャラクタとの間の子供誕生、一のキャラクタと他の一のキャラクタとの友情成立、一のキャラクタと他の一のキャラクタとの連携により発揮できる特殊能力の取得、一のキャラクタと他の一のキャラクタとの死別などが考えられる。
【００２０】
また、他のイベントとして、２以上のキャラクタが所定のグループを結成するイベントも考えられる。さらには、キャラクタ同士の人間関係へのゲームプレイヤの介入を受け付けるイベントや、シナリオを分岐させるイベントを発生させてもよい。また、キャラクタの戦闘時の行動や能力を変化させるイベントなども考えられる。
【００２１】
なお、上記ゲーム制御プログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・カードなど、コンピュータ読み取り可能な記録媒体に記録されて頒布することができる。あるいは、ネットワークに接続されたサーバコンピュータからゲーム制御プログラムをダウンロードできるようにしてもよい。
【００２２】
【発明の実施の形態】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。なお、以下に示す例はロールプレイングゲームであるが、本発明はアドベンチャーゲームや恋愛シミュレーションゲームなど、物語性を有する他のゲームにも適用可能であり、以下の説明はゲームの種類を限定するものではない。
【００２３】
１．　ゲームの内容
以下に説明するロールプレイングゲームでは、プレイヤが操作する主人公は、女神が予言した災いを回避するために、冒険の途中で出会った１３人の仲間とともに、様々な敵との戦いを繰り返す。
【００２４】
図１は、このロールプレイングゲームの戦闘場面の一例を示す図であり、敵キャラクタ１に対し、７人の味方キャラクタ２ａ〜２ｇが戦いを挑む場面を表している。味方キャラクタ２ａ〜２ｇは、図に示すように、４個×３列の計１２個の領域に区切られた枠３内に配置される。味方キャラクタのうち誰を戦闘に参加させるかは、戦いを指揮する主人公が決定する。これは、すなわち主人公を操作するプレイヤが決定するということである。また戦闘に参加するキャラクタを１２個の領域のうち何処に配置するかも、主人公、すなわちプレイヤが決定する。
【００２５】
図２は、味方キャラクタの戦闘フォーメーションについて説明するための図であり、枠３内のキャラクタ２ａ〜２ｇの配置を模式的に表した図である。このゲームの戦闘システムでは、敵キャラクタ１に最も近い列を最前列とし、その１つ後ろの列を補助の列、さらにその後ろの列を回復列と定義している。最前列に配置されたキャラクタ２ａ〜２ｃは、主として敵キャラクタ１の攻撃を行う。補助の列に配置されたキャラクタ２ｄおよび２ｅは、最前列に配置されたキャラクタを補助する。回復列に配置されたキャラクタ２ｆおよび２ｇは、最前列および補助の列のキャラクタが敵キャラクタ１と戦っている間に、自分自身もしくは回復列にいる味方キャラクタを回復魔法などにより回復させる。プレイヤは、１つの戦闘ターンが終了して次のターンが始まる前に、キャラクタのローテーションを行う機会を与えられる。ローテーションを行った場合には、最前列にいたキャラクタ２ａ〜２ｃは回復列へと移動し、補助の列にいたキャラクタ２ｄおよび２ｅは最前列へと移動し、回復列にいた２ｆと２ｇは補助の列へと移動する。タイミングよくローテーションを行うことにより、最前列での戦いで消耗したキャラクタを回復列で回復させることができる。
【００２６】
一般的なロールプレイングゲームでは、このような戦闘場面におけるキャラクタのフォーメーションは、敵を効率的に倒すための手段でしかない。プレイヤは、戦闘に直接係わる要素（例えば、各キャラクタの攻撃力や防御力、身につけている技や魔法、持っている武器や防具など）のみを検討して、フォーメーションを決めればよく、少なくとも戦闘場面においては、各キャラクタは戦闘に使用する「駒」にすぎない。
【００２７】
しかしながら、本実施の形態のロールプレイングゲームでは、戦闘時のキャラクタのフォーメーションは、戦闘効率のみならず、キャラクタ同士の人間関係に影響する。戦闘を繰り返すことにより形成された人間関係は、その後の物語の進行を左右する。すなわち、プレイヤは、戦闘時のキャラクタのフォーメーションを指定することにより、キャラクタ同士の人間関係に間接的に介入し、物語の展開を変化させることができる。
【００２８】
例えば、あるキャラクタが敵キャラクタから攻撃された際に隣のキャラクタが身を挺してかばう行動をとったとする。従来のロールプレイングゲームでは、この行動は、攻撃されたキャラクタのポイント減少を防ぐことができてよかった、という程度の意味しかない。しかし、本実施の形態のロールプレイングゲームでは、攻撃されたキャラクタが、身を挺してかばってくれたキャラクタに対して、好感をいだく場合がある。好感は、相手が異性のキャラクタである場合には恋心となり、同性のキャラクタである場合には友情となる。そのようにして形成された人間関係は、以降の物語の展開に影響する。
【００２９】
本実施の形態のゲームでは、２人のキャラクタの関係が恋人関係へと発展した場合には、次のステップとして結婚、出産などのイベントが用意されており、出産により新たなキャラクタが追加される。また２人もしくは３人以上のキャラクタの関係が友情関係へと発展した場合には、それらのキャラクタが協力することにより「精霊召喚」という特殊な能力を発揮できるようになる。
【００３０】
言い換えれば、プレイヤは、戦闘場面において仲良くさせたいキャラクタを近づけて配置するなどして、間接的にキャラクタ同士の人間関係を操作し、新しいキャラクタを追加したり、キャラクタに特殊能力を取得させたりすることができる。
【００３１】
図３は、戦闘時のフォーメーションとキャラクタの心境変化との関係について説明するための図である。図２と同じく味方キャラクタの戦闘配置を示す図であるが、キャラクタ２ｂ、２ｅ、２ｆを例にとり、各列のキャラクタがとった行動の影響範囲を示している。矢印の始点に配置されたキャラクタがとった行動は、矢印の終点までの間に配置されたキャラクタの心境変化の要因となり得る。なお、以下の説明で「心境変化」とは、主として「相手に対する好感の増減」を意味する。但し、以下の説明は心境変化の種類を限定するものではなく、心境変化をどのように定義するかは設計事項の１つにすぎない。
【００３２】
まず、最前列のキャラクタがとった行動は、そのキャラクタの両隣のキャラクタの心境を変化させる要因となる。図３の例では、キャラクタ２ｂが所定の行動をとることにより、隣のキャラクタ２ａと２ｃの、キャラクタ２ｂに対する感情が変化する。
【００３３】
また、補助の列のキャラクタがとった行動は、そのキャラクタの両隣のキャラクタ、またそのキャラクタの前方に配置されたキャラクタの心境を変化させる要因となる。間接的に敵を攻撃する行動（以下、間接攻撃と称する）は、両隣のキャラクタの心境に影響を及ぼし、最前列のキャラクタの攻撃や防御行動を補助する行動は、その最前列のキャラクタの心境に影響を及ぼす。図３の例では、キャラクタ２ｅが間接攻撃を行った場合にはキャラクタ２ｄがキャラクタ２ｅに対していだく好感が増減する可能性がある。一方、キャラクタ２ｅがキャラクタ２ｃを補助する行動をとった場合には、キャラクタ２ｃがキャラクタ２ｅに対していだく好感が増減する可能性がある。
【００３４】
また、回復列のキャラクタがとった行動は、そのキャラクタの両隣のキャラクタ、または回復列に配置されたキャラクタ全員の心境変化の要因となる。自らを回復させるための行動（以下、自回復と称する）は、両隣のキャラクタの心境に変化を及ぼす可能性があり、回復列の全キャラクタを回復させる行動（以下、列回復と称する）は、回復列に配置された全キャラクタの心境に変化を及ぼす可能性がある。図３の例では、キャラクタ２ｆが自回復行動をとった場合、列回復行動をとった場合ともに、キャラクタ２ｇがキャラクタ２ｆに対していだく好感が増減する可能性がある。
【００３５】
したがって、プレイヤは、親密になって欲しいと思うキャラクタ同士を、一方が矢印の始点に位置し他方が矢印の終点までの範囲内に位置するような位置関係で配置すればよい。但し、本実施の形態では後述するように、心境変化の制御にランダムな要素を取り入れているため、キャラクタ同士の仲は１００％プレイヤの思い通りになるとは限らない。
【００３６】
２．　人間関係の制御
以下、上述のロールプレイングゲームの制御プログラムが実行する人間関係制御処理について説明する。
【００３７】
（１）制御用座標系
本実施の形態のゲーム制御プログラムは、プログラム内で定義した所定の制御用座標系によってキャラクタ同士の人間関係を管理する。図４は、制御用座標系の一例を示す図であり、制御用座標系４に、主人公を含む１４人のキャラクタに対応する１４個の座標点５ａ〜５ｎが配置された状態を表している。制御用座標系の縦軸、横軸は、座標点を区別するための目盛が刻まれていればよく、単位は特に必要としない。キャラクタ同士の人間関係は、関係するキャラクタに対応する座標点の位置関係、具体的には座標点と座標点の距離として管理する。すなわち、座標点間の距離によって人間関係の粗密を表す。座標点同士の距離が近いキャラクタ同士は物語の中で親密な関係にあり、座標点同士の距離が遠いキャラクタ同士は物語の中で疎遠な関係にある。
【００３８】
制御用座標系４の各座標点５ａ〜５ｎの座標値は、図１の戦闘場面における戦闘フォーメーションと各キャラクタの行動に基づいて、随時更新される。言い換えれば、戦闘の結果、各キャラクタが他のキャラクタに対していだく感情が変化した場合には、その変化が座標値に反映され、以降、新たな人間関係として管理される。
【００３９】
（２）表示用座標系
本実施の形態では、プレイヤが、制御用座標系４により管理される人間関係を画面上で確認できるようにする。図５は、制御用座標系４により管理する人間関係を画面表示するときの表示方法の一例である。この例は、表示装置６の画面内に、所定の座標平面７を奥行きを持たせて立体的に表示し、座標平面７上に各キャラクタのイメージ８ａ〜８ｎを配置することにより、人間関係を表示したものである。なお、イメージではなく単なる座標点表示でもよいが、イメージを表示するほうがプレイヤにとってはわかりやすく、好ましい。以下、これを「表示用座標系」と称して、制御用座標系と区別する。表示用座標系では、制御用座標系と同様、座標平面７上の座標点同士の距離によってキャラクタ同士の親密度を表現する。すなわち、イメージ８ａ〜８ｎの配置位置は、制御用座標系４上の各座標点にそれぞれ対応する。
また、表示用座標系では、図に示すように、キャラクタ同士が特別な仲であることを強調するための強調表示９を行う。図中に例示する強調表示９は、イメージ８ｍが示すキャラクタとイメージ８ｎが示すキャラクタが恋人関係にあることを示す。強調表示としては、このほか２つのイメージ８を結ぶラインを表示する、複数のイメージ８を枠で囲むといった表示が考えられる。また、キャラクタ同士の関係が変化した時点で、「変化」を強調する他の強調表示を行う方法も考えられる。例えば２人のキャラクタが単なる仲間同士から恋人関係に発展したときに、キャラクタのイメージ自体あるいは図のハートマークなどを点滅させるといった手法が考えられる。さらに、人間関係に変化が生じた時点で、そのことをプレイヤに知らせる効果音を鳴らしてもよい。例えば、恋人関係だった２キャラクタが結婚した際に、結婚行進曲を流すなどの演出が考えられる。これにより、プレイヤは、前回表示用座標系を確認したときと比べて、人間関係がどのように変化したのかを容易に認識することができる。
【００４０】
また、本実施の形態では、プレイヤがカーソル１０を操作していずれかのキャラクタを選択できるようにする。画面上部には、カーソル１０で選択されたキャラクタの拡大イメージとともに、そのキャラクタの心の内を表すメッセージ１２を表示する。図は、カーソル１０で選択されたイメージ８ｎの拡大イメージ１１ｎと、拡大イメージ１１ｎが示すキャラクタの感情を表すメッセージ１２を表示した例である。拡大イメージ１１では、キャラクタの感情がキャラクタの表情、例えば、喜んでいる顔、怒った顔、キスをしようとしている顔などとして表れる。これにより、プレイヤは、キャラクタ同士の人間関係、さらには各キャラクタの心の内を把握することができる。なお、座標平面７に配置されるイメージ８の表情も変化させてもよいことは言うまでもない。
【００４１】
（３）プログラムの処理
図６は、ゲーム制御プログラムの処理概要を示すフローチャートである。図に示すように、物語中の人間関係は、心境変化発生処理（Ｓ１０１）、座標値更新処理（Ｓ１０２）、イベント制御処理（Ｓ１０３）の繰り返しにより段階的に変化する。以下、各処理について、詳細に説明する。
【００４２】
（３−１）心境変化発生処理
心境変化発生処理は、各キャラクタの心境に変化を生じさせる処理である。前述のように、本実施の形態のゲームでは心境変化を、相手に対していだく好感の増減と定義している。したがって、心境変化発生処理は、具体的には、各キャラクタが他のキャラクタに対していだく好感を増減する処理である。
【００４３】
どのキャラクタに、どのような心境変化を生じさせるかは、戦闘時のフォーメーション、戦闘時の各キャラクタの行動、各キャラクタの属性や状態、およびランダムな要素に基づいて決定する。また、プレイヤ情報を変更した場合にもキャラクタの心境変化に影響が及ぶ。但し、プレイヤ情報のうち年齢、性別、血液型などはそのプレイヤ固有の情報であるため、通常は一旦入力された後は変更されない。変更できる情報は、例えば職業など一部の情報に限られる。
【００４４】
戦闘時のフォーメーション、戦闘時の各キャラクタの行動についてはプレイヤが関与することができるが、キャラクタの属性や状態、ランダムな要素については、プレイヤは関与することができない。キャラクタの心境の変化に関し、プレイヤの関与を断片的に認めることで、プレイヤが、ゲームの進行が思い通りになる面白さと、思い通りにならない面白さの、両方を満喫できるようにしている。
【００４５】
ゲーム制御プログラムは、心境の変化を数値ポイントとして管理する。詳細には、第１のキャラクタが第２のキャラクタに対していだく感情の変化と、第２のキャラクタが第１のキャラクタに対していだく感情の変化を、それぞれ別のポイントとして管理する。ポイントは、次のように処理する。
【００４６】
本実施の形態のロールプレイングゲームでは、キャラクタが戦闘時にとる行動は、攻撃、防御（攻撃回避）、攻撃補助、防御補助、間接攻撃、自回復、列回復の７種類ある。但し、キャラクタの職業（キャラクタ属性の１つとして管理されている）によって、例えば戦士は攻撃と防御しかできないというように、とれる行動の種類は限られている。各キャラクタは、例えば攻撃パラメータ、攻撃補助パラメータというように、行動の種類ごとの数値パラメータ（以下、行動パラメータと称する。）を保持する。行動パラメータの値は、そのキャラクタが戦闘場面でとった行動の内容により増減する。例えば、攻撃行動であれば、敵に与えたダメージの大きさに比例した値が、攻撃パラメータの値に加算される。
【００４７】
次に、行動パラメータの増分を、数値ポイントに換算する。例えば、１回の戦闘で行動パラメータの値が１５以上増加した場合には１ポイント、２０以上増加した場合には２ポイント、２５以上増加した場合には３ポイントとする。図７は、１回の戦闘で増加するポイントの平均値をキャラクタの職業別、行動の種類別に示した表である。但し、数値が示されていない欄は、その職業のキャラクタがその行動をとらない（とれない）ことを意味する。例えば、職業が戦士であるキャラクタは、攻撃と防御しか行わず、１回の戦闘で平均して攻撃パラメータの値が１５程度（１ポイント分）、防御パラメータの値が１５程度（１ポイント分）増加する。行動ごとのポイント増加分を合計すると、戦士のキャラクタは、１回の戦闘で平均２ポイント増加することになる。なお、図７は平均値の表であるので、言うまでもなく、実際のゲームでは職業が同じであっても、増加するポイントはキャラクタごと、戦闘ごとに異なる。
【００４８】
ポイント値の増加分（合計値）は、そのキャラクタの周辺に配置されたキャラクタが、その行動をとったキャラクタに対していだく好感を表すポイントとして蓄積、管理される。ここで、「周辺に配置された」キャラクタとは、図３に示した矢印の範囲に配置されたキャラクタのことである。すなわち、各キャラクタにポイントが蓄積されるか否か、またどの程度のポイントが蓄積されるかは、戦闘時のフォーメーションによって決まる。例えば図３のフォーメーションで戦闘を行って、キャラクタ２ｂの攻撃パラメータの値が１５以上増加した場合、キャラクタ２ａとキャラクタ２ｃのキャラクタ２ｂに対する好感ポイントは１ポイント増加する。しかし、キャラクタ２ｄ〜２ｇのキャラクタ２ｂに対する好感ポイントは増加しない。
【００４９】
ここで、本実施の形態では、ポイントを蓄積する際に、次のような調整を行う。前述のように、図３のフォーメーションで戦闘を行ってキャラクタ２ｂの攻撃パラメータの値が１５増加した場合、原則としてキャラクタ２ａと２ｃのキャラクタ２ｂに対する好感ポイントが１ポイント増加する。しかし、キャラクタ２ａの攻撃パラメータの値もまた１５増加していた場合には、キャラクタ２ａのキャラクタ２ｂに対する好感ポイントは増やさない。すなわち、隣接するキャラクタが同じ種類の行動パラメータを持ち、その行動パラメータの値が戦闘により同じように増加した場合には、隣接するキャラクタのパラメータ値との差分を考慮して、ポイント値を調整する。現実世界では、同等の能力を持つ者（同じ魅力を発揮する者）同士は、ライバル心から必ずしも親密にならないので、これをゲームの制御処理にも取り入れたものである。
【００５０】
以上、戦闘時のフォーメーションおよび戦闘時の各キャラクタの行動と、好感ポイントの関係について説明した。ゲームのプレイヤは、好感ポイントの増減を意識しながら戦闘時のフォーメーションと各キャラクタの行動を決めることで、間接的にキャラクタ同士の人間関係に関与することができる。
【００５１】
次に、プレイヤが関与できない処理について説明する。ゲーム制御プログラムは、キャラクタの種族（人間、ロボット、妖精など）、性別、年齢、職業、血液型、性格などの「属性」を表す属性パラメータをキャラクタごとに保持している。また、気力十分、無気力状態、躁状態、鬱状態、病気療養中、負傷中、泥酔中など、物語の中でのキャラクタの状態を表す状態パラメータもキャラクタごとに保持している。本実施の形態では、これらのパラメータの値を心境変化に反映させる。
【００５２】
一例として、キャラクタの血液型を制御に取り入れる例を示す。Ｂ型人間は熱し易く冷めやすいという一般論をゲームに取り入れる方法としては、例えばＢ型のキャラクタのみポイントを通常の２倍の幅で増減させる方法が考えられる。この場合、図３の例で、キャラクタ２ａの血液型がＯ型、キャラクタ２ｃの血液型がＢ型とすると、キャラクタ２ｂの行動パラメータの値が２０増加した場合に、キャラクタ２ａには２ポイントが加算されるが、キャラクタ２ｃにはキャラクタ２ａの２倍の４ポイントが加算される。
【００５３】
さらには、２以上のキャラクタの属性パラメータの値を組み合わせた制御を行ってもよい。図３の例で、キャラクタ２ｂの血液型がＡ型である場合、一般にＡ型とＯ型は相性がよいが、Ａ型とＢ型は相性が悪いと言われているので、この一般論に基づき、キャラクタ２ｃは、キャラクタ２ａよりも加算されるポイントが少なくなるように調整を行ってもよい。
【００５４】
他の属性パラメータを制御に取り入れる例としては、例えば、年齢属性であれば、現実世界の傾向に合わせて、年齢が低い（若い）キャラクタは心境に変化が生じ易いが、高齢のキャラクタは心境の変化が生じにくいようにする制御方法が考えられる。これは、ポイント値の増減の度合いを年齢ごとに変えることで実現できる。例えば、高齢の場合はポイントを１／２にして加算し、若い場合には２倍にして加算するなどすればよい。
【００５５】
一方、キャラクタの状態パラメータは、属性パラメータと異なり、物語の進行に応じて変化するものであるため、これをポイント値の制御に取り入れることにより、さらに物語の展開に幅を持たせることができる。例えば、無気力状態、鬱状態のキャラクタは、周辺のキャラクタがどんなに魅力的な行動をとっても惹きつけられない（ポイント値が増えない）ようにする。
【００５６】
ここで、本実施の形態では、前述のように、心境変化発生処理に、ランダムな要素も加える。具体的には、キャラクタの行動パラメータの値が１５以上増加した場合に、必ずポイントを加算するのではなく、所定の確率でポイントの加算を行うこととする。所定の確率は一定の確率としてもよいが、本実施の形態のプログラムは、キャラクタの属性パラメータや状態パラメータの値に基づいてこの確率を定める。
【００５７】
例えば、所定の確率を、種族がロボットのキャラクタ３０％、人間のキャラクタ８０％と設定する。この設定は、ゲームの物語の中で、ロボットよりも人間の方が心境変化が生じやすいという状況を作り出す。同様に、キャラクタの性別（男性、女性）、性格（積極的、消極的、感動しやすい、無感動、のりやすい、のりが悪い）によって、設定する確率を異ならせれば、現実世界により近い状況を作り出すことができ、プレイヤの共感を呼ぶことができる。
【００５８】
さらに、本実施の形態では、心境変化発生処理において、プレイヤ情報を参照する。プレイヤ情報は、前述のようにプレイヤの年齢、性別、職業、血液型、性格などであるが、これらを制御に取り入れることにより、そのプレイヤの好みにあった心境変化を発生させ、プレイヤ好みの物語を展開させることが可能になる。例えば、プレイヤの年齢が低い場合には、単純な心境変化のみを発生させ、プレイヤの年齢が高い場合には大人のプレイヤにしか共感できないような複雑な心境変化を発生させるといった制御を行う。
【００５９】
図８は、１回の戦闘が終了した時点で、主人公を含む１４人のキャラクタ（キャラクタＡ〜Ｎとする）が自分以外のキャラクタに対してそれぞれいだく好感のポイントを、表にまとめたものである。横方向には心境変化の要因となる行動をとったキャラクタ（好感をいだかせたキャラクタ）が並んでおり、縦方向には心境の変化が発生したキャラクタ（好感をいだいたキャラクタ）が並んでいる。図の例は、キャラクタＡのキャラクタＢに対する好感が３ポイント上昇し、キャラクタＡのキャラクタＣに対する好感が２ポイント減少したことを示している。キャラクタＢのキャラクタＡに対する好感は４ポイント上昇しているので、キャラクタＡとキャラクタＢはお互いに惹かれあっていることになる。一方キャラクタＣのキャラクタＡに対する好感は１ポイント上昇しているので、キャラクタＣはキャラクタＡに惹かれているものの、キャラクタＡはキャラクタＣを、あまり好きではないということになる。
【００６０】
各キャラクタの心境は予めプログラムの中で定義したとおりに変化させてもよいが、以上に説明したように戦闘フォーメーション、キャラクタの行動をもとにポイント計算を行い、ポイント値に応じた心境変化を発生させるようにすれば、プレイヤは戦闘フォーメーションなどを指定することによって、キャラクタの心を動かすことができる。この際、キャラクタの属性・状態パラメータに応じた調整を行ったり、確率的な要素を制御に取り入れれば、常にプレイヤの思い通りにはならなくなるので、プレイヤを退屈させる心配はない。さらに、プレイヤ情報を制御に取り入れれば、プレイヤの好みにあった物語を展開させることができる。このように、プレイヤがキャラクタの心を適度に揺り動かすことができるゲームでは、プレイヤのキャラクタに対する思い入れも強くなることが予想される。すなわち、従来「駒」扱いしていたキャラクタへの感情移入を可能にし、ゲームの物語をより味わい深いものにする。
【００６１】
（３−２）　座標値更新処理（Ｓ１０２）
次に、上記ポイント値に基づいて、制御用座標系４の座標値を更新する処理について、詳細に説明する。図９は、座標値更新処理を示すフローチャートである。前述のように図４に示した制御用座標系４には、主人公を含む１４人のキャラクタＡ〜Ｎにそれぞれ対応する１４個の座標点５ａ〜５ｎが配置されている。はじめに、心境変化発生前、すなわち戦闘開始前の各キャラクタの座標点の座標値を一時保存する（Ｓ２０１）。次に、心境変化発生処理において蓄積されたポイント値に基づいて各座標点の座標値を更新する。座標値の更新により各座標点は移動し、ゲームの物語は座標点の新たな配置が表す人間関係をベースにして展開してゆく。
【００６２】
座標値の更新は、キャラクタＡの座標点５ａ、キャラクタＢの座標点５ｂ、キャラクタＣの座標点５ｃ、以下順番にキャラクタＮの座標点５ｎまで行う。座標値は、座標点がポイント値に応じた距離移動するように更新する。本実施の形態の心境変化発生処理では、前述のように心境変化の要因となる行動をとったキャラクタごとにポイントが蓄積されているので、座標値の更新もキャラクタごとに段階的に行う。まず、座標点５ａの座標値を、座標点５ｂの方向に移動し、座標点５ｃの座標値の方向にさらに移動し、座標点５ｄの方向にさらに移動する。この際、移動する座標点の順番は、常に同じでも、更新処理ごとに異なってもよい。プログラムが処理しやすい順番としてもよいし、物語の中で設定された何らかの順位、順番に沿って処理してもよい。例えば物語の中で各キャラクタが登場した順番に処理する方法などが考えられる。
【００６３】
図１０（ａ）〜（ｅ）は、図９の処理を行った場合の制御用座標系４の変移を示す図であり、図８に示した表に基づいて座標点を移動した例を示している。なお、制御用座標系４には、図８のキャラクタＡ〜Ｎに対応する１４個の座標点５ａ〜５ｎが配置されているが、図１０（ａ）〜（ｅ）では、説明の便宜上、キャラクタＡ、Ｂ、Ｃに対応する座標点５ａ、５ｂ、５ｃのみを示すこととする。図１０（ａ）は、ある戦闘場面に突入する前の座標点配置を示す図である。図９のステップＳ２０１では、この状態における各座標点の座標値が保存される。
【００６４】
初めに座標点５ａの座標値を更新する。図８の表によれば、キャラクタＡのキャラクタＢに対する好感は３ポイント上昇している。よって、図１０（ｂ）に示すように、座標点５ａの座標値を（ｘ０、ｙ０）から（ｘ１，ｙ１）に更新して、座標点５ａをキャラクタＢの座標点５ｂの方向に３ポイント分移動させる。なお、１ポイント分の移動距離をどの程度とするかは設計事項の１つとして定めればよい。次に、図８の表によれば、キャラクタＡのキャラクタＣに対する好感は２ポイント減少している。よって、図１０（ｃ）に示すように、キャラクタＡの座標点５ａの座標値を（ｘ１，ｙ１）から（ｘ２，ｙ２）に更新して、座標点５ａをキャラクタＣの座標点５ｃから遠ざかる方向に２ポイント分移動する。その結果、座標点の配置は、図１０（ｄ）の状態となる。以降、キャラクタＡの座標点５ａをキャラクタＤ〜キャラクタＮについて同様に移動すればよい。図８の表ではキャラクタＡのキャラクタＤ〜Ｎに対するポイント値は０であるため、キャラクタＡの座標点の更新処理は以上で完了する。
【００６５】
次に、キャラクタＢに対応する座標点５ｂの座標値を更新する。図８の表によれば、キャラクタＢのキャラクタＡに対する好感は４ポイント上昇している。よって、キャラクタＢの座標点５ｂの座標値を更新して、座標点５ｂがキャラクタＡの座標点５ａの方向に４ポイント分移動するようにする。本実施の形態では図１０（ｅ）に示すように、座標点５ａの更新処理前の位置（ｘ０，ｙ０）に向かって座標点５ｂを移動させる。
【００６６】
ここで、更新前の座標点（ｘ０，ｙ０）を基準として処理する理由は、１つは制御処理を簡素化して処理速度を高めるためである。更新後の座標点を基準として次の座標点移動を行うこととすると、更新後の座標点の座標値を順次記憶し、呼び出して利用する必要があるので、処理が煩雑になる。また他の理由は、制御処理としては矛盾するように見える処理が、制御されるキャラクタの動きに置き換えてみると、かえって現実的でプレイヤに好まれる場合があるからである。例えば、図１０（ｅ）は、「キャラクタＢはキャラクタＡに近づきたかったのに、キャラクタＡは既にそこにはいなかった」という図式を表している。このような行き違いは、現実の世界ではよくあることであるため、プレイヤの共感を呼ぶ可能性が高い。
【００６７】
なお、座標値を更新する手順としては種々の手順が考えられることは言うまでもなく、図１０に示した手順はあくまでも一例に過ぎない。例えば、座標点の位置により人間関係を表す以上、図１０（ｅ）の処理では、あくまでもキャラクタＢの座標点５ｂを更新後の座標点（ｘ２，ｙ２）の方向に一直線に移動させるべきとする考え方もある。そのような制御を行うことはもちろん可能である。
【００６８】
また、図１０の例では、更新処理後の座標点は、座標値を更新する座標点と基準となる座標点とを結ぶ直線上に配置されているが、これも一例にすぎない。座標点同士の距離が近づくような座標点の移動としては、図１０に示すように直線上を移動するのが、計算処理が簡単であり好ましい。しかし、例えば座標点同士の距離を１０から５に短縮するためには、基準となる座標点を中心とした半径５の円周上のいずれかの位置に座標点を移動すればよいので、必ずしも直線的に移動しなければならないということではない。このように、座標値更新の手順は、図１０の例に限定されるものではない。
【００６９】
（３−３）イベント制御処理（Ｓ１０３）
イベント制御処理は、制御用座標系４の座標点が所定の条件を満たす配置になっている場合に、イベントを発生させる処理である。言い換えれば、更新された座標点の座標値に基づいて物語を展開させる処理である。前述のように、本実施の形態のロールプレイングゲームでは、キャラクタがいだいた好感の気持ちは、恋や友情に発展し、さらには結婚、出産、特殊能力の取得へとつながる。以下、このようなイベントを発生させるための制御処理について詳細に説明する。
【００７０】
はじめに、イベントを発生させる条件について説明する。図１１（ａ）、（ｂ）は、イベント発生条件の例を示す図である。まず、図１１（ａ）に示すように座標点同士の距離が所定の距離より小さいことをイベント発生の条件とする方法が考えられる。これは親密度が高まった場合に何かしらのイベントが起きるということにほかならない。また、図１１（ｂ）に示すように、所定のエリア１３内に座標点が複数個配置されていることをイベント発生の条件とする方法も考えられる。この他、イベント発生条件としては、例えば、座標点同士の距離が所定距離より大きいとき、座標点同士の距離が予め決めた値をとるとき、座標点同士が一回の更新処理で所定距離以上近づいたとき、複数の座標点がそれぞれ予め定めた位置に配置されているとき（例えば、３つの座標点が正三角形の頂点を構成する位置関係になっているとき）、制御用座標系上の一部の領域の座標点密度が所定値を越えているときなど、種々考えられる。イベント発生条件をどのような条件とするかは特に限定されないが、本実施の形態では、主として図１１（ａ）に示した条件が満たされているときに、イベントを発生させることとする。
【００７１】
なお、本実施の形態におけるイベント発生条件は、イベントが発生するために最低限満たしていなければならない条件であり、この条件が満たされた場合に必ずイベントを発生させなければならないというものではない。確率的な要素を取り入れて、イベント発生条件が満たされているはずなのにイベントが発生しないという状況を作り出し、プレイヤを適度に悩ませたり、やきもきさせたりするためである。但し、条件が満たされた際に必ずイベントが発生するように処理を行ってもよいことは言うまでもない。
【００７２】
イベント発生の確率は一定値としてもよいが、本実施の形態では、イベントに係わるキャラクタの属性パラメータや状態パラメータの値に基づいてイベント発生の確率を決定することで、より現実味のある人間関係を演出する。なお、イベント発生の確率を決定するにあたり、プレイヤ情報を参照してもよい。これにより、例えばプレイヤがせっかちな性格の場合には、全体的にイベント発生確率を高めてプレイヤを退屈させないようにするなど、プレイヤに合わせた調整が可能になる。なお、属性パラメータ、状態パラメータ、プレイヤ情報については、心境変化発生処理の説明において述べた。イベント制御処理においても、「属性」や「状態」、プレイヤ情報の種類が限定されないことは言うまでもない。
【００７３】
図１２および図１３は、キャラクタの属性パラメータの値とイベント発生の確率の関係について説明するための図である。図１２は制御用座標系、図１３は表示用座標系を示している。また、図１２の座標点付近に記載された数値はその座標点に対応するキャラクタの属性パラメータの１つである積極性パラメータの値を示している。なお、説明の便宜上、属性パラメータの値を制御用座標系内に記載しているが、実際の制御プログラムは、制御用座標系とは別に属性パラメータを保持し、管理している。ここでは、積極性パラメータは、性格が積極的であるほど大きな値をとり、消極的であるほど小さな値をとるものとする。
【００７４】
例えば、図１２に示すように、極めて近い位置関係にある座標点の組が２組存在するとする。座標点５ｍ−５ｎ間の距離と、座標点５ｈ−５ｉ間の距離は、いずれもイベント発生条件を満たしている。座標点５ｍおよび５ｎに対応するキャラクタの積極性パラメータの値は３０であり、座標点５ｈおよび５ｉに対応するキャラクタの積極性パラメータの値は５である。
【００７５】
本実施の形態では、このような場合に、積極性パラメータの値が大きいほどイベント発生確率が高くなるような制御を行う。これにより、ゲームの物語中では、座標点５ｍおよび５ｎに対応するキャラクタ（積極性パラメータの値が大きいキャラクタ）の仲は急速に発展するが、座標点５ｈおよび５ｉに対応するキャラクタ（積極性パラメータの値が小さいキャラクタ）の仲はなかなか進展しないという状況が発生する。図１３は、この状況を示す表示用座標系であり、カーソル１０を座標点５ｈに対応するキャラクタのイメージ８ｈに合わせたところを示している。図の例では、イメージ８ｈが示すキャラクタは、イメージ８ｉが示すキャラクタ（座標点５ｉに対応するキャラクタ）との仲について悩んでいる。
【００７６】
キャラクタの属性パラメータの値をイベント発生の確率に反映させる例としては、他に、キャラクタをグループごとに色分けしておき、色属性が同じキャラクタ間のイベント発生確率を高める（低める）ことなどが考えられる。あるいはロボットのキャラクタをその形状ごとに分類しておき、形状属性が同じキャラクタ間のイベント発生確率を高める（低める）例も考えられる。
【００７７】
次に、発生させるイベントの種類について説明する。本実施の形態では、恋、プロポーズ、結婚、出産、友情、精霊召喚、死別、プレイヤ介入の計８種類のイベントを発生させる。恋イベントは、親密度を増した２人のキャラクタの関係が恋人関係に発展するイベントである。プロポーズイベントは、恋人関係にあるキャラクタ間にのみ発生し、いずれか一方のキャラクタが他方のキャラクタに結婚を申し込むイベントである。結婚イベントは、恋人関係にあるキャラクタ間にのみ発生するイベントであり、２人のキャラクタの関係が婚姻関係に発展する。プロポーズ済みの場合、プロポーズが未だである場合の、いずれの場合も結婚イベントは発生し得る。出産イベントは、婚姻関係にあるキャラクタ間にのみ発生するイベントであり、このイベントにより物語に新たなキャラクタ、すなわち誕生した子供のキャラクタが加わる。友情イベントは、親密度を増した２人のキャラクタが友情を誓い合うイベントである。精霊召喚イベントは、友情関係にあるキャラクタ間にのみ発生するイベントである。精霊の力を借りて行動する特殊能力を取得するイベントである。死別イベントは、恋人関係、婚姻関係、友情関係にあるキャラクタ間で発生するイベントで、物語の中で、戦闘の際に一方が死んでしまった場合に最後の別れをするイベントである。
【００７８】
また、プレイヤ介入イベントは、プレイヤがキャラクタ同士の人間関係に一時的かつ部分的に介入できるイベントである。前述のように、このロールプレイングゲームでは、プレイヤは、戦闘フォーメーションと各キャラクタの行動を決めるだけであり、原則としてキャラクタ同士の人間関係に直接介入することはできない。プレイヤ介入イベントは、この例外として、プレイヤにキャラクタ同士の人間関係に直接関与する機会を与えるイベントである。本実施の形態では、プレイヤ介入イベントの発生確率は一律であり、キャラクタの属性や状態によらないものとする。但し、キャラクタの属性や状態によって確率を変動させてもよいことは、言うまでもない。例えば、性格が頑固なキャラクタは一般に人のアドバイスに耳を貸さないことが多いので、プレイヤ介入イベントの発生確率を低くするといった方法が考えられる。
【００７９】
プレイヤ介入イベントは、プレイヤからの何らかの入力を受け付けて、その入力に基づいてキャラクタ同士の人間関係を進展あるいは後退させる処理であり、例えば次のような処理として実装することが考えられる。
【００８０】
図１３のイメージ８ｈとイメージ８ｉが示すキャラクタ同士のように、座標点同士の距離は近いが恋イベントがなかなか発生しないという状況が生じている場合に、所定の確率でプレイヤ介入イベントを発生させる。プレイヤ介入イベントでは、図１４に示すように画面上に選択メニュー１４を表示し、プレイヤからの選択入力を受け付ける。選択メニューには、キャラクタ間の人間関係に関わるアドバイスとして考えられるものをいくつか表示する。一方のキャラクタのみに対するアドバイスでも、両方のキャラクタに対するアドバイスでもよい。あるいは、当事者以外のキャラクタに対するアドバイスあるいは命令（例えば「２人の仲を妨害せよ。」など）でもよい。
【００８１】
プレイヤが選択メニュー１４のいずれかの項目を選択した場合には、アドバイスを受けたキャラクタが物語の中でそのアドバイスに沿った行動をとるように、キャラクタの行動を制御する。但し、ここで、キャラクタの性格パラメータの値を制御に取り入れて、例えば素直な性格のキャラクタはプレイヤのアドバイスに忠実に行動するが、ひねくれた性格のキャラクタはプレイヤのアドバイスと逆の行動をとるといった制御を行ってもよい。
【００８２】
なお、以上に説明した８種類のイベントは、あくまでも例にすぎない。イベントの種類はゲームの物語に応じて設計者が自由に定めてよい。他のイベントとしては、例えばシナリオを分岐させるイベントが考えられる。そのイベントが発生した場合のみ、物語が特別な展開をするようなイベントである。また、キャラクタの戦闘時の行動や能力を変化させるイベントも考えられる。この場合、イベントは、次の戦闘場面において発生する。例えば、キャラクタが１回の戦闘ターンで２回以上攻撃できるようになったり、回復魔法を使ったときの回復効果が２倍になるなど、通常と異なる行動、能力を発揮できるようにするイベントである。
【００８３】
次にイベントを発生させるタイミングについて説明する。前述のように、イベントは座標値更新後の座標点の位置関係を判定した上で発生させる必要があるので、イベント発生のタイミングは、戦闘場面終了後となる。本実施の形態では、主人公を含むキャラクタ１４人が、戦闘を終えて本拠地の城に帰ったときに、まとめてイベントを発生させる。但し、イベント発生のタイミングは、これに限られるものではなく、例えば戦闘場面から通常場面に戻った直後に発生させてもよいし、戦闘場面終了後ランダムなタイミングで発生させてもよい。
【００８４】
図１５は、座標点の位置関係の判定とイベント制御の処理を示すフローチャートである。はじめに、戦闘において死別したキャラクタがいたかを判定し（Ｓ３０１）、死別したキャラクタがいる場合には死別イベントを発生させる（Ｓ３０２）。死別イベントは、一方のキャラクタが戦死した際に、恋人関係、婚姻関係、友情関係などを解消するためのイベントで、例えば物語の中でお葬式を行うなどする。次に、結婚状態のキャラクタの有無を判定する（Ｓ３０３）。結婚状態のキャラクタが有る場合には、ステップＳ３０４においてイベントを発生させるか否かが決定される。前述のように、本実施の形態では、イベント発生条件が満たされていても必ずイベントが発生するとは限らない。ステップＳ３０４は、イベントを発生させるか否かを所定の確率でランダムに決定する処理である。イベントを発生させることとなった場合には、出産イベントを発生させる（Ｓ３０５）。これにより、新たなキャラクタが追加される。新たなキャラクタに対応する座標点の、制御用座標系４の配置位置は任意に定め得る。親との関係は生まれたときから親密であると考えて親キャラクタの座標点付近に配置する方法もあるが、生まれたときには人間関係はまだ形成されていないと考えて制御用座標系４の端に配置する方法も考えられる。次に、恋人関係のキャラクタの有無を判定し（Ｓ３０６）、有る場合にはステップＳ３０７でイベントを発生させるか否かを決定する。発生させるイベントは、プロポーズイベント（Ｓ３０８）または結婚イベント（Ｓ３０９）の２種類があり、いずれのイベントを発生させるかはステップＳ３０７でランダムに決定する。次に、異性キャラクタ同士で座標点間の距離が所定値以下となっているキャラクタの有無を判定する（Ｓ３１０）。この場合もステップＳ３１１で、イベントを発生させるか否かを決定し、恋イベント（Ｓ３１２）またはプレイヤ介入イベント（Ｓ３１３）を発生させる。次に、友情関係にあるキャラクタの組の有無を判定し（Ｓ３１４）、有る場合にはステップＳ３１５でイベントを発生させるか否かを決定し、精霊召喚イベントを発生させる。次に、同性キャラクタ同士で座標点間の距離が所定値以下となっているキャラクタの有無を判定する（Ｓ３１７）。この場合もステップＳ３１８で、イベントを発生させるか否かを決定し、友情イベント（Ｓ３１９）またはプレイヤ介入イベント（Ｓ３２０）を発生させる。
【００８５】
なお、図１５に示したフローチャートは一例にすぎず、判定内容や、判定内容と発生させるイベントとの対応付けは、他にも種々考えられる。例えば、判定内容と発生させるイベントとの対応付けを変更すれば、ゲームの物語の中に不倫するキャラクタや、シングルマザーのキャラクタを登場させることも可能である。また、イベント発生の条件、すなわち判定の内容を変更する例としては、例えば次のような例が考えられる。
【００８６】
上記説明で例示したイベントは、いずれも２人のキャラクタの間で発生するイベントであった。しかし、発生するイベントは必ずしも２人のキャラクタの関係に関わるイベントに限る必要はない。３人以上のキャラクタ間に生じる人間関係としては、例えば、互いに好感を持った複数人のキャラクタがグループを結成することが考えられる。そこで、前記イベント発生条件として「座標点密度が所定値を超えるエリアがある」という条件を設定しておき、この条件が満たされている場合に「グループ結成」イベントを発生させる。具体的には、キャラクタの状態パラメータの１つとしてグループパラメータを定義し、初期値として０を設定しておく。イベント制御処理では、制御用座標系４を複数の領域に区切って領域ごとに座標点密度を計算し、座標点密度が所定値を超えるエリアの有無を判定する。図１６に示すように座標点密度が所定値を超えるエリアが存在する場合には、所定の確率でグループ結成イベントを発生させる。イベント発生時には、そのエリア内に座標点が配置されているキャラクタのグループパラメータに、グループを区別するためのＩＤを設定する。表示用座標系では、例えば図１７のようにグループが結成されていることを示す表示１５を行ってもよい。
【００８７】
（４）制御用座標系の他の例
図１８は、図４などに示した制御用座標系上に区分領域１６ａ、１６ｂおよび１６ｃを定義した図である。上記例では、戦闘時のフォーメーションと各キャラクタの行動により決定されたポイント値を、キャラクタの属性パラメータなどに基づいて調整する手法を示したが、以下の例では、ポイント値の調整に、制御用座標系が保持する区分定義を用いる。
【００８８】
図１８に示す例は、区分領域１６ａおよび１６ｂを、残りの領域１６ｃと比べて人間関係が特に進展しにくい領域として定義した例である。表示用座標系では図１９に示すように、区分領域１６ａは底なし沼１７として、また区分領域１６ｂは高い塀１８として表現されている。但し、各区分領域の意味付けは、設計者が自由に定め得る。例えば、人間関係が進展しやすい領域を定義してもよいし、その領域に入った途端すべての人間関係が破綻するという領域を定義をしてもよい。
【００８９】
区分領域１６ａ内にいるキャラクタについては、心境変化発生処理やイベント制御処理で、他のキャラクタと親密になり難くなるように制御する。例えば、心境変化発生処理で、行動パラメータの増加分をポイント値に換算する際に、ポイント値を通常の１／１０にしたり、イベント制御処理でイベント発生確率を極端に小さくする。
【００９０】
区分領域１６ｂについては、この領域を挟んで一方の側に配置された座標点が他方の側に移動しにくくなるような制御を行う。例えば、図の例で、区分領域１６ｂの左側に座標点が配置されているキャラクタが、区分領域１６ｂの右側に座標点が配置されているキャラクタに対して好意をいだいた場合に、前述の座標値更新処理を行い、更新後の座標点が区分領域１６ｂ内に位置する場合には、座標値を更新前の値に戻す処理を行う（更新をキャンセルする）。この処理を加えた場合、区分領域１６ｂを挟んで配置された２つの座標点は、一回の更新処理で区分領域１６ｂを超えるような大幅な移動を行わない限り、近づくことがない。言い換えれば、区分領域１６ｂは人間関係に立ちはだかる壁あるいは溝であり、これを乗り越えて親密になるためには、キャラクタの感情を急激に盛り上げる必要がある。プレイヤは、この場合、１回の戦闘で大量のポイントを取得できるように、戦闘フォーメーションや戦闘時の各キャラクタの行動を工夫しなければならない。
【００９１】
３．　オブジェクト関係の制御
上記例は、制御用座標系によりキャラクタ同士の人間関係を管理する例であるが、関係を制御する対象をゲームの物語を構成する他のオブジェクトにまで広げることも可能である。他のオブジェクトとしては、例えば物語に登場する各種アイテムや、場所（城、湖、部屋など）などがある。アイテムとは、物語の中でキャラクタが使用するものであり、例えば武器、防具、道具、冒険の指南書などがある。
【００９２】
図２０は、制御用座標系４上に、キャラクタの座標点とアイテムの座標点をそれぞれ配置した図である。丸印が示す座標点はキャラクタに対応し、ひし形が示す座標点はアイテムに対応する。図２１は、図２０の制御用座標系に対応する表示用座標系を示す図である。図は、座標点５ｐに対応するキャラクタが、座標点１９に対応するアイテムを欲しがっている状況を示している。
【００９３】
このように、キャラクタに対する感情（好き嫌いなど）をキャラクタ以外のオブジェクトに対する感情（所有欲など）に置き換えて、上記人間関係の制御と同様に制御用座標系を用いた制御を行うこともできる。この場合、アイテムは、物語の中で何らかの内的な変化が生じるようなものとする。例えば、戦闘時に自分の意志で攻撃する「剣」、時間とともに価値が変化する宝石などが考えられる。この内的変化を、上記キャラクタの心境変化と同様ポイント値により制御すればよい。
【００９４】
４．ハードウェアの構成
図２６は、上記ゲーム制御プログラムを実行するために必要なハードウェアの構成例を示す図であり、ゲーム装置２１と、そのゲーム装置２１に接続された周辺機器を示している。ゲーム装置２１は、ケーブル３０により表示出力装置２７に接続されている。本実施の形態では、表示出力装置２７は、ゲーム画面を表示するための表示画面２８と、ゲームの音声を出力するためのスピーカ２９とを備えた家庭用テレビである。
【００９５】
また、ゲーム装置２１には、ケーブル４５により、プレイヤがゲームを制御するための制御信号を入力する入力機器３１（以下、コントローラ３１と称する）が接続されている。本実施の形態において使用されるコントローラは、方向指示ボタン３４、ＳＥＬＥＣＴボタン３２、ＳＴＡＲＴボタン３３、△ボタン３９、○ボタン４０、□ボタン４１、×ボタン４２、Ｌ１ボタン４３ａ、Ｌ２ボタン４３ｂ、Ｒ１ボタン４４ａおよびＲ２ボタン４４ｂを備えている。
【００９６】
各ボタンによりどのような操作が可能であるかは、ゲーム制御プログラムが各ボタンをどのような制御に割り当てるかによって決まる。上記ロールプレイングゲームでは、概ね次のような操作が可能である。
【００９７】
方向指示ボタン３４は、設定画面におけるカーソル位置の制御や、ゲーム進行中キャラクタの移動方向制御に使用するボタンである。方向指示ボタン３４の上部３５が画面の上方向、左部３６が画面の左方向、下部３７が画面の下方向、右部３８が画面の右方向にそれぞれ割り当てられており、各部を押すことによりカーソルやキャラクタを制御することができる。
【００９８】
ＳＥＬＥＣＴボタン３２は、例えばゲーム中にデータセーブ画面を呼び出す場合など、画面を切り換える際に用いられる。また、ＳＴＡＲＴボタン３３は、主としてゲームの開始あるいは一時停止の指示に用いられる。△ボタン３９、○ボタン４０、□ボタン４１、×ボタン４２、Ｌ１ボタン４３ａ、Ｌ２ボタン４３ｂ、Ｒ１ボタン４４ａおよびＲ２ボタン４４ｂは、主としてゲーム進行中のキャラクタの制御に用いられる。８つのボタンの組み合わせ操作により、多種多様な制御が実現される。
【００９９】
ゲーム装置２１は、電源ボタン２２のほか、ＤＶＤやＣＤ−ＲＯＭをセットするディスクトレイが収納されたディスクトレイ収納部２３、ディスクトレイ収納部２３からディスクトレイを搬出させるためのオープンボタン２４、ゲームの経過、成績などをセーブするメモリ・カードを差し込むスロット２５、各種コントローラを接続するための接続端子（図中の接続端子２６ａは接続状態を示し、接続端子２６ｂは非接続状態を示す）、画面、音声などの出力装置を接続するための接続端子およびネットワーク接続のための接続端子（いずれも図示せず）を備えている。
【０１００】
図２７は、ゲーム装置２１の内部構造を表すブロック図である。ゲーム装置２１は、内部的には、ＣＰＵ４７、ＲＯＭ４８、ＲＡＭ４９、ＶＲＡＭ５０、音声合成部５２、入出力制御部５３、入力制御部５６および通信制御部５７が、システムバス４６に接続され、システムバス４６を介して信号をやりとりできるように構成されている。
【０１０１】
ゲーム装置２１の電源が入ると、まずＲＯＭ４８に記憶されている初期化データによって内部回路などが初期化され、ＤＶＤ５４に記憶されているゲーム制御プログラムや、メモリ・カード５５に記憶されているセーブデータなどが入出力制御部５３を介してＲＡＭ４９に読み込まれる。一方、プレイヤが入力機器３１から入力する制御信号は、入力制御部５６を介してＣＰＵ４７に提供される。ＣＰＵ４７は、ＲＡＭ４９に記憶されたプログラムおよびデータを、入力制御部５６から提供される制御信号に基づいて順次処理する。ＣＰＵ４７による処理の結果出力される画像は、一画面ごとに一旦ＶＲＡＭ５０に蓄えられ、画像制御部５１を介してテレビの表示画面などの画像表示部２８に送られる。同様にプログラムの実行により出力される音声は音声合成部５２を介してテレビのスピーカなどの音声出力部２９に送られる。また、ネットワーク上に接続された複数のプレイヤによってゲームを進行させる場合には、通信制御部５７を介してネットワーク５８に接続されている他のゲーム装置との間のデータ交換が行われる。
【０１０２】
前述のゲーム制御プログラムは、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）、ＣＤ−ＲＯＭ、メモリ・カードなどのメディアに記録されて提供される。ゲーム制御プログラムは、入力出力制御部５３を介してゲーム装置２１内に読み込まれ、ＣＰＵ４７により実行される。あるいは、ネットワーク上のサーバから図２７の通信制御部５７を介してゲーム装置２１に読み込まれ、実行される場合もある。
【０１０３】
５．従来手法との比較
以下、図２０および図２１に示した例を用いて、制御用座標系を用いた人間関係（あるいはオブジェクト関係）制御の利点について、従来の手法と比較しながら詳細に説明する。
【０１０４】
従来の手法は、図２８に示したようにキャラクタ同士の「関係」ごとに制御パラメータを管理し、その値を更新するというものである。この手法では、関係を規定する制御パラメータが定義されていないキャラクタ間（例えば図２８のキャラクタＡとキャラクタＢ）では、人間関係の変化は起こりえない。登場キャラクタ数が少ないゲームの場合には全てのキャラクタの相互関係をパラメータとして管理することも不可能ではないが、登場キャラクタの数が多い場合にはプログラムの構造が複雑化し、プログラム実行時の負荷も高まる。
【０１０５】
これに対し、「人間関係」を、座標点の位置関係として管理する手法では、キャラクタと同数の座標点の座標値を管理するのみでよく、実行する計算処理も、座標点を所定の方向に向かって移動させる簡単な計算のみでよい。したがって、プログラムの構造は極めてシンプルなものとなり、実行時の負荷も少ない。また、この手法では、設計者の意図に拘わらず、座標点同士の位置関係と同じ数だけ人間関係が定義され、制御されることになる。すなわち、従来のように変化が起こりえない関係というものはあり得ない。
【０１０６】
さらに、従来の手法では、物語の中で不自然でない程度の番狂わせを生じさせようとした場合、設計段階で番狂わせ状態を各種パラメータの値として定義し、所定の確率でその状態となるようにパラメータを制御する必要があった。すなわち、「番狂わせ」は、あくまでもゲーム製作者が企画した番狂わせであり、それが面白いか否かはゲーム製作者のセンス次第であった。言い換えれば、従来の手法によりゲームを設計している限り、ゲーム製作者の創造力の範囲を超えてゲームが面白くなることはあり得ない。
【０１０７】
これに対し、制御用座標系上の座標点を管理する手法では、イベントの種類とイベントの発生条件はゲーム製作者が定めるものの、イベントに係わるキャラクタ、イベント発生の時期は、プレイヤの操作次第、また物語の進行次第である。このため、ゲーム製作者が意図しない番狂わせが生じることもある。以下、その具体例を示す。
【０１０８】
例えば、ゲームの物語の中で、あるキャラクタ（性別は男）が所定のアイテムを手に入れようと努力を重ねているものとする。制御用座標系は前述の図２０のような座標配置となっている。またプレイヤは、そのキャラクタに早くそのアイテムを取得させて戦闘能力を高めようと、戦闘時フォーメーションを工夫しているものとする。その結果、そのキャラクタの座標点５ｐは、戦闘の度にアイテム２０の座標点１９の方向へ少しずつ移動しているものとする。
【０１０９】
図２２は、３回目の戦闘後の制御用座標系の座標点配置を示す図である。座標点５ｐの移動経路の近くに、あるキャラクタ（性別は女）の座標点５ｑが配置されている。座標点５ｐと座標点５ｑの距離は、イベント発生条件として規定されている所定距離以下となっている。図２３の表示用座標系に示すように、座標点５ｐに対応するキャラクタは、座標点５ｑに対応するキャラクタに興味を持っている。
【０１１０】
図２４および図２５は、座標点５ｐに対応するキャラクタが、座標点５ｑに対応するキャラクタに興味を持った結果、座標点５ｐが座標点５ｑの方向に移動し、恋イベントが発生した状態を示している。恋イベントの発生により、ゲームの物語の中では、アイテム２０を求めて旅していた一途な青年は、恋に目覚めて当初の目的を忘れつつある青年へと変化する。すなわち、物語の展開が大きく変わる。
【０１１１】
上記例の番狂わせは、上記説明から明らかであるように、座標点の座標値を更新して、所定の条件でイベントを発生させた結果に過ぎない。言い換えれば、ゲーム製作者が作りこんだものではない。すなわち、物語がゲーム製作者の予定しなかった展開となる場合もあり得る。
【０１１２】
一方、ゲーム製作者が、物語をある程度意図どおりに展開させたいと考えた場合、あるいは物語が現実世界とかけ離れすぎてプレイヤの共感を得られなくなることを防ぎたいと考えた場合には、前述のようにキャラクタの属性／状態パラメータあるいは制御用座標系上の区分定義などを利用して、物語が所定範囲を逸脱した展開とならないように、調整を行うこともできる。
【０１１３】
このように、制御用座標系上の座標点を管理する手法では、座標値計算と座標値判定に基づくイベント制御処理という比較的単純な処理しか実行しないにも拘わらず、物語の大枠はゲーム製作者の意図どおりで、かつ製作者自身が意図しなかった番狂わせが生じるような面白みのあるゲームを実現することができる。プレイヤはゲーム製作者が規定した枠の範囲内で物語を自由に展開させることができ、自分だけの物語展開を、またプレイする度に異なる展開を楽しむことができる。
【０１１４】
【発明の効果】
本発明のゲーム装置およびゲーム制御プログラムは、ゲームに登場するキャラクタの物語中の関係を、制御用座標系における座標点の位置関係として管理し、この位置関係に基づいてそのキャラクタの人間関係に係わるイベントを制御する。任意の座標点同士がイベント発生条件を満たす可能性があるので、物語の展開は従来よりもバラエティに富んだものとなり、プレイする度に新しい物語を展開させることができる。また、制御処理は簡単な座標計算のみでよいため処理の負荷が少なく、装置の能力により物語の展開が制限されることもない。
【図面の簡単な説明】
【図１】ロールプレイングゲームの戦闘場面の一例を示す図
【図２】戦闘フォーメーションについて説明するための図
【図３】戦闘時のフォーメーションとキャラクタの心境変化との関係について説明するための図
【図４】制御用座標系を示す図
【図５】表示用座標系を示す図
【図６】ゲーム制御プログラムの処理概要を示すフローチャート
【図７】キャラクタ職業別のポイント平均値を示す表
【図８】キャラクタごとの蓄積ポイントを示す表
【図９】座標値更新処理を示すフローチャート
【図１０】座標値更新処理時の制御用座標系の変移を示す図
【図１１】イベント発生条件の例を示す図
【図１２】キャラクタの属性パラメータの値とイベント発生の確率の関係について説明するための図（制御用座標系）
【図１３】キャラクタの属性パラメータの値とイベント発生の確率の関係について説明するための図（表示用座標系）
【図１４】プレイヤ介入イベント発生時の画面を示す図
【図１５】座標点の位置関係の判定とイベント発生の処理を示すフローチャート
【図１６】３以上のキャラクタに係るイベントについて説明するための図（制御用座標系）
【図１７】３以上のキャラクタに係るイベントについて説明するための図（表示用座標系）
【図１８】座標形上に区分領域を定義した制御用座標系示す図
【図１９】図１８の制御用座標系に対応する表示用座標系を示す図
【図２０】キャラクタ−アイテム間の関係を管理するための制御用座標系の例を示す図
【図２１】図２０の制御用座標系に対応する表示用座標系を示す図
【図２２】図２０の制御用座標系における座標点の変移を示す図
【図２３】図２２の制御用座標系に対応する表示用座標系を示す図
【図２４】図２０の制御用座標系における座標点の変移を示す図
【図２５】図２４の制御用座標系に対応する表示用座標系を示す図
【図２６】ゲーム装置の外観を示す図
【図２７】ゲーム装置の内部構成を示す図
【図２８】従来の人間関係の制御方法を示す図
【符号の説明】
１　敵キャラクタ、　２ａ〜ｎ　キャラクタ、　３　枠、　４　制御用座標系、　５　座標点、　６　表示装置、　７　座標平面（表示用座標系）、　８　キャラクタのイメージ、　９　強調表示、　１０　カーソル、　１１ｎ　拡大イメージ、　１２　メッセージ、　１３　エリア、　１４　選択メニュー、　１５　表示、　１６ａ〜ｃ　区分領域、　１７　沼、　１８　塀、　１９　アイテムに対応する座標点、　２０　アイテムのイメージ、　２１　ゲーム装置、　２２　電源ボタン、　２３　ディスクトレイ収納部、　２４　オープンボタン、　２５スロット、　２６ａ，ｂ　接続端子、　２７　表示出力装置、　２８　表示画面、　２９　スピーカ、　３０，４５　ケーブル、　３１　入力機器（コントローラ）、　３２〜３４，３９〜４４　ボタン、　４６　システムバス、　５４　ＤＶＤなど、　５５　メモリ・カード。
【図１】
2004033488.tif 000003
【図２】
2004033488.tif 000004
【図３】
2004033488.tif 000005
【図４】
2004033488.tif 000006
【図５】
2004033488.tif 000007
【図６】
2004033488.tif 000008
【図７】
2004033488.tif 000009
【図８】
2004033488.tif 000010
【図９】
2004033488.tif 000011
【図１０】
2004033488.tif 000012
【図１１】
2004033488.tif 000013
【図１２】
2004033488.tif 000014
【図１３】
2004033488.tif 000015
【図１４】
2004033488.tif 000016
【図１５】
2004033488.tif 000017
【図１６】
2004033488.tif 000018
【図１７】
2004033488.tif 000019
【図１８】
2004033488.tif 000020
【図１９】
2004033488.tif 000021
【図２０】
2004033488.tif 000022
【図２１】
2004033488.tif 000023
【図２２】
2004033488.tif 000024
【図２３】
2004033488.tif 000025
【図２４】
2004033488.tif 000026
【図２５】
2004033488.tif 000027
【図２６】
2004033488.tif 000028
【図２７】
2004033488.tif 000029
【図２８】
2004033488.tif 000030