(57)【特許請求の範囲】
【請求項１】
仮想空間内に構成されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置のコンピュータに実行させるためのゲームプログラムであって、
前記仮想空間内に第１の領域を設定する第１領域設定手段と、
前記仮想空間内に第２の領域を設定する第２領域設定手段と、
前記仮想空間内の少なくとも１部にかかる前記ゲーム世界の第１の状態を構成する第１構成情報に基づいて、前記第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する第１オブジェクト生成手段と、
前記第１構成情報が適用される前記仮想空間内の所定の位置と同じ位置について前記第１の状態とは異なる第２の状態を構成する第２構成情報に基づいて、前記第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する第２オブジェクト生成手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項２】
プレイヤによる操作装置への操作に応じて、前記第１の領域を動的に変化させる第１領域変化手段として前記コンピュータをさらに機能させる、請求項１に記載のゲームプログラム。
【請求項３】
プレイヤによる操作装置への操作に応じて、前記第１の領域の基準位置を決定する基準位置決定手段として前記コンピュータをさらに機能させ、
前記第１領域設定手段は、前記基準位置を基準として前記第１の領域を設定する、請求項１または２に記載のゲームプログラム。
【請求項４】
前記第１オブジェクトおよび第２オブジェクトは前記ゲーム世界のフィールドおよび地形を構成するためのフィールド地形オブジェクトであり、
前記第１オブジェクト生成手段により生成されたフィールド地形オブジェクトと前記第２オブジェクト生成手段により生成されたフィールド地形オブジェクトとに基づいて、前記地形オブジェクト以外のプレイヤオブジェクトまたはノンプレイヤオブジェクトが配置可能なゲーム世界のフィールドおよび地形を生成するゲーム世界生成手段として前記コンピュータをさらに機能させる、請求項１ないし３のいずれか１項に記載のゲームプログラム。
【請求項５】
前記第１オブジェクトおよび前記第２オブジェクトにはそれぞれ識別情報が設定されており、
前記プレイヤオブジェクトまたはノンプレイヤオブジェクトが配置されている第１オブジェクトあるいは第２オブジェクトの識別情報を取得し、取得した識別情報に基づいて、前記プレイヤオブジェクトまたはノンプレイヤオブジェクトの挙動または状態を決定する決定手段として前記コンピュータをさらに機能させる、請求項４に記載のゲームプログラム。
【請求項６】
前記ゲーム世界のフィールドまたは地形上に配置された前記プレイヤオブジェクトの動作をプレイヤの操作に応じて制御するプレイヤオブジェクト動作制御手段として前記コンピュータを更に機能させる、請求項４に記載のゲームプログラム。
【請求項７】
前記ノンプレイヤオブジェクトは、前記第１の領域内に配置されるときと前記第２の領域内に配置されるときとで異なる属性が設定される、請求項４に記載のゲームプログラム。
【請求項８】
前記第１構成情報に基づいて前記ゲーム世界を表す２次元マップを生成する２次元マップ生成手段、
前記生成された２次元マップを表示する２次元マップ表示手段として前記コンピュータを更に機能させる、請求項１ないし７のいずれか１項に記載のゲームプログラム。
【請求項９】
前記ゲームの実行開始時は、前記ゲーム世界は前記第２の領域として設定された状態でゲームが開始され、
前記第１領域設定手段は、前記第２の領域として設定されている領域のうち、少なくとも一部の領域についての前記第１の領域への設定をプレイヤの操作に応じて開始する、請求項１ないし８のいずれか１項に記載のゲームプログラム。
【請求項１０】
前記第１領域設定手段は、前記第１の領域の設定を開始するための設定開始オブジェクトが前記ゲーム世界の所定の場所に配置されたときに前記第１の領域の設定を開始する、請求項１ないし８のいずれか１項に記載のゲームプログラム。
【請求項１１】
前記第１領域設定手段は、前記設定開始オブジェクトの位置を基準として前記第１の領域の位置を設定する、請求項１０に記載のゲームプログラム。
【請求項１２】
前記設定開始オブジェクトは、プレイヤの操作に応じて動作が制御される前記プレイヤオブジェクトを介して移動可能なオブジェクトである、請求項１０に記載のゲームプログラム。
【請求項１３】
前記第１領域設定手段は、前記設定開始オブジェクトに対する前記プレイヤオブジェクトの所定の行動が行われたときに、前記第１の領域の設定を開始する、請求項１０に記載のゲームプログラム。
【請求項１４】
前記第１領域設定手段によって前記第１の領域が設定されてから所定時間経過したときに当該第１の領域の設定を解除する領域解除手段として前記コンピュータを更に機能させる、請求項１ないし１３のいずれか１項に記載のゲームプログラム。
【請求項１５】
前記第１領域設定手段によって第１の領域が設定されたとき、当該第１の領域と前記第２の領域の境界の少なくとも１部が含まれるようなゲーム画面を生成して表示するゲーム画面表示手段として前記コンピュータを更に機能させる、請求項１ないし１４のいずれか１項に記載のゲームプログラム。
【請求項１６】
前記第１の状態および前記第２の状態の少なくともいずれかに存在するオブジェクトの前記仮想空間内の位置を取得する位置取得手段と、
前記位置取得手段によって取得された位置が第１の領域内か第２の領域内にあるかを判別する領域判別手段として前記コンピュータを更に機能させ、
前記第１オブジェクト生成手段は、前記領域判別手段によって前記取得された位置が第１の領域内にあると判別されたときに、前記第１構成情報に基づいて、前記第１オブジェクトを生成し、
前記第２オブジェクト生成手段は、前記領域判別手段によって前記取得された位置が第２の領域内にあると判別されたときに、前記第２構成情報に基づいて、前記第２オブジェクトを生成する、請求項１に記載のゲームプログラム。
【請求項１７】
仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲームシステムであって、
前記仮想空間内に第１の領域を設定する第１領域設定手段と、
前記仮想空間内に第２の領域を設定する第２領域設定手段と、
前記仮想空間内の少なくとも１部にかかる前記ゲーム世界の第１の状態を構成する第１構成情報に基づいて、前記第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する第１オブジェクト生成手段と、
前記仮想空間において前記第１構成情報が適用される所定の位置と同じ位置について前記第１の状態とは異なる第２の状態を構成する第２構成情報に基づいて、前記第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する第２オブジェクト生成手段とを備える、ゲームシステム。
【請求項１８】
仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置であって、
前記仮想空間内に第１の領域を設定する第１領域設定手段と、
前記仮想空間内に第２の領域を設定する第２領域設定手段と、
前記仮想空間内の少なくとも１部にかかる前記ゲーム世界の第１の状態を構成する第１構成情報に基づいて、前記第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する第１オブジェクト生成手段と、
前記仮想空間において前記第１構成情報が適用される所定の位置と同じ位置について前記第１の状態とは異なる第２の状態を構成する第２構成情報に基づいて、前記第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する第２オブジェクト生成手段とを備える、ゲーム装置。
【請求項１９】
仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置のゲーム制御方法であって、
前記仮想空間内に第１の領域を設定する第１領域設定ステップと、
前記仮想空間内に第２の領域を設定する第２領域設定ステップと、
前記仮想空間内の少なくとも１部にかかる前記ゲーム世界の第１の状態を構成する第１構成情報に基づいて、前記第１領域設定ステップにおいて設定された第１の領域内に配置される第１オブジェクトを生成する第１オブジェクト生成ステップと、
前記仮想空間において前記第１構成情報が適用される所定の位置と同じ位置について前記第１の状態とは異なる第２の状態を構成する第２構成情報に基づいて、前記第２領域設定ステップにおいて設定された第２の領域内に配置される第２オブジェクトを生成する第２オブジェクト生成ステップとを備える、ゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内においてプレイヤオブジェクトを操作するゲームプログラムに関し、より特定的には、仮想空間内に構成されるゲーム世界を構成する処理の制御に関する。
【背景技術】
【０００２】
従来より、仮想３次元空間内のキャラクタをプレイヤが操作することでゲームを進行させるゲーム装置が知られている（例えば、特許文献１）。このゲーム装置では、プレイヤは、画面に表示されている仮想３次元空間を見ながらキャラクタを操作する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７９０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記ゲーム装置においては、画面に表示されている範囲内においては、キャラクタがどのような挙動をするか容易に予測できるものとなっている。例えば、表示範囲内において、どこがキャラクタが進入できる領域であり、どこが進入できない領域であるかは画面を見ただけで、プレイヤが容易に把握できるものとなっていた。この点について、発明者は、ゲームの興趣性を向上させる余地があることを発見した。
【０００５】
それ故に、本発明の目的は、ゲーム展開の意外性を高め、ひいてはゲームの興趣性を高めることのできるゲームプログラム、ゲーム装置、ゲーム制御方法、ゲームシステムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は以下のような構成を採用した。
【０００７】
第１の発明は、仮想空間内に構成されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置のコンピュータに実行させるためのゲームプログラムであって、コンピュータを、第１領域設定手段、第２領域設定手段、第１オブジェクト生成手段、第２オブジェクト生成手段として機能させる。第１領域設定手段は、仮想空間内に第１の領域を設定する。第２領域設定手段は、仮想空間内に第２の領域を設定する。第１オブジェクト生成手段は、前記仮想空間内の少なくとも１部にかかるゲーム世界の第１の状態を構成する第１構成情報に基づいて、第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する。第２オブジェクト生成手段は、仮想空間におけるゲーム世界の第１の状態とは異なる第２の状態を構成し、第１構成情報が存在する仮想空間内の所定の位置において存在する第２構成情報に基づいて、第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する。
【０００８】
第１の発明によれば、仮想空間内の所定の位置に設定される領域が第１の領域か第２の領域かによって異なる構成情報を用いてオブジェクトが生成されることにより、仮想空間内の同じ位置であっても状況に応じて異なるゲーム世界の状態が生成されることになるため、意外性のあるゲーム展開を提供することができる。
【０００９】
第２の発明は、第１の発明において、プレイヤによる操作装置への操作に応じて、第１の領域を動的に変化させる第１領域変化手段としてコンピュータをさらに機能させる。
【００１０】
第２の発明によれば、プレイヤの操作に応じて第１の領域の位置や大きさなどを変化させることができ、ゲームの興趣性を高めることができる。
【００１１】
第３の発明は、第１または第２の発明において、プレイヤによる操作装置への操作に応じて、第１の領域の基準位置を決定する基準位置決定手段としてコンピュータをさらに機能させる。そして、第１領域設定手段は、基準位置を基準として第１の領域を設定する。
【００１２】
第３の発明によれば、プレイヤが所望する位置に第１の領域を設定することが可能となり、ゲームの興趣性を高めることができる。
【００１３】
第４の発明は、第１乃至第３の発明の何れかの発明において、前記第１オブジェクトおよび第２オブジェクトは前記ゲーム世界のフィールドおよび地形を構成するためのフィールド地形オブジェクトである。そして、第１オブジェクト生成手段により生成されたフィールド地形オブジェクトと第２オブジェクト生成手段により生成されたフィールド地形オブジェクトとに基づいて、地形オブジェクト以外のプレイヤオブジェクトまたはノンプレイヤオブジェクトが配置可能なゲーム世界のフィールドおよび地形を生成するゲーム世界生成手段としてコンピュータをさらに機能させる。
【００１４】
第４の発明によれば、ゲーム世界の第１の状態における地形と第２の状態における地形が合成されたフィールドおよび地形を生成することができる。これにより、仮想空間内の同じ位置であってもプレイヤオブジェクトが動作するゲーム世界のフィールドや地形が領域の設定によって異なるため、意外性のあるゲーム展開を提供することができる。
【００１５】
第５の発明は、第４の発明において、前記第１オブジェクトおよび前記第２オブジェクトにはそれぞれ識別情報が設定されている。そして、プレイヤオブジェクトまたはノンプレイヤオブジェクトが配置されている第１オブジェクトあるいは第２オブジェクトの識別情報を取得し、当該取得した識別情報に基づいて、プレイヤオブジェクトまたはノンプレイヤオブジェクトの挙動または状態を決定する決定手段としてコンピュータをさらに機能させる。
【００１６】
第５の発明によれば、オブジェクトが位置するフィールドや地形にオブジェクトの挙動や状態を決定するための識別情報が設定されているため、オブジェクトの挙動や状態を簡易でかつ多様に変化させることができる。
【００１７】
第６の発明は、第４の発明において、ゲーム世界のフィールドまたは地形上に配置されたプレイヤオブジェクトの動作をプレイヤの操作に応じて制御するプレイヤオブジェクト動作制御手段としてコンピュータを更に機能させる。
【００１８】
第６の発明によれば、ゲーム世界の第１の状態における地形と第２の状態における地形が合成されたフィールドおよび地形上でプレイヤオブジェクトを操作することが可能となる。
【００１９】
第７の発明は、第４の発明において、ノンプレイヤオブジェクトは、第１の領域内に配置されるときと第２の領域内に配置されるときとで異なる属性が設定される。
【００２０】
第７の発明によれば、領域上におけるゲーム世界の状態（第１の状態あるいは第２の状態）に応じてオブジェクトの属性を変化させることができ、ゲームの興趣性を高めることができる。
【００２１】
第８の発明は、第１乃至第８の発明のいずれかの発明において、第１構成情報に基づいてゲーム世界を表す２次元マップを生成する２次元マップ生成手段と、生成された２次元マップを表示する２次元マップ表示手段としてコンピュータを更に機能させる。
【００２２】
第８の発明によれば、ゲーム世界の第１の状態が示された２次元マップをプレイヤに参照させながら第２の状態であるゲーム世界上でゲーム進行させることが可能となる。これにより、どの場所で第１の領域を設定すればよいか等につきプレイヤにヒントを与えることができ、ゲームの興趣性を高めることができる。
【００２３】
第９の発明は、第１乃至第８の発明のいずれかの発明において、ゲームの実行開始時は、ゲーム世界は第２の領域として設定された状態でゲームが開始される。そして、第１領域設定手段は、第２の領域として設定されている領域のうち、少なくとも一部の領域についての第１の領域への設定をプレイヤの操作に応じて開始する。
【００２４】
第９の発明によれば、プレイヤが所望するタイミングで第１の領域の設定を開始することが可能となり、ゲームの興趣性を高めることができる。
【００２５】
第１０の発明は、第１乃至第８の発明のいずれかの発明において、第１領域設定手段は、前記第１の領域の設定を開始するための設定開始オブジェクトが前記ゲーム世界の所定の場所に配置されたときに前記第１の領域の設定を開始する。
【００２６】
第１１の発明は、第１０の発明において、第１領域設定手段は、設定開始オブジェクトの位置を基準として第１の領域の位置を設定する。
【００２７】
第１２の発明は、設定開始オブジェクトは、プレイヤの操作に応じて動作が制御されるプレイヤオブジェクトを介して移動可能なオブジェクトである。
【００２８】
第１３の発明は、第１０の発明において、第１領域設定手段は、設定開始オブジェクトに対するプレイヤオブジェクトの所定の行動が行われたときに、第１の領域の設定を開始する。
【００２９】
第１０乃至第１３の発明によれば、ゲームの興趣性を高めることができる。
【００３０】
第１４の発明は、第１乃至第１３の発明のいずれかの発明において、第１領域手段によって第１の領域が設定されてから所定時間経過したときに当該第１の領域の設定を解除する領域解除手段としてコンピュータを更に機能させる。
【００３１】
第１４の発明によれば、第１の領域の出現時間に制限時間が設定でき、ゲームの興趣性を向上させることが可能となる。
【００３２】
第１５の発明は、第１乃至第１４の発明のいずれかの発明において、第１領域手段によって第１の領域が設定されたとき、当該第１の領域と第２の領域の境界の少なくとも１部が含まれるようなゲーム画面を生成して表示するゲーム画面表示手段としてコンピュータを更に機能させる。
【００３３】
第１５の発明によれば、１ゲーム画面内に異なる２つの世界状態が表示されるため、プレイヤに２つの世界状態を見させながらゲームを進行させることができ、ゲーム展開の意外性を高めてゲームの興趣性を向上させることができる。
【００３４】
第１６の発明は、第１の発明において、位置取得手段と領域判別手段としてコンピュータを更に機能させる。位置取得手段は、第１の状態および第２の状態の少なくともいずれかに存在するオブジェクトの仮想空間内の位置を取得する。領域判別手段は、位置取得手段によって取得された位置が第１の領域内か第２の領域内にあるかを判別する。そして、第１オブジェクト生成手段は、領域判別手段によって取得された位置が第１の領域内にあると判別されたときに、第１構成情報に基づいて第１オブジェクトを生成する。更に、第２オブジェクト生成手段は、領域判別手段によって取得された位置が第２の領域内にあると判別されたときに、第２構成情報に基づいて第２オブジェクトを生成する。
【００３５】
第１６の発明によれば、仮想空間内の所定の位置に設定される領域が第１の領域か第２の領域かによって、異なる構成情報に基づいてオブジェクトが生成される。これにより、仮想空間内の同じ位置であっても、状況に応じて異なる制御が行われるオブジェクトが生成されることになるため、意外性のあるゲーム展開を提供することができる。
【００３６】
第１７の発明は、仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲームシステムであって、第１領域設定手段と第２領域設定手段と第１オブジェクト生成手段と第２オブジェクト生成手段とを備える。第１領域設定手段は、仮想空間内に第１の領域を設定する。第２領域設定手段は、仮想空間内に第２の領域を設定する。第１オブジェクト生成手段は、仮想空間におけるゲーム世界の第１の状態を構成する第１構成情報に基づいて、第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する。第２オブジェクト生成手段は、仮想空間におけるゲーム世界の第１の状態とは異なる第２の状態を構成し、第１構成情報が存在する仮想空間内の所定の位置において存在する第２構成情報に基づいて、第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する。
【００３７】
第１８の発明は、仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置であって、第１領域設定手段と第２領域設定手段と第１オブジェクト生成手段と第２オブジェクト生成手段とを備える。第１領域設定手段は、仮想空間内に第１の領域を設定する。第２領域設定手段は、仮想空間内に第２の領域を設定する。第１オブジェクト生成手段は、仮想空間におけるゲーム世界の第１の状態を構成する第１構成情報に基づいて、第１領域設定手段により設定された第１の領域内に配置される第１オブジェクトを生成する。第２オブジェクト生成手段は、仮想空間におけるゲーム世界の第１の状態とは異なる第２の状態を構成し、第１構成情報が存在する仮想空間内の所定の位置において存在する第２構成情報に基づいて、第２領域設定手段により設定された第２の領域内に配置される第２オブジェクトを生成する。
【００３８】
第１９の発明は、仮想空間内に構築されたゲーム世界においてプレイヤオブジェクトを操作するゲームを実行するゲーム装置の制御方法であって、第１領域設定ステップと第２領域設定ステップと第１オブジェクト生成ステップと第２オブジェクト生成ステップとを備える。第１領域設定ステップは、仮想空間内に第１の領域を設定する。第２領域設定ステップは、仮想空間内に第２の領域を設定する。第１オブジェクト生成ステップは、仮想空間におけるゲーム世界の第１の状態を構成する第１構成情報に基づいて、第１領域設定ステップにおいて設定された第１の領域内に配置される第１オブジェクトを生成する。第２オブジェクト生成ステップは、仮想空間におけるゲーム世界の第１の状態とは異なる第２の状態を構成し、第１構成情報が存在する仮想空間内の所定の位置において存在する第２構成情報に基づいて、第２領域設定ステップにおいて設定された第２の領域内に配置される第２オブジェクトを生成する。
【００３９】
第１７乃至第１９の発明によれば、第１の発明と同様の効果を得ることができる。
【発明の効果】
【００４０】
本発明によれば、ゲーム展開の意外性を高め、ひいてはゲームの興趣性を高めることができる。
【図面の簡単な説明】
【００４１】
【図１】ゲームシステム１の外観図
【図２】ゲーム装置３の構成を示すブロック図
【図３】入力装置８の外観構成を示す斜視図
【図４】コントローラ５の外観構成を示す斜視図
【図５】コントローラ５の内部構造を示す図
【図６】コントローラ５の内部構造を示す図
【図７】入力装置８の構成を示すブロック図
【図８】本実施形態で想定するゲーム画面の一例
【図９】本実施形態で想定するゲーム画面の一例
【図１０】図８の状態を鳥瞰した場合の模式図
【図１１】図９の状態を鳥瞰した場合の模式図
【図１２】転移領域を示す模式図
【図１３】本実施形態で想定するゲーム画面の一例
【図１４】本実施形態で想定するゲーム画面の一例
【図１５】本実施形態で想定するゲーム画面の一例
【図１６】本実施形態で想定するゲーム画面の一例
【図１７】本実施形態で想定するゲーム画面の一例
【図１８】本実施形態で想定するゲーム画面の一例
【図１９】本実施形態で想定するゲーム画面の一例
【図２０】ゲーム装置３のメインメモリ１２のメモリマップを示す図
【図２１】第１エリアデータ１２６ａのデータ構造の一例を示す図
【図２２】オブジェクト識別データ１４１のデータ構造の一例
【図２３】現在オブジェクトマスタ１４３のデータ構造の一例
【図２４】過去オブジェクトマスタ１４５のデータ構造の一例
【図２５】本実施形態にかかるゲーム処理を示すフローチャート
【図２６】図２５のステップＳ９で示した転移中処理の詳細を示すフローチャート
【図２７】図２６のステップＳ２９で示した非動作系オブジェクト処理の詳細を示すフローチャート
【図２８】断面加工処理について説明するための図
【図２９】断面加工処理について説明するための図
【図３０】図２６のステップＳ３０で示した動作系オブジェクト処理の詳細を示すフローチャート
【図３１】３つの世界状態を１つのゲーム画面に表示する場合を示す図
【図３２】「地形コード」に基づいて処理する場合に用いるテーブルの例
【図３３】「地形コード」に基づいて処理する場合に用いるテーブルの例
【発明を実施するための形態】
【００４２】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００４３】
［ゲームシステムの全体構成］
図１を参照して、本発明の一実施形態に係るゲーム装置の一例であるゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、入力装置８、およびマーカ部６を含む。本システムは、入力装置８を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００４４】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されているゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００４５】
ゲーム装置３には、表示装置の一例であるテレビ２が接続コードを介して接続される。テレビ２は、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ２の画面の周辺（図１では画面の上側）には、マーカ部６が設置される。マーカ部６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒ（マーカ６Ｌも同様）は、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。マーカ部６はゲーム装置３に接続されており、ゲーム装置３はマーカ部６が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００４６】
入力装置８は、自機に対して行われた操作の内容を示す操作データをゲーム装置３に与えるものである。本実施形態では、入力装置８はコントローラ５とジャイロセンサユニット７とを含む。詳細は後述するが、入力装置８は、コントローラ５に対してジャイロセンサユニット７が着脱可能に接続されている構成である。コントローラ５とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。
【００４７】
［ゲーム装置３の内部構成］
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の構成を示すブロック図である。ゲーム装置３は、ＣＰＵ１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００４８】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００４９】
また、システムＬＳＩ１１には、入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００５０】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。
【００５１】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００５２】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、画像がテレビ２に表示されるとともに音がスピーカ２ａから出力される。
【００５３】
入出力プロセッサ１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、およびメモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００５４】
入出力プロセッサ１１ａは、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００５５】
また、入出力プロセッサ１１ａは、コントローラ５から送信される操作データをアンテナ２３および無線コントローラモジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００５６】
さらに、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【００５７】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置３の各構成要素に対して、図示しないＡＣアダプタを経て電源が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００５８】
［入力装置８の構成］
次に、図３〜図６を参照して、入力装置８について説明する。図３は、入力装置８の外観構成を示す斜視図である。図４は、コントローラ５の外観構成を示す斜視図である。図３は、コントローラ５の上側後方から見た斜視図であり、図４は、コントローラ５を下側前方から見た斜視図である。
【００５９】
図３および図４において、コントローラ５は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。プレイヤは、コントローラ５に設けられたボタンを押下すること、および、コントローラ５自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
【００６０】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字ボタン３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。本明細書では、これらのボタン３２ａ〜３２ｈが設けられるハウジング３１の上面を「ボタン面」と呼ぶことがある。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。ホームボタン３２ｆおよび電源ボタン３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、プレイヤがホームボタン３２ｆまたは電源ボタン３２ｈを誤って押下することを防止することができる。
【００６１】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、コントローラ５に他の機器（例えば、ジャイロセンサユニット７や他のコントローラ）を接続するために利用される。また、ハウジング３１の後面におけるコネクタ３３の両側には、上記他の機器が容易に離脱することを防止するために係止穴３３ａが設けられている。
【００６２】
ハウジング３１上面の後方には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５には、他のメインコントローラと区別するためにコントローラ種別（番号）が付与される。各ＬＥＤ３４ａ〜３４ｄは、コントローラ５に現在設定されている上記コントローラ種別をプレイヤに通知したり、コントローラ５の電池残量をプレイヤに通知したりする等の目的で用いられる。具体的には、コントローラ５を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００６３】
また、コントローラ５は撮像情報演算部３５（図６）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００６４】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、コントローラ５に内蔵されるスピーカ４９（図５）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００６５】
次に、図５および図６を参照して、コントローラ５の内部構造について説明する。図５および図６は、コントローラ５の内部構造を示す図である。なお、図５は、コントローラ５の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６は、コントローラ５の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６に示す斜視図は、図５に示す基板３０を裏面から見た斜視図となっている。
【００６６】
図５において、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４９等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図６参照）に接続される。本実施形態では、加速度センサ３７は、Ｘ軸方向に関してコントローラ５の中心からずれた位置に配置されている。これによって、コントローラ５をＺ軸回りに回転させたときのコントローラ５の動きが算出しやすくなる。また、加速度センサ３７は、長手方向（Ｚ軸方向）に関してコントローラ５の中心よりも前方に配置されている。また、無線モジュール４４（図６）およびアンテナ４５によって、コントローラ５がワイヤレスコントローラとして機能する。
【００６７】
一方、図６において、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、コントローラ５の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を備えている。これらの部材３８〜４１はそれぞれ基板３０の下主面に取り付けられる。
【００６８】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４８が設けられている。バイブレータ４８は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４８が作動することによってコントローラ５に振動が発生する。これによって、コントローラ５を把持しているプレイヤの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４８は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４８がコントローラ５の中心よりも端側に配置することによって、バイブレータ４８の振動によりコントローラ５全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５および図６に示す他、コントローラ５は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４９に音声信号を出力するアンプ等を備えている。
【００６９】
また、ジャイロセンサユニット７は、３軸回りの角速度を検知するジャイロセンサ（図７に示すジャイロセンサ５５および５６）を有する。ジャイロセンサユニット７は、コントローラ５のコネクタ３３に着脱可能に装着される。ジャイロセンサユニット７の前端（図３に示すＺ軸正方向側の端部）には、コネクタ３３に接続可能なプラグ（図７に示すプラグ５３）が設けられる。さらに、プラグ５３の両側にはフック（図示せず）が設けられる。ジャイロセンサユニット７がコントローラ５に対して装着される状態では、プラグ５３がコネクタ３３に接続されるとともに、上記フックがコントローラ５の係止穴３３ａに係止する。これによって、コントローラ５とジャイロセンサユニット７とがしっかりと固定される。また、ジャイロセンサユニット７は側面（図３に示すＸ軸方向の面）にボタン５１を有している。ボタン５１は、それを押下すれば上記フックの係止穴３３ａに対する係止状態を解除することができるように構成されている。したがって、ボタン５１を押下しながらプラグ５３をコネクタ３３から抜くことによって、ジャイロセンサユニット７をコントローラ５から離脱することができる。
【００７０】
また、ジャイロセンサユニット７の後端には、上記コネクタ３３と同形状のコネクタが設けられる。したがって、コントローラ５（のコネクタ３３）に対して装着可能な他の機器は、ジャイロセンサユニット７のコネクタに対しても装着可能である。なお、図３においては、当該コネクタに対してカバー５２が着脱可能に装着されている。
【００７１】
なお、図３〜図６に示したコントローラ５およびジャイロセンサユニット７の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、本実施形態では、撮像手段による撮像方向はＺ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【００７２】
図７は、入力装置８（コントローラ５およびジャイロセンサユニット７）の構成を示すブロック図である。コントローラ５は、操作部３２（各操作ボタン３２ａ〜３２ｉ）、コネクタ３３、撮像情報演算部３５、通信部３６、および加速度センサ３７を備えている。コントローラ５は、自機に対して行われた操作内容を示すデータを操作データとしてゲーム装置３へ送信するものである。
【００７３】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉを含み、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を示す操作ボタンデータを通信部３６のマイコン４２へ出力する。
【００７４】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００７５】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、テレビ２の表示画面近傍に配置されるマーカ部６のマーカ６Ｒおよび６Ｌは、テレビ２の前方に向かって赤外光を出力する赤外ＬＥＤで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、マーカ６Ｒおよび６Ｌの画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象（マーカ６Ｒおよび６Ｌ）の位置を算出する。画像処理回路４１は、算出された位置を示す座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（傾斜角度）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。
【００７６】
なお、他の実施形態においては、コントローラ５は画像処理回路４１を備えていない構成であってもよく、撮像画像自体がコントローラ５からゲーム装置３へ送信されてもよい。このとき、ゲーム装置３は、画像処理回路４１と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【００７７】
加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、３軸または２軸の加速度センサは、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能である種類のものでもよい。なお、加速度センサ３７は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【００７８】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、入力装置８（コントローラ５）を基準に設定されるＸＹＺ座標系（コントローラ座標系）における３次元のベクトル（ａｘ，ａｙ，ａｚ）として表される。以下では、加速度センサ３７によって検出される３軸に関する各加速度値を各成分とするベクトルを加速度ベクトルと呼ぶ。
【００７９】
加速度センサ３７が検出した加速度を示すデータ（加速度データ）は、通信部３６へ出力される。なお、加速度センサ３７が検出した加速度は、コントローラ５自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置３は加速度データを用いてコントローラ５の向きや動きを算出することができる。本実施形態では、ゲーム装置３は、加速度データに基づいてコントローラ５の姿勢を判断する。
【００８０】
加速度センサ３７が検出した加速度（加速度ベクトル）を示すデータ（加速度データ）は、通信部３６へ出力される。本実施形態において、加速度センサ３７は、コントローラ５の傾斜角度を判断するためのデータを出力するセンサとして用いられる。
【００８１】
なお、加速度センサ３７から出力される加速度の信号に基づいて、ゲーム装置３のプロセッサ（例えばＣＰＵ１０）またはコントローラ５のプロセッサ（例えばマイコン４２）等のコンピュータが処理を行うことによって、コントローラ５に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ３７を搭載するコントローラ５が静止状態であることを前提としてコンピュータ側の処理が実行される場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合）、コントローラ５が現実に静止状態であれば、検出された加速度に基づいてコントローラ５の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ３７の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かによって、コントローラ５が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ３７の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ５がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ３７からの出力に基づいてコントローラ５の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ５の傾斜方向を算出するようにしてもよい。このように、加速度センサ３７をプロセッサと組み合わせて用いることによって、コントローラ５の傾斜角度または姿勢を判定することができる。
【００８２】
一方、コントローラ５が動的な状態（コントローラ５が動かされている状態）であることを前提とする場合には、加速度センサ３７は重力加速度に加えてコントローラ５の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ５の動き方向を知ることができる。また、コントローラ５が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ５の傾きを知ることが可能である。なお、他の実施例では、加速度センサ３７は、内蔵の加速度検出手段で検出された加速度信号をマイコン４２に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ３７が静的な加速度（例えば、重力加速度）を検出するために用いられる場合、加速度信号を傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８３】
通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータをゲーム装置３へ無線送信する無線モジュール４４を制御する。また、マイコン４２はコネクタ３３に接続されている。ジャイロセンサユニット７から送信されてくるデータは、コネクタ３３を介してマイコン４２に入力される。以下、ジャイロセンサユニット７の構成について説明する。
【００８４】
ジャイロセンサユニット７は、プラグ５３、マイコン５４、２軸ジャイロセンサ５５、および１軸ジャイロセンサ５６を備えている。上述のように、ジャイロセンサユニット７は、３軸（本実施形態では、ＸＹＺ軸）周りの角速度を検出し、検出した角速度を示すデータ（角速度データ）をコントローラ５へ送信する。
【００８５】
２軸ジャイロセンサ５５は、Ｘ軸周りの角速度およびＹ軸周りの（単位時間あたりの）角速度を検出する。また、１軸ジャイロセンサ５６は、Ｚ軸周りの（単位時間あたりの）角速度を検出する。なお、本明細書では、コントローラ５の撮像方向（Ｚ軸正方向）を基準として、ＸＹＺ軸周りの回転方向を、それぞれ、ロール方向、ピッチ方向、ヨー方向と呼ぶ。すなわち、２軸ジャイロセンサ５５は、ロール方向（Ｘ軸周りの回転方向）およびピッチ方向（Ｙ軸周りの回転方向）の角速度を検出し、１軸ジャイロセンサ５６は、ヨー方向（Ｚ軸周りの回転方向）の角速度を検出する。
【００８６】
なお、本実施形態では、３軸回りの角速度を検出するために、２軸ジャイロセンサ５５と１軸ジャイロセンサ５６とを用いる構成としたが、他の実施形態においては、３軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。
【００８７】
また、本実施形態では、後述する姿勢算出処理における計算を容易にする目的で、各ジャイロセンサ５５および５６が角速度を検出する３つの軸は、加速度センサ３７が加速度を検出する３つの軸（ＸＹＺ軸）と一致するように設定される。ただし、他の実施形態においては、各ジャイロセンサ５６および５７が角速度を検出する３つの軸と、加速度センサ３７が加速度を検出する３つの軸とは一致しなくてもよい。
【００８８】
各ジャイロセンサ５５および５６で検出された角速度を示すデータは、マイコン５４に出力される。したがって、マイコン５４には、ＸＹＺ軸の３軸回りの角度速度を示すデータが入力されることになる。マイコン５４は、上記３軸回りの角速度を示すデータを角速度データとしてプラグ５３を介してコントローラ５へ送信する。なお、マイコン５４からコントローラ５への送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。
【００８９】
コントローラ５の説明に戻り、操作部３２、撮像情報演算部３５、および加速度センサ３７からマイコン４２へ出力されたデータ、ならびに、ジャイロセンサユニット７からマイコン４２へ送信されてきたデータは、一時的にメモリ４３に格納される。これらのデータは、上記操作データとしてゲーム装置３へ送信される。すなわち、マイコン４２は、ゲーム装置３の無線コントローラモジュール１９への送信タイミングが到来すると、メモリ４３に格納されている操作データを無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側の無線コントローラモジュール１９で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部３６から無線コントローラモジュール１９への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ５の通信部３６は、例えば１／２００秒に１回の割合で各操作データをゲーム装置３の無線コントローラモジュール１９へ出力する。
【００９０】
上記コントローラ５を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ５を任意の傾斜角度に傾ける操作を行うことができる。その他、上記コントローラ５によれば、プレイヤは、コントローラ５によって画面上の任意の位置を指示する操作、および、コントローラ５自体を動かす操作を行うこともできる。
【００９１】
次に、本実施形態におけるゲームおよび実行される処理の概要を説明する。本実施形態で想定する処理では、仮想３次元ゲーム空間（以下、単に仮想ゲーム空間と呼ぶ）内にゲームの舞台となる仮想ゲーム世界（以下、単にゲーム世界と呼ぶ）を構築するが、この仮想ゲーム世界に関して２つの「世界状態」を定義しておく。２つの「世界状態」とは、例えば、「現在の世界」と「過去の世界」のような、仮想空間内における場所としては同じ場所ではあるが、そこに構築される世界の内容が異なっているようなものを言う。構築される世界の内容とは、例えば、その場所における地形の状態や属性、仮想的な天候状態、その場所におけるオブジェクトの外観や挙動、属性等が挙げられる。本実施形態では、このような「２つの状態」を定義したデータを用意しておく。そして、通常は、仮想ゲーム空間内の全領域について「第１の状態」のデータに基づいた世界を構築し、ゲームを進行させる。しかし、ゲーム中において所定の条件が満たされたとき、上記仮想ゲーム空間内の一部の領域について、「第２の状態」を定義したデータに基づいた世界を構築する。つまり、１つの仮想ゲーム空間内に「第１の状態」と「第２の状態」が併存した状態となる。また、このような２つの世界状態が併存する時間には制限時間が設けられている。そして、本実施形態では、このような２つの世界状態が同じゲーム画面上に表示されるように処理を行う。つまり、上記２つの領域の境界部分がゲーム画面に含まれるようなゲーム画面を生成する。その結果、プレイヤに、２つの世界状態を見ながらゲームを進行させることができる。これにより、例えば、進入することができないとプレイヤが思っていた場所が、上記のように世界の状態が変化することで進入できるようになる等して、ゲーム展開の意外性を高め、ひいてはゲームの興趣性を高めることができる。
【００９２】
以下、図面を用いて、上記の内容をより具体的に説明する。図８は、本実施形態で想定するゲーム画面の一例である。図８では、仮想３次元空間として構築されたゲーム世界が表示されており、プレイヤの操作対象となるプレイヤオブジェクト１０１も表示されている。また、プレイヤオブジェクト１０１の前方には、クリスタルオブジェクト１０２が表示されている。また、図示しない仮想カメラは、基本的には、プレイヤオブジェクトの後方に配置され、プレイヤオブジェクト１０１を追尾するようにその位置等が制御されている。
【００９３】
ここで、本実施形態で想定するゲーム世界には、上述したような２つの「世界状態」が設定されている。具体的には、１つめは「現在の世界」であり、２つめは「過去の世界」である。また、本実施形態では、ゲームの設定上、「現在の世界」は、荒野の世界として設定・定義されており、「過去の世界」は、緑で覆われた世界として予め設定・定義されているものとする。本ゲームでは、基本的には、「現在の世界」を舞台としてゲームを進行させる。つまり、図８の状態では、ゲーム画面に表示されているゲーム世界の領域２１１はすべて「現在の世界」である。但し、以下のような所定の操作を行う（あるいは、所定の条件が満たされる）ことで、上記「現在の世界」の領域の一部が「過去の世界」に変化する。
【００９４】
具体的には、上記クリスタルオブジェクト１０２が、上記領域の一部を変化させるスイッチとなっている。このスイッチ（以下ではクリスタルスイッチと呼ぶ）をオンにする操作が行われると（例えば、プレイヤオブジェクト１０１がクリスタルオブジェクト１０２を攻撃する、あるいは叩く等）、図９に示すように、現在の世界の一部分の領域２２１が「過去の世界」となる。ここで、本ゲームにおいては、「過去の世界」がこの領域内に「転移される」という設定である。そのため、以下の説明では、領域２２１を転移領域２２１と呼ぶ。図１０および図１１は、上記図８および図９の状態を鳥瞰した場合の模式図である。図１０は、上記図８の状態に対応するものであり、ゲーム空間のすべての領域２１１が「現在の世界」である。一方、図１１は、上記図９の状態に対応しており、円形の転移領域２２１の内側は「過去の世界」であり、円の外側の領域２１１は「現在の世界」となっている。つまり、上記クリスタルスイッチをオンにすると、クリスタルオブジェクト１０２の位置を中心（基準位置）とする円形の転移領域２２１が算出され、この転移領域２２１内は「過去の世界」として設定される。そして、転移領域２２１内には、「過去の世界」が構築される。この際、画面上では、クリスタルオブジェクト１０２を中心として領域２２１が円形に所定の大きさまで拡大していくような効果で表示される。その結果、ゲーム画面としては、上記図９で示したように、「現在の世界」と「過去の世界」とが同時に表示されている状態となる。
【００９５】
ここで、本実施形態では仮想ゲーム空間が３次元空間として構築されているため、正確には、上記「過去の世界」は、図１２に示すようなドーム状の空間となる。但し、説明の便宜上、以下の説明では、上記転移領域２２１（「過去の世界」）は、このような３次元空間の概念も含むものとして、一律に領域２２１あるいは「過去の世界」という表現を用いる。なお、当該「過去の世界」（転移領域２２１）は、上記のようなドーム状の空間に限らず、円筒状の空間として設定してもよい。
【００９６】
上記のように、クリスタルスイッチがオンにされると、仮想ゲーム空間内の一部の領域（転移領域２２１）が「過去の世界」として設定されるが、この「過去の世界」として設定されている時間には制限時間が設けられている。例えば、上記クリスタルスイッチをオンにした後、１０秒経過すれば、転移領域２２１として設定された一部の領域は、「現在の世界」に戻る。この際、ゲーム画面上では、上記円形の転移領域２２１がクリスタルオブジェクト１０２に向かって集束するように縮小していく様が表示される。その結果、本実施形態での転移領域２２１の発生から消滅までの表現は、例えば、次のようになる。まず、上記クリスタルスイッチがオンになると、そこから１秒ほどかけて所定の大きさとなるように、転移領域２２１が円状に広がっていく様子が表示される。その後、２０秒間は転移領域２２１の大きさに変化はなく、２０秒を越えると、そこから１秒ほどかけて転移領域２２１が集束して消滅する様子が表示される。
【００９７】
そして、上記のように「現在の世界」と「過去の世界」が併存しているような状態においては、仮想ゲーム空間に登場する、プレイヤオブジェクト１０１以外の各種オブジェクトの状態や挙動が、「現在の世界」にいるか「過去の世界」にいるかで異なるように制御される。例えば、図９の例では、転移領域２２１内では、「現在の世界」にはなかった草木のオブジェクトが出現している。つまり、「現在の世界」と「過去の世界」とで、オブジェクトの表示状態（オン／オフ）が異なっていることになる。
【００９８】
その他の例として、例えば、図１３に示すように、「現在の世界」ではニワトリオブジェクト２３１が存在しているとする。これらニワトリオブジェクト２３１は、プレイヤオブジェクト１０１に対しては攻撃はしてこない。一方、図１３の状態でクリスタルスイッチを入れ、ニワトリオブジェクト２３１の存在する場所が「過去の世界」として設定されると、図１４に示すように、ニワトリオブジェクト２３１がモンスターオブジェクト２３２に変化する。更に、モンスターオブジェクト２３２は、プレイヤオブジェクト１０１に襲いかかってくる。つまり、オブジェクトの外観（状態）が変化し、その挙動（動作）も変化する。
【００９９】
また、他の例としては、ある虫型のモンスターオブジェクトについて、「現在の世界」では成虫状態として描画されるが、「過去の世界」では幼虫状態で描画されるという例もある。また、この場合は、成虫時と幼虫時とで異なった挙動を行うようにしてもよい。
【０１００】
また、別の例として、例えば、図１５のような状態を例に挙げる。図１５では、プレイヤオブジェクト１０１の前方に流砂オブジェクト２３３が配置されている（つまり、地面の一部が流砂となっている）。ここで、本ゲームでは、当該流砂オブジェクト２３３にプレイヤオブジェクト１０１が進入すると、プレイヤオブジェクト１０１が流砂に沈むように設定されている。そのため、図１５の状態では、プレイヤオブジェクト１０１を流砂オブジェクト２３３の先に移動させることができない状態となっている。ここで、プレイヤオブジェクト１０１の側にあるクリスタルスイッチをオンにすると、図１６に示すように、クリスタルオブジェクト１０２を中心とした一部の領域が転移領域２２１、すなわち、「過去の世界」として設定される。その結果、流砂オブジェクト２３３が在ったところが、通行可能な地面オブジェクトに変化している。そのため、プレイヤオブジェクト１０１を前方に移動させることが可能となっている。このように、「現在の世界」と「過去の世界」とで地形を変化させることも可能である。
【０１０１】
また、他の例として、図１７に示すような状態を例に挙げる。図１７では、プレイヤオブジェクト１０１の前方に建造物オブジェクト２３４が存在している。この建造物オブジェクト２３４には、扉２３５が設けられている。当該扉２３５は、プレイヤオブジェクト１０１のいる高さよりも高い位置にある。そのため、図１７の状態では、扉２３５に入ることができない状態を示している。ここで、プレイヤオブジェクト１０１の近くにあるクリスタルスイッチをオンにすると、図１８に示すように、一部の領域が転移領域２２１として設定される。すると、「現在の世界」にはなかった階段オブジェクト２３６が転移領域２２１内に出現する。その結果、プレイヤオブジェクト１０１に階段オブジェクト２３６を昇らせて、扉２３５に到達させることが可能となる。
【０１０２】
その他、上記階段オブジェクト２３６の場合と同様に、「現在の世界」では存在しない「橋オブジェクト」を「過去の世界」において出現させるようなことも考えられる。つまり、「現在の世界」では進めない場所について、その場所を含む領域を「過去の世界」とすることで、通行可能にするという例が挙げられる。また、その他、例えば、「現在の世界」と「過去の世界」とで、オブジェクトの外観は同じであるがそのサイズが異なる場合や、例えば、ロボットオブジェクトや、「動く床」のようなオブジェクトであって、「現在の世界」ではその動作を停止しているが「過去の世界」では起動している場合等も挙げられる。また、例えば、「過去の世界」では雪が降っているが、現在の世界では雪が降っていない等のような、天候状態が異なる場合も挙げられる、また、「現在の世界」では白骨のオブジェクト（つまり、死んている人間）として表示されているものが、「過去の世界」では生きている人間のオブジェクトとして表示され、動き回るような場合も挙げられる。
【０１０３】
また、本実施形態では、「過去の世界」となる領域を設定するためのスイッチとして、上記クリスタルオブジェクト１０２を例としているが、この他、例えば、このスイッチを移動可能な球型のオブジェクトとしてもよい。この場合、「過去の世界」として設定される転移領域２２１の中心は当該球型オブジェクトの位置となるが、この球型オブジェクトを転がせば、図１９（Ａ）（Ｂ）（Ｃ）に示すように、球型オブジェクト２３７の移動に伴って転移領域２２１の位置もリアルタイムに変化していくことになる。また、当該球型オブジェクト２３７をプレイヤオブジェクト１０１に持ち上げさせて、そのままプレイヤオブジェクト１０１を移動させれば、プレイヤオブジェクト１０１の移動に伴って転移領域２２１の位置もリアルタイムに移動する。また、この場合、「過去の世界」を出現させるタイミングとしては、例えば、当該球型オブジェクト２３７を所定の場所に配置したときに「過去の世界」を出現させるようにしてもよい。より具体的には、当該球型オブジェクト２３７を所定の場所に配置すると、当該球型オブジェクト２３７に「エネルギー」が充填される（このエネルギーの残量が上記制限時間に相当する）。そして、当該充填された「エネルギー」が切れるまでの間は、「過去の世界」が出現するというような処理を行っても良い。
【０１０４】
このように、本実施形態では、「現在の世界」の一部の領域を、制限時間付きで「過去の世界」として設定し、ここに「過去の世界」を構築する。そして、プレイヤオブジェクト１０１以外のオブジェクトについては、「現在の世界」に位置しているか、「過去の世界」に位置しているかに応じて、その状態や挙動を異なるものとする。また、これら２つの領域を１つのゲーム画面内に表示するようにしている。これにより、プレイヤに「現在の世界」と「過去の世界」の状況を見ながらゲームを進行させることができ、ゲームの興趣性を向上させている。
【０１０５】
次に、ゲーム装置３によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際に外部メインメモリ１２に記憶されるデータについて説明する。図２０は、ゲーム装置３の外部メインメモリ１２のメモリマップを示す図である。図２０において、外部メインメモリ１２は、プログラム記憶領域１２１、データ記憶領域１２４、および、作業領域１２８を含む。プログラム記憶領域１２１およびデータ記憶領域１２４のデータは、光ディスク４に記憶され、ゲームプログラム実行時には外部メインメモリ１２に転送されて記憶される。作業領域１２８のデータは、ゲーム処理の実行中において一時的に作成され、適宜利用される。
【０１０６】
プログラム記憶領域１２１は、ＣＰＵ１０によって実行されるゲームプログラムを記憶し、このゲームプログラムは、メイン処理プログラム１２２や転移中処理プログラム１２３などによって構成される。メイン処理プログラム１２２は、後述する図２５のフローチャートの処理に対応するプログラムである。転移中処理プログラム１２３は、上述したような一部の領域を「過去の世界」として設定する処理や、「現在の世界」、「過去の世界」のそれぞれにおけるオブジェクトの制御を行うための処理をＣＰＵ１０に実行させるためのプログラムである。
【０１０７】
データ記憶領域１２４には、ゲーム世界データ１２５やプレイヤオブジェクトデータ１２７等のデータが記憶される。ゲーム世界データ１２５は、本実施形態にかかる仮想ゲーム空間を構築するためのデータである。本実施形態では、仮想ゲーム空間全体が複数のエリアに分けて定義されている。例えば、荒野エリア、草原エリア、沼地エリア等である。そして、各エリアを構築するためのデータが、第１エリアデータ１２６ａ（荒野エリアに対応）、第２エリアデータ１２６ｂ（草原エリアに対応）、第３エリアデータ１２６ｃ（沼地エリアに対応）・・・、のように定義されている。
【０１０８】
ここで、各データの説明に先立って、本実施形態における、プレイヤオブジェクト１０１以外のオブジェクトの分類について説明する。本実施形態では、プレイヤオブジェクト１０１以外のオブジェクトについては、フィールドオブジェクト、地形オブジェクト、動作系オブジェクト、非動作系オブジェクトの４種類に分類している。そして、これら４種のオブジェクトが適宜仮想ゲーム空間内に配置されることによって、ゲームの舞台となる上記各エリアが構築される。
【０１０９】
次に、当該４種のオブジェクトについて説明する。まず、フィールドオブジェクトは、各エリアの地面や水面となる部分（以下ではフィールドと呼ぶ）を構成するオブジェクトである。いわば、ゲーム世界の土台となるような平面的な部分を構成するためのオブジェクトである。また、上記図１５で示したような流砂オブジェクト２３３はこの分類に含まれる。次に、地形オブジェクトは、上記フィールドオブジェクトで構成されたフィールド上に配置される地形や建造物のオブジェクトである。例えば、建物や橋などの建造物や、崖、山等の地形を構成するオブジェクトである。そのため、当該地形オブジェクト上にも、動作系オブジェクトや非動作系オブジェクトを配置することは可能である。つまり、フィールドオブジェクトおよび地形オブジェクトによって、ゲーム世界の土台的・地形的な部分について構成され、この上に動作系オブジェクトや非動作系オブジェクト、プレイヤオブジェクトが配置されることになる。
【０１１０】
動作系オブジェクトは、例えば、敵オブジェクトや、ノンプレイヤオブジェクトのような、主にキャラクタ的なオブジェクトであって、自律的に行動することを前提としたオブジェクトである。非動作系オブジェクトは、例えば、草や木等の植物系のオブジェクトや、比較的小さな石や岩等の背景的なオブジェクトであって、基本的に動き回らないこと（自律的には動かないこと）を前提とするオブジェクトである。また、上記図８等で示したようなクリスタルオブジェクト１０２やその他スイッチ的な役割を有するオブジェクトも非動作系オブジェクトとして扱う。
【０１１１】
次に、上記各エリアデータ１２６の構造について説明する。図２１は、上記各エリアデータの一例として、第１エリアデータ１２６ａのデータ構造の一例を示す図である。第１エリアデータ１２６ａは、オブジェクト識別データ１４１と、現在世界データ１４２と、過去世界データ１４４と、等から構成されている。
【０１１２】
オブジェクト識別データ１４１は、各エリアを構成するオブジェクトおよび各エリアに登場する全てのオブジェクトを一意に識別するためのデータである。図２２は、オブジェクト識別データ１４１のデータ構造の一例である。オブジェクト識別データ１４１は、オブジェクトＮｏ１４１１、現在位置１４１２、種別データ１４１３の集合で構成されている。オブジェクトＮｏ１４１１は、各オブジェクトを識別するために割り当てられた番号である。現在位置１４１２は、仮想ゲーム空間内における各オブジェクトの現在位置を示す３次元座標データであり、各オブジェクトの動作制御に伴って適宜更新される。種別データ１４１３は、上述したようなオブジェクトの種類を示すためのデータである。
【０１１３】
図２１に戻り、次に、現在世界データ１４２は、当該第１エリアの「現在の世界」の状態について定義したデータである。現在世界データ１４２には、現在オブジェクトマスタ１４３が含まれている。その他、「現在の世界」という状態を定義したデータ（例えば、天候を示すデータや各オブジェクトの初期配置位置を示すデータ）も現在世界データ１４２に含まれる。現在オブジェクトマスタ１４３は、「現在の世界」におけるオブジェクトの状態や挙動等について定義したデータである。図２３は、現在オブジェクトマスタ１４３のデータ構造の一例である。図２３では、現在オブジェクトマスタ１４３をテーブル構造で示している。現在オブジェクトマスタ１４３は、オブジェクトＮｏ１４３１、外観データ１４３２、挙動データ１４３３、その他データ１４４４の集合で構成されている。
【０１１４】
オブジェクトＮｏ１４３１は、各オブジェクトを識別するために割り当てられた番号であり、上記オブジェクト識別データ１４１のオブジェクトＮｏ１４１１と対応している。
【０１１５】
外観データ１４３２は、各オブジェクトの外観を定義したデータである。具体的には、各オブジェクトのポリゴンデータやテクスチャデータであるが、図２３では、説明を判りやすくするため、直接的にどのような外観であるかを示す言葉を用いている。
【０１１６】
挙動データ１４３３は、各オブジェクトの挙動（例えば行動パターン）について定義したデータである。基本的には、自律的に行動することを前提とする動作系オブジェクトに対して定義されるものである。但し、上記流砂オブジェクト２３３のように、フィールドの特性（プレイヤオブジェクト１０１が沈む、燃える、泳ぐことが可能である等）を定義するデータとしても利用される。また、非動作系オブジェクトについても挙動を適宜定義してもよい。
【０１１７】
その他データ１４４４は、上記各データ以外のデータであり、例えば、鳴き声等の音声データ等である。
【０１１８】
なお、現在オブジェクトマスタ１４３は、実際にテーブルデータの形式で記憶されている必要はなく、このテーブルに相当する内容の処理が記憶されていればよい。
【０１１９】
図２１に戻り、次に、過去世界データ１４４は、当該第１エリアの「過去の世界」の状態について定義したデータである。過去世界データ１４４には、過去オブジェクトマスタ１４５が含まれている。その他、「過去の世界」という状態を定義したデータも含まれる。過去オブジェクトマスタ１４５は、「過去の世界」におけるオブジェクトの状態や挙動等について定義したデータである。
【０１２０】
図２４は、過去オブジェクトマスタ１４５のデータ構造の一例である。基本的に、上記現在オブジェクトマスタ１４３と同様のデータ構造であり、オブジェクトＮｏ１４５１、外観データ１４５２、挙動データ１４５３、その他データ１４５４の集合で構成されている。各データの意義は上記現在オブジェクトマスタ１４３と同様であるが、その定義内容は、上記現在オブジェクトマスタ１４３とは必ずしも一致していない。例えば、オブジェクトＮｏ１４１１（１４３１，１４５１）が”００１”であるオブジェクトについては、「現在の世界」ではその外観が「流砂」として定義されている（図１５の流砂オブジェクト２３３に相当）。一方、「過去の世界」では、その外観は「草地」として定義されている。また、オブジェクトＮｏ１４１１が”００３”のオブジェクトの例では、その外観については、「現在の世界」では「にわとり」として定義されているが、「過去の世界」では「モンスター」として定義されている。また、その挙動も異なった内容が定義されている。つまり、同じオブジェクトＮｏが割り振られているオブジェクトではあるが、その状態や挙動については、「現在の世界」と「過去の世界」とで異なっていることが示されている。なお、上記の例では、オブジェクトＮｏ１４１１に対応するオブジェクトのデータが現在オブジェクトマスタ１４３および過去オブジェクトマスタ１４５に記憶されるようになっているが、例えば、「現実の世界」には存在するが「過去の世界」には存在しないオブジェクトがある場合には、当該オブジェクトのデータは、現在オブジェクトマスタ１４３には記憶されていないが、過去オブジェクトマスタ１４５には記憶されないようにしてもよい。
【０１２１】
図２０に戻り、次に、プレイヤオブジェクトデータ１２７は、上記プレイヤオブジェクト１０１を定義するデータである。
【０１２２】
次に、作業領域１２８に記憶されるデータについて説明する。作業領域１２８には、操作データ１２９、転移領域データ１３０、転移フラグ１３１、転移タイマー１３２等が記憶される。
【０１２３】
操作データ１２９は、入力装置８からゲーム装置３へ送信されてくる操作データである。本実施形態では、入力装置８からゲーム装置３へ１／２００秒に１回の割合で操作データが送信されるので、外部メインメモリ１２に記憶される操作データ１２９はこの割合で更新される。本実施形態においては、外部メインメモリ１２には、最新の（最後に取得された）操作データのみが記憶されればよい。
【０１２４】
転移領域データ１３０は、上述したような「過去の世界」として設定する転移領域２２１の範囲を示すための座標データである。プレイヤオブジェクト１０１以外のオブジェクトの位置がこの範囲内に含まれていれば、上記過去オブジェクトマスタ１４５が参照されてオブジェクト制御が行われ、この範囲内に含まれていなければ、現在オブジェクトマスタ１４３が参照されてオブジェクトの制御が行われることになる。
【０１２５】
転移フラグ１３１は、「過去の世界」を設定する必要があるか否かを示すフラグである。上述のように、本実施形態では「過去の世界」は制限時間付きで出現させている。そのため、転移フラグ１３１は、換言すれば、この制限時間内であるか否かを示すフラグといえる。本フラグがオンに設定されているときは、一部の領域が「過去の世界」として設定（「過去の世界」が出現）されている状態であり、オフに設定されているときは、「過去の世界」は設定されていない状態であることを示す。
【０１２６】
転移タイマー１３２は、上述したような制限時間を計測するためのタイマーである。本実施形態では、初期値として”０”が設定されており、上記クリスタルスイッチがオンにされたときにカウントアップが開始される。そして、当該タイマーが”２０”を越えるまで「過去の世界」を出現させるものとする。
【０１２７】
その他、作業領域１２８には、ゲーム処理において一時的に必要となる各種フラグやデータが生成され記憶される。
【０１２８】
次に、図２５〜図３０を参照して、ゲーム装置３によって実行されるゲーム処理について説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動プログラムを実行し、これによって外部メインメモリ１２等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムが外部メインメモリ１２に読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図２５に示すフローチャートは、ゲームプログラムが開始され、ゲームの舞台となる所定のエリア、例えば、荒野エリアが選択された後に行われるゲーム処理を示すフローチャートである。なお、図２５に示すフローチャートにおいては、ゲーム処理のうち、主に、上述したような一部の領域を「過去の世界」に設定する／設定を解除する処理、および、オブジェクトの制御処理について説明し、本願発明とは直接関連しない他の処理については詳細な説明を省略する。
【０１２９】
図２５において、まず、ステップＳ１において、上記選択されたエリアに対応する仮想ゲーム空間を構築するための初期設定処理が実行される。具体的には、ゲーム世界データ１２５から上記選択されたエリアに対応するエリアデータ１２６が読み込まれる。ここでは、第１エリアが選択され、第１エリアデータ１２６ａが読み込まれた場合を例として、以下説明する。次に、現在オブジェクトマスタ１４３が参照されて（ゲーム開始時は「現在の世界」から始まる）、当該ゲームの舞台となるエリアを構成する各種オブジェクトが生成され、適宜仮想ゲーム空間内に配置される。また、プレイヤオブジェクト１０１も生成され、適宜配置される。その他、各種フラグの初期化等も実行される。次に、上記のようにして構築されたゲーム空間を表すゲーム画像が生成され、生成されたゲーム画像がモニタ２に表示される。以降、ステップＳ２〜Ｓ９の処理ループが１フレーム毎に繰り返されることによって、ゲームが進行していく。
【０１３０】
次に、ステップＳ２において、操作データ１２９が取得される。続くステップＳ３において、上記操作データ１２９に基づいてプレイヤオブジェクト１０１の動作制御が行われる。
【０１３１】
次に、ステップＳ４において、転移フラグ１３１がオンであるか否かが判定される。つまり、「過去の世界」が出現中の状態か否かが判定される。当該判定の結果、オンではないと判定されたときは（ステップＳ４でＮＯ）、続くステップＳ５において、現在オブジェクトマスタ１４３が参照され、プレイヤオブジェクト１０１以外の各オブジェクトの動作が制御される。例えば、敵オブジェクトがプレイヤオブジェクト１０１に対して攻撃する等の制御が行われる。
【０１３２】
次に、ステップＳ６において、コリジョン判定及び各種ゲーム処理が実行される。具体的には、上記動作制御後のプレイヤオブジェクト１０１、および敵オブジェクト等の各種オブジェクトとの衝突（コリジョン）判定が行われる。例えば、攻撃がヒットしたか否かの判定や、流砂の上にプレイヤオブジェクト１０１が乗っているか（接触しているか否か）の判定が行われる。また、上述したようなクリスタルスイッチがオンにされたか否かも、クリスタルオブジェクト１０２とプレイヤオブジェクト１０１のコリジョン判定によって判定される。そして、その判定の結果に応じた各種ゲーム処理が実行される。ここで、上記クリスタルオブジェクト１０２とプレイヤオブジェクト１０１が接触した（スイッチがオンにされた）と判定されたときは、上記転移フラグ１３１がオンに設定される（その結果、次のフレームにかかる処理ループにおいて、上記ステップＳ４の判定でＹＥＳと判定され、後述のステップＳ９の処理に進むことになる）。また、クリスタルスイッチがオンにされたと判定されたときは、併せて、転移タイマー１３２がリセットされ、カウントアップが開始される。
【０１３３】
コリジョン判定および各種ゲーム処理が終われば、次に、ステップＳ７において、上述した各種動作制御やゲーム処理を反映した仮想ゲーム空間を仮想カメラで撮影（レンダリング）することによって、ゲーム画面が生成される。そして、当該生成されたゲーム画面がモニタ２に表示される。したがって、転移フラグ１３１がオンである場合には、「現実の世界」と「過去の世界」の２つの世界の状態がモニタ２の画面上に表示されることになる。
【０１３４】
次に、ステップＳ８において、ゲーム終了のための条件が満たされたか否かが判定される。例えば、プレイヤがゲーム終了のための操作を行ったか否かや、当該第１エリアをクリアしたか否か等が判定される。その結果、ゲーム終了のための条件が満たされていなければ（ステップＳ８でＮＯ）、上記ステップＳ２に戻り処理が繰り返される。一方、ゲーム終了のための条件が満たされていれば（ステップＳ８でＹＥＳ）、当該ゲーム処理は終了する。
【０１３５】
次に、上記ステップＳ４において転移フラグ１３１がオンであると判定されたときの処理（ステップＳ４でＹＥＳ）について説明する。この場合は、ステップＳ９において、転移中処理が実行される。この処理は、「現在の世界」と「過去の世界」が併存している状態（ゲーム上は「過去の世界」が転移している状態）における処理である。図２６は、上記ステップＳ９で示した転移中処理の詳細を示すフローチャートである。図２６において、まず、ステップＳ２１において、上記転移領域２２１の中心となる仮想ゲーム空間内の位置が決定される。
【０１３６】
次に、ステップＳ２２において転移タイマー１３２が参照され、当該転移タイマー１３２が所定値以下であるか否かが判定される。本実施形態では、所定値は”２０”であるとする。当該判定の結果、所定値以下であると判定されたときは（ステップＳ２２でＹＥＳ）、次に、ステップＳ２３において、転移領域２２１の拡大が終了したか否かが判定される。本実施形態では、クリスタルオブジェクト１０２を中心として転移領域２２１が６０フレーム（１秒）かけて円状に拡大していくような画面表示を行う。当該処理は、この拡大が終わったか否かを判定するものである。当該判定の結果、転移領域２２１の拡大が終了したと判定されたときは（ステップＳ２３でＹＥＳ）、後述のステップＳ２６に処理が進められる。
【０１３７】
一方、転移領域２２１の拡大がまだ終了していないと判定されたときは（ステップＳ２３でＮＯ）、ステップＳ２４において、上述のように６０フレームかけて転移領域２２１が拡大していく様子が表示されるように、転移領域の大きさ（例えば半径）が適宜設定される。その後、後述のステップＳ２６に処理が進められる。
【０１３８】
一方、上記ステップＳ２２の結果、転移タイマー１３２が所定値以下ではないと判定されたときは（ステップＳ２２でＮＯ）、「過去の世界」を出現させる制限時間を越えたことになるため、ステップＳ２５において、数フレームかけて転移領域２２１が縮小していく様子が表示されるように、転移領域の大きさ（例えば半径）が適宜設定される。
【０１３９】
次に、ステップＳ２６において、上記の処理で決定された転移領域２２１の中心位置、および、転移領域２２１の大きさに基づいて、現在の処理ループにおける転移領域２２１の位置が確定され、当該位置を示すデータが転移領域データ１３０として記憶される。
【０１４０】
次に、ステップＳ２７において、過去オブジェクトマスタ１４５が参照され、転移領域２２１内のフィールドオブジェクトを設定する処理が実行される。具体的には、まず、オブジェクト識別データ１４１が参照されて、転移領域２２１内に位置するフィールドオブジェクトのオブジェクトＮｏ１４１１が抽出される。次に、当該オブジェクトＮｏ１４１１を基にして過去オブジェクトマスタ１４５が検索され、対応するフィールドオブジェクトのデータが取得される。そして、当該取得されたデータに基づいて、適宜フィールドオブジェクトが生成され、配置される（現在世界を構築していたフィールドオブジェクトを置き換えられる）。上記図９の例でいうと、緑に覆われた地面を表すフィールドオブジェクトが転移領域２２１内に配置される。なお、フィールドオブジェクトを生成せずに、テクスチャデータのみを過去オブジェクトマスタ１４５で示されるデータに変更（つまり、テクスチャの貼り替え）するようにしてもよい。
【０１４１】
次に、ステップＳ２８において、現在オブジェクトマスタ１４３が参照され、転移領域２２１外のフィールドオブジェクトを設定する処理が実行される。
この処理も、上記ステップＳ２７と同様に、オブジェクト識別データ１４１から抽出されたフィールドオブジェクトのオブジェクトＮｏ１４１１に基づいて現在オブジェクトマスタ１４３が検索される。そして、対応するデータが適宜取得され、配置される（あるいは、テクスチャの貼り替えのみ行うようにしても良い）。
【０１４２】
なお、上記ステップＳ２７およびＳ２８の処理については、全てのフィールドオブジェクトを処理対象とせずに、直前のフレームにおける転移領域２２１と今回のフレームにおける転移領域２２１の位置の差分を算出して、当該差分にかかる部分に位置するフィールドオブジェクトのみを処理対象としても良い。
【０１４３】
次に、ステップＳ２９において、非動作系オブジェクト処理が実行される。当該処理は、植物系オブジェクトのような非動作系オブジェクト、および、岩や建造物等の地形オブジェクトに関する制御を実行する処理である。図２７は、上記ステップＳ２９で示した非動作系オブジェクト処理の詳細を示すフローチャートである。図２７において、まず、ステップＳ４１で、オブジェクト識別データ１４１が参照され、非動作系オブジェクト、あるいは、地形オブジェクトの中からいずれか１つのオブジェクトが、以下に説明する処理の処理対象として選択される。
【０１４４】
次に、ステップＳ４２において、上記ステップＳ４１で選択されたオブジェクト（以下、処理対象オブジェクトと呼ぶ）が、転移領域２２１の範囲内に存在しているか否かが判定される。これは、例えば、当該処理対象オブジェクトの現在位置１４１２と上記転移領域データ１３０で示される座標範囲とを照合することで判定される。また、その他、処理対象オブジェクトの現在位置１４１２が、上述したようなクリスタルオブジェクト１０２から所定の距離以内に在るか否か等で判定するようにしても良い。その結果、転移領域２２１内に存在していると判定されたときは（ステップＳ４２でＹＥＳ）、ステップＳ４３において、当該処理対象オブジェクトの外観を変更する必要があるか否かが判定される。つまり、直前のフレームにかかる処理ループでは、処理対象オブジェクトが「現在の世界」にいたのか「過去の世界」にいたのかが判定される。「現在の世界」にいれば、外観変更の必要が有り、「過去の世界」にいれば、外観変更の必要はないことになる。これは、例えば、直前のフレームにかかる処理において、当該処理対象オブジェクトの位置が転移領域２２１内であったか否かを示す情報を外部メインメモリ１２に記憶しておき、これを参照する等して判定される。当該判定の結果、外観の変更の必要がないと判定されたときは（ステップＳ４３でＮＯ）、後述するステップＳ４９に処理が進められる。一方、外観の変更の必要があると判定されたときは（ステップＳ４３でＹＥＳ）、ステップＳ４４において、過去オブジェクトマスタ１４５が参照されて、当該処理対象オブジェクトに対応する外観データ１４５２が取得される。そして、当該外観データ１４５２に基づいて「過去の世界」でのオブジェクトが生成され、「現在の世界」のものと置き換えられる。このとき、本実施形態では、画面表示上、瞬間的に表示が変更されるのではなく、「現在の世界」のオブジェクトが「過去の世界」のオブジェクトに変化する様子を示すアニメーション表示を行う。例えば、「現在の世界」には無かった樹木オブジェクトを表示する場合は、最初は小さいサイズの樹木オブジェクトを表示し、数フレームかけて大きくなっていくようなアニメーション表示が行われる。このような「入れ替えアニメーション」を設定するための処理がステップＳ４５において実行される。その後、後述するステップＳ４９に処理が進められる。
【０１４５】
一方、上記ステップＳ４２の判定の結果、処理対象オブジェクトが転移領域２２１内に存在しないと判定されたときは（ステップＳ４２でＮＯ）、ステップＳ４６において、当該処理対象オブジェクトの外観を変更する必要があるか否かが判定される。この場合は、直前のフレームにかかる処理ループにおいて、処理対象オブジェクトが「過去の世界」にいれば、外観変更の必要が有り、「現在の世界」にいれば、外観変更の必要はないことになる。当該判定の結果、外観の変更の必要がないと判定されたときは（ステップＳ４６でＮＯ）、後述するステップＳ４９に処理が進められる。一方、外観の変更の必要があると判定されたときは（ステップＳ４６でＹＥＳ）、ステップＳ４７において、現在オブジェクトマスタ１４３が参照されて、当該処理対象オブジェクトに対応する外観データ１４３２が取得される。そして、当該外観データ１４３２に基づいて「現在の世界」でのオブジェクトが生成され、「過去の世界」のものと置き換えられる。また、このとき、上述したような「入れ替えアニメーション」を設定するための処理もステップＳ４８において実行される。
【０１４６】
次に、ステップＳ４９において、処理対象オブジェクトの種類が地形オブジェクトであって、転移領域２２１の境界を跨ぐような位置にあるか否かが判定される。例えば、図２８で示すような状態であるか否かが判定される。当該判定の結果、地形オブジェクトが転移領域２２１の境界を跨ぐような位置にあると判定されたときは（ステップＳ４９でＹＥＳ）、ステップＳ５０において、境界に係る部分の地形オブジェクトの断面を加工するための断面加工処理が実行される。例えば、「現在の世界」には存在するが、「過去の世界」には存在しないような地形オブジェクトの場合、図２９（Ａ）に示すように、その断面が露出する状態になることがある。このような場合に、図２９（Ｂ）に示すように、その断面部分に所定のテクスチャを貼り付けて、地形オブジェクトの中身が見えないようにするための処理が実行される。一方、処理対象となっている地形オブジェクトが転移領域２２１の境界を跨ぐような位置にはないと判定されたときは（ステップＳ４９でＮＯ）、上記ステップＳ５０の処理はスキップされる。
【０１４７】
次に、ステップＳ５１において、オブジェクト識別データ１４１内の非動作系オブジェクトおよび地形オブジェクトの全てについて上述したような処理が実行されたか否かが判定される。その結果、まだ未処理のオブジェクトが残っていれば（ステップＳ５１でＮＯ）、上記ステップＳ４１に戻り、未処理のオブジェクトのいずれかが選択されて上記のような処理が繰り返される。一方、非動作系オブジェクトおよび地形オブジェクトの全てを処理したと判定されたときは（ステップＳ５１でＹＥＳ）、当該非動作系オブジェクト処理は終了する。
【０１４８】
図２６に戻り、ステップＳ２９の処理が終われば、次に、ステップＳ３０において、動作系オブジェクト処理が実行される。この処理は、上述したような動作系オブジェクトを制御するための処理である。図３０は、上記ステップＳ３０で示した動作系オブジェクト処理の詳細を示すフローチャートである。まず、ステップＳ６１において、オブジェクト識別データ１４１が参照され、動作系オブジェクトの中からいずれか１つのオブジェクトが、以下に説明する処理の処理対象として選択される。
【０１４９】
次に、ステップＳ６２において、処理対象オブジェクトが、転移領域２２１の範囲内に存在しているか否かが判定される。その結果、転移領域２２１内に存在していると判定されたときは（ステップＳ６２でＹＥＳ）、ステップＳ６３において、当該処理対象オブジェクトの外観を変更する必要があるか否かが判定される。当該判定の結果、外観の変更の必要がないと判定されたときは（ステップＳ６３でＮＯ）、後述するステップＳ６６に処理が進められる。一方、外観の変更の必要があると判定されたときは（ステップＳ６３でＹＥＳ）、ステップＳ６４において、過去オブジェクトマスタ１４５が参照されて、当該処理対象オブジェクトに対応する外観データ１４５２が取得される。そして、当該外観データ１４５２に基づいて「過去の世界」でのオブジェクトが生成され、「現在の世界」のものと置き換えられる。更に、上述したような「入れ替えアニメーション」を設定するための処理がステップＳ６５において実行される。
例えば、上記図１３および図１４で示したような、「ニワトリ」が「モンスター」に変化する場合は、ニワトリがその場で回転しながら小さくなっていき、モンスターが回転しながら大きくなっていくようなアニメーションが表示されるような設定が行われる。
【０１５０】
次に、ステップＳ６６において、処理対象オブジェクトのオブジェクトＮｏ１４１１を基にして過去オブジェクトマスタ１４５の挙動データ１４５３が参照される。そして、当該挙動データ１４５３に基づいて、当該処理対象オブジェクトの動作が制御される。その後、後述するステップＳ７１に処理が進められる。
【０１５１】
一方、上記ステップＳ６２の判定の結果、処理対象オブジェクトが転移領域２２１内に存在しないと判定されたときは（ステップＳ６２でＮＯ）、ステップＳ６７において、当該処理対象オブジェクトの外観を変更する必要があるか否かが判定される。当該判定の結果、外観の変更の必要がないと判定されたときは（ステップＳ６７でＮＯ）、後述するステップＳ７０に処理が進められる。一方、外観の変更の必要があると判定されたときは（ステップＳ６７でＹＥＳ）、ステップＳ６８において、現在オブジェクトマスタ１４３が参照されて、当該処理対象オブジェクトに対応する外観データ１４３２が取得される。そして、当該外観データ１４３２に基づいて「現在の世界」でのオブジェクトが生成され、「過去の世界」のものと置き換えられる。また、このとき、上述したような「入れ替えアニメーション」を設定するための処理もステップＳ６９において実行される。
【０１５２】
次に、ステップＳ７０において、処理対象オブジェクトのオブジェクトＮｏ１４１１を基にして現在オブジェクトマスタ１４３の挙動データ１４３３が参照される。そして、当該挙動データ１４３３に基づいて、当該処理対象オブジェクトの動作が制御される。
【０１５３】
次に、ステップＳ７１において、オブジェクト識別データ１４１内の動作系オブジェクトの全てについて上述したような処理が実行されたか否かが判定される。その結果、まだ未処理の動作系オブジェクトが残っていれば（ステップＳ７１でＮＯ）、上記ステップＳ６１に戻り、未処理の動作系オブジェクトのいずれかが選択されて上記のような処理が繰り返される。一方、全ての動作系オブジェクトを処理したと判定されたときは（ステップＳ７１でＹＥＳ）、当該動作系オブジェクト処理は終了する。
【０１５４】
図２６に戻り、ステップＳ３０の処理が終われば、次に、ステップＳ３１において、コリジョン判定及び各種ゲーム処理が実行される。この処理は、上記ステップＳ６の処理内容と同様である。但し、プレイヤオブジェクト１０１とフィールドオブジェクトとのコリジョン判定およびゲーム処理に関しては、プレイヤオブジェクト１０１が転移領域２２１内に存在するか否かで、その処理内容は異なることになる。すなわち、プレイヤオブジェクト１０１が転移領域２２１内にいるときは、過去オブジェクトマスタ１４５が参照され、転移領域２２１内にいないときは、現在オブジェクトマスタ１４３が参照される。そして、プレイヤオブジェクト１０１と接触するフィールドオブジェクトに対応する挙動データ１４３３、あるいは挙動データ１４５３が適宜取得されて、「現在の世界」または「過去の世界」のフィールドの特性に応じたゲーム処理が実行される。以上で、転移中処理は終了する。転移中処理が終了すれば、上述したステップＳ７に処理が進められ、ゲーム画面が表示されることになる。以上で、本実施形態にかかるゲーム処理の詳細説明を終了する。
【０１５５】
このように、本実施形態では、１つのゲーム空間に対して２つの世界状態を定義したデータ（現在世界データ１４２、過去世界データ１４４）を用意し、２つの世界状態を併存させた状態をゲーム画面として表示している。これにより、プレイヤは２つの世界状態を見ながらゲームを進行させることができる。その結果、例えば、通行できないとプレイヤが考えていた場所が通行可能となったり、おとなしい動物とプレイヤが思っていたオブジェクトがプレイヤオブジェクトに襲いかかってくる等、ゲーム展開の意外性を高めて、ゲームの興趣性を高めることができる。
【０１５６】
また、上述の実施形態のように、１つのゲーム空間内に対して２つの世界状態を併存させ、このゲーム空間を仮想カメラで撮影したものをゲーム画面として表示している。そのため、例えば、上記のような２つの世界を別々のゲーム空間として構築して別々にレンダリング等を行い、最終的に画像を合成するような処理を行う場合に比べると、処理負荷を軽くすることができる点で有利である。
【０１５７】
なお、上述した実施形態では、「世界状態」の例として「現在の世界」と「過去の世界」の２つの状態を挙げたが、世界状態の数は２つに限るものではなく、３つ以上の世界状態（例えば、更に「未来の世界」や、「過去の更に過去の世界」等）を定義するようにしてもよい。また、ゲーム画面についても、例えば図３１に示すように、３つの世界状態を１つのゲーム画面に表示するようにしても良い。
【０１５８】
また、仮想ゲーム空間内において上記のような２つの世界状態が定義されている場所については、仮想ゲーム空間の全体に対して定義するようにしても良いし、仮想ゲーム空間内の一部の場所のついてのみ２つの世界状態を定義するようにしてもよい。
【０１５９】
また、転移領域２２１の大きさに関し、上記実施形態では、その大きさは予め定められていたが、この転移領域２２１の大きさをプレイヤの操作に応じて変化可能に構成してもよい。
【０１６０】
その他、上記動作系オブジェクトの挙動や状態の制御に関しては、上述したような制御方法の他、例えば、以下のように制御しても良い。まず、上述したフィールドオブジェクトおよび地形オブジェクトに、個別に「地形コード」を割り当てておく（この「地形コード」は重複したコードが割り当てられてもよい）。そして、プレイヤオブジェクト１０１や動作系オブジェクトが位置している場所の「地形コード」に基づいて、その挙動や外観を変化させるようにしてもよい。例えば、上記フィールドオブジェクトおよび地形オブジェクトについては、図３２に示すテーブルのような内容のデータを定義しておく。図３２では、フィールドオブジェクトや地形オブジェクトを識別するためのオブジェクトＮｏ５０１と、地形コード５０２とが対応づけられている。そして、プレイヤオブジェクトおよび動作系オブジェクト（必要であれば非動作系オブジェクトも）については、図３２に示すテーブルのようなデータを定義しておく。図３３では、１つのオブジェクト（オブジェクトＮｏ５１１）について、地形コード５１２、外観データ５１３、および挙動データ５１４の組み合わせが複数対応付けられている。このようなデータを定義しておいたうえで、プレイヤオブジェクトおよび動作系オブジェクトの位置する場所の地形コード５０２を図３２で示したテーブル相当のデータから取得する。次に、当該地形コード５０２に対応する挙動データ５１４等を、図３３で示したテーブル相当のデータから取得する。そして、当該取得したデータに基づき、プレイヤオブジェクト１０１および動作系オブジェクト制御するようにすることが考えられる。
【０１６１】
また、その他、プレイヤの操作に応じて、上述した仮想３次元空間を鳥瞰した２次元画像を「マップ」画面として表示するようにしてもよい。そして、当該「マップ」の内容としては、上記過去オブジェクトマスタ１４５に基づいて生成される「過去の世界」のマップを表示するようにしても良い。そして、プレイヤを、当該「過去の世界」のマップを参照しながら「現在の世界」内でプレイヤオブジェクト１０１を移動させ、所望の場所で上述したような転移領域２２１を発生させることでゲームを進行させることを可能としても良い。この場合は、上述したクリスタルスイッチに相当するオブジェクトは、プレイヤオブジェクト１０１が持ち運び可能なオブジェクトとして設定することが好ましい。
【０１６２】
上記実施形態においては、「現実の世界」と「過去の世界」の２つの世界状態を表示するための一連の処理が単一の装置（ゲーム装置３）において実行される場合を説明したが、他の実施形態においては、一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【産業上の利用可能性】
【０１６３】
本発明にかかるゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法は、ゲーム展開の意外性を高めたゲームを提供することができ、各種ゲーム装置、ゲーム処理が実行される携帯型情報端末やパーソナルコンピュータ等に有用である。
【符号の説明】
【０１６４】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
４…光ディスク
５…コントローラ
７…ジャイロセンサユニット
８…入力装置
１０…ＣＰＵ
１１…システムＬＳＩ
１１ａ…入出力プロセッサ
１１ｂ…ＧＰＵ
１１ｃ…ＤＳＰ
１１ｄ…ＶＲＡＭ
１１ｅ…内部メインメモリ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２…アンテナ
２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３０…基板
３１…ハウジング
３２…操作部
３３…コネクタ
３４…ＬＥＤ
３５…撮像情報演算部
３６…通信部
３７…加速度センサ
３８…赤外線フィルタ
３９…レンズ
４０…撮像素子
４１…画像処理回路
４２…マイコン
４３…メモリ
４４…無線モジュール
４５…アンテナ
４８…バイブレータ
４９…スピーカ
５３…プラグ
５４…マイコン
５５…２軸ジャイロセンサ
５６…１軸ジャイロセンサ
【図１】
0005596414.tif 000002
【図２】
0005596414.tif 000003
【図３】
0005596414.tif 000004
【図４】
0005596414.tif 000005
【図５】
0005596414.tif 000006
【図６】
0005596414.tif 000007
【図７】
0005596414.tif 000008
【図８】
0005596414.tif 000009
【図９】
0005596414.tif 000010
【図１０】
0005596414.tif 000011
【図１１】
0005596414.tif 000012
【図１２】
0005596414.tif 000013
【図１３】
0005596414.tif 000014
【図１４】
0005596414.tif 000015
【図１５】
0005596414.tif 000016
【図１６】
0005596414.tif 000017
【図１７】
0005596414.tif 000018
【図１８】
0005596414.tif 000019
【図１９】
0005596414.tif 000020
【図２０】
0005596414.tif 000021
【図２１】
0005596414.tif 000022
【図２２】
0005596414.tif 000023
【図２３】
0005596414.tif 000024
【図２４】
0005596414.tif 000025
【図２５】
0005596414.tif 000026
【図２６】
0005596414.tif 000027
【図２７】
0005596414.tif 000028
【図２８】
0005596414.tif 000029
【図２９】
0005596414.tif 000030
【図３０】
0005596414.tif 000031
【図３１】
0005596414.tif 000032
【図３２】
0005596414.tif 000033
【図３３】
0005596414.tif 000034