JP5614956B2 - プログラム、画像生成システム - Google Patents

プログラム、画像生成システム Download PDF

Info

Publication number
JP5614956B2
JP5614956B2 JP2009186828A JP2009186828A JP5614956B2 JP 5614956 B2 JP5614956 B2 JP 5614956B2 JP 2009186828 A JP2009186828 A JP 2009186828A JP 2009186828 A JP2009186828 A JP 2009186828A JP 5614956 B2 JP5614956 B2 JP 5614956B2
Authority
JP
Japan
Prior art keywords
moving body
player
follow
target moving
movement
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
JP2009186828A
Other languages
English (en)
Other versions
JP2011036432A (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.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2009186828A priority Critical patent/JP5614956B2/ja
Priority to US12/851,845 priority patent/US8574071B2/en
Priority to EP10172416.9A priority patent/EP2368612A3/en
Publication of JP2011036432A publication Critical patent/JP2011036432A/ja
Application granted granted Critical
Publication of JP5614956B2 publication Critical patent/JP5614956B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
従来から、プレーヤが入力操作を行いオブジェクト空間における機体(自機)を移動させて、敵の機体(敵機)を射撃するフライトシューティングゲームが人気が高い。
このようなフライトシューティングゲームでは、遠方に飛行する豆粒大の敵をミサイル等で攻撃するのが主であり、高速に動き回る敵機に近接して移動しながら砲撃する近接戦闘を行うものはなかった。また仮に近接戦闘が可能であるとしても高速に動き回る敵に近接して移動するのは、高度なテクニックが必要であるため、初心者等や操作に不慣れなプレーヤは実質上近接戦闘を行うことは困難であった。
特許第3470882号
上記文献では、距離に基づいて追従を行う構成が開示されている。しかしこの手法によれば常に一定距離を保って追従することになり、多様な追従表現を行うのは困難である。またターゲット移動体が様々な移動形態をとる場合や、周辺に障害物がある場合等一定距離を保って追従させるための制御が複雑となり、処理負荷も増大する。
本発明は、かかる課題に鑑みたものである。本発明の幾つかの態様によれば、簡単な制御で、仮想3次元空間において移動体を他の移動体に追従させる多様な追従表現を実現することができる。
(1)本発明は、
画像を生成するためのプログラムであって、
入力情報に基づいて、プレーヤ移動体に仮想3次元空間を移動させる移動制御を行う移動制御部と、
前記仮想三次元空間を所与の視点から見た画像を生成する画像生成部と、してコンピュータを機能させ、
前記移動制御部は、
ターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体に前記ターゲット移動体を追従させる追従制御を行う追従制御部を含むプログラムに関する。
また本発明は上記各部を含む画像生成システムに関する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関する。
本発明によれば、仮想3次元空間において、簡単な制御で移動体を他の移動体に追従させることができる。
(2)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
所与の遅延時間だけ過去の前記ターゲット移動体の移動体情報に基づき前記追従制御を行うように構成され、前記入力情報又はゲームパラメータが所定の遅延変更条件を満たした場合に、前記遅延時間を変更してもよい。
(3)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記ターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体が前記ターゲット移動体の過去の通過位置又はその近傍位置を通るように前記プレーヤ移動体の移動を制御してもよい。
(4)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記ターゲット移動体の過去の移動情報を入力情報に基づき補正して、補正後の移動情報に基づき前記プレーヤ移動体の移動を制御してもよい。
(5)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記ターゲット移動体の移動情報に基づき、前記ターゲット移動体の直近の移動軌跡に対応した移動可能範囲をリアルタイムに設定し、前記プレーヤ移動体に移動可能範囲を移動させる制御を行ってもよい。
(6)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記ターゲット移動体の過去の移動情報と前記プレーヤ移動体の現在の移動情報を所定の比率で合成して、合成した移動情報に基づいてプレーヤ移動体の移動を制御してもよい。
(7)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記入力情報又はゲームパラメータが所定の比率変更条件を満たした場合に、前記合成の前記比率を変更してもよい。
(8)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記プレーヤ移動体と前記ターゲット移動体の位置関係が所定の比率変更条件を満たす期間が所定期間継続した場合に前記合成の前記比率を変更してもよい。
(9)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記プレーヤ移動体と前記ターゲット移動体を所定の平面に投影して、プレーヤ移動体とターゲット移動体の位置関係が前記所定の条件を満たすか否か判定してもよい。
(10)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記プレーヤ移動体と前記ターゲット移動体の距離及び前記プレーヤ移動体の位置及び追従制御指示入力の有無及び所定のゲーム状況の発生の少なくとも1つに基づき、前記追従制御の開始条件を満たしているか否か判断し、前記追従制御の前記開始条件を満たしていない場合には前記追従制御を行わないようにしてもよい。
(11)このプログラム、情報記憶媒体、画像生成システムは、
前記追従制御部は、
前記プレーヤ移動体と前記ターゲット移動体の距離及び前記プレーヤ移動体の位置及び所定のゲーム状況の発生及び追従制御解除入力の有無及び前記ターゲット移動体の動作内容の少なくとも1つに基づき、追従制御終了条件を満たしているか否か判断し、前記追従制御終了条件を満たしている場合には前記追従制御を終了してもよい。
(12)このプログラム、情報記憶媒体、画像生成システムは、
前記仮想3次元空間の一部に自動移動ルートを設定し、前記ターゲット移動体の位置が所定の自動移動開始条件を満たした場合には、前記ターゲット移動体に前記自動移動ルートを移動させる制御を行ってもよい。
(13)本発明は、
画像を生成するためのプログラムであって、
入力情報に基づいて、プレーヤ移動体に仮想3次元空間を移動させる移動制御を行う移動制御部と、
前記仮想三次元空間を所与の視点から見た画像を生成する画像生成部と、してコンピュータを機能させ、
前記移動制御部は、
前記仮想3次元空間の一部に自動移動ルートを設定し、前記プレーヤ移動体の位置が所定の条件を満たした場合には、前記プレーヤ移動体に前記自動移動ルートを移動させる制御を行うプログラムに関する。
また本発明は上記各部を含む画像生成システムに関する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関する。
本実施形態のゲームシステムの機能ブロック図の例。 第1の追従制御の手法の一例である単純追従型について説明する図。 図3(A)(B)は、第1の追従制御の他の例について説明する図。 第2の追従制御の手法について説明するための図。 第2の追従制御の手法について説明するための図。 プレーヤの入力による影響について説明するための図。 ブレンド率の決定手法について説明するための図。 ブレンド率の決定手法について説明するための図。 すり抜けモードについて説明するための図。 ターゲット移動体の過去の移動情報について説明するための図。 図11(A)(B)はプレーヤ移動体とターゲット移動体を所定の平面に透視投影している様子を示す図。 本実施の形態の第1の追従制御処理の流れを示すフローチャート。 本実施の形態の第2の追従制御処理の流れを示すフローチャート。 本実施の形態のすり抜けモードの処理の流れを示すフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図1の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
本実施形態のゲームシステムは、本体装置10と、入力装置20と、情報記憶媒体180、表示部(表示装置)190、スピーカー192、光源198とからなる。
入力装置20は、加速度センサ210、撮像部220、スピーカー230、振動部240、マイコン250、通信部260、操作部270によって構成される。
加速度センサ210は、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサ210は、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサ210は、5msec毎に加速度を検出し、加速度センサ210から検出された加速度は、通信部260によって本体装置10に送信される。なお、加速度センサ210は、1軸、2軸、6軸の加速度を検出するものであってもよい。
撮像部220は、赤外線フィルタ222、レンズ224、撮像素子(イメージセンサ)226、画像処理回路228を含む。赤外線フィルタ222は、入力装置20の前方に配置され、表示部190に関連付けられて配置されている光源198から入射する光から赤外線のみを通過させる。レンズ224は、赤外線フィルタ222を透過した赤外線を集光して撮像素子226へ出射する。撮像素子226は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズ224が集光した赤外線を撮像して撮像画像を生成する。撮像素子226で生成された撮像画像は、画像処理回路228で処理される。例えば、撮像素子226から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を複数検出する。また、複数の光源を利用して撮像画像上の位置情報を複数検出し、検出された位置情報の基準軸からの回転角度(傾き)を求め、光源に対する入力装置20自体の傾きを求めてもよい。なお、検出した撮像画像上の位置情報は、通信部260によって、本体装置10に送信される。
スピーカー230は、本体装置10から通信部260を介して取得した音を出力する。
振動部(バイブレータ)240は、本体装置10から送信された振動信号を受信して、振動信号に基づいて作動する。
マイコン(マイクロコンピュータ)250は、操作部270が出力した入力信号、加速度センサ210が検出した加速度を通信部260を介して本体装置10に送信させる処理を行ったり、撮像部220によって検出された位置情報を、通信部260を介して本体装置10に送信させる処理を行う。また、受信した本体装置10からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。
通信部260は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、本体装置10とデータを無線で送信受信する。なお、本実施形態の通信部260は、加速度センサ210によって検出された加速度や撮像部220において検出した位置情報等を、4msec、6msecの交互の間隔で本体装置10に送信している。なお、通信部260は、本体装置10と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
操作部270は、方向キー(十字キー)、ボタン(Aボタン、Bボタンなど)、方向入力可能なコントロールスティック(アナログキー)などの操作子であり、プレーヤからの入力操作によって入力信号を出力する処理を行う。なお、操作信号は、通信部260を介して本体装置10に送信される。
なお、入力装置20は、プレーヤの入力動作によって変化する角速度を検出するジャイロセンサを備えていてもよい。
また、入力装置20は、加圧センサを備えていてもよい。加圧センサは、プレーヤの入力動作によって発生する圧力を検出する。例えば、プレーヤの体重や、プレーヤが力を加えることによる圧力を検出することができる。また、入力装置20に加圧センサを複数備えることによって、複数の圧力センサそれぞれの圧力値を検出してもよい。
本実施形態の入力装置20は、入力装置20と一体化されている本体装置10(ゲーム装置、携帯型ゲーム装置)、携帯電話なども含まれる。
次に、本実施形態の本体装置10について説明する。本実施形態の本体装置10は、記憶部170、処理部100、通信部196によって構成される。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
特に、本実施形態の記憶部170は、主記憶部172、描画バッファ174を含む。主記憶部172は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。また、描画バッファ174は、描画部120において生成された画像を記憶する。
そして処理部100は、この情報記憶媒体180に格納されるプログラム(データ)から読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。なお情報記憶媒体180は、メモリカードに、プレーヤの個人データやゲームのセーブデータなどを記憶するものも含む。
通信部196は、ネットワーク(インターネット)を介して他の本体装置10(ゲーム装置)と通信することができる。その機能は、各種プロセッサ又は通信用ASIC、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部196は、有線、無線いずれの通信も行うことができる。
また、通信部196は、アンテナ、無線モジュールを含み、Bluetooth(ブルートゥース;登録商標)の技術を用いて、入力装置20の通信部260を介して、入力装置20とデータを送受信する。例えば、通信部196は、音データ、及び、振動信号を、入力装置20に送信し、入力装置20において、操作部270が出力した入力信号、加速度センサ210が検出した加速度、撮像部220によって検出された情報を、4msec、6msecの交互の間隔で受信する。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体180(または、記憶部170)に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
処理部100(プロセッサ)は、入力装置20から受信した情報や情報記憶媒体180から記憶部170に展開されたプログラム等に基づいて、ゲーム演算処理、画像生成処理、或いは音制御の処理を行う。
特に本実施形態の処理部100は、オブジェクト空間設定部110、移動・動作処理部150、ゲーム演算部112、表示制御部114、仮想カメラ制御部115、描画部120、音制御部130、振動制御部140とを含む。
オブジェクト空間設定部110は、オブジェクト(移動体、ターゲット、自機、敵機、弾)の他に、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動・動作処理部150は、オブジェクトの移動・動作演算を行う。すなわち入力装置20によりプレーヤが入力した入力情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
特に、本実施形態のプレーヤ移動体制御部152は、プレーヤからの移動用の入力情報に基づいて、プレーヤ移動体に仮想3次元空間を移動させる移動制御処理を行う。本実施形態では、プレーヤからの移動用の入力情報は、加速度センサで検出された加速度である。本実施形態では、検出された加速度に基づいて、傾き値を算出し、傾き値に基づいて移動体の移動方向や、移動速度を決定し、移動体を移動させる処理を行っている。
プレーヤ移動体制御部152は、前記ターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体に前記ターゲット移動体を追従させる追従制御を行う追従制御部154を含んでもよい。
プレーヤ移動体とは、プレーヤが操作する移動体であり、例えば飛行機や車等でもよい。ターゲット移動体とは、マルチプレーヤゲームで他のプレーヤが操作する移動体でもよいし、コンピュータが操作する移動体でもよい。
ターゲット移動体の移動情報とは、例えばターゲット移動体の位置、姿勢、移動ベクトル(速度ベクトルでもよい、移動方向と速度の大きさを有するベクトルでもよい)等である。過去の移動情報としてターゲット移動体のリプレイデータを使用してもよい。リプレイデータを毎フレームごとに持っていない場合には、リプレイデータがない部分は前後のリプレイデータから補完値を求めて使用してもよい。またリプレイデータからターゲット移動体の位置、姿勢、移動ベクトルを算出してもよい。
プレーヤ移動体にターゲット移動体を追従させる追従制御は、例えばプレーヤ移動体の前方(プレーヤ移動体の進行方向)を移動するターゲット移動体が所定時間前(フレーム単位でゲーム時間を管理している場合には所定フレーム前)に通過した位置(座標)をプレーヤ移動体が通過するようにプレーヤ移動体の位置を制御してもよい。
本発明によれば仮想3次元空間において、他の移動体の過去の移動情報を用いることで、簡単な制御で、移動体を他の移動体に追従させることができる。
追従制御部154は、所与の遅延時間だけ過去の前記ターゲット移動体の移動体情報に基づき前記追従制御を行うように構成され、前記入力情報又はゲームパラメータが所定の遅延変更条件を満たした場合に、前記遅延時間を変更するようにしてもよい。
所定の遅延条件とは、プレーヤ移動体とターゲット移動体の位置関係、所定のゲーム状況の発生、所定の入力情報の発生(例えばターゲット移動体がスロットル、ブレーキ、特殊機動などの入力を行った場合)等に関する条件でもよい。遅延時間を変更して追従制御を行うことで、変化に富んだ追従制御を行うことができる。
追従制御部154は、前記ターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体が前記ターゲット移動体の過去の通過位置又はその近傍位置を通るように前記プレーヤ移動体の移動を制御してもよい。
また追従制御部154は、前記ターゲット移動体の過去の移動情報を入力情報に基づき補正して、補正後の移動情報に基づき前記プレーヤ移動体の移動を制御してもよい。
また追従制御部154は、前記ターゲット移動体の移動情報に基づき、前記ターゲット移動体の直近の移動軌跡に対応した移動可能範囲をリアルタイムに設定し、前記プレーヤ移動体に移動可能範囲を移動させる制御を行ってもよい。移動可能範囲は、平面的な領域でもよいし、空間的な領域でもよく、ターゲットの直近の移動軌跡に対してある程度の幅を持った領域でもよい。例えば移動可能範囲は、ターゲット移動体の移動軌跡を通るチューブ状の空間でもよい。この移動可能範囲はターゲット移動体の移動情報に基づき生成するので、ターゲット移動体のインタラクティブな移動を反映してリアタイムに生成される。
プレーヤ移動体は、移動可能範囲内をターゲットの移動軌跡に対して入力情報に応じて上下左右にずれた位置を移動するようにしてもよい。また例えば移動可能範囲内においてターゲットの移動軌跡に対してランダムに上下左右にずれた位置を移動するようにしてもよい。この様にするとプレーヤ移動体がターゲット移動体の真後ろに張り付いて移動するのを防止し、変化に富んだ追従制御を実現することができる。
また追従制御部154は、前記ターゲット移動体の過去の移動情報と前記プレーヤ移動体の現在の移動情報を所定の比率で合成して、合成した移動情報に基づいてプレーヤ移動体の移動を制御してもよい。前記ターゲット移動体の過去の移動情報とは、ターゲット移動体の所与の遅延時間だけ過去の移動情報(位置、姿勢、移動ベクトル)でもよい。プレーヤ移動体の現在の移動情報とは、プレーヤ移動体が現在の姿勢で直進したと仮定したときの移動情報(位置、姿勢、移動ベクトル)でもよい。位置は所定の比率(ブレンド率)で線形補間してもよい。姿勢は所定の比率(ブレンド率)で球面線形補間してもよい。移動ベクトルは所定の比率(ブレンド率)でベクトル合成してもよい。
この様にするとプレーヤはある程度操作をしないとターゲット移動体を見失ってしまうので、プレーヤの技量も反映した追従制御を行うことができる。
また追従制御部154は、前記入力情報又はゲームパラメータが所定の比率変更条件を満たした場合に、前記合成の前記比率を変更してもよい。所定の比率変更条件とは、プレーヤ移動体とターゲット移動体の位置関係、所定のゲーム状況の発生、所定の入力情報の発生等に関する条件でもよい。合成の比率が変更することで、追従の強さの強弱ができるので、メリハリのある追従制御を実現することができる。
また追従制御部154は、前記プレーヤ移動体と前記ターゲット移動体の位置関係が所定の条件を満たす期間が所定期間継続した場合に前記合成の前記比率を変更するようにしてもよい。プレーヤ移動体とターゲット移動体の位置関係が所定の条件を満たすとすぐに合成の比率が変更されるとプレーヤ移動体の動きがぎくしゃくと不自然になるが、この様にするとスムーズな動きでプレーヤ移動体を追従させることができる。
また追従制御部154は、前記プレーヤ移動体と前記ターゲット移動体を所定の平面に投影して、プレーヤ移動体とターゲット移動体の位置関係が前記所定の条件を満たすか否か判定するようにしてもよい。
また追従制御部154は、前記プレーヤ移動体と前記ターゲット移動体の距離及び前記プレーヤ移動体の位置及び追従制御指示入力の有無及び所定のゲーム状況の発生の少なくとも1つに基づき、前記追従制御の開始条件を満たしているか否か判断し、前記追従制御の前記開始条件を満たしていない場合には前記追従制御を行わないようにしてもよい。プレーヤ移動体とターゲット移動体の距離及びプレーヤ移動体の向き(プレーヤ移動体の進行方向がターゲット移動体のほうである)に基づき追従制御の開始条件を満たしているか否か判断してもよい。追従制御の開始条件を満たしている場合には自動的に追従制御を行ってもよいし、プレーヤからの追従制御指示入力があった場合に追従制御を行ってもよい。所定のゲーム状況の発生とは例えば、プレーヤ移動体がターゲットとなる敵移動体を所定時間ロックオンしたことや、プレーヤ移動体が所定のアイテムを取得したことや、プレーヤ移動体が敵機に一定のダメージを与えたこと等でもよい。
また追従制御部154は、前記プレーヤ移動体と前記ターゲット移動体の距離及び前記プレーヤ移動体の位置及び所定のゲーム状況の発生及び追従制御解除入力の有無及び前記ターゲット移動体の動作内容の少なくとも1つに基づき、追従制御終了条件を満たしているか否か判断し、前記追従制御終了条件を満たしている場合には前記追従制御を終了するようにしてもよい。
ターゲット移動体制御部156は、仮想3次元空間の一部に自動移動ルートを設定し、前記ターゲット移動体の位置が所定の条件を満たした場合には、前記ターゲット移動体に前記自動移動ルートを移動させる制御を行うようにしてもよい。前記ターゲット移動体の位置及び向きが所定の条件を満たした場合は、前記ターゲット移動体に前記自動移動ルートを移動させる制御を行うようにしてもよい。自動移動ルートは、障害物等が多くて移動に高度な技量が必要な箇所に設定してもよい。自動移動ルートを自動的に移動させることで、ターゲット移動体は移動困難な場所をすり抜けることができる。そして自動移動ルートを移動するターゲット移動体を追従するプレーヤ移動体も移動困難な場所をすり抜けることができる。例えばターゲット移動体を見えない仮想点として設定し、当該仮想点にプレーヤ移動体を牽引させ、プレーヤ移動体に移動困難な場所をすり抜けるような移動を行わせてもよい。
ゲーム演算部112は、種々のゲーム演算処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームステージ毎のクリア条件を満たすか否かを判定する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などを行う。
特に、本実施形態のゲーム演算部112は、プレーヤからの射撃用の入力情報に基づいて移動体から弾を発射させ、発射させた弾がターゲットに命中したか否かを判断し、判断結果に基づきゲーム演算を行う。本実施形態では、射撃用の入力情報は、操作部270の第2の入力信号(例えば、Bボタンによる入力信号)としている。なお、命中したか否かの判断処理は、予め定められた弾のヒット領域と、予め定められたターゲットのヒット領域とのヒットチェックを行うことによって、命中したか否かを判断している。
表示制御部114は、視界画像を表示させると共に、視界画像とは異なる表示領域に、移動体の位置、エリアの関係を簡略化して示した画像(レーダーマップ)を表示させる処理を行う。
仮想カメラ制御部115は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置(X、Y、Z)又は回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。
特に本実施形態の仮想カメラ制御部115は、移動体の移動経路に基づいて、仮想カメラの位置、向き、画角の少なくとも1つを制御する処理を行う。
描画部120は、処理部100で行われる種々の処理(ゲーム演算処理)の結果に基づいて描画処理を行い、これにより画像(視界画像、レーダーマップなど)を生成し、表示部190に出力する。
いわゆる3次元ゲーム画像を生成する場合には、まず表示物(オブジェクト、モデル)を定義する各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む表示物データ(オブジェクトデータ、モデルデータ)が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)の表示物データ(表示物の頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
音制御部130は、処理部100で行われる種々の処理(ゲーム演算処理等)の結果に基づいて記憶部170に記憶されている音を、入力装置20のスピーカー230及びスピーカー192の少なくとも一方から出力させる処理を行う。
振動制御部140は、処理部100で行われる種々の処理(ゲーム演算処理等)の結果に基づいて、通信部196、通信部260を介して、入力装置20の振動部240を振動させる処理を行う。
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また複数のプレーヤがプレイする場合に、複数のプレーヤそれぞれの入力装置20から送信された情報(加速度センサ210が検出した加速度、操作部270が出力した入力信号等)に基づいて、1つの本体装置10がゲーム演算、画像生成処理を行い、生成した画像を表示部に表示させるように制御してもよい。
また、複数のプレーヤそれぞれの本体装置10がネットワーク(伝送ライン、通信回線)を介して接続され、複数の本体装置10それぞれが、入力装置20から送信された情報に基づいて、ゲーム演算、画像生成処理を行い、生成した画像を表示部に表示させるように制御してもよい。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。
表示部190は、処理部100により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD有機ELディスプレイ、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
スピーカー192は、音制御部130により再生する音を出力するものであり、その機能は、スピーカー、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカー192は、表示部に備えられたスピーカーとしてもよい。例えば、テレビ(家庭用テレビジョン受像機)を表示部としている場合には、テレビのスピーカーとすることができる。
光源198は、例えばLEDであり、表示部190に関連付けられて配置される。なお、本実施形態は、複数の光源(光源Rと光源L)とを備え、光源Rと光源Lとの距離は所定間隔を有するように設置されている。
2.本実施形態の手法
(1)追従制御
本実施形態では、プレーヤからの入力情報に基づいてプレーヤ移動体(例えば戦闘機等)が仮想3次元空間(オブジェクト空間)を動き回り、プレーヤ移動体に装備された機関銃(機関砲)などを用いて、仮想3次元空間を動き回るターゲット移動体(例えば敵の戦闘機等)を攻撃(撃墜、撃破)させることができる。
近接戦闘モードになると、プレーヤ移動体をターゲット移動体に追従させる追従制御が行われる。本実施の形態の追従制御では、ターゲット移動体の過去の移動軌跡に基づき、プレーヤ移動体をターゲット移動体に追従させる。
(2)移動情報
図10はターゲット移動体の過去の移動情報について説明するための図である。移動情報とは、例えばターゲット移動体の位置、姿勢、速度ベクトル等である。図10に示すようにターゲット移動体の位置情報320、姿勢情報330、速度ベクトル340を、1又は数フレーム毎に、ゲーム時刻(フレーム単位で管理してもよい)310に対応づけて移動情報として記憶させておき、この記憶させた移動情報をターゲット移動体の過去の移動情報として使用してもよい。なお位置情報320、姿勢情報330を記憶させておき、位置情報320から速度ベクトル340を求めるようにしてもよい。
また数フレーム毎に移動情報を保持する場合には、保持されていないフレームについては、前後のフレームから補間して求めるようにしてもよい。
またターゲット移動体のリプレイ情報を保持する構成であれば、リプレイ情報をターゲット移動体の過去の移動情報として使用してもよい。
(3)第1の追従制御手法
ターゲット移動体の過去の移動情報を参照して、ターゲット移動体の過去の移動軌跡と同じ軌跡を移動するようにしてもよいし、ターゲット移動体の過去の移動軌跡に対してある程度の自由度をもって上下左右しながら移動するようにしてもよい。
図2は、第1の追従制御手法の一例である単純追従型の追従制御について説明する図である。単純追従型の追従制御では、プレーヤ移動体に、ターゲット移動体の過去の移動軌跡と同じ軌跡を移動させる制御を行う。Sn、Sn−1、・・・はターゲット移動体の0.1秒毎の位置の遷移を示している。単純追従制御においては、ターゲット移動体のx秒前(xを遅延時間とする)の移動情報を現在のプレーヤ移動体の移動情報として、追従制御を行う。
Snがターゲット移動体の現在位置である場合に、遅延時間x=0.3(ターゲット移動体の0.3秒前の移動情報を使用する)とすると、プレーヤ移動体の現在位置はSn−3となる。また遅延時間x=0.5(ターゲット移動体の0.5秒前の移動情報を使用する)すると、プレーヤ移動体の現在位置はSn−5となる。
遅延時間xは所定の値に固定させてもよいし、ゲーム状況に応じて変化させてもよい。遅延時間の変更制御は、入力情報又はゲームパラメータが所定の遅延変更条件を満たした場合に行うようにしてもよい。例えば、ターゲット移動体又はプレーヤ移動体がスロットル、ブレーキ、特殊機動(コブラなど)などを行ったことを検出した場合に、遅延時間を変更させてもよい。遅延時間を変更させることにより、ゲーム画像に変化がでて、スピード感等を強調することができる。なお遅延時間xの初期値を外部から設定できるようにしてもよい。
図3(A)(B)は、第1の追従制御の他の例について説明する図である。第1の追従制御の他の例では、ターゲット移動体の過去の移動軌跡に基づき、所定の範囲内でプレーヤ移動体の位置を変更して追従させる制御を行う。
この追従制御では、ターゲット移動体の過去の移動情報に基づき、移動可能範囲を設定し、移動可能範囲内を前記プレーヤ移動体が移動するように制御する。
例えばターゲット移動体の過去の移動経路350を含み、当該移動経路350を含むチューブ状の空間を移動可能範囲360として設定し、プレーヤ移動体がターゲット移動体に遅延時間xだけ遅れて、移動可能範囲360で移動するように制御してもよい。
プレーヤ移動体の位置を算出する際には、まず過去のターゲット移動体の移動情報を参照して、遅延時間xだけ前のターゲット移動体の位置を算出する。そしてターゲット移動体の位置を含み、ターゲット移動体の進行方向に直行する平面でチューブ状の空間360を切断した断面370を仮想的に想定する。そして断面における遅延時間だけ前のターゲット移動体の位置Sn−xに対し、入力情報に基づき上下左右に移動、回転させた位置及び回転をプレーヤ移動体の現在の位置及び回転としてもよい。
例えば遅延時間を0.3秒とする場合には、0.3秒前のターゲット移動体の位置Sn−3を含む断面370において、位置Sn−3に対し所与の距離だけ上下左右に移動に移動した位置Sn’を求め、これをプレーヤ移動体の現在の位置としてもよい。ここで位置Sn−3に対しどの程度上下左右にずらすかはプレーヤからの入力情報に基づき決定してもよい。例えばプレーヤの入力が右を指示している場合には、右方向にずらしてもよい。
またプレーヤの入力に関係なく、断面内でランダムに位置Sn−3から上下左右にずらすようにしてもよい。
この様にすると、プレーヤ移動体が簡単にターゲット移動体の後ろにつくのを防止することができる。
本実施の形態によれば、追従モードになるとプレーヤは自機の移動に関する操作を行わなくても、ターゲット移動体に自動追従させることができる。
また図3で説明した手法によれば、ターゲットの移動した軌跡(ライン)350に対して上下左右にずれた位置を移動する(チューブ状の空間を移動)ので、プレーヤ移動体の動きの自由度が増し、動きが単調になるのを防止することができる。
例えばターゲット移動体がコブラなどの特殊な移動を行った場合にはそのフレームの動きをターゲット移動体の過去の移動経路として反映させないようにしてもよい。
第1の追従制御の手法によれば、プレーヤの操作の内容にかかわらず、追従モード中は必ずターゲット移動体に追従できてしまうので、初心者や操作になれないプレーヤには第1の手法による制御が適している。
(4)第2の追従制御の手法
追従モードにおいてもプレーヤの技量を反映させるようにすると、より高度なプレーを楽しむことができ、上級者でも飽きさせないゲームを提供することができる。
図4,図5は第2の追従制御手法について説明するための図である。
第2の追従制御手法では、ターゲット移動体の過去の移動情報と入力情報に基づいて特定されるプレーヤ移動体の移動情報を所定の比率で合成して、合成した移動情報に基づいてプレーヤ移動体の移動情報を移動を制御する。
プレーヤ移動体の位置を算出する際には、まず過去のターゲット移動体の移動情報を参照して、遅延時間xだけ前のターゲット移動体の位置、姿勢、移動ベクトルを算出する。図4、図5のリプレイ成分ベクトル410はターゲット移動体の遅延時間xだけ前の移動ベクトル(方向は移動方向で大きさは速度の大きさを示すベクトルでもよい)である。
またプレーヤ移動体が現在の姿勢から直進した際の位置や姿勢や移動ベクトルを算出する。図4、図5の直進成分ベクトル420はプレーヤ移動体が現在の姿勢から直進した際の移動ベクトルを示している。
これらのベクトルを合成する際の比率(ブレンド率)を演算して、遅延時間xだけ前のターゲット移動体の位置、姿勢、移動ベクトルと、プレーヤ移動体が現在の姿勢から直進した際の位置や姿勢や移動ベクトルとを算出したブレンド率で合成する。ここで位置は線形補間、姿勢は球面線形補間で合成してもよい。
図5はリプレイ成分ベクトルと直進成分ベクトルを所与のブレンド率で合成する様子を模式的に示した図である。ブレンド率が100パーセントの場合、リプレイ成分ベクトル410と直進成分ベクトル420のブレンド比が1:0であるため、ブレンドのプレーヤ移動体の移動ベクトルは、リプレイ成分ベクトル410と同じとなる。またブレンド率が0パーセントの場合、リプレイ成分ベクトル410と直進成分ベクトル420のブレンド比が0:1であるため、ブレンドのプレーヤ移動体の移動ベクトルは、直進成分ベクトル420と同じとなる。またブレンド率が50パーセントの場合は、リプレイ成分ベクトル410と直進成分ベクトル420のブレンド比が1:1であるため、ブレンド後のプレーヤ移動体の移動ベクトルは、リプレイ成分ベクトル410と直進成分ベクトル420の合成ベクトル430となる。
なおプレーヤからの入力情報によって、合成後の姿勢にさらに回転を加えるようにしてもよい。
図6は、プレーヤの入力による影響について説明するための図である。
第2の追従制御手法ではブレンド率が100パーセントの場合には、プレーヤ移動体はターゲット移動体に確実に追従することができるが、ブレンド率が低い場合には、プレーヤ移動体がターゲット移動体を見失ってしまう可能性がある。
ここではブレンド率が10パーセントの場合を例にとり説明する。450はターゲット移動体の過去の移動軌跡である。460はブレンド率10パーセントで演算した場合のプレーヤ移動体の移動ベクトルである。
図6に示すようにターゲット移動体が大きく左に曲がる移動をすると、プレーヤ移動体はターゲット移動体から遠ざかる方向に移動を続けることになり、プレーヤが姿勢を回転させる入力を行わないとプレーヤ移動体490は480の方向に進み続けて、ターゲット移動体452を見失ってしまう。
しかしプレーヤが左回転を指示する入力を行うと、プレーヤ移動体490の姿勢にさらに回転を加える処理を行い、プレーヤ移動体の進行方向を470に変更することができる。
この様にプレーヤからの入力情報によって、合成後の姿勢にさらに回転を加えることで、プレーヤの操作によりプレーヤ移動体がターゲット移動体を見失わないような制御を行うことができる。
図7、図8(A)(B)はブレンド率の決定手法について説明するための図である。
追従制御部は、入力情報又はゲームパラメータが所定の比率変更条件を満たした場合に、合成の比率を変更してもよい。
所定の比率変更条件とは、プレーヤ移動体とターゲット移動体の位置関係や、所定のゲーム状況の発生、所定の入力情報の発生等に関する条件でもよい。例えばターゲット移動体をある程度画面内にとらえている状況(プレーヤ移動体の視点からみた場合)では、リプレイ成分より直進成分のブレンド割合を大きくして、追従制御のための誘導力を弱くしてもよい。またターゲット移動体が画面から外れそうな状態の時は、直進成分にくらべてリプレイ成分のブレンド割合を大きくして追従制御のための誘導力を強くしてもよい。
本実施の形態では、仮想3次元空間に存在するプレーヤ移動体とターゲット移動体を所定の平面に透視投影変換して、プレーヤ移動体とターゲット移動体の位置関係が前記所定の条件を満たすか否か判定してもよい。
次に仮想3次元空間に存在するプレーヤ移動体とターゲット移動体を所定の平面に透視投影変換してロックオンサークル(図7の530)や第一のエリア(図7の510)を設定して、内外判定を行う例について説明する。
図11(A)(B)は、プレーヤ移動体とターゲット移動体を所定の平面に透視投影している様子を示している。Tは仮想3次元空間におけるターゲット移動体の位置、Pは仮想3次元空間におけるプレーヤ移動体の位置を示している。530’は仮想3次元空間におけるロックオンサークルのイメージを示したものである。
まずターゲット移動体Tの座標が存在し、仮想カメラ504の視線505が法線となる所定の平面(ロックオンサークル530や第1のエリアを投影する平面)500を算出する。所定の平面500は、仮想カメラ504の視線方向505に対して垂直な平面であり、ターゲット移動体Tの座標が存在する平面である。
次に始点をプレーヤ移動体Pの座標、終点を自機の正面方向にxm先の座標とするライン506を生成する。このライン506と所定の平面506との交点532を求める。ここで求まった交点532がロックオンサークルの中心座標(3次元)になる。交点532が求まった場合、その交点532とターゲット移動体Tの座標を2次元座標533に変換する。交点532とターゲット移動体Tとの2次元座標533を距離を求め、その距離がロックオンサークル530の半径以下であればサークル内に入っているものと判定することができる。なお交点532が求まらなかった場合はサークル外と判定してもよい。
図7において、P’は透視投影されたプレーヤ移動体の位置’、T’はターゲット移動体の位置’、530はロックオンサークルを示している。例えばロックオンサークル530を含む第1のエリア510と、それ以外のエリアである第2のエリア520に分けて、ターゲット移動体の位置T’がどちらのエリアに属するかによってブレンド率を変更してもよい。なおブレンド率を所定の幅をもって設定するように構成している場合には、どちらのエリアにいるかによって、ブレンド率の最小値や最大値を変更してもよい。例えばターゲット移動体が第1のエリアにいるときはブレンド率がb1〜b3パーセント、第2のエリアにいるときは、ブレンド率がb2〜b4パーセント(ここにおいてb1b<2b<3b<b4)としてもよい。
ブレンド率はロックオンサークル530の中心とターゲットの距離(所定の平面上の距離)に応じて変更してもよい。ターゲット移動体が第1のエリアに属している場合には、ロックオンサークルの中心との距離が小さいほうがブレンド率が高くなるようにしてもよい。例えばターゲット移動体の位置が、図8(A)のT1,T2の場合には、T2’のほうがT1’に比べてターゲット移動体がロックオンサークル530に近い位置にいるので、T2に位置する場合にはT1’に位置する場合に比べてブレンド率を高くしてもよい。
またターゲット移動体の位置が図8(B)に示すように第1のエリア510と第2のエリア520の境界を行き来することで変更するようにしてもよい。例えば第1のエリア510から第2のエリア520にかわった場合にブレンド率が高くなるようにしてもよい。この場合、変わった瞬間にブレンド率を変更するのではなく、第2のエリアの滞在時間が所定時間経過してからブレンド率を変更するようにしてもよい。このようにすると、境界付近で第1のエリア510と第2のエリア520を行き来するような場合にそのたびにブレンド率が変更になり動きがぎくしゃくするのを防止することができる。
本実施の形態によれば、追従モードにおいてもプレーヤはある程度コントローラを操作しないとターゲット移動体を追従することができないゲームを実現することができる。たたしターゲット移動体の過去の移動情報(例えばリプレイデータ)をブレンドして移動制御が行われるので、なにもサポートがない場合にくらべてターゲット移動体を追いやすくなっている。
(5)追従終了の制御
追従処理終了の判断は、ゲーム状況やターゲット移動体とプレーヤ移動体の位置関係(例えばターゲット移動体とプレーヤ移動体の距離等)やターゲット移動体の移動状況に基づき行ってもよい。
例えばプレーヤの追従制御開始指示入力により追従制御が開始される場合には、プレーヤの追従制御終了指示入力により追従制御を終了するようにしてもよい。またプレーヤ移動体がターゲット移動体を破壊した場合や、ターゲット移動体がプレーヤ移動体を振り切った場合は、追従制御を終了するようにしてもよい。
またターゲット移動体がトレースに適さないような特殊挙動を行った場合にも追従制御を終了するようにしてもよい。特に第1の追従制御の手法で追従処理を行う場合、ターゲット移動体がトレースに適さないような特殊挙動を行った場合には、追従制御処理をシステム側で強制終了するようにしてもよい。
また、例えば戦闘機ゲーム等で近接戦闘モードで追従制御が行われる場合、第一の機体(例えばターゲット移動体)の後ろに第二の機体(例えばプレーヤ移動体)がついて近接戦闘モード(追従制御)が行われている場合、第二の機体(例えばプレーヤ移動体)に対して第三の機体(例えば他の移動体)が新たな近接戦闘モード(追従制御)を成立させた場合、最初の近接戦闘モードは終了し、第二の機体と第三の機体の間で新たな近接戦闘モード(追従制御)が成立するようにしてもよい。
(6)追従制御における攻守逆転処理
マルチプレーヤゲーム等の近接戦闘モードにおいて追従制御を行う場合、追従される側(ターゲット移動体)を守り側、追従する側を攻め側として、所定の条件が成立した場合に攻守を逆転させるようにしてもよい。
例えばオンライン等の対人対戦ゲームにおいて、プレーヤ対プレーヤで近接戦闘を行う場合に、ターゲット移動体(守り側)になると、そこからプレーヤの操作により追従する移動体(攻め側の他のプレーヤ移動体)を振り切って相手の近接戦闘モードを終了させ、さらに相手をターゲット(守り側)とする近接戦闘モードに持ち込めるようにしてもよい(自分が攻め側になる)。またプレーヤの特殊操作により、一気に攻守が逆転するような構成でもよい。
(7)すり抜けモード
図9はすり抜けモードについて説明するための図である。すり抜けモードは、仮想3次元空間の一部に自動移動ルート600を設定し、ターゲット移動体610の位置(及び向き)が所定の条件を満たした場合には、ターゲット移動体610に移動ルート600を移動させる制御を行う。ここで所定に条件とは例えば、仮想3次元空間を移動するターゲット移動体610が空間内の所定のエリア(空間)630に入った場合でもよい。ターゲット移動体610が所定のエリア(空間)630に入ると移動ルート600の入り口602に自動的に牽引されるようにしてもよい。
移動ルート600の入り口602にきたターゲット移動体610は、予め設定された移動ルートを自動的に移動する。この移動ルートは例えば、仮想3次元空間において、周りに障害物が多くて移動が難しいエリア等に設定してもよい。
このようにするとすり抜けモードで自動移動ルートを移動するターゲット移動体を追従するプレーヤ移動体も障害物のあるエリアを移動しやすくなる。
なお自動移動ルートは線で定義されていてもよいし、線を含むチューブ状のエリアとして定義されていてもよい。
上記実施の形態では、ターゲット移動体に対してすり抜けモードが設定される場合を例にとり説明したがそれに限られない。プレーヤ移動体に対してすり抜けモードが設定できるようにしてもよい。
プレーヤ移動体620の位置(及び向き)が所定の条件を満たした場合には、プレーヤ移動体620に移動ルート600を移動させる制御を行う。ここで所定の条件とは例えば、仮想3次元空間を移動するプレーヤ移動体620が空間内の所定のエリア(空間)630に入った場合でもよい。プレーヤ移動体620が所定のエリア(空間)630に入ると移動ルート600の入り口602に自動的に牽引されるようにしてもよい。
移動ルート600の入り口602にきたプレーヤ移動体620は、予め設定された移動ルートを自動的に移動する。この移動ルートは例えば、仮想3次元空間において、周りに障害物が多くて移動が難しいエリア等に設定してもよい。
3.本実施形態の処理
図12は、本実施の形態の第1の追従制御処理の流れを示すフローチャートである。
遅延時間xだけ前のターゲット移動体のリプレイデータに基づき、遅延時間xだけ前のターゲット移動体の位置を算出する(ステップS10)。次に算出したターゲット移動体の位置を含み、ターゲット移動体の進行方向に直行する平面でチューブ状の空間を切断した断面を仮想的に想定し、入力情報に基づきターゲット移動体の位置を上下左右に移動させた位置をプレーヤ移動体の現在の位置とし、プレーヤ移動体の入力情報によって姿勢を回転させる(ステップS20)。
図13は、本実施の形態の第2の追従制御処理の流れを示すフローチャートである。
遅延時間xだけ前のリプレイデータに基づき、遅延時間xだけ前のターゲット移動体の位置、姿勢、移動ベクトルを算出する(ステップS110)。次にプレーヤ移動体が現在の姿勢から直進した際の位置や姿勢や移動ベクトルを算出する(ステップS120)。次にブレンド率を演算する(ステップS130)。次に遅延時間xだけ前のターゲット移動体の位置、姿勢、移動ベクトルと、プレーヤ移動体が現在の姿勢から直進した際の位置や姿勢や移動ベクトルとを算出したブレンド率で合成する(ステップS140)。次にプレーヤの入力情報に基づき算出した姿勢にさらに回転を加える(ステップS150)。
図14は、本実施の形態のすり抜けモードの処理の流れを示すフローチャートである。
ターゲット移動体の位置及び向きが所定の条件を満たしている場合には以下の処理を行う(ステップS210)。まずターゲット移動体610を移動ルートの入り口まで牽引する制御を行う(ステップS220)。そして、ターゲット移動体に移動ルートを移動させる制御を行う(ステップS230)。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
第1の追従制御手法による追従制御は、ターゲット移動体の動きから受ける影響が大きいためマルチプレーヤゲーム等で行う対人戦よりも、コンピュータ制御移動体との間で対戦を行うシングルプレーヤゲームに適している。
また第2の追従制御手法による追従制御は、ターゲット移動体の動きから受ける影響が少ないためマルチプレーヤゲーム等で行う対人戦に好適である。
上記実施の形態では、ターゲット移動体が敵機である場合を例にとり説明したがこれに限られない。例えばターゲット移動体を見えない仮想点として設定し、当該仮想点にプレーヤ移動体を牽引させ、プレーヤ移動体に移動困難な場所をすり抜けるような移動を行わせてもよい。
また上記実施の形態では、プレーヤ移動体にターゲット移動体を追従させることでプレーヤ移動体に自動移動ルートを通過させる構成について説明したがこれに限られない。プレーヤ移動体の位置又は向きが所定の条件を満たした場合に、プレーヤ移動体に自動移動ルートを通過させるような制御を行ってもよい。
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
10 本体装置、20 入力装置、100 処理部、110 オブジェクト空間設定部、112 ゲーム演算部、114 表示制御部、115 仮想カメラ制御部、120 描画部、130 音制御部、140 振動制御部、150 移動・動作処理部、152 プレーヤ移動体制御部、154 追従制御部、156 ターゲット移動体制御部、170 記憶部、172 主記憶部、174 描画バッファ、180 情報記憶媒体、190 表示部、192 スピーカー、196 通信部、198 光源、210 加速度センサ、220 撮像部、222 赤外線フィルタ、224 レンズ、226 撮像素子、228 画像処理回路、230 スピーカー、240 振動部、250 マイコン、260 通信部、270 操作部

Claims (5)

  1. 画像を生成するためのプログラムであって、
    入力情報に基づいて、プレーヤ移動体に仮想3次元空間を移動させる移動制御を行う移動制御部と、
    前記仮想三次元空間を所与の視点から見た画像を生成する画像生成部と、してコンピュータを機能させ、
    前記移動制御部は、
    ターゲット移動体の過去の移動情報が記憶された記憶部からターゲット移動体の過去の移動情報を読み出し、読み出したターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体が前記ターゲット移動体に追従するように前記プレーヤ移動体を移動させる追従制御を行う追従制御部を有するように前記コンピュータを機能させ、
    前記追従制御部は、
    前記ターゲット移動体の過去の移動情報と前記プレーヤ移動体の現在の移動情報を所定の比率で合成して、合成した移動情報に基づいてプレーヤ移動体の移動を制御することを特徴とするプログラム。
  2. 請求項において、
    前記追従制御部は、
    前記入力情報又はゲームパラメータが所定の比率変更条件を満たした場合に、前記合成の前記比率を変更することを特徴とするプログラム。
  3. 請求項において、
    前記追従制御部は、
    前記プレーヤ移動体と前記ターゲット移動体の位置関係が所定の比率変更条件を満たす期間が所定期間継続した場合に前記合成の前記比率を変更することを特徴とするプログラム。
  4. 請求項において、
    前記追従制御部は、
    前記プレーヤ移動体と前記ターゲット移動体を所定の平面に投影して、プレーヤ移動体とターゲット移動体の位置関係が前記所定の比率変更条件を満たすか否か判定することを特徴とするプログラム。
  5. 画像を生成するための画像生成システムであって、
    入力情報に基づいて、プレーヤ移動体に仮想3次元空間を移動させる移動制御を行う移動制御部と、
    前記仮想三次元空間を所与の視点から見た画像を生成する画像生成部と、を含み、
    前記移動制御部は、
    ターゲット移動体の過去の移動情報が記憶された記憶部からターゲット移動体の過去の移動情報を読み出し、読み出したターゲット移動体の過去の移動情報に基づき、前記プレーヤ移動体が前記ターゲット移動体に追従するように前記プレーヤ移動体を移動させる追従制御を行う追従制御部を含み、
    前記追従制御部は、
    前記ターゲット移動体の過去の移動情報と前記プレーヤ移動体の現在の移動情報を所定の比率で合成して、合成した移動情報に基づいてプレーヤ移動体の移動を制御することを特徴とする画像生成システム。
JP2009186828A 2009-08-11 2009-08-11 プログラム、画像生成システム Active JP5614956B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009186828A JP5614956B2 (ja) 2009-08-11 2009-08-11 プログラム、画像生成システム
US12/851,845 US8574071B2 (en) 2009-08-11 2010-08-06 Information storage medium and image generation system
EP10172416.9A EP2368612A3 (en) 2009-08-11 2010-08-10 Image generation system and image generation system control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009186828A JP5614956B2 (ja) 2009-08-11 2009-08-11 プログラム、画像生成システム

Publications (2)

Publication Number Publication Date
JP2011036432A JP2011036432A (ja) 2011-02-24
JP5614956B2 true JP5614956B2 (ja) 2014-10-29

Family

ID=43588909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009186828A Active JP5614956B2 (ja) 2009-08-11 2009-08-11 プログラム、画像生成システム

Country Status (3)

Country Link
US (1) US8574071B2 (ja)
EP (1) EP2368612A3 (ja)
JP (1) JP5614956B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5598703B2 (ja) * 2010-05-25 2014-10-01 株式会社セガ プログラム、ゲーム装置及びその制御方法
EP2497545B1 (en) 2011-03-08 2019-08-07 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
EP2497543A3 (en) 2011-03-08 2012-10-03 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
US9561443B2 (en) 2011-03-08 2017-02-07 Nintendo Co., Ltd. Computer-readable storage medium, information processing system, and information processing method
JP5792971B2 (ja) 2011-03-08 2015-10-14 任天堂株式会社 情報処理システム、情報処理プログラム、および情報処理方法
EP2497547B1 (en) * 2011-03-08 2018-06-27 Nintendo Co., Ltd. Information processing program, information processing apparatus, information processing system, and information processing method
EP2497546A3 (en) 2011-03-08 2012-10-03 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
JP5887160B2 (ja) * 2012-02-15 2016-03-16 任天堂株式会社 画像処理システム、ゲームシステム、画像処理方法、画像処理装置及びコンピュータプログラム
US9561436B2 (en) 2013-02-26 2017-02-07 Gree, Inc. Shooting game control method and game system
JP6192366B2 (ja) * 2013-06-04 2017-09-06 任天堂株式会社 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム
US9421461B2 (en) * 2013-12-26 2016-08-23 Microsoft Technology Licensing, Llc Player avatar movement assistance in a virtual environment
US9669300B2 (en) * 2013-12-27 2017-06-06 Ballcraft, Llc Motion detection for existing portable devices
CN105148517B (zh) * 2015-09-29 2017-08-15 腾讯科技(深圳)有限公司 一种信息处理方法、终端及计算机存储介质
JP6769158B2 (ja) * 2016-07-29 2020-10-14 株式会社セガ ゲームプログラムおよびゲーム装置
WO2018079779A1 (ja) * 2016-10-31 2018-05-03 株式会社カプコン ゲームシステム及びゲームシステムの制御方法
CN108320332B (zh) * 2017-01-18 2020-02-07 腾讯科技(深圳)有限公司 虚拟角色的方位确定方法和装置
CN107789830A (zh) * 2017-09-15 2018-03-13 网易(杭州)网络有限公司 信息处理方法、装置、电子设备及存储介质
JP7194495B2 (ja) * 2017-10-30 2022-12-22 株式会社バンダイナムコエンターテインメント プログラム、コンピュータシステムおよびゲーム実行制御方法
GB2571306A (en) * 2018-02-23 2019-08-28 Sony Interactive Entertainment Europe Ltd Video recording and playback systems and methods
CN108744507B (zh) * 2018-05-18 2023-03-24 腾讯科技(深圳)有限公司 虚拟对象下落控制方法、装置、电子装置及存储介质
JP7330683B2 (ja) * 2018-11-06 2023-08-22 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN111054073B (zh) * 2019-12-27 2024-02-23 珠海金山数字网络科技有限公司 一种双游戏角色的移动方法及装置
CN111905370B (zh) * 2020-08-14 2023-12-12 网易(杭州)网络有限公司 游戏中虚拟角色的控制方法、装置、电子设备及存储介质
CN112604305B (zh) * 2020-12-17 2022-11-18 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN114612553B (zh) * 2022-03-07 2023-07-18 北京字跳网络技术有限公司 一种虚拟对象的控制方法、装置、计算机设备及存储介质
US20230310995A1 (en) * 2022-03-31 2023-10-05 Advanced Micro Devices, Inc. Detecting personal-space violations in artificial intelligence based non-player characters

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3452536B2 (ja) * 1993-06-16 2003-09-29 株式会社ナムコ ゲーム装置及びゲームを行うための装置の制御方法
JP3359981B2 (ja) * 1994-08-18 2002-12-24 株式会社ハドソン ロールプレイングゲームにおける集団キャラクタ表示方法
JP3219697B2 (ja) * 1996-07-16 2001-10-15 株式会社ナムコ 画像生成装置、画像生成方法
US6449272B1 (en) * 1998-05-08 2002-09-10 Lucent Technologies Inc. Multi-hop point-to-point protocol
JP2001149643A (ja) * 1999-09-16 2001-06-05 Sony Computer Entertainment Inc 3次元ゲームにおけるオブジェクト表示方法、情報記録媒体およびエンタテインメント装置
EP1125609A3 (en) * 2000-01-21 2005-03-30 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and object display method
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
WO2007029811A1 (ja) * 2005-09-08 2007-03-15 Sega Corporation ゲーム装置のプログラム、ゲーム装置及びゲーム装置のプログラムを格納した記録媒体
JP5448021B2 (ja) * 2007-06-29 2014-03-19 株式会社セガ レーシングゲーム装置のプログラム、そのプログラムを格納した記録媒体、及びレーシングゲーム装置

Also Published As

Publication number Publication date
EP2368612A2 (en) 2011-09-28
JP2011036432A (ja) 2011-02-24
US20110039618A1 (en) 2011-02-17
EP2368612A3 (en) 2016-03-09
US8574071B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
JP5614956B2 (ja) プログラム、画像生成システム
JP5390115B2 (ja) プログラム、ゲームシステム
JP5149337B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US8556695B2 (en) Information storage medium, image generation device, and image generation method
JP6438207B2 (ja) 画像生成システム及びプログラム
JP5300777B2 (ja) プログラム及び画像生成システム
US10955909B2 (en) Simulation system, processing method, and information storage medium
JP6448196B2 (ja) 画像生成システム及びプログラム
JP2012210243A (ja) プログラム、情報記憶媒体、端末、及びサーバ
JP2011215886A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP2011053838A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5443129B2 (ja) プログラム及びネットワークシステム
JP2012215934A (ja) プログラム、情報記憶媒体、端末、及びサーバ
JP4806608B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5597869B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP2011255114A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2018171309A (ja) シミュレーションシステム及びプログラム
JP2011096017A (ja) プログラム、情報記憶媒体、及び端末
JP4420729B2 (ja) プログラム、情報記憶媒体および画像生成システム
JP2011258149A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2009201743A (ja) プログラム、情報記憶媒体、及び、ゲーム機
JP2008071049A (ja) プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140221

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20140619

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140811

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140909

R150 Certificate of patent or registration of utility model

Ref document number: 5614956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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