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

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

Info

Publication number
JP6192366B2
JP6192366B2 JP2013117938A JP2013117938A JP6192366B2 JP 6192366 B2 JP6192366 B2 JP 6192366B2 JP 2013117938 A JP2013117938 A JP 2013117938A JP 2013117938 A JP2013117938 A JP 2013117938A JP 6192366 B2 JP6192366 B2 JP 6192366B2
Authority
JP
Japan
Prior art keywords
movable range
information processing
movement
character
movement control
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
JP2013117938A
Other languages
English (en)
Other versions
JP2014233536A (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 JP2013117938A priority Critical patent/JP6192366B2/ja
Priority to US14/027,737 priority patent/US9295909B2/en
Publication of JP2014233536A publication Critical patent/JP2014233536A/ja
Application granted granted Critical
Publication of JP6192366B2 publication Critical patent/JP6192366B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、情報処理プログラム等に関し、特に、仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが第1オブジェクトの移動に従って移動する情報処理の実行に関する。
従来より、サブキャラクタをリーダキャラクタに追従させたり、複数のキャラクタが群をなして移動する情報処理を実行する装置等が提案されている(特許文献1)。
この点で、地形等の障害物に阻まれて移動できなくなったときに当該障害物を回避する種々の方式が提案されている。
特開2005−287757号公報
一方で、障害物に阻まれて移動できなくなったときに回避する移動制御よりも障害物に阻まれる前に回避する移動制御の方がより自然な移動となる。
本開示の目的は、上記のような問題を解決するためになされたものであって、あるキャラクタに従って移動する別のキャラクタを自然に移動制御させることが可能な情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システムを提供することである。
ある局面に従う情報処理プログラムは、情報処理装置のコンピュータにおいて、仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが第1オブジェクトの移動に従って移動する情報処理を実行する情報処理プログラムであって、情報処理プログラムは、コンピュータを、入力を受け付ける入力受付手段と、入力受付手段による入力に基づき第1オブジェクトを仮想空間内において移動制御する第1オブジェクト移動制御手段と、第1オブジェクト移動制御手段によって移動された第1オブジェクトの位置に基づいて、仮想空間内において第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、範囲算出手段により算出された移動可能範囲に基づいて第2オブジェクトを移動制御する第2オブジェクト移動制御手段として機能させる。
上記範囲算出手段は、繰り返し移動可能範囲を算出する。
上記移動可能範囲は、第1オブジェクトの移動方向に基づいた範囲である。
上記第2オブジェクト移動制御手段は、移動可能範囲を移動する目標として第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲を移動する目標として第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲のうち時系列に沿って次の移動可能範囲を移動する目標に設定して第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲のうち、時系列に沿った次の移動可能範囲よりも近い移動可能範囲を移動する目標として第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、直近に通過した移動可能範囲上の通過位置に基づいて、次の移動可能範囲上の位置に目標を設定して第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、直近に通過した移動可能範囲上の所定位置を基準とした通過位置に基づいて、次の移動可能範囲上の所定位置を基準とした位置に目標を設定して第2オブジェクトを移動制御する。
上記第2オブジェクト移動制御手段は、第1オブジェクトの位置に基づいた移動目標座標を設定して第2オブジェクトを移動制御する。
上記移動可能範囲は、第1オブジェクトの位置を含む範囲である。
上記第2オブジェクト移動制御手段は、範囲算出手段により算出された移動可能範囲に基づいて形成される安全領域内で第2オブジェクトを移動制御する。
上記安全領域は、繰り返し算出された複数の移動可能範囲に基づいて形成される領域である。
上記移動可能範囲は、仮想空間内において第2オブジェクトの移動が可能な範囲に基づいて大きさが可変である。
上記仮想空間内において第2オブジェクトの移動が可能な領域と、移動が不可能な領域とを規定するための領域情報が設けられ、範囲算出手段は領域情報を参照して、第2オブジェクトの移動可能範囲を算出する。
上記領域情報は、仮想空間内の位置および高さに従って規定され、範囲算出手段は領域情報を参照して、仮想空間内における第1オブジェクトの位置および高さに基づいて第2オブジェクトの移動可能範囲を算出する。
上記仮想空間内において、領域の属性が設定され、第2オブジェクト移動制御手段は、領域の属性に基づいて第2オブジェクトを移動制御する。
上記第2オブジェクトには、移動する方式に関する移動属性が設定され、範囲算出手段は、移動属性にも基づいて、移動可能範囲を算出する。
ある局面に従う仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置の制御方法であって、入力を受け付けるステップと、入力に基づき第1オブジェクトを仮想空間内において移動制御するステップと、移動された第1オブジェクトの位置を基準に仮想空間内において第1オブジェクトが移動することが可能な移動可能範囲を算出するステップと、算出された移動可能範囲に基づいて形成される安全領域内で第2オブジェクトを移動制御するステップとを備える。
ある局面に従う仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置であって、入力を受け付ける入力受付手段と、入力受付手段による入力に基づき第1オブジェクトを仮想空間内において移動制御する第1オブジェクト移動制御手段と、第1オブジェクト移動制御手段によって移動された第1オブジェクトの位置に基づいて、仮想空間内において第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、範囲算出手段により算出された移動可能範囲に基づいて第2オブジェクトを移動制御する第2オブジェクト移動制御手段とを備える。
ある局面に従う仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置を有する情報処理システムであって、入力を受け付ける入力受付手段と、入力受付手段による入力に基づき第1オブジェクトを仮想空間内において移動制御する第1オブジェクト移動制御手段と、第1オブジェクト移動制御手段によって移動された第1オブジェクトの位置に基づいて、仮想空間内において第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、範囲算出手段により算出された移動可能範囲に基づいて第2オブジェクトを移動制御する第2オブジェクト移動制御手段とを備える。
本開示によれば、あるキャラクタに従って移動する別のキャラクタを自然に移動制御させることが可能である。
本実施の形態1に従うゲーム装置10の構成の概略ブロック図である。 本実施の形態1に従うキャラクタの移動の様子を説明する図である。 本実施の形態1に従うキャラクタの移動範囲を説明する図である。 本実施の形態1に従う空間座標系を説明する図である。 メインメモリ15のメモリマップを説明する図である。 本実施の形態1に従うゲームプログラムに基づいてプロセッサ13によって実行されるゲーム処理の主な流れを説明するフロー図である。 本実施の形態1に従うリーダキャラクタの移動制御処理の詳細を説明するフロー図である。 本実施の形態1に従う移動可能範囲算出処理の詳細を説明するフロー図である。 本実施の形態1に従う移動可能な範囲を探索する概念を説明する図である。 本実施の形態1に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。 本実施の形態1に従う目標移動可能範囲内の目標地点の設定を説明する図である。 本実施の形態2に従う目標移動可能範囲の変更について説明する図である。 本実施の形態2に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。 実施の形態3に従うリーダキャラクタおよびサブキャラクタの移動を説明する概念図である。 本実施の形態3に従う移動可能範囲算出処理の詳細を説明するフロー図である。 本実施の形態3に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。 実施の形態3の変形例に従うリーダキャラクタとサブキャラクタとの移動の特性が異なる場合を説明する図である。 本実施の形態3の変形例に従うメインメモリ15のメモリマップを説明する図である。 本実施の形態3の変形例に従う移動可能範囲算出処理の詳細を説明するフロー図である。 サブキャラクタの移動目標座標の別の設定方式を説明する図である。
以下、図面を参照して説明する。以下の説明において、同一の機能および作用を有する部品は、各図を通して同じ符号を付し、重複する説明を繰り返さない。
(実施の形態1)
[情報処理装置の構成]
本例においては、情報処理装置の一例としてゲーム装置を例に挙げて説明する。
図1は、本実施の形態1に従うゲーム装置10の構成の概略ブロック図である。なお、当該ゲーム装置は、携帯型であっても据置型であっても良い。
図1を参照して、ゲーム装置10は、入力装置11と、表示装置12と、プロセッサ13と、内部記憶装置14と、メインメモリ15と、および無線通信装置16とを含む。なお、全ての構成は必須の構成ではなく、例えば一例として無線通信装置16を除く構成としても良い。
入力装置11は、ゲーム装置10のユーザによって操作され、ユーザの操作に応じた信号をプロセッサ13へ出力する。入力装置11は、例えば、十字スイッチや押しボタンやタッチパネルである。
表示装置12は、ゲーム装置10において生成された画像を画面に表示する。表示装置12は、一例として液晶表示装置(LCD)を用いることができる。
プロセッサ13は、コンピュータプログラムを実行するための演算処理手段である。
内部記憶装置14には、プロセッサ13によって実行されるコンピュータプログラムが格納されている。内部記憶装置14は、一例として、NAND型フラッシュメモリを用いることができる。なお、プロセッサ13によって実行されるコンピュータプログラムは、予め記録されていてもよいし、他の機器との通信によって他の機器から取得されてもよい。
メインメモリ15は、コンピュータプログラムや情報を一時的に記憶する。メインメモリ15は、一例としてPSRAM(Pseudo-SRAM)を用いることができる。
無線通信装置16は、無線通信によって他のゲーム装置へ信号を送信したり、他のゲーム装置から信号を受信したりする。
[ゲーム処理における移動制御の概要]
次に、内部記憶装置14に記憶されたコンピュータプログラム(情報処理プログラム)の一種であるゲームプログラムに基づいてプロセッサ13によって実行されるゲーム処理の具体例について説明する。
本実施の形態で実行されるゲームは、仮想空間(ゲーム空間とも称する)内のキャラクタをプレイヤが入力装置11を用いて移動させて遊ぶものである。なお、ゲーム空間には、プレイヤが操作するキャラクタ(以下、リーダキャラクタとも称する)以外にも、プロセッサ13によって所定のアルゴリズムに基づいて移動制御される少なくとも1つのキャラクタ(以下、サブキャラクタとも称する)が存在する。少なくとも1つのサブキャラクタは、隊列を組んであるいは群れを成してリーダキャラクタの移動に従って移動(追従)するように移動制御される。
図2は、本実施の形態1に従うキャラクタの移動の様子を説明する図である。
図2を参照して、リーダキャラクタRCとそれに追従する複数のサブキャラクタSCとが隊列を組んで移動する様子を示している。本例においては、リーダキャラクタRCが1体に対して、サブキャラクタSCが15体設けられている場合が示されている。なお、リーダキャラクタRCに対して複数のサブキャラクタSCを設ける必要はなく、少なくとも1体のサブキャラクタSCが追従する構成としてもよい。
リーダキャラクタRCの進行方向と反対側(後ろ側)に複数のサブキャラクタSCが整然と追従する場合が示されている。ただし実際には、整った隊列を組んで移動するわけではなく、各サブキャラクタは個別に移動制御されるため、サブキャラクタ間の移動速度の差や地形の影響などによって、ある程度自由度のある隊列となる。なお、リーダキャラクタが移動を停止してから十分な時間が経過するような場合に、図2のような整った隊列となるようにサブキャラクタを移動制御しても良い。
図3は、本実施の形態1に従うキャラクタの移動範囲を説明する図である。
図3(A)を参照して、リーダキャラクタは、入力装置11の入力に従ってゲーム空間内において移動する。ここでは、リーダキャラクタの移動制御に従いリーダキャラクタがゲーム空間内において移動した位置が示されている。本例においては、一例としてリーダキャラクタが移動した位置を足跡Sn〜Sn−4(以下、総称して足跡Sとも称する)として説明する。ここで、時系列に従って、最も新しい足跡Snに対してk番目前の足跡を足跡Sn−kとして示している。本例においてはk=4までの例が示されている。
そして、リーダキャラクタの足跡Sに基づいて、ゲーム空間内において、サブキャラクタの移動が可能な範囲(移動可能範囲)を予め探索(算出)する。本例においては、リーダキャラクタのそれぞれの位置S(Sn〜Sn−4)に基づいて、移動可能範囲SPn〜SPn−4(以下、総称して移動可能範囲SPとも称する)を探索した場合が示されている。ここで、時系列に従って、最も新しい足跡Snに基づいて探索された移動可能範囲を移動可能範囲SPnとして示している。また、足跡Sn−kに基づいて探索された移動可能範囲を移動可能範囲SPn−kとして示している。本例においては、k=4までの例が示されている。
サブキャラクタの移動が可能な範囲とは、ゲーム空間内に配置された障害物等との関係でサブキャラクタが移動ができない範囲を除く移動が可能な範囲のことを意味する。
本実施の形態1におけるサブキャラクタの移動は、探索された移動可能範囲を利用した移動制御が実行される。具体的には、サブキャラクタの移動は、探索された移動可能範囲を移動する目標に設定した移動制御を実行する。言い換えるならば、探索された複数の移動可能範囲SPに基づいて生成される安全領域SF内でサブキャラクタを移動制御することによって実現される。当該安全領域SFは、複数の移動可能範囲SPを連結することにより生成されるものである。なお、移動可能範囲SP間の移動可能範囲SPが探索(算出)されていない部分については前後の移動可能範囲に従って補間処理することにより安全領域SFを生成することも可能である。
図3(B)を参照して、ゲーム空間内において、リーダキャラクタおよび各サブキャラクタがゲーム空間を移動しているときに、壁などの障害物あるいは落下する可能性のある崖等が設けられている場合がある。
上記と同様に、リーダキャラクタの足跡Sに基づいて、ゲーム空間内において、サブキャラクタの移動が可能な範囲(移動可能範囲)を予め探索(算出)する。この場合、移動可能範囲は、壁などの障害物あるいは落下する可能性のある崖等のために狭められる。
そして、探索結果に基づいて、探索された移動可能範囲を利用した移動制御を実行する。具体的には、複数の移動可能範囲SPに基づいて生成される安全領域SF内でサブキャラクタを移動制御する。
当該安全領域SFは、探索された移動可能範囲に基づいて生成されたサブキャラクタの移動が可能な領域であり、当該安全領域SF内に移動の目標となる地点を設定してサブキャラクタを移動制御することにより壁等の障害物に衝突したり、崖から落ちたりすること無く安全にサブキャラクタを移動させることが可能となる。
また、予め探索された移動可能範囲により生成された安全領域SF内でサブキャラクタを移動制御させるため、障害物に阻まれて移動できなくなる等が無い。すなわち、障害物に阻まれる前に障害物を回避することが可能となるため、障害物に阻まれて回避する移動制御よりも自然な移動制御を実現することが可能となる。
また、本実施の形態1における移動可能範囲は、リーダキャラクタの位置を基準としてその周辺を探索して設定されるものであり、サブキャラクタ毎に移動可能範囲が設定されるものではない。したがって、サブキャラクタの数が増えた場合であっても移動可能範囲の算出の負荷が変動して移動制御の処理負荷が重くなることもなく、処理負荷の軽いサブキャラクタの移動制御を実行することが可能である。
以上のように、各サブキャラクタは、安全領域SF内の目標地点を目指してそれぞれ移動する。具体的には、時系列に沿って蓄積された移動可能範囲を順番に目標に設定して移動することにより、図2のようにリーダキャラクタに追従して隊列を組んであるいは群れを成してゲーム空間を移動することとなる。
本実施形態では、リーダキャラクタの現在位置(空間座標系における座標)を所定のタイミングで順次、リーダキャラクタの「移動可能範囲データ」として蓄積する。より具体的には、例えば所定フレームに1度(例えば、10フレームに1度)のタイミングで移動可能範囲データを記憶する。このときに記憶するデータには、その時点のフレーム番号とリーダキャラクタの座標(足跡基準座標)が含まれる。また、移動可能範囲データには、足跡基準座標に基づいてリーダキャラクタが移動可能な領域範囲が算出されて記憶される。
なお、本実施形態では、前回に移動可能範囲データを記憶してから10フレームが経過した時点でリーダキャラクタがその移動可能範囲から一定距離以上離れていない場合には、新たな移動可能範囲データを記憶しないようにしている。これにより、リーダキャラクタがほとんど移動していない場合、すなわち前回の位置からの変化が小さい位置への移動の場合には類似している移動可能範囲データを蓄積しないようにする。これにより有効に利用可能な移動可能範囲データを蓄積することが可能となり、記憶領域を有効に活用することができる。なお、移動可能範囲データを無限に蓄積することは不可能なので、一定以上古い移動可能範囲データについては記憶領域から削除する必要がある。例えば、蓄積している移動可能範囲データの数が一定数以上になった場合には、新たな移動可能範囲データを記憶する際に、蓄積されている移動可能範囲データの中から最も古い(すなわちフレーム番号が最も小さい)移動可能範囲データを記憶領域から削除するようにすればよい。
図4は、本実施の形態1に従う空間座標系を説明する図である。
図4を参照して、空間座標系Xg,Yg,Zgが規定され、当該空間座標系に対してリーダキャラクタの座標が設定(LXg,LYg,LZg)される。また、リーダキャラクタの進行方向が規定されていて、当該方向に対してリーダキャラクタがゲーム空間において移動したり、移動の向きを変化させたりすることが可能に設けられる。
また、当該空間座標系に対してゲームの進行処理として仮想空間内におけるキャラクタの移動が可能な領域と、移動が不可能な領域とを含むフィールド情報(領域情報)が規定されている。
リーダキャラクタの座標に対して当該フィールド情報を構成する壁、崖等の領域に対して移動が可能か否かを探索することにより移動可能範囲が算出される。
次に、ゲームプログラムに基づいてプロセッサ13によって実行されるゲーム処理についてより詳細に説明する。
[メモリマップの構成]
図5は、メインメモリ15のメモリマップを説明する図である。
図5を参照して、メインメモリ15は、マップ情報データ領域70と、リーダキャラクタデータ領域72と、サブキャラクタデータ領域74と、移動可能範囲データ領域78とを含む。
マップ情報データ領域70は、ゲーム空間内において移動が可能な領域と移動が不可能な領域とを規定するためのフィールド情報が格納されている。例えば、フィールド情報としては、一般的にはゲーム空間内の地形オブジェクトとして描画するために必要な地形情報が含まれ、当該地形情報に設定されている空間座標系に基づく座標に基づいてゲーム空間内に地形オブジェクトが配置される。また、当該地形オブジェクトには、壁、崖、水、等の属性情報が関連付けられて設定されているものとする。
リーダキャラクタデータ領域72には、リーダキャラクタの空間座標系に基づく現在位置の座標と、リーダキャラクタの空間座標系に基づく向きが記憶される。
サブキャラクタデータ領域74には、サブキャラクタ毎にサブキャラクタデータ76が設けられ、各々、サブキャラクタの空間座標系に基づく現在位置の座標と、すでに到達した移動可能範囲のうちの最新の移動可能範囲データのフレーム番号とその移動可能範囲内の到達した位置座標、サブキャラクタの特性と、安定状態フラグとが記憶される。
ここで、サブキャラクタの特性とは、後述するサブキャラクタの移動に関する特性を指し示すものとする。本例においては、後述するがサブキャラクタの移動に関する特性として複数種類の特性が予め設けられている。例えば、サブキャラクタの移動に関する特性の種別として、歩行により地面を移動する場合と、空中を移動する場合とが設けられている。また、水中を移動可能な場合と移動が不可能な場合等が特性として予め設けられているものとする。後述するが当該サブキャラクタの移動に関する特性に基づいて移動制御を変更することが可能である。なお、本例においては、一例として歩行により移動する場合について説明する。
ここで、サブキャラクタの安定状態フラグとは、後述するがサブキャラクタの移動制御の判別として用いられる安定状態か否かを指し示すフラグを指し示すものとする。本例においては、各サブキャラクタの安定状態フラグについてオン/オフ(ON/OFF)が判別されて、それに基づいた移動制御が実行される。具体的には、安定状態フラグがオン(ON)の場合には移動制御を実行しない。一方、安定状態フラグがオフ(OFF)の場合には移動制御を実行する。当該安定状態フラグは、後述するがサブキャラクタの移動制御に関して、最終目標となる移動可能範囲に到達した際にオンに設定される。また、安定状態フラグがオンに設定されているサブキャラクタと衝突した際にも当該衝突したサブキャラクタの安定状態フラグがオンになるように設定される。したがって、リーダキャラクタに近い先頭のサブキャラクタの安定状態フラグがオンに設定された場合(例えば、最終目標となる移動可能範囲に到達した場合)に、後続のサブキャラクタは、例えば安定状態フラグがオンのサブキャラクタと衝突することにより安定状態フラグがオンに設定される。さらに複数のサブキャラクタが設けられている場合、当該状況が繰り返されて後続のサブキャラクタに対して安定状態フラグがオンとなるように伝播される。当該処理により複数のサブキャラクタのそれぞれの安定状態フラグがオンに設定されて、1つの群れあるいは集合体となった状態で移動制御を終了(移動を停止)する。
ここで、移動可能範囲データのフレーム番号は、サブキャラクタがどの移動可能範囲に到達しているかを把握するために用いられる。
移動可能範囲データ領域78には、複数の移動可能範囲データ80が設けられ、各移動可能範囲データには、足跡基準座標と、領域範囲と、フレーム番号とが含まれる。
足跡基準座標は、リーダキャラクタの足跡Sの座標を指し示すものである。
領域範囲は、後述する移動可能範囲算出処理により算出されたサブキャラクタが移動が可能な範囲に関するデータである。
フレーム番号は、ゲームの開始からの時刻に同期して所定間隔毎に生成される番号である。移動可能範囲データ80に関し、当該データに含まれるフレーム番号に従って、対応する移動可能範囲に関するデータを取得することが可能である。
[メインフロー]
図6は、本実施の形態1に従うゲームプログラムに基づいてプロセッサ13によって実行されるゲーム処理の主な流れを説明するフロー図である。
図6を参照して、まずプロセッサ13はゲーム空間を設定する(ステップS10)。より具体的には、マップ情報データ領域70に格納されているフィールド情報に基づいてリーダキャラクタ等の移動が可能な領域と移動が不可能な領域とを規定するための種々のオブジェクト(地形オブジェクト)が配置される。一例として、壁や崖等がゲーム空間に配置される。また、リーダキャラクタおよびサブキャラクタをゲーム空間の初期位置に配置する。
そして、次に、プロセッサ13は、足跡タイマのカウントを開始する(ステップS14)。足跡タイマは、移動可能範囲データを10フレーム毎に記憶するためのタイマである。
そして、次に、プロセッサ13は、入力装置11からの操作入力を検出する(ステップS16)。
そして、次に、プロセッサ13は、入力装置11からの操作入力に基づきリーダキャラクタを仮想空間内において移動制御する移動制御処理を実行する(ステップS18)。当該リーダキャラクタの移動制御処理については後述する。
そして、次に、プロセッサ13は、リーダキャラクタの移動制御処理に従いリーダキャラクタの位置を基準に仮想空間内においてサブキャラクタが移動することが可能な移動可能範囲を算出する(ステップS19)。当該移動可能範囲の算出については後述する。
そして、次に、プロセッサ13は、算出された移動可能範囲に基づいて形成される安全領域内でサブキャラクタを移動制御する移動制御処理を実行する(ステップS20)。サブキャラクタの移動制御処理については後述する。
そして、次に、プロセッサ13は、表示装置12に対してゲーム画像を表示する(ステップS26)。
そして、次に、プロセッサ13は、ゲームが終了したかどうかを判断する(ステップS28)。
プロセッサ13は、ゲームが終了したと判断した場合(ステップS28においてYES)には、処理を終了する(エンド)。
一方、プロセッサ13は、ゲームが終了していないと判断した場合(ステップS28においてNO)には、ステップS16に戻り、上記処理を繰り返す。
図7は、本実施の形態1に従うリーダキャラクタの移動制御処理の詳細を説明するフロー図である。
図7を参照して、プロセッサ13は、まず操作入力に基づいてリーダキャラクタを移動制御する(ステップS30)。より具体的には、操作入力に基づいてリーダキャラクタの座標および進行方向を更新する。続いてプロセッサ13は、足跡タイマのカウント値が所定フレーム(例えば、10フレーム)を超えたかどうかを判定(ステップS32)する。
ステップS32において、プロセッサ13は、足跡タイマのカウント値が10フレームを超えたと判断した場合(ステップS32においてYES)、リーダキャラクタの現在の座標と最新の移動可能範囲データの足跡基準座標との距離が所定値以上かどうかを判断する(ステップS34)。なお、最新の移動可能範囲データの足跡基準座標は、メインメモリ15の移動可能範囲データ領域78に含まれている複数の移動可能範囲データのうち、フレーム番号が最も大きいものから取得する。
ステップS32において、プロセッサ13は、足跡タイマのカウント値が10フレームを超えていないと判断した場合(ステップS32においてNO)、または、ステップS34でリーダキャラクタの現在の座標と最新の移動可能範囲データの足跡基準座標との距離が所定値以上でない、すなわち、所定値未満であると判断した場合(ステップS34においてNO)には、新たな移動可能範囲データを設定するための処理を実行することなくリーダキャラクタの移動制御処理を終了する。
一方、ステップS34において、プロセッサ13は、リーダキャラクタの現在の座標と最新の移動可能範囲データの足跡基準座標との距離が所定値以上であると判断した場合(ステップS34においてYES)には、新たな移動可能範囲データを設定するためにリーダキャラクタの現在の座標を新たな足跡基準座標としてフレーム番号とともに記憶する(ステップS36)。例えば、新たな移動可能範囲データを格納する領域を設けてその中に登録するようにすることが可能である。なお、当該新たな足跡基準座標に基づいて後述する移動可能範囲の算出処理における領域範囲の算出が行われる。
次に、プロセッサ13は、足跡タイマをリセット(再カウントを開始)する(ステップS38)。
次に、プロセッサ13は、安定状態フラグをリセットする(ステップS39)。本実施の形態1において安定状態フラグをリセットするとは全てのサブキャラクタに対してそれぞれ初期の状態であるオフ(OFF)に設定することを意味する。すなわち、各サブキャラクタの安定状態フラグがそれぞれオフ(OFF)に設定される。これにより、各サブキャラクタについてリーダキャラクタに追従する移動制御が実行される。
そして、リーダキャラクタの移動制御処理を終了する(リターン)。
図6において、リーダキャラクタの移動制御処理が終了すると、プロセッサ13は、リーダキャラクタの移動が可能な範囲を算出する移動可能範囲算出処理を実行する(ステップS19)。
以下、移動可能範囲算出処理の詳細について説明する。
図8は、本実施の形態1に従う移動可能範囲算出処理の詳細を説明するフロー図である。
図8を参照して、まず、プロセッサ13は、新たな足跡基準座標が有るかどうかを判断する(ステップS70)。具体的には、上記のリーダキャラクタの移動制御処理により新たな足跡基準座標がフレーム番号とともに記憶されたかどうかに基づいて判断することが可能である。
次に、プロセッサ13は、新たな足跡基準座標が有ると判断した場合(ステップS70においてYES)には、新たな足跡基準座標に基づいて水平方向および高さ方向の移動可能な範囲を探索する(ステップS72)。
そして、次にプロセッサ13は、水平方向および高さ方向の探索結果に基づいて移動可能範囲を設定する(ステップS74)。具体的には、新たな移動可能範囲データを格納する領域に、上記により探索された移動が可能な領域範囲と、足跡基準座標とフレーム番号とを対応づけて最新の移動可能範囲データとして登録する。
そして、処理を終了する(リターン)。
一方、プロセッサ13は、新たな足跡基準座標が無いと判断した場合(ステップS70においてNO)には、処理を終了する(リターン)。この場合、例えば、リーダキャラクタが移動せずに、停止しているような場合には移動可能範囲を繰り返し算出する必要が無いからである。
なお、一例として最大10個の移動可能範囲データを移動可能範囲データ領域78に格納可能である場合に、既に移動可能範囲データ領域78に10個の移動可能範囲データが記憶されている場合には、フレーム番号が最も小さい移動可能範囲データを記憶している領域に対して、新しい移動可能範囲データを上書きする。
図9は、本実施の形態1に従う移動可能な範囲を探索する概念を説明する図である。
図9(A)を参照して、本実施の形態1に従う移動可能範囲算出処理の方式について説明する。本例においては、サブキャラクタの移動可能範囲に関して、進行方向(移動方向)に基づいた範囲を算出する。具体的には、リーダキャラクタの位置に従う足跡基準座標を基準にリーダキャラクタの進行方向(移動方向)に対して垂直な水平方向(横方向)および高さ方向(縦方向)においてサブキャラクタの移動可能な範囲を算出する。より詳細には、足跡基準座標を基準に水平方向に関して所定距離の範囲内で障害となる可能性となるオブジェクト(例えば壁等)に接触するかどうかを判断する。なお、壁等の地形オブジェクトに限らず、例えば、障害となる他のオブジェクト(例えば、敵オブジェクト)に接触するかどうかを判断するようにして移動可能な範囲を探索するようにしても良い。また、足跡基準座標を基準に高さ方向に関して所定距離の範囲内で例えば地面となるオブジェクトに接触するかどうかを判断する。なお、地面となる地形オブジェクトに限らず、例えば、他のオブジェクト(例えば、船等のオブジェクト)に接触するかどうかを判断するようにして移動可能な範囲を探索するようにしても良い。
図9(B)を参照して、ここでは、足跡基準座標を基準に進行方向に対して垂直な水平方向(横方向)に関して障害となる壁オブジェクトが配置されている場合が示されている。また、一方で、壁オブジェクトと反対方向側は崖となっている場合が示されている。
まず、水平方向において所定距離の範囲内で障害となるオブジェクトに接触するか否かが判断される。そして、接触しないと判断された範囲内において、次に、高さ方向において移動可能な範囲を算出する。より詳細には、水平方向において移動可能な範囲と規定された範囲において高さ方向(上下方向)において地面となる地形オブジェクトに接触するかどうかを判断する。
この場合、壁側の水平方向において移動可能な範囲と規定された範囲については下方向に地面となるオブジェクトに接触すると判断されるため、高さ方向において移動が可能であると判断される。一例として記号「○」として示されている。
一方で、崖側の水平方向において移動可能な範囲と規定された範囲について、一部については下方向に地面となる地形オブジェクトに接触すると判断されるため、高さ方向において移動が可能であると判断される。一方、崖となっている部分については下方向に地面となるオブジェクトが存在しないため、高さ方向において移動が不可能であると判断される。一例として記号「×」として示されている。
これにより、足跡基準座標を基準に進行方向に対して垂直な水平方向(横方向)および高さ方向において移動可能な範囲を算出することが可能となる。
図9(C)を参照して、ここでは地形に段差が生じている場合の例が示されている。
例えば、リーダキャラクタの移動に関して高さ方向に関して所定幅の移動が許容されているものとする。この場合、探索する水平方向の高さを変化(例えば上方向に変化)させて所定距離の範囲内で障害となるオブジェクトに接触するか否かを判断する。そして、上記で説明したように下方向に地面となるオブジェクトに接触するかどうかを判断する。本例においては、一例として、この場合、高さを変化させた水平方向において移動可能な範囲と規定された範囲については下方向に地面となるオブジェクトに接触すると判断されるため、高さ方向において移動が可能であると判断される。一例として記号「○」として示されている。
これにより、足跡基準座標を基準に進行方向に対して垂直な水平方向(横方向)および高さ方向において移動可能な範囲を算出することが可能である。
なお、当該移動可能な範囲として移動可能な長さ(線)の範囲を設定することも可能であるが、進行方向に対して所定の幅をもたせた領域として移動可能な範囲を算出することも可能である。
そして、当該処理が、上記したように所定フレーム(一例として10フレーム)に一度のタイミングで繰り返し実行されて、図3で説明した複数の移動可能範囲SPを設定することが可能となる。そして、当該複数の移動可能範囲に基づいて安全領域SFが形成される。
図10は、本実施の形態1に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。
図10を参照して、各サブキャラクタに対してそれぞれ当該移動制御処理が実行される。例えば、キャラクタ番号に従って昇順的に処理を実行する。なお、本例においては、一例として昇順的に処理を実行する場合について説明するが特に当該場合に限られず、キャラクタの特性あるいは属性等に応じて順序を規定するようにしても良い。また、ランダムで処理することも可能である。
まず、プロセッサ13は、サブキャラクタの安定状態フラグがオンであるかどうかを判断する(ステップS40)。
ステップS40において、プロセッサ13は、サブキャラクタの安定状態フラグがオンであると判断した場合(ステップS40においてYES)には、移動制御を実行しない。したがって、ステップS66にスキップする。
ステップS66において、プロセッサ13は、全てのサブキャラクタの処理が完了したかどうかを判定する(ステップS66)。ステップS66において、全てのサブキャラクタの処理が完了したと判定した場合(ステップS66においてYES)には、処理を終了する(リターン)。一方、ステップS66において、全てのサブキャラクタの処理が完了していないと判定した場合(ステップS66においてNO)には、ステップS40に戻り、別のサブキャラクタについて同様の処理を繰り返す。すなわち、安定状態フラグがオフであるサブキャラクタに関して移動制御処理を実行する。
ステップS40において、プロセッサ13は、サブキャラクタの安定状態フラグがオンでない、すなわちオフであると判断した場合(ステップS40においてNO)には、次に、移動する際の目標となる移動可能範囲(目標移動可能範囲とも称する)を設定する(ステップS42)。具体的には、すでに到達した最新の移動可能範囲の次の移動可能範囲を目標移動可能範囲に設定する。
次に、プロセッサ13は、目標移動可能範囲内の目標地点を設定する(ステップS44)。当該目標地点は、サブキャラクタが現在の座標から所定距離、移動する際の目標方向を設定するためのものである。
図11は、本実施の形態1に従う目標移動可能範囲内の目標地点の設定を説明する図である。
図11を参照して、本例においては、サブキャラクタが直近に通過した移動可能範囲上の通過位置に基づいて、次の移動可能範囲上の位置に目標を設定する。より具体的には、サブキャラクタが直近に通過した移動可能範囲の足跡基準座標からの通過位置に基づいて目標移動可能範囲内の目標地点を設定する。
一例として、サブキャラクタが移動可能範囲SPn−1に位置する場合について説明する。また、目標移動可能範囲として移動可能範囲SPnが設定されている場合について説明する。
本例においては、一例として移動可能範囲SPn−1の範囲として足跡基準座標Sn−1から水平方向の領域範囲の端までの長さDp、足跡基準座標Sn−1からサブキャラクタまでの水平方向の長さDqである場合について説明する。当該長さDpは、移動可能範囲SPn−1の領域範囲から算出することが可能である。また、長さDqについては、サブキャラクタデータに含まれる到達した最新のフレーム番号に対応する移動可能範囲内の到達した位置座標と、足跡基準座標Sn−1と基づいて算出することが可能である。なお、本例においては、移動可能範囲SPn−1にサブキャラクタが位置するためサブキャラクタの位置座標と、足跡基準座標Sn−1とに基づいて算出することも可能である。
目標移動可能範囲SPnの足跡基準座標Snから水平方向の領域範囲の端までの長さDrとすると、足跡基準座標Snから目標地点までの長さDsは、Dq×Dr/Dpとして算出する。なお、長さDrは、移動可能範囲SPnの領域範囲から算出することが可能である。
すなわち、サブキャラクタが位置する移動可能範囲に関して、足跡基準座標から水平方向の領域範囲の端までの長さに対するサブキャラクタの位置に応じて、目標移動可能範囲の目標地点を設定する。当該方式により、目標移動可能範囲の足跡基準座標から水平方向に長さDsシフトさせた目標地点に設定することが可能である。
本例の如く、目標地点を移動可能範囲内に設定することにより、サブキャラクタの移動経路を安全領域SF内に収めることが可能となる。
なお、本例においては、足跡基準座標を基準に、足跡基準座標から水平方向の領域範囲の端までの長さに対するサブキャラクタの位置に応じて、目標移動可能範囲の目標地点を設定する方式について説明したが、特に当該方式に限られず、例えば、領域範囲の端を基準にした場合のサブキャラクタの位置に応じて、目標移動可能範囲の目標地点を設定しても良く、目標移動可能範囲内であればどこに目標地点を設定しても良い。また、本例においては、目標地点として目標移動可能範囲内に設定する場合について説明するが、安全領域SF内であれば任意に目標地点を設定することが可能である。
再び図10を参照して、次に、プロセッサ13は、目標方向を設定する(ステップS46)。具体的には、目標地点の座標と現在のサブキャラクタの座標に基づいて目標方向を設定する。
次に、プロセッサ13は、所定距離移動させる(ステップS48)。具体的には、現在のサブキャラクタの座標を設定した目標方向へサブキャラクタの移動速度の量に応じた量だけシフトさせる。なお、その際、設定した目標地点に到達するまでサブキャラクタを移動させるようにしても良いし、現在の座標から目標方向へ設定した目標地点を越えて所定距離、移動させるようにしても良い。
次に、プロセッサ13は、移動した場合に他のサブキャラクタと衝突するかどうかを判定する(ステップS50)。ここでいう他のサブキャラクタとは、リーダキャラクタに追従するサブキャラクタとして複数のサブキャラクタが設けられており、移動制御の対象として選択されているサブキャラクタとは異なるサブキャラクタのことを意味する。なお、当該他のサブキャラクタは全てのサブキャラクタのうち移動制御の処理が終了したサブキャラクタであっても良いし、終了していないサブキャラクタであっても良い。
ステップS50において、プロセッサ13は、他のサブキャラクタと衝突してしまうと判定した場合(ステップS50においてYES)には、衝突する手前の位置まで当該サブキャラクタを移動させる(ステップS52)。
次に、プロセッサ13は、他のサブキャラクタの安定状態フラグがオンであるかどうかを判定する(ステップS54)。本例においては、上述したように安定状態フラグがオンである他のサブキャラクタと衝突した場合には当該衝突したサブキャラクタの安定状態フラグをオンに設定して、当該サブキャラクタの移動制御を終了させる。したがって、他のサブキャラクタの安定状態フラグがオンかどうかを判定する。
ステップS54において、プロセッサ13は、他のサブキャラクタの安定状態フラグがオンであると判定した場合(ステップS54においてYES)には、当該サブキャラクタの安定状態フラグをオンに設定する(ステップS56)。具体的には、サブキャラクタデータ76のうち当該サブキャラクタの安定状態フラグをオフからオンに変化させる。これにより移動制御の対象となっている当該サブキャラクタは移動を停止する。そして、ステップS58に進む。
一方、ステップS54において、プロセッサ13は、他のサブキャラクタの安定状態フラグがオンでないと判定した場合(ステップS54においてNO)には、ステップS56をスキップしてステップS58に進む。
また、ステップS50において、プロセッサ13は、他のサブキャラクタと衝突しないと判定した場合(ステップS50においてNO)には、目標となる移動可能範囲に到達したかどうかを判定する(ステップS58)。なお、目標となる移動可能範囲に到達した場合とは、サブキャラクタが移動して目標となる移動可能範囲内の目標地点に移動した場合のみならず、当該目標となる移動可能範囲の目標地点を通過してさらに移動した場合も含む。
ステップS58において、プロセッサ13は、目標移動可能範囲に到達したと判定した場合(ステップS58においてYES)には、フレーム番号と、目標移動可能範囲内の到達した位置座標を記憶する(ステップS60)。具体的には、対応するサブキャラクタデータ76に含まれるすでに到達した移動可能範囲のうち最新のフレーム番号と、到達した位置座標を更新する。当該情報は、上記した目標地点の設定に用いられる。
そして、次に、プロセッサ13は、最終の目標移動可能範囲に到達したかどうかを判定する(ステップS62)。具体的には、移動可能範囲データ領域78に格納されている最新の移動可能範囲に到達したかどうかで判断することが可能である。なお、最終の目標移動可能範囲は、リーダキャラクタが現在位置する最新の移動可能範囲に限られず、最新の1つ前の移動可能範囲等に設定することも可能である。これによりリーダキャラクタとサブキャラクタの群とを切り分けてリーダキャラクタを移動制御し易くすることが可能である。
ステップS62において、プロセッサ13は、最終の目標移動可能範囲に到達したと判定した場合(ステップS62においてYES)には、当該サブキャラクタの安定状態フラグをオンに設定する(ステップS64)。そして、ステップS66に進む。
一方、ステップS62において、プロセッサ13は、最終の目標移動可能範囲に到達していないと判定した場合(ステップS62においてNO)には、ステップS64をスキップして、ステップS66に進む。
また、ステップS58において、プロセッサ13は、目標移動可能範囲に到達していないと判定した場合(ステップS58においてNO)には、ステップS66に進む。
そして、次に、プロセッサ13は、全てのサブキャラクタの処理が完了したかどうかを判定する(ステップS66)。
ステップS66において、全てのサブキャラクタの処理が完了したと判定した場合(ステップS66においてYES)には、処理を終了する(リターン)。
一方、ステップS66において、全てのサブキャラクタの処理が完了していないと判定した場合(ステップS66においてNO)には、ステップS40に戻り、別のサブキャラクタについて同様の処理を繰り返す。
本実施の形態1に従うサブキャラクタの移動制御処理においては、目標移動可能範囲内に目標地点を設定して目標方向を定めてリーダキャラクタの移動に従ってサブキャラクタを移動させる。
すなわち、複数の移動可能範囲SPに基づいて生成される安全領域SF内に移動の目標となる地点を設定して目標方向を定めてサブキャラクタを移動制御することにより壁等の障害物に衝突したり、崖から落ちたりすること無く安全にサブキャラクタを移動させることが可能となる。
また、サブキャラクタは、予め探索された移動可能範囲により生成された安全領域SF内でサブキャラクタを移動制御させるため、障害物に阻まれて移動できなくなる等が無い。すなわち、障害物に阻まれる前に障害物を回避することが可能となるため、障害物に阻まれて回避する移動制御よりも自然な移動制御を実現することが可能となる。
さらに、本実施の形態1における移動可能範囲は、リーダキャラクタの位置を基準として周辺を探索して設定されるものであり、サブキャラクタ毎に移動可能範囲を探索する必要はなく、処理負荷の軽いサブキャラクタの移動制御を実行することが可能である。
(実施の形態2)
上記の実施の形態1においては、目標移動可能範囲として、蓄積された順番に従って目標移動可能範囲を設定してサブキャラクタがリーダキャラクタに従って移動する場合について説明したが、本実施形態2では、サブキャラクタを最終の目標移動可能範囲に可能な限り早く到達させる方式について説明する。具体的には、到達した移動可能範囲に対して近い移動可能範囲を次の移動目標となる目標移動可能範囲に変更する。
図12は、本実施の形態2に従う目標移動可能範囲の変更について説明する図である。
図12を参照して、サブキャラクタが移動可能範囲SPn−3に到達した場合に、次の移動目標として順番に移動可能範囲SPn−2を設定するのではなく、移動可能範囲SPn−2よりも近い距離であり、かつ新しい移動可能範囲、すなわち移動可能範囲SPn−1を次の移動目標として設定する。このようなショートカットによって、蓄積された順番に従って移動可能範囲を目標とする場合に比べて、最終の目標移動可能範囲に早く到達することが可能である。
図13は、本実施の形態2に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。
図13を参照して、図10のサブキャラクタの移動制御処理と比較して、ステップS80〜S82の処理を追加した点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。
ステップS42において、プロセッサ13は、目標移動可能範囲を設定した後に、設定した目標移動可能範囲と異なる他の移動可能範囲が有るかどうかを判断する(ステップS80)。具体的には、設定した目標移動可能範囲と、サブキャラクタが到達した移動可能範囲で形成される安全領域SF内に、目標移動可能範囲と異なる移動可能範囲の少なくとも一部が含まれるかどうかを判断する。当該安全領域SFと領域範囲の少なくとも一部が重なる移動可能範囲が存在するかどうかを判断する。
ステップS80において、プロセッサ13は、設定した目標移動可能範囲と異なる他の移動可能範囲が有ると判定した場合(ステップS80においてYES)には、当該他の移動可能範囲が、設定した移動可能範囲よりも新しい移動可能範囲であるかどうかを判断する(ステップS81)。すなわち、次の移動目標となる移動可能範囲よりも近い距離であり、かつ新しい移動可能範囲があるかどうかを判断する。
ステップS81において、プロセッサ13は、当該他の移動可能範囲が、設定した移動可能範囲よりも新しい移動可能範囲であると判断した場合(ステップS81においてYES)には、目標移動可能範囲を変更する(ステップS82)。具体的には、当該他の移動可能範囲を目標移動可能範囲に変更する。なお、設定した目標移動可能範囲と異なる他の移動可能範囲が複数個有る場合には、当該処理を複数回繰り返すものとする。
そして、プロセッサ13は、当該変更された目標移動可能範囲内の目標地点を設定する(ステップS44)。
一方、ステップS81において、プロセッサ13は、他の移動可能範囲が、設定した移動可能範囲よりも新しい移動可能範囲でないと判断した場合、すなわち古い移動可能範囲であると判断した場合(ステップS81においてNO)には、ステップS82をスキップしてそのままステップS44に進む。なお、設定した目標移動可能範囲と異なる他の移動可能範囲が複数個有る場合には、当該処理を複数回繰り返すものとする。
また、ステップS80において、プロセッサ13は、設定した目標移動可能範囲と異なる他の移動可能範囲が無いと判断した場合(ステップS80においてNO)には、ステップS44に進む。
以降の処理は、図10で説明したのと同様であるのでその詳細な説明については繰り返さない。
図12で説明した例の場合には、サブキャラクタが移動可能範囲SPn−3に到達した場合に、次の移動目標として順番に移動可能範囲SPn−2に設定される。そして、目標移動可能範囲SPn−3と移動可能範囲SPn−2で形成される安全領域SF内に移動可能範囲SPn−1があると判断される。そして、移動可能範囲SPn−1は、目標移動可能範囲SPn−2よりも新しいため移動可能範囲SPn−3から移動可能範囲SPn−1に目標移動可能範囲が変更される。そして、移動可能範囲SPn−1内の目標地点が設定されて、サブキャラクタの移動制御が行われる。このようなショートカットによって、蓄積された順番に従って移動可能範囲を目標とする場合に比べて、最終の目標移動可能範囲に早く到達することが可能となり、より自然な移動制御が可能となる。
(実施の形態3)
上記の実施の形態においては、一例としてサブキャラクタの移動に関して、リーダキャラクタと同様に移動する場合について説明した。一方で、ゲーム処理においては、リーダキャラクタとサブキャラクタとの移動に関する特性が異なり、移動可能な範囲が異なる場合もある。
図14は、実施の形態3に従うリーダキャラクタおよびサブキャラクタの移動を説明する概念図である。
図14を参照して、本例においては、リーダキャラクタに関して、地形オブジェクトの属性情報が水の領域を移動している場合が示されている。
一方で、サブキャラクタは、水中に入る手前に位置している場合が示されている。本例においては、リーダキャラクタは、地形オブジェクトの属性が水の領域を移動可能であるのに対して、サブキャラクタは地形オブジェクトの属性が水の領域を移動できない場合について説明する。具体的には、サブキャラクタデータの移動に関する特性に関して、水中を移動不可能な場合を規定する情報が含まれているものとする。
図15は、本実施の形態3に従う移動可能範囲算出処理の詳細を説明するフロー図である。
図15を参照して、図8の移動可能範囲算出処理のフローと比較して、ステップS73を追加した点が異なる。
具体的には、プロセッサ13は、水平方向および高さ方向の移動可能な範囲を探索(ステップS72)した後、地形属性情報を取得する(ステップS73)。具体的には、探索した移動可能範囲に関して、フィールド情報に基づいて地形オブジェクトの領域の属性情報を取得する。具体的には、地形オブジェクトに関連付けられた属性情報を取得する。例えば、図14の例においては移動可能範囲SPnに対応する地形オブジェクトの属性情報として水を取得する。
そして、プロセッサ13は、移動可能範囲を設定する(ステップS74)。具体的には、上記したように新たな移動可能範囲データを格納する領域に、上記により探索された移動が可能な領域範囲と、足跡基準座標とフレーム番号とを対応づけるとともに、取得した地形オブジェクトの属性情報を含めた最新の移動可能範囲データとして登録する。
そして、処理を終了する(リターン)。
図16は、本実施の形態3に従うサブキャラクタの移動制御処理の詳細を説明するフロー図である。
図16を参照して、図10のサブキャラクタの移動制御処理と比較して、ステップS86を追加した点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。
ステップS42において、目標移動可能範囲を設定した後、次に、プロセッサ13は、移動可能属性であるかどうかを判断する(ステップS86)。具体的には、目標移動可能範囲に関連付けて設定されている地形オブジェクトの属性情報を取得して、当該地形オブジェクトに関してサブキャラクタが移動可能か否かを判断する。本例においては、サブキャラクタデータの特性に基づいて当該地形オブジェクトを移動可能か否かを判断する。例えば、地形オブジェクトの属性情報が水であり、サブキャラクタデータの特性が水中を移動不可能な場合を規定する情報が含まれている場合には、移動可能属性でないと判定する。一方、移動可能である場合には移動可能属性であると判定する。
ステップS86において、移動可能属性であると判定した場合(ステップS86においてYES)には、目標移動可能範囲内の目標地点を設定する(ステップS44)。以降の処理は、図10で説明したのと同様であるのでその詳細な説明については繰り返さない。
一方、ステップS86において、移動可能属性でないと判定した場合(ステップS86においてNO)には、ステップS66に進む。すなわち、当該サブキャラクタに関する移動処理は実行しない。
当該処理により、リーダキャラクタとサブキャラクタとの移動に関する特性が異なる場合に移動制御を変更することが可能である。
なお、本例においては、サブキャラクタは、例えば、地形オブジェクトの属性情報が水である領域に入る手前で停止する場合について説明したが、例えば、停止するのではなく、目標移動可能範囲に関連付けて設定されている地形オブジェクトの属性情報が移動できない属性である場合には、ジャンプ等の特殊な移動制御処理を実行するようにすることも可能である。
当該処理により、リーダキャラクタとサブキャラクタとの移動に関する特性が異なる場合に、サブキャラクタの移動に関する特性に合わせた自然な移動制御を実現することが可能である。
(実施の形態3の変形例)
別の変形例として、移動に関する特性が異なる別の例として、リーダキャラクタは歩行して移動するのに対して、サブキャラクタはゲーム空間上において空中を飛行して移動する場合が挙げられる。
図17は、実施の形態3の変形例に従うリーダキャラクタとサブキャラクタとの移動の特性が異なる場合を説明する図である。
図17を参照して、図2のキャラクタと比較して、本例においては、サブキャラクタAと、サブキャラクタBとが隊列を組んでいる場合が示されている。
ここで、サブキャラクタAは、通常のサブキャラクタでありリーダキャラクタと同様に歩行して移動するのに対して、サブキャラクタBは、特殊なサブキャラクタでありリーダキャラクタおよびサブキャラクタAと異なり空中を飛行して移動するものとする。
すなわち、サブキャラクタBの移動に関する特性として空中を移動する場合を規定する情報が含まれているものとする。
当該特殊なサブキャラクタは、移動可能範囲を通常のサブキャラクタであるサブキャラクタAと異なる範囲に設定することが可能である。すなわち、サブキャラクタの特性に基づいて移動可能範囲を可変に設定する。
図18は、本実施の形態3の変形例に従うメインメモリ15のメモリマップを説明する図である。
図18を参照して、図5のメインメモリと比較して、移動可能範囲データ領域78を第1移動可能範囲データ領域79に置換するとともに、第2移動可能範囲データ領域81をさらに追加した点が異なる。
第1移動可能範囲データ領域79は、図5で説明したのと同様に、通常のサブキャラクタであるサブキャラクタAに関して移動可能な範囲を探索した結果である移動可能範囲データ80が格納される。第1移動可能範囲データ領域79の移動可能範囲を第1移動可能範囲とも称する。
第2移動可能範囲データ領域81は、本例においては、通常のサブキャラクタとは異なるサブキャラクタBに関して移動可能な範囲を探索した結果である移動可能範囲データ82が格納される。また、第2移動可能範囲データ領域81の移動可能範囲を第2移動可能範囲とも称する。
各移動可能範囲データには、足跡基準座標と、領域範囲と、フレーム番号とが含まれる。
図19は、本実施の形態3の変形例に従う移動可能範囲算出処理の詳細を説明するフロー図である。
図19を参照して、図8の移動可能範囲算出処理のフローと比較して、ステップS75〜ステップS77の処理をさらに追加した点が異なる。
具体的には、ステップS74において、プロセッサ13は、水平方向および高さ方向の探索結果に基づいて第1移動可能範囲を設定する。すなわち、第1移動可能範囲データ領域79に第1移動可能範囲に関する情報を登録する。当該第1移動可能範囲は、サブキャラクタAの移動が可能な範囲に相当する。
次に、プロセッサ13は、特殊なサブキャラクタがいるかどうかを判定する(ステップS75)。本例においては、サブキャラクタBが特殊なサブキャラクタに相当する。
ステップS75において、特殊なサブキャラクタがいると判定した場合(ステップS75においてYES)には、新たな足跡基準座標に基づいて特殊なサブキャラクタに従う水平方向および高さ方向の移動可能な範囲を探索する(ステップS76)。具体的には、図9で説明したのと同様の探索処理を実行する。例えば、特殊なサブキャラクタがサブキャラクタBの場合には、高さ方向については探索せずに水平方向のみを探索するようにしても良い。例えば、上記図9(B)の場合に通常のサブキャラクタAについては、崖となっている部分については下方向に地面となるオブジェクトが存在しないため高さ方向において移動が不可能であると判断される。
一方で、特殊なサブキャラクタであるサブキャラクタBについては、移動の特性に関して空中を飛行して移動するため一例として高さ方向を探索せずに水平方向のみを探索する。
当該場合には、崖となっている部分についても移動可能すなわち記号「○」とすることが可能である。あるいは、高さ方向として下方向を探索するのではなく上方向を探索して障害物等と衝突しないか探索するようにしても良い。
そして、次にプロセッサ13は、水平方向および高さ方向の探索結果に基づいて第2移動可能範囲を設定する(ステップS77)。すなわち、第2移動可能範囲データ領域81に第2移動可能範囲に関する情報を登録する。当該第2移動可能範囲データ領域は、サブキャラクタBの移動が可能な範囲に相当する。
そして、処理を終了する(リターン)。
一方、特殊なサブキャラクタがいないと判定した場合(ステップS75においてNO)には、そのまま処理を終了する(リターン)。この場合、特殊なサブキャラクタがいないために再度、当該サブキャラクタの移動可能な範囲を算出する必要が無いからである。
そして、サブキャラクタの移動制御処理に関しては、図10で説明したのと同様である。具体的には、サブキャラクタAについては、第1移動可能範囲データ領域79に格納されている第1移動可能範囲を目標移動可能範囲に設定し、当該目標移動可能範囲内に目標地点を設定して上記と同様の移動制御を実行する。そして、特殊なサブキャラクタすなわちサブキャラクタBについては、第2移動可能範囲データ領域81に格納されている第2移動可能範囲を目標移動可能範囲に設定し、当該目標移動可能範囲内に目標地点を設定して上記と同様の移動制御を実行する。
当該処理により、特殊なサブキャラクタについては移動可能範囲を通常のサブキャラクタと異なる範囲に設定し、当該範囲に基づくサブキャラクタの移動制御処理を実行することが可能であり、サブキャラクタの種別に応じた、すなわち移動の特性に合わせた自然な移動制御を実現することが可能である。
なお、本例においては、移動に関する特性が異なる例として空中を飛行して移動するサブキャラクタについて説明したが、特に当該特性に限定されるものではなく他の特性を有する場合においても同様に適用可能である。例えば、所定の領域(たとえば沼地や火があるような場所等)に対してリーダキャラクタは移動可能ではないが、サブキャラクタは移動可能であるような特性を有している場合に、上記と同様の処理により当該サブキャラクタの移動可能な範囲を算出して移動制御を実行するようにしてもよい。
[その他の実施の形態]
上記の実施の形態においては、目標移動可能範囲内の目標地点を設定してサブキャラクタを移動制御する方式について説明したが、リーダキャラクタの座標に基づいた移動目標座標を設定してサブキャラクタを移動制御することも可能である。
図20は、サブキャラクタの移動目標座標の別の設定方式を説明する図である。
図20を参照して、ここでは、リーダキャラクタの位置に対して15個のスロットが設けられる場合が示されている。スロットの個数はサブキャラクタの数に従って増減される。
そして、スロットの位置は、リーダキャラクタの位置座標に従って相対的に規定されているものとする。また、各スロットの番号は、例えば、サブキャラクタのそれぞれの番号と対応付けられているものとする。例えば、サブキャラクタ1番は、スロット1に対応付けられているものとする。サブキャラクタ2番は、スロット2に対応付けられているものとする。同様の方式に従ってサブキャラクタとスロットが対応付けられているものとする。
そして、目標地点の設定においては、目標となる目標移動可能範囲の足跡基準座標に従ってスロットを配置して、配置した対応するスロットを目標地点に設定する。そして、各サブキャラクタは、設定された目標地点を目指して移動制御するようにしても良い。その他の点については同様である。
なお、本実施形態では、ゲーム空間が3次元の仮想空間であるとしたが、本発明はこれに限らず、ゲーム空間が2次元であってもよい。
また、本実施形態では、ゲームプログラムが内部記憶装置14に保存されている場合について説明したが、任意の記録媒体から内部記憶装置14に供給されてもよいし、無線通信装置16あるいは有線の通信回線を通じて内部記憶装置14に供給されてもよい。さらには、ゲームプログラムの機能をハードウェアのみで実現しても構わない。
なお、本例においては、ゲーム装置の各部の構成が一体となった構成について説明したが、特に一体であることに限られず、一部が別に設けられる構成としても良い。例えば、入力装置、あるいは、表示装置が別体として形成された情報処理システムとして実現することも当然に可能である。
また、本実施の形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施の形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。実施の形態およびその変形例において開示された技術は、可能な限り単独でも組み合わせても実施され得ることが意図される。
10 ゲーム装置、11 入力装置、12 表示装置、13 プロセッサ、14 内部記憶装置、15 メインメモリ、16 無線通信装置、70 マップ情報データ領域、72 リーダキャラクタデータ領域、74 サブキャラクタデータ領域、76 サブキャラクタデータ、78 移動可能範囲データ領域、79 第1移動可能範囲データ領域、80,82 移動可能範囲データ、81 第2移動可能範囲データ領域。

Claims (19)

  1. 情報処理装置のコンピュータにおいて、仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが前記第1オブジェクトの移動に従って移動する情報処理を実行する情報処理プログラムであって、
    前記情報処理プログラムは、前記コンピュータを、
    入力を受け付ける入力受付手段と、
    前記入力受付手段による入力に基づき前記第1オブジェクトを前記仮想空間内において移動制御する第1オブジェクト移動制御手段と、
    前記第1オブジェクト移動制御手段によって移動された前記第1オブジェクトの位置に基づいて、移動方向に対して垂直な水平方向に関して所定距離の範囲内で前記仮想空間内において前記第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、
    算出された複数の移動可能範囲を連結することにより安全領域を設定する安全領域設定手段と、
    前記安全領域設定手段により設定された安全領域に基づいて前記第2オブジェクトを移動制御する第2オブジェクト移動制御手段として機能させる、情報処理プログラム。
  2. 前記範囲算出手段は、繰り返し前記移動可能範囲を算出する、請求項記載の情報処理プログラム。
  3. 前記移動可能範囲は、前記第1オブジェクトの移動方向に基づいた範囲である、請求項1または2に記載の情報処理プログラム。
  4. 前記第2オブジェクト移動制御手段は、前記移動可能範囲を移動する目標として前記第2オブジェクトを移動制御する、請求項1〜3のいずれかに記載の情報処理プログラム。
  5. 前記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲を移動する目標として前記第2オブジェクトを移動制御する、請求項2に記載の情報処理プログラム。
  6. 前記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲のうち時系列に沿って次の移動可能範囲を移動する目標に設定して前記第2オブジェクトを移動制御する、請求項5記載の情報処理プログラム。
  7. 前記第2オブジェクト移動制御手段は、算出された新しい移動可能範囲のうち、時系列に沿った次の移動可能範囲よりも近い移動可能範囲を移動する目標として前記第2オブジェクトを移動制御する、請求項5記載の情報処理プログラム。
  8. 前記第2オブジェクト移動制御手段は、直近に通過した移動可能範囲上の通過位置に基づいて、前記次の移動可能範囲上の位置に目標を設定して前記第2オブジェクトを移動制御する、請求項6または7に記載の情報処理プログラム。
  9. 前記第2オブジェクト移動制御手段は、直近に通過した移動可能範囲上の所定位置を基準とした通過位置に基づいて、前記次の移動可能範囲上の前記所定位置を基準とした位置に目標を設定して前記第2オブジェクトを移動制御する、請求項8に記載の情報処理プログラム。
  10. 前記第2オブジェクト移動制御手段は、前記第1オブジェクトの位置に基づいた移動目標座標を設定して前記第2オブジェクトを移動制御する、請求項1〜9のいずれかに記載の情報処理プログラム。
  11. 前記移動可能範囲は、前記第1オブジェクトの位置を含む範囲である、請求項1〜10のいずれかに記載の情報処理プログラム。
  12. 前記移動可能範囲は、前記仮想空間内において前記第2オブジェクトの移動が可能な範囲に基づいて大きさが可変である、請求項1〜11のいずれかに記載の情報処理プログラム。
  13. 前記仮想空間内において前記第2オブジェクトの移動が可能な領域と、移動が不可能な領域とを規定するための領域情報が設けられ、
    前記範囲算出手段は前記領域情報を参照して、前記第2オブジェクトの移動可能範囲を算出する、請求項1〜12のいずれかに記載の情報処理プログラム。
  14. 前記領域情報は、前記仮想空間内の位置および高さに従って規定され、
    前記範囲算出手段は前記領域情報を参照して、前記仮想空間内における前記第1オブジェクトの位置および高さに基づいて前記第2オブジェクトの移動可能範囲を算出する、請求項13記載の情報処理プログラム。
  15. 前記仮想空間内において、領域の属性が設定され、
    前記第2オブジェクト移動制御手段は、前記領域の属性に基づいて前記第2オブジェクトを移動制御する、請求項1〜14のいずれかに記載の情報処理プログラム。
  16. 前記第2オブジェクトには、移動する方式に関する移動属性が設定され、
    前記範囲算出手段は、
    前記移動属性にも基づいて、前記移動可能範囲を算出する、請求項1〜15のいずれかに記載の情報処理プログラム。
  17. 仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが前記第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置の制御方法であって、
    入力を受け付けるステップと、
    入力に基づき前記第1オブジェクトを前記仮想空間内において移動制御するステップと、
    移動された前記第1オブジェクトの位置に基づいて、移動方向に対して垂直な水平方向に関して所定距離の範囲内で前記仮想空間内において前記第2オブジェクトが移動することが可能な移動可能範囲を算出するステップと、
    算出された複数の移動可能範囲を連結することにより安全領域を設定するステップと、
    設定された安全領域に基づいて前記第2オブジェクトを移動制御するステップとを備える、情報処理装置の制御方法
  18. 仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが前記第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置であって、
    入力を受け付ける入力受付手段と、
    前記入力受付手段による入力に基づき前記第1オブジェクトを前記仮想空間内において移動制御する第1オブジェクト移動制御手段と、
    前記第1オブジェクト移動制御手段によって移動された前記第1オブジェクトの位置に基づいて、移動方向に対して垂直な水平方向に関して所定距離の範囲内で前記仮想空間内において前記第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、
    算出された複数の移動可能範囲を連結することにより安全領域を設定する安全領域設定手段と、
    前記安全領域設定手段により設定された安全領域に基づいて前記第2オブジェクトを移動制御する第2オブジェクト移動制御手段とを備える、情報処理装置
  19. 仮想空間内において第1オブジェクトが移動するとともに、少なくとも1つの第2オブジェクトが前記第1オブジェクトの移動に従って移動する情報処理を実行する情報処理装置を有する情報処理システムであって、
    入力を受け付ける入力受付手段と、
    前記入力受付手段による入力に基づき前記第1オブジェクトを前記仮想空間内において移動制御する第1オブジェクト移動制御手段と、
    前記第1オブジェクト移動制御手段によって移動された前記第1オブジェクトの位置に基づいて、移動方向に対して垂直な水平方向に関して所定距離の範囲内で前記仮想空間内において前記第2オブジェクトが移動することが可能な移動可能範囲を算出する範囲算出手段と、
    算出された複数の移動可能範囲を連結することにより安全領域を設定する安全領域設定手段と、
    前記安全領域設定手段により設定された安全領域に基づいて前記第2オブジェクトを移動制御する第2オブジェクト移動制御手段とを備える、情報処理システム
JP2013117938A 2013-06-04 2013-06-04 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム Active JP6192366B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013117938A JP6192366B2 (ja) 2013-06-04 2013-06-04 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム
US14/027,737 US9295909B2 (en) 2013-06-04 2013-09-16 Non-transitory storage medium encoded with information processing program capable of performing natural movement control of character moving in accordance with another character, information processing apparatus, method of controlling information processing apparatus, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013117938A JP6192366B2 (ja) 2013-06-04 2013-06-04 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム

Publications (2)

Publication Number Publication Date
JP2014233536A JP2014233536A (ja) 2014-12-15
JP6192366B2 true JP6192366B2 (ja) 2017-09-06

Family

ID=51985715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013117938A Active JP6192366B2 (ja) 2013-06-04 2013-06-04 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム

Country Status (2)

Country Link
US (1) US9295909B2 (ja)
JP (1) JP6192366B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739840B1 (ko) * 2015-06-10 2017-05-25 (주)엔도어즈 게임 서비스 제공 장치 및 그 제어 방법
JP7170397B2 (ja) * 2018-01-09 2022-11-14 株式会社コーエーテクモゲームス プログラム、画像処理方法、及び画像処理装置
CN108245888A (zh) * 2018-02-09 2018-07-06 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置及计算机设备
JP6703067B2 (ja) * 2018-09-27 2020-06-03 株式会社スクウェア・エニックス ゲームプログラム及びゲームシステム
CN110193198B (zh) * 2019-05-23 2023-02-10 腾讯科技(深圳)有限公司 对象跳跃控制方法、装置、计算机设备及存储介质
JP7080524B1 (ja) 2021-06-18 2022-06-06 株式会社コナミデジタルエンタテインメント コンピュータプログラム、それに用いるゲームシステム、及び制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272156A (ja) * 1998-03-25 1999-10-08 Sega Enterp Ltd 仮想三次元音像生成装置及びその方法並びに媒体
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
JP2005342360A (ja) * 2004-06-07 2005-12-15 Hitachi Ltd 集団キャラクタ移動制御方法,記録媒体,シミュレーション装置及びゲーム装置
US7963833B2 (en) * 2004-10-15 2011-06-21 Microsoft Corporation Games with targeting features
US8308563B2 (en) * 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
JP4771821B2 (ja) * 2006-02-02 2011-09-14 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
JP4151982B2 (ja) * 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
JP4125760B2 (ja) * 2006-03-15 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP5714226B2 (ja) * 2006-05-09 2015-05-07 ディズニー エンタープライゼス インコーポレイテッド インタラクティブなアニメーションの制御方法、記憶媒体、および制御システム
JP5350660B2 (ja) * 2008-03-27 2013-11-27 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP5265232B2 (ja) * 2008-04-03 2013-08-14 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、およびゲーム装置
CN102160086B (zh) * 2008-07-22 2016-04-27 黎明游戏有限责任公司 用于仿真中的物理交互的系统和方法
JP5614956B2 (ja) * 2009-08-11 2014-10-29 株式会社バンダイナムコゲームス プログラム、画像生成システム
JP5651324B2 (ja) * 2009-11-11 2015-01-07 任天堂株式会社 ゲームプログラム、ゲーム装置およびゲーム制御方法
US8777746B2 (en) * 2011-09-23 2014-07-15 2343127 Ontario Inc. Gestures to encapsulate intent
US20140342808A1 (en) * 2013-03-18 2014-11-20 2343127 Ontario Inc. System and Method of Using PCs as NPCs
US20150190719A1 (en) * 2014-01-09 2015-07-09 2343127 Ontario Inc. Systems and Methods of Crowd Sourced Virtual Character Evolution

Also Published As

Publication number Publication date
US20140357359A1 (en) 2014-12-04
JP2014233536A (ja) 2014-12-15
US9295909B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
JP6192366B2 (ja) 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム
US8257173B2 (en) System and method for driving artificial intelligence (AI) characters having continuous reevaluation of current goals and navigation path
JP6114460B1 (ja) ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置
US10625165B2 (en) Computer-readable storage medium and game device
US20220410012A1 (en) Program, electronic device, method, and system
JP7349517B2 (ja) ゲームを提供するためのプログラム、システム、及び方法
JP2020014531A (ja) プログラム、電子装置、方法、及びシステム
JP2022186919A (ja) プログラム、ゲーム装置及びゲーム制御方法
JP7341801B2 (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
JP2019187624A (ja) プログラム、電子装置、方法、及びシステム
JP5977878B1 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP4508776B2 (ja) 画像処理プログラムおよび画像処理装置
JP4472467B2 (ja) 画像処理プログラムおよび画像処理装置
KR101570681B1 (ko) 부대 발사를 이용한 전투 게임 시스템 및 방법
JP7437440B2 (ja) プログラム、電子装置、方法、及びシステム
JP2018089329A (ja) ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置
JP6577518B2 (ja) ゲームプログラム、ゲーム装置およびサーバ装置
JP5328841B2 (ja) プログラム、情報記憶媒体、情報処理システム及び情報処理方法
KR20170004658A (ko) 부대 발사를 이용한 전투 게임 시스템 및 방법
KR101650015B1 (ko) 3d 알까기 게임 방법
JP2022011314A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2022056655A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP4804224B2 (ja) シューティングゲーム処理方法、その装置、そのプログラム及びその記録媒体
WO2018228888A1 (en) Method for controlling movement of a virtual object
JP2019188143A (ja) プログラム、電子装置、方法、及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170524

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: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170808

R150 Certificate of patent or registration of utility model

Ref document number: 6192366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250