(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151331
(43)【公開日】2024-10-24
(54)【発明の名称】ゲームプログラム、情報処理システム、情報処理方法、および情報処理装置
(51)【国際特許分類】
A63F 13/58 20140101AFI20241017BHJP
A63F 13/55 20140101ALI20241017BHJP
A63F 13/69 20140101ALI20241017BHJP
A63F 13/79 20140101ALI20241017BHJP
【FI】
A63F13/58
A63F13/55
A63F13/69 520
A63F13/79
【審査請求】未請求
【請求項の数】35
【出願形態】OL
(21)【出願番号】P 2024094406
(22)【出願日】2024-06-11
(62)【分割の表示】P 2023064323の分割
【原出願日】2023-04-11
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【弁理士】
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【弁理士】
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】川村 一弘
(72)【発明者】
【氏名】古川 朗
(72)【発明者】
【氏名】佐藤 祐也
(57)【要約】
【課題】仮想空間内の複数のオブジェクトの挙動についてその状態に応じてパラメータを用いて管理しつつ、パラメータの管理の対象となっていない状態でもオブジェクトを挙動させることが可能なゲームプログラムを提供する。
【解決手段】本実施形態のゲームでは、仮想空間に複数の第1の区分のオブジェクトが配置される。第1の区分のオブジェクトは、第1の状態及び第2の状態の何れの状態であるかを示す情報と、第3の状態及び第4の状態の何れの状態であるかを示す情報とを有する。第1の区分のオブジェクトは、第1の状態である場合には、その種類に応じた挙動を行う。第1の区分のオブジェクトが第1の状態かつ第3の状態である場合、第1のパラメータが減少され、第1のパラメータが所定の基準まで減少した場合に、第1の区分のオブジェクトは第2の状態に変更される。
【選択図】
図26
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
操作データに基づいて、仮想空間内において、複数のアクションおよび移動を少なくとも含む行動のいずれかによってプレイヤキャラクタを制御させ、
前記仮想空間内には、
第1の状態および当該第1の状態でない第2の状態のいずれの状態であるか、
第3の状態および当該第3の状態でない第4の状態のいずれの状態であるか、
種類、および
プレイヤに関連付けられた第1のパラメータに対する消費量、
が少なくとも設定される第1の区分のオブジェクトが複数配置され、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第1の区分のオブジェクトについて前記第1の状態と前記第2の状態とを切り替えさせ、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第4の状態である前記第1の区分のオブジェクトを前記第3の状態に変更させ、
前記第1の状態となっている前記第1の区分のオブジェクトのそれぞれについて、前記種類毎に設定された挙動を前記仮想空間内において継続的に行わせ、
前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトそれぞれの前記消費量に基づいて前記第1のパラメータを継続的に減少させ、
前記第1のパラメータが所定の基準まで減少した場合に、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトを前記第1の状態から前記第2の状態に変更させる、ゲームプログラム。
【請求項2】
前記複数のアクションは攻撃アクションを含み、
前記コンピュータに、
前記攻撃アクションが前記第1の区分のオブジェクトに当たった場合に、当該第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替えさせ、さらに当該第1の区分のオブジェクトが前記第4の状態である場合に前記第3の状態に変更させる、請求項1記載のゲームプログラム。
【請求項3】
前記複数のアクションは、前記第1の区分のオブジェクトを少なくとも含む区分である第2の区分のオブジェクトのうち指定されたオブジェクトを制御対象として当該制御対象を少なくとも移動制御させるオブジェクト操作アクションを含み、
前記コンピュータにさらに、
前記プレイヤキャラクタが前記オブジェクト操作アクションを、前記第1の区分のオブジェクトを前記制御対象として行う場合であって、当該制御対象が前記第4の状態である場合に、当該制御対象を前記第3の状態に変更させる、請求項1記載のゲームプログラム。
【請求項4】
前記コンピュータに、
前記オブジェクト操作アクションにおいてさらに、前記制御対象を他の前記第2の区分のオブジェクトに合体させて組立品オブジェクトを生成させる合体制御を行わせ、かつ、合体先に前記第4の状態となっているオブジェクトが含まれている場合に、当該第4の状態になっているオブジェクトを前記第3の状態に変更させる、請求項3記載のゲームプログラム。
【請求項5】
前記コンピュータにさらに、
前記オブジェクト操作アクションの前記合体制御において、前記制御対象が前記第1の区分のオブジェクトであって、合体先が他の前記第1の区分のオブジェクトまたは他の前記第1の区分のオブジェクトが含まれる前記組立品オブジェクトである場合に、前記制御対象における前記第1の状態と前記第2の状態のいずれの状態であるかの設定を、前記合体先に含まれる前記第1の区分のオブジェクトと同じに設定させる、請求項4記載のゲームプログラム。
【請求項6】
前記複数のアクションは攻撃アクションを含み、
前記コンピュータに、
前記攻撃アクションが前記組立品オブジェクトに当たった場合に、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替えさせ、かつ当該組立品オブジェクトに前記第4の状態となっているオブジェクトが含まれる場合、当該第4の状態となっているオブジェクトを前記第3の状態に変更させる、請求項5記載のゲームプログラム。
【請求項7】
前記第2の区分のオブジェクトは、前記プレイヤキャラクタによって操作されている操作状態および操作されていない非操作状態のいずれかの状態となることができる切り替えオブジェクトを含み、
前記複数のアクションは、前記切り替えオブジェクトを前記操作状態にする切り替えオブジェクト操作アクションを含み、
前記コンピュータにさらに、
前記組立品オブジェクトに前記切り替えオブジェクトが含まれる場合に、当該切り替えオブジェクトが前記操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第1の状態に設定させ、当該切り替えオブジェクトが前記非操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第2の状態に設定させる、請求項5記載のゲームプログラム。
【請求項8】
前記コンピュータにさらに、
前記オブジェクト操作アクションの前記合体制御によって、複数の同じ前記種類の前記第1の区分のオブジェクトを含む前記組立品オブジェクトが生成される場合、複数の当該第1の区分のオブジェクトの少なくともいずれかに設定された前記消費量を低減させる、請求項4記載のゲームプログラム。
【請求項9】
前記第2の区分のオブジェクトは、第2のパラメータが関連付けられるパラメータオブジェクトを含み、
前記コンピュータに、
前記組立品オブジェクトに前記パラメータオブジェクトが含まれている場合であって、前記組立品オブジェクトに含まれる前記第1の区分のオブジェクトが前記第1の状態かつ前記第3の状態である場合、当該組立品オブジェクトに含まれるそれぞれの前記第1の区分のオブジェクトの前記消費量に基づいて、前記第2のパラメータを減少させ、
前記第2のパラメータが所定の基準まで減少するまでの間、前記第1のパラメータの減少量を軽減させる、請求項4記載のゲームプログラム。
【請求項10】
前記コンピュータにさらに、
前記プレイヤキャラクタからの距離が所定の基準を超えた前記第1の区分のオブジェクトを前記第2の状態に変更させる、請求項1記載のゲームプログラム。
【請求項11】
前記コンピュータにさらに、
前記プレイヤキャラクタと、前記組立品オブジェクトに含まれるすべての前記第2の区分のオブジェクトとの距離が所定の基準を超えた場合、当該組立品オブジェクトに含まれる前記第1の区分のオブジェクトを前記第2の状態に変更させる、請求項4記載のゲームプログラム。
【請求項12】
前記コンピュータにさらに、
前記第1のパラメータが所定の上限値未満である場合において、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトが前記仮想空間内に無い場合、前記第1のパラメータを前記上限値に到達するまで継続的に増加させる、請求項1から11のいずれか記載のゲームプログラム。
【請求項13】
前記複数のアクションは、
武器オブジェクトに前記第2の区分のオブジェクトを合体させて合成武器オブジェクトを生成する合成武器生成アクションと、
前記武器オブジェクトまたは前記合成武器オブジェクトを用いて攻撃を行う武器攻撃アクションを含み、
前記コンピュータに、
前記第1の区分のオブジェクトが含まれる前記合成武器オブジェクトを用いた前記武器攻撃アクションが行われた場合、前記第1のパラメータを所定量減少させる、請求項1から11のいずれか記載のゲームプログラム。
【請求項14】
前記コンピュータにさらに、
前記仮想空間内においてノンプレイヤキャラクタを制御させ、
前記第3の状態になっている前記第1の区分のオブジェクトを前記ノンプレイヤキャラクタが使用した場合に、当該第1の区分のオブジェクトを前記第4の状態に設定させる、請求項1から11のいずれか記載のゲームプログラム。
【請求項15】
プロセッサを含む情報処理システムであって、前記プロセッサは、
操作データに基づいて、仮想空間内において、複数のアクションおよび移動を少なくとも含む行動のいずれかによってプレイヤキャラクタを制御し、
前記仮想空間内には、
第1の状態および当該第1の状態でない第2の状態のいずれの状態であるか、
第3の状態および当該第3の状態でない第4の状態のいずれの状態であるか、
種類、および
プレイヤに関連付けられた第1のパラメータに対する消費量、
が少なくとも設定される第1の区分のオブジェクトが複数配置され、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第1の区分のオブジェクトについて前記第1の状態と前記第2の状態とを切り替え、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第4の状態である前記第1の区分のオブジェクトを前記第3の状態に変更し、
前記第1の状態となっている前記第1の区分のオブジェクトのそれぞれについて、前記種類毎に設定された挙動を前記仮想空間内において継続的に行わせ、
前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトそれぞれの前記消費量に基づいて前記第1のパラメータを継続的に減少させ、
前記第1のパラメータが所定の基準まで減少した場合に、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトを前記第1の状態から前記第2の状態に変更する、情報処理システム。
【請求項16】
前記複数のアクションは攻撃アクションを含み、
前記プロセッサは、
前記攻撃アクションが前記第1の区分のオブジェクトに当たった場合に、当該第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替え、さらに当該第1の区分のオブジェクトが前記第4の状態である場合に前記第3の状態に変更する、請求項15に記載の情報処理システム。
【請求項17】
前記複数のアクションは、前記第1の区分のオブジェクトを少なくとも含む区分である第2の区分のオブジェクトのうち指定されたオブジェクトを制御対象として当該制御対象を少なくとも移動制御させるオブジェクト操作アクションを含み、
前記プロセッサはさらに、
前記プレイヤキャラクタが前記オブジェクト操作アクションを、前記第1の区分のオブジェクトを前記制御対象として行う場合であって、当該制御対象が前記第4の状態である場合に、当該制御対象を前記第3の状態に変更する、請求項15に記載の情報処理システム。
【請求項18】
前記プロセッサは、
前記オブジェクト操作アクションにおいてさらに、前記制御対象を他の前記第2の区分のオブジェクトに合体させて組立品オブジェクトを生成させる合体制御を行い、かつ、合体先に前記第4の状態となっているオブジェクトが含まれている場合に、当該第4の状態になっているオブジェクトを前記第3の状態に変更する、請求項17に記載の情報処理システム。
【請求項19】
前記プロセッサはさらに、
前記オブジェクト操作アクションの前記合体制御において、前記制御対象が前記第1の区分のオブジェクトであって、合体先が他の前記第1の区分のオブジェクトまたは他の前記第1の区分のオブジェクトが含まれる前記組立品オブジェクトである場合に、前記制御対象における前記第1の状態と前記第2の状態のいずれの状態であるかの設定を、前記合体先に含まれる前記第1の区分のオブジェクトと同じに設定する、請求項18に記載の情報処理システム。
【請求項20】
前記複数のアクションは攻撃アクションを含み、
前記プロセッサは、
前記攻撃アクションが前記組立品オブジェクトに当たった場合に、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替え、かつ当該組立品オブジェクトに前記第4の状態となっているオブジェクトが含まれる場合、当該第4の状態となっているオブジェクトを前記第3の状態に変更する、請求項19に記載の情報処理システム。
【請求項21】
前記第2の区分のオブジェクトは、前記プレイヤキャラクタによって操作されている操作状態および操作されていない非操作状態のいずれかの状態となることができる切り替えオブジェクトを含み、
前記複数のアクションは、前記切り替えオブジェクトを前記操作状態にする切り替えオブジェクト操作アクションを含み、
前記プロセッサはさらに、
前記組立品オブジェクトに前記切り替えオブジェクトが含まれる場合に、当該切り替えオブジェクトが前記操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第1の状態に設定し、当該切り替えオブジェクトが前記非操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第2の状態に設定する、請求項19に記載の情報処理システム。
【請求項22】
前記プロセッサはさらに、
前記オブジェクト操作アクションの前記合体制御によって、複数の同じ前記種類の前記第1の区分のオブジェクトを含む前記組立品オブジェクトが生成される場合、複数の当該第1の区分のオブジェクトの少なくともいずれかに設定された前記消費量を低減させる、請求項18に記載の情報処理システム。
【請求項23】
前記第2の区分のオブジェクトは、第2のパラメータが関連付けられるパラメータオブジェクトを含み、
前記プロセッサは、
前記組立品オブジェクトに前記パラメータオブジェクトが含まれている場合であって、前記組立品オブジェクトに含まれる前記第1の区分のオブジェクトが前記第1の状態かつ前記第3の状態である場合、当該組立品オブジェクトに含まれるそれぞれの前記第1の区分のオブジェクトの前記消費量に基づいて、前記第2のパラメータを減少させ、
前記第2のパラメータが所定の基準まで減少するまでの間、前記第1のパラメータの減少量を軽減させる、請求項18に記載の情報処理システム。
【請求項24】
前記プロセッサはさらに、
前記プレイヤキャラクタからの距離が所定の基準を超えた前記第1の区分のオブジェクトを前記第2の状態に変更する、請求項15に記載の情報処理システム。
【請求項25】
前記プロセッサはさらに、
前記プレイヤキャラクタと、前記組立品オブジェクトに含まれるすべての前記第2の区分のオブジェクトとの距離が所定の基準を超えた場合、当該組立品オブジェクトに含まれる前記第1の区分のオブジェクトを前記第2の状態に変更する、請求項18に記載の情報処理システム。
【請求項26】
前記プロセッサはさらに、
前記第1のパラメータが所定の上限値未満である場合において、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトが前記仮想空間内に無い場合、前記第1のパラメータを前記上限値に到達するまで継続的に増加させる、請求項15から25のいずれかに記載の情報処理システム。
【請求項27】
前記複数のアクションは、
武器オブジェクトに前記第2の区分のオブジェクトを合体させて合成武器オブジェクトを生成する合成武器生成アクションと、
前記武器オブジェクトまたは前記合成武器オブジェクトを用いて攻撃を行う武器攻撃アクションを含み、
前記プロセッサは、
前記第1の区分のオブジェクトが含まれる前記合成武器オブジェクトを用いた前記武器攻撃アクションが行われた場合、前記第1のパラメータを所定量減少させる、請求項15から25のいずれかに記載の情報処理システム。
【請求項28】
前記プロセッサはさらに、
前記仮想空間内においてノンプレイヤキャラクタを制御し、
前記第3の状態になっている前記第1の区分のオブジェクトを前記ノンプレイヤキャラクタが使用した場合に、当該第1の区分のオブジェクトを前記第4の状態に設定する、請求項15から25のいずれかに記載の情報処理システム。
【請求項29】
プロセッサによって実行される情報処理方法であって、
操作データに基づいて、仮想空間内において、複数のアクションおよび移動を少なくとも含む行動のいずれかによってプレイヤキャラクタを制御するステップと、
前記仮想空間内には、
第1の状態および当該第1の状態でない第2の状態のいずれの状態であるか、
第3の状態および当該第3の状態でない第4の状態のいずれの状態であるか、
種類、および
プレイヤに関連付けられた第1のパラメータに対する消費量、
が少なくとも設定される第1の区分のオブジェクトが複数配置され、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第1の区分のオブジェクトについて前記第1の状態と前記第2の状態とを切り替えるステップと、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第4の状態である前記第1の区分のオブジェクトを前記第3の状態に変更するステップと、
前記第1の状態となっている前記第1の区分のオブジェクトのそれぞれについて、前記種類毎に設定された挙動を前記仮想空間内において継続的に行わせるステップと、
前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトそれぞれの前記消費量に基づいて前記第1のパラメータを継続的に減少させるステップと、
前記第1のパラメータが所定の基準まで減少した場合に、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトを前記第1の状態から前記第2の状態に変更するステップと、を含む、情報処理方法。
【請求項30】
前記複数のアクションは攻撃アクションを含み、
前記攻撃アクションが前記第1の区分のオブジェクトに当たった場合に、当該第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替え、さらに当該第1の区分のオブジェクトが前記第4の状態である場合に前記第3の状態に変更するステップを含む、請求項29に記載の情報処理方法。
【請求項31】
前記複数のアクションは、前記第1の区分のオブジェクトを少なくとも含む区分である第2の区分のオブジェクトのうち指定されたオブジェクトを制御対象として当該制御対象を少なくとも移動制御させるオブジェクト操作アクションを含み、
前記プレイヤキャラクタが前記オブジェクト操作アクションを、前記第1の区分のオブジェクトを前記制御対象として行う場合であって、当該制御対象が前記第4の状態である場合に、当該制御対象を前記第3の状態に変更するステップを含む、請求項29に記載の情報処理方法。
【請求項32】
前記オブジェクト操作アクションにおいてさらに、前記制御対象を他の前記第2の区分のオブジェクトに合体させて組立品オブジェクトを生成させる合体制御を行い、かつ、合体先に前記第4の状態となっているオブジェクトが含まれている場合に、当該第4の状態になっているオブジェクトを前記第3の状態に変更するステップを含む、請求項31に記載の情報処理方法。
【請求項33】
前記オブジェクト操作アクションの前記合体制御において、前記制御対象が前記第1の区分のオブジェクトであって、合体先が他の前記第1の区分のオブジェクトまたは他の前記第1の区分のオブジェクトが含まれる前記組立品オブジェクトである場合に、前記制御対象における前記第1の状態と前記第2の状態のいずれの状態であるかの設定を、前記合体先に含まれる前記第1の区分のオブジェクトと同じに設定するステップを含む、請求項32に記載の情報処理方法。
【請求項34】
前記複数のアクションは攻撃アクションを含み、
前記攻撃アクションが前記組立品オブジェクトに当たった場合に、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替え、かつ当該組立品オブジェクトに前記第4の状態となっているオブジェクトが含まれる場合、当該第4の状態となっているオブジェクトを前記第3の状態に変更するステップを含む、請求項33に記載の情報処理方法。
【請求項35】
操作データに基づいて、仮想空間内において、複数のアクションおよび移動を少なくとも含む行動のいずれかによってプレイヤキャラクタを制御し、
前記仮想空間内には、
第1の状態および当該第1の状態でない第2の状態のいずれの状態であるか、
第3の状態および当該第3の状態でない第4の状態のいずれの状態であるか、
種類、および
プレイヤに関連付けられた第1のパラメータに対する消費量、
が少なくとも設定される第1の区分のオブジェクトが複数配置され、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第1の区分のオブジェクトについて前記第1の状態と前記第2の状態とを切り替え、
少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第4の状態である前記第1の区分のオブジェクトを前記第3の状態に変更し、
前記第1の状態となっている前記第1の区分のオブジェクトのそれぞれについて、前記種類毎に設定された挙動を前記仮想空間内において継続的に行わせ、
前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトそれぞれの前記消費量に基づいて前記第1のパラメータを継続的に減少させ、
前記第1のパラメータが所定の基準まで減少した場合に、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトを前記第1の状態から前記第2の状態に変更する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、情報処理システム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
従来より、プレイヤキャラクタが武器を用いた攻撃を行った場合に、エネルギーが減少するゲームがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記ゲームでは、単にプレイヤキャラクタが武器を使用した場合にエネルギーが減少するものであり、所定の挙動をする仮想空間内の複数のオブジェクトをパラメータを用いて管理することは想定されていなかった。
【0005】
それ故、本発明の目的は、仮想空間内の複数のオブジェクトの挙動についてその状態に応じてパラメータを用いて管理しつつ、当該パラメータの管理の対象となっていない状態でもオブジェクトに挙動をさせることが可能なゲームプログラム、情報処理システム、情報処理方法、および情報処理装置を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【0007】
(第1の構成)
第1の構成に係るゲームプログラムは、情報処理装置のコンピュータに、操作データに基づいて、仮想空間内において、複数のアクションおよび移動を少なくとも含む行動のいずれかによってプレイヤキャラクタを制御させる。前記仮想空間内には、第1の区分のオブジェクトが複数配置される。第1の区分のオブジェクトには、第1の状態および当該第1の状態でない第2の状態のいずれの状態であるか、第3の状態および当該第3の状態でない第4の状態のいずれの状態であるか、種類、および、プレイヤに関連付けられた第1のパラメータに対する消費量が少なくとも設定される。前記プロセッサは、前記コンピュータに、少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第1の区分のオブジェクトについて前記第1の状態と前記第2の状態とを切り替えさせ、少なくともいずれかの前記アクションに基づいて、少なくともいずれかの前記第4の状態である前記第1の区分のオブジェクトを前記第3の状態に変更させ、前記第1の状態となっている前記第1の区分のオブジェクトのそれぞれについて、前記種類毎に設定された挙動を前記仮想空間内において継続的に行わせ、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトそれぞれの前記消費量に基づいて前記第1のパラメータを継続的に減少させ、前記第1のパラメータが所定の基準まで減少した場合に、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトを前記第1の状態から前記第2の状態に変更させる。
【0008】
上記によれば、第1の区分のオブジェクトは、第1の状態又は第2の状態と、第3の状態又は第4の状態とを有し、第1の区分のオブジェクトが第1の状態の場合にはその種類に応じた挙動を行う。第1の区分のオブジェクトが第1の状態かつ第3の状態になっている場合は、プレイヤに関連付けられた第1のパラメータを減少させ、第1のパラメータが所定の基準まで減少した場合には、第1の区分のオブジェクトを第2の状態に変更する。これにより、第1の区分のオブジェクトの挙動を停止させることができ、第1のパラメータで第1の区分のオブジェクトの挙動を管理することができる。一方、第1の区分のオブジェクトが第1の状態かつ第4の状態となっている場合は、第1のパラメータを減少させずに、第1の区分のオブジェクトに挙動を行わせることができる。これにより、仮想空間内の複数の第1の区分のオブジェクトについて、第1のパラメータでその挙動を管理しつつ、管理の対象となっていない第1の区分のオブジェクトについては挙動を行わせることができる。
【0009】
(第2の構成)
第2の構成では、上記第1の構成において、前記複数のアクションは攻撃アクションを含んでもよい。第2の構成のゲームプログラムは、前記コンピュータに、前記攻撃アクションが前記第1の区分のオブジェクトに当たった場合に、当該第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替えさせ、さらに当該第1の区分のオブジェクトが前記第4の状態である場合に前記第3の状態に変更させてもよい。
【0010】
上記によれば、プレイヤキャラクタの攻撃アクションに基づいて、第1の区分のオブジェクトの第1の状態と第2の状態とを切り替えることができるとともに、当該第1の区分のオブジェクトを第3の状態に変更することができる。
【0011】
(第3の構成)
第3の構成では、上記第1又は第2の構成において、前記複数のアクションは、前記第1の区分のオブジェクトを少なくとも含む区分である第2の区分のオブジェクトのうち指定されたオブジェクトを制御対象として当該制御対象を少なくとも移動制御させるオブジェクト操作アクションを含んでもよい。第3の構成のゲームプログラムは、前記コンピュータにさらに、前記プレイヤキャラクタが前記オブジェクト操作アクションを、前記第1の区分のオブジェクトを前記制御対象として行う場合であって、当該制御対象が前記第4の状態である場合に、当該制御対象を前記第3の状態に変更させてもよい。
【0012】
上記によれば、第1の区分のオブジェクトに対してオブジェクト操作アクションが行われる場合に、当該第1の区分のオブジェクトを第3の状態に変更することができる。
【0013】
(第4の構成)
第4の構成のゲームプログラムは、上記第3の構成において、前記コンピュータに、前記オブジェクト操作アクションにおいてさらに、前記制御対象を他の前記第2の区分のオブジェクトに合体させて組立品オブジェクトを生成させる合体制御を行わせ、かつ、合体先に前記第4の状態となっているオブジェクトが含まれている場合に、当該第4の状態になっているオブジェクトを前記第3の状態に変更させてもよい。
【0014】
上記によれば、オブジェクト操作アクションの制御対象を、他の第2の区分のオブジェクトに合体させて組立品オブジェクトを生成することができ、合体先のオブジェクトを第3の状態に変更することができる。
【0015】
(第5の構成)
第5の構成のゲームプログラムは、上記第4の構成において、前記コンピュータにさらに、前記オブジェクト操作アクションの前記合体制御において、前記制御対象が前記第1の区分のオブジェクトであって、合体先が他の前記第1の区分のオブジェクトまたは他の前記第1の区分のオブジェクトが含まれる前記組立品オブジェクトである場合に、前記制御対象における前記第1の状態と前記第2の状態のいずれの状態であるかの設定を、前記合体先に含まれる前記第1の区分のオブジェクトと同じに設定させてもよい。
【0016】
上記によれば、オブジェクト操作アクションに基づいて操作対象を他のオブジェクトに合体させる場合、操作対象についての第1の状態か第2の状態かの設定を、合体先のオブジェクトに合わせることができる。例えば、合体先のオブジェクトが第1の状態である場合は、操作対象を第1の状態に設定し、合体先のオブジェクトが第2の状態である場合は、操作対象を第2の状態に設定することができる。これにより、組立品オブジェクト内で、第1の状態の第1の区分のオブジェクトと第2の状態の第1の区分のオブジェクトとが混在しないようにすることができる。
【0017】
(第6の構成)
第6の構成では、上記第5の構成において、前記複数のアクションは攻撃アクションを含んでもよい。第6の構成のゲームプログラムは、前記コンピュータに、前記攻撃アクションが前記組立品オブジェクトに当たった場合に、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトの前記第1の状態と前記第2の状態とを切り替えさせ、かつ当該組立品オブジェクトに前記第4の状態となっているオブジェクトが含まれる場合、当該第4の状態となっているオブジェクトを前記第3の状態に変更させてもよい。
【0018】
上記によれば、プレイヤキャラクタの攻撃アクションが組立品オブジェクトに当たった場合、組立品オブジェクトに含まれるすべての第1の区分のオブジェクトの第1の状態と第2の状態とを切り替えるとともに、当該第1の区分のオブジェクトを第3の状態に変更することができる。
【0019】
(第7の構成)
第7の構成では、上記第5又は第6の構成において、前記第2の区分のオブジェクトは、前記プレイヤキャラクタによって操作されている操作状態および操作されていない非操作状態のいずれかの状態となることができる切り替えオブジェクトを含んでもよい。前記複数のアクションは、前記切り替えオブジェクトを前記操作状態にする切り替えオブジェクト操作アクションを含む。第7の構成のゲームプログラムは、前記コンピュータにさらに、前記組立品オブジェクトに前記切り替えオブジェクトが含まれる場合に、当該切り替えオブジェクトが前記操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第1の状態に設定させ、当該切り替えオブジェクトが前記非操作状態となった場合、当該組立品オブジェクトに含まれるすべての前記第1の区分のオブジェクトを前記第2の状態に設定させてもよい。
【0020】
上記によれば、組立品オブジェクトの含まれるすべての第1の区分のオブジェクトについて、第1の状態と第2の状態とを、切り替えオブジェクトの操作状態によって切り替えることができる。
【0021】
(第8の構成)
第8の構成のゲームプログラムは、上記第4から第7の何れかの構成において、前記コンピュータにさらに、前記オブジェクト操作アクションの前記合体制御によって、複数の同じ前記種類の前記第1の区分のオブジェクトを含む前記組立品オブジェクトが生成される場合、複数の当該第1の区分のオブジェクトの少なくともいずれかに設定された前記消費量を低減させてもよい。
【0022】
上記によれば、組立品オブジェクトに複数の同種の第1の区分のオブジェクトが含まれる場合、当該第1の区分のオブジェクトの消費量を低減させることができる。これにより、複数の同種の第1の区分のオブジェクトが含まれる組立品オブジェクトが第1の状態かつ第3の状態となる場合でも、第1のパラメータの減少を抑制することができる。
【0023】
(第9の構成)
第9の構成では、上記第4から第8の何れかの構成において、前記第2の区分のオブジェクトは、第2のパラメータが関連付けられるパラメータオブジェクトを含んでもよい。第9の構成のプログラムは、前記コンピュータに、前記組立品オブジェクトに前記パラメータオブジェクトが含まれている場合であって、前記組立品オブジェクトに含まれる前記第1の区分のオブジェクトが前記第1の状態かつ前記第3の状態である場合、当該組立品オブジェクトに含まれるそれぞれの前記第1の区分のオブジェクトの前記消費量に基づいて、前記第2のパラメータを減少させ、前記第2のパラメータが所定の基準まで減少するまでの間、前記第1のパラメータの減少量を軽減させてもよい。
【0024】
上記によれば、組立品オブジェクトにパラメータオブジェクトが含まれる場合、パラメータオブジェクトに関連付けられた第2のパラメータを減少させることにより、第1のパラメータの減少を軽減することができる。
【0025】
(第10の構成)
第10の構成のプログラムは、上記第1から第9の何れかの構成において、前記コンピュータにさらに、前記プレイヤキャラクタからの距離が所定の基準を超えた前記第1の区分のオブジェクトを前記第2の状態に変更させてもよい。
【0026】
上記によれば、第1の区分のオブジェクトがプレイヤキャラクタから離れた場合に、第1の区分のオブジェクトを第2の状態に変更することができ、第1のパラメータが減少し続けることを抑制することができる。
【0027】
(第11の構成)
第11の構成のプログラムは、上記第4から第9の何れかの構成において、前記コンピュータにさらに、前記プレイヤキャラクタと、前記組立品オブジェクトに含まれるすべての前記第2の区分のオブジェクトとの距離が所定の基準を超えた場合、当該組立品オブジェクトに含まれる前記第1の区分のオブジェクトを前記第2の状態に変更させてもよい。
【0028】
上記によれば、組立品オブジェクトがプレイヤキャラクタから離れた場合に、組立品オブジェクトに含まれる第1の区分のオブジェクトを第2の状態に変更することができ、第1のパラメータが減少し続けることを抑制することができる。
【0029】
(第12の構成)
第12の構成のプログラムは、上記第1から第11の何れかの構成において、前記コンピュータにさらに、前記第1のパラメータが所定の上限値未満である場合において、前記第1の状態かつ前記第3の状態となっている前記第1の区分のオブジェクトが前記仮想空間内に無い場合、前記第1のパラメータを前記上限値に到達するまで継続的に増加させてもよい。
【0030】
上記によれば、第1の状態かつ第3の状態となっている第1の区分のオブジェクトが存在しない場合、第1のパラメータを回復させることができる。
【0031】
(第13の構成)
第13の構成では、上記第1から第12の何れかの構成において、前記複数のアクションは、武器オブジェクトに前記第2の区分のオブジェクトを合体させて合成武器オブジェクトを生成する合成武器生成アクションと、前記武器オブジェクトまたは前記合成武器オブジェクトを用いて攻撃を行う武器攻撃アクションを含んでもよい。第13の構成のプログラムは、前記コンピュータに、前記第1の区分のオブジェクトが含まれる前記合成武器オブジェクトを用いた前記武器攻撃アクションが行われた場合、前記第1のパラメータを所定量減少させてもよい。
【0032】
上記によれば、第1の区分のオブジェクトが含まれる合成武器オブジェクトを用いた攻撃アクションが行われた場合も、第1のパラメータを減少させることができる。
【0033】
(第14の構成)
第14の構成のプログラムは、上記第1から第13の何れかの構成において、前記コンピュータにさらに、前記仮想空間内においてノンプレイヤキャラクタを制御させ、前記第3の状態になっている前記第1の区分のオブジェクトを前記ノンプレイヤキャラクタが使用した場合に、当該第1の区分のオブジェクトを前記第4の状態に設定させてもよい。
【0034】
上記によれば、ノンプレイヤキャラクタが第1の区分のオブジェクトを使用した場合、第1の区分のオブジェクトを第4の状態に設定することができる。
【0035】
また、他の構成は、情報処理システムであってもよいし、情報処理装置であってもよいし、情報処理方法であってもよい。
【発明の効果】
【0036】
本発明によれば、仮想空間内の複数の第1の区分のオブジェクトについて、第1のパラメータを用いてその挙動を管理しつつ、管理の対象となっていない状態の第1の区分のオブジェクトを挙動させることができる。
【図面の簡単な説明】
【0037】
【
図2】本体装置2の内部構成の一例を示すブロック図
【
図3】本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図
【
図5】プレイヤキャラクタPCのオブジェクト操作アクションによって、操作可能オブジェクト31が操作されているときのゲーム画像の一例を示す図
【
図6】オブジェクト操作アクションに基づいて扇風機オブジェクト31aが移動されているときのゲーム画像の一例を示す図
【
図7】オブジェクト操作アクションに基づいて生成された組立品オブジェクトの一例であって、扇風機オブジェクト31aと翼オブジェクト31dとを含む飛行機オブジェクト40の一例を示す図
【
図8】オブジェクト操作アクションに基づいて生成された別の組立品オブジェクトの一例であって、四輪車オブジェクト41の一例を示す図
【
図9】プレイヤキャラクタPCが四輪車オブジェクト41に乗って当該四輪車オブジェクト41を移動開始させたときのゲーム画像の一例を示す図
【
図10】
図9に示す状態から所定時間が経過したときのゲーム画像の一例を示す図
【
図11】プレイヤキャラクタPCの遠隔攻撃が四輪車オブジェクト41に当たり、四輪車オブジェクト41が移動開始するときのゲーム画像の一例を示す図
【
図12】
図11に示す状態から所定時間が経過したときのゲーム画像の一例を示す図
【
図13】バッテリーオブジェクト31hを含む四輪車オブジェクト41が移動するときのゲーム画像の一例を示す図
【
図14】四輪車オブジェクト51に含まれる各車輪オブジェクト31bが、稼働状態、かつ、非保有状態であるときのゲーム画像の一例を示す図
【
図15】非保有状態である四輪車オブジェクト51にプレイヤキャラクタPCの攻撃アクションが当たった場合に、四輪車オブジェクトが保有状態に変化するときのゲーム画像の一例を示す図
【
図16】剣オブジェクト36と火炎放射器オブジェクト31hとが合成された合成武器オブジェクト37をプレイヤキャラクタPCが装備しているときのゲーム画像の一例を示す図
【
図17】プレイヤキャラクタPCが合成武器オブジェクト37を用いて攻撃アクションを行ったときのゲーム画像の一例を示す図
【
図18】移動中の三輪車オブジェクト52に、オブジェクト操作アクションによって車輪オブジェクト31bが接続される前のゲーム画像の一例を示す図
【
図19】車輪オブジェクト31bが接続された後のゲーム画像の一例を示す図
【
図20】ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図
【
図21】プロセッサ21によって実行されるゲーム処理の一例を示すフローチャート
【
図22】ステップS104のオブジェクト状態切替処理の一例を示すフローチャート
【
図23】ステップS200のオブジェクト操作アクション関連処理の一例を示すフローチャート
【
図24】ステップS201の操縦桿関連処理の一例を示すフローチャート
【
図25】ステップS202の攻撃関連処理の一例を示すフローチャート
【
図26】ステップS105のエネルギー消費/回復処理の一例を示すフローチャート
【発明を実施するための形態】
【0038】
(ゲームシステムの構成)
以下、本実施形態の一例に係るゲームシステムについて説明する。
図1は、ゲームシステムの一例を示す図である。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。左コントローラ3は、ユーザが入力を行うための操作部の一例として、複数のボタン5L(上下左右の方向キー)と、アナログスティック6Lとを含む。右コントローラ4は、ユーザが入力を行うための操作部の一例として、複数のボタン5R(Aボタン、Bボタン、Xボタン、Yボタン)と、アナログスティック6Rとを含む。また、左コントローラ3の上面にはLボタン7Lが設けられ、右コントローラ4の上面にはRボタン7Rが設けられる。
【0039】
本体装置2は、左コントローラ3および右コントローラ4をそれぞれ着脱可能に構成される。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できるし、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0040】
図2は、本体装置2の内部構成の一例を示すブロック図である。
図2に示されるように、本体装置2は、プロセッサ21を備える。プロセッサ21は、本体装置2において実行される各種の情報処理(例えばゲーム処理)を実行する情報処理部であって、例えば、CPU(Central Processing Unit)と、GPU(Graphics Processing Unit)とを含む。なお、プロセッサ21は、CPUのみから構成されてもよいし、CPU機能、GPU機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ21は、記憶部(具体的には、フラッシュメモリ26等の内部記憶媒体、あるいは、スロット29に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0041】
また、本体装置2は、ディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。ディスプレイ12は、プロセッサ21に接続される。プロセッサ21は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0042】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子23と、本体装置2が右コントローラ4と有線通信を行うための右側端子22を備える。
【0043】
また、本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ26およびDRAM(Dynamic Random Access Memory)27を備える。フラッシュメモリ26およびDRAM27は、プロセッサ21に接続される。フラッシュメモリ26は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM27は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0044】
本体装置2は、スロット29を備える。スロット29は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、ゲームアプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、ゲームプログラム等)を記憶するために用いられる。
【0045】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)28を備える。スロットI/F28は、プロセッサ21に接続される。スロットI/F28は、スロット29に接続され、スロット29に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ21の指示に応じて行う。
【0046】
プロセッサ21は、フラッシュメモリ26およびDRAM27、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0047】
また、本体装置2は、ネットワーク通信部24を備える。ネットワーク通信部24は、プロセッサ21に接続される。ネットワーク通信部24は、ネットワークを介して外部の装置と無線又は有線により通信を行う。本実施形態においては、ネットワーク通信部24は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部24は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0048】
本体装置2は、コントローラ通信部25を備える。コントローラ通信部25は、プロセッサ21に接続される。コントローラ通信部25は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部25は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0049】
プロセッサ21は、上述の左側端子23および右側端子22に接続される。プロセッサ21は、左コントローラ3と有線通信を行う場合、左側端子23を介して左コントローラ3へデータを送信するとともに、左側端子23を介して左コントローラ3から操作データを受信する。また、プロセッサ21は、右コントローラ4と有線通信を行う場合、右側端子22を介して右コントローラ4へデータを送信するとともに、右側端子22を介して右コントローラ4から操作データを受信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。
【0050】
なお、本体装置2は、
図2に示す各要素の他にも、電源を供給するためのバッテリー、ディスプレイ12とは別の表示装置(例えばテレビ)に画像及び音声を出力するための出力端子を備える。
【0051】
(ゲームの概要)
次に、本実施形態のゲームについて説明する。本実施形態のゲームでは、3次元の仮想空間(ゲーム空間)に、プレイヤの操作入力に基づいて制御されるプレイヤキャラクタPCが配置される。
【0052】
図3は、本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図である。
図3に示されるように、仮想空間の地面30上には、プレイヤキャラクタPCと、複数の操作可能オブジェクト31(例えば、31a~31h)とが配置される。なお、
図3では省略されているが、仮想空間にはプレイヤキャラクタPC以外にも、プロセッサ21によって制御されるノンプレイヤキャラクタ(例えば敵キャラクタ、プレイヤキャラクタPCの仲間のキャラクタ等)が配置される。
【0053】
複数の操作可能オブジェクト31の少なくとも何れか1つは、予め仮想空間に配置されてもよい。また、複数の操作可能オブジェクト31の少なくとも何れか1つは、プレイヤによる操作入力に応じて、仮想空間内に配置されてもよい。また、複数の操作可能オブジェクト31の少なくとも何れか1つは、プレイヤキャラクタPCが敵キャラクタを倒した場合に、仮想空間に配置されてもよい。
【0054】
プレイヤキャラクタPCは、コントローラ(3又は4)に対する操作入力に基づいて、仮想空間内を移動したり、仮想空間内で複数のアクションのうちの何れかを行ったりする。
【0055】
例えば、プレイヤキャラクタPCは、複数のアクションのうちの1つとして、攻撃アクションを行う。具体的には、プレイヤキャラクタPCは、所有している武器オブジェクトを装備し、プレイヤの操作入力に基づいて、装備した武器オブジェクトに応じた攻撃アクションを行う。プレイヤキャラクタPCは、例えば近接攻撃用の武器オブジェクト(例えば、剣、槍、斧等)を装備し、プレイヤの操作入力に基づいて、当該武器オブジェクトを振る攻撃アクションを行う。また、プレイヤキャラクタPCは、遠隔攻撃用の武器オブジェクト(例えば弓矢オブジェクト)を装備し、プレイヤの操作入力に応じて、弓矢オブジェクトを仮想空間に射出する攻撃アクションを行う。
【0056】
また、プレイヤキャラクタPCは、複数のアクションのうちの1つとして、オブジェクト操作アクションを行う。オブジェクト操作アクションは、例えば、プレイヤキャラクタPCの前方にある操作可能オブジェクト31を遠隔で操作するアクションである。操作可能オブジェクト31は、プレイヤキャラクタPCのオブジェクト操作アクションの対象となり得るオブジェクトである。プレイヤキャラクタPCは、オブジェクト操作アクションに基づいて、操作可能オブジェクト31を操作する。
【0057】
具体的には、プレイヤの操作入力に基づいて、仮想空間に配置された複数の操作可能オブジェクトのうちの何れかがオブジェクト操作アクションの制御対象として設定される。オブジェクト操作アクションに基づいて、制御対象は仮想空間内で移動制御される。また、オブジェクト操作アクションに基づいて、制御対象の姿勢が制御される。また、オブジェクト操作アクションに基づいて、制御対象が、仮想空間に配置された他の操作可能オブジェクトに接続されて当該他の操作可能オブジェクトと合体される。これにより、複数の操作可能オブジェクトを組み合わせた組立品オブジェクトが生成される。オブジェクト操作アクションに基づく操作可能オブジェクト31の操作については後述する。
【0058】
なお、操作可能オブジェクト31は、オブジェクト操作アクションによらず、プレイヤキャラクタPCの他のアクション(例えば、オブジェクトを持ちあげるアクション)によっても仮想空間内で移動可能であってもよい。このような他のアクションは、操作可能オブジェクト31を移動可能であるものの、オブジェクト操作アクションのように、操作可能オブジェクトを他の操作可能オブジェクトと合体させることはできないようにしてもよい。
【0059】
また、仮想空間には、オブジェクト操作アクションによって操作不可能なオブジェクト(ここでは、「非操作オブジェクト」という)も配置される。非操作オブジェクトの一例は、例えば、仮想空間に固定された岩、山、建築物、地面等の地形オブジェクトである。
【0060】
図3に示されるように、複数の操作可能オブジェクト31は、例えば、扇風機オブジェクト31aと、車輪オブジェクト31bと、火炎放射器オブジェクト31cとを含む。
【0061】
扇風機オブジェクト31a、車輪オブジェクト31b、火炎放射器オブジェクト31cは、稼働している状態において、オブジェクトの種類に応じた挙動を行うオブジェクトであり、当該種類に応じた効果を発生させるオブジェクトである。操作可能オブジェクト31のうち、仮想空間においてオブジェクトの種類に応じた挙動を行うオブジェクトを、ここでは「動作オブジェクト」という。動作オブジェクトは、第1の区分のオブジェクトの一例である。ここで、「仮想空間において挙動を行う」とは、例えば、仮想空間において、風を発生させること、推進力を発生させること、火炎を発生させること、光を発生させること、振動を発生させること、ビームを発生させること、爆発すること等を含んでもよい。
【0062】
図4は、動作オブジェクトの一例を示す図である。
図4に示されるように、各動作オブジェクトには、種類と、稼働情報と、保有情報とが設定される。
【0063】
稼働情報は、その動作オブジェクトが稼働している状態(稼働状態)か、非稼働状態かを示す情報である。動作オブジェクトは、稼働状態のとき、その動作オブジェクトの種類に応じた挙動を行う。
【0064】
保有情報は、その動作オブジェクトがプレイヤキャラクタPCによって保有されている状態(保有状態)であるか、非保有状態であるかを示す情報である。非保有状態は、プレイヤキャラクタPCによって保有されていない状態であり、例えば、敵キャラクタによって保有されている状態、又は、何れのキャラクタにも保有されていない状態を含む。詳細は後述するが、動作オブジェクトが稼働状態かつ保有状態であるときには、動作オブジェクトは、プレイヤキャラクタPCの保有エネルギーを消費する。なお、動作オブジェクトには、稼働状態、かつ、保有状態であっても保有エネルギーを消費しないオブジェクトがあってもよい。
【0065】
具体的には、扇風機オブジェクト31aは、扇風機を模したオブジェクトである。扇風機オブジェクト31aは、稼働状態であるときに仮想空間に風を発生させ、当該風により仮想空間に配置されたオブジェクト(例えば敵キャラクタ)を飛ばしたりすることができる。また、扇風機オブジェクト31aは、風の方向と反対方向への推進力を発生させる。
【0066】
車輪オブジェクト31bは、車輪を模したオブジェクトである。車輪オブジェクト31bは、稼働状態であるときに予め定められた方向に回転し、当該回転により推進力を発生させる。
【0067】
また、火炎放射器オブジェクト31cは、火炎放射器を模したオブジェクトであり、稼働状態であるときに所定方向に火炎を発生させる。プレイヤキャラクタPCは、この火炎により、仮想空間内にある物体(例えば木や草)を燃やしたり、敵キャラクタに攻撃を加えたりすることができる。
【0068】
なお、
図4に示す他にも、様々な動作オブジェクトが用意されてもよい。例えば、動作オブジェクトとして、稼働状態であるときに光を発するランプオブジェクト、稼働状態であるときにビームを発生させるビーム発生オブジェクト等が用意されてもよい。
【0069】
また、
図3に示されるように、複数の操作可能オブジェクト31は、翼オブジェクト31dと、板オブジェクト31eと、操縦桿オブジェクト31fと、岩オブジェクト31gと、バッテリーオブジェクト31hとを含む。
【0070】
翼オブジェクト31dは、空を飛ぶためのオブジェクトであり、所定の速度以上で仮想空間内を移動する場合に仮想空間の上方への力を発生させる。板オブジェクト31eは、平面状のオブジェクトであり、例えば車両の車体として利用可能である。
【0071】
また、操縦桿オブジェクト31fは、組立品オブジェクトの一部として構成された場合に、当該組立品オブジェクトの移動を制御するためのオブジェクトである。例えば、操縦桿オブジェクト31fは、切り替えオブジェクトの一例であり、プレイヤの操作入力に基づいて、組立品オブジェクトに含まれる動作オブジェクトを稼働状態に変化させたり、組立品オブジェクトの移動方向を制御したりする。
【0072】
岩オブジェクト31gは、岩を模したオブジェクトである。バッテリーオブジェクト31hは、バッテリーを模したオブジェクトである。バッテリーオブジェクト31hの詳細については後述する。
【0073】
翼オブジェクト31d、板オブジェクト31e、操縦桿オブジェクト31f、岩オブジェクト31g及びバッテリーオブジェクト31hは、上記動作オブジェクトとは異なるオブジェクトであり、稼働状態か非稼働状態かを示す稼働情報を有さないオブジェクトである。このような動作オブジェクトとは異なる操作可能オブジェクト31を、ここでは「非動作オブジェクト」という。「非動作オブジェクト」は、オブジェクトの種類に応じた挙動を行わないオブジェクトであり、プレイヤキャラクタPCの保有エネルギーを消費しないオブジェクトである。
【0074】
なお、非動作オブジェクトは、保有状態か非保有状態かを示す保有情報を有してもよいし、このような保有情報を有さなくてもよい。また、非動作オブジェクトは、稼働状態か非稼働状態かを示す稼働情報を有してもよい。この場合、非動作オブジェクトは、稼働状態に設定される場合でも、動作オブジェクトのように推進力を発生させたり、火炎を発生させたり、光を発生させたりしない。すなわち、非動作オブジェクトは、稼働状態に設定されている場合でも、オブジェクトの種類に応じた挙動を行わない。
【0075】
(オブジェクト操作アクションによる操作可能オブジェクトの操作)
上述のように、本実施形態のゲームでは、プレイヤキャラクタPCのオブジェクト操作アクションに基づいて、操作可能オブジェクト31を移動させることができる。また、オブジェクト操作アクションに基づいて、複数の操作可能オブジェクト31を含む組立品オブジェクトを生成することができる。
【0076】
図5は、プレイヤキャラクタPCのオブジェクト操作アクションによって、操作可能オブジェクト31が操作されているときのゲーム画像の一例を示す図である。
【0077】
例えば、プレイヤキャラクタPCの前方(又は仮想カメラの注視点近傍)に操作可能オブジェクト31があるときに、所定の操作入力が行われた場合、プレイヤキャラクタPCは当該操作可能オブジェクト31に対してオブジェクト操作アクションを行う。例えば、所定の選択操作に応じて、仮想空間に配置された複数の操作可能オブジェクト31のうち、扇風機オブジェクト31aが選択される。そして、所定の操作入力が行われた場合、
図5に示されるように、選択された扇風機オブジェクト31aが制御対象となり、当該制御対象に対してオブジェクト操作アクションが行われている状態になる。扇風機オブジェクト31aに対してオブジェクト操作アクションが行われている状態では、扇風機オブジェクト31aは、地面から浮いた状態になるとともに、通常とは異なる表示態様になる。また、オブジェクト操作アクションが行われていることを示すエフェクト画像60が表示される。
【0078】
このとき、プレイヤによる移動操作入力(例えば、左コントローラ3のアナログスティック6Lに対する方向操作入力)に応じてプレイヤキャラクタPCが移動した場合、扇風機オブジェクト31aも移動する。また、例えば、右コントローラ4のアナログスティック6Rに対する方向操作入力が行われた場合、プレイヤキャラクタPCの向きが変化するとともに、プレイヤキャラクタPCの正面に扇風機オブジェクト31aが位置するように、扇風機オブジェクト31aが仮想空間内で移動してもよい。また、例えば、ボタン5Lに対するキー操作に応じて、扇風機オブジェクト31aを移動させたり、回転させたりしてもよい。
【0079】
図6は、オブジェクト操作アクションに基づいて扇風機オブジェクト31aが移動されているときのゲーム画像の一例を示す図である。
図6に示されるように、例えば、オブジェクト操作アクションに基づいて扇風機オブジェクト31aを操作中に、プレイヤキャラクタPCが翼オブジェクト31dに向かって移動する場合、扇風機オブジェクト31aもプレイヤキャラクタPCに追従して同じ方向に移動する。扇風機オブジェクト31aと翼オブジェクト31dとが所定の接続条件(例えば、両者の距離が閾値未満)を満たす場合に、プレイヤによる接続指示(例えばAボタンの押下)が行われた場合、扇風機オブジェクト31aが翼オブジェクト31dに接続される。これにより、複数の操作可能オブジェクト31を含む組立品オブジェクトが生成される。ここでは、組立品オブジェクトとして、扇風機オブジェクト31aと翼オブジェクト31dとを含む飛行機オブジェクト40が生成される。
【0080】
図7は、オブジェクト操作アクションに基づいて生成された組立品オブジェクトの一例であって、扇風機オブジェクト31aと翼オブジェクト31dとを含む飛行機オブジェクト40の一例を示す図である。
【0081】
図7に示されるように、扇風機オブジェクト31aと翼オブジェクト31dとの間には、接続オブジェクト32が配置される。接続オブジェクト32は、操作可能オブジェクト31同士が接続されていることを示すオブジェクトであり、操作可能オブジェクト31同士の位置関係を固定するオブジェクトである。組立品オブジェクトに含まれる複数の操作可能オブジェクト31は、この接続オブジェクト32によって接続される。
【0082】
複数の操作可能オブジェクト31を含む組立品オブジェクトは、仮想空間内で一体として動作する。例えば、飛行機オブジェクト40に含まれる扇風機オブジェクト31aが非稼働状態から稼働状態に変化した場合、扇風機オブジェクト31aは推進力を発生させる。この扇風機オブジェクト31aの推進力が、当該扇風機オブジェクト31aと接続された翼オブジェクト31dにも伝わり、扇風機オブジェクト31aと翼オブジェクト31dとを含む飛行機オブジェクト40が移動開始する。たとえば、プレイヤキャラクタPCによる攻撃アクションを飛行機オブジェクト40に対して当てることで、飛行機オブジェクト40に含まれる扇風機オブジェクト31aを非稼働状態から稼働状態にさせることができる。
【0083】
飛行機オブジェクト40が移動開始した後、その速度が所定値を超えた場合、飛行機オブジェクト40は、翼オブジェクト31dによる揚力によって空中に浮き、仮想空間を飛行する。プレイヤキャラクタPCは、飛行機オブジェクト40の上に乗り、仮想空間を飛行することができる。
【0084】
図8は、オブジェクト操作アクションに基づいて生成された別の組立品オブジェクトの一例であって、四輪車オブジェクト41の一例を示す図である。
【0085】
図8に示されるように、四輪車オブジェクト41は、板オブジェクト31eと、4つの車輪オブジェクト31bと、操縦桿オブジェクト31fと、火炎放射器オブジェクト31hとを含む。例えば、オブジェクト操作アクションに基づいて、板オブジェクト31eの側面に4つの車輪オブジェクト31bが順に接続される。板オブジェクト31eと4つの車輪オブジェクト31bとは、それぞれ、接続オブジェクト32により接続される。さらに、オブジェクト操作アクションに基づいて、板オブジェクト31eの上面に、操縦桿オブジェクト31fが接続される。板オブジェクト31eと操縦桿オブジェクト31fとは、接続オブジェクト32により接続される。また、オブジェクト操作アクションに基づいて、板オブジェクト31eの上面に、火炎放射器オブジェクト31hが接続される。板オブジェクト31eと火炎放射器オブジェクト31hとは、接続オブジェクト32により接続される。これにより、一体として動作する組立品オブジェクトである四輪車オブジェクト41が生成される。
【0086】
各車輪オブジェクト31bは、稼働状態の場合、予め定められた方向に回転する。4つの車輪オブジェクト31bが同じ方向に回転するように、4つの車輪オブジェクト31bが板オブジェクト31eに接続されているとする。この場合、4つの車輪オブジェクト31bが稼働状態になると、4つの車輪オブジェクト31bのそれぞれが同じ方向に推進力を発生させ、四輪車オブジェクト41は仮想空間の地面上を移動開始する。プレイヤキャラクタPCは、四輪車オブジェクト41の上に乗ることで、仮想空間の地面上を歩行するよりも高速で移動することができる。また、プレイヤキャラクタPCが操縦桿オブジェクト31fを操作している場合、プレイヤの方向操作入力(例えばアナログスティック6Lに対する方向操作入力)により、四輪車オブジェクト41の移動方向を制御することができる。
【0087】
ここで、動作オブジェクトは、プレイヤキャラクタPCの攻撃アクションが当たった場合、非稼働状態から稼働状態に、又は、稼働状態から非稼働状態に変化する。具体的には、単体の動作オブジェクトは、プレイヤキャラクタPCの攻撃アクションが当たった場合に、稼働状態から非稼働状態に、又は、非稼働状態から稼働状態に変化する。また、プレイヤキャラクタPCの攻撃アクションが組立品オブジェクトの何れかのオブジェクトに当たった場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトは、稼働状態から非稼働状態に、又は、非稼働状態から稼働状態に変化する。近接攻撃か遠隔攻撃かにかかわらず、プレイヤキャラクタPCの攻撃アクションが当たった場合には、動作オブジェクトは、稼働状態から非稼働状態に、又は、非稼働状態から稼働状態に変化する。例えば、プレイヤキャラクタPCの攻撃アクションが、飛行機オブジェクト40の扇風機オブジェクト31a又は翼オブジェクト31cに当たった場合、飛行機オブジェクト40に含まれる扇風機オブジェクト31aは、非稼働状態から稼働状態になる。また、例えば、プレイヤキャラクタPCの攻撃アクションが、四輪車オブジェクト41に当たった場合、四輪車オブジェクト41に含まれる4つの車輪オブジェクト31b及び火炎放射器オブジェクト31hは、非稼働状態から稼働状態になる。
【0088】
また、組立品オブジェクトに操縦桿オブジェクト31fが含まれる場合、プレイヤキャラクタPCが当該操縦桿オブジェクト31fの操作を開始すると、当該組立品オブジェクトに含まれる全ての動作オブジェクトは、稼働状態になる。具体的には、組立品オブジェクトに操縦桿オブジェクト31fが含まれる場合、プレイヤキャラクタPCは当該組立品オブジェクトに乗り、組立品オブジェクトの上で移動可能である。例えば、プレイヤキャラクタPCが組立品オブジェクト上に配置された操縦桿オブジェクト31fに近づいた場合、プレイヤキャラクタPCは操縦桿オブジェクト31fの操作を開始する。これにより、組立品オブジェクトに含まれる全ての動作オブジェクトは、稼働状態になる。また、プレイヤキャラクタPCが操縦桿オブジェクト31fの操作中に、プレイヤによって操作終了のための操作入力が行われた場合、プレイヤキャラクタPCは、操縦桿オブジェクト31fの操作を終了し、操縦桿オブジェクト31fから離れる。これにより、組立品オブジェクトに含まれる全ての動作オブジェクトは、非稼働状態になる。例えば、プレイヤキャラクタPCが四輪車オブジェクト41の上に乗り、操縦桿オブジェクト31fを操作した場合、4つの車輪オブジェクト31b及び火炎放射器オブジェクト31hは、稼働状態になる。プレイヤキャラクタPCが操縦桿オブジェクト31fの操作を終了すると、組立品オブジェクトに含まれる全ての動作オブジェクトは、非稼働状態になる。
【0089】
攻撃アクションによる組立品オブジェクト内の動作オブジェクトの稼働状態および非稼働状態の切り替えは、プレイヤキャラクタPCが当該組立品オブジェクトに乗っていても、乗っていなくても、行われる。これに対して、操縦桿オブジェクト31fを用いた組立品オブジェクト内の動作オブジェクトの稼働状態および非稼働状態の切り替えは、実質的にプレイヤキャラクタPCが当該組立品オブジェクトに乗っているときに行われる。また、プレイヤキャラクタPCの攻撃アクションが組立品オブジェクトに当たった場合、組立品オブジェクトに含まれる動作オブジェクトは、非保有状態である場合には、保有状態に変化される。また、プレイヤキャラクタPCが組立品オブジェクト内の操縦桿オブジェクト31fを操作した場合、当該組立品オブジェクトに含まれる動作オブジェクトは、非保有状態である場合には、保有状態に変化される。
【0090】
(プレイヤキャラクタが四輪車オブジェクトに乗って操縦する場合)
以下、プレイヤキャラクタPCが四輪車オブジェクト41の上に乗って、当該四輪車オブジェクト41を操縦桿オブジェクト31fを用いて操縦するときの制御について説明する。
【0091】
図9は、プレイヤキャラクタPCが四輪車オブジェクト41に乗って当該四輪車オブジェクト41を移動開始させたときのゲーム画像の一例を示す図である。
図10は、
図9に示す状態から所定時間が経過したときのゲーム画像の一例を示す図である。
【0092】
例えば、プレイヤキャラクタPCが四輪車オブジェクト41に乗り、操縦桿オブジェクト31fに近づいた場合、プレイヤキャラクタPCが操縦桿オブジェクト31fの操作を開始する。このとき、4つの車輪オブジェクト31b及び火炎放射器オブジェクト31hが稼働状態かつ保有状態になり、四輪車オブジェクト41は、4つの車輪オブジェクト31bの推進力によって移動開始する。また、火炎放射器オブジェクト31hから火炎38が放射される。
【0093】
また、
図9に示されるように、プレイヤキャラクタPCの現在の保有エネルギー量を示すエネルギー表示33が表示される。保有エネルギー量は、プレイヤキャラクタPCに関連付けられたパラメータであり、プレイヤキャラクタPCが保有するエネルギーの量である。エネルギー表示33は、例えば電池を模した外側の画像33aと、プレイヤキャラクタPCの保有エネルギー量を示す内側のゲージ画像33bとを含む。
図9では、ゲージ画像33bは最大長になっており、プレイヤキャラクタPCの保有エネルギー量が上限値であることを示している。
【0094】
プレイヤキャラクタPCの保有エネルギー量は、四輪車オブジェクト41に含まれる各動作オブジェクトが稼働状態であり、かつ、保有状態である間、継続的に減少する。具体的には、稼働状態かつ保有状態である4つの車輪オブジェクト31bのそれぞれは、プレイヤキャラクタPCの保有エネルギー量を減少させる。また、稼働状態かつ保有状態である火炎放射器オブジェクト31hは、プレイヤキャラクタPCの保有エネルギー量を減少させる。
【0095】
図10に示されるように、四輪車オブジェクト41が移動開始してから所定時間が経過した場合、保有エネルギー量は所定の値まで減少する。
図10では、ゲージ画像33bが最大長の約半分の長さになっており、プレイヤキャラクタPCの保有エネルギー量が上限値の約半分であることを示している。
【0096】
プレイヤキャラクタPCの保有エネルギー量が所定の基準値(例えば、ゼロ)まで減少した場合、各車輪オブジェクト31bは稼働状態から非稼働状態になり、四輪車オブジェクト41は推進力を失う。これにより四輪車オブジェクト41は停止する。また、火炎放射器オブジェクト31hも稼働状態から非稼働状態になり、火炎38の放射が停止する。なお、四輪車オブジェクト41は、推進力を失っても、慣性によりしばらくは移動し続けてもよい。
【0097】
各動作オブジェクトには、稼働状態かつ保有状態であるときのエネルギーの消費量が設定されている。例えば、扇風機オブジェクト31aには、消費量として「3」が設定される。また、車輪オブジェクト31bには、消費量として「2」が設定される。また、火炎放射器オブジェクト31hには、消費量として「1」が設定される。
【0098】
仮想空間に存在する全ての稼働状態かつ保有状態の動作オブジェクトは、プレイヤキャラクタPCの保有エネルギー量を減少させる。このため、稼働状態かつ保有状態の動作オブジェクトの数が多いほど、単位時間当たりの保有エネルギー量の減少量は大きくなる。例えば、2つの車輪オブジェクト31bを含む二輪車オブジェクトよりも、4つの車輪オブジェクト31bを含む四輪車オブジェクト41の方が、保有エネルギー量の減少量は大きくなる。また、例えば、
図10に示す四輪車オブジェクト41の他にも、稼働状態かつ保有状態である動作オブジェクト、又は、動作オブジェクトを含む組立品オブジェクトが存在する場合、それぞれの動作オブジェクトに設定された消費量に基づいて、保有エネルギー量が減少される。
【0099】
なお、同一の組立品オブジェクトに複数の同種の動作オブジェクトが含まれる場合、同種の動作オブジェクトに対して省エネルギー設定が行われてもよい。動作オブジェクトに省エネルギー設定が行われている場合、エネルギーの消費量は、その動作オブジェクトに予め設定された通常の消費量よりも小さくなる。例えば、車輪オブジェクト31bの通常の消費量が「2」である場合、組立品オブジェクトに含まれる4つの車輪オブジェクト31bの合計の消費量は、仮に省エネルギー設定がされていない場合は、「8」となる。しかしながら、4つの車輪オブジェクト31bに省エネルギー設定がされることで、4つの車輪オブジェクト31bの合計の消費量は、例えば、「5」になる(この場合、車輪オブジェクト31b1つ当たりの消費量は、「1.25」になる)。これにより、組立品オブジェクトに複数の同種の動作オブジェクトを含ませても、保有エネルギー量が急激に減少することを抑制することができる。
【0100】
このように、動作オブジェクトが稼働状態、かつ、保有状態である場合、プレイヤキャラクタPCの保有エネルギー量が減少する。保有エネルギー量がゼロになった場合、動作オブジェクトは非稼働状態になる。なお、稼働状態かつ保有状態である動作オブジェクトが仮想空間内に存在しない場合、プレイヤキャラクタPCの保有エネルギー量は時間経過に応じて回復する。保有エネルギー量がゼロになった場合は、保有エネルギー量が上限値まで回復するまで、保有状態である動作オブジェクトは稼働状態に設定されないように制御されてもよい。
【0101】
(プレイヤキャラクタが四輪車オブジェクトに乗らずに移動させる場合)
次に、プレイヤキャラクタPCが四輪車オブジェクト41の上に乗らずに、四輪車オブジェクト41を移動させたときの制御について説明する。
【0102】
図11は、プレイヤキャラクタPCの遠隔攻撃が四輪車オブジェクト41に当たり、四輪車オブジェクト41が移動開始するときのゲーム画像の一例を示す図である。
図12は、
図11に示す状態から所定時間が経過したときのゲーム画像の一例を示す図である。
【0103】
図11に示されるように、プレイヤキャラクタPCが、四輪車オブジェクト41から離れた状態で、プレイヤの操作入力に基づいて遠隔攻撃(弓矢35を飛ばす攻撃アクション)を行った場合を想定する。当該遠隔攻撃が四輪車オブジェクト41に当たった場合、四輪車オブジェクト41に含まれる全ての動作オブジェクトが、稼働状態かつ保有状態になる。この場合、
図11に示されるように、プレイヤキャラクタPCが四輪車オブジェクト41の上に乗っていない状態で、四輪車オブジェクト41が移動開始する。また、このときエネルギー表示33が表示される。
【0104】
プレイヤキャラクタPCが乗っていない状態でも、四輪車オブジェクト41の各動作オブジェクトが稼働状態かつ保有状態である間、プレイヤキャラクタPCの保有エネルギー量は継続的に減少する。
図12に示されるように、四輪車オブジェクト41の移動開始から所定時間が経過した場合、保有エネルギー量は所定の値まで減少し、四輪車オブジェクト41は、プレイヤキャラクタPCから離れる。
【0105】
ここで、プレイヤキャラクタPCの保有エネルギー量がゼロにならなくても、四輪車オブジェクト41がプレイヤキャラクタPCから所定の距離だけ離れた場合、四輪車オブジェクト41に含まれる各動作オブジェクトが非稼働状態になる。具体的には、プレイヤキャラクタPCと、四輪車オブジェクト41に含まれる全てのオブジェクト(動作オブジェクト及び非動作オブジェクト)との距離が所定の閾値を超えた場合、四輪車オブジェクト41に含まれる各動作オブジェクトが非稼働状態になる。なお、プレイヤキャラクタPCと、四輪車オブジェクト41に含まれる動作オブジェクトとの距離が所定の閾値を超えた場合に、四輪車オブジェクト41に含まれる全ての動作オブジェクトが非稼働状態に設定されてもよい。また、プレイヤキャラクタPCと、四輪車オブジェクト41に含まれる全ての非動作オブジェクトとの距離が所定の閾値を超えた場合に、四輪車オブジェクト41に含まれる各動作オブジェクトが非稼働状態に設定されてもよい。
【0106】
ここで、プレイヤキャラクタPCとの距離に関する上記「所定の閾値」は、固定であってもよいし、ゲームの場面に応じて可変であってもよい。例えば、第1の場面では、組立品オブジェクトがプレイヤキャラクタPCから第1の距離だけ離れた場合に、当該組立品オブジェクトに含まれる動作オブジェクトが非稼働状態になり、第2の場面では、組立品オブジェクトがプレイヤキャラクタPCから第2の距離だけ離れた場合に、当該組立品オブジェクトに含まれる動作オブジェクトが非稼働状態になってもよい。また、特定の場面においては、プレイヤキャラクタPCとの距離がどれだけ離れても、動作オブジェクトは稼働状態を維持してもよい。また、動作オブジェクトの種類に応じて、プレイヤキャラクタPCとの距離に関する「所定の閾値」が異なってもよい。
【0107】
図13は、バッテリーオブジェクト31hを含む四輪車オブジェクト41が移動するときのゲーム画像の一例を示す図である。
【0108】
図13に示されるように、オブジェクト操作アクションに基づいて、例えば、四輪車オブジェクト41に含まれる板オブジェクト31eに、バッテリーオブジェクト31hが接続される。
【0109】
バッテリーオブジェクト31hが四輪車オブジェクト41に接続されている場合において、四輪車オブジェクト41が稼働状態かつ保有状態である場合、上記エネルギー表示33に加えて、第2エネルギー表示34が表示される。第2エネルギー表示34は、接続されたバッテリーオブジェクト31hのエネルギー残量を示す。具体的には、第2エネルギー表示34は、例えば電池を模した外側の画像34aと、バッテリーオブジェクト31hのエネルギー残量を示す内側のゲージ画像34bとを含む。
図13では、ゲージ画像34bは最大長の約半分の長さであり、接続されたバッテリーオブジェクト31hのエネルギー残量が上限値の約半分であることを示している。
【0110】
バッテリーオブジェクト31hを含む四輪車オブジェクト41が稼働状態かつ保有状態である場合、バッテリーオブジェクト31hのエネルギーが優先的に消費され、バッテリーオブジェクト31hのエネルギー残量が所定の基準(例えばゼロ)になると、プレイヤキャラクタPCの保有エネルギーが消費される。すなわち、バッテリーオブジェクト31hのエネルギー残量がゼロになるまでの間、プレイヤキャラクタPCの保有エネルギー量は減少せず、バッテリーオブジェクト31hのエネルギー残量がゼロになった場合、プレイヤキャラクタPCの保有エネルギー量が減少し始める。
【0111】
具体的には、バッテリーオブジェクト31hのエネルギー残量は、当該バッテリーオブジェクト31hが接続された組立品オブジェクトに含まれる動作オブジェクトが稼働状態かつ保有状態であるときに、減少される。例えば、
図13に示される四輪車オブジェクト41に加えて、動作オブジェクトを含む別の組立品オブジェクト(例えば
図7の飛行機オブジェクト40)が仮想空間内に存在する場合を想定する。この飛行機オブジェクト40に含まれる扇風機オブジェクト31bが稼働状態かつ保有状態である場合でも、この扇風機オブジェクト31bの稼働によっては、四輪車オブジェクト41に含まれるバッテリーオブジェクト31hのエネルギー残量は減少しない。すなわち、バッテリーオブジェクト31のエネルギー残量は、そのバッテリーオブジェクト31hが接続された組立品オブジェクトの稼働によって減少するが、別の動作オブジェクト又は別の組立品オブジェクトに含まれる動作オブジェクトの稼働によっては減少しない。このため、バッテリーオブジェクト31は、そのバッテリーオブジェクト31hが接続された組立品オブジェクト専用のエネルギー源であると言える。
【0112】
これに対して、プレイヤキャラクタPCの保有エネルギー量は、仮想空間内の稼働状態かつ保有状態である全ての動作オブジェクトに共通のエネルギー源であり、稼働状態かつ保有状態である全ての動作オブジェクトによって減少する。例えば、四輪車オブジェクト41(
図13)と飛行機オブジェクト40(
図7)とが仮想空間内に存在する場合において、バッテリーオブジェクト31hのエネルギー残量がゼロになった後は、四輪車オブジェクト41及び飛行機オブジェクト40の両方の稼働によって、保有エネルギー量が減少する。
【0113】
(非保有の四輪車オブジェクトが移動する場合)
次に、非保有状態の四輪車オブジェクトが移動する場合について説明する。
【0114】
図14は、四輪車オブジェクト51に含まれる各車輪オブジェクト31bが、稼働状態、かつ、非保有状態であるときのゲーム画像の一例を示す図である。
【0115】
プレイヤキャラクタPCのオブジェクト操作アクションによって組立品オブジェクトが生成された場合、当該組立品オブジェクトは保有状態になる。しかしながら、オブジェクト操作アクションによって生成された組立品オブジェクトは、例えば敵キャラクタEC(
図14参照)によって操作された場合、保有状態から非保有状態になる。また、予め仮想空間に配置された単体としての動作オブジェクトは、非保有状態である。また、仮想空間には、予め非保有状態の組立品オブジェクトが配置されてもよい。
【0116】
図14に示されるように、四輪車オブジェクトに含まれる各動作オブジェクトが非保有状態(例えば敵キャラクタECによって保有された状態)である場合でも、四輪車オブジェクトに含まれる各動作オブジェクトは稼働状態になり得る。例えば、保有状態の四輪車オブジェクトにプレイヤキャラクタPCが乗っておらず、敵キャラクタECが、当該四輪車オブジェクトに乗って操作した場合、当該四輪車オブジェクトは、非保有状態になる。あるいは、初期的に敵キャラクタECが保有している四輪車オブジェクトが、仮想空間に配置されてもよい。
【0117】
ここでは、非保有状態である四輪車オブジェクトを、保有状態である上記「四輪車オブジェクト41」と区別して、「四輪車オブジェクト51」と表記する。
【0118】
図14に示されるように、非保有状態である四輪車オブジェクト51に含まれる各動作オブジェクトが稼働状態である場合、四輪車オブジェクト51は移動する。この場合、エネルギー表示33は表示されず、四輪車オブジェクト51がどれだけ移動しても、プレイヤキャラクタPCの保有エネルギー量は減少しない。すなわち、四輪車オブジェクト51に含まれる各車輪オブジェクト31bが稼働状態、かつ、非保有状態である場合、各車輪オブジェクト31bは推進力を発生させるものの、プレイヤキャラクタPCの保有エネルギー量を減少させない。
【0119】
図15は、非保有状態である四輪車オブジェクト51にプレイヤキャラクタPCの攻撃アクションが当たった場合に、四輪車オブジェクトが保有状態に変化するときのゲーム画像の一例を示す図である。
【0120】
プレイヤキャラクタPC及び敵キャラクタECの何れのキャラクタも乗っていないときでも、稼働状態かつ非保有状態である四輪車オブジェクト51は仮想空間内を移動する。この場合もプレイヤキャラクタPCの保有エネルギー量は減少せず、エネルギー表示33も表示されない。
【0121】
図15に示されるように、稼働状態かつ非保有状態である四輪車オブジェクト51にプレイヤキャラクタPCの攻撃アクションが当たった場合、四輪車オブジェクト51に含まれる各車輪オブジェクト31bは、稼働状態から非稼働状態に変化する。また、このとき、各車輪オブジェクト31bは、非保有状態から保有状態に変化する。すなわち、非保有状態である四輪車オブジェクト51にプレイヤキャラクタPCの攻撃アクションが当たった場合、当該四輪車オブジェクト51は、保有状態である四輪車オブジェクト41に変化する。そして、例えば、再びプレイヤキャラクタPCの攻撃アクションが四輪車オブジェクト41に当たった場合、四輪車オブジェクト41に含まれる各車輪オブジェクト31bは、非稼働状態から稼働状態になり、四輪車オブジェクト41は移動する。この場合、エネルギー表示33が表示され、時間経過に応じて、プレイヤキャラクタPCの保有エネルギー量が減少する。
【0122】
なお、上記では組立品オブジェクトが稼働状態かつ保有状態である場合にプレイヤキャラクタの保有エネルギー量が減少する例を示したが、単体の動作オブジェクトが稼働状態かつ保有状態である場合でも、保有エネルギー量は減少する。例えば、プレイヤキャラクタPCの攻撃アクションが仮想空間に配置された単体の火炎放射器オブジェクト31hに当たった場合、火炎放射器オブジェクト31hは稼働状態かつ保有状態になる。火炎放射器オブジェクト31hが稼働状態になると、火炎が放射されるとともに、保有エネルギー量が減少する。
【0123】
(合成武器オブジェクトの使用によるエネルギー消費)
また、本実施形態のゲームでは、プレイヤキャラクタPCの合成武器生成アクションによって、仮想空間に配置されたオブジェクトと、プレイヤキャラクタPCが装備している武器オブジェクトとが合成された合成武器オブジェクトが生成される。
【0124】
図16は、剣オブジェクト36と火炎放射器オブジェクト31hとが合成された合成武器オブジェクト37をプレイヤキャラクタPCが装備しているときのゲーム画像の一例を示す図である。
図17は、プレイヤキャラクタPCが合成武器オブジェクト37を用いて攻撃アクションを行ったときのゲーム画像の一例を示す図である。
【0125】
例えば、プレイヤキャラクタPCが剣オブジェクト36を装備しているときに、合成指示が行われた場合、仮想空間に配置された火炎放射器オブジェクト31hと剣オブジェクト36とが合成された合成武器オブジェクト37が生成される。
【0126】
合成武器オブジェクト37は、2つのオブジェクトのポリゴンデータに基づいて生成されてもよい。すなわち、合成武器オブジェクト37は、プレイヤキャラクタPCが装備している剣オブジェクト36のポリゴンデータと、仮想空間に配置された火炎放射器オブジェクト31hのポリゴンデータとに基づいて生成されてもよい。あるいは、合成武器オブジェクト37は、予めポリゴンデータとして用意されてもよい。すなわち、プレイヤキャラクタPCが装備する剣オブジェクト36のポリゴンデータと、仮想空間に配置される火炎放射器オブジェクト31hのポリゴンデータと、合成武器オブジェクト37としてのポリゴンデータとが予め用意されてもよい。合成指示が行われる前は、剣オブジェクト36がプレイヤキャラクタPCの手の位置に配置されるとともに、火炎放射器オブジェクト31hが仮想空間の地面上に配置される。合成指示が行われた場合は、剣オブジェクト36及び火炎放射器オブジェクト31hが消去されるとともに、合成武器オブジェクト37がプレイヤキャラクタPCの手の位置に配置されてもよい。
【0127】
図17に示されるように、プレイヤキャラクタPCが合成武器オブジェクト37を装備しているときに、攻撃アクションのための操作入力が行われた場合、プレイヤキャラクタPCが合成武器オブジェクト37を振る攻撃アクションが行われる。このとき、火炎38が一時的に放射される。合成武器オブジェクト37ではない、通常の剣オブジェクト36を用いて攻撃アクションが行われたときには、この火炎38は放射されない。この火炎38が放射される場合、エネルギー表示33が表示されるとともに、プレイヤキャラクタPCの保有エネルギー量が減少する。具体的には、合成武器オブジェクト37を用いて攻撃アクションが1回行われた場合に、火炎放射器オブジェクト31hが一時的に稼働状態になり、1回の攻撃アクションに応じた消費量だけ保有エネルギー量が減少される。合成武器オブジェクト37を用いた攻撃アクションが行われる毎に、保有エネルギー量が所定量だけ減少される。
【0128】
このように、動作オブジェクトと武器オブジェクトとが合成された合成武器オブジェクトを用いて攻撃アクションが行われた場合は、当該動作オブジェクトは一時的に稼働状態になる。このとき、動作オブジェクトに応じた消費量だけ、保有エネルギー量が減少される。例えば、武器オブジェクトと扇風機オブジェクト31aとが合成された合成武器オブジェクトを用いて攻撃アクションが行われた場合、扇風機オブジェクト31aは一時的に稼働状態となり、仮想空間に風が生じる。この扇風機オブジェクト31aの稼働に伴い、扇風機オブジェクト31aに応じた消費量だけ、プレイヤキャラクタPCの保有エネルギー量が減少される。
【0129】
なお、剣オブジェクト36の他にも、プレイヤキャラクタPCが装備している武器オブジェクトと、仮想空間に配置された動作オブジェクトとが合成された合成武器オブジェクトが生成されてもよい。また、武器オブジェクトに限らず、プレイヤキャラクタPCが装備するオブジェクト(例えば防具オブジェクト)と、仮想空間に配置された動作オブジェクトとが合成された合成オブジェクトが生成されてもよい。当該合成オブジェクトを用いたアクションがプレイヤキャラクタPCにより行われた場合、動作オブジェクトが一時的に稼働状態になるとともに、プレイヤキャラクタPCの保有エネルギー量が減少されてもよい。
【0130】
(オブジェクト操作アクションによる状態の変化)
次に、オブジェクト操作アクションによる動作オブジェクトの状態の変化について説明する。
図18は、移動中の三輪車オブジェクト52に、オブジェクト操作アクションによって車輪オブジェクト31bが接続される前のゲーム画像の一例を示す図である。
図19は、車輪オブジェクト31bが接続された後のゲーム画像の一例を示す図である。
【0131】
図18に示されるように、例えば、板オブジェクト31eと、3つの車輪オブジェクト31bと、操縦桿オブジェクト31fとを含む三輪車オブジェクト52が、仮想空間内で移動中であるとする。この三輪車オブジェクト52は、非保有状態である。すなわち、三輪車オブジェクト52に含まれる3つの車輪オブジェクト31bは、稼働状態かつ非保有状態である。この三輪車オブジェクト52に、さらに車輪オブジェクト31bをオブジェクト操作アクションによって接続する場合を想定する。
【0132】
具体的には、仮想空間に配置された非稼働状態かつ非保有状態の車輪オブジェクト31bに対してプレイヤキャラクタPCがオブジェクト操作アクションを行った場合、当該車輪オブジェクト31bは、オブジェクト操作アクションの制御対象となる。このとき、制御対象の車輪オブジェクト31bは、保有状態になる。この状態で、
図18に示されるように、制御対象である非稼働状態かつ保有状態の車輪オブジェクト31bが、稼働状態かつ非保有状態の三輪車オブジェクト52に近づけられる。三輪車オブジェクト52と制御対象の車輪オブジェクト31bとが所定の位置関係にあるときに、プレイヤによって接続指示が行われた場合、制御対象の車輪オブジェクト31bが三輪車オブジェクト52に接続される。これにより、四輪車オブジェクト41が生成される(
図19)。
【0133】
図19に示されるように、オブジェクト操作アクションに基づいて、制御対象である車輪オブジェクト31bが三輪車オブジェクト52に接続された場合、制御対象である車輪オブジェクト31bの稼働情報が、合体先の組立品オブジェクトに含まれる動作オブジェクトの稼働情報と同じに設定される。具体的には、合体先の三輪車オブジェクト52に含まれる3つの車輪オブジェクト31bが稼働状態である場合、制御対象(合体される側)の車輪オブジェクト31bは稼働状態に変化する。
【0134】
また、合体先の組立品オブジェクトの保有情報も変化される。具体的には、制御対象の車輪オブジェクト31bが合体されるときに、合体先である三輪車オブジェクト52に含まれる3つの車輪オブジェクト31bは、保有状態に変化する。これにより、組立品オブジェクトに含まれる各動作オブジェクトの状態が同じになり、生成される四輪車オブジェクト41は稼働状態かつ保有状態になる。四輪車オブジェクト41が稼働状態かつ保有状態である場合、エネルギー表示33が表示され、上述のように保有エネルギー量が減少する。
【0135】
このように、動作オブジェクトは、オブジェクト操作アクションの制御対象として設定された場合、稼働情報を維持したまま、保有状態に変化する。また、オブジェクト操作アクションに基づいて、制御対象である動作オブジェクトを、他の動作オブジェクト又は組立品オブジェクトに合体させる合体制御が行われる場合、当該他の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトは、稼働情報を維持したまま、保有状態に変化される。非動作オブジェクトをオブジェクト操作アクションに基づいて合体させる場合も同様である。すなわち、オブジェクト操作アクションに基づいて、制御対象である非動作オブジェクトを、他の動作オブジェクト又は組立品オブジェクトに合体させる合体制御が行われる場合、当該他の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトが、保有状態に変化される。なお、プレイヤキャラクタは、オブジェクト操作アクションではない他のアクションによっても、動作オブジェクト又は組立品オブジェクトを持ちあげたり、移動させたりすることができる。このような他のアクションが動作オブジェクト又は組立品オブジェクトに対して行われても、当該動作オブジェクト又は組立品オブジェクトは保有状態に変化されず、したがって、動作オブジェクト又は組立品オブジェクトが稼働状態であっても、プレイヤキャラクタPCの保有エネルギー量は減少しない。なお、このような他のアクションが動作オブジェクト又は組立品オブジェクトに対して行われた場合でも、当該動作オブジェクト又は組立品オブジェクトは保有状態に変化されてもよい。
【0136】
このように、オブジェクト操作アクションの制御対象である動作オブジェクトを保有状態に変化させることができる。また、オブジェクト操作アクションに基づいて制御対象を他のオブジェクトに接続する場合、合体先に含まれる動作オブジェクトを保有状態に変化させることができ、生成される組立品オブジェクトに含まれる全ての動作オブジェクトを保有状態に変化させることができる。
【0137】
また、オブジェクト操作アクションに基づいて、制御対象である動作オブジェクトを、他の動作オブジェクト又は組立品オブジェクトに合体させる合体制御が行われる場合、制御対象である動作オブジェクトの稼働情報が、合体先である当該他の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトの稼働情報と同じに設定される。すなわち、合体先に含まれる動作オブジェクトが稼働状態である場合は、合体後の組立品オブジェクトに含まれる全ての動作オブジェクトが稼働状態に設定され、合体先に含まれる動作オブジェクトが非稼働状態である場合は、合体後の組立品オブジェクトに含まれる全ての動作オブジェクトは非稼働状態に設定される。
【0138】
これにより、オブジェクト操作アクションに基づいて組立品オブジェクトを作成中に、稼働状態の動作オブジェクトと非稼働状態の動作オブジェクトとを混在させないようにすることができ、組立品オブジェクトが予想外の挙動をすることを防止することができ、プレイヤが、組立品オブジェクトを組み立てやすくすることができる。また、制御対象の稼働情報を合体先に合わせることで、例えば、稼働状態の制御対象を、停止している組立品オブジェクトに合体させる場合に、組立品オブジェクトが稼働状態になってしまうことを防止することができる。また、非稼働状態の制御対象を稼働状態の組立品オブジェクトに合体させる場合に、組立品オブジェクトが停止してしまうことを防止することができる。
【0139】
以上のように、本実施形態のゲームでは、仮想空間に配置された複数の動作オブジェクトのそれぞれに、稼働状態か非稼働状態かを示す稼働情報と、保有状態か非保有状態かを示す保有情報とが設定される。動作オブジェクトは、稼働状態である場合にオブジェクトの種類に応じた挙動を継続的に行う。動作オブジェクトが稼働状態かつ保有状態である場合、プレイヤキャラクタPCに関連する保有エネルギー量が減少され、保有エネルギー量が所定の基準まで減少した場合に、動作オブジェクトは非稼働状態に設定される。
【0140】
これにより、仮想空間に配置された保有状態の複数の動作オブジェクトを同時に稼働させることができるとともに、プレイヤキャラクタPCに関連する保有エネルギー量によって複数の動作オブジェクトの稼働を管理することができる。また、プレイヤキャラクタPCの保有状態でないときでも動作オブジェクトを稼働させることができ、その場合は保有エネルギー量を減少させないようにすることができる。
【0141】
なお、ゲームの特定の場面では、動作オブジェクトが稼働状態かつ保有状態であっても、プレイヤキャラクタPCの保有エネルギー量が減少しなくてもよい。この場合、当該特定の場面においては、動作オブジェクトは、稼働状態を維持し続けることができる。
【0142】
(ゲーム処理に用いられるデータ)
次に、上述したゲームに関するゲーム処理の詳細について説明する。まず、ゲーム処理に用いられるデータについて説明する。
図20は、ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図である。
【0143】
図20に示されるように、本体装置2のメモリ(DRAM27、フラッシュメモリ26、又は外部記憶媒体)には、ゲームプログラム100と、操作データ110と、プレイヤキャラクタデータ120と、動作オブジェクトデータ130と、非動作オブジェクトデータ140と、非操作オブジェクトデータ150と、組立品オブジェクトデータ200とが記憶される。なお、これらのデータの他にも、メモリにはゲーム処理に用いられる様々なデータ(例えば敵キャラクタに関するデータ等)が記憶される。
【0144】
ゲームプログラム100は、後述するゲーム処理を実行するためのプログラムである。ゲームプログラムは、スロット29に装着される外部記憶媒体又はフラッシュメモリ26に予め記憶されており、ゲームの実行時にDRAM27に読み込まれる。なお、ゲームプログラムは、ネットワーク(例えばインターネット)を介して他の装置から取得されてもよい。
【0145】
操作データ110は、コントローラ3及び4から本体装置2に送信されたデータである。コントローラ3及び4は、所定の時間間隔(例えば、1/200秒間隔)で繰り返し操作データ110を本体装置2に送信する。
【0146】
プレイヤキャラクタデータ120は、プレイヤキャラクタPCに関するデータである。プレイヤキャラクタデータ120は、プレイヤキャラクタPCの仮想空間における位置や姿勢を表す位置・姿勢データ121と、保有エネルギー量を示す保有エネルギーデータ122と、アイテム・能力データ123とを含む。また、プレイヤキャラクタデータ120は、プレイヤキャラクタPCの形状や外観等に関するデータを含む。
【0147】
アイテム・能力データ123は、プレイヤキャラクタPCが所有するアイテム(武器オブジェクト、防具オブジェクト、その他のアイテム等)に関するデータと、プレイヤキャラクタPCの能力(アクションを行う能力。例えば、上記オブジェクト操作アクションを行う能力、合成武器生成アクションを行う能力等)に関するデータとを含む。また、アイテム・能力データ123は、プレイヤキャラクタPCが現在どのアイテムを装備中か、どの能力を選択中かを示すデータを含む。また、アイテム・能力データ123は、仮想空間に配置されていない、プレイヤキャラクタPCによって所有されている操作可能オブジェクトに関するデータを含んでもよい。すなわち、複数の操作可能オブジェクトのうちの少なくとも何れか1つは、アイテム・能力データ123として格納され、プレイヤの操作入力に応じて、格納された操作可能オブジェクトが仮想空間に配置されてもよい。
【0148】
動作オブジェクトデータ130は、仮想空間に配置された操作可能オブジェクト31のうちの動作オブジェクト(例えば、31a~31c等)に関するデータである。動作オブジェクト毎に、動作オブジェクトデータ130が記憶される。動作オブジェクトデータ130は、位置・姿勢データ131と、稼働情報データ132と、保有情報データ133と、種類データ134と、消費量データ135とを含む。
【0149】
位置・姿勢データ131は、動作オブジェクトの仮想空間における位置及び姿勢に関するデータである。
【0150】
稼働情報データ132は、稼働情報を示すデータであって、動作オブジェクトが稼働状態か非稼働状態かを示すデータである。
【0151】
保有情報データ133は、保有情報を示すデータであって、動作オブジェクトがプレイヤキャラクタPCによって保有された保有状態であるか、プレイヤキャラクタPCによって保有されていない非保有状態かを示すデータである。
【0152】
種類データ134は、動作オブジェクトの種類を示すデータである。例えば、種類データ134は、動作オブジェクトの形状や外観に関するデータ、動作オブジェクトの質量に関するデータ、動作オブジェクトが稼働状態である場合の当該動作オブジェクトの挙動に関するデータ(例えば、推進力を発生させる動作オブジェクトの場合は、推進力の大きさ、推進力の方向等に関するデータ)を含む。
【0153】
消費量データ135は、動作オブジェクトに設定されたエネルギーの消費量に関するデータであり、動作オブジェクトが稼働状態かつ保有状態である場合に、1フレーム時間当たりに消費するエネルギーに関するデータである。
【0154】
非動作オブジェクトデータ140は、仮想空間に配置された操作可能オブジェクト31のうちの非動作オブジェクト(例えば、31d~31h等)に関するデータである。非動作オブジェクト毎に、非動作オブジェクトデータ140が記憶される。図示は省略するが、非動作オブジェクトデータ140も、動作オブジェクトデータ130と同様に、少なくとも、位置及び姿勢に関する位置・姿勢データと、非動作オブジェクトの種類を示す種類データとを含む。なお、非動作オブジェクトデータ140は、上記保有情報データを含んでもよい。
【0155】
非操作オブジェクトデータ150は、仮想空間に配置された非操作オブジェクト(仮想空間に固定された岩、山、建築物、地面等を表すオブジェクト)に関するデータである。非操作オブジェクト毎に、非操作オブジェクトデータ150が記憶される。非操作オブジェクトデータ150は、非操作オブジェクトの位置や姿勢に関するデータ、非操作オブジェクトの種類に関するデータ、非操作オブジェクトの形状や外観に関するデータを含む。
【0156】
組立品オブジェクトデータ200は、仮想空間に配置された組立品オブジェクト(例えば、飛行機オブジェクト40、四輪車オブジェクト41等)に関するデータである。組立品オブジェクト毎に、組立品オブジェクトデータ200が記憶される。
図20では、組立品オブジェクトの一例として、四輪車オブジェクト41を表す組立品オブジェクトデータ200が示されている。例えば、組立品オブジェクトデータ200は、四輪車オブジェクト41の4つの車輪オブジェクト31b(左前輪、右前輪、左後輪、右後輪)を表す動作オブジェクトデータ(1130、2130、3130、4130)を含む。また、組立品オブジェクトデータ200は、火炎放射器オブジェクト31cを表す動作オブジェクトデータ5130を含む。組立品オブジェクトデータ200に含まれる各動作オブジェクトデータは、動作オブジェクトデータ130と同様のデータを有する。また、組立品オブジェクトデータ200は、3つの非動作オブジェクトデータ(1140、2140、3140)を含む。非動作オブジェクトデータ1140は、四輪車オブジェクト41の車体となる板オブジェクト31eを表すデータである。非動作オブジェクトデータ2140は、操縦桿オブジェクト31fを表すデータである。非動作オブジェクトデータ3140は、バッテリーオブジェクト31hを表すデータである。
【0157】
なお、図示は省略するが、組立品オブジェクトデータ200は、組立品オブジェクト全体に関する保有情報を含む。この組立品オブジェクト全体に関する保有情報は、組立品オブジェクトが保有状態か非保有状態かを示す。また、組立品オブジェクトデータ200は、組立品オブジェクト全体に関する稼働情報を含んでもよい。また、組立品オブジェクトデータ200は、組立品オブジェクトを構成する各操作可能オブジェクトの、当該組立品オブジェクト内での位置及び姿勢を示すデータを含む。また、組立品オブジェクトデータ200は、組立品オブジェクト全体の質量や重心位置、移動速度、移動方向等に関するデータを含んでもよい。
【0158】
(ゲーム処理の詳細)
次に、本体装置2において行われるゲーム処理の詳細について説明する。
図21は、プロセッサ21によって実行されるゲーム処理の一例を示すフローチャートである。
【0159】
図21に示されるように、ゲーム処理が開始されると、プロセッサ21は、初期処理を実行する(ステップS100)。具体的には、プロセッサ21は、仮想空間を設定し、仮想空間にプレイヤキャラクタPC、複数の操作可能オブジェクト31、非操作オブジェクト、敵キャラクタEC等を配置する。
【0160】
次に、プロセッサ21は、コントローラから送信されてメモリに格納された操作データを取得する(ステップS101)。操作データは、左右のコントローラのボタンやアナログスティック等に対する操作に応じたデータを含む。以降、プロセッサ21は、ステップS101~ステップS107の処理を所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行する。
【0161】
続いて、プロセッサ21は、操作データに基づいて、プレイヤキャラクタ制御処理を行う(ステップS102)。ここでは、プロセッサ21は、コントローラに対する操作入力に応じて、プレイヤキャラクタPCを仮想空間内で制御する。具体的には、ステップS102では、操作データに基づいて、プレイヤキャラクタPCの移動制御、プレイヤキャラクタPCによる攻撃アクション、プレイヤキャラクタPCによるオブジェクト操作アクション、プレイヤキャラクタPCによる操縦桿オブジェクト31fの操作等が行われる。
【0162】
例えば、移動操作入力(例えばコントローラ3のアナログスティック6Lに対する方向操作入力)が行われた場合、プロセッサ21は、ステップS102において、プレイヤキャラクタPCの移動制御を行う。具体的には、プロセッサ21は、移動操作入力に応じた方向に、プレイヤキャラクタPCを仮想空間内で移動させる。プロセッサ21は、プレイヤキャラクタPCの移動方向、移動速度、プレイヤキャラクタPCにかかる力、他のオブジェクトとの衝突等に基づく物理計算を行い、プレイヤキャラクタPCの1フレーム分の移動(移動方向および移動量)を計算し、プレイヤキャラクタPCの位置を更新する。また、プレイヤキャラクタPCが移動オブジェクト(例えば、飛行機オブジェクトや四輪車オブジェクト等の移動可能な組立品オブジェクト)の上に乗っている場合、プロセッサ21は、当該移動オブジェクトの移動に基づいて、プレイヤキャラクタPCの位置を更新する。これにより、プレイヤキャラクタPCは、仮想空間内を移動する。
【0163】
また、攻撃アクションのための操作入力が行われた場合、プロセッサ21は、ステップS102において、プレイヤキャラクタPCに攻撃アクションを開始させる。例えば、プレイヤキャラクタPCが武器オブジェクトを装備している場合、プロセッサ21は、プレイヤキャラクタPCに武器オブジェクトを用いた攻撃アクションを開始させる。また、プレイヤキャラクタPCが、動作オブジェクト(例えば、火炎放射器オブジェクト31h)と合成された合成武器オブジェクトを装備している場合、プロセッサ21は、プレイヤキャラクタPCに合成武器オブジェクトを用いた攻撃アクションを開始させる。攻撃アクションは、複数のフレームにわたって行われる。攻撃アクションが開始された後、プロセッサ21は、ステップS102を実行する毎に、攻撃アクションに応じたアニメーションを1フレーム進める。
【0164】
また、プロセッサ21は、ステップS102において、オブジェクト操作アクションに関する処理を行う。具体的には、プロセッサ21は、プレイヤの選択操作(例えば、Lボタンの押下)に応じて、複数の操作可能オブジェクト31(単体の操作可能オブジェクト、又は、組立品オブジェクトに含まれる操作可能オブジェクト)のうちの何れか選択する。操作可能オブジェクト31が選択されている場合、プロセッサ21は、さらに、所定の操作入力(例えば、Aボタンの押下)に応じて、プレイヤキャラクタPCにオブジェクト操作アクションを開始させる。具体的には、プロセッサ21は、オブジェクト操作アクションの開始アニメーションを再生し、ステップS102を実行する毎に、当該アニメーションを1フレーム進める。当該開始アニメーションが終了した後、選択された操作可能オブジェクト31を制御対象として、当該制御対象に対するオブジェクト操作アクションが行われている状態(操作中の状態)になる(
図5参照)。
【0165】
制御対象に対するオブジェクト操作アクションが行われている状態において、移動操作入力が行われた場合、プロセッサ21は、プレイヤキャラクタPCの移動制御とともに、制御対象の移動制御を行う。例えば、制御対象が単体の操作可能オブジェクト31である場合、プロセッサ21は、プレイヤキャラクタPCの移動制御とともに、当該操作可能オブジェクト31の移動制御を行う。また、制御対象が組立品オブジェクトに含まれる操作可能オブジェクト31である場合、プロセッサ21は、プレイヤキャラクタPCの移動制御とともに、当該組立品オブジェクトの移動制御を行う。また、制御対象に対するオブジェクト操作アクションが行われている状態において、例えば、コントローラ4のアナログスティック6Lに対する方向操作入力が行われた場合、プロセッサ21は、プレイヤキャラクタPCの向きを制御するとともに、制御対象の移動制御を行う。また、例えばボタン5Lに対するキー操作に基づいて、プレイヤキャラクタPCとは独立して制御対象を移動させたり回転させたりする。
【0166】
また、制御対象に対するオブジェクト操作アクションが行われている状態において、制御対象と他の操作可能オブジェクトとが所定の接続条件を満たしている場合、プロセッサ21は、接続指示に応じて、制御対象を当該他の操作可能オブジェクトに接続させる。具体的には、接続指示に応じて、制御対象と他の操作可能オブジェクトとが互いに引き合うように近づき、所定時間(例えば、0.5秒)後に、制御対象と他の操作可能オブジェクトとが接続される。これにより、組立品オブジェクトが生成される。制御対象が他の操作可能オブジェクトに接続されると、当該制御対象に対するオブジェクト操作アクションが終了する。
【0167】
また、合成指示が行われた場合、プロセッサ21は、ステップS102において、プレイヤキャラクタPCに、装備している武器オブジェクトと仮想空間に配置されたオブジェクトとを合成させるためのアクションを開始させる。当該アクションに応じて、合成武器オブジェクトが生成される。
【0168】
また、ステップS102において、プロセッサ21は、操作データに基づいて、プレイヤキャラクタPCに操縦桿オブジェクト31fの操作を開始させる。具体的には、組立品オブジェクトに含まれる操縦桿オブジェクト31fとプレイヤキャラクタPCとが所定の位置関係を満たしている場合において、所定の開始操作が行われた場合、プロセッサ21は、プレイヤキャラクタPCに操縦桿オブジェクト31fの操作を開始させる。これにより、プレイヤキャラクタPCは、操縦桿オブジェクト31fの近傍に配置され、操縦桿オブジェクト31fを操作中の状態になる。また、プレイヤキャラクタPCが操縦桿オブジェクト31fを操作中であるときに、所定の終了操作が行われた場合、プロセッサ21は、プレイヤキャラクタPCに操縦桿オブジェクト31fの操作を終了させる。これにより、プレイヤキャラクタPCは、操縦桿オブジェクト31fから離れ、操縦桿オブジェクト31fを操作していない状態になる。
【0169】
ステップS102の後、プロセッサ21は、他オブジェクト制御処理を行う(ステップS103)。ここでは、プロセッサ21は、プレイヤキャラクタPC以外の各オブジェクトの制御を行う。例えば、プロセッサ21は、所定のアルゴリズムに従って、敵キャラクタECを1フレーム分の移動量だけ移動させたり、敵キャラクタECにプレイヤキャラクタPCへの攻撃アクションを開始させたりする。また、プロセッサ21は、所定のアルゴリズムに従って、敵キャラクタECに、動作オブジェクトに対する操作を行わせる。例えば、プロセッサ21は、敵キャラクタECに、組立品オブジェクトを操作するアクションを行わせたり、仮想空間に落ちている合成武器オブジェクトを拾うアクションを行わせたりする。また、プロセッサ21は、敵キャラクタEC以外のノンプレイヤキャラクタの制御を行う。
【0170】
また、ステップS103において、プロセッサ21は、仮想空間に配置された動作オブジェクト(単体の動作オブジェクト、又は、組立品オブジェクトに含まれる動作オブジェクト)の挙動を制御する。例えば、単体の車輪オブジェクト31bが稼働状態である場合、プロセッサ21は、車輪オブジェクト31bの推進力の大きさ、推進力の方向、車輪オブジェクト31bにかかる力、他のオブジェクトとの衝突に基づく物理計算を行い、当該計算結果に基づいて、車輪オブジェクト31bを仮想空間内で移動させる。また、プロセッサ21は、組立品オブジェクトの挙動を制御する。例えば、四輪車オブジェクト41に含まれる4つの車輪オブジェクト31bが稼働状態である場合、プロセッサ21は、各車輪オブジェクト31bの推進力の大きさ、推進力の方向、四輪車オブジェクト41に含まれる各オブジェクトにかかる力、四輪車オブジェクト41と他のオブジェクトとの衝突等に基づく物理計算を行い、四輪車オブジェクト41の移動(移動方向及び移動速度)を計算し、四輪車オブジェクト41の位置を更新する。また、プロセッサ21は、四輪車オブジェクト41に操縦桿オブジェクト31fが接続されている場合において、プレイヤキャラクタPCが操縦桿オブジェクト31fを操作中である場合、プロセッサ21は、プレイヤによる方向操作入力に応じて、四輪車オブジェクト41の移動方向を変化させる。また、プロセッサ21は、例えば、飛行機オブジェクト40に含まれる扇風機オブジェクト31aが稼働状態である場合、扇風機オブジェクト31aの推進力の大きさ、推進力の方向、飛行機オブジェクト40に含まれる各オブジェクトにかかる力、飛行機オブジェクト40と他のオブジェクト(例えば風の影響)との衝突等に基づく物理計算を行い、飛行機オブジェクト40の移動を計算し、飛行機オブジェクト40の位置を更新する。飛行機オブジェクト40に操縦桿オブジェクト31fが接続されている場合において、プレイヤキャラクタPCが操縦桿オブジェクト31fを操作中である場合、プロセッサ21は、プレイヤによる方向操作入力に応じて、飛行機オブジェクト40の移動方向を変化させる。
【0171】
次に、プロセッサ21は、オブジェクト状態切替処理を行う(ステップS104)。ステップS104の処理は、プレイヤキャラクタPC又はノンプレイヤキャラクタ(NPC)のアクションに基づいて、各動作オブジェクトの状態を切り替える処理である。具体的には、オブジェクト状態切替処理では、プロセッサ21は、仮想空間に配置された動作オブジェクト(単体の動作オブジェクト、又は、組立品オブジェクトに含まれる動作オブジェクト)を稼働状態又は非稼働状態に設定したり、動作オブジェクトを保有状態又は非保有状態に設定したりする。ステップS104のオブジェクト状態切替処理の詳細については後述する。
【0172】
続いて、プロセッサ21は、エネルギー消費/回復処理を行う(ステップS105)。エネルギー消費/回復処理では、プロセッサ21は、動作オブジェクトが稼働状態かつ保有状態であるときにプレイヤキャラクタPCの保有エネルギー量を減少させたり、動作オブジェクトが非稼働状態であるときに保有エネルギー量を回復させたりする。ステップS105のエネルギー消費/回復処理の詳細については後述する。
【0173】
次に、プロセッサ21は、描画処理を行う(ステップS106)。ここでは、仮想空間に配置された仮想カメラから仮想空間を見た画像が生成される。これにより、ステップS101~ステップS105の処理に応じたゲーム画像が生成される。生成されたゲーム画像は、ディスプレイ12又は別の表示装置に出力される。ステップS106の描画処理が所定のフレーム時間間隔で繰り返し実行されることにより、プレイヤキャラクタPCが仮想空間を移動する様子や、様々なアクションを行う様子が表示される。また、単体の動作オブジェクト又は組立品オブジェクトが移動する様子や、プレイヤキャラクタPCの保有エネルギー量が減少する様子が表示される。
【0174】
次に、プロセッサ21は、ゲームを終了するか否かの判定を行う(ステップS107)。例えば、プレイヤによりゲームの終了が指示された場合、プロセッサ21は、ゲームを終了すると判定し、
図21に示すゲーム処理を終了する。一方、ステップS107でNOと判定した場合、プロセッサ21は、ステップS101の処理を再び実行する。
【0175】
(オブジェクト状態切替処理)
次に、ステップS104のオブジェクト状態切替処理の詳細について説明する。
図22は、ステップS104のオブジェクト状態切替処理の一例を示すフローチャートである。
【0176】
図22に示されるように、プロセッサ21は、まず、オブジェクト操作アクション関連処理を行う(ステップS200)。オブジェクト操作アクション関連処理は、ステップS102のプレイヤキャラクタ制御処理において行われたオブジェクト操作アクションに関連する処理である。オブジェクト操作アクション関連処理では、プロセッサ21は、オブジェクト操作アクションに基づいて、動作オブジェクトの保有情報を設定したり、稼働情報を設定したりする。オブジェクト操作アクション関連処理の詳細については後述する。
【0177】
次に、プロセッサ21は、操縦桿関連処理を行う(ステップS201)。操縦桿関連処理は、ステップS102のプレイヤキャラクタ制御処理において行われた操縦桿オブジェクト31fの操作に関連する処理である。操縦桿関連処理では、プロセッサ21は、操縦桿オブジェクト31fの操作の開始に応じて、動作オブジェクトの稼働情報を設定したり、保有情報を設定したりする。操縦桿関連処理の詳細については後述する。
【0178】
続いて、プロセッサ21は、攻撃関連処理を行う(ステップS202)。攻撃関連処理は、ステップS102のプレイヤキャラクタ制御処理において行われた攻撃アクションに関連する処理である。攻撃関連処理では、プロセッサ21は、プレイヤキャラクタPCの攻撃アクションが動作オブジェクトに当たった場合に、当該動作オブジェクトを保有状態に変化させたり、当該動作オブジェクトの稼働情報を変更したりする。攻撃関連処理の詳細については後述する。
【0179】
次に、プロセッサ21は、保有状態の動作オブジェクトがプレイヤキャラクタPCから離れたか否かを判定する(ステップS203)。具体的には、プロセッサ21は、プレイヤキャラクタPCと稼働状態かつ保有状態である単体の動作オブジェクトとの距離が、所定の閾値を超えた場合、ステップS203でYESと判定する。また、プロセッサ21は、プレイヤキャラクタPCと稼働状態かつ保有状態である組立品オブジェクトとの距離が、所定の閾値を超えている場合、ステップS203でYESと判定する。なお、プレイヤキャラクタPCと組立品オブジェクトに含まれる全てのオブジェクト(動作オブジェクト及び非動作オブジェクト)との距離が、所定の閾値を超えている場合、ステップS203でYESと判定されてもよい。また、プレイヤキャラクタPCと組立品オブジェクトに含まれる全ての動作オブジェクトとの距離が、所定の閾値を超えている場合、ステップS203でYESと判定されてもよい。
【0180】
ステップS203でYESと判定した場合、プロセッサ21は、動作オブジェクトを非稼働状態に設定する(ステップS204)。例えば、プロセッサ21は、プレイヤキャラクタPCと組立品オブジェクトとの距離が所定の閾値を超えた場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトを非稼働状態に設定する。また、プロセッサ21は、プレイヤキャラクタPCと単体の動作オブジェクトとの距離が所定の閾値を超えた場合、当該動作オブジェクトを非稼働状態に設定する。なお、ステップS203でYESと判定されてから所定時間が経過したタイミングで、動作オブジェクトが非稼働状態に設定されてもよい。
【0181】
ステップS204の処理を実行した場合、又は、ステップS203でNOと判定した場合、プロセッサ21は、ノンプレイヤキャラクタが動作オブジェクトを操作したか否かを判定する(ステップS205)。例えば、ステップS103において、敵キャラクタECが、仮想空間に配置された組立品オブジェクトに乗って当該組立品オブジェクトを操作した場合、プロセッサ21は、ステップS205でYESと判定する。また、例えば、敵キャラクタECが、仮想空間に落ちている動作オブジェクトを含む合成武器オブジェクトを拾った場合、プロセッサ21は、ステップS205でYESと判定する。なお、敵キャラクタECの攻撃アクションが、仮想空間に配置された組立品オブジェクトに当たった場合、プロセッサ21は、ステップS205でYESと判定してもよい。また、例えば、敵キャラクタECの攻撃アクションが、仮想空間に配置された単体の動作オブジェクトに当たった場合、プロセッサ21は、ステップS205でYESと判定してもよい。
【0182】
ステップS205でYESと判定した場合、プロセッサ21は、ノンプレイヤキャラクタが操作した動作オブジェクトを非保有状態に設定する(ステップS206)。例えば、敵キャラクタECが、仮想空間に配置された組立品オブジェクトに乗って当該組立品オブジェクトを操作した場合、プロセッサ21は、当該組立品オブジェクトに含まれる全ての動作オブジェクトを非保有状態に設定する。このとき、プロセッサ21は、組立品オブジェクトに含まれる全ての動作オブジェクトを非保有状態に設定するとともに、稼働状態に設定してもよい。また、敵キャラクタECが、仮想空間に落ちている合成武器オブジェクトを拾った場合、プロセッサ21は、当該合成武器オブジェクトに含まれる動作オブジェクトを非保有状態に設定する。なお、敵キャラクタECの攻撃アクションが、仮想空間に配置された組立品オブジェクトに当たった場合、プロセッサ21は、当該組立品オブジェクトに含まれる全ての動作オブジェクトを非保有状態に設定するとともに、稼働状態に設定してもよい。また、敵キャラクタECの攻撃アクションが、仮想空間に配置された単体の動作オブジェクトに当たった場合、プロセッサ21は、当該動作オブジェクトを非保有状態に設定するとともに、稼働状態に設定してもよい。
【0183】
なお、非動作オブジェクトも保有情報を有してもよく、ステップS206において、動作オブジェクトのみならず、非動作オブジェクトについても非保有状態に設定されてもよい。例えば、敵キャラクタECが組立品オブジェクトを操作した場合、プロセッサ21は、当該組立品オブジェクトに含まれる全てのオブジェクト(動作オブジェクト及び非動作オブジェクト)を非保有状態に設定してもよい。
【0184】
ステップS206の処理を行った場合、又は、ステップS205でNOと判定した場合、プロセッサ21は、
図22に示す処理を終了する。
【0185】
(オブジェクト操作アクション関連処理)
次に、
図22のステップS200のオブジェクト操作アクション関連処理の詳細について説明する。
図23は、ステップS200のオブジェクト操作アクション関連処理の一例を示すフローチャートである。
【0186】
図23に示されるように、プロセッサ21は、上記ステップS102においてオブジェクト操作アクションが開始されたか否かを判定する(ステップS300)。ここでは、プレイヤの選択操作によって操作可能オブジェクト31が選択されているときに、所定の操作入力(例えば、Aボタンの押下)が行われることによって、選択されたオブジェクトに対するオブジェクト操作アクションが開始されたか否かが判定される。
【0187】
オブジェクト操作アクションが開始された場合(ステップS300:YES)、プロセッサ21は、オブジェクト操作アクションの制御対象が非保有状態の動作オブジェクトか否かを判定する(ステップS301)。例えば、制御対象が、非保有状態の単体の動作オブジェクトである場合、プロセッサ21は、ステップS301でYESと判定する。また、制御対象が、組立品オブジェクトに含まれる操作可能オブジェクト(動作オブジェクト又は非動作オブジェクト)であって、当該組立品オブジェクトが非保有状態である場合、プロセッサ21は、ステップS301でYESと判定する。
【0188】
ステップS301でYESと判定した場合、プロセッサ21は、オブジェクト操作アクションの制御対象である動作オブジェクトを保有状態に変更する(ステップS302)。ここでは、制御対象が単体の動作オブジェクトである場合、当該単体の動作オブジェクトが保有状態に変更される。また、制御対象が組立品オブジェクトに含まれる動作オブジェクト又は非動作オブジェクトである場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトが保有状態に変更される。具体的には、組立品オブジェクト全体に関する保有情報に、保有状態を示す値が設定され、その組立品オブジェクト全体に関する保有情報が、当該組立品オブジェクトに含まれる全ての動作オブジェクトの保有情報にコピーされる。なお、組立品オブジェクトは、そのような組立品オブジェクト全体に関する保有情報を有さず、組立品オブジェクトに含まれる各動作オブジェクトの保有情報に、保有状態を示す値が設定されてもよい。また、保有状態でない組立品オブジェクトに複数の同種の動作オブジェクトが含まれる場合には、当該組立品オブジェクトが仮想空間内に配置された時点で省エネルギー設定が行われる。ただし配置時点では省エネルギー設定を行わずにステップS302の時点で省エネルギー設定が行われてもよい。このように、単体の動作オブジェクト又は組立品オブジェクトに対してオブジェクト操作アクションが開始されたときに、当該単体の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトが保有状態に変更される。なお、非動作オブジェクトも保有情報を有してもよく、ステップS302において、動作オブジェクトのみならず、非動作オブジェクトについても保有状態に設定されてもよい。
【0189】
ステップS302の処理を実行した場合、又は、ステップS301でNOと判定した場合、プロセッサ21は、
図23に示す処理を終了する。
【0190】
一方、オブジェクト操作アクションが開始されたと判定しなかった場合(ステップS300:NO)、プロセッサ21は、プレイヤによる接続指示が行われたか否かを判定する(ステップS303)。ここでは、プレイヤキャラクタPCがオブジェクト操作アクションに基づいて制御対象を操作中に、当該制御対象を他の操作可能オブジェクト31に接続するための接続指示が行われたか否かが判定される。
【0191】
接続指示が行われた場合(ステップS303:YES)、プロセッサ21は、合体先のオブジェクトが非保有状態か否かを判定する(ステップS304)。ここで「合体先のオブジェクト」は、オブジェクト操作アクションの制御対象が接続される先のオブジェクトであり、制御対象が接続される単体の動作オブジェクト、又は、組立品オブジェクトである。例えば、制御対象が、仮想空間に配置された単体の動作オブジェクトに接続される場合、当該単体の動作オブジェクトが非保有状態か否かが判定される。また、制御対象が、仮想空間に配置された組立品オブジェクトに接続される場合、当該組立品オブジェクトに含まれる動作オブジェクトが非保有状態か否かが判定される。
【0192】
合体先のオブジェクトが非保有状態であると判定した場合(ステップS304:YES)、プロセッサ21は、合体先のオブジェクトを保有状態に変更する(ステップS305)。例えば、制御対象が、仮想空間に配置された単体の動作オブジェクトに接続される場合、当該単体の動作オブジェクトが保有状態に変更される。また、制御対象が、仮想空間に配置された組立品オブジェクトに接続される場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトが保有状態に変更される。具体的には、組立品オブジェクト全体に関する保有情報に、保有状態を示す値が設定され、その組立品オブジェクト全体に関する保有情報が、当該組立品オブジェクトに含まれる全ての動作オブジェクトの保有情報にコピーされる。なお、非動作オブジェクトも保有情報を有してもよく、ステップS305において、動作オブジェクトのみならず、非動作オブジェクトについても保有状態に設定されてもよい。
【0193】
ステップS305の処理を実行した場合、又は、ステップS304でNOと判定した場合、プロセッサ21は、制御対象である動作オブジェクトの稼働情報を、合体先のオブジェクトの稼働情報と一致させる(ステップS306)。これにより、制御対象が、稼働状態である単体の動作オブジェクトに接続される場合は、制御対象は稼働状態に設定される。また、制御対象が、非稼働状態である単体の動作オブジェクトに接続される場合は、制御対象は非稼働状態に設定される。制御対象が、組立品オブジェクトである場合に、当該組立品オブジェクトが稼働状態である場合は、制御対象は稼働状態に設定される。また、制御対象が、組立品オブジェクトである場合に、当該組立品オブジェクトが非稼働状態である場合は、制御対象は非稼働状態に設定される。
【0194】
なお、制御対象を動作オブジェクトに接続する場合、合体先(接続先)のオブジェクトの稼働情報を、制御対象の稼働情報に一致させてもよい。
【0195】
ステップS306の後、プロセッサ21は、制御対象及び合体先のオブジェクトの中に、複数の同種の動作オブジェクトが存在するか否かを判定する(ステップS307)。ここでは、制御対象と、合体先である単体の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトとを含む複数の動作オブジェクトの中に、複数の同種の動作オブジェクトが存在するか否かが判定される。例えば、
図18に示されるように、車輪オブジェクト31bが制御対象であり、この制御対象と三輪車オブジェクト52とが接続条件を満たしているときに、接続指示が行われた場合を想定する。この場合、合体先の三輪車オブジェクト52には、3つの車輪オブジェクト31bが存在し、制御対象は車輪オブジェクト31bであるため、制御対象及び合体先のオブジェクトには、4つの車輪オブジェクト31bが存在することになる。したがって、この場合は、ステップS307においてYESと判定される。
【0196】
制御対象及び合体先のオブジェクトの中に複数の同種の動作オブジェクトが存在すると判定した場合(ステップS307:YES)、プロセッサ21は、その個数に応じて、同種の動作オブジェクトに省エネルギー設定を行う(ステップS308)。ここでは、プロセッサ21は、複数の同種の動作オブジェクトの合計の消費量が、省エネルギー設定を行っていないときの通常の合計の消費量よりも小さくなるように、各動作オブジェクトの消費量を設定する。例えば、各動作オブジェクトの消費量が、通常の消費量よりも小さく設定されてもよい。また、1つ目の動作オブジェクトの消費量は通常と同じで、2つ目以降の動作オブジェクトの消費量が通常よりも小さく設定されてもよい。例えば、制御対象及び合体先のオブジェクトに4つの車輪オブジェクト31bが存在する場合、4つの車輪オブジェクト31bの合計の消費量は、省エネルギー設定が行われなければ「通常の車輪オブジェクト31bの消費量×4」になる。しかしながら、ステップS308において同種の動作オブジェクトに対して省エネルギー設定が行われることにより、4つの車輪オブジェクト31bの合計の消費量は、「通常の車輪オブジェクト31bの消費量×4」よりも小さくなる。
【0197】
なお、組立品オブジェクトの中に複数の同種の動作オブジェクトが存在する場合に限らず、動作オブジェクトの種類と仮想空間の場所とに応じて、省エネルギー設定が行われてもよい。例えば、扇風機オブジェクト31bは、空中を移動中のときは通常の消費量に設定され、地面や水面を移動中のときは、通常よりも小さい消費量に設定されてもよい。
【0198】
ステップS308の処理を行った場合、ステップS307でNOと判定した場合、又は、ステップS303でNOと判定した場合、プロセッサ21は、
図23に示す処理を終了する。
【0199】
(操縦桿関連処理)
次に、
図22のステップS201の操縦桿関連処理の詳細について説明する。
図24は、ステップS201の操縦桿関連処理の一例を示すフローチャートである。
【0200】
図24に示されるように、プロセッサ21は、上記ステップS102においてプレイヤキャラクタPCが、組立品オブジェクトに含まれる操縦桿オブジェクト31fの操作を開始したか否かを判定する(ステップS400)。
【0201】
プレイヤキャラクタPCが組立品オブジェクトに含まれる操縦桿オブジェクト31fの操作を開始した場合(ステップS400:YES)、プロセッサ21は、当該組立品オブジェクトに含まれる全ての動作オブジェクトを稼働状態に設定する(ステップS401)。
【0202】
次に、プロセッサ21は、組立品オブジェクトに含まれる全ての動作オブジェクトを保有状態に設定する(ステップS402)。具体的には、組立品オブジェクト全体に関する保有情報に、保有状態を示す値が設定され、その組立品オブジェクト全体に関する保有情報が、当該組立品オブジェクトに含まれる各動作オブジェクトの保有情報にコピーされる。また、保有状態でない組立品オブジェクトに複数の同種の動作オブジェクトが含まれる場合には、当該組立品オブジェクトが仮想空間内に配置された時点で省エネルギー設定が行われる。ただし配置時点では省エネルギー設定を行わずにステップS402の時点で省エネルギー設定が行われてもよい。また、非動作オブジェクトも保有情報を有してもよく、ステップS402において、動作オブジェクトのみならず、非動作オブジェクトについても保有状態に設定されてもよい。
【0203】
一方、ステップS400でNOと判定した場合、プロセッサ21は、上記ステップS102においてプレイヤキャラクタPCが、組立品オブジェクトに含まれる操縦桿オブジェクト31fの操作を終了したか否かを判定する(ステップS403)。
【0204】
プレイヤキャラクタPCが組立品オブジェクトに含まれる操縦桿オブジェクト31fの操作を終了したと判定した場合(ステップS403:YES)、プロセッサ21は、組立品オブジェクトに含まれる全ての動作オブジェクトを非稼働状態に設定する(ステップS404)。
【0205】
ステップS404の処理を行った場合、ステップS403でNOと判定した場合、又は、ステップS402の処理を行った場合、プロセッサ21は、
図24に示す処理を終了する。
【0206】
(攻撃関連処理)
次に、
図22のステップS202の攻撃関連処理の詳細について説明する。
図25は、ステップS202の攻撃関連処理の一例を示すフローチャートである。
【0207】
図25に示されるように、プロセッサ21は、上記ステップS102において行われたプレイヤキャラクタPCの攻撃アクションがオブジェクトに当たったか否かを判定する(ステップS500)。具体的には、プロセッサ21は、実行中のプレイヤキャラクタPCの攻撃アクションが、仮想空間に配置された単体の動作オブジェクト、又は、組立品オブジェクト(組立品オブジェクトに含まれる動作オブジェクト又は非動作オブジェクト)に当たったか否かを判定する。
【0208】
プレイヤキャラクタPCの攻撃アクションが当たった場合(ステップS500:YES)、プロセッサ21は、当該攻撃アクションが当たったオブジェクトが非保有状態か否かを判定する(ステップS501)。例えば、プレイヤキャラクタPCの攻撃アクションが単体の動作オブジェクトに当たった場合、プロセッサ21は、当該動作オブジェクトが非保有状態か否かを判定する。また、プロセッサ21は、プレイヤキャラクタPCの攻撃アクションが組立品オブジェクトに当たった場合、当該組立品オブジェクトに含まれる動作オブジェクトが非保有状態か否かを判定する。
【0209】
攻撃アクションが当たったオブジェクトが非保有状態であると判定した場合(ステップS501:YES)、プロセッサ21は、当該攻撃アクションが当たったオブジェクトを保有状態に設定する(ステップS502)。例えば、プレイヤキャラクタPCの攻撃アクションが単体の動作オブジェクトに当たった場合、プロセッサ21は、当該動作オブジェクトを保有状態に設定する。また、プロセッサ21は、プレイヤキャラクタPCの攻撃アクションが組立品オブジェクトに当たった場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトを保有状態に設定する。具体的には、組立品オブジェクト全体に関する保有情報に、保有状態を示す値が設定され、その組立品オブジェクト全体に関する保有情報が、当該組立品オブジェクトに含まれる各動作オブジェクトの保有情報にコピーされる。なお、非動作オブジェクトも保有情報を有してもよく、ステップS502において、動作オブジェクトのみならず、非動作オブジェクトについても保有状態に設定されてもよい。
【0210】
ステップS502の処理を行った場合、又は、ステップS501でNOと判定した場合、プロセッサ21は、プレイヤキャラクタPCの攻撃アクションが当たったオブジェクトの稼働情報を変更する(ステップS503)。ここでは、プロセッサ21は、動作オブジェクトについて、稼働状態と非稼働状態とを切り替える。例えば、プレイヤキャラクタPCの攻撃アクションが単体の動作オブジェクトに当たった場合、プロセッサ21は、当該動作オブジェクトを非稼働状態から稼働状態に、又は、稼働状態から非稼働状態に切り替える。また、プロセッサ21は、プレイヤキャラクタPCの攻撃アクションが組立品オブジェクトに当たった場合、当該組立品オブジェクトに含まれる全ての動作オブジェクトを非稼働状態から稼働状態に、又は、稼働状態から非稼働状態に切り替える。
【0211】
ステップS503の処理を行った場合、又は、ステップS500でNOと判定した場合、プロセッサ21は、
図25に示す処理を終了する。
【0212】
(エネルギー消費/回復処理)
次に、
図21のステップS105のエネルギー消費/回復処理の詳細について説明する。
図26は、ステップS105のエネルギー消費/回復処理の一例を示すフローチャートである。
【0213】
図26に示されるように、プロセッサ21は、上記ステップS102においてプレイヤキャラクタPCによってエネルギーを消費する攻撃アクションが開始されたか否かを判定する(ステップS600)。具体的には、プロセッサ21は、上記ステップS102において、プレイヤキャラクタPCが、動作オブジェクトを含む合成武器オブジェクトを用いた攻撃アクションを開始したか否かを判定する。
【0214】
プレイヤキャラクタPCによってエネルギーを消費する攻撃アクションが開始されたと判定した場合(ステップS600:YES)、プロセッサ21は、1回の攻撃アクションに応じた効果を発生させるとともに、エネルギーを消費させる(ステップS601)。具体的には、プロセッサ21は、合成武器オブジェクトに含まれる動作オブジェクトを稼働状態に設定し、当該動作オブジェクトに応じた効果を発生させる。ステップS601で動作オブジェクトが稼働状態に設定された後、所定時間(例えば、0.5秒)が経過すると、当該動作オブジェクトは、非稼働状態に設定される。また、プロセッサ21は、プレイヤキャラクタPCの保有エネルギー量から、合成武器オブジェクトに含まれる動作オブジェクトに応じた消費量を減算する。また、プロセッサ21は、エネルギー表示33の表示フラグがOFFの場合、エネルギー表示33の表示フラグをONにする。これにより、エネルギー表示33が表示される。例えば、プレイヤキャラクタPCが、火炎放射器オブジェクト31hを含む合成武器オブジェクト37を用いた攻撃アクションを開始した場合、
図17に示されるように、火炎放射器オブジェクト31hから火炎38が放射される。また、この火炎38の放射に応じた消費量だけ、保有エネルギー量が減算される。なお、保有エネルギー量が、合成武器オブジェクトに含まれる動作オブジェクトに応じた消費量よりも少ない場合、当該動作オブジェクトは稼働状態に設定されず、保有エネルギー量も減算されない。
【0215】
なお、合成武器オブジェクトを用いた攻撃アクションの効果の発生及び保有エネルギーの減少のタイミングは、攻撃アクションが開始されたタイミングに限らず、当該攻撃アクションの実行中の何れのタイミングであってもよい。また、攻撃アクションが終了したタイミングで、当該攻撃アクションの効果が発生するとともに、保有エネルギーが減少してもよい。
【0216】
ステップS601の処理を実行した場合、又は、ステップS600でNOと判定した場合、プロセッサ21は、仮想空間内に稼働状態かつ保有状態の動作オブジェクトが存在するか否かを判定する(ステップS602)。なお、仮想空間内に稼働状態かつ保有状態の動作オブジェクトが存在しなくなってから所定時間が経過するまでは、ステップS602でYESと判定され、所定時間が経過した後、ステップS602でNOと判定されてもよい。
【0217】
仮想空間内に稼働状態かつ保有状態の動作オブジェクトが存在しないと判定した場合(ステップS602:NO)、プロセッサ21は、プレイヤキャラクタPCの保有エネルギー量を所定量だけ回復させる(ステップS603)。また、プロセッサ21は、エネルギー表示33の表示フラグがOFFの場合、エネルギー表示33の表示フラグをONにする。保有エネルギー量は、上限値を限度として回復される。ステップS603を実行した場合、プロセッサ21は、
図26に示す処理を終了する。
【0218】
一方、稼働状態かつ保有状態の動作オブジェクトが存在すると判定した場合(ステップS602:YES)、プロセッサ21は、今回の
図26の処理において、全ての保有状態の動作オブジェクトについて処理を行ったか否かを判定する(ステップS604)。ここでは、全ての保有状態の動作オブジェクトについて、ステップS605~ステップS610の処理を行ったか否かが判定される。
【0219】
ステップS604でNOと判定した場合、プロセッサ21は、まだ処理を行っていない保有状態の動作オブジェクトを処理対象として選択し(ステップS605)、当該処理対象の動作オブジェクトが稼働状態か否かを判定する(ステップS606)。
【0220】
処理対象の動作オブジェクトが稼働状態である場合(ステップS606:YES)、プロセッサ21は、処理対象の動作オブジェクトに設定された消費量に基づいて、消費エネルギーを算出する(ステップS607)。例えば、処理対象の動作オブジェクトについて上記省エネルギー設定が行われている場合は、プロセッサ21は、ステップS308において設定された通常より小さい消費量を、1フレーム分の消費エネルギーとして算出する。また、処理対象の動作オブジェクトについて上記省エネルギー設定が行われていない場合は、プロセッサ21は、処理対象の動作オブジェクトに予め設定された消費量を、1フレーム分の消費エネルギーとして算出する。また、プレイヤキャラクタPCに省エネルギー能力を発動している場合や、一定時間または所定の場所においてエネルギーを消費しない状態になっている場合等、ゲーム中において特別な場合においては、それらの状態に応じてエネルギー消費量が算出される。
【0221】
次に、プロセッサ21は、処理対象の動作オブジェクトを含む組立品オブジェクトに、バッテリーオブジェクト31hが接続されているか否かを判定する(ステップS608)。
【0222】
ステップS608でYESと判定した場合、プロセッサ21は、バッテリーオブジェクト31hのエネルギーを消費する(ステップS609)。具体的には、プロセッサ21は、バッテリーオブジェクト31hのエネルギー残量から、ステップS607で算出した処理対象の動作オブジェクトの消費エネルギーを減算する。バッテリーオブジェクト31hのエネルギー残量がゼロになった場合、バッテリーオブジェクト31hは消滅する。また、プロセッサ21は、エネルギー表示33及び第2エネルギー表示34の表示フラグがOFFの場合、エネルギー表示33及び第2エネルギー表示34の表示フラグをONにする。なお、バッテリーオブジェクト31hのエネルギー残量がゼロになった場合でもバッテリーオブジェクト31hは消滅しなくてもよい。この場合、組立品オブジェクトにバッテリーオブジェクト31hが接続されていても、バッテリーオブジェクト31hのエネルギー残量がゼロの場合には、上記ステップS608においてNOと判定される。
【0223】
ステップS608でNOと判定した場合、プロセッサ21は、プレイヤキャラクタPCの保有エネルギーを消費する(ステップS610)。具体的には、プロセッサ21は、プレイヤキャラクタPCの保有エネルギー量から、ステップS607で算出した処理対象の動作オブジェクトの消費エネルギーを減算する。また、プロセッサ21は、エネルギー表示33の表示フラグがOFFの場合、エネルギー表示33の表示フラグをONにする。
【0224】
ステップS610の処理を行った場合、ステップS609の処理を行った場合、又は、ステップS606でNOと判定した場合、プロセッサ21は、ステップS604の処理を再び実行する。
【0225】
一方、ステップS604でYESと判定した場合、プロセッサ21は、プレイヤキャラクタPCの保有エネルギー量がゼロになったか否かを判定する(ステップS611)。
【0226】
プレイヤキャラクタPCの保有エネルギー量がゼロになった場合(ステップS611:YES)、プロセッサ21は、仮想空間に存在する全ての保有状態の動作オブジェクトを非稼働状態に設定する(ステップS612)。なお、ステップS611でYESと判定されてから所定時間が経過するまでは、動作オブジェクトは非稼働状態に設定されず、所定時間が経過した場合に、動作オブジェクトは非稼働状態に設定されてもよい。また、ステップS612において全ての保有状態の動作オブジェクトが非稼働状態に設定された場合、次以降の処理ループにおいて上記ステップS603でプレイヤキャラクタPCの保有エネルギー量は回復されるが、保有エネルギー量が所定値(例えば上限値)に回復するまでの間は、動作オブジェクトは稼働状態に変化されないように制御されてもよい。すなわち、ステップS612の処理が行われた場合は、保有エネルギー量が所定値まで回復されるまでは、操縦桿オブジェクトの操作が行われた場合でも(ステップS400でYES)、動作オブジェクト又は組立品オブジェクトにプレイヤキャラクタPCの攻撃アクションが当たった場合でも(ステップS500でYES)、動作オブジェクトは稼働状態に設定されなくてもよい。また、プレイヤキャラクタPCの保有エネルギー量がゼロになった場合、バッテリーオブジェクト31hが接続されていない保有状態の組立品オブジェクトについては非稼働状態に設定されるが、バッテリーオブジェクト31hが接続されている保有状態の組立品オブジェクトについては、そのバッテリーオブジェクト31hのエネルギー残量がゼロになるまで、稼働状態が維持されてもよい。逆に、プレイヤキャラクタPCの保有エネルギー量がゼロになった場合は、バッテリーオブジェクト31hのエネルギー残量の有無にかかわらず、全ての保有状態の動作オブジェクトが非稼働状態に設定されてもよい。
【0227】
ステップS612の処理を行った場合、ステップS611でNOと判定した場合、又は、ステップS603の処理を行った場合、プロセッサ21は、
図26に示す処理を終了する。
【0228】
以上のように、上記実施形態のゲームでは、プレイヤキャラクタPCに、仮想空間内において、複数のアクションと移動とを含む複数の行動のいずれかを行わせる(S102)。仮想空間には、動作オブジェクト(例えば、操作可能オブジェクト31a~31c)が複数配置される。各動作オブジェクトには、稼働状態および非稼働状態のいずれの状態かを示す稼働情報と、保有状態および非保有状態のいずれの状態かを示す保有情報と、種類と、プレイヤキャラクタPCに関連付けられた第1のパラメータ(保有エネルギー量)に対する消費量とが設定される。プレイヤキャラクタPCのアクション(例えば、攻撃アクション、操縦桿オブジェクトを操作するアクション)に基づいて、動作オブジェクトの稼働状態と非稼働状態とが切り替えられる(S401、S503)。また、プレイヤキャラクタPCのアクション(例えば、攻撃アクション、操縦桿オブジェクトを操作するアクション)に基づいて、非保有状態である動作オブジェクトが保有状態に変更される(S402、S502)。また、稼働状態になっている各動作オブジェクトは、仮想空間内で種類毎に設定された挙動を継続的に行う(S103)。また、稼働状態かつ保有状態になっている各動作オブジェクトのそれぞれに設定された消費量に基づいて、第1のパラメータ(保留エネルギー量)が継続的に減少される(S610)。第1のパラメータが所定の基準まで減少した場合に、稼働状態かつ保有状態となっている動作オブジェクトが非稼働状態に変更される(S612)。
【0229】
これにより、プレイヤキャラクタPCのアクションに基づいて各動作オブジェクトの稼働状態および非稼働状態を切り替えることができ、複数の動作オブジェクトが稼働状態の場合にはその種類に応じた挙動を行わせることができる。また、プレイヤキャラクタPCのアクションに基づいて非保有状態の動作オブジェクトを保有状態に変更することができ、保有状態となっている動作オブジェクトの稼働をプレイヤキャラクタPCに関連付けられた第1のパラメータで管理することができる一方で、非保有状態となっている動作オブジェクトを第1のパラメータにかかわらず稼働させることができる。
【0230】
また、上記実施形態では、動作オブジェクトにプレイヤキャラクタPCの攻撃アクションが当たった場合に、動作オブジェクトの稼働状態と非稼働状態とが切り替えられるとともに、動作オブジェクトが保有状態に設定される。これにより、プレイヤキャラクタPCの攻撃アクションによって、動作オブジェクトを稼働状態にするとともに、保有状態にすることができる。
【0231】
また、上記実施形態では、動作オブジェクトに対してオブジェクト操作アクションが行われた場合、当該動作オブジェクトが保有状態に変更される。また、オブジェクト操作アクションに基づいて、制御対象を他の動作オブジェクト又は組立品オブジェクトに合体させた場合、合体先に含まれる全ての動作オブジェクトが保有状態に設定される。これにより、組立品オブジェクト内の全ての動作オブジェクトを保有状態に設定することができる。
【0232】
また、上記実施形態では、制御対象を他の動作オブジェクト又は組立品オブジェクトに合体させた場合、制御対象における稼働状態と非稼働状態のいずれの状態であるかの設定が、合体先の動作オブジェクトと同じに設定される。これにより、制御対象の稼働情報を合体先の稼働情報に一致させることができ、例えば、移動中の組立品オブジェクトに制御対象を合体させる場合でも、合体によって、移動中の組立品オブジェクトを停止させないようにすることができる。
【0233】
また、上記実施形態では、組立品オブジェクトに複数の同種の動作オブジェクトが含まれる場合、複数の同種の動作オブジェクトの消費量が低減される。これにより、組立品オブジェクトに複数の同種の動作オブジェクトが含まれる場合でも、プレイヤキャラクタPCの保有エネルギー量が急激に減少することを抑制することができる。
【0234】
また、上記実施形態では、組立品オブジェクトにバッテリーオブジェクト31hが含まれる場合、バッテリーオブジェクト31hのエネルギーが優先的に消費され、バッテリーオブジェクト31hのエネルギー残量がゼロになると、プレイヤキャラクタPCの保有エネルギー量が減少される。これにより、バッテリーオブジェクト31hのエネルギー残量がゼロになるまでの間、プレイヤキャラクタPCの保有エネルギー量の減少を軽減させることができる。
【0235】
また、上記実施形態では、プレイヤキャラクタPCと組立品オブジェクトとの距離が所定の閾値を超えた場合、組立品オブジェクトに含まれる動作オブジェクトは非稼働状態に設定される。これにより、稼働状態かつ保有状態の組立品オブジェクトがプレイヤキャラクタPCから離れた場合に、組立品オブジェクトを停止させることができる。プレイヤキャラクタPCから組立品オブジェクトが離れても、組立品オブジェクトが動きつづける場合は、組立品オブジェクトはプレイヤキャラクタPCからさらに離れ、組立品オブジェクトを停止させ難くなり、保有エネルギー量を無駄に消費してしまう可能性がある。しかしながら、上記実施形態では、組立品オブジェクトがプレイヤキャラクタPCから離れた場合は、組立品オブジェクトは停止するため、保有エネルギー量が無駄に消費されてしまうことを防止することができる。
【0236】
(変形例)
以上、本実施形態について説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【0237】
例えば、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容等は適宜変更されてもよい。
【0238】
例えば、上記実施形態では、プレイヤキャラクタPCに保有エネルギー量を設定し、動作オブジェクトが稼働状態かつ保有状態である場合は、動作オブジェクトに設定された消費量に基づいてプレイヤキャラクタPCの保有エネルギー量を減少させ、保有エネルギー量が所定の基準まで減少した場合には、動作オブジェクトを非稼働状態に設定した。他の実施形態では、動作オブジェクトが稼働状態かつ保有状態である場合に、逆に、プレイヤキャラクタPCに関連するあるパラメータ(例えば、疲労度)を増加させてもよい。この場合、プレイヤキャラクタPCに関連するあるパラメータが所定の基準まで増加した場合は、動作オブジェクトは非稼働状態に設定される。このようにあるパラメータの数値が増加することは、視点を変えると、別のパラメータが減少することと捉えることができる。すなわち、動作オブジェクトが稼働状態かつ保有状態である場合に、プレイヤキャラクタに関連する第1のパラメータを減少させ、当該第1のパラメータが所定の基準まで減少した場合に、動作オブジェクトを非稼働状態に設定してもよい。ここで、「第1のパラメータが減少する」とは、ある値が減少することと、ある値が増加することとを含む。
【0239】
また、上記実施形態では、オブジェクト操作アクションの制御対象となったタイミングで当該制御対象が保有状態に設定され、その後、制御対象を他の動作オブジェクト又は組立品オブジェクトに接続して合体させた場合、合体のタイミングで、当該他の動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトが保有状態に設定された。他の実施形態では、オブジェクト操作アクションに基づいて動作オブジェクト又は組立品オブジェクトに含まれる動作オブジェクトが保有状態に設定されるタイミングは、どのようなタイミングであってもよい。例えば、制御対象を他の動作オブジェクト又は組立品オブジェクトに接続して合体させたタイミングで、当該制御対象を含む全ての動作オブジェクトが保有状態に設定されてもよい。すなわち、合体のタイミングで、制御対象を含む組立品オブジェクト内の全ての動作オブジェクトが保有状態に設定されてもよい。
【0240】
また、上記実施形態では、動作オブジェクトは、稼働状態か非稼働状態かを示す稼働情報と、保有状態か非保有状態かを示す保有情報とを含み、動作オブジェクトが稼働状態かつ保有状態である場合に、プレイヤキャラクタPCの保有エネルギー量を減少させた。他の実施形態では、動作オブジェクトは、第1の状態(例えば稼働状態)及び当該第1の状態ではない第2の状態(例えば非稼働状態)のいずれかの状態を示す第1情報と、第3の状態(保有状態)及び当該第3の状態ではない第4の状態(非保有状態)のいずれかの状態を示す第2情報とを含んでもよい。そして、動作オブジェクトが第1の状態の場合に、動作オブジェクトにオブジェクトの種類に応じた挙動を継続的に行わせ、動作オブジェクトが第1の状態かつ第3の状態の場合に、プレイヤキャラクタPCに関連付けられた第1のパラメータ(例えば保有エネルギー量)を継続的に減少させてもよい。
【0241】
また、上記実施形態では、動作オブジェクトが稼働状態である場合、仮想空間内で動作オブジェクトに、その種類に応じた挙動を継続的に行わせた。ここで、「動作オブジェクトの種類に応じた挙動を行わせる」とは、例えば、回転による推進力を発生させること、風を発生させること、風の発生方向と逆方向への推進力を発生させること、火炎を発生させること、ビームを発生させること等を含んでもよい。また、「挙動を継続的に行う」とは、所定期間、常にその挙動を行う場合に限らず、間欠的にその挙動を行う場合を含んでもよい。すなわち、「挙動を継続的に行う」とは、挙動を行っている状態が継続することと、挙動を行っている状態と挙動を行っていない状態とが繰り返されることを含んでもよい。
【0242】
また、上記実施形態では、動作オブジェクトが稼働状態かつ保有状態である場合、プレイヤキャラクタPCに関連する第1のパラメータ(具体的には保有エネルギー量)を継続的に減少させた。ここで、「第1のパラメータを継続的に減少させる」とは、所定期間、常に第1のパラメータを減少させ続ける場合に限らず、間欠的に第1のパラメータを減少させる場合を含んでもよい。
【0243】
また、上記実施形態では、組立品オブジェクトにバッテリーオブジェクト31hが含まれる場合、バッテリーオブジェクト31hのエネルギーが先に消費され、バッテリーオブジェクト31hのバッテリー残量がゼロになるまでの間、プレイヤキャラクタPCの保有エネルギー量は減少しないように構成された。他の実施形態では、第2のパラメータが所定の基準まで減少するまでの間は、プレイヤキャラクタPCに関連する第1のパラメータも減少され、その減少量が軽減されてもよい。すなわち、「第1のパラメータの減少量が軽減される」とは、第1のパラメータが全く減らないこと、第1のパラメータの減少量が通常よりも小さいことの両方を含む。
【0244】
また、上記ゲーム処理を行うハードウェアの構成は単なる一例であり、他の任意のハードウェアにおいて上記ゲーム処理が行われてもよい。例えば、パーソナルコンピュータ、タブレット端末、スマートフォン、インターネット上のサーバ等、任意の情報処理システムにおいて上記ゲーム処理が実行されてもよい。また、上記ゲーム処理は、複数の装置によって分散実行されてもよい。
【0245】
また上記実施形態及びその変形例に係る構成は、互いに矛盾しない限り、任意に組み合わせることが可能である。また、上記は本発明の例示に過ぎず、上記以外にも種々の改良や変形が加えられてもよい。
【符号の説明】
【0246】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
21 プロセッサ
31 操作可能オブジェクト
33 エネルギー表示
40 飛行機オブジェクト
41 四輪車オブジェクト
51 非保有状態の四輪車オブジェクト