JP7200184B2 - 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 - Google Patents

情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 Download PDF

Info

Publication number
JP7200184B2
JP7200184B2 JP2020144141A JP2020144141A JP7200184B2 JP 7200184 B2 JP7200184 B2 JP 7200184B2 JP 2020144141 A JP2020144141 A JP 2020144141A JP 2020144141 A JP2020144141 A JP 2020144141A JP 7200184 B2 JP7200184 B2 JP 7200184B2
Authority
JP
Japan
Prior art keywords
attack
shadow
drawing setting
setting
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020144141A
Other languages
English (en)
Other versions
JP2022039223A (ja
Inventor
晋也 平竹
勝康 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2020144141A priority Critical patent/JP7200184B2/ja
Priority to US17/381,729 priority patent/US11369876B2/en
Publication of JP2022039223A publication Critical patent/JP2022039223A/ja
Application granted granted Critical
Publication of JP7200184B2 publication Critical patent/JP7200184B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6646Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、仮想空間におけるオブジェクトを用いた処理を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
従来、敵オブジェクトからの攻撃が及ぶ範囲を事前に表示するゲーム用画像生成装置がある(例えば、特許文献1参照)。
特開平11-300036号公報
しかしながら、上記特許文献1で開示されたゲーム用画像生成装置は、攻撃を遮蔽する遮蔽物が仮想空間に存在する場合に、当該攻撃が及ばない範囲を事前に知らせることができなかった。
それ故に、本発明の目的は、仮想空間において攻撃が及ばない範囲を事前に知らせることができる情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することである。
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。
本発明の情報処理プログラムの一構成例は、情報処理装置のコンピュータにおいて実行される。情報処理プログラムは、オブジェクト配置手段、第1描画設定手段、第2描画設定手段、起点移動手段、攻撃実行手段、および描画手段として、コンピュータを機能させる。オブジェクト配置手段は、仮想空間に攻撃実行オブジェクトと、当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置する。第1描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態である場合に、遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する。第2描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態から攻撃準備状態になったことに合わせて、遮蔽オブジェクトに対する影の描画設定を、非描画設定および第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する。起点移動手段は、攻撃準備状態である間に、起点を、第1の位置から、第1の攻撃が実行されるときの位置である第2の位置に移動させる。攻撃実行手段は、攻撃実行オブジェクトが攻撃準備状態から攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに第1の攻撃を実行させる。描画手段は、少なくとも影の描画設定に基づき、当該影を含む仮想空間の描画を実行する。第2描画設定手段は、第2の位置を起点とする第1の攻撃が遮蔽オブジェクトにより遮蔽される範囲が第2の影の範囲となるように第2描画設定を設定する。
上記によれば、仮想空間において攻撃実行オブジェクトからの攻撃が実行される前に、当該攻撃が遮蔽される範囲を事前にユーザに知らせることができる。
また、上記第1描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態である場合に影の描画設定を第1描画設定に設定してもよい。
上記によれば、攻撃実行オブジェクトが攻撃準備前状態から攻撃準備状態となると第1の影とは異なる第2の影を表示するため、攻撃実行オブジェクトが表示されていなくても攻撃が遮蔽される範囲を知ることができる。
また、上記第2描画設定手段は、第1の影を消去して第2の影が描画されるように第2描画設定を設定してもよい。
上記によれば、攻撃実行オブジェクトが攻撃準備前状態から攻撃準備状態となると第1の影が消去されるため、第1の攻撃を避けるための範囲をよりわかりやすく表示することができる。
また、上記描画手段は、攻撃実行オブジェクトが攻撃準備状態であるときに、描画される第1の影以外の部分、かつ、第2の影以外の部分の少なくとも一部を、攻撃準備前状態であるときにおける描画態様とは異なる態様で描画してもよい。
上記によれば、攻撃実行オブジェクトが攻撃準備状態であることをわかりやすく示すことができる。
また、上記オブジェクト配置手段は、プレイヤオブジェクトを仮想空間に配置するとともに、攻撃実行オブジェクトとして敵オブジェクトを仮想空間に配置してもよい。上記第2描画設定手段は、第2の影を、プレイヤオブジェクトが当該第2の影内に位置する場合に、プレイヤオブジェクトが第1の攻撃を受けない範囲と一致させてもよい。
上記によれば、第1の攻撃を避けるための範囲を第2の影によって事前に示すことができる。
また、上記攻撃実行手段は、攻撃実行オブジェクトが少なくとも攻撃準備状態である間に、攻撃オブジェクトを用いて第1の攻撃とは異なる第2の攻撃を実行してもよい。上記第2描画設定手段は、第2の攻撃を行う攻撃オブジェクトが到達する仮想空間における到達位置が第2の影の範囲に含まれる場合、当該到達位置を含む範囲である警告範囲の描画態様を、当該第2の影の描画態様とは異なる態様で設定してもよい。
上記によれば、攻撃実行オブジェクトによる攻撃にバリエーションがあっても、第1の攻撃および第2の攻撃の何れも避けることができる範囲を事前に示すことができる。
また、上記攻撃オブジェクトは、仮想空間において直線軌道とは異なる軌道で移動することによって第2の攻撃を行ってもよい。
上記によれば、異なる方向からの攻撃であっても、第2の影および警告範囲に注目して当該攻撃を事前に避けることができる。
また、上記攻撃オブジェクトが移動する軌道は、仮想空間の上から下に向かうものでもよい。
上記によれば、仮想空間の上方からの攻撃であっても、警告範囲の表示を参照して当該攻撃を事前に避けることができる。
また、上記オブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置してもよい。上記第2描画設定手段は、プレイヤオブジェクトに攻撃オブジェクトが当たることによってプレイヤオブジェクトが第2の攻撃を受ける範囲を警告範囲としてもよい。
上記によれば、警告範囲内を避けることによって第2の攻撃を避けることができるため、第2の攻撃の対応を事前に知ることができる。
また、上記警告範囲の描画態様は、第2の影と重複する範囲と第2の影と重複しない範囲とにおいて異なる描画態様に設定されてもよい。
上記によれば、第1の攻撃を避けるための範囲と第2の攻撃を避けるための範囲をわかりやすく示すことができる。
また、上記攻撃実行手段は、第1の攻撃として、直線軌道に基づいて攻撃実行オブジェクトからプレイヤオブジェクトの位置の周辺に向けて攻撃オブジェクトを発射してもよい。
上記によれば、攻撃実行オブジェクトから発射される攻撃オブジェクトを避ける範囲を事前に示すことができる。
また、上記攻撃実行手段は、第1の攻撃として、直線軌道に基づいて攻撃実行オブジェクトからプレイヤオブジェクトの位置の周辺に向けて攻撃オブジェクトを移動させてもよい。
上記によれば、攻撃実行オブジェクトから移動する攻撃オブジェクトが到達する範囲を事前に示すことができる。
また、上記攻撃実行オブジェクトは、攻撃実行状態の終了後、再度攻撃準備前状態となってもよい。
上記によれば、攻撃実行オブジェクトによる第1の攻撃が終了したことを通知することができる。
また、上記プレイヤオブジェクトは、第1の攻撃を受けることによりダメージを受けてもよい。
上記によれば、第1の攻撃によるダメージを受けることを避ける範囲を事前に示すことができる。
本発明の情報処理プログラムの他の構成例は、情報処理装置のコンピュータにおいて実行される。情報処理プログラムは、オブジェクト配置手段、第1描画設定手段、第2描画設定手段、起点移動手段、攻撃実行手段、および描画手段として、コンピュータを機能させる。オブジェクト配置手段は、仮想空間に攻撃実行オブジェクトと、当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置する。第1描画設定手段は、遮蔽オブジェクトに対する影の描画設定を、当該影が描画されない非描画設定、または当該影として第1の影が描画される第1描画設定のいずれかに設定する。第2描画設定手段は、遮蔽オブジェクトに対する影の描画設定を、非描画設定および第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する。描画手段は、最新の影の描画設定に基づき、当該影を含む仮想空間の描画を繰り返し実行する。第2描画設定手段は、第1の攻撃が遮蔽オブジェクトにより遮蔽される範囲が第2の影の範囲となるように、第1の攻撃が開始されるよりも前に第2描画設定を設定する。
上記によれば、仮想空間において攻撃実行オブジェクトからの攻撃が実行される前に、当該攻撃が遮蔽される範囲を事前にユーザに知らせることができる。
また、本発明は、情報処理装置、情報処理システム、および情報処理方法の形態で実施されてもよい。
本発明によれば、仮想空間において攻撃が実行される前に、当該攻撃が遮蔽される範囲を事前にユーザに知らせることができる。
本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図 本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図 本体装置2の一例を示す六面図 左コントローラ3の一例を示す六面図 右コントローラ4の一例を示す六面図 本体装置2の内部構成の一例を示すブロック図 本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図 本体装置2のディスプレイ12に表示される攻撃準備前状態におけるゲーム画像の例を示す図 本体装置2のディスプレイ12に表示される攻撃準備状態におけるゲーム画像の例を示す図 本体装置2のディスプレイ12に表示される攻撃実行状態におけるゲーム画像の例を示す図 攻撃準備状態および攻撃実行状態において表示される第2の影Aが生成される状態の一例を説明するための図 警告範囲Dが表示されるゲーム画像の例を示す図 第2の影Aと警告範囲Dとが重複する重複範囲Aoの一例を説明するための図 本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図 ゲームシステム1で実行される情報処理の一例を示すフローチャート 図15におけるステップS127おいて行われる攻撃準備前期間処理の詳細な一例を示すサブルーチン 図15におけるステップS129おいて行われる攻撃準備期間処理の詳細な一例を示すサブルーチン 図15におけるステップS131において行われる攻撃実行期間処理の詳細な一例を示すサブルーチン
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含み、情報処理システムとしても機能する。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
左コントローラ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プログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
右コントローラ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を備える。
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
プロセッサ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は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
左コントローラ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(登録商標)の規格に従って行われる。
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、右コントローラ4は、各ボタン113およびアナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
右コントローラ4は、処理部121を備える。処理部121は、通信制御部111に接続される。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ等の外部表示装置に画像(および音声)を出力可能である。以下、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置の利用態様におけるゲームシステム1を用いて説明する。
このように、一体型装置となったゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、あるいは本体装置2のタッチパネル13に対するタッチ操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームプレイが行われる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作に応じて、仮想空間内におけるプレイヤオブジェクトや仮想空間内に配置された敵オブジェクト等の各オブジェクトを用いたゲームプレイが可能となる。
図8~図13を用いてゲームシステム1において行われるゲーム処理の概要について説明する。なお、図8は、本体装置2のディスプレイ12に表示される攻撃準備前状態におけるゲーム画像の例を示す図である。図9は、本体装置2のディスプレイ12に表示される攻撃準備状態におけるゲーム画像の例を示す図である。図10は、本体装置2のディスプレイ12に表示される攻撃実行状態におけるゲーム画像の例を示す図である。図11は、攻撃準備状態および攻撃実行状態において表示される第2の影Aが生成される状態の一例を説明するための図である。図12は、警告範囲Dが表示されるゲーム画像の例を示す図である。図13は、第2の影Aと警告範囲D(D1)とが重複する重複範囲Aoの一例を説明するための図である。
図8において、ゲームシステム1のディスプレイ12には、仮想空間にプレイヤオブジェクトPOや敵オブジェクトEOが配置されたゲーム画像が表示されている。図8に示す敵オブジェクトEOは、プレイヤオブジェクトPOを攻撃する準備を開始する前の状態(攻撃準備前状態)で動作している。なお、攻撃準備前状態とは、敵オブジェクトEOが攻撃準備の開始迄の状態であればどのような期間における状態でもよく、敵オブジェクトEOが仮想空間に出現していない状態や仮想空間において活動していない状態、敵オブジェクトEOが仮想空間において活動していても攻撃準備状態になる前の状態等を含んでいる。なお、敵オブジェクトEOが攻撃準備および攻撃実行を行わない期間(攻撃準備前期間)、敵オブジェクトEOが攻撃準備を行う期間(攻撃準備期間)、および敵オブジェクトEOが攻撃を実行する期間(攻撃実行期間)が周期的に順次切り替わるように予め設定されていてもよい。この場合、敵オブジェクトEOは、予め設定された周期に基づいて、プレイヤオブジェクトPOに対する攻撃を行うことになる。
また、ディスプレイ12には、仮想空間におけるフィールドに固定して配置されている遮蔽オブジェクトSOが配置されている。そして、仮想空間に配置されている各オブジェクトには、仮想空間に設定されている光源からの光を受けている状態で表示され、当該光による影が表現されて表示される。例えば、図8の例では、遮蔽オブジェクトSOに上記光源からの光による影(以下、第1の影Sと記載する)が、遮蔽オブジェクトSOの手前側に伸びるように表示されている。なお、第1の影Sについては、攻撃準備前状態において表示されなくてもよい。この場合、攻撃準備前状態における仮想空間は、影が描画されない非描画状態で表示されてもよい。
図9において、敵オブジェクトEOは、プレイヤオブジェクトPOを攻撃する前の準備を行う状態(攻撃準備状態)で動作している。例えば、攻撃準備状態において、敵オブジェクトEOは、攻撃準備前状態とは異なる態様で仮想空間に配置されるため、プレイヤオブジェクトPOに対する攻撃を準備していることがユーザに示される。一例として、図9においては、攻撃準備前状態に対して頭部の色や表情が変化することによって、敵オブジェクトEOが攻撃準備状態となったことが示されている。なお、攻撃準備状態となったことをユーザに示すための態様は、敵オブジェクトEOの頭部以外の変化や敵オブジェクトEOの少なくとも一部のサイズの変化等によって示されてもよいし、敵オブジェクトEOの態様の変化がなくてもよく、敵オブジェクトEO以外の態様変化によって示されてもかまわない。例えば、攻撃準備前状態に対して仮想空間のフィールドや背景が異なる描画態様で描画される(例えば、地面や空の色が異なる)ことによって、敵オブジェクトEOが攻撃準備状態となったことが示されてもかまわない。具体的には、攻撃準備前状態においては白い地面に対して、攻撃準備状態においては色を赤く変化させたり明るさを変化させたりしてもよい。このように変化させることによって、敵オブジェクトEOが表示画面内に表示されていなくても敵オブジェクトEOからの攻撃を避ける必要があることをわかりやすく示すことができる。一例として、敵オブジェクトEOが表示画面に対して巨大で全体像が見えない場合や、敵オブジェクトEOが仮想空間における上空を飛んでいて表示画面内に映りづらい場合等においても、敵オブジェクトEOからの攻撃を避ける必要があることをわかりやすく示すことができる。
敵オブジェクトEOが攻撃準備状態となった場合、上記第1の影Sとは異なる第2の影Aが表示される。そして、図9に示すように、第2の影Aは、第1の影Sの光源からの光が遮蔽される範囲とは異なり、敵オブジェクトEOから後程行われる攻撃が遮蔽オブジェクトSOによって遮蔽される範囲(いわゆる、安全地帯)に対応して描画される。一例として、遮蔽オブジェクトSOは、敵オブジェクトEOを起点(例えば、敵オブジェクトEOの口を起点)とする直線軌道上で行われる攻撃を、少なくとも一定期間遮蔽可能な機能を有している。そして、第2の影Aは、上記攻撃が遮蔽オブジェクトSOによって遮蔽される範囲を示しており、仮想空間における他の地面とは異なる描画態様で当該地面上に影のように描画される。例えば、図9の例では、遮蔽オブジェクトSOによって敵オブジェクトEOの攻撃が遮蔽される範囲が、第2の影Aとして、遮蔽オブジェクトSOの右側に伸びるように表示されている。より具体的には、上記攻撃の起点となる敵オブジェクトEOが遮蔽オブジェクトSOの左側に配置されており、遮蔽オブジェクトSOを基準として敵オブジェクトEOの配置位置の逆側に第2の影Aが描画されている。
ここで、遮蔽オブジェクトSOによって敵オブジェクトEOの攻撃が遮蔽される範囲は、プレイヤオブジェクトPOが当該範囲内(第2の影Aの内側)に位置する場合に、当該攻撃をプレイヤオブジェクトPOが受けない範囲と一致するものである。また、上記範囲外(第2の影Aの外側)は、プレイヤオブジェクトPOが当該範囲外に位置する場合に、上記攻撃をプレイヤオブジェクトPOが受け得る範囲となる。しかしながら、厳密には、第2の影Aの外縁部にプレイヤオブジェクトPOが位置する場合、プレイヤオブジェクトPOの一部に敵オブジェクトEOの攻撃を受けることもあり得る。例えば、第2の影Aの外縁部にプレイヤオブジェクトPOが位置し、プレイヤオブジェクトPOに対する攻撃の当たり判定がプレイヤオブジェクトPOの足元より上にある場合、第2の影A内に位置していたとしても当該攻撃が当たる可能性がある。しかしながら、第2の影Aは、攻撃を防ぐ(遮蔽する)ことを大まかに示していればよい。
なお、敵オブジェクトEOが攻撃準備状態となった場合、第1の影Sと第2の影Aとが区別可能となるように表示制御される。第1の例として、敵オブジェクトEOが攻撃準備状態において第1の影Sおよび第2の影Aの両方を仮想空間内に表示する場合、第1の影Sと第2の影Aとがそれぞれ異なる表示態様で表示される。この場合、第1の影Sより第2の影Aが相対的に目立つようにそれぞれの表示態様が設定されてもよい。第1の例においては、敵オブジェクトEOが攻撃準備前状態から攻撃準備状態に切り替えられることを契機として、第1の影Sの表示態様が変化することによって上記表示態様が制御されてもよいし、第1の影Sの表示態様が当該契機によって変化しなくてもよい。第2の例として、敵オブジェクトEOが攻撃準備状態であるときには、第1の影Sが表示されずに第2の影Aが仮想空間内に表示される。この場合、敵オブジェクトEOが攻撃準備前状態から攻撃準備状態に切り替えられることを契機として第1の影Sが消去されてもよいし、敵オブジェクトEOが攻撃準備状態となる前から第1の影Sが非表示でもよい。
また、第2の影Aは、黒い影のように表現されてもよい。この場合、第2の影Aは、攻撃される地面の範囲を攻撃前に光らせて表示するといった、仮想世界に特有の表現ではなく、影という自然現象を用いて表現することができるため、攻撃が遮蔽される範囲を自然に示すことができる。
また、第2の影Aは、攻撃実行状態となった敵オブジェクトEOからの攻撃が、遮蔽オブジェクトSOによって遮蔽される範囲に対応して描画される。つまり、第2の影Aは、本来上記攻撃を受ける範囲内において遮蔽オブジェクトSOによって当該攻撃が遮蔽される範囲を示すものであって、上記攻撃が届かない範囲を示すものではない。また、第2の影Aによって遮蔽されることが示される、敵オブジェクトEOを起点とした直線軌道上で行われる攻撃は、仮想空間において多少曲がるものであってもよく、一例として波打つ軌道上や折れ曲がった軌道上で行われる攻撃であるものを含む。例えば、敵オブジェクトEOを起点とした直線軌道上で行われる攻撃として、敵オブジェクトEOの口等から発せられるビーム攻撃が考えられるが、炎や液体等を放出する攻撃、射撃による攻撃、物体を投げる攻撃、剣等で突く攻撃等、様々な攻撃を適用することができる。
図10において、敵オブジェクトEOは、プレイヤオブジェクトPOへの攻撃を実行する状態(攻撃実行状態)で動作している。例えば、攻撃実行状態において、敵オブジェクトEOは、攻撃準備状態とは異なる位置からプレイヤオブジェクトPOに対する攻撃を実行している。一例として、図10においては、攻撃実行状態では、敵オブジェクトEOは攻撃準備状態における位置からプレイヤオブジェクトPOに近づきながら上昇した位置に移動し、攻撃を実行している。つまり、敵オブジェクトEOが攻撃準備状態であるときの位置である第1の位置から、攻撃を実行する攻撃実行状態であるときの位置である第2の位置に敵オブジェクトEOが移動して、敵オブジェクトEOが実際の攻撃を実行している。
一方、第2の影Aは、敵オブジェクトEOの攻撃が開始されても、攻撃準備状態における描画範囲から変化なく表示される。つまり、第2の影Aは、攻撃の起点となる敵オブジェクトEOが当該攻撃の開始までに移動するとしても、当該攻撃が開始されていない攻撃準備状態の時点から、当該攻撃が開始された場合に当該攻撃が遮蔽される範囲を想定して描画されていることになる。したがって、第2の影Aを攻撃準備状態から描画することによって、仮想空間において敵オブジェクトEOの攻撃が及ばない範囲を事前にユーザに知らせることができる。
例えば、図11に示すように、攻撃準備状態における敵オブジェクトEOの少なくとも一部の特定の位置(例えば、敵オブジェクトEOの口)を起点とする直線軌道上で行われる攻撃を、遮蔽オブジェクトSOで遮蔽できる範囲を範囲Apとする。また、攻撃実行状態における敵オブジェクトEOの特定の位置を起点とする直線軌道上で行われる攻撃を、遮蔽オブジェクトSOで遮蔽できる範囲に表示する影を第2の影Aとする。図11の例では、攻撃準備状態における敵オブジェクトEOの位置と攻撃実行状態における敵オブジェクトEOの位置とが異なるため、範囲Apと第2の影Aとの間には、範囲の差が生じている。ここで、比較例として、攻撃準備状態においては、当該攻撃準備状態における敵オブジェクトEOの位置を起点とする直線軌道上で行われる攻撃を、遮蔽オブジェクトSOで遮蔽できる範囲(すなわち、範囲Ap)を描画して表示することが考えられる。しかしながら、このような範囲Apを攻撃準備状態で表示した場合、範囲Ap内が攻撃を受けない安全な範囲だとユーザが考えて、範囲Ap内、かつ、第2の影Aの範囲外となる位置にプレイヤオブジェクトPOを移動させたとしても、プレイヤオブジェクトPOが敵オブジェクトEOからの攻撃を受けてしまうことになる。つまり、攻撃準備状態において範囲Apを表示したとしても、仮想空間において攻撃が及ばない範囲を事前にユーザに知らせることにならない。一方、攻撃準備状態から範囲Apでなく第2の影Aを表示することによって、その後に攻撃が開始された場合に当該攻撃を遮蔽される範囲を事前にユーザに知らせることができる。
なお、攻撃実行状態が開始された後、敵オブジェクトEOが当該攻撃中に移動することが考えられる。この場合、敵オブジェクトEOの位置を起点とする直線軌道上で行われる攻撃を遮蔽オブジェクトSOによって遮蔽できる範囲が、攻撃実行中に変化することになる。このような場合、以下の様な範囲を第2の影Aとして攻撃準備状態において表示することが考えられる。第1の例として、攻撃実行状態において敵オブジェクトEOが攻撃を開始する時点において、当該攻撃を遮蔽オブジェクトSOによって遮蔽できる範囲を、第2の影Aとして攻撃準備状態において表示する。この場合、攻撃準備状態において表示される第2の影Aは、敵オブジェクトEOが攻撃を開始する時点においては当該攻撃を遮蔽する範囲として有効となるが、当該開始後に継続して敵オブジェクトEOが行う攻撃に対しては遮蔽されずに当該攻撃を受けることがあり得る範囲となる。第2の例として、攻撃実行状態において敵オブジェクトEOが攻撃を開始してから当該攻撃を終了して攻撃実行状態が終了するまでの期間において、当該攻撃を遮蔽オブジェクトSOによって継続して遮蔽できる範囲を、第2の影Aとして攻撃準備状態において表示する。この場合、攻撃準備状態において表示される第2の影Aは、敵オブジェクトEOが攻撃を開始してから終了するまで当該攻撃を継続して遮蔽する範囲となるが、上記第1の例における範囲より狭い範囲となり得る。第3の例として、攻撃実行状態において敵オブジェクトEOが攻撃を開始してから当該攻撃を終了して攻撃実行状態が終了するまで、敵オブジェクトEOが移動したとしても当該攻撃が遮蔽される範囲が当該攻撃の開始時点から変化しないように、敵オブジェクトEOの攻撃が及ぶ範囲を調整する。例えば、敵オブジェクトEOが移動することによって仮想空間における位置関係から考えた場合に攻撃が遮蔽される範囲が本来変化するとしても、攻撃開始時点の遮蔽範囲が当該攻撃終了時点まで変化しないゲームルールを設定する。この場合、攻撃準備状態において表示される第2の影Aは、敵オブジェクトEOが攻撃を開始する時点において当該攻撃を遮蔽する範囲として表示されたとしても、当該攻撃が終了するまで当該攻撃が継続して遮蔽される範囲として有効となる。
図12において、プレイヤオブジェクトPOが接触するとダメージを受ける攻撃オブジェクトMO(例えば、上空から落下する隕石オブジェクト)が仮想空間のフィールドに追加されて移動することによって、プレイヤオブジェクトPOに対する攻撃が行われてもよい。この場合、プレイヤオブジェクトPOは、敵オブジェクトEOを起点とする直線軌道上で行われる攻撃だけでなく、上記攻撃オブジェクトMOが用いられた上空からの攻撃も受けることになる。なお、攻撃オブジェクトMOが用いられた攻撃は、敵オブジェクトEOが攻撃実行状態にある場合だけでなく、敵オブジェクトEOが攻撃準備状態にある場合においても行われてもかまわない。
図12に示すように、攻撃オブジェクトMOが用いられた攻撃が行われる場合、飛来する攻撃オブジェクトMOが到達する到達位置を含む仮想空間における地面上の所定範囲に警告範囲Dが描画される。警告範囲Dは、飛来する攻撃オブジェクトMOが仮想空間の地面と衝突することによって、攻撃オブジェクトMOによる攻撃がプレイヤオブジェクトPOに及ぶ範囲を示しており、仮想空間における他の地面、第2の影A、および第1の影Sとは異なる描画態様で当該地面上にその範囲が描画される。
攻撃オブジェクトMOは、敵オブジェクトEOを起点とする攻撃で用いられる直線軌道とは異なる軌道で移動することによって、プレイヤオブジェクトPOに対する攻撃を行う。例えば、攻撃オブジェクトMOが移動する軌道は、仮想空間の上から下に向かうものである。そして、攻撃オブジェクトMOが移動する軌道と仮想空間における地面との交点を到達位置として、当該到達位置を含む所定範囲(典型的には、到達位置を中心とする所定サイズの円形範囲)を警告範囲Dとして、攻撃オブジェクトMOが当該到達位置に到達する前に表示される。したがって、ユーザは、攻撃オブジェクトMOが用いられた攻撃をプレイヤオブジェクトPOが受ける前に当該攻撃が及ぶ範囲を知ることができる。
図13に示すように、第2の影Aの少なくとも一部と警告範囲D(図13の例では警告範囲D1)の少なくとも一部とが重複することがある。このように、第2の影Aと警告範囲Dとが重複する重複範囲Aoは、敵オブジェクトEOの位置を起点とする直線軌道上で行われる攻撃が遮蔽される範囲ではあるが、攻撃オブジェクトMOを用いた攻撃を受ける範囲であり、結果的にプレイヤオブジェクトPOとしては攻撃を受ける範囲となる。本実施例では、警告範囲Dの範囲の少なくとも一部が第2の影Aの範囲に含まれる場合、当該範囲の描画態様(図13の例では重複範囲Ao)を第2の影Aの描画態様とは異ならせる。一例として、重複範囲Aoの描画態様は、敵オブジェクトEOの位置を起点とする直線軌道上で行われる攻撃が遮蔽される範囲内であっても、攻撃を受けることを直感的に通知できる態様(例えば、第2の影Aの外側となる他の地面の描画態様に近い態様)で描画されてもよい。また、重複範囲Aoの描画態様は、第2の影Aと重複していない警告範囲Dの描画態様、他の地面の描画態様、および第1の影Sの描画態様の何れとも異なる描画態様で描画されてもよい。一例として、攻撃準備状態における仮想空間の地面を赤色として敵オブジェクトEOからの攻撃を避ける必要があることが示される場合、第2の影Aを黒色領域、警告範囲Dおよび重複範囲Aoを当該地面より濃い赤色領域で表示してもよい。このような描画態様で重複範囲Aoを表示することによって、第2の影A内であっても攻撃オブジェクトMOを用いた敵オブジェクトEOの攻撃を受ける範囲を、事前にユーザに直感的に知らせることができる。
なお、重複範囲Aoは、仮想空間における他の地面と同じ描画態様であってもよい。この場合、重複範囲Aoを含む第2の影Aの周囲の地面の描画態様と同じ描画態様で重複範囲Aoが表示されることになる。このような描画態様で重複範囲Aoを表示することによって、安全地帯となる第2の影Aに危険範囲を重ねて表示するのではなく、第2の影Aが危険範囲(すなわち、重複範囲Ao)だけくりぬかれたような形状で表示されることになる。
また、警告範囲Dや重複範囲Aoは、仮想空間における光源が直上方向にあると考えた場合、落下する攻撃オブジェクトMOの影が仮想空間の地面に映っていると考えることもできる。この場合、警告範囲Dは、安全地帯を示す第2の影Aに対して、危険地帯を示す第3の影として機能することとなり、プレイヤオブジェクトPOが第2の影A内を目指しながら第3の影内を避けるという新たな興趣性を生むことができる。
ここで、警告範囲Dは、当該警告範囲Dが設定されている攻撃オブジェクトMOが仮想空間から消滅することに応じて消去され、新たな攻撃オブジェクトMOが出現する毎に新たな警告範囲Dが描画される。また、第2の影Aは、攻撃実行状態における敵オブジェクトEOによる攻撃が終了すると消去される。そして、敵オブジェクトEOが攻撃実行状態から攻撃準備状態または攻撃準備前状態に戻り、敵オブジェクトEOが攻撃準備状態に戻った場合に、次の攻撃実行状態における敵オブジェクトEOによる攻撃を想定した第2の影Aが新たに描画される。
なお、上述した説明では、敵オブジェクトEOからの攻撃が遮蔽される範囲として第2の影Aを用いたが、他の攻撃が遮蔽されるものであってもよい。例えば、攻撃を実行するオブジェクトは、敵オブジェクトEOでなくてもよく、プレイヤオブジェクトPOからの攻撃が遮蔽される範囲として第2の影Aが表示されてもよいし、プレイヤオブジェクトPOの仲間となるオブジェクトからの攻撃が遮蔽される範囲として第2の影Aが表示されてもよい。一例として、ユーザがプレイヤオブジェクトPOに攻撃動作を行わせるための操作を行ってから、実際に攻撃されるまでにプレイヤオブジェクトPOに対するモーション制御が行われることでプレイヤオブジェクトPOの位置が変化する場合において、プレイヤオブジェクトPOからの攻撃が遮蔽される範囲として第2の影Aが表示されることによって、敵オブジェクトEO等に攻撃が当たらない範囲を事前にユーザが認識できるようになる。なお、敵オブジェクトEOまたはプレイヤオブジェクトPOが、攻撃実行オブジェクトの一例に相当する。
また、遮蔽オブジェクトSOは、仮想空間において既存の建物や自然物等であるが、ゲーム進行中に破壊可能なものであってもよい。また、遮蔽オブジェクトSOは、ゲーム進行中に新たに出現するものであってもよい。また、遮蔽オブジェクトSOは、攻撃実行状態における敵オブジェクトEOの攻撃の前後の期間においては固定されているが、それ以外の期間(例えば、攻撃準備前期間)では仮想空間おいて固定されていなくてよい。
また、第1の影Sおよび第2の影Aは、典型的には仮想空間の地面上に落ちる影として表現されるが、仮想空間に配置されているオブジェクト上(例えば、地面に対して起立する壁面)に映るように表現されてもよい。
また、「攻撃準備前状態」、「攻撃準備状態」、および「攻撃実行状態」における「攻撃」とは、特定の攻撃に着目しており、敵オブジェクトEOが「攻撃準備前状態」および「攻撃準備状態」において、当該特定の攻撃以外の攻撃を行ってもよい。つまり、「攻撃準備前状態」、「攻撃準備状態」、および「攻撃実行状態」における「攻撃」という言葉は、上記特定の攻撃以外の攻撃を指すものではない。
次に、図14~図18を参照して、本実施例においてゲームシステム1で実行される具体的な処理の一例について説明する。図14は、本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図14に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、左コントローラ3および/または右コントローラ4や本体装置2から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、攻撃オブジェクトデータDd、起点データDe、オブジェクトデータDf、第1の影データDg、第2の影データDh、警告範囲データDi、重複範囲データDj、攻撃準備フラグデータDk、攻撃実行フラグデータDm、および画像データDn等が記憶される。
操作データDaは、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、タッチパネル)からの入力に関する情報(具体的には、操作に関する情報)が含まれている。本実施例では、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ操作データを取得しており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記操作データが取得される周期毎に更新されてもよい。
プレイヤオブジェクトデータDbは、仮想空間に配置されているプレイヤオブジェクトの配置位置および配置姿勢や、仮想空間における動作や状態等を示すデータである。敵オブジェクトデータDcは、仮想空間に配置されている敵オブジェクトの配置位置および配置姿勢や、仮想空間における動作や状態等を示すデータである。攻撃オブジェクトデータDdは、仮想空間にそれぞれ配置されている攻撃オブジェクト毎の配置位置、配置姿勢、および配置状態等を示すデータである。
起点データDeは、敵オブジェクトEOの位置を起点とする直線軌道上で行われる攻撃における当該起点の位置を示すデータである。
オブジェクトデータDfは、仮想空間にそれぞれ配置されている遮蔽オブジェクト等のオブジェクト毎のオブジェクトの種別、配置位置、配置姿勢、配置形状、および配置状態等を示すデータである。
第1の影データDgは、仮想空間に描画される第1の影の位置、形状、および表示態様等を示すデータである。第2の影データDhは、仮想空間に描画される第2の影の位置、形状、および表示態様等を示すデータである。警告範囲データDiは、仮想空間に描画される警告範囲の位置、形状、および表示態様等を示すデータである。重複範囲データDjは、仮想空間に描画される重複範囲の位置、形状、および表示態様等を示すデータである。
攻撃準備フラグデータDkは、敵オブジェクトが攻撃準備状態である場合にオンに設定される攻撃準備フラグを示すデータである。攻撃実行フラグデータDmは、敵オブジェクトが攻撃実行状態である場合にオンに設定される攻撃実行フラグを示すデータである。
画像データDnは、表示画面(例えば、本体装置2のディスプレイ12)に画像(例えば、プレイヤオブジェクトの画像、敵オブジェクトの画像、遮蔽オブジェクト等の他のオブジェクトの画像、仮想空間の画像、背景画像等)を表示するためのデータである。
次に、図15~図18を参照して、本実施例における情報処理の詳細な一例を説明する。図15は、ゲームシステム1で実行される情報処理の一例を示すフローチャートである。図16は、図15におけるステップS127おいて行われる攻撃準備前期間処理の詳細な一例を示すサブルーチンである。図17は、図15におけるステップS129おいて行われる攻撃準備期間処理の詳細な一例を示すサブルーチンである。図18は、図15におけるステップS131において行われる攻撃実行期間処理の詳細な一例を示すサブルーチンである。本実施例においては、図15~図18に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図15~図18に示す情報処理が開始されるタイミングは任意である。
なお、図15~図18に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図15~図18に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
図15において、プロセッサ81は、情報処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。例えば、プロセッサ81は、予め設定されている仮想空間の設定に基づいて、プレイヤオブジェクト、攻撃準備前状態の敵オブジェクト、および/または遮蔽オブジェクト等の他のオブジェクトを仮想空間に初期配置して、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、およびオブジェクトデータDfを初期設定する。また、プロセッサ81は、攻撃準備フラグおよび攻撃実行フラグをそれぞれオフに設定して、攻撃準備フラグデータDkおよび攻撃実行フラグデータDmをそれぞれ初期設定する。
次に、プロセッサ81は、左コントローラ3、右コントローラ4、および/または本体装置2から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
次に、プロセッサ81は、操作データDaに応じて、プレイヤオブジェクトPOの動作制御を行い(ステップS123)、次のステップに処理を進める。例えば、プロセッサ81は、ステップS122において取得した操作データDaに基づいて、プレイヤオブジェクトPOに攻撃や移動等の動作をさせ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOの動作および周囲の状態に応じて、プレイヤオブジェクトPOおよび仮想空間における仮想的な物理演算に基づいて、仮想空間に配置されたプレイヤオブジェクトPOを動作させ、プレイヤオブジェクトデータDbを更新する。さらに、プロセッサ81は、プレイヤオブジェクトPOの状態を変化させる状態変化演算に基づいて、プレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。一例として、プロセッサ81は、敵オブジェクトEOを起点とする直線軌道上で行われる攻撃や攻撃オブジェクトMOを用いた攻撃をプレイヤオブジェクトPOが受けた場合、当該攻撃の攻撃力およびプレイヤオブジェクトPOの防御力等を用いて状態変化演算を行ってプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOが第2の影A内に位置しているために遮蔽オブジェクトSO等によって上記攻撃が遮蔽された場合、プレイヤオブジェクトPOが上記攻撃を受けていないと判定して当該攻撃による状態変化を行わない。
次に、プロセッサ81は、敵オブジェクトEOの動作制御を行い(ステップS124)、次のステップに処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトPOの動作、現時点の期間、所定の動作アルゴリズム、および仮想空間における仮想的な物理演算に基づいて、仮想空間に配置された敵オブジェクトEOを動作させ、敵オブジェクトデータDcを更新する。また、プロセッサ81は、敵オブジェクトEOの状態やライフ値を変化させる状態変化演算に基づいて、プレイヤオブジェクトPOからの攻撃等に応じて、敵オブジェクトEOの状態やライフ値を変化させ、敵オブジェクトデータDcを更新する。例えば、プロセッサ81は、現時点が攻撃準備前期間である場合、攻撃準備前状態であることを示す表示態様に敵オブジェクトEOを設定して敵オブジェクトデータDcを更新する。また、プロセッサ81は、現時点が攻撃準備期間である場合、攻撃準備状態であることを示す表示態様に敵オブジェクトEOを設定して敵オブジェクトデータDcを更新する。さらに、プロセッサ81は、攻撃実行期間である場合、攻撃実行状態であることを示す表示態様に敵オブジェクトEOを設定するとともに、敵オブジェクトEOを起点とする直線軌道上で行われる攻撃動作を行わせて敵オブジェクトデータDcを更新する。なお、起点移動手段は、攻撃準備状態である間に、起点を、第1の位置から、第1の攻撃が実行されるときの位置である第2の位置に移動させる処理を行うものであり、一例としてステップS124の処理を行うプロセッサ81に相当する。また、攻撃実行手段は、攻撃実行オブジェクトが攻撃準備状態から攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに第1の攻撃を実行させる処理を行うものであり、一例としてステップS124の処理を行うプロセッサ81に相当する。
なお、上記ステップS124において、プレイヤオブジェクトPOが接触するとダメージを受ける攻撃オブジェクトMOを仮想空間に追加することによって、プレイヤオブジェクトPOに対する敵オブジェクトEOによる攻撃が行われてもかまわない。この場合、プロセッサ81は、仮想空間内に追加される攻撃オブジェクトMOに応じたデータを攻撃オブジェクトデータDdに追加するとともに、当該攻撃オブジェクトMOを所定の動作アルゴリズムおよび仮想空間における仮想的な物理演算に基づいて仮想空間内で移動させ、攻撃オブジェクトデータDdを更新する。また、プロセッサ81は、仮想空間内に追加された攻撃オブジェクトMOを仮想空間における地面に衝突等させることによって消滅させる場合、当該攻撃オブジェクトMOに対応するデータを攻撃オブジェクトデータDdから削除する。
次に、プロセッサ81は、その他の処理を行い(ステップS125)、次のステップに処理を進める。例えば、プロセッサ81は、その他の処理の1つとして、プレイヤオブジェクトPOおよび敵オブジェクトEO以外の他のオブジェクトの動作制御を行う。一例として、プロセッサ81は、プレイヤオブジェクトPOの動作、所定の動作アルゴリズム、および仮想空間における仮想的な物理演算に基づいて、仮想空間に配置された他のオブジェクトを動作させて、オブジェクトデータDfを更新する。また、プロセッサ81は、他のオブジェクトの状態を変化させる状態変化演算に基づいて、プレイヤオブジェクトPOや敵オブジェクトEOの動作等に応じて他のオブジェクトの状態を変化させ、オブジェクトデータDfを更新する。なお、オブジェクト配置手段は、仮想空間に攻撃実行オブジェクトと、当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置する処理を行うものであり、一例としてステップS121およびS123-S125の処理を行うプロセッサ81に相当する。
次に、プロセッサ81は、現時点が攻撃準備前期間か否かを判定する(ステップS126)。例えば、プロセッサ81は、攻撃準備フラグデータDkおよび攻撃実行フラグデータDmを参照して、攻撃準備フラグおよび攻撃実行フラグがともにオフに設定されている場合、上記ステップS126において肯定判定する。そして、プロセッサ81は、現時点が攻撃準備前期間である場合、ステップS127に処理を進める。一方、プロセッサ81は、現時点が攻撃準備前期間でない場合、ステップS128に処理を進める。
ステップS127において、プロセッサ81は、攻撃準備前期間処理を行い、ステップS128に処理を進める。以下、図16を参照して、上記ステップS128において行われる攻撃準備前期間処理について説明する。なお、第1描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態である場合に、遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する処理を行うものであり、一例としてステップS127の処理を行うプロセッサ81に相当する。
図16において、プロセッサ81は、仮想空間に光源を設定し(ステップS141)、次のステップに処理を進める。例えば、プロセッサ81は、仮想空間における太陽や月の位置に光源を設定する。
次に、プロセッサ81は、上記ステップS141において設定した光源からの光が遮られる第1の影Sを設定し(ステップS142)、次のステップに処理を進める。例えば、プロセッサ81は、オブジェクトデータDfに基づいて、仮想空間に配置されている遮蔽オブジェクトSO毎に、上記ステップS141において設定した光源からの光が遮られる仮想空間における地面上の影を算出し、当該設定されたそれぞれの影を第1の影Sとして第1の影データDgを更新する。
次に、プロセッサ81は、攻撃準備期間を開始するか否かを判定する(ステップS143)。例えば、本実施例では、敵オブジェクトEOが攻撃準備および攻撃実行を行わない期間(攻撃準備前期間)、敵オブジェクトEOが攻撃準備を行う期間(攻撃準備期間)、および敵オブジェクトEOが攻撃を実行する期間(攻撃実行期間)が周期的に順次切り替わるように予め設定されている。プロセッサ81は、上記期間の設定に基づいて、ゲーム時間が攻撃準備期間を開始するタイミングである場合、上記ステップS143において肯定判定する。そして、プロセッサ81は、攻撃準備期間を開始する場合、ステップS144に処理を進める。一方、プロセッサ81は、攻撃準備期間を開始しない場合、当該サブルーチンによる処理を終了する。
ステップS144において、プロセッサ81は、攻撃準備フラグをオンに設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、攻撃準備フラグをオンに設定して、攻撃準備フラグデータDkを更新する。
図15に戻り、ステップS128において、プロセッサ81は、現時点が攻撃準備期間か否かを判定する。例えば、プロセッサ81は、攻撃準備フラグデータDk参照して、攻撃準備フラグがオンに設定されている場合、上記ステップS128において肯定判定する。そして、プロセッサ81は、現時点が攻撃準備期間である場合、ステップS129に処理を進める。一方、プロセッサ81は、現時点が攻撃準備期間でない場合、ステップS130に処理を進める。
ステップS129において、プロセッサ81は、攻撃準備期間処理を行い、ステップS130に処理を進める。以下、図17を参照して、上記ステップS129において行われる攻撃準備期間処理について説明する。なお、第2描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態から攻撃準備状態になったことに合わせて、遮蔽オブジェクトに対する影の描画設定を、非描画設定および第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する処理を行うものであり、一例としてステップS129の処理を行うプロセッサ81に相当する。
図17において、プロセッサ81は、後のステップにおいて実行される攻撃実行期間処理開始時の敵オブジェクトEOの位置および姿勢を予測し(ステップS151)、次のステップに処理を進める。例えば、プロセッサ81は、後のステップにおいて実行される次の攻撃実行期間処理開始時において予定されている敵オブジェクトEOの位置や姿勢(すなわち、次にプレイヤオブジェクトPOを攻撃する際に予測される敵オブジェクトEOの位置および姿勢)を、設定されている動作アルゴリズムや演出予定内容等に基づいて算出して予測する。
次に、プロセッサ81は、後のステップにおいて実行される攻撃実行期間処理開始時の攻撃起点を算出し(ステップS152)、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS151において予測された敵オブジェクトEOの位置および姿勢を用いて、次の攻撃実行期間処理開始時において実行予定の攻撃における起点(例えば、敵オブジェクトEOの口の位置)を算出し、起点データDeを更新する。
次に、プロセッサ81は、上記ステップS152において算出された起点から直線軌道上で行われる攻撃が遮られる第2の影Aを設定し(ステップS153)、次のステップに処理を進める。例えば、プロセッサ81は、オブジェクトデータDfに基づいて、仮想空間に配置されている遮蔽オブジェクトSO毎に、上記ステップS152において設定した起点からの直線軌道上で行われる攻撃が遮られる仮想空間における地面上の範囲を算出し、当該設定されたそれぞれの範囲を第2の影Aとして第2の影データDhを更新する。
なお、上記攻撃実行期間において、敵オブジェクトEOが攻撃中に移動したり姿勢を変えたりすることが考えられる。この場合、敵オブジェクトEOを起点とする直線軌道上で行われる攻撃を遮蔽オブジェクトSOによって遮蔽できる範囲が、攻撃実行中に変化することになる。このような攻撃に対応するために、上記攻撃実行期間の開始時だけでなく、上記攻撃実行期間の全期間において、移動および/または姿勢変化する敵オブジェクトEOからの攻撃を遮蔽オブジェクトSOによって継続して遮蔽できる範囲を第2の影Aとしてもよい。このような第2の影を設定する場合、上記ステップS151では攻撃実行期間の全期間における敵オブジェクトEOの位置および姿勢を予測し、上記ステップS152では攻撃実行期間の全期間における起点位置を算出して、上記ステップS153では攻撃実行期間の全期間おける起点位置からの攻撃が全て遮られる範囲を第2の影Aとして設定すればよい。
次に、プロセッサ81は、第1の影Sを消去し(ステップS154)、次のステップに処理を進める。例えば、プロセッサ81は、第1の影データDgに第1の影Sを表示するためのデータが設定されている場合、当該データを第1の影データDgから消去することによって仮想空間から第1の影Sを消去する。なお、上記ステップS154の処理においては、第1の影Sの表示態様を変化させてもかまわない。例えば、プロセッサ81は、第1の影Sの表示態様を、仮想空間に表示される第2の影Aや警告範囲Dの表示態様とは異なるとともに、相対的に目立たない表示態様に変化させてもよいし、攻撃準備前期間において表示されている第1の影Sより目立たない表示態様に変化させてもよい。
次に、プロセッサ81は、攻撃オブジェクトMOそれぞれの到達位置を含む警告範囲Dを設定し(ステップS155)、次のステップに処理を進める。例えば、プロセッサ81は、攻撃オブジェクトデータDdを用いて、仮想空間に出現している攻撃オブジェクトMOがそれぞれ仮想空間の地面に到達することが予測される位置を算出し、当該位置を含む警告範囲Dをそれぞれ設定して警告範囲データDiを更新する。具体的には、警告範囲Dは、攻撃オブジェクトMOが地面に衝突すると予測される位置を中心とする当該地面上の所定サイズの円形に設定され、プレイヤオブジェクトPOに対する攻撃オブジェクトMOの攻撃が及ぶ範囲として設定される。なお、プロセッサ81は、警告範囲Dが設定されていた攻撃オブジェクトMOが仮想空間の地面等に衝突することによって消滅している場合、当該警告範囲Dを表示するためのデータを警告範囲データDiから消去する。
次に、プロセッサ81は、第2の影Aと警告範囲Dとが重複する重複範囲Aoの表示態様を変更し(ステップS156)、次のステップに処理を進める。例えば、プロセッサ81は、第2の影データDhが示す第2の影Aと警告範囲データDiが示す警告範囲Dとが重複する範囲を算出する。そして、プロセッサ81は、算出された範囲の表示態様を、第1の影S、第2の影A、および警告範囲Dとは少なくとも異なる表示態様に変化させて、当該範囲を重複範囲Aoとして重複範囲データDjを更新する。なお、プロセッサ81は、重複範囲Aoが設定されていた攻撃オブジェクトMOが仮想空間の地面等に衝突することによって消滅している場合、当該重複範囲Aoを表示するためのデータを重複範囲データDjから消去するとともに、当該重複範囲データDjを第2の影Aの範囲に戻して第2の影データDhを更新する。
次に、プロセッサ81は、攻撃実行期間を開始するか否かを判定する(ステップS157)。上述したように、本実施例では、攻撃準備前期間、攻撃準備期間、および攻撃実行期間が周期的に順次切り替わるように予め設定されている。プロセッサ81は、上記期間の設定に基づいて、ゲーム時間が攻撃実行期間を開始するタイミングである場合、上記ステップS157において肯定判定する。また、プロセッサ81は、攻撃準備期間中に敵オブジェクトEOが倒された場合、上記ステップS157において肯定判定する。そして、プロセッサ81は、攻撃実行期間を開始する場合、ステップS158に処理を進める。一方、プロセッサ81は、攻撃実行期間を開始しない場合、当該サブルーチンによる処理を終了する。
ステップS158において、プロセッサ81は、攻撃実行フラグをオン、攻撃準備フラグをオフにそれぞれ設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、攻撃実行フラグをオンに設定して、攻撃実行フラグデータDmを更新する。そして、プロセッサ81は、攻撃準備フラグをオフに設定して、攻撃準備フラグデータDkを更新する。
図15に戻り、ステップS130において、プロセッサ81は、現時点が攻撃実行期間か否かを判定する。例えば、プロセッサ81は、攻撃実行フラグデータDm参照して、攻撃実行フラグがオンに設定されている場合、上記ステップS130において肯定判定する。そして、プロセッサ81は、現時点が攻撃実行期間である場合、ステップS131に処理を進める。一方、プロセッサ81は、現時点が攻撃実行期間でない場合、ステップS132に処理を進める。
ステップS131において、プロセッサ81は、攻撃実行期間処理を行い、ステップS132に処理を進める。以下、図18を参照して、上記ステップS131において行われる攻撃実行期間処理について説明する。なお、第2描画設定手段は、攻撃実行オブジェクトが攻撃準備前状態から攻撃準備状態になったことに合わせて、遮蔽オブジェクトに対する影の描画設定を、非描画設定および第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する処理を行うものであり、一例としてステップS131の処理を行うプロセッサ81に相当する。
図18において、プロセッサ81は、敵オブジェクトEOの起点から直線軌道上で行われる攻撃が遮られる第2の影Aを設定し(ステップS171)、次のステップに処理を進める。なお、上記ステップS171における処理は、上述したステップS153の処理と同様であるため、詳細な説明を省略する。
次に、プロセッサ81は、攻撃オブジェクトMOそれぞれの到達位置を含む警告範囲Dを設定し(ステップS172)、次のステップに処理を進める。なお、上記ステップS172における処理は、上述したステップS155と同様であるため、詳細な説明を省略する。
次に、プロセッサ81は、第2の影Aと警告範囲Dとが重複する重複範囲Aoの表示態様を変更し(ステップS173)、次のステップに処理を進める。なお、上記ステップS173における処理は、上述したステップS156と同様であるため、詳細な説明を省略する。
次に、プロセッサ81は、攻撃実行期間を終了するか否かを判定する(ステップS174)。上述したように、本実施例では、攻撃準備前期間、攻撃準備期間、および攻撃実行期間が周期的に順次切り替わるように予め設定されている。プロセッサ81は、上記期間の設定に基づいて、ゲーム時間が攻撃実行期間を終了するタイミングである場合、上記ステップS174において肯定判定する。また、プロセッサ81は、攻撃実行期間中に敵オブジェクトEOが倒された場合、上記ステップS174において肯定判定する。そして、プロセッサ81は、攻撃実行期間を終了する場合、ステップS175に処理を進める。一方、プロセッサ81は、攻撃実行期間を終了しない場合、当該サブルーチンによる処理を終了する。
ステップS175において、プロセッサ81は、第2の影A、警告範囲D、および重複範囲Aoを消去して、次のステップに処理を進める。例えば、プロセッサ81は、第2の影データDhに第2の影Aを表示するためのデータが設定されている場合、当該データを第2の影データDhから消去することによって仮想空間から第2の影Aを消去する。また、プロセッサ81は、警告範囲データDiに警告範囲Dを表示するためのデータが設定されている場合、当該データを警告範囲データDiから消去することによって仮想空間から警告範囲Dを消去する。また、プロセッサ81は、重複範囲データDjに重複範囲Aoを表示するためのデータが設定されている場合、当該データを重複範囲データDjから消去することによって仮想空間から重複範囲Aoを消去する。
次に、プロセッサ81は、攻撃実行フラグをオフに設定して(ステップS176)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、攻撃実行フラグをオフに設定して、攻撃実行フラグデータDmを更新する。
図15に戻り、ステップS132において、プロセッサ81は、表示制御処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトデータDb、敵オブジェクトデータDc、攻撃オブジェクトデータDd、およびオブジェクトデータDfに基づいて、仮想空間にプレイヤオブジェクトPO、敵オブジェクトEO、攻撃オブジェクトMO、および遮蔽オブジェクトSO等の各オブジェクトをそれぞれ配置する。また、プロセッサ81は、第1の影データDg、第2の影データDh、警告範囲データDi、重複範囲データDjに基づいて、第1の影S、第2の影A、警告範囲D、および重複範囲Aoを仮想空間の地面上に描画する。また、プロセッサ81は、表示画像を生成するための仮想カメラの位置および/または姿勢を設定し、当該仮想カメラを仮想空間に配置する。そして、設定した仮想カメラから見た仮想空間の画像を生成して、当該仮想空間画像をディスプレイ12に表示する制御を行う。なお、描画手段は、少なくとも影の描画設定に基づき、当該影を含む仮想空間の描画を実行する処理を行うものであり、一例としてステップS132の処理を行うプロセッサ81に相当する。
なお、攻撃準備前期間と攻撃準備期間および攻撃実行期間とにおいて、それぞれ仮想空間の表示態様を変化させてもよい。この場合、上記ステップS132において、プロセッサ81は、現時点の期間に応じた仮想空間の表示態様で、当該仮想空間の画像を生成する。一例として、プロセッサ81は、攻撃準備前期間における仮想空間の表示態様が、相対的に明るい空で白色系の地面に設定されている場合、攻撃準備前期間においては当該設定に応じて仮想空間の背景および地面を描画して、仮想空間の画像を生成する。また、プロセッサ81は、攻撃準備期間および攻撃実行期間における仮想空間の表示態様が、相対的に暗い空で赤色系の地面に設定されている場合、攻撃準備期間または攻撃実行期間においては当該設定に応じて仮想空間の背景および地面を描画して、仮想空間の画像を生成する。
次に、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS133)。上記ステップS133においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ81は、ゲーム処理を終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS133の一連の処理は、ステップS133で処理を終了すると判定されるまで繰り返し実行される。
このように、本実施例においては、敵オブジェクトEOからの攻撃が実行される前に当該攻撃中に表示される第2の影Aが表示されるため、仮想空間において攻撃が及ばない範囲を事前にユーザに知らせることができる。
なお、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。この場合、プレイヤオブジェクトPOを動作させる操作を行うための入力装置は、左コントローラ3、右コントローラ4、またはタッチパネル13でなくてもよく、別のコントローラ、マウス、タッチパッド、タッチパネル、トラックボール、キーボード、十字キー、スライドパッド等であってもよい。
また、上述した説明では情報処理をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
以上のように、本発明は、仮想空間において攻撃が及ばない範囲を事前にユーザに知らせることを可能とする情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法等として利用することができる。
1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
11…ハウジング
12…ディスプレイ
13…タッチパネル
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部

Claims (18)

  1. 情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    前記コンピュータを、
    仮想空間に攻撃実行オブジェクトと、当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置するオブジェクト配置手段と、
    前記攻撃実行オブジェクトが攻撃準備前状態である場合に、前記遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する第1描画設定手段と、
    前記攻撃実行オブジェクトが前記攻撃準備前状態から攻撃準備状態になったことに合わせて、前記遮蔽オブジェクトに対する前記影の描画設定を、前記非描画設定および前記第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する第2描画設定手段と、
    前記攻撃準備状態である間に、前記起点を、第1の位置から、前記第1の攻撃が実行されるときの位置である第2の位置に移動させる起点移動手段と、
    前記攻撃実行オブジェクトが前記攻撃準備状態から前記攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに前記第1の攻撃を実行させる攻撃実行手段と、
    少なくとも前記影の描画設定として設定されている前記非描画設定、前記第1描画設定、または前記第2描画設定に基づき、当該影を含む前記仮想空間の描画を実行する描画手段として機能させ、
    前記第2描画設定手段は、前記第2の位置を起点とする前記第1の攻撃が前記遮蔽オブジェクトにより遮蔽される範囲が前記第2の影の範囲となるように前記第2描画設定を設定する、情報処理プログラム。
  2. 前記第1描画設定手段は、前記攻撃実行オブジェクトが前記攻撃準備前状態である場合に前記影の描画設定を前記第1描画設定に設定する、請求項1に記載の情報処理プログラム。
  3. 前記第2描画設定手段は、前記第1の影を消去して前記第2の影が描画されるように前記第2描画設定を設定する、請求項2に記載の情報処理プログラム。
  4. 前記描画手段は、前記攻撃実行オブジェクトが前記攻撃準備状態であるときに、描画される前記第1の影以外の部分、かつ、前記第2の影以外の部分の少なくとも一部を、前記攻撃準備前状態であるときにおける描画態様とは異なる態様で描画する、請求項1乃至3の何れか1つに記載の情報処理プログラム。
  5. 前記オブジェクト配置手段は、プレイヤオブジェクトを前記仮想空間に配置するとともに、前記攻撃実行オブジェクトとして敵オブジェクトを前記仮想空間に配置し、
    前記第2描画設定手段は、前記第2の影を、前記プレイヤオブジェクトが当該第2の影内に位置する場合に、前記プレイヤオブジェクトが前記第1の攻撃を受けない範囲と一致させる、請求項1乃至4の何れか1つに記載の情報処理プログラム。
  6. 前記攻撃実行手段は、前記攻撃実行オブジェクトが少なくとも前記攻撃準備状態である間に、攻撃オブジェクトを用いて前記第1の攻撃とは異なる第2の攻撃を実行し、
    前記第2描画設定手段は、前記第2の攻撃を行う攻撃オブジェクトが到達する仮想空間における到達位置が前記第2の影の範囲に含まれる場合、当該到達位置を含む範囲である警告範囲の描画態様を、当該第2の影の描画態様とは異なる態様で設定する、請求項1乃至5の何れか1つに記載の情報処理プログラム。
  7. 前記攻撃オブジェクトは、前記仮想空間において前記直線軌道とは異なる軌道で移動することによって前記第2の攻撃を行う、請求項6に記載の情報処理プログラム。
  8. 前記攻撃オブジェクトが移動する軌道は、前記仮想空間の上から下に向かうものである、請求項7に記載の情報処理プログラム。
  9. 前記オブジェクト配置手段は、前記仮想空間にプレイヤオブジェクトを配置し、
    前記第2描画設定手段は、前記プレイヤオブジェクトに前記攻撃オブジェクトが当たることによって当該プレイヤオブジェクトが前記第2の攻撃を受ける範囲を前記警告範囲とする、請求項6乃至8の何れか1つに記載の情報処理プログラム。
  10. 前記警告範囲の描画態様は、前記第2の影と重複する範囲と前記第2の影と重複しない範囲とにおいて異なる描画態様に設定される、請求項6乃至9の何れか1つに記載の情報処理プログラム。
  11. 前記攻撃実行手段は、前記第1の攻撃として、前記直線軌道に基づいて前記攻撃実行オブジェクトから前記プレイヤオブジェクトの位置の周辺に向けて攻撃オブジェクトを発射する、請求項5に記載の情報処理プログラム。
  12. 前記攻撃実行手段は、前記第1の攻撃として、前記直線軌道に基づいて前記攻撃実行オブジェクトから前記プレイヤオブジェクトの位置の周辺に向けて攻撃オブジェクトを移動させる、請求項5に記載の情報処理プログラム。
  13. 前記攻撃実行オブジェクトは、前記攻撃実行状態の終了後、再度前記攻撃準備前状態となる、請求項1乃至12の何れか1つに記載の情報処理プログラム。
  14. 前記プレイヤオブジェクトは、前記第1の攻撃を受けることによりダメージを受ける、請求項5に記載の情報処理プログラム。
  15. 仮想空間に攻撃実行オブジェクトと当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置するオブジェクト配置手段と、
    前記攻撃実行オブジェクトが攻撃準備前状態である場合に、前記遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する第1描画状態手段と、
    前記攻撃実行オブジェクトが前記攻撃準備前状態から攻撃準備状態になったことに合わせて、前記遮蔽オブジェクトに対する前記影の描画設定を、前記非描画設定および前記第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する第2描画設定手段と、
    前記攻撃準備状態である間に、前記起点を、第1の位置から、前記第1の攻撃が実行されるときの位置である第2の位置に移動させる起点移動手段と、
    前記攻撃実行オブジェクトが前記攻撃準備状態から前記攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに前記第1の攻撃を実行させる攻撃実行手段と、
    少なくとも前記影の描画設定として設定されている前記非描画設定、前記第1描画設定、または前記第2描画設定に基づき、当該影を含む前記仮想空間の描画を実行する描画手段とを備え、
    前記第2描画設定手段は、前記第2の位置を起点とする前記第1の攻撃が前記遮蔽オブジェクトにより遮蔽される範囲が前記第2の影の範囲となるように前記第2描画設定を設定する、情報処理装置。
  16. 仮想空間に攻撃実行オブジェクトと当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置するオブジェクト配置手段と、
    前記攻撃実行オブジェクトが攻撃準備前状態である場合に、前記遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する第1描画状態手段と、
    前記攻撃実行オブジェクトが前記攻撃準備前状態から攻撃準備状態になったことに合わせて、前記遮蔽オブジェクトに対する前記影の描画設定を、前記非描画設定および前記第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する第2描画設定手段と、
    前記攻撃準備状態である間に、前記起点を、第1の位置から、前記第1の攻撃が実行されるときの位置である第2の位置に移動させる起点移動手段と、
    前記攻撃実行オブジェクトが前記攻撃準備状態から前記攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに前記第1の攻撃を実行させる攻撃実行手段と、
    少なくとも前記影の描画設定として設定されている前記非描画設定、前記第1描画設定、または前記第2描画設定に基づき、当該影を含む前記仮想空間の描画を実行する描画手段とを備え、
    前記第2描画設定手段は、前記第2の位置を起点とする前記第1の攻撃が前記遮蔽オブジェクトにより遮蔽される範囲が前記第2の影の範囲となるように前記第2描画設定を設定する、情報処理システム。
  17. 情報処理装置のプロセッサに、
    仮想空間に攻撃実行オブジェクトと当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置するオブジェクト配置ステップと、
    前記攻撃実行オブジェクトが攻撃準備前状態である場合に、前記遮蔽オブジェクトに対する仮想空間における影の描画設定を、当該影が描画されない非描画設定または当該影として第1の影が描画される第1描画設定のいずれかに設定する第1描画状態ステップと、
    前記攻撃実行オブジェクトが前記攻撃準備前状態から攻撃準備状態になったことに合わせて、前記遮蔽オブジェクトに対する前記影の描画設定を、前記非描画設定および前記第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する第2描画設定ステップと、
    前記攻撃準備状態である間に、前記起点を、第1の位置から、前記第1の攻撃が実行されるときの位置である第2の位置に移動させる起点移動ステップと、
    前記攻撃実行オブジェクトが前記攻撃準備状態から前記攻撃実行状態になったことに応じて、当該攻撃実行オブジェクトに前記第1の攻撃を実行させる攻撃実行ステップと、
    少なくとも前記影の描画設定として設定されている前記非描画設定、前記第1描画設定、または前記第2描画設定に基づき、当該影を含む前記仮想空間の描画を実行する描画ステップとを実行させ、
    前記第2描画設定ステップでは、前記第2の位置を起点とする前記第1の攻撃が前記遮蔽オブジェクトにより遮蔽される範囲が前記第2の影の範囲となるように前記第2描画設定が設定される、情報処理方法。
  18. 情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    前記コンピュータを、
    仮想空間に攻撃実行オブジェクトと、当該攻撃実行オブジェクトの少なくとも一部を起点とする直線軌道上で行われる第1の攻撃を遮蔽する遮蔽オブジェクトとを配置するオブジェクト配置手段と、
    前記遮蔽オブジェクトに対する影の描画設定を、当該影が描画されない非描画設定、または当該影として第1の影が描画される第1描画設定のいずれかに設定する第1描画設定手段と、
    前記遮蔽オブジェクトに対する前記影の描画設定を、前記非描画設定および前記第1描画設定とは異なるように、当該影として第2の影が描画される第2描画設定に設定する第2描画設定手段と、
    最新の前記影の描画設定として設定されている前記非描画設定、前記第1描画設定、または前記第2描画設定に基づき、当該影を含む前記仮想空間の描画を繰り返し実行する描画手段として機能させ、
    前記第2描画設定手段は、前記第1の攻撃が前記遮蔽オブジェクトにより遮蔽される範囲が前記第2の影の範囲となるように、前記第1の攻撃が開始されるよりも前に前記第2描画設定を設定する、情報処理プログラム。
JP2020144141A 2020-08-28 2020-08-28 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 Active JP7200184B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020144141A JP7200184B2 (ja) 2020-08-28 2020-08-28 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
US17/381,729 US11369876B2 (en) 2020-08-28 2021-07-21 Storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020144141A JP7200184B2 (ja) 2020-08-28 2020-08-28 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Publications (2)

Publication Number Publication Date
JP2022039223A JP2022039223A (ja) 2022-03-10
JP7200184B2 true JP7200184B2 (ja) 2023-01-06

Family

ID=80357934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020144141A Active JP7200184B2 (ja) 2020-08-28 2020-08-28 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Country Status (2)

Country Link
US (1) US11369876B2 (ja)
JP (1) JP7200184B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436293B2 (ja) 2020-06-02 2024-02-21 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP7200184B2 (ja) * 2020-08-28 2023-01-06 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
CN113457132B (zh) * 2021-06-23 2024-03-01 北京达佳互联信息技术有限公司 对象投放方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016159119A (ja) 2015-03-05 2016-09-05 株式会社バンダイナムコエンターテインメント プログラムおよびサーバシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121091A (ja) * 1982-01-14 1983-07-19 池上通信機株式会社 立体感表示方式
US5415549A (en) * 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP3891529B2 (ja) 1998-04-24 2007-03-14 株式会社バンダイナムコゲームス ゲーム用画像生成装置及び情報記憶媒体
WO1999060526A1 (fr) * 1998-05-20 1999-11-25 Sega Enterprises, Ltd. Processeur d'image, machine de distraction, procede de traitement d'image et support d'enregistrement
JP2000126454A (ja) * 1998-10-23 2000-05-09 Sega Enterp Ltd 遊戯装置及び画像処理装置
JP2002058867A (ja) * 2000-06-07 2002-02-26 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP2002058868A (ja) * 2000-06-07 2002-02-26 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP4443012B2 (ja) * 2000-07-27 2010-03-31 株式会社バンダイナムコゲームス 画像生成装置、方法および記録媒体
JP3799553B2 (ja) * 2000-12-14 2006-07-19 株式会社セガ ゲーム装置、通信ゲームシステム、および記録媒体
JP5738569B2 (ja) * 2010-10-15 2015-06-24 任天堂株式会社 画像処理プログラム、装置、システムおよび方法
JP5552469B2 (ja) * 2011-09-27 2014-07-16 株式会社コナミデジタルエンタテインメント ゲーム装置、及びプログラム
US11045735B2 (en) * 2018-09-14 2021-06-29 Bandai Namco Entertainment Inc. Computer system
JP6881871B1 (ja) * 2019-06-11 2021-06-02 ガンホー・オンライン・エンターテイメント株式会社 処理装置、プログラム、及び方法
JP7078596B2 (ja) * 2019-11-21 2022-05-31 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
CN111672102A (zh) * 2020-06-05 2020-09-18 腾讯科技(深圳)有限公司 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
JP7200184B2 (ja) * 2020-08-28 2023-01-06 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016159119A (ja) 2015-03-05 2016-09-05 株式会社バンダイナムコエンターテインメント プログラムおよびサーバシステム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Montedio他,新生エオルゼア ファイナルファンタジーXIV,月刊ファミ通コネクト!オン,株式会社KADOKAWA,2014年04月26日,第4巻 第6号,23~55
スパイを派遣して企業の秘密を盗み出すステルス+ローグライク『Invisible, Inc.』:Steam,[online],2015年11月25日,1-10頁,https://ascii.jp/elem/000/001/083/1083305/,検索日:2022/06/06
江戸時代の日本を舞台に,5人の専門家の活躍を描く「Shadow Tactics: Blades of the Shogun」は,タクティカルストラテジージャンルの良作だ,[online],2016年12月24日,1~12頁,https://www.4gamer.net/games/343/G034307/20161222140/,検索日:2022/06/06

Also Published As

Publication number Publication date
US11369876B2 (en) 2022-06-28
JP2022039223A (ja) 2022-03-10
US20220062768A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
JP7200184B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
CN110755841B (zh) 虚拟环境中道具的切换方法、装置、设备及可读存储介质
JP7226958B2 (ja) ゲームシステム、ゲーム処理方法、ゲームプログラム、ゲーム装置、およびゲームコントローラ
JP6438198B2 (ja) プログラム及びゲーム装置
US10525356B2 (en) Storage medium, game apparatus, game system and game control method
JP2011258151A (ja) 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP7436293B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP2012239778A (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
CN111330278B (zh) 基于虚拟环境的动画播放方法、装置、设备及介质
JP7203068B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US11738264B2 (en) Storage medium, game system, game apparatus and game control method
US9616340B2 (en) Computer device, storage medium, and method of controlling computer device
JP2023039201A (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP6975029B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法
EP2839867A1 (en) Information processing apparatus, information processing system, information processing program and information processing method
JP7510537B2 (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
US20240082722A1 (en) Storage medium, information processing system, information processing apparatus, and information processing method
US20240139628A1 (en) Storage medium, game system, game apparatus, and game processing method
JP7506120B2 (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
JP7449349B2 (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
JP7171403B2 (ja) プログラム、ゲーム方法、および情報処理装置
JP2023114457A (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
JP2023098604A (ja) ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
JP2023037166A (ja) 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
JP2023027585A (ja) ゲームプログラム、情報処理装置、情報処理システム、および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221221

R150 Certificate of patent or registration of utility model

Ref document number: 7200184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150