(57)【要約】【課題】複数のプレイヤが同時にゲームをプレイすることが可能なゲームシステムを提供する。【解決手段】ゲームシステムは、複数のプレイヤのセーブデータに基づいて複数のプレイヤキャラクタを生成し、複数の操作装置のそれぞれに対する操作に基づいて、各操作装置に対応するプレイヤキャラクタを仮想空間内で制御する。ゲームシステムは、複数のプレイヤキャラクタの何れかをメインキャラクタに設定し、それ以外のプレイヤキャラクタをサブキャラクタに設定し、メインキャラクタとサブキャラクタとを切り替えることが可能である。そして、ゲームシステムは、少なくともメインキャラクタが仮想カメラの視野内に含まれるように仮想カメラを制御し、仮想カメラに基づいてゲーム画像を生成して画面に表示する。【選択図】図１１
2020195649.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム処理を行うプロセッサと、複数の操作装置とを備えるゲームシステムであって、
前記プロセッサは、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、
前記メインキャラクタを前記仮想空間内で移動させ、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、
前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
前記仮想カメラに基づいてゲーム画像を生成する、ゲームシステム。
【請求項２】
前記プロセッサは、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項１に記載のゲームシステム。
【請求項３】
前記プロセッサは、
前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、
前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させる、請求項２に記載のゲームシステム。
【請求項４】
前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になり、
前記プロセッサは、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させる、請求項２又は３に記載のゲームシステム。
【請求項５】
前記プロセッサは、
前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び／又は、前記サブキャラクタの制御を行う、請求項１から４の何れかに記載のゲームシステム。
【請求項６】
前記プロセッサは、
前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させる、請求項５に記載のゲームシステム。
【請求項７】
前記プロセッサは、
前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させる、請求項６に記載のゲームシステム。
【請求項８】
前記プロセッサは、
前記複数のプレイヤのうちの第１のプレイヤのセーブデータに基づいて、第１プレイヤキャラクタを生成し、当該第１プレイヤキャラクタを用いたシングルプレイゲーム処理を開始し、
前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第２のプレイヤのセーブデータに基づいて第２プレイヤキャラクタを前記仮想空間に生成し、前記第１プレイヤキャラクタを前記メインキャラクタとし、前記第２プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第１プレイヤキャラクタ及び前記第２プレイヤキャラクタを用いたマルチプレイゲーム処理を行い、
前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第１プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記第２プレイヤキャラクタを前記メインキャラクタに変更し、
前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第２プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開する、請求項１から７の何れかに記載のゲームシステム。
【請求項９】
前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成され、
前記記憶媒体は、複数のプレイヤに共有の第１記憶領域と、プレイヤ毎に分けられた第２記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第１記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第２記憶領域に記憶される、請求項１から８の何れかに記載のゲームシステム。
【請求項１０】
前記プロセッサは、
前記複数のプレイヤのうちの１のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、
前記シングルプレイゲーム処理の実行中、第１の操作装置に対する操作に応じて第１のゲーム制御を行い、第２の操作装置に対する操作に応じて第２のゲーム制御を行い、
前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行し、
前記マルチプレイゲーム処理の実行中に、
前記第１の操作装置に対する所定の切替操作に応じて、前記第１の操作装置の操作モードを第１モード又は第２モードに設定し、
前記操作モードが前記第１モードのときには、前記第１の操作装置に対する操作に応じて前記第１のゲーム制御を行い、前記操作モードが前記第２モードのときには、前記第１の操作装置に対する操作に応じて前記第２のゲーム制御を行う、請求項１から９の何れかに記載のゲームシステム。
【請求項１１】
複数の操作装置からの操作データに基づいてゲーム処理を行うプロセッサにおいて実行されるゲームプログラムであって、前記プロセッサに、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成させ、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成させ、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定させ、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定させ、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御させ、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、
前記メインキャラクタを前記仮想空間内で移動させ、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御させ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、
前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更させ、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更させ、
前記仮想カメラに基づいてゲーム画像を生成させる、ゲームプログラム。
【請求項１２】
前記プロセッサが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせるように制御する、請求項１１に記載のゲームプログラム。
【請求項１３】
前記プロセッサが、
前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、
前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させるように制御する、請求項１２に記載のゲームプログラム。
【請求項１４】
前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になり、
前記プロセッサが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させるように制御する、請求項１２又は１３に記載のゲームプログラム。
【請求項１５】
前記プロセッサが、
前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び／又は、前記サブキャラクタの制御を行うように制御する、請求項１１から１４の何れかに記載のゲームプログラム。
【請求項１６】
前記プロセッサが、
前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させるように制御する、請求項１５に記載のゲームプログラム。
【請求項１７】
前記プロセッサが、
前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させるように制御する、請求項１６に記載のゲームプログラム。
【請求項１８】
前記プロセッサが、
前記複数のプレイヤのうちの第１のプレイヤのセーブデータに基づいて、第１プレイヤキャラクタを生成し、当該第１プレイヤキャラクタを用いたシングルプレイゲーム処理を開始し、
前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第２のプレイヤのセーブデータに基づいて第２プレイヤキャラクタを前記仮想空間に生成し、前記第１プレイヤキャラクタを前記メインキャラクタとし、前記第２プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第１プレイヤキャラクタ及び前記第２プレイヤキャラクタを用いたマルチプレイゲーム処理を行い、
前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第１プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記第２プレイヤキャラクタを前記メインキャラクタに変更し、
前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第２プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開するように制御する、請求項１１から１７の何れかに記載のゲームプログラム。
【請求項１９】
前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成され、
前記記憶媒体は、複数のプレイヤに共有の第１記憶領域と、プレイヤ毎に分けられた第２記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第１記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第２記憶領域に記憶される、請求項１１から１８の何れかに記載のゲームプログラム。
【請求項２０】
前記プロセッサが、
前記複数のプレイヤのうちの１のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、
前記シングルプレイゲーム処理の実行中、第１の操作装置に対する操作に応じて第１のゲーム制御を行い、第２の操作装置に対する操作に応じて第２のゲーム制御を行い、
前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行し、
前記マルチプレイゲーム処理の実行中に、
前記第１の操作装置に対する所定の切替操作に応じて、前記第１の操作装置の操作モードを第１モード又は第２モードに設定し、
前記操作モードが前記第１モードのときには、前記第１の操作装置に対する操作に応じて前記第１のゲーム制御を行い、前記操作モードが前記第２モードのときには、前記第１の操作装置に対する操作に応じて前記第２のゲーム制御を行うように制御する、請求項１１から１９の何れかに記載のゲームプログラム。
【請求項２１】
複数の操作装置からの操作データに基づいてゲーム処理を行う情報処理装置であって、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、
前記メインキャラクタを前記仮想空間内で移動させ、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、
前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
前記仮想カメラに基づいてゲーム画像を生成する、情報処理装置。
【請求項２２】
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項２１に記載の情報処理装置。
【請求項２３】
複数の操作装置からの操作データに基づいてゲーム処理を行うゲームシステムにおいて行われるゲーム処理方法であって、前記ゲームシステムが、
複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、
前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成し、
前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定し、
前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御し、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、
前記メインキャラクタを前記仮想空間内で移動させ、
少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御し、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、
前記サブキャラクタを前記仮想空間内で移動させ、
所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更し、
前記仮想カメラに基づいてゲーム画像を生成する、ゲーム処理方法。
【請求項２４】
前記ゲームシステムが、
前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、
前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせる、請求項２３に記載のゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプレイヤでゲームを行うことが可能なゲームシステム、ゲームプログラム、情報処理装置、およびゲーム処理方法に関する。
【背景技術】
【０００２】
１台のゲーム装置を複数のプレイヤが共有し、それぞれのプレイヤがゲームを行うゲームが存在する（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“街へいこうよ  どうぶつの森”、［online］、任天堂株式会社、［令和元年６月４日検索］、インターネット<https://www.nintendo.co.jp/wii/ruuj/tsuushin/index.html>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記ゲームでは、１台の装置を共有する複数のプレイヤが同時にゲームを行うことができなかった。
【０００５】
それ故、本発明の目的は、１のゲームシステムを共有する複数のプレイヤが同時にゲームをプレイすることが可能なゲームシステムを提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【０００７】
本発明の一例は、ゲーム処理を行うプロセッサと、複数の操作装置とを備えるゲームシステムである。前記プロセッサは、複数のプレイヤに共有のセーブデータ、又は、前記複数のプレイヤの何れかのプレイヤのセーブデータを記憶媒体から読み取り、当該セーブデータに基づいて仮想空間を生成し、前記複数のプレイヤのそれぞれのセーブデータを前記記憶媒体から読み取り、それぞれの当該セーブデータに基づいて、前記仮想空間内に複数のプレイヤキャラクタを生成する。また、前記プロセッサは、前記複数のプレイヤキャラクタのうちの何れかをメインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタをサブキャラクタに設定する。前記プロセッサは、前記複数の操作装置のそれぞれに対応する前記プレイヤキャラクタを、それぞれの操作装置に対する操作に基づいて制御する。前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタを前記仮想空間内で移動させ、少なくとも前記メインキャラクタが仮想カメラの視野内に含まれるように、当該仮想カメラを制御する。また、前記プロセッサは、前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記サブキャラクタを前記仮想空間内で移動させる。また、前記プロセッサは、所定の指示操作に基づいて、前記メインキャラクタとして設定されている前記プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記プレイヤキャラクタを前記メインキャラクタに変更する。前記プロセッサは、前記仮想カメラに基づいてゲーム画像を生成する。
【０００８】
この構成によれば、複数のプレイヤキャラクタのうちの何れかがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定され、少なくともメインキャラクタを含むゲーム画像が生成される。これにより、複数のプレイヤで行われるマルチプレイゲームにおいて、メインキャラクタを主としてゲームを行うことができる。また、所定の指示操作によって、メインキャラクタとサブキャラクタとを切り替えることができるため、プレイヤ間で調整しつつ、バランスよくゲームを行うことができる。
【０００９】
また、前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記プレイヤキャラクタが実行可能な複数種類の行動のうちの何れかを選択し、さらに前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、選択している前記行動を前記メインキャラクタに行わせ、前記サブキャラクタに対応する前記操作装置に対する操作に基づいて、前記選択している前記行動を前記サブキャラクタに行わせてもよい。
【００１０】
この構成によれば、メインキャラクタが選択した行動をメインキャラクタが実行可能になるとともに、サブキャラクタも同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有することができ、連帯感を持ってゲームをプレイすることができる。
【００１１】
また、前記プロセッサは、前記行動に基づいて前記プレイヤキャラクタに仮想オブジェクトを取得させ、前記プレイヤキャラクタが取得した仮想オブジェクトを、当該プレイヤキャラクタに対応するプレイヤのセーブデータに記憶させてもよい。
【００１２】
この構成によれば、プレイヤキャラクタの行動によって仮想オブジェクトを取得することができ、メインキャラクタが行動を選択するため、メインキャラクタが主体となって取得する仮想オブジェクトを選択することができる。メインキャラクタとサブキャラクタとは切り替え可能であるため、取得したい仮想アイテムがあるプレイヤは、メインキャラクタになることで、自ら行動を選択し、取得したい仮想アイテムを取得することができる。
【００１３】
また、前記プレイヤキャラクタは、所定の装備アイテムを装備することで、当該装備アイテムに対応する前記行動を実行可能になってもよい。前記プロセッサは、前記メインキャラクタに対応する前記操作装置に対する操作に基づいて、前記メインキャラクタの装備アイテムを選択することで前記メインキャラクタが実行可能な前記行動を選択するとともに、前記メインキャラクタの装備アイテムと同じ装備アイテム、又は、選択した前記行動に関連付けられた装備アイテムを前記サブキャラクタに装備させてもよい。
【００１４】
この構成によれば、装備アイテムと行動とが関連付けられており、装備アイテムをプレイヤキャラクタに装備させることで、実行可能な行動を選択することができる。例えば、新たな装備アイテムを取得することで、プレイヤキャラクタに新たな行動を実行させることができ、ゲームの幅を広げることができる。
【００１５】
また、前記プロセッサは、前記サブキャラクタが前記仮想カメラの視野内にさらに含まれるように、前記仮想カメラの制御、及び／又は、前記サブキャラクタの制御を行ってもよい。
【００１６】
この構成によれば、ゲーム画像にメインキャラクタとサブキャラクタの両方が含まれるようにすることができる。
【００１７】
また、前記プロセッサは、前記仮想カメラの視野から外れた前記サブキャラクタを、前記仮想カメラの視野に含まれるように移動させてもよい。
【００１８】
この構成によれば、サブキャラクタが仮想カメラの視野から出た場合でも、サブキャラクタを仮想カメラの視野に含まれるように強制的に移動させることができ、ゲーム画像にメインキャラクタとサブキャラクタの両方が含まれるようにすることができる。
【００１９】
また、前記プロセッサは、前記サブキャラクタが前記仮想カメラの視野から外れて所定時間経過した場合、前記視野から外れた前記サブキャラクタを前記仮想カメラの視野内に移動させてもよい。
【００２０】
この構成によれば、サブキャラクタが仮想カメラの視野から外れてから所定時間内は、自ら移動して仮想カメラの視野内に入ることができ、所定時間が経過した場合には、サブキャラクタを強制的に仮想カメラの視野内に移動させることができる。
【００２１】
また、前記プロセッサは、前記複数のプレイヤのうちの第１のプレイヤのセーブデータに基づいて、第１プレイヤキャラクタを生成し、当該第１プレイヤキャラクタを用いたシングルプレイゲーム処理を開始してもよい。前記プロセッサは、前記シングルプレイゲーム処理中に、所定の開始操作に応じて、前記複数のプレイヤのうちの第２のプレイヤのセーブデータに基づいて第２プレイヤキャラクタを前記仮想空間に生成し、前記第１プレイヤキャラクタを前記メインキャラクタとし、前記第２プレイヤキャラクタを前記サブキャラクタとして、少なくとも前記第１プレイヤキャラクタ及び前記第２プレイヤキャラクタを用いたマルチプレイゲーム処理を行ってもよい。前記プロセッサは、前記マルチプレイゲーム処理中に、前記所定の指示操作に応じて、前記メインキャラクタとして設定されている前記第１プレイヤキャラクタを前記サブキャラクタに変更し、前記サブキャラクタとして設定されている前記第２プレイヤキャラクタを前記メインキャラクタに変更してもよい。また、前記プロセッサは、前記マルチプレイゲーム処理中に、所定の終了操作に応じて、前記メインキャラクタとされている前記第２プレイヤキャラクタを用いた前記シングルプレイゲーム処理を再開してもよい。
【００２２】
この構成によれば、第１のプレイヤがシングルプレイモードでゲームを開始し、シングルプレイゲーム中に第１プレイヤキャラクタをメインキャラクタとするマルチプレイゲームを開始した場合でも、マルチプレイゲームの終了時に第２プレイヤキャラクタがメインキャラクタに切り替えられている場合は、第２プレイヤキャラクタでシングルプレイゲームを再開することができる。
【００２３】
また、前記仮想空間は、複数のプレイヤに共有のセーブデータに基づいて生成されてもよい。前記記憶媒体は、複数のプレイヤに共有の第１記憶領域と、プレイヤ毎に分けられた第２記憶領域とを有し、前記仮想空間を生成するためのセーブデータは前記第１記憶領域に記憶され、前記プレイヤキャラクタを生成するためのセーブデータは前記第２記憶領域に記憶されてもよい。
【００２４】
この構成によれば、共有のセーブデータと、プレイヤ毎のセーブデータとを別々で記憶することができる。
【００２５】
また、前記プロセッサは、前記複数のプレイヤのうちの１のプレイヤのセーブデータに基づいて、前記プレイヤキャラクタを生成し、当該プレイヤキャラクタを用いたシングルプレイゲーム処理を実行し、前記シングルプレイゲーム処理の実行中、第１の操作装置に対する操作に応じて第１のゲーム制御を行い、第２の操作装置に対する操作に応じて第２のゲーム制御を行ってもよい。また、前記プロセッサは、前記複数のプレイヤのセーブデータに基づいて、前記複数のプレイヤキャラクタを生成するとともに、前記複数のプレイヤキャラクタのうちの何れかを前記メインキャラクタに設定し、当該メインキャラクタ以外のプレイヤキャラクタを前記サブキャラクタに設定することにより、複数のプレイヤキャラクタを用いたマルチプレイゲーム処理を実行してもよい。前記プロセッサは、前記マルチプレイゲーム処理の実行中に、前記第１の操作装置に対する所定の切替操作に応じて、前記第１の操作装置の操作モードを第１モード又は第２モードに設定し、前記操作モードが前記第１モードのときには、前記第１の操作装置に対する操作に応じて第１のゲーム制御を行い、前記操作モードが前記第２モードのときには、前記第１の操作装置に対する操作に応じて前記第２のゲーム制御を行ってもよい。
【００２６】
この構成によれば、シングルプレイモードでゲームを行うときには第１の操作装置と第２の操作装置とを用いて異なるゲーム制御を行う、マルチプレイモードでゲームを行うときには第１の操作装置の操作モードを切り替えて、シングルプレイモードのときと同じゲーム制御を行うことができる。
【００２７】
また、他の発明は、上記処理を実行する情報処理装置であってもよいし、情報処理装置のプロセッサに上記処理を行わせるゲームプログラムであってもよいし、ゲームシステムにおいて行われるゲーム処理方法であってもよい。
【発明の効果】
【００２８】
本発明によれば、複数のプレイヤで行われるマルチプレイゲームにおいて、メインキャラクタを主としてゲームを行うことができるとともに、メインキャラクタとサブキャラクタとを切り替えることができるため、複数のプレイヤでバランスよくゲームを行うことができる。
【図面の簡単な説明】
【００２９】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】ゲームシステム１の本体装置２に記憶されるセーブデータの一例を示す図
【図９】プレイヤＡがシングルプレイモードでゲームを行っているときのゲーム画像の一例を示す図
【図１０】シングルプレイモードにおける左右のコントローラの各キーの割り当ての一例を示す図
【図１１】プレイヤＡ及びＢがマルチプレイモードでゲームを行っているときのゲーム画像の一例を示す図
【図１２】メインキャラクタであるプレイヤキャラクタ７０Ａが、図１１に示す状態から仮想空間の左方向に移動した後のゲーム画像の一例を示す図
【図１３】図１２に示す状態からプレイヤキャラクタ７０Ａがさらに左方向に移動した後のゲーム画像の一例を示す図
【図１４】サブキャラクタであるプレイヤキャラクタ７０Ｂが仮想カメラの視野外に出た後、仮想カメラの視野内にワープしたときのゲーム画像の一例を示す図
【図１５】図１１に示す状態からサブキャラクタであるプレイヤキャラクタ７０Ｂが仮想空間の左方向に移動した後のゲーム画像の一例を示す図
【図１６】図１５に示す状態からサブキャラクタがさらに左方向に移動した後のゲーム画像の一例を示す図
【図１７】メインキャラクタ及びサブキャラクタが装備アイテムとして釣り竿を装備している様子の一例を示す図
【図１８】メインキャラクタをプレイヤキャラクタ７０Ａからプレイヤキャラクタ７０Ｂに切り替えた後のゲーム画像の一例を示す図
【図１９】メインキャラクタに対応するコントローラが左コントローラ３である場合のメインキャラクタのキー割り当て（第１モード）の一例を示す図
【図２０】メインキャラクタに対応するコントローラが左コントローラ３である場合のメインキャラクタのキー割り当て（第２モード）の一例を示す図
【図２１】サブキャラクタに対応するコントローラが右コントローラ４である場合のサブキャラクタのキー割り当ての一例を示す図
【図２２】本体装置２（のＤＲＡＭ８５又はフラッシュメモリ８４）に記憶されるデータの一例を示す図
【図２３】本体装置２のプロセッサ８１において行われるゲーム処理の一例を示すフローチャート
【図２４】ステップＳ１０７のマルチプレイゲーム処理の一例を示すフローチャート
【図２５】図２４のステップＳ１２１のメインキャラクタ制御処理の一例を示すフローチャート
【図２６】図２４のステップＳ１２２のサブキャラクタ制御処理の一例を示すフローチャート
【発明を実施するための形態】
【００３０】
（システム構成）
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム１の一例は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステム１は、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステム１は、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。以下では、本実施形態のゲームシステム１のハードウェア構成について説明し、その後に本実施形態のゲームシステム１の制御について説明する。
【００３１】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３２】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３３】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００３４】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３５】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３６】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３７】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００３８】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００３９】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００４０】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４１】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４２】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００４３】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４４】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００４５】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４６】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００４７】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００４８】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００４９】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００５０】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００５１】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００５２】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００５３】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００５４】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００５５】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００５６】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００５７】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００５８】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００５９】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００６０】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００６１】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００６２】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００６３】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００６４】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００６５】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００６６】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００６７】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００６８】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００６９】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００７０】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００７１】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００７２】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００７３】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００７４】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００７５】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００７６】
（本実施形態のゲームの概要）
次に、ゲームシステム１において行われるゲームの概要について説明する。本実施形態のゲームでは、本体装置２において１つの「村」と呼ばれる仮想空間が形成される。村には、プレイヤに対応するプレイヤキャラクタが配置される。プレイヤは、仮想空間内でプレイヤキャラクタを移動させたり、所定の行動（アクション）を行わせたりすることで、ゲームを行う。
【００７７】
例えば、プレイヤキャラクタは、仮想空間内で移動して、他のキャラクタ（本体装置２によって制御されるノンプレイヤキャラクタ）に話しかけることができる。また、プレイヤキャラクタは、所定の行動として、地面を掘ったり、地面に土を盛ったりすることで仮想空間内に新たな地形を形成したり、家を建てたりすることで仮想空間をカスタマイズすることができる。
【００７８】
また、プレイヤキャラクタは、複数の装備アイテムを所有することができる。装備アイテムとして、例えば、スコップ、釣り竿、虫取り網、斧等がある。プレイヤキャラクタは、所有している複数の装備アイテムのうちの何れかを装備した状態で、その装備アイテムに応じた行動を行う。例えば、プレイヤキャラクタは、斧を装備し、斧を装備した状態で仮想空間内の木オブジェクトを切り、木を取得することができる。また、プレイヤキャラクタは、装備アイテムとして、釣り竿を装備し、仮想空間内の川や海等で魚釣りを行うことができる。また、プレイヤキャラクタは、装備アイテムとして虫取り網を装備し、虫取り網を用いて虫取りを行うことができる。木を切ったり、魚を釣ったり、虫を取ったりした場合は、その取得した木、魚、虫等の仮想オブジェクトを、そのプレイヤキャラクタの所有物として記憶することができる。また、プレイヤキャラクタは、装備アイテムを装備しなくても、仮想空間の地面に落ちている仮想オブジェクトを拾って自身の所有物とすることもできる。
【００７９】
なお、プレイヤキャラクタは、取得した仮想オブジェクトを装備アイテムに交換したり、取得した仮想オブジェクトから装備アイテムを作成したりすることもできる。
【００８０】
プレイヤキャラクタが所有する装備アイテムや仮想オブジェクト（取得した木、魚、虫等）に関するデータは、「プレイヤ用セーブデータ」として記憶される。また、プレイヤキャラクタが仮想空間（村）に新たな地形を形成したり、家を建てたりした場合、仮想空間の状態が変化し、仮想空間の状態に関するデータが「共有セーブデータ」として記憶される。
【００８１】
「共有セーブデータ」、及び、「プレイヤ用セーブデータ」は、本体装置２のフラッシュメモリ８４に記憶される。プレイヤがゲームを一旦終了し、ゲームを再開する場合、フラッシュメモリ８４に記憶された「共有セーブデータ」、及び、「プレイヤ用セーブデータ」が読み込まれる。これにより、セーブデータとして記憶された状態からゲームを再開することができる。
【００８２】
「共有セーブデータ」、及び、「プレイヤ用セーブデータ」は、ゲーム中の所定のタイミングで更新される。例えば、プレイヤキャラクタが装備アイテムを新たに取得した場合や、魚等の仮想オブジェクトを取得した場合には、その取得した装備アイテムや仮想オブジェクトに関するデータが、それを取得したタイミングで、プレイヤ用セーブデータとしてフラッシュメモリ８４に記憶される。また、プレイヤキャラクタが仮想空間に落ちている仮想オブジェクトを拾ったり、仮想空間に穴を掘ったりすることによって仮想空間の状態が変化した場合には、その変化のタイミングで、仮想空間の状態を示すデータが共有セーブデータとしてフラッシュメモリ８４に記憶される。なお、セーブデータとしてフラッシュメモリ８４に記憶されるタイミングは、どのようなタイミングでもよい。例えば、ゲーム中に仮想空間の状態が変化した場合や、プレイヤキャラクタの状態が変化した場合（例えば、所有物が変化した場合）、その変化した状態は一時的にＤＲＡＭ８５に記憶され、ゲームが終了するタイミングやゲームにおけるシーンが変化するタイミングで、その状態がセーブデータとしてフラッシュメモリ８４に保存されてもよい。また、プレイヤの指示に応じて、一時的にＤＲＡＭ８５に記憶された情報が、セーブデータとしてフラッシュメモリ８４に保存されてもよい。
【００８３】
ゲームシステム１は、一人のプレイヤによって使用される場合と、例えば、家族など複数のプレイヤによって共用される場合とがある。一人のプレイヤがゲームシステム１を使用して上記ゲームを行う場合、本体装置２には、１つの「共有セーブデータ」と、１つの「プレイヤ用セーブデータ」とが記憶される。この場合、仮想空間には、１のプレイヤキャラクタが存在する。
【００８４】
複数のプレイヤがゲームシステム１を共用して上記ゲームを行う場合、本体装置２には、１つの「共有セーブデータ」と、複数のプレイヤのそれぞれに対応する「プレイヤ用セーブデータ」とが記憶される。この場合、「共有セーブデータ」によって形成される仮想空間内において、全てのプレイヤがゲームをプレイすることになる。すなわち、各プレイヤは、同じ仮想空間において自身のプレイヤキャラクタを移動させたり、所定の行動を行わせたりする。
【００８５】
図８は、ゲームシステム１の本体装置２に記憶されるセーブデータの一例を示す図である。図８に示すように、本体装置２のフラッシュメモリ８４には、共有セーブデータ領域８４０と、プレイヤ用セーブデータ領域８４１とが設けられる。共有セーブデータ領域８４０には、１つの「共有セーブデータ」が記憶される。「共有セーブデータ」は、仮想空間に関するデータであり、例えば、地形、家や木等の仮想空間に配置されたオブジェクトに関するデータ（例えば、オブジェクトの形状や位置等に関するデータ）を含む。「共有セーブデータ」は、複数のプレイヤに共有されるデータである。
【００８６】
プレイヤ用セーブデータ領域８４１には、１又は複数のプレイヤ用セーブデータが記憶される。例えば、本体装置２において、プレイヤＡおよびプレイヤＢのアカウントが登録されており、プレイヤＡおよびプレイヤＢが本実施形態のゲームをプレイしたとする。この場合、プレイヤ用セーブデータとして、プレイヤＡ用セーブデータと、プレイヤＢ用セーブデータとが記憶される。なお、本実施形態では、本体装置２は、例えば最大で８つのプレイヤ用セーブデータを記憶することができる。
【００８７】
各プレイヤ用セーブデータは、プレイヤキャラクタデータと、装備アイテムデータと、仮想オブジェクトデータとを含む。プレイヤキャラクタデータは、プレイヤキャラクタの名前、顔、体型、服装等に関するデータである。プレイヤは、本実施形態のゲームを開始する際に、自身のプレイヤキャラクタを作成する。作成されたプレイヤキャラクタは、そのプレイヤのセーブデータとしてフラッシュメモリ８４に記憶される。また、装備アイテムデータは、そのプレイヤキャラクタが所有している１又は複数の装備アイテム（例えば、スコップ、釣り竿、虫取り網、斧等）を示すデータである。また、仮想オブジェクトデータは、ゲーム中にプレイヤキャラクタが装備アイテムを用いて取得した仮想オブジェクトに関するデータであり、例えば、上記魚や虫、木等の仮想オブジェクトに関するデータである。
【００８８】
本実施形態では、複数のプレイヤがゲームシステム１を共用する場合でも、基本的に、一人のプレイヤが、左右のコントローラを本体装置２に装着した状態（図１）、又は、左右のコントローラを本体装置２から分離した状態で、左右のコントローラを用いてゲームを行う。すなわち、各プレイヤは、基本的にはシングルプレイモードでゲームをプレイする。シングルプレイモードでは、例えばプレイヤＡがゲームをプレイしているときは、プレイヤＡ以外のプレイヤはゲームをプレイしない。
【００８９】
図９は、プレイヤＡがシングルプレイモードでゲームを行っているときのゲーム画像の一例を示す図である。
【００９０】
プレイヤＡは左コントローラ３および右コントローラ４を用いてゲームを行う。例えば、プレイヤＡは、本体装置２に左コントローラ３および右コントローラ４を装着してゲームを行ってもよい。この場合、プレイヤＡは、ディスプレイ１２に表示されたゲーム画像を見ながらゲームを行う。また、プレイヤＡは、図９に示すように、左コントローラ３および右コントローラ４を本体装置２から切り離して固定装置３５０に固定し、ゲームを行ってもよい。この場合、プレイヤＡは、ディスプレイ１２又は据置型モニタに表示されたゲーム画像を見ながらゲームを行う。
【００９１】
プレイヤＡがゲームを開始する場合、本体装置２から共有セーブデータおよびプレイヤＡ用セーブデータが読み込まれる。例えば、図９に示すように、仮想空間には地面オブジェクト７５が配置され、地面オブジェクト７５上に、木オブジェクト７８が配置されている。また、仮想空間には、川オブジェクト７６が配置されている。これらの仮想空間を形成するオブジェクトは、共有セーブデータに基づいて生成される。
【００９２】
また、地面オブジェクト７５上には、プレイヤＡに対応するプレイヤキャラクタ７０Ａが配置される。プレイヤキャラクタ７０Ａは、プレイヤＡ用セーブデータに基づいて生成される。プレイヤキャラクタ７０Ａは、プレイヤＡによって作成された（カスタマイズされた）キャラクタであり、プレイヤＡによる左右のコントローラに対する操作に応じて制御される。プレイヤＡがシングルプレイモードでゲームをプレイする場合、プレイヤキャラクタとして、プレイヤキャラクタ７０Ａのみが仮想空間に登場する。なお、プレイヤＡによるシングルプレイモードでのゲーム中に、本体装置２によって制御される他のキャラクタ（ノンプレイヤキャラクタ）が、仮想空間に登場する場合がある。
【００９３】
プレイヤＡは、左コントローラ３及び右コントローラ４を操作して仮想空間においてプレイヤキャラクタ７０Ａを移動させたり、プレイヤキャラクタ７０Ａに所定の行動（アクション）を行わせたりする。シングルプレイモードでは、仮想空間に配置された仮想カメラは、プレイヤキャラクタの背後の所定位置に設定され、プレイヤキャラクタの移動に応じて仮想カメラも移動する。
【００９４】
以下、シングルプレイモードにおける左右のコントローラを用いた操作の一例について説明する。
【００９５】
図１０は、シングルプレイモードにおける左右のコントローラの各キーの割り当ての一例を示す図である。図１０に示すように、例えば、左コントローラ３のアナログスティック３２は、プレイヤキャラクタの移動方向を指定するために用いられる。また、左コントローラ３の右方向ボタン３３は、装備アイテムメニューを表示させるために用いられる。装備アイテムメニューは、プレイヤキャラクタが所有している装備アイテムの一覧を表示し、一覧の中から装備アイテムを選択したりするために用いられる。また、左コントローラ３の下方向ボタン３４および上方向ボタン３５は、プレイヤキャラクタに装備させる装備アイテムを変更するために用いられ、下方向ボタン３４又は上方向ボタン３５が押下されると、プレイヤキャラクタが装備する装備アイテムが順に変更される。また、左コントローラ３の左方向ボタン３６は、装備アイテムをしまう（プレイヤキャラクタが装備アイテムを装備しないようにする）ために用いられる。
【００９６】
また、右コントローラ４のアナログスティック５２は、仮想カメラの位置および姿勢を制御するために用いられる。例えば、仮想カメラは、アナログスティック５２に対する操作に応じて、プレイヤキャラクタを向きながらプレイヤキャラクタを中心として仮想空間の上方向に移動可能に構成されている。仮想カメラの位置及び姿勢が変更されても、仮想カメラの視野内にはプレイヤキャラクタが存在するようになる。
【００９７】
右コントローラ４のＡボタン５３は、装備アイテムに応じた行動をプレイヤキャラクタに行わせるために用いられる。また、右コントローラ４のＢボタン５４は、プレイヤキャラクタにダッシュを行わせるために用いられる。Ｂボタン５４が押下されながらアナログスティック３２が傾倒された場合、アナログスティック３２の傾倒方向にプレイヤキャラクタがダッシュで移動する。Ｂボタン５４が押下されていない状態でアナログスティック３２が傾倒された場合、プレイヤキャラクタは、アナログスティック３２の傾倒方向に歩いて移動する。また、右コントローラ４のＸボタン５５は、仮想オブジェクトメニューを表示させるために用いられる。仮想オブジェクトメニューは、プレイヤキャラクタがゲーム中に取得した仮想オブジェクト（取得した魚や虫、木等）の一覧を表示したり、仮想オブジェクトを選択したり、選択した仮想オブジェクトを他のオブジェクト（例えば、装備アイテム）に交換したりするために用いられる。また、右コントローラ４のＹボタン５６は、プレイヤキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせるために用いられる。
【００９８】
なお、図１０に示したキー割り当ては単なる一例であり、左右のコントローラの各キーと、そのキーに対応するゲーム制御の割り当ては適宜変更されてもよい。
【００９９】
例えば、プレイヤＡが仮想空間内でゲームを行い、仮想空間の状態が変化すると、その状態が共有セーブデータとして本体装置２に記憶される。例えば、プレイヤＡがゲーム中に、仮想空間の所定位置に家オブジェクト７７を建設した場合、その情報が共有セーブデータとして記憶される。
【０１００】
プレイヤＡがゲームを終了した後、例えば、プレイヤＢがゲームシステム１を用いてゲームを開始することができる。このとき、本体装置２に記憶された共有セーブデータおよびプレイヤＢ用セーブデータが読み込まれる。共有セーブデータおよびプレイヤＢ用セーブデータが読み込まれると、プレイヤＢに対応するプレイヤキャラクタ７０Ｂが仮想空間に出現する。これにより、プレイヤＡがゲームを終了したときの仮想空間の状態で、プレイヤＢによるゲームが開始される。プレイヤＢがシングルプレイモードでゲームをプレイする場合も、上記と同様である。
【０１０１】
（マルチプレイモード）
本実施形態のゲームでは、各プレイヤは基本的に、ゲームシステム１を用いてシングルプレイモードでゲームをプレイするが、同時に複数のプレイヤでゲームを行うマルチプレイモードでもゲームを行うことができる。
【０１０２】
例えば、プレイヤＡがシングルプレイモードでゲームをプレイしているときに、プレイヤＡの所定の操作によって、他のプレイヤのプレイヤキャラクタを呼び出すことができる。例えば、プレイヤＡがゲームのプレイ中に、プレイヤＢを呼ぶ操作を行った場合、プレイヤＢのプレイヤキャラクタ７０Ｂが仮想空間に追加される。プレイヤＡは、シングルプレイ中に自身が使用していた左右のコントローラのうち、例えば、右コントローラ４をプレイヤＢに渡す。以降のマルチプレイモードにおいては、プレイヤＡは、左コントローラ３を用いて自身のプレイヤキャラクタ７０Ａを操作し、プレイヤＢは、右コントローラ４を用いて自身のプレイヤキャラクタ７０Ｂを操作する。
【０１０３】
図１１は、プレイヤＡ及びＢがマルチプレイモードでゲームを行っているときのゲーム画像の一例を示す図である。
【０１０４】
マルチプレイモードでも、シングルプレイモードと同様に１つの仮想カメラから仮想空間を見たゲーム画像が生成され、当該ゲーム画像が一画面に表示される。マルチプレイモードでは、現在仮想空間に存在する複数のプレイヤキャラクタのうちの１のプレイヤキャラクタがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定される。具体的には、初期的には、呼び出した側のプレイヤキャラクタがメインキャラクタに設定され、呼び出された側のプレイヤキャラクタは、サブキャラクタに設定される。
【０１０５】
例えば、プレイヤＡがシングルプレイモードでゲームをプレイ中に、プレイヤＢに対応するプレイヤキャラクタ７０Ｂを呼び出した場合、プレイヤＡに対応するプレイヤキャラクタ７０Ａがメインキャラクタとして設定され、プレイヤＢに対応するプレイヤキャラクタ７０Ｂがサブキャラクタとして設定される。さらにプレイヤＣに対応するプレイヤキャラクタ７０Ｃが呼び出された場合は、プレイヤキャラクタ７０Ｃもサブキャラクタとして設定される。
【０１０６】
メインキャラクタであるプレイヤキャラクタ７０Ａには、現在メインキャラクタに設定されていることを示す旗オブジェクト７１が付加される。
【０１０７】
プレイヤＡは、メインキャラクタであるプレイヤキャラクタ７０Ａに対して、シングルプレイモードにおける操作と同様の操作が可能である。すなわち、プレイヤＡは、プレイヤキャラクタ７０Ａを、仮想空間内で移動（歩き又はダッシュ）させたり、装備アイテムを用いて所定の行動を行わせたりすることができる。また、プレイヤＡは、プレイヤキャラクタ７０Ａに装備させる装備アイテムを選択したり、仮想空間に落ちているものを拾ったりすることができる。また、プレイヤＡは、仮想カメラを制御することもできる。なお、マルチプレイモードにおけるキー割り当てについては後述する。
【０１０８】
また、プレイヤＢは、サブキャラクタであるプレイヤキャラクタ７０Ｂを、仮想空間内で移動（歩き又はダッシュ）させたり、装備アイテムを用いて所定の行動を行わせたりすることができる。しかしながら、サブキャラクタに対する操作は制限される。例えば、プレイヤＢは、サブキャラクタであるプレイヤキャラクタ７０Ｂに装備させる装備アイテムを選択することはできない。また、プレイヤキャラクタ７０Ｂの移動範囲は制限される。以下、マルチプレイモードにおけるメインキャラクタおよびサブキャラクタの制御について説明する。
【０１０９】
図１２は、メインキャラクタであるプレイヤキャラクタ７０Ａが、図１１に示す状態から仮想空間の左方向に移動した後のゲーム画像の一例を示す図である。
【０１１０】
図１２に示すように、メインキャラクタであるプレイヤキャラクタ７０Ａが仮想空間の左方向に移動した場合、仮想カメラの視野内にメインキャラクタが入るように仮想カメラが制御される。メインキャラクタとサブキャラクタとの距離が所定以下である場合、メインキャラクタ及びサブキャラクタの両方が仮想カメラの視野に含まれるように、仮想カメラが制御される。具体的には、仮想カメラの注視点が、メインキャラクタとサブキャラクタとの中点（中心位置）に設定され、仮想カメラの視野にメインキャラクタが含まれるように、仮想カメラが移動される。なお、複数のサブキャラクタが仮想空間に存在する場合、仮想カメラの注視点は、メインキャラクタと複数のサブキャラクタとの中心位置に設定される。メインキャラクタと複数のサブキャラクタとの中心位置は、各プレイヤキャラクタの座標値に基づいて算出される。
【０１１１】
図１３は、図１２に示す状態からプレイヤキャラクタ７０Ａがさらに左方向に移動した後のゲーム画像の一例を示す図である。
【０１１２】
図１３に示すように、図１２に示す状態からメインキャラクタがさらに左方向に移動した場合、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラが仮想空間の左方向に移動する。すなわち、仮想カメラは、常にメインキャラクタが視野内に含まれるように、メインキャラクタに追従して移動する。仮想カメラの視野内に常にメインキャラクタが含まれるのであれば、仮想カメラの位置を決定する方法はどのようなものでもよい。例えば、メインキャラクタとサブキャラクタとの中心位置に仮想カメラの注視点を設定した場合にメインキャラクタが仮想カメラの視野内に入るか否かを判定し、メインキャラクタが仮想カメラの視野内に入らない場合は、仮想カメラの注視点とメインキャラクタとの距離が所定以内となるように、仮想カメラの注視点をメインキャラクタ側に設定してもよい。また、メインキャラクタとサブキャラクタとの中心位置を算出し、当該中心位置がメインキャラクタから所定以上離れているか否かを判定し、中心位置がメインキャラクタから所定以上離れている場合は、仮想カメラの注視点とメインキャラクタとの距離が所定以内となるように、仮想カメラの注視点をメインキャラクタ側に設定してもよい。
【０１１３】
一方、サブキャラクタについては、メインキャラクタからの距離が所定以上となり、サブキャラクタであるプレイヤキャラクタ７０Ｂは、仮想カメラの視野外に出る。プレイヤキャラクタ７０Ｂが仮想カメラの視野外に出た場合、図１３に示すように、プレイヤキャラクタ７０Ｂの位置を示唆する位置示唆画像７２が表示される。位置示唆画像７２によって示される方向にプレイヤキャラクタ７０Ｂが存在している。この位置示唆画像７２には、プレイヤキャラクタ７０Ｂを模した画像が含まれてもよい。サブキャラクタであるプレイヤキャラクタ７０Ｂが、仮想カメラの視野外に出てから所定時間（例えば、５秒）が経過すると、プレイヤキャラクタ７０Ｂは、仮想カメラの視野内の所定位置に瞬間的に移動（ワープ）する。
【０１１４】
図１４は、サブキャラクタであるプレイヤキャラクタ７０Ｂが仮想カメラの視野外に出た後、仮想カメラの視野内にワープしたときのゲーム画像の一例を示す図である。
【０１１５】
図１４に示すように、サブキャラクタが仮想カメラの視野外に出てから所定時間が経過すると、サブキャラクタは、仮想カメラの視野内（メインキャラクタの近傍）に瞬間的に移動する。図１４に示すゲーム画像の後、仮想カメラの注視点がメインキャラクタとサブキャラクタとの中点に設定される。
【０１１６】
なお、サブキャラクタが仮想カメラの視野外に出てから所定時間が経過するまでは、サブキャラクタはプレイヤの操作に応じて移動可能であり、プレイヤによって仮想カメラの視野内への方向が指示された場合には、サブキャラクタは自ら仮想カメラの視野内に戻る。
【０１１７】
このように、マルチプレイモードにおいて、メインキャラクタは、シングルプレイモードと同様に、仮想空間内を自由に移動することができ、メインキャラクタの移動に追従して仮想カメラも移動する。メインキャラクタおよびサブキャラクタが仮想カメラの視野内に含まれるように、仮想カメラが移動する。仮想カメラの移動によってサブキャラクタが視野内に含まれなくなる場合、メインキャラクタを優先して、メインキャラクタが視野内に含まれるように仮想カメラが制御される。サブキャラクタが仮想カメラの視野外に出た場合、仮想カメラの視野内にサブキャラクタが含まれるように、サブキャラクタが移動する。
【０１１８】
次に、サブキャラクタの移動について説明する。図１５は、図１１に示す状態からサブキャラクタであるプレイヤキャラクタ７０Ｂが仮想空間の左方向に移動した後のゲーム画像の一例を示す図である。
【０１１９】
図１５に示すように、図１１に示す状態からプレイヤＢがアナログスティック５２の左方向を入力すると、サブキャラクタであるプレイヤキャラクタ７０Ｂが仮想空間内で移動する。サブキャラクタが仮想空間内で移動した場合も、メインキャラクタとサブキャラクタとの距離が所定以下である場合、仮想カメラの注視点がメインキャラクタとサブキャラクタとの中点に位置するように、仮想カメラが制御される。図１１と図１５とを比較すると、家オブジェクト７７は画面の右方向に移動しており、仮想カメラは仮想空間内で左方向に移動していることが分かる。
【０１２０】
図１５に示す状態からプレイヤＢがアナログスティック５２の左方向を入力し、サブキャラクタがさらに左方向に移動すると、その移動に応じて仮想カメラも左方向に移動する。
【０１２１】
図１６は、図１５に示す状態からサブキャラクタがさらに左方向に移動した後のゲーム画像の一例を示す図である。図１６に示すように、サブキャラクタが画面の左端まで移動した場合、さらにプレイヤＢが左方向を入力しても、サブキャラクタはそれ以上左方向に移動しない。また、仮想カメラもそれ以上左方向に移動しない。すなわち、サブキャラクタが画面の端に表示されている場合、サブキャラクタが画面から出る方向への入力が行われても、サブキャラクタはそれ以上移動しない。
【０１２２】
つまり、サブキャラクタは、サブキャラクタに対する操作によっては、仮想カメラの視野外には移動しない。しかしながら、図１３で示したように、サブキャラクタは、メインキャラクタに対する操作によっては、仮想カメラの視野外に移動することはある。
【０１２３】
次に、メインキャラクタ及びサブキャラクタが装備アイテムを装備し、装備アイテムに対応する行動を行うことについて説明する。図１７は、メインキャラクタ及びサブキャラクタが装備アイテムとして釣り竿を装備している様子の一例を示す図である。
【０１２４】
メインキャラクタであるプレイヤキャラクタ７０Ａは、複数の装備アイテムを所有しており、そのうちの１つとして釣り竿７３を所有している。プレイヤＡが、左コントローラ３を用いて釣り竿７３を選択する操作を行うと、プレイヤキャラクタ７０Ａは、釣り竿７３を装備する。この釣り竿７３の装備により、釣り竿７３に応じた行動（魚釣り）が選択されたことになる。プレイヤキャラクタ７０Ａが釣り竿７３を装備すると、サブキャラクタであるプレイヤキャラクタ７０Ｂも、同じ釣り竿７３を装備する。
【０１２５】
具体的には、プレイヤキャラクタ７０Ｂが釣り竿を所有している場合、プレイヤキャラクタ７０Ａによる釣り竿７３の装備に応じて、プレイヤキャラクタ７０Ｂも同じ釣り竿７３を装備する。このプレイヤキャラクタ７０Ｂが装備する釣り竿７３は、プレイヤキャラクタ７０Ｂが所有する装備アイテムであり、プレイヤＢ用のセーブデータに記憶されているアイテムである。プレイヤキャラクタ７０Ｂが釣り竿を所有していない場合は、プレイヤキャラクタ７０Ａが釣り竿７３を装備しても、プレイヤキャラクタ７０Ｂは何れの装備アイテムも装備しない。
【０１２６】
釣り竿７３を装備したプレイヤキャラクタ７０Ａおよびプレイヤキャラクタ７０Ｂは、プレイヤＡおよびプレイヤＢのそれぞれの操作に応じて魚釣りを行う。例えば、プレイヤキャラクタ７０Ａが川オブジェクト７６の中にいる魚オブジェクト７４を向いているときに、所定の操作が行われた場合、プレイヤキャラクタ７０Ａが釣り竿７３を投げる動作を行い、魚オブジェクト７４を釣る。すると、当該魚オブジェクト７４は、プレイヤキャラクタ７０Ａの所有する仮想オブジェクトとして、プレイヤＡ用セーブデータに記憶される。このように、メインキャラクタおよびサブキャラクタは、メインキャラクタのプレイヤの操作に応じて、同じ装備アイテムを装備し、装備アイテムに関連付けられた同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有し、連帯感を持たせることができる。
【０１２７】
なお、メインキャラクタに対応するプレイヤは、プレイヤキャラクタにどの装備アイテムを装備させるかを選択することはできるが、サブキャラクタに対応するプレイヤは、装備アイテムを選択することはできない。
【０１２８】
また、マルチプレイモードにおいても、メインキャラクタは、例えば、所有している仮想オブジェクトから装備アイテムを作成したり、仮想オブジェクトを装備アイテムと交換したりすることができる。しかしながら、サブキャラクタは、装備アイテムの作成や交換を行うことはできない。
【０１２９】
このように、メインキャラクタは、移動、装備アイテムの選択、装備アイテムに対応する行動等を行うことができる。一方、サブキャラクタは、移動および装備アイテムに対応する行動を行うことができるが、装備アイテムを選択することはできない。また、サブキャラクタの移動範囲も、メインキャラクタの位置に基づいて制限される。
【０１３０】
なお、同じ行動に関連付けられた装備アイテムに、機能や性能、効果の異なる複数のバージョンがあってもよい。例えば、メインキャラクタが所定の行動に関連付けられた第１のバージョンの装備アイテムを所有しており、メインキャラクタが当該第１のバージョンの装備アイテムを装備した場合、サブキャラクタが、所有している同じ行動に関連付けられた第２のバージョンの装備アイテムを装備してもよい。例えば、装備アイテムとして、金の斧と銀の斧とがあるとする。金の斧と銀の斧とは、共に同じ行動（木を切る行動）に関連付けられている装備アイテムである。メインキャラクタが金の斧を所有しており、サブキャラクタが銀の斧を所有している場合、メインキャラクタが金の斧を装備したことに応じて、サブキャラクタが銀の斧を装備してもよい。すなわち、メインキャラクタが所定の装備アイテム（金の斧）を装備することによって、実行可能な行動として木を切る行動を選択した場合、サブキャラクタが同じ行動（木を切る行動）に関連付けられた装備アイテム（銀の斧）を所有している場合には、サブキャラクタは、その同じ行動に関連付けられた装備アイテム（銀の斧）を装備してもよい。
【０１３１】
また、サブキャラクタがその装備アイテムを所有しているか否かに関わらず、サブキャラクタに、メインキャラクタと同じ装備アイテム（又は、同じ行動に関連付けられた装備アイテム）を装備させてもよい。これにより、サブキャラクタがメインキャラクタと同じ行動を実行可能にしてもよい。
【０１３２】
また、メインキャラクタとサブキャラクタとで異なる装備アイテムを装備可能であってもよい。例えば、プレイヤＡの操作に応じてメインキャラクタであるプレイヤキャラクタ７０Ａに釣り竿を装備させ、プレイヤＢの操作に応じてサブキャラクタであるプレイヤキャラクタ７０Ｂにスコップを装備させてもよい。この場合、プレイヤキャラクタ７０Ａおよびプレイヤキャラクタ７０Ｂは、互いに異なる行動を実行可能となる。また、サブキャラクタが、メインキャラクタの装備する装備アイテムと同じ装備アイテムを所有している場合には、サブキャラクタに同じ装備アイテムを装備させ、サブキャラクタが同じ装備アイテムを所有していない場合には、所有している異なる装備アイテムをサブキャラクタに装備させてもよい。
【０１３３】
（メインキャラクタとサブキャラクタの切り替え）
本実施形態では、メインキャラクタに対応するプレイヤの操作に応じて、メインキャラクタとサブキャラクタとを切り替えることができる。すなわち、メインキャラクタとして設定されているプレイヤキャラクタをサブキャラクタに、サブキャラクタとして設定されているプレイヤキャラクタをメインキャラクタに切り替えることができる。図１８は、メインキャラクタをプレイヤキャラクタ７０Ａからプレイヤキャラクタ７０Ｂに切り替えた後のゲーム画像の一例を示す図である。
【０１３４】
例えば、プレイヤキャラクタ７０Ａがメインキャラクタに設定されている場合、プレイヤキャラクタ７０Ａに対応する左コントローラ３に対する所定の指示操作（例えばマイナスボタン４７の押下）が行われると、メインキャラクタをどのプレイヤキャラクタに切り替えるかを選択するための画像が表示される。このとき、プレイヤＢが右コントローラ４を用いてメインキャラクタへの切り替えのための所定の操作を行う。すると、プレイヤＢに対応するプレイヤキャラクタ７０Ｂがメインキャラクタに設定され、プレイヤキャラクタ７０Ａはサブキャラクタに設定される。以降、プレイヤキャラクタ７０Ｂはメインキャラクタとして制御され、プレイヤキャラクタ７０Ａは、サブキャラクタとして制御される。具体的には、上記と同様に、プレイヤキャラクタ７０Ｂが常に仮想カメラの視野内に入るように仮想カメラが制御される。また、プレイヤキャラクタ７０Ｂが装備アイテムを装備した場合には、同じ装備アイテムをプレイヤキャラクタ７０Ａが所有している場合、プレイヤキャラクタ７０Ａも同じ装備アイテムを装備することになる。
【０１３５】
プレイヤキャラクタ７０Ｂがメインキャラクタに、プレイヤキャラクタ７０Ａがサブキャラクタに設定された状態で、メインキャラクタに対応するプレイヤＢの操作に基づいてマルチプレイモードの終了が指示された場合、シングルプレイモードに戻る。このとき、プレイヤキャラクタ７０Ｂによるシングルプレイモードでのゲームが再開される。
【０１３６】
（マルチプレイモードにおけるキー割り当て）
次に、マルチプレイモードにおける各コントローラのキー割り当てについて説明する。上述のように、シングルプレイモードでは、プレイヤは基本的に左右両方のコントローラを用いてゲームを行う。一方、マルチプレイモードでは、各プレイヤは、左右何れかのコントローラを用いてゲームを行う。例えば、プレイヤＡは、左コントローラ３を用いてメインキャラクタとして設定されているプレイヤキャラクタ７０Ａを操作する。また、プレイヤＢは、右コントローラ４を用いてサブキャラクタとして設定されているプレイヤキャラクタ７０Ｂを操作する。
【０１３７】
マルチプレイモードでは、各プレイヤは、左右何れかのコントローラを用いてゲームを行うため、マルチプレイモードにおいて、シングルプレイモードにおけるキーと同じキーをゲーム操作に割り当てることはできない。本実施形態では、マルチプレイモードにおけるメインキャラクタについて、コントローラの操作モードを第１モード（デフォルトのモード）と第２モード（切り替え後のモード）とで切り替えるようにする。
【０１３８】
図１９は、メインキャラクタに対応するコントローラが左コントローラ３である場合のメインキャラクタのキー割り当て（第１モード）の一例を示す図である。
【０１３９】
シングルプレイモードからマルチプレイモードに切り替えられた場合、デフォルトでは、コントローラの操作モードは第１モードとなる。図１９に示すように、第１モードでは、左コントローラ３のアナログスティック３２は、メインキャラクタの移動方向の指定に用いられる。また、左コントローラ３の下方向ボタン３４は、装備アイテムに対応する行動をプレイヤキャラクタに行わせるために用いられる。左コントローラ３の左方向ボタン３６は、プレイヤキャラクタにダッシュを行わせるために用いられる。また、左コントローラ３の右方向ボタン３３は、仮想オブジェクトメニューを表示させるために用いられる。また、左コントローラ３の上方向ボタン３５は、プレイヤキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせるために用いられる。
【０１４０】
左コントローラ３の操作モードが第１モードである場合において、所定の切替操作（例えば、アナログスティック３２を押下する操作）が行われた場合、左コントローラ３の操作モードが第２モードに切り替わる。
【０１４１】
図２０は、メインキャラクタに対応するコントローラが左コントローラ３である場合のメインキャラクタのキー割り当て（第２モード）の一例を示す図である。
【０１４２】
図２０に示すように、第２モードでは、左コントローラ３のアナログスティック３２は、仮想カメラの位置および姿勢を制御するために用いられる。また、左コントローラ３の左方向ボタン３６および右方向ボタン３３は、プレイヤキャラクタに装備させる装備アイテムを変更するために用いられる。左コントローラ３の上方向ボタン３５は、装備アイテムをしまう（プレイヤキャラクタが装備アイテムを装備しないようにする）ために用いられる。また、左コントローラ３の下方向ボタン３４は、装備アイテムメニューを表示させるために用いられる。
【０１４３】
なお、コントローラの操作モードが第１モードであるときと、第２モードであるときとでは、メインキャラクタの表示態様が異なり、これによりプレイヤは、現在どのモードかを判別することができる。
【０１４４】
図１９及び図２０から明らかなように、マルチプレイモードにおいても、プレイヤは、メインキャラクタに対してシングルプレイモードと同じ操作を行うことができる。図１０に示すシングルプレイモードにおけるキー割り当てと、図１９及び図２０に示すマルチプレイモードにおけるキー割り当てとを比較すると、マルチプレイモードにおいて操作モードが第１モードに設定されている場合には、左コントローラ３のアナログスティック３２、ボタン３４，３６，３３，３５は、シングルプレイモードにおける左コントローラ３のアナログスティック３２、右コントローラ４のボタン５３〜５６にそれぞれ対応する。また、マルチプレイモードにおいて操作モードが第２モードに設定されている場合には、左コントローラ３のアナログスティック３２、ボタン３４，３６，３３，３５は、シングルプレイモードにおける右コントローラ４のアナログスティック５２、左コントローラ３のボタン３３〜３６にそれぞれ対応する。
【０１４５】
シングルプレイモードでは、左コントローラ３及び右コントローラ４は縦長の姿勢でプレイヤに把持されるが（図９参照）、マルチプレイモードでは、左コントローラ３は横長の姿勢でプレイヤに把持される（図１１）。コントローラを縦長の姿勢で把持するときと横長の姿勢で把持するときとでは、ボタン３３〜３６のプレイヤからの見た目上の配置が異なる。このため、プレイヤから見たときのキーの配置がシングルプレイモードとマルチプレイモードとで同じになるように、各キーにゲーム操作が割り当てられる。例えば、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、シングルプレイモードでもマルチプレイモードでも、プレイヤから見て右側のボタンである。具体的には、シングルプレイモードでは、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、右コントローラ４のＡボタン５３（右手で押下されるボタンのうち最も右側のボタン）である。マルチプレイモードでは、装備アイテムに対応する行動をプレイヤキャラクタに行わせるための操作は、左コントローラ３の下方向ボタン３４（右手で押下されるボタンのうち最も右側のボタン）である。
【０１４６】
このように、マルチプレイモードにおいては、１つのコントローラの操作モードを第１モードと第２モードとに切り替えて、異なるゲーム制御が行われる。例えば、第１モードでは、ゲーム制御として、プレイヤキャラクタに対する移動制御、プレイヤキャラクタに装備アイテムに応じた行動を行わせる制御、プレイヤキャラクタが所有している仮想オブジェクトに対する制御が行われる。また、第２モードでは、ゲーム制御として、仮想カメラに対する制御、プレイヤキャラクタに装備させる装備アイテムを選択する制御が行われる。これにより、プレイヤが行えるゲーム制御の種類に対してコントローラのキーの数が少なくても、プレイヤは、様々なゲーム制御を行うことができる。なお、シングルプレイモードにおいても、１つのコントローラの操作モードを第１モードと第２モードとで切り替えて、異なるゲーム制御を行ってもよい。
【０１４７】
図２１は、サブキャラクタに対応するコントローラが右コントローラ４である場合のサブキャラクタのキー割り当ての一例を示す図である。
【０１４８】
図２１に示すように、例えば右コントローラ４のアナログスティック５２は、サブキャラクタの移動方向の指定に用いられる。また、右コントローラ４のＸボタン５５は、装備アイテムに対応する行動をプレイヤキャラクタに行わせるために用いられる。右コントローラ４のＡボタン５３は、プレイヤキャラクタにダッシュを行わせるために用いられる。
【０１４９】
また、右コントローラ４のＢボタン５４は、サブキャラクタの近傍に所定画像を再表示させるために用いられる。この所定画像は、例えば、プレイヤキャラクタの感情を表現するための画像であり、予め複数用意される。
【０１５０】
プレイヤは、メニューから選択してプレイヤキャラクタの近傍に所定画像を表示させることができる。例えば、コントローラの所定のボタン（例えば、第２Ｒボタン４４、又は、第２Ｒボタン６６）が押下されると、所定画像を選択するためのメニューが表示され、当該メニューにおいて複数の所定画像の中から何れかが選択されると、選択された所定画像がプレイヤキャラクタの近傍に表示される。当該メニューから所定画像を選択して表示させる操作は、シングルプレイモードでも、マルチプレイモードにおけるメインキャラクタ及びサブキャラクタでも可能である。マルチプレイモードにおけるサブキャラクタに対する操作として、Ｂボタン５４が押下された場合、直前にメニューから選択された所定画像が再表示される。この所定画像の再表示のためのボタンは、サブキャラクタに対してのみ割り当てられる。すなわち、マルチプレイモードにおけるメインキャラクタについては、所定画像の再表示のためのボタンは割り当てられない。また、シングルプレイモードにおいても、所定画像の再表示のためのボタンは割り当てられない。
【０１５１】
なお、図１９及び図２０では、左コントローラ３を用いてメインキャラクタを操作する例について示したが、右コントローラ４を用いてメインキャラクタを操作する場合も、キーの割り当ては同じである。すなわち、図１９及び図２０の左コントローラ３のアナログスティック３２、ボタン３３〜３６は、右コントローラ４のアナログスティック５２、ボタン５３〜５６にそれぞれ置き換えられる。また、図２１では、右コントローラ４を用いてサブキャラクタを操作する例について示したが、左コントローラ３を用いてサブキャラクタを操作する場合も、キーの割り当ては同じである。すなわち、図２１の右コントローラ４のアナログスティック５２、ボタン５３〜５６は、左コントローラ３のアナログスティック３２、ボタン３３〜３６にそれぞれ置き換えられる。
【０１５２】
また、上記では二人でマルチプレイゲームを行う場合について説明したが、本実施形態では、最大で４人まで同時にゲームを行うことができる。例えば、４人でマルチプレイゲームを行う場合、２台の左コントローラ３と、２台の右コントローラ４とが本体装置２に無線で接続される。各コントローラに対して１のプレイヤキャラクタが対応付けられ、各コントローラに対する操作に応じて、対応するプレイヤキャラクタが制御される。４つのプレイヤキャラクタのうちの何れかがメインキャラクタに、それ以外の３つのプレイヤキャラクタがサブキャラクタに設定される。
【０１５３】
以上のように、本実施形態のゲームでは、プレイヤは、シングルプレイモードでゲームを行っているときに、他のプレイヤの呼び出しを行うことができる。他のプレイヤの呼び出しを行った場合、初期的には、呼び出した側のプレイヤキャラクタが、メインキャラクタに設定され、呼び出された側のプレイヤキャラクタがサブキャラクタに設定される。仮想空間には、メインキャラクタとサブキャラクタが配置され、メインキャラクタとサブキャラクタとが仮想カメラの視野内に含まれるように、制御される。具体的には、仮想カメラは、メインキャラクタに追従して移動し、常に仮想カメラの視野内にメインキャラクタが含まれるように制御される。また、仮想カメラの視野外にサブキャラクタが出た場合、仮想カメラの視野内にサブキャラクタが移動する。
【０１５４】
また、メインキャラクタは、プレイヤの操作に応じて装備アイテムを選択することで、装備アイテムに対応する行動を実行可能となる。サブキャラクタにメインキャラクタと同じ装備アイテム、又は、同じ行動に関連付けられた装備アイテムを装備させることで、サブキャラクタは、メインキャラクタと同じ行動を実行可能となる。これにより、複数のプレイヤ間で行動を共有することができる。
【０１５５】
（ゲーム処理の詳細）
次に、本体装置２において行われるゲーム処理の一例について具体的に説明する。まず、本体装置２に記憶されるデータについて説明する。
【０１５６】
図２２は、本体装置２（のＤＲＡＭ８５又はフラッシュメモリ８４）に記憶されるデータの一例を示す図である。なお、以下では、プレイヤＡおよびプレイヤＢの二人でマルチプレイゲームを行う場合について説明する。
【０１５７】
図２２に示すように、本体装置２には、ゲームプログラムと、共有セーブデータと、プレイヤＡデータと、プレイヤＢデータと、仮想カメラデータとが記憶される。これらの他にも、ゲームに必要な様々なデータが記憶される。
【０１５８】
ゲームプログラムは、本実施形態のゲーム処理を実行するためのプログラムである。ゲームプログラムは、例えば外部記憶媒体に記憶されており、ゲームが開始されると、外部記憶媒体からＤＲＡＭ８５に読み込まれる。
【０１５９】
プレイヤＡデータは、プレイヤＡに関するデータであり、プレイヤＡ用のセーブデータを含む。プレイヤＡ用のセーブデータとして、プレイヤキャラクタデータと、装備アイテムデータと、仮想オブジェクトデータとを含む。プレイヤキャラクタデータは、プレイヤＡによって作成されたプレイヤキャラクタ７０Ａの名前、顔、体型、服装等に関するデータである。装備アイテムデータは、プレイヤキャラクタ７０Ａが所有する装備アイテムに関するデータである。また、仮想オブジェクトデータは、プレイヤキャラクタ７０Ａが所有する仮想オブジェクト（魚や虫等）に関するデータである。
【０１６０】
また、ゲームの実行中に用いられるプレイヤキャラクタ７０Ａに関するデータとして、位置データ、使用中アイテムデータ、メインキャラクタフラグ等が記憶される。位置データは、プレイヤキャラクタ７０Ａの現在の仮想空間における位置を示すデータである。また、使用中アイテムデータは、現在プレイヤキャラクタ７０Ａが装備している装備アイテムを示すデータである。メインキャラクタフラグは、プレイヤキャラクタ７０Ａがメインキャラクタに設定されているか否かを示すデータであり、メインキャラクタに設定されている場合は「ＯＮ」に設定される。
【０１６１】
また、プレイヤＢデータは、プレイヤＢに関するデータである。プレイヤＢデータも、プレイヤＢ用のセーブデータを含む。プレイヤＢデータの詳細については、プレイヤＡデータと同様であるため説明を省略する。
【０１６２】
仮想カメラデータは、仮想カメラの位置および姿勢を示すデータである。
【０１６３】
（フローチャートの説明）
次に、本体装置２において行われるゲーム処理の詳細について説明する。図２３は、本体装置２のプロセッサ８１において行われるゲーム処理の一例を示すフローチャートである。
【０１６４】
図２３に示すように、ゲームの開始が指示されると、プロセッサ８１は、まずセーブデータの読み込みを行う（ステップＳ１００）。具体的には、プロセッサ８１は、複数のプレイヤに共有の共有セーブデータをフラッシュメモリ８４から読み取り、共有セーブデータに基づいて仮想空間を生成する。また、ゲームの開始時に、本体装置２に保存されているどのプレイヤでゲームを行うか指定される。プロセッサ８１は、指定されたプレイヤに対するログイン処理を行い、指定されたプレイヤに対応するセーブデータをフラッシュメモリ８４から読み取る。そして、プロセッサ８１は、指定されたプレイヤに対応するセーブデータに基づいて、プレイヤキャラクタを生成し、仮想空間に配置する。なお、プレイヤをログインさせる際に、プレイヤにパスワードの入力を求めてもよい。この場合、プロセッサ８１は、入力されたパスワードに基づいて認証処理を行い、プレイヤを認証できた場合、認証されたプレイヤに対応するセーブデータの読み込みを行う。
【０１６５】
以下では、ステップＳ１００においてプレイヤＡのセーブデータが読み込まれたものとする。すなわち、プレイヤＡがゲームを開始したものとして、以下の説明を行う。
【０１６６】
セーブデータの読み込みを行うと、プロセッサ８１は、シングルプレイモードでゲームを開始する（ステップＳ１０１）。
【０１６７】
シングルプレイモードでゲームが開始されると、プロセッサ８１は、左コントローラ３及び右コントローラ４から操作データを取得する（ステップＳ１０２）。次に、プロセッサ８１は、取得した操作データに基づいてシングルプレイゲーム処理を行う（ステップＳ１０３）。例えば、プレイヤＡが左コントローラ３のアナログスティック３２を用いて方向入力を行った場合、プロセッサ８１は、プレイヤキャラクタ７０Ａを仮想空間内で移動させる。また、プレイヤＡが左コントローラ３を用いて装備アイテムを選択する操作を行った場合、プロセッサ８１は、プレイヤキャラクタ７０Ａに選択された装備アイテムを装備させる。また、プレイヤＡが右コントローラ４のＡボタン５３を押下した場合、プレイヤキャラクタ７０Ａに装備アイテムに対応する行動を行わせる。そして、プロセッサ８１は、仮想カメラに基づいて、ゲーム処理に応じたゲーム画像を生成し、生成したゲーム画像を表示装置（ディスプレイ１２又は据置型モニタ）に表示させる。
【０１６８】
ステップＳ１０３に続いて、プロセッサ８１は、取得した操作データに基づいて、他プレイヤの呼び出しが行われたか否かを判定する（ステップＳ１０４）。ステップＳ１０４でＮＯと判定した場合、プロセッサ８１は、ステップＳ１０２の処理を再び実行する。ステップＳ１０２およびステップＳ１０３の処理が所定の時間間隔（例えば、１／６０秒間隔）で繰り返し実行されることにより、１人のプレイヤによる１のプレイヤキャラクタを用いたシングルプレイゲームが行われる。
【０１６９】
シングルプレイモードでゲームの実行中に他プレイヤの呼び出しが行われたと判定した場合（ステップＳ１０４：ＹＥＳ）、プロセッサ８１は、他プレイヤのセーブデータの読み込みを行う（ステップＳ１０５）。例えば、プレイヤＡによってプレイヤＢの呼び出しが指示された場合、プロセッサ８１は、プレイヤＢに対するログイン処理を行い、プレイヤＢ用のセーブデータを読み込む。以下では、プレイヤＢ用のセーブデータの読み込みが行われたものとして説明する。
【０１７０】
プレイヤＢ用のセーブデータの読み込みが行われると、プロセッサ８１は、マルチプレイモードを開始する（ステップＳ１０６）。具体的には、プロセッサ８１は、ステップＳ１０５で読み込んだプレイヤＢ用のセーブデータに基づいて、プレイヤキャラクタ７０Ｂを生成し、仮想空間に配置する。また、プロセッサ８１は、プレイヤキャラクタ７０Ａをメインキャラクタとして設定するとともに、プレイヤキャラクタ７０Ｂをサブキャラクタとして設定する。具体的には、プロセッサ８１は、プレイヤＡデータにおけるメインキャラクタフラグを「ＯＮ」に設定するとともに、プレイヤＢデータにおけるメインキャラクタフラグを「ＯＦＦ」に設定する。
【０１７１】
マルチプレイモードが開始された場合、プロセッサ８１は、マルチプレイゲーム処理を行う（ステップＳ１０７）。マルチプレイゲーム処理の詳細については後述する。次に、プロセッサ８１は、マルチプレイを終了するか否かを判定する（ステップＳ１０８）。具体的には、プロセッサ８１は、メインキャラクタに対応するコントローラからの操作データに基づいて、マルチプレイモードの終了が指示されたか否かを判定する。
【０１７２】
マルチプレイモードの終了が指示されていない場合（ステップＳ１０８：ＮＯ）、プロセッサ８１は、再びステップＳ１０７の処理を実行する。ステップＳ１０７の処理が所定の時間間隔（例えば、１／６０秒間隔）で繰り返し実行されることにより、複数のプレイヤによる複数のプレイヤキャラクタを用いたマルチプレイゲームが行われる。
【０１７３】
一方、マルチプレイモードの終了が指示された場合（ステップＳ１０８：ＹＥＳ）、プロセッサ８１は、シングルプレイモードを再開する（ステップＳ１０９）。具体的には、プロセッサ８１は、マルチプレイモードの終了が指示された時点でメインキャラクタとして設定されていたプレイヤキャラクタによるシングルプレイモードのゲームを再開する。プロセッサ８１は、マルチプレイモードの終了が指示された時点でサブキャラクタとして設定されていたプレイヤキャラクタについては、ログオフ処理を行う。ステップＳ１０９の処理の後、プロセッサ８１は、再びステップＳ１０２の処理を実行する。これにより、マルチプレイモードの終了が指示された時点でメインキャラクタとして設定されていたプレイヤキャラクタで、シングルプレイモードでのゲームが再開される。
【０１７４】
（マルチプレイゲーム処理）
次に、ステップＳ１０７のマルチプレイゲーム処理の詳細について説明する。図２４は、ステップＳ１０７のマルチプレイゲーム処理の一例を示すフローチャートである。
【０１７５】
プロセッサ８１は、各コントローラから操作データを取得する（ステップＳ１２０）。具体的には、プロセッサ８１は、プレイヤキャラクタ７０Ａに対応する左コントローラ３及びプレイヤキャラクタ７０Ｂに対応する右コントローラ４から、操作データをそれぞれ取得する。
【０１７６】
次に、プロセッサ８１は、メインキャラクタに対応するコントローラからの操作データに基づいて、メインキャラクタ制御処理を行う（ステップＳ１２１）。メインキャラクタ制御処理は、現在メインキャラクタとして設定されている１のプレイヤキャラクタに対して行われる。メインキャラクタ制御処理の詳細については後述する。
【０１７７】
続いて、プロセッサ８１は、サブキャラクタに対応するコントローラからの操作データに基づいて、サブキャラクタ制御処理を行う（ステップＳ１２２）。サブキャラクタ制御処理は、現在サブキャラクタとして設定されている１又は複数のプレイヤキャラクタに対して行われる。サブキャラクタ制御処理の詳細については後述する。
【０１７８】
ステップＳ１２２の次に、プロセッサ８１は、メインキャラクタの位置と、サブキャラクタの位置とに基づいて、仮想カメラの位置を制御する（ステップＳ１２３）。具体的には、プロセッサ８１は、ステップＳ１２１で更新されたメインキャラクタの位置と、ステップＳ１２２で更新されたサブキャラクタの位置とに基づいて、少なくともメインキャラクタが仮想カメラの視野内に入るように、仮想カメラの位置を制御する。例えば、プロセッサ８１は、メインキャラクタとサブキャラクタとの中心位置を算出し、算出した中心位置に仮想カメラの注視点を設定した場合に、仮想カメラの視野内にメインキャラクタが含まれるか否かを判定する。算出した中心位置に仮想カメラの注視点を設定した場合に仮想カメラの視野内にメインキャラクタが含まれる場合には、プロセッサ８１は、仮想カメラの注視点が算出した中心位置になるように、仮想カメラの位置を設定する。また、算出した中心位置に仮想カメラの注視点を設定した場合に仮想カメラの視野内にメインキャラクタが含まれない場合には、仮想カメラの注視点を、算出した中心位置よりもメインキャラクタ側にして、仮想カメラの視野内にメインキャラクタが含まれるようにする。
【０１７９】
なお、本実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させずに、仮想カメラを画面の左右方向及び／又は奥行き方向に移動させる。
【０１８０】
次に、プロセッサ８１は、ステップＳ１２３で設定した仮想カメラの位置と、ステップＳ１２２で更新されたサブキャラクタの位置とに基づいて、サブキャラクタが仮想カメラの視野から外れたか否かを判定する（ステップＳ１２４）。サブキャラクタが仮想カメラの視野から外れたと判定した場合（ステップＳ１２４：ＹＥＳ）、プロセッサ８１は、タイマーの計測を開始する（ステップＳ１２５）。このタイマーは、サブキャラクタが仮想カメラの視野から外れたときからの経過時間を示す。なお、サブキャラクタが複数存在する場合、タイマーは、サブキャラクタ毎に設定される。
【０１８１】
一方、サブキャラクタが仮想カメラの視野から外れていない場合（ステップＳ１２４：ＮＯ）、プロセッサ８１は、次にステップＳ１２６の処理を行う。なお、プロセッサ８１は、ステップＳ１２４でＮＯと判定した場合、上記タイマーを「０」にリセットする。すなわち、サブキャラクタが仮想カメラの視野から外れ、所定時間が経過するまでにサブキャラクタが仮想カメラの視野内に再び入った場合、タイマーはリセットされる。
【０１８２】
ステップＳ１２５の処理を行った場合、又は、ステップＳ１２４でＮＯと判定した場合、プロセッサ８１は、タイマーが所定の閾値（例えば５秒）を超えたか否かを判定する（ステップＳ１２６）。
【０１８３】
タイマーが所定の閾値を超えた場合（ステップＳ１２６：ＹＥＳ）、プロセッサ８１は、仮想カメラの視野外に出たサブキャラクタを、仮想カメラの視野内に移動させる（ステップＳ１２７）。具体的には、プロセッサ８１は、視野外に出たサブキャラクタを瞬間的に仮想カメラの視野内に移動させる。
【０１８４】
ステップＳ１２７の処理を行った場合、又は、ステップＳ１２６でＮＯと判定した場合、プロセッサ８１は、メインキャラクタとサブキャラクタの切替指示が行われたか否かを判定する（ステップＳ１２８）。具体的には、プロセッサ８１は、メインキャラクタに対応するコントローラ（例えば左コントローラ３）において、切替指示が行われたか否かを判定する。
【０１８５】
メインキャラクタとサブキャラクタの切替指示が行われた場合（ステップＳ１２８：ＹＥＳ）、プロセッサ８１は、メインキャラクタとサブキャラクタを切り替える（ステップＳ１２９）。具体的には、プロセッサ８１は、複数のサブキャラクタのうちの何れかのサブキャラクタに対応するコントローラ（例えば右コントローラ４）において、メインキャラクタに設定するための操作が行われたか否かを判定する。当該操作が行われた場合、プロセッサ８１は、現在メインキャラクタに設定されているプレイヤキャラクタをサブキャラクタに設定するとともに、当該操作が行われたコントローラ（右コントローラ４）に対応するプレイヤキャラクタを、メインキャラクタに設定する。なお、プロセッサ８１は、新たにメインキャラクタとして設定したプレイヤキャラクタに、旗オブジェクト７１を付加する。
【０１８６】
ステップＳ１２９の処理を行った場合、又は、ステップＳ１２８でＮＯと判定した場合、プロセッサ８１は、仮想カメラに基づいてゲーム画像を生成する（ステップＳ１３０）。生成されたゲーム画像は、表示装置（ディスプレイ１２又は据置型モニタ）に出力される。
【０１８７】
ステップＳ１３０の処理を実行した場合、プロセッサ８１は、図２４に示す処理を終了し、処理を図２３に戻す。
【０１８８】
（メインキャラクタ制御処理）
次に、ステップＳ１２１のメインキャラクタ制御処理の詳細について説明する。図２５は、図２４のステップＳ１２１のメインキャラクタ制御処理の一例を示すフローチャートである。なお、以下では、メインキャラクタに対応するコントローラが左コントローラ３であるものとして説明するが、メインキャラクタに対応するコントローラが右コントローラ４である場合も同様である。
【０１８９】
プロセッサ８１は、メインキャラクタに対応するコントローラ（左コントローラ３）の操作モードが第１モードか否かを判定する（ステップＳ１４０）。
【０１９０】
コントローラの操作モードが第１モードである場合（ステップＳ１４０：ＹＥＳ）、プロセッサ８１は、メインキャラクタの移動処理を行う（ステップＳ１４１）。具体的には、プロセッサ８１は、左コントローラ３からの操作データに基づいて、アナログスティック３２に対する操作が行われたか否かを判定し、アナログスティック３２に対する操作が行われた場合、メインキャラクタを仮想空間内で移動させる。このとき、左方向ボタン３６が押下されている場合には、プロセッサ８１は、メインキャラクタをダッシュで移動させる。
【０１９１】
次に、プロセッサ８１は、メインキャラクタのアクション処理を行う（ステップＳ１４２）。具体的には、プロセッサ８１は、左コントローラ３からの操作データに基づいて、下方向ボタン３４が押下されたか否かを判定する。下方向ボタン３４が押下された場合、プロセッサ８１は、メインキャラクタに、装備アイテムに対応する行動を行わせる。
【０１９２】
次に、プロセッサ８１は、その他の処理を行う（ステップＳ１４３）。プロセッサ８１は、その他の処理として、例えば、右方向ボタン３３が押下されたことに基づいて、取得した仮想オブジェクトのメニューを表示する。例えば、当該メニューにおいて、メインキャラクタは、取得した仮想オブジェクトを装備アイテムと交換したり、仮想オブジェクトに基づいて装備アイテムを作成したりすることができる。また、プロセッサ８１は、上方向ボタン３５が押下されたことに基づいて、メインキャラクタに仮想空間に落ちている仮想オブジェクトを拾う動作を行わせる。
【０１９３】
一方、コントローラの操作モードが第１モードでない場合（ステップＳ１４０：ＮＯ）、つまり、第２モードである場合、プロセッサ８１は、仮想カメラの制御処理を行う（ステップＳ１４４）。具体的には、プロセッサ８１は、左コントローラ３からの操作データに基づいて、アナログスティック３２に対する操作が行われたか否かを判定し、アナログスティック３２に対する操作が行われた場合、仮想カメラの位置および姿勢を変化させる。例えば、仮想カメラは、アナログスティック３２に対する操作に応じて、メインキャラクタを向きながら、仮想空間の地面に垂直であってメインキャラクタを中心とした半円上を移動してもよい。
【０１９４】
次に、プロセッサ８１は、装備アイテム設定処理を行う（ステップＳ１４５）。装備アイテム設定処理は、メインキャラクタに対応するコントローラの操作に基づいて、装備アイテムを選択し、メインキャラクタに装備アイテムを装備させるとともに、サブキャラクタにも同じ装備アイテムを装備させる処理である。具体的には、プロセッサ８１は、左コントローラ３からの操作データに基づいて、ボタン３３〜３６の何れかが押下されたか否かを判定し、押下されたボタンに応じた処理を行う。例えば、ボタン３３又は３６が押下された場合、プロセッサ８１は、メインキャラクタが装備する装備アイテムを変更することによりメインキャラクタが実行可能な行動を選択するとともに、サブキャラクタが同じ装備アイテム（又は同じ行動に関連付けられた装備アイテム）を所有している場合、サブキャラクタに、その装備アイテムを装備させる。また、下方向ボタン３４が押下された場合、プロセッサ８１は、装備アイテムを選択させるためのメニューを表示させる。このメニューの表示中に左コントローラ３に対する操作が行われた場合、当該操作に基づいて装備アイテムを選択し、選択した装備アイテムをメインキャラクタに装備させるとともに、サブキャラクタが同じ装備アイテム（又は同じ行動に関連付けられた装備アイテム）を所有している場合、サブキャラクタに、その装備アイテムを装備させる。また、上方向ボタン３５が押下された場合、プロセッサ８１は、メインキャラクタに装備アイテムを装備させないようにするとともに、サブキャラクタにも装備アイテムを装備させないようにする。
【０１９５】
ステップＳ１４３の処理を行った場合、又は、ステップＳ１４５の処理を行った場合、プロセッサ８１は、操作モード設定処理を行う（ステップＳ１４６）。具体的には、プロセッサ８１は、メインキャラクタに対応するコントローラ（左コントローラ３）に対して、操作モードを切り替える操作（例えば、アナログスティック３２を押下する操作）が行われたか否かを判定する。操作モードを切り替える操作が行われた場合、プロセッサ８１は、操作モードを現在のモード（例えば第１モード）から別のモード（第２モード）に変更する。
【０１９６】
ステップＳ１４６の処理を実行した場合、プロセッサ８１は、図２５に示す処理を終了し、処理を図２４に戻す。
【０１９７】
（サブキャラクタ制御処理）
次に、ステップＳ１２２のサブキャラクタ制御処理の詳細について説明する。図２６は、図２４のステップＳ１２２のサブキャラクタ制御処理の一例を示すフローチャートである。なお、以下では、サブキャラクタに対応するコントローラが右コントローラ４であるものとして説明するが、サブキャラクタに対応するコントローラが左コントローラ３である場合も同様である。
【０１９８】
プロセッサ８１は、サブキャラクタの移動処理を行う（ステップＳ１６０）。ステップＳ１６０の処理は、ステップＳ１４１のメインキャラクタの移動処理と同様の処理である。具体的には、プロセッサ８１は、サブキャラクタに対応するコントローラ（右コントローラ４）からの操作データに基づいて、アナログスティック５２に対する操作が行われたか否かを判定する。アナログスティック５２に対する操作が行われた場合、プロセッサ８１は、サブキャラクタを仮想空間内で移動させる。このとき、プロセッサ８１は、Ａボタン５５が押下されている場合には、サブキャラクタをダッシュで移動させる。なお、メインキャラクタとサブキャラクタとが所定以上離れている場合において、アナログスティック５２の入力方向がさらにメインキャラクタから離れる方向である場合は、プロセッサ８１は、サブキャラクタをその入力方向に移動させない。すなわち、サブキャラクタが画面の端に表示されている場合において、画面から出る方向にアナログスティック５２が操作された場合、プロセッサ８１は、アナログスティック５２が示す方向にサブキャラクタを移動させない。
【０１９９】
次に、プロセッサ８１は、サブキャラクタのアクション処理を行う（ステップＳ１６１）。ステップＳ１６１の処理は、ステップＳ１４２のメインキャラクタのアクション処理と同様の処理である。具体的には、プロセッサ８１は、右コントローラ４からの操作データに基づいて、Ｘボタン５５が押下されたか否かを判定する。Ｘボタン５５が押下された場合、プロセッサ８１は、サブキャラクタに、装備アイテムに対応する行動を行わせる。なお、サブキャラクタが装備アイテムを装備していない場合は、サブキャラクタは何も行動を行わない。
【０２００】
次に、プロセッサ８１は、所定画像の再表示処理を行う（ステップＳ１６２）。具体的には、プロセッサ８１は、Ｂボタン５４が押下されたか否かを判定し、Ｂボタン５４が押下された場合、所定画像（プレイヤキャラクタの感情を表現するための画像）を再表示する。
【０２０１】
ステップＳ１６２の処理を実行した場合、プロセッサ８１は、図２６に示す処理を終了し、処理を図２４に戻す。
【０２０２】
なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容は適宜変更されてもよい。
【０２０３】
以上のように、本実施形態では、基本的に各プレイヤが自身のセーブデータを用いて一人で行うゲームを、マルチプレイモードで行うことができる。マルチプレイモードでは、複数のプレイヤキャラクタが仮想空間に登場し、複数のプレイヤが、自身のプレイヤキャラクタをそれぞれ操作する。複数のプレイヤキャラクタのうちの１のプレイヤキャラクタがメインキャラクタに設定され、その他のプレイヤキャラクタはサブキャラクタに設定される。マルチプレイモードでもシングルプレイモードと同様に、１画面にゲーム画像が表示される。マルチプレイモードにおいては、メインキャラクタおよびサブキャラクタが仮想カメラの視野内に含まれるように、仮想カメラ及びサブキャラクタの位置が制御される。
【０２０４】
具体的には、サブキャラクタがメインキャラクタから離れていない場合は、メインキャラクタおよびサブキャラクタの両方が仮想カメラの視野内に含まれるように、仮想カメラの位置が制御される（ステップＳ１２３）。メインキャラクタがサブキャラクタから離れる方向に移動した場合は、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラをメインキャラクタに追従するように移動させる（ステップＳ１２３）。メインキャラクタの移動によってサブキャラクタが仮想カメラの視野外に出た場合は、サブキャラクタを強制的に仮想カメラの視野内に移動させる（ステップＳ１２７）。
【０２０５】
また、メインキャラクタに対応するプレイヤによって装備アイテムが選択された場合、選択された装備アイテムをメインキャラクタに装備させるとともに、サブキャラクタにも同じ装備アイテムを装備させる（ステップＳ１４５）。メインキャラクタ及びサブキャラクタは、同じ装備アイテムを用いて同じ行動を行う。
【０２０６】
このような制御により、複数のプレイヤで行われるマルチプレイゲームにおいて、１のプレイヤキャラクタを主としてゲームを行うことができる。また、メインキャラクタとサブキャラクタとを切り替えることができるため、プレイヤ間で調整しつつ、バランスよくゲームを行うことができる。
【０２０７】
また、プレイヤ毎にゲーム画面がなくても複数のプレイヤでゲームを行うことができる。マルチプレイゲームを行う場合に、画面を分割して分割した画面のそれぞれに、それぞれのプレイヤに対応するプレイヤキャラクタを表示することも考えられる。この場合、分割した各画面は１画面よりも小さくなり、また、各々のプレイヤがそれぞれ独自でゲームをプレイする可能性がある。しかしながら、本実施形態では、１画面に複数のプレイヤキャラクタが登場するため、各プレイヤは他のプレイヤキャラクタの動きを把握し易くなり、複数のプレイヤは連帯感を持ってゲームをプレイすることができる。
【０２０８】
また、メインキャラクタとサブキャラクタとが同じ装備アイテムを装備して、同じ行動を実行可能となるため、プレイヤ間で行動を共有することができ、より強い連帯感を持たせることができる。また、メインキャラクタは、実行可能な行動（装備アイテム）を選択し、サブキャラクタは、実行可能な行動を選択することはできないが、行動自体は自由に行うことができる。このため、サブキャラクタのプレイヤはある程度自由にゲームをプレイすることができる。
【０２０９】
また、１のプレイヤキャラクタはシングルプレイモードと同様の操作が可能なメインキャラクタに設定され、その他のプレイヤキャラクタは、操作が制限されたサブキャラクタに設定される。このため、各プレイヤが完全に自由にゲームを行い、ばらばらにゲームをプレイしてしまうことを防止することができる。
【０２１０】
また、本実施形態では、マルチプレイモードでゲームを実行中に、メインキャラクタに設定されているプレイヤキャラクタをサブキャラクタに、サブキャラクタに設定されているプレイヤキャラクタをメインキャラクタに切り替えることができる。このため、サブキャラクタに対応するプレイヤが、制限無く自由にゲームをプレイしたい場合には、サブキャラクタをメインキャラクタに切り替えることで、制限無くゲームをプレイすることができるようになる。例えば、サブキャラクタに対応するプレイヤが特定の装備アイテムを装備したい場合、メインキャラクタに切り替えて特定の装備アイテムを自分で選択したり、特定の装備アイテムを所有していない場合は、特定の装備アイテムを新たに取得又は作成したりすることができる。本実施形態では、装備アイテムに応じてプレイヤキャラクタの行動が定まり、装備アイテムに応じた行動（例えば、魚釣りや木を切る行動等）を行うことで、その行動に応じた仮想オブジェクト（魚や木）を取得することができる。プレイヤが、特定の仮想オブジェクトを取得したい場合は、自身のプレイヤキャラクタをメインキャラクタに切り替え、特定の装備アイテムを選択することで、特定の仮想オブジェクトを取得可能な行動を選択することができる。
【０２１１】
また、本実施形態では、１のゲーム画像に複数のプレイヤキャラクタが含まれることを前提としているため、複数のプレイヤ間で、何れのプレイヤをメインにするかについて直接相談しながらメインキャラクタを切り替えることができる。
【０２１２】
また、本実施形態では、マルチプレイモードを開始したときのメインキャラクタと、マルチプレイモードを終了してシングルプレイモードに戻るときのメインキャラクタとを異ならせることができる。例えば、プレイヤＡがシングルプレイモードでゲームを行い、そのシングルプレイモードでのゲーム中に、プレイヤＢに対応するプレイヤキャラクタ７０Ｂが呼び出されてマルチプレイモードが開始された場合、マルチプレイモードの開始時は、プレイヤＡに対応するプレイヤキャラクタ７０Ａがメインキャラクタに設定される。その後、メインキャラクタがプレイヤキャラクタ７０Ａからプレイヤキャラクタ７０Ｂに切り替わり、プレイヤキャラクタ７０Ｂがメインキャラクタに設定されているときに、マルチプレイモードを終了した場合、プレイヤキャラクタ７０Ｂ（プレイヤＢ）によるシングルプレイモードでのゲームが再開される。シングルプレイモードとマルチプレイモードとをシームレスに切り替えることができ、シングルプレイモードでゲームを行っているときに、気軽に他のプレイヤをゲームに参加させることができる。
【０２１３】
また、本実施形態のゲームは、共有セーブデータを有し、各プレイヤがシングルプレイモードでゲームを行うときには、共有セーブデータと、各プレイヤに対応するプレイヤ用セーブデータとを用いてゲームを行う。各プレイヤがシングルプレイモードでゲームを行うことで、各プレイヤに対応するプレイヤ用セーブデータが更新されるとともに、共有セーブデータも更新される。例えば、プレイヤＡがシングルプレイモードでゲームをプレイして、仮想空間に家オブジェクトを建設した場合、次に、プレイヤＢがシングルプレイモードでゲームをプレイするときには、仮想空間に家オブジェクトが建設された状態となる。このように、本実施形態のゲームでは、各プレイヤがゲームを行うことで共有セーブデータが更新される。
【０２１４】
このようなゲームを前提として、マルチプレイモードでゲームを行う場合にも、共有セーブデータと、各プレイヤに対応するプレイヤ用セーブデータとを用いてゲームが行われる。このため、マルチプレイモードでもシングルプレイモードと同様のゲームを行うことができ、マルチプレイモードにおいては複数のプレイヤで連携してゲームをプレイすることができる。マルチプレイモードでは、共有セーブデータを複数のプレイヤで協力して更新することができ、効率的に共有セーブデータを更新することができる。
【０２１５】
（変形例）
以上、本実施形態の画像処理ついて説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【０２１６】
例えば、上記実施形態では、メインキャラクタの移動によってサブキャラクタが仮想カメラの視野外に出た場合において、所定時間が経過した場合に、サブキャラクタを仮想カメラの視野内に移動させた。他の実施形態では、メインキャラクタの移動によってサブキャラクタが仮想カメラの視野から出そうになった場合、サブキャラクタが画面から出ないようにサブキャラクタを移動させてもよい。例えば、図１６に示すように画面の左端にサブキャラクタが表示されている場合において、メインキャラクタが右方向に移動した場合、サブキャラクタは自動で右方向に移動し（画面の左端に固定されるように移動し）、画面から出ないように制御されてもよい。
【０２１７】
また、上記実施形態では、複数のプレイヤに共有される共有セーブデータが本体装置２に１つだけ記憶され、シングルプレイモードでも、マルチプレイモードでも、同じ共有セーブデータに基づいて仮想空間が定義されるものとした。
【０２１８】
他の実施形態では、プレイヤ毎に記憶されるセーブデータに基づいて仮想空間が定義されてもよい。具体的には、各プレイヤは、仮想空間を定義するための仮想空間用セーブデータと、プレイヤキャラクタに関するプレイヤ用セーブデータ（プレイヤキャラクタ自体のデータや装備アイテム、取得した仮想オブジェクトに関するデータ）とのセットを有する。例えば、プレイヤＡは、仮想空間Ａ用セーブデータと、プレイヤＡ用セーブデータとを有し、プレイヤＢは、仮想空間Ｂ用セーブデータと、プレイヤＢ用セーブデータとを有する。プレイヤＡがシングルプレイモードでゲームをプレイする場合には、仮想空間Ａ用セーブデータと、プレイヤＡ用セーブデータとが読み込まれ、仮想空間Ａ用セーブデータに基づく仮想空間Ａでゲームが行われる。プレイヤＢがシングルプレイモードでゲームをプレイする場合には、仮想空間Ｂ用セーブデータと、プレイヤＢ用セーブデータとが読み込まれ、仮想空間Ｂ用セーブデータに基づく仮想空間Ｂでゲームが行われる。このような場合において、マルチプレイモードでゲームが行われる場合、複数のプレイヤのうちの何れか１のプレイヤの仮想空間用セーブデータに基づいて、仮想空間が定義され、マルチプレイモードでゲームが行われてもよい。
【０２１９】
また、上記実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させずに、仮想カメラを移動させた。他の実施形態では、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの視線方向を変化させてもよい。仮想カメラがメインキャラクタを向くように、仮想カメラの向きが制御されてもよい。また、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの画角を変化させてもよいし、仮想カメラを画面の奥行き方向に移動させてもよい。すなわち、仮想カメラの視野内にメインキャラクタが含まれるように、仮想カメラの制御（移動、視線方向の変化、画角の変化のうちの少なくとも何れか）が行われてもよい。
【０２２０】
また、上記実施形態では、メインキャラクタに対応するコントローラに対する所定の指示操作（例えば、マイナスボタン４７の押下）が行われたことに基づいて、メインキャラクタとサブキャラクタの切り替えが行われた。他の実施形態では、サブキャラクタに対応するコントローラに対する所定の指示操作に基づいて、メインキャラクタとサブキャラクタの切り替えが行われてもよい。
【０２２１】
また、上記実施形態では、１画面に複数のプレイヤキャラクタ（最大で４つのプレイヤキャラクタ）を表示させるものとしたが、他の実施形態では、必ずしも１画面である必要はなく、例えば、４人でゲームを行う場合に画面を２画面に分割し、分割した各画面に２つのプレイヤキャラクタをそれぞれ表示してもよい。
【０２２２】
また、上記ゲームは単なる一例であり、他の任意のゲームにおいて上述した処理が行われてもよい。
【０２２３】
また、上記実施形態では、ゲームシステム１における本体装置２において上述した処理が行われることとしたが、上述した処理は他の任意の情報処理装置（例えば、パーソナルコンピュータ、スマートフォン、タブレット端末）等において実行されてもよい。また、他の実施形態では、例えばインターネット等のネットワークで接続された複数の装置を含むゲームシステム（例えば端末とサーバとを含む情報処理システム）において上述した処理が行われてもよい。例えば、セーブデータ（各プレイヤ用セーブデータ、共通セーブデータ）は、インターネット上のサーバやクラウド上に保存され、ローカルの本体装置２が当該保存されたセーブデータを読み込むことで上述したゲームが行われてもよい。また、表示装置と複数の操作装置がローカルに配置され、複数の操作装置のそれぞれで行われた操作に関する情報がインターネット上の１又は複数のサーバに送信され、当該サーバにおいて上記本体装置２におけるゲーム処理が実行されてもよい。そして、ゲーム処理に応じたゲーム画像がローカルに配置された表示装置に表示されてもよい。
【０２２４】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【０２２５】
１  ゲームシステム
２  本体装置
３  左コントローラ
４  右コントローラ
１２  ディスプレイ
８１  プロセッサ
７０Ａ  プレイヤキャラクタ
７０Ｂ  プレイヤキャラクタ
７１  旗オブジェクト
７２  位置示唆画像
７３  釣り竿
【図１】
2020195649.tif 000003
【図２】
2020195649.tif 000004
【図３】
2020195649.tif 000005
【図４】
2020195649.tif 000006
【図５】
2020195649.tif 000007
【図６】
2020195649.tif 000008
【図７】
2020195649.tif 000009
【図８】
2020195649.tif 000010
【図９】
2020195649.tif 000011
【図１０】
2020195649.tif 000012
【図１１】
2020195649.tif 000013
【図１２】
2020195649.tif 000014
【図１３】
2020195649.tif 000015
【図１４】
2020195649.tif 000016
【図１５】
2020195649.tif 000017
【図１６】
2020195649.tif 000018
【図１７】
2020195649.tif 000019
【図１８】
2020195649.tif 000020
【図１９】
2020195649.tif 000021
【図２０】
2020195649.tif 000022
【図２１】
2020195649.tif 000023
【図２２】
2020195649.tif 000024
【図２３】
2020195649.tif 000025
【図２４】
2020195649.tif 000026
【図２５】
2020195649.tif 000027
【図２６】
2020195649.tif 000028