IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特開2024-18676ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018676
(43)【公開日】2024-02-08
(54)【発明の名称】ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法
(51)【国際特許分類】
   A63F 13/5255 20140101AFI20240201BHJP
   A63F 13/55 20140101ALI20240201BHJP
   A63F 13/533 20140101ALI20240201BHJP
【FI】
A63F13/5255
A63F13/55
A63F13/533
【審査請求】有
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2022122149
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(74)【代理人】
【識別番号】100168217
【弁理士】
【氏名又は名称】大村 和史
(72)【発明者】
【氏名】佐野 伸也
(72)【発明者】
【氏名】松本 広大
(72)【発明者】
【氏名】阿部 貴企
(57)【要約】      (修正有)
【課題】撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる。
【解決手段】ゲーム画面には、プレイヤキャラクタ202および床、階段、扉などの背景オブジェクトが表示される。通常のゲームプレイ中の通常モードにおいて、撮影モードに切り替えることが選択されると、通常モードにおける仮想カメラ250の位置および向きに基づいて設定される位置および向きに仮想カメラが配置される。また、通常モードからメニューモードに切り替えることが選択されると、プレイヤキャラクタの位置および向きに基づいてプレイヤキャラクタの肩越しから仮想空間を見るように仮想カメラが配置される。メニューモードにおいて撮影モードが選択されると、メニューモードにおける仮想カメラの位置および向きに基づいて設定される位置および向きに仮想カメラが配置される。
【選択図】図15
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータにおいて実行されるゲームプログラムであって、前記コンピュータを、
プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、
仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させ、
前記ゲーム実行手段は、
前記通常モードにおいて、
移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、
第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、
第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、
第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段と、
前記メニューモードにおいて、
前記第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、
複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、
第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段と、
前記撮影モードにおいて、
前記撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、
第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、
撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む、
ゲームプログラム。
【請求項2】
前記メニュー用画像生成手段は、前記第3操作入力に基づいて前記撮影モードへと切り替える撮影モード切替用の前記メニュー項目を含む前記メニュー画像を生成する、請求項1記載のゲームプログラム。
【請求項3】
前記メニュー用画像生成手段は、
前記仮想カメラに基づく前記仮想空間の画像を生成し、
さらに複数の半透明の前記メニュー項目を含む前記メニュー画像を生成する、請求項1記載のゲームプログラム。
【請求項4】
前記メニューモード用カメラ位置設定手段は、前記仮想カメラの位置及び向きを、前記プレイヤキャラクタの背後側から前記プレイヤキャラクタを映すような位置および向きになるよう設定される、請求項1記載のゲームプログラム。
【請求項5】
前記画像生成手段は、
前記通常モードおよび前記メニューモードにおいて、前記プレイヤキャラクタを含む前記仮想空間の画像を前記仮想カメラに基づいて生成し、
前記撮影モードにおいて、前記プレイヤキャラクタを含まない前記仮想空間の画像を前記仮想カメラに基づいて生成する、請求項1記載のゲームプログラム。
【請求項6】
前記ゲーム実行手段は、前記第2仮想カメラ操作入力に基づいて、さらに前記プレイヤキャラクタの位置および向きを制御する、請求項1記載のゲームプログラム。
【請求項7】
前記ゲーム実行手段は、
前記撮影モードにおいて、第4操作入力に基づいて、前記撮影モードから前記撮影モードへ切り替える前のモードへ切り替える第1モード復元手段を含み、
前記第4操作入力に基づいて、前記撮影モードから前記通常モードまたは前記メニューモードへ切り替えられた場合、前記仮想カメラの向きを、前記撮影モードへ切り替えられる前のモードでの前記仮想カメラの向きへと設定する、請求項1記載のゲームプログラム。
【請求項8】
前記ゲーム実行手段は、
前記第1操作入力に基づいて、前記メニューモードへ切り替えられた後の前記メニューモードにおいて、第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替える第2モード復元手段を含み、
前記第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替えられた場合、前記仮想カメラの向きを、前記メニューモードへ切り替えられる前の前記通常モードでの前記仮想カメラの向きへと設定する、請求項1記載のゲームプログラム。
【請求項9】
前記画像記憶手段は、前記画像生成手段によって生成される前記仮想空間の画像の所定の一部の範囲を、前記仮想カメラに基づく画像として記憶手段に記憶させる、請求項1記載のゲームプログラム。
【請求項10】
前記撮影モード用カメラ位置設定手段は、前記撮影モードに切り替えられたときに、前記仮想カメラの位置を、前記撮影モードに切り替えられる前の前記仮想カメラの向きに基づいて所定方向に所定距離だけ移動させる、請求項1記載のゲームプログラム。
【請求項11】
プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、
仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させ、
前記ゲーム実行手段は、
前記通常モードにおいて、
移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、
第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、
第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、
第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段と、
前記メニューモードにおいて、
前記第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、
複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、
第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段と、
前記撮影モードにおいて、
前記撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、
第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、
撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む、
ゲームシステム。
【請求項12】
前記メニュー用画像生成手段は、前記第3操作入力に基づいて前記撮影モードへと切り替える撮影モード切替用の前記メニュー項目を含む前記メニュー画像を生成する、請求項11記載のゲームシステム。
【請求項13】
前記メニュー用画像生成手段は、
前記仮想カメラに基づく前記仮想空間の画像を生成し、
さらに複数の半透明の前記メニュー項目を含む前記メニュー画像を生成する、請求項11記載のゲームシステム。
【請求項14】
前記メニューモード用カメラ位置設定手段は、前記仮想カメラの位置及び向きを、前記プレイヤキャラクタの背後側から前記プレイヤキャラクタを映すような位置および向きになるよう設定される、請求項11記載のゲームシステム。
【請求項15】
前記画像生成手段は、
前記通常モードおよび前記メニューモードにおいて、前記プレイヤキャラクタを含む前記仮想空間の画像を前記仮想カメラに基づいて生成し、
前記撮影モードにおいて、前記プレイヤキャラクタを含まない前記仮想空間の画像を前記仮想カメラに基づいて生成する、請求項11記載のゲームシステム。
【請求項16】
前記ゲーム実行手段は、前記第2仮想カメラ操作入力に基づいて、さらに前記プレイヤキャラクタの位置および向きを制御する、請求項11記載のゲームシステム。
【請求項17】
前記ゲーム実行手段は、
前記撮影モードにおいて、第4操作入力に基づいて、前記撮影モードから前記撮影モードへ切り替える前のモードへ切り替える第1モード復元手段を含み、
前記第4操作入力に基づいて、前記撮影モードから前記通常モードまたは前記メニューモードへ切り替えられた場合、前記仮想カメラの向きを、前記撮影モードへ切り替えられる前のモードでの前記仮想カメラの向きへと設定する、請求項11記載のゲームシステム。
【請求項18】
前記ゲーム実行手段は、
前記第1操作入力に基づいて、前記メニューモードへ切り替えられた後の前記メニューモードにおいて、第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替える第2モード復元手段を含み、
前記第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替えられた場合、前記仮想カメラの向きを、前記メニューモードへ切り替えられる前の前記通常モードでの前記仮想カメラの向きへと設定する、請求項11記載のゲームシステム。
【請求項19】
前記画像記憶手段は、前記画像生成手段によって生成される前記仮想空間の画像の所定の一部の範囲を、前記仮想カメラに基づく画像として記憶手段に記憶させる、請求項11記載のゲームシステム。
【請求項20】
前記撮影モード用カメラ位置設定手段は、前記撮影モードに切り替えられたときに、前記仮想カメラの位置を、前記撮影モードに切り替えられる前の前記仮想カメラの向きに基づいて所定方向に所定距離だけ移動させる、請求項11記載のゲームシステム。
前記撮影モード用カメラ位置設定手段は、前記撮影モードに切り替えられたときに、前記仮想カメラの位置を、前記撮影モードに切り替えられる前の前記仮想カメラの向きに基づいて所定方向に所定距離だけ移動させる、請求項11記載のゲームプログラム。
【請求項21】
プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、
仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させ、
前記ゲーム実行手段は、
前記通常モードにおいて、
移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、
第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、
第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、
第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段と、
前記メニューモードにおいて、
前記第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、
複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、
第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段と、
前記撮影モードにおいて、
前記撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、
第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、
撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む、
ゲーム装置。
【請求項22】
(a)プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するステップと、
(b)仮想空間の画像を仮想カメラに基づいて生成するステップを含み、
前記ステップ(a)は、
(a-1)前記通常モードにおいて、
(a-1-1)移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるステップと、
(a-1-2)第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させるステップと、
(a-1-3)第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるステップと、
(a-1-4)第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替えるステップと、
(a-2)前記メニューモードにおいて、
(a-2-1)前記第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるステップと、
(a-2-2)複数の選択可能なメニュー項目を含むメニュー画像を生成するステップと、
(a-2-3)第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替えるステップと、
(a-3)前記撮影モードにおいて、
(a-3-1)前記撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させるステップと、
(a-3-2)第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させるステップと、
(a-3-3)撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させるステップを含む、
ゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法に関し、特にたとえば、プレイヤが仮想空間内においてプレイヤキャラクタを移動させて仮想のゲームを進行させる、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1のゲームシステムは、ゲームの実行中にプレイヤの操作に応じて撮影モードに切り替える。撮影モードでは、プレイヤの操作に応じて仮想空間内の仮想カメラをロール方向に回転させる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-37614号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1のゲームシステムでは、撮影モードに切り替えた直後の仮想カメラの位置および向きは、通常のゲームプレイ中のモードであるゲームモードから撮影モードへ切り替え操作が行われた時点における仮想カメラの位置および向きに基づいて設定されるだけであった。
【0005】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法を提供することである。
【0006】
また、この発明の他の目的は、撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【0007】
(構成1)
構成1は、情報処理装置のコンピュータにおいて実行されるゲームプログラムであって、ゲームプログラムは、コンピュータを、プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させる。ゲーム実行手段は、通常モードにおいて、移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段を含む。ゲーム実行手段は、前記メニューモードにおいて、第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段を含む。ゲーム実行手段は、前記撮影モードにおいて、撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む。
【0008】
構成1によれば、通常モードからメニューモードに切り替えた後に撮影モードに切り替えるか、通常モードから撮影モードに切り替えるかで仮想カメラの位置および向きが異なるため、撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる。
【0009】
(構成2)
構成2は、構成1において、メニュー用画像生成手段は、前記第3操作入力に基づいて前記撮影モードへと切り替える撮影モード切替用の前記メニュー項目を含む前記メニュー画像を生成する。
【0010】
(構成3)
構成3は、上記の構成1または構成2において、メニュー用画像生成手段は、仮想カメラに基づく前記仮想空間の画像を生成し、さらに複数の半透明の前記メニュー項目を含む前記メニュー画像を生成する。
【0011】
構成3によれば、メニュー項目が半透明であるため、メニュー項目の背後にある背景を確認することができるので、メニュー項目を見ながらでも撮影を行うかどうかを判断することができる。
【0012】
(構成4)
構成4は、上記の構成1から構成3までのいずれかにおいて、メニューモード用カメラ位置設定手段は、前記仮想カメラの位置及び向きを、前記プレイヤキャラクタの背後側から前記プレイヤキャラクタを映すような位置および向きになるよう設定される。
【0013】
項目4によれば、メニューモードに切り替え、仮想カメラをプレイヤキャラクタの背後に回り込ませることにより、プレイヤキャラクタの目線での撮影を可能にすることができる。
【0014】
(構成5)
構成5は、上記の構成1から構成4までのいずれかにおいて、画像生成手段は、通常モードおよび前記メニューモードにおいて、前記プレイヤキャラクタを含む前記仮想空間の画像を前記仮想カメラに基づいて生成し、撮影モードにおいて、前記プレイヤキャラクタを含まない前記仮想空間の画像を前記仮想カメラに基づいて生成する。
【0015】
構成5によれば、ゲームモードに応じてプレイヤキャラクタを含む画像またはプレイヤキャラクタを含まない画像を生成するので、状況に応じた画像を生成することができる。
【0016】
(構成6)
構成6は、上記の構成1から構成5までのいずれかにおいて、ゲーム実行手段は、前記第2仮想カメラ操作入力に基づいて、さらに前記プレイヤキャラクタの位置および向きを制御する。
【0017】
構成6によれば、撮影モードにおいて、仮想カメラの位置および向きとともに、プレイヤキャラクタの位置および向きを制御するので、撮影モードにおいて見つけた所望のオブジェクトの位置を見失うことがない。また、プレイヤキャラクタは、仮想空間内においてカメラオブジェクトを使用しており、カメラオブジェクトとともに移動していることを自然に表現することができる。
【0018】
(構成7)
構成7は、上記の構成1から構成6までのいずれかにおいて、ゲーム実行手段は、撮影モードにおいて、第4操作入力に基づいて、前記撮影モードから前記撮影モードへ切り替える前のモードへ切り替える第1モード復元手段を含み、第4操作入力に基づいて、前記撮影モードから前記通常モードまたは前記メニューモードへ切り替えられた場合、前記仮想カメラの向きを、前記撮影モードへ切り替えられる前のモードでの前記仮想カメラの向きへと設定する。
【0019】
(構成8)
構成8は、上記の構成1から構成7までのいずれかにおいて、ゲーム実行手段は、第1操作入力に基づいて、前記メニューモードへ切り替えられた後の前記メニューモードにおいて、第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替える第2モード復元手段を含み、第4操作入力に基づいて、前記メニューモードから前記通常モードへ切り替えられた場合、前記仮想カメラの向きを、前記メニューモードへ切り替えられる前の前記通常モードでの前記仮想カメラの向きへと設定する。
【0020】
(構成9)
構成9は、上記の構成1から構成8までのいずれかにおいて、画像記憶手段は、前記画像生成手段によって生成される前記仮想空間の画像の所定の一部の範囲を、前記仮想カメラに基づく画像として記憶手段に記憶させる。
【0021】
(構成10)
構成10は、上記の構成1から構成9までのいずれかにおいて、撮影モード用カメラ位置設定手段は、前記撮影モードに切り替えられたときに、前記仮想カメラの位置を、前記撮影モードに切り替えられる前の前記仮想カメラの向きに基づいて所定方向に所定距離だけ移動させる。
【0022】
(構成11)
構成11は、プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させる、ゲームシステムである。ゲーム実行手段は、通常モードにおいて、移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段を含む。ゲーム実行手段は、前記メニューモードにおいて、第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段を含む。ゲーム実行手段は、撮影モードにおいて、撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む。
【0023】
(構成12)
構成12は、プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するゲーム実行手段と、仮想空間の画像を仮想カメラに基づいて生成する画像生成手段として機能させる、ゲーム装置である。ゲーム実行手段は、通常モードにおいて、移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ移動制御手段と、第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させる第1仮想カメラ移動制御手段と、第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるメニューモード切替手段と、第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替える第1撮影モード切替手段を含む。ゲーム実行手段は、メニューモードにおいて、第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるメニューモード用カメラ位置設定手段と、複数の選択可能なメニュー項目を含むメニュー画像を生成するメニュー用画像生成手段と、第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替える第2撮影モード切替手段を含む。ゲーム実行手段は、撮影モードにおいて、撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させる撮影モード用カメラ位置設定手段と、第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させる第2仮想カメラ移動制御手段と、撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させる画像記憶手段を含む。
【0024】
(構成13)
構成13は、(a)プレイヤがプレイするゲームを、通常モード、メニューモードまたは撮影モードのいずれかのゲームモードで実行するステップと、(b)仮想空間の画像を仮想カメラに基づいて生成するステップを含む、ゲーム制御方法である。ステップ(a)は、(a-1)前記通常モードにおいて、(a-1-1)移動操作入力に基づいて、前記仮想空間内においてプレイヤキャラクタを移動させるステップと、(a-1-2)第1仮想カメラ操作入力に基づいて、前記仮想空間内において前記仮想カメラを制御させるステップと、 (a-1-3)第1操作入力に基づいて、前記通常モードから前記メニューモードへ切り替えるステップと、(a-1-4)第2操作入力に基づいて、前記通常モードから前記撮影モードへ切り替えるステップを含む。ステップ(a)は、(a-2)前記メニューモードにおいて、(a-2-1)前記第1操作入力に基づいて、前記メニューモードに切り替えられた場合、前記メニューモードに切り替えられる前の前記仮想カメラの配置に関わらず、前記仮想カメラを前記プレイヤキャラクタの位置に基づく所定の位置に配置させるステップと、(a-2-2)複数の選択可能なメニュー項目を含むメニュー画像を生成するステップと、(a-2-3)第3操作入力に基づいて、前記メニューモードから前記撮影モードへ切り替えるステップを含む。ステップ(a)は、(a-3)前記撮影モードにおいて、(a-3-1)前記撮影モードに切り替えられたときに、前記撮影モード開始時の前記仮想カメラを、前記撮影モードに切り替えられる前の前記仮想カメラの配置に基づいた位置に配置させるステップと、(a-3-2)第2仮想カメラ操作入力に基づいて、さらに前記仮想カメラの位置及び向きを制御させるステップと、(a-3-3)撮影指示入力に基づいて、前記仮想カメラに基づく画像を記憶手段に記憶させるステップを含む。
【0025】
構成11ないし構成13においても、構成1と同様に、撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる。
【発明の効果】
【0026】
この発明によれば、撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる。
【0027】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0028】
図1図1はこの実施例の本体装置に左コントローラおよび右コントローラを装着した状態の限定しない一例を示す図である。
図2図2は本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の限定しない一例を示す図である。
図3図3図1および図2に示した本体装置の限定しない一例を示す六面図である。
図4図4図1および図2に示した左コントローラの限定しない一例を示す六面図である。
図5図5図1および図2に示した右コントローラの限定しない一例を示す六面図である。
図6図6図1および図2に示した本体装置の内部構成の限定しない一例を示すブロック図である。
図7図7図1および図2に示した本体装置と左コントローラおよび右コントローラとの内部構成の限定しない一例を示すブロック図である。
図8図8は通常モードにおけるゲーム画面の限定しない一例を示す図である。
図9図9は撮影モードにおけるゲーム画面の限定しない一例を示す図である。
図10図10はメニューモードにおけるゲーム画面の限定しない一例を示す図である。
図11図11はメニューモードにおけるゲーム画面の限定しない他の例を示す図である。
図12図12(A)は通常モードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を横方向から見た図であり、図12(B)は通常モードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を後方向から見た図である。
図13図13(A)は撮影モードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を横方向から見た図であり、図13(B)は撮影モードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を後方向から見た図である。
図14図14(A)はメニューモードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を横方向から見た図であり、図14(B)はメニューモードにおけるプレイヤキャラクタと仮想カメラの仮想空間内の位置関係の限定しない一例を後方向から見た図である。
図15図15は通常モードから撮影モードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない一例を仮想空間の斜め上方から見た図である。
図16図16は通常モードからメニューモードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない一例を仮想空間の斜め上方から見た図である。
図17図17はメニューモードから撮影モードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない一例を仮想空間の斜め上方から見た図である。
図18図18は通常モードにおけるゲーム画面の限定しない他の例を示す図である。
図19図19は通常モードからメニューモードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない他の例を仮想空間の斜め上方から見た図である。
図20図20は撮影モードにおけるゲーム画面の限定しない他の例を示す図である。
図21図21は通常モードにおけるゲーム画面の限定しないその例を示す図である。
図22図22図6に示す本体装置のDRAMのメモリマップの限定しない一例を示す図である。
図23図23図6に示す本体装置のプロセッサの全体処理の限定しない一例を示すフロー図である。
図24図24図6に示す本体装置のプロセッサのゲーム制御処理の限定しない一例の第1の一部を示すフロー図である。
図25図25図6に示す本体装置のプロセッサのゲーム制御処理の限定しない一例の第2の一部であって、図24に後続するフロー図である。
図26図26図6に示す本体装置のプロセッサのゲーム制御処理の限定しない一例の第3の一部であって、図25に後続するフロー図である。
図27図27図6に示す本体装置のプロセッサの仮想カメラ制御処理の限定しない一例の第1の一部を示すフロー図である。
図28図28図6に示す本体装置のプロセッサの仮想カメラ制御処理の限定しない一例の第2の一部であって、図27に後続するフロー図である。
図29図29図6に示す本体装置のプロセッサの仮想カメラ制御処理の限定しない一例の第3の一部であって、図28に後続するフロー図である。
図30図30図6に示す本体装置のプロセッサの仮想カメラ制御処理の限定しない一例の第4の一部であって、図29に後続するフロー図である。
図31図31は通常モードから撮影モードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない他の例を仮想空間の斜め上方から見た図である。
図32図32はメニューモードから撮影モードに切り替える場合のプレイヤキャラクタと仮想カメラの位置関係の限定しない他の例を仮想空間の斜め上方から見た図である。
【発明を実施するための形態】
【0029】
以下、この実施例の限定しない一例に係るゲームシステムについて説明する。この実施例におけるゲームシステム1の一例は、本体装置(ゲーム装置;この実施例ではゲーム本体装置として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、この実施例のゲームシステム1のハードウェア構成について説明し、その後に、この実施例のゲームシステム1の制御について説明する。
【0030】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0031】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0032】
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。この実施例において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0033】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0034】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。この実施例においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0035】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。この実施例においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0036】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0037】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0038】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種のゲーム装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0039】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。この実施例において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、この実施例においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0040】
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。この実施例においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0041】
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック32を押下する入力が可能である。
【0042】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上にLボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面のうち、本体装置2に装着される際に装着される側の面に、SLボタン43およびSRボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0043】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0044】
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。この実施例においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0045】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。この実施例においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上にRボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、SLボタン65およびSRボタン66を備える。
【0046】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0047】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0048】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0049】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0050】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0051】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0052】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。この実施例においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルエリアネットワーク内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0053】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、この実施例においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0054】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信(または、取得)する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信(または、取得)する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、この実施例においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、表示画像データや音声データ)を据置型モニタ等に出力することができる。
【0055】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0056】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0057】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0058】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0059】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0060】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0061】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
【0062】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。この実施例においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0063】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0064】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0065】
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、第1所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0066】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判断することができる。
【0067】
左コントローラ3は、電力供給部108を備える。この実施例において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0068】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0069】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0070】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0071】
次に、図8図21を参照して、この実施例のゲームシステム1において実行される仮想のゲームのゲーム処理および仮想カメラ250の制御についての概要を説明する。図8は、この実施例の仮想のゲームのアプリケーションを実行した場合に、表示装置(たとえば、ディスプレイ12)に表示されるゲーム画像の限定しない一例を示す図である。
【0072】
本体装置2は、画像処理装置としても機能し、ゲーム画像などの各種画面に対応する表示画像データを生成および出力(表示)する。プロセッサ81は、3次元の仮想空間に各種のオブジェクトおよびキャラクタを配置し、或る情景または場面(シーン)が生成される。このシーンを仮想カメラで撮影した(視点から見た)画像がゲーム画像としてディスプレイ12に表示される。
【0073】
図8に示すゲーム画像はゲーム画面200の一例であり、ゲーム画面200は、プレイヤキャラクタ202および複数の背景オブジェクト204を含む。また、ゲーム画面200には、アイテムまたは/およびノンプレイヤキャラクタが含まれる場合もある。
【0074】
プレイヤキャラクタ202は、プレイヤによって動作を制御されるオブジェクトまたはキャラクタである。この実施例では、プレイヤキャラクタ202は、人間を模した主人公のキャラクタである。プレイヤキャラクタ202の動作としては、仮想の或る場所すなわち仮想空間内において、移動したり、アイテムを取得したり、ノンプレイヤキャラクタにアイテムを渡したり、ノンプレイヤキャラクタからアイテムを取得したり、ノンプレイヤキャラクタと会話したりすることなどが該当する。また、この実施例において、アイテムは、プレイヤキャラクタ202またはノンプレイヤキャラクタが使用または所持する道具、お宝およびお金などの様々なオブジェクトを意味する。
【0075】
また、ノンプレイヤキャラクタは、プレイヤでは無くコンピュータ(図6のプロセッサ81)によって動作を制御されるオブジェクトまたはキャラクタである。一例として、ノンプレイヤキャラクタは、プレイヤキャラクタ202以外の人間を模したオブジェクトまたはキャラクタと、魚、鳥および昆虫を模したオブジェクトまたはキャラクタである。ノンプレイヤキャラクタの動作としては、移動したり、プレイヤキャラクタ202からアイテムを取得したり、プレイヤキャラクタ202にアイテムを渡したり、プレイヤキャラクタ202が所持する手持ち型の端末(図示せず)が備えるカメラ機能を用いて撮影されたり、プレイヤキャラクタ202に捕まえられたりすることが該当する。
【0076】
背景オブジェクト204は、仮想空間に配置された置物、乗り物、地形などの背景を構成するオブジェクトである。置物とは、看板、立て札、石造、石碑、壺、骨董品、花瓶、絵画、掛け軸などを意味する。乗り物とは、自転車、オートバイ、自動車、電車、馬車、トロッコ、船、飛行機などを意味する。地形とは、地面(道路、陸地、花畑、農地などを含む)、坂、床、木、草、花、建物、階段、橋、川、池、穴、洞窟、崖、柱、壁、塀、柵などを意味する。
【0077】
図8に示す例では、背景オブジェクト204として、床オブジェクト、壁オブジェクト、階段オブジェクトおよび扉オブジェクトが設けられる。以下、この明細書においては、背景オブジェクト204、すなわち置物、乗り物および地形のオブジェクトを説明する場合には、置物、乗り物および地形の名称のみを記載し、「オブジェクト」の語を省略することにする。
【0078】
この実施例では、プレイヤは、ゲームモードが通常のゲームプレイ中のモード(以下、「通常モード」という)である場合には、仮想空間においてプレイヤキャラクタ202を移動させるなどして、所定のイベントを実行または進行させることで仮想のゲームを進行させる。一例として、プレイヤキャラクタ202は、アナログスティック32を傾倒した方向に移動される。詳細な説明は省略するが、プレイヤキャラクタ202は、各ボタン113を操作することで、予め設定された動作(ただし、移動を除く)を行う。
【0079】
また、この実施例では、所定のイベントは、ゲーム中において発生する任意の出来事を意味し、仮想空間に配置された所定の背景オブジェクト204に設定された仕掛け、パズルまたは謎を解くことで実行(または、開始)される。具体的には、所定のイベントは、プレイヤキャラクタ202が所定のアイテムを取得したり、プレイヤキャラクタ202が仕掛けまたは謎を解くためのヒントを得たり、扉が開いたり、秘密の入り口または出口が出現したり、落石または石碑が移動したり、可動橋が移動または変形したりするなどの出来事である。このような所定のイベントが実行(または、開始)されると、当該所定のイベントが進行する様子を示すゲーム画面200が表示される。
【0080】
このように、プレイヤの操作によって、プレイヤキャラクタ202は、背景オブジェクト204を調べたり、背景オブジェクト204に対して所定の動作を行なったりする。このことによって、背景オブジェクト204に対して設定された所定のイベントが実行され、仮想のゲームが進行される。そして、最終的な目標が達成されることで、仮想のゲームがクリアされる。
【0081】
また、プレイヤは、通常モードにおいて、仮想カメラ250を制御して、仮想カメラ250を移動したり、ズームしたりすることができる。通常モードでは、一例として、仮想カメラ250は、アナログスティック52を傾倒した方向に移動され、Lボタン38でズームインされ、Rボタン60でズームアウトされる。
【0082】
また、プレイヤは、ゲームモードを撮影モードに切り替えることで、ゲーム画面200の一部を撮影(キャプチャまたはスクリーンショット)することができる。仮想のゲームにおいては、プレイヤが所持する所定のアイテムを使用することで、ゲーム画面200の一部が撮影される。これは、ゲーム画面200に表示される謎解きのヒントになり得るものを撮影するためである。詳細な説明は省略するが、プレイヤキャラクタ202が所持する所定のアイテムは、手持ち型の端末であり、具体的には、カメラ付きのゲーム機、カメラ付きのスマートフォンまたはカメラ付きのタブレットを模した仮想のオブジェクトである。
【0083】
図9は撮影モードにおけるゲーム画面200の限定しない一例を示す。図9に示すゲーム画面200は、図8のゲーム画面200がディスプレイ12に表示されている場合に、ゲームモードが撮影モードに切り替えられることで、ディスプレイ12に表示される。一例として、ゲームモードが通常モードである場合に、ZLボタン39が操作されると、ゲームモードが撮影モードに切り替えられる。
【0084】
図9に示すように、撮影モードでは、背景オブジェクト204よりも前面側にファインダー画像210を重ねたゲーム画面200がディスプレイ12に表示される。ファインダー画像210は、ビューファインダーとして機能する指示画像212を含む。指示画像212は、撮影の中心位置を示す十字の画像212aと、縦長の長方形の撮影範囲を規定する4つのL字状の画像212bで構成される。したがって、ゲーム画面200の全体ではなく一部が撮影される。この実施例では、縦長の長方形の撮影範囲を設定してあるが、横長の長方形の撮影範囲を設定してもよい。また、ゲーム画面200(すなわち、ゲーム画像)の全体を撮影するようにしてもよい。
【0085】
また、撮影モードでは、ゲーム画面200には、プレイヤキャラクタ202は表示されない。これは、プレイヤキャラクタ202が、手持ち型の端末に設けられたカメラを用いて撮影を行う場合に、この手持ち型の端末を顔の前に構え、この手持ち型の端末に設けられたディスプレイに表示されるスルー画像を見ていることを表現するためである。つまり、撮影モードでは、プレイヤキャラクタ202が、手持ち型の端末のディスプレイを通して撮影範囲の仮想空間を見るとともに、手持ち型の端末の外側の部分の仮想空間を直接見る場合のゲーム画面200が表示される。また、撮影モードでは、プレイヤが探したヒントなどを撮影した画像を保存することを目的としており、プレイヤキャラクタ202が写り込むことで撮影の邪魔になるのを防止するためである。
【0086】
撮影モードのゲーム画面200では、指示画像212の部分すなわち撮影範囲を除く部分は、半透明で表示される。一例として、ファインダー画像210はニアークリッピング面の位置に配置され、指示画像212の外側の部分が半透明にされる。図9では、半透明の部分を、灰色で塗りつぶしてある。
【0087】
したがって、撮影モードでは、プレイヤは、指示画像212の外側のゲーム画像を見ながら、手持ち型の端末に設けられたカメラ(この実施例では、仮想カメラ250)の撮影方向を変えることができる。手持ち型の端末に設けられたカメラの撮影方向は、手持ち型の端末の向きを変えたり、手持ち型の端末の位置を変えたり、その両方を行うことにより、変更することができる。一例として、手持ち型の端末の向きは、アナログスティック52を操作することで変更することができる。また、手持ち型の端末の位置は、アナログスティック32を操作することで変更することができる。
【0088】
また、撮影モードでは、プレイヤは、Aボタン53を操作することで、撮影範囲のゲーム画像を撮影することができる。撮影画像は仮想のアルバムに保存される。
【0089】
さらに、撮影モードでは、手持ち型の端末に設けられたカメラをズームできるようにしてもよい。
【0090】
また、撮影モードは、メニューモードから切り替える(または、選択する)こともできる。メニューモードは、各種のメニューを選択するためのゲームモードであり、ゲームモードが通常モードである場合に、Xボタン55が操作されると、ゲームモードがメニューモードに切り替えられる。
【0091】
図10はメニューモードにおけるゲーム画面200の限定しない一例を示す。図10に示すゲーム画面200は、図8に示した通常モードにおけるゲーム画面200が表示されている場合に、ゲームモードがメニューモードに切り替えられることで、ディスプレイ12に表示される。一例として、ゲームモードが通常モードである場合に、Xボタン55が操作されると、ゲームモードがメニューモードに切り替えられる。
【0092】
図10に示すゲーム画面200では、プレイヤキャラクタ202の前方に、メニューアイコン220およびメニューアイコン222が配置される。つまり、仮想空間において、プレイヤキャラクタ202と背景オブジェクト204の間に複数のメニューアイコン(ここでは、メニューアイコン220および222)が描画されたゲーム画像(すなわち、メニュー画像)が生成される。メニューアイコン220は、アルバム機能を選択するためのアイコンであり、メニューアイコン222は、カメラ機能すなわち撮影モードを選択するためのアイコンである。
【0093】
この実施例では、メニューモードにおけるゲーム画面200には、プレイヤキャラクタ202が使用する手持ち型の端末のディスプレイに表示された複数のメニュー項目すなわち複数のメニューアイコンが投影されている。また、メニューモードにおけるゲーム画面200は、プレイヤがプレイヤキャラクタ202の肩越しにメニューアイコンを見るように表示される。このため、プレイヤはプレイヤキャラクタ202と一緒にメニューアイコンの選択等を行っている感覚を覚える。つまり、プレイヤの没入感が高くされる。
【0094】
メニューアイコン220、222、…もまた、半透明で表示され、図10では省略するが、プレイヤは、メニューアイコン220および222の後ろ側に配置された背景オブジェクト204を見ることができる。上述したように、図10図8のゲーム画面200が表示されている状態で、メニューモードに切り替えられた場合についてのゲーム画面200を示すため、メニューアイコン220および222の背後には、図8に示したゲーム画面200と同様の背景オブジェクト204が表示されている。
【0095】
したがって、メニューモードにおいては、プレイヤは、メニューアイコン220、222、…の背後のゲーム画像(すなわち、背景オブジェクト204)を確認することができ、そのままカメラ機能を選択して撮影を行うかどうかを判断することができる。
【0096】
メニューモードにおけるゲーム画面200では、プレイヤキャラクタ202の正面に表示されているメニュー(図10では、メニューアイコン220)を選択可能である。プレイヤは、他のメニューを選択可能にする場合には、メニューアイコン220、222、…を左右に移動させる。一例として、メニューアイコン220、222、…は、左ボタン36または右ボタン33を操作することで、左または右に移動される。
【0097】
所望のメニューが選択可能な状態である場合に、Aボタン53が操作されると、所望のメニューが選択される。アルバム機能が選択された場合には、撮影モードで撮影した撮影画像を表示して見ることができる。また、カメラ機能が選択された場合には、ゲームモードが撮影モードに切り替えられ、撮影モードにおけるゲーム画面200がディスプレイ12に表示される。図8に示した通常モードのゲーム画面200において、メニューモードが選択され、さらに、メニューモードにおいて、カメラ機能が選択された場合には、図9に示したような撮影モードにおけるゲーム画面200がディスプレイ12に表示される。
【0098】
図11はメニューモードにおけるゲーム画面200の限定しない他の例を示す。図10に示したメニューモードにおけるゲーム画面200がディスプレイ12に表示されている状態において右ボタン33が操作されると、選択可能なメニューを右側のメニューに変更するために、図11に示すように、プレイヤまたはプレイヤキャラクタ202から見て複数のメニュー(この実施例では、メニューアイコン220、222、224)が左に移動する。また、図11に示すゲーム画面200がディスプレイ12に表示されている状態において左ボタン36が操作されると、選択可能なメニューを左側のメニューに変更するために、図10に示したように、プレイヤまたはプレイヤキャラクタ202から見て複数のメニューが右に移動する。詳細な説明は省略するが、プレイヤキャラクタ202の正面に配置されていないメニューアイコン(図11では、メニューアイコン220および224)もプレイヤキャラクタ202側を向くように斜めに配置されている。
【0099】
図11に示すゲーム画面200では、メニューアイコン222がプレイヤキャラクタ202の正面に配置されており、メニューアイコン220、222に加えて、メニューアイコン224が表示される。メニューアイコン224は、メモ機能を選択するためのアイコンである。メモ機能が選択された場合には、撮影モードで撮影した撮影画像に関するメモを取得したり、取得したメモを閲覧したりすることができる。
【0100】
なお、図10および図11に示すゲーム画面200では、3つのメニューが設けられている例を示すが、少なくともカメラ機能を含んでいれば、2つまたは4つ以上のメニューが設けられるようにしてもよい。
【0101】
図12(A)は通常モードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の横方向から見た図である。図12(B)は通常モードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の後方から見た図である。
【0102】
図12(A)および図12(B)に示すように、仮想空間においては、ワールド座標系が設定されており、x軸およびz軸を含む水平面または水平面に平行な平面がxz平面であり、x軸およびy軸(すなわち、xz平面)に対して垂直にy軸が設定される。このことは、後述する図13(A)、図13(B)、図14(A)および図14(B)も同じである。
【0103】
図12(A)および図12(B)に示すように、通常モードにおいて、仮想のゲームを開始した当初(つまり、初期状態)では、仮想カメラ250は、仮想空間において、プレイヤキャラクタ202の後方に配置される。具体的には、仮想カメラ250(すなわち、視点)は、プレイヤキャラクタ202の位置とのz軸方向の水平距離が距離D1であり、プレイヤキャラクタ202の足元の位置からの高さH1(図12(A)および図12(B)に示す例では、仮想空間において2m)である位置(以下、「通常モード位置」という場合がある)P1に配置される。また、仮想カメラ250の向きは、プレイヤキャラクタ202の頭部の少し右側の位置(すなわち、注視点)を俯瞰して見るように設定される。プレイヤが仮想カメラ250を移動しない場合には、仮想カメラ250は、この位置関係を保ってプレイヤキャラクタ202に追従する。
【0104】
ただし、プレイヤキャラクタ202の足元の位置が、プレイヤキャラクタ202の位置である。また、注視点は、プレイヤキャラクタ202の位置からx軸のプラス方向に所定の距離W1(たとえば、仮想空間において、40cm)だけずれた位置であり、プレイヤキャラクタ202の目の高さH2(たとえば、仮想空間において170cm)である位置に設定される。ただし、高さH2は、プレイヤキャラクタ202の足元の位置から目の位置までの距離である。
【0105】
通常モードでは、プレイヤの操作に従って仮想カメラ250を移動させる場合には、仮想カメラ250の位置と注視点の間の距離R(たとえば、仮想空間において2m)を保ったままで、仮想カメラ250が注視点を向くように、仮想カメラ250の位置および向きが変更される。つまり、仮想カメラ250は、注視点を中心とし、距離Rの半径を有する球面上を移動される。ただし、仮想カメラ250が、地面または床面、壁、柱などの背景オブジェクト204を突き抜けたり埋もれたりする場合には、移動を制限される。このことは、仮想カメラ250が移動される他の場合についても同じである。
【0106】
また、上述したように、通常モードでは、仮想カメラ250は、Lボタン38でズームインされ、Rボタン60でズームアウトされる。プレイヤが仮想カメラ250をズームインする場合には、仮想カメラ250の画角が大きくされ、仮想カメラ250をズームアウトする場合には、仮想カメラ250の画角が小さくされる。
【0107】
ただし、通常モードでは、仮想カメラ250をズームする場合には、仮想カメラ250を注視点に近づける方向に移動されたり、注視点から遠ざける方向に移動されたりしてもよい。つまり、仮想カメラ250の位置と注視点の間の距離Rを変化させてもよい。
【0108】
プレイヤが仮想カメラ250を移動した場合には、プレイヤキャラクタ202との位置関係が変更され、仮想カメラ250は、変更された位置関係を保ってプレイヤキャラクタ202に追従する。
【0109】
なお、プレイヤが仮想カメラ250の位置および向きをリセットすると、プレイヤキャラクタ202に対する仮想カメラ250の位置および向きが初期状態に戻される。
【0110】
図13(A)は撮影モードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の横方向から見た図である。図13(B)は撮影モードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の後方から見た図である。
【0111】
図13(A)および図13(B)に示すように、撮影モードにおいては、仮想カメラ250の位置は、仮想空間において、プレイヤキャラクタ202の頭部すなわち目の位置の少し前方に配置される。具体的には、仮想カメラ250は、プレイヤキャラクタ202の位置からプレイヤキャラクタ202の前方に(図13(A)および図13(B)に示す例では、z軸のプラス方向に)所定の距離D2(たとえば、仮想空間において40cm)であり、プレイヤキャラクタ202の目の高さH2である位置(以下、「撮影モード位置」という場合がある)P2に配置される。つまり、仮想カメラ250は、通常モード位置よりも仮想カメラ250の向きに前進した位置であり、かつ、プレイヤキャラクタ202の前方の位置に配置される。具体的には、仮想カメラ250は、プレイヤキャラクタ202が顔の前に手持ち型の端末を構えて撮影している場合のゲーム画面200を表示するための位置に配置される。このため、仮想空間における被写体が拡大表示される。
【0112】
また、撮影モードに切り替えた当初では、撮影モードに切り替えられる直前の通常モードにおける仮想カメラ250の向きに、または、撮影モードに切り替えられる直前のメニューモードにおける仮想カメラ250の向きに(図13(A)および図13(B)に示す例では、z軸のプラス方向に)、撮影モードにおける仮想カメラ250の位置から距離Rだけ前方の位置に注視点が設定される。つまり、注視点も仮想カメラ250の位置と平行して移動される。つまり、通常モードまたはメニューモードにおけるゲーム画面200の所望の画像を撮影できるように、通常モードまたはメニューモードにおける仮想カメラ250の向きが撮影モードに切り替えた当初において維持される。
【0113】
また、上述したように、撮影モードにおいても、プレイヤは、手持ち型の端末に設けられたカメラすなわち仮想カメラ250の位置および向きを制御することができる。
【0114】
撮影モードでは、仮想カメラ250の位置は、アナログスティック32を傾倒することで、プレイヤキャラクタ202の位置とともに移動される。このため、後述するように、通常モードに切り替えた場合に、撮影モード中に見つけたヒントなどを見失うことはない。
【0115】
また、撮影モードでは、仮想カメラ250の向きは、アナログスティック52を傾倒した向きに変化される。具体的には、仮想カメラ250の位置との距離Rを保ったままで、アナログスティック52を傾倒した方向に注視点が移動され、この注視点を見る向きに仮想カメラ250の向きが設定される。
【0116】
図14(A)はメニューモードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の横方向から見た図である。図14(B)はメニューモードの場合に仮想空間におけるプレイヤキャラクタ202および仮想カメラ250の位置関係の一例を仮想カメラ250の後方から見た図である。
【0117】
図14(A)および図14(B)に示すように、メニューモードにおいては、仮想カメラ250は、仮想空間において、プレイヤキャラクタ202の後方に配置される。具体的には、仮想カメラ250は、プレイヤキャラクタ202の位置からプレイヤキャラクタ202の後方に(図14(A)および図14(B)に示す例では、z軸のマイナス方向に)所定の距離D3(たとえば、仮想空間において40cm)であり、プレイヤキャラクタ202の位置からプレイヤキャラクタ202の右方に(図14(A)および図14(B)に示す例では、x軸のプラス方向に)所定の距離W2(たとえば、仮想空間において40cm)であり、プレイヤキャラクタ202の目の高さH2である位置(以下、「メニューモード位置」という場合がある)P3に配置される。
【0118】
なお、この実施例では、所定の距離W1と所定の距離W2を仮想空間において同じ長さに設定してあるが、所定の距離W2は所定の距離W1よりも短く設定してもよい。
【0119】
また、メニューモードでは、メニューモードに切り替えられる直前の通常モードにおけるプレイヤキャラクタ202の向きに(図14(A)および図14(B)に示す例では、z軸のプラス方向に)、メニューモードにおける仮想カメラ250の位置から所定の距離Rだけ直進した位置に注視点が設定される。
【0120】
この実施例では、メニューモードでは、プレイヤキャラクタ202の位置および向きは変更できない。したがって、メニューモードでは、仮想カメラ250の位置および向きも変更されない。また、メニューモードでは、仮想カメラ250はズームできない。つまり、Lボタン38およびRボタン60の操作も無効にされる。ただし、メニューモードにおいても、仮想カメラ250の位置、向きおよびズームを制御できるようにしてもよい。
【0121】
上述したように、撮影モードおよびメニューモードでは、仮想カメラ250は、プレイヤキャラクタ202の位置に対して所定の位置関係を有する位置に配置される。また、ゲームモードが撮影モードに切り替えられた時点およびメニューモードでは、それぞれ、仮想カメラ250の向きは所定の向きに設定される。
【0122】
この実施例では、プレイヤの操作によって、ゲームモードは、通常モード、メニューモードおよび撮影モードの間で切り替えられる。
【0123】
上述したように、ゲームモードが通常モードである場合に、ZLボタン39が操作されると、ゲームモードが撮影モードに切り替えられる。また、ゲームモードが通常モードである場合に、Xボタン55が操作されると、ゲームモードがメニューモードに切り替えられる。
【0124】
ゲームモードがメニューモードである場合に、カメラ機能が選択されると、つまり、メニューアイコン222が選択可能な状態でAボタン53が操作されると、ゲームモードが撮影モードに切り替えられる。また、ゲームモードがメニューモードである場合に、Bボタン54またはXボタン55が操作されると、ゲームモードが通常モードに切り替えられる。
【0125】
ゲームモードが撮影モードである場合に、Xボタン55が操作されると、ゲームモードが通常モードに切り替えられる。また、ゲームモードが通常モードから撮影モードに切り替えていた場合には、撮影モードにおいて、Bボタン54が操作されると、ゲームモードが通常モードに切り替えられる。また、ゲームモードがメニューモードから撮影モードに切り替えていた場合には、撮影モードにおいて、Bボタン54が操作されると、ゲームモードがメニューモードに切り替えられる。つまり、撮影モードにおいては、Bボタン54は、撮影モードから直前のゲームモードに戻るために操作される。
【0126】
撮影モードから通常モードに切り替えられるとき、プレイヤキャラクタ202の向きを、撮影モードに切り替えられる直前の通常モードにおけるプレイヤキャラクタ202の向きに設定する(または、戻す)。また、撮影モードからメニューモードに切り替えられるとき、プレイヤキャラクタ202の向きを、メニューモードに切り替えられる直前の撮影におけるプレイヤキャラクタ202の向きに設定する。つまり、撮影モードにおいてプレイヤキャラクタ202が最後に向いていた向きが保たれる。
【0127】
図15はゲームモードが通常モードから撮影モードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない一例を仮想空間の斜め上方から見た図である。図15では、一例として、図12(A)および図12(B)に示した通常モード位置P1から図13(A)および図13(B)に示した撮影モード位置P2に仮想カメラ250を移動した場合について示してある。図15では、図12(A)および図12(B)に示した状態の仮想カメラ250を点線で示し、図13(A)および図13(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を実線で示してある。
【0128】
ゲームモードが通常モードから撮影モードに切り替えられるとき、仮想カメラ250は、通常モードにおける仮想カメラ250の向き(視線方向)の水平成分の向きであり、かつ、プレイヤキャラクタ202の位置に近づく向きに移動する。移動後の仮想カメラ250の位置すなわち撮影モード位置は、図13(A)および図13(B)に示したような位置関係となるように、仮想カメラ250の通常モード位置および向きに基づいて算出される。仮想カメラ250の撮影モード位置は、撮影モードにおけるプレイヤキャラクタ202の位置の前方に距離D2であり、プレイヤキャラクタの目の高さH2である位置に設定される。ただし、ゲームモードが通常モードから撮影モードに切り替えられたときの撮影モードにおけるプレイヤキャラクタ202の位置は、撮影モードに切り替えられる直前の通常モードにおけるプレイヤキャラクタ202の位置である。この実施例では、通常モードでは、プレイヤキャラクタ202の位置の右側に距離W1だけ移動した位置に注視点が設定されるため、仮想カメラ250は、通常モードから撮影モードに切り替えられると、通常モード位置から撮影モード位置に向けて左斜め前方に移動する。
【0129】
このように、通常モードから撮影モードに切り替えられる場合には、プレイヤキャラクタ202の向きに関係無く、通常モードにおける仮想カメラ250の向きと通常モードにおけるプレイヤキャラクタ202に近づく向きを合成した向きに、仮想カメラ250は移動される。したがって、通常モードにおいて、仮想空間に一時的に出現したノンプレイヤキャラクタまたは/および背景オブジェクト204のような所望の画像(または、被写体)を、ゲーム画面200で見つけた場合に、直ぐに撮影モードに切り替えて、その所望の画像を撮影することができる。
【0130】
ただし、プレイヤキャラクタ202の向きは、プレイヤキャラクタ202が移動している向きおよびプレイヤキャラクタ202が移動していない場合の顔(および胴体の前面)の向きである。
【0131】
なお、上述したように、ゲームモードが通常モードから撮影モードに切り替えられるとき、注視点の位置は通常モードにおける仮想カメラ250の位置を撮影モードにおける仮想カメラ250の位置に移動した場合に平行して移動される。このことは、ゲームモードが、メニューモードから撮影モードに切り替えられる場合、撮影モードからメニューモードに切り替えられる場合、および、メニューモードから通常モードに切り替えられる場合も同じである。
【0132】
図16はゲームモードが通常モードからメニューモードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない一例を仮想空間の斜め上方から見た図である。図16では、一例として、図12(A)および図12(B)に示した通常モード位置P1から図14(A)および図14(B)に示したメニューモード位置P3に仮想カメラ250を移動した場合について示してある。図16では、図12(A)および図12(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を点線で示し、図14(A)および図14(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を実線で示してある。
【0133】
上述したように、ゲームモードが通常モードにおいて、Xボタン55が操作されると、ゲームモードがメニューモードに切り替えられる。このとき、仮想カメラ250は、通常モードにおけるプレイヤキャラクタ202の向きの水平成分の向きに移動する。具体的には、図14(A)および図14(B)に示したような位置関係となるように、プレイヤキャラクタ202の位置および向きに基づいて移動後の仮想カメラ250の位置を算出する。そして、仮想カメラ250は、現在の仮想カメラ250の位置から移動後の仮想カメラ250の位置に向けて移動する。
【0134】
このように、通常モードからメニューモードに切り替えられる場合には、通常モードにおける仮想カメラ250の位置および向きに関係無く、通常モードにおけるプレイヤキャラクタ202の位置および向きに基づく所定の位置P3に仮想カメラ250は配置される。
【0135】
なお、注視点は、移動後の仮想カメラ250の位置からプレイヤキャラクタ202の向きに距離Rだけ直進した位置に設定される。この注視点を見るように、仮想カメラ250の向きが設定される。
【0136】
また、上述したように、所定の距離W2が所定の距離W1よりも短く設定される場合には、仮想カメラ250は、通常モードにおけるプレイヤキャラクタ202の向きの水平成分の向きに移動するとともに、プレイヤキャラクタ202に少し近づくように移動する。
【0137】
図17はゲームモードがメニューモードから撮影モードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない一例を仮想空間の斜め上方から見た図である。図17では、一例として、図14(A)および図14(B)に示したメニューモード位置P3から図13(A)および図13(B)に示した撮影モード位置P2に仮想カメラ250を移動した場合について示してある。図17では、図14(A)および図14(B)に示した状態の仮想カメラ250を点線で示し、図13(A)および図13(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を実線で示してある。
【0138】
上述したように、ゲームモードがメニューモードにおいて、メニューアイコン222を選択可能な状態でAボタン53が操作されると、ゲームモードが撮影モードに切り替えられる。このとき、仮想カメラ250は、メニューモード位置から仮想カメラ250の向きであり、かつ、プレイヤキャラクタ202に近づく向きに移動される。つまり、仮想カメラ250は、所定の第1距離(この実施例では、距離D2+距離D3)だけ前に移動されるとともに、所定の第1距離とは異なる所定の第2距離(この実施例では、距離W2)だけ左に移動される。実際には、仮想カメラ250は、メニューモード位置から仮想カメラ250の向きと、メニューモードにおけるプレイヤキャラクタ202に近づく向きを合成した向きに移動される。ただし、メニューモードにおいて、プレイヤキャラクタ202の向きと仮想カメラ250の向きは同じに設定されているため、ゲームモードがメニューモードから撮影モードに切り替えられる場合に仮想カメラ250の向きが変化されることはない。なお、注視点は、仮想カメラ250の移動と平行して移動される。
【0139】
図15図17を用いて説明したように、ゲームモードが通常モードから撮影モードに切り替えられる場合には、通常モードにおけるプレイヤキャラクタ202の位置と仮想カメラ250の通常モード位置および向きに基づいて、撮影モードにおける仮想カメラ250の撮影モード位置および向きが設定される。また、ゲームモードが通常モードからメニューモードを経て撮影モードに切り替えられる場合には、プレイヤキャラクタ202の位置および向きに基づいてメニューモードにおける仮想カメラ250のメニューモード位置および向きが設定され、さらに、このメニューモード位置からメニューモードにおける向きに所定の第1距離だけ前に移動させるとともに、所定の第2距離だけ左に移動させることで、仮想カメラ250の撮影モード位置および向きが設定される。つまり、撮影開始するときの仮想カメラ250の位置および向きが異なる複数の開始方向から1つを選んで撮影モードを開始することができる。
【0140】
図18はゲーム画面200の限定しない他の例を示す。図18に示すゲーム画面200は、プレイヤキャラクタ202を斜めから見る角度を、図8に示したゲーム画面200が表示される場合よりも大きくした場合の一例である。したがって、図18に示すゲーム画面200では、プレイヤキャラクタ202を斜め後方から見ることができ、図8に示したゲーム画面200よりも階段を正面に近い方向から見ることができる。
【0141】
図18に示すような場合に、ゲームモードが通常モードからメニューモードに切り替えられると、仮想カメラ250は、仮想カメラ250の向きが、プレイヤキャラクタ202の水平成分の向きとなるようにプレイヤキャラクタ202の後方に回り込んでから、メニューモードにおける位置関係となる位置に移動する。
【0142】
図19はゲームモードが通常モードからメニューモードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない他の例を仮想空間の斜め上方から見た図である。図19に示す例では、通常モードでは、仮想カメラ250は他の通常モード位置P4に配置され、プレイヤキャラクタ202の頭部の右横に設定された注視点(図12(A)および図12(B)参照)を向いている。ゲームモードが通常モードからメニューモードに切り替えられる場合には、仮想カメラ250は、注視点との距離Rを保ったままプレイヤキャラクタ202の後方の位置(図19では、位置P5)まで回り込み、その後、周り込んだ位置P5からメニューモード位置P3に向けて直進(または、前進)する。位置P5は、メニューモードにおける仮想カメラ250のメニューモード位置P3からプレイヤキャラクタ202の向きの水平成分の向きとは逆向きに距離Rだけ移動した位置である。
【0143】
ただし、これは一例であり、仮想カメラ250は、回り込みながらメニューモード位置P3に向けて進行するようにしてもよい。
【0144】
上述したように、撮影モードにおいては、プレイヤの仮想カメラ操作に基づいて仮想カメラ250の位置が移動されると、この移動に伴ってプレイヤキャラクタ202の位置も平行して移動される。図20は撮影モードにおけるゲーム画面200の限定しない他の例を示す。図20に示すゲーム画面200は、プレイヤキャラクタ20が使用する手持ち型の端末に設けられたカメラが、図8等に示したゲーム画面200に表示される階段を仮想空間において斜め前方から撮影した場合にディスプレイ12に表示される。
【0145】
ゲームモードが撮影モードから通常モードに切り替えられた(つまり、戻った)場合には、仮想カメラ250は、現在のプレイヤキャラクタ202の位置と、撮影モードに切り替えられる前の通常モードにおける位置関係を有する位置に設定される。たとえば、撮影モードに切り替えられる前に、図18に示したように、仮想カメラ250がプレイヤキャラクタ202を斜め後方から撮影していた場合には、図20に示すゲーム画面200が表示されている状態から通常モードに切り替えられると、図21に示すようなゲーム画面200が表示される。ただし、現在のプレイヤキャラクタ202の位置は、撮影モードが終了したときのプレイヤキャラクタ202の位置である。
【0146】
図21は通常モードのゲーム画面200の限定しない他の例を示す図である。図21に示すゲーム画面200を表示する場合には、図20に示したゲーム画面200を表示している場合の仮想カメラ250の位置および向きでプレイヤキャラクタ202が配置される。また、仮想カメラ250は、上記のように配置されるプレイヤキャラクタ202の位置に対して、撮影モードに切り替えられる直前の通常モードにおける位置関係を有する通常モード位置および向きで配置される。
【0147】
この実施例では、撮影モードまたはメニューモードに切り替えられる直前の通常モードにおける仮想カメラ250の通常モード位置および向きを記憶しておき、撮影モードまたはメニューモードから通常モードに切り替えた(戻った)ときに、仮想カメラ250は、記憶しておいたまたは更新された通常モード位置に、記憶しておいた向きで配置される。ただし、仮想カメラ250の通常モード位置は、撮影モードでは、プレイヤキャラクタ202の位置と平行して移動される(つまり、更新される)。また、上述したように、撮影モードでは、プレイヤキャラクタ202の位置は、仮想カメラ250の撮影モード位置と平行して移動される。
【0148】
また、図示は省略するが、ゲームモードが撮影モードからメニューモードに切り替えられた場合には、仮想カメラ250は、現在のプレイヤキャラクタ202の位置に基づいて、図14(A)および図14(B)に示した位置関係を有するメニューモード位置P3に配置される。ただし、現在のプレイヤキャラクタ202の位置は、メニューモードに切り替えられる直前の撮影モードにおけるプレイヤキャラクタ202の位置である。また、現在のプレイヤキャラクタ202の位置は、撮影モードが終了したときのプレイヤキャラクタ202の位置に設定されてもよい。
【0149】
図22図6に示したDRAM85のメモリマップ850の限定しない一例を示す図である。図22に示すように、DRAM85は、プログラム記憶領域852およびデータ記憶領域854を含む。プログラム記憶領域852には、ゲームアプリケーションのプログラム(つまり、ゲームプログラム)が記憶される。図22に示すように、ゲームプログラムは、メイン処理プログラム852a、画像生成プログラム852b、操作検出プログラム852c、ゲーム制御プログラム852d、仮想カメラ制御プログラム852eおよび画像表示プログラム852fなどを含む。ただし、ゲーム画像などの画像を表示する機能は本体装置2が備える機能である。したがって、画像表示プログラム852fは、ゲームプログラムに含まれない。
【0150】
詳細な説明は省略するが、各プログラム852a-852fは、本体装置2に電源が投入された後の適宜のタイミングで、フラッシュメモリ84および/またはスロット23に装着された記憶媒体からその一部または全部が読み込まれてDRAM85に記憶される。ただし、各プログラム852a-852fの一部または全部は、本体装置2と通信可能な他のコンピュータから取得するようにしてもよい。
【0151】
メイン処理プログラム852aは、この実施例の仮想のゲームの全体的な処理(以下、「全体処理」という)を実行するためのプログラムである。
【0152】
画像生成プログラム852bは、後述する画像生成データ854bを用いて、ゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。
【0153】
操作検出プログラム852cは、左コントローラ3または/および右コントローラ4からの操作データ854aを取得するためのプログラムである。
【0154】
ゲーム制御プログラム852dは、仮想のゲームについてのゲーム制御処理を実行するためのプログラムである。ゲーム制御処理には、プレイヤの操作に従ってプレイヤキャラクタ202に任意の動作を実行させたり、プレイヤの操作に関係無くノンプレイヤキャラクタに任意の動作を実行させたりする処理が含まれる。ただし、ゲーム制御処理では、プレイヤの操作に関係なく、仮想のゲームの進行に従ってプレイヤキャラクタ202の位置および向きを変更する場合もある。
【0155】
仮想カメラ制御プログラム852eは、プレイヤの操作(すなわち、仮想カメラ操作)に従って、または、プレイヤの操作に関係無く仮想のゲームの進行に従って、仮想カメラ250の位置および向きを変更するためのプログラムである。
【0156】
画像表示プログラム852fは、画像生成プログラム852bに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像(ゲーム画面200など)がディスプレイ12などの表示装置に表示される。
【0157】
なお、プログラム記憶領域852には、BGM等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ84などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【0158】
また、データ記憶領域854には、操作データ854a、画像生成データ854b、プレイヤキャラクタデータ854c、ゲームモードデータ854d、通常モード仮想カメラデータ854e、撮影モード仮想カメラデータ854f、メニューモード仮想カメラデータ854gおよびアルバムデータ854hなどが記憶される。また、データ記憶領域854には、移動フラグ854iが設けられる。
【0159】
操作データ854aは、左コントローラ3または/および右コントローラ4から受信される操作データである。この実施例においては、本体装置2が左コントローラ3および右コントローラ4の両方から操作データを受信する場合には、本体装置2は、左コントローラ3および右コントローラ4のそれぞれを識別可能にして操作データ854aを記憶する。また、1または複数の他のコントローラが用いられる場合には、本体装置2は、1または他のコントローラを識別可能にして操作データ854aを記憶する。
【0160】
画像生成データ854bは、ポリゴンデータおよびテクスチャデータなど、表示画像データを生成するために必要なデータである。
【0161】
プレイヤキャラクタデータ854cは、プレイヤキャラクタ202の現在位置データ、向きデータおよびアイテムデータを含む。現在位置データは、仮想空間における、プレイヤキャラクタ202の現在の位置すなわち3次元座標のデータである。向きデータは、仮想空間における、プレイヤキャラクタ202の現在の向きのデータである。アイテムデータは、プレイヤキャラクタ202が所持するアイテムの種類および個数のデータである。
【0162】
ゲームモードデータ854dは、ゲームモードが通常モード、メニューモードおよび撮影モードのいずれであるかを判断するためのデータであり、現在のゲームモードと直前のゲームモードを識別可能に記憶する。
【0163】
通常モード仮想カメラデータ854eは、通常モードにおける仮想カメラ250の位置データおよび向きデータと、通常モードにおける注視点の位置データを含む。通常モードにおける仮想カメラ250の位置データは、通常モードにおける、仮想空間内の仮想カメラ250の通常モード位置すなわち3次元座標のデータである。通常モードにおける仮想カメラ250の向きデータは、通常モードにおける、仮想空間内の仮想カメラ250の向きのデータである。
【0164】
撮影モード仮想カメラデータ854fは、撮影モードにおける仮想カメラ250の位置データおよび向きデータと、撮影モードにおける注視点の位置データを含む。撮影モードにおける仮想カメラ250の位置データは、撮影モードにおける、仮想空間内の仮想カメラ250の撮影モード位置すなわち3次元座標のデータである。撮影モードにおける仮想カメラ250の向きデータは、撮影モードにおける、仮想空間内の仮想カメラ250の向きのデータである。
【0165】
メニューモード仮想カメラデータ854gは、メニューモードにおける仮想カメラ250の位置データおよび向きデータと、メニューモードにおける注視点の位置データを含む。メニューモードにおける仮想カメラ250の位置データは、メニューモードにおける、仮想空間内の仮想カメラ250のメニューモード位置すなわち3次元座標のデータである。メニューモードにおける仮想カメラ250の向きデータは、メニューモードにおける、仮想空間内の仮想カメラ250の向きのデータである。
【0166】
アルバムデータ854hは、撮影モードで撮影した1または複数の撮影画像の画像データである。
【0167】
移動フラグ854iは、ゲームモードが切り替えられる場合に、仮想カメラ250が移動中であるかどうかを判断するためのフラグである。仮想カメラ250が移動中である場合には、移動フラグ854iはオンされる。一方、仮想カメラ250が移動中でない場合には、移動フラグ854iはオフされる。
【0168】
図示は省略するが、データ記憶領域854には、仮想空間に配置されているノンプレイヤキャラクタおよび背景オブジェクトについてのデータ、および取得したメモのデータなどの他のデータが記憶されたり、他のフラグおよびタイマ(またはカウンタ)が設けられたりする。
【0169】
図23は、本体装置2のプロセッサ81(またはコンピュータ)のゲームプログラムの処理(全体処理)の限定しない一例を示すフロー図である。図24図26は、本体装置2のプロセッサ81のゲーム制御処理の限定しない一例を示すフロー図である。図27図30は、本体装置2のプロセッサ81の仮想カメラ処理の限定しない一例を示すフロー図である。以下、図23図30を用いて、全体処理、ゲーム制御処理および仮想カメラ制御処理について説明する。
【0170】
ただし、図23図30に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図20図30に示すフロー図の各ステップの処理をプロセッサ81が実行するものとして説明するが、プロセッサ81以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【0171】
本体装置2の電源が投入されると、全体処理の実行に先だって、プロセッサ81は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってDRAM85等の各ユニットが初期化される。本体装置2は、プレイヤによって、この実施例のゲームプログラムの実行が指示されると、全体処理を開始する。
【0172】
図23に示すように、プロセッサ81は、全体的なゲーム処理を開始すると、ステップS1で、初期設定を実行する。ここでは、プロセッサ81は、仮想空間において、プレイヤキャラクタ202、ノンプレイヤキャラクタおよび背景オブジェクト204を初期位置に配置する。ただし、前回の続きからゲームを開始する場合には、セーブされた時点における位置にプレイヤキャラクタ202、ノンプレイヤキャラクタおよび背景オブジェクト204を配置する。このとき、プレイヤキャラクタ202の初期位置またはセーブされた時点における位置のデータが、プレイヤキャラクタデータ854cの位置のデータとしてデータ記憶領域854に記憶される。また、ここでは、ゲームモードが通常モードに設定され、現在のゲームモードが通常モードであることを示すゲームモードデータ854dがデータ記憶領域854に記憶される。ゲーム開始時においては、直前のゲームモードは設定されていないため、ここでは、ゲームモードデータ854dでは、直前のゲームモードがいずれのゲームモードでもないことが示される。
【0173】
続くステップS3では、左コントローラ3または/および右コントローラ4から送信された操作データを取得し、ステップS5では、後述するゲーム制御処理(図24図26参照)を実行する。
【0174】
次のステップS7では、ゲーム画像を生成する。ここでは、プロセッサ81は、ステップS5のゲーム制御処理の結果に基づいてゲーム画像(ゲーム画面200など)に対応するゲーム画像データを生成する。また、ステップS9では、ゲーム音声を生成する。ここでは、プロセッサ81は、ステップS5のゲーム制御処理の結果に応じたゲーム音声に対応する音声データを生成する。
【0175】
続いて、ステップS11では、ゲーム画像を表示する。ここでは、プロセッサ81は、ステップS7で生成したゲーム画像データをディスプレイ12に出力する。また、ステップS13では、ゲーム音声を出力する。ここでは、プロセッサ81は、ステップS9で生成したゲーム音声データを、コーデック回路87を介してスピーカ88に出力する。
【0176】
そして、ステップS15では、ゲームを終了するかどうかを判断する。ステップS15の判断は、プレイヤがゲームを終了する指示を行ったか否か等によって行われる。
【0177】
ステップS15で“NO”であれば、つまりゲームを終了しない場合には、ステップS3に戻る。一方、ステップS15で“YES”であれば、つまりゲームを終了する場合には、全体的なゲーム処理を終了する。
【0178】
図24に示すように、プロセッサ81は、ステップS5に示したゲーム制御処理を開始すると、ステップS31で、ゲームモードデータ854dを参照して、現在のゲームモードが通常モードであるかどうかを判断する。ステップS31で“NO”であれば、つまり、現在のゲームモードが通常モードでなければ、図25に示すステップS53に進む。
【0179】
一方、ステップS31で“YES”であれば、つまり、現在のゲームモードが通常モードであれば、ステップS33で、ゲームモードを通常モードから撮影モードに切り替えるかどうかを判断する。このステップS33では、プロセッサ81は、ステップS3で取得した操作データが、ZLボタン39の操作データであるかどうかで判断する。以下、各ボタン103、113およびスティック32、52が操作されたかどうかを判断する場合について同様である。
【0180】
ステップS33で“YES”であれば、つまり、ゲームモードを通常モードから撮影モードに切り替えると判断すれば、ステップS35で、ゲームモードを撮影モードに設定し、ステップS37で、移動フラグ854iをオンして、ステップS47に進む。ステップS35では、プロセッサ81は、現在のゲームモードを撮影モードに設定するとともに、直前のゲームモードを通常モードに設定したゲームモードデータ854dをデータ記憶領域854に記憶(または、上書き)する。また、ステップS35の処理が実行されたとき、プロセッサ81は、図13(A)および図13(B)に示したような位置関係となるように、移動後の仮想カメラ250の位置(すなわち、撮影モード位置)と移動後の注視点の位置を算出し、撮影モード仮想カメラデータ854fを更新する。
【0181】
一方、ステップS33で“NO”であれば、つまり、ゲームモードを通常モードから撮影モードに切り替えないと判断すれば、ステップS39で、ゲームモードを通常モードからメニューモードに切り替えるかどうかを判断する。このステップS39では、プロセッサ81は、ステップS3で取得した操作データが、Xボタン55の操作データであるかを判断する。
【0182】
ステップS39で“YES”であれば、つまり、ゲームモードを通常モードからメニューモードに切り替えると判断すれば、ステップS41で、現在のゲームモードをメニューモードに設定し、ステップS43で、移動フラグ854iをオンして、ステップS47に進む。ステップS41では、プロセッサ81は、現在のゲームモードをメニューモードに設定するとともに、直前のゲームモードを通常モードに設定したゲームモードデータ854dをデータ記憶領域854に記憶(または、上書き)する。また、ステップS41の処理が実行されたとき、プロセッサ81は、図14(A)および図14(B)に示したような位置関係となるように、移動後の仮想カメラ250の位置(すなわち、メニューモード位置)と移動後の注視点の位置を算出し、メニューモード仮想カメラデータ854gを更新する。
【0183】
一方、ステップS39で“NO”であれば、つまり、ゲームモードを通常モードからメニューモードに切り替えないと判断すれば、ステップS45で、プレイヤキャラクタ202の動作を制御する。ステップS45でプレイヤキャラクタ202の位置または/および向きを変更する場合には、プレイヤキャラクタデータ854cのうち、位置データまたは/および向きデータが更新される。ただし、プレイヤがプレイヤキャラクタ202の動作に関する操作を行っていない場合には、ステップS45の処理はスキップされる場合もある。また、プレイヤの操作に関係無く、プロセッサ81によって、強制的に、プレイヤキャラクタ202の位置および向きが更新される場合もある。さらに、ステップS45では、プレイヤキャラクタ202は、背景オブジェクト204を調べたり、背景オブジェクト204に対して動作を行なったり、アイテムを取得したり、謎を解いたり、パズルを解いたり、ノンプレイヤキャラクタと会話したりする。
【0184】
続くステップS47では、ノンプレイヤキャラクタの動作を制御して、ステップS49で、後述する仮想カメラ制御処理(図27図30を参照)を実行する。ただし、ノンプレイヤキャラクタの動作を制御しない場合には、プロセッサ81は、ステップS47の処理をスキップする。
【0185】
そして、ステップS51で、その他のゲーム処理を実行して、ゲーム制御処理を終了して、図22に示した全体的なゲーム処理にリターンする。ステップS51では、プレイヤキャラクタ202およびノンプレイヤキャラクタの動作以外の処理、ゲームクリアの処理およびゲームデータのセーブ処理などが実行される。
【0186】
図25に示すように、ステップS53では、ゲームモードデータ854dを参照して、現在のゲームモードがメニューモードであるかどうかを判断する。ステップS53で“NO”であれば、つまり、現在のゲームモードがメニューモードでなく撮影モードであれば、図26に示すステップS69に進む。一方、ステップS53で“YES”であれば、つまり、現在のゲームモードがメニューモードであれば、ステップS55で、ゲームモードをメニューモードから通常モードに切り替えるかどうかを判断する。このステップS55では、プロセッサ81は、ステップS3で取得した操作データが、Bボタン54またはXボタン55の操作データであるかどうかを判断する。
【0187】
ステップS55で“YES”であれば、つまり、ゲームモードをメニューモードから通常モードに切り替えると判断すれば、ステップS57で、現在のゲームモードを通常モードに設定し、ステップS59で、移動フラグ854iをオンして、図24に示したステップS47に進む。ステップS57では、プロセッサ81は、現在のゲームモードを通常モードに設定するとともに、直前のゲームモードをメニューモードに設定したゲームモードデータ854dをデータ記憶領域854に記憶(または、上書き)する。また、ステップS57の処理が実行されたとき、プロセッサ81は、図12(A)および図12(B)に示したような位置関係となるように、移動後の仮想カメラ250の位置(すなわち、通常モード位置)と移動後の注視点の位置を算出し、通常モード仮想カメラデータ854eを更新する。
【0188】
一方、ステップS55で“NO”であれば、つまり、ゲームモードをメニューモードから通常モードに切り替えないと判断すれば、ステップS61で、メニューモードをメニューモードから撮影モードに切り替えるかどうかを判断する。このステップS61では、プロセッサ81は、撮影モードのメニューアイコン222が選択可能な状態で、Aボタン53が操作されたかどうかを判断する。Aボタンが操作されたかどうかは、ステップS3で取得した操作データが、Aボタン53の操作データであるかどうかで判断される。
【0189】
ステップS61で“YES”であれば、つまり、ゲームモードをメニューモードから撮影モードに切り替えると判断すれば、図24に示したステップS35に進む。一方、ステップS61で“NO”であれば、つまり、ゲームモードをメニューモードから撮影モードに切り替えないと判断すれば、ステップS63で、メニュー項目の変更かどうかを判断する。
【0190】
ステップS63で“YES”であれば、つまり、メニュー項目の変更であれば、ステップS65で、プレイヤの操作に従って、選択可能なメニューアイコン220、222、224を変更して、図24に示したステップS51に進む。ステップS65では、プロセッサ81は、プレイヤキャラクタ202の位置を中心に、メニューアイコン220、222、224を左または右に1つ分移動する。
【0191】
一方、ステップS63で“NO”であれば、つまり、メニュー項目の変更でなければ、ステップS67で、メニューモードにおけるその他の処理を実行して、ステップS51に進む。ステップS67では、アルバム機能またはメモ機能を選択したり、アルバム機能またはメモ機能を実行したりする。アルバム機能が実行された場合には、アルバムデータ854hの画像データに対応する画像を閲覧することができる。ただし、プレイヤが何も操作していない場合には、ステップS67の処理はスキップされる。
【0192】
図26に示すように、ステップS69では、ゲームモードを撮影モードから通常モードに切り替えるかどうかを判断する。このステップS69では、プロセッサ81は、ゲームモードデータ854dを参照して、撮影モードの直前のゲームモードが通常モードである場合には、ステップS3で取得した操作データが、Bボタン54の操作データであるかどうかを判断する。また、撮影モードの直前のゲームモードがメニューモードである場合には、ステップS3で取得した操作データが、Xボタン55の操作データであるかどうかを判断する。
【0193】
ステップS69で“YES”であれば、つまり、ゲームモードを撮影モードから通常モードに切り替えると判断すれば、図25に示したステップS57に進む。一方、ステップS69で“NO”であれば、つまり、ゲームモードを撮影モードから通常モードに切り替えると判断していなければ、ステップS71で、ゲームモードを撮影モードからメニューモードに切り替えるかどうかを判断する。このステップS71では、プロセッサ81は、ステップS3で取得した操作データが、Bボタン54の操作データであるかどうかを判断する。
【0194】
ステップS71で“YES”であれば、つまり、ゲームモードを撮影モードからメニューモードに切り替えると判断すれば、図24に示したステップS41に進む。一方、ステップS71で“NO”であれば、つまり、ゲームモードを撮影モードからメニューモードに切り替えないと判断すれば、ステップS73で、撮影指示が有るかどうかを判断する。ステップS73では、プロセッサ81は、ステップS3で取得した操作データが、Aボタン53の操作データであるかどうかを判断する。
【0195】
ステップS73で“NO”であれば、つまり、撮影指示が無ければ、図24に示したステップS51に進む。一方、ステップS73で“YES”であれば、つまり、撮影指示が有れば、ステップS75で、撮影範囲のゲーム画像を記憶して、ステップS51に進む。このステップS75では、プロセッサ81は、撮影範囲のゲーム画像の画像データをアルバムデータ854hとして記憶(または、追加)する。
【0196】
図27に示すように、プロセッサ81は、仮想カメラ制御処理を開始すると、ステップS101で、ゲームモードが通常モードであるかどうかを判断する。ステップS101で“NO”であれば、つまり、ゲームモードが通常モードでなければ、図28に示すステップS117に進む。
【0197】
一方、ステップS101で“YES”であれば、つまり、ゲームモードが通常モードであれば、ステップS103で、移動フラグ854iがオンであるかどうかを判断する。ステップS103で“YES”であれば、つまり、移動フラグ854iがオンであれば、ステップS105で、通常モード仮想カメラデータ854eを参照して、仮想カメラ250の位置を通常モード位置に向けて1フレーム分移動させる。図示は省略するが、このとき、プロセッサ81は、通常モード仮想カメラデータ854eを参照して、注視点の位置を通常モードにおける位置(図12(A)および図12(B)参照)に向けて1フレーム分移動させる。ただし、フレームは、画面更新の単位時間であり、1/30秒、1/60秒または1/120秒である。また、1フレームにおける仮想カメラ250の移動量は予め決定されている。また、移動後の注視点を向くように仮想カメラ250の向きも変更される。
【0198】
続くステップS107では、通常モード仮想カメラデータ854eを参照して、仮想カメラ250の位置が通常モード位置に到達したかどうかを判断する。ステップS107で“YES”であれば、つまり、仮想カメラ250の位置が通常モード位置に到達すれば、ステップS109で、移動フラグ854iをオフして、仮想カメラ制御処理を終了し、図24図26に示したゲーム制御処理にリターンする。一方、ステップS107で“NO”であれば、つまり、仮想カメラ250の位置が通常モード位置に到達していなければ、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。
【0199】
また、ステップS103で“NO”であれば、つまり、移動フラグ854iがオフであれば、ステップS111で、仮想カメラ250の移動操作が有るかどうかを判断する。ステップS111で“YES”であれば、つまり、仮想カメラ250の移動操作が有れば、ステップS113で、プレイヤの操作に従って仮想カメラ250の位置を移動して、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。ただし、ステップS113では、仮想カメラ250の向きは注視点を向くように変化され、注視点と仮想カメラ250の距離Rは一定である。
【0200】
一方、ステップS111で“NO”であれば、つまり、仮想カメラ250の移動操作が無ければ、ステップS115で、プレイヤキャラクタ202の移動に従って仮想カメラ250の位置を移動させて、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。つまり、ステップS115では、仮想カメラ250は、プレイヤキャラクタ202に追従する。ただし、プレイヤキャラクタ202が移動していない場合には、ステップS115の処理はスキップされる。
【0201】
図28に示すように、ステップS117では、ゲームモードがメニューモードであるかどうかを判断する。ステップS117で“NO”であれば、つまり、ゲームモードがメニューモードでなく、撮影モードであれば、図29に示すステップS127に進む。一方、ステップS117で“YES”であれば、つまり、ゲームモードがメニューモードであれば、ステップS119で、移動フラグ854iがオンであるかどうかを判断する。
【0202】
ステップS119で“NO”であれば、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。一方、ステップS119で“YES”であれば、ステップS121で、メニューモード仮想カメラデータ854gを参照して、仮想カメラ250の位置をメニューモード位置に向けて1フレーム分移動させる。図示は省略するが、このとき、プロセッサ81は、メニューモード仮想カメラデータ854gを参照して、注視点の位置をメニューモードにおける位置(図14(A)および図14(B)参照)に向けて1フレーム分移動させる。
【0203】
続くステップS123では、メニューモード仮想カメラデータ854gを参照して、仮想カメラ250の位置がメニューモード位置に到達したかどうかを判断する。ステップS123で“YES”であれば、つまり、仮想カメラ250の位置がメニューモード位置に到達すれば、ステップS125で、移動フラグ854iをオフして、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。一方、ステップS123で“NO”であれば、つまり、仮想カメラ250の位置がメニューモード位置に到達していなければ、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。
【0204】
上述したように、ゲームモードが撮影モードである場合には、図29に示すステップS127で、移動フラグ854iがオンであるかどうかを判断する。ステップS127で“NO”であれば、図30に示すステップS135に進む。一方、ステップS127で“YES”であれば、ステップS129で、撮影モード仮想カメラデータ854fを参照して、仮想カメラ250を撮影モード位置に向けて1フレーム分移動させる。図示は省略するが、このとき、プロセッサ81は、撮影モード仮想カメラデータ854fを参照して、注視点の位置を撮影モードにおける位置(図13(A)および図13(B)参照)に向けて1フレーム分移動させる。
【0205】
続くステップS131では、撮影モード仮想カメラデータ854fを参照して、仮想カメラ250の位置が撮影モード位置に到達したかどうかを判断する。ステップS131で“YES”であれば、つまり、仮想カメラ250の位置が撮影モード位置に到達すれば、ステップS133で、移動フラグ854iをオフして、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。一方、ステップS131で“NO”であれば、つまり、仮想カメラ250の位置が撮影モード位置に到達していなければ、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。
【0206】
図30に示すように、ステップS135では、プレイヤキャラクタ202が使用する手持ち型の端末すなわち仮想カメラ250の向きの変更かどうかを判断する。ここでは、プロセッサ81は、アナログスティック52が傾倒操作されたかどうかを判断する。ステップS135で“NO”であれば、つまり、仮想カメラ250の向きの変更でなければ、ステップS141に進む。
【0207】
一方、ステップS135で“YES”であれば、つまり、仮想カメラ250の向きの変更であれば、ステップS137で、プレイヤの操作に従って仮想カメラ250の向きを変更する。具体的には、注視点の位置が、プレイヤの操作に従って、仮想カメラ250の位置を中心に、半径が距離Rである球体上を移動し、この注視点を向くように仮想カメラ250の向きが変更される。
【0208】
次のステップS139では、仮想カメラ250の向きと同じ向きに、プレイヤキャラクタ202の向きを変更して、ステップS141に進む。
【0209】
ステップS141では、プレイヤキャラクタ202が使用する手持ち端末すなわち仮想カメラ250の位置の変更かどうかどうかを判断する。ここでは、プロセッサ81は、アナログスティック32が傾倒操作されたかどうかを判断する。ステップS141で“NO”であれば、つまり、仮想カメラ250の位置の変更でなければ、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。
【0210】
一方、ステップS141で“YES”であれば、つまり、仮想カメラ250の位置の変更であれば、ステップS143で、プレイヤの操作に従って仮想カメラ250の撮影モード位置を変更する。このとき、撮影モード位置と平行して、撮影モードにおける注視点も変更される。したがって、撮影モード仮想カメラデータ854fが更新される。
【0211】
次のステップS145では、仮想カメラ撮影モード位置と平行して、プレイヤキャラクタ202の位置と仮想カメラ250の通常モード位置をそれぞれ変更して、仮想カメラ制御処理を終了し、ゲーム制御処理にリターンする。上記のステップS145では、プレイヤキャラクタデータ854cおよび通常モード仮想カメラデータ854eが更新される。
【0212】
この実施例によれば、メニューモードに切り替えた後に撮影モードに切り替えるか、通常モードから直接撮影モードに切り替えるかで、撮影モードの開始時の仮想カメラの位置および向きが異なるため、撮影開始するときの仮想カメラの位置および向きが異なる複数の開始方法から1つを選んで撮影モードを開始することができる。つまり、プレイヤは状況に応じて、仮想カメラの位置および向きの異なる撮影モードに切り替える方法を使い分けることができる。
【0213】
なお、上述の実施例では、通常モードまたはメニューモードから撮影モードに切り替える場合には、通常モードにおける仮想カメラ250の向きの水平成分の向き、または、メニューモードにおける仮想カメラ250の向きに前進させるとともに、プレイヤキャラクタに近づけるように、仮想カメラを移動させたが、これに限定される必要はない。通常モードにおける仮想カメラ250の向きの水平成分の向き、または、メニューモードにおける仮想カメラ250の向きに仮想カメラを前進させて、移動前の仮想カメラの視線に近づけるようにプレイヤキャラクタを移動させてもよい。
【0214】
図31はゲームモードが通常モードから撮影モードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない他の例を仮想空間の斜め上方から見た図である。図31では、一例として、図12(A)および図12(B)に示した通常モード位置P1から仮想カメラ250の向きの水平成分の向きに前進して図13(A)および図13(B)に示したような位置関係となる撮影モード位置P6に仮想カメラ250を移動した場合について示してある。図31では、図12(A)および図12(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を点線で示し、仮想カメラ250を移動した後の状態のプレイヤキャラクタ202と仮想カメラ250を実線で示してある。
【0215】
ただし、撮影モード位置P6は、上述の実施例で示した撮影モード位置P2を仮想カメラ250の向きを基準とした場合の右方向に距離W1だけ移動した位置である。
【0216】
ゲームモードが通常モードから撮影モードに切り替えられるとき、仮想カメラ250は、通常モードにおける仮想カメラ250の向き(視線方向)の水平成分の向きに移動する。移動後の仮想カメラ250の位置すなわち撮影モード位置は、図13(A)および図13(B)に示したような位置関係となるように、仮想カメラ250の通常モード位置および向きに基づいて算出される。仮想カメラ250の撮影モード位置は、撮影モードにおけるプレイヤキャラクタ202の位置の前方に距離D2であり、プレイヤキャラクタの目の高さH2である位置に設定される。また、プレイヤキャラクタ202は、仮想カメラ250の向きの水平成分と水平面内において直交するように移動される。上述したとおり、通常モードでは、プレイヤキャラクタ202の位置の右側に距離W1だけ移動した位置に注視点が設定されるため、撮影モードにおいて、プレイヤキャラクタ202の位置は通常モードにおける注視点の位置に設定される。したがって、仮想カメラ250の撮影モード位置は、通常モードにおける注視点の位置から、通常モードにおける仮想カメラ250の水平成分の向きに距離D2だけ進んだ位置に設定される。したがって、仮想カメラ250は、通常モードから撮影モードに切り替えられると、通常モード位置から撮影モード位置に向けて前進する。
【0217】
図32はゲームモードがメニューモードから撮影モードに切り替えられる場合における仮想カメラ250の位置の移動の限定しない他の例を仮想空間の斜め上方から見た図である。図32では、一例として、図14(A)および図14(B)に示したメニューモード位置P3から前進して図13(A)および図13(B)に示したような位置関係となる撮影モード位置P6に仮想カメラ250を移動した場合について示してある。図32では、図14(A)および図14(B)に示した状態のプレイヤキャラクタ202と仮想カメラ250を点線で示し、仮想カメラ250を移動した後の状態のプレイヤキャラクタ202と仮想カメラ250を実線で示してある。
【0218】
上述したように、ゲームモードがメニューモードから撮影モードに切り替えられるとき、仮想カメラ250は、メニューモード位置P3から仮想カメラ250の向きに所定の距離(上記の実施例では、距離D2+距離D3)だけ前進される。また、この場合には、上述したように、プレイヤキャラクタ202は、仮想空間の上方から見た場合に、プレイヤキャラクタ202の位置がメニューモードにおける仮想カメラ250の向き(視線方向)に延びる直線と重なるように距離W2だけ移動する。
【0219】
なお、上述の実施例では、ゲームシステムの一例としてゲームシステム1を示したが、その構成は限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、上述の実施例においては、1つのコンピュータ(具体的には、プロセッサ81)であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる(複数の)コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置2のプロセッサ81と、コントローラが備える通信制御部(マイクロプロセッサ)101、111とによって構成されてもよい。
【0220】
また、上述の実施例では、ディスプレイ12にゲーム画像を表示する場合について説明したが、これに限定される必要はない。本体装置2を、クレードルを介して据置型モニタ(たとえば、テレビモニタ)に接続することにより、ゲーム画像を据置型モニタに表示することもできる。かかる場合には、ゲームシステム1と据置型モニタを含むゲームシステムを構成することもできる。
【0221】
さらに、上述の実施例では、本体装置2に左コントローラ3および右コントローラ4を着脱可能な構成のゲームシステム1を用いた場合について説明したが、これに限定される必要はない。たとえば、左コントローラ3および右コントローラ4と同様の操作ボタンおよびアナログスティックを有する操作部を本体装置2に一体的に設けたゲーム装置またはゲームプログラムを実行可能な他の電子機器のようなゲーム装置を用いることもできる。他の電子機器としては、スマートフォンまたはタブレットPCなどが該当する。かかる場合には、操作部はソフトウェアキーで構成することもできる。
【0222】
さらにまた、上述の実施例で示した具体的な数値および画像は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【0223】
1 …ゲームシステム
2 …本体装置
3 …左コントローラ
4 …右コントローラ
32、52 …アナログスティック
39 …ZLボタン
60 …Rボタン
61 …ZRボタン
81 …プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32