(57)【特許請求の範囲】
【請求項１】
街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、ゲーム空間がユーザおよび前記仮想対戦ユーザに関連づけられ、
前記ユーザの特性に応じて、前記仮想対戦ユーザの特性を決定するステップと、
前記仮想対戦ユーザに関連づけられる対象オブジェクトの所定のパラメータ値を増加させる複数のオブジェクト配置ロジックの内１つを決定するステップと、
前記１つのオブジェクト配置ロジックに予め関連づけられた複数の適用ルールのセットの内１つを、各前記適用ルールの適用順位と共に決定するステップであって、前記各適用ルールは、前記仮想対戦ユーザに関連づけられるゲームポイントを増加させるために、所定の動作条件下で前記対象オブジェクトに対して所定のアクションを実施することを規定するステップと、
前記適用順位に従い、前記動作条件を満たす前記適用ルールを特定するステップと、
前記適用ルールにおける前記アクションを、前記仮想対戦ユーザの特性に関連づけて決定される前記対象オブジェクトに対して実施するステップと
を含む方法を前記コンピュータに実行させる、ゲームプログラム。
【請求項２】
請求項１記載のゲームプログラムにおいて、前記方法が更に、
前記適用ルールを特定する前記ステップにおいて、前記適用順位の動作条件を満たさない場合には、次の適用順位の適用ルールにおける動作条件を満たすかを判断するステップを含む、ゲームプログラム。
【請求項３】
請求項１または２記載のゲームプログラムにおいて、前記適用ルールにおける前記アクションが、前記所定のパラメータ値が最も大きい前記対象オブジェクトを、前記ゲーム空間の第１位置に配置することを含む、ゲームプログラム。
【請求項４】
請求項１から３のいずれか一項記載のゲームプログラムであって、前記対象オブジェクトが第１オブジェクトおよび第２オブジェクトを含み、前記仮想対戦ユーザに関連づけられた前記第１オブジェクトが前記ゲーム空間の第１位置に配置されており、前記適用ルールが、
前記第１位置に基づいて、前記仮想対戦ユーザのゲームポイントを決定し、
前記仮想対戦ユーザに関連づけられた前記第２オブジェクトを、前記第１位置との関係に基づいて前記仮想対戦ユーザのゲームポイントを増加させるように決定される、前記ゲーム空間の第２位置に配置する
ことを含む、ゲームプログラム。
【請求項５】
請求項４記載のゲームプログラムにおいて、前記対象オブジェクトが第３オブジェクトを含み、前記関係は、前記ゲーム空間において前記第１位置および前記第２位置が、第３位置に配置された前記第３オブジェクトを介して接続されるかに基づいて決定される、ゲームプログラム。
【請求項６】
請求項５記載のゲームプログラムにおいて、前記関係は、前記第２位置に関連づけられる、前記第２オブジェクトの正の有効範囲の領域に前記第１位置が含まれるかに基づいて決定される、ゲームプログラム。
【請求項７】
請求項６記載のゲームプログラムにおいて、前記適用ルールが更に、
前記第１位置を前記第２オブジェクトの正の有効範囲の領域に含めるように変更することを含む、ゲームプログラム。
【請求項８】
請求項７記載のゲームプログラムにおいて、前記対象オブジェクトが第４オブジェクトを含み、前記仮想対戦ユーザに関連づけられた前記第４オブジェクトがゲーム空間の第４位置に配置されており、前記適用ルールが更に、
前記第１位置が、前記第４位置に関連づけられる負の有効範囲の領域に含まれる場合に、前記第４オブジェクトを非活性化することを含む、ゲームプログラム。
【請求項９】
請求項８記載のゲームプログラムにおいて、前記仮想対戦ユーザのゲームポイントが、前記第１オブジェクトに関連づけられる第１パラメータ値に少なくとも基づいて決定され、前記適用ルールが更に、
前記前記第１パラメータ値が、所定の上限値に達している場合に、前記上限値を増加させるように更新することを更に含む、方法。
【請求項１０】
請求項１から３のいずれか一項記載のゲームプログラムであって、前記対象オブジェクトが第１オブジェクトおよび第２オブジェクトを含み、前記仮想対戦ユーザに関連づけられた前記第１オブジェクトがゲーム空間内の第１位置に配置されており、前記適用ルールが、
前記第１位置に基づいて前記第１オブジェクトに関連づけられる第１パラメータ値を決定し、
前記第１パラメータ値が、前記第１オブジェクトに関連付けられる所定の値より小さいかを判定し、
前記第１パラメータ値が前記所定の値より小さい場合に、前記仮想対戦ユーザに関連づけられた前記第２オブジェクトを、前記第１位置との関係に基づいて前記第１パラメータ値を増加させるように決定される、前記ゲーム空間の第２位置に配置することを含む、ゲームプログラム。
【請求項１１】
請求項１０記載のゲームプログラムにおいて、前記対象オブジェクトが第３オブジェクトを含み、前記関係は、前記ゲーム空間において前記第１位置および前記第２位置が、第３位置に配置された前記第３オブジェクトを介して接続されるかに基づいて決定される、ゲームプログラム。
【請求項１２】
請求項１１記載のゲームプログラムにおいて、前記対象オブジェクトが第４オブジェクトを含み、前記仮想対戦ユーザとは異なるユーザに関連づけられた前記第４オブジェクトが前記ゲーム空間の第４位置に配置されており、前記適用ルールが更に、
前記第４位置の第４オブジェクトの関連づけを、前記異なるユーザから前記仮想対戦ユーザに変更することを含む、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムに関するものである。
【背景技術】
【０００２】
ネットワークを通じて複数のユーザに共通のゲーム空間を共有させ、ユーザアクションにより自らの領域を競って拡張させるような陣取りシミュレーションゲームが提供されている。特許文献１および２には、より優秀な施設を多くの建築したプレイヤは他のプレイヤよりも有利にゲームを進めることができるようになるゲームが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２２３４７１号公報
【特許文献２】国際公開第２０１５−０４６４４７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１および２に開示されているゲームでは、街づくりのような拠点強化要素は、他のプレイヤの部隊との対戦をする上で、自らの兵力を強化するなどの手段として用いられ、街づくり自体によってゲームの勝敗を決するゲームポイントが付与されるものではなかった。
【０００５】
また、上記のシミュレーションゲームでは、複数のユーザ間でオンラインの対戦ゲームを行うものであり、コンピュータ制御によりコンピュータに仮想対戦ユーザとして動作させるものではなかった。
【０００６】
本発明は、街づくり要素のゲーム性を高めると共に、コンピュータ対戦ゲームとして機能させるゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるコンピュータプログラムであって、ゲーム空間がユーザおよび仮想対戦ユーザに関連づけられ、ユーザの特性に応じて、仮想対戦ユーザの特性を決定するステップと、複数のオブジェクト配置ロジックの内１つを決定するステップと、１つのオブジェクト配置ロジックにおける１セットの適用ルールを適用順位と共に決定するステップであって、各適用ルールは、仮想対戦ユーザに関連づけられるゲームポイントを増加させるために、所定の動作条件下で対象オブジェクトに対して所定のアクションを実施することを規定するステップと、適用順位に従い、動作条件を満たす適用ルールを特定するステップと、適用ルールにおけるアクションを、仮想対戦ユーザの特性に関連づけて決定される対象オブジェクトに対して実施するステップと、を含む方法をコンピュータに実行させるゲームプログラムが得られる。
【０００８】
また、本発明によれば、街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、仮想対戦ユーザに関連づけられた第１オブジェクトがゲーム空間の第１位置に配置されており、第１位置に基づいて、仮想対戦ユーザのゲームポイントを決定するステップと、仮想対戦ユーザに関連づけられた第２オブジェクトを、第１位置との関係に基づいて仮想対戦ユーザのゲームポイントを増加させるように決定される、ゲーム空間の第２位置に配置するステップと、を含む方法をコンピュータに実行させるゲームプログラムが得られる。
【０００９】
更に、本発明によれば、街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、仮想対戦ユーザに関連づけられた第１オブジェクトがゲーム空間内の第１位置に配置されており、第１位置に基づいて第１オブジェクトの第１パラメータの値を決定するステップと、第１パラメータの値が所定の値より小さいかを判定するステップと、第１パラメータの値が所定の値より小さい場合に、仮想対戦ユーザに関連づけられた第２オブジェクトを、第１位置との関係に基づいて第１パラメータの値を増加させるように決定される、ゲーム空間の第２位置に配置するステップと、を含む方法をコンピュータに実行させる、ゲームプログラムが得られる。
【発明の効果】
【００１０】
本発明によれば、街づくり要素のゲーム性を高めて、コンピュータ対戦ゲームをユーザに提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のゲームシステムを示す図である。
【図２】本実施形態のゲーム空間の一例を示す。
【図３】本実施形態のユーザ端末の構成を示す図である。
【図４】本実施形態のゲームサーバの構成を示す図である。
【図５】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図６】本実施形態のユーザ管理テーブルの一例を示す。
【図７】本実施形態のオブジェクト管理テーブルの一例を示す。
【図８】本実施形態のスキル管理テーブルの一例を示す。
【図９】本実施形態の対戦ゲーム空間の一例を示す。
【図１０】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図１１】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図１２】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図１３】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図１４】本実施形態のロジックテーブルの一例を示す。
【図１５】本実施形態のシナリオテーブルの一例を示す。
【図１６】本実施形態のルールテーブルの一例を示す。
【図１７】本実施形態のゲームシステムにおける処理を示すフローチャートである。
【図１８】本実施形態のシナリオテーブルの一例を示す。
【図１９】本実施形態のルールテーブルの一例を示す。
【発明を実施するための形態】
【００１２】
［本発明の実施形態の説明］
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態のゲームプロ
グラムは、以下のような構成を備える。
【００１３】
（項目１）街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、ゲーム空間がユーザおよび前記仮想対戦ユーザに関連づけられ、
前記ユーザの特性に応じて、前記仮想対戦ユーザの特性を決定するステップ（Ｓ６０３）と、
複数のオブジェクト配置ロジックの内１つを決定するステップ（Ｓ１１７０）と、
前記１つのオブジェクト配置ロジックにおける適用ルールのセットを適用順位と共に決定するステップ（Ｓ１１８０）であって、各前記適用ルールは、前記仮想対戦ユーザに関連づけられるゲームポイントを増加させるために、所定の動作条件下で対象オブジェクトに対して所定のアクションを実施することを規定する、ステップと、
前記適用順位に従い、前記動作条件を満たす前記適用ルールを特定するステップ（Ｓ１１９０）と、
前記適用ルールにおける前記アクションを、前記仮想対戦ユーザの特性に関連づけて決定される前記対象オブジェクトに対して実施するステップ（Ｓ１３１０）と
を含む方法を前記コンピュータに実行させる、ゲームプログラム。
【００１４】
これにより、ゲーム性を向上させ、特に、コンピュータ対戦ゲームにおいてユーザのレベルに見合った仮想対戦ユーザを構成することができる。
（項目２）項目１記載のゲームプログラムにおいて、前記方法が更に、
前記適用ルールを特定する前記ステップにおいて、前記適用順位の動作条件を満たさない場合には、次の適用順位の適用ルールにおける動作条件を満たすかを判断するステップを含む、ゲームプログラム。
【００１５】
（項目３）項目１または２記載のゲームプログラムにおいて、前記適用ルールにおける前記アクションが、所定のパラメータ値が最も大きい前記対象オブジェクトを、前記ゲーム空間の第１位置に配置すること（適用ルール：１ａ−１）を含む、ゲームプログラム。
【００１６】
（項目４）街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、前記仮想対戦ユーザに関連づけられた第１オブジェクトがゲーム空間の第１位置に配置されており、
前記第１位置に基づいて、前記仮想対戦ユーザのゲームポイント（保有人口）を決定するステップ（Ｓ１３０）と、
前記仮想対戦ユーザに関連づけられた第２オブジェクトを、前記第１位置との関係に基づいて前記仮想対戦ユーザのゲームポイントを増加させるように決定される、前記ゲーム空間の第２位置に配置するステップ（適用ルール：２ａ−１／３ａ−１）と
を含む方法を前記コンピュータに実行させる、ゲームプログラム。
【００１７】
これにより、ゲーム性を向上させ、特に、コンピュータ対戦ゲームにおいてユーザのレベルに見合った仮想対戦ユーザを構成することができる。
（項目５）項目４記載のゲームプログラムにおいて、前記関係は、前記ゲーム空間において前記第１位置および前記第２位置が、第３位置に配置された第３オブジェクトを介して接続されるかに基づいて決定される（適用ルール：２ａ−１）、ゲームプログラム。
【００１８】
（項目６）項目５記載のゲームプログラムにおいて、前記関係は、前記第２位置に関連づけられる、前記第２オブジェクトの正の有効範囲の領域に前記第１位置が含まれるかに基づいて決定される（適用ルール：３ａ−１）、ゲームプログラム。
【００１９】
（項目７）項目６記載のゲームプログラムにおいて、前記方法が更に、
前記第１位置を前記第２オブジェクトの正の有効範囲の領域に含めるように変更するステップ（適用ルール：１ａ−２）を含む、ゲームプログラム。
【００２０】
（項目８）項目７記載のゲームプログラムにおいて、前記仮想対戦ユーザに関連づけられた第４オブジェクトがゲーム空間の第４位置に配置されており、前記方法が更に、
前記第１位置が、前記第４位置に関連づけられる負の有効範囲の領域に含まれる場合に、前記第４オブジェクトを非活性化するステップ（適用ルール：２ａ−３）を含む、ゲームプログラム。
【００２１】
（項目９）項目８記載のゲームプログラムにおいて、前記仮想対戦ユーザのゲームポイントが、前記第１オブジェクトに関連づけられるパラメータの値（保有人口）に少なくとも基づいて決定され、前記方法が更に、
前記パラメータの値が、所定の上限値（保有可能人口）に達している場合に、前記上限値を増加させるように更新するステップ（適用ルール：１ａ−３）を更に含む、方法。
【００２２】
（項目１０）街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるゲームプログラムであって、前記仮想対戦ユーザに関連づけられた第１オブジェクトがゲーム空間内の第１位置に配置されており、
前記第１位置に基づいて前記第１オブジェクトの第１パラメータの値（電力被供給量）を決定するステップ（Ｓ１３０）と、
前記第１パラメータの値が、前記第１オブジェクトに関連付けられる所定の値（電力消費量）より小さいかを判定するステップ（Ｓ５００）と、
前記第１パラメータの値が前記所定の値より小さい場合に、前記仮想対戦ユーザに関連づけられた第２オブジェクトを、前記第１位置との関係に基づいて前記第１パラメータの値を増加させるように決定される、前記ゲーム空間の第２位置に配置するステップ（Ｓ５０２／適用ルール：２ｂ−１）と
を含む方法を前記コンピュータに実行させる、ゲームプログラム。
【００２３】
これにより、ゲーム性を向上させ、特に、コンピュータ対戦ゲームにおいてユーザのレベルに見合った仮想対戦ユーザを構成することができる。
（項目１１）項目１０記載のゲームプログラムにおいて、前記関係は、前記ゲーム空間において前記第１位置および前記第２位置が、第３位置に配置された第３オブジェクトを介して接続されるかに基づいて決定される（適用ルール：２ｂ−１）、ゲームプログラム。
【００２４】
（項目１２）項目１１記載のゲームプログラムにおいて、前記仮想対戦ユーザとは異なるユーザに関連づけられた第４オブジェクトが前記ゲーム空間の第４位置に配置されており、前記方法が更に、
前記第４位置の第４オブジェクトの関連づけを、前記異なるユーザから前記仮想対戦ユーザに変更するステップ（Ｓ５０２／２ｂ−３）を含む、ゲームプログラム。
［本発明の実施形態の詳細］
本発明の実施形態に係るゲームプログラムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００２５】
図１に示される本実施形態のゲームシステム１は、複数のユーザ（以下、単に「ユーザ」と記載するときには、コンピュータにより実装される「仮想対戦ユーザ」を含むものとする。また、「仮想対戦ユーザ」のことを単に「仮想ユーザ」と称することもある。）に街づくりシミュレーションゲームを提供する。ゲームシステム１は、複数のユーザ端末１００−１〜４およびゲームサーバ２００を含む。ユーザ端末１００−１〜４は、内部に仮想対戦ユーザ端末１００Ｖの機能を組み込むことができ、仮想対戦ユーザとのコンピュータ対戦（後述）が提供可能である。仮想対戦ユーザ端末１００Ｖは、ゲームサーバ２００内に特定の機能部として実装してもよい。各ユーザ端末１００とゲームサーバ２００は、ネットワーク２を介して接続されている。ゲームサーバ２００は、ゲームに関する各種サービスを各ユーザ端末１００および仮想対戦ユーザ端末１００Ｖに提供する。ネットワーク２は、インターネットや、図示しない無線基地局によって構築される無線ネットワーク（例えばＷｉＦｉ（登録商標））を含んでいても良い。
【００２６】
ユーザは、図２に示されるような仮想的なゲーム空間Ｇ内の平面ＰＬに各種オブジェクトＯ（例えば、建物オブジェクトや道路オブジェクト。以下、「ゲームオブジェクト」と総称することもある。）を配置することによってゲームを進行する。ゲーム空間Ｇは、例えば複数の格子で形成された平面と、空や遠景等を示す背景で構成されている。本実施形態では、複数のオブジェクトＯのそれぞれが１つ以上の格子上に配置される。オブジェクトを配置するために必要な格子数は、建物ごとに決定されている。各ユーザＡ，Ｖは、ゲーム空間Ｇに関連づけられ、オブジェクトＯをゲーム空間Ｇ内に配置することにより、それぞれのゲームポイントを取得できる。ゲームポイントは、例えばオブジェクト毎に関連付けられた「人口」Ｐを含む。また、ユーザはゲーム内通貨としての「コイン」Ｃ１や「ダイヤモンド」Ｃ２の他、各種ゲーム内アイテムといったゲームパラメータを保有する。各種ゲームパラメータの情報は、主にユーザ管理テーブルに登録される（図６）。
【００２７】
図３は、各ユーザ端末１００の構成を示す。ユーザ端末１００はスマートフォンやフィーチャーフォン、ＰＤＡ、タブレット型コンピュータ等の携帯端末であることが好ましい。ユーザ端末１００は、互いにバス接続された制御部１１０、記憶部１２０、入力部１３１、表示部１３２、通信部１４０を備える。ユーザ端末１００は入力部１３１および表示部１３２を構成するタッチパネル１３０を備えることが好ましく、ユーザは当該タッチパネル１３０を介してゲーム空間Ｇ内のゲームオブジェクトを操作することができる。入力部１３１は、ユーザのタッチパル１３０に対する操作を検知して、ユーザ端末１００に対して何らかの操作（主に、タッチ操作、スライド動作、スワイプ操作、及びタップ操作等の物理的接触操作）があったことを検知する。タッチパル１３０は、タッチセンシング部を備える液晶ディスプレイ等で構成され得る。
【００２８】
通信部１４０は、ゲームサーバ２００に対して各種情報の送受信を実行するための制御を行う。本実施形態では、ユーザ端末１００からの要求は、所定のゲームプログラムやゲームデータをユーザ端末１００に送信させる操作指示や、ゲームを進行させるための指示を含む。例えば、通信部１４０は、ネットワーク２を介して、ユーザＩＤをゲームサーバ２００に送信して要求を行うことにより、当該ユーザＩＤに関連付けられたゲームオブジェクトに関する情報（保有する建物等のオブジェクト情報等）を受信する。また、通信部１４０はユーザ操作に基づいてゲーム空間Ｇ内にゲームオブジェクトを配置した場合には、その結果として取得されたゲームポイントをゲームサーバ２００に送信する。
【００２９】
制御部１１０はＣＰＵ等を含んで構成され得る。通信部１４０は制御部１１０の制御によりユーザ端末１００とネットワーク２との接続を確立する。記憶部１２０は、ＤＲＡＭなどの揮発性記憶装置で構成される主記憶と、フラッシュメモリやＨＤＤなどの不揮発性記憶装置で構成される補助記憶を含む。補助記憶には、ゲームサーバ２００からダウンロードされるゲームプログラム等が格納される。当該ゲームプログラムは、主記憶上に展開され制御部１１０によって実行される。ユーザ端末１００の制御部１１０は、当該プログラムによって、作用受付部１１１、端末処理部１１２、タイマー部１１３、端末判定部１１４、画像生成部１１５として機能し得る。なお、主記憶上には、制御部１１０が当該プログラムに従って動作している間に生成したデータや制御部１１０によって利用されるデータも一時的に格納される。
【００３０】
作用受付部１１１は、入力部１３１に対するユーザの作用を検知する。作用受付部１１１は、タッチパネル１３０や、その他のボタンを介した操作指示等、いかなる入力がなされたかを判別し、その結果を端末処理部１１２等の必要な要素に出力する。タッチパネル１３０に対する操作入力がなされた場合には、操作入力位置の座標情報や、タッチ操作やスライド動作などいかなる操作がなされたかを検知する。また、連続して検知されていた入力が途切れることを検知することで、タッチパネル１３０からユーザの接触が離れたことを検知することもできる。
【００３１】
端末処理部１１２は、ユーザ端末１００全体の動作を制御し、各要素間におけるデータの送受信や、ゲームの実行に必要な演算処理を行う。例えば、作用受付部１１１で検知された操作入力に基づいてゲームプログラムに従ったゲームを進行させ、その結果としてのゲーム画像を描画するよう、画像生成部１１５に指示する。例えば、タッチパネル１３０に対する操作入力に基づいて仮想空間内におけるゲームオブジェクトを操作する。また、ゲームの進行状態に応じて、ゲーム空間Ｇの視野を指定するための仮想カメラの位置を制御する処理を行っても良い。
【００３２】
タイマー部１１３はゲーム空間Ｇ内における時間の経過を計測する。タイマー部１１３はゲーム空間Ｇ内に配置された各オブジェクトＯについて、個別に時間を計測する機能を有する。例えば、後述するように、各オブジェクトＯがゲーム空間Ｇ内に配置された時間を記憶部１２０に記憶させ、その後経過した時間を測定することにより、各オブジェクトＯが建築中オブジェクトから建築済オブジェクトに変化するまでの建築時間や、建築済オブジェクトに変化してから各種ゲームポイントを取得できるまでの準備時間、スキルを発動できるようになるまでのクールタイムが経過したか否かを判定するための時間情報を端末判定部１１４に提供する。また、タイマー部１１３は後述する対戦時間を計測してもよい。
【００３３】
端末判定部１１４は、端末処理部１１２からの判定要求に基づいて、記憶部に記憶された各種ユーザ情報やゲーム情報を参照し、ゲーム進行に必要な各種判定を実行する。例えば、ゲーム空間Ｇ内に配置されたオブジェクトＯが所定の条件を満たしているか否かを判定する。後述するように、タイマー部１１３および記憶部１２０を参照して、当該オブジェクトの時間情報を取得し、各オブジェクトに設定されたユーザに付与されるゲームポイントを算出するための基礎となる条件を満たしているか否か判定する。
【００３４】
画像生成部１１５は、ゲームサーバ２００から受信したユーザ情報や、ゲームプログラムによる演算結果、ユーザの入力部１３１に対する操作入力に基づいて、表示部１３２に表示されるゲーム空間ＧやゲームオブジェクトＯ等の画像を生成する。具体的には、ユーザ端末１００はゲームサーバ２００からユーザがゲーム空間Ｇに配置したオブジェクトの種類や配置位置に関する情報を取得してゲーム空間Ｇの画像を生成する。また、画像生成部１１５は端末処理部１１２によるゲーム進行制御に応じて表示画像を更新する。
【００３５】
加えて、ユーザ端末１００は、本実施形態による仮想対戦ユーザとして動作させる仮想ユーザ端末１００Ｖを備えることができ、疑似ユーザ端末として機能するための仮想制御部１１０ｖおよび仮想記憶部１２０ｖ等を仮想的に備えるように構成される。図３では、便宜上、仮想制御部１１０ｖおよび仮想記憶部１２０ｖは、制御部１１０および記憶部１２０ｖと分けて示しているが、実際は制御部１１０および記憶部１２０ｖに組み込まれることが当業者には理解される。
【００３６】
図４は、ゲームサーバ２００の構成を示す。ゲームサーバ２００は、システム管理者等が、ユーザ（プレイヤ）に提供するゲームを制御し、管理する際に利用する情報処理装置であり、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータである。本実施形態のゲームサーバ２００は、各ユーザ端末にゲーム進行に必要な情報を提供するゲーム提供機能を有している。ゲームサーバ２００は、ユーザ端末１００から各種の操作指示を受信し、ユーザ端末１００上で動作可能なゲームプログラムや、Ｗｅｂページ（ゲーム画面等）や、ゲームパラメータ等の各種データ、各種通知等を送信する。ゲームサーバ２００は、ネットワーク２と通信するネットワークインターフェースである通信装置２１０と、処理装置２２０と、メモリ部２３０と、記憶装置２４０と、入力装置２５０と、出力装置２６０と、を備えており、これらは互いにバスにより電気的に接続されている。
【００３７】
処理装置２２０は、ゲームサーバ２００全体の動作を制御し、各要素間におけるデータの送受信や、ゲームの実行に必要な演算処理を行う。処理装置２２０は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、記憶装置２４０に格納されるとともにメモリ２３０に展開されたプログラム等を実行することによって、必要な処理が実現される。処理装置２２０は、当該プログラムによって、受信部２２１、サーバ処理部２２２、データ管理部２２３、マッチング部２２４、計測部２２５、サーバ判定部２２６、報酬計算部２２７、送信部２２８として機能し得る。
【００３８】
メモリ部２３０は例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性記憶装置であり、記憶装置２４０は例えばフラッシュメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）などの不揮発性記憶装置である。なお、主記憶上には、ユーザ端末の制御部１１０が当該プログラムに従って動作している間に生成したデータや当該制御部１１０によって利用されるデータも一時的に格納される。記憶装置２４０には、ゲームプログラムやユーザの認証プログラムが格納される他、後述するように、ユーザ管理テーブル３００、オブジェクト管理テーブル３１０、スキル管理テーブル３２０、ロジックテーブル４００、シナリオテーブル４１０〜４１２、およびルールテーブル４２０，４２１といった各種テーブルを備えるデータベースが構築されていてもよい。
【００３９】
受信部２２１は、各ユーザ端末１００からの各種情報を受け付ける。各ユーザ端末１００は、通信部１４０の制御により各種情報をゲームサーバ２００に対して送信し、これに応答して、ゲームサーバ２００は、ネットワーク２、通信装置２１０を介して当該情報を受信し、受信部２２１が情報の内容を識別して受け付ける。受信部２２１は、記憶装置２４０に格納される各種管理テーブルを参照し、必要に応じてデータ管理部２２３が各種管理テーブルを更新することにより、必要な処理を実行する。
【００４０】
サーバ処理部２２２は、ゲームサーバ２００全体の動作を制御し、各要素間におけるデータの送受信や、ゲームの実行に必要な演算処理を行う。また、データ管理部２２３は、サーバ処理部２２２における各種演算結果に基づいて、記憶装置２４０に格納される各種データベースを更新する。例えば、ユーザがゲーム空間ＧにオブジェクトＯを配置するようにユーザ端末１００に作用を与えると、受信部２２１はその結果としてユーザが保有するオブジェクト情報やゲームポイントに関する情報を受信し、サーバ処理部２２２が必要な処理を実行するとともに、データ管理部２２３は当該データに基づいてユーザ管理テーブル３００のレコードの追加／更新／削除を行う。
【００４１】
マッチング部２２４は、複数のユーザをマッチングして対戦ゲームを開始するための一連の処理を行う。ユーザおよび仮想対戦ユーザによるコンピュータ対戦ゲームでは、マッチング部２２４はユーザおよび仮想対戦ユーザに対戦ゲーム空間を構成し、対戦ゲームを開始する処理をサーバ処理部２２２に実行させる。
【００４２】
計測部２２５は、主として対戦ゲームにおける対戦時間を管理する。計測部２２４は、後述するように、マッチング部２２４から対戦ゲーム開始処理の要求があった場合に、対戦時間の計測を開始し、複数のユーザ間における対戦時間を一元管理する。また、計測部２２５はゲーム空間Ｇの時間情報を計測し、タイマー部１１３におけるゲーム空間Ｇの時間情報と照合する。これにより、ユーザ端末１００とゲームサーバ２００においてゲーム空間Ｇの時間情報が同期され、各種時間情報の計測・判定が円滑に実施され得る。
【００４３】
サーバ判定部２２６は、サーバ処理部２２２からの判定要求に基づいて、記憶装置２４０に記憶された各種ユーザ情報やゲーム情報を参照し、ゲーム進行に必要な各種判定を実行する。また、サーバ判定部２２６は、対戦ゲーム終了時に各ユーザの保有するゲームポイントを参照することにより、対戦の勝敗を判定する。勝敗は、前述した人口Ｐといったゲームポイントに基づいて判定されることが好ましく、コインＣ１等のユーザに関連づけられた所定のゲームパラメータやオブジェクトＯに関連づけられた所定のゲームパラメータ、ゲーム空間Ｇの占有率といった他の要素を加味してもよい。
【００４４】
報酬計算部２２７は、サーバ判定部２２６における勝敗判定結果に基づいて、各ユーザに提供される報酬を算出する。報酬計算部２２７は、対戦ゲームにおける各ユーザの順位情報をも参照し、当該順位に応じた報酬を各ユーザに分配してもよい。
【００４５】
送信部２２８は、ユーザ端末１００上で動作可能なゲームプログラムや、ゲーム画面等のゲーム空間情報や、ゲームポイントやゲームパラメータ、報酬等の各種データ、各種通知等をユーザ端末１００に送信する制御を行う。
【００４６】
入力装置２５０はマウスやキーボード等の情報入力機器である。出力装置２６０は液晶ディスプレイ等であり、コンピュータの情報をモニタリングするために用いられる。
上記のユーザ端末１００の機能の少なくとも一部は、ゲームサーバ２００が備えるように構成されていても良い。また、上記のゲームサーバ２００の機能の少なくとも一部は、ユーザ端末１００が備えるように構成されていても良い。すなわち、本実施形態におけるゲームプログラムが実行されるコンピュータは、上述のユーザ端末１００やゲームサーバ２００を含む情報処理装置等から任意に選択され得る。
【００４７】
以下、本実施形態によるゲームシステム１の処理について、図５以降を参照して詳細に説明する。図５から図１１を参照して、ユーザ端末１００の操作によりゲームを進行させる処理について説明する。また、図１２から図１９を参照して、コンピュータ制御を通じた仮想対戦ユーザによりゲームを進行させる処理について説明する。以下の説明においては、ユーザＡ（複数可）と、仮想ユーザＶがゲーム空間Ｇを共有し、ゲーム対戦が進行されるものとする。
【００４８】
各ユーザは、オブジェクト一覧（図示せず）からゲーム空間Ｇ内に配置（いわゆる「建築」）したい建物オブジェクトを選択し、場所を指定することで、各種建物オブジェクトをゲーム空間内に配置できる（新規配置）。また、既に配置されたオブジェクトを選択し、別の場所を指定することで、当該オブジェクトの配置位置を移動させることができる（位置変更）。更に、他のユーザの保有するオブジェクトを選択し、所定のコインを対価として支払うことによって、所定の確率で当該建物を買収し、所有権を取得することもできる（所有者変更）。更に、既に配置されたオブジェクトを選択し、空間外の倉庫に格納するように空間から削除することもできる（非活性化）。加えて、既に配置されたオブジェクトを選択し、所定のコインを対価として支払うことによって、当該オブジェクトのレベルを向上させることができる（レベルアップ）。これら新規配置、位置変更、所有者変更、非活性化、およびレベルアップのような各種オブジェクト操作に応答して、ユーザに関連づけられるゲームポイントが都度更新される。
【００４９】
〔１〕ユーザ端末操作による基本的なゲーム進行処理
図５にユーザ端末１００でのオブジェクト操作に従い対戦ゲームを進行させる基本的な情報処理について示し、図６〜図８に当該情報処理をコンピュータが実行するのに必要な情報を格納する各種テーブルについて示す。ユーザによるオブジェクト操作は、図５に示されるユーザ端末１００とゲームサーバ２００との協働によるフローに従って情報処理される。所定のイベントや任意のタイミングで、主にゲームサーバの報酬計算部２２７により、ゲーム空間上のオブジェクトの配置位置等の配置の状況に基づいて、ユーザおよび／またはオブジェクトに関するゲームポイントが計算され、各種情報がユーザ端末１００とゲームサーバ２００との間で同期される（Ｓ１３０）。ユーザ端末の作用受付部１１１でユーザ作用によるオブジェクト操作を受け付けると、通信部１４０を通じてユーザ端末１００からゲームサーバ２００にアクション要求が送信される（Ｓ１２１）。アクション要求には、ユーザ端末情報、選択したオブジェクト情報（オブジェクトＩＤ）、当該オブジェクトへのアクション情報（新規配置／位置変更／所有者変更／非活性化／レベルアップ等）、および配置したゲーム空間内の位置情報（平面上の格子の座標情報）が含まれる。ゲームサーバ２００は、処理装置２２０によって当該アクション要求に基づいてゲーム空間Ｇを更新する。即ち、配置要求で指定されたオブジェクト情報、アクション情報および位置情報に基づいて、オブジェクトへのアクション実施後のゲーム空間の情報に更新して、ユーザ端末との間で同期する（Ｓ１３１）。ゲーム空間情報を受信したユーザ端末１００は、ゲーム空間Ｇの表示（画面表示）を当該ゲーム空間情報に基づいて更新する（Ｓ１２３）。当該オブジェクトへのアクションに応じて、ゲームサーバの報酬計算部２２７によって、得られるゲームポイントの値が再度計算される。なお、当該ゲームポイント値を更新するための各種演算は、ゲームサーバ２００が処理した後にゲーム空間情報とともに各ユーザ端末に送信することしてもよいし、各ユーザ端末がゲーム空間情報に基づいて演算するものとしてもよい（以下の説明においても同様である。）。これにより、各ユーザ端末において、オブジェクトに対しゲーム空間Ｇでアクションを実施することによるゲームポイントが付与され、ユーザに関連づけられたゲームポイントが更新される（Ｓ１３３）。オブジェクトへの各アクションにおいては、特にＳ１２１〜Ｓ１３３の一連のステップを繰り返し実行することにより、対戦ゲームを進行させることができる。
【００５０】
図６に、各ユーザが保有するゲームポイントやゲームパラメータ、オブジェクト等のユーザ情報を管理するユーザ管理テーブル３００の一例を示す。ユーザ管理テーブル３００は、ゲームサーバ２００の記憶装置２４０および／またはユーザ端末１００の記憶部１２０に全部または一部が記憶されている。ユーザ管理テーブル３００には、各ユーザを識別するユーザ情報と、ユーザが保有するコイン・アイテム・ダイヤといったゲームパラメータと、各ユーザが保有する建物等のオブジェクト情報が関連付けられている。各オブジェクトに関する基本情報は後述するオブジェクト管理テーブル３１０で管理され、ユーザ管理テーブル３００では、ゲーム進行状況に応じたユーザのレベル、保有ユーザに関連付けられる各オブジェクトの発展度合いを示すオブジェクトレベル、オブジェクトレベルによる各建物のパラメータ補正値、および建物のゲーム空間Ｇにおける配置位置が管理される。また、後述するように、各オブジェクトが建築中であるか、建築済であるか、倉庫格納中といった建物の状態や、当該オブジェクトがゲーム空間Ｇに配置されてからの経過時間や、または、当該オブジェクトが建築済となってから経過した時間を示す経過時間も管理される。また、各オブジェクトに関連づけられたゲームポイントとしての保有人口や他の建物から供給される電力被供給量なども管理され、各オブジェクトの保有人口の合計値が、当該ユーザに関連づけられたゲームポイントとして管理される。
【００５１】
図７に、各オブジェクトに関連付けられた情報をマスタ管理するオブジェクト管理テーブル３１０の一例を示す。本実施形態では、各オブジェクトには、オブジェクト名（およびオブジェクトＩＤ）、オブジェクトの種類、オブジェクト購入に要するコイン数、保有可能人口、生産されるコインやアイテムといった、取得できるゲームポイント／ゲームパラメータに関する情報が規定されている。各オブジェクトからゲームポイント／ゲームパラメータを取得可能とするためには、当該オブジェクトを稼働させる必要があり、そのために必要なゲームパラメータとしての電力消費量も規定されている。各オブジェクトが建築中建物としてゲーム空間Ｇに配置されてから建築済建物に変化するまでに必要な時間である建築時間や、各オブジェクトがコインやアイテムを生産するのに必要な準備時間が設定されている。準備時間は複数定められていてもよく、当該準備時間が経過する度に、コインやアイテムの生産量が増加するように設定されていてもよい。上記以外にも、建物オブジェクトを入手するための方法を示す情報（例えば、「ショップで購入」、「エリア拡張により解放」等）や、各オブジェクトに対応するイメージ画像を関連づける情報等もオブジェクト管理テーブル３１０の項目として含んでもよい。なお、上記項目は一例に過ぎず、これに限定されない。
【００５２】
図８に、各オブジェクトに関連づけられたスキルをマスタ管理するスキル管理テーブル３２０の一例を示す。各オブジェクトにはスキルの内容、スキルの影響が及ぼされる範囲である有効範囲の領域が規定されている。スキル管理テーブル３２０を参照することにより、ユーザの作用によるゲームオブジェクトへの発動処理をトリガーにして、空間Ｇの有効範囲の領域内に配置された他のゲームオブジェクトに対し、プラスまたはマイナスの影響を及ぼすことができる。有効範囲は正の有効範囲と負の有効範囲からなる。
【００５３】
これより、図９〜図１１を参照して、図５を参照して上述したユーザのアクションの一例として、対戦ゲーム空間Ｇ１における建物オブジェクトの「新規配置」に関するゲームの進行処理の流れについて詳細に説明する。図９は、このようなゲームシーンにおける対戦ゲーム空間Ｇ１の一例であり、図１０および図１１は、ゲーム進行処理の機能をコンピュータに実行させるフローチャートである。
【００５４】
所定のオブジェクト一覧からのオブジェクト選択操作により所定位置に対戦ゲーム空間Ｇ１内の平面ＰＬ１に配置することができる。ゲーム・シナリオ上は、表示部１３２に表示されたリストからユーザが保有コインを投資して新規購入し、または空間外の倉庫に格納された保有オブジェクトを移転させる操作等を通じて、対戦ゲーム空間Ｇ１内の平面ＰＬ１に配置される。また、ゲーム・シナリオ上は、選択したオブジェクトをＰＬ１に配置された道路オブジェクトＲを基準にしてユーザに配置させることで、ゲームの進行性を高めるのがよい。なお、道路オブジェクトは初期状態として配置されていてもよいし、ゲーム進行に応じてユーザが配置してもよい。
【００５５】
これにより、作用受付部１１１がユーザから入力部１３１に対する作用を検知し（Ｓ１０１）、作用受付部１１１がオブジェクトを対戦ゲーム空間内に配置させるためのオブジェクト配置要求として受け付ける（Ｓ１０２）。平面ＰＬ１には、オブジェクト配置要求に基づいて建築中建物ＢＯが配置される（Ｓ１０３）。そして、ユーザ端末１００はゲームサーバ２００に対して、当該オブジェクトが対戦ゲーム空間Ｇ１内に配置されたことを示すゲーム空間情報をゲームサーバ２００に送信する（Ｓ１０４）。ゲームサーバ２００はユーザが配置したオブジェクトに関する情報を受信し（Ｓ２０１）、当該情報に基づいてユーザ管理テーブル３００を更新して、ユーザ端末の情報と同期させる（Ｓ２０２）。
【００５６】
平面ＰＬ１に建築中建物ＢＯが配置されると、タイマー部１１３により経過時間の計測が開始される（Ｓ１０５）。そして、各オブジェクトに設定された建築時間を、建築中建物の経過時間が超過し（Ｓ１０６）、当該建築中オブジェクトＢＯに対するユーザ作用（例えばタップ操作）をさらに受け付けると（Ｓ１０７）、建築中建物ＢＯが建築済建物Ｏ１〜Ｏ５に変化する（Ｓ１０８）。次に、建築済オブジェクトにライフラインから電力が供給されているか否かが判定され（Ｓ１０９）、各オブジェクトが稼働される（Ｓ１１０）。
【００５７】
図９に示すように、ユーザの操作により既に、ライフラインである発電所Ｏ３が道路Ｒに隣接して配置されている。道路Ｒに沿ってライフラインが配置される場合にのみ、当該道路Ｒに隣接するオブジェクトに対して電力を供給することができる。本実施形態では、マンションＯ１、商店Ｏ４、消防署Ｏ５が発電所Ｏ３から供給される電力によって稼働され、公園Ｏ２は電力を必要としないものとして、道路Ｒに隣接していなくても稼働される。
【００５８】
建築済建物が稼働すると、当該オブジェクトに対するユーザ作用の受付を開始し、後述するように、当該オブジェクトによるゲームパラメータの取得や、スキルの発動を受け付けることを可能にするよう処理される。また、建築中建物が建築済建物に変化すると、タイマー部１１３により各オブジェクトＯ１〜Ｏ５の経過時間の計測が開始される（Ｓ１１０）。そして、当該オブジェクトをゲーム空間Ｇ１内に配置することによって獲得される、当該オブジェクトに関連づけられたゲームポイント（例えば人口Ｐ）が、ユーザに付与され、当該ユーザに関連づけられたゲームポイントが更新される（Ｓ１１１）。このとき、ユーザ端末１００は建築中建物が建築済建物に変化した情報を含むゲーム情報をゲームサーバ２００に送信し、ゲームサーバ２００はユーザが保有するオブジェクトが建築済建物に変化したことを示す情報や、建築済建物が稼働されることによって獲得されたゲームポイントに関する情報を受信し（Ｓ２０３）、当該情報に基づいてユーザ管理テーブル３００を更新して、ユーザ端末の情報と同期させる（Ｓ２０４）。
【００５９】
なお、建築済建物は、再度建築中建物に変化されても良い。例えば、建築済建物を増築したり、所定のコインを投資してオブジェクトレベルをレベルアップさせることによって、保有可能人口やコイン生産量を増加させるようにしてもよい。この場合には、建築済建物を再度建築中建物に変化させ、経過時間の計測を開始し（Ｓ１０５と同様）、増築やレベルアップに必要な建築時間（増築時間）経過後にユーザ作用を受け付ける（Ｓ１０６〜Ｓ１０７と同様）ことによって、建築中建物を増築やレベルアップ後の建築済建物に変化させてもよい（Ｓ１０８と同様）。その後のゲームポイント更新処理についても、一連の前述の処理Ｓ１０９〜Ｓ１１１，Ｓ２０３〜Ｓ２０４が適用され得る。
【００６０】
引き続き図１１を参照する。図９に示すように、平面ＰＬ１に建築済建物としてのマンションＯ１、公園Ｏ２、発電所Ｏ３、商店Ｏ４、消防署Ｏ５が配置されると（Ｓ１１２）、各オブジェクトの保有人口を計算することによって（Ｓ１１７）、ユーザに関連づけられたゲームポイントが算出される。本実施形態では、人口を保有可能なオブジェクトはマンションＯ１のみである。まず、オブジェクト管理テーブル３１０を参照してマンションＯ１の保有可能人口を特定し（Ｓ１１３）、マンションＯ１が平面ＰＬ１に配置することによって保有可能となる初期人口を特定する（Ｓ１１４）。
【００６１】
次に、他のオブジェクトのスキルによってマンションＯ１に保有される人口の変動を算出する。まず、マンションＯ１が他のオブジェクトの有効範囲の領域に属しているか否かを判定し（Ｓ１１５）、マンションＯ１は公園Ｏ２の有効範囲の領域Ｅ１と、発電所Ｏ３の有効範囲の領域Ｅ２に属していると特定される。そして、公園Ｏ２および発電所Ｏ３のスキルの内容を特定すると（Ｓ１１６）、初期人口から公園Ｏ２のスキルによる人口増加分を加算し、発電所Ｏ３のスキルによる人口減少分を減算することにより、マンションＯ１の保有人口が算出される（Ｓ１１７）。ユーザ端末１００はマンションＯ１をゲーム空間に配置することによって得られた保有人口をゲームポイント情報としてゲームサーバ２００に送信し（Ｓ１１８）、ゲームサーバ２００は当該ゲームポイントに関する情報を受信して（Ｓ２０５）、当該情報に基づいてユーザ管理テーブル３００を更新する（Ｓ２０６）。
【００６２】
このように、ユーザはユーザ端末１００の操作を通じて、平面ＰＬ１上での建物オブジェクトにユーザ作用を実施することによって、対戦ゲーム空間Ｇ１においてユーザ間で対戦ゲームを楽しむことができる。
【００６３】
〔２〕コンピュータ制御を通じた仮想対戦ユーザによるゲーム進行処理
図１２〜図１９を参照して、仮想対戦ユーザとしてコンピュータ１００Ｖをコンピュータ制御させ、ユーザに仮想対戦ユーザとのコンピュータ対戦を提供するゲーム進行処理の流れについて詳細に説明する。ユーザに対し仮想対戦ユーザとのコンピュータ対戦ゲームを提供する場合、対戦ゲーム性を向上させるために、ユーザのレベルに見合った仮想対戦ユーザを構成する必要がある。
【００６４】
図１２に示すように、ユーザ端末のタッチパネル１３０上の操作によってコンピュータ対戦の申し込みが送信され（Ｓ５０１０）、ゲームサーバの受信部２２１が当該申し込みを受け付ける（Ｓ６０１）。次いで、ゲームサーバのマッチング部２２４は、ユーザ管理テーブル３００を参照してユーザのレベルのような特性を認定し（Ｓ６０２）、ユーザのレベルや各種パラメータに応じて、仮想ユーザ１００Ｖのレベルのような特性、並びに、当該特性に応じた、仮想ユーザ１００Ｖに保有させるオブジェクトのような初期アイテム、および初期保持コイン額のような初期パラメータを決定する（Ｓ６０３）。各種情報は、仮想対戦ユーザテーブル（非図示）においてマスタ管理するのがよい。上記以外にも、仮想対戦ユーザが保有できるアイテムの制限、およびアクションを行う時間間隔等も登録でき、これらを通じて仮想対戦ユーザのレベルを調整可能とするのがよい。
【００６５】
その後、ゲームサーバ２００は、ユーザ端末１００に仮想対戦ユーザ１２０Ｖを構築するように指示する（Ｓ６０４）。ユーザ端末１００では、ゲームサーバ２００から、初期パラメータ、並びに、ロジックテーブル４００、シナリオテーブル４１０〜４１２、およびルールテーブル４２０，４２１に登録された各種データをダウンロードする。仮想ユーザ１００Ｖの各種パラメータや各種データがユーザ端末内でセットされると、ゲームサーバ２００を所定のシナリオに従う仮想ユーザ１００Ｖとして機能させることが可能になる（Ｓ５０１１）。つまり、仮想ユーザ１００Ｖは、図９〜図１１に一例として示したゲーム進行処理をコンピュータ制御により自動で実行する仮想ユーザ端末１００Ｖを実施できる。
【００６６】
図１３は、図５に対応する、コンピュータ対戦における仮想対戦ユーザ１００Ｖおよびゲームサーバ２００の間の相互対話による基本的な情報処理を示す。仮想対戦ユーザ端末１００Ｖは、ユーザ端末１００内に一部の機能として実装するのがよいが、これに限定されず、ゲームサーバ２００内の一部の機能として実装してもよい。コンピュータ制御を実現するために、複数のオブジェクト配置ロジックの内から１つのオブジェクト配置ロジックを決定する処理（Ｓ１１７０）、当該オブジェクト配置ロジックが有する適用可能シナリオ（適用ルールのセット）を適用順位と共に決定する処理（Ｓ１１８０）、次いで、適用順位に従って動作条件を満たす適用ルールを特定することにより、アクションの内容およびアクション対象となるオブジェクトを決定する（Ｓ１１９０）処理を、アクション要求を発行する（Ｓ１２００）前段ステップとして順次実行する。これらの構成が図５と異なる。また、アクション要求を発行した結果、ユーザ端末内に実装された仮想ユーザ端末１００Ｖの仮想制御部１１０によって当該アクション要求に基づきゲーム空間Ｇを更新する。即ち、オブジェクト情報、アクション情報および位置情報に基づいて、オブジェクトへのアクション実施後のゲーム空間の情報に更新して、サーバとの間で同期する（Ｓ１３１０）。それ以降の処理については、概ね図５と同様であり（以下に注記する場合を除く。）、仮想対戦ユーザ１００Ｖは、上述のユーザ管理テーブル３００、オブジェクト管理テーブル３１０、およびスキル管理テーブルを随時参照して更新するように動作する。これら一連の処理は、所定の時間間隔で繰り返し実施される。該時間間隔は、都度ランダムに決定してもよいし、仮想対戦ユーザのレベルや特性に応じて設定してもよい（例えば、仮想対戦ユーザのレベルが高い程、短い時間間隔とする）。
【００６７】
Ｓ１１７０〜Ｓ１１９０について図１４〜図１９を参照して幾らかの例と共に具体的に説明する。図１４にロジックテーブルの例を、図１５および図１８にシナリオテーブルの例を、図１６および図１９にルールテーブルの例を示す。また、図１７にシナリオを適用するための一例のフローを示す。
【００６８】
Ｓ１１７０で決定するオブジェクト配置ロジックは、ユーザ管理テーブル３００に規定される、ユーザが有するオブジェクの所定のパラメータ値を増加させるためのロジックである。一例として、仮想ユーザが保有するオブジェクトの保有人口を増加させるロジックである「人口管理」、および仮想ユーザが保有するオブジェクトの電力被供給量を増加させて電力供給の不足を解消させるロジックである「エネルギー管理」が含まれる。これ以外にも、ユーザおよび／または仮想ユーザが保有するオブジェクト間を接続するロジックである「道路管理」も含まれる。これらは、ロジックテーブル４００として記憶装置２４０でマスタ管理される。Ｓ１１７０では、１つのオブジェクト配置ロジックをランダムに決定してもよい。または、所定の適用順位にしたがって決定してもよいし（例えば、「人口管理」を第１順位とする。）、若しくは所定のロジック条件にしたがって決定してもよい（例えば、電力供給状態をコンピュータが監視し、電力不足と判定した場合に「エネルギー管理」を適用する。）。各オブジェクト配置ロジックには、適用可能なシナリオ（即ち、適用するルール・セット）の候補が予め複数関連づけられている。図１４のように、例えば、「人口管理」には、複数のシナリオ１〜シナリオ１０が関連づけられている。
【００６９】
Ｓ１１８０では、１つ以上のシナリオをランダムに決定してもよい（例えば「シナリオ５」を適用するとランダムに決定する。）。または、所定の適用順位や条件にしたがって決定してもよい（例えばシナリオ１〜１０の順に適用する。）。各シナリオは、シナリオテーブル４１０〜４１２において、ルールテーブル４２０，４２１に登録された複数の適用ルールの内から幾らかの適用ルールが選択され、それらを組み合わせて適用順位と共に予め規定されている。ルールテーブル４２０，４２１で定義される各適用ルールは、所定の動作条件下において対象オブジェクト種類に関するオブジェクトに対し、所定のアクションを実施するように規定される。なお、ロジックテーブル４００、シナリオテーブル４１０〜４１２、およびルールテーブル４２０は記憶装置２４０で管理される。なお、上記Ｓ１１８０のシナリオ決定の処理は必須ではなく、場合によってはシナリオ自体を決定すら要することなく、ランダムに適用ルールを決定してもよい。
【００７０】
これに限定されないが、対象となるオブジェクト種類には、オブジェクト管理テーブル３１０の「住宅」、「商業施設」、「生産施設」、「公共施設」、「ライフライン」が含まれ、またアクションには、「新規配置」、「配置変更」、「レベルアップ」、「非活性化」、「買収（所有者変更）」が含まれる。仮想対戦ユーザ端末１００Ｖは、平面上における建物オブジェクトへのアクションを通じて、周囲の環境との位置関係に応じて、仮想対戦ユーザや建物オブジェクトの所定のパラメータ値（例えば、仮想対戦ユーザに関連づけられる各保有オブジェクトの保有人口の値や電力被供給量）を増加させるように動作する。これにより、ユーザのレベルに応じた仮想対戦ユーザを実装することができる。
【００７１】
Ｓ１１９０において、適用順位に従って、対応する動作条件を満たす適用ルールを特定すると、ゲームオブジェクトへのアクションを実施する。具体的には、特定された適用ルールの対象オブジェクト種類に該当し、仮想対戦ユーザの特性に関連づけて決定される保有オブジェクトに対して、適用ルールのアクションを実施する（Ｓ１３１０）。ある適用順位の動作条件を満たさない場合や、該動作条件を満たしていても対応のアクションを実行しないとランダムに判断される場合は、次の適用順位の適用ルールにおける動作条件を満たすかを判断することになる。
【００７２】
以下では、図１５および図１６を参照して「人口管理」に関する第１シナリオ例を、また、図１７〜図１９を参照して「エネルギー管理」に関する第２シナリオ例を示す。ここでは、ユーザ管理テーブル３００、オブジェクト管理テーブル３１０、およびスキル管理テーブル３２０を仮想記憶部１２０ｖと同期し、都度参照することによって具体的なパラメータを特定し、その値を更新するのがよい。また、各アクションの動作主体は、仮想制御部１１０ｖとなる。
【００７３】
〔２−１〕「人口管理」に関する第１シナリオ例
図１５に、「人口管理」のオブジェクト配置ロジックが有し、シナリオテーブル４１０に登録されるシナリオ１を示す。図示のように、シナリオ１は、適用順位と共に１セットの複数の適用ルールが規定される。適用ルールに対し、更にサブルールを規定してもよい。適用ルールおよびサブルールの内容は、ルールテーブル４２０において予め定義され、記憶装置２４０でマスタ管理するのがよい。これ以外にも、サブルールとして、（Ｓ６０３で決定された）仮想対戦ユーザ１２０Ｖのレベルの値を用いて、「仮想対戦ユーザのレベルが２以上」というように、ルールテーブル４２０に規定される以外のものも指定可能としてもよい。シナリオ１は、適用順位と共に適用ルール（１ａ−１）→（２ａ−１）→（３ａ−１）→（１ａ−２）→（２ａ−３）→（１ａ−３）→（１ａ−１）を含む（ここでは、便宜上「→」を優先順位と関連づけている。以下同じ。）。各適用ルールは、保有オブジェクトの保有人口の値を増加させることができるように規定される。
【００７４】
シナリオ１の第１順位は適用ルール（１ａ−１）である。具体的には、動作条件は、仮想対戦ユーザのオブジェクト一覧内の住宅について、保有可能人口が最も大きい住宅が特定される場合である。また、サブルールとして、仮想対戦ユーザのレベルが２以上であることも必要である。動作条件が満たされる場合に、その「住宅」オブジェクト（例えばマンション）をゲーム空間の平面上の任意の位置に「新規配置」する。他方、第１順位の動作条件が満たされない場合（保有可能人口が最も大きい住宅が特定されない場合、即ち、オブジェクト一覧に住宅がない場合等）は、第２順位の適用ルール（２ａ−１）に移る。具体的には、動作条件は、特定の位置に住宅および道路が既に配置されており、仮想対戦ユーザのオブジェクト一覧内のライフラインについて、住宅との間で道路を介して接続することができる位置が特定される場合である。動作条件が満たされる場合に、その「ライフライン」オブジェクト（例えば発電所）を当該位置に「新規配置」して、住宅の人口を増加させる。なお、第１順位と第２順位を逆にして、「ライフライン」を最初に整備してから、道路を介して接続される位置に「住宅」オブジェクトを配置してもよい。
【００７５】
第１順位および第２順位が満たされない場合に、第３順位の適用ルール（３ａ−１）に移る。具体的には、動作条件は、特定の位置に住宅が既に配置されており、仮想対戦ユーザのオブジェクト一覧の内の公共施設について、公共施設のスキル（例えば、有効範囲の領域内になる建物の人口を３００人増加させる）における正の有効範囲の領域内に、住宅を含めることができるような位置が特定された場合である。動作条件が満たされる場合に、その「公共施設」オブジェクト（例えば公園）を当該位置に「新規配置」して、住宅の人口を増加させる。既に配置されている住宅が複数あるようなときは、できるだけ多くの住宅を有効範囲の領域内に含めることができる位置を決定する。また、住宅の保有可能人口を保有人口が超過しない住宅を有効範囲の領域内に含めるように当該「公共施設」の位置を決定してもよい。
【００７６】
同様に、第１順位から第３順位が満たされない場合に、第４順位の適用ルール（１ａ−２）に移る。具体的には、動作条件は、既に配置されている住宅を、既に配置されている公共施設の正の有効範囲の領域内の位置に配置することにより、当該住宅の現在の保有人口よりも更に人口を増加できると判断された場合である。動作条件が満たされる場合に、当該「住宅」オブジェクトを当該位置に「配置変更」する。これは、街づくりゲームが進行して、様々な建物オブジェクトが配置されるにつれて、当初の配置関係がもはや適切でなくなる状況を考慮して、途中でゲームの進行状況をフィードバックして配置関係を修正することを考慮したものである。一例として、既に配置されている住宅がその後に配置されたライフラインの影響により稼働されているものの、別の公共施設のスキルの正の有効範囲（保有人口を３００人増加させる）の領域内の位置に当該住宅を配置した方が、その保有人口の増加が見込めるような場合が想定される。
【００７７】
第１順位から第４順位が満たされない場合に、第５順位の適用ルール（２ａ−３）に移る。具体的には、動作条件は、特定の位置に既に配置されているライフライン（例えば発電所）について、そのスキル（例えば、有効範囲の領域内になる建物の人口を２００人減少させる）における負の有効範囲の領域内に、既に配置されている住宅が含まれている場合である。動作条件が満たされる場合に、当該「ライフライン」オブジェクトを平面から排除することで「非活性化」させて、人口の減少を抑止させる。
【００７８】
第１順位から第５順位が満たされない場合に、第６順位の適用ルール（１ａ−３）に移る。適用ルール（１ａ−３）は、サブルール（１）且つ（２）を含む。具体的には、動作条件は、（１）既に配置されている住宅について、その保有人口が保有可能人口を超過した場合、且つ（２）オブジェクトレベルを増加させるのに必要なコイン数よりも仮想対戦ユーザの保有コイン数の方が大きい場合である。動作条件が満たされる場合に、当該必要なコイン数を住宅に投資して、「住宅」オブジェクトのオブジェクトレベルを「レベルアップ」させることにより、保有可能人口を増加させるよう更新する。
【００７９】
最後に、第１順位から第６順位が満たされない場合に、第７順位では、適用ルール（１ａ−１）を再度適用する。具体的には、動作条件は、仮想対戦ユーザのオブジェクト一覧内の住宅について、保有可能人口が最も大きい住宅が特定される場合である。動作条件が満たされる場合に、その「住宅」オブジェクトをゲーム空間の平面上に「新規配置」する。なお、適用ルール「１ａ−１」は第１順位として、一度実施されているため、第７順位では２番目に「保有可能人口」が最も大きい「住宅」オブジェクトを配置することになる。
【００８０】
第１シナリオ例では、上述した第１順位から第７順位までに対応する適用ルールのセットをシナリオ１として規定しているものの、シナリオ１がこれに限定されないことは言うまでもない。例えば第５順位の適用ルール（２ａ−３）の代替として、適用ルール（２ａ−２）として、仮想対戦ユーザの当該「ライフライン」のスキルにおける負の有効範囲の領域内に、既に配置されている住宅が含まれないように、当該「ライフライン」オブジェクトを「配置変更」させてもよい。あるいは、第５順位の適用ルール（２ａ−３）の代替として、（３ａ−２）と（１ａ−２）の両方のルールを適用してもよい。具体的には、既に配置されているライフラインのスキルにおける負の有効範囲の領域と、既に配置されている公共施設の正の有効範囲の領域が重複した場合に、その「公共施設」オブジェクトをライフラインの負の有効範囲の領域と重複しない位置に「配置変更」し（３ａ−２）、次いで、既に配置されている住宅についても、当該配置変更した公共施設のスキルの有効範囲の領域内の位置に配置するように、当該「住宅」オブジェクトを「配置変更」してもよい。また、シナリオテーブルに規定する適用順位を変更可能なことは言うまでもない。
【００８１】
〔２−２〕「エネルギー管理」に関する第２シナリオ例
図１７〜図１９に「エネルギー管理」に関するシナリオの適用例を示す。図１７に示すように、シナリオは、所定のロジックに従って複数のシナリオの内から選択されてもよい。仮想対戦ユーザ端末の仮想制御部１１０ｖは、平面ＰＬ内に既に配置されている各オブジェクトに関するエネルギー状態を監視し、平面ＰＬ内にエネルギー不足状態の建物オブジェクトを検出する（Ｓ５００）。具体的には、ユーザ管理テーブル３００から、または都度計算により、電力被供給量を決定し、その値がオブジェクト管理テーブル３１０における対応の電力消費量より小さい状態のオブジェクトを判定する。これにより、エネルギー不足状態の建物オブジェクトを検出する。複数のオブジェクトが検出される場合は、「住宅」オブジェクトを最優先にして対象アクションを実施するのがよい。次いで、平面ＰＬの道路に隣接するオブジェクトの総電力消費量および総電力供給量を計算して比較する（Ｓ５０２）。総電力消費量の方が多い場合（ＹＥＳ）は、例えば、電力供給不足として、電力（被）供給量を増加させるシナリオ１１を適用する（Ｓ５０２）。一方、総電力供給量の方が多い場合（ＮＯ）は、不適切な建物配置として配置を変更することで電力（被）供給量を増加させるシナリオ１３を適用する（Ｓ５０３）。このように、第２シナリオ例では、１つのオブジェクト配置ロジックにおいて条件に応じて複数のシナリオを適用する。
【００８２】
図１８（ａ）および図１８（ｂ）は、それぞれ、「エネルギー管理」のオブジェクト配置ロジックが有し、シナリオテーブル４１１、４１２に登録されるシナリオ１１，１３を示す。シナリオ１１は、適用順位と共に適用ルール（２ｂ−１）→（２ｂ−２）→（２ｂ−３）を含む。また、シナリオ１３は、適用ルール（１ｂ−１）のみを含む。勿論、上記のＳ５００，Ｓ５０１をそれぞれの動作条件に組み込んで、１つのシナリオとして規定してもよいし、更に、条件を分解してより多くの数の適用ルールとして規定してもよい。いずれにしても、適用ルールは、建物への電力（被）供給量を増加させることができるように規定される。
【００８３】
シナリオ１１における第１順位は適用ルール（２ｂ−１）である。具体的には、動作条件は、（１）ライフラインを購入するのに必要なコインよりも、仮想対戦ユーザの保有コインの方が多くなるようなライフラインが特定され、且つ（２）既に配置されている電力不足の建物に隣接する道路沿いに、当該ライフラインを配置できるゲーム空間の平面上の位置が特定される（電力不足の建物およびライフラインの関係が、道路を介して接続できる）場合である。動作条件が満たされる場合に、その「ライフライン」オブジェクト（例えば発電所）を当該位置に「新規配置」して、電力被供給量を増加させる。他方、第１順位の動作条件が満たされない場合は、第２順位の適用ルール（２ｂ−２）に移る。具体的には、動作条件は、（１）建物に隣接する道路沿いにライフラインが特定され、且つ（２）当該ライフラインをレベルアップするのに必要なコインよりも仮想対戦ユーザの保有コイン（３００）の方が多い場合である。動作条件が満たされる場合に、その「ライフライン」オブジェクトのオブジェクトレベルを「レベルアップ」させて、該オブジェクトレベルに応じて増加させた電力供給量の電力を建物に供給する。
【００８４】
第１順位および第２順位が満たされない場合に、第３順位の適用ルール（２ｂ−３）に移る。具体的には、動作条件は、（１）建物に隣接する道路沿いに仮想対戦ユーザの相手方となるユーザのライフラインが特定され、且つ（２）当該ライフラインを所有者変更するのに必要なコインよりも仮想対戦ユーザの保有コインの方が多い場合である。動作条件が満たされる場合に、その「ライフライン」オブジェクトの所有者（ユーザ管理テーブル３００での関連づけ）を、相手方ユーザから仮想対戦ユーザに「所有者変更」する。これにより、当該ライフラインからも電力供給を受ける。上記第３順位の適用ルール（２ｂ−３）の代替として、例えば（３ｂ−１）を適用してもよい。具体的には、動作条件として、建物に隣接する道路沿いに商業施設が特定された場合に、その「商業施設」オブジェクト（例えば商店）をゲーム空間の平面から排除するように「非活性化」する。これにより、Ｓ５０１での総電力消費量を低減させる。
【００８５】
シナリオ１３は、第１順位のみから構成される。第１順位は適用ルール（１ｂ−１）である。具体的には、動作条件は、ライフラインが隣接する道路沿いに、既に配置されている電力不足の建物を含めることができる位置が特定された場合である。動作条件が満たされる場合に、その「建物」オブジェクトを当該位置に「配置変更」して、その電力被供給量を増加させる。
【００８６】
以上説明したように、本実施形態のゲームプログラムでは、オブジェクト配置ロジック、およびシナリオという概念が導入される。オブジェクト配置ロジック毎にシナリオが複数設定される。各シナリオは適用ルールのセットを含む。そして、シナリオの優先順位に従って、適用ルールに規定された動作条件を満たすかを判断し、これを満たす場合に、適用オブジェクトに対し規定されたアクションを実施して、所定のパラメータの値を増加させる。これにより、仮想対戦ユーザとしてコンピュータ制御によるゲームを進行させることが可能である。特に、ユーザの特性に応じて仮想対戦ユーザの特性を設定可能とし、ユーザにとってより対戦ゲーム性の高いコンピュータ対戦ゲームを実装することができる。
【００８７】
上述した実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【００８８】
１…ゲームシステム、２…ネットワーク、１００…ユーザ端末、１００Ｖ…仮想対戦ユーザ端末、１１０…制御部、１２０…記憶部、１３０…タッチパネル、１４０…通信部、２００…ゲームサーバ、２１０…通信装置、２２０…処理装置、２３０…メモリ部、２４０…記憶装置、２５０入力装置、２６０…出力装置、３００…ユーザ管理テーブル、３１０…オブジェクト管理テーブル、３２０，３３０…スキル管理テーブル、３４０…対戦ユーザ管理テーブル、４００…ロジックテーブル、４１０〜４１２…シナリオテーブル、４２０，４２１…ルールテーブル、Ｇ，Ｇ１…対戦ゲーム空間、ＰＬ，ＰＬ１…平面
【要約】
【課題】街づくり要素等のゲーム性を向上させる対戦型ゲームのプログラムを提供する。
【解決手段】街づくりコンピュータ・ゲームにおける仮想対戦ユーザとしてコンピュータを動作させるコンピュータプログラムであって、ゲーム空間がユーザおよび仮想対戦ユーザに関連づけられ、ユーザの特性に応じて、仮想対戦ユーザの特性を決定するステップと、複数のオブジェクト配置ロジックの内１つを決定するステップと、１つのオブジェクト配置ロジックにおける１セットの適用ルールを適用順位と共に決定するステップであって、各適用ルールは、仮想対戦ユーザに関連づけられるゲームポイントを増加させるために、所定の動作条件下で対象オブジェクトに対して所定のアクションを実施することを規定する、ステップと、適用順位に従い、動作条件を満たす適用ルールを特定するステップと、適用ルールにおけるアクションを、仮想対戦ユーザの特性に関連づけて決定される対象オブジェクトに対して実施するステップと、を含む方法をコンピュータに実行させる。
【選択図】図１３【図１】
0006027671.tif 000002
【図３】
0006027671.tif 000003
【図４】
0006027671.tif 000004
【図５】
0006027671.tif 000005
【図６】
0006027671.tif 000006
【図７】
0006027671.tif 000007
【図８】
0006027671.tif 000008
【図１０】
0006027671.tif 000009
【図１１】
0006027671.tif 000010
【図１２】
0006027671.tif 000011
【図１７】
0006027671.tif 000012
【図２】
0006027671.tif 000013
【図９】
0006027671.tif 000014
【図１３】
0006027671.tif 000015
【図１４】
0006027671.tif 000016
【図１５】
0006027671.tif 000017
【図１６】
0006027671.tif 000018
【図１８】
0006027671.tif 000019
【図１９】
0006027671.tif 000020