(57)【要約】      （修正有）【課題】プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能を実現する情報処理装置等を提供する。【解決手段】ゲームシステム１は、仮想空間内のプレイヤオブジェクトの状態を判定するプレイヤオブジェクト状態判定部７２１と、プレイヤオブジェクトの状態に基づいて、ノンプレイヤオブジェクトを探索するための探索範囲を決定する探索範囲決定部７２２と、ノンプレイヤオブジェクトが探索範囲に存在するか否かを判定する対象オブジェクト存在判定部７２３と、ノンプレイヤオブジェクトが探索範囲に存在すると判定された場合に、ノンプレイヤオブジェクトを帽子投げ処理の対象に設定する対象オブジェクト設定部７２４とを備えている。【選択図】図９
2018196444.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置を、
仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、
第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、
前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および
前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段、
として機能させる、情報処理プログラム。
【請求項２】
前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトに対する移動入力の大きさを判定する、請求項１に記載の情報処理プログラム。
【請求項３】
前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトの位置変化の大きさを判定する、請求項１に記載の情報処理プログラム。
【請求項４】
前記探索範囲決定手段は、前記移動入力が小さいほど、連続的または離散的に広くなるように前記探索範囲を決定する、請求項２に記載の情報処理プログラム。
【請求項５】
前記探索範囲決定手段は、前記位置変化が小さいほど、連続的または離散的に広くなるように前記探索範囲を決定する、請求項３に記載の情報処理プログラム。
【請求項６】
前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトに対する向き入力変化の大きさを判定する、請求項１に記載の情報処理プログラム。
【請求項７】
前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトの向き変化の大きさを判定する、請求項１に記載の情報処理プログラム。
【請求項８】
前記探索範囲決定手段は、前記向き入力変化が大きいほど、連続的または離散的に広くなるように前記探索範囲を決定する、請求項６に記載の情報処理プログラム。
【請求項９】
前記探索範囲決定手段は、前記向き変化が大きいほど、連続的または離散的に広くなるように前記探索範囲を決定する、請求項７に記載の情報処理プログラム。
【請求項１０】
前記対象設定手段は、複数の前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、所定の条件を満たす前記第２オブジェクトを前記情報処理の対象とする、請求項１から９のいずれかに記載の情報処理プログラム。
【請求項１１】
前記所定の条件は、少なくとも、第１オブジェクトの正面方向に延びる仮想線との距離が近いか否かに基づく条件である、請求項１０に記載の情報処理プログラム。
【請求項１２】
前記探索範囲決定手段は、前記第１オブジェクトの位置および向きを基準として前記探索範囲を決定する、請求項１から１１のいずれかに記載の情報処理プログラム。
【請求項１３】
前記探索範囲は、前記第１オブジェクトの位置を中心とし、前記第１オブジェクトの正面方向を中心角の中心とする扇形であり、
前記探索範囲決定手段は、前記第１オブジェクトの状態に基づいて、前記扇形の中心角、前記扇形の半径の長さの少なくとも一方を決定することにより前記探索範囲を決定する、請求項１２に記載の情報処理プログラム。
【請求項１４】
前記探索範囲決定手段は、前記所定の情報処理を行うための入力があったと判定された場合に、前記探索範囲を決定する、請求項１から１３のいずれかに記載の情報処理プログラム。
【請求項１５】
前記情報処理装置を、さらに、前記所定の情報処理として、前記第１オブジェクトから前記対象に向けて第３オブジェクトを発射する情報処理を行う情報処理手段として機能させる、請求項１から１４のいずれかに記載の情報処理プログラム。
【請求項１６】
前記情報処理手段は、前記探索範囲に前記第２オブジェクトが存在しないと判定された場合は、前記第１オブジェクトの正面方向に前記第３オブジェクトを発射する、請求項１５に記載の情報処理プログラム。
【請求項１７】
前記探索範囲決定手段は、発射された前記第３オブジェクトの軌道を変更するための入力があったと判定された場合に、発射された前記第３オブジェクトを基準として、前記変更するための入力に応じた前記探索範囲を決定する、請求項１５または１６に記載の情報処理プログラム。
【請求項１８】
前記第１オブジェクトは、プレイヤによって操作されるプレイヤオブジェクトである、請求項１から１７のいずれかに記載の情報処理プログラム。
【請求項１９】
前記第１オブジェクトは、プレイヤによって操作されるプレイヤオブジェクトであり、
前記情報処理手段は、前記所定の情報処理の後に、プレイヤオブジェクトとなるオブジェクトを、前記第１オブジェクトから、前記対象となった前記第２オブジェクトに変更する、請求項１５に記載の情報処理プログラム。
【請求項２０】
仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、
第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、
前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および
前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段、
を備えた、情報処理装置。
【請求項２１】
仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定ステップ、
第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定ステップ、
前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定ステップ、および
前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定ステップ、
を含む、情報処理方法。
【請求項２２】
仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、
第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、
前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および
前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段、
を備えた、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間のオブジェクトについて情報処理を行う情報処理プログラム、情報処理装置、情報処理方法、および情報処理システムに関するものである。
【背景技術】
【０００２】
仮想空間を提供するとともに、プレイヤの操作に応じて仮想空間内に設定されたプレイヤオブジェクトからオブジェクトを発射する情報処理装置が知られている。この情報処理装置において、プレイヤオブジェクトからノンプレイヤオブジェクトに向けてオブジェクトを発射しようとする場合に、常にプレイヤオブジェクトの正面方向にオブジェクトを発射させることとすると、プレイヤオブジェクトの正面方向をノンプレイヤオブジェクトが存在する方向に向けた状態でオブジェクトを発射しなければならないが、そのようなプレイヤオブジェクトの方向調整は容易ではない。
【０００３】
そこで、仮想空間内における所定の探索範囲にノンプレイヤオブジェクトが存在するか否かを判定し、探索範囲内に存在するノンプレイヤオブジェクトを対象としてオブジェクトを発射するという情報処理を行うプレイヤアシスト機能が知られている。例えば、プレイヤオブジェクトとノンプレイヤオブジェクトが存在する仮想空間において、プレイヤオブジェクトを基準とする探索範囲にノンプレイヤオブジェクトが存在する場合に、プレイヤの操作に基づいてプレイヤオブジェクトからノンプレイヤオブジェクトに向けてオブジェクトを発射させる情報処理装置が知られている。
【０００４】
このような情報処理装置の例として、特許文献１では、サッカーゲームを実行する情報処理が開示されている。特許文献１のサッカーゲームでは、ボールオブジェクトを保持しているオブジェクトをプレイヤによって操作されるプレイヤオブジェクトとして、味方オブジェクトがプレイヤオブジェクトの正面方向を中心とする所定角度範囲内にいる場合に、プレイヤのボールパス操作の入力に応じてプレイヤオブジェクトから当該味方オブジェクトにボールオブジェクトを移動させる。
【０００５】
特許文献１の情報処理装置では、ボールパス操作においてボタンを強く押すと、所定角度範囲の角度が狭くなる。これにより、ボールパス操作のボタン押下を強くすると、距離が遠くてもプレイヤオブジェクトの正面方向に近い方向にいる味方プレイヤオブジェクトにボールをパスでき、ボールパス操作のボタン押下を弱くすると、プレイヤオブジェクトの正面方向から比較的ずれている味方プレイヤオブジェクトであっても距離が近い味方プレイヤオブジェクトにボールをパスできる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３２７７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の情報処理装置では、意図した対象にボールオブジェクトを移動させるためには、プレイヤによる操作の区別（強い押下と弱い押下）が必要であった。
【０００８】
本発明は、プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能を実現する情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一態様の情報処理プログラムは、情報処理装置を、仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段として機能させる構成を有している。
【００１０】
この構成により、第２オブジェクトを探索するための探索範囲を第１オブジェクトの状態に基づいて決定して、情報処理の対象を設定するので、プレイヤが操作の区別を意識することなく自然に情報処理の対象として設定できるプレイヤアシスト機能が提供される。
【００１１】
上記の情報処理プログラムにおいて、前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトに対する移動入力の大きさを判定してよい。
【００１２】
この構成により、探索範囲決定手段は、第１オブジェクトに対する移動入力の大きさに基づいて探索範囲を決定することになる。
【００１３】
上記の情報処理プログラムにおいて、前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトの位置変化の大きさを判定してよい。
【００１４】
この構成により、探索範囲決定手段は、第１オブジェクトの位置変化の大きさに基づいて探索範囲を決定することになる。
【００１５】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記移動入力が小さいほど、連続的または離散的に広くなるように前記探索範囲を決定してよい。
【００１６】
この構成により、第１オブジェクトに対する移動入力が大きいほど、連続的または離散的に広くなるように探索範囲が決定される。なお、探索範囲決定手段は、第１オブジェクトに対する移動入力が小さいほど、離散的に広くなるように探索範囲を決定する場合において、第１オブジェクトに対する移動入力がある（あるいは移動入力が所定の閾値以上である）ときに探索範囲を第１の広さとし、第１オブジェクトに対する移動入力がない（あるいは移動入力が所定の閾値より小さい）ときに探索範囲を第１の広さより広い第２の広さとする２段階の制御を行ってよい。
【００１７】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記位置変化が小さいほど、連続的または離散的に広くなるように前記探索範囲を決定してよい。
【００１８】
この構成により、第１オブジェクトの位置変化が大きいほど、連続的または離散的に広い探索範囲が決定される。なお、探索範囲決定手段は、第１オブジェクトの位置変化が大きいほど、離散的に広くなるように探索範囲を決定する場合において、第１オブジェクトの位置変化がある（あるいは位置変化が所定の閾値以上である）ときに探索範囲を第１の広さとし、第１オブジェクトの位置変化がない（あるいは位置変化が所定の閾値より小さい）ときに探索範囲を第１の広さより広い第２の広さとする２段階の制御を行ってよい。
【００１９】
上記の情報処理プログラムにおいて、前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトに対する向き入力変化の大きさを判定してよい。
【００２０】
この構成により、探索範囲決定手段は、第１オブジェクトに対する向き入力変化の大きさに基づいて探索範囲を決定することになる。
【００２１】
上記の情報処理プログラムにおいて、前記第１オブジェクト状態判定手段は、前記第１オブジェクトの状態として、前記第１オブジェクトの向き変化の大きさを判定してよい。
【００２２】
この構成により、探索範囲決定手段は、第１オブジェクトの向き変化の大きさに基づいて探索範囲を決定することになる。
【００２３】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記向き入力変化が大きいほど、連続的または離散的に広い探索範囲を決定してよい。
【００２４】
この構成により、第１オブジェクトに対する向き入力変化が大きいほど、連続的または離散的に広くなるように探索範囲が決定される。なお、探索範囲決定手段は、第１オブジェクトに対する向き入力変化が大きいほど、離散的に広くなるように探索範囲を決定する場合において、第１オブジェクトに対する向き入力変化がない（あるいは向き入力変化が所定の閾値以下である）ときに探索範囲を第１の広さとし、第１オブジェクトに対する向き入力変化がある（あるいは向き入力変化が所定の閾値より大きい）ときに探索範囲を第１の広さより広い第２の広さとする２段階の制御を行ってよい。
【００２５】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記向き変化が大きいほど、連続的または離散的に広くなるように前記探索範囲を決定してよい。
【００２６】
この構成により、第１オブジェクトの向き変化が大きいほど、連続的または離散的に広くなるように探索範囲が決定される。なお、探索範囲決定手段は、第１オブジェクトの向き変化が大きいほど、離散的に広くなるように探索範囲を決定する場合において、第１オブジェクトの向き変化がない（あるいは向き変化が所定の閾値以下である）ときに探索範囲を第１の広さとし、第１オブジェクトの向き変化がある（あるいは向き変化が所定の閾値より大きい）ときに探索範囲を第１の広さより広い第２の広さとする２段階の制御を行ってよい。
【００２７】
上記の情報処理プログラムにおいて、前記対象設定手段は、複数の前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、所定の条件を満たす前記第２オブジェクトを前記情報処理の対象としてよい。
【００２８】
この構成により、探索範囲に複数の第２オブジェクトが存在する場合に、そのうちの一部のみを情報処理の対象とすることができる。
【００２９】
上記の情報処理プログラムにおいて、前記所定の条件は、少なくとも、第１オブジェクトの正面方向に延びる仮想線との距離が近いか否かに基づく条件であってよい。
【００３０】
この構成により、第１オブジェクトの向きに基づいて情報処理の対象とする第２オブジェクトを設定できる。
【００３１】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記第１オブジェクトの位置および向きを基準として前記探索範囲を決定してよい。
【００３２】
この構成により、第１オブジェクトを基準として探索範囲を設定できる。
【００３３】
上記の情報処理プログラムにおいて、前記探索範囲は、前記第１オブジェクトの位置を中心とし、前記第１オブジェクトの正面方向を中心角の中心とする扇形であってよく、前記探索範囲決定手段は、前記第１オブジェクトの状態に基づいて、前記扇形の中心角、前記扇形の半径の長さの少なくとも一方を決定することにより前記探索範囲を決定してよい。
【００３４】
この構成により、第１オブジェクトの状態に基づいて扇形の探索範囲の大きさが調整される。
【００３５】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、前記所定の情報処理を行うための入力があったと判定された場合に、前記探索範囲を決定してよい。
【００３６】
この構成により、情報処理の指示があった場合、即ち第２オブジェクトの探索の必要がある場合に探索範囲が決定される。
【００３７】
上記の情報処理プログラムは、前記情報処理装置を、さらに、前記所定の情報処理として、前記第１オブジェクトから前記対象に向けて第３オブジェクトを発射する情報処理を行う情報処理手段として機能させてよい。
【００３８】
この構成により、第１オブジェクトの状態に基づいて決定された探索範囲に存在する第２オブジェクトに対して第３オブジェクトを発射できる。
【００３９】
上記の情報処理プログラムにおいて、前記情報処理手段は、前記探索範囲に前記第２オブジェクトが存在しないと判定された場合は、前記第１オブジェクトの正面方向に前記第３オブジェクトを発射してよい。
【００４０】
この構成により、情報処理の対象となる第２オブジェクトが存在しない場合に、第１オブジェクトの正面方向に第３オブジェクトを発射できる。
【００４１】
上記の情報処理プログラムにおいて、前記探索範囲決定手段は、発射された前記第３オブジェクトの軌道を変更するための入力があったと判定された場合に、発射された前記第３オブジェクトを基準として、前記変更するための入力に応じた前記探索範囲を決定してよい。
【００４２】
この構成により、発射した第３オブジェクトの軌道を変更するための入力によって探索範囲が決定される。
【００４３】
上記の情報処理プログラムにおいて、前記第１オブジェクトは、プレイヤによって操作されるプレイヤオブジェクトであってよい。
【００４４】
この構成により、プレイヤオブジェクトの状態に応じて所定の情報処理の対象となる第２オブジェクトを探索できる。
【００４５】
上記の情報処理プログラムにおいて、前記第１オブジェクトは、プレイヤによって操作されるプレイヤオブジェクトであってよく、前記情報処理手段は、前記所定の情報処理の後に、プレイヤオブジェクトとなるオブジェクトを、前記第１オブジェクトから、前記対象となった前記第２オブジェクトに変更してよい。
【００４６】
この構成により、対象となった第２のオブジェクトにプレイヤオブジェクトが憑依するというゲーム効果が得られる。
【００４７】
一態様の情報処理装置は、仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段を備えた構成を有している。
【００４８】
この構成により、第２オブジェクトを探索するための探索範囲を第１オブジェクトの状態に基づいて決定して、情報処理の対象を設定するので、プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能が提供される。
【００４９】
一態様の情報処理方法は、仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定ステップ、第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定ステップ、前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定ステップ、および前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定ステップを含む構成を有している。
【００５０】
この構成により、第２オブジェクトを探索するための探索範囲を第１オブジェクトの状態に基づいて決定して、情報処理の対象を設定するので、プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能が提供される。
【００５１】
一態様の情報処理システムは、仮想空間内の第１オブジェクトの状態を判定する第１オブジェクト状態判定手段、第２オブジェクトを探索するための探索範囲を前記第１オブジェクトの状態に基づいて決定する探索範囲決定手段、前記第２オブジェクトが前記探索範囲に存在するか否かを探索する存在判定手段、および前記第２オブジェクトが前記探索範囲に存在すると判定された場合に、前記第２オブジェクトを所定の情報処理の対象に設定する対象設定手段を備えた構成を有している。
【００５２】
この構成により、第２オブジェクトを探索するための探索範囲を第１オブジェクトの状態に基づいて決定して、情報処理の対象を設定するので、プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能が提供される。
【発明の効果】
【００５３】
本発明によれば、プレイヤが操作の区別を意識することなく自然に情報処理の対象を設定できるプレイヤアシスト機能が提供される。
【図面の簡単な説明】
【００５４】
【図１】本体装置に左コントローラおよび右コントローラを装着した状態の一例を示す図
【図２】本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の一例を示す図
【図３】本体装置の一例を示す六面図
【図４】左コントローラの一例を示す六面図
【図５】右コントローラの一例を示す六面図
【図６】本体装置の内部構成の一例を示すブロック図
【図７】本体装置と左コントローラおよび右コントローラとの内部構成の一例を示すブロック図
【図８】ゲームシステムのゲーム処理によって表示されるゲーム画面の例
【図９】ゲームシステムにおいてゲーム処理を実行するための構成を示すブロック図
【図１０】帽子投げ処理の基本動作を説明する図
【図１１】帽子投げ処理の軌道変更動作を説明する図
【図１２】プレイヤアシスト機能によって帽子オブジェクトの発射方向が補正された帽子投げ動作を説明する図
【図１３】プレイヤアシスト機能によって帽子オブジェクトの発射方向が補正された帽子投げ動作を説明する図
【図１４】プレイヤアシスト機能によって帽子オブジェクトの発射方向が補正された帽子投げ動作を説明する図
【図１５】移動入力が比較的大きい場合の探索範囲を示す図
【図１６】移動入力が比較的小さい場合の探索範囲を示す図
【図１７】向き入力変化が比較的小さい場合の探索範囲を示す図
【図１８】向き入力変化が比較的大きい場合の探索範囲を示す図
【図１９】探索範囲に複数のノンプレイヤオブジェクトが存在する場合の対象設定処理を説明する図
【図２０】ゲーム処理部によるプレイヤアシスト機能のフローチャート
【図２１】帽子投げ処理の軌道変更動作における探索範囲の設定を説明する図
【発明を実施するための形態】
【００５５】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。以下では、情報処理システムがゲームシステムとして構成される例を説明する。
【００５６】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム１の一例は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステム１は、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステム１は、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。以下では、本実施形態のゲームシステム１のハードウェア構成について説明し、その後に本実施形態のゲームシステム１の制御について説明する。
【００５７】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００５８】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００５９】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００６０】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００６１】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００６２】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００６３】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００６４】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００６５】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００６６】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００６７】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００６８】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００６９】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００７０】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００７１】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００７２】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００７３】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００７４】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００７５】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００７６】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００７７】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００７８】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００７９】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００８０】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００８１】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００８２】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００８３】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００８４】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００８５】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００８６】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００８７】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００８８】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００８９】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００９０】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００９１】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００９２】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００９３】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００９４】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００９５】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００９６】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００９７】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００９８】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００９９】
次に、本実施形態のゲームシステム１の制御について説明する。図８は、ゲームシステム１のゲーム処理によって表示されるゲーム画面の例である。このゲームでは、仮想空間の一例として、仮想３次元空間が提供され、複数のノンプレイヤオブジェクト５０２が存在する仮想空間内をプレイヤオブジェクト５０１が移動することによってゲームが展開される。プレイヤオブジェクト５０１は、プレイヤによって操作されるオブジェクトである。プレイヤオブジェクト５０１は、帽子オブジェクト５０３を着用している。プレイヤによる所定の操作に応じてプレイヤオブジェクト５０１は、この帽子オブジェクト５０３を投げる動作を行い、この動作に伴って帽子オブジェクト５０３は、プレイヤオブジェクト５０１から投げ出され、プレイヤオブジェクト５０１に戻ってくるという動作を行う。以下、プレイヤオブジェクト５０１によるこの帽子投げの動作を「帽子投げ動作」といい、ゲームシステム１による帽子投げ動作のための処理を「帽子投げ処理」という。
【０１００】
図９は、ゲームシステム１においてゲーム処理を実行するための構成を示すブロック図である。ゲームシステム１は、プレイヤが入力を行う入力部７１と、ゲーム処理を行うゲーム処理部７２と、ゲーム画面を表示する表示部７３を備えている。図７に示した左コントローラ３および本体装置２の左側端子１７からなる構成、ならびに右コントローラ４、および本体装置２の右側端子２１からなる構成がそれぞれ入力部７１に相当する。また、本体装置２のタッチパネル１３およびタッチパネルコントローラ８６からなる構成も入力部７１に相当し得る。本体装置２のプロセッサ８１、フラッシュメモリ８４、ＤＲＡＭ８５からなる構成がゲーム処理部７２に相当する。また、本体装置２のディスプレイ１２は表示部７３に相当する。また、上記で説明した据置型モニタも表示部７３に相当し得る。
【０１０１】
ゲーム処理部７２は、入力部７１に入力されたプレイヤからの入力に応じてゲーム処理を実行する。プレイヤは入力部７１への入力によって仮想空間内のプレイヤオブジェクトを操作することができる。プレイヤオブジェクト５０１が左コントローラ３および右コントローラ４によって操作される（典型的には、プレイヤは左手に本体装置２から分離した左コントローラ３を持ち、右手に本体装置２から分離した右コントローラ４を持つ）ときは、プレイヤオブジェクト５０１は、スティック３２の傾倒に応じて仮想空間内を移動する。具体的には、プレイヤオブジェクト５０１は、スティック３２の傾倒方向に応じた方向に、スティック３２の傾倒量に応じた速度で仮想空間内を移動する。
【０１０２】
ゲーム処理部７２は、仮想空間内のプレイヤオブジェクト５０１の状態を判定するプレイヤオブジェクト状態判定部７２１と、プレイヤオブジェクト５０１の状態に基づいて、ノンプレイヤオブジェクト５０２を探索するための探索範囲を決定する探索範囲決定部７２２と、ノンプレイヤオブジェクト５０２が探索範囲に存在するか否かを探索（判定）する対象オブジェクト存在判定部７２３と、ノンプレイヤオブジェクト５０２が探索範囲に存在すると判定された場合に、ノンプレイヤオブジェクト５０２を帽子投げ処理の対象、即ち帽子を投げ出す際の的に設定する対象オブジェクト設定部７２４とを備えている。
【０１０３】
ゲーム処理部７２は、さらに、設定されたノンプレイヤオブジェクト５０２を対象として帽子投出処理を実行する処理実行部７２５と、処理実行部７２５による処理の実行の結果を反映したゲーム画面を生成する画面描画部７２６とを備えている。画面描画部７２６にて生成されたゲーム画面は表示部７３において表示される。
【０１０４】
図１０は、帽子投げ処理の基本動作を説明する図である。図１０は、仮想空間内のプレイヤオブジェクト５０１を上方から見た図である。図１０のプレイヤオブジェクト５０１において尖っている方向はプレイヤオブジェクト５０１の正面方向である。プレイヤオブジェクト５０１が左コントローラ３および右コントローラ４によって操作されるときは、プレイヤオブジェクト５０１は、例えば右コントローラ４のＡボタン５３の押下に応じて帽子投げ動作を行う。
【０１０５】
帽子投げ処理では、基本的には、図１０に示すように、プレイヤオブジェクト５０１を出発点として、プレイヤオブジェクト５０１の正面方向に帽子オブジェクト５０３が発射される。帽子オブジェクト５０３は、所定の距離だけ進んだ後にプレイヤオブジェクト５０１まで戻ってくる。以上のように、基本的には、帽子投げ動作によって、帽子オブジェクト５０３は、プレイヤオブジェクト５０１からプレイヤオブジェクト５０１の正面方向を基準とする方向に投げ出される（発射される）。なお、帽子オブジェクト５０３は、投げ出されていないときには、図８に示すようにプレイヤオブジェクト５０１の頭に装着されている。
【０１０６】
図１１は、帽子投げ処理の軌道変更動作を説明する図である。上記の帽子投げ動作によって帽子がプレイヤオブジェクト５０１から発射されて、プレイヤオブジェクト５０１から離れていっているときに、プレイヤが左コントローラ３または右コントローラ４を右方向または左方向に振る振り操作を行うと、帽子オブジェクト５０３は、所定の距離だけ進んだ後に、軌道を変更することで振り操作の方向に曲がって、その後にプレイヤオブジェクト５０１に戻ってくる。この振り操作は、右コントローラ４の加速度センサ１１４および／または角速度センサ１１５によって検知することができる。なお、軌道変更動作のための振り操作は、左コントローラ３において受け付けてもよい。
【０１０７】
本実施の形態のゲームでは、上記のようにしてプレイヤオブジェクト５０１が帽子オブジェクト５０３を投げ出すことで種々のゲーム効果が得られる。例えば、投げ出した帽子オブジェクト５０３を所定のノンプレイヤオブジェクト５０２に当てることで、プレイヤオブジェクト５０１が当該ノンプレイヤオブジェクト５０２に憑依する（当該ノンプレイヤオブジェクト５０２がプレイヤによって操作されるプレイヤオブジェクトとなる）というゲーム効果が得られる。以下では、帽子投げ動作において、帽子オブジェクト５０３をノンプレイヤオブジェクト５０２に当てようとする際のプレイヤアシスト機能について説明する。
【０１０８】
プレイヤオブジェクト５１の正面方向をノンプレイヤオブジェクト５０２がいる方向に正確に向けて帽子オブジェクト５３を投げ当てることは容易ではない。特に、移動するノンプレイヤオブジェクト５０２に帽子オブジェクト５０３を投げ当てることは容易ではない。
【０１０９】
そこで、本実施の形態では、帽子投げ動作における帽子オブジェクト５０３の発射方向はプレイヤオブジェクト５０１の正面方向とすることを基本としつつ、プレイヤオブジェクト５０１の正面方向を中心とする所定の探索範囲内にノンプレイヤオブジェクト５０２が存在している場合には、帽子オブジェクト５０３の発射方向をプレイヤオブジェクト５０１の正面方向とせずに、当該ノンプレイヤオブジェクト５０２に向けて帽子オブジェクト５０３を発射させて、帽子オブジェクト５０３を当該ノンプレイヤオブジェクト５２に当てるというプレイヤアシスト機能を採用する。
【０１１０】
図１２〜図１４は、プレイヤアシスト機能によって帽子オブジェクト５０３の発射方向が補正された帽子投げ動作を説明する図である。探索範囲決定部７２２は、図１２に示すように、プレイヤオブジェクト５０１を中心とし、プレイヤオブジェクト５０１の正面方向Ｆを中心角の中心とし、所定の半径を有する扇形の探索範囲５１１を設定する。対象オブジェクト存在判定部７２３は、探索範囲５１１にノンプレイヤオブジェクト５０２が存在するか否かを判定する。
【０１１１】
図１３に示すように、探索範囲５１１にノンプレイヤオブジェクト５０２が存在する場合には、対象オブジェクト設定部５２４は、このノンプレイヤオブジェクト５０２を対象オブジェクトとして設定し、処理実行部７２５は、図１４に示すように、発射方向をこの対象オブジェクトに向かう方向とする帽子投げ処理を実行する。この結果、帽子投げ動作によって帽子オブジェクト５０３が、探索範囲５１１内にいるノンプレイヤオブジェクト５０２に当たる。
【０１１２】
このような帽子投げ動作は、プレイヤオブジェクト５０１を移動させながら、あるいは、プレイヤオブジェクト５０１の向きを変えながら行うことができる。プレイヤは、スティック３２を傾倒しながらＡボタン５３を押すことで、プレイヤオブジェクト５０１に移動しながらないしは向きを変えながらの帽子投げ動作を実行させることができる。
【０１１３】
本実施の形態のゲーム処理部７２は、プレイヤオブジェクト５０１の状態に応じて探索範囲の広さを調節する機能を有している。具体的には、ゲーム処理部７２は、プレイヤオブジェクト５０１の動作状態（位置変化の大きさ、向き変化の大きさ）に応じて探索範囲を調節する。このために、プレイヤオブジェクト状態判定部７２１は、プレイヤオブジェクト５０１に対する移動入力の大きさ、および向き入力変化の大きさを判定する。
【０１１４】
プレイヤオブジェクト状態判定部７２１は、スティック３２の傾倒角度（傾倒量）に基づいて移動入力の大きさを判定する。すなわち、スティック３２の傾倒角度が大きいほど移動入力は大きいと判定される。また、プレイヤオブジェクト状態判定部７２１は、過去の所定時間（所定フレーム数）における向き入力変化の平均値ないし累積値に基づいて向き入力変化の大きさを判定する。すなわち、過去の所定数のフレームにおいて、向き変化があるフレームの数が多いほど向き入力変化が大きいと判定される。
【０１１５】
探索範囲決定部７２２は、プレイヤオブジェクト状態判定部７２１で判定されたプレイヤオブジェクト５０１に対する移動入力の大きさ、および向き入力変化の大きさに応じて、探索範囲の広さを調節する。具体的には、探索範囲決定部７２２は、プレイヤオブジェクト５０１に対する移動入力が大きいほど探索範囲５１１の中心角を小さくし、プレイヤオブジェクト５０１に対する移動入力が小さいほど探索範囲５１１の中心角を大きくする。
【０１１６】
このとき、本実施の形態では、探索範囲決定部７２２は、プレイヤオブジェクト５０１に対する移動入力の大きさに応じて連続的に探索範囲５１１の中心角を変化させるが、これに代えて、プレイヤオブジェクト５０１に対する移動入力の大きさに応じて離散的に探索範囲５１１の中心角を変化させてよい。離散的に中心角を変化させる場合において、探索範囲決定部７２２は、プレイヤオブジェクト５０１に対する移動入力がある（あるいは移動入力が所定の閾値より大きい）ときに中心角を第１の大きさとし、プレイヤオブジェクト５０１に対する移動入力がない（あるいは移動入力が所定の閾値以下である）ときに中心角を第１の大きさより大きい第２の大きさとする２段階の制御を行ってよい。
【０１１７】
図１５は、移動入力が比較的大きい場合の探索範囲５１１を示す図であり、図１６は、移動入力が比較的小さい場合の探索範囲５１１を示す図である。図１５及び図１６に示すように、図１５の場合のプレイヤオブジェクト５０１の移動入力（移動速度）ｖ１と図１６の場合のプレイヤキャラクタ５０１の移動入力（移動速度）ｖ２との関係はｖ１＞ｖ２であり、移動入力が比較的小さい図１６の場合には移動入力が比較的大きい図１５の場合よりも探索範囲５１１の中心角は大きく設定される。
【０１１８】
また、探索範囲決定部７２２は、プレイヤオブジェクト５０１の向き入力変化が大きいほど探索範囲５１１の中心角を大きく、プレイヤオブジェクト５０１の向き入力変化が小さいほど探索範囲５１１の中心角を小さくする。このとき、探索範囲決定部７２２は、プレイヤオブジェクト５０１の向き入力変化の大きさに応じて連続的に探索範囲５１１の中心角を変化させるが、これに代えて、プレイヤオブジェクト５０１の向き入力変化の大きさに応じて離散的に探索範囲５１１の中心角を変化させてよい。
【０１１９】
離散的に中心角を変化させる場合において、探索範囲決定部７２２は、プレイヤオブジェクト５０１に対する向き入力変化がない（あるいは向き入力変化が所定の閾値以下である）ときに中心角を第３の大きさとし、プレイヤオブジェクト５０１に対する向き入力変化がある（あるいは向き入力変化が所定の閾値より大きい）ときに中心角を第３の大きさより大きい第４の大きさとする２段階の制御を行ってよい。
【０１２０】
図１７は、向き入力変化が比較的小さい場合の探索範囲５１１を示す図であり、図１８は向き入力変化が比較的大きい場合の探索範囲５１１を示す図である。図１７及び図１８に示すように、図１７の場合のプレイヤオブジェクト５０１の向き入力変化ａｖ１と図１８の場合のプレイヤオブジェクト５０１の向き入力変化ａｖ２との関係はａｖ１＜ａｖ２であり、向き入力変化が比較的大きい図１８の場合には向き入力変化が比較的小さい図１７の場合よりも探索範囲５１１の中心角は大きく設定される。
【０１２１】
本実施の形態では、プレイヤオブジェクト状態判定部７２１は、スティック３２の傾倒量によってプレイヤオブジェクト５０１に対する移動入力の大きさを判定するが、これに代えて、スティック３２の傾倒量に従ってゲーム処理部７２が算出したプレイヤオブジェクト５０１の移動速度または位置変化量の大きさを判定してよい。また、本実施の形態では、プレイヤオブジェクト状態判定部７２１は、所定時間（所定フレーム数）における向きを変更する入力がされた時間（フレーム数）によってプレイヤオブジェクト５０１に対する向き入力変化の大きさを判定するが、これに代えて、スティック３２の所定時間における傾倒方向の変化量の大きさを判定してよく、あるいは、スティック３２の傾倒方向の変化に従って、ゲーム処理部７３がゲーム処理を行った結果、所定時間（所定フレーム数）において向きを変えたプレイヤオブジェクト５０１の正面方向の角度差分の大きさを判定してもよい。
【０１２２】
また、プレイヤオブジェクト状態判定部７２１は、プレイヤオブジェクト５１の向きの変更については、過去の所定時間（所定フレーム数）における向き変化（上記の角度差分）の平均値ないし累積値を向き変化の大きさとしてよい。プレイヤオブジェクト状態判定部７２１は、例えば、過去の１０フレームにおけるスティックの傾倒方向とプレイヤオブジェクト５１の正面方向との角度差分の平均値ないし累積値を向き変化の大きさとしてよい。これにより、プレイヤオブジェクト５１が大回りに旋回しながら大きく向きを変えている場合にも向き変化が大きいと判定でき、旋回は小回りだが大きな角度変化をした直後（例えば、１０フレーム以内）にも向き変化が大きいと判定できる。
【０１２３】
探索範囲決定部７２２は、探索範囲５１１の最大中心角を６０度、最小中心角を１０度とし、プレイヤオブジェクト５０１に対する移動入力の大きさ、および向き入力変化の大きさに応じて、この最大値と最小値との間で探索範囲５１１の中心角を調節する。具体的には、向き入力変化が大きいときには中心角を最大の６０度とし、スティック操作がなく移動も回転もしていないときは中心角を２０度とし、プレイヤオブジェクト５０１が最大速度で直進しているときは中心角を最小の１０度とする。このように、中心角は、静止しているときは直進しているときよりも広くなり、回転している場合には向き入力変化が大きいほど大きくなる。
【０１２４】
なお、プレイヤオブジェクト５０１に対する移動入力や向き入力変化が所定の閾値に達しないほど小さい場合には、移動入力や向き入力変化がないものとして扱う。
【０１２５】
図１９は、探索範囲５１１に複数のノンプレイヤオブジェクト５０２が存在する場合の対象設定処理を説明する図である。探索範囲５１１に複数のノンプレイヤオブジェクト５０２ａ、５０２ｂが存在する場合には、対象オブジェクト設定部７２４は、そのうちの１つのノンプレイヤオブジェクト５０２を対象オブジェクトとして選択する。このとき、プレイヤオブジェクト５０１の正面方向からのずれ（の小ささ）を重視しつつ、プレイヤオブジェクト５０１からの距離（の近さ）も考慮して対象とするノンプレイヤオブジェクト５０２を選択する。
【０１２６】
具体的には、対象オブジェクト設定部７２４は、探索範囲５１１内のノンプレイヤオブジェクト５０２からプレイヤオブジェクト５０１の正面方向Ｆに延びる仮想線に対して垂線を下ろしたときの垂線の長さをＤとし、垂線の足からプレイヤオブジェクト５０１までの長さをＬとしたときの評価値Ｇ＝Ｌ＋αＤ（α＞１）が小さいノンプレイヤオブジェクト５０２を対象オブジェクトとして選択する。ここで、αはプレイヤオブジェクト５０１の正面方向Ｆからのずれの小ささを重視する程度を示す係数であり、例えば５とする。
【０１２７】
図１９の例では、例えばα＝５とすると、ノンプレイヤオブジェクト５０２ａについては、Ｄ１＝２３、Ｌ１＝４１なので、Ｇ１＝Ｌ１＋αＤ１＝４１＋５×２３＝１５６となり、ノンプレイヤオブジェクト５０２ｂについては、Ｄ２＝１０、Ｌ２＝６７なので、Ｇ２＝Ｌ２＋αＤ２＝６７＋５×１０＝１１７となり、Ｇ１＞Ｇ２となってノンプレイヤオブジェクト５０２ｂの方が評価値が小さいので、ノンプレイヤオブジェクト５０２ｂが対象オブジェクトとして選択される。
【０１２８】
図２０は、ゲーム処理部７２によるプレイヤアシスト機能のフローチャートである。プレイヤオブジェクト状態判定部７２１は、まずプレイヤオブジェクト５０１の状態を判定する。具体的には、プレイヤオブジェクト状態判定部７２１は、スティック入力があるか否かを判定する（ステップＳ２０１）。ここでは、過去１０フレームの入力のスティックの傾倒量の平均値ないし累積値が所定の閾値を超えるか否かによって、スティック入力があるか否かを判断する。なお、この場合の閾値は０であってもよく、閾値が０である場合には、少しでもスティック入力がある場合にスティック入力ありと判定される。スティック入力がない場合（ステップＳ２０１にてＮＯ）は、プレイヤオブジェクト５０１の状態を「静止」であると判定する（ステップＳ２０２）。
【０１２９】
スティック入力がある場合には（ステップＳ２０１にてＹＥＳ）、スティック入力がプレイヤオブジェクト５０１を回転させるものであるか否かを判定する（ステップＳ２０３）。ここでも、プレイヤオブジェクト状態判定部７２１は、過去１０フレームにおける向きを変える入力（向き入力変化）の大きさによって回転か否かを判断する。この向き入力変化が所定の閾値を超える場合には（ステップＳ２０３にてＹＥＳ）、プレイヤオブジェクト状態判定部７２１は、プレイヤオブジェクト５０１の状態を「回転」であると判定し（ステップＳ２０４）、閾値を超えない場合には（ステップＳ２０３にてＮＯ）、プレイヤオブジェクト５０１の状態を「移動」であると判定する。なお、上述のように、向き入力変化は過去の時間も含めた平均値又は累積値で取得しているために、現在は移動入力がなくプレイヤオブジェクト５０１が静止していても、プレイヤオブジェクト５０１について向き入力変化があると判定されることがあり得る。
【０１３０】
なお、探索範囲決定部７２２は、プレイヤオブジェクト状態判定部７２１の判定に基づいて探索範囲を設定する（ステップＳ２０６）。このとき、探索範囲決定部７２２は、上述のように、プレイヤオブジェクト５０１に対する向き入力変化の大きさに応じて探索範囲５１１の中心角を大きくするが、プレイヤオブジェクト５０１に対する移動入力がない場合には、最小値２０度、最大値６０度の範囲で向き入力変化の大きさに応じて中心角を決定し、プレイヤオブジェクト５０１に対する移動入力がある場合には、最小値１０度、最大値４５度の範囲で移動入力の大きさ及び向き入力変化の大きさに応じて中心角を決定する。
【０１３１】
次に、対象オブジェクト判定部７２３は、決定された探索範囲５１１にノンプレイヤオブジェクト５０２が存在するか否かを判定する（ステップＳ２０７）。探索範囲５１１にノンプレイヤオブジェクト５０２が存在する場合には（ステップＳ２０７にてＹＥＳ）、対象オブジェクト判定部７２３は、探索範囲５１１に複数のノンプレイヤオブジェクト５０２が存在するか否かを判定する（ステップＳ２０８）。
【０１３２】
探索範囲５１１に複数のノンプレイヤオブジェクト５０２が存在する場合には（ステップＳ２０８にてＹＥＳ）、対象オブジェクト設定部７２４は、上記で説明した評価関数Ｇを用いてそのうちの１つのノンプレイヤオブジェクト５０２を選択し（ステップＳ２０９）、選択されたノンプレイヤオブジェクト５０２を対象オブジェクトとして設定する（ステップＳ２１０）。探索範囲５１１に存在するノンプレイヤオブジェクト５０２が１つである場合は（ステップＳ２０８にてＮＯ）、対象オブジェクト設定部７２４は、当該ノンプレイヤオブジェクト５０２を対象オブジェクトとして設定する（ステップＳ２１０）。
【０１３３】
処理実行部７２５は、帽子投げ処理を実行するが（ステップＳ２１１）、このとき対象オブジェクトが設定されている場合には、帽子オブジェクト５０３の発射方向をプレイヤオブジェクト５０１から対象オブジェクトに向かう方向とする。なお、探索範囲５１１にノンプレイヤオブジェクト５０２が存在しない場合には（ステップＳ２０７にてＮＯ）、帽子オブジェクト５０３の発射方向をプレイヤオブジェクト５０１の正面方向とする。
【０１３４】
なお、ゲーム処理部７２は、プレイヤオブジェクト５０１が仮想空間にいる間に上記のプレイヤオブジェクト状態判定から対象オブジェクト設定までの処理（ステップＳ２０１〜Ｓ２１０）を繰り返し行い、プレイヤによる帽子投げ処理のための所定の入力があったときに、処理実行の処理（ステップＳ２１１）の処理を行ってよく、あるいは、プレイヤによる帽子投げ処理のための所定の入力があったときに、上記のプレイヤオブジェクト判定から処理実行の処理（ステップＳ２０１〜Ｓ２１１）を実行するようにしてもよい。また、図２０では図示を省略するが、画面描画部７２６は、所定のフレームレートでゲーム処理部７２の処理結果を反映したゲーム画面を生成し、表示部７３は、所定のフレームレートでゲーム画面を表示する。
【０１３５】
図２１は、帽子投げ処理の軌道変更動作における探索範囲の設定を説明する図である。上述のように、プレイヤオブジェクト５０１が帽子投げ動作を行って帽子オブジェクト５０３が発射された後にプレイヤが軌道変更動作のための所定の入力（本実施の形態では曲げ方向への右コントローラの振り入力）を行うことで、飛行中の帽子オブジェクト５０３の軌道を変更して振り入力の方向に曲げることができる。
【０１３６】
探索範囲決定部７２２は、軌道変更動作を行う際には、曲げられた方向に第２の探索範囲５３１を設定する。具体的には、探索範囲決定部７２２は、曲がる寸前の帽子オブジェクト５０３の位置を中心とし、図１１に示す変更後の軌道Ｆ２を中心角の中心とする所定半径の扇形の第２の探索範囲５３１を設定する。プレイヤオブジェクト５０１を中心とする探索範囲については最大の中心角は６０度であったが、第２の探索範囲の中心角はこれより広く８５度とする。なお、本実施の形態では、第２の探索範囲５３１の中心角は固定値を用いるが、探索範囲５１１と同様に、プレイヤオブジェクト５０１の状態に応じて広狭を調節可能としてもよい。
【０１３７】
以下の処理は、探索範囲５１１についての処理と同様であり、対象オブジェクト存在判定部７２３は第２の探索範囲５３１にノンプレイヤオブジェクト５０２が存在するかを判定し、第２の探索範囲５３１にノンプレイヤオブジェクト５０２が存在する場合には、対象オブジェクト設定部７２４は対象オブジェクトを設定し、処理実行部７２５は当該対象オブジェクトに帽子オブジェクト５０３が当たるように、帽子オブジェクト５０３を対象オブジェクトに向かう方向に曲げる処理を行う。
【０１３８】
以上のように、本実施の形態のゲームシステム１によれば、プレイヤオブジェクト５０１は、帽子投げ動作によって正面方向に帽子オブジェクト５０３を発射できるが、その際に、探索範囲５１１を設定することで、プレイヤオブジェクト５０１が帽子オブジェクト５０３を発射してノンプレイヤオブジェクト５０２に帽子オブジェクト５０３を当てやすくするプレイヤアシスト機能が提供される。
【０１３９】
本実施の形態のゲームシステム１では、さらに、このプレイヤアシストの程度、即ち探索範囲５１１の広さをプレイヤオブジェクト５０１の状態に応じて可変にする。具体的には、プレイヤオブジェクト５０１が静止しているときには、プレイヤオブジェクト５０１が移動しているときよりも探索範囲５１１を広くする。これは、初級者の場合には、帽子投げ動作によってノンプレイヤオブジェクト５０２に帽子オブジェクト５０３を当てようとする場合には、そのことに集中するためにプレイヤオブジェクト５０１を静止させることが多いからであり、そのような初級者には、よりプレイヤアシストの程度を強くすべく、探索範囲５１１を広く設定する。
【０１４０】
また、プレイヤオブジェクト５０１が回転しているときには、プレイヤオブジェクト５１が回転していないときよりも探索範囲５１１を広くする。これは、プレイヤオブジェクト５０１を回転させながらノンプレイヤオブジェクト５０２に帽子オブジェクト５０３を当てるのは難易度が高いからであり、回転時にはよりプレイヤアシストの程度を強くすべく、探索範囲５１１を広く設定する。
【０１４１】
このような探索範囲５１１の調節によって、難易度が高くなり過ぎず、かつ過剰なプレイヤアシストによってゲーム性が低減することも防止できる。
【０１４２】
なお、上記の実施の形態では、探索範囲５１１をプレイヤオブジェクト５０１を中心とする扇形としたが、探索範囲５１１の形状はこれに限られない。例えば、探索範囲５１１は、上記の扇形と、プレイヤオブジェクト５０１からその正面方向に所定幅で伸びる矩形領域とで形成される領域であってよく、他の形状の領域であってもよい。
【０１４３】
また、上記の実施の形態では、中心角の大きさを調節することで扇形の探索範囲５１１の広さが調節されたが、これに代えて、または、これに加えて、扇形の半径の長さを調節することで探索範囲５１１の広さを調節してもよい。
【０１４４】
また、上記の実施の形態では、プレイヤオブジェクト５０１が帽子オブジェクト５０３を投げるという帽子投げ動作について実施の形態を説明したが、プレイヤオブジェクトから発射されるオブジェクトは帽子オブジェクト５０３に限られず、また、投げるという動作でなくてもよい。例えば、プレイヤオブジェクトがボールオブジェクトを蹴り出すという動作について本実施の形態の技術を適用してもよい。また、発射されるオブジェクト（帽子オブジェクト、ボールオブジェクト等）は、必ずしもプレイヤオブジェクトから発射されなくてもよい。
【０１４５】
また、上記の実施の形態では、プレイヤアシスト機能によって、プレイヤオブジェクト５０１の正面方向ではなく、探索範囲５１１内にいるノンプレイヤオブジェクト５０２に向かう方向に帽子オブジェクト５０３が発射されたが、ノンプレイヤオブジェクト５０２が移動している場合には、発射された帽子オブジェクト５０３の軌道をノンプレイヤオブジェクト５０２の移動に合わせて曲げてもよく、あるいは、ノンプレイヤオブジェクト５０２の移動を事前に予測して移動先に向けて帽子オブジェクト５０３を発射するようにしてもよい。
【０１４６】
また、上記の実施の形態では、仮想空間が３次元空間である例を説明したが、仮想空間は２次元空間であってもよい。
【０１４７】
また、上記の実施の形態では、探索範囲５１１の説明は３次元空間を上から見た場合の視点で説明したが、実際には探索範囲５１１は、上下方向に広がる円錐や角錐のような範囲であってよい。また、探索範囲５１１は、プレイヤから離れた位置を中心とする円形や球形であってもよい。
【０１４８】
また、上記の実施の形態では、探索範囲５１１にノンプレイヤオブジェクト５０２が複数あるときは、そのうちの１つを選択して対象オブジェクトとして設定したが、これに代えて、探索範囲５１１にいる複数のノンプレイヤオブジェクトのうちの複数のノンプレイヤオブジェクトを対象オブジェクトに設定してよい。この場合に、例えば評価値Ｇが低い順に順次帽子オブジェクト５０３が当たるような軌道で帽子オブジェクト５０３を飛ばしてもよいし、複数の対象オブジェクトを経由するように自然な軌道で帽子オブジェクト５０３を飛ばしてもよい。
【０１４９】
また、上記の実施の形態では、振り入力によって帽子オブジェクト５０３の軌道を曲げる軌道変更動作を実行したが、軌道変更動作は、振り入力に限らずボタン操作に応じて行ってもよい。
【０１５０】
また、上記の実施の形態では、探索範囲５１１は、第１オブジェクトの状態に応じて広さを変えるものであったが、これに代えて、または、これに加えて、探索範囲５１１の位置や形状が変化してもよい。
【０１５１】
また、上記の実施の形態では、帽子投げ動作において、帽子オブジェクト５０３は対象オブジェクトに向かったに直線状に飛んでいったが、これに代えて、帽子オブジェクト５０３は曲線状の軌道で飛んで行ってもよい。
【符号の説明】
【０１５２】
１  ゲームシステム
２  本体装置
３  左コントローラ
４  右コントローラ
７１  入力部
７２  ゲーム処理部
７２１  プレイヤオブジェクト状態判定部
７２２  探索範囲決定部
７２３  対象オブジェクト存在判定部
７２４  対象オブジェクト設定部
７２５  処理実行部
７２６  画面描画部
７３  表示部
５０１  プレイヤオブジェクト
５０２  ノンプレイヤオブジェクト
５０３  帽子オブジェクト
５１１  探索範囲
５３１  第２の探索範囲
【図１】
2018196444.tif 000003
【図２】
2018196444.tif 000004
【図３】
2018196444.tif 000005
【図４】
2018196444.tif 000006
【図５】
2018196444.tif 000007
【図６】
2018196444.tif 000008
【図７】
2018196444.tif 000009
【図８】
2018196444.tif 000010
【図９】
2018196444.tif 000011
【図１０】
2018196444.tif 000012
【図１１】
2018196444.tif 000013
【図１２】
2018196444.tif 000014
【図１３】
2018196444.tif 000015
【図１４】
2018196444.tif 000016
【図１５】
2018196444.tif 000017
【図１６】
2018196444.tif 000018
【図１７】
2018196444.tif 000019
【図１８】
2018196444.tif 000020
【図１９】
2018196444.tif 000021
【図２０】
2018196444.tif 000022
【図２１】
2018196444.tif 000023