JP5758152B2 - ゲームプログラム、ゲーム装置およびゲーム制御方法 - Google Patents

ゲームプログラム、ゲーム装置およびゲーム制御方法 Download PDF

Info

Publication number
JP5758152B2
JP5758152B2 JP2011046678A JP2011046678A JP5758152B2 JP 5758152 B2 JP5758152 B2 JP 5758152B2 JP 2011046678 A JP2011046678 A JP 2011046678A JP 2011046678 A JP2011046678 A JP 2011046678A JP 5758152 B2 JP5758152 B2 JP 5758152B2
Authority
JP
Japan
Prior art keywords
player object
game
player
enemy
displayed
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
JP2011046678A
Other languages
English (en)
Other versions
JP2012183106A (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 JP2011046678A priority Critical patent/JP5758152B2/ja
Priority to US13/106,445 priority patent/US8491383B2/en
Publication of JP2012183106A publication Critical patent/JP2012183106A/ja
Application granted granted Critical
Publication of JP5758152B2 publication Critical patent/JP5758152B2/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/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • 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/10Features 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 input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features 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 input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features 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 input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • 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/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • 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/301Features 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 using an additional display connected to the game console, e.g. on the controller
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

この発明はゲームプログラム、ゲーム装置およびゲーム制御方法に関し、特にたとえば、2つの表示領域に仮想ゲームの画面を表示させる、ゲームプログラム、ゲーム装置およびゲーム制御方法に関する。
この種のゲーム装置の一例が特許文献1に開示されている。この特許文献1の情報処理装置では、第1表示領域に複数のウインドウが重畳してまたは最前のウインドウのみが表示され、第2表示領域に複数のウインドウに対応づけられた複数のタブが表示される。タブ上で所定の入力があったと判定されたとき、当該タブに対応付けられた第1表示領域の最前に表示されたウインドウが第2表示領域に表示される。あるいは、当該タブに対応付けられた非アクティブなウインドウが第2表示領域に表示される。したがって、ユーザは、第2表示領域に表示されたウインドウに対してタッチパネルを用いて操作し入力する。
WO2005/091117[G06F 3/048, G06F 3/14]
しかし、特許文献1に開示された情報処理装置では、所望のウインドウに対して操作し入力する場合には、タッチパネルの操作が可能な第2表示領域に当該ウインドウを表示する必要がある。したがって、特許文献1の情報処理装置を用いてゲームを行う場合には、所望のウインドウを第2表示領域に移動させる必要があり、操作が面倒である。また、このことがゲームの作成やゲームプレイを制約してしまう虞がある。
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することである。
また、この発明の他の目的は、操作性を向上させることができる、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することができる。
第1の発明は、2つの表示領域を備えるゲーム装置のゲームプログラムであって、ゲーム装置のコンピュータを、操作検出部、表示部、第1オブジェクト制御部、第2オブジェクト制御部、および入替部として機能させる。操作検出部は、プレイヤによる操作を検出する。表示部は、一方の表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示する。第1オブジェクト制御部は、操作検出部の検出結果に基づいて第1オブジェクトを移動させる。第2オブジェクト制御部は、第1オブジェクト制御部によって移動される第1オブジェクトの移動に従って第2オブジェクトを移動させる。入替部は、操作検出部の検出結果に基づいて第1オブジェクトと第2オブジェクトとを入れ替えることにより、第1オブジェクトを他方の表示領域に表示させ、第2オブジェクトを一方の表示領域に表示させる。したがって、第1オブジェクト制御部は、一方の表示領域または他方の表示領域に表示された第1オブジェクトを移動させる。
第1の発明によれば、2つの表示領域のいずれに表示されていても、プレイヤの操作に応じてオブジェクトを移動させるので、特定の表示領域にオブジェクトを表示させるような制約が無く、操作性を向上させることができる。また、第1オブジェクトの移動に従って第2オブジェクトを移動させるので、同時に2つのオブジェクを移動させることができる。この場合にも、操作性を向上させることができる。
の発明は、第の発明に従属し、入替部によって第1オブジェクトと第2オブジェクトとが入れ替えられたとき、第2オブジェクト制御部は、プレイヤの操作に応じて当該第2オブジェクトを移動させ、第1オブジェクト制御部は、当該第2オブジェクトの移動に従って当該第1オブジェクトを移動させる。
の発明においても、第の発明と同様に、同時に2つのオブジェクトを移動させることができる。
の発明は、第の発明に従属し、第2オブジェクト制御部は、第1オブジェクト制御部によって移動される第1オブジェクトと点対称に第2オブジェクトを移動させる。つまり、第1オブジェクトと第2オブジェクトとが、たとえば、左右および上下で反対方向に移動される。
の発明の発明によれば、第2オブジェクトを点対称に移動させるので、操作の難易度が比較的高く、ゲームに飽きが来るのを出来る限り防止することができる。
第4の発明は、2つの表示領域を備えるゲーム装置であって、操作検出部、表示部、第1オブジェクト制御部、第2オブジェクト制御部、および入替部を備える。操作検出部は、プレイヤによる操作を検出する。表示部は、一方の表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示する。第1オブジェクト制御部は、操作検出部の検出結果に基づいて第1オブジェクトを移動させる。第2オブジェクト制御部は、第1オブジェクト制御部によって移動される第1オブジェクトの移動に従って第2オブジェクトを移動させる。入替部は、操作検出部の検出結果に基づいて第1オブジェクトと第2オブジェクトとを入れ替えることにより、第1オブジェクトを他方の表示領域に表示させ、第2オブジェクトを一方の表示領域に表示させる。
の発明においても、第1の発明と同様に、操作性を向上させることができる。
の発明は、2つの表示領域を備えるゲーム装置のゲーム制御方法であって、(a)プレイヤによる操作を検出し、(b)一方の表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示し、(c)ステップ(a)の検出結果に基づいて第1オブジェクトを移動させ、d)ステップ(c)によって移動される第1オブジェクトの移動に従って第2オブジェクトを移動させ、そして(e)ステップ(a)の検出結果に基づいて第1オブジェクトと第2オブジェクトとを入れ替えることにより、第1オブジェクトを他方の表示領域に表示させ、第2オブジェクトを一方の表示領域に表示させる、ゲーム制御方法である。
の発明においても、第1の発明と同様に、操作性を向上させることができる。
この発明によれば、2つの表示領域のいずれに表示されていても、プレイヤの操作に応じてオブジェクトを移動させるので、特定の表示領域にオブジェクトを表示させるような制約が無く、操作性を向上させることができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はこの発明のゲーム装置の外観構成の一実施例を示す図解図である。 図2は図1に示すゲーム装置を折り畳んだ状態の上面図および左側面図を示す図解図である。 図3は図1および図2に示すゲーム装置の電気的な構成を示すブロック図である。 図4は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第1の例を示す図解図である。 図5はこの実施例の仮想ゲームのゲームフィールドを説明するための図解図である。 図6は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第2の例を示す図解図である。 図7は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第3の例を示す図解図である。 図8は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第4の例を示す図解図である。 図9は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第5の例を示す図解図である。 図10は図1に示すゲーム装置の第1LCDおよび第2LCDに表示されるゲーム画面の第6の例を示す図解図である。 図11は図3に示すメインメモリのメモリマップの例を示す図解図である。 図12は図3に示すCPUの全体処理を示すフロー図である。 図13は図3に示すCPUの第1オブジェクト制御処理の一部を示すフロー図である。 図14は図3に示すCPUの第1オブジェクト制御処理の他の一部であって、図13に後続するフロー図である。 図15は図3に示すCPUの第2オブジェクト制御処理の一部を示すフロー図である。 図16は図3に示すCPUの第2オブジェクト制御処理の他の一部であって、図15に後続するフロー図である。 図17は図3に示すCPUの敵オブジェクト制御処理の一部を示すフロー図である。 図18は図3に示すCPUの敵オブジェクト制御処理の他の一部であって、図17に後続するフロー図である。 図19は図3に示すCPUの第3オブジェクト制御処理を示すフロー図である。
図1を参照して、この発明の一実施例であるゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み型の携帯ゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
図1および図2に示すように、下側ハウジング14には、入力装置として、各操作ボタン20a−20kが設けられる。この各操作ボタン20a−20kのうち、方向入力ボタン20a、操作ボタン20b、操作ボタン20c、操作ボタン20d、操作ボタン20e、電源ボタン20f、スタートボタン20g、およびセレクトボタン20hは、下側ハウジング14の第2LCD18が設けられる側の面(内側の面)に配置される。具体的には、方向入力ボタン20aおよび電源ボタン20fは、第2LCD18の左側に配置され、操作ボタン20b−20e,20gおよび20hは、第2LCD18の右側に配置される。また、上側ハウジング12と下側ハウジング14とを折り畳んだときには、操作ボタン20a−20hはゲーム装置10の内部に収められる。
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24の挿入口および収納部を設ける必要はない。
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、ゲームプログラムなどの情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色(たとえば、他のユーザを含む)を外側カメラ34で撮像することができる。
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、リアルタイムクロック(RTC)68、電源回路70、およびインターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理(ゲーム処理)を実行する。
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
CPU50には、メインメモリ52、メモリ制御回路54、およびプリセットデータ用メモリ58が接続される。また、メモリ制御回路54には、保存用データメモリ56が接続される。メインメモリ52は、CPU50のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ52は、上記情報処理に用いられる各種データを記憶(一時記憶)したり、外部(メモリカード26および28や他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ52として、たとえばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ56は、CPU50によって実行されるプログラムや内側カメラ32および外側カメラ34によって撮像された画像のデータ等を記憶(保存)するための記憶手段である。この保存用データメモリ56は、不揮発性の記憶媒体によって構成されており、たとえば、NAND型フラッシュメモリを用いることができる。メモリ制御回路54は、CPU50の指示に従って、保存用データメモリ56に対するデータの読み出しおよび書き込みを制御する。プリセットデータ用メモリ58は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ58としては、SPI(Serial Peripheral Interface)バスによってCPU50と接続されるフラッシュメモリを用いることができる。
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
また、CPU50には、RTC68および電源回路70が接続される。RTC68は、時間をカウントしてCPU50に出力する。たとえば、CPU50は、RTC68によって計時された時間に基づいて、日付および現在時刻等を計算することもできる。電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およびアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置(タッチ位置)の座標を示すデータである。
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
操作ボタン20は、上記の各操作ボタン20a−20kによって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
LCDコントローラ82は、レジスタ82aを含む。レジスタ82aは、CPU50からの指示に応じて、「0」または「1」の値を記憶する。LCDコントローラ82は、レジスタ82aの値が「0」である場合には、第1VRAM78に描画された第1の表示画像を第2LCD18に出力し、第2VRAM80に描画された第2の表示画像を第1LCD16に出力する。また、レジスタ82aの値が「1」である場合には、第1VRAM78に描画された第1の表示画像を第1LCD16に出力し、第2VRAM80に描画された第2の表示画像を第2LCD18に出力する。
図4には、上述したようなゲーム装置10で実行される仮想ゲームのゲーム画面100の一例が表示される。図4に示すように、ゲーム画面100は、下画面102と上画面104とによって構成される。下画面102は、第2LCD18に表示され、上画面104は、第1LCD16に表示される。図示は省略するが、上述したように、第2LCD18(下画面102)上には、タッチパネル22が設けられる。
下画面102には、ブラックホールを模した第1プレイヤオブジェクト110および地球を模した地球オブジェクト112が表示される。ただし、地球オブジェクト112は、後述する上画面104にも表示されるが、これらは1つのオブジェクトである。また、第1プレイヤオブジェクト110と第2プレイヤオブジェクト114とを結ぶ線(点線)120が、下画面102および上画面104に表示される。さらに、下画面102には、隕石を模した敵オブジェクト116が表示される。ただし、敵オブジェクト116は、下画面102のみならず、上画面104に表示される場合があり、下画面102および上画面104の両方に表示される場合もある。
上画面104には、上述した地球オブジェクト112およびホワイトホールを模した第2プレイヤオブジェクト114が表示される。また、上画面104には、第2プレイヤオブジェクト114の近傍に、方向を示すための画像(方向表示画像)122が表示される。
たとえば、仮想ゲームでは、敵オブジェクト116は、予め決定されたタイムラインに従って、ゲーム画面100(図5に示すゲームフィールド200)の外周付近で出現(発生)し、地球オブジェクト112の引力によって、当該地球オブジェクト112に引き寄せられる。つまり、敵オブジェクト116は、地球オブジェクト112に向けて移動される。この実施例では、敵オブジェクト116は、地球オブジェクト112の中心に向けて速度vで移動される。ただし、速度vは、地球オブジェクト112との距離に応じて変化されたり、ゲームレベルなどに応じて変化されたりする。このことは、後述するように、敵オブジェクト116が第1プレイヤオブジェクト110に向けて移動される場合も同じであるが、速度vの値は異なる値が設定されてもよい。所定数(この実施例では、3個)の敵オブジェクト116が地球オブジェクト112に衝突すると、ゲームオーバとなる。
ただし、タイムラインは、すべての敵オブジェクト116のそれぞれに対応して、敵オブジェクト116を出現させるタイミング、すなわちゲーム開始からの時間(フレーム数)と、出現させるゲームフィールド200上の位置(座標)とを記述したテーブルなどである。ただし、フレームは、仮想ゲームの画面更新単位時間(1/60秒)である。
プレイヤは、タッチパネル22(操作ボタン20でも可)を操作して、第1プレイヤオブジェクト110および第2プレイヤオブジェクト114の移動を制御する。そして、第1プレイヤオブジェクト110に敵オブジェクト116を吸い込ませたり、吸い込んだ敵オブジェクト116に基づいて生成される第3プレイヤオブジェクト118(図6参照)を敵オブジェクト116に衝突させて破壊したりして、敵オブジェクト116を消滅させる。所定数の敵オブジェクト116が地球オブジェクト112に衝突する前に、すべての敵オブジェクト116を消滅させると、ゲームクリアとなる。ただし、敵オブジェクト116の総数は、仮想ゲームの面(ステージ)やレベルに応じて、上述のタイムラインで予め決定されている。
この実施例では、第1プレイヤオブジェクト110は、敵オブジェクト116を吸い込むことにより、敵オブジェクト116をゲームフィールド200から消滅させる。また、第2プレイヤオブジェクト114は、敵オブジェクト116を攻撃したり、吸い込んだりすることはできないが、第1プレイヤオブジェクト110が敵オブジェクト116を吸い込むことに応じて生成されたり、拡大されたりする、第3プレイヤオブジェクト118を保持する。第3プレイヤオブジェクト118は、敵オブジェクト116に衝突することにより、当該敵オブジェクト116を破壊(消滅)させる。
たとえば、プレイヤがタッチペン24をタッチパネル22に接触させている(タッチオンしている)場合には、第1プレイヤオブジェクト110は、吸い込む力を働かせる。詳細な説明は省略するが、第1プレイヤオブジェクト110から第1所定距離(この実施例では、30ドット)以内で吸い込む力が敵オブジェクト116に作用し、つまり敵オブジェクト116を引き寄せ、第1所定距離よりも短い第2所定距離(この実施例では、20ドット)以内で敵オブジェクト116を吸い込む。ただし、第1所定距離および第2所定距離は、第1プレイヤオブジェクト110と敵オブジェクト116との中心間の距離である。かかる場合には、上述したように、敵オブジェクト116は第1プレイヤオブジェクト110に向けて速度vで移動される。
また、タッチオンしている状態では、第3プレイヤオブジェクト118が発生(存在)している場合には、第2プレイヤオブジェクト114に保持される。したがって、かかる場合には、第3プレイヤオブジェクト118は、第2プレイヤオブジェクト114とともに移動する。
一方、プレイヤがタッチペン24をタッチパネル22から離した(タッチオフした)場合には、第1プレイヤオブジェクト110は、吸い込む力を働かせない。かかる場合には、敵オブジェクト116が第1プレイヤオブジェクト110から第1所定距離以内に存在しても、当該敵オブジェクト116は第1プレイヤオブジェクト110に引き寄せられない。同様に、敵オブジェクト116が第1プレイヤオブジェクト110から第2所定距離以内に存在しても、当該敵オブジェクト116は第1プレイヤオブジェクト110に吸い込まれない。
また、第3プレイヤオブジェクト118が第2プレイヤオブジェクト114に保持されている場合に、タッチオフすると、当該第3プレイヤオブジェクト118は、第2プレイヤオブジェクト114から離れて、方向表示画像122が示す方向に速度vで移動(飛行)する。ただし、速度vについては後で詳細に説明する。
上述したように、この実施例のゲーム装置10では、第2LCD18上にのみタッチパネル22が設けられるため、プレイヤは、このタッチパネル22を用いた操作(以下、「タッチ操作」ということがある)により、下画面102に表示されたプレイヤオブジェクト(図4では、第1プレイヤオブジェクト110)をタッチして直接的に移動(ドラッグ)させる。つまり、タッチ位置に追従して、プレイヤオブジェクトが移動される。すると、その移動に従って、上画面104に表示されたプレイヤオブジェクト(図4では、第2プレイヤオブジェクト114)が移動される。この実施例では、上画面104に表示されたプレイヤオブジェクトは、下画面102に表示されたプレイヤオブジェクトと点対称に移動される。ただし、点対称の中心(基準)となる点は、地球オブジェクト112(ゲームフィールド200)の中心点P(図5参照)である。つまり、下画面102においてタッチ操作により位置(座標)を指定することにより、上画面104においても位置(座標)を指定することができるのである。
なお、図示および詳細な説明は省略するが、プレイヤがタッチペン24を用いてタッチパネル22にタッチオンしたときに、タッチ位置にプレイヤオブジェクト(図4では、第1プレイヤオブジェクト110)が表示されていない場合には、つまりタッチ位置と下画面102に表示されたプレイヤオブジェクトが離れている場合には、当該プレイヤオブジェクトは、タッチ位置に重なるまで、当該タッチ位置の方向に移動される。このとき、一定速度で接近させてもよいし、タッチ位置と第1プレイヤオブジェクト110との距離が大きいほど、高速に接近させてもよい。その後、上述したように、タッチ位置に追従して当該プレイヤオブジェクトが移動される。
また、この実施例では、タッチパネル22として、第2LCD18の解像度と同解像度(検出精度)のものを利用するため、それらの座標系を同じに設定しておくことにより、タッチパネル22からの座標データが示す座標(タッチ位置)をそのまま第2LCD18に表示される画面(ここでは、下画面102)上の座標(位置)として用いることができる。
図5は、この実施例の仮想ゲームのゲーム空間に設けられるゲームフィールド200を示す。ゲームフィールド200は、縦長の長方形状の平面である。ゲームフィールド200のうち、点線で示される2つの四角枠で囲む範囲が、第1LCD16の表示領域(上画面104)および第2LCD18の表示領域(下画面102)に相当する。また、2つの四角枠の間の領域は、第1LCD16と第2LCD18との間に設けられるヒンジ等が設けられる部分に相当する。
なお、図5に示すゲームフィールド200は一例であり、少なくとも、点S、点Q、点Rおよび点Tを頂点とする長方形と同じまたはそれよりも大きい平面であればよい。
図5に示すように、ゲーム空間の2次元座標系は、横方向がX軸方向であり、縦方向がY軸方向である。また、右方向がX軸のプラス方向であり、下方向がY軸のプラス方向である。この実施例では、第2LCD18の左上の頂点に相当する点Oが原点(0,0)に設定される。第1LCD16および第2LCD18は、上述したように、縦が192ドットで、横が256ドットである。したがって、点Rの座標は(256,192)である。また、この実施例では、第1LCD16と第2LCD18との間のヒンジ等が設けられる部分の縦の長さは80ドットに設定される。したがって、第1LCD16の左上の頂点に相当する点Sの座標は(0,−272)である。また、第1LCD16の右上の頂点に相当する点Tの座標は(256,−272)である。
この実施例では、地球オブジェクト112の位置は、ゲームフィールド200の中心(中央)に設定される。したがって、地球オブジェクト112の中心点Pの座標は、(128,−40)である。この中心点Pに対して点対称となるように、第1プレイヤオブジェクト110および第2プレイヤオブジェクト114の位置が制御される。具体的には、下画面102に表示されるプレイヤオブジェクト(ここでは、第1プレイヤオブジェクト110)の位置(点F)を(x,y)とすると、上画面104に表示されるプレイヤオブジェクト(ここでは、第2プレイヤオブジェクト114)の位置(点G)は、(−x+128,−y−40)で決定(算出)される。
図6に示すように、第1プレイヤオブジェクト110が敵オブジェクト116に近づけられ、それらの距離が第2所定距離以内になると、敵オブジェクト116は第1プレイヤオブジェクト110によって吸い込まれる。これに応じて、第2プレイヤオブジェクト114と重なる位置に、第3プレイヤオブジェクト118が発生する。上述したように、タッチオンの状態では、第3プレイヤオブジェクト118は、第2プレイヤオブジェクト114の上に重なった(保持された)ままで、当該第2プレイヤオブジェクト114とともに移動される。
なお、第3プレイヤオブジェクト118は、第2プレイヤオブジェクト114に保持されると、当該第2プレイヤオブジェクト114の前面に表示されるため、ゲーム画面100では、第2プレイヤオブジェクト114は背面に隠れてしまう。
第3プレイヤオブジェクト118は、敵オブジェクト116に衝突すると、当該敵オブジェクト116を破壊して、消滅させる。たとえば、図6に示す状態から図7に示すように、第1プレイヤオブジェクト110が移動されると、当該第1プレイヤオブジェクト110と点対称に第2プレイヤオブジェクト114が移動され、第3プレイヤオブジェクト118は第2プレイヤオブジェクト114とともに移動される。これによって、第3プレイヤオブジェクト118を敵オブジェクト116に衝突させることができる。
ただし、第1プレイヤオブジェクト110は、複数の敵オブジェクト116を吸い込むことが可能であり、吸い込んだ敵オブジェクト116の数に応じて、段階的に第3プレイヤオブジェクト118は大きくされる。つまり、第3プレイヤオブジェクト118は、第1プレイヤオブジェクト110が敵オブジェクト116を吸い込む度に成長し、その大きさが拡大されるのである。
たとえば、図6に示した状態から図8に示すように、地球オブジェクト112にさらに接近した敵オブジェクト116に第1プレイヤオブジェクト110が近づけられ、それらの距離が第2所定距離以内になると、第1プレイヤオブジェクト110は当該敵オブジェクト116を吸い込む。したがって、第3プレイヤオブジェクト118は、1段階大きくされる。
また、図7に示したように、第1プレイヤオブジェクト110を移動させることにより、第3プレイヤオブジェクト118を敵オブジェクト116に衝突させる場合には、第3プレイヤオブジェクト118は、敵オブジェクト116に衝突する度に、1段階ずつ大きさが小さくなる。つまり、第3プレイヤオブジェクト118は、敵オブジェクト116に衝突する度に、その衝撃によって縮小される。そして、第3プレイヤオブジェクト118は、第1プレイヤオブジェクト110が吸い込んだ敵オブジェクト116の数と同じ数だけ敵オブジェクト116に衝突すると、消滅する。
また、図9に示すように、第3プレイヤオブジェクト118が発生(存在)している場合に、プレイヤがタッチオフすると、上述したように、第3プレイヤオブジェクト118は、第2プレイヤオブジェクト114から離れて、方向表示画像122が示す方向に移動(飛行)を開始する。第3プレイヤオブジェクト118は、速度vで真っすぐ飛行し、ゲーム画面100(ゲーム空間)の外まで移動する。つまり、第3プレイヤオブジェクト118は、直線122上であり、第1プレイヤオブジェクト110から第2プレイヤオブジェクト114に向かう方向に、速度vで飛行する。
第3プレイヤオブジェクト118が飛行中に敵オブジェクト116に衝突すると、当該敵オブジェクト116は破壊される。ただし、この実施例では、第3プレイヤオブジェクト118が飛行中に敵オブジェクト116に衝突する場合には、当該第3プレイヤオブジェクト118の大きさは変化されない。したがって、第3プレイヤオブジェクト118は、ゲーム空間内に存在する限り、衝突した敵オブジェクト116を破壊する。
また、第3プレイヤオブジェクト118の大きさに応じて、速度vを変化させるようにしてある。この実施例では、第3プレイヤオブジェクト118が大きい程、速度vを小さくして、破壊力を大きく(持続)させるようにしてある。つまり、第3プレイヤオブジェクト118が大きい程、ゲーム空間内に存在する時間を長くしてある。具体的には、数1に従って速度vが決定される。ただし、kは1以上の係数であり、vは一定速度である。ただし、kおよびvは、仮想ゲームの開発者ないしプログラマによって決定される。また、nは第3プレイヤオブジェクト118の大きさに関する値(大きさの段階を表す数値)である。つまり、nは、第3プレイヤオブジェクト118を生成(発生・拡大)するために、吸い込んだ敵オブジェクト116の数に相当する。
[数1]
=k×v/n
なお、この実施例では、第3プレイヤオブジェクト118が大きい程、速度vを小さくするようにしてあるが、速度vを大きくするようにしてもよい。
また、プレイヤがタッチペン24を用いてタッチパネル22上において、上方向に弾く操作を行うと、第1プレイヤオブジェクト110と第2プレイヤオブジェクト114とを入れ替えることができる。たとえば、図4に示したような位置関係で、プレイヤが上方向に弾く操作をすると、図10に示すように、第1プレイヤオブジェクト110が上画面104に表示され、第2プレイヤオブジェクト114が下画面102に表示される。ただし、第1プレイヤオブジェクト110および第2プレイヤオブジェクト114は、入れ替え前の他方の位置に表示される。
なお、上方向に弾く操作を行う場合には、下画面102に表示されたプレイヤオブジェクト(図4では、第1プレイヤオブジェクト110)を弾くように操作する必要はなく、下画面102のいずれかの場所で弾く操作を行えばよい。
また、図10に示すように、下画面102に第2プレイヤオブジェクト114が存在し、上画面104に第1プレイヤオブジェクト110が存在する状態において、上方向(第1LCD16側)に弾く操作を行うと、第1プレイヤオブジェクト110と第2プレイヤオブジェクト114とが入れ替わる。つまり、図4に示したような位置関係となる。
ただし、上方向に弾いたかどうかは、タッチ位置のY軸方向の座標の変化が所定時間内に第3所定距離以上であるかどうかで判断される。この実施例では、1フレームの間に、タッチ位置のY座標がマイナス方向に3ドット以上変化した場合に、上方向(第1LCD16側)に弾いたと判断するようにしてある。
このように、第1プレイヤオブジェクト110と第2プレイヤオブジェクト114とを入れ替えるのは、上述したように、第1プレイヤオブジェクト110と第2プレイヤオブジェクト114とでは機能(役割)が異なるからである。たとえば、上画面104に敵オブジェクト116が存在する場合に、第2プレイヤオブジェクト114が上画面104に存在しても、第3プレイヤオブジェクト118が発生していなければ、敵オブジェクト116を消滅させることができない。かかる場合には、図10に示すように、上画面104に第1プレイヤオブジェクト110を移動させて、第1プレイヤオブジェクト110に敵オブジェクト116を吸い込ませる必要があるからである。
ただし、上画面104に存在する第1プレイヤオブジェクト110は、下画面102に存在する第2プレイヤオブジェクト114を移動させることにより、当該第2プレイヤオブジェクト114と点対称に移動される。つまり、かかる場合には、図5を用いて説明したように、第1プレイヤオブジェクト110の位置が、第2プレイヤオブジェクト114の位置に基づいて決定(算出)される。
また、図示は省略するが、上画面104で第1プレイヤオブジェクト110が敵オブジェクト116を吸い込んだ場合にも、下画面102の第2プレイヤオブジェクト114の位置において、第3プレイヤオブジェクト118が発生されたり、拡大されたりする。また、タッチオンの状態では、下画面102において、第3プレイヤオブジェクト118は、タッチ位置に追従し、タッチオフされると、方向指示画像122が示す方向に飛行する。したがって、下画面102において、第3プレイヤオブジェクト118を敵オブジェクト116に衝突させることにより、当該敵オブジェクト116を破壊して、消滅されることができる。
図11は、図3に示したメインメモリ52のメモリマップの例を示す図解図である。図11に示すように、メインメモリ52は、プログラム記憶領域90およびデータ記憶領域92を含む。プログラム記憶領域90には、ゲームプログラムが記憶され、ゲームプログラムは、メイン処理プログラム90a、画像生成プログラム90b、画像表示プログラム90c、敵オブジェクト制御プログラム90d、第1オブジェクト制御プログラム90e、第2オブジェクト制御プログラム90fおよび第3オブジェクト制御プログラム90gなどで構成される。
メイン処理プログラム90aは、この実施例の仮想ゲームのメインルーチンを処理するためのプログラムである。画像生成プログラム90bは、後述する画像データ92bを用いて、各種画面(ゲーム画面100など)についての表示画像のデータ(表示画像データ)を生成するためのプログラムである。画像表示プログラム90cは、画像生成プログラム90bに従って生成された表示画像データを第1LCD16および第2LCD18に表示するためのプログラムである。
敵オブジェクト制御プログラム90dは、予め決定されたタイムラインに従って敵オブジェクト106を出現させるとともに、第1プレイヤオブジェクト110または地球オブジェクト112に向けて速度vで移動させるプログラムである。また、敵オブジェクト制御プログラム90dは、敵オブジェクト116が、第1プレイヤオブジェクト110に吸収されたり、地球オブジェクト112または第3プレイヤオブジェクト118に衝突されたりすると、当該敵オブジェクト116を消滅させるためのプログラムである。
第1オブジェクト制御プログラム90eは、プレイヤの操作に基づいて第1プレイヤオブジェクト110を移動させたり、吸い込む力を働かせたり、吸い込む力を働かせなかったりするためのプログラムである。具体的には、第1オブジェクト制御プログラム90eは、下画面102で、第1プレイヤオブジェクト110を、タッチ位置に追従させたり、タッチ移動に向けて移動させたりする。また、第1オブジェクト制御プログラム90eは、上画面104において、下画面102に表示される第2プレイヤオブジェクト114の移動に従って、中心点Pを中心として点対称に第1プレイヤオブジェクト110を移動させる。つまり、第1オブジェクト制御プログラム90eに従って、後述する第1オブジェクト位置データ92cが更新される。また、第1オブジェクト制御プログラム90eは、タッチオンされている場合に、吸い込む力を働かせ、第1所定距離以内に存在する敵オブジェクト116に吸い込む力を作用させるとともに、さらに第2所定距離以内に存在する敵オブジェクト116を吸い込む。
第2オブジェクト制御プログラム90fは、プレイヤの操作に基づいて第2プレイヤオブジェクト114を移動させるためのプログラムである。具体的には、第2オブジェクト制御プログラム90fは、下画面102で、第2プレイヤオブジェクト114を、タッチ位置に追従させたり、タッチ移動に向けて移動させたりする。また、第2オブジェクト制御プログラム90fは、上画面104において、下画面102に表示される第1プレイヤオブジェクト110の移動に従って、中心点Pを中心として点対称に第2プレイヤオブジェクト114を移動させる。つまり、第2オブジェクト制御プログラム90fに従って、後述する第2オブジェクト位置データ92dが更新される。
第3オブジェクト制御プログラム90gは、第3プレイヤオブジェクト118を、発生させたり、拡大させたり、第2プレイヤオブジェクト114に保持させたり、ゲーム空間内を移動(飛行)させたりするためのプログラムである。具体的には、第3オブジェクト制御プログラム90gは、敵オブジェクト116が第1プレイヤオブジェクト110に吸い込まれた場合に、第3プレイヤオブジェクト118を発生させたり、拡大させたりする。また、第3オブジェクト制御プログラム90gは、タッチオンの状態では、第3プレイヤオブジェクト118を第2プレイヤオブジェクト114の上に表示し、タッチオフされると、方向表示画像122が示す方向に速度vで、第3プレイヤオブジェクト118を移動(飛行)させる。
図示は省略するが、ゲームプログラムには、音出力プログラムやバックアッププログラムなども含まれる。音出力プログラムは、図示しない音データを用いて、仮想ゲームに必要な音(効果音、メロディ、音楽)を生成および出力するためのプログラムである。バックアッププログラムは、所定のイベントやプレイヤからの指示に従って、ゲームデータ(途中データ、結果データ)を、メモリカード26、28や保存用データメモリ56に保存(セーブ)するためのプログラムである。
データ記憶領域92には、操作データバッファ92aが設けられる。また、データ記憶領域92には、画像データ92b、第1オブジェクト位置データ92c、第2オブジェクト位置データ92d、第3オブジェクト大きさデータ92eおよび衝突回数データ92fが記憶される。
操作データバッファ92aは、操作ボタン20からの操作データやタッチパネル22からの座標データを時系列に従って記憶(一時記憶)するためのバッファである。操作データバッファ92aに一時記憶された操作データや座標データは、CPU50の処理に用いられた後に消去される。
画像データ92bは、ポリゴンデータやテクスチャデータなどの画像データである。第1オブジェクト位置データ92cは、第1プレイヤオブジェクト110の現在位置のデータ(座標データ)である。第2オブジェクト位置データ92dは、第2プレイヤオブジェクト114の現在位置のデータ(座標データ)である。ただし、第2オブジェクト位置データ92dは、第3プレイヤオブジェクト118の現在位置を示すこともある。
第3オブジェクト大きさデータ92eは、第3プレイヤオブジェクト118の大きさに関する値についてのデータである。具体的には、第3オブジェクト大きさデータ92eは、第3プレイヤオブジェクト118を発生および拡大するために、第1プレイヤオブジェクト110が吸い込んだ敵オブジェクト116の数についての数値データである。衝突回数データ92fは、敵オブジェクト116が地球オブジェクト112に衝突した回数(または個数)を示す数値データである。
なお、図示は省略するが、データ記憶領域92には、仮想ゲームに必要な、他のデータが記憶されたり、フラグやカウンタ(タイマ)が設けられたりする。
図12は、図3に示したCPU50の全体処理を示すフロー図である。図12に示すように、CPU50は、全体処理を開始すると、ステップS1で、ゲーム開始画面を表示する。図示は省略したが、ステップS1では、CPU50は、敵オブジェクト116が出現されておらず、中央に地球オブジェクト112が表示され、下画面102の所定位置に第1プレイヤオブジェクト110が表示され、これと点対称となる上画面104の位置に第2プレイヤオブジェクト114が表示されたゲーム画面(ゲーム開始画面)を表示する。ただし、第1プレイヤオブジェクト110が上画面104に表示され、第2プレイヤオブジェクト114が下画面102に表示されてもよい。
続くステップS3では、敵オブジェクトの出現処理を実行する。ここでは、予め決定されているタイムラインに従って、敵オブジェクト116がゲーム空間(ゲームフィールド200)に出現される。敵オブジェクト116が出現されると、当該敵オブジェクト116についての敵オブジェクト処理(図17および図18参照)が、全体処理とは異なるタスクで実行される。
次のステップS5では、操作データを読み込む。ただし、操作データおよび座標データは、図示しない別の処理で検出され、検出された操作データおよび座標データは、時系列に従う順番で、操作データバッファ92aに記憶される。続いて、ステップS7で、後述する第1オブジェクト制御処理(図13および図14参照)を実行し、ステップS9で、後述する第2オブジェクト制御処理(図15および図16参照)を実行して、ステップS11に進む。
ステップS11では、すべての敵オブジェクト116が消滅したかどうかを判断する。つまり、CPU50は、第1プレイヤオブジェクト110が敵オブジェクト116を吸い込んだり、第3プレイヤオブジェクト118が敵オブジェクト116を破壊したりして、タイムラインで決定されたすべての敵オブジェクト116を消滅させたかどうかを判断する。
ステップS11で“YES”であれば、つまりすべての敵オブジェクト116が消滅すれば、ステップS13で、ゲームクリア処理を実行して、全体処理を終了する。ステップS13では、CPU50は、たとえば、ゲームクリアを表現する、ゲーム画面を表示したり、音(音楽)を出力したりする。
一方、ステップS11で“NO”であれば、つまり敵オブジェクト116が残っていれば、ステップS15で、衝突回数が3回であるかどうかを判断する。ここでは、CPU50は、衝突回数データ92fが示す衝突回数が3であるかどうかを判断する。ステップS15で“NO”であれば、つまり衝突回数が3未満であれば、そのままステップS1に戻る。一方、ステップS15で“YES”であれば、つまり衝突回数が3であれば、ステップS17で、ゲームオーバ処理を実行して、全体処理を終了する。ステップS17では、CPU50は、たとえば、ゲームオーバを表現する、ゲーム画面を表示したり、音(音楽)を出力したりする。
図13および図14は、図12に示したステップS7の第1オブジェクト制御処理のフロー図である。図13に示すように、CPU50は、第1オブジェクト制御処理を開始すると、ステップS31で、第1プレイヤオブジェクト110が下画面102に存在するかどうかを判断する。つまり、CPU50は、第1オブジェクト位置データ92cが示す第1プレイヤオブジェクト110の位置が、原点O(0,0)と点R(256,192)とで決定される下画面102の範囲内であるかどうかを判断する。
ステップS31で“NO”であれば、つまり第1プレイヤオブジェクト110が上画面104に存在すれば、図14に示すステップS47に進む。一方、ステップS31で“YES”であれば、つまり第1プレイヤオブジェクト110が下画面102に存在すれば、ステップS33で、下画面102をタッチしているかどうかを判断する。ここでは、CPU50は、操作データバッファ92aを参照して、現フレームにおける座標データが記憶されているかどうかを判断する。
ステップS33で“NO”であれば、つまり下画面102をタッチしていなければ、そのまま図12に示した全体処理にリターンする。一方、ステップS33で“YES”であれば、つまり下画面102をタッチしていれば、ステップS35で、近くの敵オブジェクト116を吸引して、ステップS37に進む。ステップS35では、CPU50の制御によって、第1プレイヤオブジェクト110は、第1所定距離(たとえば、30ドット)以内の敵オブジェクト116を引き寄せ、また第2所定距離(たとえば、20ドット)以内の敵オブジェクト116を吸い込む。
ステップS37では、弾いたかどうかを判断する。ここでは、CPU50は、操作データバッファ92aを参照して、1フレームの間における、座標データが示す位置の変化がY座標のマイナス方向に第3所定距離(たとえば、3ドット)以上であるかどうかを判断する。ステップS37で“YES”であれば、つまり弾いた場合には、ステップS39で、第1プレイヤオブジェクト110を上画面104に移動させ、全体処理にリターンする。
なお、図12では、ステップS7で、第1オブジェクト処理が実行された後に、ステップS9で、第2オブジェクト処理が実行されるように示してあるが、実際には、これらは同時またはほぼ同時に実行される。したがって、ステップS39では、第1オブジェクト位置データ92cと第2オブジェクト位置データ92dとが複製され、その後、第2オブジェクト位置データ92dの複製が第1オブジェクト位置データ92cとしてデータ記憶領域92に記憶される。また、後述するように、第2オブジェクト制御処理において、第1オブジェクト位置データ92cの複製が第2オブジェクト位置データ92dとしてデータ記憶領域92に記憶される(S77)。つまり、第1プレイヤオブジェクト110と第2プレイヤオブジェクト116との位置が入れ替えられる。後述するステップS49についても同様である。
また、ステップS37で“NO”であれば、つまり弾いていない場合には、ステップS41で、第1プレイヤオブジェクト110がタッチされているかどうかを判断する。つまり、CPU50は、操作データバッファ92aを参照して、現フレームの座標データが示すタッチ位置が下画面102に表示された第1プイレヤオブジェクト110上であるかどうかを判断する。タッチ位置が第1プレイヤオブジェクト110上であるかどうかは、第1プレイヤオブジェクト110の位置を中心とする当該第プレイヤオブジェクト110の大きさで決定される範囲内であるかどうかで判断される。
ステップS41で“YES”であれば、つまり第1プレイヤオブジェクト110がタッチされていれば、ステップS43で、第1プレイヤオブジェクト110をタッチ位置に追従させて、全体処理にリターンする。つまり、ステップS43では、CPU50は、タッチ位置の変化量および変化方向で、第1プレイヤオブジェクト110の位置すなわち第1オブジェクト位置データ92cを更新する。
一方、ステップS41で“NO”であれば、つまり第1プレイヤオブジェクト110がタッチされていなければ、ステップS45で、第1プレイヤオブジェクト110をタッチ位置に接近させて、全体処理にリターンする。ステップS45では、CPU50は、タッチ位置に向けて、第1プレイヤオブジェクト110の位置すなわち第1オブジェクト位置データ92cを更新する。
図14に示すように、ステップS47では、弾いたかどうかを判断する。この判断方法は、ステップS37と同じである。ステップS47で“YES”であれば、つまり弾いた場合には、ステップS49で、第1プレイヤオブジェクト110を下画面102に移動させて、図14に示したように、全体処理にリターンする。
一方、ステップS47で“NO”であれば、つまり弾いていない場合には、ステップS51で、第1プレイヤオブジェクト110を第2プレイヤオブジェクト114と点対称に移動させて、全体処理にリターンする。つまり、ステップS51では、CPU50は、第2オブジェクト位置データ92dが示す位置と点対称となる位置を算出し、算出した位置のデータを第1オブジェクト位置データ92cとして記憶(更新)する。ただし、上述したように、地球オブジェクト112の位置(中心点P)が点対称の中心である。
図15および図16は、図12のステップS9に示した第2オブジェクト制御処理のフロー図である。以下、第2オブジェクト制御処理について説明するが、第1オブジェクト制御処理と同様であるため、簡単に説明することにする。
図15に示すように、CPU50は、第2オブジェクト制御処理を開始すると、ステップS71で、第2プレイヤオブジェクト114が下画面102に存在するかどうかを判断する。ステップS71で“NO”であれば、つまり第2プレイヤオブジェクト114が上画面104に存在すれば、図16に示すステップS95に進む。一方、ステップS71で“YES”であれば、つまり第2プレイヤオブジェクト114が下画面102に存在すれば、ステップS73で、下画面102をタッチしているかどうかを判断する。ステップS73で“NO”であれば、そのまま図12に示した全体処理にリターンする。
一方、ステップS73で“YES”であれば、ステップS75で、弾いたかどうかを判断する。ステップS75で“YES”であれば、ステップS77で、第2プレイヤオブジェクト114を上画面104に移動させて、全体処理にリターンする。このとき、上述のステップS49で示したように、第1プレイヤオブジェクト110は下画面102に移動される。一方、ステップS75で“NO”であれば、ステップS79で、第2プレイヤオブジェクト114がタッチされているかどうかを判断する。
ステップS79で“YES”であれば、つまり第2プレイヤオブジェクト114がタッチされていれば、ステップS81で、第2プレイヤオブジェクト114をタッチ位置に追従させて、全体処理にリターンする。一方、ステップS79で“NO”であれば、つまり第2プレイヤオブジェクト114がタッチされていなければ、ステップS83で、第2プレイヤオブジェクト114をタッチ位置に接近させて、全体処理にリターンする。
図16に示すように、ステップS95では、弾いたかどうかを判断する。ステップS95で“YES”であれば、ステップS97で、第2プレイヤオブジェクト114を下画面102に移動させて、図15に示したように、全体処理にリターンする。このとき、上述のステップS39で示したように、第1プレイヤオブジェクト110が上画面104に移動される。一方、ステップS95で“NO”であれば、ステップS99で、第2プレイヤオブジェクト114を第1プレイヤオブジェクト110と点対称に移動させて、全体処理にリターンする。
図17および図18は、敵オブジェクト制御処理を示すフロー図である。この敵オブジェクト制御処理は、全体処理とは別のタスクによって、ゲーム空間に出現された敵オブジェクト116単位で並列的に実行される。
図17に示すように、CPU50は、敵オブジェクト制御処理を開始すると、ステップS121で、近くに第1プレイヤオブジェクト110が有るかどうかを判断する。ここでは、CPU50は、第1プレイヤオブジェクト110と当該敵オブジェクト116との距離が第1所定距離以内であるかどうかを判断する。つまり、第1プレイヤオブジェクト110の吸い込む力が及ぶかどうかが判断されるのである。
ステップS121で“NO”であれば、つまり第1プレイヤオブジェクト110と当該敵オブジェクト116との距離が第1所定距離を超えている場合には、近くに第1プレイヤオブジェクト110が無いと判断し、ステップS123で、地球オブジェクト112の方向に移動させて、ステップS133に進む。つまり、ステップS123では、CPU50は、中心点Pに向けて敵オブジェクト116を速度vで移動させる。ただし、地球オブジェクト112の位置(中心点P)は、固定的に決定されるため、ゲームプログラム内で設定されている。
一方、ステップS121で“YES”であれば、つまり第1プレイヤオブジェクト110と当該敵オブジェクト116との距離が第1所定距離以内である場合には、近くに第1プレイヤオブジェクト110が有ると判断し、ステップS125で、第1プレイヤオブジェクト110の方向に移動させる。つまり、CPU50は、第1オブジェクト位置データ92cが示す位置に向けて敵オブジェクト116を速度vで移動させる。
続くステップS127では、当該敵オブジェクト116が第1プレイヤオブジェクト110に吸い込まれたかどうかを判断する。ここでは、CPU50は、第1プレイヤオブジェクト110と当該敵オブジェクト116との距離が第2所定距離以内であるかどうかを判断する。ステップS127で“NO”であれば、つまり当該敵オブジェクト116が第1プレイヤオブジェクト110に吸い込まれていなければ、ステップS133に進む。
ステップS133では、当該敵オブジェクト116が地球オブジェクト112に衝突したかどうかを判断する。ここでは、CPU50は、一般的な当たり判定の処理を実行する(後述する、ステップS151、S177も同じ)。ステップS133で“NO”であれば、つまり当該敵オブジェクト116が地球オブジェクト112に衝突していなければ、図18に示すステップS151に進む。一方、ステップS133で“YES”であれば、つまり当該敵オブジェクト116が地球オブジェクト112に衝突すれば、ステップS135で、衝突回数データ92fが示す衝突回数を1加算し、ステップS137で、敵オブジェクト116を消滅させて、当該敵オブジェクト116についての敵オブジェクト制御処理を終了する。
詳細な説明は省略するが、ステップS137では、地球オブジェクト112に衝撃が加えられる様子や敵オブジェクト116が砕けて消滅する様子のゲーム画面が表示されたり、そのような様子を示す効果音ないしメロディが出力されたりする。
また、テップS127で“YES”であれば、つまり当該敵オブジェクト116が第1プレイヤオブジェクト110に吸い込まれれば、ステップS139で、敵オブジェクト116を消滅させて、ステップS141で、第3オブジェクト大きさデータ92eが示す第3プレイヤオブジェクト118の大きさを1加算する。ただし、ステップS139では、敵オブジェクト116が第1プレイヤオブジェクト110に吸い込まれて消滅する様子のゲーム画面が表示されたり、そのような様子を示す効果音ないしメロディが出力されたりする。
続くステップS143では、第3プレイヤオブジェクト118が存在するかどうかを判断する。ここでは、第3オブジェクト大きさデータ92eが示す第3プレイヤオブジェクト118の大きさが2以上であるか、または飛行中の第3プレイヤオブジェクト118が存在するかどうかを判断する。ステップS143で“NO”であれば、つまり第3プレイヤオブジェクト118が存在しなければ、ステップS145で、後述する第3オブジェクト制御処理(図19参照)を開始して、敵オブジェクト制御処理を終了する。
一方、ステップS143で“YES”であれば、つまり第3プレイヤオブジェクト118が存在すれば、ステップS147で、当該第3プレイヤオブジェクト118が飛行中かどうかを判断する。ステップS147で“NO”であれば、つまり当該第3プレイヤオブジェクト118が第2プレイヤオブジェクト114に保持されていれば、そのまま敵オブジェクト制御処理を終了する。一方、ステップS147で“YES”であれば、つまり当該第3プレイヤオブジェクト118が飛行中であれば、ステップS149で、別の第3オブジェクト制御処理を開始して、敵オブジェクト制御処理を終了する。
つまり、既に存在する第3プレイヤオブジェクト118が飛行中である場合には、第1プレイヤオブジェクト110が敵オブジェクト116を吸い込むことにより、別の第3プレイヤオブジェクト118が生成(発生)され、当該別の第3プレイヤオブジェクト118についての第3オブジェクト制御処理が別のタスクで実行されるのである。
また、上述したように、当該敵オブジェクト116が地球オブジェクト112に衝突していなければ、ステップS133で“NO”となり、図18に示すように、ステップS151で、当該敵オブジェクト116が第3プレイヤオブジェクト118に衝突したかどうかを判断する。ステップS151で“NO”であれば、つまり当該敵オブジェクト116が第3プレイヤオブジェクト118に衝突していなければ、そのまま図17に示したステップS121に戻る。一方、ステップS151で“YES”であれば、つまり当該敵オブジェクト116が第3プレイヤオブジェクト118に衝突すれば、ステップS153で、敵オブジェクト116を消滅させて、図17に示したように、敵オブジェクト制御処理を終了する。
ただし、ステップS153では、敵オブジェクト116が、第3プレイヤオブジェクト118に衝突することによって破壊され、消滅する様子を示すゲーム画面が表示されたり、その様子を示す効果音やメロディが出力されたりする。このとき、後述する第3オブジェクト制御処理によって、第3プレイヤオブジェクト118が破壊されて消滅されたり、縮小されたりする様子がそのゲーム画面で表現され、その様子を示す効果音やメロディも出力されたりする。
図19は、第3オブジェクト制御処理を示すフロー図である。この第3オブジェクト制御処理は、全体処理および敵オブジェクト制御処理とは別のタスクによって、ゲーム空間に生成(発生)された第3プレイヤオブジェクト118単位で並列的に実行される。
図19に示すように、CPU50は、第3オブジェクト制御処理を開始すると、ステップS171で、第3オブジェクト大きさデータ92eが示す第3プレイヤオブジェクト118の大きさを設定(更新)する。したがって、第3オブジェクト制御処理が開始された当初では、ステップS171の処理によって、第3プレイヤオブジェクト118が発生される。
次のステップS173では、タッチオフかどうかを判断する。ここでは、CPU50は、操作データバッファ92aを参照して、座標データが記憶されている状態から座標データが記憶されていない状態に変化したかどうかを判断する。ステップS173で“NO”であれば、つまりタッチオフでなければ、ステップS175で、当該第3プレイヤオブジェクト118を、第2オブジェクト位置データ92dが示す第2プレイヤオブジェクト114の位置に表示して、ステップS177で、当該第3プレイヤオブジェクト118が敵オブジェクト116に衝突したかどうかを判断する。
ステップS177で“NO”であれば、つまり当該第3プレイヤオブジェクト118が敵オブジェクト116に衝突していなければ、そのままステップS171に戻る。この場合には、たとえば、第1プレイヤオブジェクト110が敵オブジェクト116を吸い込むと、ステップS171で、第3プレイヤオブジェクト118の大きさが拡大され、その様子がゲーム画面に表示されたり、その様子を示す効果音やメロディが出力されたりする。一方、ステップS177で“YES”であれば、つまり当該第3プレイヤオブジェクト118が敵オブジェクト116に衝突すれば、ステップS179で、第3オブジェクト大きさデータ92eが示す当該第3プレイヤオブジェクト118の大きさを1減算する。
そして、ステップS181では、当該第3プレイヤオブジェクト118の大きさが0であるかどうかを判断する。ステップS181で“NO”であれば、つまり当該第3プレイヤオブジェクト118の大きさが0でなければ、そのままステップS171に戻る。この場合には、ステップS171で、第3プレイヤオブジェクト118が縮小されるが、敵オブジェクト116に衝突したことにより衝撃を受ける様子がゲーム画面で示されたり、そのような様子を示す効果音ないしメロディが出力されたりする。
一方、ステップS181で“YES”であれば、つまり当該第3プレイヤオブジェクト118の大きさが0であれば、ステップS183で、第3プレイヤオブジェクト118を消滅させて、当該第3プレイヤオブジェクト118についての第3オブジェクト制御処理を終了する。
詳細な説明は省略するが、ステップS183では、敵オブジェクト116に衝突することにより、第3プレイヤオブジェクト118が破壊され、消滅する様子がゲーム画面に表示されたり、その様子を示す効果音ないしメロディが出力されたりする。
また、ステップS173で“YES”であれば、つまりタッチオフであれば、ステップS185で、当該第3プレイヤオブジェクトの大きさを0に設定する。つまり、第3オブジェクト大きさデータ92eをリセットする。これは、第3オブジェクト大きさデータ92eを、新しく生成される別の第3プレイヤオブジェクト118の制御に利用するためである。続くステップS187では、当該第3プレイヤオブジェクト118を方向指示画像122が示す方向に移動させる。ただし、ここでは、第3プレイヤオブジェクト118は、数1に従って算出された速度vで移動される。
そして、ステップS189では、当該第3プレイヤオブジェクト118が画面外に出たかどうかを判断する。つまり、CPU50は、当該第3プレイヤオブジェクト118の位置が、ゲームフィールド200の外であるかどうかを判断する。ステップS189で“NO”であれば、つまり当該第3プレイヤオブジェクト118が画面外に出ていなければ、ステップS187に戻る。一方、ステップS189で“YES”であれば、つまり当該第3プレイヤオブジェクト118が画面外に出れば、第3オブジェクト制御処理を終了する。
この実施例によれば、下画面をタッチ操作することにより、下画面および上画面に存在するオブジェクトを入れ替えることにより、所望のオブジェクトを上画面および下画面のいずれでも移動させるので、操作性を向上させることができる。
また、この実施例によれば、下画面に表示されたオブジェクトを操作することにより、これに従って上画面に表示されたオブジェクトが点対称に移動されるので、同時に2つのオブジェクトを操作することができる。つまり、操作性を向上させることができる。
さらに、上画面に表示されたオブジェクトは、下画面に表示されたオブジェクトとは、点対称に移動されるので、操作の難易度が比較的高く、ゲームに飽きが来るのを出来る限り防止することができる。
なお、この実施例では、第1プレイヤオブジェクトと第2プレイヤオブジェクトとに異なる機能を持たせるようにしたが、第2プレイヤオブジェクトも第1プレイヤオブジェクトと同様に、ブラックホールを模したオブジェクトにしてもよい。かかる場合には、上画面および下画面の両方で、敵オブジェクトを吸い込むことにより、当該敵オブジェクトを消滅させる。かかる場合には、オブジェクトを入れ替えなくてもよい。ただし、2つのプレイヤオブジェクトの能力(吸い込む力)に差を設けて、敵オブジェクトの大きさも変化させることにより、必要に応じて、プレイヤオブジェクトを入れ替えるようにしてもよい。
また、この実施例では、第2LCD上にのみタッチパネルを設けるようにしたが、第1LCD上にもタッチパネルを設けるようにしてもよい。このようにした場合には、第1LCD(上画面)に表示されたオブジェクトをタッチ操作して移動させ、これに応じて、第2LCD(下画面)に表示されたオブジェクトを、上画面に表示されたオブジェクトと点対称に移動させるようにすることができる。このようにすれば、たとえば、第1プレイヤオブジェクトのみ、または、第2プレイヤオブジェクトのみを、タッチ操作により直接的に移動させるようにすることができる。また、タッチパネルを両方のLCD上に設ける場合には、上画面において、下画面側に弾く操作をしたときにも、オブジェクトを入れ替えるようにしてもよい。この場合には、タッチ位置が上画面内に存在し、タッチ位置のY軸のプラス方向の変化が所定時間内に第3所定距離以上であることに応じて、オブジェクトが入れ替えられる。
さらに、この実施例では、2つのオブジェクトを点対称に表示(移動)するようにしたが、たとえば、地球オブジェクトの中心点を通りX軸に平行な直線を中心にして、2つのオブジェクトを線対称に表示(移動)するようにしてもよい。ただし、点対称に表示するか、または線対称に表示するかは、プレイヤが切り換えてもよいし、ゲームの面や難易度に応じて変化されてもよい。
さらにまた、この実施例では、上方向(第1LCD側)に弾く操作をした場合に、2つのオブジェクトが入れ替えられたが、これに限定される必要はない。たとえば、LボタンやRボタンなどの操作ボタンを操作することにより、2つのオブジェクトが入れ替えられてもよい。
また、この実施例では、タッチパネルを用いて、下画面に表示されたオブジェクトを移動させるようにしたが、十字キー20aを用いて、当該オブジェクト(または上画面に表示されたオブジェクト)を移動させてもよい。かかる場合にも、上述の実施例と同様に、下画面に表示されたオブジェクト(または上画面に表示されたオブジェクト)と点対称に、上画面に表示されたオブジェクト(または下画面に表示されたオブジェクト)が移動される。また、十字キー20aを用いる場合には、操作ボタン20b、20c、20d、20eのいずれかを押すことにより、第1プレイヤオブジェクトが吸い込む力を働かせるようにしてもよい。ただし、十字キー20aを用いる場合には、プレイヤオブジェクトをタッチすることなく、直接的に移動が制御されるため、図13に示したステップS41、S45の処理および図15に示したステップS79、S83の処理は、削除される。
さらに、この実施例では、図1に示す状態でゲーム装置を把持し、ゲームプレイすることを前提として、説明の便宜上、第1LCDに表示される画面を上画面と呼び、第2LCDに表示される画面を下画面と呼んだ。しかし、図1に示す状態において、ゲーム装置を、上下を反対にしたり、右方向(時計周り)に90度回転させたり、左方向(反時計回り)に90度回転させたり、或いは任意の角度だけ回転させたりした状態にして、ゲームプレイすることができる。ただし、ゲーム空間の2次元座標系は固定されているため、第1プレイヤオブジェクトと第2プレイヤオブジェクトとを入れ替える際に、第1LCD側に弾く操作はいずれの場合も共通である。
さらにまた、ゲーム装置の構成は実施例のものに限定される必要はない。たとえば、表示装置(LCD)は、1つの大きなLCDを2つの表示領域に分けて使用してもよい。また、カメラは、1つでも良いし、無くてもよい。
10 …ゲーム装置
12,14 …ハウジング
16,18 …LCD
20 …操作ボタン
22 …タッチパネル
24 …タッチペン
26,28 …メモリカード
32,34 …カメラ
50 …CPU
52 …メインメモリ
54 …メモリ制御回路
56 …保存用データメモリ
58 …プリセットデータ用メモリ
60,62 …メモリカードI/F
64 …無線通信モジュール
66 …ローカル通信モジュール
68 …RTC
70 …電源回路
72 …I/F回路
74,76 …GPU
78,80 …VRAM
82 …LCDコントローラ
84 …マイク

Claims (5)

  1. 2つの表示領域を備えるゲーム装置のゲームプログラムであって、
    前記ゲーム装置のコンピュータを、
    プレイヤによる操作を検出する操作検出部、
    一方の前記表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示する表示部、
    前記操作検出部の検出結果に基づいて前記第1オブジェクトを移動させる第1オブジェクト制御部、
    前記第1オブジェクト制御部によって移動される前記第1オブジェクトの移動に従って前記第2オブジェクトを移動させる第2オブジェクト制御部、および
    前記操作検出部の検出結果に基づいて前記第1オブジェクトと前記第2オブジェクトとを入れ替えることにより、当該第1オブジェクトを前記他方の表示領域に表示させ、当該第2オブジェクトを前記一方の表示領域に表示させる入替部として機能させる、ゲームプログラム。
  2. 前記入替部によって前記第1オブジェクトと前記第2オブジェクトとが入れ替えられたとき、前記第2オブジェクト制御部は、前記プレイヤの操作に応じて当該第2オブジェクトを移動させ、前記第1オブジェクト制御部は、当該第2オブジェクトの移動に従って当該第1オブジェクトを移動させる、請求項1記載のゲームプログラム。
  3. 前記第2オブジェクト制御部は、前記第1オブジェクト制御部によって移動される前記第1オブジェクトと点対称に前記第2オブジェクトを移動させる、請求項1記載のゲームプログラム。
  4. 2つの表示領域を備えるゲーム装置であって、
    プレイヤによる操作を検出する操作検出部、
    一方の前記表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示する表示部、
    前記操作検出部の検出結果に基づいて前記第1オブジェクトを移動させる第1オブジェクト制御部、
    前記第1オブジェクト制御部によって移動される前記第1オブジェクトの移動に従って前記第2オブジェクトを移動させる第2オブジェクト制御部、および
    前記操作検出部の検出結果に基づいて前記第1オブジェクトと前記第2オブジェクトとを入れ替えることにより、当該第1オブジェクトを前記他方の表示領域に表示させ、当該第2オブジェクトを前記一方の表示領域に表示させる入替部を備える、ゲーム装置。
  5. 2つの表示領域を備えるゲーム装置のゲーム制御方法であって、
    (a)プレイヤによる操作を検出し、
    (b)一方の前記表示領域に第1オブジェクトを表示するとともに、当該第1オブジェクトとは異なる第2オブジェクトを他方の表示領域に表示し、
    (c)前記ステップ(a)の検出結果に基づいて前記第1オブジェクトを移動させ、
    (d)前記ステップ(c)によって移動される前記第1オブジェクトの移動に従って前記第2オブジェクトを移動させ、そして
    (e)前記ステップ(a)の検出結果に基づいて前記第1オブジェクトと前記第2オブジェクトとを入れ替えることにより、当該第1オブジェクトを前記他方の表示領域に表示させ、当該第2オブジェクトを前記一方の表示領域に表示させる、ゲーム制御方法。
JP2011046678A 2011-03-03 2011-03-03 ゲームプログラム、ゲーム装置およびゲーム制御方法 Active JP5758152B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011046678A JP5758152B2 (ja) 2011-03-03 2011-03-03 ゲームプログラム、ゲーム装置およびゲーム制御方法
US13/106,445 US8491383B2 (en) 2011-03-03 2011-05-12 Storage medium, game apparatus, game system and game controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011046678A JP5758152B2 (ja) 2011-03-03 2011-03-03 ゲームプログラム、ゲーム装置およびゲーム制御方法

Publications (2)

Publication Number Publication Date
JP2012183106A JP2012183106A (ja) 2012-09-27
JP5758152B2 true JP5758152B2 (ja) 2015-08-05

Family

ID=46753637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011046678A Active JP5758152B2 (ja) 2011-03-03 2011-03-03 ゲームプログラム、ゲーム装置およびゲーム制御方法

Country Status (2)

Country Link
US (1) US8491383B2 (ja)
JP (1) JP5758152B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9013366B2 (en) * 2011-08-04 2015-04-21 Microsoft Technology Licensing, Llc Display environment for a plurality of display devices
JP2015231437A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
US10026333B2 (en) 2015-02-24 2018-07-17 Alexandra Rose HUFFMAN Educational balancing game
JP6548776B1 (ja) * 2018-04-20 2019-07-24 株式会社Cygames プログラム、電子装置、方法、及びシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001070647A (ja) * 1999-09-08 2001-03-21 Samii Kk 遊技装置
US20080062625A1 (en) * 1999-10-18 2008-03-13 Jeffrey Batio Portable computer for dual, rotatable screens
JP4225926B2 (ja) * 2004-01-20 2009-02-18 任天堂株式会社 2画面表示ゲーム装置及び2画面表示ゲームプログラム
US7938721B2 (en) * 2004-03-22 2011-05-10 Nintendo Co., Ltd. Game apparatus, game program, storage medium storing game program and game control method
US8267780B2 (en) * 2004-03-31 2012-09-18 Nintendo Co., Ltd. Game console and memory card
US7837558B2 (en) * 2004-03-31 2010-11-23 Nintendo Co., Ltd. Game console and emulator for the game console
US8414395B2 (en) * 2008-06-11 2013-04-09 Activision Publishing, Inc. Strum processing for music video game on handheld device
KR101695809B1 (ko) * 2009-10-09 2017-01-13 엘지전자 주식회사 이동 단말기 및 그 제어방법

Also Published As

Publication number Publication date
US20120225716A1 (en) 2012-09-06
JP2012183106A (ja) 2012-09-27
US8491383B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
CN108885533B (zh) 组合虚拟现实和增强现实
WO2018077206A1 (zh) 增强现实场景生成方法、装置、系统及设备
JP5466435B2 (ja) 情報処理プログラムおよび情報処理装置
JP5498817B2 (ja) ゲームプログラムおよびゲーム装置
JP5804618B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP5576061B2 (ja) プログラム及びゲーム装置
US20110281644A1 (en) Storage medium having image display program stored therein, image display apparatus, image display system, and image display method
JP5876229B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
JP5675260B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、及び、画像処理方法
JP5437726B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および座標算出方法
JP5999829B2 (ja) ゲームプログラムおよびゲーム装置
JP5939733B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、及び、画像処理方法
JP2011177203A (ja) オブジェクト制御プログラムおよびオブジェクト制御装置
CN112044065B (zh) 虚拟资源的显示方法、装置、设备及存储介质
US8167721B2 (en) Program for object movement stored in a non-transitory computer readable storage medium and object movement game apparatus
JP2007296220A (ja) ゲームプログラムおよびゲーム装置
JP2005211212A (ja) ゲーム装置およびゲームプログラム
JP5478205B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法
JP5758152B2 (ja) ゲームプログラム、ゲーム装置およびゲーム制御方法
TWI817208B (zh) 確定選中目標的方法及裝置、電腦設備、非臨時性電腦可讀存儲介質及電腦程式產品
CN108786108B (zh) 目标对象控制方法、装置、存储介质及设备
US9582162B2 (en) Information processing apparatus, information processing system, storage medium and information processing method
JP5816435B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、表示制御方法
JP2021029637A (ja) プログラム、ゲーム管理サーバ、端末、及びゲームシステム
JP6270783B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150512

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150603

R150 Certificate of patent or registration of utility model

Ref document number: 5758152

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