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

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

▶ 株式会社カプコンの特許一覧

特開2024-133817ゲームプログラム、およびゲーム装置
<>
  • 特開-ゲームプログラム、およびゲーム装置 図1
  • 特開-ゲームプログラム、およびゲーム装置 図2
  • 特開-ゲームプログラム、およびゲーム装置 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133817
(43)【公開日】2024-10-03
(54)【発明の名称】ゲームプログラム、およびゲーム装置
(51)【国際特許分類】
   A63F 13/55 20140101AFI20240926BHJP
   A63F 13/525 20140101ALI20240926BHJP
   A63F 13/833 20140101ALI20240926BHJP
【FI】
A63F13/55
A63F13/525
A63F13/833
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023043792
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】水間 康夫
(57)【要約】
【課題】仮想空間で行なわれるゲームにおいて画像による演出の多様化を図る。
【解決手段】コンピュータを、3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部561と、対戦を開始する場合における第1キャラクタと第2キャラクタの仮想空間における位置を設定する位置設定部562として機能させる。位置設定部562は、対戦が開始される場合に、第1キャラクタと第2キャラクタを配置する領域として、所定の属性を有したオブジェクトを包含せず且つ予め規定した大きさを有した立体領域を仮想空間内に確保し、立体領域内に第1キャラクタと第2キャラクタを配置する。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータを、
3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部と、
前記対戦を開始する場合における前記第1キャラクタと前記第2キャラクタの前記仮想空間における位置を設定する位置設定部、
として機能させ、
前記位置設定部は、前記対戦が開始される場合に、前記第1キャラクタと前記第2キャラクタを配置する領域として、所定の属性を有したオブジェクトを包含せず且つ予め規定した大きさを有した立体領域を前記仮想空間内に確保し、前記立体領域内に前記第1キャラクタと前記第2キャラクタを配置する
ゲームプログラム。
【請求項2】
請求項1のゲームプログラムにおいて、
前記位置設定部は、
前記対戦が開始される場合における前記第1キャラクタと前記第2キャラクタの配置位置を決める直線である位置決め直線を選定して、前記位置決め直線を含むように前記立体領域を確保し、
前記位置決め直線上に前記第1キャラクタと前記第2キャラクタを配置する
ゲームプログラム。
【請求項3】
請求項2のゲームプログラムにおいて、
仮想空間の特定の領域には、前記位置決め直線として用いて前記立体領域を確保できる直線が対応付けられており、
前記位置設定部は、
前記第1キャラクタに対応して規定した基準点が前記特定の領域内か否かの判定を行い、
前記基準点が前記特定の領域内に存在する場合には、前記特定の位置に対応付けられた直線を前記位置決め直線の候補に選定する第1候補選定を行なう
ゲームプログラム。
【請求項4】
請求項2のゲームプログラムにおいて、
前記位置設定部は、前記対戦の開始が決定した時点において前記第1キャラクタと前記第2キャラクタとを結ぶ直線である基準直線を前記位置決め直線として用いて前記立体領域を確保できる場合には、前記基準直線を前記位置決め直線の候補に選定する第2候補選定を行なう
ゲームプログラム。
【請求項5】
請求項2のゲームプログラムにおいて、
前記位置設定部は、
仮の前記位置決め直線である仮直線を複数定めて、それぞれの前記仮直線について前記立体領域の確保を試み、
前記立体領域を確保できる前記仮直線の中から前記位置決め直線の候補を選定する第3候補選定を行なう
ゲームプログラム。
【請求項6】
請求項2のゲームプログラムにおいて、
前記仮想空間は、複数の小領域に分割された箇所があり、
それぞれの前記小領域には、前記位置決め直線として使用して前記立体領域を確保できる直線が対応付けられており、
前記位置設定部は、
前記第1キャラクタに対応して規定した基準点が前記小領域内に存在する場合、前記基準点が存在する前記小領域に対応付けられた直線を、前記位置決め直線の候補に選定する第4候補選定を行なう
ゲームプログラム。
【請求項7】
請求項1または請求項2のゲームプログラムにおいて、
前記ゲーム進行部は、前記対戦の間は、前記第1キャラクタと前記第2キャラクタの移動方向を、前記立体領域内に定義した仮想面に沿う範囲に限定する
ゲームプログラム。
【請求項8】
請求項7のゲームプログラムにおいて、
前記コンピュータを、
前記仮想空間において動画像の撮像を行なう仮想カメラと、
前記動画像を表示装置に表示させる表示部、
として機能させ、
前記仮想カメラの向きは、前記対戦の間は、前記仮想面に直行している
ゲームプログラム。
【請求項9】
コンピュータを、
3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部と、
前記対戦を開始する場合における前記第1キャラクタと前記第2キャラクタの前記仮想空間における位置を設定する位置設定部と、
として機能させ、
前記位置設定部は、
前記対戦が開始される場合に、所定の属性を有したオブジェクトを包含せず且つ所定大きさを有した立体領域を前記仮想空間内に確保し、前記立体領域内に前記第1キャラクタと前記第2キャラクタの位置を設定し、
前記対戦が開始される場合に前記第1キャラクタと前記第2キャラクタとを結んだ直線である位置決め直線を規定して、前記位置決め直線を含むように前記立体領域を確保するものであり、
前記位置設定部は、
請求項3に記載の第1候補選定、請求項4に記載の第2候補選定、請求項5に記載の第3候補選定の内の、少なくとも1つの手法によって前記位置決め直線の候補の選定を試み、
試みた手法によって前記位置決め直線の候補を選定できた場合には、選定した直線を前記位置決め直線として定め、
試みた手法によって前記位置決め直線の候補を選定できなかった場合には、請求項6に記載の第4候補選定によって前記位置決め直線を定める
ゲームプログラム。
【請求項10】
請求項1または請求項2のゲームプログラムを記憶した記憶部と、
前記ゲームプログラムを実行する制御部と、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲームプログラム、およびゲーム装置に関する。
【背景技術】
【0002】
コンピュータで実行されるゲームには、対戦型格闘ゲームを取扱うものがある。対戦型格闘ゲームは、一般的に、プレイヤ(ユーザ)が操作するキャラクタと、他のプレイヤまたはコンピュータ(ゲーム装置)が操作するキャラクタとを、互いに格闘技を繰り出すことによって戦わせて勝敗を決める。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-081306号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間で行なわれるゲームでは、キャラクタが如何に表示されるかによって、興趣性が左右される。
【0005】
本開示では、仮想空間で行なわれるゲームにおいて画像による演出の多様化を図る。
【課題を解決するための手段】
【0006】
第1の態様は、コンピュータを、
3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部と、
前記対戦を開始する場合における前記第1キャラクタと前記第2キャラクタの前記仮想空間における位置を設定する位置設定部、
として機能させ、
前記位置設定部は、前記対戦が開始される場合に、前記第1キャラクタと前記第2キャラクタを配置する領域として、所定の属性を有したオブジェクトを包含せず且つ予め規定した大きさを有した立体領域を前記仮想空間内に確保し、前記立体領域内に前記第1キャラクタと前記第2キャラクタを配置する
ゲームプログラムである。
【0007】
第1の態様において、
前記位置設定部は、
前記対戦が開始される場合における前記第1キャラクタと前記第2キャラクタの配置位置を決める直線である位置決め直線を選定して、前記位置決め直線を含むように前記立体領域を確保し、
前記位置決め直線上に前記第1キャラクタと前記第2キャラクタを配置してもよい。
【0008】
前記態様においては、
仮想空間の特定の領域には、前記位置決め直線として用いて前記立体領域を確保できる直線が対応付けられており、
前記位置設定部は、
前記第1キャラクタに対応して規定した基準点が前記特定の領域内か否かの判定を行い、
前記基準点が前記特定の領域内に存在する場合には、前記特定の位置に対応付けられた直線を前記位置決め直線の候補に選定する第1候補選定を行ってもよい。
【0009】
前記態様においては、
前記位置設定部は、前記対戦の開始が決定した時点において前記第1キャラクタと前記第2キャラクタとを結ぶ直線である基準直線を前記位置決め直線として用いて前記立体領域を確保できる場合には、前記基準直線を前記位置決め直線の候補に選定する第2候補選定を行ってもよい。
【0010】
前記態様においては、
前記位置設定部は、
仮の前記位置決め直線である仮直線を複数定めて、それぞれの前記仮直線について前記立体領域の確保を試み、
前記立体領域を確保できる前記仮直線の中から前記位置決め直線の候補を選定する第3候補選定を行ってもよい。
【0011】
前記態様においては、
前記仮想空間は、複数の小領域に分割された箇所があり、
それぞれの前記小領域には、前記位置決め直線として使用して前記立体領域を確保できる直線が対応付けられており、
前記位置設定部は、
前記第1キャラクタに対応して規定した基準点が前記小領域内に存在する場合、前記基準点が存在する前記小領域に対応付けられた直線を、前記位置決め直線の候補に選定する第4候補選定を行ってもよい。
【0012】
前記態様においては、
前記ゲーム進行部は、前記対戦の間は、前記第1キャラクタと前記第2キャラクタの移動方向を、前記立体領域内に定義した仮想面に沿う範囲に限定してもよい。
【0013】
前記態様においては、
前記コンピュータを、
前記仮想空間において動画像の撮像を行なう仮想カメラと、
前記動画像を表示装置に表示させる表示部、
として機能させ、
前記仮想カメラの向きは、前記対戦の間は、前記仮想面に直行してもよい。
【0014】
前記態様においては、コンピュータを、
3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部と、
前記対戦を開始する場合における前記第1キャラクタと前記第2キャラクタの前記仮想空間における位置を設定する位置設定部と、
として機能させ、
前記位置設定部は、
前記対戦が開始される場合に、所定の属性を有したオブジェクトを包含せず且つ所定大きさを有した立体領域を前記仮想空間内に確保し、前記立体領域内に前記第1キャラクタと前記第2キャラクタの位置を設定し、
前記対戦が開始される場合に前記第1キャラクタと前記第2キャラクタとを結んだ直線である位置決め直線を規定して、前記位置決め直線を含むように前記立体領域を確保するものであり、
前記位置設定部は、
第1候補選定、第2候補選定、第3候補選定の内の、少なくとも1つの手法によって前記位置決め直線の候補の選定を試み、
試みた手法によって前記位置決め直線の候補を選定できた場合には、選定した直線を前記位置決め直線として定め、
試みた手法によって前記位置決め直線の候補を選定できなかった場合には、第4候補選定によって前記位置決め直線を定める
ゲームプログラムである。
【0015】
第2の態様は、前記態様のゲームプログラムを記憶した記憶部と、
前記ゲームプログラムを実行する制御部と、
を備えたゲーム装置である。
【発明の効果】
【0016】
本開示によれば、仮想空間で行なわれるゲームにおいて画像による演出の多様化を図ることができる。
【図面の簡単な説明】
【0017】
図1】ゲーム装置の構成を示すブロック図である。
図2】対戦領域を示す図である。
図3】第1移動モード完了時における動画像の1フレーム分を示す図である。
【発明を実施するための形態】
【0018】
[実施形態]
このゲームプログラムによるゲームは、仮想空間(三次元)で実施される。このゲームプログラムによるゲームは、プレイヤキャラクタを、他のプレイヤキャラクタまたはノンプレイヤキャラクタと仮想空間内で対戦させる対戦型アクションゲームである。より詳しくは、本実施形態のゲームは、いわゆる格闘ゲームである。
【0019】
この格闘ゲームでは、ユーザ(プレイヤ)は、一のキャラクタ(プレイヤキャラクタ)を選択して操作する。ユーザは、プレイヤキャラクタを操作して、仮想空間内で他のキャラクタ(例えばノンプレイヤキャラクタ)に対して、対戦を申し込むことができる。対戦では、例えば、いずれかのキャラクタの体力値が0になることで勝敗が決定する。
【0020】
《ゲーム装置の構成》
〈ハードウェアの構成〉
図1は、ゲーム装置5の構成を示すブロック図である。ゲーム装置5は、ユーザの操作に基づいて所定のゲームを実行する。ゲーム装置5には、ディスプレイ61(表示装置)、スピーカ62およびコントローラ63が外部接続または内蔵される。
【0021】
ゲーム装置5には、例えば、パーソナルコンピュータ、プレイステーション(登録商標)、XBox(登録商標)、PlayStation Vita(登録商標)、Nintendo Switch(登録商標)などの、市販の装置を利用できる。
【0022】
ゲーム装置5では、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。ゲーム装置5同士は、通信ネットワーク(図示を省略)または近距離無線通信装置(図示せず)を用いて、互いにデータ通信を行うことができる。
【0023】
ゲーム装置5は、ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54、記憶部55および制御部56を有する。ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54および記憶部55は、バス59を介して制御部56と電気的に接続されている。
【0024】
ネットワークインターフェース51は、例えば、他のゲーム装置5や外部のサーバ装置(図示を省略)との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【0025】
グラフィック処理部52は、制御部56から出力されるゲーム画像情報に従って、プレイヤキャラクタおよび仮想空間(以下、仮想空間VS)における各種オブジェクトを含むゲーム画像を、動画形式で描画する。グラフィック処理部52はディスプレイ61(例えば液晶ディスプレイ)と接続されている。動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ61上に表示される。
【0026】
グラフィック処理部52は、仮想空間VS内の所定の範囲をディスプレイ61に表示する。グラフィック処理部52は、制御部56の指示に応じて表示範囲を定める。
【0027】
オーディオ処理部53は、スピーカ62と接続されている。オーディオ処理部53は、制御部56の指示に従ってデジタルのゲーム音声を再生する。具体的には、オーディオ処理部53は、制御部56が出力した音声データをアナログ信号に変換し、スピーカ62に出力する。
【0028】
操作部54は、コントローラ63と接続されている。操作部54は、信号をコントローラ63との間で送受信する。ゲームのプレイヤは、コントローラ63のボタン等の各種操作子を操作することで、ゲーム装置5に信号(命令やデータなど)を入力する。
【0029】
記憶部55は、HDD、SSD、RAM、ROMなどで構成される。記憶部55には、ゲームデータ、ゲームプログラムを含む各種プログラムなどが格納されている。ゲームデータとしては、ゲーム媒体やユーザのアカウント情報などを例示できる。
【0030】
制御部56は、ゲーム装置5の動作を制御する。制御部56は、CPU(マイクロコンピュータ)、および半導体メモリを備えている。半導体メモリには、CPUを動作させるためのプログラムやデータなどが格納される。
【0031】
〈制御部56の機能的構成〉
制御部56は、ゲームプログラムを実行することによって、ゲーム進行部561、位置設定部562、および表示部563として機能する(図1参照)。
【0032】
(ゲーム進行部561)
ゲーム進行部561は、仮想空間VS内でプレイヤキャラクタ、ノンプレイヤキャラクタ、および所定のオブジェクトを動作させることによってゲームを進行させる。
【0033】
ゲーム進行部561は、ノンプレイヤキャラクタの動作制御では、例えばAI(artificial intelligence)を利用する。ゲーム進行部561は、プレイヤキャラクタの動作制御をユーザ(プレイヤ)の指示に応じ行なう。ユーザの指示は、コントローラ63によって操作部54に入力される。操作部54は、コントローラ63からの入力(ユーザの指示)をゲーム進行部561に送る。
【0034】
例えば、ユーザは、コントローラ63の操作によって、プレイヤキャラクタの移動をゲーム進行部561に指示できる。ユーザは、所定の動作をプレイヤキャラクタに行なわせることで、他のキャラクタに対する対戦申し込み動作をゲーム進行部561に指示できる。対戦申し込み動作としては、プレイヤキャラクタが相手キャラクタに話しかける動作、プレイヤキャラクタが相手キャラクタに攻撃を行う動作などを例示できる。
【0035】
以下では、対戦する一方のキャラクタを第1キャラクタC1とし、その対戦相手を第2キャラクタC2とする。第1キャラクタC1は、ユーザが操作するプレイヤキャラクタである。第2キャラクタC2は、ノンプレイヤキャラクタの場合もあるし、他のユーザが操作するキャラクタの場合もある。
【0036】
対戦中は、ユーザは、コントローラ63の操作によって、パンチ攻撃、キック攻撃といった第1キャラクタC1の動作をゲーム進行部561に指示できる。
【0037】
ユーザは、対戦中も、コントローラ63の操作によって第1キャラクタC1の移動(後退、前進など)を指示できる。ゲーム進行部561は、対戦中は、第1キャラクタC1および第2キャラクタC2が移動できる範囲を、後述の第1領域BA1内に制限する。ゲーム進行部561は、対戦中は、第1キャラクタC1および第2キャラクタC2の移動方向を仮想面S1(後述)に沿った方向(平行な方向)のみに制限する。
【0038】
(位置設定部562)
位置設定部562は、対戦場所を仮想空間内に確保し、第1キャラクタC1と第2キャラクタC2を対戦場所に配置する。
【0039】
対戦には、所定の大きさの立体領域(以下、対戦領域BAという)を要する。位置設定部562は、対戦開始が決定したら対戦領域BAを確保する。図2は、対戦領域BAを示す。
【0040】
対戦領域BAは、幅W、奥行きD、高さHの立方体である(図2参照)。対戦領域BAは、第1領域BA1と第2領域BA2とから構成されている。第1領域BA1と第2領域BA2は、何れも立方体である。
【0041】
第1領域BA1は、対戦時に第1キャラクタC1と第2キャラクタC2が対戦を行なう領域である。第1領域BA1は、幅W、奥行きD1、高さHの立方体の領域である。
【0042】
第1領域BA1は、キャラクタ配置直線BLを基準として確保されている。具体的に第1領域BA1は、その底面(長方形)における長手方向の中心線とキャラクタ配置直線BLとが一致するように規定されている。キャラクタ配置直線BL上には、対戦開始時に2体のキャラクタが配置される。
【0043】
第2領域BA2は、仮想カメラVC(後述)が配置される領域である。第2領域BA2は、第1領域BA1に隣接している(図2参照)。第2領域BA2は、幅W、奥行きD2、高さHの領域である。ただし、D=D1+D2である。
【0044】
このゲームプログラムでは、仮想空間VSにおける距離の単位としてm(メートル)を用いている。このゲームプログラムでは、仮想空間VSの座標系における距離=1.0に現実世界の1.0メートルを対応させて仮想空間VS内のオブジェクト(例えばキャラクタ、建物、樹木など)の大きさなどを定めている。このゲームプログラムでは、対戦領域BAは、幅W=7m、奥行きD=12m、高さH=5mである。また、D1=3m、D2=9mである。
【0045】
仮想空間VSには、キャラクタ以外にも種々のオブジェクトが配置されている。キャラクタ以外のオブジェクトとしては、例えば、建物、樹木、ベンチなどを例示できる。
【0046】
これらのオブジェクトの中には、対戦の邪魔になるものがある。「対戦の邪魔」とは、例えば、対戦中にキャラクタと干渉(衝突)して、キャラクタの動作を阻害することである。また、オブジェクトの中には、仮想カメラVC(後述)による撮影の邪魔になるもの(仮想カメラVCの撮影範囲を遮るもの)もある。
【0047】
以下では、対戦や撮影の邪魔になるオブジェクトを阻害オブジェクトと呼ぶ。阻害オブジェクトには、それが阻害オブジェクトであることを示すパラメータ(以下、阻害パラメータ)が設定されている。例えば、建物のオブジェクトには、阻害パラメータが設定されている。
【0048】
対戦領域BAは、その内部に阻害オブジェクトを含まないように設定する必要がある。位置設定部562は、対戦領域BAの候補領域に対して阻害オブジェクト探索を行なう機能を有している。
【0049】
位置設定部562は、阻害オブジェクト探索をレイキャストによって行なう。位置設定部562は、第1領域BA1の候補領域に対しては、第2領域BA2の候補領域よりも、より細かくレイキャストを行なう。
【0050】
位置設定部562は、対戦開始が決定したら、キャラクタ配置直線BLの候補を選定する。具体的に位置設定部562は、キャラクタ配置直線BL選定のために手順1~4(それぞれ後述)をこの順に試みる。位置設定部562は、最初に選定に成功した手順におけるキャラクタ配置直線BL候補に基づいて対戦領域BAを確保する。位置設定部562は、選定したキャラクタ配置直線BL上に第1キャラクタC1と第2キャラクタC2を配置する。
【0051】
-手順1-
この手順では、位置設定部562は、予め指定された指定直線をキャラクタ配置直線BLとして選定できるか否かを調べる。指定直線は、仮想空間VS内に設定された直線である。指定直線は、キャラクタ配置直線BLとして用いた場合に対戦領域BAを確保できるように位置が定められている。
【0052】
指定直線は、仮想空間VSの特定の領域(以下、指定領域SAという)に対応付けられている。指定直線の対応付けは、ゲームプログラムの開発者が、このゲームプログラムの開発時に予め行なう。指定直線は、ゲームデータとして準備されている。
【0053】
このゲームプログラムでは、指定直線は、対戦の実施中に特定のオブジェクト(例えば著名な建造物のオブジェクトなど)が背景となるように配置が定められている。こうすることで、指定直線は、ゲームの演出に利用することができる。
【0054】
本手順において位置設定部562は、第1キャラクタC1に定義した基準点が指定領域SA内か否かの判定を行なう。基準点の決め方は任意である。例えば、第1キャラクタC1の一方の足に基準点を設定することができる。
【0055】
位置設定部562は、基準点が何れかの指定領域SA内に存在する場合には、その指定領域SAに対応する指定直線をキャラクタ配置直線BLの候補に選定する(第1候補選定)。基準点が何れの指定領域SA内にも存在しない場合には、この手順によるキャラクタ配置直線BL選定は失敗である。
【0056】
-手順2-
この手順では、位置設定部562は、対戦する2体のキャラクタを結ぶ直線(以下、基準直線という)を、キャラクタ配置直線BLの候補に選定できるか否かを調べる。
【0057】
位置設定部562は、対戦開始が決定した時点における2体のキャラクタの位置に基づいて基準直線を定める。位置設定部562は、基準直線をキャラクタ配置直線BLとして用いて対戦領域BAを確保できる場合には、基準直線をキャラクタ配置直線BLの候補に選定する(第2候補選定)。
【0058】
具体的に位置設定部562は、基準直線をキャラクタ配置直線BLと仮定して仮の第1領域BA1を定める。更に位置設定部562は、第1領域BA1に隣接して第2領域BA2を仮に定める。つまり、位置設定部562は、基準直線を用いて仮の対戦領域BAを定める。
【0059】
位置設定部562は、仮に定めた対戦領域BAに対して阻害オブジェクト探索を行なう。位置設定部562は、阻害オブジェクト探索によって阻害オブジェクトが見つからなかった場合に、基準直線をキャラクタ配置直線BLとして用いて対戦領域BAを確保できると判断する。阻害オブジェクト探索によって阻害オブジェクトが見つかった場合は、この手順によるキャラクタ配置直線BL選定は失敗である。
【0060】
-手順3-
この手順では、位置設定部562は、仮のキャラクタ配置直線BLである仮直線を複数定めて、それらの仮直線の中からひとつのキャラクタ配置直線BLの候補を選定できるか否かを調べる。具体的に位置設定部562は、仮直線をキャラクタ配置直線BLとして用いて対戦領域BAを確保できるか否か、それぞれの仮直線について調べる。
【0061】
仮直線の作り方には限定はない。この例では、位置設定部562は、基準直線を回転させて、複数の仮直線を作る。基準直線の回転中心は、第1キャラクタC1と第2キャラクタC2の中点である。回転軸は、仮想空間VSにおける鉛直方向を向いている。
【0062】
このゲームプログラムでは、位置設定部562は7つの仮直線を作る。7つの仮直線は、基準直線に対して、-60°,-45°,-30°,30°,45°,60°,90°の角度をそれぞれなしている。
【0063】
この手順においても、位置設定部562は、仮直線毎に仮決めした対戦領域BAに対して阻害オブジェクト探索を行なう。仮決めの対戦領域BAの全てにおいて阻害オブジェクトが見つかった場合には、この手順によるキャラクタ配置直線BL選定は失敗である。
【0064】
阻害オブジェクト探索の結果、1つまたは複数の仮直線がキャラクタ配置直線BLの候補が見つかったとする。この場合、位置設定部562は、一以上の候補の内から何れかひとつを、キャラクタ配置直線BL候補として選択する(第3候補選定)。
【0065】
複数のキャラクタ配置直線BL候補の中からひとつを選択する方法は、開発者が任意に定めてよい。例えば、位置設定部562は、位置設定部562は、複数候補の内で、第1キャラクタC1と第2キャラクタC2の間隔を最大化できるもの(阻害オブジェクトが存在しない区間を最大化できるもの)を、ひとつのキャラクタ配置直線BL候補として選択する。
【0066】
-手順4-
手順4では、位置設定部562は、ゲームプログラムの開発者によって予め設定された直線(後述の事前設定直線)を、キャラクタ配置直線BLとして選定できるか否かを調べる。手順4は、開発者によってキャラクタ配置直線BL候補の直線が事前に仮想空間VS内に設定される点で手順1と共通する。しかし、手順4は、開発者が設定する直線(事前設定直線)の配置箇所が手順1とは異なる。
【0067】
仮想空間VSには、その地面が複数の小領域(2次元の領域)に分割された領域がある。キャラクタが移動できる領域は全て、小領域に分割されている。この例では、小領域は、1m×1mの領域である。
【0068】
それぞれの小領域には、キャラクタ配置直線BLとして使用して対戦領域BAを確保できる直線(以下、事前設定直線という)が予め対応付けられている。小領域および事前設定直線は、ゲームプログラムの開発時に開発者がゲームデータとして予め準備している。
【0069】
このゲームプログラムの開発者は、ゲームプログラムの開発時に小領域ごとに、予めレイキャストを行なって、対戦領域BAを確保できるキャラクタ配置直線BLを求めている。計算結果は、例えば、テーブル(以下、直線探索テーブルという)の形で、ゲームデータに含められる。直線探索テーブルは、仮想空間VSにおける位置の情報で検索できるように構成されている。
【0070】
手順4では、位置設定部562は、第1キャラクタC1に対応して規定した基準点の情報(例えば基準点の位置情報)を用いて、直線探索テーブルを探索する。キャラクタが移動できる領域は全て小領域に分割されているので、手順4では、第1キャラクタC1の近傍に必ず一つ以上のキャラクタ配置直線BL候補が見つかる。位置設定部562は、一以上のキャラクタ配置直線BL候補の内から、ひとつのキャラクタ配置直線BL候補を選択する(第4候補選定)。
【0071】
複数のキャラクタ配置直線BL候補の中からひとつを選択する方法は、開発者が任意に定めてよい。例えば、位置設定部562は、第1キャラクタC1と第2キャラクタC2の間隔を最大化できるもの(阻害オブジェクトが存在しない区間を最大化できるもの)を、ひとつのキャラクタ配置直線BL候補として選択する。
【0072】
(表示部563)
表示部563は、仮想空間VS内の所定範囲を表示範囲として切り出してゲームの映像(動画像)を生成する。表示部563は、グラフィック処理部52を制御して生成した動画像をディスプレイ61(表示装置)に表示させる。
【0073】
表示部563は、動画像を生成するために、仮想のカメラ(以下、仮想カメラVCという)を仮想空間VSに設定する。表示部563は、仮想カメラVCで仮想空間VS内を撮影したものとして、3Dの映像(動画像)を生成する。以下では、表示部563による「動画像の生成」のことを、「仮想カメラVCの撮影」と表現する場合がある。
【0074】
表示部563は、仮想カメラVCに対して、設置位置、撮影方向(以下、撮影方向SD)、画角等を設定することができる。表示部563は、仮想カメラVCの位置、撮影方向、画角等の仮想カメラVCの設定に応じて、表示範囲として切り出すべき仮想空間VSの範囲を決定する。
【0075】
表示部563は、生成した動画像をグラフィック処理部52に送る。グラフィック処理部52は、表示部563から送られてきた動画像をディスプレイ61に表示する。
【0076】
表示部563は、ゲームの状況に応じて仮想カメラVCの設置位置および撮影方向SDを移動する。例えば、プレイヤキャラクタ(第1キャラクタC1)が仮想空間VS内を徒歩で移動中は、仮想カメラVCは第1キャラクタC1の後方から、第1キャラクタC1に追従して移動する。
【0077】
仮想カメラVCは、対戦中は、第2領域BA2内に設置される。仮想カメラVCは、対戦中は、第1領域BA1内に定義された仮想面S1(図2参照)の方向を向いて撮影する。仮想面S1は、キャラクタ配置直線BLを含み、且つ仮想空間VSの鉛直方向に延びる仮想の平面である。仮想面S1は、幅W、高さHの長方形であり、全体が第1領域BA1内に含まれている。
【0078】
仮想カメラVCは、表示部563の制御によって、以下に説明する第1移動モードM1および第2移動モードM2による移動を行なう場合がある。
【0079】
第1移動モードM1は、対戦開始が決定された場合に実行される。第1移動モードM1では、仮想カメラVCは、現在の位置から、第2領域BA2内で且つ仮想面S1の全体を撮影できる位置に移動する。
【0080】
第1移動モードM1では、仮想カメラVCは、第1移動モードM1の完了時に撮影方向SD(図2参照)が仮想面S1に直交するように撮影方向を変える。仮想カメラVCは、第1移動モードM1による移動中も、第1キャラクタC1および第2キャラクタC2の撮影を続行する。
【0081】
第2移動モードM2は、対戦中に実施される。第2移動モードM2では、仮想カメラVCは、第1キャラクタC1および第2キャラクタC2の撮影を行ないつつ、仮想面S1に平行な方向のみに移動する。
【0082】
《動作例》
ゲームが開始されると、ゲーム進行部561は、ユーザ(ゲームのプレイヤ)のコントローラ63の操作に応じて、プレイヤキャラクタ(第1キャラクタC1)を仮想空間VS内で動作させる。ゲーム進行部561は、必要に応じてノンプレイヤキャラクタ等のオブジェクトも仮想空間VSで動作させる。
【0083】
表示部563は、第1キャラクタC1や他のノンプレイヤキャラクタ等の動作をディスプレイ61に表示させる。このときの仮想カメラVCの位置は、第1キャラクタC1の後方である。仮想カメラVCは、第1キャラクタC1の移動に追従して移動する。
【0084】
ゲームが進行し、ユーザがコントローラ63を操作して第1キャラクタC1に対戦の申し込み動作を行なわせたとする。仮想カメラVCは、対戦申し込みの様子を撮影する。
【0085】
対戦申し込み中は、第1キャラクタC1に加えて、相手のキャラクタ(第2キャラクタC2)も仮想カメラVCによって撮影される。このとき、ディスプレイ61に表示される動画像は、ユーザには三次元として認識される。
【0086】
位置設定部562は、対戦の開始が決定したら、キャラクタ配置直線BL選定の手順1~4をこの順に試みる。例えば、位置設定部562が手順1,3,4の何れかにおいてキャラクタ配置直線BLの選定に成功した場合は、第1キャラクタC1、第2キャラクタC2、および仮想カメラVCの移動が必要になる。位置設定部562が手順2においてキャラクタ配置直線BLの選定に成功した場合は、仮想カメラVCのみの移動が必要になる。
【0087】
対戦開始時には、表示部563は、仮想カメラVCを移動させる。対戦開始時における仮想カメラVCの移動は、第1移動モードM1である。
【0088】
対戦開始時には、第1キャラクタC1と第2キャラクタC2の移動が必要な場合がある。第1キャラクタC1と第2キャラクタC2の移動が必要な場合、位置設定部562は、第1移動モードM1による仮想カメラVCの移動と並行して第1キャラクタC1と第2キャラクタC2を移動させる。具体的に位置設定部562は、第1領域BA1内且つキャラクタ配置直線BL上に、第1キャラクタC1と第2キャラクタC2を配置する。
【0089】
仮想カメラVCは、第1移動モードM1による移動中も、対戦予定の2体のキャラクタを撮影する。そのため、このゲームプログラムでは、対戦申し込みから第1移動モードM1の完了までシームレスな動画像が生成される。
【0090】
図3は、第1移動モードM1完了時における動画像の1フレーム分を示す。第1移動モードM1完了時には、第1キャラクタC1と第2キャラクタC2は、キャラクタ配置直線BL上に配置されている。
【0091】
図3に示すように、背景には、複数の建物BLDが表示されている。建物BLDは、オブジェクトの一例である。キャラクタ配置直線BLが第1候補選定によるものの場合は、開発者の演出意図に沿った背景(例えば著名な建造物のオブジェクトなど)が表示される。
【0092】
図3では、建物BLDは、阻害パラメータが設定されている。図3では、建物BLDは、対戦領域BAの外にある。したがって、建物BLDは、対戦の邪魔にならない。
【0093】
第1移動モードM1の完了時、仮想カメラVCの撮影方向SDは、仮想面S1に直交している。したがって、第1移動モードM1の完了時は、仮想カメラVCが3次元空間を撮影しているにもかかわらず、仮想カメラVCが撮影した動画像は、2次元的な画像に見える。
【0094】
対戦中における仮想カメラVCの移動は、第2移動モードM2である。第2移動モードM2では、仮想カメラVCは、表示部563によって、第1キャラクタC1および第2キャラクタC2の撮影を行ないつつ、仮想面S1に平行な方向のみに移動する。ゲーム進行部561は、対戦中は、第1キャラクタC1および第2キャラクタC2の移動方向を仮想面S1に沿った方向に制限する。したがって、対戦中の動画像は、2次元的な動画像に見える。
【0095】
以上をまとめると、本件態様は、コンピュータを、3次元の仮想空間内で、第1キャラクタと第2キャラクタとを対戦させるゲーム進行部と、前記対戦を開始する場合における前記第1キャラクタと前記第2キャラクタの前記仮想空間における位置を設定する位置設定部、として機能させ、前記位置設定部は、前記対戦が開始される場合に、前記第1キャラクタと前記第2キャラクタを配置する領域として、所定の属性を有したオブジェクトを包含せず且つ予め規定した大きさを有した立体領域を前記仮想空間内に確保し、前記立体領域内に前記第1キャラクタと前記第2キャラクタを配置するゲームプログラムである。
【0096】
《本実施形態の効果》
本実施形態では、対戦が開始される場合に、第1キャラクタC1と第2キャラクタC2を配置する対戦領域BAが、仮想空間内に確保される。つまり、本実施形態では、対戦用の専用エリアを設けたり、そこにキャラクタを移動させたりする必要が無く、仮想空間内でシームレスに対戦モードに移行できる。本実施形態では、仮想空間で行なわれるゲームにおいて画像による演出の多様化を図ることができる。
【0097】
[その他の実施形態]
仮想カメラVCの位置や撮影方向は例示である。例えば、対戦中の撮影方向SDは、仮想面S1に直交していなくてもよい。
【0098】
仮想カメラVCは、対戦中にキャラクタを真上から見下ろすように撮影してもよい。
【0099】
ゲームプログラムは、いわゆるオンラインゲーム用のゲームプログラムとして実装してもよい。ゲームプログラムがオンラインゲーム用である場合には、ゲーム装置5で行っていた処理をそれらに代わってサーバ側で行ってもよいし、サーバ側とクライアント(ゲーム装置5)側とで分担してもよい。
【0100】
仮想カメラVCの位置は、キャラクタの後方に位置させる代わりに、キャラクタの視点(頭部)の位置に設定してもよい。つまり、ゲームプログラムは、いわゆる一人称視点(first person view)のゲームとして機能させてもよい。
【0101】
仮想カメラVCの位置や方向をユーザの操作に応じて変更させるモードを設けてもよい。第1移動モードM1、第2移動モードM2の実行中は、ユーザによる仮想カメラVCの操作を制限するのが望ましい。
【0102】
非対戦中にプレイヤキャラクタが他のキャラクタから攻撃を受けた場合に、対戦開始を決定するように、ゲームプログラムを実装してもよい。
【0103】
仮想カメラVCを第1移動モードM1で移動させる際に、画面を暗転させたり、所定の演出動画や画像(バトル開始を示すもの等)を表示させたりしてもよい。こうすることで、対戦開始時に仮想カメラVCやキャラクタが移動することによる不自然さをユーザに認識させずにプレイさせることができる。
【0104】
手順3における回転中心の定め方は例示にすぎない。回転中心は、何れかのキャラクタC1,C2の位置を基準にして設定してもよい。手順3における仮直線は、例えば基準直線を何れかの方向に平行移動させた直線でもよい。手順3における仮直線は、例えばキャラクタC1,C2の何れかに近傍の1点と、ランダムに選択した他の1点とを結んで作成してもよい。
【0105】
立体領域(対戦領域BA)は、キャラクタ配置直線BLを基準に確保できるものであれば、形状に限定はない。立体領域は、例えば、球、半球等とすることができる。
【0106】
対戦の終了後、キャラクタC1,C2の位置は、対戦終了時の位置のままでもよいし、対戦前の位置に戻してもよい。
【0107】
対戦開始時に3体以上のキャラクタが立体領域内に配置されてもよい。対戦途中に第3のキャラクタが立体領域内に配置されてもよい。
【0108】
これらの他の実施形態を採用した場合においても、本態様の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【0109】
5 ゲーム装置
54 操作部
55 記憶部
56 制御部(コンピュータ)
61 ディスプレイ(表示装置)
561 ゲーム進行部
563 表示部
C1 第1キャラクタ
C2 第2キャラクタ
M1 第1移動モード
M2 第2移動モード
S1 仮想面
VC 仮想カメラ
VS 仮想空間
図1
図2
図3