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

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

Info

Publication number
JP2023103281A
JP2023103281A JP2023071577A JP2023071577A JP2023103281A JP 2023103281 A JP2023103281 A JP 2023103281A JP 2023071577 A JP2023071577 A JP 2023071577A JP 2023071577 A JP2023071577 A JP 2023071577A JP 2023103281 A JP2023103281 A JP 2023103281A
Authority
JP
Japan
Prior art keywords
collision
equipment
item object
item
equipment item
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.)
Pending
Application number
JP2023071577A
Other languages
English (en)
Inventor
直希 深田
Naoki Fukada
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 JP2023071577A priority Critical patent/JP2023103281A/ja
Publication of JP2023103281A publication Critical patent/JP2023103281A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】アイテムのコリジョンを自動的に生成する。【解決手段】操作入力に基づいた第1の指示に応じて、情報処理システムは、複数の装備アイテムオブジェクトのうち指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち指定された第1のアイテムオブジェクトとに替えて、第1の合成装備アイテムオブジェクトを生成する。情報処理システムは、第1の合成装備アイテムオブジェクトをプレイヤキャラクタに所持させる。第1のアイテムオブジェクトは第1のコリジョンを有する。第1の装備アイテムオブジェクトは第2のコリジョンを有する。情報処理システムは、第1のコリジョンに基づいて第3のコリジョンを生成し、当該第3のコリジョンと、第2のコリジョンとに基づいて第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する。【選択図】図15

Description

本発明は、仮想空間におけるオブジェクトの衝突判定に用いられる判定領域(コリジョンとも言う)を生成するゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法に関する。
従来、多様な種類の武器アイテムがゲームに登場するゲームがある(例えば、非特許文献1参照)。
"THE LEGEND OF ZELDA BREATH OF THE WILD"、[online]、Nintendo of America Inc.、[令和5年4月21日検索]、インターネット<https://www.zelda.com/breath-of-the-wild/>
ゲームにおいてより多くの種類の装備アイテムを登場させたい場合に、装備アイテムの種類の増大に伴って、衝突判定に用いられるコリジョンを生成する労力も増大するという課題があった。
それ故、本発明の目的は、装備アイテムの種類を増やしつつ、コリジョンを自動的に生成することができるゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)~(13)の構成を採用した。
(1)
本発明の一例は、情報処理装置のコンピュータに、次の処理を実行させるゲームプログラムである。
・操作入力に基づいてプレイヤキャラクタを制御する処理
・操作入力に基づいた第1の指示に応じて、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトとに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクトを生成する処理
・上記第1の指示に応じて、当該第1の合成装備アイテムオブジェクトをプレイヤキャラクタに所持させる処理
・第1のアイテムオブジェクトは第1のコリジョンを有し、第1の装備アイテムオブジェクトは第2のコリジョンを有しており、上記第1の指示に応じて、当該第1のコリジョンに基づいて第3のコリジョンを生成し、当該第3のコリジョンと、第2のコリジョンとに基づいて第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する処理
上記(1)の構成によれば、アイテムオブジェクトと装備アイテムオブジェクトとを合成して新たな合成装備アイテムオブジェクトを生成することができるので、多くの種類のアイテムをゲームに登場させることができる。さらに、上記(1)の構成によれば、合成装備アイテムオブジェクトのコリジョンを自動的に生成することができる。
(2)
上記(1)の構成において、ゲームプログラムは、コンピュータに、第1のアイテムオブジェクトが仮想空間内に配置されているときに、第1のコリジョンを用いて衝突判定を行わせてもよい。
上記(2)の構成によれば、合成の元となる第1のアイテムオブジェクトのコリジョンを用いて、当該第1のアイテムオブジェクトに基づく合成後の合成装備アイテムオブジェクトのコリジョンを生成することができる。
(3)
上記(1)または(2)のいずれかの構成において、ゲームプログラムは、コンピュータに、第1のコリジョンの形状に基づいて、所定数以内の頂点を有する多面体を第3のコリジョンとして設定させてもよい。
上記(3)の構成によれば、第2のコリジョンの頂点数を所定数以内に抑えることができるので、第4のコリジョンのデータ量も抑制することができる。
(4)
上記(3)の構成において、ゲームプログラムは、コンピュータに、第1のコリジョンの外側に設定される複数の点のそれぞれから最も近い第1のコリジョン上の点を算出させ、当該最も近い点の少なくともいずれかを頂点とする多面体を第3のコリジョンとして設定させてもよい。
上記(4)の構成によれば、第2のコリジョンの形状を、第1のコリジョンの形状を反映した形状とすることができる。
(5)
上記(4)の構成において、外側に設定される複数の点は、第1のコリジョンを内包する直方体の各頂点の位置および各面の中心の位置に設定されてもよい。
上記(5)の構成によれば、第2のコリジョンの形状を、第1のコリジョンの形状を反映した形状とすることができる。
(6)
上記(4)または(5)のいずれかの構成において、ゲームプログラムは、コンピュータに、複数の最も近い点の少なくともいずれかを頂点とした凸形状の多面体を第3のコリジョンの形状として設定させてもよい。
上記(6)の構成によれば、武器や防具等の合成装備アイテムに用いられるコリジョンとして適切な形状のコリジョンを生成することができる。
(7)
上記(6)の構成において、ゲームプログラムは、コンピュータに、複数の最も近い点のうち、凸形状の多面体の頂点とならない位置の点を削除させてもよく、残った点のそれぞれを頂点とする凸形状の多面体を第3のコリジョンの形状として設定させてもよい。
上記(7)の構成によれば、凸形状となる第2のコリジョンを容易に生成することができる。
(8)
上記(1)から(7)のいずれかの構成において、ゲームプログラムは、コンピュータにさらに、第1のアイテムオブジェクトが所定の種類のアイテムオブジェクトであった場合に、第1の合成装備アイテムオブジェクトを生成させる際に、第1のコリジョンを異なる形状のコリジョンに置き換えさせてもよい。
上記(8)の構成によれば、合成装備アイテムオブジェクトの外観に合った形状の第4のコリジョンを生成しやすくなる。
(9)
上記(1)から(7)のいずれかの構成において、ゲームプログラムは、コンピュータに、第1のアイテムオブジェクトが、第1の装備アイテムオブジェクトの先端に配置されたモデルとして、第1の合成装備アイテムオブジェクトの3Dモデルを生成させ、第3のコリジョンが、第2のコリジョンの先端に配置された形状として第4のコリジョンを生成させてもよい。
上記(9)の構成によれば、合成装備アイテムオブジェクトの外観に応じた適切な形状の第4のコリジョンを生成することができる。
(10)
上記(9)のいずれかの構成において、ゲームプログラムは、コンピュータに、第2のコリジョンの先端側の少なくとも一部を削除させて第4のコリジョンを生成させてもよい。
上記(10)の構成によれば、第4のコリジョンを合成装備アイテムオブジェクトの外観に合った形状にすることができる。
(11)
上記(1)から(10)のいずれかの構成において、ゲームプログラムは、コンピュータに、第1のコリジョンおよび第3のコリジョンの少なくともいずれかをスケーリングさせて第4のコリジョンを生成させてもよい。
上記(11)の構成によれば、合成装備アイテムオブジェクトのうちの第1のアイテムオブジェクトに対応する部分の大きさが、元の第1のアイテムオブジェクトの大きさとは異なる場合であっても、合成装備アイテムオブジェクトの外観に応じた形状の第4のコリジョンを生成することができる。
(12)
上記(1)から(11)のいずれかの構成において、第2のコリジョンおよび第3のコリジョンは、凸形状の多面体であってもよい。
上記(12)の構成によれば、武器や防具といった合成装備アイテムオブジェクトに用いられるコリジョンとして適切な形状の第2コリジョンおよび第3コリジョンが用いられるので、第4のコリジョンについても適切な形状なものを生成しやすくすることができる。
(13)
本発明の他の一例は、情報処理装置のコンピュータに、次の処理を実行させるゲームプログラムである。
・操作入力に基づいてプレイヤキャラクタを制御する処理
・操作入力に基づいた第1の指示に応じて、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成する処理
・上記第1の指示に応じて、当該第1の装備アイテムオブジェクトをプレイヤキャラクタに所持させる処理
・第1のアイテムオブジェクトは第1のコリジョンを有しており、上記第1の指示に応じて、当該第1のコリジョンに基づいて第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成する処理
上記(13)の構成によれば、装備アイテムオブジェクトの種類を増やしつつ、装備アイテムオブジェクトのコリジョンを自動的に生成することができる。
なお、本発明の別の一例は、上記(1)~(13)における処理を実行する情報処理装置または情報処理システムであってもよい。また、本発明の別の一例は、上記(1)~(13)における処理を実行するゲーム処理方法であってもよい。
上記ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法によれば、アイテムのコリジョンを自動的に生成することができる。
本体装置に左コントローラおよび右コントローラを装着した状態の一例を示す図 本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の一例を示す図 本体装置の一例を示す六面図 左コントローラの一例を示す六面図 右コントローラの一例を示す六面図 本体装置の内部構成の一例を示すブロック図 本体装置と左コントローラおよび右コントローラとの内部構成の一例を示すブロック図 プレイヤキャラクタが配置されるゲームフィールドを示すゲーム画像の一例を示す図 図8に示す状況から、プレイヤキャラクタが合成可能状態となったときのゲーム画像の一例を示す図 生成された合成装備アイテムを装備するプレイヤキャラクタを含むゲーム画像の一例を示す図 素材コリジョンの周囲に設定される基点の一例を示す図 基準点に基づいて算出される候補点の一例を示す図 候補点に基づいて生成される合成用コリジョンの一例を示す図 複数の候補点から一部を削除する一例を示す図 合成装備アイテムと、当該合成装備アイテムの合成装備コリジョンの一例を示す図 素材アイテムの大きさと合成装備アイテムのうちの素材部分の大きさとが異なる例を示す図 装備アイテムの刃の部分が素材アイテムに置き換えられた外観となる合成装備アイテムが生成される一例を示す図 ゲームシステムにおける情報処理に用いられる各種データの一例を示す図 ゲームシステムによって実行されるゲーム処理の流れの一例を示すフローチャート 図19に示すステップS2のプレイヤ関連制御処理の詳細な流れの一例を示すサブフローチャート 図19に示すステップS7のコリジョン生成処理の詳細な流れの一例を示すサブフローチャート 実施形態の変形例におけるゲーム処理の流れの一例を示すフローチャート
[1.ゲームシステムの構成]
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム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~85、87、88、91、97、および98を備える。これらの構成要素81~85、87、88、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に対して入力を行うことが可能となる。
また、ディスプレイ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)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部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の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
[2.ゲームシステムにおける処理の概要]
以下、ゲームシステム1において実行されるゲーム処理の概要について説明する。本実施形態においては、ゲームシステム1は、プレイヤ(換言すれば、ユーザ)が仮想のゲームフィールド上においてプレイヤキャラクタを操作するゲームのためのゲーム処理を実行する。本実施形態においては、ゲームシステム1は、装備アイテムオブジェクト(以下、「装備アイテム」と記載する。)と、素材アイテムオブジェクト(以下、「素材アイテム」と記載する。)とを合成することで、新たな装備アイテム(「合成装備アイテム」と呼ぶ。)を生成する。
装備アイテムとは、ゲームに登場するアイテムオブジェクトのうちで、プレイヤキャラクタが装備して使用することが可能なアイテムオブジェクトを指す。例えば、装備アイテムは、剣や、盾や、弓等のアイテムオブジェクトである。なお、装備アイテムの具体例は任意であり、上記の例に限られない。また、「プレイヤキャラクタが装備アイテムを装備する」状態とは、プレイヤキャラクタが装備アイテムを使用することができる(すなわち、剣を振る、盾を構える、弓で矢を射出するといった、装備アイテムを用いたアクションを行うことができる)状態を指す。本実施形態においては、プレイヤキャラクタは、当該プレイヤキャラクタが所持している装備アイテムのうちから、プレイヤによって指定された装備アイテムを装備することができる。
素材アイテムとは、ゲームに登場するアイテムオブジェクトのうちで、装備アイテムに対する合成の素材とすることができる(すなわち、装備アイテムに対して合成することができる)アイテムオブジェクトを指す。本実施形態においては、ゲームに登場する種々のアイテムオブジェクトが素材アイテムとなる。例えば、石ころのオブジェクトや丸太のオブジェクトのように、ゲームフィールド上に配置されている(「落ちている」ということもできる)アイテムオブジェクトが素材アイテムとなり得る。また例えば、木の実のオブジェクトのように、ゲームフィールド上に配置されているオブジェクト(例えば、木のオブジェクト)からプレイヤキャラクタが取得することができるオブジェクトも、素材アイテムとなり得る。また例えば、モンスターの角のオブジェクトのように、ゲームフィールドに登場するキャラクタ(例えば、敵キャラクタ)からプレイヤキャラクタが取得することができる(例えば、当該キャラクタを倒すことで取得することができる)オブジェクトも、素材アイテムとなり得る。また、本実施形態においては、上述の装備アイテムも素材アイテムとなり得る。なお、素材アイテムの具体例は任意であり、上記の例に限られない。
合成装備アイテムは、装備アイテムと素材アイテムとを合成することによって得られるアイテムオブジェクトである。合成装備アイテムも装備アイテムと同様、プレイヤキャラクタが装備して使用することが可能なアイテムオブジェクトである。なお、本実施形態においては、合成装備アイテムの合成とは、元となる装備アイテムおよび素材アイテムと引き換えに合成装備アイテムが生成されることを指す。つまり、合成装備アイテムが生成された場合、生成された合成装備アイテムの元となった装備アイテムおよび素材アイテムは消滅する。なお、詳細は後述するが、装備アイテムと素材アイテムとを合成するための具体的な処理は任意である。
[2-1.合成処理の概要]
図8~図10を参照して、合成装備アイテムを生成するための合成処理の概要について説明する。図8は、プレイヤキャラクタが配置されるゲームフィールドを示すゲーム画像の一例を示す図である。なお、本実施形態においては、ゲーム画像は本体装置2のディスプレイ12に表示されるものとするが、本体装置2に接続される他の表示装置に表示されてもよい。
図8に示す状況においては、プレイヤキャラクタ201は、装備アイテムとして、剣オブジェクト202、盾オブジェクト203、および、弓矢オブジェクト(具体的には、弓オブジェクト204および矢オブジェクト205)を装備している。このように、本実施形態においては、プレイヤキャラクタ201は、複数種類の装備アイテムを同時に装備することができる。具体的には、プレイヤキャラクタ201は、近距離装備アイテムと、防御装備アイテムと、遠距離装備アイテムとを1つずつ装備することができる。近距離装備アイテムは、上記剣オブジェクト202のような、近距離攻撃を行うことができる武器の種類の装備アイテムである。防御装備アイテムとは、上記盾オブジェクト203のような、防御を行うことができる種類の装備アイテムである。遠距離装備アイテムとは、上記弓矢オブジェクトのような、遠距離攻撃を行うことができる武器の種類の装備アイテムである。本実施形態においては、プレイヤキャラクタ201が装備アイテムを装備する状態においては、プレイヤキャラクタ201は当該装備アイテムの少なくとも一部を身に付けた状態となる(図8参照)。なお、他の実施形態においては、プレイヤキャラクタ201が同時に装備可能な装備アイテムの数は任意であり、1つであってもよい。
また、図8に示す状況においては、素材アイテムの一例である牙オブジェクト206がゲームフィールドに配置されている。牙オブジェクト206は、図示しない敵キャラクタの牙を表し、例えばプレイヤキャラクタ201が敵キャラクタを倒したことによってゲームフィールド上に配置される。
本実施形態においては、プレイヤは、ゲーム中において、装備アイテムと素材アイテムとの合成を行う合成指示を行うことができる。例えば、ゲームシステム1は、プレイヤキャラクタ201が合成を行う能力を発揮できる状態(「合成可能状態」と呼ぶ。)であることを条件として、合成指示を受け付ける。合成可能状態は、例えば、合成を行うための特定のアイテムをプレイヤキャラクタが使用可能な状態であってもよいし、合成を行うための特定のスキルをプレイヤキャラクタが使用可能な状態であってもよい。また、他の実施形態においては、プレイヤは、ゲーム中において、プレイヤキャラクタ201が任意の状態で(つまり、条件無しで)合成指示を行うことができてもよい。
図9は、図8に示す状況から、プレイヤキャラクタが合成可能状態となったときのゲーム画像の一例を示す図である。本実施形態においては、プレイヤキャラクタ201が合成可能状態となる場合(つまり、上記合成指示が可能である場合)、素材アイテムは、強調された態様で表示される。具体的には、素材アイテムは、素材アイテムとは異なる他のオブジェクトとは異なる表示態様で表示される。より具体的には、素材アイテムは、上記他のオブジェクトとは異なる色で表示されたり、あるいは、素材アイテムにエフェクト画像が付加されて表示されたりする。図9に示す例においては、素材アイテムである牙オブジェクト206は、他のオブジェクト(例えば、木のオブジェクト)とは異なる表示態様で表示される(なお、図9においては、表示態様の違いを斜線により表している)。これにより、ゲームシステム1は、ゲームフィールドを示すゲーム画像が表示される状態において、ゲームフィールド上のオブジェクトのうちで素材アイテムであるオブジェクトをプレイヤにわかりやすく提示することができる。
本実施形態においては、プレイヤキャラクタが合成可能状態である場合において、合成可能な素材アイテムがゲームフィールドに存在する場合、ゲームシステム1は、合成の対象となる素材アイテム(「対象素材アイテム」と呼ぶ。)を示すエフェクト画像211を表示する(図9参照)。本実施形態においては、対象素材アイテムは、プレイヤキャラクタ201の位置および/または向きに基づいて決定される。具体的には、対象素材アイテムは、プレイヤキャラクタ201の位置および向きを基準として設定される判定範囲内に存在する素材アイテムのうちで、プレイヤキャラクタ201に最も近い位置にある素材アイテムに決定される。判定範囲は、例えば、プレイヤキャラクタ201の前方の範囲(具体的には、正面方向を基準として左右両側に所定角度までの角度範囲)で、かつ、プレイヤキャラクタ201の位置から所定距離内の範囲である。上記より、プレイヤは、ゲームフィールドにおいてプレイヤキャラクタ201を移動させることで、ゲームフィールドに存在する素材アイテムのうちから対象素材アイテムを指定することができる。なお、他の実施形態においては、ゲームフィールドに存在する素材アイテムのうちから対象素材アイテムを指定する方法は任意である。
なお、ゲームフィールドに存在する素材アイテムのうちに対象素材アイテムとなる素材アイテムが存在しない場合(すなわち、上記判定範囲内に素材アイテムが存在しない場合)、エフェクト画像211は表示されず、ゲームシステム1は合成指示を受け付けない。つまり、上記の場合、プレイヤキャラクタ201は合成を行うことができない。
本実施形態においては、エフェクト画像211は、対象素材アイテムである牙オブジェクト206と、プレイヤキャラクタ201の一部(図9に示す例では、右手)とを囲む一体的な形状であり、これらのオブジェクトを結ぶような形状である(図9参照)。このように、対象素材アイテムとプレイヤキャラクタとを関連付けるエフェクト画像を表示することによって、対象素材アイテムをプレイヤにとってより認識しやすくすることができる。
本実施形態においては、プレイヤキャラクタ201が装備している装備アイテムのうちで合成処理の対象となる装備アイテム(「対象装備アイテム」と呼ぶ。)は、プレイヤによって指定される。具体的には、ゲームシステム1は、プレイヤが対象装備アイテムを指定するための画像として、装備指定画像212を表示する(図9参照)。装備指定画像212は、合成装備アイテムを生成可能な場合(すなわち、合成可能状態であるプレイヤキャラクタ201の上記判定範囲内に対象素材アイテムが配置されている場合)に表示される。装備指定画像212は、プレイヤキャラクタが装備中である複数の装備アイテムを選択肢として示す画像である。本実施形態においては、ゲームシステム1は、装備指定画像212が示す選択肢のうちでプレイヤが指定した装備アイテムと対象素材アイテムとを合成する処理を行う。上記のように、ゲームシステム1は、装備指定画像212によって、対象装備アイテムを指定するための指示をプレイヤにとってわかりやすく提示することができる。なお、他の実施形態においては、ゲームシステム1は、装備指定画像212を表示することなく、合成指示を受け付けるようにしてもよい。
本実施形態においては、装備指定画像212は、対象装備アイテムを指定するための指示と装備アイテムとの対応関係を示す。具体的には、装備指定画像212は、左方向を表す指示と近距離装備アイテムとの対応を示す画像と、右方向を表す指示と遠距離装備アイテムとの対応を示す画像と、下方向を表す指示と防御装備アイテムとの対応を示す画像とを含む(図9参照)。装備指定画像212が表示される状態において、プレイヤは、左方向、右方向、および、下方向のうち1つの指示(例えば、左コントローラ3の左方向ボタン36、右方向ボタン33、および、下方向ボタン34のいずれかを押すことによる指示)を行う。これらの指示のいずれかがプレイヤによって行われると、ゲームシステム1は、当該指示に対応する装備アイテムを対象装備アイテムに決定する。
本実施形態においては、ゲームシステム1は、上記の対象装備アイテムを指定する指示に応じて、当該指示に対応する装備アイテムと対象素材アイテムとを合成する。つまり、本実施形態においては、対象装備アイテムを指定する指示は、装備アイテムと対象素材アイテムとを合成するための合成指示を兼ねている。これによれば、プレイヤキャラクタが複数の装備アイテムを装備する場合に、合成処理のための操作をプレイヤにとって行いやすくすることができる。
なお、対象装備アイテムを決定する方法は任意である。例えば、他の実施形態においては、ゲームシステム1は、装備アイテムのうちでプレイヤキャラクタ201が構える動作をとっている装備アイテムを対象装備アイテムとして決定してもよい。
上記のように、本実施形態においては、ゲームシステム1は、プレイヤによる合成指示に応じて、合成装備アイテムを生成する。図10は、生成された合成装備アイテムを装備するプレイヤキャラクタを含むゲーム画像の一例を示す図である。図10においては、図9に示す状態において剣オブジェクト202を指定する合成指示をプレイヤが行った結果、プレイヤキャラクタ201は、剣オブジェクト202と牙オブジェクト206とを合成した合成装備アイテム213を装備している。
本実施形態においては、合成指示が行われた場合、ゲームシステム1は、まず、ゲームフィールド上の対象素材アイテム(図9では、牙オブジェクト206)を、プレイヤキャラクタ201(対象装備アイテムであってもよい)の方に近づける。図9および図10に示す例においては、ゲームシステム1は、牙オブジェクト206がエフェクト画像211によってプレイヤキャラクタ201の方へ引き寄せられるような表示を行う。そして、対象素材アイテムがプレイヤキャラクタ201に接近すると、ゲームシステム1は、対象素材アイテムを削除するとともに、プレイヤキャラクタ201が装備している対象装備アイテムを、合成装備アイテム213に変更する(図10参照)。上記によれば、合成装備アイテムが生成される際に、どの素材アイテムが元になって合成装備アイテムが生成されたかをプレイヤにわかりやすく提示することができる。なお、合成装備アイテムが生成される際における対象素材アイテム、対象装備アイテム、および、プレイヤキャラクタの挙動は任意である。
また、本実施形態においては、合成装備アイテムの外観は、対象素材アイテムと対象装備アイテムとに基づいて決定される。例えば、図10に示す合成装備アイテム213は、剣オブジェクト202の先端部分に牙オブジェクト206が一体化した外観(剣オブジェクト202の先端部分が牙オブジェクト206に置き換えられた外観と言うこともできる)を有する。このように、本実施形態においては、合成装備アイテムは、当該合成装備アイテムの元になった装備アイテムの外観の少なくとも一部と、当該合成装備アイテムの元になった素材アイテムの外観の少なくとも一部とを含む外観を有する。これによって、合成装備アイテムは装備アイテムと素材アイテムとが合成されたオブジェクトであるとの印象をプレイヤに与えることができる。また、合成装備アイテムの元となる装備アイテムおよび素材アイテムを、当該合成装備アイテムの外観によってわかりやすくプレイヤに認識させることができる。なお、合成装備アイテムの外観は任意であり、元になった素材アイテムの外観および/または元になった装備アイテムの外観と重複する部分を有しない外観であってもよい。
本実施形態においては、ゲームシステム1は、合成処理において、対象装備アイテムと対象素材アイテムとに基づいて合成装備アイテムを生成する。すなわち、ゲームシステム1は、対象装備アイテムの3Dモデルと対象素材アイテムの3Dモデルとを用いて、合成装備アイテムの3Dモデルを生成する。ただし、合成装備アイテムを生成するための具体的な処理は任意である。例えば、他の実施形態においては、ゲームシステム1は、合成装備アイテムの3Dモデルを生成するためのデータを予め記憶しておいてもよい。
上記においては、プレイヤキャラクタ201がゲームフィールド上に配置されるゲーム画像が表示される状態で合成処理が実行される例を説明したが、ゲーム中において合成処理が実行されるタイミングは任意である。例えば、ゲーム中において、ゲームシステム1は、プレイヤキャラクタ201が所持するアイテムの一覧を示す一覧画像が表示される状態において、プレイヤによる合成指示を受け付け、合成指示に応じて合成処理を実行してもよい。このとき、対象素材アイテムおよび対象装備アイテムは、それぞれ、一覧画像に含まれるアイテムからプレイヤによって指定されてもよい。
以上のように、本実施形態においては、装備アイテムと素材アイテムとを合成することで、新たな合成装備アイテムを生成することができる。これによれば、ゲーム中に登場するアイテムの数を効率的に増加させることができ、多くの種類のアイテムをゲームに登場させることができる。
[2-2.合成装備アイテムのコリジョンの生成方法]
本実施形態においては、上記のようにして生成される合成装備アイテムに対して、当該合成装備アイテムと他のオブジェクトとの衝突判定を行うための領域(以下、「コリジョン」と呼ぶ。)を設定する。ここで、生成され得る全ての合成装備アイテムについてのコリジョンに関するデータ(例えば、コリジョンの形状および大きさ等を示すデータ)をゲームシステム1が予め記憶しておくとすれば、装備アイテムとそれに対して合成可能な素材アイテムとの全ての組み合わせについて上記のデータを予め記憶しておくこととなる。そのため、ゲームシステム1に記憶されるデータ量が増加してしまう。上記のデータ量は、上記の組み合わせの数が増加するほど膨大なものとなる可能性がある。以上より、本実施形態においては、合成装備アイテムが生成された場合、当該合成装備アイテムに設定するコリジョンを新たに生成する。これによれば、ゲームシステム1は、合成装備アイテムのコリジョンのデータを予め記憶しておく必要が無いので、ゲームシステム1に記憶されるデータ量を低減することができる。以下、合成装備アイテムのコリジョンを生成する方法について説明する。
本実施形態においては、ゲームシステム1は、合成元となる素材アイテムのコリジョンと合成元となる装備アイテムのコリジョンとに基づいて、合成装備アイテムのコリジョンを生成する。以下では、素材アイテムのコリジョンを「素材コリジョン」と呼び、装備アイテムのコリジョンを「装備コリジョン」と呼び、合成装備アイテムのコリジョンを、「合成装備コリジョン」と呼ぶ。素材コリジョンは、仮想のゲーム空間に素材アイテムが配置されている場合において当該素材アイテムに関する衝突判定を行うためのコリジョンである。装備コリジョンは、仮想のゲーム空間に装備アイテムが配置されている場合(キャラクタが装備アイテムを装備している場合も含む)において当該装備アイテムに関する衝突判定を行うためのコリジョンである。合成装備コリジョンは、仮想のゲーム空間に合成装備アイテムが配置されている場合(キャラクタが合成装備アイテムを装備している場合も含む)において当該合成装備アイテムに関する衝突判定を行うためのコリジョンである。上記のように、本実施形態においては、合成の元となる素材アイテムのコリジョン(すなわち、素材コリジョン)を用いて、当該素材アイテムに基づく合成後の合成装備アイテムのコリジョン(すなわち、合成装備コリジョン)を生成することができる。
なお、本実施形態においては、素材コリジョンおよび装備コリジョンに関するデータ(例えば、コリジョンの形状および大きさを規定するデータ)は、予め用意されている。これらに関するデータは、例えばゲームプログラムに含まれる形で、ゲームシステム1において予め(すなわち、ゲーム処理の実行前から)記憶されている。
ゲーム中において合成装備アイテムが生成された場合、ゲームシステム1は、まず、素材コリジョンに基づいて合成用コリジョンを生成する。合成用コリジョンは、合成装備コリジョンを生成するために用いられるものであり、後述する処理によって素材コリジョンから生成される。つまり、本実施形態においては、ゲームシステム1は、素材コリジョンをそのまま用いるのではなく、素材コリジョンから生成される合成用コリジョンを用いて合成装備コリジョンを生成する。詳細は後述するが、これによって、合成装備コリジョンの頂点数を一定数以下に抑えることができ、合成装備コリジョンのデータ量を抑えることができる。
以下、図11~図14を参照して、合成用コリジョンを生成する処理について説明する。合成用コリジョンを生成する場合、ゲームシステム1は、仮想空間に配置された素材コリジョンの周囲に複数の基点を設定する。図11は、素材コリジョンの周囲に設定される基点の一例を示す図である。なお、図11においては、上述の牙オブジェクト206の素材コリジョン221について設定される基点を黒丸で示している。
ゲームシステム1は、まず、素材コリジョン221を内包する基準領域222を設定する。本実施形態においては、基準領域222は直方体である。基準領域222は、例えば、素材コリジョン221の表面に接するように設定されるバウンダリボックスを、所定数倍の大きさに拡大することで得られる。ゲームシステム1は、基準領域222の中心が素材コリジョン221の中心に位置するように、基準領域222を配置する。
ゲームシステム1は、基準領域222に基づいて複数の基点を設定する。本実施形態においては、直方体である基準領域222の各頂点と各面における中心点とが、それぞれ基点として設定される(図11参照)。図11に示すように、本実施形態においては、直方体である基準領域222に基づいて14個の基点が設定される。
上記のように、本実施形態においては、素材コリジョンの外側に設定される複数の基点は、素材コリジョンを内包する直方体(すなわち、基準領域222)の各頂点の位置および各面の中心の位置に設定される。これによれば、素材コリジョンに対して均等な向きに各基点を設定することができる。詳細は後述するが、これによって、素材コリジョンの形状を反映した合成用コリジョンを生成しやすくすることができる。
なお、他の実施形態においては、基点の設定方法は任意である。例えば、基準領域の形状は任意であり、球形や楕円形であってもよいし、カプセル形状であってもよい。また例えば、基点の位置および数も任意であり、基点は、基準領域に基づいて任意の規則に従って設定されてよい。例えば他の実施形態においては、基準領域の頂点の位置にのみ基点が設定されてもよい。また、ゲームシステム1は、基準領域を用いずに基点を設定してもよい。例えば、ゲームシステム1は、素材コリジョンの中心位置から、所定の複数の方向に所定の距離だけ離れた位置にそれぞれ基点を設定してもよい。
ゲームシステム1は、上記のようにして設定された複数の基点に基づいて、合成用コリジョンの頂点を決定する。具体的には、ゲームシステム1は、まず、合成用コリジョンの頂点の候補となる候補点を基点に基づいて算出する。
図12は、基準点に基づいて算出される候補点の一例を示す図である。なお、本実施形態においては実際には、各コリジョンは立体であり、3次元の仮想空間において候補点および合成用コリジョンの頂点の算出が行われる。ただし、以下に説明する図12~図14においては、図面を見やすくするため、2次元平面において候補点および合成用コリジョンの頂点の算出が行われる例を示す。すなわち、図12においては、矩形である基準領域225における各頂点と、各辺の中心点とが基点A1~A8に設定されている。なお、図12は、図11とは異なる形状の素材コリジョン226について候補点B1~B6が算出される例を示している。
本実施形態においては、素材コリジョンの領域のうちで基点に最も近い位置が候補点として算出される。ゲームシステム1は、素材コリジョンの領域のうちで基点に最も近い位置を候補点として算出する処理を、基点毎に実行する。なお、候補点の位置は、素材コリジョンの頂点の位置であってもよいし、辺あるいは面上の位置であってもよい。図12に示す例においては、基点A1については、素材コリジョン226の領域のうちで基点A1に最も近い位置にある点B1が候補点となる。また、基点A2およびA3については、素材コリジョン226の領域のうちで基点に最も近い位置にある点は、ともに点B2となる。そのため、基点A2およびA3についてはともに点B2が候補点となる。このように、素材コリジョンの領域のうちで基点から最も近い位置が、複数の基点で同じになる場合もある。上記の基点A1~A3と同様にして、基点A4については点B3が候補点となり、基点A5およびA6については点B4が候補点となり、基点A7については点B5が候補点となり、基点A8については点B6が候補点となる。したがって、8個の基点A1~A8に基づいて6個の候補点B1~B6が算出される。なお、図12に示す例のように、素材コリジョンの領域のうちで基点から最も近い位置が複数の基点で同じになる場合には、基点の数に対して候補点の数が少なくなる。
上記のように、本実施形態においては、ゲームシステム1は、複数の基点のそれぞれから最も近い素材コリジョン上の点(すなわち、候補点)を算出する。そして、詳細は後述するが、当該最も近い点の少なくともいずれかを頂点とする多面体が、合成用コリジョンとして設定される。これによれば、合成用コリジョンの形状を、素材コリジョンの形状を反映した形状とすることができる。また、本実施形態においては、図11に示すように、素材コリジョンに対して均等な向きに各基点を設定することによって、合成用コリジョンの形状は、素材コリジョンの形状を反映した形状によりなりやすくなる。
なお、基点から候補点を算出する方法は上記に限らず、任意の方法であってよい。例えば、他の実施形態においては、ゲームシステム1は、素材コリジョンの中心と基点とを結ぶ線分と、素材コリジョンの表面との交点を候補点として算出してもよい。
本実施形態においては、ゲームシステム1は、上記のようにして算出された複数の候補点の少なくともいくつかを頂点として含む多面体を、合成用コリジョンとする。図13は、候補点に基づいて生成される合成用コリジョンの一例を示す図である。図13は、図12に示す各候補点B1~B6に基づいて生成される合成用コリジョン228を示している。図13に示す例においては、素材コリジョン226の頂点は13個であるのに対して、合成用コリジョンの頂点は6個である。このように、本実施形態においては、合成用コリジョンは、元となる素材コリジョンの形状を反映しつつ、頂点数が一定以下に抑えられた形状となる。具体的には、本実施形態においては基点の数は14であるので、候補点の数は最大で14となり、その結果、合成用コリジョンの頂点数は14以下に抑えられることとなる。
ここで、上記のようにして算出された複数の候補点をそのまま合成用コリジョンの頂点とすると、合成用コリジョンが凹みを有する形状となる場合もあり得る。これに関して、本実施形態においては、ゲームシステム1は、複数の候補点のうちから、各候補点を頂点とする多面体において凹みを形成する頂点(「凹みの頂点」と呼ぶ。)となる点を削除する。そして、削除された候補点以外の残りの候補点を合成用コリジョンの頂点とする。本実施形態においては、ゲームシステム1は、上記のようにして凹みの頂点を削除することで、凹んだ部分を有しない凸形状の多面体となる合成用コリジョンを生成する。
図14は、複数の候補点から一部を削除する一例を示す図である。図14に示す例においては、8つの候補点C1~C8のうち、候補点C7が凹みの頂点となっている。このとき、ゲームシステム1は、凹みの頂点である候補点C7を削除し、残りの候補点C1~C6およびC8を、合成用コリジョンの頂点とする。したがって、図14に示す例においては、7つの候補点C1~C6およびC8を頂点とする合成用コリジョンが生成され、合成用コリジョンは凸形状となる。
なお、複数の候補点のうちに凹みの頂点がない場合、ゲームシステム1は、各候補点を合成用コリジョンの頂点とする。例えば、図12に示す例においては、算出された各候補点B1~B6には凹みの頂点はないので、各候補点B1~B6がそれぞれ素材コリジョンの頂点となる。
上記のように、本実施形態においては、ゲームシステム1は、複数の候補点の少なくともいずれかを頂点とした凸形状の多面体を合成用コリジョンの形状として設定する。これによれば、合成用コリジョンの形状が複雑になりすぎないようにすることができ、当該合成用コリジョンに基づく合成装備コリジョンの形状が複雑になりすぎることを抑制することができる。したがって、本実施形態においては、武器や防具といった合成装備アイテムに用いられるコリジョンとして適切な形状の合成装備コリジョンを生成することができる。さらに、本実施形態においては、ゲームシステム1は、複数の候補点のうち、凸形状の多面体の頂点とならない位置の候補点を削除し、残った候補点のそれぞれを頂点とする凸形状の多面体を合成用コリジョンの形状として設定する。これによれば、凸形状となる合成用コリジョンを容易に生成することができる。
また、本実施形態においては、所定数(ここでは、14)の基点に基づいて候補点を算出し、候補点のうちから合成用コリジョンの頂点を決定する。したがって、本実施形態においては、合成用コリジョンの頂点は、上記所定数以下となる。すなわち、ゲームシステム1は、素材コリジョンの形状に基づいて、所定数以内の頂点を有する多面体を合成用コリジョンとして設定する。これによれば、素材コリジョンの頂点数に影響されることなく、合成用コリジョンの頂点数を一定以下に抑えることができるので、合成用コリジョンおよび合成装備コリジョンのデータ量を抑制することができる。例えば、素材コリジョンが複雑な形状(例えば、頂点数の多い形状)である場合でも、合成用コリジョンの頂点数を一定以下に抑えることができる。なお、本実施形態においては、基点の数を設定することで合成用コリジョンの頂点数を抑えることができることに加えて、候補点のうちから凹みの頂点を除外することによっても、合成用コリジョンの頂点数を抑えることができる。
本実施形態においては、上記のように生成された合成用コリジョンと装備コリジョンとに基づいて、合成装備コリジョンを生成する。図15は、合成装備アイテムと、当該合成装備アイテムの合成装備コリジョンの一例を示す図である。図15においては、上述の剣オブジェクト202と牙オブジェクト206とを合成することによって生成される合成装備アイテム213と、当該合成装備アイテム213の合成装備コリジョン233とを示している。
本実施形態においては、合成装備アイテムの外観は、元になる装備アイテムの外観の少なくとも一部と、元になる素材アイテムの外観の一部とを含むものとなる。図15に示す例においては、合成装備アイテム213の外観は、剣オブジェクト202の外観の一部(具体的には、先端を除く部分)と、牙オブジェクト206の外観とを含むものとなっており、より具体的には、剣オブジェクト202の先端に牙オブジェクト206を付けた外観となっている。なお、図15に示す合成装備アイテム213の3Dモデルは、結果として上記のような外観を有するものとなればよく、合成装備アイテムの3Dモデルを生成する方法は任意である。合成装備アイテムの3Dモデルは、装備アイテムの3Dモデルと素材アイテムの3Dモデルとを組み合わせたモデルであってもよいし、装備アイテムの3Dモデルおよび素材アイテムの3Dモデルとは別の1つのモデルであってもよい。
一方、合成装備コリジョンは、合成用コリジョンと装備コリジョンとを組み合わせることで生成される。具体的には、ゲームシステム1は、合成用コリジョンと装備コリジョンとを所定の位置関係で重ね合わせ、合成用コリジョンと装備コリジョンとのいずれかの領域内となる領域を合成装備コリジョンとする。つまり、本実施形態においては、合成装備コリジョンの領域は、合成用コリジョンの領域と装備コリジョンの領域との和集合である。上記によって、合成用コリジョンと装備コリジョンとに基づいて容易に合成装備コリジョンを生成することができる。
ここで、本実施形態においては、合成用コリジョンと装備コリジョンとを重ね合わせる上記位置関係は、合成装備コリジョンの形状が合成装備アイテムの外観に対応したものとなるように設定される。例えば、図15に示す例においては、合成装備アイテム213は、剣オブジェクト202の先端に牙オブジェクト206を付けたような外観となっている。したがって、ゲームシステム1は、剣オブジェクト202に対応する装備コリジョン231の先端に、牙オブジェクト206に対応する合成用コリジョン232を配置した位置関係で両者を重ね合わせることで合成装備コリジョン233を生成する(図15参照)。
上記のように、本実施形態においては、ゲームシステム1は、素材アイテムが装備アイテムの先端に配置されたモデルとして、合成装備アイテムの3Dモデルを生成する。また、ゲームシステム1は、合成用コリジョンが、装備コリジョンの先端に配置された形状として合成装備コリジョンを生成する。これによれば、合成装備アイテムの外観に合った形状の合成装備コリジョンを生成することができる。なお、上記「素材アイテムが装備アイテムの先端に配置されたモデル」とは、素材アイテムが装備アイテムの先端に配置されたような外観を有する任意のモデルを意味し、素材アイテムのモデルと装備アイテムのモデルとの2つのモデルを組み合わせたモデルに限定されず、上記のような外観を有する1つのモデルを含む意味である。
なお、後述する、装備アイテムである剣オブジェクトの刃の部分が素材アイテムの外観に置き換えられた外観となる合成装備アイテムの3Dモデル(図17参照)も、上記「素材アイテムが装備アイテムの先端に配置されたモデル」の一例である。詳細は後述するが、上記合成装備アイテムについても、合成用コリジョンが装備コリジョン(後述する図17に示す例では、いくつかの頂点が削除される変形が行われた装備コリジョン)の先端に配置された形状として合成装備コリジョンが生成される。
また、例えば、装備アイテムが盾である場合、合成装備アイテムの外観は、盾の前面に素材アイテムが付けられた外観となってもよい。また例えば、装備アイテムが矢オブジェクトである場合、合成装備アイテムの外観は、矢の鏃の部分が素材アイテムの外観に置き換えられた外観となってもよい。このようにして合成された盾オブジェクトおよび矢オブジェクトのモデルも、上記「素材アイテムが装備アイテムの先端に配置されたモデル」の一例であると言うことができる。これらの場合も、合成用コリジョンが、装備コリジョンの先端に配置された形状として合成装備コリジョンが生成される。
なお、合成装備アイテムの外観は任意であり、装備アイテムの先端に素材アイテムが付けられた外観に限らない。合成装備アイテムの外観がどのようなものであっても、ゲームシステム1は、合成装備コリジョンの形状が合成装備アイテムの外観に対応したものとなるような位置関係で合成用コリジョンと装備コリジョンとを重ね合わせることで、合成装備アイテムの外観に合った合成装備コリジョンを生成することができる。
本実施形態においては、合成用コリジョンと装備コリジョンとを重ね合わせる上記位置関係は、素材アイテムと装備アイテムとの組み合わせ毎に予め定められる。例えば、ゲームプログラムにおいて上記位置関係が定められている。つまり、本実施形態においては、合成装備アイテムの外観(すなわち、合成装備アイテムにおける、装備アイテムの部分と素材アイテムの部分との外観上の位置関係)が予め定められており、合成装備アイテムの外観に合うように、合成用コリジョンと装備コリジョンとを重ね合わせる位置関係も予め定められている。ただし、他の実施形態においては、ゲームシステム1は、ゲーム中において(例えば、合成装備アイテムの生成時に)上記位置関係を算出し、算出された位置関係に基づいて合成装備コリジョンを生成するようにしてもよい。例えば、他の実施形態において、所定の条件に応じて可変に決められる位置関係で装備アイテムのモデルと素材アイテムのモデルとを組み合わせることで合成装備アイテムのモデルを生成する場合、ゲームシステム1は、組み合わせられた2つのモデルの位置関係と同じ位置関係となるように、合成用コリジョンと装備コリジョンとを重ね合わせることで、合成装備コリジョンを生成するようにしてもよい。
なお、本実施形態においては、装備コリジョンは、装備アイテム毎に、凸形状の多面体として予め定められている。また、上述したように、合成用コリジョンは、凸形状の多面体となるように生成される。このように、本実施形態においては、装備コリジョンおよび合成用コリジョンは凸形状の多面体である。つまり、本実施形態においては、装備コリジョンおよび合成用コリジョンは、武器や防具といった合成装備アイテムに用いられるコリジョンとして適切な形状であると言える。このような装備コリジョンおよび合成用コリジョンを用いて合成装備コリジョンを生成することで、合成装備コリジョンについても適切な形状なものを生成しやすくすることができる。なお、他の実施形態においては、装備コリジョンおよび合成用コリジョンは凸形状でなくてもよい。
本実施形態においては、合成装備アイテムのうちの素材アイテムを表す部分(「素材部分」と呼ぶ。)は、元となった素材アイテムの大きさとは異なる場合がある。図16は、素材アイテムの大きさと合成装備アイテムのうちの素材部分の大きさとが異なる例を示す図である。図16においては、剣オブジェクト202と岩オブジェクト236とが合成されることによって合成装備アイテム237が生成される例を示している。図16に示す例においては、素材アイテムである岩オブジェクト236が剣オブジェクト202に比して大きいため、合成装備アイテム237の外観は、岩オブジェクト236がそのままの大きさで剣オブジェクト202の先端に付いた外観ではなく、岩オブジェクト236よりも小さい岩が剣オブジェクト202の先端に付いた外観となる。このように、素材アイテムが装備アイテムに比べて大きい場合、合成装備アイテムの外観としては、当該素材アイテムを表す素材部分が元の素材アイテムよりも小さくなることがある。なお、素材アイテムが装備アイテムに比べて小さい場合には、合成装備アイテムの外観は、当該素材部分が元の素材アイテムよりも大きい外観となることもある。
上記のように、合成装備アイテムのうちの素材部分の大きさが元の素材アイテムの大きさとは異なる場合、ゲームシステム1は、合成用コリジョンに対してスケーリングを行う。すなわち、ゲームシステム1は、上記のように生成された合成用コリジョンについて大きさの調整を行う。図16に示す例においては、合成装備アイテム237のうちの素材部分の大きさは、岩オブジェクト236の大きさよりも小さくなっているので、ゲームシステム1は、岩オブジェクト236に対応する合成用コリジョン238を小さくなるようにスケーリングし、スケーリング後の合成用コリジョン238’と装備コリジョン231とを重ね合わせることで合成装備コリジョン239を生成する。
具体的には、ゲームシステム1は、元の素材アイテムの大きさと、合成装備アイテムのうちの素材部分の大きさとの比率に応じて、合成用コリジョンの大きさを変更する。例えば、合成装備アイテムのうちの素材部分の大きさが、元の素材アイテムの大きさのx倍となる場合、合成用コリジョンの大きさはx倍される(xは正の数)。スケーリングが行われる前の合成用コリジョンは、素材アイテムと同程度の大きさであるので、上記のようにスケーリングを行うことによって、スケーリング後の合成用コリジョンは、合成装備アイテムのうちの素材部分と同程度の大きさとなる。
本実施形態においては、合成装備アイテムのうちの素材部分の大きさは、素材アイテム毎に予め定められている。例えば、上記大きさは、ゲームプログラムにおいて定められている。ゲームシステム1は、予め定められた合成装備アイテムの外観に合うようにスケーリングの比率を決定する。なお、スケーリングの比率を決定する具体的な方法は任意である。他の実施形態においては、ゲームシステム1は、合成装備アイテムのうちの素材部分の大きさを、所定の条件に応じて可変に決定し、決定された大きさに応じて合成装備アイテムを生成するようにしてもよい。このとき、ゲームシステム1は、合成用コリジョンの大きさが、算出された素材部分の大きさに応じたものとなるように、スケーリングの比率を算出するようにしてもよい。
上記のように、本実施形態においては、ゲームシステム1は、合成用コリジョンをスケーリングさせることで合成装備コリジョンを生成する。これによって、合成装備アイテムのうちの素材部分の大きさが元の素材アイテムの大きさとは異なる場合であっても、合成装備アイテムの外観に応じた形状の合成装備コリジョンを生成することができる。なお、他の実施形態においては、合成用コリジョンに対するスケーリングは行われなくてもよい。
本実施形態では、ゲームシステム1は、合成装備コリジョンに対してスケーリングを行った。ここで、他の実施形態においては、スケーリングは、合成用コリジョンの生成前に、素材コリジョンに対して行われてもよい。すなわち、ゲームシステム1は、素材コリジョンについてスケーリングを行い、スケーリング後の素材コリジョンに基づいて合成用コリジョンを生成してもよい。なお、素材コリジョンに対してスケーリングを行う方法では、例えば素材コリジョンが複雑な形状である場合等において、スケーリングによって素材コリジョンの形状が崩れてしまい、スケーリング後の素材コリジョンの形状が素材アイテムの形状と合わないものとなる可能性がある。また、そのような素材コリジョンに基づいて生成される合成用コリジョンも素材アイテムの形状と合わないものとなる可能性がある。これに対して、本実施形態においては、合成用コリジョンの生成後においてスケーリングを行うことで、スケーリングによって合成用コリジョンの形状が素材アイテムの形状と合わないものとなる可能性を低減することができる。
上述したように、本実施形態においては、素材アイテムの種類によっては、合成装備アイテムの外観は、装備アイテムの刃の部分が素材アイテムに置き換えられた外観となる場合がある。この場合、ゲームシステム1は、装備コリジョンを変形させ、変形させた装備コリジョンに基づいて合成装備コリジョンを生成する。以下、変形させた装備コリジョンに基づいて合成装備コリジョンを生成する場合の例について説明する。
図17は、装備アイテムの刃の部分が素材アイテムに置き換えられた外観となる合成装備アイテムが生成される一例を示す図である。図17に示す例においては、剣オブジェクト202と角オブジェクト241とが合成されることによって、剣の刃の部分が角オブジェクトに置き換えられた外観を有する合成装備アイテム242が生成される。
ここで、仮に、合成用コリジョンと装備コリジョンとを単に重ね合わせることで合成装備コリジョンを生成するとすれば、合成装備コリジョンの形状が合成装備アイテムの外観に合わないものとなる可能性がある。例えば、図17に示す例においては、合成装備アイテム242の刃の形状および大きさが剣オブジェクト202の刃の形状および大きさとは異なるので、剣オブジェクト202の装備コリジョン231をそのまま用いると、合成装備アイテム242において刃が存在しない位置にまで延びる形状の合成装備コリジョン244が生成される(図17参照)。その結果、合成装備コリジョン244の形状が合成装備アイテム242の外観に合わないものとなっている。
そこで、本実施形態においては、合成装備アイテムが、装備アイテムの刃の部分が素材アイテムに置き換えられた外観となる場合には、ゲームシステム1は、装備コリジョンを変形させる。具体的には、ゲームシステム1は、装備コリジョンの先端側の一部を削除し、削除後の装備コリジョンと合成用コリジョンとを重ね合わせることで合成装備コリジョンを生成する。図17に示す例においては、装備コリジョン231の各頂点のうち、合成用コリジョン243の中心点(図17に示す黒丸)よりも先端側に位置する頂点が削除される。ゲームシステム1は、頂点が削除された後の装備コリジョン231’と合成用コリジョン243とを重ね合わせることで合成装備コリジョン244を生成する。これによって、合成装備コリジョン244を、合成装備アイテム242の外観に合った形状とすることができる(図17参照)。
なお、上記の例においては、合成用コリジョンの中心よりも先端側に位置する頂点を削除することで装備コリジョンが変形されたが、装備コリジョンを変形するための具体的な方法は任意である。他の実施形態においては、合成用コリジョンとは独立して装備コリジョンの変形が行われてもよい。例えば、ゲームシステム1は、装備コリジョンのうち、予め定められた部分(例えば、装備アイテムの刃に対応する部分)を削除するように装備コリジョンを変形してもよい。
上記のように、本実施形態においては、ゲームシステム1は、素材アイテムが所定の種類のアイテムであった場合、合成装備アイテムを生成させる際に、装備コリジョンを異なる形状のコリジョンに置き換える。具体的には、ゲームシステム1は、装備コリジョンの先端側の少なくとも一部を削除させて合成装備コリジョンを生成する。これによれば、合成装備コリジョンを合成装備アイテムの外観に合った形状にすることができる。
本実施形態においては、装備コリジョンを変形させるか否かは、素材アイテムの種類によって定められるものとした。ここで、他の実施形態においては、装備コリジョンを変形させるか否かは、装備アイテムの種類によって定められてもよいし、装備アイテムと素材アイテムとの組み合わせによって定められてもよい。例えば、他の実施形態においては、装備アイテムの種類が所定の種類であることを条件として、合成装備アイテムの外観が、当該装備アイテムの刃の部分が素材アイテムに置き換えられた外観となるようにしてもよい。このとき、ゲームシステム1は、装備アイテムが当該所定の種類である場合に、装備コリジョンの変形を行う。また、装備アイテムと素材アイテムとの組み合わせが所定の組み合わせであることを条件として、合成装備アイテムの外観が、当該装備アイテムの刃の部分が素材アイテムに置き換えられた外観となるようにしてもよい。このとき、ゲームシステム1は、装備アイテムと素材アイテムとの組み合わせが所定の組み合わせである場合に、装備コリジョンの変形を行う。
[3.ゲームシステムにおける処理の具体例]
次に、図18~図21を参照して、ゲームシステム1における情報処理の具体例について説明する。
図18は、ゲームシステム1における情報処理に用いられる各種データの一例を示す図である。図18に示す各種データは、本体装置2がアクセス可能な記憶媒体(例えば、フラッシュメモリ84、DRAM85、および/または、スロット23に装着されたメモリカード等)に記憶される。
図18に示すように、ゲームシステム1は、ゲームプログラムを記憶する。ゲームプログラムは、本実施形態におけるゲーム処理(具体的には、図19~図21に示す各処理)を実行するためのゲームプログラムである。
また、ゲームシステム1は、素材アイテムデータおよび装備アイテムデータを記憶する。これらのデータは、予め用意されるデータであり、例えばゲームプログラムと共に(あるいはゲームプログラムに含まれる形で)ゲームシステム1に記憶される。
素材アイテムデータは、素材アイテムに関する各種のデータであり、素材アイテム毎に記憶される。本実施形態においては、素材アイテムデータは、当該素材アイテムの素材コリジョンのデータ(例えば、素材コリジョンの形状および大きさを示すデータ)を含む。また、図示しないが、素材アイテムデータは、当該素材アイテムの3Dモデルのデータや、当該素材アイテムの性質を示すデータ等を含む。
装備アイテムデータは、装備アイテムに関する各種のデータを含み、装備アイテム毎に記憶される。本実施形態においては、装備アイテムデータは、当該装備アイテムの装備コリジョンのデータ(例えば、装備コリジョンの形状および大きさを示すデータ)を含む。また、図示しないが、装備アイテムデータは、当該装備アイテムの3Dモデルのデータや、当該装備アイテムの性能を示すデータ等を含む。
また、ゲームシステム1は、ゲーム処理中において生成されて用いられるゲーム処理データとして、合成用コリジョンデータ、合成装備アイテムデータ、および、所持アイテムデータを記憶する。これらのデータは、ゲーム処理に用いられるメモリ(例えば、DRAM85)に記憶される。これらのデータは、ゲーム開始後の適宜のタイミングでメモリに記憶され、ゲームの進行に応じて適宜更新される。
合成用コリジョンデータは、上述の合成用コリジョンの形状および大きさを示す。また、合成装備アイテムデータは、合成装備アイテムに関する各種のデータを含み、生成された合成装備アイテム毎に記憶される。本実施形態においては、合成装備アイテムデータは、上述の合成装備コリジョンの形状および大きさを示す合成装備コリジョンデータを含む。合成装備アイテムデータは、合成装備コリジョンデータの他、合成装備アイテムの3Dモデルのデータや、合成装備アイテムの性能を示すデータ等を含んでもよい。所持アイテムデータは、プレイヤキャラクタが所持しているアイテム(例えば、素材アイテム、装備アイテム、合成装備アイテム等)を示す。
図19は、ゲームシステム1によって実行されるゲーム処理の流れの一例を示すフローチャートである。図19に示すゲーム処理は、例えば、ゲームの開始に応じてプレイヤキャラクタがゲームフィールドに配置されたことに応じて開始される。
なお、本実施形態では、本体装置2のプロセッサ81が、ゲームシステム1に記憶されている上記ゲームプログラムを実行することによって、上記図19、ならびに、後述する図20および図21に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、プロセッサ81とは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、ゲームシステム1が他の情報処理装置(例えば、サーバ)と通信可能である場合、図19~図21に示す各ステップの処理の一部は、他の情報処理装置において実行されてもよい。また、図19~図21に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
また、プロセッサ81は、図19~図21に示す各ステップの処理を、メモリ(例えば、DRAM85)を用いて実行する。すなわち、プロセッサ81は、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
図19に示すステップS1において、プロセッサ81は、プレイヤによる指示を示す上記操作データを取得する。すなわち、プロセッサ81は、コントローラ通信部83および/または各端子17および21を介して各コントローラから受信される操作データを取得する。ステップS1の次にステップS2の処理が実行される。
ステップS2において、プロセッサ81は、プレイヤ関連制御処理を実行する。プレイヤ関連制御処理においては、プレイヤによる操作入力に基づいて各種の処理(例えば、プレイヤキャラクタに関する制御処理)が実行される。以下、図20を参照して、プレイヤ関連制御処理の詳細について説明する。
図20は、図19に示すステップS2のプレイヤ関連制御処理の詳細な流れの一例を示すサブフローチャートである。プレイヤ関連制御処理においては、まずステップS11において、プロセッサ81は、プレイヤキャラクタに対する操作入力が受け付けられる操作受付期間であるか否かを判定する。ここで、本実施形態においては、プレイヤキャラクタに対する操作入力に応じてプレイヤキャラクタ等のオブジェクトが所定の動作(例えば、後述するステップS15またはS17において開始される動作)を行っている動作期間は、操作受付期間から外されるものとする。ステップS11の判定結果が肯定である場合、ステップS12の処理が実行される。一方、ステップS11の判定結果が否定である場合、後述するステップS20の処理が実行される。
ステップS12において、プロセッサ81は、プレイヤキャラクタが上述の合成可能状態であるか否かを判定する。ステップS12の判定は、例えば、合成を行うための特定のアイテムをプレイヤキャラクタが使用可能な状態であるか否かによって行われる。例えば、ゲーム中においてプレイヤキャラクタは、上記特定のアイテムを含む複数種類のアイテムのうちいずれかを使用可能な状態に制御されてもよい。このとき、プロセッサ81は、プレイヤキャラクタが上記特定のアイテムを使用可能な状態であれば、プレイヤキャラクタは合成可能状態であると判定し、上記特定のアイテム以外のアイテムを使用可能な状態であれば、プレイヤキャラクタは合成可能状態でないと判定する。ステップS12の判定結果が肯定である場合、ステップS13の処理が実行される。一方、ステップS12の判定結果が否定である場合、後述するステップS16の処理が実行される。
ステップS13において、プロセッサ81は、上記ステップS1において取得された操作データに基づいて、上述の合成指示のための操作入力が行われたか否かを判定する。上述したように、本実施形態においては、合成指示は、上述の装備指定画像(図9参照)により示される選択肢のうちから対象装備アイテムを指定する指示である。ステップS13の判定結果が肯定である場合、ステップS14の処理が実行される。一方、ステップS13の判定結果が否定である場合、後述するステップS16の処理が実行される。
ステップS14において、プロセッサ81は、合成の対象となる上述の対象素材アイテムがプレイヤキャラクタの周囲に存在するか否かを判定する。具体的には、プロセッサ81は、プレイヤキャラクタの位置および向きを基準とした上述の判定範囲内に素材アイテムが存在するか否かを判定する。ステップS14の判定結果が肯定である場合、ステップS15の処理が実行される。一方、ステップS14の判定結果が否定である場合、後述するステップS16の処理が実行される。
ステップS15において、プロセッサ81は、対象素材アイテムと対象装備アイテムとを合成する際に行われる演出動作を開始する。上述のように、本実施形態における合成のための演出動作は、対象素材アイテムがプレイヤキャラクタの方へ引き寄せられ、対象素材アイテムがプレイヤキャラクタに接近した後で、プレイヤキャラクタが装備している対象装備アイテムを、合成装備アイテムに変更する一連の動作である。ステップS15で上記演出動作が開始された後においては、後述するステップS20の処理によって、一定期間にわたって当該演出動作を行うように各アイテムが制御される。ステップS15の後、プロセッサ81は、図20に示すプレイヤ関連制御処理を終了する。
ステップS16において、プロセッサ81は、上記ステップS1において取得された操作データに基づいて、プレイヤキャラクタに対するアクション指示のための操作入力が行われたか否かを判定する。アクション指示は、例えば攻撃動作や、ジャンプ動作や、ゲームフィールド上のアイテムを拾う動作等をプレイヤキャラクタに行わせるための指示である。ステップS16の判定結果が肯定である場合、ステップS17の処理が実行される。一方、ステップS16の判定結果が否定である場合、ステップS18の処理が実行される。
ステップS17において、プロセッサ81は、ステップS16で行われたアクション指示に応じた動作をプレイヤキャラクタに開始させる。ステップS17でプレイヤキャラクタが動作を開始した後においては、後述するステップS20の処理によって、一定期間にわたって当該動作を行うようにプレイヤキャラクタが制御される。ステップS17の後、プロセッサ81は、図20に示すプレイヤ関連制御処理を終了する。
ステップS18において、プロセッサ81は、上記ステップS1において取得された操作データに基づいて、プレイヤキャラクタに対する移動指示のための操作入力が行われたか否かを判定する。移動指示は、ゲームフィールド上においてプレイヤキャラクタを移動させる動作を行わせるための指示である。ステップS18の判定結果が肯定である場合、ステップS19の処理が実行される。一方、ステップS18の判定結果が否定である場合、ステップS20の処理が実行される。
ステップS19において、プロセッサ81は、ステップS18で行われた移動指示に応じてプレイヤキャラクタをフィールド上において移動する動作を行わせる。ステップS19の後、プロセッサ81は、図20に示すプレイヤ関連制御処理を終了する。
ステップS20において、プロセッサ81は、ステップS15またはS17で開始された動作の進行や、プレイヤによる入力がされていない場合における動作等、各種の動作を行うように各オブジェクト(具体的には、プレイヤキャラクタおよび素材アイテム)を制御する。なお、1回のステップS20においては、プロセッサ81は、1フレーム時間分の動作の進行を行うように各オブジェクトを制御する。ステップS20の処理が複数フレームにわたって繰り返し実行されることで、上記の合成指示やアクション指示に応じた一連の動作を各オブジェクトが行うこととなる。
なお、プレイヤキャラクタが行うべき動作がプレイヤによって指示されていない場合(例えば、ステップS15またはS17で開始された動作が終了している場合)には、上記ステップS20において、プロセッサ81は、プレイヤキャラクタに動作を行わせなくてもよいし、プレイヤキャラクタの挙動を自然に見せるための動作(例えば、辺りを見回したり、体を揺らしたりする動作)を行わせてもよい。ステップS20の後、プロセッサ81は、図20に示すプレイヤ関連制御処理を終了する。
図19の説明に戻り、ステップS3において、プロセッサ81は、プレイヤキャラクタ以外の他のオブジェクト(例えば、敵キャラクタや、ゲーム空間に配置されているオブジェクト等)の動作を制御する。例えば、敵キャラクタに関しては、プロセッサ81は、ゲームプログラムにおいて定められたアルゴリズムに従って敵キャラクタの動作を制御する。また例えば、ゲーム空間に配置されているオブジェクト(素材アイテムを含む)に関して、プロセッサ81は、後述する衝突判定の結果(より具体的には、前回のステップS1~S8における処理ループにおいて実行されたステップS4の処理結果)に応じてオブジェクトを移動させる。なお、1回のステップS3においては、プロセッサ81は、1フレーム時間分の動作の進行を行うように各オブジェクトを制御する。ステップS3の次に、ステップS4の処理が実行される。
ステップS4において、プロセッサ81は、上記ステップS2およびS3による動作の結果に基づいて、各オブジェクトについて衝突判定を行う。なお、上記「各オブジェクト」とは、プレイヤキャラクタや敵キャラクタの他、ゲーム空間に配置されているアイテム等のオブジェクトを含む意味である。ここで、素材アイテムについては、プロセッサ81は、メモリに記憶されている素材コリジョンデータを読み出し、素材コリジョンデータが示す素材コリジョンを用いて衝突判定を行う。また、装備アイテムについては、プロセッサ81は、メモリに記憶されている装備コリジョンデータを読み出し、装備コリジョンデータが示す装備コリジョンを用いて衝突判定を行う。また、合成装備アイテムについては、プロセッサ81は、メモリに記憶されている合成装備コリジョンデータを読み出し、合成装備コリジョンデータが示す合成装備コリジョンを用いて衝突判定を行う。上記ステップS4の次に、ステップS5の処理が実行される。
上記ステップS4の衝突判定の結果は、例えば、次のフレームにおける各オブジェクトの動作制御処理(すなわち、次回のステップS1~S8における処理ループにおけるステップS2およびS3の処理)において反映される。例えば、上記ステップS4において、プレイヤキャラクタに敵キャラクタの装備アイテムが当たった(つまり、プレイヤキャラクタが敵キャラクタの攻撃を受けた)と判定された場合、次に実行されるステップS2において、プレイヤキャラクタは、攻撃を受けたリアクション(例えば、のけぞる等)の動作を行うように制御される。具体的は、プロセッサ81は、ステップS2の処理中におけるステップS11の処理において、操作受付期間でないと判定し、ステップS20の処理において、攻撃を受けたリアクションの動作を行うようにプレイヤキャラクタを制御する。また例えば、ゲーム空間に配置されているアイテムオブジェクト(例えば、素材アイテム、装備アイテム、または、合成装備アイテム等)について他のオブジェクトが当たったと判定された場合、次に実行されるステップS3において、プロセッサ81は、当該アイテムオブジェクトを移動させる等の制御を行う。
ステップS5において、プロセッサ81は、プレイヤキャラクタによって合成装備アイテムが新たに所持されたか否かを判定する。例えば、プレイヤによる合成指示によって合成演出動作が開始された場合(ステップS15)や、プレイヤによるアクション指示によってプレイヤキャラクタが合成装備アイテムを拾った場合(ステップS17)、プロセッサ81は、プレイヤキャラクタによって合成装備アイテムが新たに所持されたと判定する。ステップS5の判定結果が肯定である場合、ステップS6の処理が実行される。一方、ステップS5の判定結果が否定である場合、ステップS6~S8の処理がスキップされてステップS9の処理が実行される。
ステップS6において、プロセッサ81は、プレイヤキャラクタによって新たに所持された合成装備アイテムの3Dモデルを生成する。具体的には、プロセッサ81は、対象素材アイテムのモデルデータと対象装備アイテムのモデルデータとをゲームシステム1の記憶媒体から読み出し、読み出したモデルデータを用いて、合成装備アイテムの3Dモデルを生成する。上記のようにして生成された合成装備アイテムの3Dモデルのデータは、上記合成装備アイテムデータとしてメモリに記憶される。また、プロセッサ81は、対象素材アイテムの素材アイテムデータと対象装備アイテムの装備アイテムデータとをゲームシステム1の記憶媒体から読み出し、読み出したデータを用いて、合成装備アイテムの性質を設定する。上記のようにして設定された合成装備アイテムの性質を示すデータは、上記合成装備アイテムデータとしてメモリに記憶される。ステップS6の次にステップS7の処理が実行される。
ステップS7において、プロセッサ81は、生成された合成装備アイテムに関するコリジョン生成処理を実行する。コリジョン生成処理は、合成装備アイテムの合成装備コリジョンを生成するための処理である。以下、図21を参照して、コリジョン生成処理の詳細について説明する。
図21は、図19に示すステップS7のコリジョン生成処理の詳細な流れの一例を示すサブフローチャートである。コリジョン生成処理においては、まずステップS31において、プロセッサ81は、合成用コリジョンを生成するための候補点を算出する。すなわち、プロセッサ81は、ステップS6で生成された合成装備アイテムの元となる素材アイテムの素材コリジョンについて、上記“[2-2.合成装備アイテムのコリジョンの生成方法]”で述べた方法に従って複数の候補点を算出する(図12参照)。プロセッサ81は、算出された各候補点を示すデータをメモリに記憶する。ステップS31の次にステップS32の処理が実行される。
ステップS32において、プロセッサ81は、ステップS31で算出された各候補点のうちに、上記凹みの頂点となる候補点があるか否かを判定する。ステップS32の判定結果が肯定である場合、ステップS33の処理が実行される。一方、ステップS32の判定結果が否定である場合、ステップS33の処理がスキップされてステップS34の処理が実行される。
ステップS33において、プロセッサ81は、ステップS31で算出された各候補点から、上記凹みの頂点となる候補点を削除する(図14参照)。すなわち、プロセッサ81は、ステップS31でメモリに記憶された各候補点を示すデータを、凹みの頂点となる候補点が削除された内容となるように更新する。ステップS33の次にステップS34の処理が実行される。
ステップS34において、プロセッサ81は、各候補点に基づいて合成用コリジョンを生成する。すなわち、プロセッサ81は、メモリに記憶されている各候補点を頂点とする多面体を合成用コリジョンとして設定する(図13参照)。プロセッサ81は、生成された合成用コリジョンを示すデータ(例えば、各頂点を示すデータ)を、合成用コリジョンデータとしてメモリに記憶する。ステップS34の次にステップS35の処理が実行される。
ステップS35において、プロセッサ81は、上記ステップS6で生成された合成装備アイテムのうちの素材部分の大きさが、合成元の素材アイテムの大きさと異なるか否かを判定する。ステップS35の判定結果が肯定である場合、ステップS36の処理が実行される。一方、ステップS35の判定結果が否定である場合、ステップS36の処理がスキップされてステップS37の処理が実行される。
ステップS36において、プロセッサ81は、ステップS34で生成された合成用コリジョンのスケーリングを行う。すなわち、プロセッサ81は、元の素材アイテムの大きさと、合成装備アイテムのうちの素材部分の大きさとの比率に応じて、合成用コリジョンの大きさを変更する。メモリに記憶されている合成用コリジョンデータは、スケーリングが行われた後の合成用コリジョンを示す内容に更新される。ステップS36の次にステップS37の処理が実行される。
ステップS37において、プロセッサ81は、ステップS6で合成された合成装備アイテムの元となった素材アイテムが、所定の種類の素材アイテムであるか否かを判定する。なお、「所定の種類の素材アイテム」とは、本実施形態においては、当該素材アイテムに基づく合成装備アイテムの外観が、装備アイテムの刃の部分が素材アイテムに置き換えられた外観となるような素材アイテムである。ステップS37の判定結果が肯定である場合、ステップS38の処理が実行される。一方、ステップS37の判定結果が否定である場合、ステップS38の処理がスキップされてステップS39の処理が実行される。
ステップS38において、プロセッサ81は、装備コリジョンを、その一部が削除されるように変形する。具体的には、プロセッサ81は、上記“[2-2.合成装備アイテムのコリジョンの生成方法]”で述べた方法に従って、装備コリジョンの先端側の一部を削除する。なお、ここで変形の対象となる装備コリジョンは、ステップS6で合成された合成装備アイテムの元となった装備アイテムの装備コリジョンである。プロセッサ81は、変形後の装備コリジョンを示すデータをメモリに記憶する。ステップS38の次にステップS39の処理が実行される。
ステップS39において、プロセッサ81は、装備コリジョンと合成用コリジョンとに基づいて合成装備コリジョンを生成する。合成装備コリジョンは、上記“[2-2.合成装備アイテムのコリジョンの生成方法]”で述べた方法に従って、装備コリジョンと合成用コリジョンとを所定の位置関係で重ね合わせることで生成される。なお、上記ステップS38の処理によって装備コリジョンの変形が行われている場合、プロセッサ81は、メモリに記憶されている、変形後の装備コリジョンを示すデータを用いて合成装備コリジョンを生成する。一方、上記ステップS38の処理によって装備コリジョンの変形が行われていない場合、プロセッサ81は、メモリに予め記憶されている装備コリジョンデータを用いて合成装備コリジョンを生成する。プロセッサ81は、生成された合成装備コリジョンを示すデータ(例えば、各頂点を示すデータ)を、合成装備コリジョンデータとしてメモリに記憶する。ステップS39の後、プロセッサ81はコリジョン生成処理を終了する。
なお、プレイヤによる合成指示に応じて合成装備アイテムが生成される以外の場合に合成装備アイテムがゲームフィールドに登場する場合(例えば、ゲーム開始時に合成装備アイテムがゲームフィールドに配置される場合)には、当該合成装備アイテムがゲームフィールドに登場するタイミングで、上記ステップS6と同様の合成処理と、上記ステップS7と同様のコリジョン生成処理とが実行されてもよい。また、合成装備アイテムがプレイヤキャラクタによって所持された時に合成装備アイテムの3Dモデルおよび合成装備コリジョンが生成済みである場合(例えば、ゲーム開始時にゲームフィールドに配置された合成装備アイテムがプレイヤキャラクタによって取得された場合)は、上記ステップS6およびS7の処理においては合成装備アイテムの3Dモデルおよび合成装備コリジョンを新たに生成しなくてもよい。
図19の説明に戻り、ステップS7の次のステップS8において、プロセッサ81は、プレイヤキャラクタの所持するアイテムを変更する。具体的には、プロセッサ81は、上記ステップS5で新たに所持されたと判定された合成装備アイテムを含むように、メモリに記憶されている上記所持アイテムデータを更新する。さらに、プレイヤによる合成指示によって合成装備アイテムが合成された場合には、プロセッサ81は、合成の元となる装備アイテムを削除するように上記所持アイテムデータを更新する。また、上記ステップS5で新たに所持されたと判定された合成装備アイテムの名称は、予め用意されていてもよいし、ステップS8において生成されてもよい。例えば、プロセッサ81は、合成の元となった素材アイテムの名称と、合成の元となった装備アイテムの名称とに基づいて、合成装備アイテムの名称を生成してもよい。また、上記ステップS5で新たに所持されたと判定された合成装備アイテムのアイコン画像は、予め用意されていてもよいし、ステップS8において生成されてもよい。アイコン画像は、例えば、プレイヤキャラクタが所持するアイテムの一覧を示すメニュー画像等において当該合成装備アイテムを示すために用いられる。例えば、プロセッサ81は、合成装備アイテムの3Dモデルに基づいて、合成装備アイテムのアイコン画像を生成してもよい。ステップS8の次にステップS9の処理が実行される。
ステップS9において、プロセッサ81は、ゲーム画像を生成してディスプレイ12に表示する。例えば、プロセッサ81は、ゲーム空間においてプレイヤキャラクタを視野範囲に含むように仮想カメラを設定し、仮想カメラに基づいて描画処理を行うことで、ゲーム空間を示すゲーム画像を生成する。これによって、上記ステップS2およびS3によって制御された各オブジェクトの挙動を反映したゲーム画像が表示される。ステップS9の次にステップS10の処理が実行される。
ステップS10において、プロセッサ81は、ゲームを終了するか否かを判定する。例えば、プロセッサ81は、ゲームを終了するための所定の操作入力がプレイヤによって行われた場合、ゲームを終了すると判定する。ステップS10の判定結果が否定である場合、ステップS1の処理が再度実行される。以降、ステップS10においてゲームを終了すると判定されるまで、ステップS1~S10の一連の処理が繰り返し実行される。一方、ステップS10の判定結果が肯定である場合、プロセッサ81は、図19に示すゲーム処理を終了する。
[4.本実施形態の作用効果および変形例]
上記の実施形態におけるゲームプログラムは、情報処理装置(例えば、ゲーム装置2)のコンピュータ(例えば、プロセッサ81)に、次の処理を実行させる構成(「第1の構成」と呼ぶ。)である。
・操作入力に基づいてプレイヤキャラクタを制御する処理(ステップS2)
・操作入力に基づいた第1の指示に応じて、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクト(例えば、装備アイテム)と、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクト(例えば、素材アイテム)とに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクト(例えば、合成装備アイテム)を生成する処理(ステップS6)
・上記第1の指示に応じて、第1の合成装備アイテムオブジェクトをプレイヤキャラクタに所持させる処理(ステップS8)
・第1のアイテムオブジェクトは第1のコリジョン(例えば、素材コリジョン)を有し、第1の装備アイテムオブジェクトは第2のコリジョン(例えば、装備コリジョン)を有しており、上記第1の指示に応じて、当該第1のコリジョンに基づいて第3のコリジョン(例えば、合成用コリジョン)を生成し、当該第3のコリジョンと、当該第2のコリジョンとに基づいて第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する処理(ステップS7)
上記第1の構成によれば、アイテムオブジェクトと装備アイテムオブジェクトとを合成して新たな合成装備アイテムオブジェクトを生成することができるので、多くの種類のアイテムをゲームに登場させることができる。さらに、上記の構成によれば、合成装備アイテムオブジェクトのコリジョンを自動的に生成することができる。また、合成装備アイテムオブジェクトのコリジョンを予め用意しておく必要が無いので、アイテムのコリジョンのデータ量を抑制することができる。
(合成用コリジョンを素材オブジェクトのコリジョンとして用いる変形例)
上記実施形態においては、素材コリジョンに基づいて生成される合成用コリジョンは、合成装備コリジョンの生成に用いられるものであった。ここで、他の実施形態においては、合成用コリジョンは、元となった素材コリジョンに対応する素材アイテムのコリジョンとして用いられてもよい。例えば、ゲーム空間に配置されている素材アイテムをプレイヤキャラクタが取得して所持した場合、プレイヤキャラクタは当該素材アイテムを装備アイテムとして利用できてもよい。このとき、ゲームシステム1は、装備アイテムとなった素材アイテムのコリジョンとして、合成用コリジョンを用いてもよい。
図22は、上記実施形態の変形例におけるゲーム処理の流れの一例を示すフローチャートである。上記変形例においては、図19に示すステップS4の次に、図22に示すステップS41~S44の処理が実行されてもよい。なお、本変形例におけるゲーム処理は、ステップS41~S44の処理が実行される点を除いて上記実施形態と同様であってもよい。
ステップS41において、プロセッサ81は、プレイヤキャラクタによって素材アイテムが新たに所持されたか否かを判定する。例えば、プレイヤによるアクション指示によってプレイヤキャラクタが素材アイテムを拾った場合(ステップS17)、プロセッサ81は、プレイヤキャラクタによって素材アイテムが新たに所持されたと判定する。ステップS41の判定結果が肯定である場合、ステップS42の処理が実行される。一方、ステップS41の判定結果が否定である場合、ステップS42~S44の処理がスキップされて、上記実施形態におけるステップS5の処理が実行される。
ステップS42において、プロセッサ81は、プレイヤによって新たに取得された素材アイテムに対応する装備アイテムの3Dモデルを、当該素材アイテムの3Dモデルに基づいて生成する。なお、この装備アイテムの3Dモデルは、上記素材アイテムが装備アイテムとして利用される場合の3Dモデルであるので、素材アイテムの3Dモデルと同じ外観であってよい。あるいは、上記装備アイテムの3Dモデルは、当該装備アイテムが当該素材アイテムと同一のアイテムであるとプレイヤが認識する程度に、当該素材アイテムの3Dモデルと類似する外観であってもよい。例えば、上記装備アイテムの3Dモデルは、素材アイテムの3Dモデルに所定の加工(例えば、スケーリング等)を行うことによって生成されてもよい。ステップS42の次にステップS43の処理が実行される。
ステップS43において、プロセッサ81は、プレイヤによって新たに取得された素材アイテムについて合成用コリジョンを生成する。本変形例における合成用コリジョンの生成方法については、上記実施形態と同様でよい。ステップS43の次にステップS44の処理が実行される。
ステップS44において、プロセッサ81は、プレイヤキャラクタの所持するアイテムを変更する。具体的には、プロセッサ81は、上記ステップS41で新たに所持されたと判定された素材アイテムを含むように、メモリに記憶されている上記所持アイテムデータを更新する。ステップS44の次にステップS5の処理が実行される。
本変形例においては、プレイヤキャラクタが上記素材アイテムを装備する場合、プロセッサ81は、当該素材アイテムのコリジョンとして、上記ステップS43で生成された合成用コリジョンを用いる。すなわち、上記ステップS4の衝突判定においては、当該素材アイテムのコリジョンとして上記合成用コリジョンを用いる。これによって、素材アイテムが、武器や防具といった装備アイテムとして用いられる場合でも、武器や防具のコリジョンとして適切な形状のコリジョンを用いて衝突判定を行うことができる。
上記のように、素材アイテムは、装備アイテムとして利用される状態とそうでない状態とをとることが可能であり、これらの2つの状態によって異なるコリジョンが設定されてもよい。そして、素材アイテムが装備アイテムとして利用される状態においては、素材コリジョンから生成される合成用コリジョンが用いられてもよい。
上記変形例におけるゲームプログラムは、情報処理装置(例えば、ゲーム装置2)のコンピュータ(例えば、プロセッサ81)に、次の処理を実行させる構成(「第2の構成」と呼ぶ。)であると言うことができる。
・操作入力に基づいてプレイヤキャラクタを制御させる処理(ステップS2)
・操作入力に基づいた第1の指示に応じて、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成させる処理(ステップS42)
・上記第1の指示に応じて、第1の装備アイテムオブジェクトをプレイヤキャラクタに所持させる処理(ステップS44)
・第1のアイテムオブジェクトは第1のコリジョンを有しており、上記第1の指示に応じて、第1のアイテムオブジェクトの第1のコリジョンに基づいて第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成する処理(ステップS43)
上記第2の構成によれば、装備アイテムオブジェクトのコリジョンを自動的に生成することができる。また、装備アイテムオブジェクトのコリジョンを予め用意しておく必要が無いので、アイテムのコリジョンのデータ量を抑制することができる。なお、ゲームプログラムは、上記第1の構成を備えず、第2の構成のみを備える構成であってもよい。
上記実施形態においては、装備アイテムが剣オブジェクトである場合を例として説明したが、装備アイテムは、上述した盾オブジェクトや弓矢オブジェクト等、任意の種類のアイテムオブジェクトであってよい。
上記の実施形態において、ある情報処理装置においてデータ(プログラムを含む意味である)を用いて処理が実行される場合、当該処理に必要なデータの一部が、当該ある情報処理装置とは異なる他の情報処理装置から送信されてもよい。このとき、当該ある情報処理装置は、他の情報処理装置から受信されたデータと、自身に記憶されているデータとを用いて上記処理を実行してもよい。
他の実施形態において、情報処理システムは、上記実施形態における構成の一部を備えていなくてもよいし、上記実施形態において実行される処理の一部を実行しなくてもよい。例えば、情報処理システムは、上記実施形態における一部の特定の効果を奏するためには、当該効果を奏するための構成を備え、当該効果を奏するための処理を実行すればよく、その他の構成を備えていなくてもよいし、その他の処理を実行しなくてもよい。
上記の実施形態は、アイテムのコリジョンを自動的に生成すること等を目的として、例えばゲームシステムやゲームプログラムとして利用することができる。
1 ゲームシステム
2 本体装置
81 プロセッサ
201 プレイヤキャラクタ
202 剣オブジェクト
206 牙オブジェクト
213 合成装備アイテム
221 素材コリジョン
222 基準領域
228,232,238,243 合成用コリジョン
231 装備コリジョン
233,239,244 合成装備コリジョン

Claims (30)

  1. 情報処理装置のコンピュータに、
    操作入力に基づいてプレイヤキャラクタを制御させ、
    操作入力に基づいた第1の指示に応じて、
    前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトとに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクトを生成させ、
    当該第1の合成装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、前記第1の装備アイテムオブジェクトは第2のコリジョンを有し、当該第1のコリジョンに基づいて第3のコリジョンを生成させ、当該第3のコリジョンと、前記第2のコリジョンとに基づいて前記第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成させる、
    ゲームプログラム。
  2. 前記コンピュータに、
    前記第1のアイテムオブジェクトが前記仮想空間内に配置されているときに、前記第1のコリジョンを用いて衝突判定を行わせる、請求項1に記載のゲームプログラム。
  3. 前記コンピュータに、
    前記第1のコリジョンの形状に基づいて、所定数以内の頂点を有する多面体を前記第3のコリジョンとして設定させる、請求項1または請求項2に記載のゲームプログラム。
  4. 前記コンピュータに、
    前記第1のコリジョンの外側に設定される複数の点のそれぞれから最も近い前記第1のコリジョン上の点を算出させ、当該最も近い点の少なくともいずれかを前記頂点とする多面体を前記第3のコリジョンとして設定させる、請求項3に記載のゲームプログラム。
  5. 前記外側に設定される複数の点は、前記第1のコリジョンを内包する直方体の各頂点の位置および各面の中心の位置に設定される、請求項4に記載のゲームプログラム。
  6. 前記コンピュータに、
    複数の前記最も近い点の少なくともいずれかを頂点とした凸形状の多面体を前記第3のコリジョンの形状として設定させる、請求項4に記載のゲームプログラム。
  7. 前記コンピュータに、
    複数の前記最も近い点のうち、凸形状の多面体の頂点とならない位置の点を削除させ、残った点のそれぞれを頂点とする前記凸形状の多面体を前記第3のコリジョンの形状として設定させる、請求項6に記載のゲームプログラム。
  8. 前記コンピュータにさらに、
    第1のアイテムオブジェクトが所定の種類のアイテムオブジェクトであった場合に、前記第1の合成装備アイテムオブジェクトを生成させる際に、前記第1のコリジョンを異なる形状のコリジョンに置き換えさせる、請求項2に記載のゲームプログラム。
  9. 前記コンピュータに、
    前記第1のアイテムオブジェクトが、前記第1の装備アイテムオブジェクトの先端に配置されたモデルとして、前記第1の合成装備アイテムオブジェクトの3Dモデルを生成させ、
    前記第3のコリジョンが、前記第2のコリジョンの先端に配置された形状として前記第4のコリジョンを生成させる、請求項1または請求項2に記載のゲームプログラム。
  10. 前記コンピュータに、
    前記第2のコリジョンの先端側の少なくとも一部を削除させて前記第4のコリジョンを生成させる、請求項9に記載のゲームプログラム。
  11. 前記コンピュータに、
    前記第1のコリジョンおよび前記第3のコリジョンの少なくともいずれかをスケーリングさせて前記第4のコリジョンを生成させる、請求項1または請求項2に記載のゲームプログラム。
  12. 前記第2のコリジョンおよび前記第3のコリジョンは、凸形状の多面体である、請求項9に記載のゲームプログラム。
  13. 情報処理装置のコンピュータに、
    操作入力に基づいてプレイヤキャラクタを制御させ、
    操作入力に基づいた第1の指示に応じて、
    仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成させ、
    当該第1の装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、当該第1のコリジョンに基づいて前記第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成させる、
    ゲームプログラム。
  14. プロセッサを備えた少なくとも1つの情報処理装置を備え、
    前記少なくとも1つの情報処理装置の少なくともいずれかのプロセッサは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトとに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクトを生成し、
    当該第1の合成装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、前記第1の装備アイテムオブジェクトは第2のコリジョンを有し、当該第1のコリジョンに基づいて第3のコリジョンを生成し、当該第3のコリジョンと、前記第2のコリジョンとに基づいて前記第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する、
    情報処理システム。
  15. 前記少なくともいずれかのプロセッサは、
    前記第1のアイテムオブジェクトが前記仮想空間内に配置されているときに、前記第1のコリジョンを用いて衝突判定を行う、請求項14に記載の情報処理システム。
  16. 前記少なくともいずれかのプロセッサは、
    前記第1のコリジョンの形状に基づいて、所定数以内の頂点を有する多面体を前記第3のコリジョンとして設定する、請求項14または請求項15に記載の情報処理システム。
  17. 前記少なくともいずれかのプロセッサは、
    前記第1のコリジョンの外側に設定される複数の点のそれぞれから最も近い前記第1のコリジョン上の点を算出し、当該最も近い点の少なくともいずれかを前記頂点とする多面体を前記第3のコリジョンとして設定する、請求項16に記載の情報処理システム。
  18. 前記外側に設定される複数の点は、前記第1のコリジョンを内包する直方体の各頂点の位置および各面の中心の位置に設定される、請求項17に記載の情報処理システム。
  19. 前記少なくともいずれかのプロセッサは、
    複数の前記最も近い点の少なくともいずれかを頂点とした凸形状の多面体を前記第3のコリジョンの形状として設定する、請求項17に記載の情報処理システム。
  20. 前記少なくともいずれかのプロセッサは、
    複数の前記最も近い点のうち、凸形状の多面体の頂点とならない位置の点を削除し、残った点のそれぞれを頂点とする前記凸形状の多面体を前記第3のコリジョンの形状として設定する、請求項19に記載の情報処理システム。
  21. 前記少なくともいずれかのプロセッサは、さらに、
    第1のアイテムオブジェクトが所定の種類のアイテムオブジェクトであった場合に、前記第1の合成装備アイテムオブジェクトを生成する際に、前記第1のコリジョンを異なる形状のコリジョンに置き換える、請求項15に記載の情報処理システム。
  22. 前記少なくともいずれかのプロセッサは、
    前記第1のアイテムオブジェクトが、前記第1の装備アイテムオブジェクトの先端に配置されたモデルとして、前記第1の合成装備アイテムオブジェクトの3Dモデルを生成し、
    前記第3のコリジョンが、前記第2のコリジョンの先端に配置された形状として前記第4のコリジョンを生成する、請求項14または請求項15に記載の情報処理システム。
  23. 前記少なくともいずれかのプロセッサは、
    前記第2のコリジョンの先端側の少なくとも一部を削除させて前記第4のコリジョンを生成する、請求項22に記載の情報処理システム。
  24. 前記少なくともいずれかのプロセッサは、
    前記第1のコリジョンおよび前記第3のコリジョンの少なくともいずれかをスケーリングして前記第4のコリジョンを生成する、請求項14または請求項15に記載の情報処理システム。
  25. 前記第2のコリジョンおよび前記第3のコリジョンは、凸形状の多面体である、請求項22に記載の情報処理システム。
  26. プロセッサを備えた少なくとも1つの情報処理装置を備え、
    前記少なくとも1つの情報処理装置の少なくともいずれかのプロセッサは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成し、
    当該第1の装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、当該第1のコリジョンに基づいて前記第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成する、
    情報処理システム。
  27. プロセッサを備え、
    前記プロセッサは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトとに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクトを生成し、
    当該第1の合成装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、前記第1の装備アイテムオブジェクトは第2のコリジョンを有し、当該第1のコリジョンに基づいて第3のコリジョンを生成し、当該第3のコリジョンと、前記第2のコリジョンとに基づいて前記第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する、
    情報処理装置。
  28. プロセッサを備え、
    前記プロセッサは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成し、
    当該第1の装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、当該第1のコリジョンに基づいて前記第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成する、
    情報処理装置。
  29. 情報処理システムによって実行されるゲーム処理方法であって、
    前記情報処理システムは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる複数の装備アイテムオブジェクトのうち、指定された第1の装備アイテムオブジェクトと、仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトとに替えて、当該第1の装備アイテムオブジェクトと当該第1のアイテムオブジェクトが合成されたオブジェクトであって、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の合成装備アイテムオブジェクトを生成し、
    当該第1の合成装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、前記第1の装備アイテムオブジェクトは第2のコリジョンを有し、当該第1のコリジョンに基づいて第3のコリジョンを生成し、当該第3のコリジョンと、前記第2のコリジョンとに基づいて前記第1の合成装備アイテムオブジェクトのコリジョンである第4のコリジョンを生成する、
    ゲーム処理方法。
  30. 情報処理システムによって実行されるゲーム処理方法であって、
    前記情報処理システムは、
    操作入力に基づいてプレイヤキャラクタを制御し、
    操作入力に基づいた第1の指示に応じて、
    仮想空間内の複数のアイテムオブジェクトのうち、指定された第1のアイテムオブジェクトを少なくとも用いて、前記プレイヤキャラクタに所持させ、かつ装備させて使用させることができる第1の装備アイテムオブジェクトを生成し、
    当該第1の装備アイテムオブジェクトを前記プレイヤキャラクタに所持させ、
    前記第1のアイテムオブジェクトは第1のコリジョンを有し、当該第1のコリジョンに基づいて前記第1の装備アイテムオブジェクトのコリジョンである第2のコリジョンを生成する、
    ゲーム処理方法。

JP2023071577A 2023-04-25 2023-04-25 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法 Pending JP2023103281A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023071577A JP2023103281A (ja) 2023-04-25 2023-04-25 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023071577A JP2023103281A (ja) 2023-04-25 2023-04-25 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法

Publications (1)

Publication Number Publication Date
JP2023103281A true JP2023103281A (ja) 2023-07-26

Family

ID=87377621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023071577A Pending JP2023103281A (ja) 2023-04-25 2023-04-25 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法

Country Status (1)

Country Link
JP (1) JP2023103281A (ja)

Similar Documents

Publication Publication Date Title
JP4660357B2 (ja) 画像処理プログラムおよび画像処理装置
US20190022528A1 (en) Game system, game device, storage medium storing game program, and game process method
US8647200B2 (en) Game system, game process method, game device, and storage medium storing game program
JP4719579B2 (ja) 画像処理プログラムおよび画像処理装置
US20120044177A1 (en) Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method
JP6576874B2 (ja) 画像処理装置、画像処理システムおよび画像処理方法
JP2001009156A (ja) コンピュータ読み取り可能な記録媒体、ゲームの表示制御方法およびゲーム装置
JP7436294B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP7233399B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP2024071564A (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
US20230381647A1 (en) Computer-readable non-transitory storage medium having game program stored therein, game apparatus, game system, and game processing method
JP2012034779A (ja) ゲーム装置の制御プログラム、記憶媒体、ゲーム装置の制御方法、及びゲーム装置
US11738264B2 (en) Storage medium, game system, game apparatus and game control method
JP2023103281A (ja) ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP7491977B2 (ja) ゲームプログラム、ゲームシステム、ゲーム装置、およびゲーム処理方法
JP2005122479A (ja) プログラム、情報記憶媒体及び画像生成装置
US20230057252A1 (en) Storage medium, information processing apparatus, information processing system and game processing method
JP7504245B2 (ja) ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
JP7482953B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム
JP7421521B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および情報処理方法
WO2023054596A1 (ja) プログラム、情報処理装置および情報処理方法
JP2023098722A (ja) ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
JP2022137142A (ja) 画像生成プログラム及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240425

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240628