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

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

Info

Publication number
JP5265159B2
JP5265159B2 JP2007235619A JP2007235619A JP5265159B2 JP 5265159 B2 JP5265159 B2 JP 5265159B2 JP 2007235619 A JP2007235619 A JP 2007235619A JP 2007235619 A JP2007235619 A JP 2007235619A JP 5265159 B2 JP5265159 B2 JP 5265159B2
Authority
JP
Japan
Prior art keywords
force vector
moving body
controller
information
unit
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
JP2007235619A
Other languages
English (en)
Other versions
JP2009066064A (ja
Inventor
健祐 中西
智明 保田
賢一 島田
寿 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2007235619A priority Critical patent/JP5265159B2/ja
Priority to US12/205,462 priority patent/US8308565B2/en
Priority to EP08015851.2A priority patent/EP2039401B1/en
Publication of JP2009066064A publication Critical patent/JP2009066064A/ja
Application granted granted Critical
Publication of JP5265159B2 publication Critical patent/JP5265159B2/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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/807Gliding or sliding on surfaces, e.g. using skis, skates or boards
    • 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/105Features 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 using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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
    • 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/8041Skating using skis, skates or board

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position Or Direction (AREA)
  • Manipulator (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、プログラム、情報記憶媒体、及びゲーム装置に関する。
従来から、スキーシュミレーション装置のように、入力ボードを操作して擬似的にスキーを行えるゲーム装置が知られている。このようなゲーム装置では、入力ボードにおいて行われるスイング動作入力とエッジング動作入力によりスキーヤーの移動軌跡が決定されるものがある。かかる技術として、例えば特開平10−207341号公報に開示される従来技術がある。
特開平10−207341号公報
しかしながら、従来のゲーム装置では、プレーヤは水平方向へのスイング動作入力と垂直方向へのエッジング動作入力という別個独立した操作入力を同時に行わなければならず、操作が複雑になってしまうといった問題点があった。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない操作入力により様々なスキーの挙動を再現することが可能なプログラム、情報記憶媒体、及びゲーム装置を提供することにある。
(1)本発明は、コントローラの傾きに応じて移動体が滑走面を滑走する画像を生成するためのプログラムであって、
前記コントローラの傾きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの傾きを示す傾き情報を取得する情報取得部と、
前記移動体の速度ベクトルの大きさと前記傾き情報とに基づきずらし角を求め、前記移動体の速度ベクトルの向きと前記ずらし角とに基づき前記移動体の前記滑走面上の向きを求めるずらし角演算部と、
前記傾き情報に基づいて、前記移動体の前記滑走面上の向きに対して前記滑走面上で直交する方向の第1の力ベクトルを求める第1の力ベクトル演算部と、
前記滑走面の斜度に基づいて、第2の力ベクトルを求める第2の力ベクトル演算部と、
前記第1の力ベクトルと前記第2の力ベクトルとを合成した合成力ベクトルを求める合成力ベクトル演算部と、
前記合成力ベクトルに基づき前記移動体の速度ベクトルを更新し、更新した速度ベクトルに基づき前記移動体の位置を更新する更新部と、
前記移動体を含む画像を生成する画像生成部としてコンピュータを機能させることを特徴とする。
また本発明は上記各部を含むゲーム装置に関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
本発明において、移動体の速度ベクトルとは、移動体の単位時間あたりの仮想空間内における移動量と移動方向をいう。
また本発明において、ずらし角とは、移動体の速度ベクトルの向きと移動体の滑走面上の向きとがなす角をいう。
また本発明において、合成力ベクトルに基づき移動体の速度ベクトルを更新するとは、合成力ベクトルと移動体の更新前の速度ベクトルとに基づき新たな速度ベクトルを求めてもよいし、合成力ベクトルをそのまま移動体の新たな速度ベクトルとしてもよいし、合成力ベクトルを所定の関数に基づいて変換して移動体の新たな速度ベクトルを求めるようにしてもよい。
本発明では、進行方向(移動体の速度ベクトルの向き)に対する移動体の向きを規定するずらし角を変化させて、当該移動体の向きと直交する方向の第1の力ベクトルの向きを変化させている。ここでずらし角が小さい場合には第1の力ベクトルの向きは進行方向と直交する方向に近い向きになるから、第1の力ベクトルは移動体の進行方向を変える力の成分を多く含む力ベクトルとなる。またずらし角が大きい場合には第1の力ベクトルの向きは進行方向と逆の方向に近い向きになるから、第一の力ベクトルは移動体を減速させる力の成分を多く含む力ベクトルとなる。すなわちずらし角を変化させることにより移動体にかかる力のうち進行方向を変える力と移動体を減速させる力との比率を変化させることができる。
従って本発明によれば、コントローラから取得した傾き情報に基づいてずらし角を求め、コントローラから取得した傾き情報に基づいて移動体の向きと直交する方向の第1の力ベクトルを求めることで、コントローラを傾けるという1系統の入力のみで移動体の進行方向を変える力と移動体を減速させる力との比率と、これらの力を含む第1の力ベクトルの大きさを制御することができる。また移動体の速度ベクトルの大きさに基づきずらし角を求めることで、そのときの移動体の速さを移動体の進行方向を変える力と移動体を減速させる力との比率に反映させることができる。
(2)また本発明に係るプログラム及び情報記憶媒体では、
前記第1の力ベクトル演算部は、
前記移動体の速度ベクトルの大きさと前記傾き情報とに基づいて、前記第1の力ベクトルを求めることを特徴とする。
本発明によれば、そのときの移動体の速さを第1の力ベクトルの大きさに反映させることができる。
(3)また本発明に係るプログラム及び情報記憶媒体では、
前記情報取得部は、
第1のコントローラと第2のコントローラの各コントローラの前記傾き情報を取得し、
前記ずらし角演算部は、
前記移動体の速度ベクトルの大きさと前記各コントローラの前記傾き情報とに基づき前記ずらし角を求め、
前記第1の力ベクトル演算部は、
前記各コントローラの前記傾き情報に基づき前記第1の力ベクトルを求めることを特徴とする。
本発明によれば、2つのコントローラの各コントローラの前記傾き情報に基づきずらし角と第1の力ベクトルを求めることで、各コントローラを傾けるという1系統の入力のみで移動体の進行方向を変える力と移動体を減速させる力との比率と、これらの力を含む第1の力ベクトルの大きさを制御することができる。
(4)また本発明に係るプログラム及び情報記憶媒体では、
前記情報取得部は、
前記傾き情報を、前記各コントローラの傾きの方向に応じて符号が異なる情報として取得し、
前記第1の力ベクトル演算部は、
前記各コントローラの前記傾き情報の符号に基づき前記第1の力ベクトルを求めることを特徴とする。
本発明において、傾きの方向に応じて符号が異なる情報とは、各コントローラの基準向きからの同一軸まわりの傾きの方向によって、例えば+と−の符号が異なる情報をいう。
本発明によれば、各コントローラの傾きの方向の組合せに応じて第1の力ベクトルを制御することができる。
(5)また本発明に係るプログラム及び情報記憶媒体では、
前記各コントローラの前記傾き情報の符号に基づいて、前記移動体が受ける空気抵抗を示す第3の力ベクトルを求める第3の力ベクトル演算部としてコンピュータを機能させ、
前記合成力ベクトル演算部は、
前記第3の力ベクトル演算部によって前記第3の力ベクトルが求められた場合には、前記第2の力ベクトルと前記第3の力ベクトルとを合成した合成力ベクトルを求めることを特徴とする。
本発明によれば、各コントローラの傾きの方向の組合せに応じて、空気抵抗により移動体を減速させる力を制御することができる。
(6)また本発明に係るプログラム及び情報記憶媒体では、
前記各コントローラの前記傾き情報の符号に基づいて、前記移動体が受ける摩擦力を示す第4の力ベクトルを求める第4の力ベクトル演算部としてコンピュータを機能させ、
前記合成力ベクトル演算部は、
前記第4の力ベクトル演算部によって前記第4の力ベクトルが求められた場合には、前記第2の力ベクトルと前記第4の力ベクトルとを合成した合成力ベクトルを求めることを特徴とする。
本発明によれば、各コントローラの傾きの方向の組合せに応じて、滑走面との摩擦力により移動体を減速させる力を制御することができる。
(7)また本発明に係るプログラム及び情報記憶媒体では、
前記ずらし角演算部は、
前記傾き情報の値が所定の閾値に達していない場合には、前記移動体の速度ベクトルの大きさと前記傾き情報とに基づき前記ずらし角を第1の角度範囲内で変化させ、前記傾き情報の値が前記所定の閾値に達した場合には、前記ずらし角を前記第1の角度範囲外の所定の角度に変化させることを特徴とする。
本発明によれば、傾き情報の値が所定範囲内である場合と所定の閾値に達した場合とで、異なるずらし角の制御を行うことができる。特に本発明によれば、傾き情報の値が所定の閾値に達した場合に、移動体を急激に減速させる力が発生するようにずらし角を制御することにより、移動体を停止させるように制御することができる。
(8)また本発明に係るプログラム及び情報記憶媒体では、
前記移動体の速度ベクトルの大きさが所定の値以下となった場合に、前記移動体の状態を、前記移動体を移動させる滑走状態から前記移動体を移動させない停止状態に設定する状態設定部としてコンピュータを機能させることを特徴とする。
本発明によれば、プレーヤが移動体を停止させたつもりでも滑走面の斜度等により移動体が移動してしまう不具合を解消することができる。
(9)また本発明に係るプログラム及び情報記憶媒体では、
前記ずらし角演算部は、
前記停止状態において、前記移動体が位置する前記滑走面の斜度が所定角度以上であり、且つ前記移動体の前記滑走面上の向きが第2の角度範囲内である場合には、前記移動体の前記滑走面上の向きを前記第2の角度範囲外の所定の向きに変化させることを特徴とする。
本発明において、第2の角度範囲とは、例えば滑走面の傾斜方向とその逆の方向を含む所定範囲の角度でもよい。また第2の角度範囲外の所定の向きとは、例えば滑走面の傾斜方向に対して直交する向きでもよい。
本発明によれば、停止状態にある移動体の滑走面上の向きを停止状態にふさわしい向きに変更することができる。
(10)また本発明に係るプログラム及び情報記憶媒体では、
仮想カメラの位置と向きとを制御する仮想カメラ制御部としてコンピュータを機能させ、
前記情報取得部は、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
前記状態設定部は、
前記停止状態において、前記仮想カメラの向きと前記動き情報とに基づき前記移動体の状態を前記滑走状態に設定することを特徴とする。
本発明によれば、停止状態における仮想カメラの向きに応じて移動体の状態を滑走状態にするか否かを決定することができる。
(11)また本発明に係るプログラム及び情報記憶媒体では、
前記情報取得部は、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
前記第2の力ベクトル演算部は、
前記滑走面の斜度と前記動き情報とに基づいて、前記第2の力ベクトルを求めることを特徴とする。
本発明によれば、コントローラから取得した動き情報によって移動体を進行方向に加速させる力を制御することができる。
(12)また本発明に係るプログラム及び情報記憶媒体では、
前記移動体の動作を制御する動作制御部としてコンピュータを機能させ、
前記動作制御部は、
前記傾き情報の所定時間内における変化に基づき、前記移動体の動作を制御することを特徴とする。
本発明において、傾き情報の変化とは、傾きの方向の変化でもよいし、傾き情報の値の最大値から最小値への変化又は最小値から最大値までの変化でもよい。
本発明によれば、コントローラから取得した傾き情報によって移動体にかかる力に加えて移動体の動作を制御することができる。例えば、傾き情報の所定時間内における変化の回数や間隔などに応じて、移動体に連続動作を行わせるなどの制御を行うことができる。
(13)また本発明に係るプログラム及び情報記憶媒体では、
前記移動体の動作を制御する動作制御部としてコンピュータを機能させ、
前記情報取得部は、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
前記動作制御部は、
前記動き情報に基づき、前記移動体が前記滑走面から離れる方向に移動する動作を制御することを特徴とする。
本発明によれば、コントローラから取得した動き情報によって移動体がジャンプする動作を制御することができる。
(14)また本発明に係るプログラム及び情報記憶媒体では、
前記移動体の位置に基づき、所与のイベントを発生させるイベント発生部としてコンピュータを機能させ、
前記状態設定部は、
前記イベントの発生に基づき、前記移動体の状態を、前記移動体を通常バランスで移動させる通常状態から前記移動体を特殊バランスで移動させる特殊状態に設定することを特徴とする。
本発明において、所与のイベントとは、例えば移動体が転倒するイベント、又は移動体が滑走面上の障害物又は他の移動体に接触するイベント、又は移動体がジャンプ後の着地で衝撃を受けるイベント等とすることができる。
本発明において、通常状態とは、例えば傾き情報に基づく第1の力ベクトルの演算を行う状態をいい、特殊状態とは、例えば傾き情報に基づく第1の力ベクトルの演算を行わない状態とすることができる。
本発明によれば、イベントの発生に応じて移動体の移動状態や動作状態を制御することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.システム概略
図1は、本実施形態のゲームシステム10の概略外観図である。本実施形態のゲームシステム10は、表示画面11にゲーム画像を表示させる表示部12と、ゲーム処理等を行うゲーム機14と、プレーヤPが両手に把持して所定範囲内での位置、向きを任意に変更可能な第1のコントローラ16、第2のコントローラ18とを含む。本実施形態の第1のコントローラ16、第2のコントローラ18の各コントローラは、各コントローラの傾きや動きに応じて変化する情報を検出する検出部を内蔵しており、各コントローラ自体の傾きや動きに関する情報を取得できるようになっている。なお図1の例では、ゲーム機14と第1のコントローラ16との間では無線通信により情報を送受信し、第1のコントローラ16と第2のコントローラ18とがケーブルにより接続されている。
本実施形態では第1のコントローラ16、第2のコントローラ18の各コントローラは、その内部に3軸加速度センサ(検出部)を内蔵している。この加速度センサは、各コントローラの傾きの向きと傾きの大きさを各コントローラにかかる3軸それぞれの加速度ベクトル(傾き情報)として検出することができる。またこの加速度センサは、各コントローラ自体の動きに応じて各コントローラの速度、向きが一定時間にどの位変化したか、各コントローラ自体の動きを各コントローラにかかる3軸それぞれの加速度ベクトル(動き情報)として検出することができる。
そして図1に示すように、プレーヤPが第1、第2のコントローラ16、18を把持しながら手を動かして、各コントローラ自体の傾き、動きを変化させると、かかる傾き、動きに応じて変化する情報に基づいて、表示画面11に表示される移動体オブジェクトMOを制御することができる。即ちコントローラ16自体の傾き、動きにより、移動体オブジェクトMOを操作することができる。
ここで本実施形態では、表示画面11には滑走面を滑走してスキーを行う移動体オブジェクトMOが表示されている。移動体オブジェクトMOは滑走面を示すマップMP上に設定された斜度に応じた速度でマップMP上を移動している。本実施形態では、各コントローラを所定の方向に傾けたり振ったりすることにより、移動体オブジェクトMOのマップMP上での移動方向、速度、又は動作を変化させる。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
図2〜図17は、本実施形態の各コントローラの操作と移動体の制御について説明するための図である。
図2は、2つのコントローラを同じ方向に傾ける操作の一例について説明するための図である。図2の例では、第1のコントローラ16と第2のコントローラ18とをZ軸回りに時計回りに傾ける操作を行っている。この様な操作が行われると重力によって+X軸方向に加速度が生じ、各コントローラに内蔵された加速度センサのX軸出力から正の符号つきの傾きに応じた加速度情報が出力される。また図2の例とは逆に、第1のコントローラ16と第2のコントローラ18をZ軸回りに反時計回りに傾ける操作が行われると重力によって−X軸方向に加速度が生じ、各加速度センサのX軸出力から負の符号つきの傾きに応じた加速度情報が出力される。なお、各加速度センサのX軸出力からの加速度情報の絶対値は、各コントローラをZ軸回りに90度傾けた場合に最大となる。
図3は、図2に示した操作が行われた場合の移動体の制御の一例について説明するための図である。本実施形態では、各コントローラの加速度センサのX軸出力から正の符号つきの加速度情報を取得した場合に、滑走面を滑走する移動体MOを右方向にターンさせる制御を行う。なおここでは説明の便宜上移動体MOを1枚のスキー板として示している。
本実施形態では、各コントローラの加速度センサのX軸出力から正の符号つきの加速度情報を取得した場合に、移動体MOの進行方向(速度ベクトルSの向き)に対する移動体の滑走面上の向きDを規定するずらし角Aを求める。ずらし角Aは、各コントローラの加速度センサの加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)と移動体MOの現在の速度ベクトルSの大きさに基づいて求められるが、ずらし角Aの最大値は移動体MOの速度ベクトルSの大きさ(移動体の速さ)によって決まり、求めるずらし角Aは各コントローラの加速度センサの加速度情報の値が大きいほど当該最大値を超えない範囲で大きな角度となる。
図4は、移動体の速さとずらし角の最大値との関係について説明するための図である。本実施形態では、移動体MOの速さが速いほどずらし角Aの最大値を小さくしており、移動体MOの速さが所定速度以上になるとずらし角Aを0度にしている。従って、その時点での移動体MOの速度が遅い場合には、移動体MOの速度が速い場合に比べてより小さい各コントローラの傾きで同じずらし角Aを得ることができる。なお本実施形態では、ずらし角Aの最大値を60度以下の値としている。
次に、求めたずらし角Aによって移動体の向きDを規定し、この移動体の向きDに対して滑走面上で直交する方向の第1の力ベクトルP1を求める。第1の力ベクトルP1は、各コントローラの加速度センサの加速度情報と移動体MOの現在の速度ベクトルSの大きさとに基づいて求められるが、第1の力ベクトルP1の最大値は、移動体MOの速度ベクトルSの大きさ(移動体の速さ)によって決まり、求める第1の力ベクトルP1は加速度情報の値が大きくなるほど当該最大値を超えない範囲で大きくなる。
図5は、移動体の速さと第1の力ベクトルP1の最大値との関係について説明するための図である。図5に示すように、移動体MOの速さが速いほど第1の力ベクトルP1の最大値は大きくなっている。従って、その時点での移動体MOの速度が速い場合には、移動体MOの速度が遅い場合に比べてより小さい各コントローラの傾きで同じ大きさの第1の力ベクトルP1を得ることができる。
ここで図3に示すように、第1の力ベクトルP1は、速度ベクトルSの向きと直交する方向の成分(移動体MOの進行方向を変える力の成分)P1aと、速度ベクトルSの向きと逆の方向の成分(移動体MOを減速させる力の成分)P1bとに分解することができる。そしてずらし角Aが小さくなるほど第1の力ベクトルP1の向きは速度ベクトルSの向きと直交する方向に近い向きになるから、第1の力ベクトルP1の成分P1aは大きくなり、成分P1bは小さくなる。またずらし角Aが大きくなるほど第1の力ベクトルP1の向きは進行方向と逆の方向に近い向きになるから、第1の力ベクトルP1の成分P1aは小さくなり、成分P1bは大きくなる。このように本実施形態では、ずらし角Aを変化させることにより移動体MOにかかる力のうち進行方向を変える力と移動体を減速させる力との比率を変化させることができる。
次に、移動体MOを傾斜方向に加速させる第2の力ベクトルP2を求める。第2の力ベクトルP2の向きは、滑走面の傾斜方向(斜度が最大となる方向)SDと同一であり、第2の力ベクトルP2の大きさは、図6に示すようにマップMP(滑走面)上の移動体MOが位置する地点の斜度SAに基づき求められ、当該斜度SAが大きいほど第2の力ベクトルP2は大きくなる。
次に、図3に示すように、求めた第1の力ベクトルP1と第2の力ベクトルP2を合成した合成力ベクトルPSを求める。図3に示す例では、合成力ベクトルPSは移動体MOを右方向にターンさせる力として働く。ここで第1の力ベクトルP1と第2の力ベクトルP2に加えて、移動体MOが受ける空気抵抗を示す第3の力ベクトルと、移動体MOが受ける摩擦力を示す第4の力ベクトルとを合成して合成力ベクトルPSを求めるようにしてもよい。そして、求めた合成力ベクトルPSと速度ベクトルSとに基づき移動体MOの新たな速度ベクトルS’を求め、新たな速度ベクトルS’に基づき移動体MOの位置を更新する。
図7は、図2に示す例とは逆に、第1のコントローラ16と第2のコントローラ18をZ軸回りに反時計回りに傾ける操作が行われた場合の移動体の制御の一例について説明するための図である。本実施形態では、各コントローラの加速度センサのX軸出力から負の符号つきの加速度情報を取得した場合には、図3に示す例とは異なり、移動体MOの進行方向(速度ベクトルSの向き)に対して、移動体の滑走面上の向きDを左方向にずらすためのずらし角Aを求める。ずらし角Aの最大値は移動体MOの速度ベクトルSの大きさ(移動体の速さ)によって決まり、求めるずらし角Aは各コントローラの加速度センサの加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)の絶対値が大きいほど当該最大値を超えない範囲で大きな角度となる。
次に移動体の向きDに対して滑走面上で直交する方向の第1の力ベクトルP1を求める。第1の力ベクトルP1の最大値は、移動体MOの速度ベクトルSの大きさ(移動体の速さ)によって決まり、求める第1の力ベクトルP1は各コントローラの加速度センサの加速度情報の絶対値が大きくなるほど当該最大値を超えない範囲で大きくなる。次に、図3に示す例と同様に合成力ベクトルPSを求める。図7に示す例では、合成力ベクトルPSは移動体MOを左方向にターンさせる力として働く。このように本実施形態では、各コントローラを傾ける方向を変えることで移動体のターン方向を変えることができる。
図8は、移動体の速度が所定速度以上である場合の、移動体の制御の一例について説明するための図である。本実施形態では、図4に示したように移動体MOの速度が所定速度以上である場合にずらし角Aの最大値が0となるようにしている。従って、図8に示すように、第1のコントローラ16と第2のコントローラ18とをZ軸回りに時計回りに傾けた場合であっても、移動体の速度ベクトルSの大きさが所定値以上であればずらし角Aは0となり、移動体の向きDは速度ベクトルSの向きと同じ向きとなる。従って第1の力ベクトルP1の向きは移動体の速度ベクトルSの向きに対して直交する方向になり、第1の力ベクトルP1は、ターンによって移動体MOの進行方向を変える成分P1aのみを含み、ターンによって移動体を減速させる成分P1bを含まないベクトルとなる。従って図8に示す合成力ベクトルPSは、図3に示す合成力ベクトルPSとは異なり、ターンによる減速をさせずに移動体MOを右方向にターンさせる力として働く。
このように本実施形態では、移動体MOの速度が一定速度以上である場合にずらし角Aを0とすることで、移動体MOの速度によって、ターンによる減速を伴うターン(ドリフトターン)と、ターンによる減速を伴わないターン(カービングターン)という2種類のターンを切り替える制御を行うことができる。すなわち本実施形態では、移動体MOの速度に応じて各コントローラの傾きに基づくずらし角の設定値を変化させることにより、各コントローラを傾けるという1系等の入力で、ドリフトターンとカービングターンを移動体に行わせることができる。
図9は、各コントローラの加速度センサの加速度情報の値が所定の閾値に達した場合の、移動体の制御の一例について説明するための図である。本実施形態では、各コントローラの加速度センサの加速度情報の平均値又は加算値の絶対値が所定の閾値に達していない場合には、加速度情報と移動体の速さに基づきずらし角Aを0度から60度の範囲(第1の角度範囲内)で求めるが、各加速度センサの加速度情報の平均値又は加算値の絶対値が所定の閾値に達した場合には、図9に示すようにずらし角Aを90度にする制御を行う。これにより移動体の向きDは移動体の速度ベクトルSの向きに対して直交する向きとなり、第1の力ベクトルP1の向きは速度ベクトルSの向きと逆の向きになる。すなわち第1の力ベクトルP1は、移動体MOを減速させる成分P1bのみを含むベクトルとなる。そして図9に示すように第1の力ベクトルP1が第2の力ベクトルP2より大きい場合には、第1の力ベクトルP1と第2の力ベクトルP2とを合成した合成力ベクトルPSの向きは速度ベクトルSの向きと逆の向きになるため、移動体MOを減速させることができる。
このように本実施形態では、各コントローラの加速度センサの加速度情報の値が、第1の閾値に達しない範囲内で各コントローラがZ軸回り傾けられた場合には、移動体MOを右ターン又は左ターンさせる制御を行い、第1の閾値に達するように各コントローラがZ軸回りに傾けられた場合には、移動体MOをブレーキ(ターンによるブレーキ)させる制御を行うことができる。
図10は、2つのコントローラを異なる方向に傾ける操作の一例について説明するための図である。図10の例では、第1のコントローラ16をZ軸回りに反時計回りに傾け、第2のコントローラ18をZ軸回りに時計回りに傾ける操作を行っている。この様な操作が行われると、第1のコントローラについては重力によって−X軸方向に加速度が生じ、第1のコントローラに内蔵された加速度センサのX軸出力から負の符号つきの加速度情報が出力され、第2のコントローラについては重力によって+X軸方向に加速度が生じ、第2のコントローラに内蔵された加速度センサのX軸出力から正の符号つきの加速度情報が出力される。
図11は、図10に示した操作が行われた場合の移動体の制御の一例について説明するための図である。本実施形態では、第1のコントローラの加速度センサのX軸出力から負の符号つきの加速度情報を取得し、且つ第2のコントローラの加速度センサのX軸出力から正の符号つきの加速度情報を取得した場合に、移動体を減速(ボーゲンブレーキによる減速)させる制御を行う。本実施形態では、このような場合に移動体MOが受ける滑走面との摩擦力を示す第4の力ベクトルP4の大きさを増加させる制御を行う。そして第4の力ベクトルP4を第2の力ベクトルP2より大きくすることで、第4の力ベクトルP4と第2の力ベクトルP2とを合成した合成力ベクトルPSの向きは速度ベクトルSの向きと逆の向きになるため、移動体MOを減速させることができる。なお、第4の力ベクトルP4の増加量は、所定の増加量としてもよいし、各コントローラの加速度センサの加速度情報の差分に基づき増加量を求めるようにしてもよい。
このように本実施形態によれば、プレーヤは、第1のコントローラ16を把持した右手を反時計回りにねじり、第2のコントローラ18を把持した左手を時計回りにねじる動作を行うことにより図10に示す操作を行うことができ、あたかもスキー板をハの字にして内側のエッジを立てて外側に向けて力をかけるボーゲンブレーキを行っているような感覚で、移動体にボーゲンブレーキによる減速を行わせることができる。
図12は、2つのコントローラを異なる方向に傾ける操作の一例について説明するための図である。図12の例では、各コントローラを寝かせた状態(Y軸を水平にした状態)で、第1のコントローラ16をY軸回りに時計回りに傾け、第2のコントローラ18をY軸回りに反時計回りに傾ける操作を行っている。この様な操作が行われると、第1のコントローラについては重力によって+X軸方向に加速度が生じ、第1のコントローラに内蔵された加速度センサのX軸出力から正の符号つきの加速度情報が出力され、第2のコントローラについては重力によって−X軸方向に加速度が生じ、第2のコントローラに内蔵された加速度センサのX軸出力から負の符号つきの加速度情報が出力される。尚、図10において、第1のコントローラ16をZ軸回りに時計回りに傾け、第2のコントローラ18をZ軸回りに時計回りに傾ける操作を行っても、図12の例と同様の加速度情報を得ることができる。
図13は、図12に示した操作が行われた場合の移動体の制御の一例について説明するための図である。本実施形態では、第1のコントローラの加速度センサのX軸出力から正の符号つきの加速度情報を取得し、且つ第2のコントローラの加速度センサのX軸出力から負の符号つきの加速度情報を取得した場合に、移動体を加速(クラウチングスタイルによる加速)させる制御を行う。本実施形態では、このような場合に移動体MOが受ける空気抵抗を示す第3の力ベクトルP3の大きさを減少させる制御を行う。そして第3の力ベクトルP3と第2の力ベクトルP2を合成した合成力ベクトルPSは、第3の力ベクトルP3が小さくなるほど、大きなベクトルとなるため、移動体MOを加速させることができる。なお、第3の力ベクトルP3の減少量は、所定の減少量としてもよいし、各コントローラの各加速度センサの加速度情報の差分に基づき減少量を求めるようにしてもよい。
このように本実施形態によれば、プレーヤは、第1のコントローラ16を把持した右手を時計回りにねじり、第2のコントローラ18を把持した左手を反時計回りにねじる動作を行うことにより図12に示す操作を行うことができ、あたかも両手に持ったストックを脇に抱え込みつつ前傾姿勢をとるクラウチングスタイルを行っているような感覚で、移動体にクラウチングスタイルによる加速を行わせることができる。
図14は、2つのコントローラを振る(動かす)操作の一例について説明するための図である。図14の例では、第1のコントローラ16と第2のコントローラ18とを+Z軸方向に動かす操作を行っている。このような操作が行われるとコントローラ自体の動きによって+Z軸方向に加速度が生じ、各コントローラに内蔵された加速度センサのZ軸出力から正の符号付きの動きに応じた加速度情報が出力される。また図14の例とは逆に、第1のコントローラ16と第2のコントローラ18とを−Z軸方向に動かす操作が行われるとコントローラ自体の動きによって−Z軸方向に加速度が生じ、各コントローラに内蔵された加速度センサのZ軸出力から負の符号付きの動きに応じた加速度情報が出力される。
本実施形態では、各コントローラの加速度センサのZ軸出力から正の符号つきの加速度情報の値を取得し、且つ取得した加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)が所定の閾値を超えたと判断した場合(各コントローラが+Z軸方向に所定の強さで振られる操作が行われた場合)に、移動体を加速(スケーティングによる加速)させる制御を行う。本実施形態では、このような場合に、滑走面の斜度SAに基づき求められる第2の力ベクトルP2を大きくする制御を行う。これによって斜度SAから受ける力以上の力を移動体MOに与えることができる。なお、求める第2の力ベクトルP2の大きさは、滑走面の斜度SAに基づき求めた第2の力ベクトルP2に所定の値を加算して求めるようにしてもよいし、各加速度センサの加速度情報の平均値又は加算値に基づきベクトルの増加量を求めるようにしてもよい。
また本実施形態では、各コントローラの加速度センサのZ軸出力から負の符号つきの加速度情報を取得し、且つ取得した加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)が所定の閾値を超えたと判断した場合(各コントローラが−Z軸方向に所定の強さで振られる操作が行われた場合)に、移動体が滑走面から離れる方向に移動する動作(移動体MOがジャンプする動作)を制御する。
また本実施形態では、移動体MOの位置に基づき移動体が滑走面上の障害物又は他の移動体に接触するイベント、又は移動体MOがジャンプ後の着地で衝撃を受けるイベント等を発生させ、このようなイベントの発生に基づき移動体MOを通常バランスで移動させる通常状態から移動体MOを特殊バランスで移動させる特殊状態(よろけ状態、転倒状態)に設定する。そして本実施形態では、特殊状態において、各コントローラの加速度センサのZ軸出力から負の符号つきの加速度情報を取得し、且つ取得した加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)が所定の閾値を超えたと判断した場合(各コントローラが−Z軸方向に所定の強さで振られる操作が行われた場合)に、移動体の状態を通常状態に設定する。
図15は、停止状態に設定された移動体の向きを制御する一例について説明するための図である。本実施形態では、移動体MOの速度ベクトルSの大きさ(移動体MOの速さ)が所定の値以下となった場合に、移動体MOを移動させない停止状態に設定する。このとき停止状態となった移動体MOの位置する地点の斜度SAが所定角度以上であり、且つ移動体の滑走面上の向きDが第2の角度範囲内である場合には、移動体の向きDを所定の向きに変化させる。図15の例では、第2の角度範囲A2は、滑走面の傾斜方向SD(移動体が前向きに滑走してしまう方向)とその逆の方向(移動体が後ろ向きに滑走してしまう方向)を含む範囲に設定されている。ここで図15の例では停止状態にある移動体の向きDが第2の角度範囲A2にあるため、移動体の向きDが傾斜方向SDに対して直交する向き(所定の向き)D2に変更される。このようにすることで、移動体MOが停止状態にあるにもかかわらず、本来ならば移動体が滑走してしまうような傾斜方向SDに向いている、又は傾斜方向SDと逆の方向に向いているという不自然な状態を回避することができる。
図16は、停止状態にある移動体の状態を変更する一例について説明するための図である。本実施形態では、移動体MOが停止状態にある場合には、コントローラからの操作データに基づいて、仮想カメラが移動体MOを中心とする円周上を移動するように仮想カメラの位置を制御している。また当該円周上を仮想カメラが移動しても常に移動体MOの方を向くように仮想カメラの向きを制御している。これによりプレーヤはコントローラを操作して仮想カメラを移動させることにより、停止している移動体MOの周囲の状況を確認することができる。
本実施形態では、停止状態において、各コントローラの加速度センサのZ軸出力から正の符号つきの加速度情報の値を取得し、取得した加速度情報の値(各加速度センサの加速度情報の平均値又は加算値)が所定の閾値に達したと判断した場合(各コントローラが+Z軸方向に所定の強さで振られる操作が行われた場合)、且つ仮想カメラの向きCDが第3の角度範囲A3にある場合(仮想カメラVCの位置が円弧ACにある場合)に、移動体MOの状態を滑走状態に変更する。図16の例では第3の角度範囲A3は、滑走面の傾斜方向SDを含む範囲に設定されている。ここで図16の例では仮想カメラの向きCDが第3の角度範囲A3にあるため、各コントローラの加速度センサのZ軸出力から取得した加速度情報の値が所定の閾値に達した場合に、移動体MOの状態が滑走状態に変更され、移動体の向きDを仮想カメラの向きCDに変更し、移動体MOを仮想カメラの向きCDに滑り出させる制御が行われる。また本実施形態では、仮想カメラの向きCDが第3の角度範囲A3にない場合(仮想カメラVCの位置が円弧ACにない場合)には、移動体の状態は滑走状態に変更されない。このように仮想カメラの向きVCが傾斜方向を含む角度範囲にある場合のみに移動体MOを仮想カメラの向きVCに滑り出させることで、移動体MOが傾斜方向SDに対して横方向あるいは反対の方向に滑り出すという不自然な状態を回避することができる。またプレーヤに移動体MOが滑り出す方向の状況を確認させることができる。
ここで、移動体の向きDが第3の角度範囲ACにある場合に移動体MOの状態を滑走状態に変更するようにしてもよい。図16の例では停止状態にある移動体の向きDが第3の角度範囲A3にあるため、各コントローラの加速度センサのZ軸出力から取得した加速度情報の値が所定の閾値に達した場合に、移動体MOの状態が滑走状態に変更される。このようにすることで、停止状態において傾斜方向SDに対して横方向あるいは反対の方向を向いている移動体MOが滑り出すという不自然な状態を回避することができる。
図17は、各コントローラの加速度センサのX軸出力から取得した加速度情報(傾き情報)の所定時間における変化に基づき、移動体MOの動作を制御する一例について説明するための図である。図17は、時間の経過に従って変化しているX軸の加速度情報の平均値を示している。ここで時間t1、t3は、X軸の加速度情報の平均値の符号が正から負に変化したとき(右ターン操作から左ターン操作へ変わったとき)の時間を示し、時間t2、t4は、X軸の加速度情報の平均値の符号が負から正に変化したとき(左ターン操作から右ターン操作へ変わったとき)の時間を示している。本実施形態では、このようなX軸の加速度情報の平均値の符号の変化が所定時間内に続けて発生したと判断した場合には、移動体MOの動作を右ターンと左ターンとを断続的に行うパラレルターン動作から、右ターンと左ターンとを連続的に行うウェーデルン動作に変化させる制御を行う。
図21は、滑走面を示すマップMPに凹凸がある場合の移動体MOの動作を制御する一例について説明するための図である。本実施形態では、図21に示すように、マップMPに凹凸が設けられたモーグルバーンMBが用意されており、移動体MOがモーグルバーンMBを滑走する場合には、移動体MOが体幹BDを所定角度に保ったまま、モーグルバーンMBの凹凸に合わせて膝KNを屈伸するモーグル動作を行うように移動体MOの動作制御を行う。詳細には本実施形態では、図21に示すように、モーグルバーンMBに対応するマップMPにモーグルバーンMBの傾斜に合わせた凹凸がない基準斜面SBが配置されている。そして、移動体MOがモーグルバーンMBを滑走する場合には、移動体MOの上半身については、頭HDの位置が基準斜面SBと平行に移動するように頭HDと体幹BDの位置を決定する。一方、移動体MOの下半身については、足裏SLの位置がモーグルバーンMBの凹凸と平行に移動するように膝KNの関節の回転角度を決定し、腿THと脛SHの位置を決定する。なお、腕AMについては、移動体MOが凸部に位置することにより膝KNを所定角度曲げる毎に、左右いずれかの腕AMで凸部の上部をストックで突く動作を行う。また膝KNの関節の回転角度に応じてモーグルバーンMBが移動体MOから受ける荷重(曲がった膝KNが反発する力)を求めて、求めた荷重が大きくなるほど第1の力ベクトルP1が大きくなるように制御するようにしてもよい。このようにすることで、移動体MOが滑走する滑走面の凹凸に応じて移動体MOをターンさせる力の大きさを制御することができる。
3.構成
次に、図18を用いて本実施形態におけるゲームシステムの構成について説明する。図18は、本実施形態におけるゲームシステムの機能ブロック図の一例である。なお、本実施形態のゲームシステムは、図18の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、特に本実施形態では、プレーヤが操作部160を把持して操作部160自体の位置、向きを任意に変更可能なものである。そして操作部160は、操作部160自体の傾きや動きに応じて変化する情報を検出する検出部162を内蔵する。従って本実施形態の操作部160は、操作部160自体の傾きや動きを操作データとして入力することができる。
検出部162は、加速度センサや姿勢方位センサやジャイロなど、加速度、角速度、速度により基準位置、基準向き(基準軸)からの位置、向きの変位を検出する。例えば加速度センサとしては、圧電型や動電式、歪みケージ式等のハードウェアにより実現できる。これにより検出部162は、操作部160自体の傾きや動きを連続的な値として検出することができる。
また操作部160は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどを備えるようにして、種々の操作データを入力できるようにしてもよい。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶されるフレームバッファ172と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ176と、を含む。なお、これらの一部を省略する構成としてもよい。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイなどにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部100は、情報取得部108と、オブジェクト空間設定部110と、移動制御部112(ずらし角演算部、第1の力ベクトル演算部、第2の力ベクトル演算部、第3の力ベクトル演算部、第4の力ベクトル演算部、合成力ベクトル演算部、更新部)と、動作制御部114と、イベント発生部115と、状態設定部116と、表示制御部117と、音生成部130と、を含む。なお、これらの一部を省略する構成としてもよい。
情報取得部108は、操作部160の傾きに応じて変化する情報を検出する検出部162の検出結果に基づいて、操作部160の傾き情報を取得する。本実施形態では、操作部160に内蔵された検出部162の検出結果を1/200秒ごとに取得する。
また情報取得部108は、第1の操作部160と第2の操作部160の各操作部160の傾き情報を取得する。
また情報取得部108は、操作部160の傾き情報を、傾きの方向に応じて符号が異なる情報として取得する。
また情報取得部108は、操作部160の動きに応じて変化する情報を検出する検出部162の検出結果に基づいて、操作部160の動き情報を取得する。
また情報取得部108は、操作部160に内蔵された加速度センサ(検出部)が検出した3軸(X軸、Y軸、Z軸)方向の加速度ベクトルに基づいて、操作部160自体の傾き、動き、速度を取得することができる。
オブジェクト空間設定部110は、移動体オブジェクト(移動体MO)やキャラクタオブジェクト、建物、樹木、柱、壁、マップ(滑走面を示すマップ)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動制御部112は、移動体オブジェクトの移動演算(移動シミュレーション)を行う。即ち、この移動制御部112は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動アルゴリズム)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させるための処理を行う。
具体的には、本実施形態の移動制御部112は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
特に、本実施形態の移動制御部112は、移動体の速度ベクトルの大きさと操作部160の傾き情報とに基づきずらし角を求め、移動体の速度ベクトルの向きとずらし角とに基づき移動体の滑走面上の向きを求める処理を行い、操作部160の傾き情報に基づいて、移動体の滑走面上の向きに対して滑走面上で直交する方向の第1の力ベクトルを求める処理を行い、滑走面の斜度に基づいて、第2の力ベクトルを求める処理を行い、第1の力ベクトルと第2の力ベクトルとを合成した合成力ベクトルを求める処理を行い、合成力ベクトルに基づき移動体の速度ベクトルを更新し、更新した速度ベクトルに基づき移動体の位置を更新する処理を行う。
また移動制御部112は、移動体の速度ベクトルの大きさと操作部160の傾き情報とに基づいて、第1の力ベクトルを求める処理を行う。
また移動制御部112は、移動体の速度ベクトルの大きさと各操作部160の傾き情報とに基づきずらし角を求める処理を行い、各操作部160の傾き情報に基づき第1の力ベクトルを求める処理を行う。
また移動制御部112は、各操作部160の傾き情報の符号に基づき第1の力ベクトルを求める処理を行う。
また移動制御部112は、各操作部160の傾き情報の符号に基づいて、移動体が受ける空気抵抗を示す第3の力ベクトルを求める処理を行い、第2の力ベクトルと第3の力ベクトルとを合成した合成力ベクトルを求める処理を行う。
また移動制御部112は、各操作部160の傾き情報の符号に基づいて、移動体が受ける摩擦力を示す第4の力ベクトルを求める処理を行い、第2の力ベクトルと第4の力ベクトルを合成した合成力ベクトルを求める処理を行う。
また移動制御部112は、操作部160の傾き情報の値が所定の閾値に達していない場合には、移動体の速度ベクトルの大きさと操作部160の傾き情報とに基づきずらし角を第1の角度範囲内で変化させ、操作部160の傾き情報の値が所定の閾値に達した場合には、ずらし角を第1の角度範囲外の所定の角度に変化させる処理を行う。
また移動制御部112は、停止状態において、移動体が位置する滑走面の斜度が所定角度以上であり、且つ移動体の滑走面上の向きが第2の角度範囲内である場合には、移動体の滑走面上の向きを第2の角度範囲外の所定の向きに変化させる処理を行う。
また移動制御部112は、滑走面の斜度と操作部160の動き情報とに基づいて、第2の力ベクトルを求める処理を行う。
動作制御部114は、移動体オブジェクトの動作演算(動作シミュレーション)を行う。即ち、この動作制御部114は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。具体的には、本実施形態の動作制御部114は、オブジェクトの動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。
特に、本実施形態の動作制御部114は、操作部160の傾き情報の所定時間内における変化に基づき、移動体の動作を制御する。
また動作制御部114は、操作部160の動き情報に基づき、移動体が滑走面から離れる方向に移動する動作を制御する。
イベント発生部115は、移動体の位置に基づき、所与のイベントを発生させる。
状態設定部116は、移動体の速度ベクトルの大きさが所定の値以下となった場合に、移動体の状態を、移動体を移動させる滑走状態から移動体を移動させない停止状態に設定する。
また状態設定部116は、停止状態において、仮想カメラ制御部118が求めた仮想カメラの向きと、操作部160の動き情報とに基づき移動体の状態を滑走状態に設定する。
また状態設定部116は、停止状態において、移動体の滑走面上の向きが第3の角度範囲内である場合に、操作部160の動き情報に基づき移動体の状態を滑走状態に設定するようにしてもよい。
また状態設定部116は、イベント発生部115によるイベントの発生に基づき、移動体の状態を、移動体を通常バランスで移動させる通常状態から移動体を特殊バランスで移動させる特殊状態に設定する。
表示制御部117は、移動制御部112と動作制御部114が求めた移動体オブジェクトの位置、向きに基づいて、表示部190に移動体オブジェクトを表示させる処理を行う。そしてより詳細には表示制御部117は、仮想カメラ制御部118と描画部120とを含む。
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
なお本実施形態では、滑走状態において、移動体オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動制御部112で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。また停止状態において、操作部160からの操作データに基づき仮想カメラの位置又は向きを制御する。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の画像生成部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ172(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
4.本実施形態の処理
次に、本実施形態の処理の一例について図19、図20のフローチャートを用いて説明する。
まず、移動体MOの状態が滑走状態であるか否かを判断する(図19のステップS10)。ステップS10において、滑走状態であると判断した場合には、第1のコントローラ16と第2のコントローラ18の各コントローラの加速度センサのX軸出力から取得した加速度情報(傾き情報)の符号が同じ符号か否かを判断する(ステップS12)。ステップ12において、同じ符号であると判断した場合には、各加速度センサのX軸出力から取得した加速度情報の平均値(の絶対値)が所定の閾値に達したか否かを判断する(ステップS14)。ステップS14において、所定の閾値に達したと判断した場合には、所定の角度(90度)のずらし角Aを求め、求めたずらし角Aと移動体の速度ベクトルSの向きとに基づき移動体の滑走面上の向きDを求める(ステップS16)。
ステップS14において、所定の閾値に達していないと判断した場合には、移動体の速度ベクトルSの大きさと取得した各コントローラの加速度センサの加速度情報の平均値に基づきずらし角を求め、求めたずらし角と移動体の速度ベクトルSの向きとに基づき移動体の向きDを求める(ステップS18)。ここでステップS12、S14において取得した加速度情報の平均値の符号が正である場合には、速度ベクトルSの向きに対して、移動体の向きDを右方向にずらすためのずらし角Aを求め、加速度情報の平均値の符号が負である場合には、速度ベクトルSの向きに対して、移動体の向きDを左方向にずらすためのずらし角Aを求める。
次に、移動体の速度ベクトルSの大きさと取得した各コントローラの加速度センサの加速度情報の平均値とに基づき移動体の向きDに滑走面上で直交する方向の第1の力ベクトルP1を求める(ステップS20)。
ステップ12において、異なる符号であると判断した場合には、第1のコントローラ16の加速度センサのX軸出力から取得した加速度情報(傾き情報)の符号が正であるか否かを判断する(ステップS22)。ステップS22において、当該符号が正であると判断した場合には、移動体MOがうける空気抵抗を示す第3の力ベクトルP3の減少量を求める(ステップS24)。
ステップS22において、当該符号が負であると判断した場合には、移動体MOが受ける摩擦力を示す第4の力ベクトルP4の増加量を求める(ステップS26)。
次に、滑走面の斜度SAに基づいて第2の力ベクトルP2を求める(ステップS28)。ここで各コントローラの加速度センサのZ軸出力から正の符号つきの加速度情報の値を取得し、且つ取得した加速度情報の平均値が所定の閾値を超えたと判断した場合に、滑走面の斜度SAとZ軸出力から取得した各コントローラの加速度センサの加速度情報の平均値とに基づいて第2の力ベクトルP2を求めるようにしてもよい。
次に、第3の力ベクトルP3と第4の力ベクトルP4を求める(ステップS29)。ここで移動体MOが受ける空気抵抗を示す第3の力ベクトルP3の大きさは、移動体MOの種類等のパラメータに応じて求められるが、ステップS24において第3の力ベクトルP3の減少量を求めた場合には、この減少量に基づき求めた第3の力ベクトルP3の大きさを減少させる制御を行う。また移動体MOが受ける摩擦力を示す第4の力ベクトルP4の大きさは、スキー板の種類、雪面の状況等のパラメータに応じて求められるが、ステップS26において第4の力ベクトルP4の増加量を求めた場合には、この増加量に基づき求めた第4の力ベクトルP4の大きさを増加させる制御を行う。
次に、求めた力ベクトルを合成した合成力ベクトルPSを求める(ステップS30)。ここでステップS20において第1の力ベクトルP1を求めた場合には、第1の力ベクトルP1と第2の力ベクトルP2と第3の力ベクトルP3及び第4の力ベクトルP4とを合成して合成力ベクトルPSを求め、ステップS24において第3の力ベクトルP3を求めた場合及びステップS26において第4の力ベクトルP4を求めた場合には、第2の力ベクトルP2と第3の力ベクトルP3及び第4の力ベクトルP4とを合成して合成力ベクトルPSを求める。
次に、求めた合成力ベクトルPSと移動体の速度ベクトルSとに基づき速度ベクトルSを更新し、更新した速度ベクトルSに基づき移動体MOの位置を更新する(ステップS32)。
次に、更新した移動体の速度ベクトルSの大きさが所定の値以下になったか否かを判断する(ステップS34)。ステップS34において、所定の値以下になったと判断した場合には、移動体MOの状態を停止状態に設定する(ステップS36)。ステップS34において、所定の値以下になっていないと判断した場合には、そのままステップS50に進む。
ステップS10において、滑走状態でないと判断した場合(停止状態であると判断した場合)には、移動体MOが位置する滑走面の斜度SAが所定の角度以上であるか否かを判断する(図20のステップS38)。ステップS38において、所定の角度以上であると判断した場合には、移動体の滑走面上の向きDが第2の角度範囲A2内であるか否かを判断する(ステップS40)。ステップS40において、第2の角度範囲A2内であると判断した場合には、移動体の滑走面上の向きDを所定の向きに変化させる(ステップS42)。
次に、各コントローラの加速度センサのZ軸出力から正の符号つきの加速度情報の値を取得し、且つ取得した加速度情報の平均値が所定の閾値を超えたか否かを判断する(ステップS44)。ステップS44において、所定の閾値を越えたと判断した場合には、仮想カメラの向きCDが第3の角度範囲A3内であるか否かを判断する(ステップS46)。ステップS46において、第3の角度範囲A3内であると判断した場合には、移動体MOの状態を滑走状態に設定する(ステップS48)。
次に、更新した移動体MOの位置、向きに基づき描画処理を行い、画像を生成する(図19のステップS50)。
次に、処理を続けるか否かを判断し(ステップS52)、続けるのであればステップS10に戻り、ステップS10以下の処理を1/60秒ごとに繰り返す。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また本実施形態では、プレーヤが把持する第1のコントローラ16と第2のコントローラ18の各コントローラの傾きを示す傾き情報に基づいてずらし角Aと第1の力ベクトルP1とを求める場合について説明したが、第3のコントローラ上のプレーヤの重心移動(体重移動)に応じて変化する情報を検出する検出部の検出結果に基づいて第3のコントローラ上のプレーヤの重心移動を示す重心移動情報を取得して、当該重心移動情報に基づき第1の力ベクトルP1を求め、第1、第2のコントローラの傾き情報に基づきずらし角Aを求めるようにしてもよい。また第3のコントローラ上のプレーヤの重心移動を示す重心移動情報に基づきずらし角Aを求め、第1、第2のコントローラの傾き情報に基づき第1の力ベクトルP1を求めるようにしてもよい。
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
本実施形態のゲームシステムの概略外観の一例を示す図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の機能ブロックの一例を示す図。 本実施形態の処理の一例を示すフローチャート図。 本実施形態の処理の一例を示すフローチャート図。 本実施形態の手法の説明図。
符号の説明
16 第1のコントローラ
18 第2のコントローラ
100 処理部
108 情報取得部
110 オブジェクト空間設定部
112 移動制御部(ずらし角演算部、第1の力ベクトル演算部、第2の力ベクトル演算部、第3の力ベクトル演算部、第4の力ベクトル演算部、合成力ベクトル演算部、更新部)
114 動作制御部
115 イベント発生部
116 状態設定部
117 表示制御部
118 仮想カメラ制御部
120 画像生成部
130 音生成部
160 操作部
162 検出部
170 記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (15)

  1. コントローラの傾きに応じて移動体が滑走面を滑走する画像を生成するためのプログラムであって、
    前記コントローラの傾きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの傾きを示す傾き情報を取得する情報取得部と、
    前記移動体の速度ベクトルの大きさと前記傾き情報とに基づきずらし角を求め、前記移動体の速度ベクトルの向きと前記ずらし角とに基づき前記移動体の前記滑走面上の向きを求めるずらし角演算部と、
    前記傾き情報に基づいて、前記移動体の前記滑走面上の向きに対して前記滑走面上で直交する方向の第1の力ベクトルを求める第1の力ベクトル演算部と、
    前記滑走面の斜度に基づいて、第2の力ベクトルを求める第2の力ベクトル演算部と、
    前記第1の力ベクトルと前記第2の力ベクトルとを合成した合成力ベクトルを求める合成力ベクトル演算部と、
    前記合成力ベクトルに基づき前記移動体の速度ベクトルを更新し、更新した速度ベクトルに基づき前記移動体の位置を更新する更新部と、
    前記移動体を含む画像を生成する画像生成部としてコンピュータを機能させることを特徴とするプログラム。
  2. 請求項1において、
    前記第1の力ベクトル演算部は、
    前記移動体の速度ベクトルの大きさと前記傾き情報とに基づいて、前記第1の力ベクトルを求めることを特徴とするプログラム。
  3. 請求項1又は2において、
    前記情報取得部は、
    第1のコントローラと第2のコントローラの各コントローラの前記傾き情報を取得し、
    前記ずらし角演算部は、
    前記移動体の速度ベクトルの大きさと前記各コントローラの前記傾き情報とに基づき前記ずらし角を求め、
    前記第1の力ベクトル演算部は、
    前記各コントローラの前記傾き情報に基づき前記第1の力ベクトルを求めることを特徴とするプログラム。
  4. 請求項3において、
    前記情報取得部は、
    前記傾き情報を、前記各コントローラの傾きの方向に応じて符号が異なる情報として取得し、
    前記第1の力ベクトル演算部は、
    前記各コントローラの前記傾き情報の符号に基づき前記第1の力ベクトルを求めることを特徴とするプログラム。
  5. 請求項4において、
    前記各コントローラの前記傾き情報の符号に基づいて、前記移動体が受ける空気抵抗を示す第3の力ベクトルを求める第3の力ベクトル演算部としてコンピュータを機能させ、
    前記合成力ベクトル演算部は、
    前記第3の力ベクトル演算部によって前記第3の力ベクトルが求められた場合には、前記第2の力ベクトルと前記第3の力ベクトルとを合成した合成力ベクトルを求めることを特徴とするプログラム。
  6. 請求項4又は5において、
    前記各コントローラの前記傾き情報の符号に基づいて、前記移動体が受ける摩擦力を示す第4の力ベクトルを求める第4の力ベクトル演算部としてコンピュータを機能させ、
    前記合成力ベクトル演算部は、
    前記第4の力ベクトル演算部によって前記第4の力ベクトルが求められた場合には、前記第2の力ベクトルと前記第4の力ベクトルとを合成した合成力ベクトルを求めることを特徴とするプログラム。
  7. 請求項1乃至6のいずれかにおいて、
    前記ずらし角演算部は、
    前記傾き情報の値が所定の閾値に達していない場合には、前記移動体の速度ベクトルの大きさと前記傾き情報とに基づき前記ずらし角を第1の角度範囲内で変化させ、前記傾き情報の値が前記所定の閾値に達した場合には、前記ずらし角を前記第1の角度範囲外の所定の角度に変化させることを特徴とするプログラム。
  8. 請求項1乃至7のいずれかにおいて、
    前記移動体の速度ベクトルの大きさが所定の値以下となった場合に、前記移動体の状態を、前記移動体を移動させる滑走状態から前記移動体を移動させない停止状態に設定する状態設定部としてコンピュータを機能させることを特徴とするプログラム。
  9. 請求項8において、
    前記ずらし角演算部は、
    前記停止状態において、前記移動体が位置する前記滑走面の斜度が所定角度以上であり、且つ前記移動体の前記滑走面上の向きが第2の角度範囲内である場合には、前記移動体の前記滑走面上の向きを前記第2の角度範囲外の所定の向きに変化させることを特徴とするプログラム。
  10. 請求項8又は9において、
    仮想カメラの位置と向きとを制御する仮想カメラ制御部としてコンピュータを機能させ、
    前記情報取得部は、
    前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
    前記状態設定部は、
    前記停止状態において、前記仮想カメラの向きと前記動き情報とに基づき前記移動体の状態を前記滑走状態に設定することを特徴とするプログラム。
  11. 請求項1乃至10のいずれかにおいて、
    前記情報取得部は、
    前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
    前記第2の力ベクトル演算部は、
    前記滑走面の斜度と前記動き情報とに基づいて、前記第2の力ベクトルを求めることを特徴とするプログラム。
  12. 請求項1乃至11のいずれかにおいて、
    前記移動体の動作を制御する動作制御部としてコンピュータを機能させ、
    前記動作制御部は、
    前記傾き情報の所定時間内における変化に基づき、前記移動体の動作を制御することを特徴とするプログラム。
  13. 請求項1乃至12のいずれかにおいて、
    前記移動体の動作を制御する動作制御部としてコンピュータを機能させ、
    前記情報取得部は、
    前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの動きを示す動き情報を取得し、
    前記動作制御部は、
    前記動き情報に基づき、前記移動体が前記滑走面から離れる方向に移動する動作を制御することを特徴とするプログラム。
  14. 請求項8、請求項8に従属する請求項乃至13のいずれかにおいて、
    前記移動体の位置に基づき、所与のイベントを発生させるイベント発生部としてコンピュータを機能させ、
    前記状態設定部は、
    前記イベントの発生に基づき、前記移動体の状態を、前記移動体を通常バランスで移動させる通常状態から前記移動体を特殊バランスで移動させる特殊状態に設定することを特徴とするプログラム。
  15. コントローラの傾きに応じて移動体が滑走面を滑走する画像を生成するためのゲーム装置であって、
    前記コントローラの傾きに応じて変化する情報を検出する検出部の検出結果に基づいて、前記コントローラの傾きを示す傾き情報を取得する情報取得部と、
    前記移動体の速度ベクトルの大きさと前記傾き情報とに基づきずらし角を求め、前記移動体の速度ベクトルの向きと前記ずらし角とに基づき前記移動体の前記滑走面上の向きを求めるずらし角演算部と、
    前記傾き情報に基づいて、前記移動体の前記滑走面上の向きに対して前記滑走面上で直交する方向の第1の力ベクトルを求める第1の力ベクトル演算部と、
    前記滑走面の斜度に基づいて、第2の力ベクトルを求める第2の力ベクトル演算部と、
    前記第1の力ベクトルと前記第2の力ベクトルとを合成した合成力ベクトルを求める合成力ベクトル演算部と、
    前記合成力ベクトルに基づき前記移動体の速度ベクトルを更新し、更新した速度ベクトルに基づき前記移動体の位置を更新する更新部と、
    前記移動体を含む画像を生成する画像生成部と、
    を含むことを特徴とするゲーム装置。
JP2007235619A 2007-09-11 2007-09-11 プログラム及びゲーム装置 Active JP5265159B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007235619A JP5265159B2 (ja) 2007-09-11 2007-09-11 プログラム及びゲーム装置
US12/205,462 US8308565B2 (en) 2007-09-11 2008-09-05 Program, information storage medium, game device for generating an image in which a moving object slides down a slope according to an inclination of a controller
EP08015851.2A EP2039401B1 (en) 2007-09-11 2008-09-09 Simulation device and simulation information generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007235619A JP5265159B2 (ja) 2007-09-11 2007-09-11 プログラム及びゲーム装置

Publications (2)

Publication Number Publication Date
JP2009066064A JP2009066064A (ja) 2009-04-02
JP5265159B2 true JP5265159B2 (ja) 2013-08-14

Family

ID=40326530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007235619A Active JP5265159B2 (ja) 2007-09-11 2007-09-11 プログラム及びゲーム装置

Country Status (3)

Country Link
US (1) US8308565B2 (ja)
EP (1) EP2039401B1 (ja)
JP (1) JP5265159B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089079B2 (ja) * 2006-05-08 2012-12-05 任天堂株式会社 プログラム、情報記憶媒体及び画像生成システム
JP5179020B2 (ja) 2006-05-09 2013-04-10 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
US8303412B2 (en) * 2009-03-31 2012-11-06 Nintendo Co., Ltd. Game apparatus and game program
EP2327460B1 (en) * 2009-07-24 2022-01-12 Nintendo Co., Ltd. Game system and controller
KR101021356B1 (ko) * 2009-08-05 2011-03-14 주식회사 엔씨소프트 게임 캐릭터의 움직임 제어장치 및 그 방법
US8803951B2 (en) * 2010-01-04 2014-08-12 Disney Enterprises, Inc. Video capture system control using virtual cameras for augmented reality
EP2497544A3 (en) 2011-03-08 2012-10-03 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
EP2497543A3 (en) 2011-03-08 2012-10-03 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
EP2497546A3 (en) 2011-03-08 2012-10-03 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
US9539511B2 (en) 2011-03-08 2017-01-10 Nintendo Co., Ltd. Computer-readable storage medium, information processing system, and information processing method for operating objects in a virtual world based on orientation data related to an orientation of a device
EP2497547B1 (en) 2011-03-08 2018-06-27 Nintendo Co., Ltd. Information processing program, information processing apparatus, information processing system, and information processing method
JP5792971B2 (ja) 2011-03-08 2015-10-14 任天堂株式会社 情報処理システム、情報処理プログラム、および情報処理方法
KR101893601B1 (ko) * 2011-07-22 2018-08-31 삼성전자 주식회사 디스플레이장치의 입력장치, 디스플레이 시스템 및 그 제어방법
US9504912B2 (en) * 2011-08-30 2016-11-29 Microsoft Technology Licensing, Llc Ergonomic game controller
US20130225295A1 (en) * 2012-02-24 2013-08-29 Nintendo Co., Ltd. Methods and/or systems for controlling virtual objects
US9277367B2 (en) * 2012-02-28 2016-03-01 Blackberry Limited Method and device for providing augmented reality output
KR102191972B1 (ko) * 2013-08-22 2020-12-16 삼성전자주식회사 디스플레이 장치가 화면을 디스플레이 하는 방법 및 그 디스플레이 장치
US10416834B1 (en) * 2013-11-15 2019-09-17 Leap Motion, Inc. Interaction strength using virtual objects for machine control
JP6385725B2 (ja) * 2014-06-06 2018-09-05 任天堂株式会社 情報処理システム及び情報処理プログラム
US10610776B2 (en) 2015-06-12 2020-04-07 Nintendo Co., Ltd. Supporting device, charging device and controller system
JP6635597B2 (ja) 2015-06-12 2020-01-29 任天堂株式会社 情報処理システム、および、操作装置
JP6744727B2 (ja) * 2016-02-19 2020-08-19 株式会社バンダイナムコエンターテインメント プログラム及びゲーム装置
US10303323B2 (en) 2016-05-18 2019-05-28 Meta Company System and method for facilitating user interaction with a three-dimensional virtual environment in response to user input into a control device having a graphical interface
US9983697B1 (en) * 2016-05-18 2018-05-29 Meta Company System and method for facilitating virtual interactions with a three-dimensional virtual environment in response to sensor input into a control device having sensors
JP6877893B2 (ja) * 2016-06-06 2021-05-26 任天堂株式会社 ゲーム装置、ゲームシステム、ゲームプログラム、および振り入力判定方法
US10688392B1 (en) * 2016-09-23 2020-06-23 Amazon Technologies, Inc. Reusable video game camera rig framework
JP6153238B1 (ja) 2016-10-06 2017-06-28 任天堂株式会社 アタッチメント、および、操作システム
US10092829B2 (en) 2016-10-06 2018-10-09 Nintendo Co., Ltd. Attachment
US10168789B1 (en) 2017-05-31 2019-01-01 Meta Company Systems and methods to facilitate user interactions with virtual content having two-dimensional representations and/or three-dimensional representations
JP6544869B2 (ja) * 2017-07-27 2019-07-17 任天堂株式会社 ゲームシステム、アクセサリ、ゲームプログラム、ゲーム装置、ゲーム処理方法、および厚紙部材
US11966793B1 (en) 2017-10-18 2024-04-23 Campfire 3D, Inc. Systems and methods to extend an interactive space across multiple platforms
JP7341685B2 (ja) * 2019-03-19 2023-09-11 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
CN110115840B (zh) * 2019-05-16 2021-10-29 腾讯科技(深圳)有限公司 虚拟场景中的物体移动控制方法、装置、终端及存储介质
CN112333387A (zh) * 2020-10-30 2021-02-05 维沃移动通信有限公司 拍摄方法、装置、电子设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5049079A (en) * 1988-12-19 1991-09-17 John H. Peterson Closed loop ski simulation and instructional system
JP2774951B2 (ja) 1995-06-22 1998-07-09 株式会社ナムコ シミュレータの操作入力装置
JP3527569B2 (ja) * 1995-07-12 2004-05-17 株式会社ナムコ ゲーム装置の操作方法及びゲーム装置
JP2846308B2 (ja) * 1998-01-06 1999-01-13 株式会社ナムコ シミュレータ及びこれを用いたゲーム装置
JP2000300846A (ja) * 1999-04-21 2000-10-31 Namco Ltd ゲーム機の入力装置
JP3847058B2 (ja) * 1999-10-04 2006-11-15 任天堂株式会社 ゲームシステム及びそれに用いられるゲーム情報記憶媒体
JP2001246165A (ja) * 2000-03-07 2001-09-11 Konami Co Ltd ゲーム機用回転操作装置
JP2002219275A (ja) * 2001-01-26 2002-08-06 Namco Ltd コントローラ
JP3726239B1 (ja) * 2004-07-13 2005-12-14 有 上條 画像処理プログラム及び装置
US20080214305A1 (en) * 2005-05-13 2008-09-04 David Ralph Addington System and method for interfacing a simulation device with a gaming device
US7744451B2 (en) * 2005-11-14 2010-06-29 Microsoft Corporation Speed-dependent suggested driving lines
US20080146302A1 (en) * 2006-12-14 2008-06-19 Arlen Lynn Olsen Massive Multiplayer Event Using Physical Skills

Also Published As

Publication number Publication date
US20090070093A1 (en) 2009-03-12
EP2039401A3 (en) 2010-07-07
EP2039401B1 (en) 2019-08-21
EP2039401A2 (en) 2009-03-25
US8308565B2 (en) 2012-11-13
JP2009066064A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
JP5265159B2 (ja) プログラム及びゲーム装置
US8915784B2 (en) Program, information storage medium, and image generation system
JP6719308B2 (ja) シミュレーションシステム及びプログラム
WO2007129666A1 (ja) プログラム、情報記憶媒体及び画像生成システム
US7312804B2 (en) Program product, image generation method and image generation system
EP2147707A1 (en) Image/sound controller and image/sound control method
EP2105176A2 (en) Program, information storage medium, determination device, and determination method
EP3482806B1 (en) Operation input system, operation input device, and game system
CN101524591B (zh) 游戏装置
US6774901B2 (en) Three-dimensional image processing method and apparatus, readable storage medium storing three-dimensional image processing program and video game system
JP3786670B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5367954B2 (ja) ゲームプログラム、ゲーム装置及び記憶媒体
JP4806608B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3583995B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP5718992B2 (ja) 携帯端末を用いた運転シミュレーション装置及び運転シミュレーションプログラム
JP5957258B2 (ja) プログラム、情報記憶媒体、ゲーム装置、およびサーバシステム
JPWO2008132851A1 (ja) エンターテインメント装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009251887A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP5377867B2 (ja) プログラム、情報記憶媒体、およびゲームシステム
JP5377868B2 (ja) プログラム、情報記憶媒体、およびゲームシステム
JP3583994B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP2010082341A (ja) プログラム、情報記憶媒体及びゲーム装置
JP6960968B2 (ja) プログラム及びサーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130501

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5265159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250