(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-25
(45)【発行日】2023-09-04
(54)【発明の名称】ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
(51)【国際特許分類】
A63F 13/63 20140101AFI20230828BHJP
A63F 13/798 20140101ALI20230828BHJP
A63F 13/69 20140101ALI20230828BHJP
A63F 13/53 20140101ALI20230828BHJP
A63F 13/30 20140101ALI20230828BHJP
【FI】
A63F13/63
A63F13/798
A63F13/69
A63F13/53
A63F13/30
(21)【出願番号】P 2021154373
(22)【出願日】2021-09-22
【審査請求日】2022-01-27
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】加藤 賢
(72)【発明者】
【氏名】正木 義文
【審査官】岸 智史
(56)【参考文献】
【文献】国際公開第2021/045792(WO,A1)
【文献】国際公開第2019/182826(WO,A1)
【文献】米国特許出願公開第2021/0072981(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
仮想空間内の所定の領域において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行わせ、
前記編集が行われている編集時間をカウントさせ、
前記所定の領域における前記設置オブジェクトの配置を示す配置データを記憶媒体に記憶させ、
前記編集時間が短い場合に前記編集時間が長い場合よりも低い評価となるように、少なくとも前記編集時間に基づいて前記編集に対する評価を行わせ、
前記仮想空間内におけるノンプレイヤキャラクタによるメッセージを、前記評価に応じて異なる内容となるように表示させる、ゲームプログラム。
【請求項2】
前記コンピュータにさらに、
前記操作入力を行ったユーザに対して前記評価に応じた報酬を付与させる、請求項1に記載のゲームプログラム。
【請求項3】
前記コンピュータに、
前記編集が可能な期間において入力が行われているかの判定に基づいて前記編集時間をカウントさせる、請求項1
または請求項
2に記載のゲームプログラム。
【請求項4】
前記情報処理装置は、サーバと通信可能であり、
前記コンピュータにさらに、
前記配置データを前記サーバへ送信させ、
前記情報処理装置とは異なる他の情報処理装置から前記サーバへ送信された複数の前記配置データに関する一覧を示す一覧データを前記サーバから受信させ、
前記サーバから受信された一覧データに基づいて前記複数の配置データに関する一覧表示を行わせる、請求項1から請求項
3のいずれか1項に記載のゲームプログラム。
【請求項5】
前記コンピュータに、
複数の前記他の情報処理装置からの配置データ群のうち、前記編集時間に基づいて選出された配置データに関する前記一覧表示を行わせる、請求項
4に記載のゲームプログラム。
【請求項6】
前記コンピュータに、
複数の前記他の情報処理装置からの配置データ群のうちから、編集時間に基づく評価が所定の基準よりも低い配置データが削減された前記複数の配置データに関する前記一覧表示を行わせる、請求項
4または請求項
5に記載のゲームプログラム。
【請求項7】
前記所定の領域は、前記仮想空間内の部屋であり、
前記設置オブジェクトは、少なくとも家具を含む複数種類のオブジェクトである、請求項1から請求項
6のいずれか1項に記載のゲームプログラム。
【請求項8】
前記コンピュータにさらに、
前記編集時間を示す編集時間データを前記配置データに含めて前記記憶媒体に記憶させ、
再編集を行う旨の指示入力に基づいて、前記記憶媒体に記憶された前記配置データを読み出させ、
読み出された前記配置データが示す前記設置オブジェクトの配置に対して、操作入力に基づいて再編集を行わせ、
前記再編集が行われる前の前記配置データに含まれる前記編集時間データが示す編集時間に、当該再編集における編集時間を加えた時間に基づいて、当該再編集が行われた前記配置データに関する編集に対する評価を行わせる、請求項1から請求項
7のいずれか1項に記載のゲームプログラム。
【請求項9】
前記配置データは、前記編集時間を示す編集時間データを含み、
前記コンピュータにさらに、
前記評価を行う場合に、前記記憶媒体に記憶された前記配置データを読み出させ、
前記評価は、読み出された前記配置データに含まれる前記編集時間に基づいて行われる、請求項1から請求項
7のいずれか1項に記載のゲームプログラム。
【請求項10】
端末装置と、当該端末装置と通信可能なサーバとを含む情報処理システムであって、
1以上のプロセッサと、ゲームプログラムを記憶する記憶媒体とを備え、
前記プロセッサは、前記ゲームプログラムを実行することにより、
仮想空間内の所定の領域において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行い、
前記編集が行われている編集時間をカウントし、
前記所定の領域における前記設置オブジェクトの配置を示す配置データを前記記憶媒体に記憶し、
前記編集時間が短い場合に前記編集時間が長い場合よりも低い評価となるように、少なくとも前記編集時間に基づいて前記編集に対する評価を行い、
前記仮想空間内におけるノンプレイヤキャラクタによるメッセージを、前記評価に応じて異なる内容となるように表示する、情報処理システム。
【請求項11】
前記プロセッサは、
前記操作入力を行ったユーザに対して前記評価に応じた報酬を付与させる、請求項
10に記載の情報処理システム。
【請求項12】
前記プロセッサは、
前記編集が可能な期間において入力が行われているかの判定に基づいて前記編集時間をカウントする、請求項
10または請求項
11に記載の情報処理システム。
【請求項13】
前記端末装置が備える前記プロセッサは、
前記配置データを前記サーバへ送信し、
前記端末装置とは異なる他の端末装置から前記サーバへ送信された複数の前記配置データに関する一覧を示す一覧データを前記サーバから受信し、
前記サーバから受信された一覧データに基づいて前記複数の配置データに関する一覧表示を行う、請求項
10から請求項
12のいずれか1項に記載の情報処理システム。
【請求項14】
前記サーバが備える前記プロセッサは、
前記一覧表示において表示される前記配置データを、前記配置データに関する編集時間に基づいて決定する、請求項
13に記載の情報処理システム。
【請求項15】
前記サーバが備える前記プロセッサは、
複数の前記他の情報処理装置からの配置データ群のうちから、編集時間に基づく評価が所定の基準よりも低い配置データが削減された前記複数の配置データに関する前記一覧データを前記端末装置へ送信する、請求項
13または請求項
14に記載の情報処理システム。
【請求項16】
前記所定の領域は、前記仮想空間内の部屋であり、
前記設置オブジェクトは、少なくとも家具を含む複数種類のオブジェクトである、請求項
10から請求項
15のいずれか1項に記載の情報処理システム。
【請求項17】
前記プロセッサは、
前記編集時間を示す編集時間データを前記配置データに含めて前記記憶媒体に記憶し、
再編集を行う旨の指示入力に基づいて、前記記憶媒体に記憶された前記配置データを読み出し、
読み出された前記配置データが示す前記設置オブジェクトの配置に対して、操作入力に基づいて再編集を行い、
前記再編集が行われる前の前記配置データに含まれる前記編集時間データが示す編集時間に、当該再編集における編集時間を加えた時間に基づいて、当該再編集が行われた前記配置データに関する編集に対する評価を行う、請求項
10から請求項
16のいずれか1項に記載の情報処理システム。
【請求項18】
前記配置データは、前記編集時間を示す編集時間データを含み、
前記プロセッサは、
前記評価を行う場合に、前記記憶媒体に記憶された前記配置データを読み出し、
前記評価は、読み出された前記配置データに含まれる前記編集時間に基づいて行われる、請求項
10から請求項
16のいずれか1項に記載の情報処理システム。
【請求項19】
プロセッサを備え、
前記プロセッサは、
仮想空間内の所定の領域において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行い、
前記編集が行われている編集時間をカウントし、
前記所定の領域における前記設置オブジェクトの配置を示す配置データを記憶媒体に記憶し、
前記編集時間が短い場合に前記編集時間が長い場合よりも低い評価となるように、少なくとも前記編集時間に基づいて前記編集に対する評価を行い、
前記仮想空間内におけるノンプレイヤキャラクタによるメッセージを、前記評価に応じて異なる内容となるように表示する、情報処理装置。
【請求項20】
情報処理システムによって実行されるゲーム処理方法であって、
仮想空間内の所定の領域において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行い、
前記編集が行われている編集時間をカウントし、
前記所定の領域における前記設置オブジェクトの配置を示す配置データを記憶媒体に記憶し、
前記編集時間が短い場合に前記編集時間が長い場合よりも低い評価となるように、少なくとも前記編集時間に基づいて前記編集に対する評価を行い、
前記仮想空間内におけるノンプレイヤキャラクタによるメッセージを、前記評価に応じて異なる内容となるように表示する、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間におけるオブジェクトの配置をユーザが編集することが可能なゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法に関する。
【背景技術】
【0002】
従来、仮想空間における、オブジェクトが配置された領域(例えば、家具が配置された部屋)について、ユーザがオブジェクトの配置等を編集することができるゲームがある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】“Animal Crossing: New Horizons”、[online]、任天堂株式会社、[令和3年9月1日検索]、インターネット<https://www.animal-crossing.com/new-horizons/create/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
オブジェクトの配置に関する編集についての評価を適切に行うことが好ましい。
【0005】
それ故、本発明の目的は、オブジェクトの配置に関する編集についての評価を適切に行うことができるゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の(1)~(10)の構成を採用した。
【0007】
(1)
本発明の一例は、情報処理装置のコンピュータに、次の処理を行わせるゲームプログラムである。
・仮想空間内の所定の領域において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行う。
・編集が行われている編集時間をカウントする。
・所定の領域における設置オブジェクトの配置を示す配置データを記憶媒体に記憶する。
・編集時間が短い場合に編集時間が長い場合よりも低い評価となるように、少なくとも編集時間に基づいて編集に対する評価を行う。
【0008】
上記(1)の構成によれば、編集時間が評価に反映されるので、編集についての評価を適切に行うことができる。
【0009】
(2)
ゲームプログラムは、コンピュータに、編集が可能な期間において入力が行われているかの判定に基づいて編集時間をカウントさせるようにしてもよい。
【0010】
上記(2)の構成によれば、ユーザが実際に入力を行っている時間を編集時間に反映させることができるので、編集時間に基づく評価をより精度良く行うことができる。
【0011】
(3)
ゲームプログラムは、コンピュータにさらに、操作入力を行ったユーザに対して評価に応じた報酬を付与させるようにしてもよい。
【0012】
上記(3)の構成によれば、編集に対する高評価を得る動機付けをユーザに対して与えることができる。
【0013】
(4)
ゲームプログラムは、コンピュータに、仮想空間内におけるノンプレイヤキャラクタによるメッセージを、評価に応じて異なる内容となるように表示させるようにしてもよい。
【0014】
上記(4)の構成によれば、編集に対する評価を上記メッセージによってユーザに通知することができる。
【0015】
(5)
情報処理装置は、サーバと通信可能であってもよい。このとき、ゲームプログラムは、コンピュータにさらに、次の処理行わせるようにしてもよい。
・配置データをサーバへ送信する。
・情報処理装置とは異なる他の情報処理装置からサーバへ送信された複数の配置データに関する一覧を示す一覧データをサーバから受信する。
・サーバから受信された一覧データに基づいて複数の配置データに関する一覧表示を行う。
【0016】
上記(5)の構成によれば、ユーザに対して、他のユーザが編集した配置データの一覧を提示することができる。
【0017】
(6)
ゲームプログラムは、コンピュータに、複数の他の情報処理装置からの配置データ群のうち、編集時間に基づいて選出された配置データに関する一覧表示を行わせるようにしてもよい。
【0018】
上記(6)の構成によれば、配置データの一覧を、編集時間を考慮した表示とすることができる。
【0019】
(7)
ゲームプログラムは、コンピュータに、複数の他の情報処理装置からの配置データ群のうちから、編集時間に基づく評価が所定の基準よりも低い配置データが削減された複数の配置データに関する一覧表示を行わせるようにしてもよい。
【0020】
上記(7)の構成によれば、評価の高い配置データに関する一覧をユーザに提示することができる。
【0021】
(8)
所定の領域は、仮想空間内の部屋であってもよい。設置オブジェクトは、少なくとも家具を含む複数種類のオブジェクトであってもよい。
【0022】
上記(8)の構成によれば、仮想空間における家具が配置される部屋の編集に対する評価を適切に行うことができる。
【0023】
(9)
ゲームプログラムは、コンピュータにさらに、次の処理を行わせるようにしてもよい。
・編集時間を示す編集時間データを配置データに含めて記憶媒体に記憶する。
・再編集を行う旨の指示入力に基づいて、記憶媒体に記憶された配置データを読み出す。
・読み出された配置データが示す設置オブジェクトの配置に対して、操作入力に基づいて再編集を行う。
・再編集が行われる前の配置データに含まれる編集時間データが示す編集時間に、当該再編集における編集時間を加えた時間に基づいて、当該再編集が行われた配置データに関する編集に対する評価を行う。
【0024】
上記(9)の構成によれば、再編集が行われた場合において、これまでに行われた編集の編集時間を考慮して評価を行うことができる。
【0025】
(10)
配置データは、編集時間を示す編集時間データを含んでもよい。ゲームプログラムは、コンピュータにさらに、評価を行う場合に、記憶媒体に記憶された配置データを読み出させるようにしてもよい。評価は、読み出された配置データに含まれる編集時間に基づいて行われてもよい。
【0026】
上記(10)の構成によれば、編集が行われた後の任意のタイミングで評価を行うことができる。
【0027】
なお、本発明の別の一例は、上記(1)~(10)における処理を実行する情報処理装置または情報処理システムであってもよい。また、本発明の別の一例は、上記(1)~(10)における処理を実行するゲーム処理方法であってもよい。
【発明の効果】
【0028】
上記のゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法によれば、オブジェクトの配置に関する編集についての評価を適切に行うことができる。
【図面の簡単な説明】
【0029】
【
図1】本体装置に左コントローラおよび右コントローラを装着した状態の一例を示す図
【
図2】本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の一例を示す図
【
図7】本体装置と左コントローラおよび右コントローラとの内部構成の一例を示すブロック図
【
図8】
図1に示すゲームシステムがサーバと通信可能に接続される構成の一例を示すブロック図
【
図9】編集モードにおけるゲーム画像の一例を示す図
【
図11】編集モードの終了時に表示されるゲーム画像の一例を示す図
【
図13】別の配置が適用される場合における編集時間の算出方法の一例を示す図
【
図15】情報処理システムにおける情報処理に用いられる各種データの一例を示す図
【
図16】ゲームシステムによって実行されるフィールド処理の流れの一例を示すフローチャート
【
図17】ゲームシステムによって実行される編集モード処理の流れの一例を示すフローチャート
【
図18】ゲームシステムによって実行されるメニュー処理の流れの一例を示すフローチャート
【
図19】ゲームシステムによって実行される一覧表示処理の流れの一例を示すフローチャート
【
図20】サーバにおいて実行されるサーバ処理の流れの一例を示す図
【発明を実施するための形態】
【0030】
[1.ゲームシステムの構成]
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム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~85、87、88、91、97、および98を備える。これらの構成要素81~85、87、88、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】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0058】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0059】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0060】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0061】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0062】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0063】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0064】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0065】
通信制御部101は、各入力部(具体的には、各ボタン103、および、アナログスティック32)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0066】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
【0067】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0068】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0069】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0070】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0071】
図8は、
図1に示すゲームシステムがサーバと通信可能に接続される構成の一例を示すブロック図である。本実施形態においては、ゲームシステム1は、ネットワーク202を介してサーバ201と通信可能に接続される。すなわち、ゲームシステム1およびサーバ201は、インターネットおよび/またはモバイル通信網等のネットワーク202に接続可能である。ゲームシステム1およびサーバ201は、ネットワーク202を介して互いに通信可能である。なお、サーバ201は、ゲームシステム1と同種のゲームシステムであって、ゲームシステム1のユーザとは異なるユーザによって使用される他のゲームシステムとも通信可能である。詳細は後述するが、サーバ201は、ゲームシステム1等において実行されるゲームのゲームデータを、ネットワーク202を介して受信して記憶する。サーバ201は、制御部(具体的には、プロセッサ)および記憶部を備える情報処理装置または情報処理システムである。サーバ201は、ネットワーク202に接続し、ネットワーク202を介して他の装置(例えば、ゲームシステム1)と通信を行う機能を有する通信部を備える。
【0072】
[2.ゲームシステムにおける処理の概要]
次に、
図9~
図14を参照して、ゲームシステム1において実行される処理の概要について説明する。本実施形態においては、ゲームシステム1は、仮想空間であるゲーム空間にオブジェクトが設置されるゲームを実行する。本実施形態においては、上記ゲームにおいてユーザ(プレイヤとも言う)は、ゲーム空間内の所定の編集領域内において、設置されるオブジェクトについての編集を行うことができる。本実施形態においては、上記編集領域は、ゲームに登場するキャラクタの部屋である。
【0073】
[2-1.編集領域の編集]
まず、編集領域の編集に関する処理について説明する。
図9は、編集モードにおけるゲーム画像の一例を示す図である。本実施形態においては、ゲーム中においてユーザは、編集領域における編集を行う編集モードを開始することができる。例えば、ユーザが操作するプレイヤキャラクタが、ゲームに登場するノンプレイヤキャラクタから部屋のコーディネートの依頼を受けることで、当該ノンプレイヤキャラクタの部屋の編集を行う編集モードが開始される。
【0074】
図9に示す部屋211は、ユーザによる編集が可能な上記編集領域の一例である。
図9に示すように、編集領域の一例である部屋211には、1以上の設置オブジェクトが設置される。設置オブジェクトは、編集領域においてユーザが設置に関する編集を行うことが可能なオブジェクトである。具体的には、設置オブジェクトは、机やベッドといった家具のオブジェクトや、時計や花瓶といったアイテムのオブジェクトである。
【0075】
上記のように、本実施形態においては、編集領域は仮想空間内の部屋であり、設置オブジェクトは、少なくとも家具を含む複数種類のオブジェクトである。ただし、編集領域および設置オブジェクトの内容は任意である。例えば、編集領域の具体例は、キャラクタの部屋に限らず、キャラクタの家の庭等であってもよい。また例えば、設置オブジェクトの具体例は、庭に植えられる木のオブジェクト等、家具やアイテム以外の他の種類のオブジェクトであってもよい。
【0076】
編集モードにおいて、ユーザは、編集領域内において設置オブジェクトに対する編集のための指示を行うことができる。すなわち、ゲームシステム1は、編集モードにおいて、ユーザによる操作入力に基づいて、編集領域内の設置オブジェクトに対する編集を行う。なお、設置オブジェクトに関する編集とは、編集領域に設置するオブジェクトを指定すること、指定されたオブジェクトを編集領域内に設置すること、編集領域に設置されているオブジェクトを移動させること、編集領域に設置されているオブジェクトを領域内から消去すること等を含む意味である。これによって、ユーザは、所望の設置オブジェクトを編集領域内に設置したり、所望の位置および向きで設置オブジェクトを編集領域内に設置したりすることができる。なお、
図9に示す例においては、ユーザは、カーソル212を操作することができ、操作対象とする設置オブジェクトをカーソル212によって指定する。
【0077】
本実施形態においては、編集モードにおいて、ゲームシステム1は、ユーザが編集を行う時間を計測する。
図10は、編集時間のカウント方法の一例を示す図である。
図10に示すように、ゲームシステム1は、編集モード中において、ユーザによって入力が行われている期間(「入力中期間」と呼ぶ。)、および、当該入力が行われなくなってから所定時間が経過するまでの期間(「入力後期間と呼ぶ。)において、時間をカウントし、カウントされた時間を編集時間とする。一方、上記入力が行われなくなってから上記所定時間が経過すると、ゲームシステム1は、編集時間のカウントを停止する。そして、ユーザによって入力が再度行われると、ゲームシステム1は、編集時間のカウントを再開する。上記によって、カウントされた編集時間は、編集モード中における、上記入力中期間および入力後期間の長さを示す時間となる。
【0078】
編集モードの間、ゲームシステム1は、上記の方法で編集時間をカウントする。そして、ゲームシステム1は、編集モードの終了時におけるカウント時間を、当該編集モードにおける編集に関する編集時間として記憶する。なお、以下においては、1回の編集モードにおける編集時間を、後述する累積編集時間と区別して、「個別編集時間」と呼ぶことがある。ゲームシステム1は、上記の個別編集時間を、編集領域(すなわち、部屋)、あるいは、当該編集領域に対応するノンプレイヤキャラクタ(つまり、部屋の住人であるノンプレイヤキャラクタ)に関連付けて記憶する。
【0079】
上記のように、本実施形態においては、編集時間のカウントは、編集が可能な期間(すなわち、編集モードの期間)において入力が行われているかの判定に基づいて行われる。これによれば、上記期間中にユーザが入力を行っている時間を編集時間(具体的には、個別編集時間)としてカウントすることができるので、ユーザが編集のために実際に手間をかけているか否かを精度良く判定することができる。
【0080】
なお、本実施形態においては、ゲームシステム1は、入力によって行われる指示の内容に関わらず、ゲームシステム1に対する任意の入力について編集時間のカウントを行う。ただし、他の実施形態において、例えば、上記ゲームに用いられない入力がある場合(すなわち、コントローラにおける特定のボタンに対する入力がゲームにおいて用いられない場合)において、ゲームシステム1は、そのような入力については編集時間のカウントを行わないようにしてもよい。
【0081】
また、他の実施形態においては、ゲームシステム1は、同じ入力が所定時間以上継続する場合(例えば、1つのボタンがずっと押し続けられている場合)には、当該入力が行われる期間の一部または全部については編集時間のカウントを行わないようにしてもよい。このような入力については、ユーザが実質的には編集を行っておらず、編集時間をカウントさせる目的でのみ入力が行われていると考えられるためである。ゲームシステム1は、上記のような入力が行われる期間のうち一部の期間(例えば、同じ入力が所定時間以上継続した後の期間)については編集時間をカウントしないようにしてもよいし、上記のような入力が行われる期間の全体について編集時間をカウントしないようにしてもよい。
【0082】
ユーザは、上記編集モードにおける編集が完成した場合、編集終了指示を行うことによって編集モードを終了させる。つまり、ゲームシステム1は、ユーザによる上記編集終了指示が行われたことによって、編集モードにおける編集が完成したと判定する。なお、編集モードにおける編集が完成したことを判定するための条件は任意である。他の実施形態においては、ゲームシステム1は、所定の完了条件(例えば、所定数の設置オブジェクトが設置されたこと)に応じて編集モードにおける編集が完成したと判定してもよい。
【0083】
編集モードにおける編集が完成した場合、ゲームシステム1は、編集後の部屋に関する情報(具体的には、設置オブジェクトの配置等の情報)を示す配置データを記憶する。配置データは、編集が行われた部屋、あるいは、部屋に対応するノンプレイヤキャラクタ(つまり、部屋の住人であるノンプレイヤキャラクタ)に関連付けて記憶される。上記個別編集時間を示す個別編集時間データは、この配置データに関連付けて(例えば、配置データに個別編集時間データが含まれるように)記憶されてもよい。
【0084】
また、編集モードにおける編集が完成した場合、ゲームシステム1は、当該編集に対する評価を行う。本実施形態においては、ゲームシステム1は、編集に対する評価(配置データに対する評価とも言える)に応じたメッセージを、部屋211の住人であるノンプレイヤキャラクタの台詞として表示する。
【0085】
図11は、編集モードの終了時に表示されるゲーム画像の一例を示す図である。
図11に示すように、編集モードを終了した場合、ゲームシステム1は、編集が行われた部屋211に、プレイヤキャラクタ221およびノンプレイヤキャラクタ222を配置する。そして、ゲームシステム1は、ノンプレイヤキャラクタ222の台詞として、編集に対する評価を示すメッセージ223を表示する。
【0086】
本実施形態においては、上記メッセージ223の内容は、上記個別編集時間の長さに応じて変化する。具体的には、予め定められた第1閾値(例えば、5分)よりも個別編集時間が短い場合、ゲームシステム1は、評価が低いことを示唆するメッセージ(例えば、「もうできたの?」というメッセージ)を表示する。また、予め定められた第2閾値(例えば、30分)よりも個別編集時間が長い場合、ゲームシステム1は、評価が高いことを示唆するメッセージ(例えば、「たくさん頑張ってくれてありがとう!」というメッセージ)を表示する。また、個別編集時間が中程度の場合(すなわち、個別編集時間が上記第1閾値以上で上記第2閾値以下である場合)、ゲームシステム1は、評価が中程度であることを示唆するメッセージ(例えば、「ありがとう。」というメッセージ)を表示する。
【0087】
上記のように、本実施形態においては、ゲームシステム1は、仮想空間内におけるノンプレイヤキャラクタによるメッセージを、評価に応じて異なる内容となるように表示する。これによれば、ユーザは、自身が行った編集に対する評価を上記メッセージによって知ることができる。
【0088】
なお、他の実施形態においては、編集に対する評価の方法は上記に限らず、任意の方法で行われてもよい。例えば、ゲームシステム1は、評価結果を示すメッセージを、ノンプレイヤキャラクタによる台詞としてではない形で表示してもよい。また例えば、ゲームシステム1は、ノンプレイヤキャラクタによる依頼の報酬としてプレイヤキャラクタにゲーム内における通貨を付与するようにしてもよく、このとき、付与される通貨の量を個別編集時間に応じて異ならせるようにしてもよい。
【0089】
本実施形態においては、上記の個別編集時間を直接用いて評価を行ったが、他の実施形態においては、個別編集時間に基づいて評価ポイントを算出し、評価ポイントに基づいて評価結果を表示するようにしてもよい。評価ポイントは、例えば、個別編集時間が長いほど大きい値となるように(具体的には、個別編集時間に比例するように)算出されてもよい。また、ゲームシステム1は、個別編集時間がカウントされる期間のうち、特定の期間に重みを付して評価ポイントを算出してもよい。例えば、ゲームシステム1は、特定の入力が行われている期間については、個別編集時間に所定の係数(具体的には、1より大きい係数)を乗算した値を評価ポイントとして算出し、特定の入力とは異なる入力が行われている期間については、個別編集時間の値をそのまま評価ポイントとして(あるいは、当該値に1より小さい係数を乗算した値を評価ポイントとして)算出してもよい。なお、上記特定の入力とは、例えば、設置オブジェクトの編集に直接的に関わる操作入力である。ゲームシステム1は、例えば、設置オブジェクトを移動させる操作入力や、部屋211に配置する設置オブジェクトを選択するための入力を、上記特定の入力として取り扱ってもよい。また、特定の入力とは異なる入力とは、例えば、設置オブジェクトの編集に直接的に関わらない操作入力である。ゲームシステム1は、例えば、カーソル212を単に移動させる入力(つまり、カーソル212の移動に応じて設置オブジェクトを移動させるものではない入力)や、仮想カメラの向きを変更するための入力を、特定の入力とは異なる入力として取り扱ってもよい。
【0090】
上記のように、ゲームシステム1は、個別編集時間に加えて入力の内容(すなわち、入力によって行われる編集操作の内容)に基づいて評価ポイントを算出し、評価ポイントに基づいて評価を行うようにしてもよい。これによれば、編集時間に基づく評価の精度を向上することができる。
【0091】
本実施形態においては、ゲームシステム1は、評価に応じた報酬をユーザに対して付与する。具体的には、上記の編集モードの後において、ゲームにおいてプレイヤキャラクタ221が、以前に部屋の編集を行ったノンプレイヤキャラクタ222に話しかけた場合には、編集に対する評価が高かった(すなわち、個別編集時間が上記第2閾値よりも長かった)ことを条件として、ノンプレイヤキャラクタ222からプレイヤキャラクタ221に対してアイテムが付与される。これによって、編集に対して高評価を得る動機付けをユーザに対して与えることができる。なお、付与されるアイテムの種類は、ノンプレイヤキャラクタに関わらず同じであってもよいし、ノンプレイヤキャラクタ毎に設定されていてもよいし、評価内容(すなわち、個別編集時間)に応じて設定されてもよい。また、評価に応じた報酬の内容は任意であり、ゲームにおいて用いられるアイテムに限らず、ゲーム内において用いられる通貨等、当該ゲームに関する任意の報酬であってもよい。
【0092】
また、報酬が付与されるタイミングは任意であり、他の実施形態においては、編集モードが終了した直後に付与されてもよい。例えば、ゲームシステム1は、上記のメッセージ223を表示する際に、評価に応じた内容のアイテムがノンプレイヤキャラクタ222からプレイヤキャラクタ221へ付与されるようにしてもよい。
【0093】
本実施形態においては、ノンプレイヤキャラクタからのコーディネートの依頼によってユーザが編集を行った部屋について、ユーザは再度の編集を行うことができる。つまり、本実施形態においては、ノンプレイヤキャラクタがコーディネートの依頼を行った部屋について、ノンプレイヤキャラクタがリフォームの依頼を行うことがある。プレイヤキャラクタがリフォームの依頼を受けることで、上記の部屋について再度の編集を行う編集モードが開始される。この編集モードにおいては、ゲームシステム1は、現在の設置オブジェクトの配置を示す配置データ(つまり、前回の編集において記憶された配置データ)を読み出し、当該配置データが示す配置に対して、ユーザによる操作入力に応じて編集を行う。
【0094】
再度の編集が行われる場合、ゲームシステム1は、当該編集が行われる部屋についての編集時間として、累積編集時間を算出する。
図12は、累積編集時間の算出方法の一例を示す図である。
図12は、初回の編集における個別編集時間が30分であり、2回目の編集(すなわち、上記の再度の編集)における個別編集時間が25分である例を示している。なお、ゲームシステム1は、2回目の編集における編集モードにおいても、1回目の編集モードと同じ方法で個別編集時間をカウントする。
【0095】
ゲームシステム1は、2回目の編集の完了後、当該編集が行われた部屋についての累積編集時間を算出する。累積編集時間は、当該編集が行われた部屋についてのこれまでの編集(今回の編集を含む)による編集時間の合計である。
図12に示す例においては、2回目の編集が完了した場合における累積編集時間は、初回の編集における個別編集時間(30分)と、2回目の編集における個別編集時間(25分)との合計である55分となる。ゲームシステム1は、編集が行われた部屋(あるいは、部屋の住人であるノンプレイヤキャラクタ)に関連付けて累積編集時間を記憶する。
【0096】
本実施形態においては、ゲームシステム1は、2回目以降の編集の完了時においては、編集に対する評価(具体的には、ノンプレイヤキャラクタによる台詞の決定)を、当該編集の個別編集時間に基づいて行う。また、ゲームシステム1は、2回目以降の編集の完了後においてプレイヤキャラクタに付与される報酬(具体的には、ノンプレイヤキャラクタからプレイヤキャラクタに付与されるアイテム)を、個別編集時間に基づいて決定する。ただし、他の実施形態においては、ゲームシステム1は、2回目以降の編集の完了時における評価を、累積編集時間に基づいて行ってもよいし、2回目以降の編集の完了後においてプレイヤキャラクタに付与される報酬を、累積編集時間に基づいて決定してもよい。なお、詳細は後述するが、ゲームシステム1は、後述する一覧表示を行うために累積編集時間を用いる。
【0097】
また、本実施形態においては、プレイヤキャラクタは、ノンプレイヤキャラクタからの依頼が行われていない場合であっても、特定の部屋についても、編集を行うことができる。この特定の部屋は、例えば、住人となるノンプレイヤキャラクタがいない部屋であってもよいし、ノンプレイヤキャラクタが住人である部屋であって、依頼が行われていない部屋であってもよい。例えば、ユーザは、上記特定の部屋に対する編集を行うことによって、部屋のコーディネートの練習を行うことができる。ゲームシステム1は、上記特定の部屋に対する編集についても配置データを記憶するとともに、編集時間をカウントして編集時間データを記憶する。ただし、上記特定の部屋に対する編集については、編集の完了時において、編集に対する評価を示すメッセージは表示されなくてもよいし、評価に応じた報酬が付与されなくてもよい。
【0098】
本実施形態においては、ノンプレイヤキャラクタからの依頼に応じて行われる部屋の編集において、ユーザは、上記特定の部屋における設置オブジェクトの配置の一部または全部を適用して編集を行うことができる。具体的には、ゲームシステム1は、編集モードにおいて、ユーザによる所定の指示があった場合、上記特定の部屋に関する配置データを読み出し、当該配置データが示す配置となるように、編集中の部屋における設置オブジェクトの配置を変更する。これによれば、ユーザは、練習で作成した部屋の配置を、他の部屋の編集のために容易に用いることができるので、ユーザの利便性を向上することができる。なお、本実施形態においては、編集中の部屋における設置オブジェクトの配置が上記のように変更された後も、ユーザは、さらなる編集を行うことができ、特定の部屋における配置をさらに変更することができるものとする。
【0099】
上記のように編集中の部屋において別の配置を適用する場合、ゲームシステム1は、当該別の配置に関する編集時間を考慮して、今回の編集における個別編集時間を算出する。
図13は、別の配置が適用される場合における編集時間の算出方法の一例を示す図である。
図13は、上記特定の部屋についての編集時間が40分であり、当該特定の部屋の配置が適用された編集における実際の編集時間が10分である例を示している。なお、上記の「実際の編集時間」とは、編集モード中において上述した方法でカウントされた編集時間を指す。
【0100】
上記の場合、ゲームシステム1は、今回の編集モードにおける実際の編集時間(
図13に示す例では、10分)に、当該編集モードにおいて適用された上記別の配置に関する編集時間(
図13に示す例では、40分)を加算した時間を、当該編集モードにおける編集時間(具体的には、個別編集時間)として算出する。したがって、
図13に示す例においては、今回の編集モードにおける編集時間は50分として算出される。なお、本実施形態においては、加算される編集時間は、上記別の配置に関する累積編集時間であるとするが、他の実施形態においては、個別編集時間であってもよい。
【0101】
上記のように、本実施形態においては、ある編集において、他の編集による配置データが適用される場合、ゲームシステム1は、当該他の編集における編集時間を用いて(具体的には、当該ある編集においてカウントされた編集時間に対して当該他の編集における編集時間を加算して)、当該ある編集における編集時間を算出する。これによれば、上記の場合においてユーザが実質的にかけた手間を考慮して編集時間を算出することができるので、ゲームシステム1は、より精度の良い編集時間を得ることができる。
【0102】
[2-2.編集された部屋の一覧の表示]
次に、編集された部屋の一覧を表示する処理について説明する。本実施形態においては、ゲームシステム1は、当該ゲームシステム1のユーザが編集を行った部屋についての上記配置データを、ユーザの指示に応じてサーバ201へアップロードする。サーバ201は、ゲームシステム1から送信された配置データをユーザに関連付けて記憶する。なお、本実施形態においては、ゲームシステム1からサーバ201へ送信される配置データには、上記の累積編集時間を示す累積編集時間データが含まれる。サーバ201は、ゲームシステム1と同種の他のゲームシステムからも、当該他のゲームシステムのユーザが編集を行った部屋についての配置データを受信して記憶する。つまり、サーバ201は、上記のゲームを行う複数のユーザによる配置データを記憶する。
【0103】
また、本実施形態においては、ゲームシステム1は、ユーザの指示に応じて、他のユーザによって編集された部屋に関する一覧(配置データの一覧とも言える)をサーバ201から取得し、当該一覧を表示する。このように、ゲームシステム1のユーザは、他のユーザが編集した部屋についての一覧を見ることができる。具体的には、ゲームシステム1は、ユーザによる上記指示があるとサーバ201へ一覧取得要求を行い、この一覧取得要求に応じて、サーバ201は、自身に記憶されている配置データの部屋のうちから、複数の部屋に関する一覧データをゲームシステム1へ送信する。ゲームシステム1は、サーバ201からの一覧データを用いて、部屋の一覧を示す一覧画像を表示する。
【0104】
図14は、一覧画像の一例を示す図である。
図14に示すように、一覧画像は、部屋の様子を示す部屋画像(例えば、
図14に示す部屋画像231等)を複数含む。なお、本実施形態においては、一覧画像は上下方向にスクロール可能に表示され、一覧画像がスクロールされることでより多くの部屋画像が表示されることとなる。
【0105】
本実施形態においては、部屋画像231は、部屋の配置を示すサムネイル画像232と、当該部屋の住人であるノンプレイヤキャラクタを示すキャラクタアイコン画像233とを含む。また、部屋画像231は、部屋の編集を行ったユーザのユーザ名を含む。なお、一覧画像に含まれる各部屋画像は、部屋画像231と同様に、サムネイル画像、キャラクタアイコン画像、および、ユーザ名を含む。なお、部屋画像は、部屋を識別可能な任意の情報を含むものであってよく、上記の画像や情報の他に、ユーザのプレイヤキャラクタを示すアイコン画像や、ユーザが部屋に付けたタイトルを含んでいてもよい。
【0106】
本実施形態においては、ユーザは、一覧画像に含まれる部屋画像を指定する操作入力を行うことによって、当該部屋画像が示す部屋の詳細を見ることができる。具体的には、部屋画像を指定する操作入力が行われた場合、ゲームシステム1は、当該部屋画像に関する配置データの取得を要求する要求をサーバ201へ送信し、サーバ201から当該配置データを受信する。そして、ゲームシステム1は、受信した配置データに基づいて仮想空間に部屋を構築し、構築された部屋の画像を生成して表示する。このとき、ゲームシステム1は、上記の部屋にプレイヤキャラクタを配置し、プレイヤキャラクタが部屋内を移動することができるようにしてもよい。
【0107】
なお、ゲームシステム1は、ユーザが指定した部屋画像に関して、部屋の画像を表示することに加えて(または代えて)、種々の処理を実行するようにしてもよい。例えば、ゲームシステム1は、指定された部屋画像の部屋のデザインに関するデータをサーバ201から取得し、デザインをユーザが自身の編集に利用できるようにしたり、指定された部屋画像のユーザを登録できる(例えば、ユーザは、登録した他のユーザがアップロードした配置データを見ることができたり、登録した他のユーザへメッセージを送ることができたりする。)ようにしたりしてもよい。
【0108】
本実施形態においては、一覧画像に含まれる各部屋画像が示す部屋は、サーバ201によって選択される。つまり、上記の一覧取得要求をゲームシステム1から受信した場合、サーバ201は、自身に記憶されている配置データの部屋のうちから、いくつかの部屋を選択し、選択された複数の部屋に関する一覧データをゲームシステム1へ送信する。
【0109】
ここで、本実施形態においては、サーバ201は、各部屋に関する上記累積編集時間を用いて上記の選択を行う。サーバ201は、自身に記憶されている配置データに含まれる累積編集時間データが示す累積編集時間を用いて選択を行う。具体的には、サーバ201は、累積編集時間に基づいて各部屋について選出値を算出する。本実施形態においては、選出値は、累積編集時間に加えて、累積編集時間とは異なる他の要素(例えば、配置される設置オブジェクトの数等)にも基づいて算出される。選出値は、上記他の要素が同じであるとした場合に、累積編集時間が短いほど小さくなるように算出される。サーバ201は、記憶されている配置データの部屋のうち、選出値が所定の基準よりも小さい部屋を除外するようにして、一覧データに含める部屋の選択を行う。つまり、本実施形態においては、サーバ201に記憶されている配置データ群から、選出値が所定の基準よりも小さい配置データが削減され、削減後の配置データ群から一覧に含まれる部屋の配置データが選出される。
【0110】
以上のように、本実施形態においては、ゲームシステム1は、上記の配置データをサーバ201へ送信し、他のゲームシステムからサーバ201へ送信された複数の配置データに関する一覧を示す一覧データをサーバ201から受信する。そして、ゲームシステム1は、サーバ201から受信された一覧データに基づいて複数の配置データに関する一覧表示を行う。これによれば、ユーザに対して他のユーザが編集した部屋を紹介することができる。
【0111】
なお、本実施形態においては、ゲームシステム1は、複数の他の情報処理装置からの配置データ群のうち、編集時間に基づいて選出された配置データ(配置データが示す部屋とも言える)に関する一覧表示を行う。より具体的には、ゲームシステム1は、複数の他のゲームシステムからの配置データ群のうちから、編集時間に基づく評価(具体的には、選出値)が所定の基準より低い配置データが削減された複数の配置データに関する一覧表示を行う。これによれば、累積編集時間が短い部屋については一覧に含まれにくくなるので、一覧にはユーザが手間をかけた部屋が含まれやすくなる。これによって、編集の参考になる部屋が多く含まれる一覧をユーザに提供することができる。また、自身が編集した部屋を多くの他のユーザに見てもらいたいと考えるユーザに対しては、部屋の編集に手間をかける動機付けを与えることができる。
【0112】
また、上記の一覧表示のための評価については、配置データに関する累積編集時間が用いられる。すなわち、本実施形態においては、ゲームシステム1は、部屋について再編集が行われる場合、再編集が行われる前の編集時間に、当該再編集における編集時間を加えた時間(すなわち、累積編集時間)に基づいて、当該再編集が行われた部屋に関する編集に対する評価を行う。これによれば、ゲームシステム1は、これまでに行われた複数回の編集のためにユーザがかけた手間を反映して評価を行うことができる。
【0113】
また、他の実施形態においては、ゲームシステム1は、一覧表示において表示される配置データを編集時間に基づいて決定する他の例として、一覧表示において表示される配置データ(具体的には、部屋画像)の並び順を、評価(すなわち、選出値)に応じて決定するようにしてもよい。例えば、配置データの選出値が大きいほど初めに(すなわち、一覧画像における上側に)表示されるように、配置データに対応する部屋画像が配置されてもよい。また、他の実施形態においては、ゲームシステム1は、一覧表示において表示される配置データ(具体的には、部屋画像)について、選出値に基づいて表示態様を異ならせるようにしてもよい。例えば、選出値が所定の基準以上である場合には、ゲームシステム1は、「おすすめ」を示すマークを部屋画像に付して表示するようにしてもよい。なお、上記の他の実施形態において、選出値に基づいて配置データ群から一部を削減する処理は、実行されてもよいし、されなくてもよい。
【0114】
[3.情報処理システムにおける処理の具体例]
次に、
図15~
図20を参照して、ゲームシステム1およびサーバ201を含む情報処理システムにおける情報処理の具体例について説明する。
【0115】
図15は、情報処理システムにおける情報処理に用いられる各種データの一例を示す図である。
図15に示す各種データは、本体装置2がアクセス可能な記憶媒体(例えば、フラッシュメモリ84、DRAM85、および/または、スロット23に装着されたメモリカード等)に記憶される。
【0116】
図15に示すように、ゲームシステム1は、ゲームプログラムを記憶する。ゲームプログラムは、本実施形態におけるゲーム処理(具体的には、
図16~
図19に示す処理)を実行するためのゲームプログラムである。また、ゲームシステム1は、キャラクタデータ、配置データ、および、一覧データを記憶する。
【0117】
配置データは、編集の対象となる編集領域(ここでは、部屋)における設置オブジェクトの配置を示すデータである。本実施形態においては、配置データは、設置オブジェクトデータ、個別編集時間データ、および、累積編集時間データを含む。設置オブジェクトデータは、部屋に配置される各設置オブジェクトの種類、位置、および、向きを示すデータである。個別編集時間データは、上述の個別編集時間を示すデータである。なお、1つの部屋について複数回の編集が行われる場合、1回の編集毎の複数の個別編集時間データが配置データに含まれてもよい。累積編集時間データは、上述の累積編集時間を示すデータである。配置データは、ゲーム空間における部屋毎に記憶される。
【0118】
キャラクタデータは、部屋に関連付けられるノンプレイヤキャラクタに関するデータである。本実施形態においては、キャラクタデータは、高評価フラグのデータを含む。高評価フラグは、ノンプレイヤキャラクタの部屋の編集に対して高評価が行われたか否かを示すフラグである。なお、キャラクタデータは、上記のデータの他に、キャラクタの能力および/または性質(上述の個性を含む)を示すパラメータを示すデータ等を含んでいてもよい。キャラクタデータは、ゲーム空間に登場するノンプレイヤキャラクタ毎に記憶される。
【0119】
一覧データは、ゲームシステム1において表示される一覧画像に含まれる部屋(一覧データとも言える)を示すデータである。一覧データは、例えば、上記一覧画像に含まれる各部屋または各一覧データの識別番号のデータを含む。
【0120】
なお、本実施形態においては、
図15に示す各データの一部または全部は、端末側(すなわち、ゲームシステム1)において記憶されることに加え、サーバ201においても記憶される。
図15に示す各データは、ゲームシステム1およびサーバ201のいずれに記憶されていてもよい。なお、ゲームシステム1とサーバ201とにおいて同じデータが記憶される場合には、適宜のタイミングで、ゲームシステム1に記憶されるデータとサーバ201に記憶されるデータとの同期がとられる。
【0121】
また、サーバ201は、
図15に示すデータの他、サーバ側ゲームプログラムを記憶する。サーバ側ゲームプログラムは、サーバ201で実行されるゲーム処理(すなわち、
図20に示すサーバ処理)を実行するためのプログラムである。すなわち、サーバ201のプロセッサがメモリを用いて上記サーバ側ゲームプログラムを実行することによって、後述するサーバ処理(
図20参照)がサーバ201において実行される。
【0122】
図16は、ゲームシステム1によって実行されるフィールド処理の流れの一例を示すフローチャートである。
図16に示すフィールド処理は、ゲームフィールドに配置されるプレイヤキャラクタ等の動作を制御するとともに、プレイヤキャラクタ等の様子を表すゲーム画像を表示する処理である。フィールド処理は、例えば、上記ゲームプログラムの実行中において、ゲームを開始する指示がユーザによって行われたことに応じて開始される。
【0123】
なお、本実施形態では、本体装置2のプロセッサ81が、ゲームシステム1に記憶されている上記ゲームプログラムを実行することによって、
図16~
図19に示す各ステップの処理を実行するものとして説明する。また、サーバ201のプロセッサが、サーバ201に記憶されている上記サーバ側ゲームプログラムを実行することによって、
図20に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、プロセッサとは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、ゲームシステム1において実行される各ステップの処理の一部は、サーバ201において実行されてもよいし、サーバ201において実行される各ステップの処理の一部は、ゲームシステム1において実行されてもよい。また、
図16~
図20に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
【0124】
また、ゲームシステム1またはサーバ201のプロセッサは、
図16~
図20に示す各ステップの処理を、メモリ(例えば、DRAM85)を用いて実行する。すなわち、プロセッサは、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
【0125】
図16に示すステップS1において、プロセッサ81は、ゲーム空間における各キャラクタ(すなわち、プレイヤキャラクタおよびノンプレイヤキャラクタ)の動作を制御する。すなわち、プロセッサ81は、ユーザによる操作入力を示す操作データを、コントローラ通信部83および/または各端子17および21を介して取得し、操作データに基づいてプレイヤキャラクタの動作を制御する。また、プロセッサ81は、ゲームプログラムにおいて予め定められたアルゴリズムに基づいてノンプレイヤキャラクタの動作を制御する。なお、本実施形態においては、ステップS1の処理は、後述するステップS2またはS7の判定結果が否定となってフィールド処理が終了される場合を除き、所定時間(例えば、1フレーム時間)に1回の割合で繰り返し実行される。1回のステップS1の処理において、プロセッサ81は、当該所定時間に応じた量だけ各キャラクタを動作させる。ステップS1の次にステップS2の処理が実行される。
【0126】
ステップS2において、プロセッサ81は、ゲーム空間における部屋の編集を開始するか否かを判定する。本実施形態においては、ゲーム中においてプレイヤキャラクタがノンプレイヤキャラクタから部屋のコーディネートの依頼を受けた場合、または、上述の特定の部屋について編集を行う指示をユーザが行った場合、プロセッサ81は、部屋の編集を開始すると判定する。ステップS2の判定結果が肯定である場合、ステップS3の処理が実行される。一方、ステップS2の判定結果が否定である場合、ステップS4の処理が実行される。
【0127】
ステップS3において、プロセッサ81は、実行する処理をフィールド処理から編集モード処理へと移行し、フィールド処理を終了する。編集モード処理は、上述の編集モードにおいて、ユーザの指示に応じて部屋の編集を行うための処理である。編集モード処理における処理の詳細については後述する(
図17参照)。
【0128】
一方、ステップS4において、プロセッサ81は、ステップS2で制御されたプレイヤキャラクタの動作に基づいて、プレイヤキャラクタがノンプレイヤキャラクタと会話を行ったかを判定する。ステップS4の判定結果が肯定である場合、ステップS5の処理が実行される。一方、ステップS4の判定結果が否定である場合、ステップS5およびS6の処理がスキップされてステップS7の処理が実行される。
【0129】
ステップS5において、プロセッサ81は、プレイヤキャラクタと会話を行ったノンプレイヤキャラクタの部屋について、過去に行われた編集において高い評価が行われていたか否かを判定する。ここで、本実施形態においては、上述のように、ノンプレイヤキャラクタに関するキャラクタデータは、当該ノンプレイヤキャラクタの部屋の編集に対して高評価が行われたか否かを示す高評価フラグのデータを含む。プロセッサ81は、編集モード処理において編集について高い評価を行った場合(すなわち、個別編集時間が第2閾値よりも長いと判定された場合)、当該部屋の住人であるノンプレイヤキャラクタについて設定される高評価フラグをオンに設定しておく。ステップS5における判定は、この高評価フラグがオンに設定されているか否かによって行われる。ステップS5の判定結果が肯定である場合、ステップS6の処理が実行される。一方、ステップS5の判定結果が否定である場合、ステップS6の処理がスキップされてステップS7の処理が実行される。
【0130】
ステップS6において、プロセッサ81は、プレイヤキャラクタに対して上記ノンプレイヤキャラクタからのアイテムを付与する。具体的には、上記メモリに記憶されている、プレイヤキャラクタが所有するアイテムを示すデータを、付与されるアイテムを含むように更新する。また、プロセッサ81は、プレイヤキャラクタとの会話の後に、アイテムを付与する動作を行うようにノンプレイヤキャラクタを制御する。ステップS6の次に、ステップS7の処理が実行される。
【0131】
ステップS7において、プロセッサ81は、メニュー画像を表示する旨の指示がユーザによって行われたか否かを判定する。なお、本実施形態においては、フィールド処理においてゲームフィールドのゲーム画像が表示されている場合において、ユーザは、所定の操作入力によって、メニュー画像を表示する旨の指示を行うことができるものとする。ステップS7の判定結果が肯定である場合、ステップS8の処理が実行される。一方、ステップS7の判定結果が否定である場合、ステップS9の処理が実行される。
【0132】
ステップS8において、プロセッサ81は、実行する処理をフィールド処理からメニュー処理へと移行し、フィールド処理を終了する。メニュー処理は、メニュー画像を表示して各種の指示を受け付けるための処理である。メニュー処理における処理の詳細については後述する(
図18参照)。
【0133】
ステップS9において、プロセッサ81は、ゲーム画像を生成してディスプレイ12に表示させる。ステップS1の処理結果が反映されたゲーム空間を示すゲーム画像を生成してディスプレイ12に表示する。なお、ステップS1,S2,S4-S7の一連の処理ループが繰り返し実行される場合、ステップS9の処理は、上記所定時間に1回の割合で繰り返し実行される。これによって、ゲーム空間においてキャラクタが動作する様子を示す動画が表示される。なお、本実施形態においては、ゲームシステム1はディスプレイ12に画像を表示するが、ディスプレイ12とは異なる他の表示装置(例えば、本体装置2に接続されるモニタ)に画像を表示してもよい。ステップS9の次に、ステップS1の処理が再度実行される。
【0134】
なお、図示しないが、上記フィールド処理中において、ゲームを終了する条件が満たされた場合(例えば、ゲームを終了する指示をユーザが行った場合)、プロセッサ81は、フィールド処理を終了する。
【0135】
図17は、ゲームシステム1によって実行される編集モード処理の流れの一例を示すフローチャートである。編集モード処理は、上記フィールド処理において、編集モード処理へと移行すると判定された(ステップS3)ことに応じて開始される。
【0136】
図17に示すステップS11において、プロセッサ81は、編集開始時における部屋の配置を設定する。すなわち、今回の編集モードにおいて行う編集が再編集である場合、プロセッサ81は、編集を行う部屋に関する配置データをメモリから読み出し、編集の対象となる部屋内における設置オブジェクトの配置を、読み出された配置データに基づいて設定する。一方、今回の編集モードにおいて行う編集が再編集でない場合、プロセッサ81は、編集の対象となる部屋内における設置オブジェクトの配置を、予め定められた初期配置に設定する。ステップS11の次にステップS12の処理が実行される。
【0137】
ステップS12において、プロセッサ81は、ゲームシステム1に対するユーザの操作入力が行われているか否かを判定する。すなわち、プロセッサ81は、コントローラ通信部83および/または各端子17および21を介して上述の操作データを取得し、操作データに基づいてステップS12における判定を行う。ステップS12の判定結果が肯定である場合、ステップS13の処理が実行される。一方、ステップS12判定結果が否定である場合、後述するステップS14の処理が実行される。
【0138】
ステップS13において、プロセッサ81は、ステップS12で受け付けられた操作入力に応じた処理を実行する。プロセッサ81は、例えば、カーソルを移動させたり、カーソルによって設置オブジェクトを指定したり、指定した設置オブジェクトを移動させたりする処理といった、編集のための処理を実行する。また例えば、上述の特定の部屋における配置を適用する旨の指示がユーザによって行われた場合には、プロセッサ81は、当該特定の部屋に関する配置データを読み出し、読み出した配置データに基づいて、編集を行う部屋における配置を変更する。ステップS13の次に、後述するステップS15の処理が実行される。
【0139】
ステップS14において、プロセッサ81は、ゲームシステム1に対するユーザの操作入力が無い期間が所定時間継続したか否かを判定する。ステップS14の判定結果が肯定である場合、後述するステップS18の処理が実行される。一方、ステップS14の判定結果が否定である場合、ステップS15の処理が実行される。
【0140】
ステップS15において、プロセッサ81は、編集時間のカウントを行う。なお、本実施形態においては、ステップS12~S18の一連の処理ループは、所定時間に1回の割合で実行される。プロセッサ81は、現在の個別編集時間の値を、上記所定時間を加算した値となるように更新する。ステップS15の次にステップS16の処理が実行される。
【0141】
ステップS16において、プロセッサ81は、ステップS13で実行された処理に基づいて、編集中の部屋とは異なる他の部屋(すなわち、上述の特定の部屋)の配置データの適用が行われたかを判定する。ステップS16の判定結果が肯定である場合、ステップS17の処理が実行される。一方、ステップS16の判定結果が否定である場合、ステップS17の処理がスキップされてステップS18の処理が実行される。
【0142】
ステップS17において、プロセッサ81は、個別編集時間の値に、適用された配置データに関する編集時間を加算する。すなわち、プロセッサ81は、上述の特定の部屋に関する累積編集時間データを読み出し、カウントしている個別編集時間に、読み出された累積編集時間データが示す値を加算する。ステップS17の次にステップS18の処理が実行される。
【0143】
ステップS18において、プロセッサ81は、編集モードを終了するか否かを判定する。具体的には、プロセッサ81は、編集モードを終了するための上記編集終了指示がユーザによって行われたか否かを判定する。ステップS18の判定結果が肯定である場合、ステップS19の処理が実行される。一方、ステップS18の判定結果が否定である場合、ステップS12の処理が再度実行される。以降、ステップS18において編集モードを終了すると判定されるまで、ステップS12~S18の一連の処理が繰り返し実行される。
【0144】
ステップS19において、プロセッサ81は、編集が行われた部屋に関する配置データについて、設置オブジェクトデータと個別編集時間データとをメモリに記憶する。すなわち、プロセッサ81は、上記ステップS13において行われた編集によって得られた設置オブジェクトの配置状態を示すデータを、設置オブジェクトデータとしてメモリに記憶する。また、プロセッサ81は、編集モード中においてカウントされた編集時間を示すデータを、個別編集時間データとしてメモリに記憶する。ステップS19の次にステップS20の処理が実行される。
【0145】
ステップS20において、プロセッサ81は、今回の編集モードにおいて行われた編集が再編集であるか否かを判定する。ステップS20の判定結果が否定である場合、ステップS21の処理が実行される。一方、ステップS20の判定結果が肯定である場合、ステップS22の処理が実行される。
【0146】
ステップS21において、プロセッサ81は、ステップS19で得られた個別編集時間を、編集が行われた部屋についての累積編集時間として記憶する。具体的には、プロセッサ81は、編集された部屋に関する配置データに含まれる個別編集時間データと同じ内容を、当該配置データに含まれる累積編集時間データとしてメモリに記憶する。ステップS21の次にステップS23の処理が実行される。
【0147】
ステップS22において、プロセッサ81は、編集が行われた部屋についての編集前の累積編集時間に、ステップS19で得られた個別編集時間を加算した時間を、編集後の累積編集時間として記憶する。具体的には、プロセッサ81は、編集された部屋に関する配置データに含まれる累積編集時間データが示す値(すなわち、これまでの累積編集時間)に、今回の編集モード処理においてカウントされた編集時間を加算した時間を示すデータを、新たな累積編集時間データとして記憶する。ステップS22の次にステップS23の処理が実行される。
【0148】
ステップS23において、プロセッサ81は、ステップS17で算出された個別編集時間に応じたメッセージをディスプレイ12に表示させる(
図11参照)。具体的には、プロセッサ81は、メモリに記憶されている配置データを読み出し、配置データに含まれる個別編集時間データに基づいて、表示すべきメッセージを決定する。プロセッサ81は、上記“[2-1.編集領域の編集]”で述べた方法に従ってメッセージの内容を決定し、編集が行われた部屋にプレイヤキャラクタおよびノンプレイヤキャラクタが配置された様子を示すゲーム画像とともに、決定されたメッセージを表示させる。これによって、編集時間に基づく評価が行われたこととなる。なお、上記において、プロセッサ81は、評価結果が高評価であった場合(すなわち、個別編集時間が第2閾値よりも長い場合)、上記ノンプレイヤキャラクタについて設定される高評価フラグをオンに設定し、評価結果が高評価でない場合、当該高評価フラグをオフに設定する。ステップS23の後、プロセッサ81は、編集モード処理を終了する。なお、編集モード処理が終了された後、プロセッサ81は、
図17に示すフィールド処理の実行を開始する。
【0149】
上記のように、本実施形態においては、ゲームシステム1は、評価を行う場合に、メモリに記憶された配置データを読み出す。そして、編集に対する評価は、読み出された配置データに含まれる編集時間に基づいて行われる。なお、評価が行われるタイミングは任意であり、編集が完了した直後に関わらず、編集後における任意のタイミング(例えば、編集が行われた部屋の住人であるノンプレイヤキャラクタにプレイヤキャラクタが話しかけたタイミング)であってもよい。
【0150】
図18は、ゲームシステム1によって実行されるメニュー処理の流れの一例を示すフローチャートである。メニュー処理は、上記フィールド処理において、メニュー処理へと移行すると判定された(ステップS8)ことに応じて開始される。
【0151】
図18に示すステップS31において、プロセッサ81は、メニュー画像をディスプレイ12に表示させる。本実施形態においては、メニュー画像が表示される状態において、プロセッサ81は、配置データをサーバ201へアップロードする旨のアップロード指示と、上述の一覧表示を行う旨の一覧表示指示とを受け付けるものとする。ステップS31の次にステップS32の処理が実行される。
【0152】
ステップS32において、プロセッサ81は、上記アップロード指示がユーザによって行われたか否かを判定する。ステップS32の判定結果が肯定である場合、ステップS33の処理が実行される。一方、ステップS32の判定結果が否定である場合、ステップS33の処理がスキップされてステップS34の処理が実行される。
【0153】
ステップS33において、プロセッサ81は、メモリに記憶されている配置データ(すなわち、ゲーム中においてユーザが編集を行った部屋の配置データ)を、ネットワーク通信部82を介してサーバ201へ送信する。本実施形態においては、プロセッサ81は、ユーザを識別するためのユーザのIDのデータを配置データに関連付けて配置データとともにサーバ201へ送信する。ここで、プロセッサ81は、メモリに記憶されている配置データの一覧を表示するとともに、サーバ201へ送信する配置データを選択する指示をユーザから受け付け、ユーザによって指示された配置データをサーバ201へ送信するようにしてもよい。ステップS33の次にステップS34の処理が実行される。
【0154】
ステップS34において、プロセッサ81は、上記一覧表示指示がユーザによって行われたか否かを判定する。ステップS34の判定結果が肯定である場合、ステップS35の処理が実行される。一方、ステップS34の判定結果が否定である場合、ステップS36の処理が実行される。
【0155】
ステップS35において、プロセッサ81は、実行する処理をメニュー処理から一覧表示処理へと移行し、メニュー処理を終了する。一覧表示処理は、他のユーザによる編集に関する配置データの一覧を表示するための処理である。一覧表示処理における処理の詳細については後述する(
図19参照)。
【0156】
ステップS36において、プロセッサ81は、メニュー処理を終了するか否かを判定する。具体的には、プロセッサ81は、メニュー画像の表示を終了する旨の指示が行われたか否かを判定する。ステップS36の判定結果が否定である場合、ステップS32の処理が再度実行される。以降、ステップS36においてメニュー処理を終了すると判定されるまで、ステップS32~S36の処理が繰り返し実行される。一方、ステップS36の判定結果が肯定である場合、プロセッサ81は、メニュー処理を終了する。この後、プロセッサ81は、
図17に示すフィールド処理の実行を開始する。
【0157】
図19は、ゲームシステム1によって実行される一覧表示処理の流れの一例を示すフローチャートである。一覧表示処理は、上記メニュー処理において、一覧表示指示が行われたことに応じて開始される。
【0158】
図19に示すステップS41において、プロセッサ81は、一覧データを取得するための一覧取得要求を、ネットワーク通信部82を介してサーバ201へ送信する。ステップS41の次にステップS42の処理が実行される。
【0159】
ステップS42において、プロセッサ81は、一覧データをサーバ201から受信する。上記一覧取得要求をゲームシステム1から受信したサーバ201は、一覧データをゲームシステム1へ送信する(後述するステップS56)ので、プロセッサ81は、当該一覧データを、ネットワーク通信部82を介して受信する。受信された一覧データはメモリに記憶される。ステップS42の次にステップS43の処理が実行される。
【0160】
ステップS43において、プロセッサ81は、一覧画像をディスプレイ12に表示する(
図14参照)。ここで、ステップS42で受信された一覧データは、一覧画像に含まれる各部屋画像を生成するためのデータを含む。プロセッサ81は、受信された一覧データに基づいて一覧画像を生成してディスプレイ12に表示する。ステップS43の次にステップS44の処理が実行される。
【0161】
ステップS44において、プロセッサ81は、ディスプレイ12に表示されている一覧画像に含まれる部屋画像がユーザによって指定されたか否かを判定する。ステップS44の判定結果が肯定である場合、ステップS45の処理が実行される。一方、ステップS44の判定結果が否定である場合、ステップS46の処理が実行される。
【0162】
ステップS45において、プロセッサ81は、実行する処理を一覧表示処理から部屋閲覧処理へと移行し、一覧表示処理を終了する。部屋閲覧処理は、指定された部屋画像に関する部屋を閲覧するための処理である。図示しないが、部屋閲覧処理においては、プロセッサ81は、指定された部屋画像に関する配置データの取得を要求する要求をサーバ201へ送信し、サーバ201から当該配置データを受信する。そして、プロセッサ81は、受信した配置データに基づいて仮想空間に部屋を構築し、構築された部屋の画像を生成して表示する。
【0163】
ステップS46において、プロセッサ81は、一覧表示を終了するか否かを判定する。具体的には、プロセッサ81は、一覧表示を終了する旨の指示がユーザによって行われたか否かを判定する。ステップS46の判定結果が否定である場合、ステップS43の処理が再度実行される。以降、ステップS46において一覧表示を終了すると判定されるまで、ステップS43~S46の処理が繰り返し実行される。一方、ステップS46の判定結果が肯定である場合、プロセッサ81は、一覧表示処理を終了する。この後、プロセッサ81は、
図18に示すメニュー処理の実行を開始する。
【0164】
図20は、サーバ201において実行されるサーバ処理の流れの一例を示す図である。サーバ201においては、複数のゲームシステムからの要求に対応するべく、
図20に示す一連の処理が繰り返し実行される。
【0165】
図20に示すステップS51において、サーバ201のプロセッサは、ゲームシステムから通信部を介して、配置データを受信したか否かを判定する。ステップS51の判定結果が肯定である場合、ステップS52の処理が実行される。一方、ステップS51の判定結果が否定である場合、ステップS52の処理がスキップされてステップS53の処理が実行される。
【0166】
ステップS52において、プロセッサは、受信した配置データを記憶部に記憶する。ゲームシステムから送信されてくる配置データには、ユーザのIDのデータが関連付けられているので、プロセッサは、配置データとユーザのIDデータとを関連付けて記憶する。ステップS52の次にステップS53の処理が実行される。
【0167】
ステップS53において、プロセッサは、ゲームシステムから通信部を介して、上述の一覧取得要求を受信したか否かを判定する。ステップS53の判定結果が肯定である場合、ステップS54の処理が実行される。一方、ステップS53の判定結果が否定である場合、ステップS54~S56の処理がスキップされてステップS51の処理が再度実行される。
【0168】
ステップS54において、プロセッサは、記憶部に記憶されている各配置データ(すなわち、配置データに対応する部屋)について、上述の選出値を算出する。上記“[2-2.編集された部屋の一覧の表示]”で述べたように、選出値は、配置データに含まれる累積編集時間に基づいて算出される。ステップS54の次にステップS55の処理が実行される。
【0169】
ステップS55において、プロセッサは、各配置データの選出値に基づいて、一覧に含めるべき配置データを選出する。上記“[2-2.編集された部屋の一覧の表示]”で述べたように、記憶部に記憶されている配置データのうちから、選出値が所定の基準よりも小さい配置データが削減され、削減後の配置データ群から一覧に含まれる部屋の配置データが選出される。ステップS55の次にステップS56の処理が実行される。
【0170】
ステップS56において、プロセッサは、一覧データをゲームシステムへ送信する。すなわち、プロセッサは、ステップS55で選出された各配置データに関する一覧データを生成し、生成された一覧データを、通信部を介してゲームシステムへ送信する。なお、一覧データは、ゲームシステムにおいて一覧画像を生成するために用いられる情報が含まれていればよい。本実施形態においては、一覧データは、配置データの識別番号のデータ、配置データに関連付けられるノンプレイヤキャラクタを示すデータ、配置データのサムネイル画像のデータ、および、配置データに関連付けられるユーザのIDのデータを含む。なお、サムネイル画像のデータは、配置データに基づいてサーバ201によって自動的に生成されてもよいし、ゲームシステム1側で配置データが生成される際にユーザの操作入力に基づいて生成されてもよい。ステップS56の次にステップS51の処理が再度実行される。
【0171】
[4.本実施形態の作用効果および変形例]
以上のように、上記実施形態においては、ゲームプログラムは、情報処理装置(例えば、本体装置2)のコンピュータに、次の処理を行わせる構成である。
・仮想空間内の所定の領域(例えば、部屋)において、当該領域内に設置される設置オブジェクトの選択、設置、および、移動のうち少なくともいずれかを含む編集を操作入力に基づいて行う(ステップS13)。
・編集が行われている編集時間をカウントする(ステップS17)。
・所定の領域における設置オブジェクトの配置を示す配置データを記憶媒体に記憶する(ステップS13)。
・編集時間が短い場合に編集時間が長い場合よりも低い評価となるように、少なくとも編集時間に基づいて編集に対する評価を行う(ステップS17)。
【0172】
上記の構成によれば、編集時間が評価に反映されるので、ユーザが編集のためにかけた手間を反映した評価を行うことができる。これによって、編集についての評価を適切に行うことができる。
【0173】
上記「編集時間」とは、上記実施形態における個別編集時間であってもよいし、累積編集時間であってもよい。
【0174】
上記の実施形態においては、編集時間に応じたメッセージを表示すること、または、選出値を算出することが、上記の「評価」に相当する。ただし、評価の具体的な処理は任意であり、これらに限られない。例えば、上述した評価ポイントを算出する処理は、上記の「評価」の一例である。また例えば、一覧画像において、編集時間に応じて「おすすめ」を示すマークを部屋画像に付す処理も、上記の「評価」の一例である。
【0175】
なお、他の実施形態において、情報処理システムは、上記実施形態における構成の一部を備えていなくてもよいし、上記実施形態において実行される処理の一部を実行しなくてもよい。例えば、情報処理システムは、上記実施形態における一部の特定の効果を奏するためには、当該効果を奏するための構成を備え、当該効果を奏するための処理を実行すればよく、その他の構成を備えていなくてもよいし、その他の処理を実行しなくてもよい。
【産業上の利用可能性】
【0176】
上記実施形態は、オブジェクトの配置に関する編集についての評価を適切に行うこと等を目的として、例えば、ゲームシステムやゲームプログラムとして利用することが可能である。
【符号の説明】
【0177】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
81 プロセッサ
201 サーバ
211 部屋
221 プレイヤキャラクタ
222 ノンプレイヤキャラクタ