JP5522902B2 - 情報処理プログラムおよび情報処理装置 - Google Patents

情報処理プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP5522902B2
JP5522902B2 JP2008076739A JP2008076739A JP5522902B2 JP 5522902 B2 JP5522902 B2 JP 5522902B2 JP 2008076739 A JP2008076739 A JP 2008076739A JP 2008076739 A JP2008076739 A JP 2008076739A JP 5522902 B2 JP5522902 B2 JP 5522902B2
Authority
JP
Japan
Prior art keywords
unit
icon
information processing
screen
target object
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
JP2008076739A
Other languages
English (en)
Other versions
JP2009226081A (ja
JP2009226081A5 (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 JP2008076739A priority Critical patent/JP5522902B2/ja
Priority to US12/406,480 priority patent/US8175993B2/en
Publication of JP2009226081A publication Critical patent/JP2009226081A/ja
Publication of JP2009226081A5 publication Critical patent/JP2009226081A5/ja
Application granted granted Critical
Publication of JP5522902B2 publication Critical patent/JP5522902B2/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/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/426Processing 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 on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • 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/219Input arrangements for video game devices characterised by their sensors, purposes or types for aiming at specific areas on the display, e.g. light-guns
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • 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/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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/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/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • 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/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • 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

Description

本発明は、仮想空間内の様子を単位時間毎に画面に表示する情報処理に関し、より特定的には、プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を表示する情報処理におけるプレイヤの操作処理に関する。
従来、シミュレーションゲームなどに代表されるような、プレイヤが複数のキャラクタ(ユニット)を操作するゲームが知られている。このようなゲームにおいて、プレイヤが操作可能なキャラクタをアイコンとして画面上に表示し、プレイヤが当該アイコンを用いて操作対象とするキャラクタを変更する(切り替える)ことができるゲーム装置が開示されている(例えば、特許文献1)。
上記のゲーム装置では、プレイヤが操作可能な複数のキャラクタ(以下、味方キャラクタと呼ぶ)のうち、任意の一つを操作対象とする。そして、当該ゲーム装置では、画面内に表示されていない味方キャラクタを示すアイコンが画面右下に表示される。そして、プレイヤは、十字キー等で当該アイコンの選択操作を行い、所定のボタンを押下することで、選択したアイコンが表す味方キャラクタを操作対象として選択することができる。この操作対象の変更操作に伴って、仮想カメラの設定が、当該選択されたキャラクタを基準とする設定に変更され、選択されたキャラクタが表示されるゲーム画面へと切り替わる。
特開2006-305176号公報
しかしながら、上述したようなゲーム装置においては、以下に示す問題点があった。例えば、RTS(Real-time Strategy)のようなゲームにおいて上記の技術を適用すると、上記のようなアイコンの選択操作では、操作対象とする味方キャラクタの切替え、および、これに伴うゲーム画面の切替はできるが、その後、例えば敵キャラクタへの攻撃指示は、ゲーム画面が切り替わった後に、改めて行う必要がある。このとき、例えば、ゲーム空間内において遠く離れた所にいる敵ユニットへの攻撃指示操作を行う場合を考える。この場合、攻撃目標として、遠く離れた場所にいる敵キャラクタを指定する必要があるが、その攻撃目標指定のためには、一旦上述のようなアイコン選択によるゲーム画面の切替を行った後、更に、攻撃目標となる敵キャラクタが表示される場所まで画面をスクロール等させて敵キャラクタを表示させてから指定する必要が生じる。このような操作の流れは、上記RTSのようなリアルタイム性が高く、素早い操作を行うことがゲームを有利に進めることに繋がるようなゲームにおいては、煩雑な操作となり、快適にゲームを楽しむことが困難となる。
それ故に、本発明の目的は、複数のキャラクタを操作するゲーム等の情報処理において、より操作性が高くなる情報処理プログラムおよび情報処理装置を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
第1の発明は、プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面(2)に表示する情報処理装置のコンピュータに実行させる情報処理プログラムであって、領域外オブジェクト検出ステップ(S11)と、代替アイコン表示ステップ(S12)と、ポインティング位置算出ステップ(S63)と、第1操作検出ステップ(S61)と、第2操作検出ステップ(S71)と、動作実行ステップ(S74,S76)とをコンピュータに実行させる。領域外オブジェクト検出ステップは、仮想空間内における所定領域の外にいる命令対象オブジェクトを単位時間毎に検出する。代替アイコン表示ステップは、領域外オブジェクト検出ステップにおいて所定領域外にいる命令対象オブジェクトが検出されたとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを画面内に表示する。ポインティング位置算出ステップは、単位時間毎に操作装置(7)から操作データを取得し、当該操作データから当該操作装置によって指し示される画面上の指示位置を算出する。第1操作検出ステップは、代替アイコンに対して第1の操作が行われたことを操作データから検出する。第2操作検出ステップは、第1操作検出ステップにおいて第1の操作が検出された後、第2の操作が行われたことを検出する。動作実行ステップは、第2操作検出ステップにおいて第2の操作が検出されたときの指示位置に基づいて、第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる。
第1の発明によれば、命令対象オブジェクトに対する命令操作について、操作性を高めることができる。
第2の発明は、第1の発明において、領域外オブジェクト検出ステップは、画面に表示される領域を所定の領域として検出を行う。
第2の発明によれば、画面内に命令対象オブジェクトが表示されていないときでも、プレイヤは代替アイコンを利用して素早い命令を命令対象オブジェクトに出すことが可能となり、操作性を向上させることができる。
第3の発明は、第1の発明において、動作実行ステップは、第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトを指示位置に対応する仮想空間内の位置に移動させる。
第3の発明によれば、プレイヤは、例えば画面内に命令対象オブジェクトが表示されていないときでも、簡便で素早い操作によって命令対象オブジェクトを画面に表示されている仮想空間内の地点に移動させることができる。
第4の発明は、第1の発明において、動作実行ステップは、指示位置に対応する仮想空間内の位置に存在するオブジェクトに対する所定の動作を命令対象オブジェクトに実行させる。
第4の発明によれば、プレイヤは、例えば画面内に命令対象オブジェクトが表示されていないときでも、簡便で素早い操作によって、画面に表示されている所定のオブジェクトに対して所定の動作(攻撃動作等)を命令対象オブジェクトに実行させることができる。
第5の発明は、第1の発明において、代替アイコン表示ステップは、画面上において代替アイコンに対応づけられている命令対象オブジェクトに最も近い位置に代替アイコンを表示する。
第5の発明によれば、命令対象オブジェクトのいる仮想空間内の位置についてプレイヤに直感的に把握させることができる。
第6の発明は、第5の発明において、代替アイコン表示ステップは、代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する。
第6の発明によれば、代替アイコンが画面内に複数表示されていても、各代替アイコンを指示しやすくなり、操作性を向上することができる。
第7の発明は、第1の発明において、情報処理プログラムは、第1の操作が検出されてから第2の操作が検出されるまでの間、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトと指示位置に対応する仮想空間内の地点とを結ぶ線を生成して画面に表示する、線表示ステップ(S67)を更に実行させる。
第7の発明によれば、命令対象オブジェクトが複数あるときに、どの命令対象オブジェクトに対して命令しようとしているかをプレイヤに直感的に把握させやすくできる。
第8の発明は、第7の発明において、前記線表示ステップは、前記代替アイコンまたは当該代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の位置との間の距離に関する情報を表示する。
第8の発明によれば、仮想空間内において命令対象オブジェクトがどの程度遠くにいるか等の距離に関してプレイヤに直感的に把握させやすくすることができる。
第9の発明は、第1の発明において、操作装置は、少なくとも一つのキーを備え、第1操作検出ステップは、代替アイコンのいずれかと指示位置とが重なっている状態でキーのうち所定のキーが押下されたことを第1の操作として操作データに基づいて検出し、第2操作検出ステップは、第1の操作として検出された所定のキーの押下状態が解放されたことを第2の操作として操作データに基づいて検出する。
第9の発明によれば、プレイヤに簡便で直感的な操作方法を提供することができる。
第10の発明は、第1の発明において、操作装置は、撮像対象を撮像するための撮像手段を備え、操作データには、撮像手段によって撮像される撮像画像のデータ、当該撮像画像における撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における撮像対象の位置を示すデータ、の少なくともいずれかが含まれ、ポインティング位置算出ステップは、操作装置から取得された前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータのいずれかから指示位置を算出する。
第10の発明によれば、画面上の位置の指示操作について、直感的な操作方法をプレイヤに提供することができる。
第11の発明は、第1の発明において、操作装置はアナログ方式の方向指示デバイスであるアナログスティックを備え、情報処理プログラムは、アナログスティックの指示方向に応じて画面をスクロールさせるためのスティックスクロールステップを更に実行させる。
第12の発明は、第1の発明において、プログラムは、指示位置が画面の上下左右の端を含む所定の領域内に重なったか否かを判定し、重なっているときは当該重なっている端の方向に応じて画面をスクロールさせる画面端スクロールステップを更に実行させる。
第11乃至第12の発明によれば、画面のスクロール操作について、操作性を高めることができる。
第13の発明は、第1の発明において、代替アイコン表示ステップは、代替アイコンに対応する命令対象オブジェクトの状態を示すパラメータに基づいた情報を当該代替アイコンに付随して表示する。
第13の発明によれば、例えば画面に表示されていない命令対象オブジェクトについて、その状態を速やかに把握することができる。
第14の発明は、第1の発明において、仮想空間には、命令対象オブジェクトに対応づけられている少なくとも一つの関連オブジェクトが存在し、動作実行ステップは、命令対象オブジェクトと共に関連オブジェクトに対しても所定の動作を実行させる。
第14の発明によれば、複数のオブジェクトで構成されるオブジェクト群に対してまとめて命令を出すことができる。
第15の発明は、第14の発明において、代替アイコン表示ステップは、命令対象オブジェクトに対応づけられている関連オブジェクトの数に関する情報を代替アイコンに付随して表示する。
第15の発明によれば、画面に表示されていない命令対象オブジェクトについて、その関連オブジェクトの数の増減を直感的に把握させることができる。
第16の発明は、第1の発明において、情報処理プログラムは、第1の操作が検出されたとき、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトが画面内に表示されている当該命令対象オブジェクト以外のオブジェクトに対して行うことができる行動を示す行動情報表示を当該命令対象オブジェクト以外のオブジェクトに重ねて表示する行動情報表示ステップ(S65)を更に実行させる。
第16の発明によれば、プレイヤが第1の操作を行ったときに、命令対象オブジェクトはどのオブジェクトに対してどのような行動を取ることができるかについて直感的に把握させることができる。
第17の発明は、プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面(2)に表示する情報処理装置であって、領域外オブジェクト検出手段(10)と、代替アイコン表示手段(10)と、ポインティング位置算出手段(10)と、第1操作検出手段(10)と、第2操作検出手段(10)と、動作実行手段(10)とを備える。領域外オブジェクト検出手段は、仮想空間内における所定領域の外にいる命令対象オブジェクトを単位時間毎に検出する。代替アイコン表示手段は、領域外オブジェクト検出手段において所定領域外にいる命令対象オブジェクトが検出されたとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを画面内に表示する。ポインティング位置算出手段は、単位時間毎に操作装置(7)から操作データを取得し、当該操作データから当該操作装置によって指し示される画面上の指示位置を算出する。領域外オブジェクト検出手段は、仮想空間内における所定領域の外にいる命令対象オブジェクトを単位時間毎に検出する。代替アイコン表示手段は、領域外オブジェクト検出手段が所定領域外にいる命令対象オブジェクトを検出したとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを画面内に表示する。第1操作検出手段は、代替アイコンに対して第1の操作が行われたことを操作データから検出する。第2操作検出ステップは、第1操作検出手段が第1の操作を検出した後、第1の操作とは異なる操作である第2の操作が行われたことを検出する。動作実行手段は、第2操作検出ス手段が第2の操作を検出したときの指示位置に基づいて、第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる。
第18の発明は、第17の発明において、領域外オブジェクト検出手段は、画面に表示される領域を所定の領域として検出を行う。
第19の発明は、第17の発明において、動作実行手段は、第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトを指示位置に対応する仮想空間内の位置に移動させる。
第20の発明は、第17の発明において、動作実行手段は、指示位置に対応する仮想空間内の位置に存在するオブジェクトに対する所定の動作を命令対象オブジェクトに実行させる。
第21の発明は、第17の発明において、代替アイコン表示手段は、画面上において代替アイコンに対応づけられている命令対象オブジェクトに最も近い位置に代替アイコンを表示する。
第22の発明は、第21の発明において、代替アイコン表示手段は、代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する。
第23の発明は、第17の発明において、情報処理プログラムは、第1の操作が検出されてから第2の操作が検出されるまでの間、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトと指示位置に対応する仮想空間内の地点とを結ぶ線を生成して画面に表示する、線表示ステップを更に実行させる。
第24の発明は、第23の発明において、前記線表示ステップは、前記代替アイコンまたは当該代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の位置との間の距離に関する情報を表示する。
第25の発明は、第17の発明において、操作装置は、少なくとも一つのキーを備え、第1操作検出ステップは、代替アイコンのいずれかと指示位置とが重なっている状態でキーのうち所定のキーが押下されたことを第1の操作として操作データに基づいて検出し、第2操作検出ステップは、第1の操作として検出された所定のキーの押下状態が解放されたことを第2の操作として操作データに基づいて検出する。
第26の発明は、第17の発明において、操作装置は、撮像対象を撮像するための撮像手段を備え、操作データには、撮像手段によって撮像される撮像画像のデータ、当該撮像画像における撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における撮像対象の位置を示すデータ、の少なくともいずれかが含まれ、ポインティング位置算出手段は、操作装置から取得された前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータのいずれかから指示位置を算出する。
第27の発明は、第17の発明において、操作装置はアナログ方式の方向指示デバイスであるアナログスティックを備え、情報処理プログラムは、アナログスティックの指示方向に応じて画面をスクロールさせるためのスティックスクロールステップを更に実行させる。
第28の発明は、第17の発明において、プログラムは、指示位置が画面の上下左右の端を含む所定の領域内に重なったか否かを判定し、重なっているときは当該重なっている端の方向に応じて画面をスクロールさせる画面端スクロールステップを更に実行させる。
第29の発明は、第17の発明において、代替アイコン表示ステップは、代替アイコンに対応する命令対象オブジェクトの状態を示すパラメータに基づいた情報を当該代替アイコンに付随して表示する。
第30の発明は、第17の発明において、仮想空間には、命令対象オブジェクトに対応づけられている少なくとも一つの関連オブジェクトが存在し、動作実行ステップは、命令対象オブジェクトと共に関連オブジェクトに対しても所定の動作を実行させる。
第31の発明は、第30の発明において、代替アイコン表示ステップは、命令対象オブジェクトに対応づけられている関連オブジェクトの数に関する情報を代替アイコンに付随して表示する。
第32の発明は、第17の発明において、情報処理装置は、第1の操作が検出されたとき、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトが画面内に表示されている当該命令対象オブジェクト以外のオブジェクトに対して行うことができる行動を示す行動情報表示を当該命令対象オブジェクト以外のオブジェクトに重ねて表示する行動情報表示手段を更に備える。
第17〜第32の発明によれば、上述した本発明の情報処理プログラムと同様の効果を得ることができる。
第33の発明は、プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面に表示する情報処理装置のコンピュータに実行させる情報処理プログラムであって、領域外オブジェクト検出ステップ(S11)と、代替アイコン表示ステップ(S12)と、動作実行ステップ(S74,S76)とをコンピュータに実行させる。領域外オブジェクト検出ステップは、仮想空間内における所定領域の外にいる命令対象オブジェクトを単位時間毎に検出する。代替アイコン表示ステップは、領域外オブジェクト検出ステップにおいて所定領域外にいる命令対象オブジェクトが検出されたとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを画面内に表示し、かつ、代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する。動作実行ステップは、所定の操作に基づいて代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる。
第34の発明は、プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面に表示する情報処理装置であって、領域外オブジェクト検出手段(10)と、代替アイコン表示手段(10)と、動作実行手段(10)とを備える。領域外オブジェクト検出手段は、仮想空間内における所定領域の外にいる命令対象オブジェクトを単位時間毎に検出する。代替アイコン表示手段は、領域外オブジェクト検出手段が所定領域外にいる命令対象オブジェクトを検出したとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを前記画面内に表示し、かつ、代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する。動作実行手段は、所定の操作に基づいて代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる。
第33〜第34の発明によれば、代替アイコンが画面内に複数表示されていても、各代替アイコンを指示しやすくなり、操作性を向上することができる。
本発明によれば、プレイヤの命令対象オブジェクトに対する命令操作について、より簡便で且つ速やかな命令操作を行うことができ、操作性を高めることができる。
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
(ゲームシステムの全体構成)
図1を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、コントローラ7、およびマーカ部8を含む。本システムは、コントローラ7を用いたゲーム操作に基づいてゲーム装置3でゲーム処理を実行するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
ゲーム装置3には、表示装置の一例であるテレビ2が接続コードを介して接続される。テレビ2には、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ2の画面の周辺(図1では画面の上側)には、マーカ部8が設置される。マーカ部8は、その両端に2つのマーカ8Rおよび8Lを備えている。マーカ8R(マーカ8Lも同様)は、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。マーカ部8はゲーム装置3に接続されており、ゲーム装置3はマーカ部8が備える各赤外LEDの点灯を制御することが可能である。
コントローラ7は、当該コントローラ7自身に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。コントローラ7とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ7とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ7とゲーム装置3とは有線で接続されてもよい。
(ゲーム装置3の内部構成)
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムLSIの内部構成について後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
また、システムLSI11には、入出力プロセッサ11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。より具体的には、GPU11bは、当該グラフィクスコマンドに従って3Dグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる3D座標から2D座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、CPU10は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU11bに与える。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。また、内部メインメモリ11eは、外部メインメモリ12と同様に、プログラムや各種データを記憶したり、CPU10のワーク領域やバッファ領域としても用いられる。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ(I/Oプロセッサ)11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、およびメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ11aは、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ11aは、コントローラ7から送信される操作データをアンテナ23および無線コントローラモジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
さらに、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンにされると、ゲーム装置3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン24を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置3への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン24を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
次に、図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面前方から見た斜視図である。
図3および図4において、コントローラ7は、ハウジング71と、当該ハウジング71の表面に設けられた複数個の操作ボタンで構成される操作部72とを備える。本実施例のハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7からゲーム装置3へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5のスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
ここで、以下の説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するxyz軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をz軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をz軸正方向とする。また、コントローラ7の上下方向をy軸とし、ハウジング71の上面(操作ボタン72a等が設けられた面)方向をy軸正方向とする。さらに、コントローラ7の左右方向をx軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をx軸正方向とする。
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上ハウジング(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下ハウジング(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。マイコン751は本願発明のボタンデータ発生手段の一例として、操作ボタン72a等の種類に応じた操作ボタンデータを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触/切断をマイコン751が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン751が検出し、操作ボタンの種類に応じた信号を発生させている。
また、コントローラ7は、図示しない無線モジュール753(図7参照)およびアンテナ754によって、ワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の回転を良好な感度でゲーム装置3等が判定することができる。
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置3から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置3から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。ここで、テレビ2の表示画面近傍に配置されるマーカ8Lおよび8Rは、テレビ2の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ741を設けることによってマーカ8Lおよび8Rの画像をより正確に撮像することができる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ入射させる。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子743によって撮像された画像を撮像画像と呼ぶ。撮像素子743によって生成された画像データは、画像処理回路744で処理される。画像処理回路744は、撮像画像内における撮像対象(マーカ8Lおよび8R)の位置を算出する。以下、図8を用いて撮像対象の位置の算出方法を説明する。
図8は、撮像画像の一例を示す図である。図8に示す撮像画像A1においては、マーカ8Lの画像8L'およびマーカ8Rの画像8R'が左右に並んでいる。撮像画像が入力されると、まず、画像処理回路744は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。ここで、所定条件とは、撮像対象の画像(対象画像)を特定するための条件であり、所定条件の具体的な内容は、輝度が所定値以上の領域(高輝度領域)であり、かつ、領域の大きさが所定範囲内の大きさであることである。なお、所定条件は撮像対象を特定するための条件であればよく、他の実施形態においては、画像の色に関する条件を含んでいてもよい。
対象画像の位置を算出する際、まず、画像処理回路744は、撮像画像の領域から上記高輝度領域を対象画像の候補として特定する。撮像画像の画像データにおいて対象画像は高輝度領域として現れるからである。次に、画像処理回路744は、特定された高輝度領域の大きさに基づいて、その高輝度領域が対象画像であるか否かを判定する判定処理を行う。撮像画像には、対象画像である2つのマーカ8Lおよび8Rの画像8L'および8R'の他、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれている場合がある。この場合、マーカ8Lおよび8Rの画像8L'および8R'以外の画像も高輝度領域として現れてしまう。上記の判定処理は、対象画像であるマーカ8Lおよび8Rの画像8L'および8R'とそれ以外の画像とを区別し、対象画像を正確に特定するための処理である。具体的には、当該判定処理においては、特定された高輝度領域が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度領域が所定範囲内の大きさである場合、当該高輝度領域は対象画像を表すと判定され、高輝度領域が所定範囲内の大きさでない場合、当該高輝度領域は対象画像以外の画像を表すと判定される。
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度領域について、画像処理回路744は当該高輝度領域の位置を算出する。具体的には、当該高輝度領域の重心位置を算出する。なお、重心位置は撮像素子743の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子743によって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、重心位置の座標は、(0,0)から(1024,768)までの整数値で表現される。なお、撮像画像における位置は、図8に示すように、撮像画像の左上を原点とし、下向きをy軸正方向とし、右向きをx軸正方向とする座標系(xy座標系)で表現されるものとする。
以上のようにして、画像処理回路744は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。なお、以下では、画像処理回路744によって算出される座標をマーカ座標と呼ぶ。マーカ座標は、撮像画像に対応する平面上の位置を表すための座標系において撮像対象の位置を示す座標である。画像処理回路744は、マーカ座標を通信部75のマイコン751へ出力する。マーカ座標のデータは、マイコン751によって操作データとしてゲーム装置3に送信される。マーカ座標はコントローラ7自体の向き(姿勢)や位置に対応して変化するので、ゲーム装置3は当該座標値を用いてコントローラ7の向きや位置を算出することができる。なお、本実施形態では、撮像画像からマーカ座標を算出する処理までをコントローラ7の画像処理回路744および/またはマイコン751で行ったが、例えば撮像画像をゲーム装置3に送り、以降の処理と同等の処理をゲーム装置3のCPU10等で行わせることもできる。
コントローラ7は、3軸(x、y、z軸)の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向(または他の対になった方向)のそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。例えば、この3軸または2軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であってもよい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸または2軸の加速度センサ701が提供されてもよい。
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU10)またはコントローラのプロセッサ(例えばマイコン751)などのコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合)、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ701からの出力に基づいて、プロセッサがコントローラ7の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ701からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ701をプロセッサと組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ701を備えるコントローラ7がユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置3からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置3から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置3から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(x、y、およびz軸方向加速度データ;以下、単に加速度データと記載する)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(Bluetooth;登録商標)で構成される通信部75の送信間隔は例えば5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データが無線モジュール753で電波信号に変調されてコントローラ7から送信される。そして、ゲーム装置3の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU10は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
次に、図9〜図29を用いて、本実施形態で想定するゲームの概要について説明する。本実施形態で想定するゲームは、いわゆるRTS(リアルタイムストラテジー;Real-time Strategy)と呼ばれるゲームである。すなわち、プレイヤはリアルタイムに進行する時間に対応しつつ、複数の自軍のユニットに指示を与えて敵を倒させるゲームである。本実施形態で想定するゲームでは、プレイヤ自身を表すプレイヤユニットと最大4つまでの味方ユニットとの最大5つのユニットがプレイヤの操作対象(指示対象)となる。また、本ゲームは、ステージクリア型の構成をとる。
図9は、本実施形態で想定するゲームの画面の一例である。図9においては、仮想ゲーム空間(当該空間は3次元でも2次元でも良い。本実施形態では、3次元のゲーム空間として説明する。)を表した画像が表示されている。図9においては、プレイヤユニット101と、味方ユニット102、3体の敵ユニット104、およびカーソル105が表示されている。また、味方ユニット102の周辺には部下ユニット103が3体配置されている。本ゲームにおいては、当該1つの味方ユニット102と複数の部下ユニット103とを合わせて一つの「部隊」として扱う。以下、この部隊のことを「味方部隊」と呼ぶ。また、上記3体の敵ユニットについても、まとめて一つの「部隊」として扱う。以下、「敵部隊」と呼ぶ。本ゲームでは、各部隊は基本的に、部隊単位でまとまって行動する。そのため、味方部隊については、上記味方ユニット102に対して指示を行うことで、味方部隊全体への指示を出すことができる。換言すれば、味方部隊は、味方ユニット102をリーダーとする部隊である。
次に、本ゲームにおける操作方法について説明する。基本的に、本ゲームでは、コントローラ7でゲーム画面内の所定の位置をポインティングし、各種操作を行う。具体的には、プレイヤは、図10に示すように、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がマーカ8Lおよび8Rの方向を向く状態でコントローラ7を把持する。この状態で、プレイヤは、コントローラ7の傾きを変化させたり、コントローラ7が指し示す画面上の位置(指示位置)を変更したりすることによってゲーム操作を行う。
次に、より具体的な操作方法、特に、ユニットへの指示操作方法について説明する。当該説明に際し、ここでは、図11に示すような状況を基に説明する。図11は、仮想ゲーム空間(ステージ)全体と画面の表示領域との関係を示した図である。なお、図11では、説明の便宜上、3次元空間である仮想ゲーム空間を俯瞰したものである2次元座標系の図で表している。図11では、仮想ゲーム空間110内の上方部分にプレイヤユニット101、味方ユニット102(味方部隊)、敵ユニット104(敵部隊)が1つづつ存在している。また、仮想ゲーム空間110内の下方部分に、宝箱106が1つ存在している状態である。また、画面表示領域111は、ゲーム画面として表示される範囲を示す。ここでは、ゲーム画面として上記図9のような画面が表示されているものとする。換言すれば、上記図9は、図11の状態におけるゲーム画面を示す図となっている。
図9のような画面において、プレイヤは、指示したいユニットにカーソル105を合わせ、Aボタン72dおよびBボタン72iの同時押しを行うことで、当該ユニットを「ドラッグ」できる(以下、Aボタン72dおよびBボタン72iの同時押しををドラッグ操作と呼ぶ)。そして、ドラッグした状態(Aボタン72dおよびBボタン72iを押し続けている状態)のまま所望の場所にカーソル105を移動させ、ドラッグ状態を解除する(押し続けていたAボタン72dおよびBボタン72iを離す)。すると。解除した地点にあるオブジェクト等に応じた所定の行動を上記指示したユニットが開始する。以下、当該行動のことを作戦行動と呼ぶ。当該作戦行動としては、例えば、敵部隊への攻撃、宝箱を開ける、スイッチを押す、砦を占領する、指定された地点へ移動する、等の行動がある。
次に、図9のような状態において、味方部隊に敵部隊を攻撃させるための指示操作について説明する。まず、プレイヤは、カーソル105を動かし、味方ユニット102をポインティングする。続いて、プレイヤは、ドラッグ操作を行う。すると、図12に示すように、カーソル105の図柄がドラッグ状態を示す表示に変わる。図12では、カーソル105として、何かを掴んでいるような手の画像が表示されている。また、当該操作に合わせて、ポインティング位置に指示アイコン107が表示される。更に、図12では、敵部隊に重なるようにして情報アイコン108が表示されている。情報アイコン108とは、ドラッグした味方ユニット(あるいはプレイヤユニット)がそのユニット等に対してどのような作戦行動を取れるかを示すアイコンである。図12の例では、情報アイコン108は剣が交わるような図柄であり、味方ユニット102(味方部隊)は、敵部隊に対して武器による「直接攻撃」が可能であることを示している。
なお、図12では、敵部隊が一隊だけ表示されている場合を例としているが、敵部隊が複数表示されているときは、そのそれぞれに対して「直接攻撃」が可能であることを示す情報アイコンが表示されることになる。また、図12には図示されていないが、「宝箱」のオブジェクトが画面内に表示されていれば、宝箱を開けることが可能であることを示す情報アイコンが表示される。また、「スイッチ」のオブジェクトが表示されていれば、そのスイッチを入れることが可能であることを示す情報アイコンが表示される。
次に、プレイヤは、ドラッグ状態を維持したまま、カーソル105を敵部隊に向けて移動させる。すると、これにつれて、指示アイコン107も追従して移動する。更に、図13に示すように、画面上には味方ユニット102を基点として指示アイコン107まで伸びていく破線軌跡109も表示される。
カーソル105を敵部隊まで動かすと、その結果、図13に示すように、指示アイコン107が情報アイコン108に重なることになる。このとき、情報アイコン108が少し大きなサイズと変化する。そして、この状態でプレイヤがドラッグ解除すると、味方部隊は作戦行動を開始する。すなわち、図14に示すように、味方部隊の敵部隊への「直接攻撃」が開始される。つまり、ドラッグ解除によって、味方ユニット102(味方部隊)への攻撃命令が出されたことになる。
次に、プレイヤユニット101の指示操作について説明する。本ゲームにおいては、プレイヤユニット101は、敵部隊に対しての「直接攻撃」はできないよう設定されている。そのため、プレイヤユニット101に対して上述のような操作をしても、「直接攻撃」の情報アイコンは表示されない。その代り、プレイヤユニットは「魔法攻撃」と呼ばれる方法で敵部隊への攻撃が可能となっている。
以下、この「魔法攻撃」のための操作を説明する。プレイヤは、「魔法攻撃」を行うために、図15に示すようにプレイヤユニット101が画面に表示されている状態で所定の操作、例えば、ボタン72bを押す。すると、ポインティング位置に関わらず、図16に示すような画面が表示される。プレイヤは、この画面でコントローラ7を動かすと、そのポインティング位置の軌跡が線115として画面に描画される。そして、プレイヤは、この線によって所定の図形(本ゲームでは「ルーン」と呼ばれる)を書く操作を行う。換言すれば、コントローラ7で所定の図形を描画する操作を行う。すると、その図形の形状に応じて予め定義されている「魔法攻撃」の処理が実行される。図17は、図16で描いた図形に応じて、「魔法攻撃」の一つである「火の玉」がプレイヤユニット101の向いている方向に飛ばされている状態を示している。このように、本ゲームでは、味方ユニット(味方部隊)は敵部隊に「直接攻撃」できるが、プレイヤユニット101は、「直接攻撃」はできず、代わりに「魔法攻撃」が可能となっている。
次に、プレイヤユニット101や味方ユニット102が画面内に表示されていないときの操作に関して説明する。一例として、図18に示すように、仮想ゲーム空間110内の下方にある宝箱106の場所までプレイヤが画面をスクロールし、そこで初めて宝箱106の存在に気付いて当該宝箱106をプレイヤユニット101に取得させようとする場合を例として説明する。
まず、プレイヤは、画面スクロールのための操作を行う。本ゲームでは、十字キー72aを押すと、その方向に応じて画面がスクロールするものとする。上記図11の状態から図19に示すように画面を少し下方にスクロールさせると、図20に示すような画面の状態となる。図20では、プレイヤユニット101および味方ユニット102は表示されておらず、その代わりにユニットアイコン131および132が表示されている。ユニットアイコンとは、画面外にいるプレイヤユニット101および味方ユニット102に対応するアイコンである。図20では、ユニットアイコン131はプレイヤユニット101に対応し、ユニットアイコン132は味方ユニット102に対応している。つまり、本ゲームでは、プレイヤユニット101や味方ユニット102が画面に表示されなくなると、その代わりに対応するユニットアイコンが表示される。なお、図20では説明の簡略化のため、ユニットアイコンは2つだけで説明しているが、本ゲームでは、味方ユニットは4つまで操作可能であるため、ユニットアイコンは最大で5つまで同時表示される。また、本ゲームにおいては、ユニットアイコン同士が重なって表示されないように、ユニットアイコンの表示位置の調整も行われる(詳細は後述する)。
ここで、ユニットアイコンについて補足説明する。図21は、図20のユニットアイコン131および132を拡大した図である。ユニットアイコン131および132は、円形を基調とした形状であり、顔を模した図柄が円の内部に描画されている。本ゲームでは、プレイヤあるいは味方ユニットのHP(HitPoint)状態を当該顔の表情で表現する。つまり、HPが十分あるときは、図21に示すような笑顔の状態で表示され、HPが少なくなると、苦しんでいる表情が描画される。また、プレイヤユニット101に対応するユニットアイコン131には、味方ユニット102との区別をつけるために、識別用のマーク1311も描画されている。一方、味方ユニット102を示すユニットアイコン132には、部下ユニット103の数を示すバー1321が上部に表示されている。当該バー1321は、部下ユニット103の数に応じて増減する。更に、両アイコンとも、ユニットのいる方向を示す矢印表示133が示されている。
次に、図19の状態から、図22に示すようにプレイヤが更に画面を下にスクロールさせていくと、図23に示すように、宝箱106が画面に表示された状態となる。この状態で、プレイヤが、この宝箱106をプレイヤユニットに取得させるための指示操作を行う場合、まず、プレイヤは、プレイヤユニット101に対応しているユニットアイコン131をドラッグする。すると、図24に示すように、指示アイコン107が表示される。また、宝箱106に重なって情報アイコン108(宝箱を開けることが可能であることを示す図柄である)も表示される。そして、図25に示すように、プレイヤは宝箱106の位置まで指示アイコン107を移動させる。このときも、上記同様に破線軌跡109が表示される。また、指示アイコン107が情報アイコン108に重なると、当該情報アイコン108のサイズも少し大きくなる。そして、プレイヤがドラッグ状態を解除すると、プレイヤユニット101に宝箱106を取得する命令を出したことになり、プレイヤユニット101は、図26に示すように宝箱106を取るという作戦行動を開始(宝箱に向かっての移動を開始)する。つまり、図23の状態からプレイヤが宝箱106の取得を所望した場合、プレイヤユニット101にいる場所まで画面をスクロールさせなくとも、ユニットアイコン131をドラッグすることで、命令を出す対象としてプレイヤユニット101を選択した状態となる。そして、作戦行動の目標となる宝箱106に指示アイコン107を移動させてドラッグ状態を解除すれば、プレイヤユニット101に対して宝箱106を取得する命令を出したことになる。その結果、図27に示すように、プレイヤユニット101が画面内に移動してきて(このときは、ユニットアイコン131は画面内に表示されていない)、宝箱106を取得する動作を行うことになる。
また、上記図23では、宝箱106の場合を例としているが、宝箱106の代わりに敵部隊が表示されている場合に、プレイヤが味方ユニット102に「直接攻撃」を行わせること所望した場合を考える。この場合は、プレイヤは、まず、味方ユニットに対応するユニットアイコン132をドラッグする。そして、ドラッグ操作に伴って表示される上記指示アイコン107を敵部隊に移動させてから、上記のようにドラッグ状態を解除すれば、味方ユニット102(味方部隊)に敵部隊への攻撃命令を出したことになる。この場合も、味方ユニット102のイル位置まで画面をスクロールさせることなく、その場で攻撃命令を出すことができる。
また、プレイヤは、プレイヤユニット101、味方ユニット102、あるいはユニットアイコン131あるいは132に対して上記のようなドラッグ操作を行った後、図28に示すように、敵部隊や宝箱等が無い場所でドラッグを解除すれば、その地点への移動命令を出すことができる。この場合、ドラッグを解除した場所が進入不可の場所として設定されている所でなければ、その地点に向けての「移動」命令が出されたことになり、図29に示すように、命令を出されたユニットはドラッグ解除地点に向けての移動を開始する。また、進入不可の場所でドラッグを解除した場合は、何ら命令は出されていなかったものとして扱われる。
このように、本実施形態では、プレイヤユニット101や味方ユニット102がゲーム画面内に表示されていないときであっても、ユニットアイコンをドラッグすることで、そのユニットアイコンに対応するユニットを命令対象として選択することができる。そして、指示アイコン107を移動させ、ドラッグ状態を解除することで、ドラッグを解除した位置にあるユニットやオブジェクトに応じた作戦行動の命令をプレイヤユニット101や味方ユニット102に出すことが可能となる。画面に表示されていないユニットに命令を出す場合でも、その都度画面スクロールあるいは画面切替を行って当該命令を出したいユニットを表示させる必要がなく、簡便な操作で、かつ速やかに命令を出すことができる。また、上記ユニットアイコンに対応するユニットの体力の状態や部下ユニットの数等を表示することで、画面に表示されていないプレイヤユニット101や味方ユニット102の状態をプレイヤに直感的に把握させることができる。
次に、本実施形態で用いられる各種データについて説明する。図30は、図3に示した外部メインメモリ12(ただし、内部メインメモリ11eでもよいし、両方を使用するようにしてもよい)のメモリマップを示す図である。図30において、外部メインメモリ12は、プログラム記憶領域121、データ記憶領域123を含む。プログラム記憶領域121およびデータ記憶領域123のデータは、ディスク4に予め記憶されたものが、ゲーム処理に際して外部メインメモリ12にコピーされたものである。
プログラム記憶領域121は、CPU10によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲーム処理プログラム122などによって構成される。ゲーム処理プログラム122は、後述する図31のフローチャートの処理に対応するプログラムである。
データ記憶領域123には、プレイヤユニットデータ124、味方ユニットデータ125、ユニットアイコンデータ126、敵ユニットデータ127、その他オブジェクトデータ128などのデータが記憶されるとともに、ゲーム処理プログラム122で用いられる各種フラグも記憶される。
プレイヤユニットデータ124は、プレイヤユニット101に関するデータであり、ステータスデータ1241、画像データ1242等で構成されている。ステータスデータ1241は、プレイヤユニット101のHPを示すパラメータ等、プレイヤユニット101の状態を示す各種パラメータが含まれている。画像データ1242は、ゲーム画面上に表示されるプレイヤユニット101の画像のデータである。
味方ユニットデータ125は、味方ユニットに関するデータである。本実施形態では、味方ユニットは最大4ユニットであるため、4ユニット分の味方ユニットデータ125a〜dが記憶されている。各味方ユニット125には、ステータスデータ1251、画像データ1252、部下ユニットデータ1253等から構成されている。ステータスデータ1251は、味方ユニット102のHPを示すパラメータ等、味方ユニット102の状態を示す各種パラメータが含まれている。画像データ1252は、ゲーム画面上に表示される味方ユニット102の画像のデータである。部下ユニットデータ1253は、同じ部隊として味方ユニット102と関連づけられている部下ユニット103に関するデータである。部下ユニットデータ1253には、部下ユニット103の数、各部下ユニットのステータスデータや画像データ等が含まれている。
ユニットアイコンデータ126は、図21等で示したようなユニットアイコン131や132に関するデータである。本ゲームでは、プレイヤの操作対象のユニットはプレイヤユニットが1つと味方ユニット4つの計5ユニットであるため、これらにそれぞれ対応するユニットアイコンとして5つのユニットアイコンデータ126a〜eが記憶されている(ユニットアイコンA〜E)。
各ユニットアイコンデータ126は、対応ユニット情報1261、表示フラグ1262、画像データ1263、半径値1264等から構成されている。対応ユニット情報1261は、そのユニットアイコンと対応づけられているプレイヤユニットあるいは味方ユニットを示す情報である。なお、本実施形態では、ユニットアイコンAがプレイヤユニット101に予め対応づけられ、ユニットアイコンB〜Eが味方ユニットA〜Dと予め対応づけられているものとする(すなわち、ユニットアイコンAは図21のユニットアイコン131に対応し、ユニットアイコンB〜はユニットアイコン132に対応する)。
表示フラグ1262は、ユニットアイコンを画面上に表示するか否かを示すためのフラグである。当該フラグがオンのユニットアイコンは画面に表示され、オフのときは画面上に表示されないことを示す。画像データ1263は、画面に表示するユニットアイコンの画像データである。図21を用いて上述したような、顔を模した図柄の表情の画像等が含まれている。半径値1264は、ユニットアイコンのサイズを示すパラメータであり、後述するような、アイコンの整列処理において利用されるパラメータである。上述のように、本実施形態におけるユニットアイコンは円形を基調としており、この円の半径が当該半径値1264として格納されている。
敵ユニットデータ127は、敵ユニット104に関するデータである。HP等のステータスデータや画像データ等が含まれる。
その他オブジェクトデータ128は、上記各ユニット以外のオブジェクトに関するデータである。例えば、宝箱106に関するデータ等が含まれている。
なお、外部メインメモリ12には、図30に示す情報に含まれるデータの他、仮想ゲーム空間に関するデータ(ステージデータ、地形データ等)や音声データ等、ゲーム処理に必要なデータが記憶される。
次に、図31〜図41を参照して、ゲーム装置3によって実行されるゲーム処理について説明する。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、ROM/RTC13に記憶されている起動プログラムを実行し、これによって外部メインメモリ12等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムが外部メインメモリ12に読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。図31におけるフローチャートは、上述したような、ユニットを操作する際におけるゲーム処理を示す。なお、本実施形態においては、指示操作以外の状況におけるゲーム処理は本発明と直接関連しないので説明を省略する。また、図31に示すフローチャートのステップS2〜S4の処理は、1フレーム毎に繰り返される。
図31において、まず、CPU10は、全てのユニットアイコンについて、その表示フラグ1262をオフに設定する(ステップS1)。
次に、CPU10は、アイコン整列処理を実行する(ステップS2)。この処理では、画面に表示されていないユニットについて、対応するユニットアイコンを表示する位置を算出する処理、および、ユニットアイコン同士が重なって表示されないように表示位置を調整する(つまり、ユニットアイコンを整列させる)ための処理が行われる。図32〜図34を用いて、本処理の概要を示すと、まず、画面外のユニットUに対して一番近い画面内の点をターゲット点Tとして算出する。次に、対応するユニットアイコンをT点に配置する。これを各ユニットについて行う。そして、T点に表示したユニットアイコン同士の衝突判定を行い(図33)、衝突しているときは、画面中央に近い方のアイコンを、中央に向けて表示位置を調整する(図34)。
図35は、上記ステップS2で示したアイコン整列処理の詳細を示すフローチャートである。図35において、まず、CPU10は、プレイヤユニットおよび味方ユニットから処理対象となるユニットを1つ選択し(ここでは、まずプレイヤユニットを選択するものとする)、当該ユニットについてターゲット点算出処理を実行する(ステップS11)。この処理では、上述したようなターゲット点Tを求める処理が実行される。図36は、上記ステップS11で示したターゲット点算出処理の詳細を示すフローチャートである。図36において、まず、CPU10は、画面中心を原点として、処理対象となるプレイヤユニット101、または各味方ユニットの2次元ベクトル(Ux,Uy)をUとして算出する(ステップS21)。このステップS21の処理をより具体的に説明すると、まず、CPU10は、仮想ゲーム空間内におけるプレイヤユニットまたは各味方ユニットの位置を取得し、3次元座標系から2次元座標系への座標変換を行う。ここで、当該2次元座標系への変換については、そのときの画面の中心を原点(0,0)とした座標系として変換される。以下、変換後の座標を(Ux、Uy)と表す。そして、CPU10は、画面の中心である原点(0,0)から(Ux、Uy)へのベクトルを二次元ベクトルUとして算出する。
次に、CPU10は、処理対象となるユニットに対応するユニットアイコンの表示フラグ1262をオフに設定する(ステップS22)。
次に、CPU10は、X軸方向に着目して、上記処理対象となるユニットが画面表示領域外にいるか否かを判定する(ステップS23)。具体的には、Uxが、画面の右端の境界を示す値であるXmax(図32参照)より大きいか否か、あるいは、画面の左端の境界を示す値である−Xmaxよりも小さいかを判定する(例えば、画面解像度がVGA(640×480)とすると、Xmaxは”320”、−Xmaxは”−319”となる)。当該判定の結果、Uxの値が−Xmaxより大きく、かつXmaxより小さいときは(ステップS23でNO)、変数Unewの値として位置ベクトルUを設定する(ステップS24)。ここで、変数Unewは(Unx、Uny)で表されるものとする。一方、Uxの値がXmaxより大きいとき、あるいは、−Xmaxよりも小さいときは(ステップS23でYES)、処理対象となるユニットは画面外にいることになるため、CPU10は、ユニットアイコンを画面に表示するために、処理対象ユニットに対応するユニットアイコンの表示フラグ1262をオンに設定する(ステップS25)。続いて、CPU10は、変数Unewの値を以下の式で算出する(ステップS26)。
Unew=U×|Xmax/Ux|
次に、CPU10は、Y軸方向に着目して、上記処理対象となるユニットが画面表示領域外にいるか否かを判定する(ステップS27)。具体的には、Unyが、画面の上端の境界を示す値であるYmax(図32参照)より大きいか否か、あるいは、画面の下端の境界を示す値である−Ymaxよりも小さいかを判定する(例えば、画面解像度がVGA(640×480)とすると、Ymaxは”240”、−Ymaxは”−239”となる)。当該判定の結果、Unyの値が−Ymaxより大きく、かつYmaxより小さいときは(ステップS27でNO)、そのままターゲット点算出処理を終了する。
一方、ステップS27の判定の結果、Unyの値がYmaxより大きいとき、あるいは、−Ymaxよりも小さいときは(ステップS27でYES)、上記処理対象となるユニットは画面表示領域外にいることになるため、上記ステップS25と同様に、CPU10は、処理対象ユニットに対応するユニットアイコンの表示フラグ1262をオンに設定する(ステップS28)。続いて、ユニットアイコンの表示位置を決定するために、CPU10は、ターゲット点Tの値を以下の式で算出する(ステップS29)。
T=Unew×|Ymax/Uy|
以上で、ターゲット点算出処理は終了する。
図35に戻り、次に、CPU10は、上記ステップS11の処理の結果、処理対象となるユニットに対応するユニットアイコンの表示フラグ1262がオフに設定されているか否かを判定する(ステップS12)。当該判定の結果、表示フラグ1262がオフに設定されているときは(ステップS12でYES)、CPU10は、当該対応するユニットアイコンが画面に表示されていれば当該ユニットアイコンを画面から消去して(ステップS13)、後述のステップS18に処理を進める。
一方、表示フラグがオフではないとき、すなわち、表示フラグがオンのときは(ステップS12でNO)、CPU10は、直前のフレームにおいて上記処理対象となるユニットに対応するユニットアイコンが表示されていたか否かを判定する(ステップS14)。その結果、表示されていなかったときは(ステップS14でNO)、例えば画面スクロールの結果、プレイヤユニットが画面に表示されなくなった直後のような場合であると考えられる。このときは、CPU10は、その時点での当該ユニットのステータスデータ1241または1251(HPの残量等)に基づいたユニットアイコン画像を生成し、上記ターゲット点Tの位置に表示する(ステップS15)。このとき、CPU10は、ユニットアイコン全体が画面内に収まって表示されるように、ユニットアイコンの中点を上記ターゲット点Tから所定距離だけずらして表示する。そして、CPU10は、後述のステップS17へと処理を進める。
一方、ステップS14の判定の結果、直前のフレームでユニットアイコンが既に表示されていたと判定したときは(ステップS14でYES)、CPU10は、処理対象となるユニットに対応するユニットアイコンの表示位置を上記算出されたターゲット点Tに近づける処理を行う(ステップS16)。すなわち、CPU10は、当該ユニットアイコンの中点を上記算出されたターゲット点Tに向けて所定の距離だけ移動させる処理を行う。このような処理が1フレーム毎に繰り返される結果、画面スクロールに伴って、ユニットアイコンが画面内においてその対応するユニットへの最寄りの位置へ随時移動するように表示されることになる。またこのとき、ユニットアイコンの画像内容が、対応するユニットのステータスデータや部下ユニットデータに応じて更新される。例えば、HPの残量が所定値以下のときは、苦しい表情をしている画像に更新する。また、味方ユニットの場合は、部下ユニットの数に応じてバー1321(図21参照)の数を増減させて画像を更新する。
次に、CPU10は、上記ステップS11〜S16の処理を、プレイヤユニットおよび味方ユニット全てについて行ったか否かを判定する(ステップS17)。当該判定の結果、まだ未処理のユニットが残っていれば(ステップS17でNO)、未処理のユニットを処理対象ユニットに設定して、上記ステップS11に戻って処理を繰り返す(ここでは、プレイヤユニット→味方ユニットA〜Dの順に処理されるものとする)。
一方、全てのユニットについて処理が済んでいれば(ステップS17でYES)、次に、CPU10は、アイコンリストを生成する処理を実行する(ステップS18)。このステップS18の処理を、図37を用いてより具体的に説明すると、まず、CPU10は、現在表示されているユニットアイコンについて、図37に示すようなアイコンリスト201を外部メインメモリ12内に生成する(なお、図37では、全てのユニットアイコンが表示されている場合を例としている)。当該アイコンリスト201は、ユニットアイコンA〜Eのそれぞれについて画面中心までの距離を示すためのリストである。次に、当該アイコンリスト201を、画面中心までの距離の降順でソートし、リスト202を生成する。当該ソート後のリスト202が、次に説明する衝突判定処理において用いられる。
次に、CPU10は、衝突判定処理を実行する(ステップS19)。この処理では、画面に表示されている複数のユニットアイコンが重なって表示されないように、表示位置を調整するための処理がおこなわれる。より具体的には、リスト202の先頭から順に各ユニットアイコンについて、リスト内において自身よりも上にあるユニットアイコン全てに対して、上から順に衝突判定(円の形状に見立てたアイコン同士が交差しているかどうか;上記図33参照)を行い、交差している分だけ、自身を画面中心に向けて移動させる処理が行われる(上述の図34参照)。これは、上記のように本ゲームではユニットアイコンをドラッグする操作が可能であるところ、ユニットアイコンが重なった状態で表示されていると当該ドラッグ操作の操作性が著しく低下する(プレイヤが所望するユニットアイコンをドラッグできなくなる)ために、ユニットアイコンが重ならないように調整して操作性をより高めるものである。
図38は、上記ステップS19で示した衝突判定処理の詳細を示すフローチャートである。図38において、まず、CPU10は、上記リスト202を参照し、当該リスト202に登録されているユニットアイコンの数(すなわち、表示されているユニットアイコンの数)が2以上であるか否かを判定する(ステップS41)。
当該判定の結果、ユニットアイコン数が2以上ではないと判定したときは(ステップS41でNO)、CPU10は、そのまま衝突判定処理を終了する。ユニットアイコンが一つだけしか表示されていないため、表示位置の調整は不要だからである。一方、ユニットアイコン数が2以上であると判定したときは(ステップS41でYES)、CPU10は、変数nに”1”を設定し(ステップS42)、更に、変数mに”2”を設定する(ステップS43)。この値は、上記リストの上から何番目に登録されているアイコンであるかを示すための値として用いられる。以下、リスト202の上からn番目のユニットアイコンを”アイコンn”と呼び、リスト202の上からm番目のユニットアイコンを”アイコンm”と呼ぶ。
次に、CPU10は、アイコンnおよびアイコンmの中点の画面上の座標(2次元での座標)を取得する(ステップS44)。
続いて、CPU10は、ステップS44で取得した座標に基づき、アイコンnとアイコンmの中点間の距離(直線距離での画素数)を算出する(ステップS45)。次に、CPU10は、アイコンnの半径値1264およびアイコンmの半径値1264の合計値(以下、合計半径値と呼ぶ)を算出する。そして、CPU10は、上記算出した中点間の距離が当該合計半径値以下であるか否かを判定する(ステップS46)。当該判定の結果、中点間の距離が当該合計半径値以下ではないときは(ステップS46でNO)、後述するステップS49の処理に進む。
一方、中点間の距離が当該合計半径値以下のときは(ステップS46でYES)、アイコンnとアイコンmの表示位置について少なくともその一部が重なることになる。そのため、画面中心に近いほうに位置するアイコンmの表示位置を調整する処理が行われる。具体的には、まず、アイコンmの目標座標が算出される(ステップS47)。このステップS47の処理をより具体的に説明すると、まず、CPU10は、アイコンnからアイコンmへのベクトルを算出する。続いて、CPU10は、当該算出したベクトルを正規化する(長さを1にする)。以下、当該正規化したベクトルをベクトルVと呼ぶ。そして、CPU10は、アイコンmの目標座標を以下の式を用いて算出する。
目標座標=(ベクトルV × 合計半径値)+アイコンnの中心座標
アイコンmの目標座標を算出すれば、次に、CPU10は、当該目標座標に向けてアイコンmの中点を所定距離だけ移動させる(ステップS48)。
次に、CPU10は、変数nに1を加算する(ステップS49)。続いて、CPU10は、変数nが変数mと等しいか否かを判定する(ステップS50)。その結果、等しくないときは(ステップS50でNO)、上記ステップS44に戻って処理を繰り返す。一方、変数nが変数mと等しいときは(ステップS50でYES)、CPU10は、変数mに1を加算する(ステップS51)。
次に、CPU10は、リスト202内の全てのアイコンについて全て処理したか否かを判定する(ステップS52)。その結果、まだ未処理のアイコンが残っていれば(ステップS52でNO)、変数nに”1”を設定して(ステップS53)、ステップS44に戻り処理を繰り返す。一方、全てのアイコンを処理したと判定されたときは(ステップS52でYES)、当該衝突判定概要を終了する。
図35に戻り、ステップS19の衝突判定処理が終了すれば、アイコン整列処理は終了する。
図31に戻り、ステップS2のアイコン整列処理の次に、CPU10は、操作判定処理を実行する(ステップS3)。
図39は、上記ステップS3で示した操作判定処理の詳細を示すフローチャートである。図39において、まず、CPU10は、プレイヤによるドラッグ操作が行われたか否かをコントローラ7から取得される操作データに基づいて判定する(ステップS61)。当該判定の結果、ドラッグ操作が行われていないときは(ステップS61でNO)、CPU10は後述するドラッグオフ処理を実行する(ステップS68)。
一方、ドラッグ操作が行われたと判定したときは(ステップS61でYES)、CPU10は、直前のフレーム(直前の処理ループ)において、指示アイコン107が画面に表示されていたか否かを判定する(ステップS62)。これは、1フレーム前の指示アイコンの表示状態を示すためのフラグ(図示は省略する)を用いる等して判定すればよい。
当該判定の結果、直前のフレームにおいて指示アイコンが表示されていないときは(ステップS62でNO)、ドラッグ操作が行われた直後であると考えられる。そのため、CPU10は、プレイヤユニット101、各味方ユニット102、およびこれらに対応する各ユニットアイコン131、132と、カーソル105との衝突判定を行う(ステップS63)。換言すれば、プレイヤユニット101、味方ユニット102、あるいはユニットアイコン131や132をコントローラ7でポインティングした状態でドラッグ操作を行ったか否かの判定が行われる。
ここで、カーソル105はコントローラ7のポインティング座標に表示されるが、このポインティング座標の算出方法の一例を説明する。コントローラ7から取得される操作データには、上記マーカ座標を示すデータが含まれる。当該データは、マーカ8Lおよび8Rに対応する2つのマーカ座標(図8参照)を示すので、まずCPU10は、2つのマーカ座標の中点を算出する。この中点の位置は、撮像画像に対応する平面上の位置を表すための上記xy座標系によって表現される。次に、CPU10は、当該中点の位置を示す座標を、テレビ2の画面上の位置を表すための座標系(x'y'座標系とする)の座標に変換する。この変換は、ある撮像画像から算出される中点の座標を、当該撮像画像が撮像される時のコントローラ7の実際の指示位置に対応する画面上の座標に変換する関数を用いて行うことができる。その際、コントローラ7の指示位置と、撮像画像内でのマーカ座標の位置とは逆方向に移動することになるので、上下左右が反転するような変換を行う。以上のようにして算出されたx'y'座標値により示される値がコントローラ7のポインティング座標となり、カーソル105は、当該座標に合わせて表示される。
ステップS63の判定の結果、カーソル105がいずれかのユニットあるいはユニットアイコンと衝突していないときは(ステップS64でNO)、CPU10は、そのまま操作判定処理を終了する。一方、カーソル105がいずれかのユニットあるいはユニットアイコンと衝突していれば(ステップS64でYES)、CPU10は、衝突しているユニットまたはユニットアイコンに対応づけて指示アイコン107を生成し、衝突しているユニットまたはユニットアイコンに重ねて表示する(ステップS65)。また、これに併せて、CPU10は、上述したような情報アイコン108を生成して表示する。具体的には、上記作戦行動の対象となり得るユニットやオブジェクト(敵ユニット104や宝箱106)が画面内に存在するか否かを判定し、存在するときは、各ユニットやオブジェクトに対して可能な作戦行動を示す情報アイコンを生成する。そして、CPU10は、当該情報アイコン108を当該情報アイコン108に対応するユニットやオブジェクトに重ねて表示する。そして、CPU10は、操作判定処理を終了する。
一方、ステップS62の判定の結果、直前のフレームにおいて指示アイコンが表示されていたときは(ステップS62でYES)、ドラッグ状態が継続している状態であるため、CPU10は、指示アイコン107をカーソル105の表示位置に移動する(ステップS66)。このとき、指示アイコン107が、画面内に表示されているいずれかの情報アイコン108と衝突したときは、当該情報アイコン108のサイズを所定の倍率だけ大きくして表示する。
次に、CPU10は、指示アイコン107とユニットとを結ぶ破線軌跡109(図13参照)を生成して表示する(ステップS67)。ここで、当該破線軌跡109は、図40に示すように、対応するユニットからの距離に応じて、破線の間隔や破線を構成している一つ一つの線の長さが大きくなる。つまり、指示アイコン107と対応するユニットとの距離の長さに応じて表示内容が変わる。これにより、これから命令を出そうとするユニットが現在の表示位置から仮想空間内においてどの程度離れた所にいるかをプレイヤに直感的に把握させることができる。破線軌跡109を表示すれば、CPU10は操作判定処理を終了する。
次に、上記ステップS61の判定の結果、ドラッグ操作が行われていないときの処理(ステップS61でNO)について説明する。図41は、上記ステップS68で示したドラッグオフ処理の詳細を示すフローチャートである。図41において、まず、CPU10は、直前のフレームにおいて、指示アイコン107が画面に表示されていたか否かを判定する(ステップS71)。当該判定の結果、直前のフレームで指示アイコン107が画面に表示されていないときは(ステップS71でNO)、CPU10は、そのままドラッグオフ処理を終了する。
一方、直前のフレームで指示アイコン107が画面に表示されていたとき(つまり、ドラッグ状態を解除した直後の状態に相当する;ステップS71でYES)は、次に、CPU10は、指示アイコン107と作戦行動の対象となり得るユニットやオブジェクト(敵部隊や宝箱106等)との衝突判定を行う(ステップS72)。そして、CPU10は、ステップS72の処理の結果、いずれかのユニットまたはオブジェクトと指示アイコン107とが衝突しているか否かを判定し(ステップS73)、衝突していると判定したときは(ステップS73でYES)、CPU10は、当該衝突しているユニットまたはオブジェクトを作戦行動の対象として指定する。そして、当該衝突しているユニットまたはオブジェクトに応じた作戦行動を指示アイコン107に対応づけられているプレイヤユニット101または味方ユニット102(味方部隊)に開始させる(ステップS74)。例えば、敵部隊と衝突している場合は、当該敵部隊を攻撃目標として設定して攻撃処理を開始させ、宝箱106と衝突している場合は、当該宝箱を取得するための処理を開始させる。

次に、CPU10は、指示アイコン107を画面から消去する(ステップS77)。そして、CPU10は、ドラッグオフ処理を終了する。
一方、上記ステップS73の判定の結果、いずれかのユニットまたはオブジェクトと指示アイコン107とは衝突していないと判定したときは(ステップS73でNO)、CPU10は、指示アイコン107の位置に対応する仮想ゲーム空間内の地点が、プレイヤユニット101または味方ユニット102が進入可能として設定されている地形や場所であるか否かを判定する(ステップS75)。当該判定の結果、進入可能な場所であれば(ステップS75でYES)、CPU10は、当該地点を目標地点として設定し、指示アイコン107に対応づけられているプレイヤユニット101または味方ユニット102を移動させる(ステップS76)。そして、上記ステップS77の処理を実行する。一方、進入可能な場所でないときは(ステップS75でNO)、CPU10は、ステップS76の処理は行わずにステップS77に進み、指示アイコン107を消去する処理を実行する。以上で、ドラッグオフ処理は終了する。図39に戻り、ドラッグオフ処理が終了すれば、操作判定処理も終了する。
図31に戻り、ステップS3の操作判定処理が終了すれば、ステップS4において、CPU10は、ゲーム終了か否かを判断し、YESの場合、ゲーム処理を終了し、NOの場合、ステップS2に戻って、ゲーム処理を繰り返す。以上で、本実施形態にかかるゲーム処理の説明を終了する。
以上のように、本実施形態では、画面内に味方ユニット等が表示されていないときでも、プレイヤはユニットアイコンを利用して素早い指示・命令を味方ユニット102等に出すことが可能となる。これにより、リアルタイム性のあるゲーム等において、より操作性を高めることができ、ゲームの興趣性を高めることができる。
また、本実施形態では、ユニットアイコンを画面に表示する際、対応するユニットの位置に応じて適宜表示位置を変更している。そのため、画面外のユニットの存在する方向をプレイヤに直感的に把握させることができる。更に、複数のユニットアイコンを画面に表示するときは、ユニットアイコン同士が重なって表示されないように表示位置を調整するため、操作性が低下することを防ぐこともできる。また、ユニットアイコンの画像として、対応するユニットのHP等の状態や味方ユニットに関しては部下ユニットの数を示す画像を表示することにより、画面外のユニットの状態等について直感的にプレイヤに把握させることができる。
なお、ユニットアイコン131や132の画像に関して、上記実施形態では、HPの残量等のステータスデータに応じた画像を表示させるようにしていたが、この他、ユニットアイコンに対応しているユニットの顔画像を適宜表示するようにしても良い。例えば、図42に示すようにユニットアイコン131が画面に表示されているとき、カーソル105がユニットアイコン131から所定距離内に近づいたときに、図43に示すように、ユニットアイコン131に対応するユニット(ここでは、プレイヤユニット101)のキャラクタを表す顔画像をユニットアイコン131に表示するようにしてもよい。更にこのとき、ユニットアイコン131のサイズを少し大きく変化させてもよい。これにより、複数のユニットアイコンが表示されているとき、どのユニットアイコンがどのユニットに対応するかをプレイヤに直感的に把握させやすくすることができる。
また、画面のスクロール操作に関しては、上述の実施形態では、十字キー72aを用いた例を挙げたが、これに限らず、例えば、アナログスティックを利用して画面スクロール操作を可能としても良い。例えば、コントローラ7のコネクタ73に所定のアナログスティックを備えたデバイスを接続し、当該アナログスティックの操作データもゲーム装置3本体に送信するように構成して、アナログスティックの操作に応じて画面をスクロールするように制御しても良い。また、図44に示すように、ゲーム画面の上下左右の端に画面スクロール用のアイコン301a〜dを表示し、図45に示すように、当該アイコンをドラッグすれば、各アイコンの応じた方向に画面がスクロールするようにしてもよい。図45の例では、上方向に画面がスクロールすることになる。また、アイコン301a〜dは表示せずに、カーソル105が画面端の所定の領域(例えば、図44のアイコン301a〜dが表示されている領域とほぼ同じ大きさの領域を当該所定の領域とする)内に入った時点で、画面をスクロールさせるようにしてもよい。これにより、画面スクロールの操作性を向上することが可能となる。
また、本実施例では、上記のようなマーカ8Rおよび8Lと、撮像情報演算部74を有するコントローラ7とで実現されるポインティングデバイスを用いたゲーム装置を例に説明したが、これに限らず、例えば、1つまたは2つの表示装置を備え、当該表示装置の画面上にタッチパネルを備えた携帯端末や携帯型ゲーム装置であってもよい。つまり、操作領域に対するプレイヤの指示位置を検出する装置としてタッチパネルを用いる構成としても良い。その他、プレイヤが所定領域内の位置を指示できるポインティングデバイスであればよく、例えば、画面上の任意位置を指示可能なマウス、表示画面を持たない操作面上の任意位置を指示するタブレットなどを用いた構成でもよい。
本発明にかかる情報処理プログラムおよび情報処理装置は、命令対象オブジェクトに対する命令操作についての操作性を向上することができ、複数の命令対象オブジェクトが登場するRTS等のゲームが実行されるゲーム装置等に有用である。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置本体5の機能ブロック図 図1のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面前方から見た斜視図 図3のコントローラ7の上ハウジングを外した状態を示す斜視図 図3のコントローラ7の下ハウジングを外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 撮像画像の一例を示す図 本実施形態で想定するゲームの画面の一例 操作方法について説明するための図 仮想ゲーム空間全体と画面の表示領域との関係を示した図 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 仮想ゲーム空間全体と画面の表示領域との関係を示した図 仮想ゲーム空間全体と画面の表示領域との関係を示した図 本実施形態で想定するゲームの画面の一例 図20のユニットアイコン131および132を拡大した図 仮想ゲーム空間全体と画面の表示領域との関係を示した図 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 仮想ゲーム空間全体と画面の表示領域との関係を示した図 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 仮想ゲーム空間全体と画面の表示領域との関係を示した図 図3に示した外部メインメモリ12のメモリマップを示す図 本発明の実施形態に係るゲーム処理を示すフローチャート アイコン整列処理の概要説明のための図 アイコン整列処理の概要説明のための図 アイコン整列処理の概要説明のための図 図31のステップS2で示したアイコン整列処理の詳細を示すフローチャート 図35のステップS11で示したターゲット点算出処理の詳細を示すフローチャート アイコンリストの一例 図35のステップS19で示した衝突判定処理の詳細を示すフローチャート 図31のステップS3で示した操作判定処理の詳細を示すフローチャート 破線軌跡の一例 図39のステップS68で示したドラッグオフ処理の詳細を示すフローチャート 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例
符号の説明
1…ゲームシステム
2…テレビ
2a…スピーカ
3…ゲーム装置
4…光ディスク
7…コントローラ
10…CPU
11…システムLSI
11a…入出力プロセッサ
11b…GPU
11c…DSP
11d…VRAM
11e…内部メインメモリ
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22…アンテナ
23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
707…サウンドIC
708…アンプ

Claims (32)

  1. プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面に表示する情報処理装置のコンピュータに実行させる情報処理プログラムであって、
    前記仮想空間内における所定領域の外にいる前記命令対象オブジェクトを前記単位時間毎に検出する領域外オブジェクト検出ステップと、
    前記領域外オブジェクト検出ステップにおいて前記所定領域外にいる前記命令対象オブジェクトが検出されたとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを前記画面内に表示する代替アイコン表示ステップと、
    前記単位時間毎に操作装置から操作データを取得し、当該操作データから当該操作装置によって指し示される前記画面上の指示位置を算出するポインティング位置算出ステップと、
    前記代替アイコンに対して第1の操作が行われたことを前記操作データから検出する第1操作検出ステップと、
    前記第1操作検出ステップにおいて第1の操作が検出された後、第2の操作が行われたことを前記操作データから検出する第2操作検出ステップと、
    前記第2操作検出ステップにおいて前記第2の操作が検出されたときの前記指示位置に基づいて、前記第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる動作実行ステップとを前記コンピュータに実行させる、情報処理プログラム。
  2. 前記領域外オブジェクト検出ステップは、前記画面に表示される領域を前記所定の領域として前記検出を行う、請求項1に記載の情報処理プログラム。
  3. 前記動作実行ステップは、前記第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトを前記指示位置に対応する前記仮想空間内の位置に移動させる、請求項1に記載の情報処理プログラム。
  4. 前記動作実行ステップは、前記指示位置に対応する前記仮想空間内の位置に存在するオブジェクトに対する所定の動作を前記命令対象オブジェクトに実行させる、請求項1に記載の情報処理プログラム。
  5. 前記代替アイコン表示ステップは、前記画面上において前記代替アイコンに対応づけられている命令対象オブジェクトに最も近い位置に当該代替アイコンを表示する、請求項1に記載の情報処理プログラム。
  6. 前記代替アイコン表示ステップは、前記代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する、請求項5に記載の情報処理プログラム。
  7. 前記情報処理プログラムは、前記第1の操作が検出されてから前記第2の操作が検出されるまでの間、当該第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の地点とを結ぶ線を生成して画面に表示する、線表示ステップを更に実行させる、請求項1に記載の情報処理プログラム。
  8. 前記線表示ステップは、前記代替アイコンまたは当該代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の位置との間の距離に関する情報を表示する、請求項7に記載の情報処理プログラム。
  9. 前記操作装置は、少なくとも一つのキーを備え、
    前記第1操作検出ステップは、前記代替アイコンのいずれかと前記指示位置とが重なっている状態で前記キーのうち所定のキーが押下されたことを前記第1の操作として前記操作データに基づいて検出し、
    前記第2操作検出ステップは、前記第1の操作として検出された所定のキーの押下状態が解放されたことを前記第2の操作として前記操作データに基づいて検出する、請求項1に記載の情報処理プログラム。
  10. 前記操作装置は、撮像対象を撮像するための撮像手段を備え、
    前記操作データには、前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータ、の少なくともいずれかが含まれ、
    前記ポインティング位置算出ステップは、前記操作装置から取得された前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータのいずれかから指示位置を算出する、請求項1に記載の情報処理プログラム。
  11. 前記操作装置はアナログ方式の方向指示デバイスであるアナログスティックを備え、
    前記情報処理プログラムは、前記アナログスティックの指示方向に応じて前記画面をスクロールさせるためのスティックスクロールステップを更に実行させる、請求項1に記載の情報処理プログラム。
  12. 前記プログラムは、前記指示位置が前記画面の上下左右の端を含む所定の領域内に重なったか否かを判定し、重なっているときは当該重なっている端の方向に応じて画面をスクロールさせる画面端スクロールステップを更に実行させる、請求項1に記載の情報処理プログラム。
  13. 前記代替アイコン表示ステップは、前記代替アイコンに対応する前記命令対象オブジェクトの状態を示すパラメータに基づいた情報を当該代替アイコンに付随して表示する、請求項1に記載の情報処理プログラム。
  14. 前記仮想空間には、前記命令対象オブジェクトに対応づけられている少なくとも一つの関連オブジェクトが存在し、
    前記動作実行ステップは、前記命令対象オブジェクトと共に前記関連オブジェクトに対しても前記所定の動作を実行させる、請求項1に記載の情報処理プログラム。
  15. 前記代替アイコン表示ステップは、前記命令対象オブジェクトに対応づけられている前記関連オブジェクトの数に関する情報を前記代替アイコンに付随して表示する、請求項14の情報処理プログラム。
  16. 前記情報処理プログラムは、前記第1の操作が検出されたとき、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトが画面内に表示されている当該命令対象オブジェクト以外のオブジェクトに対して行うことができる行動を示す行動情報表示を当該命令対象オブジェクト以外のオブジェクトに重ねて表示する行動情報表示ステップを更に実行させる、請求項1に記載の情報処理プログラム。
  17. プレイヤの操作に基づいて所定の動作を行う少なくとも1つの命令対象オブジェクトが存在する仮想空間内の様子を単位時間毎に画面に表示する情報処理装置であって、
    前記単位時間毎に操作装置から操作データを取得し、当該操作データから当該操作装置によって指し示される前記画面上の指示位置を算出するポインティング位置算出手段と、
    前記仮想空間内における所定領域の外にいる前記命令対象オブジェクトを前記単位時間毎に検出する領域外オブジェクト検出手段と、
    前記領域外オブジェクト検出手段が前記所定領域外にいる前記命令対象オブジェクトを検出したとき、当該命令対象オブジェクトと対応づけたアイコンである代替アイコンを前記画面内に表示する代替アイコン表示手段と、
    前記代替アイコンに対して第1の操作が行われたことを検出する第1操作検出手段と、
    前記第1操作検出手段が第1の操作を検出した後、前記第1の操作とは異なる操作である第2の操作が行われたことを検出する第2操作検出手段と、
    前記第2操作検出手段が前記第2の操作を検出したときの前記指示位置に基づいて、前記第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトに所定の動作を実行させる動作実行手段とを備える、情報処理装置。
  18. 前記領域外オブジェクト検出手段は、前記画面に表示される領域を前記所定の領域として前記検出を行う、請求項17に記載の情報処理装置
  19. 前記動作実行手段は、前記第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトを前記指示位置に対応する前記仮想空間内の位置に移動させる、請求項17に記載の情報処理装置。
  20. 前記動作実行手段は、前記指示位置に対応する前記仮想空間内の位置に存在するオブジェクトに応じた動作を前記命令対象オブジェクトに実行させる、請求項17に記載の情報処理装置
  21. 前記代替アイコン表示手段は、前記代替アイコンを前記画面上において当該代替アイコンに対応づけられている命令対象オブジェクトに最も近い位置に表示する、請求項17に記載の情報処理装置。
  22. 前記代替アイコン表示手段は、前記代替アイコンを複数表示するときは、各代替アイコン同士が交差して表示されないように表示位置を調整して表示する、請求項21に記載の情報処理装置。
  23. 前記情報処理装置は、前記第1の操作が検出されてから前記第2の操作が検出されるまでの間、当該第1の操作が行われた前記代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の地点とを結ぶ線を生成して画面に表示する、線表示手段を更に備える、請求項17に記載の情報処理装置
  24. 前記線表示手段は、前記代替アイコンまたは当該代替アイコンに対応づけられている命令対象オブジェクトと前記指示位置に対応する仮想空間内の位置との間の距離に関する情報を表示する、請求項23に記載の情報処理装置
  25. 前記操作装置は、少なくとも一つのキーを備え、
    前記第1操作検出手段は、前記代替アイコンのいずれかと前記指示位置とが重なっている状態で前記キーのうち所定のキーが押下されたことを前記第1の操作として前記操作データに基づいて検出し、
    前記第2操作検出手段は、前記第1の操作として検出された所定のキーの押下状態が解放されたことを前記第2の操作として前記操作データに基づいて検出する、請求項17に記載の情報処理装置
  26. 前記操作装置は、撮像対象を撮像するための撮像手段を備え、
    前記操作データには、前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータ、の少なくともいずれかが含まれ、
    前記ポインティング位置算出手段は、前記操作装置から取得された前記撮像手段によって撮像される撮像画像のデータ、当該撮像画像における前記撮像対象の所定の2箇所の位置を示すデータ、および、当該撮像画像における前記撮像対象の位置を示すデータのいずれかから指示位置を算出する、請求項17に記載の情報処理装置
  27. 前記操作装置はアナログ方式の方向指示デバイスであるアナログスティックを備え、
    前記情報処理装置は、前記アナログスティックの指示方向に応じて前記画面をスクロールさせるためのスティックスクロール手段を更に備える、請求項17に記載の情報処理装置。
  28. 前記情報処理装置は、前記指示位置が前記画面の上下左右の端を含む所定の領域内に重なったか否かを判定し、重なっているときは当該重なっている端の方向に応じて画面をスクロールさせる画面端スクロール手段を更に備える、請求項17に記載の情報処理装置。
  29. 前記代替アイコン表示手段は、前記代替アイコンに対応する前記命令対象オブジェクトの状態を示すパラメータに基づいた情報を当該代替アイコンに付随して表示する、請求項17に記載の情報処理装置。
  30. 前記仮想空間には、前記命令対象オブジェクトに対応づけられている少なくとも一つの関連オブジェクトが存在し、
    前記動作実行手段は、前記命令対象オブジェクトと共に前記関連オブジェクトに対しても前記所定の動作を実行させる、請求項17に記載の情報処理装置。
  31. 前記代替アイコン表示手段は、前記命令対象オブジェクトに対応づけられている前記関連オブジェクトの数に関する情報を前記代替アイコンに付随して表示する、請求項30の情報処理装置。
  32. 前記情報処理装置は、前記第1の操作が検出されたとき、当該第1の操作が行われた代替アイコンに対応づけられている命令対象オブジェクトが画面内に表示されている当該命令対象オブジェクト以外のオブジェクトに対して行うことができる行動を示す行動情報表示を当該命令対象オブジェクト以外のオブジェクトに重ねて表示する行動情報表示手段を更に備える、請求項17に記載の情報処理装置。
JP2008076739A 2008-03-24 2008-03-24 情報処理プログラムおよび情報処理装置 Active JP5522902B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008076739A JP5522902B2 (ja) 2008-03-24 2008-03-24 情報処理プログラムおよび情報処理装置
US12/406,480 US8175993B2 (en) 2008-03-24 2009-03-18 Computer-readable storage medium having information processing program stored thereon and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076739A JP5522902B2 (ja) 2008-03-24 2008-03-24 情報処理プログラムおよび情報処理装置

Publications (3)

Publication Number Publication Date
JP2009226081A JP2009226081A (ja) 2009-10-08
JP2009226081A5 JP2009226081A5 (ja) 2011-03-03
JP5522902B2 true JP5522902B2 (ja) 2014-06-18

Family

ID=41090097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076739A Active JP5522902B2 (ja) 2008-03-24 2008-03-24 情報処理プログラムおよび情報処理装置

Country Status (2)

Country Link
US (1) US8175993B2 (ja)
JP (1) JP5522902B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5443832B2 (ja) * 2009-05-29 2014-03-19 任天堂株式会社 ゲームプログラム及びゲーム装置
JP4910037B2 (ja) * 2009-11-27 2012-04-04 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御プログラム、及びゲーム制御方法
JP5431142B2 (ja) * 2009-12-18 2014-03-05 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム処理方法、ならびに、プログラム
US9047052B2 (en) 2009-12-22 2015-06-02 At&T Intellectual Property I, L.P. Simplified control input to a mobile device
US8913009B2 (en) 2010-02-03 2014-12-16 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
AU2011204815B2 (en) 2010-02-03 2013-05-30 Nintendo Co., Ltd. Game system, controller device, and game process method
JP6243586B2 (ja) 2010-08-06 2017-12-06 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
US10150033B2 (en) * 2010-08-20 2018-12-11 Nintendo Co., Ltd. Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method
JP5840385B2 (ja) 2010-08-30 2016-01-06 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
JP5840386B2 (ja) 2010-08-30 2016-01-06 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
KR101492310B1 (ko) 2010-11-01 2015-02-11 닌텐도가부시키가이샤 조작 장치 및 정보 처리 장치
JP5643617B2 (ja) * 2010-11-18 2014-12-17 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理方法、画像処理システム
KR101724000B1 (ko) * 2010-11-22 2017-04-06 삼성전자주식회사 터치스크린 단말기에서 화면 스크롤 방법 및 장치
JP5654330B2 (ja) * 2010-11-26 2015-01-14 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5844999B2 (ja) * 2011-05-19 2016-01-20 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
US9146703B2 (en) 2011-04-08 2015-09-29 Nintendo Co., Ltd. Storage medium, information processing apparatus, information processing system and information processing method
US10642444B2 (en) * 2011-12-28 2020-05-05 Panasonic Intellectual Property Management Co., Ltd. Image display control device, and image display control method
JP5989347B2 (ja) * 2012-02-03 2016-09-07 コニカミノルタ株式会社 携帯端末、携帯端末の制御プログラム、及び携帯端末を含む表示システム
KR102085309B1 (ko) * 2013-01-30 2020-03-05 삼성전자주식회사 전자 장치에서 스크롤 장치 및 방법
KR101919349B1 (ko) * 2014-04-04 2018-11-19 가부시키가이샤 코로프라 사용자 인터페이스 프로그램 및 게임 프로그램
WO2015170483A1 (ja) * 2014-05-09 2015-11-12 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6661275B2 (ja) * 2015-03-05 2020-03-11 株式会社バンダイナムコエンターテインメント プログラムおよびサーバシステム
KR101739840B1 (ko) * 2015-06-10 2017-05-25 (주)엔도어즈 게임 서비스 제공 장치 및 그 제어 방법
JP6335865B2 (ja) 2015-12-01 2018-05-30 株式会社スクウェア・エニックス プログラム、およびシステム
JP6515053B2 (ja) * 2016-03-16 2019-05-15 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
JP6669783B2 (ja) * 2017-12-25 2020-03-18 ガンホー・オンライン・エンターテイメント株式会社 端末装置、システム、プログラム及び方法
JP6608494B2 (ja) * 2018-08-02 2019-11-20 株式会社タイトー ゲーム要素移動プログラム、ゲーム機
CN109316747B (zh) * 2018-09-28 2022-02-25 珠海豹趣科技有限公司 游戏辅助信息提示方法、装置及电子设备
JP7217552B2 (ja) * 2018-11-01 2023-02-03 株式会社コナミデジタルエンタテインメント ゲーム装置およびプログラム
JP6981595B2 (ja) * 2018-11-01 2021-12-15 株式会社コナミデジタルエンタテインメント ゲーム装置およびプログラム
CN109876433B (zh) * 2019-03-28 2020-09-18 瑞声科技(新加坡)有限公司 一种游戏角色的位置提示方法、终端设备以及存储介质
CN111589140B (zh) * 2020-05-14 2023-03-14 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111672114B (zh) * 2020-06-05 2022-03-18 腾讯科技(深圳)有限公司 目标虚拟对象确定方法、装置、终端及存储介质
CN114558323A (zh) * 2022-01-29 2022-05-31 腾讯科技(深圳)有限公司 道具合成方法和装置、存储介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3421746B2 (ja) * 1993-12-21 2003-06-30 株式会社セガ ゲーム機における球技のパス先選択方法
JP4366096B2 (ja) * 2003-02-24 2009-11-18 キヤノン株式会社 情報処理装置及びそのシミュレーション方法並びに記憶媒体
JP2006305176A (ja) 2005-04-28 2006-11-09 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP5013303B2 (ja) * 2006-01-06 2012-08-29 株式会社セガ ゲーム装置及びその制御方法
JP4118920B2 (ja) * 2006-02-22 2008-07-16 株式会社スクウェア・エニックス ゲーム装置、フィールド間境界表示方法、並びにプログラム及び記録媒体
JP4463227B2 (ja) * 2006-03-15 2010-05-19 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP4447568B2 (ja) * 2006-03-28 2010-04-07 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US8175993B2 (en) 2012-05-08
US20090241038A1 (en) 2009-09-24
JP2009226081A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5522902B2 (ja) 情報処理プログラムおよび情報処理装置
US8884875B2 (en) Information processing apparatus and computer-readable recording medium recording information processing program
US8284158B2 (en) Computer readable recording medium recording image processing program and image processing apparatus
JP5390093B2 (ja) ゲームプログラムおよびゲーム装置
US9199166B2 (en) Game system with virtual camera controlled by pointing device
US8403753B2 (en) Computer-readable storage medium storing game program, game apparatus, and processing method
JP5448073B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法
JP5654330B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5700758B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP4964729B2 (ja) 画像処理プログラムおよび画像処理装置
US9389751B2 (en) Storage medium storing subject selecting program and subject selecting apparatus
JP4919887B2 (ja) 画像処理プログラムおよび画像処理装置
US20110169866A1 (en) Storage medium, information processing system, and information processing method
JP2009189660A (ja) 情報処理プログラムおよび情報処理装置
JP5358168B2 (ja) ゲーム装置およびゲームプログラム
JP5632657B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法
JP2010142404A (ja) ゲームプログラムおよびゲーム装置
JP5259965B2 (ja) 情報処理プログラム、および、情報処理装置
JP5945297B2 (ja) ゲームプログラムおよびゲーム装置
JP2013175208A (ja) 情報処理装置および情報処理プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110118

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140408

R150 Certificate of patent or registration of utility model

Ref document number: 5522902

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

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