IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特開2024-159747ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
<>
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図1
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図2
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図3
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図4
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図5
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図6
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図7
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図8
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図9
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図10
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図11
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図12
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図13
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図14
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図15
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図16
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図17
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図18
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図19
  • 特開-ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159747
(43)【公開日】2024-11-08
(54)【発明の名称】ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
(51)【国際特許分類】
   A63F 13/58 20140101AFI20241031BHJP
   A63F 13/69 20140101ALI20241031BHJP
【FI】
A63F13/58
A63F13/69 520
【審査請求】未請求
【請求項の数】28
【出願形態】OL
(21)【出願番号】P 2024100535
(22)【出願日】2024-06-21
(62)【分割の表示】P 2023073640の分割
【原出願日】2023-04-27
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【弁理士】
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【弁理士】
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】バネル コリー マイケル
(72)【発明者】
【氏名】朝倉 淳
(57)【要約】
【課題】仮想空間において、複数回の攻撃が行われる場合に、当該攻撃に基づくダメージ計算を行うことができるゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法を提供する。
【解決手段】ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与して、仮想空間内の所定のオブジェクトに攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行う。そして、所定のオブジェクトにヒットした過去の攻撃に付与されたIDと同一のIDが付与された攻撃が所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる。
【選択図】図20
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与する攻撃発生処理と、
仮想空間内の所定のオブジェクトに前記攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行させ、
前記ダメージ計算処理において、前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる、ゲームプログラム。
【請求項2】
前記ダメージ計算処理において、
前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと異なるIDを付与された攻撃が前記所定のオブジェクトにヒットした場合に、当該過去の攻撃から所定の期間内において、当該異なるIDが付与された攻撃によるダメージを発生させないようにさせ、
前記所定の期間内において、前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合は、当該同一のIDが付与された攻撃によるダメージを発生させる、請求項1に記載のゲームプログラム。
【請求項3】
前記仮想空間内において、前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記コンピュータに実行させ、
前記ダメージ計算処理において、前記キャラクタに装備された防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された当該キャラクタに対する攻撃において、当該同一のIDが付与された攻撃によるダメージを当該キャラクタに発生させないようにさせる、請求項1に記載のゲームプログラム。
【請求項4】
仮想空間内において、前記攻撃を防ぐごとに耐久値が減少する防具オブジェクトを装備した前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記コンピュータに実行させ、
前記キャラクタ制御処理において、前記防具オブジェクトによって防御が成功したと判定されて前記耐久値が減少した過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が当該防具オブジェクトにヒットした場合に、当該同一のIDが付与された攻撃による前記耐久値の減少を発生させない、請求項1に記載のゲームプログラム。
【請求項5】
仮想空間内において、キャラクタに制御を行わせるキャラクタ制御処理を、さらに前記コンピュータに実行させ、
前記攻撃発生処理において、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させるとともに、当該武器オブジェクトによる攻撃に付与するIDと同一のIDが当該アイテムオブジェクトによる攻撃に付与され、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記所定のオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、請求項1または2に記載のゲームプログラム。
【請求項6】
前記攻撃発生処理において、
ユーザの攻撃指示入力に応じて、第1の攻撃、第2の攻撃、および第3の攻撃の一連の攻撃を発生させ、
前記攻撃指示入力に応じて、前記第1の攻撃に第1のIDを付与させ、
前記第1の攻撃時または前記第1の攻撃発生後に、前記第1のIDと同一の第2のIDを当該第1の攻撃に関連付けられた前記第2の攻撃に付与させ、
前記第1の攻撃発生後、前記第2の攻撃時、または前記第2の攻撃発生後に、前記第2のIDと同一の第3のIDを当該第2の攻撃に関連付けられた前記第3の攻撃に付与させ、
前記ダメージ計算処理において、前記第1のIDおよび/または前記第2のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、前記第3のIDが付与された攻撃によるダメージを発生させる、請求項1乃至4の何れか1つに記載のゲームプログラム。
【請求項7】
情報処理装置のコンピュータに、
仮想空間内において、キャラクタの制御を行わせるキャラクタ制御処理と、
前記キャラクタが所持可能な武器オブジェクトによる攻撃を当該キャラクタに行わせる攻撃発生処理と、
前記攻撃が前記仮想空間内に配置されたオブジェクトにヒットした場合に、当該攻撃の成功判定を行うとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行させ、
前記攻撃発生処理において、前記武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させ、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記オブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、ゲームプログラム。
【請求項8】
プロセッサを備えたゲームシステムであって、
前記プロセッサは、
ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与する攻撃発生処理と、
仮想空間内の所定のオブジェクトに前記攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行し、
前記ダメージ計算処理において、前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる、ゲームシステム。
【請求項9】
前記ダメージ計算処理において、
前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと異なるIDを付与された攻撃が前記所定のオブジェクトにヒットした場合に、当該過去の攻撃から所定の期間内において、当該異なるIDが付与された攻撃によるダメージを発生させないようにさせ、
前記所定の期間内において、前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合は、当該同一のIDが付与された攻撃によるダメージを発生させる、請求項8に記載のゲームシステム。
【請求項10】
前記仮想空間内において、前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記ダメージ計算処理において、前記キャラクタに装備された防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された当該キャラクタに対する攻撃において、当該同一のIDが付与された攻撃によるダメージを当該キャラクタに発生させないようにさせる、請求項8に記載のゲームシステム。
【請求項11】
仮想空間内において、前記攻撃を防ぐごとに耐久値が減少する防具オブジェクトを装備した前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記キャラクタ制御処理において、前記防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が当該防具オブジェクトにヒットした場合に、当該同一のIDが付与された攻撃による当該耐久値の減少を発生させない、請求項8に記載のゲームシステム。
【請求項12】
仮想空間内において、キャラクタに制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記攻撃発生処理において、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させるとともに、当該武器オブジェクトによる攻撃に付与するIDと同一のIDが当該アイテムオブジェクトによる攻撃に付与され、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記所定のオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、請求項8または9に記載のゲームシステム。
【請求項13】
前記攻撃発生処理において、
ユーザの攻撃指示入力に応じて、第1の攻撃、第2の攻撃、および第3の攻撃の一連の攻撃を発生させ、
前記攻撃指示入力に応じて、前記第1の攻撃に第1のIDを付与させ、
前記第1の攻撃時または前記第1の攻撃発生後に、前記第1のIDと同一の第2のIDを当該第1の攻撃に関連付けられた前記第2の攻撃に付与させ、
前記第1の攻撃発生後、前記第2の攻撃時、または前記第2の攻撃発生後に、前記第2のIDと同一の第3のIDを当該第2の攻撃に関連付けられた前記第3の攻撃に付与させ、
前記ダメージ計算処理において、前記第1のIDおよび/または前記第2のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、前記第3のIDが付与された攻撃によるダメージを発生させる、請求項8乃至11の何れか1つに記載のゲームシステム。
【請求項14】
プロセッサを備えたゲームシステムであって、
前記プロセッサは、
仮想空間内において、キャラクタの制御を行わせるキャラクタ制御処理と、
前記キャラクタが所持可能な武器オブジェクトによる攻撃を当該キャラクタに行わせる攻撃発生処理と、
前記攻撃が前記仮想空間内に配置されたオブジェクトにヒットした場合に、当該攻撃の成功判定を行うとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行し、
前記攻撃発生処理において、前記武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させ、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記オブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、ゲームシステム。
【請求項15】
プロセッサを備えたゲーム装置であって、
前記プロセッサは、
ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与する攻撃発生処理と、
仮想空間内の所定のオブジェクトに前記攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行し、
前記ダメージ計算処理において、前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる、ゲーム装置。
【請求項16】
前記ダメージ計算処理において、
前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと異なるIDを付与された攻撃が前記所定のオブジェクトにヒットした場合に、当該過去の攻撃から所定の期間内において、当該異なるIDが付与された攻撃によるダメージを発生させないようにさせ、
前記所定の期間内において、前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合は、当該同一のIDが付与された攻撃によるダメージを発生させる、請求項15に記載のゲーム装置。
【請求項17】
前記仮想空間内において、前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記ダメージ計算処理において、前記キャラクタに装備された防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された当該キャラクタに対する攻撃において、当該同一のIDが付与された攻撃によるダメージを当該キャラクタに発生させないようにさせる、請求項15に記載のゲーム装置。
【請求項18】
仮想空間内において、前記攻撃を防ぐごとに耐久値が減少する防具オブジェクトを装備した前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記キャラクタ制御処理において、前記防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が当該防具オブジェクトにヒットした場合に、当該同一のIDが付与された攻撃による当該耐久値の減少を発生させない、請求項15に記載のゲーム装置。
【請求項19】
仮想空間内において、キャラクタに制御を行わせるキャラクタ制御処理を、さらに前記プロセッサが実行し、
前記攻撃発生処理において、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させるとともに、当該武器オブジェクトによる攻撃に付与するIDと同一のIDが当該アイテムオブジェクトによる攻撃に付与され、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記所定のオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、請求項15または16に記載のゲーム装置。
【請求項20】
前記攻撃発生処理において、
ユーザの攻撃指示入力に応じて、第1の攻撃、第2の攻撃、および第3の攻撃の一連の攻撃を発生させ、
前記攻撃指示入力に応じて、前記第1の攻撃に第1のIDを付与させ、
前記第1の攻撃時または前記第1の攻撃発生後に、前記第1のIDと同一の第2のIDを当該第1の攻撃に関連付けられた前記第2の攻撃に付与させ、
前記第1の攻撃発生後、前記第2の攻撃時、または前記第2の攻撃発生後に、前記第2のIDと同一の第3のIDを当該第2の攻撃に関連付けられた前記第3の攻撃に付与させ、
前記ダメージ計算処理において、前記第1のIDおよび/または前記第2のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、前記第3のIDが付与された攻撃によるダメージを発生させる、請求項15乃至18の何れか1つに記載のゲーム装置。
【請求項21】
プロセッサを備えたゲーム装置であって、
前記プロセッサは、
仮想空間内において、キャラクタの制御を行わせるキャラクタ制御処理と、
前記キャラクタが所持可能な武器オブジェクトによる攻撃を当該キャラクタに行わせる攻撃発生処理と、
前記攻撃が前記仮想空間内に配置されたオブジェクトにヒットした場合に、当該攻撃の成功判定を行うとともに、当該攻撃によるダメージ計算を行うダメージ計算処理とを実行し、
前記攻撃発生処理において、前記武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させ、
前記ダメージ計算処理において、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記オブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、ゲーム装置。
【請求項22】
ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与する攻撃発生ステップと、
仮想空間内の所定のオブジェクトに前記攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行うダメージ計算ステップとを含み、
前記ダメージ計算ステップにおいて、前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる、ゲーム処理方法。
【請求項23】
前記ダメージ計算ステップにおいて、
前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと異なるIDを付与された攻撃が前記所定のオブジェクトにヒットした場合に、当該過去の攻撃から所定の期間内において、当該異なるIDが付与された攻撃によるダメージを発生させないようにさせ、
前記所定の期間内において、前記攻撃によって前記所定のオブジェクトにヒットした過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合は、当該同一のIDが付与された攻撃によるダメージを発生させる、請求項22に記載のゲーム処理方法。
【請求項24】
前記仮想空間内において、前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御ステップを、さらに含み、
前記ダメージ計算ステップにおいて、前記キャラクタに装備された防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された当該キャラクタに対する攻撃において、当該同一のIDが付与された攻撃によるダメージを当該キャラクタに発生させないようにさせる、請求項22に記載のゲーム処理方法。
【請求項25】
仮想空間内において、前記攻撃を防ぐごとに耐久値が減少する防具オブジェクトを装備した前記所定のオブジェクトであるキャラクタの制御を行わせるキャラクタ制御ステップを、さらに含み、
前記キャラクタ制御ステップにおいて、前記防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与された前記IDと同一のIDが付与された攻撃が当該防具オブジェクトにヒットした場合に、当該同一のIDが付与された攻撃による当該耐久値の減少を発生させない、請求項22に記載のゲーム処理方法。
【請求項26】
仮想空間内において、キャラクタに制御を行わせるキャラクタ制御ステップを、さらに含み、
前記攻撃発生ステップにおいて、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させるとともに、当該武器オブジェクトによる攻撃に付与するIDと同一のIDが当該アイテムオブジェクトによる攻撃に付与され、
前記ダメージ計算ステップにおいて、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記所定のオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、請求項22または23に記載のゲーム処理方法。
【請求項27】
前記攻撃発生ステップにおいて、
ユーザの攻撃指示入力に応じて、第1の攻撃、第2の攻撃、および第3の攻撃の一連の攻撃を発生させ、
前記攻撃指示入力に応じて、前記第1の攻撃に第1のIDを付与させ、
前記第1の攻撃時または前記第1の攻撃発生後に、前記第1のIDと同一の第2のIDを当該第1の攻撃に関連付けられた前記第2の攻撃に付与させ、
前記第1の攻撃発生後、前記第2の攻撃時、または前記第2の攻撃発生後に、前記第2のIDと同一の第3のIDを当該第2の攻撃に関連付けられた前記第3の攻撃に付与させ、
前記ダメージ計算ステップにおいて、前記第1のIDおよび/または前記第2のIDが付与された攻撃が前記所定のオブジェクトにヒットした場合、前記第3のIDが付与された攻撃によるダメージを発生させる、請求項22乃至25の何れか1つに記載のゲーム処理方法。
【請求項28】
仮想空間内において、キャラクタの制御を行わせるキャラクタ制御ステップと、
前記キャラクタが所持可能な武器オブジェクトによる攻撃を当該キャラクタに行わせる攻撃発生ステップと、
前記攻撃が前記仮想空間内に配置されたオブジェクトにヒットした場合に、当該攻撃の成功判定を行うとともに、当該攻撃によるダメージ計算を行うダメージ計算ステップとを含み、
前記攻撃発生ステップにおいて、前記武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いて前記キャラクタに前記攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させ、
前記ダメージ計算ステップにおいて、前記武器オブジェクトの攻撃および前記アイテムオブジェクトの攻撃の一方の前記成功判定が行われ、当該一方の攻撃により前記オブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間におけるキャラクタを用いた処理を行うゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法に関する。
【背景技術】
【0002】
従来、仮想空間において、複数のキャラクタが剣等の武器を用いて格闘するゲームを実現させるゲームシステムがある(例えば、特許文献1参照)。例えば、上記ゲームシステムは、武器を用いた複数回の攻撃が発生する場合、それぞれが独立した判定を受ける攻撃となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-248240号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1で開示されたゲームシステムは、複数回の攻撃に対して、それぞれ当該攻撃によるダメージ計算を行う場合、当該複数回の攻撃それぞれによるダメージを与えたい場合であっても、一部の攻撃によるダメージが与えられ、他の攻撃によるダメージが与えられない場合が想定され、その場合にユーザに違和感を生じさせる恐れがあった。
【0005】
それ故に、本発明の目的は、仮想空間において、複数回の攻撃が行われる場合に、当該攻撃に基づくダメージ計算を行うことができるゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、例えば以下の(1)~(7)のような構成を採用し得る。
【0007】
(1)
本発明のゲームプログラムの一構成例は、情報処理装置のコンピュータに、攻撃発生処理およびダメージ計算処理を実行させる。攻撃発生処理は、ゲーム処理に基づいて、仮想空間内において1回以上の攻撃を発生させるとともに、当該攻撃ごとにIDを付与する。ダメージ計算処理は、仮想空間内の所定のオブジェクトに攻撃がヒットした場合に、当該攻撃の成功判定を行わせるとともに、当該攻撃によるダメージ計算を行う。ダメージ計算処理において、所定のオブジェクトにヒットした過去の攻撃に付与されたIDと同一のIDが付与された攻撃が所定のオブジェクトにヒットした場合、当該同一のIDが付与された攻撃によるダメージを発生させる。
【0008】
上記(1)の構成によれば、所定のオブジェクトにヒットした過去の攻撃と同一のIDを当該所定のオブジェクトにヒットした現在の攻撃に付与することにより、当該過去の攻撃が成功判定されてダメージを発生させた後、現在の攻撃に対してダメージを発生させないといったケースを回避することができ、連続する複数回の攻撃を行った際にユーザに違和感を生じさせにくくすることができる。
【0009】
(2)
上記(1)の構成において、上記ダメージ計算処理において、攻撃によって所定のオブジェクトにヒットした過去の攻撃に付与されたIDと異なるIDを付与された攻撃が所定のオブジェクトにヒットした場合に、当該過去の攻撃から所定の期間内において、当該異なるIDが付与された攻撃によるダメージを発生させないようにさせ、所定の期間内において、攻撃によって所定のオブジェクトにヒットした過去の攻撃に付与されたIDと同一のIDが付与された攻撃が所定のオブジェクトにヒットした場合は、当該同一のIDが付与された攻撃によるダメージを発生させてもよい。
【0010】
上記(2)の構成によれば、所定のオブジェクトに攻撃によるダメージを発生させない無敵期間であっても、当該所定のオブジェクトにヒットした過去の攻撃に付与されたIDと同一のIDが付与された攻撃では当該所定のオブジェクトに当該攻撃によるダメージが発生するため、連続する複数回の攻撃を1つの攻撃としてみなす表現が可能であり、ユーザに違和感を生じさせにくくすることができる。
【0011】
(3)
上記(1)または(2)の構成において、キャラクタ制御処理を、さらにコンピュータに実行させてもよい。キャラクタ制御処理は、仮想空間内において、所定のオブジェクトであるキャラクタの制御を行わせる。この場合、上記ダメージ計算処理において、キャラクタに装備された防具オブジェクトによって防御が成功したと判定された過去の攻撃に付与されたIDと同一のIDが付与された当該キャラクタに対する攻撃において、当該同一のIDが付与された攻撃によるダメージを当該キャラクタに発生させないようにさせてもよい。
【0012】
上記(3)の構成によれば、所定のオブジェクトに対する過去の攻撃の防御が成功してダメージが発生しなかった場合、当該所定のオブジェクトに対する現在の攻撃もダメージを発生させないようにできるため、連続する複数回の攻撃を行った際にユーザに違和感を生じさせにくくすることができる。
【0013】
(4)
上記(1)乃至(3)の何れか1つの構成において、キャラクタ制御処理を、さらにコンピュータに実行させてもよい。キャラクタ制御処理は、仮想空間内において、攻撃を防ぐごとに耐久値が減少する防具オブジェクトを装備した所定のオブジェクトであるキャラクタの制御を行わせる。この場合、上記キャラクタ制御処理において、防具オブジェクトによって防御が成功したと判定されて耐久値が減少した過去の攻撃に付与されたIDと同一のIDが付与された攻撃が当該防具オブジェクトにヒットした場合に、当該同一のIDが付与された攻撃による耐久値の減少を発生させなくてもよい。
【0014】
上記(4)の構成によれば、過去の攻撃が防具オブジェクトにより防がれて当該防具オブジェクトの耐久値が減少した場合、現在の攻撃に対して当該防具オブジェクトの耐久値の減少を発生させないようにできるので、防具オブジェクトの耐久値の減少が早く、防具オブジェクトが壊れやすいといったユーザの違和感が生じにくくなる。
【0015】
(5)
上記(1)乃至(4)の何れか1つの構成において、キャラクタ制御処理を、さらにコンピュータに実行させてもよい。キャラクタ制御処理は、仮想空間内において、キャラクタに制御を行わせる。この場合、上記攻撃発生処理において、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いてキャラクタに攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させるとともに、当該武器オブジェクトによる攻撃に付与するIDと同一のIDが当該アイテムオブジェクトによる攻撃に付与されてもよい。上記ダメージ計算処理において、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の一方の成功判定が行われ、当該一方の攻撃により所定のオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させてもよい。
【0016】
上記(5)の構成によれば、合成武器オブジェクトを用いた1回の攻撃で複数回攻撃を発生させる場合に、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の一方の攻撃に成功して所定のオブジェクトにダメージを発生させたときには、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の他方の攻撃についても当該所定のオブジェクトにダメージを発生させるため、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の何れかのみダメージが与えられるような違和感を生じさせにくくすることができる。
【0017】
(6)
上記(1)乃至(5)の何れか1つの構成において、上記攻撃発生処理において、ユーザの攻撃指示入力に応じて、第1の攻撃、第2の攻撃、および第3の攻撃の一連の攻撃を発生させ、攻撃指示入力に応じて、第1の攻撃に第1のIDを付与させ、第1の攻撃時または第1の攻撃発生後に、第1のIDと同一の第2のIDを当該第1の攻撃に関連付けられた第2の攻撃に付与させ、第1の攻撃発生後、第2の攻撃時、または第2の攻撃発生後に、第2のIDと同一の第3のIDを当該第2の攻撃に関連付けられた第3の攻撃に付与させてもよい。上記ダメージ計算処理において、第1のIDおよび/または第2のIDが付与された攻撃が所定のオブジェクトにヒットした場合、第3のIDが付与された攻撃によるダメージを発生させてもよい。
【0018】
上記(6)の構成によれば、一連の3つの攻撃(第1~第3の攻撃)が発生する場合に、それぞれの攻撃に同一のIDを付与することにより、当該第1の攻撃が成功判定されてダメージを発生させた後、第3の攻撃に対してダメージを発生させないといったケースを回避することができ、連続する3つの攻撃を行った際にユーザに違和感を生じさせにくくすることができる。
【0019】
(7)
本発明のゲームプログラムの他の構成例は、情報処理装置のコンピュータに、キャラクタ制御処理、攻撃発生処理、およびダメージ計算処理を実行させる。キャラクタ制御処理は、仮想空間内において、キャラクタの制御を行わせる。攻撃発生処理は、キャラクタが所持可能な武器オブジェクトによる攻撃を当該キャラクタに行わせる。ダメージ計算処理は、攻撃が仮想空間内に配置されたオブジェクトにヒットした場合に、当該攻撃の成功判定を行うとともに、当該攻撃によるダメージ計算を行う。攻撃発生処理において、武器オブジェクトとアイテムオブジェクトとを合成させた合成武器オブジェクトを用いてキャラクタに攻撃を行わせる場合に、当該攻撃において当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とをそれぞれ発生させる。ダメージ計算処理において、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の一方の成功判定が行われ、当該一方の攻撃によりオブジェクトへのダメージを発生させた場合に、当該武器オブジェクトの攻撃および当該アイテムオブジェクトの攻撃の他方によるダメージをさらに発生させる。
【0020】
上記(7)の構成によれば、合成武器オブジェクトを用いた1回の攻撃で複数回攻撃を発生させる場合に、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の一方がオブジェクトにヒットしてダメージを発生させたときには、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の他方も当該オブジェクトにヒットしてダメージを発生させるため、武器オブジェクトの攻撃およびアイテムオブジェクトの攻撃の何れかのみダメージが与えられるような違和感を生じさせにくくすることができる。
【0021】
また、本発明は、ゲームシステム、ゲーム装置、およびゲーム処理方法の形態で実施されてもよい。
【発明の効果】
【0022】
本発明によれば、オブジェクトに対する複数回の攻撃が行われる場合に、当該オブジェクトにヒットした攻撃の1つが成功判定されてダメージを発生させた後、当該オブジェクトにヒットした他の攻撃に対してダメージを発生させないといったケースを回避することができ、複数回の攻撃を行った際にユーザに違和感を生じさせにくくすることができる。
【図面の簡単な説明】
【0023】
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
図2】本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図
図3】本体装置2の一例を示す六面図
図4】左コントローラ3の一例を示す六面図
図5】右コントローラ4の一例を示す六面図
図6】本体装置2の内部構成の一例を示すブロック図
図7】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
図8】仮想空間においてプレイヤオブジェクトPOが武器オブジェクトAを用いて敵オブジェクトEOを攻撃する様子を示すゲーム画像の一例を示す図
図9】仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを合成する様子を示すゲーム画像の一例を示す図
図10】武器オブジェクトと、アイテムオブジェクトと、これらのオブジェクトに基づいて生成される合成武器オブジェクトおよびその攻撃効果との関係の一例を示す図
図11】仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第1段階のゲーム画像の一例を示す図
図12】仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第2段階のゲーム画像の一例を示す図
図13】仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第3段階のゲーム画像の一例を示す図
図14】仮想空間においてプレイヤオブジェクトPOからの合成武器オブジェクトαを用いた攻撃を敵オブジェクトEOが防具オブジェクトEを用いて防御する第1段階のゲーム画像の一例を示す図
図15】仮想空間においてプレイヤオブジェクトPOからの合成武器オブジェクトαを用いた攻撃を敵オブジェクトEOが防具オブジェクトEを用いて防御する第2段階のゲーム画像の一例を示す図
図16】仮想空間においてプレイヤオブジェクトPOが落雷攻撃を受ける様子を示すゲーム画像の一例を示す図
図17】本体装置2のDRAM85に設定されるデータ領域の一例を示す図
図18】ゲームシステム1で実行されるゲーム処理の一例を示すフローチャート
図19図18のステップS124における攻撃発生処理の一例を示すサブルーチン
図20図18のステップS125におけるダメージ計算処理の一例を示すサブルーチン
【発明を実施するための形態】
【0024】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、本実施形態のゲームシステム1のハードウエア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0025】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0026】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0027】
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0028】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0029】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0030】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0031】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0032】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0033】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0034】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0035】
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0036】
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0037】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0038】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0039】
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0040】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
【0041】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0042】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0043】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0044】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0045】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0046】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0047】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0048】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0049】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0050】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0051】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0052】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0053】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0054】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0055】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
【0056】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0057】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0058】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0059】
通信制御部101は、各入力部(具体的には、各ボタン103、および、アナログスティック32)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0060】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
【0061】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0062】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0063】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0064】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0065】
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ等の外部表示装置に画像(および音声)を出力可能である。以下の説明では、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いて説明する。なお、ディスプレイ12に画像を表示する利用態様におけるゲームシステム1を用いる場合、左コントローラ3および右コントローラ4が本体装置2に固定された態様(例えば、本体装置2、左コントローラ3、および右コントローラ4が1つの筐体で一体化された態様)のゲームシステム1が用いられてもかまわない。
【0066】
ゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、あるいは本体装置2のタッチパネル13に対するタッチ操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームプレイが行われる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作入力に応じて、仮想空間内で動作するプレイヤオブジェクトPOを用いたゲームプレイが可能となる。
【0067】
図8図14を用いてゲームシステム1において行われるゲーム処理の概要について説明する。なお、図8は、仮想空間においてプレイヤオブジェクトPOが武器オブジェクトAを用いて敵オブジェクトEOを攻撃する様子を示すゲーム画像の一例を示す図である。図9は、仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを合成する様子を示すゲーム画像の一例を示す図である。図10は、武器オブジェクトと、アイテムオブジェクトと、これらのオブジェクトに基づいて生成される合成武器オブジェクトおよびその攻撃効果との関係の一例を示す図である。図11は、仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第1段階のゲーム画像の一例を示す図である。図12は、仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第2段階のゲーム画像の一例を示す図である。図13は、仮想空間においてプレイヤオブジェクトPOが合成武器オブジェクトαを用いて敵オブジェクトEOを攻撃する第3段階のゲーム画像の一例を示す図である。図14は、仮想空間においてプレイヤオブジェクトPOからの合成武器オブジェクトαを用いた攻撃を敵オブジェクトEOが防具オブジェクトEを用いて防御する第1段階のゲーム画像の一例を示す図である。図15は、仮想空間においてプレイヤオブジェクトPOからの合成武器オブジェクトαを用いた攻撃を敵オブジェクトEOが防具オブジェクトEを用いて防御する第2段階のゲーム画像の一例を示す図である。図16は、仮想空間においてプレイヤオブジェクトPOが落雷攻撃を受ける様子を示すゲーム画像の一例を示す図である。
【0068】
図8において、仮想空間にプレイヤオブジェクトPOおよび敵オブジェクトEOが配置されているゲーム画像が表示されている。プレイヤオブジェクトPOは、その動作がユーザ操作入力に基づいて制御されるプレイヤキャラクタである。敵オブジェクトEOは、その動作がプロセッサ81によって自動制御されるキャラクタであり、仮想空間において複数配置されている。なお、本実施例においては、ゲーム画像が本体装置2のディスプレイ12に表示されるものとするが、本体装置2に接続される他の表示装置に表示されてもよい。
【0069】
プレイヤオブジェクトPOは、ユーザ操作入力に応じて、他のキャラクタや仮想オブジェクト(例えば、敵オブジェクトEO)を攻撃するアクションを行うことができる。一例として、ユーザ操作入力に応じて、武器を用いたプレイヤオブジェクトPOによる攻撃アクションを行う制御が可能である。本実施例では、プレイヤオブジェクトPOが攻撃アクションに用いる武器として、武器オブジェクトおよび合成武器オブジェクト等が用意されている。プレイヤオブジェクトPOは、武器オブジェクトおよび合成武器オブジェクトの何れも装備することが可能であり、ユーザ操作入力に応じて武器オブジェクトを用いて攻撃アクションを行ったり、ユーザ操作入力に応じて合成武器オブジェクトを用いて攻撃アクションを行ったりすることが可能である。
【0070】
本実施例では、仮想空間に登場するプレイヤオブジェクトPOおよび他のキャラクタや仮想オブジェクト(例えば、敵オブジェクトEO)それぞれにライフ値(仮想空間での活動を可能とする体力残存値)が設定されている。そして、上記ライフ値は、他のオブジェクトからの攻撃アクションによりダメージが与えられた場合、算出されたダメージ量に基づいて所定量削られる。例えば、プレイヤオブジェクトPOは、他のオブジェクト等からの攻撃を防御できなかった場合、当該攻撃の成功により算出されるダメージ量に基づいて、プレイヤオブジェクトPOのライフ値が所定量削られ、当該ライフ値が0となることによってプレイヤオブジェクトPOが当該他のオブジェクト等に敗北してゲームオーバーとなってもよい。一方、他のオブジェクト(例えば、敵オブジェクトEO)は、他のオブジェクト(例えば、プレイヤオブジェクトPO)等からの攻撃を防御できなかった場合、当該攻撃の成功により算出されるダメージ量に基づいて、当該他のオブジェクトのライフ値が所定量削られ、当該ライフ値が0となることによって仮想空間から消滅してもよい。
【0071】
図8に示すプレイヤオブジェクトPOは、装備可能な武器の一例である武器オブジェクトAを持っており、当該武器オブジェクトAを使用して敵オブジェクトEOを攻撃するアクションを行っている。例えば、プレイヤオブジェクトPOは、武器オブジェクトAを構える状態において、ユーザによるアクション指示が行われることに応じて、持っている武器オブジェクトAを振る(それによって、敵オブジェクトEOを攻撃する)アクションを行う。このプレイヤオブジェクトPOの攻撃アクションにおける攻撃効果が及ぶ範囲内に敵キャラクタEOが配置されている場合、武器オブジェクトAと敵キャラクタEOとが衝突することによって敵キャラクタEOに当該攻撃によるダメージが加えられる。
【0072】
図8に例示する武器オブジェクトAは、剣オブジェクトであるため、ユーザがプレイヤオブジェクトPOに攻撃アクションを行わせることによって、「接触した他のオブジェクトを斬る」という剣オブジェクトを振る攻撃アクションによる基本攻撃機能を発揮する。例えば、武器オブジェクトAを振って敵オブジェクトEOに直接接触させた場合、当該敵オブジェクトEOを斬ることによる所定のダメージを与えることができる。
【0073】
本実施例では、武器オブジェクトを使用したプレイヤオブジェクトPOの攻撃アクションにより、敵オブジェクトEOにダメージが与えられる場合、当該1回の攻撃アクションにより1回の攻撃が発生して、当該攻撃の成否が判定される。一例として、敵オブジェクトEOに対するプレイヤオブジェクトPOの武器オブジェクトを使用した攻撃アクションが行われた場合、敵オブジェクトEOに当該武器オブジェクトが衝突したことを契機として当該攻撃の成否の判定処理と、当該攻撃が成功した場合に敵オブジェクトEOに与えるダメージ量を算出する処理とが行われる。そして、上記処理の後の所定期間(例えば、後述するゲームシステム1で実行される処理の周期であるフレームにおける30フレームが経過する期間)は、当該処理が行われた敵オブジェクトEOに対する新たなダメージを発生させる処理が行われない、いわゆる無敵期間として設定される。これにより、敵オブジェクトEOに武器オブジェクトが衝突している状態が継続したとしても、敵オブジェクトEOへダメージが与えられ続けることはなく、1回の攻撃アクションにより1回のダメージ計算が行われることになる。
【0074】
なお、プレイヤオブジェクトPOは、複数種類の武器オブジェクトを装備することが可能であってもよい。ここで、本実施例においては、剣オブジェクト、槍オブジェクト、棒オブジェクト等の近距離攻撃武器オブジェクト、弓矢オブジェクト等の遠距離攻撃武器オブジェクトの他、攻撃の防御を行う盾オブジェクト等の防具オブジェクト等を同時に装備することができてもよい。この場合、プレイヤオブジェクトPOは、装備中の武器オブジェクトや防具オブジェクトのうちで、1つの武器オブジェクトや防具オブジェクトを構えて攻撃するアクションや防御するアクションを行うことができる。すなわち、装備する武器オブジェクトや防具オブジェクトを選択して構えるユーザのアクション指示に応じて、選択された武器オブジェクトまたは防具オブジェクトを構える体勢をプレイヤオブジェクトPOにとらせ、さらに、ユーザのアクション指示に応じて当該武器オブジェクトまたは防具オブジェクトを用いてプレイヤオブジェクトPOが攻撃または防御するアクションを行わせる。なお、他の実施例においては、プレイヤオブジェクトPOが同時に装備可能な武器オブジェクトと防具オブジェクトの数は、1つずつであってもよい。なお、本実施例では、武器オブジェクトを装備した状態の攻撃アクションを示したが、プレイヤオブジェクトPOの動作(叩く、蹴る、握る等の動作)を攻撃アクションとしてもよい。
【0075】
次に、図9を参照して、プレイヤオブジェクトPOが装備可能な武器の他の例である合成武器オブジェクトを生成する方法の一例について説明する。図9に示すように、アイテムオブジェクトは、仮想空間におけるゲームフィールド上に複数配置されている。そして、プレイヤオブジェクトPOが持っている武器オブジェクトにアイテムオブジェクトを合成して合成武器オブジェクトを生成することが可能な状態においては、当該合成可能なアイテムオブジェクトが当該アイテムオブジェクトではない他のオブジェクトとは異なる表示態様で表示される。具体的には、仮想空間において配置されているアイテムオブジェクトは、上記他のオブジェクトとは異なる色で表示されたり、エフェクト画像が付加されて表示されたり、上記他のオブジェクトに付加されるエフェクト画像とは異なるエフェクト画像が付加されて表示されたりする。図9に示す例においては、アイテムオブジェクトa~dは、アイテムオブジェクトではない樹木オブジェクトOBJとは異なる表示態様で表示される(なお、図9においては、表示態様の違いを斜線により表している)。これにより、ゲームフィールドを示すゲーム画像が表示される状態において、ゲームフィールド上のオブジェクトのうちで上記合成が可能なアイテムオブジェクトをユーザにわかりやすく提示することができる。なお、上記他のオブジェクトとは異なる表示態様で表示されるアイテムオブジェクトは、ゲームフィールドに配置されているアイテムオブジェクトのうちで後述する判定範囲内のアイテムオブジェクトであってもよい。
【0076】
また、合成武器オブジェクトを生成することが可能な状態においては、アイテムオブジェクトのうちで合成処理の対象となるアイテムオブジェクト(「対象アイテムオブジェクト」と呼ぶ)が特定される。例えば、図9に示すように、対象アイテムオブジェクトには、エフェクト画像が付加される。図9に示す例においては、アイテムオブジェクトaが対象アイテムオブジェクトであり、アイテムオブジェクトaに対してエフェクト画像が付加されている。
【0077】
本実施例においては、対象アイテムオブジェクトは、プレイヤオブジェクトPOの位置を基準とした判定範囲内に存在するアイテムオブジェクトのうちで、プレイヤオブジェクトPOに最も近い位置にあるアイテムオブジェクトとなる。ただし、他の実施例においては、対象アイテムオブジェクトは、プレイヤオブジェクトPOの位置を基準とした判定範囲内に存在するアイテムオブジェクトのうちで、プレイヤオブジェクトPOの位置および向きに基づいて決められるアイテムオブジェクトであってもよい。一例として、上記判定範囲は、プレイヤオブジェクトPOの前方の範囲(具体的には、正面方向を基準として左右両側に所定角度までの角度範囲)で、かつ、プレイヤオブジェクトPOの位置から所定距離内の範囲となる。なお、上記判定範囲は、プレイヤオブジェクトPOの位置に基づいて決定される任意の範囲であってよく、他の例においては、プレイヤオブジェクトPOの位置から(プレイヤオブジェクトの向きに関わらず)所定距離内の範囲であってもよいし、ディスプレイ12に表示されているゲームフィールドの範囲であってもよい。
【0078】
このように、合成処理の対象となる対象アイテムオブジェクトにエフェクト画像を付加することによって、ゲームフィールドを示すゲーム画像が表示される状態において、合成処理の対象となる対象アイテムオブジェクトをユーザにわかりやすく提示することができる。なお、上記エフェクト画像は、合成処理の対象となる対象アイテムオブジェクトを他のアイテムオブジェクトとユーザが区別することができる任意の画像であってよい。
【0079】
図9に示すように、合成処理の対象を示すエフェクト画像は、対象アイテムオブジェクトであるアイテムオブジェクトaと、プレイヤオブジェクトPOが持っている武器オブジェクトBとが結びついていることを示唆する形状である。つまり、上記エフェクト画像は、上記対象アイテムオブジェクトと、合成処理の対象となる武器オブジェクトとを関連付けて提示することができる。そして、上記エフェクト画像によって関連付けられる武器オブジェクトとアイテムオブジェクトとに基づいて合成武器オブジェクトが生成される。したがって、上記エフェクト画像は、合成武器オブジェクトの元となる武器オブジェクトおよびアイテムオブジェクトを、わかりやすくユーザに提示することができる。
【0080】
図9に示すエフェクト画像が表示されている状態で、ユーザによる合成指示が行われることに応じて、ゲームフィールド上の対象アイテムオブジェクトを消失させるとともに、合成武器オブジェクトが生成される。例えば、図9は、武器オブジェクトBとアイテムオブジェクトaとを合成させることにより合成武器オブジェクトαが生成される一例を示している。合成武器オブジェクトαが生成される際、アイテムオブジェクトaが武器オブジェクトBに近づくように移動した後に、武器オブジェクトBが合成武器オブジェクトαに変更される演出が行われる。
【0081】
なお、本実施例では、ゲームに登場するオブジェクト(アイテムオブジェクトを含む)は、プレイヤオブジェクトPOが収納可能なオブジェクトと、プレイヤオブジェクトPOが収納不可能なオブジェクトとがあってもよい。プレイヤオブジェクトPOがオブジェクトを収納する状態とは、プレイヤオブジェクトPOが当該オブジェクトを装備や把持等せずに、当該オブジェクトを持ち運ぶことができる状態であり、収納されたオブジェクトはゲームフィールドには表示されないこととなる。収納したオブジェクトは、プレイヤオブジェクトPOによって取り出されることでゲームフィールドに配置したり、使用(装備、把持、合成を含む)されたりすることができる。例えば、プレイヤオブジェクトPOが所定の状態(攻撃アクションを行うために、武器オブジェクトBを構える状態)において、プレイヤオブジェクトPOが収納しているオブジェクトから指定されたアイテムオブジェクトと、プレイヤオブジェクトPOが装備している武器オブジェクトとを合成するアイテム使用指示(例えば、装備している武器オブジェクトBを構成する矢オブジェクトと収納しているアイテムオブジェクトaとを一体化する指示)を行うことによって、収納されているアイテムオブジェクトを用いて合成武器オブジェクト(例えば、合成武器オブジェクトα)を生成させることができる。
【0082】
合成武器オブジェクトαは、武器オブジェクトBの先端部分付近にアイテムオブジェクトaが合成された外観(武器オブジェクトBの先端部分付近がアイテムオブジェクトaに置き換えられて一体化された外観と言うこともできる)を有する。このように、本実施例においては、合成武器オブジェクト(例えば、合成武器オブジェクトα)は、当該合成武器オブジェクトの元になった武器オブジェクト(例えば、武器オブジェクトB)の外観の少なくとも一部と、当該合成武器オブジェクトの元になったアイテムオブジェクト(例えば、アイテムオブジェクトa)の外観の少なくとも一部とを含む外観を有する。これによって、合成武器オブジェクトは、武器オブジェクトとアイテムオブジェクトとが合成されたオブジェクトであるとの印象をユーザに与えることができる。
【0083】
なお、アイテムオブジェクトが合成される武器オブジェクトの部分は、アイテムオブジェクトと武器オブジェクトとの組み合わせに応じて設定されてもよい。例えば、図9に例示するように、遠距離武器オブジェクトである弓矢オブジェクトに爆弾オブジェクトであるアイテムオブジェクトが合成される場合、当該弓矢オブジェクトを構成する矢オブジェクトの鏃部分、矢筈部分、または矢柄部分にアイテムオブジェクト(爆弾オブジェクト)が合成された外観を有してもよい。また、防具オブジェクトである盾オブジェクトにアイテムオブジェクトが合成される場合、当該盾オブジェクトの中央部分や外枠部分にアイテムオブジェクトが合成された外観を有してもよい。
【0084】
また、図9に示す例においては、合成武器オブジェクトの外観は、元になった武器オブジェクトである武器オブジェクトBの外観の一部を、元になったアイテムオブジェクトであるアイテムオブジェクトaの外観の全部に置き換えられて合成されたものである。ただし、合成武器オブジェクトの外観は、元になった武器オブジェクトの外観の一部を、元になったアイテムオブジェクトの外観の一部に置き換えて合成されたものであってもよい。また、合成武器オブジェクトの外観は、元になった武器オブジェクトの外観の全部に、元になったアイテムオブジェクトの外観の一部または全部が組み合わされて合成されたものであってもよい。
【0085】
また、アイテムオブジェクトは、ゲームフィールド上にゲーム開始時に予め配置されているオブジェクトであってもよいし、敵オブジェクトEOが落としたり、敵オブジェクトEOが倒されたことに応じて配置されたり、アイテムオブジェクトではないオブジェクトから得られるオブジェクト(例えば、樹木オブジェクトOBJにプレイヤオブジェクトPOが攻撃を加えることでゲームフィールド上に配置される薪オブジェクト)であったりしてもよい。また、ゲームフィールド上に配置されるオブジェクトには、アイテムオブジェクトとならないオブジェクトがあってもよい。また、武器オブジェクトもアイテムオブジェクトとして機能することが可能であってもよく、この場合、武器オブジェクト同士を合成することによって合成武器オブジェクトが作成されてもよい。
【0086】
また、アイテムオブジェクトを合成する対象として、既に他のアイテムオブジェクトが合成された合成武器オブジェクトが指定可能であってもよい。この場合、指定された合成武器オブジェクトに既に合成されているアイテムオブジェクトを取り外すまたは消去して、当該アイテムオブジェクトの機能が取り除かれた武器オブジェクトに新たに指定されたアイテムオブジェクトを新たに合成させてもよい。一例として、合成武器オブジェクトに新たに指定されたアイテムオブジェクトを合成するアイテム使用指示が行われることに応じて、上述した既に合成されているアイテムオブジェクトを取り外すまたは消去する処理と新たに指定されたアイテムオブジェクトを合成する処理とを組み合わせて行ってもよい。他の例として、上述した既に合成されているアイテムオブジェクトを取り除く指示をユーザが行うことにより、当該アイテムオブジェクトを取り外すまたは消去する処理が先に行われた後、新たにアイテム使用指示が行われることによって、当該取り除かれた武器オブジェクトに新たに指定されたアイテムオブジェクトを装着させてもよい。
【0087】
次に、図10を参照して、合成武器オブジェクトを用いて攻撃する性能について説明する。図10に示す例においては、ゲームに登場するオブジェクトのうち、合成武器オブジェクトの合成に用いることができる武器オブジェクトの例を武器オブジェクトA~Dとし、合成武器オブジェクトの合成に用いることができるアイテムオブジェクトの例をアイテムオブジェクトa~dとしている。本実施例においては、図10に示すように、武器オブジェクトA~Dそれぞれとアイテムオブジェクトa~dそれぞれとの全ての組み合わせについて、合成処理の結果となる合成武器オブジェクトが設定される。つまり、合成処理に用いることができる武器オブジェクトA~Dはそれぞれ、合成処理に用いることができる全てのアイテムオブジェクトa~dとの間で合成処理が可能である。
【0088】
合成武器オブジェクトが有する性能は、元となる武器オブジェクトが有する機能に合成されるアイテムオブジェクトによって付加される性能が加えられたものとなる。一例として、攻撃対象を斬る機能を有する剣オブジェクトである武器オブジェクトAに、電撃を付与する機能を有するアイテムオブジェクトcが合成されることにより生成される合成武器オブジェクトは、電光を纏った状態で斬る性能(または電光を放射しながら斬る性能)を有する。これにより、上記合成武器オブジェクトを用いた攻撃は、元の武器オブジェクトAによる斬る攻撃効果に、合成されるアイテムオブジェクトcの電撃を与える付加効果を加えた状態で、攻撃対象にダメージを与えることができる。なお、上記合成武器オブジェクトを用いた攻撃の態様によっては、元の武器オブジェクトAによる斬る攻撃効果と、合成されるアイテムオブジェクトcの電撃を与える付加効果との一方が、攻撃対象に有効に作用する場合があってもよい。
【0089】
他の例として、一例として、攻撃対象を射る機能を有する矢オブジェクトである武器オブジェクトBに、爆風を付与する機能を有するアイテムオブジェクトaが合成されることにより生成される合成武器オブジェクトは、爆風を伴う矢オブジェクトを射る性能を有する。これにより、上記合成武器オブジェクトを用いた攻撃は、元の武器オブジェクトBによる射る攻撃効果に、合成されるアイテムオブジェクトaの爆風を与える付加効果を加えた状態で、攻撃対象にダメージを与えることができる。なお、上記合成武器オブジェクトを用いた攻撃の態様によっても、元の武器オブジェクトBによる射る攻撃効果と、合成されるアイテムオブジェクトaの爆風を与える付加効果との一方が、攻撃対象に有効に作用する場合があってもよい。
【0090】
なお、アイテムオブジェクトによって合成武器オブジェクトに付加される性能は、元となる武器オブジェクトによって異なる(例えば、攻撃対象に与える効果(ダメージ)が異なる)ように設定されてもよい。また、合成武器オブジェクトに付加される性能は、元となる武器オブジェクトに関わらず、合成されるアイテムオブジェクトによって同じであってもよい。
【0091】
また、アイテムオブジェクトが有する所定の機能と、当該アイテムオブジェクトが合成されることによって合成武器オブジェクトに付加される機能とは、厳密な意味で同じである必要はなく、両者の機能に関連性があることをユーザが認識可能な程度に同じであればよい。例えば、上述したアイテムオブジェクトaと合成武器オブジェクトαとに関しては、広く「爆風(爆発)を発生させる」という意味で機能が同じであれば、爆風(爆発)の大きさ、爆風(爆発)の強さ、爆風(爆発)の形態、あるいは爆風(爆発)が生じる時間の長さ等が異なっていても、両者の機能は同じであると言うことができる。
【0092】
このように、合成武器オブジェクトに合成されているアイテムオブジェクトによって発揮される機能は、元となる武器オブジェクトの基本攻撃機能が発揮されることを前提に発揮される機能(例えば、当たった他のオブジェクトを射る機能)ではなく、当該基本攻撃機能の発揮とは独立して(すなわち、基本攻撃機能の発揮を前提とせずに)発揮される機能(例えば、本例では爆風を放射する)となる。なお、本実施例では、合成武器オブジェクトαに合成されているアイテムオブジェクトaによって発揮される機能は、合成武器オブジェクトαを用いた攻撃アクションの際に発揮され、攻撃アクションが行われていない場合は発揮されなくてもよい。
【0093】
また、合成武器オブジェクトは、当該合成武器オブジェクトの元となる武器オブジェクトとは異なる性能を有する。ここで、「合成武器オブジェクトの性能が武器オブジェクトの性能とは異なる」とは、(a)合成武器オブジェクトに設定される能力値が、武器オブジェクトに設定される能力値とは異なることと、(b)武器オブジェクトが有していない機能を合成武器オブジェクトが有している(あるいは、合成武器オブジェクトが有していない機能を武器オブジェクトが有している)こととを含む意味である。例えば、上記機能としては、推力を得るアイテムオブジェクトを合成することにより合成武器オブジェクトに推進力を与える機能、伸張するアイテムオブジェクトを合成することにより合成武器オブジェクトの攻撃範囲を広げる機能、突風、炎、または爆風を放射するアイテムオブジェクトを合成することにより合成武器オブジェクトから突風、炎、または爆風を放射する機能等が考えられる。一例として、図9に示した合成武器オブジェクトαは、射る攻撃を与えることができる武器オブジェクトである矢オブジェクトに、爆風を付与するアイテムオブジェクトである爆弾オブジェクトが合成されることにより、攻撃時に爆風を放射する機能を有している。
【0094】
図11図13を参照して、合成武器オブジェクトを使用して敵オブジェクトEOを攻撃するアクション例について説明する。図11に示すプレイヤオブジェクトPOは、装備可能な武器の一例である合成武器オブジェクトαを持っている。上述したように、合成武器オブジェクトαは、武器オブジェクトB(弓矢オブジェクト;より具体的には矢オブジェクト)にアイテムオブジェクトaが合成されて生成されている。合成武器オブジェクトαは、ユーザがプレイヤオブジェクトPOに攻撃アクションを行わせることによって、「他のオブジェクトに矢オブジェクトを射る」という矢オブジェクトを放つ攻撃アクションによる基本攻撃機能を発揮する。例えば、合成武器オブジェクトαを用いて放たれた矢オブジェクトが敵オブジェクトEOに刺さった場合、当該敵オブジェクトEOに刺さることによる所定のダメージを与えることができる。
【0095】
また、合成武器オブジェクトαは、爆風を付与するアイテムオブジェクトa(爆弾オブジェクト)が合成されて生成されている。したがって、ユーザがプレイヤオブジェクトPOに攻撃アクションを行わせることによって、射られたオブジェクトに対して、合成武器オブジェクトαの爆発による爆風を生じさせる機能を発揮させることができる。そして、合成武器オブジェクトαの爆発により生じた爆風(放射アクター)が敵オブジェクトEOに当たった場合、当該敵オブジェクトEOに当該爆風による所定のダメージも与えることができる。
【0096】
図11における、プレイヤオブジェクトPOは、合成武器オブジェクトαについて構え状態となり、爆弾オブジェクトが合成された矢オブジェクトをつがえるアクションを行った状態(射出準備状態)となっている。また、ユーザによって射出指示が行われたことに応じて、矢オブジェクトが射出される場合における矢オブジェクトの射出方向を示す照準マーカTが表示される。上記射出準備状態において、ユーザは、上記射出指示の他、射出方向を変更する指示を行うことが可能である。そして、ユーザによる射出指示が行われたことに応じて、アイテムオブジェクトaが合成された矢オブジェクト(合成武器オブジェクトα)が、照準マーカTにより指定された射出方向に基づいてプレイヤオブジェクトPOから放たれる攻撃アクションが行われる。
【0097】
例えば、図12に示す例では、プレイヤオブジェクトPOから放たれた矢オブジェクト(合成武器オブジェクトα)が、敵オブジェクトEOに当たった第1段階を示している。上記プレイヤオブジェクトPOの攻撃アクションにより、合成装備品オブジェクトαの矢オブジェクトと敵オブジェクトEOとが衝突することによって、当該矢オブジェクトが刺さる攻撃(第1の攻撃とする)によるダメージが敵オブジェクトEOに与えられる。
【0098】
本実施例では、合成武器オブジェクトを使用するプレイヤオブジェクトPOの1回の攻撃アクションに対して、複数回の攻撃が発生する。例えば、武器オブジェクトにアイテムオブジェクトが合成された合成武器オブジェクトを用いた攻撃アクションが行われた場合、武器オブジェクトとの衝突に起因する攻撃、アイテムオブジェクトとの衝突に起因する攻撃、およびアイテムオブジェクトの機能に起因する攻撃等の少なくとも2つの攻撃が発生する。ここで、上記複数回の攻撃は、1回の攻撃アクション中に発生する一連の攻撃群であり、当該攻撃アクションを基準として互いに関連付けられた攻撃となる。
【0099】
例えば、図12に示すように、合成武器オブジェクトαを使用したプレイヤオブジェクトPOの攻撃アクションが行われることにより、敵オブジェクトEOに合成武器オブジェクトα(矢オブジェクト)が刺さった場合、敵オブジェクトEOに当該矢オブジェクト(武器オブジェクトB)が衝突したことを契機として、当該第1の攻撃の成否の判定処理と当該第1の攻撃が成功した場合に敵オブジェクトEOに与えるダメージ量を算出する処理とが行われる。
【0100】
上記第1の攻撃の後、敵オブジェクトEOに合成武器オブジェクトαを構成するアイテムオブジェクトaが衝突したことを契機として、当該第2の攻撃の成否の判定処理と当該第2の攻撃が成功した場合に敵オブジェクトEOに与えるダメージ量を算出する処理とが行われる。
【0101】
そして、図13に示すように、上記第2の攻撃の後、合成武器オブジェクトαを構成するアイテムオブジェクトaが爆発することにより生じる爆風(放射アクター)が敵オブジェクトEOに衝突したことを契機として、当該第3の攻撃の成否の判定処理と当該第3の攻撃が成功した場合に敵オブジェクトEOに与えるダメージ量を算出する処理とが行われる。
【0102】
本実施例では、このような1回の攻撃アクションにより発生する一連の第1~第3の攻撃に同じ攻撃IDを付与して、第1の攻撃により発生した上述した無敵期間中であっても、攻撃IDが一致する攻撃(第2の攻撃および第3の攻撃)に対しては当該攻撃毎に上記ダメージ量を算出する処理が実行されることにより、複数回の攻撃毎のダメージを敵オブジェクトEOに反映させることができる。
【0103】
例えば、上記一連の攻撃が行われる攻撃アクションを開始するためのユーザによる射出指示が行われたことに応じて、合成武器オブジェクトαを構成する矢オブジェクトによる第1の攻撃に、ユニークな新規の攻撃IDが付与される。そして、矢オブジェクトが敵オブジェクトEOと衝突して刺さる第1の攻撃が行われることにより、当該第1の攻撃に対する成否判定と当該第1の攻撃が成功した場合に敵オブジェクトEOに与えるダメージ量を算出する処理が行われ、当該第1の攻撃が成功した場合に当該ダメージ量が敵オブジェクトEOに与えられる。なお、ユニークな新規の攻撃IDが上記第1の攻撃に付与されるタイミングは、当該第1の攻撃が発生したと判定されるタイミングであればよく、ユーザによる射出指示が行われたタイミングでもよいし、矢オブジェクトが敵オブジェクトEOに衝突するタイミングであってもよい。
【0104】
また、敵オブジェクトEOに合成武器オブジェクトαを構成するアイテムオブジェクトaが衝突することによる第2の攻撃に、関連付けられた一連の攻撃における上記第1の攻撃に付与されている攻撃IDと同じ攻撃IDが付与される。なお、上記第2の攻撃に攻撃IDが付与されるタイミングは、当該第2の攻撃が発生したと判定されるタイミングであればよく、ユーザによって矢オブジェクトとともにアイテムオブジェクトaを射出するための指示が行われたとされるタイミングでもよいし、矢オブジェクトに合成されたアイテムオブジェクトaが仮想空間を飛来している期間でもよいし、アイテムオブジェクトaが敵オブジェクトEOに衝突するタイミングであってもよい。そして、アイテムオブジェクトaが敵オブジェクトEOと衝突することによる第2の攻撃は、一連の攻撃における過去の第1の攻撃に付与された攻撃IDと一致するため、攻撃IDが一致する当該第1の攻撃の結果を参照して当該第1の攻撃が成功である場合に、上記第2の攻撃も成功として当該第2の攻撃により敵オブジェクトEOに与えるダメージ量を算出する処理が行われ、第2の攻撃による当該ダメージ量が敵オブジェクトEOに与えられる。
【0105】
また、敵オブジェクトEOに合成武器オブジェクトαを構成するアイテムオブジェクトaの機能(爆発現象)による第3の攻撃に、関連付けられた一連の攻撃における上記第2の攻撃に付与されている攻撃IDと同じ攻撃IDが付与される。これにより、1回の攻撃アクションにより発生する一連の複数回の攻撃は、全て同じ攻撃IDが付与されることになる。なお、攻撃IDが上記第3の攻撃に付与されるタイミングは、当該第3の攻撃が発生したと判定されるタイミングであればよく、アイテムオブジェクトaが爆発を開始したタイミングでもよいし、爆発の開始と同時のタイミングでもよく、アイテムオブジェクトaの爆発により生じる爆風の放射アクターが敵オブジェクトEOに衝突するタイミングでもよい。そして、アイテムオブジェクトaの機能による敵オブジェクトEOに対する第3の攻撃は、一連の攻撃における過去の第2の攻撃に付与された攻撃IDと一致(すなわち、過去の第1の攻撃に付与された攻撃IDと一致)するため、攻撃IDが一致する当該第2の攻撃の結果を参照して当該第2の攻撃が成功である場合に、上記第3の攻撃も成功として当該第3の攻撃により敵オブジェクトEOに与えるダメージ量を算出する処理が行われ、第3の攻撃による当該ダメージ量が敵オブジェクトEOに与えられる。なお、上記第3の攻撃は、一連の攻撃における過去の第1の攻撃に付与された攻撃IDとも一致するため、攻撃IDが一致する当該第1の攻撃の結果を参照して当該第1の攻撃が成功である場合に、上記第3の攻撃も成功として当該第3の攻撃により敵オブジェクトEOに与えるダメージ量を算出する処理が行われ、第3の攻撃による当該ダメージ量が敵オブジェクトEOに与えられてもよい。
【0106】
なお、一連の攻撃のうちの一部の攻撃(例えば、上記第2の攻撃)に対して、当該攻撃の成否の判定または当該攻撃によるダメージ量を算出する処理が行われなくてもよい。この場合、上記攻撃の成否およびダメージ量の算出が行われない攻撃(例えば、上記第2の攻撃)は、その前後で行われる攻撃(例えば、上記第1の攻撃と上記第3の攻撃)を繋げる役割を有していてもよい。一例として、上記第1の攻撃が成功した後、当該第1の攻撃の終了とともに攻撃IDが消去されてしまうことがあり、上記第2の攻撃がない場合、上記第3の攻撃に付与するための攻撃IDが当該付与時に存在しないことがあり得る。このような状態を避けるため、上記攻撃の成否およびダメージ量の算出が行われない上記第2の攻撃に攻撃IDを付与することにより、上記第1の攻撃が終わった後でも終了していない上記第2の攻撃に付与された攻撃IDを上記第3の攻撃へ引き継ぐことができる。
【0107】
また、一連の攻撃のうちの一部の攻撃に対して算出されるダメージ量は0(すなわち、攻撃が成功してもダメージが発生しない攻撃)である場合があってもよく、この場合、当該攻撃が成功した場合であっても、敵オブジェクトEOにダメージが与えられなくてもかまわない。さらに、攻撃が成功した場合であっても当該攻撃したオブジェクトに対してダメージを与えない攻撃である場合、当該攻撃に対するダメージ量を算出する処理自体が行われなくてもかまわない。また、1回の攻撃アクションにより発生し、同じ攻撃IDが付与される一連の攻撃の回数は、2回または4回以上であってもよい。また、1回の攻撃アクションにより発生する複数回の攻撃がそれぞれ発生する順序は、他の順序であってもよく、同時に発生する攻撃が含まれていてもよい。さらに、1回の攻撃アクションにより発生する一連の複数回の攻撃の内訳(種類)は上記に限られず、他の種類の攻撃が含まれていてもかまわない。また、一連の攻撃毎に算出されるダメージ量を敵オブジェクトEOに与えるタイミングは、各攻撃が発生する毎にダメージ付与されてもよいし、当該一連の攻撃において最終に発生する攻撃が発生するタイミングでまとめてダメージ付与されてもよい。
【0108】
このように、1回の攻撃アクションにより発生する一連の複数回の攻撃に同じ攻撃IDを付与して伝播させることにより、攻撃IDが一致する攻撃に対しては上記無敵期間中であっても当該攻撃ごとに発生するダメージを敵オブジェクトEOに反映させることができる。一方、さらに別の攻撃アクションが行われた場合は、当該攻撃アクションによる最初の攻撃が行われる際に、当該攻撃にユニークな攻撃IDが付与される。したがって、当該別の攻撃アクションによる最初の攻撃は、過去の攻撃と関連付けられることなく攻撃成否判定が行われ、当該最初の攻撃が上記無敵期間内である場合は当該攻撃の成否判定が行われないため、当該最初の攻撃によるダメージも敵オブジェクトEOに与えられないことになる。これは、同じ武器オブジェクトや同じ合成武器オブジェクトを使用する攻撃アクションが再度行われる攻撃の場合も同様であり、当該攻撃は、当該攻撃アクションの前に行われた攻撃と関連付けられることなく判定処理が行われる。他の実施例として、上記別の攻撃アクションによる最初の攻撃は、上記無敵期間内である場合も当該攻撃の成否判定を行ってもよい。この場合、上記最初の攻撃が成功判定されたとしても、上記無敵期間内である場合は当該攻撃によるダメージ量の算出が行われないことにより、当該無敵期間内は当該最初の攻撃によるダメージが敵オブジェクトEOに与えられない。
【0109】
その一方で、別の攻撃アクションによりそれぞれ発生する攻撃が同じ敵オブジェクトEOに行われた場合は、それぞれの攻撃にユニークな別の攻撃IDが付与される。例えば、これらの攻撃が1回に見える攻撃(例えば、親アクターと子アクターとが連携してそれぞれ行う攻撃)であっても、それぞれの攻撃に異なる攻撃IDが付与されるため、それぞれの攻撃が独立して成否判定され、当該成否判定結果に基づいてそれぞれダメージ量が算出される。そして、何れかの攻撃によって無敵期間に設定された攻撃対象オブジェクトに対して他の攻撃が行われた場合、当該攻撃対象オブジェクトに対して当該他の攻撃によるダメージは発生しない。
【0110】
なお、1回の攻撃アクションにより発生する一連の複数回の攻撃に同じ攻撃IDを付与する処理は、プレイヤオブジェクトPOが攻撃する場合だけに限らず、プレイヤオブジェクトPOが他のオブジェクト(敵オブジェクトEO)から攻撃を受ける場合や他のオブジェクト同士が攻撃する場合にも行われてもよい。例えば、敵オブジェクトEOが合成武器オブジェクトを使用してプレイヤオブジェクトPOを攻撃する場合、当該合成武器オブジェクトを使用する攻撃アクションにおいて発生する一連の複数回の攻撃それぞれに対して、同じ攻撃IDが付与されて、プレイヤオブジェクトPOに与えられる各々の攻撃に対応するダメージを発生させてもよい。
【0111】
また、本実施例では、同じ攻撃IDが付与された複数の攻撃の間で、攻撃IDを付与する順番における優先度が設けられてもよい。例えば、上記一連の複数回の攻撃のうち、複数の攻撃が同一フレームで新たに発生した場合、優先度が高い攻撃を先に攻撃IDを付与してもよい。これにより、複数の攻撃に同じタイミングで同じ攻撃IDが付与される処理が行われる場合であっても、先に判定が行われる攻撃の優先度を相対的に高く設定することにより、後に続く攻撃に攻撃IDを引き継ぐことができる。
【0112】
また、本実施例では、プレイヤオブジェクトPOや敵オブジェクトEOは、他のキャラクタや仮想オブジェクトからの攻撃を防御するアクションを行うことができる。一例として、ユーザ操作入力に応じて、武器を用いたプレイヤオブジェクトPOによる攻撃アクションが敵オブジェクトEOに対して行われた場合、当該敵オブジェクトEOが攻撃の防御を行うための防具オブジェクトEを用いて当該攻撃を防御することが可能である。本実施例では、プレイヤオブジェクトPOや敵オブジェクトEOは、防具オブジェクトを装備することが可能であり、当該装備された防具オブジェクトを用いて攻撃を防御する防御アクションを行うことが可能である。
【0113】
図14に示す敵オブジェクトEOは、防具オブジェクトEを持っており、当該防具オブジェクトEを使用してプレイヤオブジェクトPOが放った合成武器オブジェクトα(矢オブジェクト)と敵オブジェクトEOの衝突を避ける防御アクションを行っている。例えば、プレイヤオブジェクトPOが放って飛来する合成武器オブジェクトαの進行を敵オブジェクトEOが防具オブジェクトEを当てて防御した場合、敵オブジェクトEOに合成武器オブジェクトαの攻撃によるダメージが与えられない。
【0114】
ここで、上述したように、本実施例では、プレイヤオブジェクトPOが合成武器オブジェクトα(矢オブジェクト)を放つ攻撃を行う攻撃アクションが敵オブジェクトEOに対して行われた場合、当該攻撃アクションにより一連の複数回の攻撃が発生する。そして、本実施例では、上記複数回の攻撃それぞれに同じ攻撃IDが付与されるため、当該複数回の攻撃における最初の攻撃に対する防御の成否判定の結果を他の攻撃に対する成否判定に準じられる。つまり、上記複数回の攻撃のうち、防具オブジェクトEによって最初の攻撃に対して防御が成功したと判定された場合、図15に例示するように他の攻撃も防具オブジェクトEによって防御が成功したと判定される。
【0115】
本実施例においては、攻撃IDが一致している複数回の攻撃が防具オブジェクトEを攻撃する位置は、当該防具オブジェクトEに対して同じ位置が攻撃されたものとされる。一例として、上記複数回の攻撃において最初に行われた攻撃が防具オブジェクトEに当たった位置を、当該複数回の攻撃において以降に行われる攻撃でも当該防具オブジェクトEに当たる位置とする。このように防具オブジェクトEにおける防御の成否判定の基準位置(攻撃が当たった位置)を、上記複数回の攻撃において同じとすることにより、当該複数回の攻撃に対する防御の結果を全て同じにすることができる。具体的には、合成武器オブジェクトαを用いた攻撃において、矢オブジェクトが先に防具オブジェクトEと衝突した際に、後から爆発を発生させるアイテムオブジェクトaの位置が防具オブジェクトEを通過して敵オブジェクトEOの近傍まで到達していることがあり得る。この場合、アイテムオブジェクトaは、防具オブジェクトEよりも敵オブジェクトEO側で爆発することになり、当該爆発による爆風の放射アクターを受ける位置に防具オブジェクトEが配置されていないために、上記矢オブジェクトによる攻撃が防具オブジェクトEによって防御されたとしても、敵オブジェクトEOが当該爆発によるダメージを受けてしまうことが考えられる。しかしながら、このように、防具オブジェクトEよりも敵オブジェクトEO側でアイテムオブジェクトaが爆発したとしても、当該爆発による爆風の放射アクターに対する防御の成否判定の基準位置を、矢オブジェクトが防具オブジェクトEに当たって防御された位置とすることによって、矢オブジェクトに対する防御判定と同じ防御判定をアイテムオブジェクトaの爆発に対しても行うことができる。
【0116】
本実施例では、防具オブジェクトEには、攻撃に対する当該防具オブジェクトEの耐久を示す耐久値が設定される。例えば、ゲームシステム1は、防具オブジェクトEにより攻撃を防御した場合、当該攻撃の強さに応じて防具オブジェクトEの耐久値を減算し、耐久値が0になった場合、当該防具オブジェクトEが壊れる(すなわち、消失する)。一例として、防具オブジェクトEを用いた防御アクションにより攻撃が防御される毎に、当該攻撃の強さに応じた値が残存耐久値から減算される。
【0117】
例えば、図14には、防具オブジェクトEの残存耐久値を示すゲージGが表示されている。そして、プレイヤオブジェクトPOの攻撃アクションにより放たれた合成武器オブジェクトα(矢オブジェクト)による一連の複数回の攻撃のうち、矢オブジェクトによる攻撃である上記第1の攻撃が防具オブジェクトEによって防御された場合、防具オブジェクトEの残存耐久値が所定量減じた様子がゲージGにより表現されている。そして、プレイヤオブジェクトPOの攻撃が防具オブジェクトEによって防御が成功したため、敵オブジェクトEOには当該攻撃によるダメージは与えられない。なお、図14に示す例では、プレイヤオブジェクトPOの攻撃を防御した後も防具オブジェクトEの耐久値が残っているため、壊れることなく敵オブジェクトEOが持った状態を維持している。
【0118】
本実施例では、1回の攻撃アクションによって複数回の攻撃が発生する場合であっても、同じ攻撃IDが付与されるそれぞれの攻撃を防御した防具オブジェクトEの耐久度は、当該攻撃毎に減算されずに1回の攻撃に対してのみ減算されてもよい。例えば、図15に示すように、上記第1の攻撃後または上記第1の攻撃と同時のタイミングで発生する、合成武器オブジェクトαを構成するアイテムオブジェクトaによる攻撃である第2の攻撃、およびアイテムオブジェクトaが爆発することによる第3の攻撃についても、同じ攻撃IDが付与されるために上記第1の攻撃に対する防具オブジェクトEによる防御の判定結果に準じて、当該攻撃によるダメージは敵オブジェクトEOに与えられない。しかしながら、上記第2の攻撃および上記第3の攻撃を防御したことによる防具オブジェクトEの残存耐久値に変化はなく、防具オブジェクトEの残存耐久値が減じられていない様子がゲージGにより表現される。このように、一連の攻撃に含まれる過去の攻撃(第1の攻撃)による防御の判定結果に合わせて、当該一連の攻撃に含まれて同じ攻撃IDが付与される他の攻撃に対する防具オブジェクトEによる防御の成否を引き継ぎながら防具オブジェクトEの耐久値の減少を発生させないため、防具オブジェクトEの耐久値の減少が早く、防具オブジェクトEが壊れやすいといったユーザの違和感が生じにくくなる。
【0119】
なお、1回の攻撃アクションにより発生する一連の複数回の攻撃に対して、最初の攻撃の1回のみ防具オブジェクトEの耐久値の減少が生じ、他の攻撃に含まれる他の攻撃に対する当該耐久値の減少を発生させない処理は、敵オブジェクトEOがプレイヤオブジェクトPOから攻撃を受ける場合に限らず、プレイヤオブジェクトPOや他のオブジェクトが攻撃を受ける場合や他のオブジェクト同士が攻撃する場合にも行われてもよい。例えば、防具オブジェクトEを持つプレイヤオブジェクトPOを敵オブジェクトEOが合成武器オブジェクトを使用して攻撃する場合、当該合成武器オブジェクトを使用する攻撃アクションに対して当該防具オブジェクトEの耐久値を減少させる処理において、同様の処理が行われてもよい。
【0120】
また、上述したように、上記一連の複数回の攻撃における最初の攻撃に対する防御の成否が当該複数回の攻撃における他の攻撃に対する防御の成否にも引き継がれて判定されるため、それぞれの攻撃に対する防御の成否が同じ結果となる。また、上記一連の複数回の攻撃における最初の攻撃に対する防御による防具オブジェクトEの耐久値の減少は、当該複数回の攻撃における他の攻撃においては当該耐久値を減少させないことになる。したがって、他の実施例において、上記一連の複数回の攻撃における最初の攻撃に対する防御の成否を判定した後は、当該複数回の攻撃における他の攻撃に対する防御の成否の判定自体を行わなくてもよい。例えば、過去の攻撃に対する防御が成功した場合、当該攻撃と同じ攻撃IDが付与された現在の攻撃に対する防御の判定を行わずに、当該現在の攻撃によるダメージや防具オブジェクトEの耐久値の減少も発生させない処理が行われてもよい。
【0121】
また、上述したような一連の複数回の攻撃に同じ攻撃IDを付与する攻撃の判定処理は、合成武器オブジェクトを使用する攻撃アクションには限らず、1回の攻撃アクションに対して複数回の攻撃が行われる他の攻撃アクションに対して行われてもよい。例えば、所定の期間において互いに関連付けられて発生する複数回の攻撃それぞれにダメージが発生する攻撃アクションであれば、同様の処理を行うことができる。一例として、プレイヤオブジェクトPOや他のオブジェクト(例えば、敵オブジェクトEO)に対して、1回の攻撃アクションで複数種類のダメージを与える攻撃アクションに対して、上記判定処理を行ってもかまわない。
【0122】
例えば、プレイヤオブジェクトPOや他のオブジェクト(例えば、敵オブジェクトEO)に、仮想空間における空から地上に向かって放電される落雷が直撃する攻撃アクションでは、当該落雷が直撃したオブジェクトに複数種類のダメージが与えられる。例えば、図16に示すように、プレイヤオブジェクトPOに落雷が直撃した場合、雷本体(雷アクター)との衝突によるダメージ、落雷直撃因子(ケミカル因子)によるダメージ、落雷に起因する着火因子(ケミカル因子)によるダメージ、および落下に起因する感電因子(ケミカル因子)によるダメージが、落雷アクションと同時または落雷アクションから所定の期間内にプレイヤオブジェクトPOに与えられる。なお、これらのダメージは、プレイヤオブジェクトPOに対してどのような順序で与えられてもかまわないし、少なくとも2つのダメージが同時に与えられてもよい。以下の説明においては、説明を具体的にするために、雷本体との衝突によるダメージ、落雷直撃因子によるダメージ、着火因子によるダメージ、感電因子によるダメージの順にプレイヤオブジェクトPOに与えられるものとする。
【0123】
このような落雷アクションに起因して複数種類のダメージがプレイヤオブジェクトPOに与えられる場合、それぞれのダメージを与える攻撃を一連の攻撃として、それぞれの攻撃に同じ攻撃IDが付与される。
【0124】
例えば、上記落雷アクションに起因する一連の攻撃の最初に発生する雷本体(雷アクター)が地上フィールドへ落雷する第1の攻撃が発生したことに応じて、当該第1の攻撃にユニークな新規の攻撃IDが付与される。そして、上記第1の攻撃が行われることにより、当該第1の攻撃に対する成否判定と当該第1の攻撃が成功した場合にプレイヤオブジェクトPOに与えるダメージ量を算出する処理が行われ、当該第1の攻撃が成功した場合に当該ダメージ量がプレイヤオブジェクトPOに与えられる。
【0125】
上記落雷アクションに起因する第1の攻撃の後、プレイヤオブジェクトPOに落雷直撃因子(ケミカル因子)による第2の攻撃が発生したことに応じて、関連付けられた一連の攻撃における過去の第1の攻撃に付与されている攻撃IDと同じ攻撃IDが当該第2の攻撃に付与される。そして、上記第1の攻撃と上記第2の攻撃に対して同一の攻撃IDが付与されているため、当該第1の攻撃が成功した後に当該第2の攻撃が成功した場合に当該第2の攻撃によりプレイヤオブジェクトPOに与えるダメージ量(雷直撃属性によるダメージ量)を算出する処理が行われ、算出された当該ダメージ量がプレイヤオブジェクトPOに与えられる。
【0126】
上記第2の攻撃の後、プレイヤオブジェクトPOに落雷に起因する着火因子(ケミカル因子)による第3の攻撃が発生したことに応じて、関連付けられた一連の攻撃における過去の第2の攻撃に付与されている攻撃IDと同じ攻撃IDが当該第3の攻撃に付与される。そして、(上記第1の攻撃と)上記第2の攻撃と上記第3の攻撃に対して同一の攻撃IDが付与されているため、当該第2の攻撃が成功した後に当該第3の攻撃が成功した場合に当該第3の攻撃によりプレイヤオブジェクトPOに与えるダメージ量(着火属性によるダメージ量)を算出する処理が行われ、算出された当該ダメージ量がプレイヤオブジェクトPOに与えられる。
【0127】
そして、上記第3の攻撃の後、プレイヤオブジェクトPOに落雷に起因する感電因子(ケミカル因子)による第4の攻撃が発生したことに応じて、関連付けられた一連の攻撃における過去の第3の攻撃に付与されている攻撃IDと同じ攻撃IDが当該第4の攻撃に付与される。そして、(上記第1の攻撃と上記第2の攻撃と)上記第3の攻撃と上記第4の攻撃に対して同一の攻撃IDが付与されているため、当該第3の攻撃が成功した後に当該第4の攻撃が成功した場合に当該第4の攻撃によりプレイヤオブジェクトPOに与えるダメージ量(感電属性によるダメージ量)を算出する処理が行われ、算出された当該ダメージ量がプレイヤオブジェクトPOに与えられる。これらにより、1回の落雷アクションにより発生する一連の複数回の攻撃は、全て同じ攻撃IDが付与されることになる。
【0128】
このように、1回の落雷アクションに起因する複数種類のダメージを与えるそれぞれの攻撃に同じ攻撃IDを付与することにより、攻撃IDが一致する攻撃に対しては当該攻撃毎にダメージ計算処理を実行することによって、無敵期間内であっても当該複数種類の攻撃毎の判定処理に基づくダメージをプレイヤオブジェクトPOに反映させることができる。
【0129】
次に、図17を参照して、ゲームシステム1で実行される具体的な処理の一例について説明する。図17は、本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図17に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【0130】
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、左コントローラ3および/または右コントローラ4や本体装置2から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
【0131】
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、DRAM85には、操作データDa、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、配置アイテムデータDd、装備データDe、攻撃IDデータDf、ダメージ量データDg、仮想カメラデータDh、および画像データDi等が記憶される。
【0132】
操作データDaは、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、タッチパネル)からの入力に関する情報(具体的には、操作に関する情報)が含まれている。本実施例では、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ操作データを取得しており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記操作データが取得される周期毎に更新されてもよい。
【0133】
プレイヤオブジェクトデータDbは、仮想空間に配置されているプレイヤオブジェクトPOの配置位置、配置方向、および配置姿勢や、仮想空間における動作や状態(ライフ値や無敵期間中であるか否かの区別を含む)等を示すデータである。また、プレイヤオブジェクトデータDbは、プレイヤオブジェクトPOが武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを使用している場合、プレイヤオブジェクトPOが使用中のこれらオブジェクトの配置位置、配置方向、および配置姿勢等を示すデータを含んでいる。
【0134】
敵オブジェクトデータDcは、仮想空間に配置されている敵オブジェクトEOの配置位置、配置方向、および配置姿勢や、仮想空間における動作や状態(ライフ値や無敵期間中であるか否かの区別を含む)等を示すデータである。また、敵オブジェクトデータDcは、敵オブジェクトEOが武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを使用している場合、敵オブジェクトEOが使用中のこれらオブジェクトの配置位置、配置方向、および配置姿勢等を示すデータを含んでいる。
【0135】
配置アイテムデータDdは、ゲームフィールド上に配置されるアイテムオブジェクトの位置および種類を示すデータである。
【0136】
装備データDeは、プレイヤオブジェクトPOや他のオブジェクト(例えば、敵オブジェクトEO)がそれぞれ装備中の武器オブジェクト、合成武器オブジェクト、および防具オブジェクトを示し、装備中の武器オブジェクト、合成武器オブジェクト、および防具オブジェクトのうちで、プレイヤオブジェクトPOや他のオブジェクトが使用している(構え状態をとっている)オブジェクトおよびその状態(使用しているオブジェクトの構成や使用しているオブジェクトの耐久値を含む)を示すデータを含む。
【0137】
攻撃IDデータDfは、新たに発生した攻撃毎に付与される攻撃IDを示すデータである。なお、攻撃IDは、発生している攻撃アクション毎に管理されていてもよい。
【0138】
ダメージ量データDgは、攻撃を受けたことによって算出されるダメージ量を示すデータである。
【0139】
仮想カメラデータDhは、仮想空間に配置されている仮想カメラの位置、方向、画角等を示すデータである。
【0140】
画像データDiは、表示画面(例えば、本体装置2のディスプレイ12)に画像(例えば、プレイヤオブジェクトPOの画像、敵オブジェクトEOの画像、他のキャラクタの画像、武器オブジェクト、防具オブジェクト、アイテムオブジェクト等の各種オブジェクトの画像、仮想空間のフィールドの画像、背景画像等)を表示するためのデータである。
【0141】
次に、図18図20を参照して、本実施例における情報処理の一例であるゲーム処理の詳細な一例を説明する。図18は、ゲームシステム1で実行されるゲーム処理の一例を示すフローチャートである。図19は、図18のステップS124における攻撃発生処理の一例を示すサブルーチンである。図20は、図18のステップS125におけるダメージ計算処理の一例を示すサブルーチンである。本実施例においては、図18図20に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図18図20に示すゲーム処理が開始されるタイミングは任意である。
【0142】
なお、図18図20に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図18図20に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
【0143】
図18において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化して、各データを更新する。一例として、プロセッサ81は、仮想空間のゲームフィールドに各種オブジェクトやキャラクタ等を配置することによって初期状態の仮想空間を生成して、配置アイテムデータDdを更新する。また、プロセッサ81は、初期状態の仮想空間におけるデフォルト位置に所定の姿勢のプレイヤオブジェクトPO、敵オブジェクトEO、および仮想カメラを配置して、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、および仮想カメラデータDhを更新する。
【0144】
次に、プロセッサ81は、左コントローラ3、右コントローラ4、および/または本体装置2から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
【0145】
次に、プロセッサ81は、各種ゲーム処理を行い(ステップS123)、次のステップに処理を進める。例えば、プロセッサ81は、操作データDaに応じた処理や、アニメーションの進行、仮想空間内の物理演算やAI制御等に基づいて、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、および配置アイテムデータDdを更新し、仮想空間に配置されたプレイヤオブジェクトPOおよび敵オブジェクトEO等の各キャラクタや、アイテムオブジェクト等の各オブジェクトをそれぞれ更新する。また、プロセッサ81は、装備データDeに基づいて、プレイヤオブジェクトPOに武器オブジェクト、合成武器オブジェクト、および防具オブジェクト等を装備させる。また、プロセッサ81は、操作データDaによる制御や、プレイヤオブジェクトPOの位置や姿勢に基づいた制御等に基づいて仮想カメラデータDhを更新して、表示画像を生成するための仮想カメラの位置および/または姿勢を更新する。
【0146】
上記ステップS123における各種ゲーム制御処理の第1の例として、プロセッサ81は、プレイヤオブジェクト動作処理を行う。例えば、プロセッサ81は、操作データDaに基づいて、プレイヤオブジェクトPOの動作を設定する。一例として、プロセッサ81は、操作データDaが示すユーザ操作入力および仮想空間における仮想的な物理演算(例えば、仮想的な慣性や重力)等に基づいて、プレイヤオブジェクトPOの位置、方向、姿勢、動作、および状態等を設定して、プレイヤオブジェクトデータDbを更新する。
【0147】
上記プレイヤオブジェクトPOの動作には、武器オブジェクト、合成武器オブジェクト、または防具オブジェクト等を用いたアクションが含まれる。例えば、プロセッサ81は、プレイヤオブジェクトPOが装備する武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを変更するユーザ操作入力が行われた場合、当該操作入力に応じてプレイヤオブジェクトPOが持つ武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを変更して、当該変更内容に応じて装備データDeを更新する。また、プロセッサ81は、攻撃アクションを行うユーザ操作入力が行われたことに応じて、装備データDeに基づいた武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを使用する(例えば、持っている武器オブジェクトや合成武器オブジェクトを振って攻撃する、持っている防具オブジェクトで攻撃を防御する)アクションをプレイヤオブジェクトPOに行わせて、プレイヤオブジェクトデータDbを更新する。
【0148】
上記ステップS123における各種ゲーム制御処理の第2の例として、プロセッサ81は、他のオブジェクトの動作処理を行う。例えば、プロセッサ81は、プレイヤオブジェクトPO以外の他のオブジェクト(例えば、敵オブジェクトEOの動作を、ゲームプログラムにおいて予め定められたルールに従って制御して、敵オブジェクトデータDcを更新する。
【0149】
上記敵オブジェクトEOの動作には、武器オブジェクト、合成武器オブジェクト、または防具オブジェクト等を用いたアクションが含まれる。例えば、プロセッサ81は、装備する武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを変更する敵オブジェクトEOの動作が行われた場合、当該動作に応じて敵オブジェクトEOが持つ武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを変更して、当該変更内容に応じて装備データDeを更新する。また、プロセッサ81は、敵オブジェクトEOが攻撃アクションを行うことに応じて、装備データDeに基づいた武器オブジェクト、合成武器オブジェクト、または防具オブジェクトを使用する(例えば、持っている武器オブジェクトや合成武器オブジェクトを振って攻撃する、持っている防具オブジェクトで攻撃を防御する)アクションを敵オブジェクトEOに行わせて、敵オブジェクトデータDcを更新する。
【0150】
上記ステップS123における各種ゲーム制御処理の第3の例として、プロセッサ81は、プレイヤオブジェクトPOが合成武器オブジェクトを生成することが可能な動作を行っている場合、武器を合成する処理を行う。例えば、プロセッサ81は、ゲーム中において、プレイヤオブジェクトPOがアイテムオブジェクトを使用可能であり、かつ、武器オブジェクトについて構え状態をとった状態となったことに応じて武器を合成する処理を行う。例えば、プロセッサ81は、操作データDaに基づいて、プレイヤオブジェクトPOが収納しているアイテムオブジェクトまたはゲームフィールド(地形オブジェクトL)上のアイテムオブジェクトのうちで、武器合成処理の対象アイテムオブジェクトを指定し、プレイヤオブジェクトPOを持っている武器オブジェクトと当該対象アイテムオブジェクトとを合成して、合成武器オブジェクトを生成する。そして、プロセッサ81は、プレイヤオブジェクトPOが持っている対象武器オブジェクトを、合成武器オブジェクトに変更し(図9参照)、当該変更に基づいて装備データDeおよび配置アイテムデータDdを更新する。
【0151】
なお、上記武器を合成する処理においては、対象アイテムオブジェクトを武器オブジェクトの方に近づけた後、対象アイテムオブジェクトを消失させるとともに、プレイヤオブジェクトPOが持っている対象武器オブジェクトを合成武器オブジェクトに変更するという動作が行われるように各オブジェクトが制御される演出が行われてもよい。
【0152】
上記ステップS123における各種ゲーム制御処理の第4の例として、プロセッサ81は、操作データDaに基づいて、プレイヤオブジェクトPOがアイテムオブジェクトや武器オブジェクトを取得する処理を行う。例えば、プロセッサ81は、プレイヤオブジェクトPOがアイテムオブジェクトや武器オブジェクトを取得するアクションに応じて、当該アクションにより取得されたアイテムオブジェクトや武器オブジェクトをプレイヤオブジェクトPOに追加して収納する。
【0153】
次に、プロセッサ81は、攻撃発生処理を行い(ステップS124)、ステップS125に処理を進める。以下、図19を参照して、上記ステップS124における攻撃発生処理について説明する。
【0154】
図19において、プロセッサ81は、新しい攻撃が発生したか否かを判定する(ステップS131)。例えば、プロセッサ81は、プレイヤオブジェクトデータDbおよび敵オブジェクトデータDcを参照して、プレイヤオブジェクトPOまたは敵オブジェクトEOによる新しい攻撃が発生したか否かを判定する。そして、プロセッサ81は、新しい攻撃が発生した場合、ステップS132に処理を進める。一方、プロセッサ81は、新しい攻撃が発生していない場合、当該サブルーチンによる処理を終了する。一例として、上記ステップS131において、プレイヤオブジェクトPOまたは敵オブジェクトEOが新たな攻撃アクション(例えば、プレイヤオブジェクトPOが剣を構える動作や剣を振り始める動作、プレイヤオブジェクトPOが矢を構える動作や矢を射出する動作)を行うためのユーザ操作入力が行われた場合や、攻撃に用いられている武器オブジェクトや合成武器オブジェクト(アイテムオブジェクト)が攻撃対象オブジェクトを攻撃するための現象(例えば、爆発や放電)を新たに発生させた場合等において、新たな攻撃が発生したと判定される。他の例として、上記ステップS131において、攻撃に用いられている武器オブジェクトや合成武器オブジェクト(アイテムオブジェクト)が攻撃を行うために移動している場合や、攻撃に用いられている武器オブジェクトや合成武器オブジェクト(アイテムオブジェクト)が攻撃対象オブジェクトと新たに衝突した場合や、攻撃対象オブジェクトを攻撃するための現象により生じた放射物(放射アクター)が攻撃対象オブジェクトと新たに衝突した場合等において、新たな攻撃が発生したと判定される。なお、攻撃に用いられている同じオブジェクトが攻撃対象オブジェクトと再衝突した場合や、同じ現象により生じた放射物(放射アクター)が攻撃対象オブジェクトと再衝突した場合は、プロセッサ81は、新たな攻撃が発生したとは判定しない。
【0155】
ステップS132において、プロセッサ81は、上記ステップS131において新たに発生したと判定された全攻撃に対する処理が完了したか否かを判定する。そして、プロセッサ81は、全攻撃に対する処理が完了していない場合、ステップS133に処理を進める。一方、プロセッサ81は、全攻撃に対する処理が完了している場合、当該サブルーチンによる処理を終了する。
【0156】
ステップS133において、プロセッサ81は、上記ステップS131において新たに発生したと判定された攻撃のうち、処理が完了していない攻撃を選択し、次のステップに処理を進める。
【0157】
なお、上記新たに発生したと判定された攻撃が複数あり、当該攻撃の中に互いに関連付けられた攻撃が含まれている場合、プロセッサ81は、上記ステップS133において各攻撃に設定されている優先度が高い攻撃を先に処理する。例えば、上述した第1~第3の攻撃のうち、少なくとも2つの攻撃が上記新たに発生したと判定された攻撃に含まれている場合、プロセッサ81は、当該第1~第3の攻撃それぞれに設定されている優先度が高い攻撃から先に処理する。このような優先度を用いた処理を行うことにより、関連付けられた攻撃のうち優先度が高い攻撃に攻撃IDを先に付与することが可能となり、後に続く攻撃に同じ攻撃IDを引き継ぐことができる。
【0158】
次に、プロセッサ81は、既に攻撃IDが付与された過去の攻撃に関連付けられた攻撃に関する処理であるか否かを判定する(ステップS134)。例えば、プロセッサ81は、攻撃IDデータDfを参照して、現在処理対象となっている攻撃と関連付けられた攻撃に既に攻撃IDが付与されている場合、上記ステップS134において肯定判定する。例えば、プロセッサ81は、1回の攻撃アクションに基づいて発生する一連の複数回の攻撃が互いに関連付いている攻撃であると判定し、現在のフレームでデータとして残っている武器オブジェクト等に対応する過去の攻撃に関連付けられた攻撃に関する処理であるか否かを判定する。そして、プロセッサ81は、既に攻撃IDが付与された過去の攻撃に関連付けられた攻撃に関する処理でない場合、ステップS135に処理を進める。一方、プロセッサ81は、既に攻撃IDが付与された過去の攻撃に関連付けられた攻撃に関する処理である場合、ステップS136に処理を進める。
【0159】
ステップS135において、プロセッサ81は、現在処理対象となっている攻撃に新規にユニークな攻撃IDを付与して攻撃IDデータDfを更新し、ステップS137に処理を進める。例えば、合成武器オブジェクトαを使用するプレイヤオブジェクトPOの攻撃アクション(図11図13参照)が行われ、当該攻撃アクションに基づいて発生する矢オブジェクトが敵オブジェクトEOを射る第1の攻撃が処理対象となっている場合、プロセッサ81は、当該第1の攻撃に新規の攻撃IDを付与して記憶する。
【0160】
一方、ステップS136において、プロセッサ81は、現在処理対象となっている攻撃に関連付けられた攻撃に付与されている攻撃IDを、現在処理対象となっている攻撃にコピーして付与し攻撃IDデータDfを更新し、ステップS137に処理を進める。一例として、合成武器オブジェクトαを使用するプレイヤオブジェクトPOの攻撃アクション(図11図13参照)が行われ、当該攻撃アクションに基づいて発生するアイテムオブジェクトaが敵オブジェクトEOと衝突する第2の攻撃が処理対象となっている場合、プロセッサ81は、当該第2の攻撃に関連付けられた攻撃であり、既に攻撃IDが付与されている上記第1の攻撃の攻撃IDと同じ攻撃IDを当該第2の攻撃に付与して記憶する。他の例として、合成武器オブジェクトαを使用するプレイヤオブジェクトPOの攻撃アクション(図11図13参照)が行われ、当該攻撃アクションに基づいて発生するアイテムオブジェクトaが爆発することに起因する第3の攻撃が処理対象となっている場合、プロセッサ81は、当該第3の攻撃に関連付けられた攻撃であり、既に攻撃IDが付与されている上記第1の攻撃の攻撃IDまたは上記第2の攻撃の攻撃IDと同じ攻撃IDを当該第3の攻撃に付与して記憶する。
【0161】
ステップS137において、プロセッサ81は、付与された攻撃IDに基づいて、現在処理対象となっている攻撃を開始し、上記ステップS132に戻って処理を繰り返す。なお、付与されて記憶された攻撃IDは、当該攻撃IDが付与された攻撃を行った武器オブジェクトやアイテムオブジェクトが仮想空間から消去されたり、当該攻撃が終了したり、当該攻撃を発生させた攻撃アクションが終了したりすることにより、攻撃IDデータDfから消去してもかまわない。
【0162】
図18に戻り、プロセッサ81は、上記ステップS124における攻撃発生処理の後、ダメージ計算処理を行い(ステップS125)、ステップS126に処理を進める。以下、図20を参照して、上記ステップS125におけるダメージ計算処理について説明する。
【0163】
図20において、プロセッサ81は、ダメージ計算処理の対象となっている全攻撃に対するダメージ計算処理が完了したか否かを判定する(ステップS141)。そして、プロセッサ81は、処理対象となっている全攻撃に対するダメージ計算処理が完了していない場合、ステップS142に処理を進める。一方、プロセッサ81は、処理対象となっている全攻撃に対する処理が完了している場合、当該サブルーチンによる処理を終了する。ここで、ダメージ計算処理の対象となる攻撃とは、上記ステップS131において新たに発生したと判定された攻撃のうち、当該攻撃を行う武器オブジェクト、合成武器オブジェクト、およびアイテムオブジェクトや当該攻撃を行うプレイヤオブジェクトPOの身体の一部等が攻撃対象オブジェクト(例えば、敵オブジェクトEO)や当該攻撃対象オブジェクトが装備するオブジェクトに新たに衝突した攻撃や、当該攻撃を行うアイテムオブジェクト(合成武器オブジェクトを構成するアイテムオブジェクトを含む)等の機能により生じた現象(例えば、爆発や放電)に起因して放射された放射物(放射アクター)が攻撃対象オブジェクトや当該攻撃対象オブジェクトが装備するオブジェクトに新たにヒットした攻撃等、攻撃対象オブジェクトに攻撃の作用が新たに及んだ攻撃が含まれる。
【0164】
ステップS142において、プロセッサ81は、ダメージ計算処理の対象となっている攻撃のうち、ダメージ計算処理が完了していない攻撃を選択し、次のステップに処理を進める。
【0165】
次に、プロセッサ81は、攻撃IDデータDfを参照して、現在処理対象の攻撃に付与されている攻撃IDと過去に行われた攻撃に付与されていた攻撃IDとが一致するか否かを判定する(ステップS143)。そして、プロセッサ81は、現在処理対象の攻撃に付与されている攻撃IDと過去に行われた攻撃に付与されていた攻撃IDとが一致しない場合、ステップS144に処理を進める。一方、プロセッサ81は、現在処理対象の攻撃に付与されている攻撃IDと過去に行われた攻撃に付与されていた攻撃IDとが一致する場合、ステップS150に処理を進める。第1の例として、合成武器オブジェクトαを使用するプレイヤオブジェクトPOの攻撃アクション(図11図13参照)に基づいて発生する矢オブジェクトが敵オブジェクトEOを射る第1の攻撃が現在処理対象となっている場合、当該第1の攻撃に関連付けられた他の攻撃が当該第1の攻撃の前に行われておらず、当該第1の攻撃の攻撃IDと一致する過去に行われた攻撃に付与されていた攻撃IDが存在しないため、プロセッサ81は、上記ステップS143において否定判定する。第2の例として、上記攻撃アクションに基づいて発生するアイテムオブジェクトaが敵オブジェクトEOと衝突する第2の攻撃が現在処理対象となっている場合、当該第2の攻撃に関連付けられた上記第1の攻撃が当該第2の攻撃の前に行われており、当該第2の攻撃の攻撃IDと当該第1の攻撃に付与されていた攻撃IDとが一致するため、プロセッサ81は、上記ステップS143において肯定判定する。第3の例として、上記攻撃アクションに基づいて発生するアイテムオブジェクトaが爆発することに起因する第3の攻撃が現在処理対象となっている場合、当該第3の攻撃に関連付けられた上記第2の攻撃が当該第3の攻撃の前に行われており、当該第3の攻撃の攻撃IDと当該第2の攻撃に付与されていた攻撃IDとが一致するため、プロセッサ81は、上記ステップS143において肯定判定する。
【0166】
ステップS144において、プロセッサ81は、現在処理対象の攻撃に対する防御判定を行う。例えば、プロセッサ81は、プレイヤオブジェクトPOが行った現在処理対象の攻撃を、攻撃対象オブジェクト(例えば、敵オブジェクトEO)が防具オブジェクトを用いて防御した場合、上記ステップS144において肯定判定する。一例として、プロセッサ81は、プレイヤオブジェクトPOが攻撃に用いたオブジェクトや身体の一部等が、攻撃対象オブジェクトが持つ防具オブジェクトEに衝突した場合、防具オブジェクトEを用いて攻撃が防御されたと判定する。そして、プロセッサ81は、現在処理対象の攻撃が防御された場合、ステップS145に処理を進める。一方、プロセッサ81は、現在処理対象の攻撃が防御されていない場合、ステップS146に処理を進める。
【0167】
ステップS145において、プロセッサ81は、攻撃の防御に用いられた防具オブジェクトEの耐久値を減算し、上記ステップS141に戻って処理を繰り返す。一例として、プロセッサ81は、攻撃の防御に用いられた防具オブジェクトEの耐久値を、防御した攻撃の強さ(攻撃力の高さ)に応じて減算して装備データDeを更新してもよい。他の例として、プロセッサ81は、防御した攻撃の強さの強弱(攻撃力の高低)に関わらず、攻撃を防御するごとに所定の耐久値を減算(例えば、30の初期耐久値に対して、攻撃を受けるごとに1減算)して装備データDeを更新してもよい。また、プロセッサ81は、攻撃の防御に用いられた防具オブジェクトEの耐久値が0になった場合、当該防具オブジェクトEが壊れる演出を行うとともに、当該防具オブジェクトEが仮想空間から消失する演出を開始する。防具オブジェクトEが消出する上記演出は、上記ステップS123が繰り返し実行されることにより進行する。なお、上記ステップS145が実行された場合、現在処理対象の攻撃を防御した攻撃対象オブジェクトを無敵状態に設定して無敵期間を開始してもよい。この場合、上記ステップS145の処理の後、後述するステップS149の処理が行われてもよい。
【0168】
一方、ステップS146において、プロセッサ81は、敵オブジェクトデータDcを参照して、現在処理対象の攻撃が行われる攻撃対象オブジェクト(例えば、敵オブジェクトEO)が無敵期間中か否かを判定する。そして、プロセッサ81は、攻撃対象オブジェクトが無敵期間中である場合、ステップS147に処理を進める。一方、プロセッサ81は、攻撃対象オブジェクトが無敵期間中でない場合、ステップS148に処理を進める。
【0169】
ステップS147において、プロセッサ81は、現在処理対象の攻撃によるダメージや耐久値の減少を攻撃対象オブジェクトや当該攻撃対象オブジェクトが装備するオブジェクトに与えずに現在の状態を維持するノーダメージ処理を行い、上記ステップS141に戻って処理を繰り返す。この処理により、過去に行われた攻撃に付与されていた攻撃IDと一致しない攻撃IDが付与された攻撃は、攻撃対象オブジェクトが無敵期間中である場合、当該攻撃対象オブジェクトにダメージを与えられないことになる。
【0170】
一方、ステップS148において、プロセッサ81は、現在処理対象の攻撃に対するダメージ量を算出し、次のステップに処理を進める。例えば、プロセッサ81は、現在処理対象の攻撃が成功したことにより攻撃対象オブジェクトに与えるダメージ量を算出し、ダメージ量データDgを更新する。そして、プロセッサ81は、算出されたダメージ量に基づいて、攻撃対象オブジェクトのライフ値を所定量減少させ、減少後のライフ値を用いて、敵オブジェクトデータDeを更新する。
【0171】
次に、プロセッサ81は、現在処理対象の攻撃を受けた攻撃対象オブジェクトを無敵状態に設定して無敵期間を開始し、敵オブジェクトデータDeを更新して(ステップS149)、上記ステップS141に戻って処理を繰り返す。例えば、プロセッサ81は、所定時間(例えば、30フレーム分)が経過するまでの期間を無敵期間として設定し、現在処理対象の攻撃を受けた攻撃対象オブジェクトが当該無敵期間中にさらに攻撃を受けた場合に、当該攻撃によるダメージが与えられない制御を行う。なお、プロセッサ81は、上記ステップS148の処理により現在処理対象の攻撃を受けた攻撃対象オブジェクトのライフ値が0となった場合、当該攻撃対象オブジェクトを仮想空間から消滅させて敵オブジェクトデータDeを更新してもよい。また、上記無敵期間は、攻撃対象オブジェクトの種類により、無敵期間の設定の有無や無敵期間の長さが任意に設定されてもよい。一例として、上記無敵期間は、プレイヤオブジェクトPOのみに設定され、敵オブジェクトEO等の他のキャラクタには設定されなくてもよい。
【0172】
上記ステップS143において現在処理対象の攻撃に付与されている攻撃IDと過去に行われた攻撃に付与されていた攻撃IDとが一致すると判定された場合、プロセッサ81は、攻撃IDが一致する過去の攻撃の結果に合わせたダメージ計算処理を行い(ステップS150)、上記ステップS141に戻って処理を繰り返す。第1の例として、プロセッサ81は、攻撃IDが一致する過去の攻撃の結果が、攻撃対象オブジェクトにダメージを与えている場合、現在の処理対象の攻撃が攻撃対象オブジェクトに与えるダメージ量を算出し、ダメージ量データDgを更新する。そして、プロセッサ81は、算出されたダメージ量に基づいて、攻撃対象オブジェクトのライフ値を所定量減少させ、減少後のライフ値を用いて敵オブジェクトデータDeを更新するとともに、ライフ値が0となった場合、当該攻撃対象オブジェクトを仮想空間から消滅させる。第1の例では、過去に行われた攻撃に付与されていた攻撃IDと一致する攻撃IDが付与された攻撃は、攻撃対象オブジェクトが無敵期間中であっても、当該攻撃対象オブジェクトにダメージを与えることになる。第2の例として、攻撃IDが一致する過去の攻撃が攻撃対象オブジェクトによって防御されている場合、現在の処理対象の攻撃も攻撃対象オブジェクトに防御されたと判定して当該攻撃対象オブジェクトにダメージを与えずに当該攻撃対象オブジェクトのライフ値も維持する。なお、第2の例では、現在の処理対象の攻撃も攻撃対象オブジェクトに防御されたと判定されるが、当該攻撃を防御した防具オブジェクトEの耐久値は減少させずに維持される。第3の例として、攻撃IDが一致する過去の攻撃が攻撃対象オブジェクトの無敵期間中に行われたためにノーダメージ処理が行われている場合、当該攻撃対象オブジェクトに対する現在の処理対象の攻撃もノーダメージ処理が行われる。
【0173】
一例として、上記ステップS150の処理においては、合成武器オブジェクトαを使用するプレイヤオブジェクトPOの攻撃アクション(図11図13参照)に基づいて発生するアイテムオブジェクトaが攻撃対象オブジェクトと衝突する第2の攻撃が現在処理対象の攻撃となっている場合、当該第2の攻撃によるダメージの有無の判定結果は、当該第2の攻撃に関連付けられて当該攻撃対象オブジェクトに対して既に行われている上記第1の攻撃のダメージの有無の判定結果に準じたものとなる。また、上記攻撃アクションに基づいて発生するアイテムオブジェクトaが爆発することに起因する第3の攻撃が現在処理対象の攻撃となっている場合、当該第3の攻撃によるダメージの有無の判定結果は、当該第3の攻撃に関連付けられて当該攻撃対象オブジェクトに対して既に行われている上記第2の攻撃のダメージの有無の判定結果(または上記第1の攻撃のダメージの有無の判定結果)に準じたものとなる。
【0174】
図18に戻り、プロセッサ81は、上記ステップS125におけるダメージ計算処理の後、表示制御処理を行い(ステップS126)、次のステップに処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、および配置アイテムデータDdに基づいたプレイヤオブジェクトPO、敵オブジェクトEO、および各オブジェクトが配置された仮想空間を、仮想カメラデータDhに基づいた仮想カメラから見た画像を生成して、当該仮想空間の画像をディスプレイ12に表示する制御を行う。また、プロセッサ81は、プレイヤオブジェクトデータDbおよび敵オブジェクトデータDcに基づいて、プレイヤオブジェクトPCや敵オブジェクトEO等のライフ値を示すUI(ユーザーインターフェイス)画像を作成し、当該画像を対応するキャラクタ近傍に表示してもよい。上記UI画像は、上記仮想空間の画像に重畳させて表示してもよいし、仮想空間内に配置されることにより上記仮想カメラから見た仮想空間の画像として表示されてもよい。なお、プロセッサ81は、プレイヤオブジェクトPOの位置や姿勢に基づいて、仮想空間における仮想カメラの移動を制御する処理を実行して、仮想カメラデータDhを更新してもよい。また、プロセッサ81は、操作データDaに基づいて、仮想空間において仮想カメラを移動させて、仮想カメラデータDhを更新してもよい。
【0175】
次に、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS127)。上記ステップS127においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ81は、ゲーム処理を終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS127の一連の処理は、ステップS127で処理を終了すると判定されるまで繰り返し実行される。
【0176】
なお、図18図20を用いて上述した本実施例におけるゲーム処理の詳細な一例は、プレイヤオブジェクトPOが主に攻撃側となる場合を用いて説明したが、プレイヤオブジェクトPOが防御側となる場合も上記フローチャートに基づいてゲーム処理することができる。上述したように、本実施例は、他のオブジェクト(例えば、敵オブジェクトEO)からプレイヤオブジェクトPOが攻撃を受けて、プレイヤオブジェクトPOが攻撃対象オブジェクトになることもあり得る。例えば、ユーザの操作入力に基づいて行われるプレイヤオブジェクトPOの防御動作が上記ステップS123において設定される。そして、上記プレイヤオブジェクトPOの防御動作による防御の成否やプレイヤオブジェクトPOに与えられるダメージ量の算出が上記ステップS125において行われて、プレイヤオブジェクトデータDbが適宜更新されてもよい。
【0177】
このように、本実施例においては、攻撃対象オブジェクトに対する複数回の攻撃が行われる場合に、当該攻撃対象オブジェクトにヒットした攻撃の1つが成功判定されてダメージを発生させた後、当該攻撃対象オブジェクトにヒットした他の攻撃に対してダメージを発生させないといったケースを回避することができ、複数回の攻撃を行った際にユーザに違和感を生じさせにくくすることができる。例えば、1回の攻撃アクションにおいて発生する一連の複数回の攻撃それぞれに同一の攻撃IDを付与することにより、それぞれの攻撃に基づくダメージ計算を行うことができる。
【0178】
なお、本実施例においては、攻撃IDに優先順位を設けてもよい。一例として、同じ攻撃対象オブジェクトに同一フレームで複数の攻撃が行われた場合、優先順位が最も高い攻撃IDが付与された攻撃についての成否判定処理やダメージ計算処理を行い、優先順位が相対的に低い攻撃IDが付与された他の攻撃によるダメージについては無効としてもよい。この場合、上記ステップS146における処理において、処理対象となる攻撃が行われる同じ攻撃対象オブジェクトに対して同一フレームにおいて他の攻撃も行われる場合、当該攻撃それぞれに付与されている攻撃IDの優先順位の高い方について否定判定し、攻撃IDの優先順位の低い方について肯定判定することにより、上記処理が実現されてもよい。他の例として、1回の攻撃アクションにおける一連の複数回の攻撃が攻撃対象オブジェクトに行われている途中において、他の攻撃アクションによる攻撃が同じ攻撃対象オブジェクトに行われた場合に、優先順位が最も高い攻撃IDが付与された攻撃についての成否判定処理やダメージ計算処理を行い、優先順位が相対的に低い攻撃IDが付与された他の攻撃によるダメージついては無効としてもよい。例えば、上記一連の攻撃に付与される攻撃IDの優先順位を相対的に高くすることにより、当該一連の攻撃が行われている途中に他の攻撃の割り込みがあった場合であっても、当該一連の攻撃を優先してダメージ計算処理の対象とすることができる。この場合、上記ステップS146における処理において、処理対象となる攻撃が行われる同じ攻撃対象オブジェクトに対して他の上記一連の攻撃が行われている途中である場合、優先順位が低い攻撃IDが付与された当該処理対象となる攻撃について肯定判定することにより、上記処理が実現されてもよい。
【0179】
また、上述した説明は、同じ攻撃IDを付与することにより、複数回の攻撃に対する成否判定やダメージ計算処理が行われる効果が得られるが、当該効果を得る方法は同じ攻撃IDを付与する処理に限らない。例えば、攻撃対象オブジェクトに対して、武器オブジェクトとアイテムオブジェクトとが合成された合成武器オブジェクトを用いた攻撃が行われる場合、当該武器オブジェクトによる攻撃と当該アイテムオブジェクトによる攻撃とを互いに関連付けて定義して、当該攻撃対象オブジェクトに対してそれぞれの攻撃を行う。このとき、上記武器オブジェクトの攻撃および上記アイテムオブジェクトの攻撃の一方に対して成否判定を行って攻撃成功の場合、上記攻撃対象オブジェクトに当該一方の攻撃によるダメージを発生させ、当該一方の攻撃に関連付けられた上記武器オブジェクトの攻撃および上記アイテムオブジェクトの攻撃の他方に対しても攻撃成功であるとして、上記攻撃対象オブジェクトに当該他方の攻撃によるダメージを発生させる。このように攻撃IDを用いない処理であっても、互いに関連付ける攻撃を定義することにより1つの攻撃として取り扱うことができ、それぞれの攻撃に基づくダメージ計算を行うことができる。
【0180】
また、上述した実施例では、プレイヤオブジェクトPOがアイテムオブジェクトを攻撃アクションに用いる例を用いたが、アイテムオブジェクトは、他のアクションに用いられてもかまわない。また、アイテムオブジェクトは、合成武器オブジェクトに合成されることにより利用されるだけでなく、他の形態で利用されてもよい。例えば、プレイヤオブジェクトPOがアイテムオブジェクト単体を持って移動させるアクションや、アイテムオブジェクト単体を投げるアクションが可能であってもかまわない。なお、アイテムオブジェクト単体を投げるアクションは、アイテムオブジェクト単体を攻撃対象オブジェクトに投げて当てることにより、上述した攻撃アクションに含まれていてもよい。
【0181】
また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。
【0182】
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1で行われる例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、サーバ、他の情報処理装置、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0183】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0184】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0185】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0186】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書が(定義を含めて)優先する。
【産業上の利用可能性】
【0187】
以上のように、本発明は、仮想空間において、複数回の攻撃が行われる場合に、当該攻撃に基づくダメージ計算等を行うことができるゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法等として利用することができる。
【符号の説明】
【0188】
1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
11…ハウジング
12…ディスプレイ
13…タッチパネル
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20