(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-20
(45)【発行日】2024-06-28
(54)【発明の名称】ゲームプログラム、情報処理システム、情報処理装置、および情報処理方法
(51)【国際特許分類】
A63F 13/55 20140101AFI20240621BHJP
A63F 13/56 20140101ALI20240621BHJP
A63F 13/577 20140101ALI20240621BHJP
A63F 13/69 20140101ALI20240621BHJP
【FI】
A63F13/55
A63F13/56
A63F13/577
A63F13/69
A63F13/69 520
(21)【出願番号】P 2023013964
(22)【出願日】2023-02-01
【審査請求日】2023-05-22
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】山本 直弥
(72)【発明者】
【氏名】深田 直希
(72)【発明者】
【氏名】竹原 学
(72)【発明者】
【氏名】住吉 伸啓
【審査官】鈴木 崇雅
(56)【参考文献】
【文献】特表2021-507791(JP,A)
【文献】特表2020-507362(JP,A)
【文献】特開2022-096948(JP,A)
【文献】特開2006-130131(JP,A)
【文献】特開2021-186370(JP,A)
【文献】特開2020-130797(JP,A)
【文献】[ブレスオブザワイルド]「マ・オーヌの祠-磁力のちから」試練の攻略・解き方!,GameStage@ゲーム速報,2017年03月10日,[2024年3月14日検索日],インターネット:<URL:https://blog.gamestage.jp/archives/1336>
【文献】100%ムックシリーズ ゲーム攻略大全 Vol.24 フォートナイト 超技極マスター ,第24巻,株式会社晋遊舎 武田 義尊,2021年08月01日,p102-111
【文献】PS VR向け新作『GHOST GIANT』発表! 動物と巨大なゴーストが絆を深めていくゲームになる?,ファミ通.com,2018年06月10日,[2024年3月14日検索日],インターネット:<URL:https://www.famitsu.com/news/201806/10158751.html>
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
操作入力に基づいて、仮想空間においてプレイヤキャラクタの制御を行わせ、
前記仮想空間内の複数のオブジェクトのうち、前記プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクトを、操作入力に基づく前記第1のアクションに基づいて移動制御させ、
第1の場面において、前記操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクトを、前記第1のアクションに基づいて移動制御させ、
前記第1の場面から第2の場面に移行する際に、配置された前記操作対象建築物オブジェクトを、当該操作対象建築物オブジェクトに対応し、かつ、前記第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定させ、
前記第2の場面から前記第1の場面に移行する際に、配置された前記非操作対象建築物オブジェクトを、当該非操作対象建築物オブジェクトに対応する前記操作対象建築物オブジェクトに設定させる、ゲームプログラム。
【請求項2】
前記コンピュータにさらに、
操作入力に基づいて、前記第1のアクションとしてさらに、複数の前記操作対象建築物オブジェクト同士を接続させ、接続された前記操作対象建築物オブジェクト同士を一体化させて移動制御させる、請求項1に記載のゲームプログラム。
【請求項3】
前記操作対象建築物オブジェクトは、接続方向が設定された接続ポイントを有し、
前記コンピュータに、
前記操作対象建築物オブジェクト同士を接続させる場合に、前記接続ポイント同士が前記接続方向に基づいて接続されるように、前記操作対象建築物オブジェクトの位置および姿勢を調整して接続させる、請求項2に記載のゲームプログラム。
【請求項4】
複数の前記建築物のオブジェクトのうちの少なくとも何れかは、建物を構成する部屋のオブジェクトである、請求項2に記載のゲームプログラム。
【請求項5】
前記部屋のオブジェクトである前記非操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入可能な形状を有し、
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入不可能な形状を有する、請求項4に記載のゲームプログラム。
【請求項6】
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、部屋の開口部に対応する箇所に、当該開口部を塞ぐオブジェクトを有する、請求項5に記載のゲームプログラム。
【請求項7】
前記コンピュータにさらに、
操作入力に基づいて、前記プレイヤキャラクタの第2のアクションとして、当該プレイヤキャラクタの上方に天井となるオブジェクトがあり、かつ、そのさらに上方に前記プレイヤキャラクタを配置することが可能な移動先がある場合、前記プレイヤキャラクタを前記移動先まで移動させ、
前記操作対象建築物オブジェクトの部屋内部は、前記プレイヤキャラクタを配置することが不可能である、請求項5に記載のゲームプログラム。
【請求項8】
前記非操作対象建築物オブジェクトの少なくとも何れかは、その内部空間に配置された内部オブジェクトを有し、
前記コンピュータにさらに、
前記内部オブジェクトが配置された前記非操作対象建築物オブジェクトの姿勢が所定の条件を満たす場合は、所定の種類の前記内部オブジェクトを無効化させる、請求項1に記載のゲームプログラム。
【請求項9】
前記コンピュータに、
前記所定の種類の内部オブジェクトを消去させることで無効化させる、請求項8に記載のゲームプログラム。
【請求項10】
前記コンピュータにさらに、
操作入力に基づいて、前記第1のアクションとしてさらに、前記操作対象建築物オブジェクトと前記操作対象建築物オブジェクト以外の前記操作対象オブジェクトとの組み合わせを除く、複数の前記操作対象オブジェクト同士を接続させ、接続された前記操作対象オブジェクト同士を一体化させて移動制御させる、請求項2に記載のゲームプログラム。
【請求項11】
前記コンピュータにさらに、
複数の前記操作対象建築物オブジェクトが接続される場合に、当該複数の前記操作対象建築物オブジェクトの接続箇所に、接続オブジェクトを配置させ、
接続された複数の前記操作対象建築物オブジェクトが前記非操作対象建築物オブジェクトに設定される場合、前記接続箇所に前記接続オブジェクトは配置されない、請求項2に記載のゲームプログラム。
【請求項12】
プロセッサを備える情報処理システムであって、前記プロセッサは、
操作入力に基づいて、仮想空間においてプレイヤキャラクタを制御し、
前記仮想空間内の複数のオブジェクトのうち、前記プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクトを、操作入力に基づく前記第1のアクションに基づいて移動制御し、
第1の場面において、前記操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクトを、前記第1のアクションに基づいて移動制御し、
前記第1の場面から第2の場面に移行する際に、配置された前記操作対象建築物オブジェクトを、当該操作対象建築物オブジェクトに対応し、かつ、前記第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定し、
前記第2の場面から前記第1の場面に移行する際に、配置された前記非操作対象建築物オブジェクトを、当該非操作対象建築物オブジェクトに対応する前記操作対象建築物オブジェクトに設定する、情報処理システム。
【請求項13】
前記プロセッサは、さらに、
操作入力に基づいて、前記第1のアクションとしてさらに、複数の前記操作対象建築物オブジェクト同士を接続し、接続された前記操作対象建築物オブジェクト同士を一体化させて移動制御する、請求項12に記載の情報処理システム。
【請求項14】
前記操作対象建築物オブジェクトは、接続方向が設定された接続ポイントを有し、
前記プロセッサは、
前記操作対象建築物オブジェクト同士を接続する場合に、前記接続ポイント同士が前記接続方向に基づいて接続されるように、前記操作対象建築物オブジェクトの位置および姿勢を調整して接続する、請求項13に記載の情報処理システム。
【請求項15】
複数の前記建築物のオブジェクトのうちの少なくとも何れかは、建物を構成する部屋のオブジェクトである、請求項13に記載の情報処理システム。
【請求項16】
前記部屋のオブジェクトである前記非操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入可能な形状を有し、
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入不可能な形状を有する、請求項15に記載の情報処理システム。
【請求項17】
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、部屋の開口部に対応する箇所に、当該開口部を塞ぐオブジェクトを有する、請求項16に記載の情報処理システム。
【請求項18】
前記プロセッサはさらに、
操作入力に基づいて、前記プレイヤキャラクタの第2のアクションとして、当該プレイヤキャラクタの上方に天井となるオブジェクトがあり、かつ、そのさらに上方に前記プレイヤキャラクタを配置することが可能な移動先がある場合、前記プレイヤキャラクタを前記移動先まで移動させ、
前記操作対象建築物オブジェクトの部屋内部は、前記プレイヤキャラクタを配置することが不可能である、請求項16に記載の情報処理システム。
【請求項19】
前記非操作対象建築物オブジェクトの少なくとも何れかは、その内部空間に配置された内部オブジェクトを有し、
前記プロセッサはさらに、
前記内部オブジェクトが配置された前記非操作対象建築物オブジェクトの姿勢が所定の条件を満たす場合は、所定の種類の前記内部オブジェクトを無効化する、請求項12に記載の情報処理システム。
【請求項20】
前記プロセッサは、
前記所定の種類の内部オブジェクトを消去させることで無効化する、請求項19に記載の情報処理システム。
【請求項21】
前記プロセッサはさらに、
操作入力に基づいて、前記第1のアクションとしてさらに、前記操作対象建築物オブジェクトと前記操作対象建築物オブジェクト以外の前記操作対象オブジェクトとの組み合わせを除く、複数の前記操作対象オブジェクト同士を接続し、接続された前記操作対象オブジェクト同士を一体化させて移動制御する、請求項13に記載の情報処理システム。
【請求項22】
前記プロセッサはさらに、
複数の前記操作対象建築物オブジェクトが接続される場合に、当該複数の前記操作対象建築物オブジェクトの接続箇所に、接続オブジェクトを配置し、
接続された複数の前記操作対象建築物オブジェクトが前記非操作対象建築物オブジェクトに設定される場合、前記接続箇所に前記接続オブジェクトは配置されない、請求項13に記載の情報処理システム。
【請求項23】
プロセッサを備える情報処理装置であって、前記プロセッサは、
操作入力に基づいて、仮想空間においてプレイヤキャラクタを制御し、
前記仮想空間内の複数のオブジェクトのうち、前記プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクトを、操作入力に基づく前記第1のアクションに基づいて移動制御し、
第1の場面において、前記操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクトを、前記第1のアクションに基づいて移動制御し、
前記第1の場面から第2の場面に移行する際に、配置された前記操作対象建築物オブジェクトを、当該操作対象建築物オブジェクトに対応し、かつ、前記第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定し、
前記第2の場面から前記第1の場面に移行する際に、配置された前記非操作対象建築物オブジェクトを、当該非操作対象建築物オブジェクトに対応する前記操作対象建築物オブジェクトに設定する、情報処理装置。
【請求項24】
プロセッサによって実行される情報処理方法であって、
操作入力に基づいて、仮想空間においてプレイヤキャラクタを制御することと、
前記仮想空間内の複数のオブジェクトのうち、前記プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクトを、操作入力に基づく前記第1のアクションに基づいて移動制御することと、
第1の場面において、前記操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクトを、前記第1のアクションに基づいて移動制御することと、
前記第1の場面から第2の場面に移行する際に、配置された前記操作対象建築物オブジェクトを、当該操作対象建築物オブジェクトに対応し、かつ、前記第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定することと、
前記第2の場面から前記第1の場面に移行する際に、配置された前記非操作対象建築物オブジェクトを、当該非操作対象建築物オブジェクトに対応する前記操作対象建築物オブジェクトに設定することと、を含む、情報処理方法。
【請求項25】
操作入力に基づいて、前記第1のアクションとしてさらに、複数の前記操作対象建築物オブジェクト同士を接続し、接続された前記操作対象建築物オブジェクト同士を一体化させて移動制御すること、をさらに含む、請求項24に記載の情報処理方法。
【請求項26】
前記操作対象建築物オブジェクトは、接続方向が設定された接続ポイントを有し、
前記操作対象建築物オブジェクト同士を接続する場合に、前記接続ポイント同士が前記接続方向に基づいて接続されるように、前記操作対象建築物オブジェクトの位置および姿勢を調整して接続すること、をさらに含む、請求項25に記載の情報処理方法。
【請求項27】
複数の前記建築物のオブジェクトのうちの少なくとも何れかは、建物を構成する部屋のオブジェクトである、請求項25に記載の情報処理方法。
【請求項28】
前記部屋のオブジェクトである前記非操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入可能な形状を有し、
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入不可能な形状を有する、請求項27に記載の情報処理方法。
【請求項29】
前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、部屋の開口部に対応する箇所に、当該開口部を塞ぐオブジェクトを有する、請求項28に記載の情報処理方法。
【請求項30】
操作入力に基づいて、前記プレイヤキャラクタの第2のアクションとして、当該プレイヤキャラクタの上方に天井となるオブジェクトがあり、かつ、そのさらに上方に前記プレイヤキャラクタを配置することが可能な移動先がある場合、前記プレイヤキャラクタを前記移動先まで移動させること、をさらに含み、
前記操作対象建築物オブジェクトの部屋内部は、前記プレイヤキャラクタを配置することが不可能である、請求項28に記載の情報処理方法。
【請求項31】
前記非操作対象建築物オブジェクトの少なくとも何れかは、その内部空間に配置された内部オブジェクトを有し、
前記内部オブジェクトが配置された前記非操作対象建築物オブジェクトの姿勢が所定の条件を満たす場合は、所定の種類の前記内部オブジェクトを無効化すること、をさらに含む、請求項24に記載の情報処理方法。
【請求項32】
前記所定の種類の内部オブジェクトを消去させることで無効化する、請求項31に記載の情報処理方法。
【請求項33】
操作入力に基づいて、前記第1のアクションとしてさらに、前記操作対象建築物オブジェクトと前記操作対象建築物オブジェクト以外の前記操作対象オブジェクトとの組み合わせを除く、複数の前記操作対象オブジェクト同士を接続し、接続された前記操作対象オブジェクト同士を一体化させて移動制御すること、をさらに含む、請求項25に記載の情報処理方法。
【請求項34】
複数の前記操作対象建築物オブジェクトが接続される場合に、当該複数の前記操作対象建築物オブジェクトの接続箇所に、接続オブジェクトを配置すること、をさらに含み、
接続された複数の前記操作対象建築物オブジェクトが前記非操作対象建築物オブジェクトに設定される場合、前記接続箇所に前記接続オブジェクトは配置されない、請求項25に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、情報処理システム、情報処理装置、および情報処理方法に関する。
【背景技術】
【0002】
従来のゲームにおいて、プレイヤキャラクタは家を購入し、設備を増設することができた(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】“The Legend of Zelda:Breath of the Wild”、[online]、2022年、Nintendo of America、[令和5年1月13日検索]、インターネット<URL:https://www.zelda.com/breath-of-the-wild/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記ゲームにおいては、プレイヤキャラクタは建物の配置等を変更することはできなかった。仮に建物の配置等を変更する場合、専用のユーザインターフェイスを用意する必要があることが想定される。
【0005】
それ故、本発明の目的は、ゲーム中に建築物を建築する場面において、オブジェクトを動かすプレイヤキャラクタのアクションを用いて、建築物をも動かすことで、簡易な構成で建築物を建築することが可能なゲームプログラム、情報処理システム、情報処理装置、および情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【0007】
(第1の構成)
第1の構成に係るゲームプログラムは、情報処理装置のコンピュータに、操作入力に基づいて、仮想空間においてプレイヤキャラクタの制御を行わせ、前記仮想空間内の複数のオブジェクトのうち、前記プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクトを、操作入力に基づく前記第1のアクションに基づいて移動制御させる。また、上記ゲームプログラムは、上記コンピュータに、第1の場面において、前記操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクトを、前記第1のアクションに基づいて移動制御させ、前記第1の場面から第2の場面に移行する際に、配置された前記操作対象建築物オブジェクトを、当該操作対象建築物オブジェクトに対応し、かつ、前記第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定させ、前記第2の場面から前記第1の場面に移行する際に、配置された前記非操作対象建築物オブジェクトを、当該非操作対象建築物オブジェクトに対応する前記操作対象建築物オブジェクトに設定させる。
【0008】
上記によれば、第1の場面において、仮想空間内の操作対象オブジェクトを移動制御させるプレイヤキャラクタの第1のアクションに基づいて、操作対象建築物オブジェクトを移動制御することができ、第1の場面から第2の場面に移行する際に、操作対象建築物オブジェクトを非操作対象建築物オブジェクトに設定することができる。これにより、第1のアクションに基づいて、建築物オブジェクトも移動させることができ、第1のアクションが存在するゲームにおいて簡易な構成で建築物の編集を行うことができる。また、第2の場面では非操作対象建築物オブジェクトに設定するため、建築物オブジェクトを第1のアクションに基づいて移動させないようにすることができる。
【0009】
(第2の構成)
第2の構成では、上記第1の構成において、前記コンピュータにさらに、操作入力に基づいて、前記第1のアクションとしてさらに、複数の前記操作対象建築物オブジェクト同士を接続させ、接続された前記操作対象建築物オブジェクト同士を一体化させて移動制御させてもよい。
【0010】
上記によれば、複数の操作対象建築物オブジェクトを接続して一体化させることができ、建築物オブジェクトの移動制御を容易に行うことができる。
【0011】
(第3の構成)
第3の構成では、上記第2の構成において、前記操作対象建築物オブジェクトは、接続方向が設定された接続ポイントを有してもよい。前記コンピュータに、前記操作対象建築物オブジェクト同士を接続させる場合に、前記接続ポイント同士が前記接続方向に基づいて接続されるように、前記操作対象建築物オブジェクトの位置および姿勢を調整して接続させてもよい。
【0012】
上記によれば、操作対象建築物オブジェクトの位置及び姿勢が調整されるため、操作対象建築物オブジェクト同士を容易に接続することができる。
【0013】
(第4の構成)
第4の構成では、上記第2又は第3の構成において、複数の前記建築物のオブジェクトのうちの少なくとも何れかは、建物を構成する部屋のオブジェクトであってもよい。
【0014】
上記によれば、部屋を有する建築物オブジェクトを構成することができる。
【0015】
(第5の構成)
第5の構成では、上記第4の構成において、前記部屋のオブジェクトである前記非操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入可能な形状を有してもよい。また、前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、衝突判定される形状であって、前記プレイヤキャラクタが部屋内部に進入不可能な形状を有してもよい。
【0016】
上記によれば、非操作対象建築物オブジェクトについては、プレイヤキャラクタが部屋内部に進入可能であり、操作対象建築物オブジェクトについては、プレイヤキャラクタが部屋内部に進入不可能にすることができる。これにより、建築物オブジェクトの建築中は、部屋内部にプレイヤキャラクタが進入することを防止することができる。
【0017】
(第6の構成)
第6の構成では、上記第5の構成において、前記部屋のオブジェクトである前記操作対象建築物オブジェクトは、部屋の開口部に対応する箇所に、当該開口部を塞ぐオブジェクトを有してもよい。
【0018】
上記によれば、プレイヤキャラクタが操作対象建築物オブジェクトの部屋内部に進入不可能にすることができる。
【0019】
(第7の構成)
第7の構成では、上記第5又は第6の構成において、前記コンピュータにさらに、操作入力に基づいて、前記プレイヤキャラクタの第2のアクションとして、当該プレイヤキャラクタの上方に天井となるオブジェクトがあり、かつ、そのさらに上方に前記プレイヤキャラクタを配置することが可能な移動先がある場合、前記プレイヤキャラクタを前記移動先まで移動させてもよい。前記操作対象建築物オブジェクトの部屋内部は、前記プレイヤキャラクタを配置することが不可能であってもよい。
【0020】
上記によれば、第2のアクションによって、天井となるオブジェクトを通り抜けてプレイヤキャラクタを移動させることができ、建築中の操作対象建築物オブジェクトの部屋内部については第2のアクションによってもプレイヤキャラクタを配置させないようにすることができる。
【0021】
(第8の構成)
第8の構成では、上記第1から第7の何れかの構成において、前記非操作対象建築物オブジェクトの少なくとも何れかは、その内部空間に配置された内部オブジェクトを有してもよい。前記コンピュータにさらに、前記内部オブジェクトが配置された前記非操作対象建築物オブジェクトの姿勢が所定の条件を満たす場合は、所定の種類の前記内部オブジェクトを無効化させてもよい。
【0022】
上記によれば、建築物オブジェクトの内部空間に内部オブジェクトを配置することができ、建築物オブジェクトの姿勢が所定の条件を満たす場合は、当該内部オブジェクトを無効化することができる。例えば、建築物オブジェクトが傾いている場合は、内部オブジェクトを表示しないようにして、違和感を生じさせないようにすることができる。
【0023】
(第9の構成)
第9の構成では、上記第8の構成において、前記コンピュータに、前記所定の種類の内部オブジェクトを消去させることで無効化させてもよい。
【0024】
上記によれば、建築物オブジェクトの姿勢が所定の条件を満たす場合には、内部オブジェクトを消去することができる。
【0025】
(第10の構成)
第10の構成では、上記第1から第9の何れかの構成において、前記コンピュータにさらに、操作入力に基づいて、前記第1のアクションとしてさらに、前記操作対象建築物オブジェクトと前記操作対象建築物オブジェクト以外の前記操作対象オブジェクトとの組み合わせを除く、複数の前記操作対象オブジェクト同士を接続させ、接続された前記操作対象オブジェクト同士を一体化させて移動制御させてもよい。
【0026】
上記によれば、操作対象建築物オブジェクトと操作対象建築物オブジェクト以外の操作対象オブジェクトとの組み合わせを除いて、複数の操作対象オブジェクト同士を接続させることができる。これにより、操作対象建築物オブジェクトの移動制御を妨げないようにすることができ、建築物オブジェクトの建築を容易に行わせることができる。
【0027】
(第11の構成)
第11の構成では、上記第2から第10の何れかの構成において、前記コンピュータにさらに、複数の前記操作対象建築物オブジェクトが接続される場合に、当該複数の前記操作対象建築物オブジェクトの接続箇所に、接続オブジェクトを配置させてもよい。接続された複数の前記操作対象建築物オブジェクトが前記非操作対象建築物オブジェクトに設定される場合、前記接続箇所に前記接続オブジェクトは配置されなくてもよい。
【0028】
上記によれば、建築物オブジェクトの建築中は接続オブジェクトを配置して、複数の操作対象建築物オブジェクトの接続箇所をプレイヤに認識させることができる。非操作対象建築物オブジェクトについては、接続箇所に接続オブジェクトが配置されないため、建築物オブジェクトの視認性を向上させることができる。
【0029】
また、他の構成は、情報処理システムであってもよいし、情報処理装置であってもよいし、情報処理方法であってもよい。
【発明の効果】
【0030】
本発明によれば、仮想空間内の操作対象オブジェクトを移動制御させるプレイヤキャラクタの第1のアクションに基づいて、操作対象建築物オブジェクトを移動制御することができ、簡易な構成で建築物オブジェクトを建築することができる。
【図面の簡単な説明】
【0031】
【
図2】本体装置2の内部構成の一例を示すブロック図
【
図3】本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図
【
図4】プレイヤキャラクタPCによる第1のアクションが行われているときのゲーム画像の一例を示す図
【
図5】エンジンオブジェクト31bと翼オブジェクト31cとが接続されて飛行機オブジェクト30として一体化された後のゲーム画像の一例を示す図
【
図6】通常のゲームモードにおいて仮想空間の所定領域に配置される建築物の一例を示す図
【
図7】建築モードにおいて表示されるゲーム画像の一例を示す図
【
図8】建築物オブジェクト40に対して第1のアクションが行われているときのゲーム画像の一例を示す図
【
図9】第1のアクションに基づいて建築ユニット41bが移動されているときのゲーム画像の一例を示す図
【
図10】第1のアクションに基づいて建築ユニット41bが移動された後のゲーム画像の一例を示す図
【
図11】建築物オブジェクトの建築が終了し、建築モードから通常のゲームモードに移行する様子の一例を示す図
【
図12】本実施形態のゲームにおいて用意される複数種類の建築ユニットの一例を示す図
【
図13】各建築ユニットを示す仮想モデルの一例を示す図
【
図14】建築モードにおいて建築ユニット41aが傾いた状態で建築が終了し、建築モードから通常のゲームモードに移行したときのゲーム画像の一例を示す図
【
図15】建築ユニット51bが傾いていないときのゲーム画像の一例を示す図
【
図16】建築ユニット51bが傾いているときのゲーム画像の一例を示す図
【
図17】建築モードにおいて建築ユニット41aと建築ユニット41bとが接続ポイント401で互いに接続される様子を示した図
【
図18】通常のゲームモードにおいて、プレイヤキャラクタPCが通り抜け移動を行う様子を模式的に示す図
【
図19】通常のゲームモードにおいて、プレイヤキャラクタPCが建築ユニット51aを通り抜け移動する様子を示す図
【
図20】建築モードにおいて、プレイヤキャラクタPCが建築ユニット41aを通り抜け移動する様子を示す図
【
図21】ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図
【
図22】プロセッサ21によって実行されるゲーム処理の一例を示すフローチャート
【
図23】ステップS120の建築モード処理の一例を示すフローチャート
【
図24】ステップS209の第1アクション中処理の一例を示すフローチャート
【
図25】ステップS210の第2アクション中処理の一例を示すフローチャート
【発明を実施するための形態】
【0032】
(ゲームシステムの構成)
以下、本実施形態の一例に係るゲームシステムについて説明する。
図1は、ゲームシステムの一例を示す図である。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部の一例として、複数のボタン5(Aボタン、Bボタン、Xボタン、Yボタン)と、アナログスティック6とを含む。
【0033】
本体装置2は、左コントローラ3および右コントローラ4をそれぞれ着脱可能に構成される。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できるし、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0034】
図2は、本体装置2の内部構成の一例を示すブロック図である。
図2に示されるように、本体装置2は、プロセッサ21を備える。プロセッサ21は、本体装置2において実行される各種の情報処理(例えばゲーム処理)を実行する情報処理部であって、例えば、CPU(Central Processing Unit)と、GPU(Graphics Processing Unit)とを含む。なお、プロセッサ21は、CPUのみから構成されてもよいし、CPU機能、GPU機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ21は、記憶部(具体的には、フラッシュメモリ26等の内部記憶媒体、あるいは、スロット29に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0035】
また、本体装置2は、ディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。ディスプレイ12は、プロセッサ21に接続される。プロセッサ21は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0036】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子23と、本体装置2が右コントローラ4と有線通信を行うための右側端子22を備える。
【0037】
また、本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ26およびDRAM(Dynamic Random Access Memory)27を備える。フラッシュメモリ26およびDRAM27は、プロセッサ21に接続される。フラッシュメモリ26は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM27は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0038】
本体装置2は、スロット29を備える。スロット29は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、ゲームアプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、ゲームプログラム等)を記憶するために用いられる。
【0039】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)28を備える。スロットI/F28は、プロセッサ21に接続される。スロットI/F28は、スロット29に接続され、スロット29に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ21の指示に応じて行う。
【0040】
プロセッサ21は、フラッシュメモリ26およびDRAM27、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0041】
また、本体装置2は、ネットワーク通信部24を備える。ネットワーク通信部24は、プロセッサ21に接続される。ネットワーク通信部24は、ネットワークを介して外部の装置と無線又は有線により通信を行う。本実施形態においては、ネットワーク通信部24は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部24は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0042】
本体装置2は、コントローラ通信部25を備える。コントローラ通信部25は、プロセッサ21に接続される。コントローラ通信部25は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部25は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0043】
プロセッサ21は、上述の左側端子23および右側端子22に接続される。プロセッサ21は、左コントローラ3と有線通信を行う場合、左側端子23を介して左コントローラ3へデータを送信するとともに、左側端子23を介して左コントローラ3から操作データを受信する。また、プロセッサ21は、右コントローラ4と有線通信を行う場合、右側端子22を介して右コントローラ4へデータを送信するとともに、右側端子22を介して右コントローラ4から操作データを受信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。
【0044】
なお、本体装置2は、
図2に示す各要素の他にも、電源を供給するためのバッテリー、ディスプレイ12とは別の表示装置(例えばテレビ)に画像及び音声を出力するための出力端子を備える。
【0045】
(ゲームの概要)
次に、本実施形態のゲームについて説明する。本実施形態のゲームでは、3次元の仮想空間(ゲーム空間)に、プレイヤキャラクタPCが配置され、プレイヤキャラクタPCが仮想空間内を移動したり所定の動作を行ったり、敵キャラクタを倒したり、敵キャラクタとは異なるノンプレイヤキャラクタと話をしたりすることでゲームが進行する。
【0046】
図3は、本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図である。仮想空間には鉛直下方に仮想的な重力が働いており、当該重力に対して垂直な地面が設けられる。
図3に示されるように、仮想空間の地面上には、プレイヤキャラクタPCと、複数の仮想オブジェクト31(例えば、31a~31c)とが配置される。
【0047】
プレイヤキャラクタPCは、プレイヤによって操作されるキャラクタである。プレイヤキャラクタPCは、コントローラ(3又は4)に対する操作入力に基づいて仮想空間内を移動したり、仮想空間内で所定のアクションを行ったりする。プレイヤキャラクタPCは、所定のアクションとして、第1のアクションを実行可能である。第1のアクションは、プレイヤキャラクタPCの前方にあるオブジェクトを遠隔で操作するアクションである。
【0048】
具体的には、プレイヤの操作入力に基づいて、プレイヤキャラクタPCが第1のアクションを行うことによって、仮想空間に配置された当該第1のアクションの対象である操作対象オブジェクトが移動制御される。また、第1のアクションに基づいて、操作対象オブジェクトの姿勢が制御される。また、第1のアクションに基づいて、複数の操作対象オブジェクト同士が接続されて一体化されることにより、複数の操作対象オブジェクトを組み合わせた合体オブジェクトが生成される。
【0049】
図3に示される複数の仮想オブジェクト31(例えば、31a~31c)は、操作対象オブジェクトの一例である。なお、仮想空間には、第1のアクションの対象ではない非操作対象オブジェクトも配置される。非操作対象オブジェクトの一例は、例えば、仮想空間に固定された岩、山、建築物、地面等の地形オブジェクトである。また、詳細は後述するが、仮想空間には、第1のアクションの対象である建築物のオブジェクトが配置される。
【0050】
複数の仮想オブジェクト31の少なくとも何れか1つは、予め仮想空間に配置されてもよい。また、複数の仮想オブジェクト31の少なくとも何れか1つは、プレイヤキャラクタPCによって所有されており、プレイヤによる操作入力に応じて、仮想空間内に配置されてもよい。
【0051】
例えば、複数の仮想オブジェクト31は、岩オブジェクト31aと、エンジンオブジェクト31bと、翼オブジェクト31cとを含む。なお、これらの他にも、第1のアクションの対象である複数の仮想オブジェクト31がさらに用意されてもよい。
【0052】
岩オブジェクト31aは、岩を模したオブジェクトである。また、エンジンオブジェクト31bは、ジェットエンジンを模したオブジェクトであり、動力を有する仮想オブジェクトである。翼オブジェクト31cは、空を飛ぶための仮想オブジェクトであり、所定の速度以上で仮想空間内を移動する場合に揚力を発生させる。これら仮想オブジェクト31a~31cは、第1のアクションに基づいて仮想空間内を移動制御される。
【0053】
図4は、プレイヤキャラクタPCによる第1のアクションが行われているときのゲーム画像の一例を示す図である。
【0054】
第1のアクションのための所定の操作入力が行われた場合、操作対象オブジェクトである複数の仮想オブジェクト31のうちの何れか1つが選択されて、選択された仮想オブジェクト31が、第1のアクションに基づいて移動制御される。
図4に示されるように、例えば、コントローラの所定のボタンが押下された場合、複数の仮想オブジェクト31のうちの何れかが選択されて、当該選択された仮想オブジェクトに対する第1のアクションが行われた状態になる。例えば、エンジンオブジェクト31bが選択されて当該エンジンオブジェクト31bに対して第1のアクションが行われている状態になった場合、エンジンオブジェクト31bの表示態様が変化するとともに、第1のアクションが行われていることを示すエフェクト画像(例えば、プレイヤキャラクタPCからエンジンオブジェクト31bに向かうビームのような画像)が表示される。この状態では、エンジンオブジェクト31bは、仮想空間の地面から浮いた状態になる。この状態で例えばコントローラのアナログスティックに対する操作入力に応じてプレイヤキャラクタPCが仮想空間内を移動した場合、プレイヤキャラクタPCの移動に応じて、エンジンオブジェクト31bも仮想空間内を移動する。例えば、プレイヤキャラクタPCとエンジンオブジェクト31bとの位置関係が維持されたまま、プレイヤキャラクタPCの移動に応じて、エンジンオブジェクト31bが移動する。エンジンオブジェクト31bが移動されて、翼オブジェクト31cに近づいた場合、エンジンオブジェクト31bと翼オブジェクト31cとが接続されて一体化される。
【0055】
図5は、エンジンオブジェクト31bと翼オブジェクト31cとが接続されて飛行機オブジェクト30として一体化された後のゲーム画像の一例を示す図である。
【0056】
図5に示されるように、翼オブジェクト31cの上にエンジンオブジェクト31bが配置され、これらオブジェクト31b及び31cが接続された場合、合体オブジェクトの一例として、飛行機オブジェクト30が生成される。エンジンオブジェクト31bと翼オブジェクト31cとの間には、これらオブジェクトが接続されていること及びその接続箇所を示す接続オブジェクト60が配置される。接続オブジェクト60は、例えば接着剤を模したオブジェクトである。プレイヤは、さらに、生成した飛行機オブジェクト30に他の仮想オブジェクト31を接続させることもできる。
【0057】
接続オブジェクト60により接続されたエンジンオブジェクト31b及び翼オブジェクト31c(飛行機オブジェクト30)は、第1のアクションに基づいて一体として移動制御される。また、接続オブジェクト60により接続されたエンジンオブジェクト31b及び翼オブジェクト31c(飛行機オブジェクト30)は、第1のアクションに基づいて、一体として姿勢制御される。飛行機オブジェクト30が生成された後、第1のアクションのための所定の操作入力が行われた場合、例えば、エンジンオブジェクト31bが選択され、当該エンジンオブジェクト31bに対する第1のアクションが行われる。この場合、エンジンオブジェクト31bの表示態様が変化するとともに、第1のアクションが行われていることを示すエフェクト画像が表示される。この状態でプレイヤキャラクタPCが移動した場合、当該移動に応じて、エンジンオブジェクト31b及び翼オブジェクト31cが一体として移動する。また、第1のアクションに基づいてエンジンオブジェクト31bが回転される場合、エンジンオブジェクト31b及び翼オブジェクト31cが一体として回転される。
【0058】
また、エンジンオブジェクト31b及び翼オブジェクト31cが一体化された飛行機オブジェクト30は、第1のアクションによらず、仮想空間内を移動可能に構成される。例えば、プレイヤキャラクタPCがエンジンオブジェクト31bに対して所定のアクションを行った場合、エンジンオブジェクト31bが推進力を発生させる。この推進力により、飛行機オブジェクト30は、仮想空間内を飛ぶことができる。プレイヤキャラクタPCは、飛行機オブジェクト30の上に乗り、仮想空間内を飛行することができる。
【0059】
このように、本実施形態のゲームでは、プレイヤキャラクタPCの第1のアクションに基づいて、第1のアクションの対象である仮想オブジェクト31(操作対象オブジェクトの一例)を仮想空間内で移動制御させたり、姿勢制御させたりすることができる。一方、地形オブジェクト(岩や山、建築物、地面等の仮想空間に固定されたオブジェクト)等の非操作対象オブジェクトについては、第1のアクションに基づいて移動制御及び姿勢制御することはできない。
【0060】
(建築物の建築)
本実施形態のゲームでは、プレイヤキャラクタPCの第1のアクションに基づいて、建築物(例えば、プレイヤキャラクタPCの家)を建築することができる。なお、「建築物」は、家やビル、店、庭、城、門、像、モニュメント等を含んでもよい。以下、建築物の建築について説明する。
【0061】
図6は、通常のゲームモードにおいて仮想空間の所定領域に配置される建築物オブジェクトの一例を示す図である。
【0062】
例えば、仮想空間には、建築物オブジェクト50が配置された所定領域がある。プレイヤキャラクタPCは、通常のゲームモードにおいて、仮想空間を移動して所定領域に配置された建築物オブジェクト50(例えば、プレイヤキャラクタPCの家)に入ることができる。建築物オブジェクト50には、様々な部屋があり、プレイヤキャラクタPCは、各部屋に入り様々なアクションを行うことができる。
【0063】
例えば、
図6に示されるように、所定領域には、建築ユニット51aと、建築ユニット51bと、建築ユニット51cとにより構成される建築物オブジェクト50が配置される。通常のゲームモードにおいて、建築物オブジェクト50(各建築ユニット51a~51c)は、仮想空間に固定されている。プレイヤキャラクタPCは、例えば、建築ユニット51aの部屋内部に入って所定のアクションを行うことができる。また、プレイヤキャラクタPCは、建築ユニット51bや51cの部屋内部に入ってアクションを行うことができる。また、プレイヤキャラクタPCは、各建築ユニット51a~51cの上に空間が存在する場合、各建築ユニット51a~51c上を移動することができる。例えば、
図6の例では、プレイヤキャラクタPCは、建築ユニット51a、及び、51c上を移動することができる。
【0064】
なお、本実施形態では、通常のゲームモードにおいて、建築ユニット51a~51cの他にも、複数種類の建築ユニットが用意されている。これら通常のゲームモードにおいて用意される複数種類の建築ユニットを、「建築ユニット51」と表記する。
【0065】
プレイヤキャラクタPCは、通常のゲームモードにおいて、建築物オブジェクト50に対して第1のアクションを行うことができない。すなわち、通常のゲームモードにおいては、建築物オブジェクト50(各建築ユニット51)は、第1のアクションの対象ではなく、第1のアクションに基づいて移動制御及び姿勢制御されない。ここで、第1のアクションの対象ではない建築物オブジェクト(建築物オブジェクト50、及び、各建築ユニット51)を、「非操作対象建築物オブジェクト」と呼ぶことがある。建築物オブジェクト50は、仮想空間に固定されており、第1のアクションに限らず、仮想空間内を移動するオブジェクト(例えば、飛行機オブジェクトや岩オブジェクト)が当たったり、風が当たったり、近傍で爆弾オブジェクトが爆発しても移動しない。
【0066】
本実施形態のゲームでは、プレイヤによる操作入力に基づいて、通常のゲームモードから建築モードに移行し、建築物オブジェクトを建築可能となる。例えば、
図6に示されるように、仮想空間の所定領域の近傍に所定のノンプレイヤキャラクタNPCが存在し、プレイヤキャラクタPCが当該所定のノンプレイヤキャラクタNPCに話しかけた場合、通常のゲームモードから建築モードに移行する。
【0067】
なお、仮想空間の所定領域に限らず、任意の領域に建築物オブジェクトを建築可能であってもよい。また、プレイヤキャラクタPCが所定のノンプレイヤキャラクタNPCに話しかけることに限らず、他の任意のイベントに応じて、通常のゲームモードから建築モードに移行してもよい。また、通常のゲームモードにおいて、所定領域に初期的な建築物オブジェクト50が予め配置されてよい。また、通常のゲームモードにおいて初期的には建築物オブジェクト50は配置されず、建築モードにおいてプレイヤにより建築が行われた場合に、建築物オブジェクト50が仮想空間に配置されてもよい。
【0068】
図7は、建築モードにおいて表示されるゲーム画像の一例を示す図である。
図7に示されるように、建築モードでは、例えば、通常のゲームモードでは表示されない「建築中」という文字が表示される。建築モードにおける仮想空間には、建築ユニット41aと、建築ユニット41bと、建築ユニット41cとにより構成される建築物オブジェクト40が配置される。なお、これら建築ユニット41a~41cの他にも、様々な種類の建築ユニット41が仮想空間に配置され得る。各建築ユニット41の例については後述する。
【0069】
通常のゲームモードから建築モードに移行する際に、第1のアクションの対象ではない建築物オブジェクト50(非操作対象建築物オブジェクト)は、第1のアクションの対象である建築物オブジェクト40に設定される。具体的には、本実施形態では、建築物オブジェクトとして、通常のゲームモードで用いられる建築物オブジェクト50と、建築モードで用いられる建築物オブジェクト40とがそれぞれ用意される。建築物オブジェクト40は、建築物オブジェクト50と仮想空間における形状及び大きさが同じであり、見た目も建築物オブジェクト50と略同一であるが、異なるオブジェクトである。より具体的には、通常のゲームモードから建築モードに移行する際に、建築ユニット51aは、対応する建築ユニット41aに置き換えられ、建築ユニット51bは、対応する建築ユニット41bに置き換えられ、建築ユニット51cは、対応する建築ユニット41cに置き換えられる。すなわち、仮想空間に配置された建築ユニット51a~51cは、これらオブジェクトの位置関係を維持したまま、対応する建築ユニット41a~41cに置き換えられる。
【0070】
例えば、
図6に示されるように、建築ユニット51aは、略直方体形状であり、左右は壁面により構成されている。建築ユニット51aの左右の壁面は衝突判定される面である。また、建築ユニット51aの前後は開口している。このため、プレイヤキャラクタPCは、建築ユニット51aの左右の壁面からは建築ユニット51aの部屋内部に進入することはできないが、建築ユニット51aの前後の開口からは建築ユニット51aの部屋内部に進入することができる。一方、
図7に示されるように、建築ユニット41aは、略直方体形状であり、左右は壁面により構成され、前後は網のオブジェクトにより構成される。建築ユニット41aの左右の壁面および網のオブジェクトは、衝突判定される面である。このため、プレイヤキャラクタPCは、建築ユニット41aの部屋内部に進入することはできない。他の建築ユニット51b、51cについても同様である。すなわち、建築ユニット51b、51cは、通常のゲームモードから建築モードに移行する際に、別の建築ユニット41b、41cに置き換えられる。建築ユニット41b及び41cは、建築ユニット51b及び51cとほぼ同じ形状を有する。建築ユニット41b及び41cは、衝突判定を有する壁面又は網のオブジェクトにより構成され、開口を有さない。このため、プレイヤキャラクタPCは、建築ユニット41b及び41cの内部に進入不可能である。一方、建築ユニット51b及び51cは、少なくともその一部に開口を有し、プレイヤキャラクタPCは、建築ユニット51b及び51cの内部に進入可能である。
【0071】
建築物オブジェクト40は、第1のアクションの対象であり、第1のアクションに基づいて仮想空間内を移動制御及び姿勢制御可能に構成される。以下では、第1のアクションの対象である建築物オブジェクト(建築物オブジェクト40、及び、各建築ユニット41)を、「操作対象建築物オブジェクト」と呼ぶことがある。なお、
図7に示されるように、建築モードでは、各操作対象建築物オブジェクトが接続されている場合、接続された操作対象建築物オブジェクト同士の間に、接続オブジェクト60が配置される。
【0072】
なお、通常のゲームモードで用いられる建築ユニット51と、建築モードで用いられる建築ユニット41とは、同じ建築物オブジェクトであってもよい。すなわち、通常のゲームモードでも建築モードでも、仮想空間には建築物オブジェクトとして、同じ建築ユニット(複数のポリゴンを有する3次元の仮想モデル)が配置されてもよい。通常のゲームモードと建築モードとで同じ建築物オブジェクト(建築ユニット)が用いられる場合、通常のゲームモードと建築モードとで同じ表示態様でもよいし、異なる表示態様でもよい。
【0073】
例えば、通常のゲームモードでも建築モードでも、建築物オブジェクトとして同じ3次元の仮想モデルが用いられるが、当該仮想モデルの少なくとも一部の表示の有効/無効をモードに応じて切り替えることにより、これらのモードで表示態様を異ならせてもよい。また、通常のゲームモードでも建築モードでも、建築物オブジェクトとして同じ3次元の仮想モデルが用いられるが、当該仮想モデルに適用されるテクスチャ画像の少なくとも一部をモードに応じて切り替えることにより、これらのモードで表示態様を異ならせてもよい。また、通常のゲームモードでも建築モードでも、建築物オブジェクトとして同じ3次元の仮想モデルが用いられるが、当該仮想モデルの少なくとも一部について衝突判定の有効/無効をモードに応じて切り替えてもよい。
【0074】
例えば、建築ユニット41aの側面の一部は網のオブジェクトにより構成され、
図7に示されるように、建築モードでは、当該網のオブジェクトの表示が有効化され、かつ、当該網のオブジェクトの衝突判定が有効化されてもよい。これにより、建築モードでは、建築ユニット41aの側面に網がかかったような表示となるとともに、建築ユニット41aの部屋内部にプレイヤキャラクタPCが進入不可能となってもよい。一方、通常のゲームモードにおいては、
図6に示されるように、建築ユニット41aの側面を形成する網のオブジェクトの表示が無効化されるとともに、当該網のオブジェクトの衝突判定が無効化されてもよい。これにより、通常のゲームモードでは、建築ユニット51aの側面の一部は開口し、当該開口から建築ユニット51aの部屋内部にプレイヤキャラクタPCが進入可能となってもよい。
【0075】
すなわち、本明細書において、通常のゲームモードから建築モードに移行する際に、「非操作対象建築物オブジェクトが操作対象建築物オブジェクトに設定される」とは、非操作対象建築物オブジェクトを表す3次元の第1の仮想モデルと、対応する操作対象建築物オブジェクトを表す3次元の第2の仮想モデルとが別のデータとして用意され、第1の仮想モデルが第2の仮想モデルに置き換えられることを含む。また、「非操作対象建築物オブジェクトが操作対象建築物オブジェクトに設定される」とは、第1の仮想モデル及び第2の仮想モデルが仮想空間に配置され、第1の仮想モデルのみ有効な状態から第2の仮想モデルのみ有効な状態に変更されることを含む。また、「非操作対象建築物オブジェクトが操作対象建築物オブジェクトに設定される」とは、建築物オブジェクトとして同じ3次元の仮想モデルが用意され、当該仮想モデルについて、表示態様の切り替え、及び/又は、衝突判定の切り替えを行うとともに、当該仮想モデルに対して第1のアクションが無効である状態から有効である状態に切り替えられることを含む。また、「非操作対象建築物オブジェクトが操作対象建築物オブジェクトに設定される」とは、建築物オブジェクトとして同じ3次元の仮想モデルが用意され、当該仮想モデルについて、表示態様の切り替えも衝突判定の切り替えも行わず、単に、当該仮想モデルに対して第1のアクションが無効である状態から有効である状態に切り替えられることを含む。
【0076】
図8は、建築物オブジェクト40に対して第1のアクションが行われているときのゲーム画像の一例を示す図である。
【0077】
図8に示されるように、建築モードにおいては、建築物オブジェクト40に対して第1のアクションを行うことが可能である。
図8に示されるように、通常のゲームモードにおいて仮想オブジェクト31に対して行われたのと同様に、建築物オブジェクト40に対して第1のアクションが行われる。具体的には、建築モードにおいて、所定の操作入力が行われた場合、例えば、建築物オブジェクト40における建築ユニット41bが選択されて、当該選択された建築ユニット41bに対して第1のアクションが行われた状態になる。建築ユニット41bは他の建築ユニット41と接続オブジェクト60により接続されていないため(建築ユニット41bは建築ユニット41c上に置かれているだけであるため)、選択された建築ユニット41bは、建築ユニット41cから離れ、宙に浮いた状態になる。また、選択された建築ユニット41bの表示態様が変化されるとともに、第1のアクションが行われていることを示すエフェクト画像が表示される。
【0078】
図9は、第1のアクションに基づいて建築ユニット41bが移動されているときのゲーム画像の一例を示す図である。
図10は、第1のアクションに基づいて建築ユニット41bが移動された後のゲーム画像の一例を示す図である。
【0079】
図8に示される状態で操作入力に基づいてプレイヤキャラクタPCが例えば左方向に移動した場合、
図9に示されるように、建築ユニット41bも左方向に移動する。さらに
図9に示される状態で建築ユニット41bが下方に移動された場合、建築ユニット41cの左側面に、建築ユニット41bの右側面が接続される。これにより、建築ユニット41bに対する第1のアクションが終了し、
図10に示されるようなゲーム画像が表示される。建築ユニット41cと建築ユニット41bとが接続された場合、建築ユニット41cと建築ユニット41bとの間には接続オブジェクト60が配置される。
【0080】
なお、接続オブジェクト60は、操作対象オブジェクト同士の接続が完了する前に、当該操作対象オブジェクト間に配置される。具体的には、複数の操作対象オブジェクトが所定の接続条件を満たしている場合、接続オブジェクト60が配置される。より具体的には、複数の操作対象オブジェクトが互いに接続可能であり、かつ、当該複数の操作対象オブジェクトが所定の位置関係(例えば、距離が所定値未満)の場合に、これら操作対象オブジェクト間に接続オブジェクト60が出現する。例えば、
図9に示されるように、選択された建築ユニット41bが移動されて、建築ユニット41bの右側面と建築ユニット41cの左側面との距離が所定値未満となった場合に、建築ユニット41bの右側面と建築ユニット41cの左側面とを結ぶ接続オブジェクト60が出現する。そして、所定の接続指示が行われた場合、建築ユニット41bと建築ユニット41cとが接続され、建築ユニット41bに対する第1のアクションが終了するとともに、これらの間に接続オブジェクト60が残留する。
【0081】
建築ユニット41bと建築ユニット41cとが接続オブジェクト60で接続された場合、建築ユニット41bと建築ユニット41cとは一体化され、第1のアクションに基づいてこれら2つのオブジェクトは一体として移動制御及び姿勢制御される。
【0082】
さらに、
図10に示されるように、建築ユニット41cの右側面に建築ユニット41aが接続されている場合は、これら3つのオブジェクト(41a~41c)は、第1のアクションに基づいて、一体として移動制御及び姿勢制御される。例えば、
図10において、建築ユニット41bが選択された場合、建築ユニット41bが宙に浮くとともに、建築ユニット41bに接続されている建築ユニット41cも宙に浮き、さらに、建築ユニット41cに接続されている建築ユニット41aも宙に浮く。すなわち、これら建築ユニット41a~41cは一体として宙に浮いた状態になる。この状態で例えばプレイヤキャラクタPCが移動した場合、これら建築ユニット41a~41cが移動する。すなわち、複数の操作対象建築物オブジェクトが接続オブジェクト60で接続されて一体化されている場合、これら複数の操作対象建築物オブジェクトは、第1のアクションに基づいて一体として移動制御及び姿勢制御される。
【0083】
ここで複数のオブジェクトが「一体として移動制御される」とは、複数のオブジェクトが離れずに移動されることを意味し、これらの位置関係が維持された状態で移動されることを含む。また、複数のオブジェクトが「一体として姿勢制御される」とは、複数のオブジェクトの位置関係が維持された状態で、複数のオブジェクトが回転されることを含む。
【0084】
なお、複数の操作対象建築物オブジェクトの接続は、所定の解除指示に応じて解除される。例えば、所定の解除指示は、操作対象オブジェクトが選択されているときに右コントローラ4(又は左コントローラ3でもよい)のアナログスティック6を左右又は上下に動かすことであってもよい。例えば、複数の操作対象建築物オブジェクトが接続オブジェクト60により一体化されている場合において、当該複数の操作対象建築物オブジェクトのうちの何れか1つを選択して解除指示が行われた場合、当該選択された操作対象建築物オブジェクトと、これに接続された他の操作対象建築物オブジェクトとの接続が解除される。この場合、接続オブジェクト60は消去される。
【0085】
また、各建築ユニット41は、接続オブジェクト60により互いに接続されない場合もある。例えば、建築ユニット41同士が離れている場合は、これら建築ユニット41同士は接続オブジェクト60により互いに接続されない。また、例えば、第1の建築ユニット41と第2の建築ユニット41とが隣り合う場合でも、これら第1の建築ユニット41と第2の建築ユニット41とが所定の位置関係でない場合や、そもそも第1の建築ユニット41と第2の建築ユニット41とが接続可能な組み合わせでない場合には、第1の建築ユニット41と第2の建築ユニット41とは接続オブジェクト60により互いに接続されなくてもよい。この場合、各建築ユニット41は、第1のアクションに基づいて個別に移動制御及び姿勢制御される。
【0086】
プレイヤは、建築モードにおいて、仮想空間に配置された建築ユニット41を移動制御及び姿勢制御可能であるとともに、仮想空間に建築ユニット41を新たに配置したり、仮想空間に配置された建築ユニット41を仮想空間から取り除いたりすることができる。例えば、プレイヤキャラクタPCは、所有する建築ユニット41を格納するための格納領域を有しており、仮想空間に存在する建築ユニット41を格納領域に格納することにより、当該建築ユニット41を仮想空間から取り除くことができる。また、建築モードにおいて、プレイヤキャラクタPCは、格納領域に格納している建築ユニット41を仮想空間に配置することができる。また、建築モードにおいて、例えば、プレイヤキャラクタPCが所定のノンプレイヤキャラクタNPCに話しかけることにより、建築ユニット41を新たに入手し、入手した建築ユニット41を仮想空間に配置することができる。
【0087】
このように、プレイヤは、仮想空間に建築ユニット41を新たに配置したり、仮想空間に配置された建築ユニット41を仮想空間から取り除いたりすることにより、所望の建築ユニット41を仮想空間に配置することができる。そして、プレイヤは、建築モードにおいて、仮想空間に配置された建築ユニット41(操作対象建築物オブジェクトの一例)を、プレイヤキャラクタPCの第1のアクションに基づいて移動制御させて、各建築ユニット41を所望の位置関係で配置にする。これにより、プレイヤは、所望の建築物オブジェクト40を建築することができる。
【0088】
図11は、建築物オブジェクトの建築が終了し、建築モードから通常のゲームモードに移行する様子の一例を示す図である。
【0089】
プレイヤの操作入力に基づいて建築が終了された場合、建築モードから通常のゲームモードに移行する。例えば、プレイヤは、プレイヤキャラクタPCをノンプレイヤキャラクタNPCの位置まで移動させて、建築の終了を指示することにより、建築モードから通常のゲームモードに移行させる。
【0090】
図11に示されるように、建築モードから通常のゲームモードに移行する際に、第1のアクションの対象である建築物オブジェクト40(操作対象建築物オブジェクト)は、第1のアクションの対象でない建築物オブジェクト50(非操作対象建築物オブジェクト)に設定される。具体的には、通常のゲームモードから建築モードに移行する際に、建築ユニット41aは、対応する建築ユニット51aに置き換えられ、建築ユニット41bは、対応する建築ユニット51bに置き換えられる。また、建築ユニット41cは、対応する建築ユニット51cに置き換えられ、建築ユニット41dは、対応する建築ユニット51dに置き換えられる。すなわち、建築モードにおいてプレイヤにより配置された建築ユニット41a~41dは、これらオブジェクトの位置関係を維持したまま、対応する建築ユニット51a~51dに置き換えられる。
【0091】
通常のゲームモードに移行した場合、プレイヤキャラクタPCは、建築物オブジェクト50の部屋内部に進入することができる。
【0092】
ここで、本明細書において、建築モードから通常のゲームモードに移行する際に、「操作対象建築物オブジェクトが非操作対象建築物オブジェクトに設定される」とは、非操作対象建築物オブジェクトを表す3次元の第1の仮想モデルと、対応する操作対象建築物オブジェクトを表す3次元の第2の仮想モデルとが別のデータとして用意され、第2の仮想モデルが第1の仮想モデルに置き換えられることを含む。また、「操作対象建築物オブジェクトが非操作対象建築物オブジェクトに設定される」とは、第1の仮想モデル及び第2の仮想モデルが仮想空間に配置され、第2の仮想モデルのみ有効な状態から第1の仮想モデルのみ有効な状態に変更されることを含む。また、「操作対象建築物オブジェクトが非操作対象建築物オブジェクトに設定される」とは、建築物オブジェクトとして同じ3次元の仮想モデルが用意され、当該仮想モデルについて、表示態様の切り替え、及び/又は、衝突判定の切り替えを行うとともに、当該仮想モデルに対して第1のアクションが有効である状態から無効である状態に切り替えられることを含む。また、「操作対象建築物オブジェクトが非操作対象建築物オブジェクトに設定される」とは、建築物オブジェクトとして同じ3次元の仮想モデルが用意され、当該仮想モデルについて、表示態様の切り替えも衝突判定の切り替えも行わず、単に、当該仮想モデルに対して第1のアクションが有効である状態から無効である状態に切り替えられることを含む。
【0093】
なお、建築モードにおいても、プレイヤキャラクタPCは、
図4を参照して説明したように、第1のアクションに基づいて、仮想オブジェクト31を移動制御することが可能である。プレイヤキャラクタPCは、建築モードにおいて、仮想オブジェクト31同士を接続オブジェクト60で接続することができる。しかしながら、第1のアクションに基づいて、仮想オブジェクト31と建築ユニット41とを接続オブジェクト60で接続することはできない。すなわち、建築モードにおいて、建築ユニット41同士を接続オブジェクト60で接続することは可能であり、仮想オブジェクト31同士を接続オブジェクト60で接続することは可能であるが、仮想オブジェクト31と建築ユニット41とを接続オブジェクト60で接続することはできない。
【0094】
なお、本実施形態では、建築物オブジェクト40の上や建築物オブジェクト40が配置された所定領域に仮想オブジェクト31が配置されている場合、建築モードから通常のゲームモードに移行することはできない。この場合、所定の警告が表示される。他の実施形態では、建築物オブジェクト40の上や建築物オブジェクト40が配置された所定領域に仮想オブジェクト31が配置されている場合でも、建築モードから通常のゲームモードに移行することができてもよい。
【0095】
(各建築ユニットの説明)
ここで、建築ユニット41の一例について説明する。
図12は、本実施形態のゲームにおいて用意される複数種類の建築ユニットの一例を示す図である。
【0096】
図12に示されるように、本実施形態のゲームでは、建築ユニットとして、例えば、建築ユニットA~Fが予め用意される。各ユニットは、サイズ及び形状が予め定められており、それぞれ特徴を有する。例えば、建築ユニットAは、幅2、高さ1、奥行き2の大きさを有する。また、建築ユニットAは、部屋のユニットであり、床面が正方形の部屋である。建築ユニットAの部屋内部には、予めテーブルとイスが配置されている。また、建築ユニットBは、幅2、高さ1、奥行き1の大きさを有し、床面が長方形の部屋のユニットである。建築ユニットBの部屋内部には、予めベッドが配置されており、プレイヤキャラクタPCがベッドで寝ることができる。また、建築ユニットCは、幅2、高さ1、奥行き1の大きさを有し、床面が長方形の部屋のユニットである。建築ユニットCの部屋内部には、武器を飾ることができる台が予め配置されており、プレイヤキャラクタPCは、所有する武器を飾ることができる。また、建築ユニットDは、階段のユニットである。
【0097】
これら複数の建築ユニットA~Fは、3次元の仮想モデルとして予め定義されている。
図13を参照して、複数の建築ユニットA~Fのうちの一部について詳細を説明する。
図13は、各建築ユニットを示す仮想モデルの一例を示す図である。
【0098】
図13に示されるように、建築ユニットAを表す仮想モデルとして、建築モードにおいて用いられる建築ユニット41aと、通常のゲームモードにおいて用いられる建築ユニット51aとが予め用意される。
【0099】
建築ユニット41aは、複数の接続ポイント401と、天井面402と、対向する左右の壁面403と、対向する前後の網のオブジェクト404と、床面405とを有する。接続ポイント401は、各建築ユニット41を接続するための点であり、詳細は後述する。天井面402、壁面403、網のオブジェクト404、及び、床面405は、衝突判定(当たり判定)が有効な面であり、プレイヤキャラクタPC(及び他の任意のオブジェクト)は、建築ユニット41aの部屋内部に進入不可能である。また、建築ユニット41aの部屋内部も衝突判定(当たり判定)が有効である。このため、プレイヤキャラクタPCによって後述する第2のアクションが行われても、プレイヤキャラクタPCは、建築ユニット41aの部屋内部に進入不可能である。また、建築ユニット41aの部屋内部には、家具オブジェクトとして、床面405に固定されたテーブル406と、天井面402に固定された照明409とが配置される。
【0100】
また、建築ユニット51aは、天井面502と、対向する左右の壁面503と、床面505とを有する。天井面502、壁面503、及び、床面505は、衝突判定(当たり判定)が有効な面である。一方、建築ユニット51aは、前後の対向する位置に開口504を有する。プレイヤキャラクタPC(及び他の任意のオブジェクト)は、開口504から建築ユニット51aの部屋内部に進入可能である。また、建築ユニット51aの部屋内部には、家具オブジェクトとして、テーブル506と、イス507と、テーブルウェア508(皿、カップ等の食器)と、照明509とが配置される。例えば、テーブル506は、床面505に固定されており、照明509は天井面502に固定されている。通常のゲームモードにおいては、建築ユニット51aの部屋内部は、これら家具オブジェクト以外の部分は空洞であり、衝突判定されない。したがって、プレイヤキャラクタPCは、建築ユニット51aの部屋内部に進入して、部屋内部を移動することができる。
【0101】
建築ユニット41aと建築ユニット51aとは、同じサイズを有し、外観も略同一であるが、次の点で異なる。すなわち、建築ユニット41aの前後の2つの側面は、網のオブジェクト404により塞がれているのに対して、建築ユニット51aの前後の2つの側面は開口している。このため、外部から建築ユニット41aの部屋内部を視認可能であるものの、建築ユニット51aよりは視認し難い。また、建築ユニット41aの部屋内部にはプレイヤキャラクタPCが進入不可能であるのに対して、建築ユニット51aの部屋内部にはプレイヤキャラクタPCが進入可能である。また、建築ユニット41aの部屋内部には、建築ユニット51aの部屋内部と同じ第1の家具オブジェクト(テーブル及び照明)が配置されている。一方で、建築ユニット51aの部屋内部には、第2の家具オブジェクト(イス及びテーブルウェア)が配置されているのに対して、建築ユニット41aの部屋内部には、第2の家具オブジェクトは配置されていない。なお、建築ユニット41aと建築ユニット51aとで全く同じ家具オブジェクトが配置されてもよい。
【0102】
また、
図13に示されるように、建築ユニットBを表す仮想モデルとして、建築モードにおいて用いられる建築ユニット41bと、通常のゲームモードにおいて用いられる建築ユニット51bとが予め用意される。
【0103】
建築ユニット41bは、複数の接続ポイント401と、天井面402と、3つの壁面403と、網のオブジェクト404と、床面405とを有する。天井面402、壁面403、網のオブジェクト404、及び、床面405は、衝突判定が有効な面であり、プレイヤキャラクタPCは、建築ユニット41bの部屋内部に進入不可能である。また、建築ユニット41bの部屋内部も衝突判定が有効である。また、建築ユニット41bの部屋内部には、家具オブジェクトとして、床面405に固定されたベッド410が配置される。
【0104】
また、建築ユニット51bは、天井面502と、3つの壁面503と、床面505とを有する。天井面502、壁面503、及び、床面505は、衝突判定(当たり判定)が有効な面である。また、建築ユニット51bは、開口504を有する。プレイヤキャラクタPCは、開口504から建築ユニット51bの部屋内部に進入可能である。また、建築ユニット51bの部屋内部には、家具オブジェクトとして、ベッド510が配置される。例えば、ベッド510は、床面505に固定されている。通常のゲームモードにおいては、建築ユニット51bの部屋内部は、家具オブジェクト以外の部分は空洞であり、衝突判定されない。したがって、プレイヤキャラクタPCは、建築ユニット51bの部屋内部に進入して、部屋内部を移動することができる。
【0105】
(建築終了後の建築物の姿勢に応じた制御)
本実施形態では、建築モードにおいて配置された建築ユニット41の姿勢が所定の条件を満たしている場合、建築モードから通常のゲームモードに移行する際に、建築ユニット51の内部のオブジェクトの少なくとも一部が無効化されたり、建築ユニット51の内部におけるアクションが無効化されたりする。
【0106】
図14は、建築モードにおいて建築ユニット41aが傾いた状態で建築が終了し、建築モードから通常のゲームモードに移行したときのゲーム画像の一例を示す図である。
【0107】
仮想空間内の各建築ユニット41には質量が設定されており、仮想的な重力、各建築ユニット41の質量、他のオブジェクトとの衝突判定等に基づく物理計算が行われ、建築ユニット41の姿勢が定められる。
図14に示されるように、建築モードにおいて、例えば、建築ユニット41aが、第1のアクションに基づいて移動および姿勢制御され、建築ユニット41cにもたれかかった状態で静止される。例えば、建築ユニット41aの床面405が地面に対して所定の角度だけ傾いた状態で静止される。この状態で建築の終了の指示がされた場合、傾いた建築ユニット41aが、傾いた建築ユニット51aに置き換えられる。この状態でも、プレイヤキャラクタPCは、傾いた建築ユニット51aの部屋内部に進入することができる。建築ユニット41aが建築ユニット51aに置き換えられる際に、
図14の下図に示されるように、建築ユニット51aの部屋内部に配置された家具オブジェクトの少なくとも何れかが無効化される。例えば、建築ユニット51aの部屋内部に配置されたイス507及びテーブルウェア508は、建築ユニット51aが傾いた状態では無効化される。また、照明509も、建築ユニット51aが傾いた状態では無効化される。
【0108】
本実施形態では、建築ユニット51aに含まれるイス507及びテーブルウェア508について、表示の有効/無効を切り替え可能に構成される。具体的には、建築ユニット51aの床面506の傾きが閾値以下である場合は、イス507及びテーブルウェア508の表示が有効に設定され、イス507及びテーブルウェア508が表示される(
図11の建築ユニット51a)。一方、建築ユニット51aの床面506の傾きが閾値を超えている場合は、イス507及びテーブルウェア508の表示が無効に設定され、イス507及びテーブルウェア508は表示されない。また、イス507及びテーブルウェア508に対する衝突判定も無効とされる。また、建築ユニット51aの床面506の傾きが閾値以下である場合、照明509が有効に設定され、照明509が光る。一方、建築ユニット51aの床面506の傾きが閾値を超えている場合は、照明509が無効に設定され、照明509自体は表示されるが、照明509は光らず、建築ユニット51aの部屋内部が暗くなる。
【0109】
なお、本実施形態では、建築ユニット51aの傾きが閾値を超えている場合、建築ユニット51aに含まれる家具オブジェクトの表示の無効化することにより、当該家具オブジェクトが表示されないようにした。他の実施形態では、建築ユニット51aの傾きが閾値を超えている場合、建築ユニット51aに含まれる家具オブジェクトを消去(家具オブジェクトの3Dモデルを消去)することにより、当該家具オブジェクトを無効化してもよい。また、別の実施形態では、家具オブジェクトを含む第1の建築ユニット51aと家具オブジェクトを含まない第2の建築ユニット51aとが、それぞれ別の仮想モデルとして用意され、建築ユニット51aの傾きに応じて、第1の建築ユニット51a又は第2の建築ユニット51aが仮想空間に配置されてもよい。これにより、建築ユニット51aが閾値を超えて傾いている場合に、家具オブジェクトが無効化されてもよい。
【0110】
図15は、建築ユニット51bが傾いていないときのゲーム画像の一例を示す図である。
図16は、建築ユニット51bが傾いているときのゲーム画像の一例を示す図である。
【0111】
建築ユニット51bについても、建築ユニット51bの姿勢に応じて家具オブジェクトの有効/無効が設定される。
図15に示されるように、建築ユニット51bの部屋内部には、家具オブジェクトとして、ベッド510が配置されている。プレイヤキャラクタPCが、傾いていない建築ユニット51bの部屋内部に進入し、ベッド510の近傍に近づいた場合、コントローラの所定のボタン(例えばAボタン)の押下を促す表示が行われる。当該所定のボタンが押下された場合、プレイヤキャラクタPCは、ベッド510に寝る動作を行う。
【0112】
一方、
図16に示されるように、建築ユニット51bの床面505の傾きが閾値を超えている場合でも、建築ユニット51bの部屋内部にはベッド510が配置される。建築ユニット51bの床面505の傾きが閾値を超えている場合でも、プレイヤキャラクタPCは、建築ユニット51bの部屋内部に進入可能である。例えば、建築ユニット51bの床面505がほぼ垂直である場合でも、プレイヤキャラクタPCは、壁面503又は床面505を登ってベッド510の近傍に近づくことができる。プレイヤキャラクタPCがベッド510の近傍に近づいた場合、所定のボタンの押下を促す表示はされず、所定のボタンが押下されても、プレイヤキャラクタPCは、ベッド510に寝る動作を行わない。すなわち、建築ユニット51bの傾きが閾値を超えている場合は、プレイヤキャラクタPCによるベッド510に寝るアクションが無効化される。なお、建築ユニット51bの床面505の傾きが閾値を超えている場合には、建築ユニット51bの部屋内部にベッド510が表示されないようにしてもよい。
【0113】
また、図示は省略するが、他の建築ユニット51についても、当該建築ユニット51の姿勢に応じて、当該建築ユニット51の内部に配置されたオブジェクトが無効化されたり、当該建築ユニット51内のプレイヤキャラクタPCのアクションが無効化されたりする。
【0114】
例えば、建築ユニットCの部屋内部には、アイテムを飾る台が設置されている。建築ユニットCを表す仮想モデルとして、建築モードにおいて用いられる建築ユニット41cと、通常のゲームモードにおいて用いられる建築ユニット51cとが予め用意されている。建築ユニット51cの傾きが閾値以下である場合には、プレイヤキャラクタPCは、自身が所有する武器オブジェクトを飾ったり、台に飾られている武器オブジェクトを取ったりするアクションを行うことができる。一方、建築ユニット51cの傾きが閾値を超えている場合は、プレイヤキャラクタPCは、武器オブジェクトを飾るアクションを行うことはできない。なお、建築ユニット51cの傾きが閾値を超えている場合でも、プレイヤキャラクタPCは、台に飾られている武器オブジェクトを取るアクションを行うことはできてもよい。
【0115】
また、建築ユニットFは、池のユニットであり、建築ユニットFを表す仮想モデルとして、建築モードにおいて用いられる建築ユニット41fと、通常のゲームモードにおいて用いられる建築ユニット51fとが予め用意されている。建築ユニット51fが傾いていない状態では、建築ユニット51fの内部には水が張り、水中で魚オブジェクトが泳ぐ。一方、建築ユニット51fが傾いている状態では、水のオブジェクトは無効化され、魚オブジェクトも無効化される。
【0116】
このように、複数の建築ユニットの少なくとも何れかは、その内部空間に配置された内部オブジェクト(家具オブジェクト、水のオブジェクト等)を有し、建築ユニット51の姿勢が所定の条件を満たしている場合は、所定の種類の内部オブジェクトが無効化される。なお、建築ユニット51の姿勢に関する所定の条件は、建築ユニット51の種類に応じて異なってもよい。例えば、建築ユニット51の床面が水平であるときには内部オブジェクトは表示され、建築ユニット51の床面が傾いている場合には、内部オブジェクトは表示されない。仮に、建築ユニット51が傾いているときに内部オブジェクトが表示されると、プレイヤに違和感を覚えさせる場合がある。しかしながら、本実施形態では、建築ユニット51が傾いている場合に内部オブジェクトを無効化することができるため、違和感を生じさせないようにすることができる。
【0117】
(接続ポイントでの接続)
ここで、各建築ユニット41の接続ポイント401を用いた接続について説明する。
図17は、建築モードにおいて建築ユニット41aと建築ユニット41bとが接続ポイント401で互いに接続される様子を示した図である。
【0118】
図17では、建築ユニット41aに対して第1のアクションが行われ、当該建築ユニット41aと建築ユニット41bとが所定の接続条件を満たした状態において接続指示があったときの様子が示されている。
図17に示されるように、建築ユニット41aは、接続ポイント401aを有し、建築ユニット41bは、接続ポイント401bを有する。接続ポイント401aには、当該接続ポイント401aが設定された面に垂直な法線ベクトルNVaと、当該面の接線方向である接線ベクトルTVaとが設定されている。また、接続ポイント401bには、当該接続ポイント401bが設定された面に垂直な法線ベクトルNVbと、当該面の接線方向である接線ベクトルTVbとが設定されている。
【0119】
図17の上図に示されるように、建築ユニット41aと建築ユニット41bとが接続される前において、建築ユニット41aと建築ユニット41bとは所定の接続条件を満たし、接続可能な状態である。例えば、所定の接続条件は、建築ユニット41aと建築ユニット41bとの距離が所定値未満であることであってもよい。また、所定の接続条件は、法線ベクトルNVaと法線ベクトルNVbとが所定の条件を満たすことであってもよい。例えば、接続ポイント401aと接続ポイント401bとの距離が所定値未満であり、かつ、法線ベクトルNVaと法線ベクトルNVbとが所定の条件を満たす場合、接続ポイント401aと接続ポイント401bとが所定の接続条件を満たすと判定される。この場合、建築ユニット41aと建築ユニット41bとの間に、接続オブジェクト60が配置される。具体的には、接続ポイント401aと接続ポイント401bとが所定の接続条件を満たしている場合、接続ポイント401aと接続ポイント401bとを結ぶ接続オブジェクト60が表示される。
【0120】
この状態でプレイヤにより接続指示が行われると、
図17の下図に示されるように、接続ポイント401aと接続ポイント401bとが接続オブジェクト60で接続され、建築ユニット41aと建築ユニット41bとが一体化される。接続ポイント401aと接続ポイント401bとが接続オブジェクト60で接続される際に、建築ユニット41a及び建築ユニット41bの位置及び姿勢が調整される。具体的には、接続ポイント401aと接続ポイント401bとが重なるように、建築ユニット41a及び建築ユニット41bの位置が調整される。また、法線ベクトルNVaと法線ベクトルNVbとがなす角が、所定の値(例えば、180度、135度、90度、45度のうち、現在の姿勢に最も近い角度)となるように、建築ユニット41a及び建築ユニット41bの姿勢が調整される。また、接線ベクトルTVaと接線ベクトルTVbとがなす角が、所定の値(例えば、180度、135度、90度、45度のうち、現在の姿勢に最も近い角度)となるように、建築ユニット41a及び建築ユニット41bの姿勢が調整される。
【0121】
このように、接続ポイントにより建築ユニット41同士が接続されることで、プレイヤは、建築物オブジェクトの建築を容易に行うことができる。
【0122】
(第2のアクション)
次に、プレイヤキャラクタPCの第2のアクションについて説明する。プレイヤキャラクタPCは、第2のアクションとして、プレイヤキャラクタPCの上方にある天井となるオブジェクトを通り抜けて、その上方にある移動先に移動するアクション(以下、「通り抜け移動」という)を行うことができる。
【0123】
図18は、通常のゲームモードにおいて、プレイヤキャラクタPCが通り抜け移動を行う様子を模式的に示す図である。なお、
図18は、水平方向に平行な方向からゲーム空間を見た図である。
図18における状態は、プレイヤキャラクタPCが地形オブジェクト202の上に配置されており、その上には天井となる地形オブジェクト203がある状態である。このような状態において、所定の移動条件が満たされる場合に、プレイヤの操作入力に応じて第2のアクション(通り抜け移動)が行われる。これにより、プレイヤキャラクタPCは、地形オブジェクト203を通り抜けて当該地形オブジェクト203上に移動することができる(
図18参照)。
【0124】
ここで、所定の移動条件は、プレイヤキャラクタPCの上方であって、天井のさらに上方に、プレイヤキャラクタPCを配置することが可能な移動先が存在するか否かに関する条件であってもよい。「プレイヤキャラクタPCを配置することが可能な移動先」は、プレイヤキャラクタPCが他のオブジェクトと衝突しない場所である。すなわち、プレイヤキャラクタPCが他のオブジェクトと衝突すると判定される場所は、「プレイヤキャラクタPCを配置することが可能な移動先」とはならない。また、「プレイヤキャラクタPCを配置することが可能な移動先」は、プレイヤキャラクタPCが他のオブジェクトと衝突しない場所であり、かつ、当該傾きが閾値よりも小さい場所であってもよい。
【0125】
なお、本明細書において、地形オブジェクトとは、仮想空間に配置されるオブジェクトであって、少なくとも当該地形オブジェクトの一部分においてプレイヤキャラクタPCが当該地形オブジェクトの上に配置されることが可能な任意のオブジェクトを指す。上記建築物オブジェクト40や建築物オブジェクト50は、地形オブジェクトの一種である。また、地形オブジェクトは、仮想空間における地面を示すものであってもよいし、地面上に配置されたオブジェクト(例えば、岩)であってもよい。
【0126】
また、本明細書において、天井とは、建築物オブジェクトにおける天井の部分に限らず、任意の地形オブジェクトにおける下を向く部分であって、通り抜け移動が可能な部分は天井となり得る。例えば、地面を示す地形オブジェクトによって洞窟が形成される場合、または、山を示す地形オブジェクトによってトンネルが形成される場合において、当該地形オブジェクトのうちで下を向く部分は天井である。
【0127】
なお、
図18に示すように、プレイヤキャラクタPCが通り抜け移動を行う場合においては、当該地形オブジェクトに孔が空けられるわけではない。本実施形態における通り抜け移動は、当該移動の際にはプレイヤキャラクタPCと地形オブジェクトとの衝突判定(当たり判定)を例外的に行わない(無効化する)ようにすることで、地形オブジェクトとの衝突判定を無視してプレイヤキャラクタPCを移動させるものである。
【0128】
また、上記通り抜け移動は、プレイヤキャラクタPCが地面からジャンプする動作とは異なる動作である。本実施形態において、通り抜け移動は、プレイヤキャラクタPCの上方に天井があることを少なくとも条件として行われる動作であり、プレイヤキャラクタPCの上方に天井がない場合には、プレイヤキャラクタPCは通り抜け移動を行わない(
図18参照。なお、この場合にはジャンプの動作も行わない)。したがって、通り抜け移動は、プレイヤの操作に応じてプレイヤキャラクタPCがジャンプを行う一般的なジャンプ動作とは異なる動作であると言うことができる。なお、本実施形態においては、プレイヤキャラクタPCは、通り抜け移動とは別の操作によってジャンプ動作を行うことができる。
【0129】
上記通り抜け移動は、建築モードにおいて建築された建築物オブジェクト50に対しても行われる。
図19は、通常のゲームモードにおいて、プレイヤキャラクタPCが建築ユニット51aを通り抜け移動する様子を示す図である。
【0130】
図19に示されるように、建築ユニット51bの上に建築ユニット51aが配置されている場合において、プレイヤキャラクタPCが建築ユニット51aの下方に位置しているとき、プレイヤキャラクタPCの上方には、天井となる建築ユニット51aが存在する。この場合、プレイヤキャラクタPCは上記通り抜け移動を行うことが可能である。建築ユニット51aの部屋内部は、プレイヤキャラクタPCが他のオブジェクトと衝突しない場所であるため、「プレイヤキャラクタPCを配置することが可能な移動先」として設定される。このため、プレイヤキャラクタPCが通り抜け移動を行った場合、プレイヤキャラクタPCは、建築ユニット51aの床面505を通り抜けて、建築ユニット51aの部屋内部まで移動する。これにより、プレイヤキャラクタPCは、通常の進入経路(開口からの進入)に加えて、特殊なアクションにより、建築ユニット51aの部屋内部に進入することができる。また、建築ユニット51が壁に覆われているなどして、建築ユニット51の部屋内部への進入経路が無くても、通り抜け移動により、プレイヤキャラクタPCを、建築ユニット51の部屋内部に進入させることができる。
【0131】
図20は、建築モードにおいて、プレイヤキャラクタPCが建築ユニット41aを通り抜け移動する様子を示す図である。上述のように、建築モードにおいては、各建築ユニット51の部屋内部は、衝突判定が有効となる。すなわち、建築モードにおいては、各建築ユニット41の部屋内部は、オブジェクトが満たされた状態として扱われ、プレイヤキャラクタPCが他のオブジェクトと衝突する場所である。このため、各建築ユニット41の部屋内部は、「プレイヤキャラクタPCを配置することが可能な移動先」ではない。したがって、建築モードにおいては、プレイヤキャラクタPCは、通り抜け移動を行った場合、建築ユニット41aの部屋内部に進入することはできず、建築ユニット41aの部屋内部を通り抜けて、建築ユニット41aの外まで移動する。
【0132】
以上のように、本実施形態では、通常のゲームモード又は建築モードにおいて、第1のアクションの対象である操作対象オブジェクト(例えば、仮想オブジェクト31)を、第1のアクションに基づいて移動制御させ、複数の操作対象オブジェクトを組み合わせて、合体オブジェクトを生成することができる。建築モードにおいて、第1のアクションに基づいて、仮想空間に配置された第1のアクションの対象である操作対象建築物オブジェクト(例えば、建築ユニット41)を移動制御させ、複数の操作対象建築物オブジェクトからなる建築物オブジェクトを生成することができる。
【0133】
これにより、操作対象オブジェクトを移動制御可能な第1のアクションによって、操作対象建築物オブジェクト(例えば、建築ユニット41)を移動制御することができる。このため、建築物オブジェクトを生成・変更するための専用の機能を備えなくても、プレイヤは、仮想空間に所望の建築物オブジェクトを生成・変更することができる。また、プレイヤは、操作対象オブジェクトに対する操作入力と共通の操作入力により、建築物オブジェクトを生成・変更することができ、容易に建築物オブジェクトを生成・変更することができる。このため、ユーザビリティを向上させることができる。
【0134】
また、建築モードから通常のゲームモードに移行する際に、第1のアクションの対象である操作対象建築物オブジェクト(建築ユニット41)が、第1のアクションの対象でない非操作対象建築物オブジェクト(建築ユニット51)に設定される。通常のゲームモードから建築モードに移行する際には、仮想空間に配置された非操作対象建築物オブジェクト(建築ユニット51)が、操作対象建築物オブジェクト(建築ユニット41)に設定される。これにより、建築物オブジェクトの生成・変更後は、建築物オブジェクトを第1のアクションの対象外とすることができ、建築物オブジェクトを仮想空間に固定することができる。
【0135】
また、第1のアクションに基づいて、複数の操作対象建築物オブジェクト同士が接続され、接続された複数の操作対象建築物オブジェクトが一体化させて移動制御される。これにより、プレイヤは、複数の操作対象建築物オブジェクトからなる建築物オブジェクトを容易に操作することができる。
【0136】
また、複数の操作対象建築物オブジェクトは、接続方向(法線方向及び/又は接線方向)が設定された少なくとも1つの接続ポイントを有する。操作対象建築物オブジェクト同士が接続される場合、接続ポイント同士が接続方向に基づいて接続されるように、操作対象建築物オブジェクトの位置および姿勢が調整される。これにより、各操作対象建築物オブジェクトの形状が複雑であっても、操作対象建築物オブジェクト同士を容易に接続することができる。
【0137】
また、複数種類の建築物オブジェクトのうちの何れかは、部屋のオブジェクトであり、プレイヤキャラクタPCは、通常のゲームモードにおいては、部屋の内部に進入することができ、建築モードにおいては、部屋の内部に進入することができないように構成される。すなわち、部屋のオブジェクトである非操作対象建築物オブジェクトは、衝突判定される形状であって、プレイヤキャラクタPCが当該非操作対象建築物オブジェクトの部屋内部に進入可能な形状を有する。また、部屋のオブジェクトである操作対象建築物オブジェクトは、衝突判定される形状であって、プレイヤキャラクタPCが当該操作対象建築物オブジェクトの部屋内部に進入不可能な形状を有する。
【0138】
これにより、建築物オブジェクトの建築中は、部屋内部にプレイヤキャラクタPCが進入することを防止することができる。例えば、建築物オブジェクトの建築中に、部屋内部に余計なオブジェクトが配置されることを抑制することができる。
【0139】
また、操作対象建築物オブジェクト(例えば、建築ユニット41a)は、部屋の開口部に対応する箇所に、当該開口部を塞ぐオブジェクト(例えば、網のオブジェクト)を有する。当該開口部を塞ぐオブジェクトは、部屋内部の少なくとも一部を視認可能に構成される。これにより、操作対象建築物オブジェクトの内部にプレイヤキャラクタPCが進入することを防止することができるとともに、操作対象建築物オブジェクトの内部をプレイヤに視認させることができる。
【0140】
また、本実施形態では、プレイヤキャラクタPCは、第2のアクションを行うことが可能である。プレイヤキャラクタPCの上方に天井となるオブジェクトがあり、さらにその上方に、プレイヤキャラクタPCを配置することが可能な移動先がある場合、プレイヤキャラクタPCは、第2のアクションにより、当該オブジェクトを通り抜けて当該移動先まで移動する。操作対象建築物オブジェクトの部屋内部は、プレイヤキャラクタを配置することが不可能であり、非操作対象建築物オブジェクトの部屋内部は、プレイヤキャラクタを配置することが可能である。このような第2のアクションを行うことにより、非操作対象建築物オブジェクトの部屋内部にプレイヤキャラクタPCを進入させることができる。
【0141】
また、非操作対象建築物オブジェクト(例えば、建築ユニット51a)は、その内部空間に配置された内部オブジェクト(例えば家具オブジェクト)を有する。当該非操作対象建築物オブジェクトの姿勢が所定の条件を満たす場合(例えば、床面の傾きが閾値を超えている場合)、内部オブジェクトは無効化される。これにより、例えば、非操作対象建築物オブジェクトが傾いている場合に、内部オブジェクトを表示しないようにすることができ、違和感を生じさせないようにすることができる。
【0142】
また、本実施形態では、第1のアクションにより、操作対象オブジェクト同士を接続し、接続された操作対象オブジェクト同士を一体化させて移動制御することができる。具体的には、第1のアクションにより、操作対象建築物オブジェクト(例えば建築ユニット41)と、操作対象建築物オブジェクト以外の操作対象オブジェクト(例えば仮想オブジェクト31)との組み合わせを除く、複数の操作対象オブジェクト同士を接続することができる。操作対象建築物オブジェクトと、操作対象建築物オブジェクト以外の操作対象オブジェクトとは接続されないため、第1のアクションによる操作対象建築物オブジェクトの移動制御を妨げないようにすることができ、建築物オブジェクトの建築を容易に行うことができる。
【0143】
また、本実施形態では、複数の操作対象建築物オブジェクトが接続される場合、当該複数の操作対象建築物オブジェクトの接続箇所に、接続オブジェクトが配置される。接続された複数の操作対象建築物オブジェクトが非操作対象建築物オブジェクトに設定される場合、接続箇所には接続オブジェクトは配置されない。建築物オブジェクトの建築中は接続オブジェクトを配置することで、操作対象建築物オブジェクト同士が接続されていること及びその接続箇所をプレイヤに分かりやすく表示することができる。建築物オブジェクトの建築が完成した後は、接続オブジェクトは配置されないため、建築物オブジェクトの見た目を向上させることができる。また、このような接続オブジェクトが表示されることにより、接続された操作対象オブジェクトを第1のアクションによって操作可能であることをプレイヤに容易に認識させることができる。
【0144】
(ゲーム処理の詳細)
次に、上述したゲームに関するゲーム処理の詳細について説明する。まず、ゲーム処理に用いられるデータについて説明する。
図21は、ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図である。
【0145】
図21に示されるように、本体装置2のメモリ(DRAM27、フラッシュメモリ26、又は外部記憶媒体)には、ゲームプログラムと、プレイヤキャラクタデータと、仮想オブジェクトデータと、建築物オブジェクトデータと、モードデータとが記憶される。なお、これらのデータの他にも、メモリにはゲーム処理に用いられる様々なデータが記憶される。
【0146】
ゲームプログラムは、後述するゲーム処理を実行するためのプログラムである。ゲームプログラムは、スロット29に装着される外部記憶媒体又はフラッシュメモリ26に予め記憶されており、ゲームの実行時にDRAM27に読み込まれる。なお、ゲームプログラムは、ネットワーク(例えばインターネット)を介して他の装置から取得されてもよい。
【0147】
プレイヤキャラクタデータは、プレイヤキャラクタPCに関するデータであり、プレイヤキャラクタPCの仮想空間における位置や姿勢、形状等に関する情報を含む。また、プレイヤキャラクタデータは、プレイヤキャラクタPCが第1のアクションを実行中か否かを示す情報を含む。また、プレイヤキャラクタデータは、プレイヤキャラクタPCが第2のアクションを実行中か否かを示す情報を含む。また、プレイヤキャラクタデータは、プレイヤキャラクタPCが所有する建築ユニットの種類や数に関する情報を含む。また、プレイヤキャラクタデータは、プレイヤキャラクタPCが所有するアイテム(武器、防具、食物等)や能力等を示す情報を含む。
【0148】
仮想オブジェクトデータは、仮想空間に配置された仮想オブジェクト31(31a~31c等)に関するデータである。仮想オブジェクトデータは、各仮想オブジェクト31の仮想空間における位置及び姿勢を表すデータを含む。また、仮想オブジェクトデータは、各仮想オブジェクト31同士の接続に関する情報(例えば、接続オブジェクト60の有無、位置等に関する情報)を含む。
【0149】
建築物オブジェクトデータは、仮想空間に配置された建築物オブジェクト(40及び50)に関するデータである。具体的には、建築物オブジェクトデータは、各建築ユニット41の位置及び姿勢に関するデータを含む。また、建築物オブジェクトデータは、各建築ユニット51の位置及び姿勢に関するデータを含む。また、建築物オブジェクトデータは、各建築ユニット51に含まれる内部オブジェクトの有効/無効に関するデータを含む。
【0150】
モードデータは、通常のゲームモード中か建築モード中かを示すデータである。
【0151】
次に、本体装置2において行われるゲーム処理の詳細について説明する。
図22は、プロセッサ21によって実行されるゲーム処理の一例を示すフローチャートである。
【0152】
図22に示されるように、ゲーム処理が開始されると、プロセッサ21は、初期処理を実行する(ステップS100)。具体的には、プロセッサ21は、仮想空間を設定し、仮想空間にプレイヤキャラクタPC、第1のアクションの対象である複数の仮想オブジェクト31(操作対象オブジェクト)、第1のアクションの対象ではない建築物オブジェクト50(非操作対象建築物オブジェクト)等を配置する。これらの他にも、プロセッサ21は、第1のアクションの対象ではない非操作対象オブジェクト(例えば、仮想空間に固定された岩や山、敵キャラクタ等)を仮想空間に配置する。
【0153】
次に、プロセッサ21は、コントローラからの操作データを取得する(ステップS101)。操作データは、左右のコントローラのボタンやアナログスティック等に対する操作に応じたデータを含む。本体装置2は、各コントローラから所定の時間間隔(例えば、1/200秒間隔)で操作データを受信し、当該操作データをメモリに記憶する。ステップS101では、プロセッサ21は、各コントローラから送信されてメモリに記憶された操作データを取得する。以降、プロセッサ21は、ステップS101~ステップS109の処理を所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行する。
【0154】
続いて、プロセッサ21は、プレイヤキャラクタの移動処理を行う(ステップS102)。ここでは、プロセッサ21は、操作データに基づいて、プレイヤキャラクタPCの移動操作が行われたか否かを判定し、移動操作が行われたと判定した場合には、プレイヤキャラクタPCを1フレーム分の移動量だけ移動させる。
【0155】
次に、プロセッサ21は、建築モード移行判定処理を行う(ステップS103)。ここでは、プロセッサ21は、建築モードに移行させるか否かを判定し、建築モードに移行させると判定した場合、通常のゲームモードから建築モードに移行させるための処理を行う。例えば、プレイヤキャラクタPCが仮想空間内に存在する所定のノンプレイヤキャラクタNPCの近傍に位置し、かつ、所定の操作入力が行われた場合、プロセッサ21は、建築モードに移行させると判定し、通常のゲームモードから建築モードに移行させる。これにより、通常のゲームモードの画面(例えば、
図6)から、建築モードの画面(例えば、
図7)に切り替わる。なお、建築モードに移行させると判定しなかった場合、プロセッサ21は、建築モードに移行させるための処理を行わない。
【0156】
次に、プロセッサ21は、アクション判定・開始処理を行う(ステップS104)。ここでは、プロセッサ21は、プレイヤキャラクタPCの各アクションに対応する操作入力が行われたか否かを判定し、操作入力が行われた場合に、操作入力に応じたアクションをプレイヤキャラクタPCに開始させる。具体的には、プロセッサ21は、操作データに基づいて、第1のアクションのための第1の操作入力が行われたか否かを判定し、当該第1の操作入力が行われたと判定した場合、プレイヤキャラクタPCに第1のアクションを開始させる。第1のアクションが開始されてから所定時間が経過すると、プレイヤキャラクタPCは、第1のアクション中の状態になる。
【0157】
また、プロセッサ21は、ステップS104において、操作データに基づいて、第2のアクションのための第2の操作入力が行われたか否かを判定し、当該第2の操作入力が行われたと判定した場合、プレイヤキャラクタPCに第2のアクションを開始させる。具体的には、プロセッサ21は、プレイヤキャラクタPCが第2のアクション(通り抜け移動)を実行可能である場合において、プレイヤにより第2のアクションの実行指示が行われたか否かを判定する。プレイヤキャラクタPCの上方に天井となるオブジェクトが存在し、かつ、さらにその上方に、「プレイヤキャラクタPCを配置することが可能な移動先」が存在する場合、第2のアクションが実行可能となる。プレイヤキャラクタPCが第2のアクションを実行可能である場合において、第2のアクションの実行指示が行われた場合、プロセッサ21は、プレイヤキャラクタPCに第2のアクションを開始させる。第2のアクションが開始されてから所定時間が経過すると、プレイヤキャラクタPCは、第2のアクション中の状態になる。
【0158】
次に、プロセッサ21は、描画処理を行う(ステップS105)。ステップS105の描画処理が所定のフレーム時間間隔で行われることにより、ステップS102におけるプレイヤキャラクタPCの移動処理、ステップS103の処理、ステップS104におけるアクション判定・開始処理に応じた画像が表示される。例えば、ステップS102でプレイヤキャラクタPCが移動された場合、プレイヤキャラクタPCが仮想空間内で移動する様子が表示される。また、ステップS103において、建築モードに移行させると判定された場合、通常のゲームモードから建築モードに移行する様子が複数のフレームにわたって表示される。当該建築モードへの移行開始から所定時間が経過すると、建築モードに移行する。また、ステップS104で第1のアクションが開始された場合、プレイヤキャラクタPCが第1のアクションを開始する様子が複数のフレームにわたって表示される。また、ステップS104で第2のアクションが開始された場合、プレイヤキャラクタPCが第2のアクションを開始する様子が複数のフレームにわたって表示される。
【0159】
次に、プロセッサ21は、建築モードに移行したか否かを判定する(ステップS106)。建築モードに移行したと判定した場合(ステップS106:YES)、プロセッサ21は、建築モード処理を実行する(ステップS120)。建築モード処理は、建築モード中に実行される処理である。以下、ステップS120の建築モード処理の詳細について説明する。
【0160】
(建築モード処理)
図23は、ステップS120の建築モード処理の一例を示すフローチャートである。
【0161】
図23に示されるように、プロセッサ21は、仮想空間に配置された非操作対象建築物オブジェクトを、操作対象建築物オブジェクトに設定する(ステップS201)。具体的には、プロセッサ21は、仮想空間に配置された各建築ユニット51を、対応する建築ユニット41に置き換える。例えば、通常のゲームモードにおいて、建築ユニット51a~51cが
図6のような位置関係で仮想空間に配置されている場合、建築ユニット51a~51cは、それぞれ建築ユニット41a~41cに置き換えられる。これにより、
図7に示されるようなゲーム画像が表示される。なお、建築モードにおいては、接続された建築ユニット同士の間に、接続オブジェクト60が表示される。
【0162】
次に、プロセッサ21は、操作データを取得する(ステップS202)。以降、プロセッサ21は、建築モードが終了されるまで、ステップS202~ステップS208の処理を所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行する。
【0163】
続いて、プロセッサ21は、プレイヤキャラクタの移動処理を行う(ステップS203)。ステップS203の処理は、ステップS102と同じ処理である。
【0164】
次に、プロセッサ21は、アクション判定・開始処理を行う(ステップS204)。ここでは、上記ステップS104と同様の処理が行われる。具体的には、プロセッサ21は、プレイヤキャラクタPCの各アクションに対応する操作入力が行われたか否かを判定し、操作入力が行われた場合に、操作入力に応じたアクションをプレイヤキャラクタPCに開始させる。より具体的には、プロセッサ21は、操作データに基づいて、第1のアクションのための第1の操作入力が行われたか否かを判定し、当該第1の操作入力が行われたと判定した場合、プレイヤキャラクタPCに第1のアクションを開始させる。第1のアクションが開始されてから所定時間が経過すると、プレイヤキャラクタPCは、第1のアクション中の状態になる。
【0165】
また、プロセッサ21は、ステップS204において、操作データに基づいて、第2のアクションのための第2の操作入力が行われたか否かを判定し、当該第2の操作入力が行われたと判定した場合、プレイヤキャラクタPCに第2のアクションを開始させる。具体的には、プロセッサ21は、プレイヤキャラクタPCが第2のアクション(通り抜け移動)を実行可能である場合において、プレイヤにより第2のアクションの実行指示が行われたか否かを判定する。プレイヤキャラクタPCの上方に天井となるオブジェクトが存在し、かつ、さらにその上方に、「プレイヤキャラクタPCを配置することが可能な移動先」が存在する場合、第2のアクションが実行可能となる。プレイヤキャラクタPCが第2のアクションを実行可能である場合において、第2のアクションの実行指示が行われた場合、プロセッサ21は、プレイヤキャラクタPCに第2のアクションを開始させる。第2のアクションが開始されてから所定時間が経過すると、プレイヤキャラクタPCは、第2のアクション中の状態になる。
【0166】
次に、プロセッサ21は、描画処理を行う(ステップS205)。ステップS205の描画処理が所定のフレーム時間間隔で行われることにより、ステップS203におけるプレイヤキャラクタPCの移動処理やステップS204におけるアクション判定・開始処理に応じた画像が表示される。例えば、ステップS203でプレイヤキャラクタPCが移動された場合、プレイヤキャラクタPCが仮想空間内で移動する様子が表示される。また、ステップS204で第1のアクションが開始された場合、プレイヤキャラクタPCが第1のアクションを開始する様子が表示される。また、ステップS204で第2のアクションが開始された場合、プレイヤキャラクタPCが第2のアクションを開始する様子が表示される。
【0167】
次に、プロセッサ21は、プレイヤキャラクタPCが第1のアクション中の状態か否かを判定する(ステップS206)。プレイヤキャラクタPCが第1のアクション中の状態であると判定した場合(ステップS206:YES)、プロセッサ21は、第1アクション中処理を実行する(ステップS209)。以下、ステップS209の第1アクション中処理の詳細について説明する。
【0168】
(第1アクション中処理)
図24は、ステップS209の第1アクション中処理の一例を示すフローチャートである。
【0169】
図24に示されるように、プロセッサ21は、まず、操作データを取得する(ステップS301)。以降、プロセッサ21は、第1のアクションが終了されるまで、ステップS301~ステップS311の処理を所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行する。
【0170】
次に、プロセッサ21は、操作データに基づいて、仮想空間に配置された1又は複数の操作対象オブジェクトのうちの少なくとも何れか1つを選択する(ステップS302)。以下では、ステップS302で選択されたオブジェクトを「選択オブジェクト」という。プロセッサ21は、選択オブジェクトの表示態様を特別な表示態様に設定するとともに、プレイヤキャラクタPCから選択オブジェクトに向かうエフェクト画像を配置する。例えば、プロセッサ21は、建築モードにおいて、操作データに基づいて、仮想空間に配置された複数の建築ユニット41のうちの何れかを選択する。また、プロセッサ21は、建築モードにおいて、操作データに基づいて、仮想空間に配置された複数の仮想オブジェクト31のうちの何れかを選択する。また、プロセッサ21は、通常のゲームモードにおいて、操作データに基づいて、仮想空間に配置された複数の仮想オブジェクト31のうちの何れかを選択する。なお、プロセッサ21は、通常のゲームモードでは、仮想空間に配置された建築ユニット51を選択オブジェクトとして選択しない。
【0171】
続いて、プロセッサ21は、プレイヤキャラクタの移動処理を行う(ステップS303)。ステップS303の処理は、ステップS102と同じ処理である。
【0172】
次に、プロセッサ21は、選択オブジェクトの移動制御を行うか否かを判定する(ステップS304)。例えば、ステップS303においてプレイヤキャラクタPCが移動した場合、プロセッサ21は、選択オブジェクトの移動制御を行うと判定する。なお、プレイヤキャラクタPCが移動していない場合でも、所定の操作入力が行われた場合に、選択オブジェクトの移動制御が行われてもよい。
【0173】
選択オブジェクトの移動制御を行うと判定した場合(ステップS304:YES)、プロセッサ21は、選択オブジェクトを仮想空間内で移動させる(ステップS305)。選択オブジェクトと他のオブジェクトとが接続されている場合、プロセッサ21は、選択オブジェクト及びこれに接続されたオブジェクトを移動させる。例えば、プロセッサ21は、建築モードにおいて、建築ユニット41が選択されている場合、当該選択された建築ユニット41(及びこれに接続された別の建築ユニット41)を、プレイヤキャラクタPCの移動に応じて仮想空間内で移動させる。また、プロセッサ21は、建築モード又は通常のゲームモードにおいて、仮想オブジェクト31が選択されている場合、当該選択された仮想オブジェクト31(及びこれに接続された別の仮想オブジェクト31)を、プレイヤキャラクタPCの移動に応じて仮想空間内で移動させる。
【0174】
ステップS305の処理を実行した場合、又は、ステップS304でNOと判定した場合、プロセッサ21は、選択オブジェクトの姿勢制御を行うか否かを判定する(ステップS306)。具体的には、姿勢制御のための所定の操作入力が行われている場合、プロセッサ21は、選択オブジェクトの姿勢制御を行うと判定する。
【0175】
選択オブジェクトの姿勢制御を行うと判定した場合(ステップS306:YES)、プロセッサ21は、選択オブジェクトを仮想空間内で回転させる(ステップS307)。選択オブジェクトに他のオブジェクトが接続されている場合、プロセッサ21は、選択オブジェクト及びこれに接続されたオブジェクトを、操作入力に応じて回転させる。例えば、プロセッサ21は、建築モードにおいて、建築ユニット41が選択されている場合、当該選択された建築ユニット41(及びこれに接続された別の建築ユニット41)を仮想空間内で回転させる。また、プロセッサ21は、建築モード又は通常のゲームモードにおいて、仮想オブジェクト31が選択されている場合、当該選択された仮想オブジェクト31(及びこれに接続された別の仮想オブジェクト31)を、操作入力に応じて仮想空間内で回転させる。
【0176】
ステップS307の処理を実行した場合、又は、ステップS306でNOと判定した場合、プロセッサ21は、選択オブジェクトを他のオブジェクトと接続させるか否かを判定する(ステップS308)。具体的には、プロセッサ21は、選択オブジェクトと所定の接続条件を満たす他のオブジェクトが存在する場合、選択オブジェクトと当該他のオブジェクトとを結ぶ接続オブジェクト60を生成する。そして、当該接続オブジェクト60が生成されている状態でプレイヤにより接続指示が行われた場合、プロセッサ21は、選択オブジェクトと当該他のオブジェクトとを接続させると判定する。例えば、建築モードにおいて、建築ユニット41aが選択オブジェクトとして設定されている場合、プロセッサ21は、所定の接続条件を満たす他の建築ユニット41が存在するか否かを判定する。所定の接続条件を満たす他の建築ユニット41が存在すると判定した場合、プロセッサ21は、建築ユニット41aと、当該他の建築ユニット41とを結ぶ接続オブジェクト60を生成する。その状態でプレイヤにより接続指示が行われた場合、プロセッサ21は、ステップS308でYESと判定する。なお、建築ユニット41と仮想オブジェクト31とは、位置関係にかかわらず、所定の接続条件を満たさない。このため、建築ユニット41と仮想オブジェクト31とは、接続オブジェクト60で接続されない。
【0177】
選択オブジェクトを他のオブジェクトと接続させると判定した場合(ステップS308:YES)、プロセッサ21は、選択オブジェクトと、所定の接続条件を満たす他のオブジェクトとを接続する(ステップS309)。これにより、建築モードにおいて、例えば、建築ユニット41同士が接続される。また、建築モードにおいて、例えば、仮想オブジェクト31同士が接続される。また、通常のゲームモードにおいて、仮想オブジェクト31同士が接続される。
【0178】
ステップS309の処理を実行した場合、又は、ステップS308でNOと判定した場合、プロセッサ21は、描画処理を行う(ステップS310)。具体的には、プロセッサ21は、仮想カメラに基づいて、ステップS301~ステップS309の処理の結果に基づくゲーム画像を生成する。ステップS310の描画処理が所定のフレーム時間間隔で行わることにより、第1のアクションに基づいて、操作対象オブジェクトが移動制御されたり、姿勢制御されたりする様子が表示される。
【0179】
次に、プロセッサ21は、第1のアクションを終了するか否かを判定する(ステップS311)。例えば、プレイヤにより第1のアクションの終了が指示された場合、ステップS311でYESと判定される。また、例えば、ステップS309において選択オブジェクトが他のオブジェクトと接続された場合に、ステップS311でYESと判定される。ステップS311でNOと判定した場合、プロセッサ21は、ステップS301の処理を再び実行する。ステップS311でYESと判定した場合、プロセッサ21は、
図24に示す第1アクション中処理を終了する。
【0180】
図23に戻り、ステップS206でNOと判定した場合、又は、ステップS209の処理を終了した場合、プロセッサ21は、プレイヤキャラクタPCが第2のアクション中の状態か否かを判定する(ステップS207)。プレイヤキャラクタPCが第2のアクション中の状態であると判定した場合(ステップS207:YES)、プロセッサ21は、第2アクション中処理を実行する(ステップS210)。以下、ステップS210の第2アクション中処理の詳細について説明する。
【0181】
(第2アクション中処理)
図25は、ステップS210の第2アクション中処理の一例を示すフローチャートである。
【0182】
図25に示されるように、プロセッサ21は、「プレイヤキャラクタPCを配置することが可能な移動先」を設定する(ステップS401)。
【0183】
次に、プロセッサ21は、プレイヤキャラクタPCを上に向かって移動させる(ステップS402)。ここでは、プロセッサ21は、プレイヤキャラクタPCを1フレーム分の移動量だけ上方に移動させる。以降、プロセッサ21は、プレイヤキャラクタPCが移動先に到達するまで、ステップS402~ステップS404の処理を所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行する。
【0184】
次に、プロセッ21は、描画処理を行う(ステップS403)。これにより、プレイヤキャラクタPCが通り抜け移動を行う様子が表示される。なお、プレイヤキャラクタPCが通り抜け移動を行っている間、通常とは異なる背景画像が表示されてもよい。
【0185】
続いて、プロセッサ21は、プレイヤキャラクタPCが移動先に到達したか否かを判定する(ステップS404)。ステップS404でNOと判定した場合、プロセッサ21は、ステップS402の処理を再び実行する。ステップS404でYESと判定した場合、プロセッサ21は、
図25に示す第2アクション中処理を終了する。
【0186】
図23に戻り、ステップS207でNOと判定した場合、又は、ステップS210の処理を終了した場合、プロセッサ21は、建築モードを終了するか否かを判定する(ステップS208)。例えば、プレイヤにより建築モードの終了が指示された場合、プロセッサ21は、建築モードを終了すると判定する。例えば、プレイヤキャラクタPCが所定のノンプレイヤキャラクタNPCの近傍に位置しているときに、建築モードの終了が指示された場合、プロセッサ21は、建築モードを終了すると判定する。なお、プレイヤにより建築モードの終了が指示された場合でも、所定の建築終了条件が満たされない場合は、プロセッサ21は、建築モードを終了すると判定しない。例えば、建築物オブジェクト40(建築ユニット41)が配置された仮想空間の所定領域に、建築物オブジェクト40以外の仮想オブジェクト31が配置されている場合、プロセッサ21は、建築モードを終了すると判定しない。この場合、プレイヤに所定の警告がされてもよい。
【0187】
建築モードを終了しないと判定した場合(ステップS208:NO)、プロセッサ21は、ステップS202の処理を再び実行する。
【0188】
一方、建築モードを終了すると判定した場合(ステップS208:YES)、プロセッサ21は、仮想空間に配置された操作対象建築物オブジェクトを、非操作対象建築物オブジェクトに設定する(ステップS211)。具体的には、プロセッサ21は、仮想空間に配置された各建築ユニット41を、対応する建築ユニット51に置き換える。例えば、建築モードにおいて、建築ユニット41a~41dが
図11の上図に示されるような位置関係で仮想空間に配置されている場合、建築ユニット41a~41dは、それぞれ建築ユニット51a~51dに置き換えられる。また、プロセッサ21は、操作対象建築物オブジェクトを非操作対象建築物オブジェクトに設定する際に、非操作対象建築物オブジェクトの姿勢に基づいて、非操作対象建築物オブジェクトの内部に配置された内部オブジェクト(例えば、家具オブジェクト、水のオブジェクト)の有効/無効を設定する。具体的には、プロセッサ21は、非操作対象建築物オブジェクトの傾きが閾値を超えている場合は、内部オブジェクトを無効化し、非操作対象建築物オブジェクトの傾きが閾値以下である場合は、内部オブジェクトを有効化する。これにより、
図11の下図に示されるようなゲーム画像が表示され、建築モードから通常のゲームモードに移行される。なお、建築モードにおいて接続された建築ユニット間に配置された接続オブジェクト60は、通常のゲームモードでは表示されない。
【0189】
ステップS211の処理を実行した場合、プロセッサ21は、
図23に示す建築モード処理を終了する。
【0190】
図22に戻り、ステップS106でNOと判定した場合、又は、ステップS120の処理を終了した場合、プロセッサ21は、プレイヤキャラクタPCが第1のアクション中の状態か否かを判定する(ステップS107)。ステップS107の処理は、上記ステップS206の処理と同じ処理である。プレイヤキャラクタPCが第1のアクション中の状態と判定した場合(ステップS107:YES)、プロセッサ21は、第1アクション中処理を実行する(ステップS130)。ステップS130の処理は、上記ステップS209の処理と同じ処理である。ステップS130の第1アクション中処理では、通常のゲームモードであるため、建築物オブジェクトに対しては第1のアクションは行われず、仮想オブジェクト31に対して第1のアクションが行われる。
【0191】
ステップS107でNOと判定した場合、又は、ステップS130の処理を終了した場合、プロセッサ21は、プレイヤキャラクタPCが第2のアクション中の状態か否かを判定する(ステップS108)。ステップS108の処理は、上記ステップS207の処理と同じ処理である。プレイヤキャラクタPCが第2のアクション中の状態と判定した場合(ステップS108:YES)、プロセッサ21は、第2アクション中処理を実行する(ステップS140)。ステップS140の処理は、上記ステップS210の処理と同じ処理である。ステップS140の第2アクション中処理では、通常のゲームモードであるため、プレイヤキャラクタPCは、第2のアクションに基づいて、建築物オブジェクトの部屋内部に進入可能である。一方、ステップS210の第2アクション中処理では、建築モード中であるため、プレイヤキャラクタPCは、第2のアクションに基づいて、建築物オブジェクトの部屋内部に進入不可能である。
【0192】
ステップS108でNOと判定した場合、又は、ステップS140の処理を終了した場合、プロセッサ21は、ゲームを終了するか否かを判定する(ステップS109)。プレイヤによりゲームの終了が指示された場合、プロセッサ21は、ゲームを終了すると判定し、
図22に示すゲーム処理を終了する。一方、ステップS109でNOと判定した場合、プロセッサ21は、ステップS101の処理を再び実行する。
【0193】
以上のように、本実施形態では、操作入力に基づいて、仮想空間内の複数のオブジェクトのうち、プレイヤキャラクタによる第1のアクションの対象として設定された少なくとも1つの操作対象オブジェクト(例えば、仮想オブジェクト31、建築ユニット41)が、当該第1のアクションに基づいて移動制御される。第1の場面(例えば建築モード)において、操作対象オブジェクトとして設定された建築物のオブジェクトである少なくとも1つの操作対象建築物オブジェクト(例えば建築ユニット41)が、第1のアクションに基づいて移動制御される。第1の場面から第2の場面(通常のゲームモード)に移行する際に、配置された操作対象建築物オブジェクトが、当該操作対象建築物オブジェクトに対応し、かつ、第1のアクションの対象でない建築物のオブジェクトである非操作対象建築物オブジェクトに設定される。また、第2の場面から第1の場面に移行する際に、配置された非操作対象建築物オブジェクトが、当該非操作対象建築物オブジェクトに対応する操作対象建築物オブジェクトに設定される。
【0194】
これにより、プレイヤは、オブジェクトを操作可能な第1のアクションによって、建築物オブジェクトを移動制御することができる。したがって、第1のアクションが存在するゲームにおいて、建築のための専用の処理が少ない簡易な方法で建築物オブジェクトを生成・変更することができる。また、プレイヤはゲーム中に既に第1のアクション操作を行っていることから、プレイヤにとって分かり易い操作方法で建築物オブジェクトを生成・変更することができる。また、第2の場面では生成・変更した建築物オブジェクトを固定することができ、完成した建築物を第1のアクションによって不用意に動かしてしまうことを防止できる。
【0195】
また、第1のアクションとして、複数の操作対象建築物オブジェクト同士を接続させ、接続された操作対象建築物オブジェクト同士を一体として移動制御することができる。これにより、複数の操作対象建築物オブジェクトをその位置関係を保持したまま移動させることができ、複数の操作対象建築物オブジェクトからなる建築物を容易に作成することができる。また、操作対象建築物オブジェクトは、接続方向が設定された複数の接続ポイントを有し、複数の操作対象建築物オブジェクトが接続される場合に、接続ポイント同士が接続方向に基づいて接続されるように、各操作対象建築物オブジェクトの位置および姿勢が調整される。これにより、細かい位置調整や姿勢調整を行わなくても容易に複数の操作対象建築物オブジェクトを接続することができる。
【0196】
また、操作対象建築物オブジェクトは、衝突判定される形状であってプレイヤキャラクタPCが進入不可能な形状を有する。これにより、例えば、建築物の建築中に余計なオブジェクトが操作対象建築物オブジェクトの内部に配置されることを防止することができる。
【0197】
また、非操作対象建築物オブジェクトの内部空間には、内部オブジェクト(例えば家具オブジェクト)が配置される。操作対象建築物オブジェクトから非操作対象建築物オブジェクトに設定される場合に、建築物オブジェクトの姿勢が所定の条件を満たす場合は、内部オブジェクトが無効化される。これにより、例えば、非操作対象建築物オブジェクトが傾いている場合は、内部オブジェクトを無効化することができ、内部オブジェクトが不自然に傾いた状態で表示されてしまうことを抑制することができる。
【0198】
(変形例)
以上、本実施形態について説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【0199】
例えば、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容等は適宜変更されてもよい。
【0200】
また、上記実施形態では、建築モードにおいて、第1のアクションに基づいて建築物オブジェクトの移動制御及び姿勢制御が可能に構成され、通常のゲームモードにおいて第1のアクションに基づいて建築物オブジェクトの移動制御及び姿勢制御が不可能に構成された。他の実施形態では、建築モードにおいて第1のアクションに基づいて建築物オブジェクトの移動制御のみ行われてもよい。
【0201】
また、上記実施形態では、通常のゲームモードにおいて、プレイヤキャラクタPCの第1のアクション、他のアクション、及び、他のオブジェクトによって、建築物オブジェクトが移動制御されないものとした。他の実施形態では、通常のゲームモードにおいて、第1のアクションに基づいて建築物オブジェクトが移動制御されないが、プレイヤキャラクタPCの他のアクションや他のオブジェクトによって、建築物オブジェクトが移動制御されてもよい。
【0202】
また、上記実施形態では、建築モードにおいて、第1のアクションに基づいて建築物オブジェクトの移動制御が可能であるとともに、第1のアクションに基づいて仮想オブジェクト31の移動制御が可能であるとした。他の実施形態では、建築モードにおいては、第1のアクションに基づいて仮想オブジェクト31の移動制御が不可能に構成されてもよい。
【0203】
また、上記実施形態では、建築モードにおいて建築ユニット41の姿勢が変化された場合、通常のゲームモードに移行する際に、対応する建築ユニット51に含まれる内部オブジェクトが無効化された。他の実施形態では、建築モード中にも建築ユニット41の姿勢が変化された場合に、建築ユニット41に含まれる内部オブジェクトが無効化されてもよい。また、上記実施形態では同じ建築ユニットについて内部オブジェクトを有効化又は無効化することにより、内部オブジェクトを表示又は非表示にした。他の実施形態では、内部オブジェクトを含む建築ユニットと、内部オブジェクトを含まない建築ユニットとが予め用意され、建築ユニットの姿勢が所定の条件を満たす場合には、内部オブジェクトを含まない建築ユニットが仮想空間に配置されてもよい。これにより、建築ユニットの内部に配置される内部オブジェクトを無効化してもよい。
【0204】
また、上記実施形態では、各建築ユニット41には接続ポイントが設定され、接続ポイントには接続方向(法線方向及び接線方向)が設定された。そして、建築ユニット41同士が接続される場合に、接続ポイントが一致するように各建築ユニット41の位置が調整され、接続方向に基づいて各建築ユニット41の姿勢が調整された。他の実施形態では、接続ポイントには、法線方向又は接線方向が設定され、法線方向又は接線方向に基づいて建築ユニット41の姿勢が調整されてもよい。また、他の実施形態では、接続ポイントにより、建築ユニット41の位置のみが調整されてもよい。また、接続ポイントにより、建築ユニット41の姿勢のみが調整されてもよい。また、建築ユニット41には接続ポイントは設定されず、建築ユニット41は任意の位置及び姿勢で接続されてもよい。また、仮想オブジェクト31にも接続ポイントが設定され、接続ポイントにより、仮想オブジェクト31の位置及び/又は姿勢が調整されて、仮想オブジェクト31が接続されてもよい。
【0205】
また、上記操作対象オブジェクト(建築物オブジェクト、仮想オブジェクト)は単なる一例であり、他のオブジェクトを第1のアクションの対象としてもよい。
【0206】
また、上記ゲーム処理を行うハードウェアの構成は単なる一例であり、他の任意のハードウェアにおいて上記ゲーム処理が行われてもよい。例えば、パーソナルコンピュータ、タブレット端末、スマートフォン、インターネット上のサーバ等、任意の情報処理システムにおいて上記ゲーム処理が実行されてもよい。また、上記ゲーム処理は、複数の装置によって分散実行されてもよい。
【0207】
また上記実施形態及びその変形例に係る構成は、互いに矛盾しない限り、任意に組み合わせることが可能である。また、上記は本発明の例示に過ぎず、上記以外にも種々の改良や変形が加えられてもよい。
【符号の説明】
【0208】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
21 プロセッサ
30 仮想オブジェクト
40、50 建築物オブジェクト
41、51 建築ユニット
60 接続オブジェクト