(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-14
(45)【発行日】2022-04-22
(54)【発明の名称】画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
(51)【国際特許分類】
A63F 13/52 20140101AFI20220415BHJP
A63F 13/55 20140101ALI20220415BHJP
A63F 13/5258 20140101ALI20220415BHJP
G06T 19/00 20110101ALI20220415BHJP
【FI】
A63F13/52
A63F13/55
A63F13/5258
G06T19/00 A
(21)【出願番号】P 2019081013
(22)【出願日】2019-04-22
【審査請求日】2021-03-09
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】特許業務法人 小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】松本 篤史
(72)【発明者】
【氏名】佐藤 哲也
【審査官】松山 紗希
(56)【参考文献】
【文献】特開2006-314633(JP,A)
【文献】特開2017-093928(JP,A)
【文献】特開2013-168022(JP,A)
【文献】特開2003-256863(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
仮想空間内に、円筒曲面または球面の少なくとも一部を含む地形・背景オブジェクトを複数配置させ、
操作装置に対する操作入力に基づいて操作される操作対象オブジェクトを前記仮想空間内において制御させ、
前記操作装置に対する移動指示入力に基づいて、前記複数の地形・背景オブジェクトのそれぞれと前記操作対象オブジェクトとの相対的な位置関係が変わるように、前記円筒または球の中心を通る軸である回転中心軸周りに当該複数の地形・背景オブジェクトを回転させ、
表示装置に表示するための前記仮想空間の画像を、仮想カメラを用いて生成させる、画像処理プログラム。
【請求項2】
前記複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっており、
前記画像処理プログラムは、前記コンピュータに、
共通の前記回転中心軸周りにそれぞれ異なる回転速度で前記複数の地形・背景オブジェクトを前記移動指示入力に基づいて回転させる、請求項1に記載の画像処理プログラム。
【請求項3】
前記複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっており、
前記画像処理プログラムは、前記コンピュータに、
それぞれ異なる前記回転中心軸周りに前記複数の地形・背景オブジェクトを前記移動指示入力に基づいてそれぞれ異なる回転速度で回転させる、請求項1に記載の画像処理プログラム。
【請求項4】
前記それぞれ異なる回転中心軸は、前記円筒曲面または球面が前記操作対象オブジェクトの位置から遠くにある地形・背景オブジェクトほど、当該操作対象オブジェクトにより近い位置となるように設定される、請求項3に記載の画像処理プログラム。
【請求項5】
前記画像処理プログラムは、前記コンピュータに、
前記円筒曲面または球面上に前記操作対象オブジェクトを配置させ、
前記操作対象オブジェクトを視野に含むように前記仮想空間内の仮想カメラを制御させる、請求項1から4のいずれかに記載の画像処理プログラム。
【請求項6】
前記複数の地形・背景オブジェクトは、互いの前記回転中心軸が平行となるような姿勢で、仮想空間内において互いに重なることなく隣同士となるような位置関係で配置され、
前記画像処理プログラムは、前記コンピュータに、隣同士にある地形・背景オブジェクトの回転方向が互いに逆方向となるように、前記移動指示入力に基づいて回転させる、請求項1に記載の画像処理プログラム。
【請求項7】
前記コンピュータに、前記表示装置に表示するための前記仮想空間の画像における略中央を通過する所定の直線を境界とした場合の一方の側に含まれる位置となるように第1の前記地形・背景オブジェクトを配置させ、他方の側に含まれる位置となるように第2の前記地形・背景オブジェクトを配置させ、
第1の地形・背景オブジェクトと第2の地形・背景オブジェクトとの回転方向が互いに逆方向となるように回転させる、請求項6に記載の画像処理プログラム。
【請求項8】
少なくとも1つのプロセッサと、
操作装置とを備え、
前記プロセッサは、
仮想空間内に、円筒曲面または球面の少なくとも一部を含む地形・背景オブジェクトを複数配置し、
操作装置に対する操作入力に基づいて操作される操作対象オブジェクトを前記仮想空間内において制御し、
前記操作装置に対する移動指示入力に基づいて、前記複数の地形・背景オブジェクトのそれぞれと前記操作対象オブジェクトとの相対的な位置関係が変わるように、前記円筒または球の中心を通る軸である回転中心軸周りに当該複数の地形・背景オブジェクトを回転し、
表示装置に表示するための前記仮想空間の画像を仮想カメラを用いて生成する、画像処理システム。
【請求項9】
前記複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっており、
前記画像処理システムは、共通の前記回転中心軸周りにそれぞれ異なる回転速度で前記複数の地形・背景オブジェクトを前記移動指示入力に基づいて回転させる、請求項8に記載の画像処理システム。
【請求項10】
前記複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっており、
前記画像処理システムは、それぞれ異なる前記回転中心軸周りに前記複数の地形・背景オブジェクトを前記移動指示入力に基づいてそれぞれ異なる回転速度で回転させる、請求項8に記載の画像処理システム。
【請求項11】
前記それぞれ異なる回転中心軸は、前記円筒曲面または球面が前記操作対象オブジェクトの位置から遠くにある地形・背景オブジェクトほど、当該操作対象オブジェクトにより近い位置となるように設定される、請求項10に記載の画像処理システム。
【請求項12】
前記画像処理システムは、
前記円筒曲面または球面上に前記操作対象オブジェクトを配置し、
前記操作対象オブジェクトを視野に含むように前記仮想空間内の仮想カメラを制御する、請求項8から11のいずれかに記載の画像処理システム。
【請求項13】
前記複数の地形・背景オブジェクトは、互いの前記回転中心軸が平行となるような姿勢で、仮想空間内において互いに重なることなく隣同士となるような位置関係で配置され、
前記画像処理システムは、隣同士にある地形・背景オブジェクトの回転方向が互いに逆方向となるように、前記移動指示入力に基づいて回転させる、請求項8に記載の画像処理システム。
【請求項14】
前記画像処理システムは、
前記表示装置に表示するための前記仮想空間の画像における略中央を通過する所定の直線を境界とした場合の一方の側に含まれる位置となるように第1の前記地形・背景オブジェクトを配置させ、他方の側に含まれる位置となるように第2の前記地形・背景オブジェクトを配置し、
第1の地形・背景オブジェクトと第2の地形・背景オブジェクトとの回転方向が互いに逆方向となるように回転する、請求項13に記載の画像処理システム。
【請求項15】
少なくとも1つのプロセッサと、
操作部とを備え、
前記プロセッサは、
仮想空間内に、円筒曲面または球面の少なくとも一部を含む地形・背景オブジェクトを複数配置し、
操作装置に対する操作入力に基づいて操作される操作対象オブジェクトを前記仮想空間内において制御し、
前記操作装置に対する移動指示入力に基づいて、前記複数の地形・背景オブジェクトのそれぞれと前記操作対象オブジェクトとの相対的な位置関係が変わるように、前記円筒または球の中心を通る軸である回転中心軸周りに当該複数の地形・背景オブジェクトを回転し、
表示装置に表示するための前記仮想空間の画像を、仮想カメラを用いて生成する、画像処理装置。
【請求項16】
情報処理装置を制御するコンピュータに実行させる画像処理方法であって、
前記コンピュータに、
仮想空間内に、円筒曲面または球面の少なくとも一部を含む地形・背景オブジェクトを複数配置させ、
操作装置に対する操作入力に基づいて操作される操作対象オブジェクトを前記仮想空間内において制御させ、
前記操作装置に対する移動指示入力に基づいて、前記複数の地形・背景オブジェクトのそれぞれと前記操作対象オブジェクトとの相対的な位置関係が変わるように、前記円筒または球の中心を通る軸である回転中心軸周りに当該複数の地形・背景オブジェクトを回転させ、
表示装置に表示するための前記仮想空間の画像を、仮想カメラを用いて生成させる、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理に関し、より具体的には、地形・背景を表現するための画像処理に関する。
【背景技術】
【0002】
従来から、円筒状の曲面ゲームフィールド上にオブジェクトを配置したゲーム画面を表現する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記の技術では、地面のようなシンプルなゲームフィールドは表現できるが、複雑な地形表現という観点では更に改良する余地があった。
【0005】
それ故に、本発明の目的は、より複雑な地形表現が可能な画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【0007】
構成例の一例は、情報処理装置のコンピュータに、以下の処理を実行させる。仮想空間内に、円筒曲面または球面の少なくとも一部を含む地形・背景オブジェクトを複数配置させる。また、操作装置に対する操作入力に基づいて操作される操作対象オブジェクトを仮想空間内において制御させる。更に、当該操作装置に対する移動指示入力に基づいて、複数の地形・背景オブジェクトのそれぞれと前記操作対象オブジェクトとの相対的な位置関係が変わるように、円筒または球の中心を通る軸である回転中心軸周りに当該複数の地形・背景オブジェクトを回転させる。そして、表示装置に表示するための前記仮想空間の画像を、仮想カメラを用いて生成させる。
【0008】
上記構成例によれば、操作対象オブジェクトの移動指示に基づき、当該操作対象オブジェクトとの相対的な位置関係が変わるように複数の地形・背景オブジェクトを回転させている。これにより、複数の地形・背景オブジェクトを回転させるという簡便な処理で、操作対象オブジェクトの移動指示操作に基づく地形・背景の動きを伴った、より複雑な地形・背景の表現が可能となる。
【0009】
他の構成例として、複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっていてもよい。そして、画像処理プログラムは、コンピュータに、共通の回転中心軸周りにそれぞれ異なる回転速度で複数の地形・背景オブジェクトを移動指示入力に基づいて回転させてもよい。
【0010】
上記構成例によれば、複数の地形・背景オブジェクトを多層構造で仮想空間に配置し、かつ、それぞれの面は背後が透過する部分を有している構成である。また、複数の地形・背景オブジェクトを同心円状の多層構造として構成し、それぞれ異なる速度で回転させている。これにより、操作対象オブジェクトから近くの地形・背景オブジェクトと遠くの地形・背景オブジェクトとの回転速度を異ならせることができ、海面の表現等、奥行き感のある複雑な地形表現が可能となる。
【0011】
他の構成例として、複数の地形・背景オブジェクトは、多層構造の円筒曲面または球面の少なくとも一部であり、少なくとも当該面の一部が背後を透過し、円筒または球の半径はそれぞれ異なっていてもよい。そして、画像処理プログラムは、コンピュータに、それぞれ異なる回転中心軸周りに複数の地形・背景オブジェクトを移動指示入力に基づいてそれぞれ異なる回転速度で回転させてもよい。
【0012】
上記構成例によれば、背後が透過する部分を有する複数の地形・背景オブジェクトを、非同心円状の多層構造で仮想空間に配置し、それぞれ異なる回転速度で回転させている。これにより、奥行き感のある複雑な地形表現が可能となる。
【0013】
他の構成例として、円筒曲面または球面が操作対象オブジェクトの位置から遠くにある地形・背景オブジェクトほど、それぞれ異なる回転中心軸が当該操作対象オブジェクトにより近い位置となるように設定してもよい。
【0014】
上記構成例によれば、操作対象オブジェクトに近い地形・背景オブジェクトほどより速い速度で動くように見せることができる。これにより、簡易な処理で遠近感のある地形表現が可能となる。
【0015】
他の構成例として、画像処理プログラムは、コンピュータに、円筒曲面または球面上に操作対象オブジェクトを配置させ、操作対象オブジェクトを視野に含むように仮想空間内の仮想カメラを制御させてもよい。
【0016】
上記構成例によれば、より複雑な地形表現と共に、操作対象オブジェクトが仮想空間内を移動している状態を表現することができる。
【0017】
他の構成例として、複数の地形・背景オブジェクトは、互いの回転中心軸が平行となるような姿勢で、仮想空間内において互いに重なることなく隣同士となるような位置関係で配置されてもよい。そして、画像処理プログラムは、コンピュータに、上記隣同士にある地形・背景オブジェクトの回転方向が互いに逆方向となるように、移動指示入力に基づいて回転させてもよい。
【0018】
上記構成例によれば、隣同士に配置された地形・背景オブジェクトを、移動指示入力に基づいて互いに逆方向に回転させている。これにより、地形・背景オブジェクトを回転させるという簡易な処理で、奥行き感のある複雑な背景表現が可能となる。
【0019】
他の構成例として、コンピュータに、表示装置に表示するための仮想空間の画像における略中央を通過する所定の直線を境界とした場合の一方の側に含まれる位置となるように第1の地形・背景オブジェクトを配置させ、他方の側に含まれる位置となるように第2の地形・背景オブジェクトを配置させてもよい。そして、第1の地形・背景オブジェクトと第2の地形・背景オブジェクトとの回転方向が互いに逆方向となるように回転させてもよい。
【発明の効果】
【0020】
本実施形態によれば、より複雑な地形・背景の動きのある表現が可能となる。
【図面の簡単な説明】
【0021】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2の内部構成の一例を示すブロック図
【
図4】第1の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図5】第1の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図6】第1の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図8】海面オブジェクト102とプレイヤオブジェクトとの相対的な位置関係の変化を説明するための図
【
図9】海面オブジェクト102とプレイヤオブジェクトとの相対的な位置関係の変化を説明するための図
【
図10】海面オブジェクト102とプレイヤオブジェクトとの相対的な位置関係の変化を説明するための図
【
図11】海面オブジェクト102とプレイヤオブジェクトとの相対的な位置関係の変化を説明するための図
【
図12】記憶部84に記憶される各種データの一例を示すメモリマップ
【
図13】第1の実施形態に係るゲーム処理の詳細を示すフローチャート
【
図14】第2の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図15】第2の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図16】第2の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図18】第2の実施形態における地形・背景オブジェクトの回転方向について説明するための図
【
図19】第2の実施形態における地形・背景オブジェクトの回転方向について説明するための図
【
図20】第3の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図21】第3の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【
図22】第3の実施形態での仮想カメラと地形・背景オブジェクトとの配置関係を示す図
【発明を実施するための形態】
【0022】
[第1の実施形態]
以下、本発明の第1の実施形態について説明する。
【0023】
まず、本実施形態に係る情報処理を実行するための情報処理システムについて説明する。本実施形態では、情報処理システムの一例として、ゲームシステムを例として説明する。このゲームシステムはどのようなものでもよいが、
図1に、一例として本例で用いるゲームシステムの外観図を示す。
図1で示すゲームシステム1は、本体装置(情報処理装置:本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。なお、
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、プレイヤが入力を行うための操作部を備える装置である。
【0024】
図2は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部84に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。なお、記憶部84は、例えば、フラッシュメモリやDRAM(Dynamic Random Access Memory)等の内部記憶媒体であってもよいし、図示しないスロットに装着される外部記憶媒体等を利用する構成でもよい。
【0025】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用する場合において、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0026】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0027】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0028】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0029】
なお、図示は省略するが、本体装置2で生成された画像や音声については、所定の出力端子を介して、外部モニタ/外部スピーカに出力することも可能である。
【0030】
[コントローラについて]
また、図示は省略するが、左コントローラ3、右コントローラ4は、それぞれ、本体装置2との間で通信を行う通信制御部を備えている。本体装置2に左コントローラ3および右コントローラ4を装着した状態では、上記左側端子17および右側端子21を介した有線通信が可能である。また、本体装置2と左コントローラ3および右コントローラ4とを別体として利用する場合は、上記端子を介さない無線通信で本体装置2と通信を行うことが可能である。通信制御部は、コントローラの各入力部から、入力に関する情報(具体的には、操作に関する情報)を取得する。そして、通信制御部は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0031】
[第1の実施形態における画像制御処理の概要]
次に、第1の実施形態に係るゲームシステムで実行される画像処理の動作概要を説明する。本実施形態にかかる処理は、地形・背景オブジェクトを円筒形状のオブジェクトとして複数配置し、より複雑な地形等の表現を行うものである。具体的には、第1の実施形態では、上記コントローラによる操作対象であるプレイヤオブジェクトが(地形の一種である)海面上におり、また、当該海面上を移動する様子を表現する画像処理を例として説明する。
【0032】
図3は、第1の実施形態でのゲーム画面の一例である。
図3では、地形・背景オブジェクトの一例である海面オブジェクト102が表示されている。そして、船を模した形状のプレイヤオブジェクト101が当該海面オブジェクト102の上にいる様子を示している。ここで、本実施形態における海面オブジェクト102は、その円筒曲面の一部がゲーム画像として表示される円筒形状の地形・背景オブジェクトであり、ゲーム空間内でその円筒軸(円筒の上面・底面と直行し、円筒の中心を通る軸)が水平になるように配置される。また、本例では、一例として4つの海面オブジェクト102が用意され、後述するようにそれぞれの半径が異なる多層構造の円筒となるようにして配置されている。
図3では、説明の便宜上、各層の海面オブジェクト102を構成する非透過部分(後述)に、1~4のいずれかの数字を付して示している。各数値は、その非透過部分が4つの海面オブジェクト(
図4の海面オブジェクト102A~102D)のいずれに属するものであるかを、説明の便宜上、示しているものであり、実際のゲーム画像ではこの数値は表示されるものではない。
【0033】
図4~
図6は、第1の実施形態に係る仮想3次元ゲーム空間(以下、仮想ゲーム空間)の様子を示す模式図であり、上記ゲーム画像を得るための仮想カメラ104と海面オブジェクト102との配置関係を示す図でもある。
図4は、仮想ゲーム空間を斜視したものを示す模式図である。また、
図5は、
図4の仮想ゲーム空間をy軸に沿って見たもの(俯瞰したもの)を示す模式図である。また、
図6は、
図4の仮想ゲーム空間を、x軸に沿って見たものを示す図である。
【0034】
図4において、ゲーム空間には、海面オブジェクト102A~102D(以下の説明では総称して海面オブジェクト102と呼ぶこともある)、および、背景画像103が設定される。また、円筒形状の海面オブジェクト102A~102Dは、同心円状の多層構造となるようにして配置されている。また、海面オブジェクト102Aの上にプレイヤオブジェクト101が配置された状態でもある。
図4に示す仮想ゲーム空間の座標系(以下、ゲーム空間座標系)において、仮想カメラ104は、海面オブジェクト102の円筒曲面の側方に配置される。そして、仮想カメラ104のカメラ位置を基準とした所定のクリップ面に挟まれた視体積に設定されるゲーム空間がゲーム画像としてディスプレイ12に表示される。
図4に示した例では、仮想カメラ104から海面オブジェクト102の円筒曲面の一部を透視投影した画像105と、その後方に描画された背景画像103を透視投影した画像106とによって、ゲーム画像が構成される。なお、背景画像103は、上記地形・背景オブジェクトとは異なるものであり、1枚絵の画像である。
【0035】
このようなゲーム画像が表示されている状態で、プレイヤが、プレイヤオブジェクト101と他のオブジェクト(具体的には地形・背景オブジェクト)との位置関係を変化させる目的の指示操作を行った場合を想定する。本例では、プレイヤオブジェクト101を移動させるための指示操作が上記コントローラに対して行われるものとする。この場合、ゲーム空間座標系におけるプレイヤオブジェクト101の位置は変化させずに、上記海面オブジェクト102をその円筒軸周りに回転させることで、プレイヤオブジェクト101が海面上を移動する様子を表現する。操作の例を挙げると、例えば、画面奥行き方向(z軸正方向)にプレイヤオブジェクト101を移動させる指示入力として、アナログスティックや方向指示キーによる上方向の入力が考えられる。あるいは、「アクセル」等の機能として割り当てられている所定のボタンを押下する操作も考えられる。このような移動指示操作が行われた場合、海面オブジェクト102をその円筒軸周りに、画面奧から仮想カメラ104の方向(
図3でいうと手前側方向)に回転させる制御が行われる。当該円筒軸は、回転の中心となる軸(回転中心軸)であるともいえる。これにより、プレイヤオブジェクト101が画面奥行き方向に向かって移動している様子を表現できる。また、仮想カメラ側(画面手前側)方向にプレイヤオブジェクト101を移動させる指示入力が行われた場合は、海面オブジェクト102をその円筒軸周りに、仮想カメラ104側から画面奥行き方向に回転させる制御が行われる。これにより、プレイヤオブジェクト101が画面手前方向に向かって移動している様子を表現できる。なお、このような回転の結果、海面オブジェクト102の円周表面上におけるプレイヤオブジェクト101の位置も変化することになる。つまり、海面オブジェクト102(の円周表面)とプレイヤオブジェクトの相対的な位置関係が変化することになる。
【0036】
なお、上記海面オブジェクト102の上に、他のオブジェクトを更に配置してもよい。この場合、当該他のオブジェクトについては、海面オブジェクト102をその円筒軸周りに回転に伴って一緒に移動させるようにしてもよい。つまり、海面オブジェクト102と他のオブジェクトとの相対的な位置関係は維持したまま、ゲーム空間座標系における他のオブジェクトの位置を変化させるようにしてもよい。
【0037】
次に、上記のような多層構造で配置された4つの海面オブジェクト102A~102Dに関して更に説明する。本例では、円筒形状である4つの海面オブジェクト102A~102Dはそれぞれ異なる半径を有している。そして、上記
図6で示されるように、4つの海面オブジェクト102A~102Dは、円筒の上面あるいは底面から見た場合、同心円状の多層構造となるようにして配置されている。
【0038】
また、各海面オブジェクトの円筒曲面となる部分は、透過部分と非透過部分とを有している。
図7に、ある海面オブジェクト102の円筒曲面を平面展開した図を示す。
図7では、斜線を入れて示している部分が非透過部分であり、それ以外の部分が透過部分となっている。透過部分は、透過率(透明度)が100%(完全透過)である部分であり、非透過部分は透過率が0%(完全非透過)の部分である。そして、上記のように海面オブジェクト102か多層構造となるよう配置される。そのため、ゲーム画像としては、例えば海面オブジェクト102A(一番上の層)における透過部分に、その下の層にある海面オブジェクト102B~102Dの画像が見えることになる。例えば、上記
図3では、海面オブジェクト102の非透過部分に1~4の数値のいずれかを示している。
図3において、この数値が1のものは、海面オブジェクト102Aの非透過部分であり、この数値が2のものは、海面オブジェクト102Bの非透過部分であり、この数値が3のものは、海面オブジェクト102Cの非透過部分であり、この数値が4のものは、海面オブジェクト102Dの非透過部分であることを示している。そのため、ゲーム画像としては、海面オブジェクト102A~102Dの中では、プレイヤオブジェクト101に一番近い位置関係にある海面オブジェクト102Aの非透過部分が一番手前側に表示される。また、プレイヤオブジェクトから最も離れた位置関係となる海面オブジェクト102Dの非透過部分が一番奥に表示されているように見える。
【0039】
更に、本実施形態では、上記のようにプレイヤオブジェクトの移動指示入力が行われた場合、各海面オブジェクト102をその円筒軸周りに回転させているが、このときの各海面オブジェクトの単位時間あたりの回転速度を異ならせている。例えば、回転速度を10段階で示すとして、速度1が最も遅く、速度10が最も速い回転速度であると仮定する。この場合、一例として海面オブジェクト102Aは速度10で回転させ、海面オブジェクト102Bは速度7で回転させ、海面オブジェクト102Cは速度5で回転させ、海面オブジェクト102Dは速度2で回転させる。これにより、例えば、プレイヤオブジェクト101を画面奥行き方向に移動させた場合、海面オブジェクト102Aの非透過部分のほうが海面オブジェクト102Dの非透過部分よりも速い速度で手前側に近づいてくるように見せることができる。その結果、海底方向(円筒曲面から円筒軸方向)への奥行き感・遠近感のある海面の表現が可能となる。
【0040】
図8~
図11に、上記のような回転速度の違い、および、海面オブジェクト102とプレイヤオブジェクトとの相対的な位置関係の変化の一例を示す。
図8~11はそれぞれ、仮想ゲーム空間を
図4のx軸方向に沿ってみた場合の図である。これらの図では、海面オブジェクト102Aのある非透過部分の位置を丸印111A、海面オブジェクト102Bのある非透過部分の位置を丸印111B、海面オブジェクト102Cのある非透過部分の位置を丸印111C、海面オブジェクト102Dのある非透過部分の位置を丸印111Dとして示している。また、ここでは、各海面オブジェクト102が円筒軸周りに反時計周りとなる方向で回転する場合を例とする。回転速度については、プレイヤオブジェクト101に近い順に回転速度が速いものとする。この例では、海面オブジェクト102A→102B→102C→102Dの順で回転速度が遅くなっていく。そのため、
図8の状態から、
図9→
図10→
図11と変化していくと、プレイヤオブジェクト101と丸印111Aとの位置関係が最も大きく変化することになる。すなわち、
図8~
図11にかかる変化においては、丸印111Aの位置が変化する速度が最も速く、丸印111Dの位置が変化する速度が最も遅いものとなっている。
【0041】
このように、第1の実施形態では、円筒形状のオブジェクトを地形・背景オブジェクトとして配置し、その円筒曲面に透過部分と非透過部分とを設け、この円筒曲面(主に非透過部分)を用いて地形や背景を表現する。更に、このような円筒形状の地形・背景オブジェクトを、同心円状の多層構造として仮想空間内に配置している。そして、プレイヤオブジェクトの移動指示入力が行われた場合、プレイヤオブジェクト自体は動かさずに、各地形・背景オブジェクトをその円筒軸周りの所定方向にそれぞれ異なる速度で回転させている。これにより、円筒曲面から円筒軸方向について奥行き感のある複雑な地形表現が、円筒形状の地形・背景オブジェクトを回転させるだけというような処理負荷の軽い簡易な処理で可能となる。
【0042】
[本実施形態のゲーム処理の詳細]
次に、
図12~
図13を参照して、本実施形態におけるゲーム処理についてより詳細に説明する。
【0043】
[使用データについて]
まず、本ゲーム処理にて用いられる各種データに関して説明する。
図12は、本体装置2の記憶部84に記憶される各種データの一例を示すメモリマップである。本体装置2の記憶部84には、ゲームプログラム301、操作データ302、プレイヤオブジェクトデータ303、地形・背景オブジェクトデータ304、その他オブジェクトデータ305、仮想カメラパラメータ306等が記憶されている。
【0044】
ゲームプログラム301は、本実施形態に係るゲーム処理を実行するためのプログラムである。
【0045】
操作データ302は、上記左コントローラ3および右コントローラ4から得られるデータであり、プレイヤの操作内容を示すデータである。当該操作データ302には、各コントローラが有する各種ボタンの押下状態を示すデータやアナログスティックに対する操作内容を示すためのデータ等が含まれている。
【0046】
プレイヤオブジェクトデータ303は、上記プレイヤオブジェクト101に関するデータであり、その外観を示すデータ等が含まれている。
【0047】
地形・背景オブジェクトデータ304は、上述したような円筒形状の地形・背景オブジェクトを示すデータである。本実施形態では上記4つの海面オブジェクト102を示すデータとなる。当該データには、各海面オブジェクト102の半径を示す情報や、円周曲面の内容を定義した情報が含まれる。円周曲面の内容を定義した情報は、例えば、円周曲面の透過部分および非透過部分の位置を定義した情報やその画像データ等である。また、当該データには、円筒軸周りに回転させる際の回転速度に関する情報も含まれる。例えば、当該情報として、所定の係数が定義されてもよい。この場合、プレイヤの移動指示入力とプレイヤオブジェクト101に設定される移動速度等に当該係数を掛け合わせることで、各海面オブジェクトの回転速度が算出できる。また、その他、直接的に回転速度を示す値を定義するようにしてもよい。なお、当該回転速度に関するデータについては、多層構造における円筒中心軸に近い海面オブジェクト102ほど、その回転速度が遅くなるように設定される。
【0048】
その他のオブジェクトデータ305は、敵オブジェクト等、プレイヤオブジェクトおよび地形・背景オブジェクト以外の各種オブジェクトを定義したデータである。
【0049】
仮想カメラパラメータ306は、仮想ゲーム空間内での仮想カメラの位置、向き、画角等のパラメータを定義するデータである。
【0050】
[プロセッサ81が実行する処理の詳細]
次に、
図13のフローチャートを参照して、第1の実施形態に係るゲーム処理の詳細を説明する。
図13で示すフローチャートは、ゲーム処理において、プレイヤオブジェクトが海上を移動するときに実行される処理を示す。なお、ここでは、地形・背景オブジェクト(海面オブジェクト102)にかかる処理を主に説明し、その他のゲーム処理についての詳細な説明は割愛する。また、
図13で示すステップS2~S8の処理ループは、例えば1フレーム毎に繰り返し実行される。
【0051】
なお、当該フローチャートは、処理過程の単なる一例にすぎない。そのため、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例であり、必要に応じて他の値を採用してもよい。
【0052】
図13において、まず、ステップS1で、プロセッサ81は、準備処理を実行する。この処理は、
図3~
図6等で示したような仮想ゲーム空間を構築するための処理である。具体的には、プロセッサ81は、地形・背景オブジェクトデータ304に基づいて、上記
図4~6で示したような円筒形状の4つの海面オブジェクトを生成する。そして、プロセッサ81は、これらの海面オブジェクト102を上述したような多層構造になるようにして仮想ゲーム空間内に配置する。また、プロセッサ81は、プレイヤオブジェクトデータ303に基づいてプレイヤオブジェクト101を生成し、海面オブジェクト102Aの円周曲面上となるような所定の位置に配置する。更に、プロセッサ81は、仮想カメラパラメータ306に基づいて仮想カメラ104を仮想ゲーム空間内の所定の位置に配置し、その画角や向き等を適宜設定する。また、プロセッサ81は、その他のオブジェクトや背景画像103等も適宜仮想ゲーム空間内に配置する。そして、各種オブジェクト等が配置された仮想ゲーム空間を仮想カメラで撮像してゲーム画像を生成し、ディスプレイ12に出力する。
【0053】
次に、ステップS2で、プロセッサ81は、操作データ302を取得する。続くステップS3で、プロセッサ81は、操作データ302で示されるプレイヤの操作内容が、プレイヤオブジェクト101の移動指示であるか否かを判定する。
【0054】
上記判定の結果、プレイヤの操作内容がプレイヤオブジェクト101の移動指示である場合は(ステップS3でYES)、次に、ステップS4で、プロセッサ81は、当該移動指示の内容に基づき、海面オブジェクト102を円筒軸周りに回転させる処理を行う。回転方向については、操作データ302で示されるプレイヤオブジェクト101の移動方向に基づいて決定される。例えば、プレイヤオブジェクト101が前進するような移動方向の指示であれば、回転方向については、上記
図6における反時計回りの回転となるような方向に決定される。プレイヤオブジェクト101が後退するような移動方向の指示であれば、回転方向については、上記
図6における時計回りの回転となるような方向に決定される。また、各海面オブジェクト102の回転速度については、上記地形・背景オブジェクトデータ304に含まれる回転速度に関する情報に基づいて決定される。上記のように、回転速度については、プレイヤオブジェクト101により近い海面オブジェクト102の回転速度が他の海面オブジェクトの回転速度よりも速くなるように決定される。
【0055】
なお、上記のように、本実施形態では、プレイヤオブジェクト101自体は上記ゲーム空間座標系における座標位置は変化させず、海面オブジェクト102のほうを回転させることで、その円筒曲面上におけるプレイヤオブジェクト101の相対的な位置を変化させている。一方、海面オブジェクト102の円周曲面上に配置された他のオブジェクトについては、当該海面オブジェクト102の回転に伴い、円周曲面上における相対的な位置関係は変化させないようにして移動される。つまり、円周曲面上における相対的な位置関係は変化させず、ゲーム空間座標系における座標位置は変化することになる。例えば、島オブジェクトのような位置が固定されている性質のオブジェクトを配置していた場合は、円周曲面上における相対的な位置関係は変化させないようにして当該海面オブジェクト102の回転に伴ってこれら他のオブジェクトも移動させてもよい。その結果、当該島オブジェクトにプレイヤオブジェクト101が近づいていく様子が表現される。
【0056】
一方、上記ステップS3の判定の結果、プレイヤの操作内容がプレイヤオブジェクト101の移動指示ではなかった場合は(ステップS3でNO)、上記ステップS4の処理はスキップされて、次のステップS5の処理に進められる。
【0057】
次に、ステップS5で、プロセッサ81は、上記海面オブジェクト102の回転制御以外の各種ゲーム処理を実行する。例えば、プレイヤオブジェクト101とその他の所定のオブジェクトとの衝突判定と、その結果に伴う処理が実行される。また、その他、操作データ302で示される内容がプレイヤオブジェクト101の移動指示ではなかった場合は、その操作内容に基づいた他のゲーム処理が適宜実行される。例えば、攻撃操作等が行われていれば、攻撃に関する処理が適宜実行される。そして、当該ゲーム処理の結果を仮想ゲーム空間に反映する処理も実行される。
【0058】
次に、ステップS6で、プロセッサ81は、上記海面オブジェクト102の回転やゲーム処理を反映した仮想ゲーム空間を仮想カメラで撮像し、ゲーム画像を生成する。続くステップS7で、プロセッサ81は、当該生成したゲーム画像をディスプレイ12に出力する。
【0059】
次に、ステップS8で、プロセッサ81は、ゲームの終了条件が満たされたか否かを判定する。例えば、プロセッサ81は、プレイヤによる明示的なゲーム終了指示が行われたか等を判定する。当該判定の結果、ゲーム終了条件が満たされていない場合は(ステップS8でNO)、上記ステップS2に戻り、処理が繰り返される。ゲーム終了条件が満たされた場合は(ステップS8でYES)、当該ゲーム処理は終了する。
【0060】
このように、本実施形態では、プレイヤオブジェクトが海上を移動する様子を表現する場合に、複数の円筒形状の海面オブジェクトを多層構造にして配置し、それぞれ異なる回転速度で回転させている。また、各海面オブジェクトは透過部分と非透過部分を有している。そのため、透過部分については下層の海面オブジェクト102が見えることになる。これにより、円筒軸方向について奥行き感のある海の表現を簡便な処理で実現することができる。
【0061】
[第2の実施形態]
以下、本発明の第2の実施形態について説明する。上記第1の実施形態では、複数の円筒形状の地形・背景オブジェクトを多層構造にして仮想ゲーム空間に配置する例を挙げていた。第2の実施形態では、複数の地形・背景オブジェクトを、同心円状の多層構造となるよう配置するのではなく、円筒軸が別々の位置になるように配置するような例を挙げる。
【0062】
第2の実施形態では、プレイヤオブジェクト101が空中を移動(飛行)している様子を表現する処理を例とする。
図14~
図16に、第2の実施形態における複数の地形・背景オブジェクトの配置の概念を示す。また、
図17に、第2の実施形態におけるゲーム画像の一例を示す。なお、
図17に示すゲーム画像では、主観画面で画像が表示されており、プレイヤオブジェクト101自体はゲーム画像上には表示されていない例である。そのため、第2の実施形態では、ゲーム空間座標系における仮想カメラ104の位置がプレイヤオブジェクト101の位置となる。他の実施形態では、例えばプレイヤオブジェクト101の後方に仮想カメラ104を配置するようにして、客観画面でゲーム画像を表示してもよい。つまり、仮想カメラ104の視野にプレイヤオブジェクト101が含まれるようにしてもよい。
【0063】
図14~
図16で示すように、第2の実施形態では、(単層の)円筒形状の地形・背景オブジェクト202Aおよび202Bという、2つの地形・背景オブジェクトを用いている。本例は、プレイヤオブジェクト101が空中を移動している様子を表現するものであるため、当該地形・背景オブジェクト202Aおよび202B(以下、総称して地形・背景オブジェクトと呼ぶこともある)の円筒曲面には雲のある空の画像が描かれるものとする。つまり、第2の実施形態では、地形・背景オブジェクト202は、主に背景として用いられる。また、本例では、円筒曲面は第1の実施形態のような透過部分を有さず、その円筒曲面全面に背景としての空の画像が描かれている。以下、第2の実施形態における地形・背景オブジェクトのことを空背景オブジェクトと呼ぶ。
【0064】
図14~
図16で示すように、空背景オブジェクト202A、202Bは、互いに重ならないような位置で、隣り合うようにして配置されている。また、双方共に、その円筒軸がゲーム画像において略垂直方向に沿うような姿勢で表示されるよう、ゲーム空間内に配置されている。換言すれば、円筒軸同士は平行な位置関係となるように配置されている。また、仮想カメラ104の位置については、
図14のx軸上において、隣り合う空背景オブジェクト202Aおよび202Fの境目(あるいは、両者の間)となるような位置に配置される。つまり、当該境目となる位置が仮想カメラ104の撮像方向正面に来るような位置に配置される。また、y軸上の位置で見た場合は、空背景オブジェクト202Aおよび202Bのy軸上の長さのほぼ中央付近となる位置に仮想カメラ104は配置される。z軸上の位置で見た場合は、空背景オブジェクト202A、202Bの双方がゲーム画像において表示されるように、ある程度空背景オブジェクト202A、202Bから離れた位置に仮想カメラ104は配置される。
【0065】
なお、本例では空背景オブジェクト202A、202Bを隣り合うように配置しており、その配置間隔については、ほぼ間隔を空けずに配置する例を示している。他の実施形態では、両者の配置間隔をより大きくして配置するようにしてもよい。
【0066】
第2の実施形態における空背景オブジェクト202A、202Bも、プレイヤオブジェクト101に対する移動指示入力に応じて、円筒軸周りに回転させる。但し、第2の実施形態では、その回転方向について、お互いに回転方向が逆となるようにして回転させる。また、回転速度については、双方とも同じ回転速度で回転させる。
図18~
図19は、当該回転方向について説明するための図である。本例では、空背景オブジェクト202Aについては右から左に向けて回転させ、空背景オブジェクト202Bについては、左から右に向けて回転させる。
図18および
図19の例でいうと、空背景オブジェクト202Aは円筒軸周りに時計回りに回転し、空背景オブジェクト202Bは円筒軸周りに反時計回りに回転することになる。また、プレイヤオブジェクト101の位置については、第1の実施形態と同様に、ゲーム空間座標系における位置は変化させないようにする。そのため、このような回転により、プレイヤオブジェクト(仮想カメラ)と空背景オブジェクト202Aおよび202Bの円筒曲面との相対的な位置関係も変化することになる。このように互いに逆方向に回転させることで、プレイヤオブジェクトが奥行き方向に向かって前進していく様子が表現できる。例えば、
図18に示すように、空背景オブジェクト202Aの円周曲面上の画像(例えば雲の画像)については、画面の奥から画面左方向に流れていくように表示される。また、空背景オブジェクト202Bの円周曲面上の画像については、画面の奥から画面右方向に流れていくように表示される。これにより、
図17の画面例でいうと、画面の略中央の奥行き方向に向かってプレイヤオブジェクト101が進んでいくような様子が表現できる。
【0067】
なお、第2の実施形態で用いられるデータについては、第1の実施形態における地形・背景オブジェクトデータ304の内容が、上記のような空の背景として用いられる空背景オブジェクト202A、202Bを示す内容に変わる点以外は、基本的には第1の実施形態と同じである。また、具体的な処理についても、上記
図13のフローチャートで示した処理と同様である。そのため、第2の実施形態で用いられるデータ及び処理の詳細な説明は割愛する。
【0068】
このように、第2の実施形態では、空背景オブジェクト202A、202Bを隣り合うようにして配置している。更に、仮想カメラの正面が両オブジェクトの境界付近に来るような位置に仮想カメラを配置している。そして、プレイヤオブジェクトの移動指示に応じて回転方向が互いに逆方向になるように同じ速度で回転させている。これにより、奥行き方向に向かってプレイヤオブジェクト101が移動する様子を、空背景オブジェクト202を回転させるだけという簡易な処理で表現できる。
【0069】
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。上記第3の実施形態では、上記第1および第2の実施形態を組み合わせたような地形・背景オブジェクトの配置を行うものである。
図20~
図22に、第3の実施形態における地形・背景オブジェクトの配置の概念を示す。
図20~
図22で示されるように、第3の実施形態では、第1の実施形態で示した同心円状の多層構造となるような海面オブジェクト102A~102Dを仮想ゲーム空間内に配置している。更に、海面オブジェクト102A~102Dの仮想カメラ104から遠ざかる側に、第2の実施形態で示したような空背景オブジェクト202Aおよび202Bを配置している。このような配置関係で、各地形・背景オブジェクトの回転方向や回転速度の制御について上記第1および第2の実施形態と同様の制御を行う。これにより、地形・背景オブジェクトを回転させるだけという簡易な処理で、2つの異なる軸の奥行き感を同時に感じられるようなより複雑な地形表現が可能となる。すなわち、上記
図4等で示したゲーム空間座標系におけるz軸方向にかかる奥行き感と、海面オブジェクト102A~Dの円周曲面から円筒軸に向かう方向にかかる奥行き感という2つの異なる軸の奥行き感である。
【0070】
[変形例]
なお、上記第1の実施形態では、同心円状の多層構造として配置される海面オブジェクト102Aの外側にプレイヤオブジェクト101が配置されている例を示した。他の実施形態では、このような多層構造の地形・背景オブジェクトにおける内側にプレイヤオブジェクト101を配置してもよい。例えば、
図23に示すように、円筒軸に最も近い地形・背景オブジェクトの内側にプレイヤオブジェクト101を配置してもよい。そして、それぞれの円筒曲面には第1の実施形態同様に透過部分、非透過部分を設けておく。また、回転速度については、プレイヤオブジェクトに最も近い地形・背景オブジェクト、
図23では一番内側の地形・背景オブジェクトの回転速度が最も速くなるように設定すればよい。
【0071】
また、その他、地形・背景オブジェクトを多層構造にして配置する場合、第1の実施形態のような同心円状の構成の他、
図24に示すように、非同心円状となるような構成としてもよい。この場合、プレイヤオブジェクトからより遠くに配置される地形・背景オブジェクトにかかる円筒軸の位置が、当該プレイヤオブジェクト101により近い位置となるような非同心円状に配置してもよい。
図24の例で言うと、プレイヤオブジェクトから一番遠くに配置される「第4層」の地形・背景オブジェクトにかかる円筒軸の位置が、他の円筒軸よりもプレイヤオブジェクト101に近い位置関係となる。この場合も、上記第1の実施形態と同様の制御を行うことで、第1の実施形態と同様の効果が得られる。すなわち、プレイヤオブジェクト101の移動を指示する入力に基づいて、複数の地形・背景オブジェクトをそれぞれ回転させ、その様子を仮想カメラで撮像してゲーム画像を生成、表示することで、第1の実施形態と同様の効果が得られる。それぞれの地形・背景オブジェクトは、それぞれ異なる回転速度で回転させてもよいが、同じ回転速度であっても軸がずれていることによって、仮想カメラから見た地形や背景の動きを表現することができる。
【0072】
また、上記第2の実施形態では、2つの単層の地形・背景オブジェクトを、円筒軸の方向について、ゲーム画像における垂直方向に沿うような姿勢で配置する例を挙げた。つまり、ゲーム画像において、左右に分けて配置するような例を挙げた。この他、例えば、ゲーム画像において円筒軸が水平方向に沿うような姿勢で配置するようにしてもよい。つまり、ゲーム画像において、上下に分けて地形・背景オブジェクトを配置するようにしてもよい。またその他、ゲーム画像において円筒軸が所定の斜め方向に沿うような配置としてもよい。
【0073】
また、第1の実施形態では、多層構造の円周曲面が、透過部分と非透過部分とを有する構成を例示した。他の実施形態では、例えば当該円周曲面の全面に所定の地形画像を描画し、かつ、当該円周曲面の全面を半透明とする構成としてもよい。また、このような半透明構成における透過率の設定としては、少なくともその背後が透過して視認できる程度の透過率に設定すればよい。
【0074】
また、上記第2の実施形態では、単層の地形・背景オブジェクト202A、202Bを並べて配置する例を挙げた。他の実施形態では、地形・背景オブジェクト202Aおよび202Bのそれぞれについて、第1の実施形態のように透過部分と非透過部分を有する多層構造のものとしてもよい。これにより、より複雑な背景表現が可能となる。
【0075】
また、上記実施形態では、地形・背景オブジェクトの形状として、円筒形状のものを例示した。この他、他の実施形態では、円筒形状の代わりに球形状の地形・背景オブジェクトを用いてもよい。この場合、当該球の中心を通る軸を上記円筒軸に相当する軸とすればよい。そして、球形状の地形・背景オブジェクトを当該軸周りに回転させるようにして、上記第1の実施形態や第2の実施形態と同様の配置や制御を行うことで、同様の効果を得ることができる。
【0076】
また、上記の地形・背景オブジェクトについては、その全体が円筒形状あるいは球形状ではなくてもよく、その一部に円筒曲面あるいは球面を含むものであってもよい。例えば
図25に示すような、円筒の上面・底面が円ではなく半円であるような形状(半円筒の形状)であってもよい。そして、円筒曲面となっている部分についてのみ上記のような処理を行うようにしてもよい。また、この場合の移動制御については、例えば、画面奥行き方向に移動し続けたとすると、円筒曲面が途切れている箇所で「行き止まり」となるような移動制御を行えば良い。
【0077】
また、上記各実施形態では、ゲーム処理に係る一連の処理が単一の装置において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。更には、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【符号の説明】
【0078】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
12 ディスプレイ
81 プロセッサ
84 記憶部