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

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

▶ 株式会社ハル研究所の特許一覧 ▶ 任天堂株式会社の特許一覧

特許7500011ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
<>
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図1
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図2
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図3
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図4
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図5
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図6
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図7
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図8
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図9
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図10
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図11
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図12
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図13
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図14
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図15
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図16
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図17
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図18
  • 特許-ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
(51)【国際特許分類】
   A63F 13/577 20140101AFI20240610BHJP
【FI】
A63F13/577
【請求項の数】 36
(21)【出願番号】P 2021146246
(22)【出願日】2021-09-08
(65)【公開番号】P2023039201
(43)【公開日】2023-03-20
【審査請求日】2023-01-12
【前置審査】
(73)【特許権者】
【識別番号】391041718
【氏名又は名称】株式会社ハル研究所
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【弁理士】
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【弁理士】
【氏名又は名称】小沢 昌弘
(72)【発明者】
【氏名】住友 克禎
(72)【発明者】
【氏名】神山 達哉
【審査官】宮本 昭彦
(56)【参考文献】
【文献】特開2011-210019(JP,A)
【文献】特許第5289031(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 - 13/98
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
仮想空間において仮想カメラを制御させ、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間においてプレイヤキャラクタオブジェクトの移動を制御させ、
前記操作入力に基づくアクション指示に応じて、前記仮想空間において前記プレイヤキャラクタオブジェクトによるアクションを制御させ、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をさせるとともに、前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向に所定量だけずれた位置に、当該領域と同じ形状の領域を追加することで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をさせ、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行わせる、ゲームプログラム。
【請求項2】
情報処理装置のコンピュータに、
仮想空間において仮想カメラを制御させ、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間においてプレイヤキャラクタオブジェクトの移動を制御させ、
前記操作入力に基づくアクション指示に応じて、前記仮想空間において前記プレイヤキャラクタオブジェクトによるアクションを制御させ、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をさせるとともに、当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をさせ、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行わせ、
前記当たり判定領域に対する前記拡張において、前記複数の領域の少なくともいずれかを、前記仮想カメラの奥行方向に移動させた領域を用いることで当該拡張が行われる、ゲームプログラム。
【請求項3】
情報処理装置のコンピュータに、
仮想空間において仮想カメラを制御させ、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間においてプレイヤキャラクタオブジェクトの移動を制御させ、
前記操作入力に基づくアクション指示に応じて、前記仮想空間において前記プレイヤキャラクタオブジェクトによるアクションを制御させ、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための所定形状の当たり判定領域の設定をさせるとともに、前記当たり判定領域を前記仮想カメラの奥行方向に拡大するように当該当たり判定領域の形状に基づいて変形させることで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をさせ、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行わせる、ゲームプログラム。
【請求項4】
前記コンピュータに、
前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向における手前側と奥側との両側に領域をそれぞれ追加することで前記当たり判定領域に対する前記拡張をさせる、請求項1に記載のゲームプログラム。
【請求項5】
前記当たり判定領域は球形である、請求項1から請求項4のいずれか1項に記載のゲームプログラム。
【請求項6】
前記当たり判定領域は、所定の位置関係で配置される第1単位領域および第2単位領域と、当該第1単位領域と当該第2単位領域とを所定の規則で繋ぐ接続領域とを含む形状である、請求項1から請求項4のいずれか1項に記載のゲームプログラム。
【請求項7】
前記ゲームプログラムは、前記コンピュータに、
前記アクション指示に応じて、前記プレイヤキャラクタオブジェクトによる前記アクションの制御を開始させるとともに、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて前記当たり判定領域の前記設定をさせ、
さらに、前記アクションの開始後における所定期間において、前記プレイヤキャラクタオブジェクトによる当該アクションの制御を継続させるとともに、前記当たり判定領域を時間経過に応じて更新させ、
前記当たり判定領域の時間経過に応じた更新は、前記アクションに関連付けられたパターンに基づいて当該当たり判定領域を時間経過に応じて更新することと、更新された当該当たり判定領域を前記仮想カメラの奥行方向に拡張することとによって行われる、請求項1から請求項6のいずれか1項に記載のゲームプログラム。
【請求項8】
前記他のオブジェクトは敵キャラクタオブジェクトであって、
前記アクションは攻撃アクションであって、
前記アクションに基づく処理は、前記敵キャラクタオブジェクトに対してダメージを与える処理である、請求項1から請求項7のいずれか1項に記載のゲームプログラム。
【請求項9】
前記コンピュータに、さらに、
前記仮想空間において前記敵キャラクタオブジェクトを制御させ、
前記敵キャラクタオブジェクトに対する制御に基づいて、当該敵キャラクタオブジェクトが前記プレイヤキャラクタオブジェクトに対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタオブジェクトに当たったか否かの判定を行うための敵性当たり判定領域を、前記仮想カメラの奥行方向への拡張を行わずに、当該敵キャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定させ、
前記敵性当たり判定領域が前記プレイヤキャラクタオブジェクトに接触した場合、当該プレイヤキャラクタオブジェクトに対してダメージを与える処理を行わせる、請求項8に記載のゲームプログラム。
【請求項10】
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向に所定量だけずれた位置に、当該領域と同じ形状の領域を追加することで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、情報処理装置。
【請求項11】
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行い、
前記当たり判定領域に対する前記拡張において、前記複数の領域の少なくともいずれかを、前記仮想カメラの奥行方向に移動させた領域を用いることで当該拡張が行われる、情報処理装置。
【請求項12】
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための所定形状の当たり判定領域の設定をするとともに、前記当たり判定領域を前記仮想カメラの奥行方向に拡大するように当該当たり判定領域の形状に基づいて変形させることで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、情報処理装置。
【請求項13】
前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向における手前側と奥側との両側に領域をそれぞれ追加することで前記当たり判定領域に対する前記拡張をする、請求項10に記載の情報処理装置。
【請求項14】
前記当たり判定領域は球形である、請求項10から請求項13のいずれか1項に記載の情報処理装置。
【請求項15】
前記当たり判定領域は、所定の位置関係で配置される第1単位領域および第2単位領域と、当該第1単位領域と当該第2単位領域とを所定の規則で繋ぐ接続領域とを含む形状である、請求項10から請求項13のいずれか1項に記載の情報処理装置。
【請求項16】
前記情報処理装置は、
前記アクション指示に応じて、前記プレイヤキャラクタオブジェクトによる前記アクションの制御を開始するとともに、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて前記当たり判定領域の前記設定をし、
さらに、前記アクションの開始後における所定期間において、前記プレイヤキャラクタオブジェクトによる当該アクションの制御を継続するとともに、前記当たり判定領域を時間経過に応じて更新し、
前記当たり判定領域の時間経過に応じた更新は、前記アクションに関連付けられたパターンに基づいて当該当たり判定領域を時間経過に応じて更新することと、更新された当該当たり判定領域を前記仮想カメラの奥行方向に拡張することとによって行われる、請求項10から請求項15のいずれか1項に記載の情報処理装置。
【請求項17】
前記他のオブジェクトは敵キャラクタオブジェクトであって、
前記アクションは攻撃アクションであって、
前記アクションに基づく処理は、前記敵キャラクタオブジェクトに対してダメージを与える処理である、請求項10から請求項16のいずれか1項に記載の情報処理装置。
【請求項18】
前記情報処理装置は、さらに、
前記仮想空間において前記敵キャラクタオブジェクトを制御し、
前記敵キャラクタオブジェクトに対する制御に基づいて、当該敵キャラクタオブジェクトが前記プレイヤキャラクタオブジェクトに対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタオブジェクトに当たったか否かの判定を行うための敵性当たり判定領域を、前記仮想カメラの奥行方向への拡張を行わずに、当該敵キャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定し、
前記敵性当たり判定領域が前記プレイヤキャラクタオブジェクトに接触した場合、当該プレイヤキャラクタオブジェクトに対してダメージを与える処理を行う、請求項17に記載の情報処理装置。
【請求項19】
プロセッサと、ゲームプログラムを記憶する記憶媒体を備える情報処理システムであって、
前記プロセッサは、前記ゲームプログラムを実行することにより、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向に所定量だけずれた位置に、当該領域と同じ形状の領域を追加することで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、情報処理システム。
【請求項20】
プロセッサと、ゲームプログラムを記憶する記憶媒体を備える情報処理システムであって、
前記プロセッサは、前記ゲームプログラムを実行することにより、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行い、
前記当たり判定領域に対する前記拡張において、前記複数の領域の少なくともいずれかを、前記仮想カメラの奥行方向に移動させた領域を用いることで当該拡張が行われる、情報処理システム。
【請求項21】
プロセッサと、ゲームプログラムを記憶する記憶媒体を備える情報処理システムであって、
前記プロセッサは、前記ゲームプログラムを実行することにより、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための所定形状の当たり判定領域の設定をするとともに、前記当たり判定領域を前記仮想カメラの奥行方向に拡大するように当該当たり判定領域の形状に基づいて変形させることで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、情報処理システム。
【請求項22】
前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向における手前側と奥側との両側に領域をそれぞれ追加することで前記当たり判定領域に対する前記拡張をする、請求項19に記載の情報処理システム。
【請求項23】
前記当たり判定領域は球形である、請求項19から請求項22のいずれか1項に記載の情報処理システム。
【請求項24】
前記当たり判定領域は、所定の位置関係で配置される第1単位領域および第2単位領域と、当該第1単位領域と当該第2単位領域とを所定の規則で繋ぐ接続領域とを含む形状である、請求項19から請求項22のいずれか1項に記載の情報処理システム。
【請求項25】
前記情報処理システムは、
前記アクション指示に応じて、前記プレイヤキャラクタオブジェクトによる前記アクションの制御を開始するとともに、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて前記当たり判定領域の前記設定をし、
さらに、前記アクションの開始後における所定期間において、前記プレイヤキャラクタオブジェクトによる当該アクションの制御を継続するとともに、前記当たり判定領域を時間経過に応じて更新し、
前記当たり判定領域の時間経過に応じた更新は、前記アクションに関連付けられたパターンに基づいて当該当たり判定領域を時間経過に応じて更新することと、更新された当該当たり判定領域を前記仮想カメラの奥行方向に拡張することとによって行われる、請求項19から請求項24のいずれか1項に記載の情報処理システム。
【請求項26】
前記他のオブジェクトは敵キャラクタオブジェクトであって、
前記アクションは攻撃アクションであって、
前記アクションに基づく処理は、前記敵キャラクタオブジェクトに対してダメージを与える処理である、請求項19から請求項25のいずれか1項に記載の情報処理システム。
【請求項27】
前記情報処理システムは、さらに、
前記仮想空間において前記敵キャラクタオブジェクトを制御し、
前記敵キャラクタオブジェクトに対する制御に基づいて、当該敵キャラクタオブジェクトが前記プレイヤキャラクタオブジェクトに対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタオブジェクトに当たったか否かの判定を行うための敵性当たり判定領域を、前記仮想カメラの奥行方向への拡張を行わずに、当該敵キャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定し、
前記敵性当たり判定領域が前記プレイヤキャラクタオブジェクトに接触した場合、当該プレイヤキャラクタオブジェクトに対してダメージを与える処理を行う、請求項26に記載の情報処理システム。
【請求項28】
情報処理システムによって実行されるゲーム処理方法であって、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向に所定量だけずれた位置に、当該領域と同じ形状の領域を追加することで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、ゲーム処理方法。
【請求項29】
情報処理システムによって実行されるゲーム処理方法であって、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域であって、所定の位置関係で配置される所定形状の複数の領域である当たり判定領域の設定をするとともに、当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をし、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行い、
前記当たり判定領域に対する前記拡張において、前記複数の領域の少なくともいずれかを、前記仮想カメラの奥行方向に移動させた領域を用いることで当該拡張が行われる、ゲーム処理方法。
【請求項30】
情報処理システムによって実行されるゲーム処理方法であって、
仮想空間において仮想カメラを制御し、
ユーザによる操作入力に基づく移動指示に応じて、前記仮想空間におけるプレイヤキャラクタオブジェクトの移動を制御し、
前記操作入力に基づくアクション指示に応じて、前記仮想空間における前記プレイヤキャラクタオブジェクトによるアクションを制御し、
前記プレイヤキャラクタオブジェクトが前記アクションを行う場合、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための所定形状の当たり判定領域の設定をするとともに、前記当たり判定領域を前記仮想カメラの奥行方向に拡大するように当該当たり判定領域の形状に基づいて変形させることで当該当たり判定領域に対する前記仮想カメラの奥行方向への拡張をさせ、
拡張された前記当たり判定領域が前記他のオブジェクトに接触した場合、当該他のオブジェクトに対する前記アクションに基づく処理を行う、ゲーム処理方法。
【請求項31】
前記複数の領域の少なくともいずれかに対して、前記仮想カメラの奥行方向における手前側と奥側との両側に領域をそれぞれ追加することで前記当たり判定領域に対する前記拡張をする、請求項28に記載のゲーム処理方法。
【請求項32】
前記当たり判定領域は球形である、請求項28から請求項31のいずれか1項に記載のゲーム処理方法。
【請求項33】
前記当たり判定領域は、所定の位置関係で配置される第1単位領域および第2単位領域と、当該第1単位領域と当該第2単位領域とを所定の規則で繋ぐ接続領域とを含む形状である、請求項28から請求項31のいずれか1項に記載のゲーム処理方法。
【請求項34】
前記アクション指示に応じて、前記プレイヤキャラクタオブジェクトによる前記アクションの制御を開始するとともに、当該プレイヤキャラクタオブジェクトの前記仮想空間における位置および方向に基づいて前記当たり判定領域の前記設定をし、
さらに、前記アクションの開始後における所定期間において、前記プレイヤキャラクタオブジェクトによる当該アクションの制御を継続するとともに、前記当たり判定領域を時間経過に応じて更新し、
前記当たり判定領域の時間経過に応じた更新は、前記アクションに関連付けられたパターンに基づいて当該当たり判定領域を時間経過に応じて更新することと、更新された当該当たり判定領域を前記仮想カメラの奥行方向に拡張することとによって行われる、請求項28から請求項33のいずれか1項に記載のゲーム処理方法。
【請求項35】
前記他のオブジェクトは敵キャラクタオブジェクトであって、
前記アクションは攻撃アクションであって、
前記アクションに基づく処理は、前記敵キャラクタオブジェクトに対してダメージを与える処理である、請求項28から請求項34のいずれか1項に記載のゲーム処理方法。
【請求項36】
前記仮想空間において前記敵キャラクタオブジェクトを制御し、
前記敵キャラクタオブジェクトに対する制御に基づいて、当該敵キャラクタオブジェクトが前記プレイヤキャラクタオブジェクトに対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタオブジェクトに当たったか否かの判定を行うための敵性当たり判定領域を、前記仮想カメラの奥行方向への拡張を行わずに、当該敵キャラクタオブジェクトの前記仮想空間における位置および方向に基づいて設定し、
前記敵性当たり判定領域が前記プレイヤキャラクタオブジェクトに接触した場合、当該プレイヤキャラクタオブジェクトに対してダメージを与える処理を行う、請求項35に記載のゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間におけるオブジェクトについて当たり判定を行うためのゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法に関する。
【背景技術】
【0002】
従来、仮想空間に配置されるオブジェクトが他のオブジェクトと当たったか否かを判定する技術がある。このような当たり判定を行う方法として、例えば、オブジェクトに当たり判定領域を設定する方法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第5289031号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
3次元の仮想空間に関しては、当該仮想空間が画面に表示されるときの奥行方向についてオブジェクトの位置をユーザが正確に把握しづらいことがある。そのため、ユーザがあるオブジェクトを操作して当該あるオブジェクトによるアクションを他のオブジェクトに当てようとする際において、これら2つのオブジェクトの位置が奥行方向にずれているか否かの判断が難しいことから、アクションを当該他のオブジェクトに当てることが難しい場合があった。
【0005】
それ故、本発明の目的は、奥行方向に関してオブジェクト同士の位置がずれていても、アクションをオブジェクトに対して当てやすくすることができるゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の(1)~(10)の構成を採用した。
【0007】
(1)
本発明の一例は、情報処理装置のコンピュータに、次の処理を行わせるゲームプログラムである。
・仮想空間において仮想カメラを制御する。
・ユーザによる操作入力に基づく移動指示に応じて、仮想空間においてプレイヤキャラクタオブジェクトの移動を制御する。
・操作入力に基づくアクション指示に応じて、仮想空間においてプレイヤキャラクタオブジェクトによるアクションを制御する。
・プレイヤキャラクタオブジェクトがアクションを行う場合、当該プレイヤキャラクタオブジェクトの仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタオブジェクト以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域を設定するとともに、当該当たり判定領域を仮想カメラの奥行方向に拡張する。
・拡張された当たり判定領域が他のオブジェクトに接触した場合、当該他のオブジェクトに対するアクションに基づく処理を行う。
【0008】
上記(1)の構成によれば、仮想カメラの奥行方向に当たり判定領域が拡張されることによって、仮想カメラの奥行方向に関してオブジェクト同士の位置がずれていても、アクションをオブジェクトに対して当てやすくすることができる。
【0009】
(2)
当たり判定領域は、所定の位置関係で配置される所定形状の複数の領域であってもよい。ゲームプログラムは、コンピュータに、複数の領域の少なくともいずれかに対して、仮想カメラの奥行方向に所定量だけずれた位置に、当該領域と同じ形状の領域を追加することで当たり判定領域を拡張させるようにしてもよい。
【0010】
上記(2)の構成によれば、基準領域の位置を変更することよって追加領域を容易に設定することができるので、当たり判定領域の拡張を容易に行うことができる。
【0011】
(3)
ゲームプログラムは、コンピュータに、複数の領域の少なくともいずれかに対して、仮想カメラの奥行方向における手前側と奥側との両側に領域をそれぞれ追加することで当たり判定領域を拡張させるようにしてもよい。
【0012】
上記(3)の構成によれば、アクションをオブジェクトに対してより確実に当てやすくなる。
【0013】
(4)
当たり判定領域は、所定の位置関係で配置される所定形状の複数の領域であってもよい。ゲームプログラムは、コンピュータに、複数の領域の少なくともいずれかを、仮想カメラの奥行方向に移動させることで当たり判定領域を拡張させるようにしてもよい。
【0014】
上記(4)の構成によれば、基準領域を移動させることによって、当たり判定領域の拡張を容易に行うことができる。
【0015】
(5)
ゲームプログラムは、コンピュータに、当たり判定領域を仮想カメラの奥行方向に拡大するように変形させることで当該当たり判定領域を拡張させるようにしてもよい。
【0016】
上記(5)の構成によれば、当たり判定領域を変形させることで当該当たり判定領域を拡張することができる。
【0017】
(6)
当たり判定領域は球形であってもよい。
【0018】
上記(6)の構成によれば、当たり判定領域の管理と、当たり判定領域を用いた判定とを容易に行うことができる。
【0019】
(7)
当たり判定領域は、所定の位置関係で配置される第1単位領域および第2単位領域と、当該第1単位領域と当該第2単位領域とを所定の規則で繋ぐ接続領域とを含む形状であってもよい。
【0020】
上記(7)の構成によれば、単純でない形状の当たり判定領域を用いることができる。
【0021】
(8)
ゲームプログラムは、コンピュータに、アクション指示に応じて、プレイヤキャラクタオブジェクトによるアクションの制御を開始させるとともに、当該プレイヤキャラクタオブジェクトの仮想空間における位置および方向に基づいて当たり判定領域を設定させてもよい。また、ゲームプログラムは、コンピュータに、アクションの開始後における所定期間において、プレイヤキャラクタオブジェクトによる当該アクションの制御を継続させるとともに、当たり判定領域を時間経過に応じて更新させてもよい。当たり判定領域の時間経過に応じた更新は、アクションに関連付けられたパターンに基づいて当該当たり判定領域を時間経過に応じて更新することと、更新された当該当たり判定領域を仮想カメラの奥行方向に拡張することとによって行われてもよい。
【0022】
上記(8)の構成によれば、拡張元の当たり判定領域が動的に変化する場合であっても、当たり判定領域の拡張を、変化に応じて精度良く行うことができる。
【0023】
(9)
他のオブジェクトは敵キャラクタオブジェクトであってもよい。所定のアクションは攻撃アクションであってもよい。アクションに基づく処理は、敵キャラクタオブジェクトに対してダメージを与える処理であってもよい。
【0024】
上記(9)の構成によれば、敵キャラクタによる攻撃アクションを当てやすくすることができ、攻撃アクションの操作性を向上することができる。
【0025】
(10)
ゲームプログラムは、コンピュータに、次の処理をさらに行わせてもよい。
・仮想空間において敵キャラクタオブジェクトを制御する。
・敵キャラクタオブジェクトに対する制御に基づいて、当該敵キャラクタオブジェクトがプレイヤキャラクタオブジェクトに対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタオブジェクトに当たったか否かの判定を行うための敵性当たり判定領域を、仮想カメラの奥行方向への拡張を行わずに、当該敵キャラクタオブジェクトの仮想空間における位置および方向に基づいて設定する。
・敵性当たり判定領域がプレイヤキャラクタオブジェクトに接触した場合、当該プレイヤキャラクタオブジェクトに対してダメージを与える処理を行う。
【0026】
上記(10)の構成によれば、当たり判定領域を拡張する処理と、当たり判定の処理との処理量を低減することができる。
【0027】
なお、本発明の別の一例は、上記(1)~(10)における処理を実行する情報処理装置または情報処理システムであってもよい。また、本発明の別の一例は、上記(1)~(10)における処理を実行するゲーム処理方法であってもよい。
【発明の効果】
【0028】
上記ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法によれば、アクションをオブジェクトに対して当てやすくすることができる。
【図面の簡単な説明】
【0029】
図1】本体装置に左コントローラおよび右コントローラを装着した状態の一例を示す図
図2】本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の一例を示す図
図3】本体装置の一例を示す六面図
図4】左コントローラの一例を示す六面図
図5】右コントローラの一例を示す六面図
図6】本体装置の内部構成の一例を示すブロック図
図7】本体装置と左コントローラおよび右コントローラとの内部構成の一例を示すブロック図
図8】剣アクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図
図9】剣アクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との他の一例を示す図
図10図8に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図
図11図8に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの他の一例を示す図
図12】ハンマーアクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図
図13図12に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図
図14図13に示す追加領域の設定方法の一例を示す図
図15】カッターアクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図
図16図15に示すカッターおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図
図17】ゲームシステム1における情報処理に用いられる各種データの一例を示す図
図18】ゲームシステム1によって実行されるゲーム処理の流れの一例を示すフローチャート
図19】実施形態の変形例における当たり判定領域の一例を示す図
【発明を実施するための形態】
【0030】
[1.ゲームシステムの構成]
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0031】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0032】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0033】
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0034】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0035】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0036】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0037】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0038】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0039】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0040】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0041】
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0042】
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0043】
左コントローラ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プログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0044】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0045】
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0046】
右コントローラ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を備える。
【0047】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0048】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~85、87、88、91、97、および98を備える。これらの構成要素81~85、87、88、91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0049】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0050】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0051】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0052】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0053】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0054】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0055】
プロセッサ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は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0056】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0057】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0058】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0059】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0060】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0061】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
【0062】
左コントローラ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(登録商標)の規格に従って行われる。
【0063】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0064】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0065】
通信制御部101は、各入力部(具体的には、各ボタン103、および、アナログスティック32)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0066】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
【0067】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0068】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0069】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0070】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0071】
[2.ゲームシステムにおける処理の概要]
次に、図8図16を参照して、ゲームシステム1において実行される処理の概要について説明する。本実施形態においては、ゲームシステム1は、仮想空間(ゲーム空間とも言う)において、ゲームシステム1のユーザ(プレイヤとも言う)によって操作されるオブジェクトであるプレイヤキャラクタオブジェクト(以下、単に「プレイヤキャラクタ」と呼ぶ)の動作を制御する。また、ゲームシステム1は、プレイヤキャラクタによるアクションに応じて、当該アクションに関する当たり判定を行う。具体的には、本実施形態においては、上記アクションは敵キャラクタオブジェクト(以下、単に「敵キャラクタ」と呼ぶ)に対する攻撃アクションであり、ゲームシステム1は、攻撃アクションが敵キャラクタに当たったか否かの判定を行う。なお、他の実施形態においては、上記のアクションは攻撃アクションに限らず、任意のアクションでよい(後述する“[4.本実施形態の作用効果および変形例]”参照)。
【0072】
上記の判定には当たり判定領域が用いられる。すなわち、ゲームシステム1は、攻撃アクションについてゲーム空間に当たり判定領域を設定し、敵キャラクタの少なくとも一部が当たり判定領域内に含まれる場合、攻撃アクションが敵キャラクタに当たったと判定する。一方、敵キャラクタが当たり判定領域内に含まれない場合、ゲームシステム1は、攻撃アクションが敵キャラクタに当たっていないと判定する。
【0073】
本実施形態においては、プレイヤキャラクタは、複数種類の攻撃アクションを行うことが可能である。攻撃アクションの内容は任意であるが、以下では、例として、剣を振る攻撃アクション(以下、「剣アクション」と呼ぶ。)、ハンマーを振る攻撃アクション(以下、「ハンマーアクション」と呼ぶ。)、および、カッターを投げる攻撃アクション(以下、「カッターアクション」と呼ぶ。)の3種類の攻撃アクションについて、当たり判定領域の設定方法について説明する。
【0074】
図8は、剣アクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図である。攻撃アクションが行われる場合、ゲームシステム1は、当該攻撃アクションを行うプレイヤキャラクタ201の位置および向きに基づいて当たり判定領域202(図8では、4つの当たり判定領域202)を設定する。具体的には、プレイヤキャラクタ201が剣アクションを行う場合、ゲームシステム1は、図8に示すように、剣オブジェクト203の軌道を含む位置に当たり判定領域202を設定する。
【0075】
なお、詳細は後述するが、本実施形態においては、ゲームシステム1は、当たり判定領域の拡張を行う。以下では、拡張が行われる元となる当たり判定領域を、「基準領域」と呼ぶ。図8に示す例においては、基準領域として、球形の4つの領域202が設定される。なお、1回の攻撃アクションにおいて設定される基準領域(当たり判定領域とも言える)の形状および数は任意である。例えば、図9のように剣の根本、中央、先端等、剣の部位ごとに領域209を設定して複数個(図9に示す例では、3個)の領域209によって剣オブジェクト203の長い形状をカバーしてもよい。なお、図9に示す例では、剣オブジェクト203の形状に応じた領域を当たり判定領域としてカバーするべく3個の領域209が設定されるとともに、剣オブジェクト203が振られた際に通過する領域を当たり判定領域としてカバーするべく、当該3個の領域209を1組として4組(つまり、合計12個)の当たり判定領域が基準領域として設定されている。詳細は後述するが、本実施形態においては、ゲームシステム1は、攻撃アクションの種類に応じた数および形状の基準領域を、攻撃アクションの種類に応じた位置関係(配置パターンとも言う)で配置されるように設定する。
【0076】
上記のように、拡張元の当たり判定領域を球形とすることによって、ゲームシステム1は、当該領域を中心位置および半径という2つのパラメータで管理することができ、また、当たり判定を容易に行うことができる。
【0077】
本実施形態においては、剣アクションについては、ゲームシステム1は、上記4つの基準領域202を同時に(つまり、1フレーム内において)設定する。また、剣アクションが行われる期間において、ゲームシステム1は、上記4つの基準領域202を継続的に設定する。なお、4つの基準領域202は剣アクション中において移動しない。
【0078】
なお、複数の基準領域を同時に設定する場合、ゲームシステム1は、基準領域の一部が他の基準領域の一部と重複するように各基準領域を設定してもよい(図8参照)。これによれば、攻撃アクションが行われる軌道(例えば、剣の軌道)上に配置される他のオブジェクトが当たり判定領域に含まれない結果、攻撃アクションが当該他のオブジェクトに当たっていないと誤判定される可能性を低減することができる。
【0079】
図10は、図8に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図である。図10に示す例においては、ゲーム画像を生成するための仮想カメラ204は、プレイヤキャラクタ201の側方に配置されているものとする。なお、図10においては、図面を見やすくする目的で、設定される4つの基準領域202のうち1つのみを図示しており、後述する追加領域についても、図示される基準領域に基づいて設定される追加領域のみを図示している。
【0080】
本実施形態においては、ゲームシステム1は、当たり判定領域の拡張を行う。具体的には、ゲームシステム1は、基準領域202から仮想カメラ204の奥行方向(図10に示す一点鎖線の方向)にずれた位置に追加領域205および206を設定することで、当たり判定領域を拡張する。なお、各追加領域205および206の大きさおよび形状は、基準領域202の大きさおよび形状と同じである。このような拡張方法は、基準領域202を奥行方向に移動させることで当たり判定領域を拡張する方法であると言うこともできる。拡張後の当たり判定領域は、基準領域202ならびに追加領域205および206の少なくともいずれかに含まれる領域となる。
【0081】
上記のように、仮想カメラ204の奥行方向に当たり判定領域を拡張することで、攻撃アクションが行われた位置と敵キャラクタの位置とが奥行方向に関して多少ずれている場合でも、攻撃アクションが敵キャラクタに当たったと判定されやすくなる。これによって、上記奥行方向について敵キャラクタの位置をユーザが正確に把握しづらい場合でも、ユーザは攻撃アクションを敵キャラクタに当てやすくなる。したがって、攻撃アクションの操作性を向上することができる。
【0082】
なお、本実施形態においては、ゲームシステム1は、仮想カメラの奥行方向にずれた位置に基準領域202と同じ形状の追加領域205および206を追加することで、当たり判定領域を拡張させる(仮想カメラの奥行方向に基準領域202を移動させることで当たり判定領域を拡張させる、と言うこともできる)。これによれば、ゲームシステム1は、基準領域202の位置を変更する処理によって追加領域205および206を容易に設定することができるので、拡張処理を容易に行うことができる。
【0083】
なお、図10において図示しないが、ゲームシステム1は、4つの基準領域202のそれぞれについて追加領域を設定することで、4つの基準領域202のそれぞれについて拡張を行う。ただし、他の実施形態においては、複数の基準領域が設定される場合において、ゲームシステム1は、全ての基準領域について拡張を行う必要はなく、複数の基準領域のうちの少なくともいずれかに対して拡張を行うようにしてもよい。例えば、複数の基準領域が環状に並んで配置され、環状に配置された複数の基準領域の中心にさらに基準領域が配置される場合を考える。この場合、中心に配置される基準領域については、拡張を行っても行わなくても拡張後の当たり判定領域の全体には大きな変化はないことも考えられる。そのため、例えば、上記の場合においては、中心に配置される基準領域については拡張が行われなくてもよい。
【0084】
図10に示すように、本実施形態においては、追加領域205および206は、仮想カメラ204の位置と、基準領域202の中心とを通る直線上に追加領域の中心が位置するように設定される。これによれば、仮想カメラ204の位置から見ると、拡張が行われても当たり判定領域の範囲に(見た目上は)ほとんど変化がない。そのため、ゲームシステム1は、ユーザに違和感を与えることなく当たり判定領域の拡張を行うことができる。
【0085】
また、本実施形態においては、ゲームシステム1は、基準領域202を基準として、仮想カメラ204の奥行方向における手前側に追加領域205を設定し、奥側に追加領域206を設定する。このように、ゲームシステム1は、仮想カメラ204の奥行方向における手前側と奥側との両側に追加領域をそれぞれ追加することで当たり判定領域を拡張する。これによれば、攻撃アクションが行われた位置が敵キャラクタの位置に対して手前側にずれていた場合も奥側にずれていた場合も、攻撃アクションが敵キャラクタに当たったと判定されやすくなる。したがって、いずれの場合もユーザは攻撃アクションを敵キャラクタに当てやすくなり、攻撃アクションをより確実に当てやすくなる。
【0086】
なお、他の実施形態においては、ゲームシステム1は、基準領域を基準として、仮想カメラの奥行方向における手前側と奥側とのいずれか一方に拡張を行うようにしてもよい。例えば、プレイヤキャラクタが、仮想カメラの奥行方向における奥側へ向かって主に進んでいくゲームにおいては、プレイヤキャラクタ201に対して敵キャラクタが奥側に存在する場合が多いと考えられる。そのため、このようなゲームにおいては、ゲームシステム1は、基準領域に対して当該奥行方向における奥側にのみ追加領域を設定するようにしてもよい。これによれば、ゲームシステム1は、追加領域の数を少なくすることができ、当たり判定の処理負荷を軽減することができる。
【0087】
本実施形態においては、追加領域205および206は、基準領域202(より具体的には、基準領域202の中心)から仮想カメラ204の奥行方向に所定の設定距離だけずれた位置に設定される。この設定距離は、プレイヤキャラクタ201の大きさを基準に設定されてもよい。例えば、設定距離は、プレイヤキャラクタ201の大きさ(例えば、プレイヤキャラクタ201の幅)の半分の長さに設定される。なお、本実施形態においては、上記設定距離は仮想カメラ204の奥行方向における前側と奥側とで同じ長さに設定されるが、他の実施形態においては、前側と奥側とで異なる長さに設定されてもよい。
【0088】
また、本実施形態においては、追加領域は、当該追加領域に対応する基準領域と一部が重複するように設定される(図10参照)。これによれば、基準領域とそれに基づいて設定される追加領域との間に隙間が生じないので、この隙間に敵キャラクタが存在する場合に攻撃アクションが敵キャラクタに当たっていないと誤判定される可能性を低減することができる。
【0089】
図11は、図10と同様、図8に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの他の一例を示す図である。図11は、図10と異なり、仮想カメラ204がプレイヤキャラクタ201の後方に配置されている場合の一例を示している。
【0090】
図11に示す場合においても図10に示す場合と同様、ゲームシステム1は、基準領域202に対して仮想カメラ204の奥行方向に上記設定距離だけずれた位置に追加領域205および206を設定する。したがって、図11に示す場合においても図10に示す場合と同様に当たり判定領域が拡張され、図10に示す場合と同様の効果を奏する。このように、本実施形態においては、仮想カメラ204に対するプレイヤキャラクタ201の位置および向きに関わらず、仮想カメラ204の奥行方向に当たり判定領域が拡張される。そのため、プレイヤキャラクタ201の位置や向きに関わらず、攻撃アクションを敵キャラクタに当てやすくなるという効果を奏することができる。
【0091】
図12は、ハンマーアクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図である。図12に示す状態(a)は、プレイヤキャラクタ201がハンマーを振り始めた時点における状態であり、図12に示す状態(b)は、状態(a)から時間が経過した後の時点における状態である。
【0092】
ハンマーアクションにおいても剣アクションと同様、ゲームシステム1は、攻撃アクションを行うプレイヤキャラクタ201の位置および向きに基づいて当たり判定領域を設定する。ここで、ハンマーアクションが行われる場合、ゲームシステム1は、図12に示すように、ハンマーオブジェクト210のヘッドの位置の付近に基準領域211を設定する。なお、ハンマーアクションの場合は、剣アクションの場合とは異なり、攻撃アクション中のハンマーオブジェクト210の移動に応じて基準領域211も移動するように、基準領域211が設定される。つまり、ハンマーアクション中においては基準領域211が移動する(図12参照)。
【0093】
また、本実施形態においては、ハンマーアクションにおいては、同時に設定される(具体的には、1フレームにおいて設定される)基準領域は1つであるとする。ただし、ハンマーアクションについても剣アクションと同様、同時に複数の基準領域が設定されてもよい。
【0094】
本実施形態においては、ハンマーアクションにおける基準領域211は、剣アクションとは異なり、カプセル形状(柱状とも言える)である。ゲームシステム1は、このような形状の基準領域211を、球形の第1単位領域212および第2単位領域213に基づいて設定する。具体的には、ゲームシステム1は、第1単位領域212と、第2単位領域213と、2つの単位領域212および213を接続する接続領域214とを、基準領域211として設定する(図12参照)。なお、本実施形態においては、接続領域214は、第1単位領域212を第2単位領域213へとまっすぐ移動させると仮定した場合に当該第1単位領域212が通過する領域である。上記のように、本実施形態においては、ゲームシステム1は、球形の各単位領域212および213に基づくことで、球形でない基準領域211を容易に設定することができる。
【0095】
このように、本実施形態においては、基準領域の大きさおよび形状は、攻撃アクションの種類によって異なっていてもよく、攻撃アクションに応じた適切な大きさおよび形状に設定されてよい。
【0096】
図13は、図12に示すプレイヤキャラクタおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図である。図13に示す状態(a)は、図12に示す状態(a)と同じ時点における状態であり、図13に示す状態(b)は、図12に示す状態(b)と同じ時点における状態である。図13に示す例においては、仮想カメラ204は、プレイヤキャラクタ201の側方に配置されているものとする。
【0097】
ハンマーアクションにおいても剣アクションと同様、ゲームシステム1は、仮想カメラ204の奥行方向に当たり判定領域を拡張する。具体的には、図13に示すように、ゲームシステム1は、基準領域211から仮想カメラ204の奥行方向にずれた位置に追加領域216および217を設定することで、当たり判定領域を拡張する。追加領域216および217の詳細な設定方法については後述するが、ゲームシステム1は、仮想カメラ204の位置と基準領域211の中心とを結ぶ直線上に、各追加領域216および217の中心が位置するように、各追加領域216および217を設定する(図13参照)。各追加領域216および217の概形形状は、基準領域211と同じカプセル形状である。
【0098】
また、ハンマーアクションにおいては、上述のように、攻撃アクション中に基準領域211が移動する。したがって、ハンマーアクション中において、ゲームシステム1は、現時点における基準領域211に基づいて追加領域216および217を設定する。つまり、追加領域216および217は、現時点における基準領域211を基準に、仮想カメラ204の奥行方向における前側と奥側とに設定される(図13参照)。
【0099】
図14は、図13に示す追加領域の設定方法の一例を示す図である。本実施形態においては、ゲームシステム1は、ハンマーアクションにおける追加領域を次のようにして設定する。まず、ゲームシステム1は、基準領域211における各単位領域212および213を仮想カメラ204の奥行方向にずらした位置に、各追加単位領域221,222,224,225を設定する。具体的には、第1単位領域212から上記奥行方向における前側に第1追加単位領域221が設定され、第2単位領域213から上記奥行方向における前側に第2追加単位領域222が設定される。また、第1単位領域212から上記奥行方向における奥側に第3追加単位領域224が設定され、第2単位領域213から上記奥行方向における奥側に第4追加単位領域225が設定される。次に、ゲームシステム1は、基準領域211の前側に設定される2つの追加単位領域221および222と、これらの追加単位領域221および222を接続する追加接続領域223とを、追加領域216として設定する。また、ゲームシステム1は、基準領域211の奥側に設定される2つの追加単位領域224および225と、これらの追加単位領域224および225を接続する追加接続領域226とを、追加領域217として設定する。以上のようにして、球形の追加単位領域221,222,224,225に基づいて追加領域216および217が設定される。なお、上記のようにして追加領域216および217が設定されるので、ハンマーアクションにおいては、各追加領域216および217の大きさおよび形状は、基準領域211の大きさおよび形状と若干異なるものとなる。
【0100】
上記のように、ハンマーアクションについては、拡張元の当たり判定領域(すなわち、基準領域211)は、所定の位置関係で配置される第1単位領域212および第2単位領域213を含み、当該第1単位領域212と当該第2単位領域213とを所定の規則で繋ぐ接続領域214を含む領域である(図12参照)。ゲームシステム1は、第1単位領域212に対して仮想カメラ204の奥行方向に所定量ずれた位置に第1追加単位領域221(または第3追加単位領域224)を設定させ、第2単位領域213に対して仮想カメラ204の奥行方向に所定量ずれた位置に第2追加単位領域222(または第4追加単位領域225)を設定させ、第1追加単位領域221と、第2追加単位領域222と、当該第1追加単位領域221および当該第2追加単位領域222を上記の所定の規則で繋ぐ追加接続領域226とを含む追加領域217を当たり判定領域に対して追加することで当該当たり判定領域を拡張する(図14参照)。このように、基準領域の元となる単位領域に基づいて追加領域を設定することによって、基準領域が(例えば球形のような)単純な形状ではない場合であっても追加領域を容易に設定することができる。
【0101】
なお、上記「所定の規則」とは、本実施形態においては、「第1単位領域と第2単位領域とをまっすぐ繋ぐ」という規則である。ここで、他の実施形態においては、所定の規則の内容は任意である。例えば、他の実施形態においては、所定の規則は、「第1単位領域と第2単位領域とを、ハンマーアクション中におけるハンマーオブジェクトのヘッドの軌跡に沿って繋ぐ」という規則であってもよい。追加接続領域を、接続領域と同じ規則を用いて設定することで、所定の規則の内容によらず、基準領域と同一または類似する形状の追加領域を容易に設定することができる。
【0102】
なお、上記のハンマーアクションの例においては、各追加領域216および217の大きさおよび形状は、奥行に応じて基準領域211の大きさおよび形状と異なるものとなったが、他の実施形態においては、大きさおよび/または形状が基準領域211と同一である追加領域が設定されてもよい。つまり、他の実施形態においては、基準領域の形状に関わらず、追加領域は、基準領域と同じ大きさおよび形状であってもよいし、基準領域と同じ形状で大きさが調整されたものであってもよい。
【0103】
なお、ハンマーアクションにおける、基準領域から追加領域までの距離(より具体的には、基準領域の中心から追加領域の中心までの距離。すなわち、上記設定距離)は、剣アクションの場合と同じ長さである。本実施形態においては、ゲームシステム1は、攻撃アクションの種類に関わらず、上記設定距離を同じ値に設定する。ここで、攻撃アクションの種類毎に設定距離が異なるとすれば、攻撃アクションが敵キャラクタに当たったと判定されるための位置関係(すなわち、プレイヤキャラクタ201と敵キャラクタとの位置関係)が、攻撃アクション毎に異なることとなる結果、ユーザが違和感を抱く可能性がある。これに対して、本実施形態においては、攻撃アクションの種類毎の設定距離を同じにすることで、上記の可能性を低減することができる。
【0104】
一方、本実施形態においては、基準領域の形状および大きさは攻撃アクション毎に異なるので、攻撃アクションの種類毎で上記設定距離を同じにすると、攻撃アクションによっては(より具体的には、攻撃アクションの種類毎に設定される基準領域の大きさによっては)、基準領域と追加領域との間に隙間が生じてしまい、攻撃アクションが敵キャラクタに当たっていないとの誤判定が生じる可能性がある。したがって、本実施形態においては、ゲームシステム1は、各種類の攻撃アクションのいずれについても、基準領域と、それに基づいて設定される追加領域の一部とが重複するような距離となるように上記設定距離を設定する。これによって、上記の誤判定を防止することができる。
【0105】
図15は、カッターアクションを行うプレイヤキャラクタと、そのときに設定される当たり判定領域との一例を示す図である。図15に示す状態(a)は、プレイヤキャラクタ201がカッターオブジェクト231を投げた後における状態であり、図12に示す状態(b)は、状態(a)からさらに時間が経過した後の時点における状態である。
【0106】
カッターアクション中において、カッターオブジェクト231は、図15に示すように、プレイヤキャラクタ201の前方へ回転しながら飛んでいき、その後、プレイヤキャラクタ201の位置へ戻るように動作する。また、ゲームシステム1は、カッターオブジェクト231の位置に複数(図15では、4つ)の基準領域232~235を設定する。つまり、カッターアクションにおいても他の攻撃アクションと同様、ゲームシステム1は、攻撃アクションを行うプレイヤキャラクタ201の位置および向きに基づいて(より具体的には、プレイヤキャラクタ201の位置および向きに基づくカッターオブジェクト231の位置および向きに基づいて)基準領域を設定する。なお、カッターアクション中において、ゲームシステム1は、上記4つの基準領域232~235を同時に(つまり、1フレーム内において)設定する。また、本実施形態においては、カッターアクションにおける各基準領域は球形である。
【0107】
上記のように、カッターアクションにおいてもハンマーアクションと同様、基準領域は攻撃アクション中に移動するように設定される。なお、基準領域232~235は、カッターオブジェクト231の回転に応じて、カッターオブジェクト231の中心を軸として回転移動するように設定されてもよいし、回転移動しないように設定されてもよい。
【0108】
なお、図15に示す例においては、図面を見やすくする目的で、カッターオブジェクト231に設定される基準領域の数を4つとするが、実際には、基準領域がそれぞれ他の基準領域と重複するように、より多くの数の基準領域が設定されてもよい。
【0109】
本実施形態においては、カッターアクション中において、カッターオブジェクト231は、所定の条件が満たされた場合(例えば、プレイヤキャラクタ201によって一定時間パワーが溜められた場合)に大きくなる(図15に示す状態(b))。この場合、ゲームシステム1は、カッターオブジェクト231が大きくなることに応じて基準領域232~235を大きくする。具体的には、基準領域232~235は、カッターオブジェクト231が拡大される比率と同じ比率で大きくなる。このように、本実施形態においては、攻撃アクションに関するオブジェクト(ここでは、カッターオブジェクト231)の大きさが変化することに応じて基準領域の大きさも変化するので、当たり判定領域の範囲を当該オブジェクトの変化に応じた適切な範囲とすることができる。
【0110】
図16は、図15に示すカッターおよび当たり判定領域をゲーム空間の上側から見たときの一例を示す図である。図16に示す状態(a)は、図15に示す状態(a)と同じ時点における状態であり、図16に示す状態(b)は、図15に示す状態(b)と同じ時点における状態である。
【0111】
カッターアクションにおいても剣アクションおよびハンマーアクションと同様、ゲームシステム1は、仮想カメラ204の奥行方向に当たり判定領域を拡張する。具体的には、図16に示すように、ゲームシステム1は、基準領域232~235のそれぞれから仮想カメラ204の奥行方向の手前側および奥側にずれた位置に追加領域241~248を設定する。具体的には、ゲームシステム1は、仮想カメラ204の位置と基準領域232~235の中心とを結ぶ直線上に、各追加領域241~248の中心が位置するように、各追加領域41~248を設定する(図16参照)。なお、各追加領域241~248の大きさおよび形状は、各基準領域232~235の大きさおよび形状と同じである。
【0112】
図16に示す状態(b)のように、基準領域232~235が大きくなった場合には、それに応じて大きくなった各追加領域241~248が設定される。つまり、ゲームシステム1は、カッターアクション中において、現時点における基準領域232~235の大きさを基準にして、追加領域241~248の大きさを設定する。これによれば、カッターオブジェクト231の大きさの変化に応じた適切な大きさで各追加領域241~248を設定することができる。
【0113】
なお、カッターアクションにおける、基準領域から追加領域までの距離(より具体的には、基準領域の中心から追加領域の中心までの距離。すなわち、上記設定距離)は、剣アクションおよびハンマーアクションの場合と同じ長さである。このように、攻撃アクションの種類毎の設定距離を一定にすることで、攻撃アクションが敵キャラクタに当たったと判定されるための位置関係が攻撃アクション毎に異なることに起因してユーザが違和感を抱く可能性を低減することができる。
【0114】
以上においては、剣アクション、ハンマーアクション、および、カッターアクションという3種類の攻撃アクションについて説明したが、ゲームシステム1は、プレイヤキャラクタ201による他の攻撃アクションについても当たり判定領域の拡張を行う。ただし、ゲームシステム1は、プレイヤキャラクタ201による全ての攻撃アクションについて当たり判定領域の拡張を行う必要はない。例えば、基準領域の数が多く設定されることで、当該基準領域による当たり判定領域が大きい攻撃アクションについては、当たり判定領域の拡張を行わなくても、敵キャラクタに攻撃アクションを当てやすく、攻撃アクションが敵キャラクタに当たらないことによってユーザが違和感を抱く可能性は小さい。そのため、このような攻撃アクションについては、ゲームシステム1は、追加領域を設定しない(つまり、当たり判定領域を拡張しない)ようにしてもよい。これによって、ゲームシステム1は、追加領域の数を少なくすることができ、当たり判定の処理負荷を軽減することができる。
【0115】
本実施形態においては、敵キャラクタも攻撃アクション(「敵性攻撃アクション」と呼ぶ。)を行うことがあり、ゲームシステム1は、敵性攻撃アクションがプレイヤキャラクタ201に当たったか否かの判定を行う。ゲームシステム1は、この判定についても当たり判定領域を用いる。ただし、本実施形態においては、敵性攻撃アクションについては、当たり判定領域の拡張は行われない。つまり、ゲームシステム1は、敵キャラクタに対する制御に基づいて、当該敵キャラクタがプレイヤキャラクタ201に対する攻撃を行う敵性攻撃アクションが行われた場合、当該敵性攻撃アクションが当該プレイヤキャラクタに当たったか否かの判定を行うための敵性当たり判定領域を、仮想カメラ204の奥行方向への拡張を行わずに、当該敵キャラクタの仮想空間における位置および方向に基づいて設定する。上記によれば、当たり判定領域を拡張する処理と当たり判定処理とのための処理量を低減することができ、ゲームシステム1の処理負荷を低減することができる。なお、敵性攻撃アクションについては、当たり判定領域の拡張が行われなくても、(敵キャラクタはユーザが操作するオブジェクトではないため)攻撃アクションがプレイヤキャラクタ201に当たらない場合にユーザが操作性に違和感を抱く可能性は低いと考えられる。
【0116】
また、プレイヤキャラクタ201による攻撃アクションについて設定される当たり判定領域が敵キャラクタに接触する場合(つまり、敵キャラクタの少なくとも一部が当たり判定領域内に含まれる場合)、ゲームシステム1は、プレイヤキャラクタ201による攻撃アクションが敵キャラクタに当たったと判定する。この場合、ゲームシステム1は、当該敵キャラクタにダメージを与える処理を実行する。ここで、ダメージを与える処理とは、(a)例えば体力を示すパラメータが敵キャラクタに設定されている場合における、当該パラメータの値を減少させる処理、あるいは、(b)攻撃アクションが当たった敵キャラクタを倒された状態にする処理(例えば、当該敵キャラクタを倒れて動かなくしたり、ゲーム空間から当該敵キャラクタを消滅させたりする処理)を含む意味である。
【0117】
なお、敵キャラクタによる攻撃アクションについて設定される当たり判定領域がプレイヤキャラクタ201に接触する場合、ゲームシステム1は、敵キャラクタによる攻撃アクションがプレイヤキャラクタ201に当たったと判定する。この場合、ゲームシステム1は、プレイヤキャラクタ201にダメージを与える処理を実行する。
【0118】
また、本実施形態においては、当たり判定領域は表示されない。ただし、ゲームシステム1は、攻撃アクションのエフェクト画像を当たり判定領域の少なくとも一部に表示することで、当該エフェクト画像によって当たり判定領域の範囲をユーザに認識させるようにしてもよい。
【0119】
[3.ゲームシステムにおける処理の具体例]
次に、図17および図18を参照して、ゲームシステム1における情報処理の具体例について説明する。
【0120】
図17は、ゲームシステム1における情報処理に用いられる各種データの一例を示す図である。図17に示す各種データは、本体装置2がアクセス可能な記憶媒体(例えば、フラッシュメモリ84、DRAM85、および/または、スロット23に装着されたメモリカード等)に記憶される。
【0121】
図17に示すように、ゲームシステム1は、ゲームプログラムを記憶する。ゲームプログラムは、本実施形態におけるゲーム処理(具体的には、図18に示す処理)を実行するためのゲームプログラムである。また、ゲームシステム1は、プレイヤキャラクタデータ、敵キャラクタデータ、カメラデータ、および、当たり判定領域データを記憶する。
【0122】
プレイヤキャラクタデータは、プレイヤキャラクタ201に関する各種情報を示す。具体的には、プレイヤキャラクタデータは、ゲーム空間におけるプレイヤキャラクタ201の位置および向きを示すデータを含む。プレイヤキャラクタデータは、これらのデータの他に、プレイヤキャラクタ201の体力を示すパラメータを示すデータ等を含んでいてもよい。
【0123】
敵キャラクタデータは、敵キャラクタに関する各種情報を示す。具体的には、敵キャラクタデータは、ゲーム空間における敵キャラクタの位置および向きを示すデータを含む。敵キャラクタデータは、これらのデータの他に、敵キャラクタの体力を示すパラメータを示すデータ等を含んでいてもよい。
【0124】
カメラデータは、ゲーム空間における仮想カメラ204の位置および向きを示すデータを含む。カメラデータは、これらのデータの他に、仮想カメラの画角等を示すデータを含んでいてもよい。
【0125】
当たり判定領域データは、当たり判定領域の範囲を示す。本実施形態においては、当たり判定領域データは、基準領域データと、追加領域データとを含む。
【0126】
基準領域データは、上述の基準領域の範囲を示す。基準領域データは、基準領域の範囲を特定可能な任意のデータでよい。例えば、基準領域が球形である場合、基準領域データは、球の中心の位置と半径とを示すデータであってもよい。また、基準領域が上述のカプセル形状である場合、基準領域データは、球形の2つの単位領域の中心の位置と半径とをそれぞれ示すデータであってもよい。また、基準領域が複数設定される場合、基準領域データは、各基準領域の範囲をそれぞれ示す。
【0127】
追加領域データは、上述の追加領域の範囲を示す。追加領域データは、追加領域の範囲を特定可能な任意のデータであってよい。例えば、追加領域データは、基準領域データと同様、球形の追加領域または追加単位領域の中心の位置と半径とを示すデータであってもよい。また、追加領域が複数設定される場合、追加領域データは、各追加領域の範囲をそれぞれ示す。
【0128】
図18は、ゲームシステム1によって実行されるゲーム処理の流れの一例を示すフローチャートである。図18に示すゲーム処理は、例えば、上記ゲームプログラムの実行中においてゲームを開始する指示がプレイヤによって行われたことに応じて開始される。
【0129】
なお、本実施形態では、本体装置2のプロセッサ81が、ゲームシステム1に記憶されている上記ゲームプログラムを実行することによって、図18に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、プロセッサ81とは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、ゲームシステム1が他の情報処理装置(例えば、サーバ)と通信可能である場合、図18に示す各ステップの処理の一部は、他の情報処理装置において実行されてもよい(つまり、ゲームシステム1が当該他の情報処理装置を含んでいてもよい。)。また、図18に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
【0130】
また、プロセッサ81は、図18に示す各ステップの処理を、メモリ(例えば、DRAM85)を用いて実行する。すなわち、プロセッサ81は、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
【0131】
図18に示すステップS1において、プロセッサ81は、ユーザによる操作入力を示す操作データを取得する。すなわち、プロセッサ81は、コントローラ通信部83および/または各端子17および21を介して各コントローラから受信される操作データを適宜のタイミングで取得してメモリに記憶する。ステップS1の次にステップS2の処理が実行される。
【0132】
ステップS2において、プロセッサ81は、ゲーム空間において仮想カメラ204の制御を行う。仮想カメラ204の具体的な制御方法は任意である。例えば、プロセッサ81は、ステップS1で取得された操作データに基づいて、仮想カメラ204の位置および向きを制御する。また、プロセッサ81は、ユーザによる操作入力に基づいて仮想カメラ204を制御することに加えて(または代えて)、プレイヤキャラクタ201の位置に基づいて仮想カメラ204を制御するようにしてもよい。なお、ステップS2において、プロセッサ81は、上記記憶媒体に記憶されているカメラデータを、制御後における位置および向きを示すように更新する。ステップS2の次にステップS3の処理が実行される。
【0133】
ステップS3において、プロセッサ81は、ゲーム空間において各オブジェクト(すなわち、プレイヤキャラクタ201および敵キャラクタ)の動作を制御する。具体的には、プロセッサ81は、ステップS1で取得された操作データに基づいて、ユーザによる移動指示およびアクション指示を判別する。プロセッサ81は、移動指示に基づいてプレイヤキャラクタ201をゲーム空間において移動させたり、アクション指示に応じてプレイヤキャラクタ201に攻撃アクションを行わせたりする。また、プロセッサ81は、ゲームプログラムにおいて予め定められたアルゴリズムに基づいて、敵キャラクタをゲーム空間において移動させたり、攻撃アクションを行わせたりする。また、プロセッサ81は、制御された後の状態を示すように、上記記憶媒体に記憶されているプレイヤキャラクタデータおよび敵キャラクタデータの内容を更新する。ステップS3の次にステップS4の処理が実行される。
【0134】
ステップS4において、プロセッサ81は、プレイヤキャラクタ201または敵キャラクタによる攻撃アクションが行われているか否かを判定する。この判定は、上記記憶媒体に記憶されているプレイヤキャラクタデータおよび敵キャラクタデータに基づいて行われる。ステップS4の判定結果が肯定である場合、ステップS5の処理が実行される。一方、ステップS4の判定結果が否定である場合、ステップS5~S9の処理がスキップされてステップS10の処理が実行される。
【0135】
ステップS5において、プロセッサ81は、現在行われている攻撃アクションについて当たり判定領域を設定する。ステップS5で設定される当たり判定領域は、拡張されていない当たり判定領域(すなわち、基準領域)である。具体的には、プロセッサ81は、上記“[2.ゲームシステムにおける処理の概要]”で述べた方法に従って、ゲーム空間に基準領域を設定する。なお、本実施形態においては、ゲームプログラムは、基準領域の配置パターン(例えば、剣アクションについては、剣の軌道に沿って4つの基準領域を配置するパターン。図8参照)が攻撃アクション毎に関連付けられたデータを含む。プロセッサ81は、この配置パターンに基づいて、攻撃アクションの種類に応じた配置で基準領域を設定する。また、プロセッサ81は、設定された基準領域を示すように、上記記憶媒体に記憶されている基準領域データの内容を更新する。ステップS5の次にステップS6の処理が実行される。
【0136】
ステップS6において、プロセッサ81は、現在行われている攻撃アクションがプレイヤキャラクタ201による攻撃アクションであるか否かを判定する。この判定は、上記記憶媒体に記憶されているプレイヤキャラクタデータおよび敵キャラクタデータに基づいて行われる。ステップS6の判定結果が肯定である場合、ステップS7の処理が実行される。一方、ステップS6の判定結果が否定である場合(すなわち、敵キャラクタが攻撃アクションを行っている場合)、ステップS7の処理(すなわち、当たり判定領域の拡張処理)がスキップされてステップS8の処理が実行される。つまり、本実施形態においては、プレイヤキャラクタ201による攻撃アクションについて当たり判定領域の拡張が実行され、敵キャラクタによる攻撃アクションについては当たり判定領域の拡張が実行されない。
【0137】
ステップS7において、プロセッサ81は、ステップS5において設定された当たり判定領域を拡張する。すなわち、プロセッサ81は、ステップS5において設定された基準領域に基づいて追加領域を設定する。具体的には、プロセッサ81は、上記“[2.ゲームシステムにおける処理の概要]”で述べた方法に従って、ゲーム空間に追加領域を設定する。また、プロセッサ81は、設定された追加領域を示すように、上記記憶媒体に記憶されている追加領域データの内容を更新する。ステップS7の次にステップS8の処理が実行される。
【0138】
ここで、ゲーム中において、図18に示すステップS1~S11の処理ループは、所定時間(具体的には、1フレーム時間)に1回の割合で繰り返し実行される。そのため、当たり判定領域の設定に関するステップS5およびS7の処理は、プレイヤキャラクタ201による攻撃アクションが開始された(すなわち、ステップS4の判定結果が肯定となった)ことに応じて開始され、当該攻撃アクション中(すなわち、ステップS4の判定結果が肯定となる間)において繰り返し実行される。したがって、攻撃アクション中において、プロセッサ81は、当たり判定領域(より具体的には、基準領域および追加領域)を時間経過に応じて更新することとなる。
【0139】
以上より、本実施形態においては、ゲームシステム1は、ユーザによるアクション指示に応じて、プレイヤキャラクタ201による攻撃アクションの制御を開始するとともに(ステップS3)、プレイヤキャラクタ201のゲーム空間内における位置および方向に基づいて当たり判定領域(より具体的には、基準領域および追加領域)を設定する(ステップS5およびS7)。そして、攻撃アクションの開始後における所定期間(すなわち、ステップS4の判定結果が肯定となる期間)においては、ゲームシステム1は、プレイヤキャラクタ201による当該攻撃アクションの制御を継続する(ステップS3)とともに、当たり判定領域を時間経過に応じて更新する(ステップS5およびS7)。このとき、当たり判定領域の時間経過に応じた更新は、攻撃アクションに関連付けられたパターンに基づいて拡張元の当たり判定領域(すなわち、基準領域)を時間経過に応じて更新すること(ステップS5)と、更新された当該当たり判定領域を仮想カメラ204の奥行方向に拡張すること(ステップS7)とによって行われる。このように、本実施形態においては、攻撃アクション中に継続して当たり判定領域が設定され、このとき、当たり判定領域の拡張が動的に行われる。これによれば、拡張元の当たり判定領域(すなわち、基準領域)が動的に変化する場合であっても、当たり判定領域の拡張を、変化に応じて精度良く行うことができる。
【0140】
なお、上記における「拡張元の当たり判定領域を時間経過に応じて更新する」処理とは、当たり判定領域の位置、大きさ、および、形状のうち少なくとも1つの要素を時間経過に応じて変化させる処理であってもよいし、これらの要素が結果的に変化しない処理であってもよい。
【0141】
ステップS8において、プロセッサ81は、プレイヤキャラクタ201または敵キャラクタによって行われている攻撃アクションが他のオブジェクトに当たったか否かを判定する。すなわち、プロセッサ81は、攻撃アクションに設定される当たり判定領域内に他のオブジェクトが含まれるか否かを判定する。なお、攻撃アクションがプレイヤキャラクタ201によるものである場合には、上記判定で用いられる当たり判定領域は、ステップS5において設定された基準領域と、ステップS7において設定された追加領域とからなる当たり判定領域である。一方、攻撃アクションが敵キャラクタによるものである場合には、上記判定で用いられる当たり判定領域は、ステップS5において設定された基準領域である。プレイヤキャラクタ201による攻撃アクションが他のオブジェクトに当たったか否かの判定は、上記記憶媒体に記憶されている、敵キャラクタデータおよび当たり判定領域データを参照して行われる。また、敵キャラクタによる攻撃アクションがプレイヤキャラクタ201に当たったか否かの判定は、上記記憶媒体に記憶されている、プレイヤキャラクタデータおよび当たり判定領域データを参照して行われる。ステップS8の判定結果が肯定である場合、ステップS9の処理が実行される。一方、ステップS8の判定結果が否定である場合、ステップS9の処理がスキップされてステップS10の処理が実行される。
【0142】
ステップS9において、プロセッサ81は、攻撃アクションが当たった上記他のオブジェクト(すなわち、敵キャラクタまたはプレイヤキャラクタ201)に対して、ダメージを加える処理を実行する。例えば、プロセッサ81は、当該他のオブジェクトの体力値を減少させたり、あるいは、当該他のオブジェクトをゲーム空間から消滅させたりする。このとき、プロセッサ81は、上記記憶媒体に記憶されている、プレイヤキャラクタデータまたは敵キャラクタデータの内容を、上記処理の結果を反映するように更新する。ステップS9の次にステップS10の処理が実行される。
【0143】
ステップS10において、プロセッサ81は、上記ステップS2、S3、および、S9の処理結果が反映されたゲーム空間を示すゲーム画像を生成してディスプレイ12に表示する。具体的には、プロセッサ81は、上記ステップS2で制御された仮想カメラ204の位置から仮想カメラ204の向きに見たゲーム空間を示すゲーム画像であって、上記ステップS3およびS9の処理による制御に従って各キャラクタが動作する様子を示すゲーム画像を生成する。生成されたゲーム画像がディスプレイ12に表示される。なお、ステップS1~S11の一連の処理ループが実行される場合、ステップS10の処理は上記所定時間に1回の割合で繰り返し実行される。これによって、ゲーム空間において各キャラクタが動作する様子を示す動画が表示される。なお、本実施形態においては、ゲームシステム1はディスプレイ12に画像を表示するが、ディスプレイ12とは異なる他の表示装置(例えば、本体装置2に接続されるモニタ)に画像を表示してもよい。ステップS10の次に、ステップS11の処理が再度実行される。
【0144】
ステップS11において、プロセッサ81は、ゲームを終了するか否かを判定する。例えば、プロセッサ81は、ゲームを終了する指示がユーザによって行われたか否かを判定する。ステップS11の判定結果が否定である場合、上記ステップS1の処理が再度実行される。以降、ステップS11においてゲームを終了すると判定されるまで、ステップS1~S11の一連の処理が繰り返し実行される。一方、ステップS11の判定結果が肯定である場合、プロセッサ81は、図18に示すゲーム処理を終了する。
【0145】
[4.本実施形態の作用効果および変形例]
以上のように、上記実施形態においては、ゲームプログラムは、情報処理装置(例えば、本体装置2)のコンピュータに、次の処理を行わせる構成である。
・仮想空間において仮想カメラを制御する(ステップS2)
・ユーザによる操作入力に基づく移動指示に応じて、仮想空間においてプレイヤキャラクタの移動を制御する(ステップS3)
・操作入力に基づくアクション指示に応じて、仮想空間においてプレイヤキャラクタによるアクションを制御する(ステップS3)
・プレイヤキャラクタがアクションを行う場合、当該プレイヤキャラクタの仮想空間における位置および方向に基づいて設定される位置に、当該プレイヤキャラクタ以外の他のオブジェクトに当該アクションが当たったか否かの判定を行うための当たり判定領域を仮想空間に設定する(ステップS5)とともに、当該当たり判定領域を仮想カメラの奥行方向に拡張する(ステップS7)
・拡張された当たり判定領域が他のオブジェクトに接触した場合に、当該他のオブジェクトに対するアクションに基づく処理を実行する(ステップS9)
【0146】
上記によれば、仮想カメラの奥行方向に当たり判定領域が拡張されるので、アクションを行うオブジェクトと他のオブジェクトとの位置が奥行方向に関してずれている場合でも、アクションをオブジェクトに対して当てやすくすることができる。これによって、上記アクションの操作性を向上することができる。
【0147】
また、当たり判定領域が設定される上記の「アクション」とは、上記実施形態においては、プレイヤキャラクタによる敵キャラクタに対する攻撃アクションであり、これによって、攻撃アクションの操作性を向上することができるものであった。ここで、他の実施形態においては、上記の「アクション」は、攻撃アクションに限らず任意の種類のアクションであってよい。例えば、ゲームシステム1は、プレイヤキャラクタがゲーム空間に配置されているアイテムを取得する場合におけるアクション、および/または、ゲーム空間に配置されているオブジェクトを破壊するアクションについて、当たり判定領域を設定し、設定された当たり判定領域を仮想カメラの奥行方向に拡張するようにしてもよい。
【0148】
また、上記実施形態においては、当たり判定領域は、プレイヤキャラクタ201が持つ剣やハンマーといった武器オブジェクトの位置に設定された。ただし、他の実施形態においては、プレイヤキャラクタ201は武器オブジェクトを所持している必要はなく、当たり判定領域は、プレイヤキャラクタ201自身の位置に設定されるものであってもよい。
【0149】
また、上記の「他のオブジェクトに対するアクションに基づく処理」とは、他のオブジェクトに対する処理であって、アクションに基づいて行われる任意の処理でよい。上記実施形態においては、上記「他のオブジェクトに対するアクションに基づく処理」とは、他のオブジェクトにダメージを与える処理である。他の実施形態においては、上記「他のオブジェクトに対するアクションに基づく処理」とは、例えば上記他のオブジェクトがアイテムである場合には、アクションを行ったキャラクタによってアイテムが取得される処理であってもよいし、例えば上記他のオブジェクトが地面に配置される建物や障害物のオブジェクトである場合には、当該オブジェクトが破壊されたり変形されたりする処理であってもよい。
【0150】
また、上記の「当たり判定領域を拡張する」とは、当たり判定領域の範囲を拡大させる任意の方法を含む意味である。上記実施形態においては、当たり判定領域を拡張する方法として、基準領域に対して追加される追加領域をも当たり判定領域とする方法が用いられたが、当たり判定領域を拡張する方法はこれに限らない。例えば、当たり判定領域を変形させることで、当たり判定領域の拡張が行われてもよい。
【0151】
また、上記の「拡張された当たり判定領域」とは、元の当たり判定領域と、拡張によって増加した領域とを含む領域を指す意味である。具体的には、上記実施形態のように基本領域に対して追加領域を追加することによって当たり判定領域を拡張する場合においては、「拡張された当たり判定領域」とは、元の当たり判定領域(すなわち、基本領域)と、追加された追加領域とを含む領域を指す意味である。また、後述する変形例(図19参照)のように、当たり判定領域を変形させることによって当たり判定領域を拡張する場合においては、上記の「拡張された当たり判定領域」とは、変形後の当たり判定領域全体を指す意味である。
【0152】
図19は、上記実施形態の変形例における当たり判定領域の一例を示す図である。図19は、プレイヤキャラクタ201が剣アクションを行っている場合に設定される当たり判定領域を示している。また、図19に示す変形例においては、拡張元の当たり判定領域251は、立方体であるとする。例えば、この立方体は、一辺が仮想カメラ204の奥行方向に平行となるように配置される。
【0153】
図19に示す変形例においては、ゲームシステム1は、当たり判定領域251を変形させ、拡張後の当たり判定領域252とする。つまり、ゲームシステム1は、当たり判定領域251を仮想カメラ204の奥行方向に拡大するように変形させることで、当たり判定領域を拡張する。これによっても、上記実施形態と同様に、当たり判定領域を拡張することができる。
【0154】
なお、図19に示す例においては、立方体の当たり判定領域を変形させる場合を説明したが、ゲームシステム1は、球形の当たり判定領域を変形させるようにしてもよい。例えば、ゲームシステム1は、球形の当たり判定領域を、仮想カメラ204の奥行方向に拡大するように、楕円球に変形させてもよい。
【0155】
なお、他の実施形態において、情報処理システム(すなわち、ゲームシステム1)は、上記実施形態における構成の一部を備えていなくてもよいし、上記実施形態において実行される処理の一部を実行しなくてもよい。例えば、情報処理システムは、上記実施形態における一部の特定の効果を奏するためには、当該効果を奏するための構成を備え、当該効果を奏するための処理を実行すればよく、その他の構成を備えていなくてもよいし、その他の処理を実行しなくてもよい。
【産業上の利用可能性】
【0156】
上記実施形態は、アクションをオブジェクトに対して当てやすくすること等を目的として、例えばゲームシステムまたはゲームプログラムとして用いることができる。
【符号の説明】
【0157】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
81 プロセッサ
201 プレイヤキャラクタ
202,211,232-235 基準領域
204 仮想カメラ
205,206,216,217,241-248 追加領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19