(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】ゲームシステム、ゲームプログラム、情報処理装置、および、ゲーム処理方法
(51)【国際特許分類】
A63F 13/5258 20140101AFI20221109BHJP
A63F 13/49 20140101ALI20221109BHJP
A63F 13/843 20140101ALI20221109BHJP
【FI】
A63F13/5258
A63F13/49
A63F13/843
(21)【出願番号】P 2019104226
(22)【出願日】2019-06-04
【審査請求日】2021-03-09
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】京極 あや
(72)【発明者】
【氏名】天野 裕介
(72)【発明者】
【氏名】加藤 賢
(72)【発明者】
【氏名】三宅 広通
(72)【発明者】
【氏名】竹下 義隆
【審査官】西村 民男
(56)【参考文献】
【文献】特開2010-287191(JP,A)
【文献】特開2006-122123(JP,A)
【文献】特開2004-313218(JP,A)
【文献】特開2002-282536(JP,A)
【文献】特開2002-049937(JP,A)
【文献】特開2001-269482(JP,A)
【文献】プレイガイド,世界のウェブアーカイブ|国立国会図書館インターネット資料収集保存事業 [online],2018年08月31日,https://web.archive.org/web/20180831235303/http://hiroba.dqx.jp/sc/public/playguide/guide_4_18,[2022年04月26日検索]
【文献】株式会社キュービスト,とびだせ どうぶつの森 ザ・コンプリートガイド,第4版,株式会社アスキー・メディアワークス,2013年02月06日,pp. 28-30
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06T 1/00,11/00-11/40,
11/60-13/80,
15/00-17/00,17/05,
17/10-17/30,
19/00-19/20
(57)【特許請求の範囲】
【請求項1】
ゲーム処理を行うプロセッサと、複数の操作装置とを備えるゲームシステムであって、
前記プロセッサは、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて
、前記メインキャラクタを前記仮想空間内で移動させ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて
、前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記仮想カメラに基づいてゲーム画像を生成する、ゲームシステム。
【請求項2】
前記プロセッサは、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項1に記載のゲームシステム。
【請求項3】
前記プロセッサは、
前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、
前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させる、請求項2に記載のゲームシステム。
【請求項4】
前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になり、
前記プロセッサは、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させる、請求項2又は3に記載のゲームシステム。
【請求項5】
前記プロセッサは、
前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び/又は、前記サブキャラクタの制御を行う、請求項1から4の何れかに記載のゲームシステム。
【請求項6】
前記プロセッサは、
前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させる、請求項5に記載のゲームシステム。
【請求項7】
前記プロセッサは、
前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させる、請求項6に記載のゲームシステム。
【請求項8】
前記プロセッサは、
前記複数のプレイヤのうちの第1のプレイヤのセーブデータに基づいて、第1プレイヤキャラクタを生成し、当該第1プレイヤキャラクタを用いたシングルプレイゲーム処理を開始し、
前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第2のプレイヤのセーブデータに基づいて第2プレイヤキャラクタを前記仮想空間に生成し、前記第1プレイヤキャラクタを前記メインキャラクタとし、前記第2プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第1プレイヤキャラクタ及び前記第2プレイヤキャラクタを用いたマルチプレイゲーム処理を行い、
前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第1プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記第2プレイヤキャラクタを前記メインキャラクタに変更し、
前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第2プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開する、請求項1から7の何れかに記載のゲームシステム。
【請求項9】
前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成され、
前記記憶媒体は、複数のプレイヤに共有の第1記憶領域と、プレイヤ毎に分けられた第2記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第1記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第2記憶領域に記憶される、請求項1から8の何れかに記載のゲームシステム。
【請求項10】
前記プロセッサは、
前記複数のプレイヤのうちの1のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、
前記シングルプレイゲーム処理の実行中、第1の操作装置に対する操作に応じて第1のゲーム制御を行い、第2の操作装置に対する操作に応じて第2のゲーム制御を行い、
前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行し、
前記マルチプレイゲーム処理の実行中に、
前記第1の操作装置に対する所定の切替操作に応じて、前記第1の操作装置の操作モードを第1モード又は第2モードに設定し、
前記操作モードが前記第1モードのときには、前記第1の操作装置に対する操作に応じて前記第1のゲーム制御を行い、前記操作モードが前記第2モードのときには、前記第1の操作装置に対する操作に応じて前記第2のゲーム制御を行う、請求項1から9の何れかに記載のゲームシステム。
【請求項11】
複数の操作装置からの操作データに基づいてゲーム処理を行うプロセッサにおいて実行されるゲームプログラムであって、前記プロセッサに、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成させ、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成させ、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定させ、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定させ、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御させ、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて
、前記メインキャラクタを前記仮想空間内で移動させ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて
、前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更させ、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更させ、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御させ、
前記仮想カメラに基づいてゲーム画像を生成させる、ゲームプログラム。
【請求項12】
前記プロセッサが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせるように制御する、請求項11に記載のゲームプログラム。
【請求項13】
前記プロセッサが、
前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、
前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させるように制御する、請求項12に記載のゲームプログラム。
【請求項14】
前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になり、
前記プロセッサが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させるように制御する、請求項12又は13に記載のゲームプログラム。
【請求項15】
前記プロセッサが、
前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び/又は、前記サブキャラクタの制御を行うように制御する、請求項11から14の何れかに記載のゲームプログラム。
【請求項16】
前記プロセッサが、
前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させるように制御する、請求項15に記載のゲームプログラム。
【請求項17】
前記プロセッサが、
前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させるように制御する、請求項16に記載のゲームプログラム。
【請求項18】
前記プロセッサが、
前記複数のプレイヤのうちの第1のプレイヤのセーブデータに基づいて、第1プレイヤキャラクタを生成し、当該第1プレイヤキャラクタを用いたシングルプレイゲーム処理を開始し、
前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第2のプレイヤのセーブデータに基づいて第2プレイヤキャラクタを前記仮想空間に生成し、前記第1プレイヤキャラクタを前記メインキャラクタとし、前記第2プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第1プレイヤキャラクタ及び前記第2プレイヤキャラクタを用いたマルチプレイゲーム処理を行い、
前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第1プレイヤキャラクタを前記サブキャラクタに変更し、
前記サブキャラクタとして設定されている前記第2プレイヤキャラクタを前記メインキャラクタに変更し、
前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第2プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開するように制御する、請求項11から17の何れかに記載のゲームプログラム。
【請求項19】
前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成され、
前記記憶媒体は、複数のプレイヤに共有の第1記憶領域と、プレイヤ毎に分けられた第2記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第1記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第2記憶領域に記憶される、請求項11から18の何れかに記載のゲームプログラム。
【請求項20】
前記プロセッサが、
前記複数のプレイヤのうちの1のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、
前記シングルプレイゲーム処理の実行中、第1の操作装置に対する操作に応じて第1のゲーム制御を行い、第2の操作装置に対する操作に応じて第2のゲーム制御を行い、
前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行し、
前記マルチプレイゲーム処理の実行中に、
前記第1の操作装置に対する所定の切替操作に応じて、前記第1の操作装置の操作モードを第1モード又は第2モードに設定し、
前記操作モードが前記第1モードのときには、前記第1の操作装置に対する操作に応じて前記第1のゲーム制御を行い、前記操作モードが前記第2モードのときには、前記第1の操作装置に対する操作に応じて前記第2のゲーム制御を行うように制御する、請求項11から19の何れかに記載のゲームプログラム。
【請求項21】
複数の操作装置からの操作データに基づいてゲーム処理を行う情報処理装置であって、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて
、前記メインキャラクタを前記仮想空間内で移動させ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて
、前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記仮想カメラに基づいてゲーム画像を生成する、情報処理装置。
【請求項22】
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項21に記載の情報処理装置。
【請求項23】
複数の操作装置からの操作データに基づいてゲーム処理を行うゲームシステムにおいて行われるゲーム処理方法であって、前記ゲームシステムが、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて
、前記メインキャラクタを前記仮想空間内で移動させ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて
、前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記仮想カメラに基づいてゲーム画像を生成する、ゲーム処理方法。
【請求項24】
前記ゲームシステムが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項23に記載のゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプレイヤでゲームを行うことが可能なゲームシステム、ゲームプログラム、情報処理装置、およびゲーム処理方法に関する。
【背景技術】
【0002】
1台のゲーム装置を複数のプレイヤが共有し、それぞれのプレイヤがゲームを行うゲームが存在する(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】“街へいこうよ どうぶつの森”、[online]、任天堂株式会社、[令和元年6月4日検索]、インターネット<https://www.nintendo.co.jp/wii/ruuj/tsuushin/index.html>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記ゲームでは、1台の装置を共有する複数のプレイヤが同時にゲームを行うことができなかった。
【0005】
それ故、本発明の目的は、1のゲームシステムを共有する複数のプレイヤが同時にゲームをプレイすることが可能なゲームシステムを提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【0007】
本発明の一例は、ゲーム処理を行うプロセッサと、複数の操作装置とを備えるゲームシステムである。前記プロセッサは、複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成する。また、前記プロセッサは、前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定する。前記プロセッサは、前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御する。前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタを前記仮想空間内で移動させ、少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御する。また、前記プロセッサは、前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記サブキャラクタを前記仮想空間内で移動させる。また、前記プロセッサは、所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更する。前記プロセッサは、前記仮想カメラに基づいてゲーム画像を生成する。
【0008】
この構成によれば、複数のプレイヤキャラクタのうちの何れかがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定され、少なくともメインキャラクタを含むゲーム画像が生成される。これにより、複数のプレイヤで行われるマルチプレイゲームにおいて、メインキャラクタを主としてゲームを行うことができる。また、所定の指示操作によって、メインキャラクタとサブキャラクタとを切り替えることができるため、プレイヤ間で調整しつつ、バランスよくゲームを行うことができる。
【0009】
また、前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせてもよい。
【0010】
この構成によれば、メインキャラクタが選択した行動をメインキャラクタが実行可能になるとともに、サブキャラクタも同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有することができ、連帯感を持ってゲームをプレイすることができる。
【0011】
また、前記プロセッサは、前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させてもよい。
【0012】
この構成によれば、プレイヤキャラクタの行動によって仮想オブジェクトを取得することができ、メインキャラクタが行動を選択するため、メインキャラクタが主体となって取得する仮想オブジェクトを選択することができる。メインキャラクタとサブキャラクタとは切り替え可能であるため、取得したい仮想アイテムがあるプレイヤは、メインキャラクタになることで、自ら行動を選択し、取得したい仮想アイテムを取得することができる。
【0013】
また、前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になってもよい。前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させてもよい。
【0014】
この構成によれば、装備アイテムと行動とが関連付けられており、装備アイテムをプレイヤキャラクタに装備させることで、実行可能な行動を選択することができる。例えば、新たな装備アイテムを取得することで、プレイヤキャラクタに新たな行動を実行させることができ、ゲームの幅を広げることができる。
【0015】
また、前記プロセッサは、前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び/又は、前記サブキャラクタの制御を行ってもよい。
【0016】
この構成によれば、ゲーム画像にメインキャラクタとサブキャラクタの両方が含まれるようにすることができる。
【0017】
また、前記プロセッサは、前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させてもよい。
【0018】
この構成によれば、サブキャラクタが仮想カメラの視野から出た場合でも、サブキャラクタを仮想カメラの視野に含まれるように強制的に移動させることができ、ゲーム画像にメインキャラクタとサブキャラクタの両方が含まれるようにすることができる。
【0019】
また、前記プロセッサは、前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させてもよい。
【0020】
この構成によれば、サブキャラクタが仮想カメラの視野から外れてから所定時間内は、自ら移動して仮想カメラの視野内に入ることができ、所定時間が経過した場合には、サブキャラクタを強制的に仮想カメラの視野内に移動させることができる。
【0021】
また、前記プロセッサは、前記複数のプレイヤのうちの第1のプレイヤのセーブデータに基づいて、第1プレイヤキャラクタを生成し、当該第1プレイヤキャラクタを用いたシングルプレイゲーム処理を開始してもよい。前記プロセッサは、前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第2のプレイヤのセーブデータに基づいて第2プレイヤキャラクタを前記仮想空間に生成し、前記第1プレイヤキャラクタを前記メインキャラクタとし、前記第2プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第1プレイヤキャラクタ及び前記第2プレイヤキャラクタを用いたマルチプレイゲーム処理を行ってもよい。前記プロセッサは、前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第1プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記第2プレイヤキャラクタを前記メインキャラクタに変更してもよい。また、前記プロセッサは、前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第2プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開してもよい。
【0022】
この構成によれば、第1のプレイヤがシングルプレイモードでゲームを開始し、シングルプレイゲーム中に第1プレイヤキャラクタをメインキャラクタとするマルチプレイゲームを開始した場合でも、マルチプレイゲームの終了時に第2プレイヤキャラクタがメインキャラクタに切り替えられている場合は、第2プレイヤキャラクタでシングルプレイゲームを再開することができる。
【0023】
また、前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成されてもよい。前記記憶媒体は、複数のプレイヤに共有の第1記憶領域と、プレイヤ毎に分けられた第2記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第1記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第2記憶領域に記憶されてもよい。
【0024】
この構成によれば、共有のセーブデータと、プレイヤ毎のセーブデータとを別々で記憶することができる。
【0025】
また、前記プロセッサは、前記複数のプレイヤのうちの1のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、前記シングルプレイゲーム処理の実行中、第1の操作装置に対する操作に応じて第1のゲーム制御を行い、第2の操作装置に対する操作に応じて第2のゲーム制御を行ってもよい。また、前記プロセッサは、前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行してもよい。前記プロセッサは、前記マルチプレイゲーム処理の実行中に、前記第1の操作装置に対する所定の切替操作に応じて、前記第1の操作装置の操作モードを第1モード又は第2モードに設定し、前記操作モードが前記第1モードのときには、前記第1の操作装置に対する操作に応じて第1のゲーム制御を行い、前記操作モードが前記第2モードのときには、前記第1の操作装置に対する操作に応じて前記第2のゲーム制御を行ってもよい。
【0026】
この構成によれば、シングルプレイモードでゲームを行うときには第1の操作装置と第2の操作装置とを用いて異なるゲーム制御を行う、マルチプレイモードでゲームを行うときには第1の操作装置の操作モードを切り替えて、シングルプレイモードのときと同じゲーム制御を行うことができる。
【0027】
また、他の発明は、上記処理を実行する情報処理装置であってもよいし、情報処理装置のプロセッサに上記処理を行わせるゲームプログラムであってもよいし、ゲームシステムにおいて行われるゲーム処理方法であってもよい。
【発明の効果】
【0028】
本発明によれば、複数のプレイヤで行われるマルチプレイゲームにおいて、メインキャラクタを主としてゲームを行うことができるとともに、メインキャラクタとサブキャラクタとを切り替えることができるため、複数のプレイヤでバランスよくゲームを行うことができる。
【図面の簡単な説明】
【0029】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図
【
図6】本体装置2の内部構成の一例を示すブロック図
【
図7】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図8】ゲームシステム1の本体装置2に記憶されるセーブデータの一例を示す図
【
図9】プレイヤAがシングルプレイモードでゲームを行っているときのゲーム画像の一例を示す図
【
図10】シングルプレイモードにおける左右のコントローラの各キーの割り当ての一例を示す図
【
図11】プレイヤA及びBがマルチプレイモードでゲームを行っているときのゲーム画像の一例を示す図
【
図12】メインキャラクタであるプレイヤキャラクタ70Aが、
図11に示す状態から仮想空間の左方向に移動した後のゲーム画像の一例を示す図
【
図13】
図12に示す状態からプレイヤキャラクタ70Aがさらに左方向に移動した後のゲーム画像の一例を示す図
【
図14】サブキャラクタであるプレイヤキャラクタ70Bが仮想カメラの視野外に出た後、仮想カメラの視野内にワープしたときのゲーム画像の一例を示す図
【
図15】
図11に示す状態からサブキャラクタであるプレイヤキャラクタ70Bが仮想空間の左方向に移動した後のゲーム画像の一例を示す図
【
図16】
図15に示す状態からサブキャラクタがさらに左方向に移動した後のゲーム画像の一例を示す図
【
図17】メインキャラクタ及びサブキャラクタが装備アイテムとして釣り竿を装備している様子の一例を示す図
【
図18】メインキャラクタをプレイヤキャラクタ70Aからプレイヤキャラクタ70Bに切り替えた後のゲーム画像の一例を示す図
【
図19】メインキャラクタに対応するコントローラが左コントローラ3である場合のメインキャラクタのキー割り当て(第1モード)の一例を示す図
【
図20】メインキャラクタに対応するコントローラが左コントローラ3である場合のメインキャラクタのキー割り当て(第2モード)の一例を示す図
【
図21】サブキャラクタに対応するコントローラが右コントローラ4である場合のサブキャラクタのキー割り当ての一例を示す図
【
図22】本体装置2(のDRAM85又はフラッシュメモリ84)に記憶されるデータの一例を示す図
【
図23】本体装置2のプロセッサ81において行われるゲーム処理の一例を示すフローチャート
【
図24】ステップS107のマルチプレイゲーム処理の一例を示すフローチャート
【
図25】
図24のステップS121のメインキャラクタ制御処理の一例を示すフローチャート
【
図26】
図24のステップS122のサブキャラクタ制御処理の一例を示すフローチャート
【発明を実施するための形態】
【0030】
(システム構成)
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(
図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0031】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0032】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。
図1および
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0033】
図3は、本体装置2の一例を示す六面図である。
図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0034】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0035】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0036】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0037】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、
図6に示すスピーカ88)を備えている。
図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0038】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0039】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0040】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0041】
図4は、左コントローラ3の一例を示す六面図である。
図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、
図1および
図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0042】
左コントローラ3は、アナログスティック32を備える。
図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0043】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0044】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0045】
図5は、右コントローラ4の一例を示す六面図である。
図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0046】
右コントローラ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の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
【0047】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0048】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、
図3に示す構成の他、
図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0049】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0050】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0051】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0052】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0053】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0054】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0055】
プロセッサ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は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0056】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0057】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0058】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0059】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0060】
また、本体装置2は、加速度センサ89を備える。本実施形態においては、加速度センサ89は、所定の3軸(例えば、
図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ89は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。
【0061】
また、本体装置2は、角速度センサ90を備える。本実施形態においては、角速度センサ90は、所定の3軸(例えば、
図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ90は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。
【0062】
加速度センサ89および角速度センサ90は、プロセッサ81に接続され、加速度センサ89および角速度センサ90の検出結果は、プロセッサ81へ出力される。プロセッサ81は、上記の加速度センサ89および角速度センサ90の検出結果に基づいて、本体装置2の動きおよび/または姿勢に関する情報を算出することが可能である。
【0063】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0064】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0065】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0066】
左コントローラ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(登録商標)の規格に従って行われる。
【0067】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0068】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0069】
左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、
図4に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ105は、所定の3軸(例えば、
図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
【0070】
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0071】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
【0072】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0073】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0074】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0075】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0076】
(本実施形態のゲームの概要)
次に、ゲームシステム1において行われるゲームの概要について説明する。本実施形態のゲームでは、本体装置2において1つの「村」と呼ばれる仮想空間が形成される。村には、プレイヤに対応するプレイヤキャラクタが配置される。プレイヤは、仮想空間内でプレイヤキャラクタを移動させたり、所定の行動(アクション)を行わせたりすることで、ゲームを行う。
【0077】
例えば、プレイヤキャラクタは、仮想空間内で移動して、他のキャラクタ(本体装置2によって制御されるノンプレイヤキャラクタ)に話しかけることができる。また、プレイヤキャラクタは、所定の行動として、地面を掘ったり、地面に土を盛ったりすることで仮想空間内に新たな地形を形成したり、家を建てたりすることで仮想空間をカスタマイズすることができる。
【0078】
また、プレイヤキャラクタは、複数の装備アイテムを所有することができる。装備アイテムとして、例えば、スコップ、釣り竿、虫取り網、斧等がある。プレイヤキャラクタは、所有している複数の装備アイテムのうちの何れかを装備した状態で、その装備アイテムに応じた行動を行う。例えば、プレイヤキャラクタは、斧を装備し、斧を装備した状態で仮想空間内の木オブジェクトを切り、木を取得することができる。また、プレイヤキャラクタは、装備アイテムとして、釣り竿を装備し、仮想空間内の川や海等で魚釣りを行うことができる。また、プレイヤキャラクタは、装備アイテムとして虫取り網を装備し、虫取り網を用いて虫取りを行うことができる。木を切ったり、魚を釣ったり、虫を取ったりした場合は、その取得した木、魚、虫等の仮想オブジェクトを、そのプレイヤキャラクタの所有物として記憶することができる。また、プレイヤキャラクタは、装備アイテムを装備しなくても、仮想空間の地面に落ちている仮想オブジェクトを拾って自身の所有物とすることもできる。
【0079】
なお、プレイヤキャラクタは、取得した仮想オブジェクトを装備アイテムに交換したり、取得した仮想オブジェクトから装備アイテムを作成したりすることもできる。
【0080】
プレイヤキャラクタが所有する装備アイテムや仮想オブジェクト(取得した木、魚、虫等)に関するデータは、「プレイヤ用セーブデータ」として記憶される。また、プレイヤキャラクタが仮想空間(村)に新たな地形を形成したり、家を建てたりした場合、仮想空間の状態が変化し、仮想空間の状態に関するデータが「共有セーブデータ」として記憶される。
【0081】
「共有セーブデータ」、及び、「プレイヤ用セーブデータ」は、本体装置2のフラッシュメモリ84に記憶される。プレイヤがゲームを一旦終了し、ゲームを再開する場合、フラッシュメモリ84に記憶された「共有セーブデータ」、及び、「プレイヤ用セーブデータ」が読み込まれる。これにより、セーブデータとして記憶された状態からゲームを再開することができる。
【0082】
「共有セーブデータ」、及び、「プレイヤ用セーブデータ」は、ゲーム中の所定のタイミングで更新される。例えば、プレイヤキャラクタが装備アイテムを新たに取得した場合や、魚等の仮想オブジェクトを取得した場合には、その取得した装備アイテムや仮想オブジェクトに関するデータが、それを取得したタイミングで、プレイヤ用セーブデータとしてフラッシュメモリ84に記憶される。また、プレイヤキャラクタが仮想空間に落ちている仮想オブジェクトを拾ったり、仮想空間に穴を掘ったりすることによって仮想空間の状態が変化した場合には、その変化のタイミングで、仮想空間の状態を示すデータが共有セーブデータとしてフラッシュメモリ84に記憶される。なお、セーブデータとしてフラッシュメモリ84に記憶されるタイミングは、どのようなタイミングでもよい。例えば、ゲーム中に仮想空間の状態が変化した場合や、プレイヤキャラクタの状態が変化した場合(例えば、所有物が変化した場合)、その変化した状態は一時的にDRAM85に記憶され、ゲームが終了するタイミングやゲームにおけるシーンが変化するタイミングで、その状態がセーブデータとしてフラッシュメモリ84に保存されてもよい。また、プレイヤの指示に応じて、一時的にDRAM85に記憶された情報が、セーブデータとしてフラッシュメモリ84に保存されてもよい。
【0083】
ゲームシステム1は、一人のプレイヤによって使用される場合と、例えば、家族など複数のプレイヤによって共用される場合とがある。一人のプレイヤがゲームシステム1を使用して上記ゲームを行う場合、本体装置2には、1つの「共有セーブデータ」と、1つの「プレイヤ用セーブデータ」とが記憶される。この場合、仮想空間には、1のプレイヤキャラクタが存在する。
【0084】
複数のプレイヤがゲームシステム1を共用して上記ゲームを行う場合、本体装置2には、1つの「共有セーブデータ」と、複数のプレイヤのそれぞれに対応する「プレイヤ用セーブデータ」とが記憶される。この場合、「共有セーブデータ」によって形成される仮想空間内において、全てのプレイヤがゲームをプレイすることになる。すなわち、各プレイヤは、同じ仮想空間において自身のプレイヤキャラクタを移動させたり、所定の行動を行わせたりする。
【0085】
図8は、ゲームシステム1の本体装置2に記憶されるセーブデータの一例を示す図である。
図8に示すように、本体装置2のフラッシュメモリ84には、共有セーブデータ領域840と、プレイヤ用セーブデータ領域841とが設けられる。共有セーブデータ領域840には、1つの「共有セーブデータ」が記憶される。「共有セーブデータ」は、仮想空間に関するデータであり、例えば、地形、家や木等の仮想空間に配置されたオブジェクトに関するデータ(例えば、オブジェクトの形状や位置等に関するデータ)を含む。「共有セーブデータ」は、複数のプレイヤに共有されるデータである。
【0086】
プレイヤ用セーブデータ領域841には、1又は複数のプレイヤ用セーブデータが記憶される。例えば、本体装置2において、プレイヤAおよびプレイヤBのアカウントが登録されており、プレイヤAおよびプレイヤBが本実施形態のゲームをプレイしたとする。この場合、プレイヤ用セーブデータとして、プレイヤA用セーブデータと、プレイヤB用セーブデータとが記憶される。なお、本実施形態では、本体装置2は、例えば最大で8つのプレイヤ用セーブデータを記憶することができる。
【0087】
各プレイヤ用セーブデータは、プレイヤキャラクタデータと、装備アイテムデータと、仮想オブジェクトデータとを含む。プレイヤキャラクタデータは、プレイヤキャラクタの名前、顔、体型、服装等に関するデータである。プレイヤは、本実施形態のゲームを開始する際に、自身のプレイヤキャラクタを作成する。作成されたプレイヤキャラクタは、そのプレイヤのセーブデータとしてフラッシュメモリ84に記憶される。また、装備アイテムデータは、そのプレイヤキャラクタが所有している1又は複数の装備アイテム(例えば、スコップ、釣り竿、虫取り網、斧等)を示すデータである。また、仮想オブジェクトデータは、ゲーム中にプレイヤキャラクタが装備アイテムを用いて取得した仮想オブジェクトに関するデータであり、例えば、上記魚や虫、木等の仮想オブジェクトに関するデータである。
【0088】
本実施形態では、複数のプレイヤがゲームシステム1を共用する場合でも、基本的に、一人のプレイヤが、左右のコントローラを本体装置2に装着した状態(
図1)、又は、左右のコントローラを本体装置2から分離した状態で、左右のコントローラを用いてゲームを行う。すなわち、各プレイヤは、基本的にはシングルプレイモードでゲームをプレイする。シングルプレイモードでは、例えばプレイヤAがゲームをプレイしているときは、プレイヤA以外のプレイヤはゲームをプレイしない。
【0089】
図9は、プレイヤAがシングルプレイモードでゲームを行っているときのゲーム画像の一例を示す図である。
【0090】
プレイヤAは左コントローラ3および右コントローラ4を用いてゲームを行う。例えば、プレイヤAは、本体装置2に左コントローラ3および右コントローラ4を装着してゲームを行ってもよい。この場合、プレイヤAは、ディスプレイ12に表示されたゲーム画像を見ながらゲームを行う。また、プレイヤAは、
図9に示すように、左コントローラ3および右コントローラ4を本体装置2から切り離して固定装置350に固定し、ゲームを行ってもよい。この場合、プレイヤAは、ディスプレイ12又は据置型モニタに表示されたゲーム画像を見ながらゲームを行う。
【0091】
プレイヤAがゲームを開始する場合、本体装置2から共有セーブデータおよびプレイヤA用セーブデータが読み込まれる。例えば、
図9に示すように、仮想空間には地面オブジェクト75が配置され、地面オブジェクト75上に、木オブジェクト78が配置されている。また、仮想空間には、川オブジェクト76が配置されている。これらの仮想空間を形成するオブジェクトは、共有セーブデータに基づいて生成される。
【0092】
また、地面オブジェクト75上には、プレイヤAに対応するプレイヤキャラクタ70Aが配置される。プレイヤキャラクタ70Aは、プレイヤA用セーブデータに基づいて生成される。プレイヤキャラクタ70Aは、プレイヤAによって作成された(カスタマイズされた)キャラクタであり、プレイヤAによる左右のコントローラに対する操作に応じて制御される。プレイヤAがシングルプレイモードでゲームをプレイする場合、プレイヤキャラクタとして、プレイヤキャラクタ70Aのみが仮想空間に登場する。なお、プレイヤAによるシングルプレイモードでのゲーム中に、本体装置2によって制御される他のキャラクタ(ノンプレイヤキャラクタ)が、仮想空間に登場する場合がある。
【0093】
プレイヤAは、左コントローラ3及び右コントローラ4を操作して仮想空間においてプレイヤキャラクタ70Aを移動させたり、プレイヤキャラクタ70Aに所定の行動(アクション)を行わせたりする。シングルプレイモードでは、仮想空間に配置された仮想カメラは、プレイヤキャラクタの背後の所定位置に設定され、プレイヤキャラクタの移動に応じて仮想カメラも移動する。
【0094】
以下、シングルプレイモードにおける左右のコントローラを用いた操作の一例について説明する。
【0095】
図10は、シングルプレイモードにおける左右のコントローラの各キーの割り当ての一例を示す図である。
図10に示すように、例えば、左コントローラ3のアナログスティック32は、プレイヤキャラクタの移動方向を指定するために用いられる。また、左コントローラ3の右方向ボタン33は、装備アイテムメニューを表示させるために用いられる。装備アイテムメニューは、プレイヤキャラクタが所有している装備アイテムの一覧を表示し、一覧の中から装備アイテムを選択したりするために用いられる。また、左コントローラ3の下方向ボタン34および上方向ボタン35は、プレイヤキャラクタに装備させる装備アイテムを変更するために用いられ、下方向ボタン34又は上方向ボタン35が押下されると、プレイヤキャラクタが装備する装備アイテムが順に変更される。また、左コントローラ3の左方向ボタン36は、装備アイテムをしまう(プレイヤキャラクタが装備アイテムを装備しないようにする)ために用いられる。
【0096】
また、右コントローラ4のアナログスティック52は、仮想カメラの位置および姿勢を制御するために用いられる。例えば、仮想カメラは、アナログスティック52に対する操作に応じて、プレイヤキャラクタを向きながらプレイヤキャラクタを中心として仮想空間の上方向に移動可能に構成されている。仮想カメラの位置及び姿勢が変更されても、仮想カメラの視野内にはプレイヤキャラクタが存在するようになる。
【0097】
右コントローラ4のAボタン53は、装備アイテムに応じた行動をプレイヤキャラクタに行わせるために用いられる。また、右コントローラ4のBボタン54は、プレイヤキャラクタにダッシュを行わせるために用いられる。Bボタン54が押下されながらアナログスティック32が傾倒された場合、アナログスティック32の傾倒方向にプレイヤキャラクタがダッシュで移動する。Bボタン54が押下されていない状態でアナログスティック32が傾倒された場合、プレイヤキャラクタは、アナログスティック32の傾倒方向に歩いて移動する。また、右コントローラ4のXボタン55は、仮想オブジェクトメニューを表示させるために用いられる。仮想オブジェクトメニューは、プレイヤキャラクタがゲーム中に取得した仮想オブジェクト(取得した魚や虫、木等)の一覧を表示したり、仮想オブジェクトを選択したり、選択した仮想オブジェクトを他のオブジェクト(例えば、装備アイテム)に交換したりするために用いられる。また、右コントローラ4のYボタン56は、プレイヤキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせるために用いられる。
【0098】
なお、
図10に示したキー割り当ては単なる一例であり、左右のコントローラの各キーと、そのキーに対応するゲーム制御の割り当ては適宜変更されてもよい。
【0099】
例えば、プレイヤAが仮想空間内でゲームを行い、仮想空間の状態が変化すると、その状態が共有セーブデータとして本体装置2に記憶される。例えば、プレイヤAがゲーム中に、仮想空間の所定位置に家オブジェクト77を建設した場合、その情報が共有セーブデータとして記憶される。
【0100】
プレイヤAがゲームを終了した後、例えば、プレイヤBがゲームシステム1を用いてゲームを開始することができる。このとき、本体装置2に記憶された共有セーブデータおよびプレイヤB用セーブデータが読み込まれる。共有セーブデータおよびプレイヤB用セーブデータが読み込まれると、プレイヤBに対応するプレイヤキャラクタ70Bが仮想空間に出現する。これにより、プレイヤAがゲームを終了したときの仮想空間の状態で、プレイヤBによるゲームが開始される。プレイヤBがシングルプレイモードでゲームをプレイする場合も、上記と同様である。
【0101】
(マルチプレイモード)
本実施形態のゲームでは、各プレイヤは基本的に、ゲームシステム1を用いてシングルプレイモードでゲームをプレイするが、同時に複数のプレイヤでゲームを行うマルチプレイモードでもゲームを行うことができる。
【0102】
例えば、プレイヤAがシングルプレイモードでゲームをプレイしているときに、プレイヤAの所定の操作によって、他のプレイヤのプレイヤキャラクタを呼び出すことができる。例えば、プレイヤAがゲームのプレイ中に、プレイヤBを呼ぶ操作を行った場合、プレイヤBのプレイヤキャラクタ70Bが仮想空間に追加される。プレイヤAは、シングルプレイ中に自身が使用していた左右のコントローラのうち、例えば、右コントローラ4をプレイヤBに渡す。以降のマルチプレイモードにおいては、プレイヤAは、左コントローラ3を用いて自身のプレイヤキャラクタ70Aを操作し、プレイヤBは、右コントローラ4を用いて自身のプレイヤキャラクタ70Bを操作する。
【0103】
図11は、プレイヤA及びBがマルチプレイモードでゲームを行っているときのゲーム画像の一例を示す図である。
【0104】
マルチプレイモードでも、シングルプレイモードと同様に1つの仮想カメラから仮想空間を見たゲーム画像が生成され、当該ゲーム画像が一画面に表示される。マルチプレイモードでは、現在仮想空間に存在する複数のプレイヤキャラクタのうちの1のプレイヤキャラクタがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定される。具体的には、初期的には、呼び出した側のプレイヤキャラクタがメインキャラクタに設定され、呼び出された側のプレイヤキャラクタは、サブキャラクタに設定される。
【0105】
例えば、プレイヤAがシングルプレイモードでゲームをプレイ中に、プレイヤBに対応するプレイヤキャラクタ70Bを呼び出した場合、プレイヤAに対応するプレイヤキャラクタ70Aがメインキャラクタとして設定され、プレイヤBに対応するプレイヤキャラクタ70Bがサブキャラクタとして設定される。さらにプレイヤCに対応するプレイヤキャラクタ70Cが呼び出された場合は、プレイヤキャラクタ70Cもサブキャラクタとして設定される。
【0106】
メインキャラクタであるプレイヤキャラクタ70Aには、現在メインキャラクタに設定されていることを示す旗オブジェクト71が付加される。
【0107】
プレイヤAは、メインキャラクタであるプレイヤキャラクタ70Aに対して、シングルプレイモードにおける操作と同様の操作が可能である。すなわち、プレイヤAは、プレイヤキャラクタ70Aを、仮想空間内で移動(歩き又はダッシュ)させたり、装備アイテムを用いて所定の行動を行わせたりすることができる。また、プレイヤAは、プレイヤキャラクタ70Aに装備させる装備アイテムを選択したり、仮想空間に落ちているものを拾ったりすることができる。また、プレイヤAは、仮想カメラを制御することもできる。なお、マルチプレイモードにおけるキー割り当てについては後述する。
【0108】
また、プレイヤBは、サブキャラクタであるプレイヤキャラクタ70Bを、仮想空間内で移動(歩き又はダッシュ)させたり、装備アイテムを用いて所定の行動を行わせたりすることができる。しかしながら、サブキャラクタに対する操作は制限される。例えば、プレイヤBは、サブキャラクタであるプレイヤキャラクタ70Bに装備させる装備アイテムを選択することはできない。また、プレイヤキャラクタ70Bの移動範囲は制限される。以下、マルチプレイモードにおけるメインキャラクタおよびサブキャラクタの制御について説明する。
【0109】
図12は、メインキャラクタであるプレイヤキャラクタ70Aが、
図11に示す状態から仮想空間の左方向に移動した後のゲーム画像の一例を示す図である。
【0110】
図12に示すように、メインキャラクタであるプレイヤキャラクタ70Aが仮想空間の左方向に移動した場合、仮想カメラの視野内にメインキャラクタが入るように仮想カメラが制御される。メインキャラクタとサブキャラクタとの距離が所定以下である場合、メインキャラクタ及びサブキャラクタの両方が仮想カメラの視野に含まれるように、仮想カメラが制御される。具体的には、仮想カメラの注視点が、メインキャラクタとサブキャラクタとの中点(中心位置)に設定され、仮想カメラの視野にメインキャラクタが含まれるように、仮想カメラが移動される。なお、複数のサブキャラクタが仮想空間に存在する場合、仮想カメラの注視点は、メインキャラクタと複数のサブキャラクタとの中心位置に設定される。メインキャラクタと複数のサブキャラクタとの中心位置は、各プレイヤキャラクタの座標値に基づいて算出される。
【0111】
図13は、
図12に示す状態からプレイヤキャラクタ70Aがさらに左方向に移動した後のゲーム画像の一例を示す図である。
【0112】
図13に示すように、
図12に示す状態からメインキャラクタがさらに左方向に移動した場合、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラが仮想空間の左方向に移動する。すなわち、仮想カメラは、常にメインキャラクタが視野内に含まれるように、メインキャラクタに追従して移動する。仮想カメラの視野内に常にメインキャラクタが含まれるのであれば、仮想カメラの位置を決定する方法はどのようなものでもよい。例えば、メインキャラクタとサブキャラクタとの中心位置に仮想カメラの注視点を設定した場合にメインキャラクタが仮想カメラの視野内に入るか否かを判定し、メインキャラクタが仮想カメラの視野内に入らない場合は、仮想カメラの注視点とメインキャラクタとの距離が所定以内となるように、仮想カメラの注視点をメインキャラクタ側に設定してもよい。また、メインキャラクタとサブキャラクタとの中心位置を算出し、当該中心位置がメインキャラクタから所定以上離れているか否かを判定し、中心位置がメインキャラクタから所定以上離れている場合は、仮想カメラの注視点とメインキャラクタとの距離が所定以内となるように、仮想カメラの注視点をメインキャラクタ側に設定してもよい。
【0113】
一方、サブキャラクタについては、メインキャラクタからの距離が所定以上となり、サブキャラクタであるプレイヤキャラクタ70Bは、仮想カメラの視野外に出る。プレイヤキャラクタ70Bが仮想カメラの視野外に出た場合、
図13に示すように、プレイヤキャラクタ70Bの位置を示唆する位置示唆画像72が表示される。位置示唆画像72によって示される方向にプレイヤキャラクタ70Bが存在している。この位置示唆画像72には、プレイヤキャラクタ70Bを模した画像が含まれてもよい。サブキャラクタであるプレイヤキャラクタ70Bが、仮想カメラの視野外に出てから所定時間(例えば、5秒)が経過すると、プレイヤキャラクタ70Bは、仮想カメラの視野内の所定位置に瞬間的に移動(ワープ)する。
【0114】
図14は、サブキャラクタであるプレイヤキャラクタ70Bが仮想カメラの視野外に出た後、仮想カメラの視野内にワープしたときのゲーム画像の一例を示す図である。
【0115】
図14に示すように、サブキャラクタが仮想カメラの視野外に出てから所定時間が経過すると、サブキャラクタは、仮想カメラの視野内(メインキャラクタの近傍)に瞬間的に移動する。
図14に示すゲーム画像の後、仮想カメラの注視点がメインキャラクタとサブキャラクタとの中点に設定される。
【0116】
なお、サブキャラクタが仮想カメラの視野外に出てから所定時間が経過するまでは、サブキャラクタはプレイヤの操作に応じて移動可能であり、プレイヤによって仮想カメラの視野内への方向が指示された場合には、サブキャラクタは自ら仮想カメラの視野内に戻る。
【0117】
このように、マルチプレイモードにおいて、メインキャラクタは、シングルプレイモードと同様に、仮想空間内を自由に移動することができ、メインキャラクタの移動に追従して仮想カメラも移動する。メインキャラクタおよびサブキャラクタが仮想カメラの視野内に含まれるように、仮想カメラが移動する。仮想カメラの移動によってサブキャラクタが視野内に含まれなくなる場合、メインキャラクタを優先して、メインキャラクタが視野内に含まれるように仮想カメラが制御される。サブキャラクタが仮想カメラの視野外に出た場合、仮想カメラの視野内にサブキャラクタが含まれるように、サブキャラクタが移動する。
【0118】
次に、サブキャラクタの移動について説明する。
図15は、
図11に示す状態からサブキャラクタであるプレイヤキャラクタ70Bが仮想空間の左方向に移動した後のゲーム画像の一例を示す図である。
【0119】
図15に示すように、
図11に示す状態からプレイヤBがアナログスティック52の左方向を入力すると、サブキャラクタであるプレイヤキャラクタ70Bが仮想空間内で移動する。サブキャラクタが仮想空間内で移動した場合も、メインキャラクタとサブキャラクタとの距離が所定以下である場合、仮想カメラの注視点がメインキャラクタとサブキャラクタとの中点に位置するように、仮想カメラが制御される。
図11と
図15とを比較すると、家オブジェクト77は画面の右方向に移動しており、仮想カメラは仮想空間内で左方向に移動していることが分かる。
【0120】
図15に示す状態からプレイヤBがアナログスティック52の左方向を入力し、サブキャラクタがさらに左方向に移動すると、その移動に応じて仮想カメラも左方向に移動する。
【0121】
図16は、
図15に示す状態からサブキャラクタがさらに左方向に移動した後のゲーム画像の一例を示す図である。
図16に示すように、サブキャラクタが画面の左端まで移動した場合、さらにプレイヤBが左方向を入力しても、サブキャラクタはそれ以上左方向に移動しない。また、仮想カメラもそれ以上左方向に移動しない。すなわち、サブキャラクタが画面の端に表示されている場合、サブキャラクタが画面から出る方向への入力が行われても、サブキャラクタはそれ以上移動しない。
【0122】
つまり、サブキャラクタは、サブキャラクタに対する操作によっては、仮想カメラの視野外には移動しない。しかしながら、
図13で示したように、サブキャラクタは、メインキャラクタに対する操作によっては、仮想カメラの視野外に移動することはある。
【0123】
次に、メインキャラクタ及びサブキャラクタが装備アイテムを装備し、装備アイテムに対応する行動を行うことについて説明する。
図17は、メインキャラクタ及びサブキャラクタが装備アイテムとして釣り竿を装備している様子の一例を示す図である。
【0124】
メインキャラクタであるプレイヤキャラクタ70Aは、複数の装備アイテムを所有しており、そのうちの1つとして釣り竿73を所有している。プレイヤAが、左コントローラ3を用いて釣り竿73を選択する操作を行うと、プレイヤキャラクタ70Aは、釣り竿73を装備する。この釣り竿73の装備により、釣り竿73に応じた行動(魚釣り)が選択されたことになる。プレイヤキャラクタ70Aが釣り竿73を装備すると、サブキャラクタであるプレイヤキャラクタ70Bも、同じ釣り竿73を装備する。
【0125】
具体的には、プレイヤキャラクタ70Bが釣り竿を所有している場合、プレイヤキャラクタ70Aによる釣り竿73の装備に応じて、プレイヤキャラクタ70Bも同じ釣り竿73を装備する。このプレイヤキャラクタ70Bが装備する釣り竿73は、プレイヤキャラクタ70Bが所有する装備アイテムであり、プレイヤB用のセーブデータに記憶されているアイテムである。プレイヤキャラクタ70Bが釣り竿を所有していない場合は、プレイヤキャラクタ70Aが釣り竿73を装備しても、プレイヤキャラクタ70Bは何れの装備アイテムも装備しない。
【0126】
釣り竿73を装備したプレイヤキャラクタ70Aおよびプレイヤキャラクタ70Bは、プレイヤAおよびプレイヤBのそれぞれの操作に応じて魚釣りを行う。例えば、プレイヤキャラクタ70Aが川オブジェクト76の中にいる魚オブジェクト74を向いているときに、所定の操作が行われた場合、プレイヤキャラクタ70Aが釣り竿73を投げる動作を行い、魚オブジェクト74を釣る。すると、当該魚オブジェクト74は、プレイヤキャラクタ70Aの所有する仮想オブジェクトとして、プレイヤA用セーブデータに記憶される。このように、メインキャラクタおよびサブキャラクタは、メインキャラクタのプレイヤの操作に応じて、同じ装備アイテムを装備し、装備アイテムに関連付けられた同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有し、連帯感を持たせることができる。
【0127】
なお、メインキャラクタに対応するプレイヤは、プレイヤキャラクタにどの装備アイテムを装備させるかを選択することはできるが、サブキャラクタに対応するプレイヤは、装備アイテムを選択することはできない。
【0128】
また、マルチプレイモードにおいても、メインキャラクタは、例えば、所有している仮想オブジェクトから装備アイテムを作成したり、仮想オブジェクトを装備アイテムと交換したりすることができる。しかしながら、サブキャラクタは、装備アイテムの作成や交換を行うことはできない。
【0129】
このように、メインキャラクタは、移動、装備アイテムの選択、装備アイテムに対応する行動等を行うことができる。一方、サブキャラクタは、移動および装備アイテムに対応する行動を行うことができるが、装備アイテムを選択することはできない。また、サブキャラクタの移動範囲も、メインキャラクタの位置に基づいて制限される。
【0130】
なお、同じ行動に関連付けられた装備アイテムに、機能や性能、効果の異なる複数のバージョンがあってもよい。例えば、メインキャラクタが所定の行動に関連付けられた第1のバージョンの装備アイテムを所有しており、メインキャラクタが当該第1のバージョンの装備アイテムを装備した場合、サブキャラクタが、所有している同じ行動に関連付けられた第2のバージョンの装備アイテムを装備してもよい。例えば、装備アイテムとして、金の斧と銀の斧とがあるとする。金の斧と銀の斧とは、共に同じ行動(木を切る行動)に関連付けられている装備アイテムである。メインキャラクタが金の斧を所有しており、サブキャラクタが銀の斧を所有している場合、メインキャラクタが金の斧を装備したことに応じて、サブキャラクタが銀の斧を装備してもよい。すなわち、メインキャラクタが所定の装備アイテム(金の斧)を装備することによって、実行可能な行動として木を切る行動を選択した場合、サブキャラクタが同じ行動(木を切る行動)に関連付けられた装備アイテム(銀の斧)を所有している場合には、サブキャラクタは、その同じ行動に関連付けられた装備アイテム(銀の斧)を装備してもよい。
【0131】
また、サブキャラクタがその装備アイテムを所有しているか否かに関わらず、サブキャラクタに、メインキャラクタと同じ装備アイテム(又は、同じ行動に関連付けられた装備アイテム)を装備させてもよい。これにより、サブキャラクタがメインキャラクタと同じ行動を実行可能にしてもよい。
【0132】
また、メインキャラクタとサブキャラクタとで異なる装備アイテムを装備可能であってもよい。例えば、プレイヤAの操作に応じてメインキャラクタであるプレイヤキャラクタ70Aに釣り竿を装備させ、プレイヤBの操作に応じてサブキャラクタであるプレイヤキャラクタ70Bにスコップを装備させてもよい。この場合、プレイヤキャラクタ70Aおよびプレイヤキャラクタ70Bは、互いに異なる行動を実行可能となる。また、サブキャラクタが、メインキャラクタの装備する装備アイテムと同じ装備アイテムを所有している場合には、サブキャラクタに同じ装備アイテムを装備させ、サブキャラクタが同じ装備アイテムを所有していない場合には、所有している異なる装備アイテムをサブキャラクタに装備させてもよい。
【0133】
(メインキャラクタとサブキャラクタの切り替え)
本実施形態では、メインキャラクタに対応するプレイヤの操作に応じて、メインキャラクタとサブキャラクタとを切り替えることができる。すなわち、メインキャラクタとして設定されているプレイヤキャラクタをサブキャラクタに、サブキャラクタとして設定されているプレイヤキャラクタをメインキャラクタに切り替えることができる。
図18は、メインキャラクタをプレイヤキャラクタ70Aからプレイヤキャラクタ70Bに切り替えた後のゲーム画像の一例を示す図である。
【0134】
例えば、プレイヤキャラクタ70Aがメインキャラクタに設定されている場合、プレイヤキャラクタ70Aに対応する左コントローラ3に対する所定の指示操作(例えばマイナスボタン47の押下)が行われると、メインキャラクタをどのプレイヤキャラクタに切り替えるかを選択するための画像が表示される。このとき、プレイヤBが右コントローラ4を用いてメインキャラクタへの切り替えのための所定の操作を行う。すると、プレイヤBに対応するプレイヤキャラクタ70Bがメインキャラクタに設定され、プレイヤキャラクタ70Aはサブキャラクタに設定される。以降、プレイヤキャラクタ70Bはメインキャラクタとして制御され、プレイヤキャラクタ70Aは、サブキャラクタとして制御される。具体的には、上記と同様に、プレイヤキャラクタ70Bが常に仮想カメラの視野内に入るように仮想カメラが制御される。また、プレイヤキャラクタ70Bが装備アイテムを装備した場合には、同じ装備アイテムをプレイヤキャラクタ70Aが所有している場合、プレイヤキャラクタ70Aも同じ装備アイテムを装備することになる。
【0135】
プレイヤキャラクタ70Bがメインキャラクタに、プレイヤキャラクタ70Aがサブキャラクタに設定された状態で、メインキャラクタに対応するプレイヤBの操作に基づいてマルチプレイモードの終了が指示された場合、シングルプレイモードに戻る。このとき、プレイヤキャラクタ70Bによるシングルプレイモードでのゲームが再開される。
【0136】
(マルチプレイモードにおけるキー割り当て)
次に、マルチプレイモードにおける各コントローラのキー割り当てについて説明する。上述のように、シングルプレイモードでは、プレイヤは基本的に左右両方のコントローラを用いてゲームを行う。一方、マルチプレイモードでは、各プレイヤは、左右何れかのコントローラを用いてゲームを行う。例えば、プレイヤAは、左コントローラ3を用いてメインキャラクタとして設定されているプレイヤキャラクタ70Aを操作する。また、プレイヤBは、右コントローラ4を用いてサブキャラクタとして設定されているプレイヤキャラクタ70Bを操作する。
【0137】
マルチプレイモードでは、各プレイヤは、左右何れかのコントローラを用いてゲームを行うため、マルチプレイモードにおいて、シングルプレイモードにおけるキーと同じキーをゲーム操作に割り当てることはできない。本実施形態では、マルチプレイモードにおけるメインキャラクタについて、コントローラの操作モードを第1モード(デフォルトのモード)と第2モード(切り替え後のモード)とで切り替えるようにする。
【0138】
図19は、メインキャラクタに対応するコントローラが左コントローラ3である場合のメインキャラクタのキー割り当て(第1モード)の一例を示す図である。
【0139】
シングルプレイモードからマルチプレイモードに切り替えられた場合、デフォルトでは、コントローラの操作モードは第1モードとなる。
図19に示すように、第1モードでは、左コントローラ3のアナログスティック32は、メインキャラクタの移動方向の指定に用いられる。また、左コントローラ3の下方向ボタン34は、装備アイテムに対応する行動をプレイヤキャラクタに行わせるために用いられる。左コントローラ3の左方向ボタン36は、プレイヤキャラクタにダッシュを行わせるために用いられる。また、左コントローラ3の右方向ボタン33は、仮想オブジェクトメニューを表示させるために用いられる。また、左コントローラ3の上方向ボタン35は、プレイヤキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせるために用いられる。
【0140】
左コントローラ3の操作モードが第1モードである場合において、所定の切替操作(例えば、アナログスティック32を押下する操作)が行われた場合、左コントローラ3の操作モードが第2モードに切り替わる。
【0141】
図20は、メインキャラクタに対応するコントローラが左コントローラ3である場合のメインキャラクタのキー割り当て(第2モード)の一例を示す図である。
【0142】
図20に示すように、第2モードでは、左コントローラ3のアナログスティック32は、仮想カメラの位置および姿勢を制御するために用いられる。また、左コントローラ3の左方向ボタン36および右方向ボタン33は、プレイヤキャラクタに装備させる装備アイテムを変更するために用いられる。左コントローラ3の上方向ボタン35は、装備アイテムをしまう(プレイヤキャラクタが装備アイテムを装備しないようにする)ために用いられる。また、左コントローラ3の下方向ボタン34は、装備アイテムメニューを表示させるために用いられる。
【0143】
なお、コントローラの操作モードが第1モードであるときと、第2モードであるときとでは、メインキャラクタの表示態様が異なり、これによりプレイヤは、現在どのモードかを判別することができる。
【0144】
図19及び
図20から明らかなように、マルチプレイモードにおいても、プレイヤは、メインキャラクタに対してシングルプレイモードと同じ操作を行うことができる。
図10に示すシングルプレイモードにおけるキー割り当てと、
図19及び
図20に示すマルチプレイモードにおけるキー割り当てとを比較すると、マルチプレイモードにおいて操作モードが第1モードに設定されている場合には、左コントローラ3のアナログスティック32、ボタン34,36,33,35は、シングルプレイモードにおける左コントローラ3のアナログスティック32、右コントローラ4のボタン53~56にそれぞれ対応する。また、マルチプレイモードにおいて操作モードが第2モードに設定されている場合には、左コントローラ3のアナログスティック32、ボタン34,36,33,35は、シングルプレイモードにおける右コントローラ4のアナログスティック52、左コントローラ3のボタン33~36にそれぞれ対応する。
【0145】
シングルプレイモードでは、左コントローラ3及び右コントローラ4は縦長の姿勢でプレイヤに把持されるが(
図9参照)、マルチプレイモードでは、左コントローラ3は横長の姿勢でプレイヤに把持される(
図11)。コントローラを縦長の姿勢で把持するときと横長の姿勢で把持するときとでは、ボタン33~36のプレイヤからの見た目上の配置が異なる。このため、プレイヤから見たときのキーの配置がシングルプレイモードとマルチプレイモードとで同じになるように、各キーにゲーム操作が割り当てられる。例えば、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、シングルプレイモードでもマルチプレイモードでも、プレイヤから見て右側のボタンである。具体的には、シングルプレイモードでは、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、右コントローラ4のAボタン53(右手で押下されるボタンのうち最も右側のボタン)である。マルチプレイモードでは、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、左コントローラ3の下方向ボタン34(右手で押下されるボタンのうち最も右側のボタン)である。
【0146】
このように、マルチプレイモードにおいては、1つのコントローラの操作モードを第1モードと第2モードとに切り替えて、異なるゲーム制御が行われる。例えば、第1モードでは、ゲーム制御として、プレイヤキャラクタに対する移動制御、プレイヤキャラクタに装備アイテムに応じた行動を行わせる制御、プレイヤキャラクタが所有している仮想オブジェクトに対する制御が行われる。また、第2モードでは、ゲーム制御として、仮想カメラに対する制御、プレイヤキャラクタに装備させる装備アイテムを選択する制御が行われる。これにより、プレイヤが行えるゲーム制御の種類に対してコントローラのキーの数が少なくても、プレイヤは、様々なゲーム制御を行うことができる。なお、シングルプレイモードにおいても、1つのコントローラの操作モードを第1モードと第2モードとで切り替えて、異なるゲーム制御を行ってもよい。
【0147】
図21は、サブキャラクタに対応するコントローラが右コントローラ4である場合のサブキャラクタのキー割り当ての一例を示す図である。
【0148】
図21に示すように、例えば右コントローラ4のアナログスティック52は、サブキャラクタの移動方向の指定に用いられる。また、右コントローラ4のXボタン55は、装備アイテムに対応する行動をプレイヤキャラクタに行わせるために用いられる。右コントローラ4のAボタン53は、プレイヤキャラクタにダッシュを行わせるために用いられる。
【0149】
また、右コントローラ4のBボタン54は、サブキャラクタの近傍に所定画像を再表示させるために用いられる。この所定画像は、例えば、プレイヤキャラクタの感情を表現するための画像であり、予め複数用意される。
【0150】
プレイヤは、メニューから選択してプレイヤキャラクタの近傍に所定画像を表示させることができる。例えば、コントローラの所定のボタン(例えば、第2Rボタン44、又は、第2Rボタン66)が押下されると、所定画像を選択するためのメニューが表示され、当該メニューにおいて複数の所定画像の中から何れかが選択されると、選択された所定画像がプレイヤキャラクタの近傍に表示される。当該メニューから所定画像を選択して表示させる操作は、シングルプレイモードでも、マルチプレイモードにおけるメインキャラクタ及びサブキャラクタでも可能である。マルチプレイモードにおけるサブキャラクタに対する操作として、Bボタン54が押下された場合、直前にメニューから選択された所定画像が再表示される。この所定画像の再表示のためのボタンは、サブキャラクタに対してのみ割り当てられる。すなわち、マルチプレイモードにおけるメインキャラクタについては、所定画像の再表示のためのボタンは割り当てられない。また、シングルプレイモードにおいても、所定画像の再表示のためのボタンは割り当てられない。
【0151】
なお、
図19及び
図20では、左コントローラ3を用いてメインキャラクタを操作する例について示したが、右コントローラ4を用いてメインキャラクタを操作する場合も、キーの割り当ては同じである。すなわち、
図19及び
図20の左コントローラ3のアナログスティック32、ボタン33~36は、右コントローラ4のアナログスティック52、ボタン53~56にそれぞれ置き換えられる。また、
図21では、右コントローラ4を用いてサブキャラクタを操作する例について示したが、左コントローラ3を用いてサブキャラクタを操作する場合も、キーの割り当ては同じである。すなわち、
図21の右コントローラ4のアナログスティック52、ボタン53~56は、左コントローラ3のアナログスティック32、ボタン33~36にそれぞれ置き換えられる。
【0152】
また、上記では二人でマルチプレイゲームを行う場合について説明したが、本実施形態では、最大で4人まで同時にゲームを行うことができる。例えば、4人でマルチプレイゲームを行う場合、2台の左コントローラ3と、2台の右コントローラ4とが本体装置2に無線で接続される。各コントローラに対して1のプレイヤキャラクタが対応付けられ、各コントローラに対する操作に応じて、対応するプレイヤキャラクタが制御される。4つのプレイヤキャラクタのうちの何れかがメインキャラクタに、それ以外の3つのプレイヤキャラクタがサブキャラクタに設定される。
【0153】
以上のように、本実施形態のゲームでは、プレイヤは、シングルプレイモードでゲームを行っているときに、他のプレイヤの呼び出しを行うことができる。他のプレイヤの呼び出しを行った場合、初期的には、呼び出した側のプレイヤキャラクタが、メインキャラクタに設定され、呼び出された側のプレイヤキャラクタがサブキャラクタに設定される。仮想空間には、メインキャラクタとサブキャラクタが配置され、メインキャラクタとサブキャラクタとが仮想カメラの視野内に含まれるように、制御される。具体的には、仮想カメラは、メインキャラクタに追従して移動し、常に仮想カメラの視野内にメインキャラクタが含まれるように制御される。また、仮想カメラの視野外にサブキャラクタが出た場合、仮想カメラの視野内にサブキャラクタが移動する。
【0154】
また、メインキャラクタは、プレイヤの操作に応じて装備アイテムを選択することで、装備アイテムに対応する行動を実行可能となる。サブキャラクタにメインキャラクタと同じ装備アイテム、又は、同じ行動に関連付けられた装備アイテムを装備させることで、サブキャラクタは、メインキャラクタと同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有することができる。
【0155】
(ゲーム処理の詳細)
次に、本体装置2において行われるゲーム処理の一例について具体的に説明する。まず、本体装置2に記憶されるデータについて説明する。
【0156】
図22は、本体装置2(のDRAM85又はフラッシュメモリ84)に記憶されるデータの一例を示す図である。なお、以下では、プレイヤAおよびプレイヤBの二人でマルチプレイゲームを行う場合について説明する。
【0157】
図22に示すように、本体装置2には、ゲームプログラムと、共有セーブデータと、プレイヤAデータと、プレイヤBデータと、仮想カメラデータとが記憶される。これらの他にも、ゲームに必要な様々なデータが記憶される。
【0158】
ゲームプログラムは、本実施形態のゲーム処理を実行するためのプログラムである。ゲームプログラムは、例えば外部記憶媒体に記憶されており、ゲームが開始されると、外部記憶媒体からDRAM85に読み込まれる。
【0159】
プレイヤAデータは、プレイヤAに関するデータであり、プレイヤA用のセーブデータを含む。プレイヤA用のセーブデータとして、プレイヤキャラクタデータと、装備アイテムデータと、仮想オブジェクトデータとを含む。プレイヤキャラクタデータは、プレイヤAによって作成されたプレイヤキャラクタ70Aの名前、顔、体型、服装等に関するデータである。装備アイテムデータは、プレイヤキャラクタ70Aが所有する装備アイテムに関するデータである。また、仮想オブジェクトデータは、プレイヤキャラクタ70Aが所有する仮想オブジェクト(魚や虫等)に関するデータである。
【0160】
また、ゲームの実行中に用いられるプレイヤキャラクタ70Aに関するデータとして、位置データ、使用中アイテムデータ、メインキャラクタフラグ等が記憶される。位置データは、プレイヤキャラクタ70Aの現在の仮想空間における位置を示すデータである。また、使用中アイテムデータは、現在プレイヤキャラクタ70Aが装備している装備アイテムを示すデータである。メインキャラクタフラグは、プレイヤキャラクタ70Aがメインキャラクタに設定されているか否かを示すデータであり、メインキャラクタに設定されている場合は「ON」に設定される。
【0161】
また、プレイヤBデータは、プレイヤBに関するデータである。プレイヤBデータも、プレイヤB用のセーブデータを含む。プレイヤBデータの詳細については、プレイヤAデータと同様であるため説明を省略する。
【0162】
仮想カメラデータは、仮想カメラの位置および姿勢を示すデータである。
【0163】
(フローチャートの説明)
次に、本体装置2において行われるゲーム処理の詳細について説明する。
図23は、本体装置2のプロセッサ81において行われるゲーム処理の一例を示すフローチャートである。
【0164】
図23に示すように、ゲームの開始が指示されると、プロセッサ81は、まずセーブデータの読み込みを行う(ステップS100)。具体的には、プロセッサ81は、複数のプレイヤに共有の共有セーブデータをフラッシュメモリ84から読み取り、共有セーブデータに基づいて仮想空間を生成する。また、ゲームの開始時に、本体装置2に保存されているどのプレイヤでゲームを行うか指定される。プロセッサ81は、指定されたプレイヤに対するログイン処理を行い、指定されたプレイヤに対応するセーブデータをフラッシュメモリ84から読み取る。そして、プロセッサ81は、指定されたプレイヤに対応するセーブデータに基づいて、プレイヤキャラクタを生成し、仮想空間に配置する。なお、プレイヤをログインさせる際に、プレイヤにパスワードの入力を求めてもよい。この場合、プロセッサ81は、入力されたパスワードに基づいて認証処理を行い、プレイヤを認証できた場合、認証されたプレイヤに対応するセーブデータの読み込みを行う。
【0165】
以下では、ステップS100においてプレイヤAのセーブデータが読み込まれたものとする。すなわち、プレイヤAがゲームを開始したものとして、以下の説明を行う。
【0166】
セーブデータの読み込みを行うと、プロセッサ81は、シングルプレイモードでゲームを開始する(ステップS101)。
【0167】
シングルプレイモードでゲームが開始されると、プロセッサ81は、左コントローラ3及び右コントローラ4から操作データを取得する(ステップS102)。次に、プロセッサ81は、取得した操作データに基づいてシングルプレイゲーム処理を行う(ステップS103)。例えば、プレイヤAが左コントローラ3のアナログスティック32を用いて方向入力を行った場合、プロセッサ81は、プレイヤキャラクタ70Aを仮想空間内で移動させる。また、プレイヤAが左コントローラ3を用いて装備アイテムを選択する操作を行った場合、プロセッサ81は、プレイヤキャラクタ70Aに選択された装備アイテムを装備させる。また、プレイヤAが右コントローラ4のAボタン53を押下した場合、プレイヤキャラクタ70Aに装備アイテムに対応する行動を行わせる。そして、プロセッサ81は、仮想カメラに基づいて、ゲーム処理に応じたゲーム画像を生成し、生成したゲーム画像を表示装置(ディスプレイ12又は据置型モニタ)に表示させる。
【0168】
ステップS103に続いて、プロセッサ81は、取得した操作データに基づいて、他プレイヤの呼び出しが行われたか否かを判定する(ステップS104)。ステップS104でNOと判定した場合、プロセッサ81は、ステップS102の処理を再び実行する。ステップS102およびステップS103の処理が所定の時間間隔(例えば、1/60秒間隔)で繰り返し実行されることにより、1人のプレイヤによる1のプレイヤキャラクタを用いたシングルプレイゲームが行われる。
【0169】
シングルプレイモードでゲームの実行中に他プレイヤの呼び出しが行われたと判定した場合(ステップS104:YES)、プロセッサ81は、他プレイヤのセーブデータの読み込みを行う(ステップS105)。例えば、プレイヤAによってプレイヤBの呼び出しが指示された場合、プロセッサ81は、プレイヤBに対するログイン処理を行い、プレイヤB用のセーブデータを読み込む。以下では、プレイヤB用のセーブデータの読み込みが行われたものとして説明する。
【0170】
プレイヤB用のセーブデータの読み込みが行われると、プロセッサ81は、マルチプレイモードを開始する(ステップS106)。具体的には、プロセッサ81は、ステップS105で読み込んだプレイヤB用のセーブデータに基づいて、プレイヤキャラクタ70Bを生成し、仮想空間に配置する。また、プロセッサ81は、プレイヤキャラクタ70Aをメインキャラクタとして設定するとともに、プレイヤキャラクタ70Bをサブキャラクタとして設定する。具体的には、プロセッサ81は、プレイヤAデータにおけるメインキャラクタフラグを「ON」に設定するとともに、プレイヤBデータにおけるメインキャラクタフラグを「OFF」に設定する。
【0171】
マルチプレイモードが開始された場合、プロセッサ81は、マルチプレイゲーム処理を行う(ステップS107)。マルチプレイゲーム処理の詳細については後述する。次に、プロセッサ81は、マルチプレイを終了するか否かを判定する(ステップS108)。具体的には、プロセッサ81は、メインキャラクタに対応するコントローラからの操作データに基づいて、マルチプレイモードの終了が指示されたか否かを判定する。
【0172】
マルチプレイモードの終了が指示されていない場合(ステップS108:NO)、プロセッサ81は、再びステップS107の処理を実行する。ステップS107の処理が所定の時間間隔(例えば、1/60秒間隔)で繰り返し実行されることにより、複数のプレイヤによる複数のプレイヤキャラクタを用いたマルチプレイゲームが行われる。
【0173】
一方、マルチプレイモードの終了が指示された場合(ステップS108:YES)、プロセッサ81は、シングルプレイモードを再開する(ステップS109)。具体的には、プロセッサ81は、マルチプレイモードの終了が指示された時点でメインキャラクタとして設定されていたプレイヤキャラクタによるシングルプレイモードのゲームを再開する。プロセッサ81は、マルチプレイモードの終了が指示された時点でサブキャラクタとして設定されていたプレイヤキャラクタについては、ログオフ処理を行う。ステップS109の処理の後、プロセッサ81は、再びステップS102の処理を実行する。これにより、マルチプレイモードの終了が指示された時点でメインキャラクタとして設定されていたプレイヤキャラクタで、シングルプレイモードでのゲームが再開される。
【0174】
(マルチプレイゲーム処理)
次に、ステップS107のマルチプレイゲーム処理の詳細について説明する。
図24は、ステップS107のマルチプレイゲーム処理の一例を示すフローチャートである。
【0175】
プロセッサ81は、各コントローラから操作データを取得する(ステップS120)。具体的には、プロセッサ81は、プレイヤキャラクタ70Aに対応する左コントローラ3及びプレイヤキャラクタ70Bに対応する右コントローラ4から、操作データをそれぞれ取得する。
【0176】
次に、プロセッサ81は、メインキャラクタに対応するコントローラからの操作データに基づいて、メインキャラクタ制御処理を行う(ステップS121)。メインキャラクタ制御処理は、現在メインキャラクタとして設定されている1のプレイヤキャラクタに対して行われる。メインキャラクタ制御処理の詳細については後述する。
【0177】
続いて、プロセッサ81は、サブキャラクタに対応するコントローラからの操作データに基づいて、サブキャラクタ制御処理を行う(ステップS122)。サブキャラクタ制御処理は、現在サブキャラクタとして設定されている1又は複数のプレイヤキャラクタに対して行われる。サブキャラクタ制御処理の詳細については後述する。
【0178】
ステップS122の次に、プロセッサ81は、メインキャラクタの位置と、サブキャラクタの位置とに基づいて、仮想カメラの位置を制御する(ステップS123)。具体的には、プロセッサ81は、ステップS121で更新されたメインキャラクタの位置と、ステップS122で更新されたサブキャラクタの位置とに基づいて、少なくともメインキャラクタが仮想カメラの視野内に入るように、仮想カメラの位置を制御する。例えば、プロセッサ81は、メインキャラクタとサブキャラクタとの中心位置を算出し、算出した中心位置に仮想カメラの注視点を設定した場合に、仮想カメラの視野内にメインキャラクタが含まれるか否かを判定する。算出した中心位置に仮想カメラの注視点を設定した場合に仮想カメラの視野内にメインキャラクタが含まれる場合には、プロセッサ81は、仮想カメラの注視点が算出した中心位置になるように、仮想カメラの位置を設定する。また、算出した中心位置に仮想カメラの注視点を設定した場合に仮想カメラの視野内にメインキャラクタが含まれない場合には、仮想カメラの注視点を、算出した中心位置よりもメインキャラクタ側にして、仮想カメラの視野内にメインキャラクタが含まれるようにする。
【0179】
なお、本実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させずに、仮想カメラを画面の左右方向及び/又は奥行き方向に移動させる。
【0180】
次に、プロセッサ81は、ステップS123で設定した仮想カメラの位置と、ステップS122で更新されたサブキャラクタの位置とに基づいて、サブキャラクタが仮想カメラの視野から外れたか否かを判定する(ステップS124)。サブキャラクタが仮想カメラの視野から外れたと判定した場合(ステップS124:YES)、プロセッサ81は、タイマーの計測を開始する(ステップS125)。このタイマーは、サブキャラクタが仮想カメラの視野から外れたときからの経過時間を示す。なお、サブキャラクタが複数存在する場合、タイマーは、サブキャラクタ毎に設定される。
【0181】
一方、サブキャラクタが仮想カメラの視野から外れていない場合(ステップS124:NO)、プロセッサ81は、次にステップS126の処理を行う。なお、プロセッサ81は、ステップS124でNOと判定した場合、上記タイマーを「0」にリセットする。すなわち、サブキャラクタが仮想カメラの視野から外れ、所定時間が経過するまでにサブキャラクタが仮想カメラの視野内に再び入った場合、タイマーはリセットされる。
【0182】
ステップS125の処理を行った場合、又は、ステップS124でNOと判定した場合、プロセッサ81は、タイマーが所定の閾値(例えば5秒)を超えたか否かを判定する(ステップS126)。
【0183】
タイマーが所定の閾値を超えた場合(ステップS126:YES)、プロセッサ81は、仮想カメラの視野外に出たサブキャラクタを、仮想カメラの視野内に移動させる(ステップS127)。具体的には、プロセッサ81は、視野外に出たサブキャラクタを瞬間的に仮想カメラの視野内に移動させる。
【0184】
ステップS127の処理を行った場合、又は、ステップS126でNOと判定した場合、プロセッサ81は、メインキャラクタとサブキャラクタの切替指示が行われたか否かを判定する(ステップS128)。具体的には、プロセッサ81は、メインキャラクタに対応するコントローラ(例えば左コントローラ3)において、切替指示が行われたか否かを判定する。
【0185】
メインキャラクタとサブキャラクタの切替指示が行われた場合(ステップS128:YES)、プロセッサ81は、メインキャラクタとサブキャラクタを切り替える(ステップS129)。具体的には、プロセッサ81は、複数のサブキャラクタのうちの何れかのサブキャラクタに対応するコントローラ(例えば右コントローラ4)において、メインキャラクタに設定するための操作が行われたか否かを判定する。当該操作が行われた場合、プロセッサ81は、現在メインキャラクタに設定されているプレイヤキャラクタをサブキャラクタに設定するとともに、当該操作が行われたコントローラ(右コントローラ4)に対応するプレイヤキャラクタを、メインキャラクタに設定する。なお、プロセッサ81は、新たにメインキャラクタとして設定したプレイヤキャラクタに、旗オブジェクト71を付加する。
【0186】
ステップS129の処理を行った場合、又は、ステップS128でNOと判定した場合、プロセッサ81は、仮想カメラに基づいてゲーム画像を生成する(ステップS130)。生成されたゲーム画像は、表示装置(ディスプレイ12又は据置型モニタ)に出力される。
【0187】
ステップS130の処理を実行した場合、プロセッサ81は、
図24に示す処理を終了し、処理を
図23に戻す。
【0188】
(メインキャラクタ制御処理)
次に、ステップS121のメインキャラクタ制御処理の詳細について説明する。
図25は、
図24のステップS121のメインキャラクタ制御処理の一例を示すフローチャートである。なお、以下では、メインキャラクタに対応するコントローラが左コントローラ3であるものとして説明するが、メインキャラクタに対応するコントローラが右コントローラ4である場合も同様である。
【0189】
プロセッサ81は、メインキャラクタに対応するコントローラ(左コントローラ3)の操作モードが第1モードか否かを判定する(ステップS140)。
【0190】
コントローラの操作モードが第1モードである場合(ステップS140:YES)、プロセッサ81は、メインキャラクタの移動処理を行う(ステップS141)。具体的には、プロセッサ81は、左コントローラ3からの操作データに基づいて、アナログスティック32に対する操作が行われたか否かを判定し、アナログスティック32に対する操作が行われた場合、メインキャラクタを仮想空間内で移動させる。このとき、左方向ボタン36が押下されている場合には、プロセッサ81は、メインキャラクタをダッシュで移動させる。
【0191】
次に、プロセッサ81は、メインキャラクタのアクション処理を行う(ステップS142)。具体的には、プロセッサ81は、左コントローラ3からの操作データに基づいて、下方向ボタン34が押下されたか否かを判定する。下方向ボタン34が押下された場合、プロセッサ81は、メインキャラクタに、装備アイテムに対応する行動を行わせる。
【0192】
次に、プロセッサ81は、その他の処理を行う(ステップS143)。プロセッサ81は、その他の処理として、例えば、右方向ボタン33が押下されたことに基づいて、取得した仮想オブジェクトのメニューを表示する。例えば、当該メニューにおいて、メインキャラクタは、取得した仮想オブジェクトを装備アイテムと交換したり、仮想オブジェクトに基づいて装備アイテムを作成したりすることができる。また、プロセッサ81は、上方向ボタン35が押下されたことに基づいて、メインキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせる。
【0193】
一方、コントローラの操作モードが第1モードでない場合(ステップS140:NO)、つまり、第2モードである場合、プロセッサ81は、仮想カメラの制御処理を行う(ステップS144)。具体的には、プロセッサ81は、左コントローラ3からの操作データに基づいて、アナログスティック32に対する操作が行われたか否かを判定し、アナログスティック32に対する操作が行われた場合、仮想カメラの位置および姿勢を変化させる。例えば、仮想カメラは、アナログスティック32に対する操作に応じて、メインキャラクタを向きながら、仮想空間の地面に垂直であってメインキャラクタを中心とした半円上を移動してもよい。
【0194】
次に、プロセッサ81は、装備アイテム設定処理を行う(ステップS145)。装備アイテム設定処理は、メインキャラクタに対応するコントローラの操作に基づいて、装備アイテムを選択し、メインキャラクタに装備アイテムを装備させるとともに、サブキャラクタにも同じ装備アイテムを装備させる処理である。具体的には、プロセッサ81は、左コントローラ3からの操作データに基づいて、ボタン33~36の何れかが押下されたか否かを判定し、押下されたボタンに応じた処理を行う。例えば、ボタン33又は36が押下された場合、プロセッサ81は、メインキャラクタが装備する装備アイテムを変更することによりメインキャラクタが実行可能な行動を選択するとともに、サブキャラクタが同じ装備アイテム(又は同じ行動に関連付けられた装備アイテム)を所有している場合、サブキャラクタに、その装備アイテムを装備させる。また、下方向ボタン34が押下された場合、プロセッサ81は、装備アイテムを選択させるためのメニューを表示させる。このメニューの表示中に左コントローラ3に対する操作が行われた場合、当該操作に基づいて装備アイテムを選択し、選択した装備アイテムをメインキャラクタに装備させるとともに、サブキャラクタが同じ装備アイテム(又は同じ行動に関連付けられた装備アイテム)を所有している場合、サブキャラクタに、その装備アイテムを装備させる。また、上方向ボタン35が押下された場合、プロセッサ81は、メインキャラクタに装備アイテムを装備させないようにするとともに、サブキャラクタにも装備アイテムを装備させないようにする。
【0195】
ステップS143の処理を行った場合、又は、ステップS145の処理を行った場合、プロセッサ81は、操作モード設定処理を行う(ステップS146)。具体的には、プロセッサ81は、メインキャラクタに対応するコントローラ(左コントローラ3)に対して、操作モードを切り替える操作(例えば、アナログスティック32を押下する操作)が行われたか否かを判定する。操作モードを切り替える操作が行われた場合、プロセッサ81は、操作モードを現在のモード(例えば第1モード)から別のモード(第2モード)に変更する。
【0196】
ステップS146の処理を実行した場合、プロセッサ81は、
図25に示す処理を終了し、処理を
図24に戻す。
【0197】
(サブキャラクタ制御処理)
次に、ステップS122のサブキャラクタ制御処理の詳細について説明する。
図26は、
図24のステップS122のサブキャラクタ制御処理の一例を示すフローチャートである。なお、以下では、サブキャラクタに対応するコントローラが右コントローラ4であるものとして説明するが、サブキャラクタに対応するコントローラが左コントローラ3である場合も同様である。
【0198】
プロセッサ81は、サブキャラクタの移動処理を行う(ステップS160)。ステップS160の処理は、ステップS141のメインキャラクタの移動処理と同様の処理である。具体的には、プロセッサ81は、サブキャラクタに対応するコントローラ(右コントローラ4)からの操作データに基づいて、アナログスティック52に対する操作が行われたか否かを判定する。アナログスティック52に対する操作が行われた場合、プロセッサ81は、サブキャラクタを仮想空間内で移動させる。このとき、プロセッサ81は、Aボタン55が押下されている場合には、サブキャラクタをダッシュで移動させる。なお、メインキャラクタとサブキャラクタとが所定以上離れている場合において、アナログスティック52の入力方向がさらにメインキャラクタから離れる方向である場合は、プロセッサ81は、サブキャラクタをその入力方向に移動させない。すなわち、サブキャラクタが画面の端に表示されている場合において、画面から出る方向にアナログスティック52が操作された場合、プロセッサ81は、アナログスティック52が示す方向にサブキャラクタを移動させない。
【0199】
次に、プロセッサ81は、サブキャラクタのアクション処理を行う(ステップS161)。ステップS161の処理は、ステップS142のメインキャラクタのアクション処理と同様の処理である。具体的には、プロセッサ81は、右コントローラ4からの操作データに基づいて、Xボタン55が押下されたか否かを判定する。Xボタン55が押下された場合、プロセッサ81は、サブキャラクタに、装備アイテムに対応する行動を行わせる。なお、サブキャラクタが装備アイテムを装備していない場合は、サブキャラクタは何も行動を行わない。
【0200】
次に、プロセッサ81は、所定画像の再表示処理を行う(ステップS162)。具体的には、プロセッサ81は、Bボタン54が押下されたか否かを判定し、Bボタン54が押下された場合、所定画像(プレイヤキャラクタの感情を表現するための画像)を再表示する。
【0201】
ステップS162の処理を実行した場合、プロセッサ81は、
図26に示す処理を終了し、処理を
図24に戻す。
【0202】
なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容は適宜変更されてもよい。
【0203】
以上のように、本実施形態では、基本的に各プレイヤが自身のセーブデータを用いて一人で行うゲームを、マルチプレイモードで行うことができる。マルチプレイモードでは、複数のプレイヤキャラクタが仮想空間に登場し、複数のプレイヤが、自身のプレイヤキャラクタをそれぞれ操作する。複数のプレイヤキャラクタのうちの1のプレイヤキャラクタがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定される。マルチプレイモードでもシングルプレイモードと同様に、1画面にゲーム画像が表示される。マルチプレイモードにおいては、メインキャラクタおよびサブキャラクタが仮想カメラの視野内に含まれるように、仮想カメラ及びサブキャラクタの位置が制御される。
【0204】
具体的には、サブキャラクタがメインキャラクタから離れていない場合は、メインキャラクタおよびサブキャラクタの両方が仮想カメラの視野内に含まれるように、仮想カメラの位置が制御される(ステップS123)。メインキャラクタがサブキャラクタから離れる方向に移動した場合は、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラをメインキャラクタに追従するように移動させる(ステップS123)。メインキャラクタの移動によってサブキャラクタが仮想カメラの視野外に出た場合は、サブキャラクタを強制的に仮想カメラの視野内に移動させる(ステップS127)。
【0205】
また、メインキャラクタに対応するプレイヤによって装備アイテムが選択された場合、選択された装備アイテムをメインキャラクタに装備させるとともに、サブキャラクタにも同じ装備アイテムを装備させる(ステップS145)。メインキャラクタ及びサブキャラクタは、同じ装備アイテムを用いて同じ行動を行う。
【0206】
このような制御により、複数のプレイヤで行われるマルチプレイゲームにおいて、1のプレイヤキャラクタを主としてゲームを行うことができる。また、メインキャラクタとサブキャラクタとを切り替えることができるため、プレイヤ間で調整しつつ、バランスよくゲームを行うことができる。
【0207】
また、プレイヤ毎にゲーム画面がなくても複数のプレイヤでゲームを行うことができる。マルチプレイゲームを行う場合に、画面を分割して分割した画面のそれぞれに、それぞれのプレイヤに対応するプレイヤキャラクタを表示することも考えられる。この場合、分割した各画面は1画面よりも小さくなり、また、各々のプレイヤがそれぞれ独自でゲームをプレイする可能性がある。しかしながら、本実施形態では、1画面に複数のプレイヤキャラクタが登場するため、各プレイヤは他のプレイヤキャラクタの動きを把握し易くなり、複数のプレイヤは連帯感を持ってゲームをプレイすることができる。
【0208】
また、メインキャラクタとサブキャラクタとが同じ装備アイテムを装備して、同じ行動を実行可能となるため、プレイヤ間で行動を共有することができ、より強い連帯感を持たせることができる。また、メインキャラクタは、実行可能な行動(装備アイテム)を選択し、サブキャラクタは、実行可能な行動を選択することはできないが、行動自体は自由に行うことができる。このため、サブキャラクタのプレイヤはある程度自由にゲームをプレイすることができる。
【0209】
また、1のプレイヤキャラクタはシングルプレイモードと同様の操作が可能なメインキャラクタに設定され、その他のプレイヤキャラクタは、操作が制限されたサブキャラクタに設定される。このため、各プレイヤが完全に自由にゲームを行い、ばらばらにゲームをプレイしてしまうことを防止することができる。
【0210】
また、本実施形態では、マルチプレイモードでゲームを実行中に、メインキャラクタに設定されているプレイヤキャラクタをサブキャラクタに、サブキャラクタに設定されているプレイヤキャラクタをメインキャラクタに切り替えることができる。このため、サブキャラクタに対応するプレイヤが、制限無く自由にゲームをプレイしたい場合には、サブキャラクタをメインキャラクタに切り替えることで、制限無くゲームをプレイすることができるようになる。例えば、サブキャラクタに対応するプレイヤが特定の装備アイテムを装備したい場合、メインキャラクタに切り替えて特定の装備アイテムを自分で選択したり、特定の装備アイテムを所有していない場合は、特定の装備アイテムを新たに取得又は作成したりすることができる。本実施形態では、装備アイテムに応じてプレイヤキャラクタの行動が定まり、装備アイテムに応じた行動(例えば、魚釣りや木を切る行動等)を行うことで、その行動に応じた仮想オブジェクト(魚や木)を取得することができる。プレイヤが、特定の仮想オブジェクトを取得したい場合は、自身のプレイヤキャラクタをメインキャラクタに切り替え、特定の装備アイテムを選択することで、特定の仮想オブジェクトを取得可能な行動を選択することができる。
【0211】
また、本実施形態では、1のゲーム画像に複数のプレイヤキャラクタが含まれることを前提としているため、複数のプレイヤ間で、何れのプレイヤをメインにするかについて直接相談しながらメインキャラクタを切り替えることができる。
【0212】
また、本実施形態では、マルチプレイモードを開始したときのメインキャラクタと、マルチプレイモードを終了してシングルプレイモードに戻るときのメインキャラクタとを異ならせることができる。例えば、プレイヤAがシングルプレイモードでゲームを行い、そのシングルプレイモードでのゲーム中に、プレイヤBに対応するプレイヤキャラクタ70Bが呼び出されてマルチプレイモードが開始された場合、マルチプレイモードの開始時は、プレイヤAに対応するプレイヤキャラクタ70Aがメインキャラクタに設定される。その後、メインキャラクタがプレイヤキャラクタ70Aからプレイヤキャラクタ70Bに切り替わり、プレイヤキャラクタ70Bがメインキャラクタに設定されているときに、マルチプレイモードを終了した場合、プレイヤキャラクタ70B(プレイヤB)によるシングルプレイモードでのゲームが再開される。シングルプレイモードとマルチプレイモードとをシームレスに切り替えることができ、シングルプレイモードでゲームを行っているときに、気軽に他のプレイヤをゲームに参加させることができる。
【0213】
また、本実施形態のゲームは、共有セーブデータを有し、各プレイヤがシングルプレイモードでゲームを行うときには、共有セーブデータと、各プレイヤに対応するプレイヤ用セーブデータとを用いてゲームを行う。各プレイヤがシングルプレイモードでゲームを行うことで、各プレイヤに対応するプレイヤ用セーブデータが更新されるとともに、共有セーブデータも更新される。例えば、プレイヤAがシングルプレイモードでゲームをプレイして、仮想空間に家オブジェクトを建設した場合、次に、プレイヤBがシングルプレイモードでゲームをプレイするときには、仮想空間に家オブジェクトが建設された状態となる。このように、本実施形態のゲームでは、各プレイヤがゲームを行うことで共有セーブデータが更新される。
【0214】
このようなゲームを前提として、マルチプレイモードでゲームを行う場合にも、共有セーブデータと、各プレイヤに対応するプレイヤ用セーブデータとを用いてゲームが行われる。このため、マルチプレイモードでもシングルプレイモードと同様のゲームを行うことができ、マルチプレイモードにおいては複数のプレイヤで連携してゲームをプレイすることができる。マルチプレイモードでは、共有セーブデータを複数のプレイヤで協力して更新することができ、効率的に共有セーブデータを更新することができる。
【0215】
(変形例)
以上、本実施形態の画像処理ついて説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【0216】
例えば、上記実施形態では、メインキャラクタの移動によってサブキャラクタが仮想カメラの視野外に出た場合において、所定時間が経過した場合に、サブキャラクタを仮想カメラの視野内に移動させた。他の実施形態では、メインキャラクタの移動によってサブキャラクタが仮想カメラの視野から出そうになった場合、サブキャラクタが画面から出ないようにサブキャラクタを移動させてもよい。例えば、
図16に示すように画面の左端にサブキャラクタが表示されている場合において、メインキャラクタが右方向に移動した場合、サブキャラクタは自動で右方向に移動し(画面の左端に固定されるように移動し)、画面から出ないように制御されてもよい。
【0217】
また、上記実施形態では、複数のプレイヤに共有される共有セーブデータが本体装置2に1つだけ記憶され、シングルプレイモードでも、マルチプレイモードでも、同じ共有セーブデータに基づいて仮想空間が定義されるものとした。
【0218】
他の実施形態では、プレイヤ毎に記憶されるセーブデータに基づいて仮想空間が定義されてもよい。具体的には、各プレイヤは、仮想空間を定義するための仮想空間用セーブデータと、プレイヤキャラクタに関するプレイヤ用セーブデータ(プレイヤキャラクタ自体のデータや装備アイテム、取得した仮想オブジェクトに関するデータ)とのセットを有する。例えば、プレイヤAは、仮想空間A用セーブデータと、プレイヤA用セーブデータとを有し、プレイヤBは、仮想空間B用セーブデータと、プレイヤB用セーブデータとを有する。プレイヤAがシングルプレイモードでゲームをプレイする場合には、仮想空間A用セーブデータと、プレイヤA用セーブデータとが読み込まれ、仮想空間A用セーブデータに基づく仮想空間Aでゲームが行われる。プレイヤBがシングルプレイモードでゲームをプレイする場合には、仮想空間B用セーブデータと、プレイヤB用セーブデータとが読み込まれ、仮想空間B用セーブデータに基づく仮想空間Bでゲームが行われる。このような場合において、マルチプレイモードでゲームが行われる場合、複数のプレイヤのうちの何れか1のプレイヤの仮想空間用セーブデータに基づいて、仮想空間が定義され、マルチプレイモードでゲームが行われてもよい。
【0219】
また、上記実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させずに、仮想カメラを移動させた。他の実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させてもよい。仮想カメラがメインキャラクタを向くように、仮想カメラの向きが制御されてもよい。また、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの画角を変化させてもよいし、仮想カメラを画面の奥行き方向に移動させてもよい。すなわち、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの制御(移動、視線方向の変化、画角の変化のうちの少なくとも何れか)が行われてもよい。
【0220】
また、上記実施形態では、メインキャラクタに対応するコントローラに対する所定の指示操作(例えば、マイナスボタン47の押下)が行われたことに基づいて、メインキャラクタとサブキャラクタの切り替えが行われた。他の実施形態では、サブキャラクタに対応するコントローラに対する所定の指示操作に基づいて、メインキャラクタとサブキャラクタの切り替えが行われてもよい。
【0221】
また、上記実施形態では、1画面に複数のプレイヤキャラクタ(最大で4つのプレイヤキャラクタ)を表示させるものとしたが、他の実施形態では、必ずしも1画面である必要はなく、例えば、4人でゲームを行う場合に画面を2画面に分割し、分割した各画面に2つのプレイヤキャラクタをそれぞれ表示してもよい。
【0222】
また、上記ゲームは単なる一例であり、他の任意のゲームにおいて上述した処理が行われてもよい。
【0223】
また、上記実施形態では、ゲームシステム1における本体装置2において上述した処理が行われることとしたが、上述した処理は他の任意の情報処理装置(例えば、パーソナルコンピュータ、スマートフォン、タブレット端末)等において実行されてもよい。また、他の実施形態では、例えばインターネット等のネットワークで接続された複数の装置を含むゲームシステム(例えば端末とサーバとを含む情報処理システム)において上述した処理が行われてもよい。例えば、セーブデータ(各プレイヤ用セーブデータ、共通セーブデータ)は、インターネット上のサーバやクラウド上に保存され、ローカルの本体装置2が当該保存されたセーブデータを読み込むことで上述したゲームが行われてもよい。また、表示装置と複数の操作装置がローカルに配置され、複数の操作装置のそれぞれで行われた操作に関する情報がインターネット上の1又は複数のサーバに送信され、当該サーバにおいて上記本体装置2におけるゲーム処理が実行されてもよい。そして、ゲーム処理に応じたゲーム画像がローカルに配置された表示装置に表示されてもよい。
【0224】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【0225】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
12 ディスプレイ
81 プロセッサ
70A プレイヤキャラクタ
70B プレイヤキャラクタ
71 旗オブジェクト
72 位置示唆画像
73 釣り竿