[go: up one dir, main page]

JP4307310B2 - ゲーム装置及びゲームプログラム - Google Patents

ゲーム装置及びゲームプログラム Download PDF

Info

Publication number
JP4307310B2
JP4307310B2 JP2004106875A JP2004106875A JP4307310B2 JP 4307310 B2 JP4307310 B2 JP 4307310B2 JP 2004106875 A JP2004106875 A JP 2004106875A JP 2004106875 A JP2004106875 A JP 2004106875A JP 4307310 B2 JP4307310 B2 JP 4307310B2
Authority
JP
Japan
Prior art keywords
character
coordinates
footprint
coordinate
target
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.)
Expired - Lifetime
Application number
JP2004106875A
Other languages
English (en)
Other versions
JP2005287757A (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 JP2004106875A priority Critical patent/JP4307310B2/ja
Priority to US11/089,334 priority patent/US7785198B2/en
Priority to EP05006801A priority patent/EP1584362A3/en
Publication of JP2005287757A publication Critical patent/JP2005287757A/ja
Application granted granted Critical
Publication of JP4307310B2 publication Critical patent/JP4307310B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • A63F13/10
    • 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/45Controlling the progress of the video 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Description

本発明はゲーム装置に関し、特に、プレイヤが操作するキャラクタに追従するように他の複数のキャラクタを移動させるゲームに関する。
特許文献1には、従キャラクタが主キャラクタに追従するゲーム装置が開示されている。
特許文献2には、複数のキャラクタを群をなして移動させるゲーム装置が開示されている。
特開2002−85845号公報 特開2000−172868号公報
特許文献1に開示されたゲーム装置では、従キャラクタが1つだけであったため、主キャラクタの移動に従って複数の従キャラクタを移動させることができなかった。
特許文献2に開示されたゲーム装置では、個々のキャラクタが独立して移動方向を決定し、その結果としてどこを目標に向かうかが不確定であるため、キャラクタを隊列を組んで移動させたり、隊列内で並び替えたりすることができなかった。
また、特許文献1および特許文献2に開示されたゲーム装置では、キャラクタが地形等の障害物に阻まれて移動できなくなったときに、回避することが考慮されていない。また、回避ルートを個別状況(キャラクタの位置やその周辺の地形の情報等)に応じてその都度判断して決定しようとすると、処理の負担が大きくなってしまう。
そこで、本発明では、上記の問題点のうちの少なくとも1つを解決しつつ、複数のキャラクタを自然に移動制御させることができるゲーム装置を提供することを目的とする。
上記の目的を達成するために本発明は以下の構成を採用した。なお、括弧内の参照符号や図番号や補足説明は、本発明の理解を助けるために図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、第1キャラクタ(リーダーキャラクタ)と複数の第2キャラクタ(サブキャラクタ)が登場するゲームを実行するゲーム装置である。本ゲーム装置は、操作手段(20)と、第1キャラクタ移動制御手段(22,S18)と、移動目標座標設定手段(22,S40)と、対応手段(図10,78)と、第2キャラクタ移動制御手段(22,S20)と、相対座標記憶手段(16,図6)とを備える。
第1キャラクタ移動制御手段は、前記操作手段による操作に基づいて前記第1キャラクタをゲーム空間内で移動制御して、当該第1キャラクタのゲーム空間内の座標である第1キャラクタ座標を設定する。移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって設定される第1キャラクタ座標に対応して、ゲーム空間内に複数の移動目標座標(スロット座標)を設定する(図5)。対応手段は、前記複数の第2キャラクタのそれぞれを前記複数の移動目標座標のいずれかに対応付ける。第2キャラクタ移動制御手段は、各前記第2キャラクタが前記対応手段によって対応付けられた移動目標座標を目指して移動するように前記複数の第2キャラクタのそれぞれを移動制御して、当該第2キャラクタのゲーム空間内の座標である第2キャラクタ座標を設定する(図11)。なお、第2キャラクタ移動制御手段は、所定のアルゴリズムに基づいて、第2キャラクタが移動目標座標を目指して移動するように制御する。ここで、所定のアルゴリズムとは、移動目標座標に向かって直線的に移動させるものであってもよいし、直線以外の経路によって移動させるものであってもよい。移動目標座標への経路を計算して、その経路に沿って移動させるものであってもよい。また、障害物を回避しつつ移動目標座標に向かうようなものであってもよい。相対座標記憶手段は、前記第1キャラクタ座標を基準とした前記複数の移動目標座標の相対座標を記憶する。また、前記移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって第1キャラクタ座標が変化したときに、変化後の第1キャラクタ座標と、前記相対座標記憶手段に記憶された相対座標とに基づいて、ゲーム空間における前記複数の移動目標座標を再設定する。
第2の発明は、第1の発明において、前記第2キャラクタ移動制御手段は、各第2キャラクタの移動方向を、現在の第2キャラクタ座標と、前記対応手段によって当該第2キャラクタに対応付けられた移動目標座標とに基づいて決定することを特徴とする。
の発明は、第1の発明において、前記ゲーム装置は、前記第1キャラクタ移動制御手段によって設定される前記第1キャラクタ座標を足跡座標として記録する足跡座標記録手段(22,S36)と、前記第2キャラクタのそれぞれについて、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であることを判定する第1判定手段(22,S52)とをさらに備える。また、前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標に基づいて移動させることを特徴とする(図15,図16)。なお、第1判定手段としては、より具体的に、前記第2キャラクタ移動制御手段によって決定された移動方向に障害物(固定オブジェクト、地形オブジェクト等)が存在することを検出するものであってもよい。なお、足跡座標記録手段は、新しい足跡座標が優先的に記録されるように蓄積記憶するようにしてもよい。このとき、所定数の足跡座標を記録しても良いし、所定時間内の足跡座標を蓄積記憶するようにしてもよい。
の発明は、第の発明において、前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された前記足跡座標のうち、当該第2キャラクタの現在位置に一番近い足跡座標を目指して移動させることを特徴とする(図15)。
の発明は、第の発明において、前記足跡座標記録手段は、前記足跡座標を、時間情報(フレーム番号)とともに記録する(図14)。時間情報は、当該足跡座標を記録した時間または当該足跡座標に第1キャラクタが存在したときの時間を示す情報である。また、前記第2キャラクタ移動制御手段は、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが足跡座標に到達したときに、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該第2キャラクタが到達した足跡座標よりも後に記録された足跡座標のうちの1つを目標足跡座標とし、当該目標足跡座標を目指して当該第2キャラクタを移動させることを特徴とする(図18)。
の発明は、第の発明において、前記ゲーム装置は、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが、前記第2キャラクタ移動制御手段によって指定された目標足跡座標に向かって移動することが不可能であることを判定する第2判定手段(22,S76)をさらに備える。また、前記第2キャラクタ移動制御手段は、前記目標足跡座標に向かって移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該目標足跡座標を除いた足跡座標であって、かつ当該第2キャラクタがすでに到達したことのある足跡座標よりも後に記録された足跡座標のうちの1つを目指して当該第2キャラクタを移動させることを特徴とする。
の発明は、第の発明において、前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが所定条件を満たしたときに、当該第2キャラクタを前記移動目標座標に向かって移動させることを特徴とする。なお、所定条件とは、例えば、対応付けられた移動目標座標を目指して移動することが可能になったことである。例えば、移動目標座標に直線的に向かうことが可能になったこと(すなわち、現在座標と移動目標座標の間に障害物がないこと)であってもよいし、他のアルゴリズムによって移動目標座標を目指して移動することが可能になったことを判定してもよい。
の発明は、第の発明において、前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが前記対応手段によって対応付けられた移動目標座標に所定距離以内近づいたときに、当該第2キャラクタを当該移動目標座標に向かって移動させることを特徴とする(図17)。
の発明は、操作手段(20)に対して電気的に接続されたコンピュータ(22)に、第1キャラクタと複数の第2キャラクタが登場するゲームを実行させるためのゲームプログラムである。このゲームプログラムは、前記コンピュータを、第1キャラクタ移動制御手段(22,S18)、移動目標座標設定手段(22,S40)、対応手段(図10,78)、および第2キャラクタ移動制御手段(22,S20)として機能させるためのものである。
第1キャラクタ移動制御手段は、前記操作手段による操作に基づいて前記第1キャラクタをゲーム空間内で移動制御して、当該第1キャラクタのゲーム空間内の座標である第1キャラクタ座標を設定する。移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって設定される第1キャラクタ座標を基準として、ゲーム空間内に複数の移動目標座標(スロット座標)を設定する。対応手段は、前記複数の第2キャラクタのそれぞれを前記複数の移動目標座標のいずれかに対応付ける。第2キャラクタ移動制御手段は、各第2キャラクタが前記対応手段によって対応付けられた移動目標座標を目指して移動するように前記複数の第2キャラクタのそれぞれを移動制御して、当該第2キャラクタのゲーム空間内の座標である第2キャラクタ座標を設定する(図11)。また、前記移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって第1キャラクタ座標が変化したときに、変化後の第1キャラクタ座標と、第1キャラクタ座標を基準とした前記複数の移動目標座標の相対座標とに基づいて、ゲーム空間における前記複数の移動目標座標を再設定する。
上記第1の発明によれば、第1キャラクタを移動操作すれば、第2キャラクタが第1キャラクタ座標に基づいて自律的に移動制御されるため、複数のキャラクタを同時に移動制御することができる。また、第2キャラクタは移動目標座標に必ず位置するのではなくて、当該移動目標座標を目標として自律的に移動制御するため、第2キャラクタは個々の状況・状態に応じて移動することとなり、個々の第2キャラクタがそれぞれ意思を持っているかのような自然な移動制御を実現できる。また、移動目標を設定できるため、特定の第2キャラクタを所望の場所に移動させるような制御が可能である。また、複数の移動目標座標の位置関係を一定に保ちつつ移動目標座標を設定できるため、複数の第2キャラクタが隊列を組んで移動するような移動制御ができる。
上記第2の発明によれば、第2キャラクタをそれぞれの移動目標座標に最短の移動距離で向かわせることができる。
上記第の発明によれば、第2キャラクタが移動目標座標に向かって移動できない状況になったときに(地形等に衝突する場合等)、それを回避する制御を自動的に行うことができる。
上記第の発明によれば、効率的に回避制御をおこなうことができる。
上記第の発明によれば、移動ができなくなって移動目標座標からはなれてしまった第2キャラクタが効率的に移動目標座標に近づくことができる。
上記第の発明によれば、第2キャラクタが目標足跡座標に向かって移動できない状況になったときに、それを回避する制御を自動的に行うことができる。
上記第および第の発明によれば、移動ができなくなって移動目標座標からはなれてしまった第2キャラクタを隊列に復帰させることができる。
図1は、本発明の一実施形態に係るゲームシステムの構成を示す外観図であり、図2はそのブロック図である。図1および図2に示すように、ゲームシステム10は、TVモニタ12、ゲーム機本体14、DVD−ROM16、外部メモリカード18、コントローラ20を備える。DVD−ROM16および外部メモリカード18は、ゲーム機本体14に着脱自在に装着される。コントローラ20は、通信ケーブルを介して、ゲーム機本体14に設けられた複数(図1では4つ)のコントローラポート用コネクタのいずれかに接続される。TVモニタ12は、AVケーブル等によってゲーム機本体14と接続される。なお、ゲーム機本体14とコントローラ20との通信は無線通信であってもよい。
DVD−ROM16は、ゲームプログラムやゲームデータ等を固定的に記憶している。プレイヤがゲームをプレイするとき、DVD−ROM16はゲーム機本体14に装着される。なお、ゲームプログラム等を記憶する手段として、DVD−ROM16の代わりに例えばCD−ROM、MO、メモリカード、ROMカートリッジ等の外部記憶媒体を用いてもよい。
外部メモリカード18は、例えばフラッシュメモリ等の書き換え可能な記憶媒体によって構成され、例えばゲームのセーブデータ等のデータを記録する。
ゲーム機本体14は、DVD−ROM16に記録されているプログラムを読み出し、読み出したプログラムに応じた処理を行う。
コントローラ20は、プレイヤがゲーム操作に関する入力を行うための入力装置であり、複数の操作スイッチを有する。コントローラ20は、プレイヤによる操作スイッチの押圧等に応じて操作データをゲーム機本体14に出力する。
TVモニタ12は、ゲーム機本体14から出力された画像データを画面に表示する。
次に、図2を参照してゲーム機本体14の構成について説明する。図2において、ゲーム機本体14には、CPU22およびそれに接続されるメモリコントローラ40が設けられる。さらにゲーム機本体14において、メモリコントローラ40は、GPU(グラフィックスプロセッシングユニット)24と、メインメモリ34と、DSP36と、各種インターフェース(I/F)42、44、46、48、52とに接続される。メモリコントローラ40は、これら各構成要素間のデータ転送を制御する。
ゲーム開始の際、まず、ディスクドライブ54は、ゲーム機本体14に装着されたDVD−ROM16を駆動する。DVD−ROM16に記憶されているゲームプログラムは、ディスクI/F52およびメモリコントローラ40を介して、メインメモリ34に読み込まれる。このメインメモリ34上のプログラムをCPU22が実行することによってゲームが開始される。ゲーム開始後、プレイヤは、操作スイッチを用いてコントローラ20に対してゲーム操作等の入力を行う。プレイヤによる入力に従い、コントローラ20は、操作データをゲーム機本体14に出力する。コントローラ20から出力される操作データは、コントローラI/F42およびメモリコントローラ40を介してCPU22に供給される。CPU22は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、GPU24やDSP36が用いられる。また、サブメモリ38は、DSP36が処理を行う際に用いられる。
GPU24は、ジオメトリユニット26およびレンダリングユニット28を含み、画像処理専用のメモリに接続されている。この画像処理専用メモリは、例えばカラーバッファ30やZバッファ32として利用される。ジオメトリユニット26は、仮想三次元空間であるゲーム空間に置かれた物体や図形に関する立体モデル(例えばポリゴンで構成されるオブジェクト)の座標についての演算処理を行うものであり、例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標から視点座標系やスクリーン座標系の座標への変換を行うものである。レンダリングユニット28は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについて各ピクセルごとのカラーデータ(RGBデータ)をカラーバッファ30に書き込むことによって、ゲーム画像を生成するためのものである。また、カラーバッファ30は、レンダリングユニット28によって生成されたゲーム画像データ(RGBデータ)を保持するために確保されたメモリ領域である。Zバッファ32は、3次元の視点座標から2次元のスクリーン座標に変換する際に失われる視点からの奥行情報を保持するために確保されたメモリ領域である。GPU24は、これらバッファを用いてTVモニタ12に表示すべき画像データを生成し、メモリコントローラ40およびビデオI/F44を介して、この画像データをTVモニタ12に適宜出力する。なお、ゲームプログラム実行時にCPU22において生成される音声データは、メモリコントローラ40からオーディオI/F48を介してスピーカ60に出力される。なお本実施形態では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばメインメモリ34の一部を画像処理用のメモリとして利用する方式(UMA:Unified Memory Architecture)を使うようにしてもよい。
次に、ゲームプログラムに基づいてCPU22によって実行されるゲーム処理の具体例を説明する。
本実施形態で実行されるゲームは、仮想ゲーム空間中のキャラクタをプレイヤがコントローラ20を用いて移動させて遊ぶものである。なお、ゲーム空間には、プレイヤが操作するキャラクタ(以下、リーダーキャラクタと称す)以外にも、コンピュータによって所定のアルゴリズムに基づいて移動制御される複数のキャラクタ(以下、サブキャラクタと称す)が存在する。これら複数のサブキャラクタは、所定の隊列を組んでリーダーキャラクタに追従するように移動制御される。
図3は、リーダーキャラクタとそれに追従する複数のサブキャラクタとが隊列を組んで移動する様子を示している。ただし実際には図3に示すような整った隊列を組んで移動するわけではなく、各サブキャラクタは個別に移動制御されるため、サブキャラクタ間の移動速度の差や地形の影響などによって、隊列は図4のようになる。なお、リーダーキャラクタが移動を停止してから十分な時間が経過すれば、サブキャラクタは基本的には図3のような位置で停止することになる。
上記のようなサブキャラクタの移動は、ゲーム空間内に複数の移動目標地点(以下、スロットと称す)を設定し、各サブキャラクタに対して1つのスロットを対応させ、各サブキャラクタを対応するスロットに向かって移動させることによって実現される。各スロットはリーダーキャラクタの位置を基準としてその周辺に設定されるものであり、リーダーキャラクタが移動すると、それに応じて各スロットも移動する。
図5は、リーダーキャラクタと複数のスロット(スロット1〜スロット35)との位置関係を示したものである。リーダーキャラクタの向き(進行方向)とは逆側に、スロット1〜スロット35が図5のように配置される。なお、本実施形態では、スロット1〜35の座標は、リーダーキャラクタを基準としたキャラクタ座標系で定義されている。図6は、キャラクタ座標系における各スロットの座標を示している。図6で定義される座標は、キャラクタ座標系における座標であるとともに、空間座標系におけるリーダーキャラクタの位置を基準とする相対座標である。すなわち、リーダーキャラクタがゲーム空間において移動したり向きを変化したとき(姿勢を変化したとき)には、それに応じて、各スロットの座標が変更される。なお、本実施例では、キャラクタ座標系においてスロットのY座標値は常に0としているため、図6の例では相対座標をキャラクタ座標系のXp軸とZp軸とでのみ規定しているが、Xp軸とYp軸とZp軸とで規定しても構わない。この相対座標は、ゲームデータとしてDVD−ROM16に予め記憶されている。なお、相対座標をプレイヤの好みに応じて変更したり、または、ゲームの進行状態に応じて変化させるようにしてもよい。
ゲーム空間(空間座標系)でのスロットの座標は、リーダーキャラクタの座標・向き,スロットの相対座標,および地面の起伏に基づいて決定される。以下、スロット座標の決定方法の例を説明する。
まず、空間座標系の3つの軸を図7のようにXg,Yg,Zgとし、リーダーキャラクタの姿勢行列を(ex,ey,ez)(ただし、exはZp軸方向の単位ベクトルであり、eyはYp軸方向の単位ベクトルであり、ezはZp軸方向の単位ベクトルである)とする。Xp,Yp,Zpはキャラクタ座標系のXYZ軸の空間座標系における軸である。
この場合、リーダーキャラクタの座標をL=(LXg,LYg,LZg)とし、スロット1の座標Sg1=(SXg1,SYg1,SZg1)とすると、SXg1およびSZg1は、以下の式で算出される。
Sg1=SXp1・ex+SZp1・ez+L ・・・(1)
また、SYg1は、上式(1)で算出されたSXg1,SYg1に対応する地面のYg座標値に一致する。
スロット2〜35の座標についてもスロット1と同様に算出される。図8は、ゲーム空間を横から見た図であり、各スロットの座標がリーダーキャラクタの座標と姿勢に応じて決定される様子を模式的に示す図である。上式(1)に基づいて各スロットのXp,Zp座標が設定され、対応する地面の表面上にスロットが配置される。
なお、Yg軸の方向とeyの方向が必ず一致する場合、すなわちリーダーキャラクタがYg軸回りにしか回転しない場合には、より簡単にスロット座標を算出することができる。この場合を表したのが図9であり、Yg軸およびeyの方向は紙面に垂直な方向である。
この場合、図9に示すように、ezとZg軸とのなす角をθとすると、
ex=(cosθ,0,−sinθ)
ez=(sinθ,0,cosθ)
ey=(0,1,0)
となる。これらの値を上式(1)に代入すると、例えばスロット1の座標Sg1=(SXg1,SYg1,SZg1)のSXg1およびSZg1については、
SXg1=SXp1cosθ+SZp1sinθ+LXg
SZg1=−SXp1sinθ+SZp1cosθ+LYg
と算出することができる。SYg1については前述のように地形に応じて決定される。
スロット2〜35の座標についてもスロット1と同様に算出される。
次に、各スロットと各サブキャラクタとの関係について説明する。
図10に示すように、各サブキャラクタには、移動目標地点となるスロット番号が個別に対応付けられている。図10の例では、例えばサブキャラクタ番号1にはスロット番号1が対応付けられており、サブキャラクタ番号2にはスロット番号2が対応付けられており、サブキャラクタ番号3にはスロット番号3が対応付けられている。この結果、図11に示すように、サブキャラクタ番号が1であるサブキャラクタ(以下、単にサブキャラクタ1と称す)はスロット1を目指して移動し、サブキャラクタ2はスロット2を目指して移動し、サブキャラクタ3はスロット3を目指して移動する。
なお、図10の例ではキャラクタ番号=スロット番号となっているが、これは単なる一例であって、対応関係は任意に設定することができる。例えば、ゲーム中でリーダーキャラクタの仲間になった順番でサブキャラクタにスロット番号を割り当てても構わないし、サブキャラクタの特性(例えば体の色など)に応じて、例えば同色のサブキャラクタ同士が隣接するようにスロット番号を割り当てても構わない。また、図10の対応関係は、必ずしも固定でなくてもよい。本実施形態では、後述する並び替え処理により、ゲーム中にサブキャラクタとスロットとの対応関係を適宜に変更可能である。
以上のように、各サブキャラクタは、自身に対応付けられたスロットを目指してそれぞれ移動することにより、図12のようにリーダーキャラクタに追従して所定の隊列を組んでゲーム空間を移動することとなる。
なお、上述のような制御により各サブキャラクタがゲーム空間を移動しているときに、図13に示すように、壁などの障害物によってサブキャラクタの進行が妨げられる場合がある。図13の例では、サブキャラクタ16,25,26は、それぞれスロット16,25,26を目指して移動しようとするが、サブキャラクタとスロットとの間に障害物(地形)が存在するため、このままではリーダーキャラクタに追従することはできない。そこで本実施形態では、このような事態を回避するための工夫が設けられている。簡単に言えば、サブキャラクタが障害物に衝突したときには、そのサブキャラクタをスロットの方向に移動させることをやめ、リーダーキャラクタが通った軌跡を辿らせるようにその移動を制御する。リーダーキャラクタの軌跡を辿る限り、その進路を障害物に阻まれることはないからである。以下、この障害物を回避する方法についてより具体的に説明する。
本実施形態では、図14に示すように、リーダーキャラクタの現在位置(空間座標系における座標)を所定のタイミングで順次、リーダーキャラクタの「足跡」として蓄積していく。より具体的には、例えば所定フレームに1度(例えば、10フレームに1度)のタイミングで足跡を記憶する。このときに記憶するデータ(以下、足跡データと称す)には、その時点のフレーム番号とリーダーキャラクタの座標が含まれる。
なお、本実施形態では、前回に足跡を記憶してから10フレームが経過した時点でリーダーキャラクタがその足跡から一定距離以上離れていない場合には、新たな足跡を記憶しないようにしている。これにより、あまり意味のない足跡データが蓄積されてしまうことを防止することができ、記憶領域を有効に活用することができる。なお、足跡データを無限に蓄積することは不可能なので、一定以上古い足跡データについては記憶領域から削除する必要がある。例えば、蓄積している足跡データの数が一定数以上になった場合には、新たな足跡データを記憶する際に、蓄積されている足跡データの中から最も古い(すなわちフレーム番号が最も小さい)足跡データを記憶領域から削除するようにすればよい。以下、蓄積されている足跡のうち、最も新しい足跡を足跡Snと称し、その足跡Snからk番目に新しい足跡を足跡Sn−kと称する。
サブキャラクタが図13のように障害物にその進路を阻まれた場合、進路を阻まれたサブキャラクタの移動目標が、そのサブキャラクタの現在位置に最も近い足跡へと変更される。図15を参照してより具体的に説明すると、サブキャラクタ16は、壁にぶつかると、スロット16から、サブキャラクタ16の現在位置に最も近い足跡、つまり足跡Sn−4に移動目標を変更する。同様に、サブキャラクタ25は、サブキャラクタ25に最も近い足跡Sn−5に移動目標を変更し、サブキャラクタ26は、サブキャラクタ26に最も近い足跡Sn−5に移動目標を変更する。
サブキャラクタが移動目標の足跡に到達すると、この足跡よりも新しい足跡(フレーム番号が新しい足跡)にその移動目標を変更する。例えば、図16のように、サブキャラクタ16が足跡Sn−4に到着すると、サブキャラクタ16の移動目標が足跡Sn−3に変更される。さらに、サブキャラクタ16が足跡Sn−3に到着すると、サブキャラクタ16の移動目標が足跡Sn−2に変更される。これを繰り返すことによって、サブキャラクタ16はリーダーキャラクタの移動軌跡を辿ってリーダーキャラクタに追従することができる。サブキャラクタ25,26についても同様である。
なお、サブキャラクタがリーダーキャラクタの移動軌跡を辿っている間(すなわち、足跡を辿っている間)、サブキャラクタの現在座標とそのサブキャラクタに対応するスロットの座標との距離の判定が行われ、サブキャラクタが、対応するスロットから一定距離以内に近づいた場合には、サブキャラクタの移動目標が足跡からスロットに変更される。その結果、図17に示すように、各サブキャラクタは最終的に、自身に対応付けられたスロットを目指して移動し、本来の位置でリーダーキャラクタに追従することができる。
なお、サブキャラクタが足跡を辿る場合には、蓄積された順番に従って足跡を辿って行くのが普通であるが、本実施形態では、サブキャラクタを本来のスロットにできるだけ早く到達させるべく、到達した足跡よりも新しい足跡の中から、到達した足跡に対して最も近い足跡を次の移動目標に変更する。例えば、図18のようにサブキャラクタが足跡Sn−7に到達した場合に、次の移動目標を単純に足跡Sn−6に設定するのではなく、足跡Sn−7よりも新しい足跡、すなわち足跡Sn〜Sn−6の中で、足跡Sn−7から最も近い足跡、すなわち足跡Sn−4を次の移動目標として設定する。このようなショートカットによって、蓄積された順番に従って足跡を辿って行く場合に比べて、本来の目標スロットにより早く復帰することができる。
なお、上記のようなショートカットを行う場合、その途中で障害物に進行を妨げられてしまう可能性もある。例えば図18において、足跡Sn−7と足跡Sn−4の間に壁が存在する場合がそれに該当する。このような場合には、移動目標を別の足跡に変更するか、または、一旦足跡Sn−7(到達済みの最新の足跡)に戻って蓄積された順番に従って足跡を辿って行くことにより、リーダーキャラクタの追跡を続けることができる。本実施形態では、サブキャラクタ毎に、すでに到達した足跡のうち最も新しい足跡のフレーム番号(図18の例では足跡Sn−7のフレーム番号fn−7)を記憶しておき、ショートカット中に障害物に進路を阻まれた場合には、そのフレーム番号に基づいて、すでに到達した足跡よりも新しい足跡(図18の例では足跡Sn〜Sn−6)のうち、現在の移動目標(図18の例ではSn−4)を除いて、サブキャラクタの現在位置から最も近い足跡を次の移動目標として設定する(図18の例ではSn−3)。これにより、ショートカット中に障害物に進路を阻まれた場合にも、引き続きリーダーキャラクタを追跡することができる。
次に、ゲームプログラムに基づいてCPU22によって実行されるゲーム処理についてより詳細に説明する。
図19は、メインメモリ34のメモリマップである。リーダーキャラクタデータ領域70には、リーダーキャラクタの現在位置の座標(空間座標系)と、リーダーキャラクラの姿勢ベクトル(空間座標系)が記憶される。サブキャラクタデータ領域71には、サブキャラクタ毎に、サブキャラクタの現在位置の座標(空間座標系)と、回避フラグと、目標足跡(足跡データ領域に記憶される足跡データのうちの1つを指定するデータ)と、特性と、すでに到達した足跡のうちの最新の足跡のフレーム番号とが記憶される。足跡データ領域74には、複数の足跡データ(図の例では10個の足跡データ)が蓄積される。各足跡データには、座標(空間座標系)とフレーム番号が含まれる。スロットデータ領域76には、スロット毎に、スロット座標(空間座標系)が記憶される。このスロット座標は、前述のように、図6に示したような相対座標等に基づいて決定されるものである。スロット割り当て領域78には、サブキャラクタ毎に、図10に示したようなサブキャラクタとスロット番号との対応関係が記憶されている。
図20〜図24は、ゲームプログラムに基づいてCPU22によって実行されるゲーム処理の流れを示すフローチャートである。
図20において、まずCPU22はゲーム空間を設定する(S10)。より具体的には、リーダーキャラクタおよびサブキャラクタをゲーム空間の初期位置に配置する。そして、全サブキャラクタの回避フラグをオフにし(S12)、足跡タイマーのカウントを開始する(S14)。回避フラグは、サブキャラクタが壁等の障害物によってスロットへの移動を妨げられたときにオンにされるフラグであって、障害物を回避するために足跡を辿っている最中であるかどうかを表すフラグである。足跡タイマーは、足跡データを10フレーム毎に記憶するためのタイマーである。
次にCPU22は、コントローラ20からの操作入力を検出する(S16)。次に、CPU22は、リーダーキャラクタの移動制御処理を行う(S18)。以下、このリーダーキャラクタ移動制御処理の詳細を図21を参照して説明する。
図21において、CPU22は、まず操作入力に基づいてリーダーキャラクタの移動制御を行う(S30)。より具体的には、操作入力に基づいてリーダーキャラクタの座標および姿勢ベクトルを更新する。続いてCPU22は、足跡タイマーのカウント値が所定フレーム(例えば、10フレーム)を超えたかどうかを判定し(S32)、10フレームを超えた場合は、リーダーキャラクタの現在の座標と最新の足跡の座標との距離が所定値以上かどうかを判断する。なお、最新の足跡の座標は、メインメモリ34の足跡データ領域74に含まれている複数の足跡データのうち、フレーム番号が最も大きいものから取得する。
ステップS32でNoの場合、または、ステップS34でNoの場合には、足跡データを記憶することなくリーダーキャラクタ移動制御処理を終了する。一方、ステップS34でYesの場合は、リーダーキャラクタの現在の座標と現在のフレーム番号とを新たな足跡データとして足跡データ領域74に記憶する(S36)。このとき、足跡データ領域74にすでに10個の足跡データが記憶されている場合には、フレーム番号が最も小さい足跡データを記憶している領域に新しい足跡データを上書きする。そして、足跡タイマーをリセット(再カウントを開始)し(S38)、リーダーキャラクタ移動制御処理を終了する。
図20において、リーダーキャラクタ移動制御処理が終了すると、CPU22は、サブキャラクタ移動制御処理を行う(S20)。以下、このサブキャラクタ移動制御処理の詳細を図22を参照して説明する。
図22において、CPU22は、まず各スロットの座標(空間座標系)を、図7〜図9を参照して説明した方法で計算し、メインメモリ34のスロットデータ領域76に記憶する。すなわち、DVD−ROM16に記憶されている図6に示したような各スロットの相対座標と、リーダーキャラクタの現在の座標および姿勢ベクトルに基づいて、各スロットの座標(空間座標系)を計算する。
以下で説明する図22のステップS42〜ステップS58、および図23のステップS62〜ステップS80の処理は、各サブキャラクタを処理対象として、サブキャラクタの数だけ順次繰り返される。以下では、代表例として、サブキャラクタ1を処理対象とする場合について説明する。
まずCPU22は、サブキャラクタ1の回避フラグがオンかどうかを判断し(S42)、オンである場合は図23のステップS62に進み、オフである場合は図22のステップS44に進む。なお、回避フラグがオンである場合の処理については後述し、以下では回避フラグがオフである場合の動作についてまず説明する。
ステップS42で、サブキャラクタ1の回避フラグがオフである場合、CPU22は、まずサブキャラクタ1の現在位置から見た目標スロット(スロット割り当て領域78においてサブキャラクタ1に対応付けられたスロット)の方向を計算する(S44)。この計算には、サブキャラクタ1の座標と目標スロットの座標が用いられる。次にCPU22は、計算した方向へサブキャラクタ1を所定距離だけ移動させる(S46)。より具体的には、サブキャラクタ1の現在の座標を、ステップS44で計算した方向へサブキャラクタ1の移動速度に応じた量だけシフトさせる。次にCPU22は、サブキャラクタ1が移動したときに他のキャラクタと衝突するかどうかを判定し(S48)、衝突してしまう場合には、他のキャラクタと衝突する直前の位置までサブキャラクタ1が移動するように、サブキャラクタ1の座標を決定する(S50)。
続いてCPU22は、ステップS46でのサブキャラクタ1の移動の結果、サブキャラクタ1が地形に衝突するかどうかを判定し(S52)、地形に衝突しない場合は、ステップS60に進む。
一方、地形に衝突してしまう場合は、ステップS46でのサブキャラクタ1の移動をキャンセルし(S54)、サブキャラクタ1の現在位置から最も近い足跡を目標足跡として設定し(S56)、サブキャラクタ1の回避フラグをオンにする(S58)。この結果、サブキャラクタ1は、目標スロットに直接向かうことを諦め、次のフレームからリーダーキャラクタの足跡を辿ることとなる。サブキャラクタ1の回避フラグをオンにした後は、ステップS60に進む。
なお、本実施形態では、ステップS52でサブキャラクタ1が地形に衝突すると判定されたときにサブキャラクタ1の回避フラグをオンにするとしたが、これに替えて、サブキャラクタ1が地形にぶつかってから一定時間以上その進行を妨げられた場合に初めてサブキャラクタ1の回避フラグをオンにするようにしてもよい。この場合、地形にぶつかっている時間をカウントするためのカウンタをサブキャラクタ毎に用意し、その値を所定の比較値と比較するようにすればよい。
また、本実施形態では、ステップS64でサブキャラクタ1を所定距離だけ移動させてみて、その結果、地形に衝突すると分かった時点でサブキャラクタ1の回避フラグをオンにするとしたが、これに替えて、サブキャラクタ1の現在位置と目標スロットとの間に障害物が存在するかどうかを定期的に判定し、障害物が存在することが分かった時点で(すなわち障害物に接近する前に)回避フラグをオンにするようにしても構わない。
一方、ステップS62で、サブキャラクタ1の回避フラグがオンである場合、まずCPU22は、図23のステップS62で、サブキャラクタ1の現在位置から見た目標足跡の方向を計算する。この計算には、サブキャラクタ1の座標と目標足跡の座標が用いられる。次にCPU22は、計算した方向へサブキャラクタ1を所定距離だけ移動させる(S64)。より具体的には、サブキャラクタ1の現在の座標を、ステップS62で計算した方向へサブキャラクタ1の移動速度に応じた量だけシフトさせる。
続いてCPU22は、ステップS66でのサブキャラクタ1の移動の結果、サブキャラクタ1が目標足跡に到着したかどうかを判定し(S66)、目標足跡に到達した場合は、この目標足跡に対応する足跡データのフレーム番号をメインメモリ34の足跡データ領域74から読み出して、サブキャラクタデータ領域72に、「すでに到達した足跡のうちの最新の足跡のフレーム番号」として記憶する(S68)。そして、目標足跡を変更する(S70)。より具体的には、足跡データ領域74に記憶されている複数の足跡の中から、フレーム番号がサブキャラクタデータ領域72に記憶されているフレーム番号よりも大きく(つまりサブキャラクタ1がすでに到達したことのある足跡よりも新しい足跡)、かつサブキャラクタ1の現在位置から最も近い足跡を抽出して、こうして抽出された足跡を次の目標足跡として設定する。
次にCPU22は、サブキャラクタ1の現在位置から目標スロットまでの距離が所定値以下となったかどうかを判断し(S72)、所定値以下となった場合は、次フレーム以降でサブキャラクタ1が目標スロットに向かうように、サブキャラクタ1の回避フラグをオフにする(S74)。
次にCPU22は、ステップS64でのサブキャラクタ1の移動の結果、サブキャラクタ1が地形に衝突するかどうかを判定し(S76)、地形に衝突しない場合は、図22のステップS60に進む。
一方、地形に衝突してしまう場合は、ステップS64でのサブキャラクタ1の移動をキャンセルし(S78)、目標足跡を変更する(S80)。より具体的には、足跡データ領域74に記憶されている複数の足跡の中から、現在の目標足跡以外の足跡で、かつフレーム番号がサブキャラクタデータ領域72に記憶されているフレーム番号よりも大きく(つまりサブキャラクタ1がすでに到達したことのある足跡よりも新しい足跡)、かつサブキャラクタ1の現在位置から最も近い足跡を抽出して、こうして抽出された足跡を次の目標足跡として設定する。そして、図22のステップS60に進む。
なお、本実施形態では、ステップS76でサブキャラクタ1が地形に衝突すると判定されたときに目標足跡を変更するとしたが、これに替えて、サブキャラクタ1が地形にぶつかってから一定時間以上その進行を妨げられた場合に初めてサブキャラクタ1の目標足跡を変更するようにしてもよい。この場合、地形にぶつかっている時間をカウントするためのカウンタをサブキャラクタ毎に用意し、その値を所定の比較値と比較するようにすればよい。
また、本実施形態では、ステップS64でサブキャラクタ1を所定距離だけ移動させてみて、その結果、地形に衝突すると分かった時点でサブキャラクタ1の目標足跡を変更するとしたが、これに替えて、サブキャラクタ1の目標足跡を設定する時点でサブキャラクタ1の現在位置と目標足跡との間に障害物が存在するかどうかを予め判定し、障害物が存在する場合には目標足跡を他のものに変更するようにしても構わない。
図22のステップS60では、全てのサブキャラクタについて処理が完了したかどうかを判断し(S60)、未処理のサブキャラクタが存在する場合にはステップS42に戻り、その未処理のサブキャラクタのうちの1つのサブキャラクタを処理対象として、同様の処理を繰り返す。こうして最終的に全てのサブキャラクタについて処理が完了すると、図20のステップS22に進む。
図22のステップS22では、サブキャラクタの並べ替えを行うべきかどうかを、例えばコントローラ20からの操作入力に基づいて判断し、サブキャラクタの並べ替えを行う場合はステップS24の並べ替え処理を実行する。以下、図24を参照して、並べ替え処理の詳細を説明する。
図24において、CPU22は、先頭のサブキャラクタ(すなわち、スロット番号2に対応するサブキャラクタ)を他の指定されたサブキャラクタに交換する指示があったかどうかを判断する(S82)。具体的には、例えば、プレイヤがコントローラ20の所定スイッチを操作することによって、当該交換指示および、先頭に持ってきたいサブキャラクタを指定する指示がされる。この指示があった場合、指定されたサブキャラクタとスロット番号2のサブキャラクタのスロット番号を入れ替えるように、メインメモリ34のサブキャラクタデータ領域72およびスロット割り当て領域78を更新する(S84)。具体的には、スロット番号2であったサブキャラクタのスロット番号に、当該指定されたサブキャラクタに割り当てられていたスロット番号を設定し、当該指定されたサブキャラクタのスロット番号に2を設定する。
次に、CPU22は、特性による並べ替えの指示があったかどうかを判断する(S86)。具体的には、例えば、プレイヤがコントローラ20の所定スイッチを操作することによって、当該並べ替えの指示および特性の指定がされる。この指示があった場合、指定された特性のサブキャラクタが隊列の前方に位置するように、メインメモリ34のサブキャラクタデータ領域72およびスロット割り当て領域78を更新する(S88)。より具体的には、指定された特性を持つ全てのサブキャラクタにスロット番号を小さい方から順番に割り当て、残りのサブキャラクタに残りのスロットを割り当てる。
続いて、図20において、CPU22はゲーム画像を表示し(S26)、ステップS16に戻る。こうして、ステップS16〜ステップS26の処理が、ゲーム終了まで繰り返されることとなる。
なお、本実施形態では、ゲーム空間が3次元の仮想空間であるとしたが、本発明はこれに限らず、ゲーム空間が2次元であってもよい。
また、本実施形態では、ゲームプログラムがDVD−ROM16からゲーム機本体14に供給されるとしたが、本発明はこれに限らず、ゲームプログラムが任意の記録媒体からゲーム機本体14に供給されてもよいし、有線または無線の通信回線を通じてゲーム機本体14に供給されてもよい。さらには、ゲームプログラムの機能をハードウェアのみで実現しても構わない。
ゲームシステム10の外観図 ゲーム機本体14の内部構成を示すブロック図 リーダーキャラクタとサブキャラクタとで構成される隊列の一例を示す図 リーダーキャラクタとサブキャラクタとで構成される隊列の他の例を示す図 リーダーキャラクタと各スロットとの位置関係を示す図 スロット毎に設定される相対座標の一例を示す図 空間座標系におけるリーダーキャラクタの姿勢ベクトルの様子を示す図 各スロットのYg軸座標の決定方法の一例を示す図 空間座標系におけるリーダーキャラクタの姿勢ベクトルの様子を示す他の図 サブキャラクタ番号とスロット番号との対応関係の一例を示す図 対応付けられたスロットへ向かって移動するサブキャラクタの様子を示す図 リーダーキャラクタとサブキャラクタがゲーム空間を隊列を組んで移動する様子を示す図 一部のサブキャラクタが地形によってその進行を妨げられている様子を示す図 足跡データが順次蓄積される様子を示す図 サブキャラクタが移動目標をリーダーキャラクタの足跡に変更して移動する様子を示す図 サブキャラクタがリーダーキャラクタの移動軌跡を辿って移動する様子を示す図 サブキャラクタが、自身に対応付けられたスロットに復帰する様子を示す図 サブキャラクタがショートカットする様子を示す図 メインメモリ34のメモリマップ ゲーム処理の流れを示すフローチャート リーダーキャラクタ移動制御処理の流れを示すフローチャート サブキャラクタ移動制御処理の流れの一部を示すフローチャート サブキャラクタ移動制御処理の流れの一部を示すフローチャート 並べ替え処理の流れを示すフローチャート
符号の説明
10 ゲームシステム
12 TVモニタ
14 ゲーム機本体
16 DVD−ROM
18 外部メモリカード
20 コントローラ
22 CPU
24 GPU
26 ジオメトリユニット
28 レンダリングユニット
30 カラーバッファ
32 Zバッファ
34 メインメモリ
36 DSP
38 サブメモリ
40 メモリコントローラ
42 コントローラI/F
44 ビデオI/F
46 外部メモリI/F
48 オーディオI/F
50 スピーカ
52 ディスクI/F
54 ディスクドライブ

Claims (12)

  1. 第1キャラクタと複数の第2キャラクタが登場するゲームを実行するゲーム装置であって、
    操作手段と、
    前記操作手段による操作に基づいて前記第1キャラクタをゲーム空間内で移動制御して、当該第1キャラクタのゲーム空間内の座標である第1キャラクタ座標を設定する第1キャラクタ移動制御手段と、
    前記第1キャラクタ移動制御手段によって設定される第1キャラクタ座標を基準として、ゲーム空間内に複数の移動目標座標を設定する移動目標座標設定手段と、
    前記複数の第2キャラクタのそれぞれを前記複数の移動目標座標のいずれかに対応付ける対応手段と、
    各前記第2キャラクタが前記対応手段によって対応付けられた移動目標座標を目指して移動するように前記複数の第2キャラクタのそれぞれを移動制御して、当該第2キャラクタのゲーム空間内の座標である第2キャラクタ座標を設定する第2キャラクタ移動制御手段と、
    第1キャラクタ座標を基準とした前記複数の移動目標座標の相対座標を記憶する相対座標記憶手段と
    前記第1キャラクタ移動制御手段によって設定される前記第1キャラクタ座標を足跡座標として記録する足跡座標記録手段と、
    前記第2キャラクタのそれぞれについて、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であることを判定する第1判定手段とを備え、
    前記移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって第1キャラクタ座標が変化したときに、変化後の第1キャラクタ座標と、前記相対座標記憶手段に記憶された相対座標とに基づいて、ゲーム空間における前記複数の移動目標座標を再設定し、
    前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標に基づいて移動させることを特徴とするゲーム装置。
  2. 前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標のうち、当該第2キャラクタの現在位置に一番近い足跡座標を目指して移動させることを特徴とする、請求項に記載のゲーム装置。
  3. 前記足跡座標記録手段は、前記足跡座標を、時間情報とともに記録し、
    前記第2キャラクタ移動制御手段は、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが足跡座標に到達したときに、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該第2キャラクタが到達した足跡座標よりも後に記録された足跡座標を目標足跡座標とし、当該目標足跡座標を目指して当該第2キャラクタを移動させることを特徴とする、請求項に記載のゲーム装置。
  4. 前記ゲーム装置は、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが、前記第2キャラクタ移動制御手段によって指定された目標足跡座標に向かって移動することが不可能であることを判定する第2判定手段をさらに備え、
    前記第2キャラクタ移動制御手段は、前記目標足跡座標に向かって移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該目標足跡座標を除いた足跡座標であって、かつ当該第2キャラクタがすでに到達したことのある足跡座標よりも後に記録された足跡座標を目指して当該第2キャラクタを移動させることを特徴とする、請求項に記載のゲーム装置。
  5. 前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが所定条件を満たしたときに、当該第2キャラクタを前記移動目標座標に向かって移動させることを特徴とする、請求項に記載のゲーム装置。
  6. 前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが前記対応手段によって対応付けられた移動目標座標に所定距離以内近づいたときに、当該第2キャラクタを当該移動目標座標に向かって移動させることを特徴とする、請求項に記載のゲーム装置。
  7. 操作手段に対して電気的に接続されたコンピュータに、第1キャラクタと複数の第2キャラクタが登場するゲームを実行させるためのゲームプログラムであって、前記コンピュータを、
    前記操作手段による操作に基づいて前記第1キャラクタをゲーム空間内で移動制御して、当該第1キャラクタのゲーム空間内の座標である第1キャラクタ座標を設定する第1キャラクタ移動制御手段、
    前記第1キャラクタ移動制御手段によって設定される第1キャラクタ座標を基準として、ゲーム空間内に複数の移動目標座標を設定する移動目標座標設定手段、
    前記複数の第2キャラクタのそれぞれを前記複数の移動目標座標のいずれかに対応付ける対応手段
    各前記第2キャラクタが前記対応手段によって対応付けられた移動目標座標を目指して移動するように前記複数の第2キャラクタのそれぞれを移動制御して、当該第2キャラクタのゲーム空間内の座標である第2キャラクタ座標を設定する第2キャラクタ移動制御手段
    前記第1キャラクタ移動制御手段によって設定される前記第1キャラクタ座標を足跡座標として記録する足跡座標記録手段、および
    前記第2キャラクタのそれぞれについて、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であることを判定する第1判定手段として機能させ、
    前記移動目標座標設定手段は、前記第1キャラクタ移動制御手段によって第1キャラクタ座標が変化したときに、変化後の第1キャラクタ座標と、第1キャラクタ座標を基準とした前記複数の移動目標座標の相対座標とに基づいて、ゲーム空間における前記複数の移動目標座標を再設定し、
    前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標に基づいて移動させることを特徴とするゲームプログラム。
  8. 前記第2キャラクタ移動制御手段は、前記対応手段によって対応付けられた移動目標座標を目指して移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標のうち、当該第2キャラクタの現在位置に一番近い足跡座標を目指して移動させることを特徴とする、請求項に記載のゲームプログラム。
  9. 前記足跡座標記録手段は、前記足跡座標を時間情報とともに記録し、
    前記第2キャラクタ移動制御手段は、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが足跡座標に到達したときに、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該第2キャラクタが到達した足跡座標よりも後に記録された足跡座標を目標足跡座標とし、当該目標足跡座標を目指して当該第2キャラクタを移動させることを特徴とする、請求項に記載のゲームプログラム。
  10. 前記ゲームプログラムは、前記足跡座標記録手段によって記録された足跡座標に基づいて移動している第2キャラクタが、前記第2キャラクタ移動制御手段によって指定された目標足跡座標に向かって移動することが不可能であることを判定する第2判定手段として前記コンピュータをさらに機能させるものであり、
    前記第2キャラクタ移動制御手段は、前記目標足跡座標に向かって移動することが不可能であると判定された第2キャラクタを、前記足跡座標記録手段によって記録された足跡座標であって、かつ当該目標足跡座標を除いた足跡座標であって、かつ当該第2キャラクタがすでに到達したことのある足跡座標よりも後に記録された足跡座標のうち、当該第2キャラクタの現在位置に一番近い足跡座標を目指して当該第2キャラクタを移動させることを特徴とする、請求項に記載のゲームプログラム。
  11. 前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが所定条件を満たしたときに、当該第2キャラクタを前記移動目標座標に向かって移動させることを特徴とする、請求項に記載のゲームプログラム。
  12. 前記第2キャラクタ移動制御手段は、前記足跡座標に基づいて移動している第2キャラクタが前記対応手段によって対応付けられた移動目標座標に所定距離以内近づいたときに、当該第2キャラクタを当該移動目標座標に向かって移動させることを特徴とする、請求項に記載のゲームプログラム。
JP2004106875A 2004-03-31 2004-03-31 ゲーム装置及びゲームプログラム Expired - Lifetime JP4307310B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004106875A JP4307310B2 (ja) 2004-03-31 2004-03-31 ゲーム装置及びゲームプログラム
US11/089,334 US7785198B2 (en) 2004-03-31 2005-03-25 Game apparatus and game program providing lead character and sub character group movement
EP05006801A EP1584362A3 (en) 2004-03-31 2005-03-29 Game apparatus and game program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004106875A JP4307310B2 (ja) 2004-03-31 2004-03-31 ゲーム装置及びゲームプログラム

Publications (2)

Publication Number Publication Date
JP2005287757A JP2005287757A (ja) 2005-10-20
JP4307310B2 true JP4307310B2 (ja) 2009-08-05

Family

ID=34909453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004106875A Expired - Lifetime JP4307310B2 (ja) 2004-03-31 2004-03-31 ゲーム装置及びゲームプログラム

Country Status (3)

Country Link
US (1) US7785198B2 (ja)
EP (1) EP1584362A3 (ja)
JP (1) JP4307310B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045844A1 (en) 1998-03-13 1999-09-16 University Of Iowa Research Foundation A curved cross section based system and method for gastrointestinal tract unraveling
JP3732843B2 (ja) * 2004-02-18 2006-01-11 株式会社スクウェア・エニックス ビデオ・ゲーム装置のプログラムおよびビデオ・ゲーム装置
JP4771821B2 (ja) * 2006-02-02 2011-09-14 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
JP4125760B2 (ja) * 2006-03-15 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP4040658B2 (ja) * 2006-03-16 2008-01-30 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US8990707B2 (en) * 2008-01-09 2015-03-24 International Business Machines Corporation System and method for group control in a metaverse application
JP5804618B2 (ja) * 2009-05-28 2015-11-04 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP5614956B2 (ja) * 2009-08-11 2014-10-29 株式会社バンダイナムコゲームス プログラム、画像生成システム
US8799788B2 (en) * 2011-06-02 2014-08-05 Disney Enterprises, Inc. Providing a single instance of a virtual space represented in either two dimensions or three dimensions via separate client computing devices
JP5420051B1 (ja) * 2012-11-14 2014-02-19 株式会社 ディー・エヌ・エー 端末装置用プログラムおよびゲーム提供装置
US8790178B1 (en) * 2012-11-15 2014-07-29 Kabam, Inc. Metric based conformance by character units to specified formations
JP6192366B2 (ja) 2013-06-04 2017-09-06 任天堂株式会社 情報処理プログラム、情報処理装置の制御方法、情報処理装置および情報処理システム
JP6687994B2 (ja) 2013-09-13 2020-04-28 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
JP6677437B2 (ja) * 2013-09-13 2020-04-08 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
US9795881B2 (en) * 2014-10-27 2017-10-24 Disney Enterprises, Inc. Controlling groups of game entities in a video game in a collective, coordinated, and/or collaborative manner using a group entity
JP5774182B1 (ja) * 2014-10-28 2015-09-09 グリー株式会社 ゲームプログラム、ゲーム制御方法、およびコンピュータ
JP6460463B2 (ja) * 2015-01-22 2019-01-30 株式会社セガゲームス ゲームプログラムおよびゲーム装置
KR101739840B1 (ko) * 2015-06-10 2017-05-25 (주)엔도어즈 게임 서비스 제공 장치 및 그 제어 방법
JP2017051493A (ja) * 2015-09-10 2017-03-16 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
US10500488B2 (en) 2016-03-30 2019-12-10 Bloober Team S.A. Method of simultaneous playing in single-player video games
JP2017012783A (ja) * 2016-09-07 2017-01-19 グリー株式会社 ゲームプログラム、ゲーム制御方法、およびコンピュータ
CN109843403B (zh) * 2016-10-31 2022-10-14 喀普康有限公司 游戏系统及游戏系统的控制方法
JP6812803B2 (ja) * 2017-01-12 2021-01-13 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2019025149A (ja) * 2017-08-01 2019-02-21 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法
CN108245888A (zh) * 2018-02-09 2018-07-06 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置及计算机设备
CN108744507B (zh) * 2018-05-18 2023-03-24 腾讯科技(深圳)有限公司 虚拟对象下落控制方法、装置、电子装置及存储介质
JP7127777B2 (ja) * 2018-08-27 2022-08-30 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP7199204B2 (ja) * 2018-11-19 2023-01-05 株式会社ソニー・インタラクティブエンタテインメント 表示制御プログラム、表示制御装置、及び表示制御方法
CN111672117B (zh) * 2020-06-05 2021-07-09 腾讯科技(深圳)有限公司 虚拟对象的选择方法、装置、设备及存储介质
CN112604305B (zh) 2020-12-17 2022-11-18 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
US11484793B1 (en) * 2021-09-02 2022-11-01 Supercell Oy Game control
CN114632326B (zh) * 2022-03-17 2025-10-10 网易(杭州)网络有限公司 一种画面显示方法、装置、电子设备及可读存储介质
JP7455171B2 (ja) 2022-09-12 2024-03-25 任天堂株式会社 ゲームプログラム、情報処理システム、および、ゲーム処理方法
JP7462715B2 (ja) 2022-09-12 2024-04-05 任天堂株式会社 ゲームプログラム、情報処理システム、および、ゲーム処理方法
JP7580436B2 (ja) * 2022-10-05 2024-11-11 任天堂株式会社 情報処理プログラム、情報処理システム、および情報処理方法
JP7541559B2 (ja) * 2022-10-05 2024-08-28 任天堂株式会社 情報処理プログラム、情報処理システム、および情報処理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US119050A (en) * 1871-09-19 Improvement in sash-holders
US38739A (en) * 1862-12-27 1863-06-02 Improvement in artificial legs
JP3470822B2 (ja) * 1994-03-03 2003-11-25 株式会社セガ 画像表示方法及びその装置
JP3359981B2 (ja) * 1994-08-18 2002-12-24 株式会社ハドソン ロールプレイングゲームにおける集団キャラクタ表示方法
JPH1080576A (ja) * 1996-09-06 1998-03-31 Hudson Soft Co Ltd 隊列行動をするキャラクタの画像表示方法
JP4223112B2 (ja) 1998-12-04 2009-02-12 株式会社バンダイナムコゲームス ゲーム装置及び情報記憶媒体
GB2352641B (en) * 1999-07-28 2003-09-24 Big Fish Entertainment Ltd Video game
JP3163496B2 (ja) * 1999-08-20 2001-05-08 株式会社光栄 集団キャラクタ移動方法、記録媒体及びゲーム装置
JP3505705B2 (ja) * 1999-11-30 2004-03-15 株式会社光栄 記録媒体及びゲーム装置
JP4355982B2 (ja) * 2000-03-30 2009-11-04 株式会社セガ 集団キャラクタの移動制御方法、集団キャラクタの移動制御を含む遊戯装置、遊戯成績の演算方法及び記録媒体
US20020049690A1 (en) * 2000-06-16 2002-04-25 Masanori Takano Method of expressing crowd movement in game, storage medium, and information processing apparatus
JP3579794B2 (ja) 2000-08-29 2004-10-20 株式会社光栄 プログラム、記録媒体及びゲーム装置
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP4480248B2 (ja) 2000-09-19 2010-06-16 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
JP4069119B2 (ja) 2002-08-20 2008-04-02 ヴィヴェンディ ユニバーサル ゲームズ, インコーポレイテッド 感情ベースのキャラクタ・インタラクションを有するコンピュータ・ゲーム
JP3779298B2 (ja) 2003-11-28 2006-05-24 任天堂株式会社 ゲーム装置およびゲームプログラム
JP4213052B2 (ja) * 2004-01-28 2009-01-21 任天堂株式会社 タッチパネル入力を用いたゲームシステム

Also Published As

Publication number Publication date
US7785198B2 (en) 2010-08-31
EP1584362A2 (en) 2005-10-12
US20050221880A1 (en) 2005-10-06
EP1584362A3 (en) 2012-01-25
JP2005287757A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
JP4307310B2 (ja) ゲーム装置及びゲームプログラム
ES2239354T3 (es) Procesador de imagen para juegos.
JP3871224B2 (ja) 画像生成装置、画像生成方法及びこれを用いたゲーム機並びに媒体
JP3795856B2 (ja) ビデオゲーム装置、ビデオゲームの進行制御方法、プログラム及び記録媒体
JP5157329B2 (ja) ゲーム装置
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
EP1084738A2 (en) Method for displaying an object in three-dimensional game
JPWO1997021194A1 (ja) 画像生成装置、画像生成方法及びこれを用いたゲーム機並びに媒体
JP5179020B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
JP4125760B2 (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
US9180371B2 (en) Game device, game device control method, program, and information storage medium
US6419580B1 (en) Player object displayed in second configuration even if cursor moves outside prescribed area
JP2009213559A (ja) ゲーム装置
JP4964317B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP5767681B2 (ja) ゲームプログラムおよびゲームシステム
JP2003320167A (ja) ゲーム装置およびゲームプログラム
JP6706470B2 (ja) 情報処理装置、位置情報検出方法及び位置情報検出プログラム
JP5977878B1 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP2006268676A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4543054B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4397410B2 (ja) 画像生成装置及び情報記憶媒体
JP5396006B2 (ja) ゲームプログラム及びゲーム装置
JP4251589B2 (ja) 画像生成システム及び情報記憶媒体
JP5237221B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP2005342360A (ja) 集団キャラクタ移動制御方法,記録媒体,シミュレーション装置及びゲーム装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081211

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090224

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090428

R150 Certificate of patent or registration of utility model

Ref document number: 4307310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

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

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

EXPY Cancellation because of completion of term