JP2006122241A - ゲーム装置およびゲームプログラム - Google Patents

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

Info

Publication number
JP2006122241A
JP2006122241A JP2004312977A JP2004312977A JP2006122241A JP 2006122241 A JP2006122241 A JP 2006122241A JP 2004312977 A JP2004312977 A JP 2004312977A JP 2004312977 A JP2004312977 A JP 2004312977A JP 2006122241 A JP2006122241 A JP 2006122241A
Authority
JP
Japan
Prior art keywords
character
game
touch
touch operation
joint
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.)
Pending
Application number
JP2004312977A
Other languages
English (en)
Other versions
JP2006122241A5 (ja
Inventor
Yoshitaka Ajioka
嘉孝 味岡
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 JP2004312977A priority Critical patent/JP2006122241A/ja
Priority to US11/227,605 priority patent/US7819748B2/en
Priority to EP05021157A priority patent/EP1652562A3/en
Publication of JP2006122241A publication Critical patent/JP2006122241A/ja
Publication of JP2006122241A5 publication Critical patent/JP2006122241A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/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/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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8058Virtual breeding, e.g. tamagotchi

Abstract

【課題】 タッチパネルに覆われた表示画面上に表示されたキャラクタに対して、タッチパネルを用いてキャラクタの部位を直接コントロールすることのできるゲーム装置およびゲームプログラムを提供する。
【解決手段】 タッチパネル13に覆われた第2LCD12に表示されたキャラクタCの頭部に対して、プレイヤがタッチパネル13をタッチ操作すると、当該タッチ操作に応じて3次元オブジェクトであるキャラクタCの頭部に設定されるジョイントJの角度が変化する。例えば、プレイヤがタッチパネル13を撫でるようにドラッグ操作すると、キャラクタCの頭部が左右に振られていかにも本物のキャラクタCを撫でているような演出が行われる。このように、タッチパネル13へのタッチ操作がリアルタイムにジョイントJの角度に反映して3次元キャラクタCを動作させることによって、様々な演出を行うことができる。
【選択図】 図6

Description

本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、表示画面を覆うタッチパネルを利用して当該表示画面に表示されたキャラクタをタッチ操作することによって、ゲームプレイが進行するゲームを実現するゲーム装置およびゲームプログラムに関する。
従来、仮想3次元空間上で、ポリゴンを使ってキャラクタなどを立体表示し、2次元平面の表示画面に映し出してゲームプレイを進行することが多く行われている。これらキャラクタは、3次元座標によって定義され、ゲームをプレイするプレイヤによる操作に応じて座標変換されることによりキャラクタの動きが表現され、最終的に2次元平面に投影変換されて、表示画面に映し出される。
これらキャラクタを全てポリゴンの座標で定義した場合、キャラクタの動きを制御するときに、ポリゴン座標値を全て変換対象として制御するのは、処理的には煩雑となる。そこで、キャラクタの骨組みを複数のボーンおよびジョイント、すなわち人間に例えるなら骨および関節で定義し、キャラクタの動きを複数のボーンおよびジョイントで定義すれば処理的にかなり簡素化される(例えば、非特許文献1参照)。この非特許文献1で紹介されているようなソフトウェアは、キャラクタの動きを制御する方法の典型であり、ユーザは、コンピュータを利用して所望の3次元空間に描画されるキャラクタを生成し、3次元空間に生成したキャラクタのアニメーションを作成することができる。
このようなボーンおよびジョイント(文献中ではスケルトン)を、デフォルメされたゲームキャラクタに応用する動画像生成装置が開示されている(例えば、特許文献1参照)。一般的に、関節や凹凸の少ないデフォルメされたキャラクタは、そのままでは表現が単調になりがちである。しかしながら、上記特許文献1で開示されているデフォルメされたキャラクタにボーンおよびジョイントを隠しておいて、これらボーンおよびジョイントを制御すれば、デフォルメされたキャラクタであっても多様な表情を持たせることができる。また、上記特許文献1では、動画像生成装置に接続されたコントローラ入力に応じて、予め設定されたボーンおよびジョイントに基づくアニメーションが選択されて、適宜ゲーム画像として描画される技術について開示している。
ティム・コールマン(Tim Coleman)、シェリー・シェリダン(Sherri Sheridan)著、「目指せプロアニメータ Mayaキャラクタアニメーション」、初版、株式会社ボーンデジタル、2002年4月25日、p.125−133 特開平10−188028号公報
しかしながら、上記非特許文献1では、ボーンおよびジョイントの定義とそれらを利用したアニメーションの作成とについての技術が開示されているが、いかにしてゲームプレイにその技術を応用するかについては何ら開示されていない。
また、上記特許文献1では、コントローラ入力に応じて描画すべきキャラクタの動作が選択されるが、直接キャラクタの動作自体を制御することについては何ら開示していない。
それ故に、本発明の目的は、タッチパネルに覆われた表示画面上に表示されたキャラクタに対して、タッチパネルを用いてキャラクタの部位を直接コントロールすることのできるゲーム装置およびゲームプログラムを提供することである。本発明の他の目的は、タッチパネルへのタッチ操作に対して、タッチされた部位に応じてキャラクタの動作が変化し、プレイヤとキャラクタとが実際にふれ合っているかのようなリアルな体験のできるゲーム装置およびゲームプログラムを提供することである。
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号(「S」と略称する)等は、本発明の理解を助けるために、後述する図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、プレイヤの操作に応じて、ゲーム空間に登場するキャラクタ(C)を動作させるゲームを表現するゲーム装置(1)である。ゲーム装置は、表示部(12)、タッチパネル(13)、タッチ操作入力データ記憶部(S71、228)、構造データ記憶部(231a)、ポリゴンデータ記憶部(231b)、キャラクタ位置制御部(S54、S55)、キャラクタ表示制御部(S52、S77)、タッチ部位検出部(S56、S74)、およびジョイント角度変更部(S76)を備える。表示部は、キャラクタ画像を表示画面に表示する。タッチパネルは、表示部の表示画面上を覆って設けられる。タッチ操作入力データ記憶部は、タッチパネルがタッチ操作されたタッチ操作入力データ(タッチ座標)を一時記憶する。構造データ記憶部は、複数のボーン(B)をそれぞれジョイント(J)で連結するキャラクタの構造データ(図7)を記憶する。ポリゴンデータ記憶部は、ボーンのそれぞれに対応して規定されるキャラクタの部位毎のポリゴンデータ(Po)を記憶する。キャラクタ位置制御部は、ゲーム空間におけるキャラクタの位置を制御する。キャラクタ表示制御部は、構造データ、ポリゴンデータ、およびキャラクタの位置に基づいて、そのキャラクタを描画して表示画面に表示する。タッチ部位検出部は、タッチ操作入力データに対応するゲーム空間における位置データ(ゲーム空間座標)を算出し、その位置データに対応するキャラクタの部位を検出する。ジョイント角度変更部は、位置データに対応するキャラクタの部位が検出されたとき、その部位に対応するキャラクタのジョイントの角度(θ)をタッチ操作入力データに応じて変更する(図9)。キャラクタ表示制御部は、ジョイント角度変更部によってジョイント角度が変更された部位をその角度に応じてリアルタイムに変更してキャラクタを描画し表示画面に表示する。
第2の発明は、上記第1の発明において、ゲーム装置は、タッチ操作状態判定部(S75、S78)を、さらに備える。タッチ操作状態判定部は、タッチ操作入力データに基づいてタッチパネルに対するタッチ操作状態を判定する。ジョイント角度変更部は、タッチ操作状態判定部がタッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、そのドラッグ操作の方向に応じてキャラクタのジョイントの角度を変更する(図6)。
第3の発明は、上記第2の発明において、ゲーム装置は、アニメーションデータ記憶部(232)、蓄積量算出部(S77)、およびアニメーション選択部(S77)を、さらに備える。アニメーションデータ記憶部は、キャラクタに対応して、ボーンおよびジョイントの位置の動きを予め複数パターン(232a〜f)記憶する。蓄積量算出部は、タッチ操作状態判定部がタッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、そのドラッグ操作による操作距離を蓄積する。アニメーション選択部は、蓄積量算出部が蓄積した操作距離に応じて、アニメーションデータ記憶部に記憶されたパターンを選択する。キャラクタ表示制御部は、アニメーション選択部で選択されたパターンに応じてキャラクタを描画し表示画面に表示する。
第4の発明は、上記第1の発明において、ゲーム装置は、領域設定部(図10のZL、ZR)を、さらに備える。領域設定部は、ジョイント角度変更部が変更するジョイントの角度を指定する領域を、キャラクタの部位の少なくとも一部分に設定する。ジョイント角度変更部は、タッチ操作入力データに応じた位置データが領域設定部で設定された領域内を示すとき、その領域で指定される角度を用いてキャラクタのジョイントの角度を変更する。
第5の発明は、上記第4の発明において、領域設定部は、キャラクタの部位を2つの領域に2分割し、それら領域によってそれぞれ回転方向が相反する同一の角度だけジョイントの角度を変更するように指定する。
第6の発明は、上記第5の発明において、領域設定部は、2つの領域を分割する方向(Va)をゲーム空間のワールド座標系において常に固定して設定する。
第7の発明は、プレイヤの操作に応じて、ゲーム空間に登場するキャラクタを動作させるゲームを表現するゲーム装置のコンピュータ(21)で実行されるゲームプログラムである。ゲーム装置は、ゲーム空間を表示画面に表示する表示部、その表示部の表示画面上を覆って設けられるタッチパネル、および記憶部(22)を備えている。ゲームプログラムは、タッチ操作入力データ記憶ステップ(S71)、キャラクタ位置制御ステップ(S54、S55)、キャラクタ表示制御ステップ(S52、S77)、タッチ部位検出ステップ(S56、S74)、およびジョイント角度変更ステップ(S76)をコンピュータに実行させる。タッチ操作入力データ記憶ステップは、タッチパネルがタッチ操作されたタッチ操作入力データを記憶部に一時記憶する。キャラクタ位置制御ステップは、ゲーム空間におけるキャラクタの位置を制御する。キャラクタ表示制御ステップは、複数のボーンをそれぞれジョイントで連結するキャラクタの構造データ、それらボーンのそれぞれに対応して規定されるキャラクタの部位毎のポリゴンデータ、およびキャラクタの位置に基づいて、そのキャラクタを描画して表示画面に表示する。タッチ部位検出ステップは、タッチ操作入力データに対応するゲーム空間における位置データを算出し、その位置データに対応するキャラクタの部位を検出する。ジョイント角度変更ステップは、位置データに対応するキャラクタの部位が検出されたとき、その部位に対応するキャラクタのジョイントの角度をタッチ操作入力データに応じて変更する。キャラクタ表示制御ステップは、ジョイント角度変更ステップによってジョイント角度が変更された部位をその角度に応じてリアルタイムに変更してキャラクタを描画し表示画面に表示する。
第8の発明は、上記第7の発明において、タッチ操作状態判定ステップ(S75、S78)を、さらにコンピュータに実行させる。タッチ操作状態判定ステップは、タッチ操作入力データに基づいてタッチパネルに対するタッチ操作状態を判定する。ジョイント角度変更ステップは、タッチ操作状態判定ステップでタッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、そのドラッグ操作の方向に応じてキャラクタのジョイントの角度を変更する。
第9の発明は、上記第8の発明において、蓄積量算出ステップ(S77)およびアニメーション選択ステップ(S77)を、さらにコンピュータに実行させる。蓄積量算出ステップは、タッチ操作状態判定ステップがタッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、そのドラッグ操作による操作距離を記憶部に蓄積する。アニメーション選択ステップは、蓄積量算出ステップが蓄積した操作距離に応じて、キャラクタに対応したボーンおよびジョイントの位置の動きを示す複数パターンから1つのパターンを選択する。キャラクタ表示制御ステップは、アニメーション選択ステップで選択されたパターンに応じてキャラクタを描画し表示画面に表示する。
第10の発明は、上記第7の発明において、領域設定ステップ(図10のZL、ZR)を、さらにコンピュータに実行させる。領域設定ステップは、ジョイント角度変更ステップが変更するジョイントの角度を指定する領域を、キャラクタの部位の少なくとも一部分に設定する。ジョイント角度変更ステップは、タッチ操作入力データに応じた位置データが領域設定ステップで設定された領域内を示すとき、その領域で指定される角度を用いてキャラクタのジョイントの角度を変更する。
第11の発明は、上記第10の発明において、領域設定ステップは、キャラクタの部位を2つの領域に2分割し、それら領域によってそれぞれ回転方向が相反する同一の角度だけジョイントの角度を変更するように指定する。
第12の発明は、上記第11の発明において、領域設定ステップは、2つの領域を分割する方向をゲーム空間のワールド座標系において常に固定して設定する。
第1の発明によれば、タッチパネルを介してタッチされたキャラクタの部位に設けられたジョイントの角度を直接コントロールすることができる。したがって、タッチ操作に応じてジョイントの角度を変化させることができるので、プライヤがあたかもキャラクタを触っているかのような操作が可能なゲーム装置を提供できる。また、タッチパネルへのタッチ操作がリアルタイムにジョイントの角度に反映されてキャラクタを動作させるため、様々な演出を行うことができる。
第2の発明によれば、キャラクタの部位が頭部等であるときに、タッチパネルを撫でるようなドラッグ操作の方向に応じて、キャラクタが頭を振るような表現が可能となるので、よりキャラクタへのタッチがリアルに感じられるゲーム装置を提供できる。
第3の発明によれば、キャラクタに対するドラッグ操作の蓄積量に応じて、姿勢等のパターンを変更してキャラクタを描画するよう構成できるので、よりキャラクタとのコミュニケーションにリアルさを持たせたゲーム装置を提供できる。
第4の発明によれば、キャラクタの部位に設けられた領域で指定される角度だけジョイント角度を変更するため、ジョイント角度の制御の処理が容易になる。
第5の発明によれば、キャラクタの部位が2つの領域のいずれかに属するため、当該部位をタッチ操作している限り角度が制御されない状態がなくなり、キャラクタの動きが自然になる。また、2つの領域を往復するようなタッチ操作を行うことによって、キャラクタの部位が往復動作するような表現を行うことができる。
第6の発明によれば、ジョイントの角度の変化に伴って2つの領域を区分けする境界の方向が変化しないため、同じタッチ操作位置に対してジョイント角度の変化による領域の切り替わりを防止することができ、プレイヤがタッチ操作位置を移動させることに応じてキャラクタの部位を動作させることができる。
また、本発明のゲームプログラムによれば、コンピュータに実行されることによって上述したゲーム装置と同様の効果を得ることができる。
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図1は、本発明のゲームプログラムを実行するゲーム装置1の外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。
図1において、本実施形態のゲーム装置1は、2つの液晶表示器(LCD)11および12を所定の配置位置となるように、ハウジング18に収納して構成される。具体的には、第1液晶表示器(以下、「LCD」という)11および第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18aおよび上部ハウジング18bから構成され、上部ハウジング18bが下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第1LCD11の平面形状よりも少し大きな平面形状を有し、一方主面から第1LCD11の表示画面を露出するように開口部が形成される。下部ハウジング18aは、その平面形状が上部ハウジング18bよりも横長に選ばれ、横方向の略中央部に第2LCD12の表示画面を露出する開口部が形成され、第2LCD12を挟む何れか一方にスピーカ15の音抜き孔が形成されるとともに、第2LCD12を挟む左右に操作スイッチ部14が装着される。
操作スイッチ部14は、第2LCD12の右横における下部ハウジング18aの一方主面に装着される動作スイッチ(Aボタン)14aおよび動作スイッチ(Bボタン)14bと、第2LCD12の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ(十字キー)14cと、スタートスイッチ14dと、セレクトスイッチ14eと、側面スイッチ14fおよび14gとを含む。動作スイッチ14aおよび14bは、例えばサッカーゲーム等のスポーツゲームにおいてはパスやシュートを行う等の指示、アクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ14cは、プレイヤによって操作スイッチ部14を用いて操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ(Lボタン)14fおよび側面スイッチ(Rボタン)14gは、下部ハウジング18aにおける上部面(上部側面)の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
また、第2LCD12の上面には、タッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力する2次元ポインティングデバイスである。
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
図2は、ゲーム装置1のブロック図である。図2において、ハウジング18に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、コネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1グラフィック処理ユニット(第1GPU)24、第2グラフィック処理ユニット(第2GPU)26、WRAM22、およびLCDコントローラ29が接続される。コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、ゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21は、ゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータをWRAM22に記憶する。I/F回路27には、操作スイッチ部14およびタッチパネル13が接続されるとともに、スピーカ15が接続される。
第1GPU24には、第1ビデオRAM(第1VRAM)23が接続され、第2GPU26には、第2ビデオRAM(第2VRAM)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶されている、画像を生成するためのデータに基づいて第1のゲーム画像を生成し、第1VRAM23に描画(格納)する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶されている、画像を生成するためのデータに基づいて第2のゲーム画像を生成し、第2VRAM25に描画(格納)する。第1VRAM23および第2VRAM25はLCDコントローラ29に接続される。
LCDコントローラ29は、レジスタ291を含む。レジスタ291は、CPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ29は、レジスタ291の値が0の場合は、第1VRAM23に描画されたゲーム画像を第1LCD11に出力し、第2VRAM25に描画されたゲーム画像を第2LCD12に出力する。また、レジスタ291の値が1の場合は、第1VRAM23に描画されたゲーム画像を第2LCD12に出力し、第2VRAM25に描画されたゲーム画像を第1LCD11に出力する。
I/F回路27は、操作スイッチ部14、タッチパネル13、およびスピーカ15などの外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応する座標系を有し、スタイラス16によって入力(指示)された位置に対応する位置座標のデータを出力するものである。なお、本実施例では、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も第2LCD12の表示画面に対応した256dot×192dotとして説明するが、タッチパネル13の検出精度は第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
以下、図3〜図6を参照して、上記ゲーム装置1によって実行されるゲームプログラムによる具体的な表示画面例を説明する。なお、図3〜図6は、それぞれ第2LCD12に表示されたゲーム画面の一例である。
図3に示すように、本実施例においてゲーム装置1によって実行されるゲームは、ゲーム空間の一部が少なくとも第2LCD12に表示される。具体的には、ゲーム空間には複数のキャラクタ(図3では犬がキャラクタCの1つとして示されている)Cが登場し、キャラクタCとプレイヤとがタッチパネル13を用いてふれ合ってプレイするゲームである。
図4において、例えば、プレイヤがスタイラス16でタッチパネル13の任意のポイントをタッチ操作したとき、そのタッチ操作されたタッチパネル座標(タッチ座標)に対応するゲーム空間座標にキャラクタCが引き寄せられて移動する。やがて、図5に示すように、キャラクタCの所定ポイント(例えば、前頭部にある所定ポイント)が上記タッチ座標位置に対応するゲーム空間座標に一致するように、キャラクタCが動作する。これらの動作によって、プレイヤがタッチパネル13をタッチ操作している位置にキャラクタCが寄って来るように表現され、さらに当該位置に所定ポイントをあてるような動作をキャラクタCが行うため、あたかもキャラクタCを呼び寄せたような感覚をプレイヤに与えられる。
その後、図6の上図に示すように、プレイヤが図5で示したタッチ状態からタッチパネル13へのタッチ操作を続けたまま左(図示U方向)へドラッグする操作(以下、単にドラッグ操作と記載する)を行ったとき、キャラクタCは、当該左へのドラッグ操作に応じるように向かって左回転方向(図示L方向)に頭部を振るような動作を行う。また、図6の下図に示すように、プレイヤがタッチパネル13上で右(図示V方向)にドラッグ操作したとき、キャラクタCは、当該右へのドラッグ操作に応じるように向かって右回転方向(図示R方向)に頭部を振るような動作を行う。つまり、プレイヤがタッチパネル13を介してキャラクタCの頭部を左右に撫でるようにタッチ操作すると、キャラクタCの頭部が左右に振られて、あたかも本物のキャラクタCを撫でてキャラクタCが反応しているような演出が行われる。また、プレイヤがキャラクタCの所定部位に対してドラッグ操作した累積操作量に応じて、キャラクタCの表情や姿勢がアニメーションデータによって変更される。
以下、図7〜図10を参照して、キャラクタCのデータ構造について説明する。なお、図7は、キャラクタCのデータ構造を示す図である。図8は、ボーンBおよびジョイントJに設定される座標軸を説明するための図である。図9は、キャラクタCが動作する一例に応じたジョイントJの回転動作を説明するための図である。図10は、タッチ操作に応じてジョイントJの回転角度および方向を決定する領域ZLおよびZRを示す図である。
図7において、キャラクタCは、複数のボーンB(図7では多角形図形で示す)およびジョイントJ(図7では球形図形で示す)を構造データとしてその骨組みが定義される。例えば、キャラクタCを動物で例えるなら、ボーンBが骨であり、ジョイントJが関節である。また、描画されるキャラクタCの表面は、各ボーンBに対応して規定される所要数のポリゴンデータPo(図7では破線で示す)によって構成されている。そして、各ポリゴンデータPoにテクスチャデータをマッピングすることによって、キャラクタCが3次元表示される。
各ボーンBは、ジョイントJによって連結されており、ジョイントJ自体を回転や移動等することでボーンBを動かすことができる。そして、ボーンBの動きに応じて、当該ボーンBで規定されるポリゴンデータPoの位置や角度を変えて描画することによって、キャラクタCが動作しているように表現される。
図8において、キャラクタCのジョイントJおよびボーンBの組には、それぞれ3次元座標XYZが定義される。ジョイントJの中心を通るボーンBの方向をX軸と定義する。そして、ジョイントJの中心を通りボーンBに垂直な平面上にYおよびZ軸が定義され、X、Y、およびZ軸が互いに垂直にジョイントJの中心で交差する。
図6の下図を用いて説明したように、プレイヤがタッチパネル13上で右にキャラクタCの頭部をドラッグ操作したとき、頭部が右回転方向に振るような動作を行う。図9を参照して、このときのジョイントJおよびボーンBの動作について説明する。例えば、上述したドラッグ操作に応じてキャラクタCの頭部を表すポリゴンデータPoを規定するボーンBが対象となり、当該ボーンBを連結するジョイントJが当該ドラッグ操作に応じて動作する(図9において実線で示すボーンBおよびジョイントJ)。具体的には、動作対象のジョイントJがボーンBの方向を示すX軸を中心として右回転方向(図示R方向)に角度θ回転する。これによって、Y軸が図示Yr軸の位置に移動し、Z軸が図示Zr軸の位置に移動する。この回転によって、対象となったボーンBで定義されるポリゴンデータPoが図示R方向に角度θ回転する。このようなジョイントJの回転によって、第2LCD12にはキャラクタCが頭部を右回転方向に振るように表現される(図6下図参照)。
次に、図10を参照して、タッチ操作されたタッチ座標とジョイントJの回転角度および方向について説明する。図10(a)に示すように、上述した回転動作を行うキャラクタCのポリゴンデータPo(例えば、犬の頭部)に対して、左回転領域ZLおよび右回転領域ZRが設定される。上記ポリゴンデータPoを規定するボーンBを連結するジョイントJの中心から、ワールド座標系における直上方向に角度基準ベクトルVaが設定されている。なお、角度基準ベクトルVaは、ワールド座標系においてその方向が直上方向に固定されている。上記ポリゴンデータPoは、角度基準ベクトルVaによって2分割され、それぞれの領域が左回転領域ZLおよび右回転領域ZRに設定される。具体的には、ポリゴンデータPoが頭部の場合、当該頭部の略右半分(正面から見て略左半分)が左回転領域ZLに設定され、当該頭部の略左半分(正面から見て略右半分)が左回転領域ZLに設定される。
図6の上図を用いて説明したように、プレイヤがタッチパネル13上で左にキャラクタCの頭部をドラッグ操作したとき、当該ドラッグ操作で入力されるタッチ座標に対応するゲーム空間座標が左回転領域ZL内となる。このドラッグ操作で左回転領域ZLが指定されたとき、ジョイントJがボーンBの方向を示すX軸を中心として正面から見て左回転方向に角度θ回転する。図10(b)に示すように、この回転によって、対象となったボーンBで定義されるポリゴンデータPo(頭部)が角度θだけ正面から見て左回転する。なお、角度基準ベクトルVaは方向が固定されているため、この回転動作に応じてその方向は変化しない。したがって、ポリゴンデータPoに設定される左回転領域ZLおよび右回転領域ZRが図10(b)に示すように上記回転動作に応じて変化する。
一方、図6の下図を用いて説明したように、プレイヤがタッチパネル13上で右にキャラクタCの頭部をドラッグ操作したとき、当該ドラッグ操作で入力されるタッチ座標に対応するゲーム空間座標が右回転領域ZR内となる。このドラッグ操作で右回転領域ZRが指定されたとき、ジョイントJがボーンBの方向を示すX軸を中心として正面から見て右回転方向に角度θ回転する。図10(c)に示すように、この回転によって、対象となったボーンBで定義されるポリゴンデータPo(頭部)が角度θだけ正面から見て右回転する。なお、角度基準ベクトルVaは方向が固定されているため、この回転動作に応じてその方向は変化しない。したがって、ポリゴンデータPoに設定される左回転領域ZLおよび右回転領域ZRが図10(c)に示すように上記回転動作に応じて変化する。したがって、プレイヤが角度基準ベクトルVaを跨ぐようにキャラクタCの頭部をドラッグ操作したとき、キャラクタCがそのドラッグ操作に応じて頭部を左右に角度θだけ振るように動作する。
このように、タッチパネル13に覆われた第2LCD12に表示されたキャラクタCの頭部(例えば前頭部)を、プレイヤがタッチパネル13を介して撫でるようにタッチ操作すると、キャラクタCの頭部が左右に振られていかにも本物のキャラクタCを撫でているような演出が行われる。つまり、プレイヤがタッチパネル13を撫でるようにドラッグ操作するとき、当該ドラッグ操作の方向に応じて3次元オブジェクトであるキャラクタCの頭部に設定されるジョイントJの角度が変化するため、あたかも頭部を撫でて反応しているような動作が演出できる。したがって、タッチパネル13へのタッチ操作がリアルタイムにジョイントJの角度に反映して3次元キャラクタCを動作させることによって、様々な演出を行うことができる。
図11は、カートリッジ17から適時読み出して格納されるWRAM22のイメージを示す図である。図11に示すように、WRAM22には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群を記憶するプログラム記憶領域22aおよびデータ群を記憶するデータ記憶領域22bと有している。なお、本実施例では、ゲームプログラムやデータをカートリッジ17に記録させたが、これらプログラムおよびデータを他の媒体や通信回線を通じて供給することもできる。
プログラム記憶領域22aに適時格納されるゲームプログラムは、ゲーム装置1に実行させる機能ごとに分解したプログラムとして示せば、例えば、タッチパネルデータ取得プログラム221、タッチオン・オフ検出プログラム222、タッチ部位検出プログラム223、タッチ操作状態判定プログラム224、ジョイント角度変更プログラム225、およびキャラクタ描画プログラム226などによって構成される。
タッチパネルデータ取得プログラム221は、後述するタッチ座標データバッファ228からのデータを読み出すことによって、プレイヤがタッチパネル13を操作したタッチパネル座標位置(タッチ座標)を取得するプログラムである。タッチオン・オフ検出プログラム222は、プレイヤがタッチパネル13をタッチしているか否かを検出するプログラムである。タッチ部位検出プログラム223は、タッチパネルデータ取得プログラム221の実行によって取得されたタッチ座標に対応するゲーム空間座標を算出し、当該ゲーム空間座標が示すタッチ部位を検出するためのプログラムである。タッチ操作状態判定プログラム224は、タッチパネルデータ取得プログラム221の実行によって取得されたタッチ座標を分析して、プレイヤによるタッチパネル13への操作が上述したドラッグ操作か否かを判断するためのプログラムである。
ジョイント角度変更プログラム225は、タッチ部位検出プログラム223の実行によって検出されたタッチ部位が示すポリゴンデータの領域に応じて、キャラクタのジョイント角度を変更するプログラムである。キャラクタ描画プログラム226は、構造データ(ボーンB、ジョイントJ)、ポリゴンデータ、およびテクスチャデータに応じて、ゲーム空間内に設定されたキャラクタの画像を第2LCD12に表示させるためのものである。
データ記憶領域22bに適時格納されるデータ群は、例えばタッチオンフラグ227、タッチ座標データバッファ228、タッチ座標変化記憶バッファ229、部位座標記憶バッファ230、キャラクタ描画データ231、およびアニメーションデータ232などである。
タッチオンフラグ227は、タッチオン・オフ検出プログラム222の実行によってプレイヤがタッチパネル13をタッチしていると判断されたときにオンされるフラグである。タッチ座標データバッファ228は、タッチパネル13から入力する入力情報(タッチパネル座標位置;タッチ座標)を一時的に保存しておく記憶領域である。タッチ座標変化記憶バッファ229は、単位時間毎のタッチ座標の変化を一時的に保存しておく記憶領域である。部位座標記憶バッファ230は、タッチ部位検出プログラム223の実行によって検出されたタッチ部位のゲーム空間座標を一時的に保存しておく記憶領域である。
キャラクタ描画データ231は、ゲーム画面に複数のキャラクタCa、Cb、…Cnをそれぞれ表示するためのデータである。例えば、キャラクタCaをゲーム画面に表示するためのキャラクタ描画データ231は、構造データ231a、ポリゴンデータ231b、およびテクスチャデータ231cを含んでいる。なお、構造データ231aは、上述したような複数のボーンBおよびジョイントJを含んでいる。
アニメーションデータ232は、ゲーム画面に表示するキャラクタCの姿勢や表情を設定するためのデータである。例えば、キャラクタCが犬の場合、四つ足232a、おすわり232b、伏せ232c、横伏せ232d、仰向け232e、および喜び232fなどのデータがアニメーションデータ232として設定される。これらのアニメーションデータ232が適時選択されることによって、キャラクタ描画データ231の構造データのジョイント角度等が変更され、キャラクタCがアニメーションデータ232に応じた姿勢となって描画される。
次に、図12および図13を参照して、ゲーム装置1で処理されるゲーム処理の動作について説明する。なお、図12は、ゲーム装置1で処理されるゲーム処理の動作を示すフローチャートである。図13は、図12のステップ57におけるタッチ制御処理の詳細な動作を示すサブルーチンである。
まず、ゲーム装置1の電源(図示せず)がONされると、CPUコア21によってブートプログラム(図示せず)が実行され、これによりカートリッジ17に格納されているゲームプログラムがWRAM22にロードされる。当該ロードされたゲームプログラムがCPUコア21に実行されることによって、図12に示すステップ(図12および図13では「S」と略称する)が実行される。そして、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第2LCD12に描画される。
図12において、CPUコア21は、ゲーム処理における初期化設定を行い(ステップ51)、処理を次のステップに進める。具体的には、CPUコア21は、タッチ中フラグをオフに設定し、ゲーム空間に配置するキャラクタ毎にアニメーションデータ232を初期設定し、初期位置にキャラクタを配置する。
次に、CPUコア21は、ゲーム空間に配置されたキャラクタをそれぞれアニメーションデータや表示位置に基づいて描画し(ステップ52)、処理を次のステップに進める。これによって、第2LCD12にキャラクタCが配置されたゲーム空間が表示される。
次に、CPUコア21は、プレイヤがタッチパネル13をタッチ操作しているか否かを判断する(ステップ53)。プレイヤがタッチパネル13をタッチ操作している場合、CPUコア21は、タッチオンフラグ227をオンに設定して処理を次のステップ54に進める。一方、プレイヤがタッチパネル13をタッチ操作していない場合、CPUコア21は、タッチオンフラグ227をオフに設定して上記ステップ52に戻って処理を繰り返す。
ステップ54において、CPUコア21は、プレイヤがタッチパネル13をタッチ操作することによって得られるタッチ座標に対応するゲーム空間座標を求め、当該ゲーム空間座標の位置にキャラクタCが移動したか否かを判断する。例えば、CPUコア21は、ゲーム空間内にタッチ座標を投影する仮想投影面を設定し、タッチ座標によって指示された当該仮想投影面上の位置に向かってキャラクタCを移動させる。そして、CPUコア21は、タッチ操作で指示された位置までキャラクタCが移動した場合、処理を次のステップ55に進める。一方、CPUコア21は、タッチ操作で指示された位置までキャラクタCが移動していない場合、上記ステップ52に戻って処理を繰り返す。
ステップ55において、CPUコア21は、仮想カメラによる視点位置を固定し、タッチ操作で指示された位置まで移動したキャラクタCをゲーム空間上の固定位置に表示する。これによって、CPUコア21は、タッチパネル13による2次元のタッチ座標と3次元のゲーム空間座標とを対応しやすくなる。そして、CPUコア21は、処理を次のステップに進める。
次に、CPUコア21は、タッチ座標に対応するゲーム空間座標が示すキャラクタCへのタッチ部位を検出する(ステップ56)。そして、CPUコア21は、検出したタッチ部位がキャラクタCを特別動作させる部位か否かを判断する(ステップ57)。タッチ部位が特別動作させる部位である場合、CPUコア21は、タッチ制御処理を行い(ステップ58)、処理を次のステップ59に進める。なお、ステップ58における詳細な処理については後述する。一方、タッチ部位が特別動作させる部位でない場合、CPUコア21は、そのまま処理を次のステップ59に進める。
ステップ59において、CPUコア21は、タッチオンフラグ227がオフであるか否かを判断する。タッチオンフラグ227がオフでない(つまり、オン)場合、CPUコア21は、上記ステップ56に戻って処理を繰り返す。一方、タッチオンフラグ227がオフの場合、CPUコア21は、ゲームを終了するか否かを判断する(ステップ60)。そして、CPUコア21は、ゲームを継続する場合に上記ステップ52に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
次に、図13を参照して、上記ステップ57におけるタッチ制御処理の詳細な動作について説明する。まず、CPUコア21は、プレイヤがタッチパネル13をタッチ操作しているタッチ座標を取得し(ステップ71)、当該2次元のタッチ座標位置に対応する3次元のゲーム空間座標を算出する(ステップ72)。例えば、CPUコア21は、ゲーム空間内に設定された仮想投影面にタッチ座標を投影し、投影された当該仮想投影面上の位置をタッチ座標位置に対応するゲーム空間座標として算出する。そして、CPUコア21は、上記ステップ72で算出したゲーム空間座標にキャラクタCの所定ポイントが一致するように、キャラクタCのボーンBおよびジョイントJ(図7参照)を調整し(ステップ73)、処理を次のステップに進める。なお、キャラクタCの所定ポイントは、当該キャラクタCを特別動作させる複数部位(例えば、前頭部や手)内にそれぞれ設けられている。
次に、CPUコア21は、タッチ座標に対応するタッチ部位がキャラクタCの頭部か否かを判断する(ステップ74)。そして、CPUコア21は、タッチ部位が頭部である場合、処理を次のステップ75に進める。一方、タッチ部位が頭部でない場合、処理を次のステップ79に進める。
ステップ75において、CPUコア21は、プレイヤがタッチパネル13を用いてドラッグ操作(図6参照)しているか否かを判断する。そして、ドラッグ操作をしていない場合、CPUコア21は、そのまま当該サブルーチンによる処理を終了する。一方、ドラッグ操作が行われている場合、CPUコア21は、キャラクタCの頭部に設定されたジョイントJをドラッグ操作に応じて角度θ(図9参照)変化させる(ステップ76)。具体的には、ドラッグ操作で入力されるタッチ座標に対応するゲーム空間座標が左回転領域ZL内である場合、X軸(ボーンB)を中心として正面から見て左回転方向にキャラクタCの頭部ジョイントJを角度θ回転させる(図10(b)参照)。また、ドラッグ操作で入力されるタッチ座標に対応するゲーム空間座標が右回転領域ZR内である場合、X軸を中心として正面から見て右回転方向にキャラクタCの頭部ジョイントJを角度θ回転させる(図10(c)参照)。そして、CPUコア21は、連続してドラッグ操作される操作量を蓄積し、当該蓄積量に応じてキャラクタCのアニメーションデータ232を変更して描画して(ステップ77)、処理を次のステップに進める。例えば、CPUコア21は、上記ドラッグ操作の蓄積量が増えるにしたがって、四つ足232a→おすわり232b→伏せ232c→横伏せ232d→仰向け232eのようにアニメーションデータ232を変化させ、この変化に応じてキャラクタCのジョイントJの角度をそれぞれ変更することによって姿勢を変更して描画する。
次に、CPUコア21は、プレイヤがタッチパネル13を用いたドラッグ操作を終了したか否かを判断する(ステップ78)。そして、ドラッグ操作が継続している場合、CPUコア21は、上記ステップ76に戻って処理を繰り返す。一方、ドラッグ操作が終了した場合、CPUコア21は、当該サブルーチンによる処理を終了する。
一方、上記ステップ74においてタッチ部位が頭部でない場合、CPUコア21は、その部位に応じた処理(ステップ79)をタッチ操作が終了するまで(ステップ80)行う。そして、プレイヤがタッチパネル13へのタッチ操作を終了(ステップ80でYes)すると、タッチオンフラグ227をオフに設定して当該サブルーチンによる処理を終了する。
なお、上述した説明では、タッチ操作に対して変化するジョイントの角度が、単一のジョイントにおいて固定された角度で往復動作する一例を示したが、タッチ操作に対するジョイント角度の制御は固定値でなくてもかまわない。例えば、プレイヤによるタッチ操作で指定されるタッチ座標に追従するようにジョイントの角度を変化させてもかまわない。また、タッチ操作に応じて複数のジョイントの角度を変化させてもかまわない。
このように、タッチパネル13へのタッチ操作をリアルタイムにジョイントJの角度に反映させることによって、3次元のキャラクタCの動作を制御することができる。そして、3次元のキャラクタCは、処理的に簡素化されたボーンおよびジョイントで定義されるため、動作制御が簡単になる。
なお、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上記実施例では表示器を2つ設けたが、表示器は1つであってもかまわない。すなわち、上記実施例において、第1LCD11設けず単にタッチパネル13に覆われた第2LCD12のみを設けるようにしてもよい。また、上記実施例において、第2LCD12を設けず第1LCD11の上面にタッチパネル13を設けても良い。
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、タッチパネルを入力装置の1つとする一般的なパーソナルコンピュータなどの情報処理装置でゲームプログラムが実行されてもかまわない。
本発明に係るゲーム装置およびゲームプログラムは、タッチパネルへのタッチ操作をリアルタイムにジョイントの角度に反映して3次元キャラクタを動作させることが可能であり、タッチパネル等を入力手段とするゲーム装置や当該ゲーム装置で実行されるゲームプログラムとして有用である。
本発明の一実施形態に係るゲームプログラムを実行するゲーム装置の外観図 図1のゲーム装置1のブロック図 図1の第2LCD12に表示されたゲーム画面の一例 図1の第2LCD12に表示されたゲーム画面の一例 図1の第2LCD12に表示されたゲーム画面の一例 図1の第2LCD12に表示されたゲーム画面の一例 キャラクタCのデータ構造を示す図 ボーンBおよびジョイントJに設定される座標軸を説明するための図 キャラクタCが動作する一例に応じたジョイントJの回転動作を説明するための図 タッチ操作に応じてジョイントJの回転角度および方向を決定する領域ZLおよびZRを示す図 図1のカートリッジ17から適時読み出して格納されるWRAM22のイメージを示す図 図1のゲーム装置1で処理されるゲーム処理の動作を示すフローチャート 図12のステップ57におけるタッチ制御処理の詳細な動作を示すサブルーチン
符号の説明
1…ゲーム装置
11…第1LCD
12…第2LCD
13…タッチパネル
14…操作スイッチ部
15…スピーカ
16…スタイラス
17…カートリッジ
171…ROM
172…RAM
18…ハウジング
20…電子回路基板
21…CPUコア
22…WRAM
23…第1VRAM
24…第1GPU
25…第2VRAM
26…第2GPU
27…I/F回路
28…コネクタ
29…LCDコントローラ
291…レジスタ

Claims (12)

  1. プレイヤの操作に応じて、ゲーム空間に登場するキャラクタを動作させるゲームを表現するゲーム装置であって、
    前記キャラクタ画像を表示画面に表示する表示部と、
    前記表示部の表示画面上を覆って設けられるタッチパネルと、
    前記タッチパネルがタッチ操作されたタッチ操作入力データを一時記憶するタッチ操作入力データ記憶部と、
    複数のボーンをそれぞれジョイントで連結する前記キャラクタの構造データを記憶する構造データ記憶部と、
    前記ボーンのそれぞれに対応して規定される前記キャラクタの部位毎のポリゴンデータを記憶するポリゴンデータ記憶部と、
    前記ゲーム空間における前記キャラクタの位置を制御するキャラクタ位置制御部と、
    前記構造データ、前記ポリゴンデータ、および前記キャラクタの位置に基づいて、当該キャラクタを描画して前記表示画面に表示するキャラクタ表示制御部と、
    前記タッチ操作入力データに対応する前記ゲーム空間における位置データを算出し、当該位置データに対応する前記キャラクタの部位を検出するタッチ部位検出部と、
    前記位置データに対応する前記キャラクタの部位が検出されたとき、当該部位に対応する前記キャラクタのジョイントの角度を前記タッチ操作入力データに応じて変更するジョイント角度変更部とを備え、
    前記キャラクタ表示制御部は、前記ジョイント角度変更部によってジョイント角度が変更された部位を当該角度に応じてリアルタイムに変更して前記キャラクタを描画し前記表示画面に表示することを特徴とする、ゲーム装置。
  2. 前記ゲーム装置は、前記タッチ操作入力データに基づいて前記タッチパネルに対するタッチ操作状態を判定するタッチ操作状態判定部を、さらに備え、
    前記ジョイント角度変更部は、前記タッチ操作状態判定部が前記タッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、当該ドラッグ操作の方向に応じて前記キャラクタのジョイントの角度を変更することを特徴とする、請求項1に記載のゲーム装置。
  3. 前記ゲーム装置は、
    前記キャラクタに対応して、ボーンおよびジョイントの位置の動きを予め複数パターン記憶するアニメーションデータ記憶部と、
    前記タッチ操作状態判定部が前記タッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、当該ドラッグ操作による操作距離を蓄積する蓄積量算出部と、
    前記蓄積量算出部が蓄積した操作距離に応じて、前記アニメーションデータ記憶部に記憶されたパターンを選択するアニメーション選択部とを、さらに備え、
    前記キャラクタ表示制御部は、前記アニメーション選択部で選択されたパターンに応じて前記キャラクタを描画し前記表示画面に表示することを特徴とする、請求項2に記載のゲーム装置。
  4. 前記ゲーム装置は、前記ジョイント角度変更部が変更するジョイントの角度を指定する領域を、前記キャラクタの部位の少なくとも一部分に設定する領域設定部を、さらに備え、
    前記ジョイント角度変更部は、前記タッチ操作入力データに応じた前記位置データが前記領域設定部で設定された領域内を示すとき、当該領域で指定される角度を用いて前記キャラクタのジョイントの角度を変更することを特徴とする、請求項1に記載のゲーム装置。
  5. 前記領域設定部は、前記キャラクタの部位を2つの領域に2分割し、当該領域によってそれぞれ回転方向が相反する同一の角度だけジョイントの角度を変更するように指定することを特徴とする、請求項4に記載のゲーム装置。
  6. 前記領域設定部は、前記2つの領域を分割する方向を前記ゲーム空間のワールド座標系において常に固定して設定することを特徴とする、請求項5に記載のゲーム装置。
  7. プレイヤの操作に応じて、ゲーム空間に登場するキャラクタを動作させるゲームを表現するゲーム装置のコンピュータで実行されるゲームプログラムであって、
    前記ゲーム装置は、前記ゲーム空間を表示画面に表示する表示部、当該表示部の表示画面上を覆って設けられるタッチパネル、および記憶部を備えており、
    前記コンピュータに、
    前記タッチパネルがタッチ操作されたタッチ操作入力データを前記記憶部に一時記憶するタッチ操作入力データ記憶ステップと、
    前記ゲーム空間における前記キャラクタの位置を制御するキャラクタ位置制御ステップと、
    複数のボーンをそれぞれジョイントで連結する前記キャラクタの構造データ、当該ボーンのそれぞれに対応して規定される前記キャラクタの部位毎のポリゴンデータ、および前記キャラクタの位置に基づいて、当該キャラクタを描画して前記表示画面に表示するキャラクタ表示制御ステップと、
    前記タッチ操作入力データに対応する前記ゲーム空間における位置データを算出し、当該位置データに対応する前記キャラクタの部位を検出するタッチ部位検出ステップと、
    前記位置データに対応する前記キャラクタの部位が検出されたとき、当該部位に対応する前記キャラクタのジョイントの角度を前記タッチ操作入力データに応じて変更するジョイント角度変更ステップとを実行させ、
    前記キャラクタ表示制御ステップは、前記ジョイント角度変更ステップによってジョイント角度が変更された部位を当該角度に応じてリアルタイムに変更して前記キャラクタを描画し前記表示画面に表示することを特徴とする、ゲームプログラム。
  8. 前記タッチ操作入力データに基づいて前記タッチパネルに対するタッチ操作状態を判定するタッチ操作状態判定ステップを、さらに前記コンピュータに実行させ、
    前記ジョイント角度変更ステップは、前記タッチ操作状態判定ステップで前記タッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、当該ドラッグ操作の方向に応じて前記キャラクタのジョイントの角度を変更することを特徴とする、請求項7に記載のゲームプログラム。
  9. 前記タッチ操作状態判定ステップが前記タッチ操作状態を連続的にタッチ操作する位置が変更されるドラッグ操作であると判定したとき、当該ドラッグ操作による操作距離を前記記憶部に蓄積する蓄積量算出ステップと、
    前記蓄積量算出ステップが蓄積した操作距離に応じて、前記キャラクタに対応したボーンおよびジョイントの位置の動きを示す複数パターンから1つのパターンを選択するアニメーション選択ステップとを、さらに前記コンピュータに実行させ、
    前記キャラクタ表示制御ステップは、前記アニメーション選択ステップで選択されたパターンに応じて前記キャラクタを描画し前記表示画面に表示することを特徴とする、請求項8に記載のゲームプログラム。
  10. 前記ジョイント角度変更ステップが変更するジョイントの角度を指定する領域を、前記キャラクタの部位の少なくとも一部分に設定する領域設定ステップを、さらに前記コンピュータに実行させ、
    前記ジョイント角度変更ステップは、前記タッチ操作入力データに応じた前記位置データが前記領域設定ステップで設定された領域内を示すとき、当該領域で指定される角度を用いて前記キャラクタのジョイントの角度を変更することを特徴とする、請求項7に記載のゲームプログラム。
  11. 前記領域設定ステップは、前記キャラクタの部位を2つの領域に2分割し、当該領域によってそれぞれ回転方向が相反する同一の角度だけジョイントの角度を変更するように指定することを特徴とする、請求項10に記載のゲームプログラム。
  12. 前記領域設定ステップは、前記2つの領域を分割する方向を前記ゲーム空間のワールド座標系において常に固定して設定することを特徴とする、請求項11に記載のゲームプログラム。
JP2004312977A 2004-10-27 2004-10-27 ゲーム装置およびゲームプログラム Pending JP2006122241A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004312977A JP2006122241A (ja) 2004-10-27 2004-10-27 ゲーム装置およびゲームプログラム
US11/227,605 US7819748B2 (en) 2004-10-27 2005-09-16 Game apparatus and storage medium storing game program
EP05021157A EP1652562A3 (en) 2004-10-27 2005-09-28 Animating a character using a skeleton and input from a touch screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004312977A JP2006122241A (ja) 2004-10-27 2004-10-27 ゲーム装置およびゲームプログラム

Publications (2)

Publication Number Publication Date
JP2006122241A true JP2006122241A (ja) 2006-05-18
JP2006122241A5 JP2006122241A5 (ja) 2006-10-05

Family

ID=35841709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004312977A Pending JP2006122241A (ja) 2004-10-27 2004-10-27 ゲーム装置およびゲームプログラム

Country Status (3)

Country Link
US (1) US7819748B2 (ja)
EP (1) EP1652562A3 (ja)
JP (1) JP2006122241A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178600A (ja) * 2007-01-25 2008-08-07 Sega Corp ゲームプログラム及びゲーム装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060252495A1 (en) * 2005-01-14 2006-11-09 Ignacio Gerson Slot machine with skill aspect
US8376829B2 (en) * 2005-01-14 2013-02-19 Etasse Limited Slot machine game with respin feature which identifies potential wins
JP4961112B2 (ja) * 2005-03-14 2012-06-27 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP5041730B2 (ja) 2006-05-08 2012-10-03 任天堂株式会社 オブジェクト処理装置及びオブジェクト処理プログラム
JP2008012199A (ja) * 2006-07-10 2008-01-24 Aruze Corp ゲーム装置及びゲーム装置の画像表示制御方法
US8690664B2 (en) 2006-09-25 2014-04-08 Etasse Limited Slot machine game with additional award indicator
US9165419B2 (en) * 2006-10-23 2015-10-20 Etasse Limited Slot machine bonus game providing awards for manual dexterity
US8337292B2 (en) * 2006-11-10 2012-12-25 Etasse Limited Slot machine game with side wager on reel order
CN101069778B (zh) * 2007-03-29 2010-04-07 腾讯科技(深圳)有限公司 一种电脑游戏的控制方法及系统
KR101390103B1 (ko) * 2007-04-03 2014-04-28 엘지전자 주식회사 영상제어방법 및 이동단말기
JP5035972B2 (ja) * 2007-06-13 2012-09-26 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
US20090046097A1 (en) * 2007-08-09 2009-02-19 Scott Barrett Franklin Method of making animated video
US8702493B2 (en) 2007-11-09 2014-04-22 Etasse Limited Slot machine game with award based on another machine
US20090124352A1 (en) * 2007-11-13 2009-05-14 Ignacio Gerson Slot machine game with side pot
CA2728410C (en) 2008-06-20 2014-05-06 Mattel, Inc. Capacitive touchpad and toy incorporating the same
US9520031B2 (en) 2008-07-07 2016-12-13 Etasse Limited Slot machine game with symbol lock-in
EP2327010A2 (en) * 2008-08-22 2011-06-01 Google, Inc. Navigation in a three dimensional environment on a mobile device
CN102362251B (zh) * 2008-12-30 2016-02-10 法国电信公司 用于提供对应用程序的增强控制的用户界面
JP2010170279A (ja) * 2009-01-21 2010-08-05 Namco Bandai Games Inc 骨格動作制御システム、プログラムおよび情報記憶媒体
CN102609553B (zh) * 2011-01-25 2013-12-18 上海创翼动漫科技有限公司 计算机辅助动画造型绘制方法
JP5735696B1 (ja) * 2014-11-05 2015-06-17 株式会社 ディー・エヌ・エー ゲームプログラム、及び、情報処理装置
CN107979748A (zh) * 2016-10-21 2018-05-01 中强光电股份有限公司 投影机、投影系统以及影像投影方法
CN106960475B (zh) * 2017-03-30 2020-05-05 网易(杭州)网络有限公司 三维模型的部位点击处理方法及装置、存储介质和处理器
CN110075523B (zh) * 2019-04-30 2020-04-17 网易(杭州)网络有限公司 动作生成方法、装置、电子设备和计算机可读介质
CN112288631A (zh) * 2020-10-27 2021-01-29 四川天艺生态园林集团股份有限公司 一种含孔洞的矢量多边形区域拼接方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10188028A (ja) 1996-10-31 1998-07-21 Konami Co Ltd スケルトンによる動画像生成装置、該動画像を生成する方法、並びに該動画像を生成するプログラムを記憶した媒体
US6320988B1 (en) 1996-11-19 2001-11-20 Namco Ltd. Skeleton model shape transformation method, image synthesizing apparatus, and information storage medium
JP3265271B2 (ja) 1996-11-19 2002-03-11 株式会社ナムコ スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体
US6515687B1 (en) 2000-05-25 2003-02-04 International Business Machines Corporation Virtual joystick graphical user interface control with one and two dimensional operation
JP2002292127A (ja) 2001-03-28 2002-10-08 Star Alpha Kk ペットモデル育成システム、ペットモデル育成処理装置、ペットモデル育成処理方法、ペットモデル育成処理プログラムが格納された記憶媒体、及び、ペットモデル育成処理プログラム
JP3669939B2 (ja) 2001-04-19 2005-07-13 株式会社タイトー アニメーション生成方式
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US7371163B1 (en) * 2001-05-10 2008-05-13 Best Robert M 3D portable game system
US7309287B2 (en) 2003-12-10 2007-12-18 Nintendo Co., Ltd. Game machine having display screen with touch panel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178600A (ja) * 2007-01-25 2008-08-07 Sega Corp ゲームプログラム及びゲーム装置

Also Published As

Publication number Publication date
US20060089197A1 (en) 2006-04-27
EP1652562A2 (en) 2006-05-03
US7819748B2 (en) 2010-10-26
EP1652562A3 (en) 2006-05-17

Similar Documents

Publication Publication Date Title
JP2006122241A (ja) ゲーム装置およびゲームプログラム
US8574069B2 (en) Hand-held game apparatus and game program
JP5436912B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP4388004B2 (ja) 画像生成装置及び方法、プログラム、並びに記録媒体
JP4445449B2 (ja) 画像生成装置
US8172681B2 (en) Storage medium having stored therein game program and game device
US7922588B2 (en) Storage medium having game program stored thereon and game apparatus
US7695367B2 (en) Storage medium having game program stored thereon and game apparatus
JP5519591B2 (ja) 情報表示装置、情報表示方法、ならびに、プログラム
KR20010102912A (ko) 게임 캐릭터를 제어하는 방법, 비디오 게임 장치 및프로그램
JP4583893B2 (ja) ゲームプログラムおよびゲーム装置
JP4578947B2 (ja) ゲームプログラムおよびゲーム装置
JP4864117B2 (ja) 画像生成装置及び方法、プログラム、並びに記録媒体
JP2007125239A (ja) ゲーム装置およびゲームプログラム
JP5117474B2 (ja) ゲーム装置、ゲーム制御プログラム、及びゲーム制御方法
JP2005316687A (ja) ゲーム装置およびゲームプログラム
JP4463615B2 (ja) 立体オブジェクト表示プログラムおよび情報処理装置
JP2012120589A (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP2009223903A (ja) 画像生成装置及び方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060821

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060821

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070214