(57)【要約】【課題】簡単な操作でゲーム空間の状態を変化させることが可能であり、プレイヤが操作方法に熟練する必要がなく、ゲームプレイに集中できるとともに、熱中度を高められる、ゲームシステム及びそれに用いられるゲーム情報記憶媒体を提供する。【解決手段】プレイヤによって把持されるハウジングに変化状態検出手段を備える。変化状態検出手段はハウジングに加えられた変化の量（例えば、傾き量，運動量，衝撃量等）と変化方向（例えば、傾き方向，運動方向，衝撃方向等）の少なくとも一方を検出する。シミュレーションプログラムが変化状態検出手段の出力に基づいて、ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、ゲーム空間の状態を変化させるようにシミュレートする。  【選択図】  図３
2006192307.tif 000002
【特許請求の範囲】
【請求項１】
ゲームプログラムを記憶するゲームプログラム記憶手段とゲームプログラムを実行する処理手段とを備えるゲーム装置に対して、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられたゲームシステムであって、
プレイヤによって把持されるハウジング、および
前記ハウジングに関連して設けられ、かつハウジングに加えられた変化の量と方向の少なくとも一方を検出する変化状態検出手段を備え、
前記ゲームプログラム記憶手段は、
ゲームプレイ可能な空間を表示するための画像データを含むゲーム空間データと、
前記ゲーム空間データに基づいて前記表示手段にゲーム空間を表示させるための表示制御プロクラムと、
前記変化状態検出手段の出力に基づいて、前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムとを記憶したことを特徴とする、ゲームシステム。
【請求項２】
前記変化状態検出手段は、変化量と変化方向として、前記ハウジングに加えられた傾きの傾き量と傾き方向の少なくとも一方を検出するものであり、
前記シミュレーションプログラムは、前記ハウジングに加えられた傾き量と傾き方向の少なくとも一方に関連させて、前記ゲーム空間が傾けられた状態となるようにシミュレートすることを特徴とする、請求項１に記載のゲームシステム。
【請求項３】
前記変化状態検出手段は、変化量と変化方向として、前記ハウジングに加えられた運動の運動量と運動方向の少なくとも一方を検出するものであり、
前記シミュレーションプログラムは、前記ハウジングに加えられた運動量と運動方向の少なくとも一方に関連する運動状態になるように、前記ゲーム空間をシミュレートすることを特徴とする、請求項１に記載のゲームシステム。
【請求項４】
前記変化状態検出手段は、変化量と変化方向として、前記ハウジングに加えられた衝撃の衝撃量と衝撃方向の少なくとも一方を検出するものであり、
前記シミュレーションプログラムは、前記ハウジングに加えられた衝撃量と衝撃方向の少なくとも一方に関連させて、前記ゲーム空間が衝撃を加えられた状態となるようにシミュレートすることを特徴とする、請求項１に記載のゲームシステム。
【請求項５】
前記変化状態検出手段は、前記ハウジングに加えられた変化の量と方向の両方を検出するものであり、
前記シミュレーションプログラムは、前記ハウジングに加えられた変化量と変化方向の両方に関連させて、前記ゲーム空間の状態を変化させるようにシミュレートすることを特徴とする、請求項１ないし請求項４のいずれかに記載のゲームシステム。
【請求項６】
前記ハウジングは、前記ゲーム装置のハウジングであり、
前記ゲーム装置は、前記表示手段が前記ハウジングの一方主面に一体的に設けられた携帯ゲーム装置である、請求項１に記載のゲームシステム。
【請求項７】
前記ゲームプログラム記憶手段は、カートリッジに収納され、かつ前記携帯ゲーム装置の前記ハウジングに対して着脱自在に装着され、
前記変化状態検出手段は、前記カートリッジに収納され、当該カートリッジが前記携帯ゲーム装置の前記ハウジングに装着されたとき、携帯ゲーム装置のハウジングに加えられた変化量と変化方向の少なくとも一方を検出する、請求項６に記載のゲームシステム。
【請求項８】
前記変化状態検出手段は、前記携帯ゲーム機のハウジングに加えられる変化状態によって道具として操作したことを検出するものであり、
前記ゲームプログラム記憶手段は、前記ゲーム空間上を移動可能な移動キャラクタを表示するためのキャラクタデータ記憶部を含み、
前記ゲーム空間データは、前記ゲーム空間上に表示される前記移動キャラクタの動きを制御する機能を有する道具を連想させる表示を行うための画像データであり、
前記ゲームプログラム記憶手段は、前記キャラクタデータ記憶部に記憶されている移動キャラクタを読み出し、前記変化状態検出手段の出力に基づいて、前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、移動キャラクタの表示状態が前記道具によって制御されているように処理するキャラクタ制御プログラムを含む、請求項７に記載のゲームシステム。
【請求項９】
前記ゲームプログラム記憶手段は、前記ゲーム空間上を移動可能な移動キャラクタを表示するためのキャラクタデータ記憶部を含み、
前記ゲームプログラム記憶手段は、前記キャラクタデータ記憶部に記憶されている移動キャラクタを読み出し、前記変化状態検出手段の出力に基づいて、前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、移動キャラクタの表示状態を変化させるように制御するキャラクタ制御プログラムを含む、請求項１に記載のゲームシステム。
【請求項１０】
前記ゲームプログラム記憶手段は、プレイヤの操作とは無関係にゲーム空間上を予め定められたプログラムに従って第１の動きをするノンプレイヤキャラクタを表示するためのノンプレイヤキャラクタデータ記憶部とを含み、
前記シミュレーションプログラムは、
前記変化状態検出手段によって変化量と変化方向のいずれの変化状態が検出されないとき、前記ノンプレイヤキャラクタがプログラムによって予め定められた第１の動きをするように制御し、
前記変化状態検出手段によって変化量と変化方向の少なくとも一方の変化状態が検出されたないとき前記ノンプレイヤキャラクタが第１の動きに加えて変化状態検出手段の出力に基づく変化量と変化方向の少なくとも一方に関連した第２の動きをするように制御することを特徴とする、請求項１に記載のゲームシステム。
【請求項１１】
前記ゲームプログラム記憶手段は、前記ゲーム空間上を移動可能な移動キャラクタを表示するためのキャラクタデータ記憶部を含み、
前記ゲーム空間データは、前記移動キャラクタがゲーム空間上を移動するときに、移動キャラクタの動きが他の領域よりも異なるように定められた特定領域を表示するためのデータを含み、
前記シミュレーションプログラムは、前記変化状態検出手段の出力に基づいて前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、前記移動キャラクタの表示状態を制御し、移動キャラクタが前記特定領域に存在するときに、移動キャラクタの動きを他の領域に存在していたときとは異ならせるように表示制御することを特徴とする、請求項１に記載のゲームシステム。
【請求項１２】
前記ゲーム空間データは、前記表示手段によって表示可能な表示領域よりも大きなゲーム空間を表示するための空間データを含み、
前記表示制御プログラムは、前記ゲーム空間のうちの表示領域の範囲内にある一部のゲーム空間の画像データを前記表示手段に表示させるものであり、
前記シミュレーションプログラムは、前記変化状態検出手段の出力の変化量と変化方向の少なくとも一方に基づいて表示領域内に存在するゲーム空間のみの状態を変化させるようにシミュレートすることを特徴とする、請求項１に記載のゲームシステム。
【請求項１３】
前記変化状態検出手段は、変化量として前記ハウジングの移動量を検出し、かつ変化方向として移動方向を検出するものであり、
前記ゲーム空間データは、前記表示手段の表示領域よりも大きなゲーム空間を表示するための空間データを含み、
前記表示制御プログラムは、表示領域に対応するゲーム空間の一部の空間領域を前記表示手段に表示させ、前記ハウジングの移動に応じて、ゲーム空間の表示領域を移動方向へ移動量に相当する領域だけ徐々に移動させることを特徴とする、請求項１に記載のゲームシステム。
【請求項１４】
前記ゲーム装置は、プレイヤによって操作される操作手段を前記ハウジングの一方主面に備え、
前記シミュレーションプログラムは、前記変化状態検出手段の検出出力と前記操作手段の操作状態に基づいて、ゲーム空間の状態をシミュレートするように変化させることを特徴とする、請求項１に記載のゲームシステム。
【請求項１５】
前記ゲームプログラム記憶手段は、前記シミュレーションプログラムに基づく前記ゲーム空間の状態に対応した音を発生する音発生プログラムを含む、請求項１に記載のゲームシステム。
【請求項１６】
表示手段が関連的に設けられ、プレイヤによって把持されるハウジングを含む操作手段と、ハウジングに関連して設けられかつハウジングに加えられた変化の量と方向の少なくとも一方を検出する変化状態検出手段と、プログラムを処理することによって得られる画像を表示手段に表示させる処理手段とから構成されるゲームシステムに対して、着脱自在に装着されかつゲームプログラムを記憶するゲーム情報記憶媒体であって、
ゲームプレイ可能な空間を表示するための画像データを含むゲーム空間データと、
前記ゲーム空間データに基づいて前記表示手段にゲーム空間を表示させるための表示制御プログラムと、
前記変化状態検出手段の出力に基づいて、前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムとを記憶したことを特徴とする、ゲーム情報記憶媒体。
【請求項１７】
表示手段が一体的に設けられかつプレイヤによって把持されるハウジングと、プログラムを処理することによって得られる画像を表示手段に表示させる処理手段とを含む携帯ゲーム装置に対して、着脱自在に装着されかつゲームプログラムを記憶するゲーム情報記憶媒体であって、
前記ゲーム情報記憶媒体に関連して設けられ、かつ前記携帯ゲーム装置のハウジングに加えられた変化の量と方向の少なくとも一方を検出する変化状態検出手段を備え、
ゲームプレイ可能な空間を表示するための画像データを含むゲーム空間データと、
前記ゲーム空間データに基づいて前記表示手段にゲーム空間を表示させるための表示制御プロクラムと、
前記変化状態記検出手段の出力に基づいて、前記ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムとを記憶したことを特徴とする、ゲーム情報記憶媒体。
【請求項１８】
前記変化状態検出手段は、前記ハウジングに加えられた変化の量と方向の両方を検出するものであり、
前記シミュレーションプログラムは、前記ハウジングに加えられた変化量と変化方向の両方に関連させて、前記ゲーム空間の状態を変化させるようにシミュレートすることを特徴とする、請求項１７に記載のゲーム情報記憶媒体。
【請求項１９】
少なくとも２台のゲーム装置によって構成されるゲームシステムであって、
前記２台のゲーム装置は、それぞれゲームプログラムを記憶するゲームプログラム記憶手段と、ゲームプログラムを実行する処理手段と、プレイヤによって把持されるハウジングとを備え、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられ、
前記２台のゲーム装置の少なくとも一方は、前記ハウジングに関連して設けられ、かつハウジングに加えられた変化量と変化方向の少なくとも一方を検出する変化状態検出手段を備え、                      
前記２台のゲーム装置に接続されかつ相互に関連するデータを相手側のゲーム装置に伝送するデータ伝送手段をさらに備え、
前記２台のゲーム装置のそれぞれの前記ゲームプログラム記憶手段は、
ゲームプレイ可能な空間を表示するための画像データを含むゲーム空間デー
タと、
前記ゲーム空間データに基づいて前記表示手段にゲーム空間を表示させるための表示制御プロクラムとを記憶し、
前記２台のゲーム装置の少なくとも他方の前記ゲームプログラム記憶手段は、
前記データ伝送手段を介して伝送される前記一方のゲーム装置の前記変化状態検出手段の出力に基づいて、一方のゲーム装置の前記ハウジングに加えられた変化量と変化方向の少なくとも１つに関連させて、他方のゲーム装置の前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムをさらに記憶したことを特徴とする、ゲームシステム。
【請求項２０】
前記変化状態検出手段は、２台のゲーム装置のそれぞれに備えられ、
前記２台のゲーム装置のそれぞれの前記ゲームプログラム記憶手段は、一方のゲーム装置の前記変化状態検出手段の出力に基づいて、一方のゲーム装置の前記ハウジングに加えられた変化量と変化方向の少なくとも１つに関連させて、他方のゲーム装置の前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムを記憶したことを特徴とする、請求項１９に記載のゲームシステム。
【請求項２１】
前記一方のゲーム装置の前記ゲームプログラム記憶手段に記憶されるゲーム空間データと、前記他方のゲーム装置の前記ゲームプログラム記憶手段に記憶されるゲーム空間データとは、同一のゲーム空間データに選ばれ、
前記一方のゲーム装置の前記シミュレーションプログラムは、当該ゲーム空間制御プログラムによってシミュレートされる他方のゲーム空間の状態に対応して、前記一方のゲーム装置の前記ゲーム空間の状態を変化させ、
前記他方のゲーム装置の前記シミュレーションプログラムは、当該ゲーム空間制御プログラムによってシミュレートされる一方のゲーム空間の状態に対応して、前記他方のゲーム装置の前記ゲーム空間の状態を変化させることを特徴とする、請求項１９に記載のゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームシステム及びそれに用いられるゲーム情報記憶媒体に関し、特に携帯ゲーム装置のハウジング又はビデオゲーム装置のコントローラに加えられる傾き，運動又は衝撃等の変化量・変化方向を検出して操作情報としてゲーム空間の状態を変化させる、ゲームシステム及びそれに用いられるゲーム情報記憶媒体に関する。
【背景技術】
【０００２】
従来のゲーム装置における操作は、プレイヤがビデオゲーム機のコントローラ（操作器のハウジング）又は携帯型ゲーム装置のハウジングを両手で把持しつつ、方向指示キー（ジョイスティック）やボタン等の操作スイッチを操作することによって行われていた。例えば、プレイヤが方向指示キーの上下左右の何れか１つの押点を押圧すると、移動（プレイヤ）キャラクタが上下左右の何れか１つの押圧方向に移動し、動作ボタンを操作すると移動キャラクタがジャンプ等の動作ボタンに定義付けされた動作をするように、移動キャラクタの表示状態が変化する。また、従来のゲーム装置又はゲームソフト（ゲーム情報記憶媒体）は、プレイヤが操作スイッチを操作してプレイヤの分身である移動（プレイヤ）キャラクタの画面上の動きを変化させるものであるため、ゲーム空間（又は背景画面）をプレイヤの操作によって自由に変更できるものではなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のゲーム操作方法は、プレイヤがゲームソフトの取扱説明書等に示されたゲーム操作方法を覚えることが必要であり、汎用的な操作スイッチを使用するものであるため、プレイヤによる操作スイッチの操作感覚と一致したゲーム空間（又はゲーム画面）の変化を実現できず、操作感覚と画面の表示状態とが対応しない場合もあった。そのため、プレイヤはゲーム操作方法を習得するまでは、ゲームプレイに集中できず、興趣を損なうこともあった。また、従来のゲーム装置又はゲームソフトは、プレイヤの操作に応じてゲーム空間（又は背景画面）を変化させることができず、ゲーム空間の変化に乏しく、面白味に欠ける場合もあった。
【０００４】
それゆえに、この発明の主たる目的は、ゲーム空間の状態をプレイヤの操作によって変化させることが可能な、ゲームシステム及びそれに用いられるゲーム情報記憶媒体を提供することである。この発明の他の目的は、簡単な操作でゲーム空間の状態を変化させることが可能であり、プレイヤが操作方法に熟練する必要がなく、ゲームプレイに集中できるとともに、熱中度を高められる、ゲームシステム及びそれに用いられるゲーム情報記憶媒体を提供することである。この発明のその他の目的は、プレイヤの操作とゲーム空間の状態の変化を対応させて、操作感覚と対応したゲーム画面の変化を実現し得る、ゲームシステム及びそれ用いられるゲーム情報記憶媒体を提供することである。この発明のさらに他の目的は、複数のゲーム装置と連動してゲーム空間の状態を変化でき、複数のプレイヤによる協力又は対戦によってゲーム空間の変化状態の種類を豊富にでき、ゲームの興趣を高められて、仮想現実感を味わうことができる、ゲームシステム及びそれ用いられるゲーム情報記憶媒体を提供することである。
【課題を解決するための手段】
【０００５】
第１の発明（請求項１に係る発明）は、ゲームプログラムを記憶するゲームプログラム記憶手段とゲームプログラムを実行する処理手段とを備えるゲーム装置に対して、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられたゲームシステムである。そして、プレイヤによって把持されるハウジング、及び変化状態検出手段を備える。変化状態検出手段は、ハウジングに関連して設けられ、かつハウジングに加えられた変化の量（例えば、傾き量，運動量，衝撃量等）と変化方向（例えば、傾き方向，運動方向，衝撃方向等）の少なくとも一方を検出する。ゲームプログラム記憶手段は、ゲーム空間データと、表示制御プロクラムと、シミュレーションプログラムとを記憶する。ゲーム空間データは、ゲームプレイ可能な空間を表示するための画像データを含む。表示制御プロクラムは、ゲーム空間データに基づいて表示手段にゲーム空間を表示させる。シミュレーションプログラムは、状態検出手段の出力に基づいて、ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、ゲーム空間の状態を変化させるようにシミュレートする。
【０００６】
ここで、ゲーム空間とは、プレイ可能なゲーム中の世界を意味するものであり、ゲームの種類又はジャンルによって異なり、表示画面を通じてプレイヤに示されるものである。例えば、移動（又はプレイヤ）キャラクタがその中を移動するアクションゲームやロールプレイングゲームでは背景，迷路その他のマップ、格闘ゲームではリング（それに加えて観客席やリング上部の空間も含む），レースゲームでは走行可能なコースやコースの周辺の空間、シューティングゲームではキャラクタの背景となるような宇宙空間等の背景画面（但し、キャラクタは必須ではなく、キャラクタが存在しないゲーム空間も考えられ得る）、道具を使用したゲームでは道具の使用を連想させるような画面等がゲーム空間となる。シミュレートとは、ハウジングに加えられた傾き，運動又は衝撃の量的なものと方向性の少なくとも一方に基づいて、実空間上に生じる変化をゲーム空間の状態変化として擬似的に表現するゲーム制御のことである。ゲーム制御には、ゲーム空間そのものの状態変化をシミュレートする場合と、ゲーム空間の状態が変化することによって他の物体への間接的な影響をシミュレートする場合を含む。前者は、ハウジングに衝撃が与えられたとき、ゲーム空間にエネルギーが与えられたものと想定してゲーム空間の地形を変形させるようにシミュレートする場合である。後者は、ハウジングが傾けられたとき、ゲーム空間の一例の迷路板が傾いたものと仮定として、迷路板の上に存在するボールが転がるようにシミュレートする場合である。ゲーム空間そのものの状態変化をシミュレートする場合は、地形変形を引き起こすもののような表示上の変化を引き起こすものの他に、ゲーム空間の温度上昇等のパラメータが変化するものも考えられる。
【０００７】
第２の発明（請求項１６に係る発明）は、表示手段が関連的に設けられ、プレイヤによって把持されるハウジングを含む操作手段と、ハウジングに関連して設けられかつハウジングに加えられた変化の量と方向の少なくとも一方を検出する変化状態検出手段と、プログラムを処理することによって得られる画像を表示手段に表示させる処理手段とから構成されるゲームシステムに対して、着脱自在に装着されかつゲームプログラムを記憶するゲーム情報記憶媒体である。ゲーム情報記憶媒体は、ゲーム空間データと、表示制御プロクラムと、シミュレーションプログラムとを記憶する。ゲーム空間データは、ゲームプレイ可能な空間を表示するための画像データを含む。表示制御プロクラムは、ゲーム空間データに基づいて表示手段にゲーム空間を表示させるものである。シミュレーションプログラムは、変化状態検出手段の出力に基づいて、ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、ゲーム空間の状態を変化させるようにシミュレートするものである。
【０００８】
第３の発明（請求項１７に係る発明）は、表示手段が一体的に設けられかつプレイヤによって把持されるハウジングと、プログラムを処理することによって得られる画像を表示手段に表示させる処理手段とを含む携帯ゲーム装置に対して、着脱自在に装着されかつゲームプログラムを記憶するゲーム情報記憶媒体であり、ゲーム情報記憶媒体に関連して設けられ、かつ携帯ゲーム装置のハウジングに加えられた変化の量と方向の少なくとも一方を検出する変化状態検出手段を備える。ゲーム情報記憶媒体は、ゲーム空間データと、表示制御プロクラムと、シミュレーションプログラムとを記憶する。ゲーム空間データは、ゲームプレイ可能な空間を表示するための画像データを含む。表示制御プロクラムは、ゲーム空間データに基づいて前記表示手段にゲーム空間を表示させるプログラムである。シミュレーションプログラムは、変化状態検出手段の出力に基づいて、ハウジングに加えられた変化量と変化方向の少なくとも一方に関連させて、ゲーム空間の状態を変化させるようにシミュレートするプログラムである。
【０００９】
第４の発明（請求項１９に係る発明）は、少なくとも２台のゲーム装置によって構成されるゲームシステムであって、複数のゲーム装置の連動を行うものである。２台のゲーム装置は、それぞれゲームプログラムを記憶するゲームプログラム記憶手段と、ゲームプログラムを実行する処理手段と、プレイヤによって把持されるハウジングとを備え、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられる。２台のゲーム装置の少なくとも一方は、ハウジングに関連して設けられ、かつハウジングに加えられた変化量と変化方向の少なくとも一方を検出する変化状態検出手段を備える。２台のゲーム装置に接続されかつ相互に関連するデータを相手側のゲーム装置に伝送するデータ伝送手段をさらに備える。２台のゲーム装置のそれぞれのゲームプログラム記憶手段は、ゲーム空間データと、表示制御プロクラムとを記憶する。ゲーム空間データは、ゲームプレイ可能な空間を表示するための画像データを含む。表示制御プロクラムは、ゲーム空間データに基づいて表示手段にゲーム空間を表示させるプログラムである。２台のゲーム装置の少なくとも他方のゲームプログラム記憶手段は、データ伝送手段を介して伝送される一方のゲーム装置の変化状態検出手段の出力に基づいて、一方のゲーム装置の前記ハウジングに加えられた変化量と変化方向の少なくとも１つに関連させて、他方のゲーム装置の前記ゲーム空間の状態を変化させるようにシミュレートするシミュレーションプログラムをさらに記憶する。
【発明の効果】
【００１０】
この発明によれば、ゲーム空間の状態を変化させることが可能な、ゲームシステム及びそれ用いられるゲーム情報記憶媒体が得られる。また、この発明によれば、簡単な操作でゲーム空間の状態を変化させることができ、プレイヤが操作方法に熟練する必要がなく、ゲームプレイに集中でき、熱中度を高められる、ゲームシステム及びそれに用いられるゲーム情報記憶媒体が得られる。また、この発明によれば、プレイヤの操作とゲーム空間の状態の変化を対応させて、操作感覚と対応したゲーム画面の変化を実現することができる、ゲームシステム及びそれ用いられるゲーム情報記憶媒体が得られる。さらに、この発明によれば、複数のゲーム装置と連動してゲーム空間の状態を変化でき、複数のプレイヤによる協力又は対戦によってゲーム空間の変化状態の種類を豊富にでき、ゲームの興趣を高められて、仮想現実感を味わうことができる、ゲームシステムが得られる。
【発明を実施するための最良の形態】
【００１１】
（第１実施例）図１〜図４０を参照して、本発明の第１の実施例の携帯型ゲーム装置を説明する。図１は携帯型ゲーム装置（以下、単に「ゲーム装置」と呼ぶ）の外観図である。ゲーム装置は、ゲーム装置本体１０とゲーム装置本体１０に着脱自在なゲームカートリッジ（以下「カートリッジ」と略称する）３０とから構成される。カートリッジ３０は、ゲーム装置本体１０に装着されたときに電気的に接続される。ゲーム装置本体１０は、ハウジング１１を備え、ハウジング１１の内部に後述する図３に示すように回路構成される基板を含む。ハウジング１１の一方主面にはＬＣＤ１２および操作スイッチ１３ａ〜１３ｅが設けられ、他方主面にはカートリッジ３０を装着するための孔１４が形成される。また側面には必要に応じて他のゲーム装置と通信するための通信ケーブルを接続するコネクタ１５が設けられる。
【００１２】
図２は、ゲーム装置とＸＹＺ軸との関係を示した図である。ＬＣＤ１２を上方を向けて操作スイッチ部が手前になるようにゲーム装置を配置したとき、ゲーム装置の横方向をＸ軸（右方向がプラス方向）とし、縦方向をＹ軸（奥方向がプラス方向）とし、厚み方向をＺ軸（上方向がプラス方向）とする。
【００１３】
図３はゲーム装置のブロック図である。ゲーム装置本体１０は、基板２７を内蔵し、基板２７にはＣＰＵ２１が実装される。ＣＰＵ２１には、ＬＣＤドライバ２２と操作スイッチ１３とサウンド発生回路２３と通信用インターフェース２４と表示用ＲＡＭ２５とワークＲＡＭ２６とが接続される。サウンド発生回路２３には、スピーカー１６が接続される。通信用インターフェース２４は、コネクタ１５および通信ケーブル５０を介して他のゲーム装置４０と接続される。なお、他のゲーム装置４０との通信の方法は通信ケーブル５０による方法を図示したが、無線や携帯電話等を使用したものでも良い。
【００１４】
カートリッジ３０は、基板３６を内蔵し、基板３６には図１６を参照して後述するようなゲームプログラムおよびゲームデータを記憶したプログラムＲＯＭ３４と、図１９を参照して後述するようなゲームデータを記憶するバックアップＲＡＭ３５が実装される。カートリッジ３０は、これらの記憶手段に加えて、ゲーム装置本体の傾き，運動および衝撃を検出する検出手段の一例として、Ｘ軸方向およびＹ軸方向の加速度を検出するＸＹ軸加速度センサ３１と、Ｚ軸方向の加速度を検出するＺ軸接点スイッチ３２を含む。また、カートリッジ３０は、加速度検出手段のインターフェースであるセンサインターフェース３３を含む。Ｘ軸，Ｙ軸，Ｚ軸方向すべての加速度を検出可能な３軸の加速度センサを使用する場合、Ｚ軸接点スイッチ３２が不要となるが、２軸加速度センサ（ＸＹ軸加速度センサ）の方が安価であり、本実施例ではＺ軸方向の加速度検出は高い精度を必要としないので、構造が簡単で安価なＺ軸接点スイッチ３２を用いることにする。また、ＸＹ軸方向についても高い精度を必要としない場合は、Ｚ軸接点スイッチと同じような構造の検出手段をＸＹ軸方向の加速度検出に使用しても良い。
【００１５】
プログラムＲＯＭ３４に記憶されたゲームプログラムはＣＰＵ２１によって実行される。ゲームプログラムの実行の際に必要な一時的なデータがワークＲＡＭ２６に記憶される。ゲーム装置の電源をオフしたときにも持続的に記憶すべきゲームデータがバックアップＲＡＭ３５に記憶される。ＣＰＵ２１がゲームプログラムを実行して得た表示データが表示用ＲＡＭ２５に記憶され、ＬＣＤドライバ２２を介してＬＣＤ１２に表示される。同様に、ＣＰＵ２１がゲームプログラムを実行して得たサウンドデータがサウンド発生回路２３に送られてスピーカー１６から効果音としてサウンドが発生される。操作スイッチ１３はゲーム操作をするためのものであるが、本実施例においては操作スイッチ１３は補助的なものである。プレイヤは、主として、ゲーム装置を傾けたり、運動させたり、衝撃を与えたりしてゲーム操作をおこなう。このゲーム装置の傾き，運動，衝撃のゲーム操作がＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２によって検出される。これらの加速度検出手段の出力値を利用して、ＣＰＵ２１がゲームプログラムを実行する。
【００１６】
複数のゲーム装置を使用するゲームの場合、ＣＰＵ２１がゲームプログラムを実行して得たデータは通信用インターフェース２４に送られてコネクタ１５および通信ケーブル５０を介して他のゲーム装置４０に送られる。また、他のゲーム装置４０のデータが通信ケーブル５０，コネクタ１５および通信用インターフェース２４を介してＣＰＵ２１に送られる。
【００１７】
図４はセンサインターフェース３３の詳細ブロック図である。センサインターフェース３３は、Ｘカウンタ３３１，Ｙカウンタ３３２，カウント停止回路３３３，ラッチ３３４と３３５，デコーダ３３６および汎用Ｉ／Ｏポート３３７を含む。Ｘカウンタ３３１は、ＸＹ軸加速度センサ３１のＸ軸出力に基づいてクロック信号ファイのパルスをカウントする。Ｙカウンタ３３２は、Ｙ軸出力に基づいてクロック信号ファイのパルスをカウントする。カウント停止回路３３３は、ＸＹ軸加速度センサ３１のＸ軸出力の立ち下がりに応答して、Ｘカウンタ３３１にカウント停止信号を送り、Ｙ軸出力の立ち下がりに応答してＹカウンタ３３２にカウント停止信号を送る。ラッチ３３４，３３５は、Ｘカウンタ３３１，Ｙカウンタ３３２の値をそれぞれ保持する。デコーダ３３６は、Ｘカウンタ３３１とＹカウンタ３３２とラッチ３３４とラッチ３３５にスタート／リセット信号を送信する。汎用Ｉ／Ｏポート３３７は、拡張ユニットを接続するために用いられる。ラッチ３３４，３３５はＺ軸接点スイッチの出力値（０または１）も保持する。具体的にはラッチ３３４，３３５の最上位ビットがＺ軸接点スイッチの出力値に割り当てられ、残りの下位ビットがＸカウンタまたはＹカウンタの値に割り当てられる。汎用Ｉ／Ｏポート３３７に接続される拡張ユニットは、例えばゲームに現実感を与えるためにゲームプログラムに連動して振動するような振動ユニット等がある。
【００１８】
図５はセンサインターフェース３３がＸＹ軸加速度センサ３１の出力から加速度の大きさに応じたカウント値を計測する原理を示した図である。本実施例におけるＸＹ軸加速度センサ３１は、波形の１周期（期間１）のうちのデューティー比を変化させることによって加速度の大きさを表す信号を出力する。この場合、１周期のうちのハイレベル期間（期間２または期間３）の比率が大きいほど大きな加速度を検出したことを示す。また、ＸＹ軸加速度センサ３１は、Ｘ軸出力からＸ軸方向の加速度の大きさを出力し、Ｙ軸出力からＹ軸方向の加速度の大きさを出力する。
【００１９】
Ｘカウンタ３３１は、デコーダ３３６から出力されるカウントスタート信号がローレベルになると、Ｘ軸出力のローレベルからハイレベルへの立ち上がりを検出した後、カウント動作を開始する。具体的には、Ｘカウンタ３３１はクロック信号ファイが与えられる毎にそのカウント値を歩進し、カウント停止回路３３３からのカウント停止信号に応じてカウント動作を停止する。このようにして、Ｘカウンタ３３１はカウントスタート信号がローレベルになった直後のＸ軸出力のハイレベルへの立ち上がりからローレベルに立ち下がるまでの期間（期間２）中に、クロック信号ファイをカウントする。Ｙカウンタ３３２も同様に、カウントスタート信号がローレベルになった直後のＹ軸出力のハイレベルへの立ち上がりからローレベルへの立ち下がりまでの期間（期間３）中に、クロック信号ファイをカウントする。このようにして、Ｘカウンタ３３１はＸ軸方向の加速度の大きさに応じたカウント値を保持し、Ｙカウンタ３３２はＹ軸方向の加速度の大きさに応じたカウント値を保持する。Ｘカウンタ３３１およびＹカウンタ３３２の値はラッチ３３４またはラッチ３３５に保持され、ラッチ３３４およびラッチ３３５のデータは、データバスを介してＣＰＵ２１に読み出されてゲームプログラムで利用される。
【００２０】
Ｘカウンタ３３１およびＹカウンタ３３２は、例えば、０から３１までカウントし、例えば、カウント値１５を基準（加速度０）として、カウント値が０のときが−２Ｇ（マイナス方向に重力加速度の２倍）、カウント値が３１のときが２Ｇ（プラス方向に重力加速度の２倍）であるように設定される。ＣＰＵ２１は、ゲームプログラムに基づいてこれらのカウント値を読み込むが、このとき、カウント値１５を０、カウント値０を−１５、カウント値３１を１６として読み込むので、ＸＹ軸加速度センサ３１がマイナス方向の加速度を検出したときはＣＰＵの読み込み値はマイナスであり、プラス方向の加速度を検出したときにはＣＰＵの読み込み値はプラスとなる。
【００２１】
図６はＺ軸接点スイッチ３２の構造図である。Ｚ軸接点スイッチ３２は導体よりなる球接点３２１と接点３２２と接点３２３と箱体３２４から構成される。具体的には、球接点３２１は、箱体３２４の空間内のほぼ中央部で移動自在に支持される（箱体３２４の内面底部には球接点３２１をほぼ中央に支持するためのくぼみ（３２４ａ）が設けられる）。箱体３２４の上部には、それぞれの一方端部に半円状の切欠部（３２２ａ，３２３ａ）を有する板状の接点３２２と接点３２３とが一方端部を対向させた状態で、他方端部が基板３６に固着される。また、箱体３２４は、接点３２２および接点３２３によって吊り下げられた状態で、基板３６に固定的に保持される。このような構成によって、カートリッジ３０がＺ軸方向（プラス方向またはマイナス方向）へ勢いよく移動されると、図７に示すように球接点３２１が箱体３２４内でＺ軸方向へ移動して接点３２２と接点３２３にほぼ同時に接触して、接点３２２と接点３２３が球接点３２１を介して導通状態となり、Ｚ軸方向への加速度入力のあったことが検出される。接点３２２と接点３２３の導通時間に基づいてＺ軸方向への加速度の大小が検出されることになる。なお、カートリッジ３０が穏やかに傾けられた場合は、球接点３２１が箱体３２４内を移動するが接点３２２と接点３２３を短絡しないので、加速度を検出しない。
【００２２】
図８はゲーム画面の一例である。ゲーム画面には、プレイヤキャラクタの一例のボール６１と，敵キャラクタ（以下「ＮＰＣ」と略す）の一例の亀６２と，迷路を構成する壁６３や穴６４とが表示される。ゲームマップは、ＬＣＤ１２の表示範囲より広い仮想マップであるので、ＬＣＤ１２には、ゲームマップの一部領域のみが表示され、プレイヤキャラクタの移動に伴ってスクロールする。また、ＬＣＤ１２には亀６２ａ〜６２ｃの３匹のみ表示されているが、ゲームマップ上には他にも多数の亀が存在する。また、ゲームマップには、床面と氷面と水中等の地形が存在する。
【００２３】
ボール６１は、プレイヤがゲーム装置を傾けたり、運動や衝撃を与えるように操作することによって、その移動量や移動方向が変更され、必要に応じてその形状も変化される。亀６２は、ゲームプログラムによって移動制御（自律移動）されるが、プレイヤがゲーム装置を傾けたり、運動や衝撃を与えた場合にも移動したり表示変化する。
【００２４】
このゲームの概要を説明すると、プレイヤーは壁６３によって迷路状になっているゲームマップの中でボール６１を操作して、ＮＰＣである亀６２ａ〜６２ｃをボール６１で押しつぶす。押しつぶされた亀は消滅される。ゲームマップ上の全ての亀を消滅させることに成功するとゲームクリアとなる。ゲームマップ上にはいくつかの穴６４があり、この穴６４にボール６１が落ちると１回のミスとなるか、またはゲームオーバーとなる。
【００２５】
図９から図１２はゲーム操作の例を示した図である。図９はＸ軸またはＹ軸方向のスライド入力を示した図である。Ｘ軸方向の移動（スライド）がＸＹ軸加速度センサ３１のＸ軸出力に基づいて検出され、Ｙ軸方向の移動（スライド）がＸＹ軸加速度センサ３１のＹ軸出力に基づいて検出される。（Ｘ軸またはＹ軸方向に移動させると、加速度が生じる）。図１０はＸ軸またはＹ軸を中心とした傾き入力を示した図である。Ｘ軸を中心とした傾きがＸＹ軸加速度センサ３１のＹ軸出力に基づいて検出され、Ｙ軸を中心として傾きがＸＹ軸加速度センサ３１のＸ軸出力に基づいて検出される（Ｘ軸を中心として傾きが生じると、重力によってＹ軸方向に加速度が生じ、Ｙ軸を中心として傾きが生じると、重力によってＸ軸方向に加速度が生じる）。図１１はＸ軸方向またはＹ軸方向の衝撃入力を示した図である。Ｘ軸方向の加速度入力がＸＹ軸加速度センサ３１のＸ軸出力から出力されるが、この出力値が一定値以上の場合、衝撃入力があったとする。また、Ｙ軸方向の加速度入力がＸＹ軸加速度センサ３１のＹ軸出力から出力されるが、この出力値が一定値以上の場合、衝撃入力があったとする。図１２１２はＺ軸方向の運動入力（または衝撃入力）を示した図である。Ｚ軸方向の運動（または衝撃）がＺ軸接点スイッチ３２によって検出される。
【００２６】
図１３乃至図１５は前述のゲーム操作それぞれについて利用方法の例を示した図である。図１３はスライド入力の利用方法を示した図である（図３０を参照して後述するゲームマップ選択処理におけるゲーム画面の一例でもある）。ＬＣＤ１２の表示範囲より大きな仮想マップの一部領域をＬＣＤ１２に表示している場合に、スライド入力することによって、表示領域をスクロールさせる。具体的には、Ｘ軸の＋方向にスライド入力した場合は、現在の表示領域からＸ軸の＋方向に移動した領域を表示するようにする。Ｙ軸方向のスライド入力も同様に処理する。スライド入力をこのように処理することによって、あたかもＬＣＤ１２を通して広い世界の一部を覗いているような感覚をプレイヤに与えることができる。なお、本実施例においては、このスライド入力は、図３０を参照して後述するゲームマップ選択処理において利用するのみであり、ゲームのメインの処理におけるゲームマップのスクロール処理においては、スライド入力は利用しない。ゲームマップのスクロール処理の方法については、図３８乃至図４０を参照して後述する。
【００２７】
図１４はＸ軸またはＹ軸を中心とした傾き入力の利用方法を示した図である。Ｘ軸を中心とした傾き入力があったときは、ゲーム画面上のゲームキャラクタ（プレイヤキャラクタ６１およびＮＰＣ６２）がＹ軸方向に平行移動するような表示をする（Ｘ軸を中心としてプラス方向に傾いている場合には、ゲームキャラクタがＹ軸のマイナス方向に平行移動するような表示をする）。また、Ｙ軸を中心とした傾き入力があったときは、ゲーム画面上のゲームキャラクタ（プレイヤキャラクタ６１およびＮＰＣ６２）がＸ軸方向に平行移動するような表示をする（Ｙ軸を中心としてマイナス方向に傾いている場合には、ゲームキャラクタがＸ軸のマイナス方向に平行移動するような表示をする）。傾き入力をこのように処理することによって、ゲーム空間である迷路板がゲーム装置と同じように傾いて、傾いた迷路板上をゲームキャラクタが滑っている（転がっている）かのような感覚をプレイヤに与えることができる。なお、ゲームマップには、床面，氷面，水中等のように、ボール６１の移動量を変化させる要因となる地形が混在しており、ゲームキャラクタがどこに存在しているかによって傾き入力に応じた移動量が変化する。例えば、氷面の場合は滑りやすいので移動量が大きく、水中の場合は移動量が少ないように、ボール６１の制御の大きさを変化させる。
【００２８】
図１５は衝撃入力またはＺ軸方向の運動入力の利用方法を示した図である。Ｘ軸方向またはＹ軸方向の衝撃入力があったとき、傾き入力の処理（迷路板の傾きによるゲームキャラクタの移動）とは異なった処理を行う。例えば、ゲーム空間である水に波を起こす。Ｘ軸のプラス方向の衝撃入力があった場合、Ｘ軸のプラス方向に波を発生する。Ｘ軸のマイナス方向の衝撃入力があった場合、Ｘ軸のマイナス方向に波を発生する。Ｙ軸方向の衝撃入力についても同様である。また、Ｘ軸方向の加速度入力をＸ軸方向のベクトル成分とし、Ｙ軸方向の加速度入力をＹ軸方向のベクトル成分として合成したベクトルの方向に波を発生しても良い。この波によってゲームキャラクタが流されて移動するような表示をする。波に流されている間は、ゲームキャラクタが制御不可能であるようにしてもよい。また、Ｚ軸方向の運動入力（または衝撃入力）があったとき、プレイヤキャラクタであるボール６１がジャンプするように表示変化される。Ｚ軸方向の運動入力をこのように処理することによって、ゲーム空間である迷路板がゲーム装置と同じようにＺ軸方向に運動して、迷路板上のゲームキャラクタをジャンプさせるかのような感覚をプレイヤに与えることができる。ジャンプしている間は、傾き入力があったときでもボール６１が移動しない。また、Ｚ軸方向の運動入力（または衝撃入力）があったとき、ＮＰＣである亀６２は裏返る（裏返っていた亀は表向きに戻る）。亀は裏返ると滑りやすくなり、表向きの場合に比べて傾き入力があったときの移動量が大きいように移動処理される。
【００２９】
図１６は、プログラムＲＯＭ３４のメモリマップである。プログラムＲＯＭ３４には、ＣＰＵ２１によって実行されるゲームプログラムおよびゲームデータが記憶される。プログラムＲＯＭ３４は、具体的には、オブジェクトキャラクタデータ記憶領域３４ａ，マップデータ記憶領域３４ｂ，加速度センサ出力値変換テーブル記憶領域３４ｃおよびゲームプログラム記憶領域３４ｅを含む。オブジェクトキャラクタデータ記憶領域３４ａには、オブジェクトキャラクタのグラフィックデータが記憶される。オブジェクトキャラクタはいくつかのポーズを持っているので（例えばＮＰＣである亀の「表向き」と「裏向き」）、一つのキャラクタ毎にポーズに応じた複数のグラフィックデータが記憶されている。マップデータ記憶領域３４ｂには、ゲームマップ毎のマップデータおよびゲームマップ選択用マップが記憶されている。ゲームマップ選択用マップは、図３０を参照して後述するゲームマップ選択処理においてＬＣＤ１２に表示される仮想マップのデータである。
【００３０】
加速度センサ出力値変換テーブル記憶領域３４ｃには、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値を変換してゲームプログラムで利用するための変換テーブルが記憶されている。変換テーブルには、ゲームマップ選択処理用テーブルとプレイヤキャラクタ移動用テーブルとＮＰＣ移動用テーブルがある。また、プレイヤーキャラクタ移動用テーブルには、空中用，床面用，氷面用および水中用のテーブルがあり、プレイヤキャラクタが存在する座標の地形に応じて選択される。ＮＰＣ移動用テーブルには表向き用と裏向き用のテーブルがある。ＮＰＣである亀は表向きの状態と裏向きの状態があり、この状態に応じてテーブルが選択される。これらのテーブルの詳細についは、図２０から図２６を参照して後述する。
【００３１】
ゲームプログラム記憶領域３４ｅには、ＣＰＵ２１によって実行されるゲームプログラムが記憶される。具体的には、図２７を参照して後述するメインプログラム，図２８を参照して後述する０Ｇ設定プログラム，図２９を参照して後述するニュートラルポジション設定プログラム，図３０を参照して後述するゲームマップ選択プログラム，図３１を参照して後述するセンサ出力読取プログラム，図３２から図３６を参照して後述するオブジェクト移動プログラム，図３７を参照して後述する衝突プログラム，図４０を参照して後述する画面スクロールプログラムの他、ＮＰＣ自律移動プログラムやその他のプログラムが記憶される。
【００３２】
図１７は、ワークＲＡＭ２６のメモリマップである。ワークＲＡＭ２６には、ＣＰＵ２１がゲームプログラムを実行する際の一時的なデータが記憶される。具体的には、ニュートラルポジションデータ記憶領域２６ａ，加速度センサ出力値記憶領域２６ｂ，衝撃入力フラグ記憶領域２６ｃ，マップ選択画面のカメラ座標記憶領域２６ｅ，ゲームマップナンバー記憶領域２６ｆおよびキャラクタデータ記憶領域２６ｇが含まれる。
【００３３】
ニュートラルポジションデータ記憶領域２６ａには、図２９を参照して後述するニュートラルポジション設定処理において設定されるニュートラルポジションデータ（ＮＰｘ，ＮＰｙ，ＮＰｚ）が記憶される。これは、ゲームプレイをするときのゲーム装置の基準の傾きに関するデータである。
【００３４】
加速度センサ出力値記憶領域２６ｂには、ＸＹ軸加速度センサ３１とＺ軸接点スイッチ３２によって検出され、センサインターフェース３３を介して図３１R>１のセンサ出力読取処理において読み出される加速度センサ出力値（ＩＮｘ，ＩＮｙ，ＩＮｚ）が記憶される。衝撃入力フラグ記憶領域２６ｃには、Ｘ軸方向の加速度入力をＸ軸方向のベクトル成分としＹ軸方向の加速度入力をＹ軸方向のベクトル成分として合成したベクトルの大きさが一定値以上であったときに１となる衝撃入力フラグ（ＦＳ）が記憶される。衝撃入力の判定は、図３１のセンサ出力読取処理でおこなわれる。
【００３５】
マップ選択画面のカメラ座標記憶領域２６ｅには、図３０を参照して後述するゲームマップ選択処理におけるゲームマップ選択用マップのうちＬＣＤ１２に表示される領域の左上隅の座標（Ｃｘ，Ｃｙ）が記憶される。ゲームマップナンバー記憶領域２６ｆには、図３０３０を参照して後述するゲーム選択処理において、プレイヤが選択したゲームマップに対応したナンバーデータ（ＭＮ）が記憶される。
【００３６】
キャラクタデータ記憶領域２６ｇには、キャラクタ（プレイヤキャラクタおよびＮＰＣ）毎に、移動加速度データ（Ａｘ、Ａｙ，Ａｚ），移動加速度の変化量データ（ｄＡｘ，ｄＡｙ，ｄＡｚ），速度データ（Ｖｘ、Ｖｙ，Ｖｚ），座標データ（Ｘ、Ｙ，Ｚ），前回の座標データ（Ｐｘ、Ｐｙ，Ｐｚ），現在位置ステータス（ＳＰ）およびポーズナンバー（ＰＮ）が記憶される。
【００３７】
前回の座標（Ｐｘ，Ｐｙ，Ｐｚ）は、プレイヤキャラクタやＮＰＣが壁等に衝突した場合に前回の座標に戻すために記憶される。現在位置ステータスデータ（ＰＳ）は、プレイヤキャラクタが存在する座標の地形に関するデータであり、このデータに基づいて、加速度センサ出力値変換テーブル（空中，床面，氷面，水面）が選択される。ポーズナンバー（ＰＮ）は、キャラクタの状態（ポーズ）に関するデータ（例えば亀の表向きと裏向き等）である。
【００３８】
図１８は、表示用ＲＡＭ２５のメモリマップである。表示用ＲＡＭ２５には、ＣＰＵ２１がゲームプログラムを実行して得た表示用のデータが一時的に記憶される。表示用ＲＡＭ２５は、オブジェクトデータ記憶領域２５ａ，スクロールカウンタデータ記憶領域２５ｂおよびマップデータ記憶領域２５ｃを備える。オブジェクトデータ記憶領域２５ａには、ゲームに登場する全キャラクタのうちＬＣＤ１２の表示領域内に存在するキャラクタについてのデータが記憶される。具体的には、Ｘ座標，Ｙ座標，キャラクタＩＤおよびポーズナンバーが記憶される。
【００３９】
スクロールカウンタデータ記憶領域２５ｂには、ゲームマップのうちＬＣＤ１２に表示される領域の左上隅の座標が記憶される。マップデータ記憶領域２５ｃには、ゲームマップのうちＬＣＤ１２に表示される領域内のゲームマップデータが記憶される。
【００４０】
図１９は、バックアップＲＡＭ３５のメモリマップである。バックアップＲＡＭ３５には、図２８を参照して後述する０Ｇ設定処理において設定される０Ｇポジションデータが記憶される。この０ＧポジションデータはＸＹ軸加速度センサ３１が誤差を有するためにゲーム装置を水平に保ってもセンサ出力値が０にならないことに対処するためのものであり、ゲーム装置を水平に保ったときのセンサ出力値が０ＧポジションデータとしてバックアップＲＡＭ３５に記憶され、ゲーム処理において、センサ出力値から差し引かれる。
【００４１】
図２０から図２６は、プログラムＲＯＭ３４の加速度センサ出力値変換テーブル記憶領域３４ｃに記憶される変換テーブルの詳細を示した図である。このテーブルには、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２のセンサ出力値（ＩＮｘ，ＩＮｙ，ＩＮｚ）および衝撃入力フラグ（ＦＳ）をゲーム処理に利用する際の利用方法や最大値を制限する等の補正処理のためのデータが記憶される。具体的には利用方法，補正比率，特殊補正条件および特殊補正数のデータが記憶される。このテーブルは複数記憶されており、ゲームマップ選択処理用テーブル，プレイヤキャラクタ移動用テーブルおよびＮＰＣ移動用テーブルが含まれる。
【００４２】
図２０のゲームマップ選択処理用テーブルは、図３０を参照して後述するゲームマップ選択処理において参照される。このテーブルによって、ＸＹ軸加速度センサの出力値（ＩＮｘ，ＩＮｙ）はカメラ座標（Ｃｘ，Ｃｙ）の変化量の計算をするために利用される。なお、補正比率は２倍なので、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の２倍だけカメラ座標（Ｃｘ，Ｃｙ）は座標移動する。Ｚ軸接点スイッチ出力値（ＩＮｚ）はマップ決定処理のために利用される。衝撃入力フラグ（ＦＳ）は利用しない。
【００４３】
図２１から図２４のプレイヤキャラクタ移動用テーブルは、図３３を参照して後述するプレイヤキャラクタ移動処理のステップ３３における傾き移動処理とステップ３４における衝撃移動処理において参照される。プレイヤキャラクタ移動用テーブルは、空中用，床面用，氷面用および水中用のテーブルを含む。プレイヤキャラクタが存在する座標の地形（現在位置ステータス）に応じてこれら複数の変換テーブルのうちいずれか一つが選択されて参照される。
【００４４】
プレイヤキャラクタ移動用テーブルにおいて、ＸＹ軸加速度センサ３１の出力値Ｘ（ＩＮｘ）は、プレイヤキャラクタのＸ移動加速度の変化量（ｄＡｘ）の計算のために利用され、出力値Ｙ（ＩＮｙ）は、Ｙ移動加速度の変化量（ｄＡｙ）の計算のために利用される。現在位置ステータスが「空中」の場合は、図２１を参照して移動加速度の変化量（ｄＡｘ，ｄＡｙ）はゼロである。「床面」の場合は、図２２を参照すると補正比率が２倍であるから、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の２倍が移動加速度の変化量（ｄＡｘ，ｄＡｙ）となる。また、特殊補正条件１によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が２０より大きい場合には移動加速度の変化量（ｄＡｘ，ｄＡｙ）は４０に制限される。「氷面」の場合は、図２３を参照してＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の３倍が移動加速度の変化量（ｄＡｘ，ｄＡｙ）となる（「氷面」では移動量大きい）。また、特殊補正条件１によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が２０より大きい場合には移動加速度の変化量（ｄＡｘ，ｄＡｙ）は６０に制限される。「水中」の場合は、図２４を参照してＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の１／２倍が移動加速度の変化量（ｄＡｘ，ｄＡｙ）となる（「水中」では移動量小さい）。また、特殊補正条件１によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が１０より大きい場合には移動加速度の変化量（ｄＡｘ，ｄＡｙ）は５に制限される。
【００４５】
プレイヤキャラクタ移動用テーブルにおいて、Ｚ軸接点スイッチ３２の出力値（ＩＮｚ）は、プレイヤキャラクタのＺ移動加速度の変化量（ｄＡｚ）の計算のために利用される。特殊補正条件はない。
【００４６】
プレイヤキャラクタ移動用テーブルにおいて、衝撃入力フラグ（ＦＳ）は、Ｘ移動加速度とＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）に影響を与える。現在位置ステータスが「空中」および「水中」の場合は図２１２１および図２４を参照して衝撃入力フラグ（ＦＳ）は無視される。現在位置ステータスが「床面」の場合は、図２２を参照して、Ｘ移動加速度およびＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）をそれぞれ３倍する処理がされる。現在位置ステータスが「氷面」の場合は、図２３を参照して、Ｘ移動加速度およびＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）をそれぞれ５倍する処理がされる。このようにして、衝撃入力があった場合、「床面」と「氷面」ではＸ移動加速度およびＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）が通常に比べて増加される（高速移動する）。
【００４７】
図２５および図２６のＮＰＣ移動用テーブルは、図３４を参照して後述するＮＰＣ移動処理のステップ４４における傾き移動処理とステップ４５における衝撃移動処理において参照される。ＮＰＣ移動用テーブルは、表向き用と裏向き用のテーブルを含む。ＮＰＣである亀のポーズ（表向きか裏向きか）に応じてこれら２つの変換テーブルのうちいずれか一つが選択されて参照される。
【００４８】
ＮＰＣ移動用テーブルにおいて、ＸＹ軸加速度センサ３１の出力値Ｘ（ＩＮｘ）は、ＮＰＣのＸ移動加速度の変化量（ｄＡｘ）の計算のために利用され、出力値Ｙ（ＩＮｙ）は、Ｙ移動加速度の変化量（ｄＡｙ）の計算のために利用される。「表向き」の場合は、図２５を参照すると補正比率が１／２倍であるから、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の１／２倍がＸ移動加速度およびＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）となる。また、特殊補正条件１によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が１０より小さい場合には移動加速度の変化量（ｄＡｘ，ｄＡｙ）は０になる（「表向き」の場合は少しの傾き入力では亀は踏ん張るので滑らない）。また、特殊補正条件２によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が２０より大きい場合には、移動加速度の変化量（ｄＡｘ，ｄＡｙ）は１０に制限される。「裏向き」の場合は、図２６を参照してＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）の２倍がＸ移動加速度およびＹ移動加速度の変化量（ｄＡｘ，ｄＡｙ）となる（「表向き」に比べて「裏向き」の方が亀は滑りやすいので移動量が大きい）。また、特殊補正条件１によりＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）が２０より大きい場合には、移動加速度の変化量（ｄＡｘ，ｄＡｙ）は４０に制限される。
【００４９】
ＮＰＣ移動用テーブルにおいて、Ｚ軸接点スイッチの出力値（ＩＮｚ）は亀の表裏の逆転判定に利用される。Ｚ軸接点スイッチ出力値が１になる毎に亀は表裏の状態を繰り返す。衝撃入力フラグ（ＦＳ）はＮＰＣ移動処理には利用しない。
【００５０】
図２７はメインルーチンのフローチャートである。ゲーム装置本体１０にカートリッジ３０を差して、ゲーム装置本体１０の電源をＯＮにすると、図２７に示すメインルーチンが開始される。まずステップ１１において、初回起動時であるかまたはプレイヤが０Ｇ設定リクエスト（例えば、図１の操作スイッチ１３ｂを押しながら起動）があったか否かが判断される。初回起動時でなく０Ｇ設定リクエストもない場合はステップ１３に進む。初回起動時かまたは０Ｇ設定リクエストがあった場合は、ステップ１２において、図２８を参照して後述する０Ｇ設定処理が行われた後、ステップ１４に進む。ステップ１４において、図２９を参照して後述するニュートラルポジション設定処理が行われた後、ステップ１７に進む。ここで、ニュートラルポジション設定とは、ゲームプレイする際のゲーム装置の基準の傾きを設定することであり、お勧めポジション設定とは、ゲーム内容に応じて適切なニュートラルポジションに関するデータ（プログラムＲＯＭ３４のお勧めポジション照準目標座標３４ｄ）を予めゲームプログラムに記憶させておいて、そのデータに基づいてニュートラルポジションを設定することである。
【００５１】
ステップ１７において、図３０を参照して後述するゲームマップ選択処理が行われ、複数のゲームマップのうちのいずれか一つがプレイヤによって選択される。ステップ１７の後、メインループに進む。
【００５２】
ステップ１９からステップ２９までがメインループであり、ゲームオーバーになるかまたはゲームクリアになるまで繰り返し処理される。ステップ１９において、ワークＲＡＭ２６のキャラクタデータ２６ｇの座標（Ｘ，Ｙ，Ｚ）およびポーズナンバー（ＰＮ）、プログラムＲＯＭ３４のオブジェクトキャラクタデータ３４ａおよびマップデータ３４ｂに基づいて表示用ＲＡＭ２５に必要なデータが書込まれ、表示用ＲＡＭ２５に記憶されたデータに基づいてＬＣＤ１２にゲーム画面が表示される。ステップ２０において、図３１を参照して後述するセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られ、補正される。ステップ２０の後、ステップ２１においてニュートラルポジション設定要求があったか否かが判断され、要求がない場合はステップ２３に進み、要求があった場合はステップ２２に進んでニュートラルポジション設定処理が行われ、ニュートラルポジションの再設定がされた後、ステップ１９に戻る。これは、一つの操作スイッチ（例えば図１における操作スイッチ１３ｅ）をニュートラルポジション設定専用の操作スイッチに割り当てておいて、この操作スイッチ１３ｅを押すことによってゲーム中においても、常にニュートラルポジションの再設定を可能にすることを意味する。
【００５３】
ステップ２３において、衝撃入力フラグがＯＮであるか否かが判断される。衝撃入力フラグがＯＦＦのばあいはステップ２６に進む。衝撃入力フラグがＯＮの場合はステップ２４に進み、プレイヤキャラクタの現在座標の地形が水中であるか否かが判断される（現在位置ステータス（ＰＳ）に基づいて判断される）。水中でないと判断されると、ステップ２６に進む。水中であると判断されるとステップ２５において波の発生処理が行われる（前述の１５中段に示すような画面表示となる）。具体的には、センサ出力値Ｘ（ＩＮｘ）をＸ軸方向のベクトル成分としセンサ出力値Ｙ（ＩＮｙ）をＹ軸方向のベクトル成分として合成したベクトルの方向に、合成ベクトルの大きさに応じた波を発生する処理をする。プレイヤはあたかも自分がゲーム装置に与えた衝撃がそのままゲーム空間中の環境（水）に反映されたかのような感覚をプレイヤに与えることができる。ステップ２５の後、ステップ２６に進む。
【００５４】
ステップ２６において、図３２から図３６を参照して後述する各オブジェクト移動処理が行われ、プレイヤキャラクタおよびＮＰＣの移動処理が行われる。ステップ２６の後、ステップ２７において、図３７を参照して後述する衝突処理が行われ、プレイヤキャラクタとＮＰＣ等との衝突処理が行われる。ステップ２７の後、ステップ２９において図４０を参照して後述する画面スクロール処理が行われる。
【００５５】
図２８は０Ｇ設定処理のフローチャートである。このサブルーチンでは、ゲーム装置（具体的にはＬＣＤ１２の表示面）を水平に把持したときのＸＹ軸加速度センサ３１の出力値を０ＧポジションデータとしてバックアップＲＡＭ３５に記憶しておく処理を行う。
【００５６】
まずステップ１２１において、「地面と水平にあわせたら操作スイッチを押してください」という表示がＬＣＤ１２にされて、ゲーム装置（具体的にはＬＣＤ１２の表示面）が水平になるようにプレイヤに要求する。ステップ１２２において操作スイッチの入力処理が行われ、ステップ１２３において、決定のための操作スイッチ（例えば図１における操作スイッチ１３ｂ）が押されたことが判断されると、ステップ１２４においてＺ軸接点スイッチがＯＮか否かが判断される。Ｚ軸接点スイッチがＯＮの場合は、ステップ１２５において警告音を発生してステップ１２１に戻る。Ｚ軸接点スイッチがＯＮになっている場合は、ＬＣＤ１２の表示面が下方を向いた状態になっているので、プレイヤに再度設定することを要求するものである。ステップ１２４において、Ｚ軸接点スイッチがＯＦＦであると判断された場合は、ステップ１２６において、このときのＸＹ軸加速度センサ３１の出力値がバックアップＲＡＭ３５に０Ｇポジションデータとして記憶される。
【００５７】
図２９は、ニュートラルポジション設定処理のフローチャートである。このサブルーチンでは、ゲームプレイしやすいゲーム装置の把持角度をプレイヤが任意に決定して、そのときのＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値をニュートラルポジションデータとしてワークＲＡＭ２６に記憶しておく処理を行う。
【００５８】
まずステップ１４１において、「遊びやすい角度にあわせたら操作スイッチを押してください」という表示がＬＣＤ１２にされる。ステップ１４２において、操作スイッチ入力処理が行われ、ステップ１４３において、決定のための操作スイッチ（例えば図１の操作スイッチ１３ｂ）が押されたことが判断されると、ステップ１４４において、このときのＸＹ軸加速度センサ３１の出力値から前述の０Ｇポジションデータを引く補正がされた後（ニュートラルポジションデータは水平状態からの傾きに対応したデータとする）、ステップ１４５において、ＸＹ軸加速度センサの出力補正値（ステップ１４４の計算結果）とＺ軸接点スイッチ３２の出力値がワークＲＡＭ２６のニュートラルポジションデータ記憶領域２６ａにニュートラルポジションデータとして記憶される。
【００５９】
図３０はゲームマップ選択処理のフローチャートである。このサブルーチンでは、ゲームプログラムに記憶されている複数のゲームマップのうちからプレイヤーがいずれか一つを選択する。ゲームマップ選択処理の画面は例えば前述の図１３のように表示される。ＬＣＤ１２にはゲームマップ選択用マップの一部領域が表示される。プレイヤは、Ｘ軸方向またはＹ軸方向にスライド入力することよって表示領域を移動させて、マップアイコン（図１３のＡ，Ｂ，Ｃ，Ｄ）を表示領域内に表示されるようにしてからＺ軸方向に運動入力する。Ｚ軸方向に運動入力（または衝撃入力）したときに表示領域内に表示されているコースアイコンに対応したゲームコースが選択されたことになる。
【００６０】
まずステップ１７１において、カメラ座標（Ｃｘ，Ｃｙ）が初期化される。その後、ステップ１７２において、カメラ座標（Ｃｘ，Ｃｙ）に基づいてゲームマップ選択用マップの一部領域がＬＣＤ１２に表示される。ステップ１７３において、図３１を参照して後述するセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値が読取られ、補正される。ステップ１７４において、図２０に示すゲームマップ選択処理用テーブルが参照されて、センサ出力値（ＩＮｘ，ＩＮｙ）に基づいてカメラ座標（Ｃｘ，Ｃｙ）が変化される。具体的には、補正比率が２倍であるから、センサー出力値（ＩＮｘ，ＩＮｙ）の２倍の値だけカメラ座標（Ｃｘ，Ｃｙ）を変化させる。例えばセンサー出力値（ＩＮｘ）の値が５であるときは、カメラ座標（Ｃｘ）が＋１０される。ステップ１７５において、カメラ座標（Ｃｘ，Ｃｙ）に基づく表示領域がゲームマップ選択用マップの範囲外であるか否かが判断され、範囲外でない場合はステップ１７７に進み、範囲外である場合は、ステップ１７６において、ゲームマップ選択用マップの端領域が表示されるように補正された後、ステップ１７７に進む。ステップ１７７において、Ｚ軸接点スイッチ３２がＯＮであるか否かが判断される。Ｚ軸接点スイッチ３２がＯＦＦであると判断されると、ステップ１７２に戻る。Ｚ軸接点スイッチ３２がＯＮであると判断されると、ステップ１７８において、マップアイコン（図１３のＡ，Ｂ，Ｃ，Ｄ）のうちのいずれか一つがＬＣＤ１２の表示領域内に表示されているか否かが判断される。マップアイコンが表示領域内に表示されていないことが判断されると、ステップ１７９において、警告音を発生してステップ１７２に戻る。マップアイコンが表示領域内に表示されていることが判断されると、ステップ１８１において、表示されているマップアイコンに対応したゲームマップナンバー（ＭＮ）がワークＲＡＭ２６に記憶される。
【００６１】
図３１はセンサ出力読取処理のフローチャートである。このサブルーチンでは、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値が読取られ、補正される。具体的には、センサインターフェース３３のラッチ３３４およびラッチ３３５のデータから加速度センサ出力値（ＩＮｘ，ＩＮｙ）およびＺ軸接点スイッチ出力値（ＩＮｚ）が読み出される。さらに、０Ｇポジションデータおよびニュートラルポジションデータで補正する処理がされる。
【００６２】
ステップ２０１において、センサインターフェース３３のラッチ３３４およびラッチ３３５のデータが読み込まれる。ステップ２０２において、ラッチデータから加速度センサ出力値（ＩＮｘ，ＩＮｙ）およびＺ軸接点スイッチ出力値（ＩＮｚ）が読み出されてワークＲＡＭ２６の加速度センサ出力値記憶領域２６ｂに記憶される。ステップ２０３において、衝撃入力があったか否かが判断される。具体的には、加速度センサ出力値Ｘ（ＩＮｘ）をＸ軸方向のベクトル成分とし、加速度センサ出力値Ｙ（ＩＮｙ）をＹ軸方向のベクトル成分として合成したベクトルの大きさが一定値以上か否かが判断される。一定値以上であると判断されると、ステップ２０４において、衝撃入力フラグ（ＦＳ）がＯＮに設定された後、ステップ２０６に進む。合成ベクトルの大きさが一定値より小さいと判断されると、ステップ２０５において、衝撃入力フラグ（ＦＳ）がＯＦＦに設定された後、ステップ２０６に進む。ステップ２０６において、ステップ２０２において記憶された加速度センサ出力値記憶領域２６ｂのデータからバックアップＲＡＭ３５に記憶された０Ｇポジションデータを引く処理がされる。ステップ２０６の後、ステップ２０７において、さらにニュートラルポジションデータで補正した値が、加速度センサ出力記憶領域２６ｂにＩＮｘ，ＩＮｙおよびＩＮｚとして再記憶される。
【００６３】
ニュートラルポジションデータによる補正は、具体的には、加速度センサ出力値Ｘ（ＩＮｘ）および加速度センサ出力値Ｙ（ＩＮｙ）については、ニュートラルポジションデータ（ＮＰｘ，ＮＰｙ）の値を引く処理がされる。Ｚ軸接点スイッチ出力値（ＩＮｚ）については、ニュートラルポジションデータ（ＮＰｚ）の値が１の場合に、０と１を反転させる処理がされる。
【００６４】
図３２から図３６はオブジェクト移動処理のフローチャートである。図３２は、オブジェクト移動処理のメインルーチンのフローチャートである。ステップ２６１において、図３３を参照して後述するプレイヤキャラクタ移動処理が行われる。ステップ２６２において、図３４を参照して後述するＮＰＣ移動処理が行われる。このＮＰＣ移動処理はＮＰＣの数だけ繰り返される。
【００６５】
図３３は、プレイヤキャラクタ移動処理のフローチャートである。ステップ３１において、プレイヤキャラクタの現在の座標（Ｘ，Ｙ，Ｚ）が、前回の座標（Ｐｘ，Ｐｙ，Ｐｚ）としてコピーされて記憶される。これは、図３７を参照して後述する衝突処理において、プレイヤキャラクタが壁に衝突したときに前回の座標に戻すために必要である。ステップ３２において、移動加速度の変化量（ｄＡｘ，ｄＡｙ，ｄＡｚ）が初期化された後、ステップ３３において、傾き移動処理が行われる。傾き移動処理では、前述の図２１から図２４に示す変換テーブルのうちプレイヤキャラクタの現在位置ステータスに応じて適切なものを参照して、プレイヤキャラクタのＸ移動加速度とＹ移動加速度の変化量を算出する処理が行われる。この処理によってゲーム装置の傾き（傾き入力）に応じてキャラクタが転がる（滑る）ように移動加速度の変化量（ｄＡｘ，ｄＡｙ）が決定される。さらに、ステップ３４において、衝撃移動処理が行われる。衝撃移動処理では、前述の図２１から図２４に示す変換テーブルのうち適切なものを参照して、プレイヤキャラクタのＸ移動加速度とＹ移動加速度の変化量を増加させる処理が行われる。この処理によって、衝撃入力がされたときに、プレイヤキャラクタがダッシュ（高速移動）するように移動加速度の変化量（ｄＡｘ，ｄＡｙ）を増加する処理がされる。ステップ３５において、図３５を参照して後述するジャンプ移動処理が行われる。ステップ３５の後、ステップ３６において、前述の図２７のフローチャートにおけるステップ２５において波発生処理がされたか否かが判断される。波が発生していないことが判断されると、ステップ３８に進む。波が発生したことが判断されると、ステップ３７において、図３６を参照して後述する波移動処理が行われた後、ステップ３８に進む。ステップ３８において、ステップ３３からステップ３７までの傾き移動処理，衝撃移動処理，ジャンプ処理，波移動処理で計算された移動加速度の変化量（ｄＡｘ，ｄＡｙ，ｄＡｚ）に基づいて移動加速度（Ａｘ，Ａｙ，Ａｚ）が計算され、移動加速度（Ａｘ，Ａｙ，Ａｚ）に基づいて速度（Ｖｘ，Ｖｙ，Ｖｚ）が計算される。ステップ３９において、速度（Ｖｘ，Ｖｙ，Ｖｚ）に基づいて座標（Ｘ，Ｙ，Ｚ）が計算される。
【００６６】
図３４はＮＰＣ移動処理のフローチャートである。ステップ４１において、現在の座標（Ｘ，Ｙ，Ｚ）が前回の座標（Ｐｘ，Ｐｙ，Ｐｚ）にコピーして記憶される。ステップ４２において、移動加速度の変化量（ｄＡｘ，ｄＡｙ，ｄＡｚ）が初期化される。ステップ４３において、ゲームプログラムに基づくＮＰＣの自律移動処理が行われる。具体的には例えば亀は乱数値に基づいて移動加速度の変化量（ｄＡｘ，ｄＡｙ，ｄＡｚ）が決定される。ステップ４３の後、ステップ４４において、傾き移動処理が行われる。傾き移動処理では、前述の図２５または図２６に示す変換テーブルのうちＮＰＣのポーズナンバーに応じて適切なものを参照して、ＮＰＣのＸ移動加速度とＹ移動加速度の変化量を算出する処理が行われる。さらに、ステップ４５において、衝撃移動処理が行われるが、本実施例の場合は、ＮＰＣは衝撃入力による影響を受けない。ステッ４５の後、ステップ４６において、前述の図２７のフローチャートにおけるステップ２５において波発生処理がされたか否かが判断される。波が発生していないことが判断されると、ステップ４８に進む。波が発生したことが判断されると、ステップ４７において、図３６を参照して後述する波移動処理が行われた後、ステップ４８に進む。ステップ４８において、ステップ４３からステップ４７までの自律移動処理、傾き移動処理，衝撃移動処理，波移動処理で計算された移動加速度の変化量（ｄＡｘ，ｄＡｙ，ｄＡｚ）に基づいて移動加速度（Ａｘ，Ａｙ，Ａｚ）が計算され、移動加速度（Ａｘ，Ａｙ，Ａｚ）に基づいて速度（Ｖｘ，Ｖｙ，Ｖｚ）が計算される。ステップ４９において、速度（Ｖｘ，Ｖｙ，Ｖｚ）に基づいて座標（Ｘ，Ｙ，Ｚ）が計算される。ステップ５１において、Ｚ軸接点スイッチ出力値（ＩＮｚ）が１か否かが判断される。Ｚ軸接点スイッチ出力値（ＩＮｚ）が０の場合はＮＰＣ移動処理サブルーチンを終了する。Ｚ軸接点スイッチ出力値（ＩＮｚ）が１の場合は、ステップ５２において表向きと裏向きの反転処理をする。具体的には、ワークＲＡＭ２６のキャラクタデータのポーズナンバー（ＰＮ）を変化させる。
【００６７】
図３５はジャンプ処理のフローチャートである。このサブルーチンでは、Ｚ軸方向の運動入力があったとき、プレイヤキャラクタをジャンプさせる処理がされ、Ｚ軸方向の運動入力がなくてかつプレイヤキャラクタが「空中」にいるときに降下させる処理がされる。
【００６８】
ステップ３５１において、Ｚ軸接点スイッチ出力値（ＩＮｚ）が１か否かが判断される。Ｚ軸接点スイッチ出力値（ＩＮｚ）が１の場合には、ステップ３５２において、現在位置ステータス（ＰＳ）が「空中」に設定された後、ステップ３５３において、Ｚ移動加速度の変化量（ｄＡｚ）が１にされる。ステップ３５１において、Ｚ軸接点スイッチ出力値（ＩＮｚ）が０であると判断されると、ステップ３５４において、プレイヤキャラクタが「空中」にいるか否かが判断され、「空中」にいない場合はジャンプ処理を終了する。ステップ３５４において、空中」にいる場合は、ステップ３５５において、Ｚ移動加速度の変化量（ｄＡｚ）が−１にされた後、ジャンプ処理を終了する。
【００６９】
図３６は波移動処理のフローチャートである。このサブルーチンでは、プレイヤの衝撃入力により発生した波によるプレイヤキャラクタやＮＰＣの移動加速度の変化量を計算する処理がされる。ステップ３６１において、現在位置ステータスが読み込まれ、ステップ３６２において、波の影響を受ける位置か否か（すなわち「水中」か否か）が判断される。波の影響を受けない位置であると判断されると、波移動処理を終了する。波の影響を受ける位置であると判断されると、ステップ３６３において、波の影響によるＸ移動加速度の変化量とＹ移動加速度の変化量が計算されて、傾き移動処理および衝撃移動処理において計算されたＸ移動加速度の変化量とＹ移動加速度の変化量に加算される。
【００７０】
図３７は衝突処理のフローチャートである。ステップ２７１からステップ２７５においてＮＰＣ衝突判定処理が行われる。このＮＰＣ衝突判定処理はＮＰＣの数だけ繰り返される。ステップ２７１において、ＮＰＣが壁と衝突したか否かが判断される。衝突したと判断されるとステップ２７３に進む。壁と衝突していないと判断されるとステップ２７２に進み、別のＮＰＣと衝突したか否かが判断される。別のＮＰＣと衝突したと判断されるとステップ２７３に進む。別のＮＰＣと衝突していないと判断されるとステップ２７５に進む。壁または別のＮＰＣに衝突したと判定された場合は、ステップ２７３において、衝突音が発生された後、ステップ２７４において、ＮＰＣの座標（Ｘ，Ｙ，Ｚ）を前回の座標（Ｐｘ，Ｐｙ，Ｐｚ）に戻す処理が行われた後、ステップ２７５に進む。
【００７１】
ステップ２７５において、ＮＰＣの現在位置ステータスが検出されてワークＲＡＭ２６に記憶される。ステップ２７５の後、ステップ２７６において、プレイヤキャラクタが壁と衝突したか否かが判断される。壁に衝突していないと判断された場合には、ステップ２７９に進む。壁に衝突したと判断された場合には、ステップ２７７において、衝突音が発生された後、ステップ２７８において、プレイヤキャラクタの座標（Ｘ，Ｙ，Ｚ）を前回の座標（Ｐｘ，Ｐｙ，Ｐｚ）に戻す処理がされた後、ステップ２７９に進む。ステップ２７９において、プレイヤキャラクタの現在位置ステータスが検出されてワークＲＡＭ２６に記憶される。ステップ２７９の後、ステップ２８１において、プレイヤキャラクタがＮＰＣと衝突したか否かが判断される。ＮＰＣと衝突したと判断されると、ステップ２８２において、ＮＰＣを消滅する処理がされる。ステップ２８２の後、ステップ２８３において、すべてのＮＰＣが消滅したか否かが判断される。すべてのＮＰＣが消滅したことが判断されるとステップ２８４においてゲームクリア処理が行われる。ステップ２８１において、ＮＰＣと衝突してないと判断された場合およびステップ２８３においてすべてのＮＰＣが消滅していないと判断された場合にはステップ２８５に進む。ステップ２８５において、プレイヤキャラクタが穴に落ちたか否かが判断される。穴に落ちたと判断された場合は、ステップ２８６においてゲームオーバー処理が行われる。穴に落ちていないと判断された場合は、衝突処理を終了する。
【００７２】
図３８および図３９は画面スクロールを示す画面の一例である。画面にはプレイヤキャラクタであるボール６１，ＮＰＣである亀６２ａ〜６２ｃ，迷路を構成する壁６３および穴６４が表示されている。点線６５は画面スクロールの限界を示すものである（点線６５は実際にはＬＣＤ１２には表示されない）。前述のようにゲームマップはＬＣＤ１２の表示領域より大きな仮想マップであり、ＬＣＤ１２にはゲームマップのうちプレイヤキャラクタ６１の周辺の一部領域が表示される。プレイヤがゲーム装置を傾ける等してプレイヤキャラクタ６１が点線６５より外側領域に移動しようとすると、画面をスクロールしてＬＣＤ１２に表示されるゲームマップ表示領域を移動させ、さらにプレイヤキャラクタ６１およびＮＰＣ６２をスクロールした分だけ画面の中央方向に移動表示する。この画面スクロールによって、より広いゲームマップ上でのゲームを楽しむことができる。
【００７３】
例えば、図３８に示すようにプレイヤキャラクタが点線６５を超えて左側の領域に移動しようとすると、ゲームマップの表示領域を左にスクロールさせ、プレイヤキャラクタ６１およびＮＰＣ６２をスクロールさせた分だけ右に移動表示させる（図３９）。なお、傾き入力の大きさに応じてスクロールする速度を変化させても良い。
【００７４】
図４０は、画面スクロール処理のフローチャートである。ステップ２９１におて、プレイヤキャラクタがスクロールエリアをＸ軸のマイナス方向に外れたか否かが判断される。ここで、スクロールエリアとは、図３８における点線６５で囲まれる領域のことである。Ｘ軸のマイナス方向に外れていないことが判断されるとステップ２９４に進む。Ｘ軸のマイナス方向に外れたことが判断されると、ステップ２９２において、ＬＣＤ１２に現在表示されている領域がゲームマップの左端領域か否かが判断される。左端領域であると判断された場合は、ステップ２９４に進む。左端領域でないと判断された場合は、ステップ２９３において、表示用ＲＡＭ２５に記憶されたスクロールカウンタＸ座標（ＳＣｘ）を一定量減らす処理がされた後、ステップ２９４に進む。ステップ２９４において、プレイヤキャラクタがスクロールエリアをＸ軸のプラス方向に外れたか否かが判断される。Ｘ軸のプラス方向に外れていないことが判断されると、ステップ２９７に進む。Ｘ軸のプラス方向に外れたことが判断されると、ステップ２９５において、ＬＣＤ１２に現在表示されている領域がゲームマップの右端領域か否かが判断される。右端領域であることが判断されるとステップ２９７に進む。右端領域でないと判断された場合は、ステップ２９６において、スクロールカウンタＸ座標（ＳＣｘ）を一定量増やす処理がされた後、ステップ２９７に進む。
【００７５】
ステップ２９７において、プレイヤキャラクタがスクロールエリアをＹ軸のマイナス方向に外れたか否かが判断される。Ｙ軸のマイナス方向に外れていないことが判断されると、ステップ３０１に進む。Ｙ軸のマイナス方向に外れたことが判断されると、ステップ２９８において、ＬＣＤ１２に現在表示されている領域がゲームマップの上端領域か否かが判断される。上端領域であることが判断されるとステップ３０１に進む。上端領域でないと判断された場合は、ステップ２９９において、スクロールカウンタＹ座標（ＳＣｙ）を一定量減らす処理がされた後、ステップ３０１に進む。ステップ３０１において、プレイヤキャラクタがスクロールエリアをＹ軸のプラス方向に外れたか否かが判断される。Ｙ軸のプラス方向に外れていないことが判断されると、画面スクロール処理を終了する。Ｙ軸のプラス方向に外れたことが判断されると、ステップ３０２において、ＬＣＤ１２に現在表示されている領域がゲームマップの下端領域か否かが判断される。下端領域であることが判断されると、画面スクロール処理を終了する。下端領域でないと判断された場合は、ステップ３０３において、スクロールカウンタＹ座標（ＳＣｙ）を一定量増やす処理がされた後、画面スクロール処理を終了する。
【００７６】
（第２実施例）次に、図４１〜図４９を参照して、本発明の第２の実施例のゲーム装置を説明する。第２の実施例のゲーム装置の外観図，ＸＹＺ軸定義図、ブロック図，センサインターフェースの計測原理図，Ｚ軸接点スイッチの構造図は、第１の実施例における図１〜図７と共通であり、説明を省略する。
【００７７】
図４１は、本実施例のゲーム画面の一例を示した図である。このゲームは、プレイヤがゲーム装置に衝撃を与えることによってゲーム空間の地形を隆起させることにより、ゲームキャラクタの移動を制御して楽しむゲームである。
【００７８】
図４１（ａ）に示すように、ゲームキャラクタである亀８１と地形隆起キャラクタ８２がゲーム画面に表示される。図４１（ｂ）に示すように、亀８１はゲームプログラムによって自立的に移動する。図４１（ｂ）に示す状態において、ゲーム装置にＺ軸方向の衝撃入力を与えると、図４１（ｃ）に示すように、地形隆起キャラクタ８２は隆起して高く大きく表示され、それによって亀８１は滑る移動制御をされる（前進していた亀８２が地形隆起によって後退する）。このような処理をすることによって、ゲーム装置にＺ軸方向の衝撃を与えたときにゲーム空間である地形がエネルギーを与えられて地形が隆起するかのような感覚をプレイヤーに与えることができる。
【００７９】
図４２はＺ軸方向の衝撃入力による地形隆起処理を示すゲーム画面の一例である。図４２（ａ）において、外枠１２’はゲーム空間全体を示しており、内枠１２はＬＣＤ１２に表示される表示領域を示している。ゲーム空間はＬＣＤ１２の表示領域より大きな世界であり、ＬＣＤ１２にはゲーム空間の一部領域が表示される。ゲーム空間には地形隆起キャラクタ８２が１２個存在し（８２ａ〜８２ｌ）、亀キャラクタ８１が３匹存在する（８１ａ〜８１ｃ）。このうち、ＬＣＤ１２には４個の地形隆起キャラクタ（８２ａ，８２ｂ，８２ｅ，８２ｆ）と１匹の亀キャラクタ（８２ａ）が表示されている。
【００８０】
図４２（ａ）に示す状態において、ゲーム装置にＺ軸方向の衝撃入力を与えると、図４２（ｂ）に示すように、１２個の地形隆起キャラクタ（８２ａ〜８２ｌ，ゲーム空間全体の地形隆起キャラクタ）は１段階隆起して高く大きく表示される。このとき、地形が隆起した地点に存在する亀キャラクタ（８１ａおよび８１ｂ）は地形の隆起によって滑って移動する表示がされる。
【００８１】
図４２（ｂ）に示す状態において、Ａボタン（操作スイッチ１３ｂ）を操作しつつＺ軸方向の衝撃入力を与えると、ＬＣＤ１２に表示されている４個の地形隆起キャラクタ（８２ａ，８２ｂ，８２ｅ，８２ｆ）のみさらに１段階隆起して高く大きく表示される。このときも同様に、地形が隆起した地点に存在する亀キャラクタ（８１ａ）は地形の隆起によって滑って移動する表示がされる。このように処理することによって、Ａボタンを押しつつＺ軸方向の衝撃入力を与えた場合には、ＬＣＤ１２に表示された領域に限定したゲーム空間に衝撃によるエネルギーが与えられたかのような感覚をプレイヤに与えることができる。
【００８２】
なお、図示しないが、図４２（ｂ）に示す状態において、Ｂボタン（操作スイッチ１３ｃ）を操作しつつＺ軸方向の衝撃入力を与えると、ＬＣＤ１２に表示されていない８個の地形隆起キャラクタ（８２ｃ，８２ｄ，８２ｇ，８２ｈ，８２ｉ〜８２ｌ）のみ１段階隆起して高く大きく表示される。このときも同様に、地形が隆起した地点に存在する亀キャラクタ（８１ｂ，８１ｃ）は地形の隆起によって滑って移動する表示がされる。このように処理することによって、Ｂボタンを押しつつＺ軸方向の衝撃入力を与えた場合には、ＬＣＤ１２に表示されていない領域に限定してゲーム空間に衝撃によるエネルギーが与えられたかのような感覚をプレイヤに与えることができる。
【００８３】
図４３は、ゲーム空間の表示領域のスクロール処理を示すゲーム画面の一例である。ゲーム装置をスライド入力（第１の実施例における図９を参照）をすることによってゲーム空間の表示領域がスクロールする。例えば、図４３（ａ）では、ＬＣＤ１２に地形隆起キャラクタ８２ａ，８２ｂ，８２ｅ，８２ｆおよび亀キャラクタ８１ａが表示されている。この状態において、ゲーム装置をＹ軸のマイナス方向にスライドさせると、ゲーム空間の表示領域は下方にスクロールして、図４３（ｂ）に示すように、地形キャラクタ８２ｅ，８２ｆおよび亀キャラクタ８１ａが表示されることになる。
【００８４】
また、図４３（ｂ）に示す状態において、ゲーム装置をＸ軸のプラス方向にスライドさせると、ゲーム空間の表示領域は右方にスクロールして、図４３（ｃ）に示すように、地形キャラクタ８２ｆおよび亀キャラクタ８１ａが表示されることになる。このような処理をすることによって、プレイヤはＬＣＤ１２より大きなゲーム空間でゲームを楽しむことができる。また、前述のように、ＡボタンやＢボタンによって表示領域の内外に限定してゲーム空間に影響を与える（地形を隆起させる）ことができるので、複雑なゲームを楽しむことができる。
【００８５】
図４４は、ＸＹ軸方向の衝撃入力による温度上昇画面制御を示す図である。亀キャラクタ８１ａ〜８１ｃは、前述のようにゲームプログラムによって自立的な移動をするが、この自律移動は、温度が上昇することによって活発になる（具体的には移動量が増加する）。図４４（ａ）に示す状態において、ＸＹ軸方向の衝撃入力（第１の実施例における図１１を参照）をすると、温度パラメータが上昇し、亀キャラクタ８１ａ〜８１ｃが活発に移動する表示がされる。このような処理をすることによって、ゲーム装置にＸＹ軸方向の衝撃を与えたときにゲーム空間にエネルギーが与えられて温度が上昇するかのような感覚をプレイヤーに与えることができる。
【００８６】
以下、図４５および図４６を参照して、メモリに記憶されるデータを説明する。図４５は、プログラムＲＯＭ３４のメモリマップである。プログラムＲＯＭ３４には、ＣＰＵ２１によって実行されるゲームプログラムおよびゲームデータが記憶される。プログラムＲＯＭ３４は、具体的には、オブジェクトキャラクタデータ記憶領域３４２ａ，マップデータ記憶領域３４２ｂ，地形隆起ポイントデータ記憶領域３４２ｃ，スクロールの限界値データ記憶領域３４２ｄ，加速度センサ出力値変換テーブル記憶領域３４２ｅおよびゲームプログラム記憶領域３４２ｆを含む。オブジェクトキャラクタデータ記憶領域３４２ａおよびマップデータ記憶領域３４２ｂには、オブジェクトキャラクタおよびゲームマップのグラフィックデータが記憶される。地形隆起ポイントデータ記憶領域３４２ｃには、前述の図４２に示されるような地形隆起キャラクタ（８２ａ〜８２ｌ）のそれぞれについてゲーム空間における位置データ（Ｘ座標およびＹ座標；Ｐｘ１〜Ｐｘ１２，Ｐｙ１〜Ｐｙ１２）が記憶される。スクロールの限界値データ記憶領域３４２ｄには、ゲーム空間をスクロール表示する際に、ゲーム空間の上下左右端になった場合にスクロールをしないようにするためにスクロールの限界値を示すデータ（ＳＣｘｍａｘ，ＳＣｙｍａｘ）が記憶される。
【００８７】
加速度センサ出力値変換テーブル記憶領域３４２ｄには、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値を変換してゲームプログラムで利用するための変換テーブルが記憶されている。具体的には、前述の第１実施例の変換テーブル（図２０から図２６R>６）と同様のデータが記憶されており、センサ出力値Ｘ（ＩＮｘ）およびセンサ出力値Ｙ（ＩＮｙ）が、後述の図４８を参照して後述する視界移動処理において、スクロールカウンタＸ座標（ＳＣｘ）およびＹ座標（ＳＣｙ）の変化量の計算に利用されることが定義されている。これによってゲーム装置をスライド入力（第１の実施例における図９を参照）をすることによってゲーム空間の表示領域がスクロールし、視界が移動する処理がされることになる。また、Ｚ軸接点スイッチ出力値（ＩＮｚ）は地形の隆起判定に利用されることが定義され、衝撃入力フラグ（ＦＳ）は温度上昇の判定に利用されることが定義されている。
【００８８】
ゲームプログラム記憶領域３４２ｆには、ＣＰＵ２１によって実行されるゲームプログラムが記憶される。具体的には、図４７を参照して後述するメインプログラム，第１の実施例における図３１と同様のセンサ出力読取プログラム，図４８を参照して後述する視界移動プログラム，図４９を参照して後述する地形隆起プログラム，温度上昇プログラム，亀キャラクタ制御プログラムやその他のプログラムが記憶される。
【００８９】
図４６はワークＲＡＭ２６のメモリマップである。ワークＲＡＭ２６には、ＣＰＵ２１がゲームプログラムを実行する際の一時的なデータが記憶される。具体的には、加速度センサ出力値記憶領域２６２ａ，衝撃入力フラグ記憶領域２６２ｂ，地形隆起データ記憶領域２６２ｃ，温度データ記憶領域２６２ｄおよびキャラクタデータ記憶領域２６２ｅが含まれる。
【００９０】
加速度センサ出力値記憶領域２６２ａおよび衝撃入力フラグ記憶領域２６２ｂに記憶されるデータは第１の実施例と同様であるので説明を省略する。地形隆起データ記憶領域２６２ｃには、それぞれの地形隆起ポイントについての高さデータが記憶される。高さデータは、図４９を参照して後述する地形隆起処理においてＺ軸方向の衝撃入力に応じて変更される。このデータに基づいてそれぞれの地形隆起ポイントについて地形隆起キャラクタの表示状態が決定される。例えば、高さデータが１の場合には図４２（ａ）の８２ａのように表示され、高さデータが２の場合には図４２（ｂ）の８２ａのように表示され、高さデータが３の場合には図４２（ｃ）の８２ａのように地形隆起キャラクタが表示される。
【００９１】
温度データ記憶領域には、ゲーム空間の温度データが記憶される。温度データは、温度上昇処理（図４７に示すメインプログラムのステップ６４）においてＸＹ軸方向の衝撃入力に応じて変更される。このデータは亀キャラクタ制御処理（自律移動，図４７に示すメインプログラムのステップ６５）に影響を与える。キャラクタデータ記憶領域２６２ｅには、亀キャラクタの数だけ、座標データ（Ｘ、Ｙ，Ｚ）および前回の座標データ（Ｐｘ、Ｐｙ，Ｐｚ）が記憶される。表示用ＲＡＭのメモリマップは第１の実施例における図１８と同様であるので説明を省略する。
【００９２】
以下、図４７〜図４９を参照して、ゲームプログラムの処理の流れを説明する。図４７はメインルーチンのフローチャートである。ゲーム装置本体１０にカートリッジ３０を差して、ゲーム装置本体１０の電源をＯＮにすると、図４７に示すメインルーチンが開始される。第２の実施例においても、第１の実施例と同じように、０Ｇポジション設定処理やニュートラルポジションの設定処理をおこなっても良いが、説明を簡単にするため省略することにする。
【００９３】
まずステップ６１において、第１の実施例における図３１と同様のセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られる（０Ｇポジションデータおよびニュートラルポジションデータによる補正は省略）。ステップ６１の後、ステップ６２において、図４８を参照して後述する視界移動処理（ゲーム空間の表示領域のスクロール処理）が行われる。ステップ６２の後、ステップ６３において、図４９を参照して後述する地形隆起処理が行われる。ステップ６３の後、ステップ６４において、温度上昇処理が行われる。温度上昇処理では、まずＸＹ軸方向の衝撃入力があったか否かが判定され、ＸＹ軸方向の衝撃入力があった場合には、温度パラメータ（Ｔ）を１増加する処理がされる。ステップ６４の後、ステップ６５において、亀キャラクタ制御処理が行われる。亀キャラクタ制御処理では、まず自律移動による亀キャラクタの移動処理が行われる。具体的には、例えば、乱数値によって亀キャラクタの移動量を計算する処理が行われる。なお、温度（Ｔ）が高いときには亀キャラクタの自立移動量が大きくなるように制御される。この後、地形隆起による亀キャラクタの移動処理が行われる。具体的には、亀キャラクタの下の地形が隆起した場合に、亀キャラクタを滑らせて移動させる処理がされる。なお、亀キャラクタ制御処理は亀キャラクタの数だけ繰り返される。
【００９４】
ステップ６５の後、ステップ６６において、前述の視界移動処理，地形隆起処理，亀キャラクタ制御処理の処理結果に基づいて、ゲーム空間のスクロール表示および地形隆起オブジェクトや亀キャラクタの表示処理がされる。なお、地形隆起処理によって地形隆起ポイントの高さが増加された場合には、地形隆起キャラクタを高く大きく表示するとともに、地形が隆起していることを連想させるような音を発生するとより効果的である。ステップ６６の後、ステップ６７において、ゲームオーバーか否かが判断される。例えば、所定時間を過ぎた場合にゲームオーバーにする等ゲーム内容に応じた適当な条件によってゲームオーバーの判定がされる。ステップ６７において、ゲームオーバーであると判定されるとメインルーチンを終了する。ステップ６７において、ゲームオーバーでないと判定されると、ステップ６１に戻る。
【００９５】
図４８は視界移動処理のフローチャートである。まず、ステップ６２１において、変換テーブルを参照して、スクロールカウンタＸ座標（ＳＣｘ）およびＹ座標（ＳＣｙ）の変更処理が行われる。ステップ６２１の後、ステップ６２２〜ステップ６２９において、ゲーム空間の端を超えてスクロールしようとしているか否かが判断されて、ゲーム空間の端を超えてスクロールしようとしている場合には、スクロールカウンタの値（ＳＣｘ、ＳＣｙ）を適正な値にする処理が行われる。
【００９６】
ステップ６２２において、スクロールカウンタＸ座標（ＳＣｘ）がスクロール限界値Ｘ座標（ＳＣｘｍａｘ）を超えているか否かが判断され、超えていないと判断された場合には、ステップ６２４に進む。ステップ６２２において、超えていると判断された場合には、ステップ６２３に進み、スクロールカウンタＸ座標（ＳＣｘ）の値がスクロール限界値Ｘ座標（ＳＣｘｍａｘ）に設定された後、ステップ６２４に進む。
【００９７】
ステップ６２４において、スクロールカウンタＸ座標（ＳＣｘ）が０より小さいか否かが判断され、０以上であると判断された場合は、ステップ６２６に進む。ステップ６２４において、０より小さいと判断された場合は、ステップ６２５に進み、スクロールカウンタＸ座標（ＳＣｘ）の値が０に設定された後、ステップ６２６に進む。
【００９８】
ステップ６２６において、スクロールカウンタＹ座標（ＳＣｙ）がスクロール限界値Ｙ座標（ＳＣｙｍａｘ）を超えているか否かが判断され、超えていないとと判断された場合は、ステップ６２８に進む。ステップ６２６において、超えていると判断された場合は、ステップ６２７に進み、スクロールカウンタＹ座標（ＳＣｙ）の値がスクロール限界値Ｙ座標（ＳＣｙｍａｘ）に設定された後、ステップ６２８に進む。
【００９９】
ステップ６２８において、スクロールカウンタＹ座標（ＳＣｙ）が０より小さいか否かが判断され、０以上であると判断された場合は、視界移動処理を終了する。ステップ６２８において、０より小さいと判断された場合は、ステップ６２９に進み、スクロールカウンタＹ座標（ＳＣｙ）の値が０に設定された後、視界移動処理を終了する。
【０１００】
図４９は地形隆起処理のフローチャートである。まず、ステップ６３１において、Ｚ軸接点スイッチの出力があったか否か（すなわち、Ｚ軸方向の衝撃入力があったか否か）が判断され、Ｚ軸接点スイッチの出力がなかったと判断された場合は、地形隆起処理を終了する。Ｚ軸接点スイッチの出力があったと判断された場合は、ステップ６３２に進む。ステップ６３２において、Ａボタン（操作スイッチ１３ｂ）が押されているか否かが判断され、Ａボタンが押されていると判断された場合は、ステップ６３３に進み、ＬＣＤに表示されている領域内の地形隆起ポイントの高さ（Ｈ）をそれぞれ１増加させる処理がされる。ステップ６３３の後、地形隆起処理を終了する。
【０１０１】
ステップ６３２において、Ａボタンが押されていないことが判断されると、ステップ６３４に進み、Ｂボタン（操作スイッチ１３ｃ）が押されているか否かが判断される。Ｂボタンが押されていることが判断されると、ステップ６３５に進み、ＬＣＤに表示されている領域外の地形隆起ポイントの高さ（Ｈ）をそれぞれ１増加させる処理がされる。ステップ６３５の後、地形隆起処理を終了する。ステップ６３４において、Ｂボタンが押されていないことが判断されると、ステップ６３６において、全地形隆起ポイントの高さ（Ｈ）をそれぞれ１増加させる処理がされた後、地形隆起処理を終了する。
【０１０２】
（第３実施例）次に、図５０〜図５９を参照して、本発明の第３の実施例を説明する。このゲームは、ゲーム装置をフライパンや包丁であるかのように動かして仮想的な料理を楽しむゲームである。
【０１０３】
図５０〜図５３は、ゲーム画面の一例である。図５０において、ゲーム画面には、プレイヤキャラクタ９１とキッチン９２とコンロ９３とフライパン９４と机９５とまな板９６が表示される。Ａボタン（操作スイッチ１３ｂ）を押すと、図５１および図５２を参照して後述するフライパン空間処理が開始する。また、Ｂボタン（操作スイッチ１３ｃ）を押すと、図５３を参照して後述する包丁空間処理が開始する。
【０１０４】
図５１および図５２は、フライパン空間処理のゲーム画面の一例である。フライパン空間処理では、ゲーム装置をフライパンのように操作して、目玉焼きを調理するゲームをする。図５１（ａ）において、ゲーム画面には、フライパン９４と卵９７が表示されている。図５１（ａ）に示す状態において、ゲーム装置をＹ軸を中心にマイナス方向に傾けると、図５１（ｂ）に示すように、卵９７はフライパンの左方へ移動表示される。また、図５１（ｂ）に示す状態において、ゲーム装置をＸ軸を中心としてプラス方向に傾けると、卵９７はフライパンの下方へ移動表示される。このように処理することによって、ゲーム装置をあたかもフライパンのように操作して、卵がフライパンの傾きによって移動しているかのような感覚をプレイヤに与えることができる。
【０１０５】
図５２（ａ）に示す状態において、ゲーム装置のＺ軸方向に衝撃入力を与えると、図５２（ｂ）に示すように、卵９７はフライパン９４から離れて上方にジャンプしているような表示がされ、その後、図５２（ｃ）または（ｄ）に示すように、卵９７は着地する表示がされる。このとき、図５２（ａ）に示すように、Ｚ軸方向に衝撃入力をした時の卵９７の位置がフライパン９４の端の方である場合には、卵９７はフライパン９４からはみだしてジャンプし着地する（図５２（ｃ））こととなり、失敗となる。なお、図５２（ｂ）に示す状態において、ゲーム装置をスライド移動させることによって、卵９７とフライパン９４との相対的な位置関係を修正して、卵９７をフライパン９４の中に着地させることが可能である（図５２（ｄ））。このように処理することによって、ゲーム装置をあたかもフライパンのように操作して、ジャンプした卵をフライパンで受け止めるかのような感覚をプレイヤに与えることができる。
【０１０６】
図５３は包丁空間処理のゲーム画面の一例である。包丁空間処理では、ゲーム装置を包丁のように操作して、キャベツを千切りするゲームをする。図５３（ａ）において、ゲーム画面には、包丁９８とキャベツ９９が表示されている。図５３（ａ）に示す状態において、ゲーム装置をＸ軸のプラス方向にスライド移動させると、図５３（ｂ）に示すように、包丁９８に対してキャベツ９９が左に移動する表示がされる（包丁９８は常にゲーム画面の中央に表示されるため、キャベツ９９が相対的に左に移動する表示がされる）。このように処理することによって、ゲーム装置をあたかも包丁のように操作して、キャベツと包丁との位置関係を調節してキャベツを切断する位置を調節しているかのような感覚をプレイヤに与えることができる。
【０１０７】
さらに、図５３（ｂ）に示す状態において、ゲーム装置を上下に運動（Ｚ軸方向の運動入力）させると、キャベツ９９が包丁９８によって千切りされる表示がされる。この際、キャベツが切断される音を発生させるとより効果的である。
【０１０８】
以下、図５４を参照して、メモリに記憶されるデータを説明する。なお、プログラムＲＯＭ３４には、第１実施例のプログラムＲＯＭ（図１６）と略同様のプログラムが記憶されるが、加速度センサ出力値変換テーブル記憶領域には、フライパン用テーブルと卵ジャンプ時用テーブルと包丁用テーブルが記憶され、ゲームプログラム記憶領域には、メインプログラム，センサ出力読み取りプログラム，フライパン空間プログラム，卵ジャンププログラム、包丁空間プログラムおよびその他のプログラムが記憶される。なお、加速度センサ出力値変換テーブルのフライパン用テーブルは、図５６を参照して後述するフライパン空間プログラムで参照され、卵ジャンプ時用テーブルは、図５８を参照して後述する卵ジャンププログラムで参照され、包丁用テーブルは、図５７５７を参照して後述する包丁空間プログラムで参照される。
【０１０９】
フライパン用テーブルには、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）は卵のＸおよびＹ座標（Ｅｘ，Ｅｙ）の変化量の計算に利用されることが定義される。これによって、ゲーム装置を傾き入力（第１の実施例における図１０を参照）したときに卵の表示位置が変更され、フライパンの上を卵が滑るように表示制御される。また、座標Ｚ軸接点スイッチ３２の出力値（ＩＮｚ）は、卵のジャンプ判定に利用され、衝撃入力フラグ（ＦＳ）は利用されないことが定義される。
【０１１０】
卵ジャンプ時用テーブルには、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）は卵のＸおよびＹ座標（Ｅｘ，Ｅｙ）の変化量の計算に利用されることが定義される。これによって、卵がジャンプしている間にゲーム装置をスライド入力（第１の実施例における図９を参照）したときに卵の表示位置が変更され、フライパンと卵の相対位置が変更されるように表示制御される。なお、卵ジャンプ時用テーブルにおいて補正比率はマイナス値が定義される。なぜなら、本実施例では、フライパンはゲーム画面に固定的に表示され、卵がフライパンに対して相対的に移動するように表示されるため、ゲーム装置のスライド移動の方向とは逆の方向に卵を移動表示する必要があるためである。また、Ｚ軸接点スイッチ３２の出力値（ＩＮｚ）および衝撃入力フラグ（ＦＳ）は利用されない。
【０１１１】
包丁用テーブルには、ＸＹ軸加速度センサ３１の出力値（ＩＮｘ，ＩＮｙ）はキャベツのＸおよびＹ座標（ＣＡｘ，ＣＡｙ）の変化量の計算に利用されることが定義されている。これによって、ゲーム装置をスライド入力したときにキャベツの表示位置が変更され、キャベツと包丁の相対位置が変更されるように表示制御される。なお、包丁用テーブルは卵ジャンプ時用テーブルと同様に補正比率はマイナス値が定義される。なぜなら、本実施例では、包丁はゲーム画面に固定的に表示され、キャベツが包丁に対して相対的に移動するように表示されるため、ゲーム装置のスライド移動の方向とは逆の方向にキャベツを移動表示する必要があるためである。また、Ｚ軸接点スイッチ３２の出力値（ＩＮｚ）は、キャベツの切断処理の判定に利用され、衝撃入力フラグ（ＦＳ）は利用されないことが定義される。
【０１１２】
図５４はワークＲＡＭ２６のメモリマップである。ワークＲＡＭ２６には、ＣＰＵ２１がゲームプログラムを実行する際の一時的なデータが記憶される。具体的には、加速度センサ出力値記憶領域２６３ａ，衝撃入力フラグ記憶領域２６３ｂ，卵データ記憶領域２６３ｃおよびキャベツデータ記憶領域２６３ｄが含まれる。
【０１１３】
加速度センサ出力値記憶領域２６３ａおよび衝撃入力フラグ記憶領域２６３ｂに記憶されるデータは第１の実施例と同様であるので説明を省略する。卵データ記憶領域２６３ｃには、卵のＸ座標（Ｅｘ），Ｙ座標（Ｅｙ），高さ（Ｅｈ）および焼け具合（Ｅｆ）のデータが記憶される。キャベツデータ記憶領域２６３ｄには、キャベツのＸ座標（ＣＡｘ），Ｙ座標（ＣＡｙ）および切断割合（ＣＡｃ）のデータが記憶される。表示用ＲＡＭのメモリマップは第１の実施例における図１８と同様であるので説明を省略する。
【０１１４】
以下、図５５〜図５９を参照して、ゲームプログラムの処理の流れを説明する。図５５はメインルーチンのフローチャートである。ゲーム装置本体１０にカートリッジ３０を差して、ゲーム装置本体１０の電源をＯＮにすると、図５５に示すメインルーチンが開始される。第３の実施例においても、第１の実施例と同じように、０Ｇポジション設定処理やニュートラルポジションの設定処理をおこなっても良いが、説明を簡単にするため省略することにする。
【０１１５】
まずステップ７１において、第１の実施例における図３１と同様のセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られる（０Ｇポジションデータおよびニュートラルポジションデータによる補正は省略）。ステップ７１の後、ステップ７２において、Ａボタン（操作スイッチ１３ｂ）が押されているか否かが判断される。ステップ７２において、Ａボタンが押されていることが判断されると、ステップ７３に進み、図５７を参照して後述する包丁空間処理が行われた後、ステップ７６に進む。
【０１１６】
ステップ７２において、Ａボタンが押されていないことが判断されると、ステップ７４に進み、Ｂボタン（操作スイッチ１３ｃ）が押されているか否かが判断される。ステップ７４において、Ｂボタンが押されていないことが判断されると、ステップ７６に進む。ステップ７４において、Ｂボタンが押されていることが判断されると、ステップ７５に進み、図５６を参照して後述するフライパン空間処理が行われた後、ステップ７６に進む。
【０１１７】
ステップ７６において、ゲームオーバーか否かが判断される。具体的には、例えば、所定時間を過ぎた場合にゲームオーバーにする等ゲーム内容に応じた適当な条件によってゲームオーバーの判定がされる。ステップ７６において、ゲームオーバーでないと判断されると、ステップ７１に戻る。ステップ７６において、ゲームオーバーであると判断されると、メインルーチンを終了する。
【０１１８】
図５６はフライパン空間処理のフローチャートである。まず、ステップ７７１において、フライパン用テーブルを参照して、卵Ｘ座標（Ｅｘ）および卵Ｙ座標（Ｅｙ）の変更処理が行われる。ステップ７７１の後、ステップ７７２において、図５８を参照して後述する卵ジャンプ処理が行われる。ステップ７７２の後、ステップ７７３において、卵焼け具合（Ｅｆ）を１増加させる処理がおこなわれる。ステップ７７３の後、ステップ７７４において、卵焼け具合（Ｅｆ）が１００以上になったか否かが判断される。卵焼け具合（Ｅｆ）が１００より小さいことが判断されると、フライパン空間処理を終了する。卵焼け具合（Ｅｆ）が１００以上になったことが判断されると、ステップ７７５に進み、卵成功処理が行なわれる。卵成功処理では、例えば、卵の調理が完成した画面が表示され、得点が加算される処理が行われる。ステップ７７５の後、フライパン空間処理を終了する。
【０１１９】
図５７は包丁空間処理のフローチャートである。まず、ステップ７４１において、包丁用テーブルを参照して、キャベツＸ座標（ＣＡｘ）およびキャベツＹ座標（ＣＡｙ）の変更処理が行われる。ステップ７４１の後、ステップ７４２において、図５９を参照して後述するキャベツ切断処理が行われる。ステップ７４２の後、ステップ７４３において、キャベツ切断割合（ＣＡｃ）が１００以上になったか否かが判断される。キャベツ切断割合（ＣＡｃ）が１００より小さいことが判断されると、包丁空間処理を終了する。キャベツ切断割合（ＣＡｃ）が１００以上になったことが判断されると、ステップ７４４に進み、キャベツ成功処理が行なわれる。キャベツ成功処理では、例えば、キャベツの切断が完成した画面が表示され、得点が加算される処理が行われる。ステップ７４４の後、包丁空間処理を終了する。
【０１２０】
図５８は卵ジャンプ処理のフローチャートである。まず、ステップ７７２ａにおいて、Ｚ軸接点スイッチの出力があったか否か（すなわち、Ｚ軸方向の衝撃入力があったか否か）が判断される。ステップ７７２ａにおいて、Ｚ軸接点スイッチの出力がなかったことが判断されると、卵ジャンプ処理を終了する。ステップ７７２ａにおいて、Ｚ軸接点スイッチの出力があったことが判断されると、ステップ７７２ｂにおいて、卵がジャンプしている表示が行われる。ステップ７７２ｂの後、ステップ７７２ｃにおいて、卵の高さ（Ｅｈ）がＣＨ（所定値）に設定される。ステップ７７２ｃの後、ステップ７７２ｄにおいて、第１の実施例における図３１と同様のセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られる（０Ｇポジションデータおよびニュートラルポジションデータによる補正は省略）。ステップ７７２ｄの後、ステップ７７２ｅにおいて、卵ジャンプ時用テーブルを参照して、卵Ｘ座標（Ｅｘ）および卵Ｙ座標（Ｅｙ）の変更処理が行われる。ステップ７７２ｅの後、ステップ７７２ｆにおいて、卵の高さ（Ｅｈ）を１減少させる処理が行われる。ステップ７７２ｆの後、ステップ７７２ｇにおいて、卵のＸ座標（Ｅｘ），Ｙ座標（Ｅｙ），高さ（Ｅｈ）に基づいて表示処理が行われる。ステップ７７２ｇの後、ステップ７７２ｈにおいて、卵が着地したか否か、すなわち卵の高さ（Ｅｈ）が０になったか否かが判断される。ステップ７７２ｈにおいて、卵が着地していないことが判断されると、ステップ７７２ｄに戻る。ステップ７７２ｈにおいて、卵が着地したことが判断されると、ステップ７７２ｉにおいて、卵の着地位置がフライパン内か否かが判断され、フライパン内であると判断された場合にはステップ７７２ｊにおいて、ジャンプ成功処理が行われた後、卵ジャンプ処理を終了する。ジャンプ成功処理では、例えば「成功」と表示しつつ成功の音楽を発生し、得点を加算する処理が行われる。ステップ７７２ｉにおいて、卵の着地位置がフライパンの外であると判断された場合には、ステップ７７２ｋにおいて、ジャンプ失敗処理が行われた後、卵ジャンプ処理を終了する。ジャンプ失敗処理では、例えば「失敗」と表示しつつ失敗の音楽を発生し、卵焼け具合（Ｅｆ）を０にする処理が行われる（卵の調理をやり直させるようにする）。
【０１２１】
図５９はキャベツ切断処理のフローチャートである。まず、ステップ７４２ａにおいて、Ｚ軸接点スイッチの出力があったか否か（すなわち、Ｚ軸方向の運動入力があったか否か）が判断される。ステップ７４２ａにおいて、Ｚ軸接点スイッチの出力がなかったことが判断されると、キャベツ切断処理を終了する。ステップ７４２ａにおいて、Ｚ軸接点スイッチの出力があったことが判断されると、ステップ７４２ｂにおいて、包丁の下にキャベツがあるか否かが判断される。ステップ７４２ｂにおいて、包丁の下にキャベツがないことが判断されると、キャベツ切断処理を終了する。ステップ７４２ｂにおいて、包丁の下にキャベツがあることが判断されると、ステップ７４２ｃにおいて、表示処理（キャベツが一定量切断される表示）がされる。ステップ７４２ｃの後、ステップ７４２ｄにおいて、キャベツの切断割合（ＣＡｃ）を１増加する処理がされた後、キャベツ切断処理を終了する。
【０１２２】
（第４実施例）次に、図６０〜図６６を参照して、本発明の第４の実施例を説明する。図６０はゲーム空間の概念図および複数のゲーム装置のゲーム画面の一例を示した図である。このゲームは、複数のゲーム装置で通信することによってゲーム空間を共有して、第１の実施例と同様のゲームを複数のプレイヤでおこなって対戦（または協力）を楽しむゲームである。ゲーム空間である迷路板は複数のゲーム装置１０および４０に共通であり、ゲーム装置１０のゲーム画像とゲーム装置４０のゲーム画像は同じゲーム空間データに基づいている（ただし、それぞれのゲーム装置で視界が異なる）。第１のゲーム装置１０のＬＣＤには１点鎖線で示される範囲１２が表示され、第２のゲーム装置４０のＬＣＤには点線で示される範囲４２が表示される。第１の実施例と同様に、ゲーム装置の傾きに応じて、ゲーム空間である迷路板が傾いたことがシミュレートされるが、本実施例の場合は、ゲーム装置１０の傾きとゲーム装置４０の傾きを合成した値によって迷路板の傾きがシミュレートされる（一方のゲーム装置の傾きのみによって迷路版の傾きをシミュレートしてもよい）。ゲーム装置１０のプレイヤは自分のボール６１ａを操作するためにゲーム装置１０を傾けて迷路板の傾きを操作しようとするが、一方でゲーム装置４０のプレイヤは自分のボール６１ｂを操作するためにゲーム装置４０を傾けて迷路板の傾きを操作しようとするので、お互いに自分の思う通りには迷路板の傾きを操作することができず、より複雑なゲームを楽しむことができる。なお、本実施例においては、通信ケーブル５０を用いて２つのゲーム装置間の通信をおこなうこととするが、無線や携帯電話等の通信手段を利用しても良い。
【０１２３】
第４の実施例のプログラムＲＯＭには、第１の実施例のプログラムＲＯＭ（図１６）と略同様のデータが記憶されるが、ゲームプログラム記憶領域には、第１の実施例の場合に追加して、図６３および図６４を参照して後述するマップ確認プログラムおよび図６５および図６６を参照して後述する通信割込プログラムがさらに記憶される。
【０１２４】
ゲームプログラム記憶領域に記憶されるプログラムのうち、メインプログラムとマップ確認プログラムと通信割込プログラムは、ゲーム装置１０とゲーム装置４０とで異なったプログラムとなっている。これは、ゲーム装置１０を親機とし、ゲーム装置４０を子機として通信処理を行うためであるが、詳細については、図６１〜図６６を参照して後述する。
【０１２５】
第４の実施例のワークＲＡＭには、第１の実施例のワークＲＡＭ１７と略同様のデータが記憶されるが、第１の実施例の場合に追加して、合成データ記憶領域をさらに含む。合成データ記憶領域には、ゲーム装置１０のＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値と、ゲーム装置４０のＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値を合成した値がそれぞれ記憶される。表示用ＲＡＭおよびバックアップＲＡＭのメモリマップは第１の実施例における図１８R>８および図１９と同様であるので説明を省略する。
【０１２６】
以下、図６１〜図６６を参照して、ゲームプログラムの処理の流れを説明する。図６１はゲーム装置１０で実行されるメインルーチンのフローチャートである。本実施例においては、説明を簡単にするために、０Ｇ設定処理，ニュートラルポジション設定処理および衝撃入力による波発生処理を省略しているが、第１の実施例と同様に、これらの処理を追加しても良い。
【０１２７】
まず、ステップ８１ｐにおいて、第１の実施例における図３０と同様のゲームマップ選択処理が行われる。ステップ８１ｐの後、ステップ８２ｐにおいて、図６３を参照して後述する親機マップ確認処理が行われる。ステップ８２ｐの後、ステップ８３ｐに進む。
【０１２８】
ステップ８３ｐからステップ８５ｐまでがメインループであり、ゲームオーバーになるかまたはゲームクリアになるまで繰り返し処理される。ステップ８３ｐにおいて、ワークＲＡＭ２６のデータに基づいて表示用ＲＡＭ２５に必要なデータが書込まれ、表示用ＲＡＭ２５に記憶されたデータに基づいてＬＣＤ１２にゲーム画面が表示される。ステップ８４ｐにおいて、第１の実施例における図３２から図３６と同様の各オブジェクト移動処理が行われ（波移動処理は省略）、プレイヤキャラクタおよびＮＰＣの移動処理が行われる。ステップ８４ｐの後、ステップ８５ｐにおいて、第１の実施例における図３７と同様の衝突処理が行われ、プレイヤキャラクタとＮＰＣ等との衝突処理が行われる。ステップ８５ｐの後、ステップ８６ｐにおいて第１の実施例における図４０と同様の画面スクロール処理が行われる。
【０１２９】
図６２はゲーム装置４０で実行されるメインルーチンのフローチャートである。本実施例においては、説明を簡単にするために、０Ｇ設定処理，ニュートラルポジション設定処理および衝撃入力による波発生処理を省略しているが、第１の実施例と同様にこれらの処理を追加しても良い。
【０１３０】
まず、ステップ８１ｃにおいて、第１の実施例における図３０と同様のゲームマップ選択処理が行われる。ステップ８１ｃの後、ステップ８２ｃにおいて、図６４を参照して後述する子機マップ確認処理が行われる。ステップ８２ｃの後、ステップ８３ｃに進む。
【０１３１】
ステップ８３ｃからステップ８８ｃまでがメインループであり、ゲームオーバーになるかまたはゲームクリアになるまで繰り返し処理される。まず、ステップ８３ｃにおいて、ワークＲＡＭ２６のデータに基づいて表示用ＲＡＭ２５に必要なデータが書込まれ、表示用ＲＡＭ２５に記憶されたデータに基づいてＬＣＤ１２にゲーム画面が表示される。ステップ８３ｃの後、ステップ８４ｃにおいて、第１の実施例における図３１と同様のセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られる（０Ｇポジションデータおよびニュートラルポジションデータによる補正は省略）。ステップ８４ｃの後、ステップ８５ｃにおいて、割込信号および先のステップ８４ｃにおいて読込まれてワークＲＡＭ２６に記憶された加速度センサ出力値データ（ＩＮｘ，ＩＮｙ，ＩＮｚ）がゲーム装置１０に送信される。ゲーム装置１０側では、この割込信号を受けて、図６５を参照して後述する親機通信割込処理が開始される。ステップ８５ｃの後、ステップ８６ｃにおいて、第１の実施例における図３２から図３６と同様の各オブジェクト移動処理が行われ（波移動処理は省略）、プレイヤキャラクタおよびＮＰＣの移動処理が行われる。ステップ８６ｃの後、ステップ８７ｃにおいて、第１の実施例における図３７と同様の衝突処理が行われ、プレイヤキャラクタとＮＰＣ等との衝突処理が行われる。ステップ８７ｃの後、ステップ８８ｃにおいて第１の実施例における図４０と同様の画面スクロール処理が行われる。
【０１３２】
図６３は、ゲーム装置１０で実行される親機マップ確認処理のフローチャートである。まず、ステップ８７ｐ１において、自身のワークＲＡＭ２６に記憶されたマップナンバーデータがゲーム装置４０に送信される。ステップ８７ｐ１の後、ステップ８７ｐ２において、データの受信がおこなわれる。具体的には、図６４を参照して後述する子機マップ確認処理のステップ８７ｃ３においてゲーム装置４０から送信されるマップナンバーデータを受信する。ステップ８７ｐ３において、データが受信されたことが判断されると、ステップ８７ｐ４において、自身のマップナンバーデータと先のステップ８７ｐ２において受信したゲーム装置４０のマップナンバーデータが一致するか否かが判断される。ステップ８７ｐ４において、マップナンバーデータが一致することが判断されると、親機マップ確認処理を終了する。ステップ８７ｐ４において、マップナンバーデータが一致しないことが判断されると、図６１のメインルーチンのステップ８１ｐのゲームマップ選択処理に戻る。
【０１３３】
図６４は、ゲーム装置４０で実行される子機マップ確認処理のフローチャートである。まず、ステップ８７ｃ１において、データの受信が行われる。具体的には、前述の図６３の親機マップ確認処理のステップ８７ｐ１においてゲーム装置１０から送信されるマップナンバーデータを受信する。ステップ８７ｃ２においてデータが受信したことが判断されると、ステップ８７ｃ３において、自身のワークＲＡＭ２６に記憶されたマップナンバーデータがゲーム装置１０に送信される。ステップ８７ｃ３の後、ステップ８７ｃ４において、自身のマップナンバーデータと先のステップ８７ｃ１において受信したゲーム装置１０のマップナンバーデータが一致するか否かが判断される。ステップ８７ｃ４において、マップナンバーデータが一致することが判断されると、子機マップ確認処理を終了する。ステップ８７ｃ４において、マップナンバーデータが一致しないことが判断されると、図６２のメインルーチンのステップ８１ｃのゲームマップ選択処理に戻る。
【０１３４】
図６５は、ゲーム装置１０で実行される親機通信割込み処理のフローチャートである。この処理は、前述の図６２に示すゲーム装置４０のメインルーチンのステップ８５ｃにおいて送信される割込信号によって処理が開始される。まず、ステップ９１ｐにおいて、データの受信を行う。具体的には、前述の図６２に示すゲーム装置４０のメインルーチンのステップ８５ｃにおいて送信されるゲーム装置４０の加速度センサ出力値を受信する。ステップ９１ｐの後、ステップ９２ｐにおいて、第１の実施例における図３１と同様のセンサ出力読取処理が行われて、ＸＹ軸加速度センサ３１およびＺ軸接点スイッチ３２の出力値がセンサインターフェース３３を介して読取られる（０Ｇポジションデータおよびニュートラルポジションデータによる補正は省略）。ステップ９２ｐの後、ステップ９３ｐにおいて、先のステップ９１ｐで受信したゲーム装置４０の加速度センサ出力値と先のステップ９２ｐで読取ったゲーム装置１０の加速度センサ出力値を合成する。ここで、合成とは、単に加算する計算処理をおこなっても良いし、例えば２つの値に重みをつけて加算する等、より複雑な計算式により２つの値から合成値を算出しても良い。ステップ９３ｐの後、ステップ９４ｐにおいて、割込信号および先のステップ９３ｐで計算された合成データがゲーム装置４０に送信される。
【０１３５】
図６６は、ゲーム装置４０で実行される子機通信割込み処理のフローチャートである。この処理は、図６５の親機通信割込み処理のステップ９４ｐにおいて送信される割込信号に応じて処理が開始される。ステップ９１ｃにおいてゲーム装置１０から合成データを受信して終了する。
【０１３６】
上述の実施例は、携帯型ゲーム装置が検出手段を備えるものであったが、図６７に示すように家庭用ゲーム機，パソコンまたは業務用ゲーム機等のコントローラが検出手段を備えるようにしてもよい。この場合には、プレイヤはコントローラを傾けたり、運動や衝撃を与えることによってテレビジョン受信機等の表示装置に表示されるゲーム空間の制御をおこなう。例えば、図６８６８に示すように、コントローラを傾けることによって表示装置に表示されたゲーム空間である板が傾く表示がされ、かつ、板の上のボールが転がることがシミュレートされる。コントローラを右に傾けると板が右に傾いてボールが右に転がり、コントローラを左に傾けると板が左に傾いてボールが左に転がることがシミュレートされる。
【０１３７】
上述の実施例では、カートリッジに加速度センサを設けたが、携帯型ゲーム装置本体側に加速度センサを設けても良い。携帯型ゲーム装置本体側に加速度センサを設けた場合、カートリッジ毎に加速度センサを備える必要がなくコストを削減できる。また、ゲーム装置に用いる情報記憶媒体は、カートリッジに限るものではなく、ＰＣカードのようなＩＣカードであっても良い。
【０１３８】
上述の第１の実施例では、ニュートラルポジションデータはワークＲＡＭ２６に記憶してゲームプレイ毎に設定するようにしたが、バックアップＲＡＭ３５に記憶して次回のゲームプレイにおいても同じデータが利用可能にしても良い。
【０１３９】
上述の第１の実施例では、ニュートラルポジションはプレイヤが決定するようにしたが、予めゲームプログラムにニュートラルポジションデータを記憶しておいてこれを利用するようにしても良い。また、複数のニュートラルポジションデータを記憶しておいて、プレイヤがいずれか一つを選択するようにしても良い。
【０１４０】
上述の第１の実施例では、ゲームキャラクタは、プレイヤキャラクタ（ボール）と敵キャラクタ（亀）のみであったが、これらに加えて、プレイヤキャラクタを助ける味方キャラクタや中立的なキャラクタ等のＮＰＣ（ノンプレイヤーキャラクタ）を登場させても良い。これらのＮＰＣは、ゲームプログラムに基づいて自律移動されるが（自律移動しないＮＰＣがあっても良い）、プレイヤによる操作（傾き，運動または衝撃入力）に応じて移動や変形等させても良い。
【０１４１】
上述の第１の実施例では、ゲーム空間の制御は加速度センサの出力のみに基づいているが、操作スイッチに基づいてゲーム空間を制御する部分があってもよい。例えば、ピンボールゲームにおいて、ゲーム装置を傾けたり揺らしたりすることによってゲーム空間であるピンボール台を制御しつつ、操作スイッチを押した場合にフリッパーが動作するようなゲームが考えられる。また、いわゆる「落ちゲー」といわれる、落下する物体を積み上げて、積み上げ状態に応じて得点を計算するようなゲームにおいて、ゲーム装置を傾けたり揺らしたりすることによってゲーム空間を制御しつつ、操作スイッチで物体の向きを変えたり、衝撃入力で物体を高速移動させたり、Ｚ軸方向の運動入力によって物体を変形させたりするようなゲームが考えられる。
【０１４２】
上述の第１の実施例では、ゲームキャラクタはゲーム装置の傾き（すなわち、ゲーム空間である迷路板の傾き）に応じて移動することとしたが、ゲーム装置の運動または衝撃に応じて移動するようにしてもよい。例えば、ゲーム装置をスライド移動させたときに、迷路板の壁が同じように移動したことがシミュレートされて、壁に接しているゲームキャラクタが壁に押されたかのように移動するような表示制御をおこなうことが考えられる。
【０１４３】
上述の第１の実施例では、プレイヤキャラクタ（ボール）自体を移動表示したが、プレイヤキャラクタは固定的に表示し、ゲーム空間をスクロール表示してプレイヤキャラクタがゲーム空間を相対的に移動している表示処理としてもよい。
【０１４４】
上述の第４の実施例は、２人のプレイヤが迷路板を傾けるという同一の制御を行うものであったが、２人のプレイヤが別々の制御を担当するようにしても良い。例えば、一人のプレイヤはゲーム装置を傾けることによって迷路板を傾ける制御をし、他方のプレイヤはゲーム装置にＺ軸方向の運動入力をしてゲームキャラクタをジャンプさせたり、ＸＹ軸方向の衝撃入力をして波を発生する制御をする等のゲームが考えられる。
【０１４５】
上述の第４の実施例は、メインプログラム，マップ確認プログラムおよび通信割り込みプログラムについて、ゲーム装置１０には親機用のプログラムが記憶され、ゲーム装置４０には子機用のプログラムが記憶されていたが、ゲーム装置１０およびゲーム装置４０のそれぞれに親機用のプログラムと子機用のプログラムの両方を記憶しておいて、ゲーム開始に先立って、どちらを親機とし子機とするかを設定し、設定に従ってプログラムを選択するようにしてもよい。
【図面の簡単な説明】
【０１４６】
【図１】本発明の一実施例の携帯型ゲーム装置の外観図である。
【図２】ＸＹＺ軸の定義を示した図である。
【図３】携帯型ゲーム装置のブロック図である。
【図４】センサインターフェースのブロック図である。
【図５】加速度センサの出力を計測する原理を示した図である。
【図６】Ｚ軸接点スイッチの構造を示した図である。
【図７】Ｚ軸接点スイッチがＺ軸方向の運動入力（または衝撃入力）を検出する場合の図である。
【図８】第１の実施例のゲーム画面の一例である。
【図９】スライド入力を示した図である。
【図１０】傾き入力を示した図である。
【図１１】Ｘ軸方向またはＹ軸方向の衝撃入力を示した図である。
【図１２】Ｚ軸方向の運動入力（衝撃入力）を示した図である。
【図１３】スライド入力の利用方法を示した図である。
【図１４】傾き入力の利用方法を示した図である。
【図１５】衝撃入力の利用方法を示した図である。
【図１６】第１の実施例のプログラムＲＯＭのメモリマップである。
【図１７】第１の実施例のワークＲＡＭのメモリマップである。
【図１８】第１の実施例の表示用ＲＡＭのメモリマップである。
【図１９】第１の実施例のバックアップＲＡＭのメモリマップである。
【図２０】第１の実施例の加速度センサ出力変換テーブルである。
【図２１】第１の実施例の加速度センサ出力変換テーブルである。
【図２２】第１の実施例の加速度センサ出力変換テーブルである。
【図２３】第１の実施例の加速度センサ出力変換テーブルである。
【図２４】第１の実施例の加速度センサ出力変換テーブルである。
【図２５】第１の実施例の加速度センサ出力変換テーブルである。
【図２６】第１の実施例の加速度センサ出力変換テーブルである。
【図２７】第１の実施例のメインルーチンのフローチャートである。
【図２８】第１の実施例の０Ｇ設定処理のフローチャートである。
【図２９】第１の実施例のニュートラルポジション設定処理のフローチャートである。
【図３０】第１の実施例のゲームマップ選択処理のフローチャートである。
【図３１】第１の実施例のセンサ出力読取処理のフローチャートである。
【図３２】第１の実施例の各オブジェクト移動処理のフローチャートである。
【図３３】第１の実施例のプレイヤキャラクタ移動処理のフローチャートである。
【図３４】第１の実施例のＮＰＣ移動処理のフローチャートである。
【図３５】第１の実施例のジャンプ移動処理のフローチャートである。
【図３６】第１の実施例の波移動処理のフローチャートである。
【図３７】第１の実施例の衝突処理のフローチャートである。
【図３８】第１の実施例の画面スクロールの説明図（スクロール前）である。
【図３９】第１の実施例の画面スクロールの説明図（スクロール後）である。
【図４０】第１の実施例の画面スクロール処理のフローチャートである。
【図４１】第２の実施例のゲーム画面の一例である。
【図４２】第２の実施例のゲーム画面（地形隆起処理）の一例である。
【図４３】第２の実施例のゲーム画面（視界移動処理）の一例である。
【図４４】第２の実施例のゲーム画面（温度上昇処理）の一例である。
【図４５】第２の実施例のプログラムＲＯＭのメモリマップである。
【図４６】第２の実施例のワークＲＡＭのメモリマップである。
【図４７】第２の実施例のメインルーチンのフローチャートである。
【図４８】第２の実施例の視界移動処理のフローチャートである。
【図４９】第２の実施例の地形隆起処理のフローチャートである。
【図５０】第３の実施例のゲーム画面の一例である。
【図５１】第３の実施例のゲーム画面（フライパン空間処理）の一例である。
【図５２】第３の実施例のゲーム画面（フライパン空間処理）の一例である。
【図５３】第３の実施例のゲーム画面（包丁空間処理）の一例である。
【図５４】第３の実施例のワークＲＡＭのメモリマップである。
【図５５】第３の実施例のメインルーチンのフローチャートである。
【図５６】第３の実施例のフライパン空間処理のフローチャートである。
【図５７】第３の実施例の包丁空間処理のフローチャートである。
【図５８】第３の実施例の卵ジャンプ処理のフローチャートである。
【図５９】第３の実施例のキャベツ切断処理のフローチャートである。
【図６０】第４の実施例のゲーム画面の一例である。
【図６１】第４の実施例のゲーム装置１０のメインルーチンのフローチャートである。
【図６２】第４の実施例のゲーム装置４０のメインルーチンのフローチャートである。
【図６３】第４の実施例の親機マップ確認処理のフローチャートである。
【図６４】第４の実施例の子機マップ確認処理のフローチャートである。
【図６５】第４の実施例の親機通信割込み処理のフローチャートである。
【図６６】第４の実施例の子機通信割込み処理のフローチャートである。
【図６７】本発明を家庭用ゲーム装置のコントローラに適用した場合の例である。
【図６８】本発明を家庭用ゲーム装置のコントローラに適用した場合の画面例である。
【符号の説明】
【０１４７】
１０：ゲーム装置本体
１２：ＬＣＤ
１３：操作スイッチ
２１：ＣＰＵ
２５：表示用ＲＡＭ
２６：ワークＲＡＭ
３０：ゲームカートリッジ
３１：ＸＹ軸加速度センサ
３２：Ｚ軸接点スイッチ
３３：センサインタフェース
３４：プログラムＲＯＭ
３５：バックアップＲＡＭ
【図１】
2006192307.tif 000003
【図２】
2006192307.tif 000004
【図３】
2006192307.tif 000005
【図４】
2006192307.tif 000006
【図５】
2006192307.tif 000007
【図６】
2006192307.tif 000008
【図７】
2006192307.tif 000009
【図８】
2006192307.tif 000010
【図９】
2006192307.tif 000011
【図１０】
2006192307.tif 000012
【図１１】
2006192307.tif 000013
【図１２】
2006192307.tif 000014
【図１３】
2006192307.tif 000015
【図１４】
2006192307.tif 000016
【図１５】
2006192307.tif 000017
【図１６】
2006192307.tif 000018
【図１７】
2006192307.tif 000019
【図１８】
2006192307.tif 000020
【図１９】
2006192307.tif 000021
【図２０】
2006192307.tif 000022
【図２１】
2006192307.tif 000023
【図２２】
2006192307.tif 000024
【図２３】
2006192307.tif 000025
【図２４】
2006192307.tif 000026
【図２５】
2006192307.tif 000027
【図２６】
2006192307.tif 000028
【図２７】
2006192307.tif 000029
【図２８】
2006192307.tif 000030
【図２９】
2006192307.tif 000031
【図３０】
2006192307.tif 000032
【図３１】
2006192307.tif 000033
【図３２】
2006192307.tif 000034
【図３３】
2006192307.tif 000035
【図３４】
2006192307.tif 000036
【図３５】
2006192307.tif 000037
【図３６】
2006192307.tif 000038
【図３７】
2006192307.tif 000039
【図３８】
2006192307.tif 000040
【図３９】
2006192307.tif 000041
【図４０】
2006192307.tif 000042
【図４１】
2006192307.tif 000043
【図４２】
2006192307.tif 000044
【図４３】
2006192307.tif 000045
【図４４】
2006192307.tif 000046
【図４５】
2006192307.tif 000047
【図４６】
2006192307.tif 000048
【図４７】
2006192307.tif 000049
【図４８】
2006192307.tif 000050
【図４９】
2006192307.tif 000051
【図５０】
2006192307.tif 000052
【図５１】
2006192307.tif 000053
【図５２】
2006192307.tif 000054
【図５３】
2006192307.tif 000055
【図５４】
2006192307.tif 000056
【図５５】
2006192307.tif 000057
【図５６】
2006192307.tif 000058
【図５７】
2006192307.tif 000059
【図５８】
2006192307.tif 000060
【図５９】
2006192307.tif 000061
【図６０】
2006192307.tif 000062
【図６１】
2006192307.tif 000063
【図６２】
2006192307.tif 000064
【図６３】
2006192307.tif 000065
【図６４】
2006192307.tif 000066
【図６５】
2006192307.tif 000067
【図６６】
2006192307.tif 000068
【図６７】
2006192307.tif 000069
【図６８】
2006192307.tif 000070
【手続補正書】
【提出日】平成18年4月25日(2006.4.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームプログラムを記憶するゲームプログラム記憶手段とゲームプログラムを実行する処理手段とを備えるゲーム装置に対して、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられたゲームシステムであって、  プレイヤによって把持される第１ハウジング、  プレイヤによって把持される、前記第１ハウジングと独立した第２ハウジング、  前記第１ハウジングに関連して設けられ、かつ、第１ハウジングに加えられた加速度、傾き、運動、衝撃の少なくともいずれかを検出する第１状態検出手段、および  前記第２ハウジングに関連して設けられ、かつ、第２ハウジングに加えられた加速度、傾き、運動、衝撃の少なくともいずれかを検出する第２状態検出手段を備え、  前記ゲームプログラム記憶手段は、前記処理手段を、前記第１状態検出手段の出力および前記第２状態検出手段の出力の両方に基いてゲーム処理をおこなうゲーム処理手段として機能させるプログラムを記憶した、ゲームシステム。 
【請求項２】
前記ゲーム処理手段は、前記第１状態検出手段の出力および前記第２状態検出手段の出力を合成して、合成後のデータに基いてゲーム処理をおこなう、請求項１に記載のゲームシステム。
【請求項３】
通信可能な複数のゲーム装置によって構成されるゲームシステムであって、  前記複数のゲーム装置は、それぞれ、処理手段と、プレイヤによって把持されるハウジングとを備え、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられ、  前記ハウジングには、それぞれ、当該ハウジングに加えられた加速度、傾き、運動、衝撃の少なくともいずれかを検出する状態検出手段が設けられ、  前記処理手段を、自ゲーム装置が備える前記状態検出手段の出力および当該他ゲーム装置が備える前記状態検出手段の出力の両方に基いてゲーム処理をおこなうゲーム処理手段として機能させるプログラムを記憶した、ゲームシステム。
【請求項４】
仮想平面を含むゲーム空間を表示するための画像データを含む、前記複数のゲーム装置において共通のゲーム空間データ、および  前記処理手段を、前記ゲーム空間データに基づいて前記表示手段に前記仮想平面を表示させるための表示制御手段として機能させるプログラムをさらに記憶し、  前記ゲーム処理手段は、自ゲーム装置が備える前記状態検出手段の出力および前記他ゲーム装置が備える前記状態検出手段の出力の両方に基いて前記仮想平面のゲーム空間における傾きデータを設定し、  前記表示制御手段は、前記傾きデータに基いて、前記仮想平面が傾いた様子を前記表示手段に表示する、請求項３に記載のゲームシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
この発明はゲームシステム及びそれに用いられるゲーム情報記憶媒体に関し、特に携帯ゲーム装置のハウジング又はビデオゲーム装置のコントローラに加えられる傾き，運動又は衝撃等の変化量・変化方向を検出して操作情報としてゲーム処理をおこなう、ゲームシステム及びそれに用いられるゲーム情報記憶媒体に関する。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
従来のゲーム装置における操作は、プレイヤがビデオゲーム機のコントローラ（操作器のハウジング）又は携帯型ゲーム装置のハウジングを両手で把持しつつ、方向指示キー（ジョイスティック）やボタン等の操作スイッチを操作することによって行われていた。例えば、プレイヤが方向指示キーの上下左右の何れか１つの押点を押圧すると、移動（プレイヤ）キャラクタが上下左右の何れか１つの押圧方向に移動し、動作ボタンを操作すると移動キャラクタがジャンプ等の動作ボタンに定義付けされた動作をするように、移動キャラクタの表示状態が変化する。 
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
従来のゲーム操作方法は、プレイヤがゲームソフトの取扱説明書等に示されたゲーム操作方法を覚えることが必要であり、汎用的な操作スイッチを使用するものであるため、プレイヤによる操作スイッチの操作感覚と一致したゲーム空間（又はゲーム画面）の変化を実現できず、操作感覚と画面の表示状態とが対応しない場合もあった。そのため、プレイヤはゲーム操作方法を習得するまでは、ゲームプレイに集中できず、興趣を損なうこともあった。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
それゆえに、この発明の主たる目的は、複数の状態検出手段によってゲーム処理をおこなう、ゲームシステム及びそれ用いられるゲーム情報記憶媒体を提供することである。 
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
第１の発明（請求項１に係る発明）は、ゲームプログラムを記憶するゲームプログラム記憶手段とゲームプログラムを実行する処理手段とを備えるゲーム装置に対して、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられたゲームシステムである。そして、第１ハウジング、第２ハウジング、第１ハウジングに関連して設けられる第１状態検出手段、第２ハウジングに関連して設けられる第２状態検出手段を備える。第１ハウジングと第２ハウジングは独立している。第１状態検出手段と第２状態検出手段は、それぞれ、ハウジングに加えられた加速度、傾き、運動、衝撃の少なくともいずれかを検出する。そして、ゲームプログラム記憶手段は、処理手段を、第１状態検出手段の出力および第２状態検出手段の出力の両方に基いてゲーム処理をおこなうゲーム処理手段として機能させるプログラムを記憶する。 
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
第２の発明（請求項３に係る発明）は、通信可能な複数のゲーム装置によって構成されるゲームシステムである。複数のゲーム装置は、それぞれ、処理手段と、プレイヤによって把持されるハウジングとを備え、処理手段の処理結果に基づく画像を表示する表示手段が関連的に設けられる。ハウジングには、それぞれ、当該ハウジングに加えられた加速度、傾き、運動、衝撃の少なくともいずれかを検出する状態検出手段が設けられる。そして、処理手段を、自ゲーム装置が備える状態検出手段の出力および当該他ゲーム装置が備える状態検出手段の出力の両方に基いてゲーム処理をおこなうゲーム処理手段として機能させるプログラムを記憶する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
この発明によれば、複数の状態検出手段によってゲーム処理をおこなう、ゲームシステムが得られる。