IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特許7034118情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
<>
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図1
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図2
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図3
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図4
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図5
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図6
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図7
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図8
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図9
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図10
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図11
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図12
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図13
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図14
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図15
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図16
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図17
  • 特許-情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-03
(45)【発行日】2022-03-11
(54)【発明の名称】情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
(51)【国際特許分類】
   A63F 13/56 20140101AFI20220304BHJP
   A63F 13/79 20140101ALI20220304BHJP
   A63F 13/803 20140101ALI20220304BHJP
   A63F 13/67 20140101ALI20220304BHJP
【FI】
A63F13/56
A63F13/79
A63F13/803
A63F13/67
【請求項の数】 23
(21)【出願番号】P 2019093188
(22)【出願日】2019-05-16
(65)【公開番号】P2020185283
(43)【公開日】2020-11-19
【審査請求日】2020-10-15
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】木村 美由紀
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開平08-332280(JP,A)
【文献】特開2006-149577(JP,A)
【文献】特開2009-089737(JP,A)
【文献】特開2009-011371(JP,A)
【文献】四家 秀一,「マリオカート 8 デラックス パーフェクトガイド超∞」,初版,日本,カドカワ株式会社,2017年06月02日,p.10,51-57,92,95,115,137,ISBN:978-4-04-733258-4
【文献】“『F1レース スターズ』の公式サイトが、本日1月15日よりオープン”,ファミ通.com,日本,KADOKAWA Game Linkage Inc.,2013年01月15日,pp.1-5,https://www.famitsu.com/news/201301/15027260.html,[2021年09月17日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、前記情報処理プログラムは前記コンピュータを、
仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、
前記仮想ゲームステージで行われ、前記第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段として機能させ、前記第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加し、
前記ノンプレイヤオブジェクトが保有するアイテムを管理する管理手段と、
前記第2レースについて、前記ノンプレイヤオブジェクトに前記履歴情報を対応付ける対応付け手段と、
前記第2レースにおいて、当該第2レースで発生する前記ゲームイベントに起因するレース状態に応じて、前記ノンプレイヤオブジェクトを、前記対応付けられた履歴情報により特定される前記第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段として機能させ
前記レース状態は、前記ノンプレイヤオブジェクトの状態を含み、
前記ノンプレイヤオブジェクトの状態は、前記ノンプレイヤオブジェクトが保有しているアイテムの状態を含む、情報処理プログラム。
【請求項2】
前記判定手段は、前記ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれない場合に、前記ノンプレイヤオブジェクトを前記第2移動ルートで移動させると判定する、請求項に記載の情報処理プログラム。
【請求項3】
前記管理手段は、前記ノンプレイヤオブジェクトが保有しているアイテムに前記特定アイテムが含まれる場合に、前記ノンプレイヤオブジェクトに前記特定アイテムを使用させ、
前記判定手段は、前記ノンプレイヤオブジェクトを前記第1移動ルートで移動させると判定する、請求項に記載の情報処理プログラム。
【請求項4】
前記第1移動ルートは、前記第2移動ルートに比較して、前記ノンプレイヤオブジェクトの移動速度を低下させるものである、請求項またはに記載の情報処理プログラム。
【請求項5】
前記管理手段は、前記ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれる場合に、前記ノンプレイヤオブジェクトに前記特定アイテムを使用させ、
前記判定手段は、前記ノンプレイヤオブジェクトを前記第2移動ルートで移動させると判定する、請求項に記載の情報処理プログラム。
【請求項6】
前記判定手段は、前記ノンプレイヤオブジェクトが保有しているアイテムに前記特定アイテムが含まれない場合に、前記ノンプレイヤオブジェクトを前記第1移動ルートで移動させると判定する、請求項に記載の情報処理プログラム。
【請求項7】
前記第1移動ルートは、前記第2移動ルートに比較して、前記ノンプレイヤオブジェクトの移動速度を増加させるものである、請求項またはに記載の情報処理プログラム。
【請求項8】
前記特定アイテムは、前記ノンプレイヤオブジェクトが前記特定アイテムを使用しない場合に比較して、前記ノンプレイヤオブジェクトの移動速度を増加させるものである、請求項のいずれか1項に記載の情報処理プログラム。
【請求項9】
前記特定アイテムは、前記ノンプレイヤオブジェクトが当該特定アイテムを使用しない場合には通行できないルートを通行できるようにするものである、請求項のいずれか1項に記載の情報処理プログラム。
【請求項10】
前記管理手段は、
前記ノンプレイヤオブジェクトが保有するアイテムを予め定められた使用順序に従って使用させ、
前記ノンプレイヤオブジェクトが保有している前記特定アイテムの使用順序が2番目以降である場合に、前記特定アイテムの使用順序が1番目になるまで、前記特定アイテム以外のアイテムを、前記特定アイテムが含まれない場合に比較して、前記ノンプレイヤオブジェクトに早く使用させる、請求項のいずれか1項に記載の情報処理プログラム。
【請求項11】
前記管理手段は、前記ノンプレイヤオブジェクトが保有する特定アイテムの使用順序が1番目である場合に、前記ノンプレイヤオブジェクトが前記第2移動ルートの開始点の近傍に到達するまで、前記特定アイテムを保有させ続ける、請求項のいずれか1項に記載の情報処理プログラム。
【請求項12】
前記ゲームイベントは、前記第2レースにおいて、前記ノンプレイヤオブジェクトに前記アイテムを確率に基づいて付与することを含む、請求項11のいずれか1に記載の情報処理プログラム。
【請求項13】
前記第2移動ルートは、前記第1移動ルートから枝分かれするルートを含む、請求項1~12のいずれか1項に記載の情報処理プログラム。
【請求項14】
前記ノンプレイヤオブジェクトの状態は、前記ノンプレイヤオブジェクトの移動性能が通常時に比較して変化しているか否かを含む、請求項に記載の情報処理プログラム。
【請求項15】
前記移動性能は、前記ノンプレイヤオブジェクトを通常時に比較して減速状態とすることを含む、請求項14に記載の情報処理プログラム。
【請求項16】
前記レース状態は、前記仮想ゲームステージの状態を含む、請求項1~15のいずれか1項に記載の情報処理プログラム。
【請求項17】
前記判定手段は、前記第1移動ルートに障害物オブジェクトが存在する場合に、前記ノンプレイヤオブジェクトを前記第2移動ルートで移動させると判定する、請求項1~16のいずれか1項に記載の情報処理プログラム。
【請求項18】
前記第2移動ルートは、前記第1移動ルートとは異なる曲率半径を有するルートを含む、請求項1~17のいずれか1項に記載の情報処理プログラム。
【請求項19】
前記履歴情報は、位置に関する情報を含む、請求項1~18のいずれか1項に記載の情報処理プログラム。
【請求項20】
前記履歴情報は、入力情報に関する情報を含む、請求項1~19のいずれか1項に記載の情報処理プログラム。
【請求項21】
仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、
前記仮想ゲームステージで行われ、前記第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段とを備え、前記第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加し、
前記ノンプレイヤオブジェクトが保有するアイテムを管理する管理手段と、
前記第2レースについて、前記ノンプレイヤオブジェクトに前記履歴情報を対応付ける対応付け手段と、
前記第2レースにおいて、当該第2レースで発生する前記ゲームイベントに起因するレース状態に応じて、前記ノンプレイヤオブジェクトを、前記対応付けられた履歴情報により特定される前記第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段とを備え
前記レース状態は、前記ノンプレイヤオブジェクトの状態を含み、
前記ノンプレイヤオブジェクトの状態は、前記ノンプレイヤオブジェクトが保有しているアイテムの状態を含む、情報処理装置。
【請求項22】
情報処理システムであって、
表示デバイスと、
入力デバイスと、
前記表示デバイスおよび前記入力デバイスと通信可能な演算部とを備え、
前記演算部は、
仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、
前記仮想ゲームステージで行われ、前記第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段とを備え、前記第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加し、
前記ノンプレイヤオブジェクトが保有するアイテムを管理する管理手段と、
前記第2レースについて、前記ノンプレイヤオブジェクトに前記履歴情報を対応付ける対応付け手段と、
前記第2レースにおいて、当該第2レースで発生する前記ゲームイベントに起因するレース状態に応じて、前記ノンプレイヤオブジェクトを、前記対応付けられた履歴情報により特定される前記第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段とを備え
前記レース状態は、前記ノンプレイヤオブジェクトの状態を含み、
前記ノンプレイヤオブジェクトの状態は、前記ノンプレイヤオブジェクトが保有しているアイテムの状態を含む、情報処理システム。
【請求項23】
情報処理装置のコンピュータにおいて実行される情報処理方法であって、
仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得するステップと、
前記仮想ゲームステージで行われ、前記第1レースとは独立してゲームイベントが発生する第2レースを実行するステップとを備え、前記第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加し、
前記ノンプレイヤオブジェクトが保有するアイテムを管理するステップと、
前記第2レースについて、前記ノンプレイヤオブジェクトに前記履歴情報を対応付けるステップと、
前記第2レースにおいて、当該第2レースで発生する前記ゲームイベントに起因するレース状態に応じて、前記ノンプレイヤオブジェクトを、前記対応付けられた履歴情報により特定される前記第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定するステップとを備え
前記レース状態は、前記ノンプレイヤオブジェクトの状態を含み、
前記ノンプレイヤオブジェクトの状態は、前記ノンプレイヤオブジェクトが保有しているアイテムの状態を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プレイヤオブジェクトおよびノンプレイヤオブジェクトが参加可能なレースを実行するための情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【0002】
従来から、レースゲームなどでは、現実のプレイヤに加えて、コンピュータにより生成された仮想的なプレイヤが参加してゲームを進行することが可能になっている。例えば、特開2010-200830号公報(特許文献1)は、プレイヤ同士が対戦している感覚をプレイヤに味わわせてゲームの面白味を向上させるゲームシステムを開示する。より具体的には、特開2010-200830号公報(特許文献1)は、過去に実施されたレース制御において、プレイヤによってゲーム端末装置から入力された馬オブジェクトに対する操作履歴に基づき動作制御されるオブジェクトであるゴーストキャラクタを用いて、プレイヤの過去の操作履歴を再現する構成を開示する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-200830号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の従来技術においては、プレイヤの過去の操作履歴をそのまま再現するゴーストキャラクタを用いるため、実際のレースの状況に応じた動作制御が行われず、不自然な挙動を示すことがある。
【0005】
本開示の目的は、このような課題の解決に向けられたものであり、仮想ゲームステージで実行されるレースの状況に応じて、より自然な動作制御が可能な構成を提供することである。
【課題を解決するための手段】
【0006】
ある実施の形態に従えば、情報処理装置のコンピュータにおいて実行される情報処理プログラムが提供される。情報処理プログラムはコンピュータを、仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、仮想ゲームステージで行われ、第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段として機能させる。第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加する。情報処理プログラムはコンピュータを、第2レースについて、ノンプレイヤオブジェクトに履歴情報を対応付ける対応付け手段と、第2レースにおいて、当該第2レースで発生するゲームイベントに起因するレース状態に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段として機能させる。
【0007】
本構成によれば、ゲームイベントに起因するレース状態に応じて移動ルートを選択することで、仮想ゲームステージで実行されるレースの状況に応じて、より自然な動作制御を実現できる。
【0008】
レース状態は、ノンプレイヤオブジェクトの状態を含んでいてもよい。本構成によれば、ノンプレイヤオブジェクトの状態に応じて移動ルートを選択することで、ノンプレイヤオブジェクト状態についてのより自然な動作制御を実現できる。
【0009】
情報処理プログラムはコンピュータを、ノンプレイヤオブジェクトが保有するアイテムを管理する管理手段としてさらに機能させてもよい。ノンプレイヤオブジェクトの状態は、ノンプレイヤオブジェクトが保有しているアイテムの状態を含んでいてもよい。本構成によれば、ノンプレイヤオブジェクトについても、レースで使用されるアイテムの保有状態などに応じて移動ルートを選択することで、ノンプレイヤオブジェクト状態についてのより自然な動作制御を実現できる。
【0010】
判定手段は、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれない場合に、ノンプレイヤオブジェクトを第2移動ルートで移動させると判定してもよい。本構成によれば、特定アイテムを有しているか否かで移動ルートを選択することで、レースの状況をより強く反映した動作制御を実現できる。
【0011】
管理手段は、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれる場合に、ノンプレイヤオブジェクトに特定アイテムを使用させ、判定手段は、ノンプレイヤオブジェクトを第1移動ルートで移動させると判定してもよい。本構成によれば、特定アイテムを使用しなければ通行できないルートの通行を、特定アイテムの有無に応じて判断できるので、レースの状況をより強く反映した動作制御を実現できる。
【0012】
第1移動ルートは、第2移動ルートに比較して、ノンプレイヤオブジェクトの移動速度を低下させるものであってもよい。本構成によれば、移動速度の変化という、レースの変動要因を増加させることで、レースの趣向性を高めることができる。
【0013】
管理手段は、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれる場合に、ノンプレイヤオブジェクトに特定アイテムを使用させ、判定手段は、ノンプレイヤオブジェクトを第2移動ルートで移動させると判定してもよい。本構成によれば、特定アイテムを使用しなければ通行できないルートの通行を、特定アイテムの有無に応じて判断できるので、レースの状況をより強く反映した動作制御を実現できる。
【0014】
判定手段は、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれない場合に、ノンプレイヤオブジェクトを第1移動ルートで移動させると判定してもよい。本構成によれば、特定アイテムを有しているか否かで移動ルートを選択することで、レースの状況をより強く反映した動作制御を実現できる。
【0015】
第1移動ルートは、第2移動ルートに比較して、ノンプレイヤオブジェクトの移動速度を増加させるものであってもよい。本構成によれば、本構成によれば、移動速度の変化という、レースの変動要因を増加させることで、レースの趣向性を高めることができる。
【0016】
特定アイテムは、ノンプレイヤオブジェクトが特定アイテムを使用しない場合に比較して、ノンプレイヤオブジェクトの移動速度を増加させるものであってもよい。本構成によれば、現実のレースのルールを反映させて、レースの趣向性を高めることができる。
【0017】
特定アイテムは、ノンプレイヤオブジェクトが当該特定アイテムを使用しない場合には通行できないルートを通行できるようにするものであってもよい。本構成によれば、現実のレースのルールを反映させて、レースの趣向性を高めることができる。
【0018】
管理手段は、ノンプレイヤオブジェクトが保有するアイテムを予め定められた使用順序に従って使用させ、ノンプレイヤオブジェクトが保有している特定アイテムの使用順序が2番目以降である場合に、特定アイテムの使用順序が1番目になるまで、特定アイテム以外のアイテムを、特定アイテムが含まれない場合に比較して、ノンプレイヤオブジェクトに早く使用させてもよい。本構成によれば、現実のユーザが行うような操作に沿った動作制御を実現できる。
【0019】
管理手段は、ノンプレイヤオブジェクトが保有する特定アイテムの使用順序が1番目である場合に、ノンプレイヤオブジェクトが第2移動ルートの開始点の近傍に到達するまで、特定アイテムを保有させ続けてもよい。本構成によれば、現実のユーザが行うような操作に沿った動作制御を実現できる。
【0020】
ゲームイベントは、第2レースにおいて、ノンプレイヤオブジェクトにアイテムを確率に基づいて付与することを含んでいてもよい。本構成によれば、レースで発生するゲームイベントをランダムに発生させることで、レースの趣向性を高めることができる。
【0021】
第2移動ルートは、第1移動ルートから枝分かれするルートを含んでいてもよい。本構成によれば、通常のルートから分岐するようなゲーム演出を実現できる。
【0022】
ノンプレイヤオブジェクトの状態は、ノンプレイヤオブジェクトの移動性能が通常時に比較して変化しているか否かを含んでいてもよい。本構成によれば、ノンプレイヤオブジェクトの移動性能に応じて移動ルートを選択することで、レースの状況をより強く反映した動作制御を実現できる。
【0023】
移動性能は、ノンプレイヤオブジェクトを通常時に比較して減速状態とすることを含んでいてもよい。本構成によれば、現実の走行に沿った動作制御を実現できる。
【0024】
レース状態は、仮想ゲームステージの状態を含んでいてもよい。本構成によれば、ゲームステージにおいて発生するイベントに応じて、より自然な動作制御を実現できる。
【0025】
判定手段は、第1移動ルートに障害物オブジェクトが存在する場合に、ノンプレイヤオブジェクトを第2移動ルートで移動させると判定してもよい。本構成によれば、現実のユーザが行うような操作に沿った動作制御を実現できる。
【0026】
第2移動ルートは、第1移動ルートとは異なる曲率半径を有するルートを含んでいてもよい。本構成によれば、現実の走行に沿った動作制御を実現できる。
【0027】
履歴情報は、位置に関する情報を含んでいてもよい。本構成によれば、ノンプレイヤオブジェクトの移動ルートをより正確に特定できる。
【0028】
履歴情報は、入力情報に関する情報を含んでいてもよい。本構成によれば、移動ルートを特定するための情報をより少ない情報量で格納できる。
【0029】
別の実施の形態に従う情報処理装置は、仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、仮想ゲームステージで行われ、第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段とを含む。第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加する。情報処理装置は、第2レースについて、ノンプレイヤオブジェクトに履歴情報を対応付ける対応付け手段と、第2レースにおいて、当該第2レースで発生するゲームイベントに起因するレース状態に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段とを含む。
【0030】
さらに別の実施の形態に従う情報処理システムは、表示デバイスと、入力デバイスと、表示デバイスおよび入力デバイスと通信可能な演算部とを含む。演算部は、仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得する取得手段と、仮想ゲームステージで行われ、第1レースとは独立してゲームイベントが発生する第2レースを実行するレース実行手段とを含む。第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加する。演算部は、第2レースについて、ノンプレイヤオブジェクトに履歴情報を対応付ける対応付け手段と、第2レースにおいて、当該第2レースで発生するゲームイベントに起因するレース状態に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定する判定手段とを含む。
【0031】
さらに別の実施の形態に従えば、情報処理装置のコンピュータにおいて実行される情報処理方法が提供される。情報処理方法は、仮想ゲームステージで行われた第1レースにおいてゲームオブジェクトが移動した第1移動ルートを特定可能な履歴情報を、少なくとも1つ取得するステップと、仮想ゲームステージで行われ、第1レースとは独立してゲームイベントが発生する第2レースを実行するステップとを含む。第2レースには、プレイヤオブジェクトと少なくとも1つのノンプレイヤオブジェクトとが参加する。情報処理方法は、第2レースについて、ノンプレイヤオブジェクトに履歴情報を対応付けるステップと、第2レースにおいて、当該第2レースで発生するゲームイベントに起因するレース状態に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで移動させるかを判定するステップとを含む。
【発明の効果】
【0032】
本開示によれば、仮想ゲームステージで実行されるレースの状況に応じて、より自然な動作制御が可能な構成を提供できる。
【図面の簡単な説明】
【0033】
図1】本実施の形態に従うゲームシステムの構成例を示す模式図である。
図2】本実施の形態に従う情報処理装置のハードウェア構成例を示す模式図である。
図3】本実施の形態に従うゲームシステムにおける処理の概要を示すシーケンスチャートである。
図4】本実施の形態に従う情報処理装置で実行されるレースを説明するための図である。
図5】本実施の形態に従う情報処理装置でのレース実行を実現するための機能構成を示すブロック図である。
図6】本実施の形態に従う情報処理装置における履歴情報の生成処理の一例を説明するための図である。
図7】本実施の形態に従う情報処理装置で実行されるレースに参加するゲームオブジェクトを説明するための図である。
図8】本実施の形態に従う情報処理装置におけるルート選択に係る処理を説明するための図である。
図9】本実施の形態に従う情報処理装置におけるルート選択に係る処理を説明するための図である。
図10】本実施の形態に従う情報処理装置で実行されるレースのスクリーンショットの一例を示す図である。
図11】本実施の形態に従う情報処理装置で実行されるレースのスクリーンショットの一例を示す図である。
図12】本実施の形態に従う情報処理装置が提供する仮想ゲームステージに設けられたコースの一例を示す図である。
図13】本実施の形態に従う情報処理装置が提供する仮想ゲームステージに発生する障害物オブジェクトに応じたルート選択を説明するための図である。
図14】本実施の形態に従う情報処理装置が提供する仮想ゲームステージにおけるゲームオブジェクトの状態に応じたルート選択を説明するための図である。
図15】本実施の形態に従う情報処理装置で実行されるレースにおいて発生する特定アイテムの一例を示す図である。
図16】本実施の形態に従う情報処理装置で実行されるレースにおけるアイテムの保有および使用に係る処理を説明するための図である。
図17】本実施の形態に従う情報処理装置において実行される処理手順を示すフローチャートである。
図18】本実施の形態に従う情報処理装置において実行される処理手順を示すフローチャートである。
【発明を実施するための形態】
【0034】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0035】
[A.ハードウェア構成]
まず、本実施の形態に従うゲームシステム1のハードウェア構成の一例について説明する。
【0036】
(a1:全体構成例)
図1は、本実施の形態に従うゲームシステム1の構成例を示す模式図である。図1を参照して、ゲームシステム1は、典型的には、1または複数の情報処理装置100-1,100-2,100-3,・・・(以下、「情報処理装置100」とも総称する。)と、管理サーバ200とを含む。
【0037】
情報処理装置100は、任意の種類のコンピュータであり、予め格納された情報処理プログラムを実行することで、後述するようなゲーム処理を実行するために必要な機能を実現する。ゲーム処理が実行されることで、情報処理装置100は、履歴情報116を生成するとともに、生成された履歴情報116を管理サーバ200へ送信する。管理サーバ200は、1または複数の情報処理装置100から送信された履歴情報116を格納するとともに、いずれかの情報処理装置100で新たなゲーム処理の実行が開始されると、格納している履歴情報116のうちから選択された履歴情報116を提供する。情報処理装置100は、管理サーバ200から提供された履歴情報116に基づいてゲーム処理を実行する。履歴情報116および履歴情報116を用いたゲーム処理の詳細については後述する。
【0038】
管理サーバ200は、典型的には、1または複数のプロセッサで構成され、情報処理装置100から送信された履歴情報116を格納するとともに、情報処理装置100からの要求に応じて、格納した履歴情報116のうち1または複数の履歴情報116を送信する。また、管理サーバ200は、情報処理装置100に対してアプリケーションプログラムを提供する機能を有していてもよい。
【0039】
(a2:情報処理装置100の構成例)
図2は、本実施の形態に従う情報処理装置100のハードウェア構成例を示す模式図である。情報処理装置100は、典型的には、スマートフォンやタブレットなどの携帯型(あるいは可搬型)の汎用コンピュータが想定されるが、携帯型あるいは据置型のパーソナルコンピュータであってもよいし、ゲーム専用機のようなコンピュータであってもよい。
【0040】
図2を参照して、情報処理装置100は、主たるハードウェアコンポーネントとして、プロセッサ102と、主メモリ104と、ディスプレイ106と、タッチパネル108と、ストレージ110と、入力部120と、インジケータ122と、スピーカ124と、通信モジュール126と、マイク128と、カメラ130とを含む。これらのハードウェアコンポーネントは、バス132を介して通信可能に接続される。
【0041】
プロセッサ102は、主メモリ104に展開されたプログラムコードに従って命令を実行する演算部であり、例えば、CPU(central processing unit)やGPU(graphics processing unit)などで構成される。
【0042】
主メモリ104は、プロセッサ102が命令を実行するためのプログラムコードや各種ワークデータを一時的に格納する不揮発性記憶装置であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などで構成される。
【0043】
ディスプレイ106は、プロセッサ102での演算処理によって生成される映像情報を表示し、例えば、LCD(liquid crystal display)や有機EL(electroluminescent)ディスプレイなどの表示デバイスで構成される。
【0044】
タッチパネル108は、ディスプレイ106の表示面に配置され、ユーザ操作を受け付ける。より具体的には、タッチパネル108は、ユーザによるタッチ操作を示す情報をプロセッサ102へ出力する。
【0045】
ストレージ110は、情報処理装置100において利用あるいは生成されたデータを不揮発的に格納する不揮発性記憶装置であり、例えば、フラッシュメモリやハードディスクドライブなどで構成される。典型的には、ストレージ110には、OS(operating system)やドライバなどを含むシステムプログラム112と、後述するようなゲーム処理を実質的に実行するためのアプリケーションプログラム114とが格納される。なお、アプリケーションプログラム114は、システムプログラム112が提供するライブラリなどを利用しつつ、ゲーム処理を実行することもある。
【0046】
さらに、ストレージ110には、1または複数の履歴情報116が格納されてもよい。例えば、管理サーバ200が履歴情報116を格納する形態ではなく、情報処理装置100自体が履歴情報116を格納する形態を採用した場合には、複数の履歴情報116がストレージ110に格納されてもよい。
【0047】
アプリケーションプログラム114は、情報処理装置100の製造段階においてストレージ110に格納されていてもよいし、管理サーバ200(図1)などの任意のサーバからダウンロードの形で提供されてもよい。さらに、アプリケーションプログラム114を格納するコンピュータ読取可能記憶媒体(例えば、USB(universal serial bus)メモリや任意のメモリカード)(図示しない)を情報処理装置100に装着し、装着されたコンピュータ読取可能記憶媒体から読み出されたアプリケーションプログラム114をストレージ110にインストールするようにしてもよい。
【0048】
入力部120は、例えば、ユーザ操作を受け付ける1または複数のボタンや、マウスなどの入力デバイスで構成される。
【0049】
インジケータ122は、情報処理装置100の筐体に露出して配置され、情報処理装置100のユーザに対して任意の情報を視覚的に通知する。インジケータ122は、例えば、LED(light emitting diode)などの発光デバイスで構成される。
【0050】
スピーカ124は、情報処理装置100の筐体に露出して配置され、情報処理装置100のユーザに対して任意の音声情報を提供する。
【0051】
通信モジュール126は、外部装置との間で無線通信するためのモジュールであり、例えば、5G(generation)、LTE(long term evolution)、WiMAXなどに従う広域通信モジュールや、無線LAN(local area network)、Bluetooth(登録商標)、赤外線通信などに従う狭域通信モジュールなどで構成される。
【0052】
マイク128は、情報処理装置100の筐体に露出して配置され、情報処理装置100の周囲で発生する音声を収集する。
【0053】
カメラ130は、情報処理装置100の筐体に露出して配置され、情報処理装置100の周囲を撮像して得られる画像を出力する。
【0054】
なお、図2には、プロセッサ102がプログラム(システムプログラム112およびアプリケーションプログラム114)が実行することで各種処理を実現する形態(すなわち、ソフトウエア実装)を例示するが、これらの処理の全部または一部をハードワイヤード回路で実現してもよい。具体的には、ASIC(application specific integrated circuit)またはFPGA(field-programmable gate array)を含む演算回路(processing circuitry)が本実施の形態に従う情報処理装置100が実行すべき処理の全部または位置を担当するようにしてもよい。なお、演算回路には、プロセッサ102および主メモリ104を含めるようにしてもよい。したがって、本実施の形態に従う情報処理装置100に係る処理は、プロセッサ102および主メモリ104、ならびに/または、ASICもしくはFPGAのようなハードワイヤード回路を含む、演算回路によって実行されるとも言える。
【0055】
(a3:管理サーバ200の構成例)
管理サーバ200は、典型的には、ネットワーク接続された汎用コンピュータからなる。管理サーバ200は、単一のコンピュータで構成されてもよいし、互いに連携した複数のコンピュータで構成されてもよい。各コンピュータは、1または複数のプロセッサを有している。各コンピュータが有している各プロセッサは、複数のプロセッサコアを有していてもよい。
【0056】
管理サーバ200は、典型的には、1または複数のプロセッサがプログラムを実行することで、後述するような各種処理を実現する。但し、管理サーバ200が実行する処理の全部または一部をASICやFPGAなどのハードワイヤード回路で実現してもよい。
【0057】
管理サーバ200を構成する汎用コンピュータのハードウェア構成は公知であるので、ここではその詳細な説明は行わない。
【0058】
[B.処理の概要]
次に、本実施の形態に従うゲームシステム1における処理の概要について説明する。
【0059】
図3は、本実施の形態に従うゲームシステム1における処理の概要を示すシーケンスチャートである。図3に示す情報処理装置100で実行される各ステップは、典型的には、情報処理装置100のプロセッサ102がプログラム(システムプログラム112およびアプリケーションプログラム114など)を実行することで実現される。
【0060】
図3を参照して、先に、情報処理装置100-2においてレース(レースゲーム)が実行され(ステップS1)、そのレースの実行により得られた、ゲームオブジェクトの移動ルートを示す履歴情報が管理サーバ200へ送信される(ステップS2)。同様に、情報処理装置100-3においてレースが実行され(ステップS3)、そのレースの実行により得られた、ゲームオブジェクトの移動ルートを示す履歴情報が管理サーバ200へ送信される(ステップS4)。なお、ステップS1およびS2ならびにステップS3およびS4のいずれか一方が実行されればよい。
【0061】
管理サーバ200は、情報処理装置100-2および100-3から送信された履歴情報を順次格納する。
【0062】
その後、情報処理装置100-1に対して、ユーザからレース開始操作が行われると(ステップS5)、情報処理装置100-1は、管理サーバ200に対して、履歴情報要求を送信する(ステップS6)。管理サーバ200は、情報処理装置100-1からの履歴情報要求に応答して、格納している履歴情報のうち、条件に合致する履歴情報を検索する(ステップS7)。そして、管理サーバ200は、検索により得られた履歴情報を情報処理装置100-1へ応答する(ステップS8)。
【0063】
情報処理装置100-1は、ノンプレイヤオブジェクトに管理サーバ200からの履歴情報を対応付け(ステップS9)、レースを実行する(ステップS10)。レースの実行において、当該レースで発生するゲームイベントに起因するレース状態に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される第1移動ルート(後述する「同一ルート」)と、第1移動ルートとは異なる第2移動ルート(後述する「変更ルート」)とのうちいずれで移動させるかが逐次判定される。この判定処理の詳細については、後述する。
【0064】
このようなゲームイベントに起因するレース状態に応じた判定処理を採用することで、ノンプレイヤオブジェクトに対するより自然な動作制御が可能になる。
【0065】
なお、レースの実行後、情報処理装置100-1は、レースの実行により得られた、ゲームオブジェクトの移動ルートを示す履歴情報を管理サーバ200へ送信してもよい(ステップS11)。
【0066】
本実施の形態に従うゲームシステム1においては、以上のような処理が適宜繰り返される。
【0067】
ここで、本明細書において使用される用語について説明する。
本明細書において、「レース」は、予め定められたコースのクリア(移動)に要する時間または順位を競うゲームを包含する。「レース」は、ドライビングゲームに限られず、キャラクタをスタートからゴールまで移動させるアクションゲーム(スクロール方向は、縦方向であってもよいし、横方向であってもよい)なども含み得る。本明細書における「レース」は、1または複数のゲームオブジェクトが同時に参加できるものが想定されている。
【0068】
本明細書において、「仮想ゲームステージ」は、ゲーム空間においてレースが行われるコースを包含する。「仮想ゲームステージ」は、典型的には、レースが行われるコースが想定されている。
【0069】
本明細書において、「ゲームオブジェクト」は、ゲーム空間に配置される任意のオブジェクト(キャラクタおよびアイテム(あるいは、ゲームアイテム)を含む)を包含する。本明細書においては、特に、「ゲームオブジェクト」の一例として、ユーザあるいはコンピュータが操作可能なキャラクタ、あるいは、キャラクタに関連付けられた車両などに着目して説明する。
【0070】
本明細書において、「プレイヤオブジェクト」および「ノンプレイヤオブジェクト」は、「ゲームオブジェクト」に包含され得る用語である。着目している情報処理装置100で行われるレースにおいて操作対象となるゲームオブジェクトを「プレイヤオブジェクト」と称し、それ以外の操作対象とはならないゲームオブジェクトを「ノンプレイヤオブジェクト」と称す。通常、「プレイヤオブジェクト」は現実のユーザ(プレイヤ)が操作することが想定されているが、コンピュータが操作指示を与えてもよい。
【0071】
本明細書において、「移動ルート」は、レースにおいて着目しているゲームオブジェクトが移動したルートを包含する。「移動ルート」は、仮想ゲームステージであるコースにおいて、着目しているゲームオブジェクトが分岐ルートのいずれを通行したのかといった情報、および、コース(例えば、カーブ)のイン側およびアウト側のいずれを通行したかのかといった情報を含み得る。
【0072】
本明細書において、「履歴情報」は、いずれかのゲームにおいてゲームオブジェクトが移動した移動ルートを特定するための情報である。「履歴情報」は、移動ルートを特定できればどのような内容であってもよい。例えば、「履歴情報」として、対象のゲームオブジェクトが移動したルートを示す位置の群を採用した場合には、そのまま移動ルートを再現できる。位置の群を採用する場合には、各位置に対応する時間(例えば、スタートからの経過時間)を関連付けてもよい。あるいは、「履歴情報」として、対象のゲームオブジェクトに対して与えられた操作指示の内容(例えば、情報処理装置100の入力部120が受け付けたユーザ操作)を採用してもよい。
【0073】
本明細書において、「ゲームイベント」は、ゲーム進行に伴ってランダムに発生する任意のイベントを包含する。例えば、「ゲームイベント」は、ゲーム進行中に(ランダムに)発生するアイテムの取得および使用、レースの順位などの様々な変動要因を含む。そのため、あるレースで発生した「ゲームイベント」が別のレースで発生するとは限らない。すなわち、通常、先に実行されたレースと後に実行されたレースとの間では、発生するゲームイベントは互いに独立したものとなる。
【0074】
本明細書において、「レース状態」は、ゲームイベントに起因するものであり、コース全体およびゲームオブジェクトの状態を包含する。例えば、プレイヤオブジェクトまたはノンプレイヤオブジェクトがアイテムボックスを通過することで、アイテムの取得というゲームイベントが発生すると、このゲームイベントに起因して、アイテムボックスを通過したプレイヤオブジェクトまたはノンプレイヤオブジェクトが保有するアイテムが追加されると、そのアイテムが追加された状態が「レース状態」に包含され得る。
【0075】
[C.レースの概要]
次に、本実施の形態に従う情報処理装置100で実行されるレースの一例について説明する。
【0076】
図4は、本実施の形態に従う情報処理装置100で実行されるレースを説明するための図である。図4を参照して、情報処理装置100は、仮想ゲームステージ300に設けられたコース302に沿って、ゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)が移動に要する時間または順位を競うレースゲームを実行する。コース302には、スタートおよびゴールを示す基準位置304が設定されており、典型的には、基準位置304を通過してからコース302を所定回数に亘って周回した後に基準位置304を再度通過することでコースのクリアとなる。このような予め定められたコースのクリア(移動)に要する時間または順位を競うレースゲームが情報処理装置100において実行される。
【0077】
ユーザは、タッチパネル108、入力部120、マイク128、カメラ130などの入力デバイスを介して操作指示を与えることで、仮想ゲームステージ300に表示されるプレイヤオブジェクトの移動を制御することで、ノンプレイヤオブジェクトとの間で、時間あるいは順位を競う。
【0078】
なお、情報処理装置100のディスプレイ106に表示される視点は任意に異ならせることもできる。
【0079】
情報処理装置100で実行されるレースにおいては、ゲームイベントとして、アイテムの取得が可能であってもよい。例えば、プレイヤオブジェクトまたはノンプレイヤオブジェクトが仮想ゲームステージ300に配置されたオブジェクトを通過すると、ランダムに決定されるアイテムを取得できるようなゲームイベントを実装してもよい。また、プレイヤオブジェクトまたはノンプレイヤオブジェクトは、保有しているアイテムを任意のタイミングで使用することもできる。アイテムの使用によって、プレイヤオブジェクトがノンプレイヤオブジェクトに比較して有利な挙動に変化し、あるいは、ノンプレイヤオブジェクトがプレイヤオブジェクトに比較して不利な挙動に変化するようにしてもよい。
【0080】
レースゲームにおいて保有できるアイテムは複数であってもよい。この場合には、予め定められた使用順序(典型的には、アイテムを取得した順序と同じ順序)に従ってアイテムが使用されるようにしてもよい。あるいは、保有しているアイテムを選択的あるいはランダムに使用できるようにしてもよい。
【0081】
[D.機能構成]
図5は、本実施の形態に従う情報処理装置100でのレース実行を実現するための機能構成を示すブロック図である。図5に示す機能構成は、典型的には、情報処理装置100のプロセッサ102が情報処理プログラム(システムプログラム112および/またはアプリケーションプログラム114)を実行することで実現される。
【0082】
図5を参照して、情報処理装置100は、機能構成として、ゲーム実行モジュール150と、履歴情報取得モジュール152と、履歴情報対応付けモジュール154と、ルート判定モジュール156と、アイテム管理モジュール158と、履歴情報出力モジュール160とを含む。また、情報処理装置100は、プレイヤオブジェクトの状態を示すプレイヤオブジェクト状態162と、1または複数のノンプレイヤオブジェクトの状態を示す1または複数のノンプレイヤオブジェクト状態164とを保持している。
【0083】
プレイヤオブジェクト状態162およびノンプレイヤオブジェクト状態164は、キャラクタオブジェクトの移動速度、アイテムの保有あるいは使用の状態、何らかのアイテムによる特殊状態への遷移などを含む。
【0084】
ゲーム実行モジュール150は、仮想ゲームステージ300で行われるレースを仮想的に実行する。ゲーム実行モジュール150は、所定規則およびランダム性に基づいて、レース中に任意のゲームイベントを発生する。そのため、ゲーム実行モジュール150が同一の仮想ゲームステージ300で行うレース間においては、互いに独立してゲームイベントが発生することになる。ゲーム実行モジュール150は、仮想ゲームステージ300の状態である仮想ゲームステージ状態166を保持しており、レース進行に応じて、仮想ゲームステージ状態166の内容を逐次更新する。
【0085】
ゲーム実行モジュール150が実行するレースには、プレイヤオブジェクトおよび少なくとも1つのノンプレイヤオブジェクトが参加する。ゲーム実行モジュール150は、プレイヤオブジェクト状態162およびノンプレイヤオブジェクト状態164に基づいて、参加するプレイヤオブジェクトおよびノンプレイヤオブジェクトの動作を制御する。
【0086】
履歴情報取得モジュール152は、先に行われたレースについての履歴情報116を取得する。取得される履歴情報116は、ゲーム実行モジュール150がレースを実行する仮想ゲームステージ300と実質的に同じ仮想ゲームステージ300で先に行われたレースにおいてゲームオブジェクト(典型的には、プレイヤオブジェクト)が移動した移動ルートを特定可能になっている。ここで、実質的に同じ場合の例としては、先にレースが実行された仮想ゲームステージ300に対して、天候、時刻(朝・昼・夜)、コース上に置かれた障害物の位置など異なっていても、コースの形状が同等であるものは同じ仮想ゲームステージ300とみなしてもよい。履歴情報116は、管理サーバ200および情報処理装置100(典型的には、ストレージ110)のいずれに格納されていてもよい。履歴情報取得モジュール152は、履歴情報116の格納先に応じて、取得先を選択する。
【0087】
履歴情報対応付けモジュール154は、情報処理装置100で次に実行される予定のレースについて、1または複数のノンプレイヤオブジェクトに、履歴情報取得モジュール152により取得された履歴情報116(先に行われたレースにより取得されたもの)をそれぞれ対応付ける。対応付けられた履歴情報116の内容は、それぞれのノンプレイヤオブジェクト状態164に反映されてもよい。
【0088】
ルート判定モジュール156は、情報処理装置100で実行されるレースにおいて、当該レースで発生するゲームイベントに起因するレース状態(ノンプレイヤオブジェクト状態164を含む)に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報116により特定される第1移動ルート(後述する「同一ルート」)と、第1移動ルートとは異なる第2移動ルート(後述する「変更ルート」)とのうちいずれで移動させるかを判定する。
【0089】
アイテム管理モジュール158は、ノンプレイヤオブジェクトが保有するアイテムを管理する。より具体的には、アイテム管理モジュール158は、各ノンプレイヤオブジェクトについて、アイテムの取得、保有および使用を管理する。アイテム管理モジュール158は、ノンプレイヤオブジェクトが保有するアイテムを予め定められた使用順序に従って使用させることもできる。アイテム管理モジュール158による各ノンプレイヤオブジェクトのアイテムの状態は、対応するノンプレイヤオブジェクト状態164に反映されてもよい。
【0090】
履歴情報出力モジュール160は、情報処理装置100で実行されるレースが終了すると、そのレースにおけるゲームオブジェクトの移動ルートを示す新たな履歴情報を出力する。
【0091】
[E.履歴情報の一例]
次に、情報処理装置100においてレースが実行されることで生成される履歴情報116の一例についてより詳細に説明する。
【0092】
図6は、本実施の形態に従う情報処理装置100における履歴情報116の生成処理の一例を説明するための図である。
【0093】
図6(A)を参照して、情報処理装置100は、ゲームオブジェクトの実際の移動ルート310を取得できるので、この取得される移動ルート310をそのまま履歴情報116として格納してもよい。但し、履歴情報116の情報量を圧縮するために、コース302をゲームオブジェクトの移動方向に沿って複数のゾーン308に区分した上で、各ゾーン308の境界における移動ルート310の通過位置のみを格納するようにしてもよい。
【0094】
すなわち、履歴情報116は、ゲームオブジェクトの位置に関する情報を含むようにしてもよい。例えば、ゾーン308の境界に対応するラインl1,l2,l3,l4,・・・の各々を通過する位置(オフセット)x1,x2,x3,x4,・・・を履歴情報116に格納するようにしてもよい。この場合、図6(B)に示すように、履歴情報116には、ラインl1,l2,l3,l4,・・・と位置x1,x2,x3,x4,・・・とが対応付けて格納されてもよい(移動記録1164)。
【0095】
さらに、移動ルート310の一部においてゲームオブジェクトが特別な挙動を行った場合には、その情報も履歴情報116に格納するようにしてもよい。例えば、図6(A)に示ように、ラインl2からラインl4までの区間の一部において、ゲームオブジェクトが特別な挙動を行ったとする(図6に示す例では、「ターボ走行」)。この特別な挙動についても、例えば、区間の開始位置および終了位置をラインからの距離(オフセット)L1,L2を用いて規定してもよい。図6(B)に示す履歴情報116においては、ターボ走行がラインl2から距離L1だけ過ぎた地点から開始され、ラインl2から距離L2だけ過ぎた地点で終了することが規定されている(特別挙動記録1165,1166)。
【0096】
あるいは、履歴情報116には、上述したような位置の情報に加えて、あるいは、位置の情報に代えて、対象のゲームオブジェクトに対して与えられた操作指示の内容(例えば、情報処理装置100の入力部120が受け付けたユーザ操作)を格納するようにしてもよい。この場合、履歴情報116には、時刻あるいは区間に対応付けて、ユーザ操作の内容(入力情報)が順次格納されてもよい。すなわち、履歴情報116は、ユーザによるキー入力の履歴などの入力情報に関する情報を含んでいてもよい。
【0097】
また、履歴情報116は、対応するプレイヤオブジェクトを操作したユーザを特定するためのユーザ情報1161と、対応するコースを特定するためのコース情報1162と、プレイヤオブジェクトが選択したキャラクタを特定するためのキャラクタ情報1163とを含んでいてもよい。
【0098】
このように、情報処理装置100は、レースを実行することで履歴情報116を生成する。
【0099】
[F.履歴情報を用いたノンプレイヤオブジェクトの動作制御]
(f1:概要)
本実施の形態に従う情報処理装置100において実行されるレースには、プレイヤオブジェクトと1または複数のノンプレイヤオブジェクトとが参加可能になっている。ノンプレイヤオブジェクトがレースに参加する場合には、過去に生成されたいずれかの履歴情報116に基づいて、移動ルートを含む挙動が制御される。
【0100】
図7は、本実施の形態に従う情報処理装置100で実行されるレースに参加するゲームオブジェクトを説明するための図である。図7には、プレイヤオブジェクト340と、5つのノンプレイヤオブジェクト342とがレースに参加する例を示す。プレイヤオブジェクト340およびノンプレイヤオブジェクト342の各々には、レースで使用されるキャラクタが対応付けられる。
【0101】
プレイヤオブジェクト340は、ユーザ(プレイヤ)の操作によってレース中の挙動が制御される一方で、ノンプレイヤオブジェクト342の各々は、対応付けられた履歴情報116に基づいてレース中の挙動が制御される。
【0102】
ノンプレイヤオブジェクト342の各々に対応付けられた履歴情報116は、管理サーバ200あるいは情報処理装置100に予め格納された履歴情報116のうち、条件に合致するものが検索されることで決定される。例えば、まず、ユーザ(プレイヤ)の過去の成績などに基づいて算出されるレベルなどに応じて、1または複数の競争相手(他のユーザ)を検索(マッチング)し、検索された競争相手の履歴情報116を管理サーバ200から取得するようにしてもよい。あるいは、予め格納された履歴情報の各々についてレベルを算出するとともに、ユーザのレベルと類似したレベルを示す履歴情報116を検索するようにしてもよい。いずれの方法であっても、ユーザのレベルと類似したレベルを示す履歴情報116が選択されるので、レースにおいてプレイヤオブジェクト340とノンプレイヤオブジェクト342とが拮抗して、レースに参加するユーザがより楽しむことができる。このように、対応する履歴情報116を検索する条件の一例としては、ユーザのレベルと類似したレベルであることを含み得る。
【0103】
本実施の形態においては、ノンプレイヤオブジェクト342は、対応付けられる履歴情報116により特定される移動ルートと同一のルートを移動するのではなく、レースで発生するゲームイベントに起因するレース状態に応じて移動することになる。より具体的には、情報処理装置100は、ノンプレイヤオブジェクト342を、対応付けられる履歴情報116により特定される移動ルート(以下、「同一ルート」とも称す。)と、同一ルートとは異なる移動ルート(以下、「変更ルート」とも称す。)とのうちいずれで移動させるのかを、レース状態に応じて判定する。このルートの判定処理は、コース上の予め定められた位置に到達したタイミング、任意のゲームイベントが発生したタイミング、レース状態が予め定められた条件を満たしたタイミングなどで実行されてもよい。
【0104】
以下、典型的なルートの選択処理として、(1)分岐区間のルート選択、および、(2)同一コース内のルート選択について説明する。
【0105】
(f2:分岐区間のルート選択)
図8および図9は、本実施の形態に従う情報処理装置100におけるルート選択に係る処理を説明するための図である。図8および図9には、仮想ゲームステージ300に設けられたコース302の一部に分岐区間として、ショートカット316が設けられている例を示す。情報処理装置100において実行されるゲームにおいては、ショートカット316の通行は、ゲームオブジェクト(プレイヤオブジェクトおよびノンプレイヤオブジェクト)が特定アイテム(具体例については、後述する。)を保有あるいは使用している状態であることに基づいてもよい。
【0106】
このようなルール下において、ノンプレイヤオブジェクトに対応付けられた履歴情報116により特定される移動ルートがショートカット316を含む場合であっても、ノンプレイヤオブジェクトがショートカット316の開始点の近傍に到達した時点で、特定アイテムを保有あるいは使用していなければ、ショートカット316を通行することはない。情報処理装置100は、ショートカット316を通行するか否かをこのようなレース状態に応じて判定することで、より自然な動作制御を実現する。
【0107】
図8には、ノンプレイヤオブジェクトに対応付けられた履歴情報116により特定される移動ルート310がショートカット316を通行している例を示す(図8(A))。この場合、図8(B)に示すように、同一ルート312は、履歴情報116により特定される移動ルート310と実質的に同じものとなる。一方、図8(C)に示すように、変更ルート314は、履歴情報116により特定される移動ルート310(すなわち、同一ルート312)とは異なり、ショートカット316を含まないルートになる。
【0108】
図8に示す例においては、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれる場合に、情報処理装置100(図5のアイテム管理モジュール158)は、ノンプレイヤオブジェクトに特定アイテムを使用させるとともに、情報処理装置100(図5のルート判定モジュール156)は、ノンプレイヤオブジェクトを同一ルート312で移動させると判定する(図8(B)参照)。
【0109】
一方、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれない場合に、情報処理装置100(図5のルート判定モジュール156)は、ノンプレイヤオブジェクトを変更ルート314で移動させると判定する(図8(C)参照)。
【0110】
また、図9には、ノンプレイヤオブジェクトに対応付けられた履歴情報116により特定される移動ルート310がショートカット316を通行していない例を示す(図9(A))。この場合、図9(B)に示すように、同一ルート312は、履歴情報116により特定される移動ルート310と実質的に同じものとなる(すなわち、ショートカット316を含まないルート)。一方、図9(C)に示すように、変更ルート314は、履歴情報116により特定される移動ルート310(すなわち、同一ルート312)とは異なり、ショートカット316を含むルートになる。このように、変更ルート314は、同一ルート312から枝分かれするルートであるショートカット316を含んでいてもよい。
【0111】
図9に示す例においては、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれない場合に、情報処理装置100(図5のルート判定モジュール156)は、ノンプレイヤオブジェクトを同一ルート312で移動させると判定する(図9(B)参照)。
【0112】
一方、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれる場合に、情報処理装置100(図5のアイテム管理モジュール158)は、ノンプレイヤオブジェクトに特定アイテムを使用させるとともに、情報処理装置100(図5のルート判定モジュール156)は、ノンプレイヤオブジェクトを変更ルート314で移動させると判定する(図9(C)参照)。
【0113】
図10および図11は、本実施の形態に従う情報処理装置100で実行されるレースのスクリーンショットの一例を示す図である。図10には、特定アイテムが使用されていない場合の挙動を示し、図11には、特定アイテムが使用されている場合の挙動を示す。情報処理装置100で実行されるレースにおいては、仮想ゲームステージ300に設けられたコース302に沿って、ノンプレイヤオブジェクト342の移動が制御される。
【0114】
図10を参照して、情報処理装置100のディスプレイ106には、ノンプレイヤオブジェクト342が保有しているアイテムを示す保有アイテム表示オブジェクト338が表示されている。図10に示す例では、ノンプレイヤオブジェクト342は、何らのアイテムも保有していない。そのため、特定アイテムを使用することもできないので、ショートカット316ではないルート(すなわち、図8に示す例では、変更ルート314に相当し、図9に示す例では、同一ルート312に相当する)を移動する。
【0115】
これに対して、図11に示す例では、ノンプレイヤオブジェクト342は、特定アイテムとして加速アイテム330を保有しており、その保有している加速アイテム330が使用されている(ノンプレイヤオブジェクト342の後ろに加速アイテム330が付加されている)。特定アイテムの一例である加速アイテム330が使用されることで、ノンプレイヤオブジェクト342は、ショートカット316を含むルートを移動する。
【0116】
このように、特定アイテムの保有または使用を含むノンプレイヤオブジェクト342の状態に応じて、ノンプレイヤオブジェクト342の移動ルートが適宜選択される。
【0117】
なお、レースの趣向性を高めるために、コース302のショートカット316に代えて、ゲームオブジェクトの移動速度に対して何らかの変化を与える特殊区間318を設けてもよい。
【0118】
図12は、本実施の形態に従う情報処理装置100が提供する仮想ゲームステージ300に設けられたコース302の一例を示す図である。図12を参照して、コース302の一部に設けられた特殊区間318においては、他の区間に比較して、移動速度が低下するような作用をゲームオブジェクトに与えてもよい。特殊区間318は、例えば、本来のコースから外れたダートコースや、オイルなどが撒かれたコースなどが想定される。
【0119】
そして、加速アイテム330などの特定アイテムを使用した場合には、ダートコースのような特殊区間318を通行したとしても、通常のルートで加速アイテム330を使用した場合に比較して、(使用した特定アイテムの効果が有効である期間においては)減速することがないように設定してもよい。すなわち、特定アイテムの効果が有効であれば、どのようなルートを通行しても、通常のルートで加速アイテム330を使用した場合と同様の移動速度になるようにしてもよい。
【0120】
ショートカット316に代えて、特殊区間318を設けた場合には、図8(A)に示すような実際の移動ルート310が取得された場合には、同一ルート312(図8(B)参照)は、変更ルート314(図8(C)参照)に比較して、ノンプレイヤオブジェクトの移動速度を低下させるものとなる。一方、図9(A)に示すような実際の移動ルート310が取得された場合には、同一ルート312(図9(B)参照)は、変更ルート314(図9(C)参照)に比較して、ノンプレイヤオブジェクトの移動速度を増加させるものとなる。
【0121】
なお、分岐区間(ショートカット316または特殊区間318)においては、ゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)の動作制御に任意の影響を与えるようにしてもよい。例えば、図12においては、ゲームオブジェクトを減速させる作用を例示したが、逆にゲームオブジェクトを加速させる作用を与えてもよい。
【0122】
(f3:同一コース内のルート選択)
同一コース内においても、ゲームイベントに起因するレース状態に応じてルートを変更するようにしてもよい。
【0123】
図13は、本実施の形態に従う情報処理装置100が提供する仮想ゲームステージ300に発生する障害物オブジェクトに応じたルート選択を説明するための図である。図13(A)を参照して、ノンプレイヤオブジェクトに対応付けられた履歴情報116により、コース302上のゲームオブジェクトの実際の移動ルート310が特定される。図13(B)を参照して、仮想ゲームステージ300のコース302上には、障害物オブジェクト320がランダムに発生および配置されることがある。ユーザ操作によって障害物オブジェクト320が配置されることもある。
【0124】
コース302上に障害物オブジェクト320が存在しない場合には、ノンプレイヤオブジェクトは、実際の移動ルート310と実質的に同じ同一ルート312で移動する。これに対して、コース302上に障害物オブジェクト320が存在する場合には、ノンプレイヤオブジェクトは、同一ルート312とは異なる変更ルート314で移動する。
【0125】
なお、変更ルート314は、コース302上に存在する障害物オブジェクト320の位置などに応じて、動的に決定されてもよい。あるいは、同一ルート312に予め定められた変化を与えることで変更ルート314を静的に決定してもよい。
【0126】
このように、レース状態の一例として、仮想ゲームステージ300の状態(この例では、障害物オブジェクト320の有無)を含んでいてもよい。そして、情報処理装置100(図5のルート判定モジュール156)は、同一ルート312に障害物オブジェクト320が存在する場合に、ノンプレイヤオブジェクトを変更ルート314で移動させると判定してもよい。
【0127】
図14は、本実施の形態に従う情報処理装置100が提供する仮想ゲームステージ300におけるゲームオブジェクトの状態に応じたルート選択を説明するための図である。図14(A)を参照して、ノンプレイヤオブジェクトに対応付けられた履歴情報116により、カーブ状のコース302におけるゲームオブジェクトの実際の移動ルート310が特定される。
【0128】
図14(B)を参照して、ノンプレイヤオブジェクトは、実際の移動ルート310と実質的に同じ同一ルート312で移動することが想定される。但し、現実のカーブの通行を考慮すると、移動速度の高低に応じて、カーブの外側を通行する、あるいは、カーブの内側を通行するといった挙動が生じ得る。
【0129】
情報処理装置100は、カーブ状のルートを通行するノンプレイヤオブジェクトの状態に応じて、移動ルートを異ならせてもよい。図14(B)には、変更ルート314が同一ルート312とは異なる曲率半径を有するルートを含む例を示す。より具体的には、変更ルート314の曲率半径324は、同一ルート312の曲率半径322より大きくなっている。このように、変更ルート314は、同一ルート312とは曲率半径を有するルートを含んでいてもよい。
【0130】
ノンプレイヤオブジェクトの移動性能が通常時に比較して変化している場合に選択されてもよい。すなわち、ノンプレイヤオブジェクトの状態は、ノンプレイヤオブジェクトの移動性能が通常時に比較して変化しているか否かを含んでいてもよい。例えば、ノンプレイヤオブジェクトの移動性能として、ノンプレイヤオブジェクトが通常時に比較して減速状態になっている場合に、同一ルート312に代えて変更ルート314が選択されてもよい。あるいは、ノンプレイヤオブジェクトの移動性能として、ノンプレイヤオブジェクトが通常時に比較して増速状態になっている場合に、同一ルート312に代えて変更ルート314が選択されてもよい。
【0131】
さらに、ノンプレイヤオブジェクトのハンドリング性能(曲がりやすさ)に応じて、同一ルート312および変更ルート314のいずれが選択されるのかを決定してもよい。
【0132】
このように、情報処理装置100は、ノンプレイヤオブジェクトの状態として、ノンプレイヤオブジェクトの移動性能が通常時に比較して変化しているか否かを判定し、同一ルート312および変更ルート314のいずれでノンプレイヤオブジェクトを移動させるのかを判定するようにしてもよい。
【0133】
なお、変更ルート314は、ノンプレイヤオブジェクトの移動性能に応じて、動的に決定されてもよい。あるいは、同一ルート312に予め定められた変化を与えることで変更ルート314を静的に決定してもよい。
【0134】
なお、上述した状態変化に限らず、仮想ゲームステージ300の任意の状態、および/または、ノンプレイヤオブジェクトの任意の状態に応じて、同一ルート312および変更ルート314のいずれでノンプレイヤオブジェクトを移動させるのかを判定するようにしてもよい。例えば、ダートや障害物の位置、コースに雨が降っている(スリップしやすい)などのレース毎にランダムで変化する要素に応じて、ルートを変更するようにしてもよい。
【0135】
また、レース中の順位に応じて、ルートを変更するようにしてもよい。例えば、先のレースにおいて、ショートカット316を通行した場合であっても、後のレースにおいては、順位が高い場合には、ショートカット316を通行しないといった処理が可能となる。
【0136】
[G.特定アイテム]
次に、本実施の形態に従う情報処理装置100でのゲーム進行中に発生する特定アイテムの一例について説明する。
【0137】
(g1:特定アイテムの種類)
図15は、本実施の形態に従う情報処理装置100で実行されるレースにおいて発生する特定アイテムの一例を示す図である。図15を参照して、特定アイテムとしては、加速アイテム330および通行可能アイテム332が例示されている。
【0138】
加速アイテム330は、使用されると、ゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)の移動速度を増加させる効果を発生する。すなわち、加速アイテム330は、ノンプレイヤオブジェクトが加速アイテム330を使用しない場合に比較して、ノンプレイヤオブジェクトの移動速度を増加させる。
【0139】
通行可能アイテム332は、使用されると、通常は通行できないルートをゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)が通行できるようになる。例えば、通行可能アイテム332が使用されることで、ルート上に設けられた穴をジャンプするような挙動や、ルート上に配置された障害物を破壊するような作用が有効化されてもよい。すなわち、通行可能アイテム332は、ノンプレイヤオブジェクトが通行可能アイテム332を使用しない場合には通行できないルートを通行できるようにする。
【0140】
なお、図15に示す加速アイテム330および通行可能アイテム332の両方を使用可能とする必要はなく、いずれか一方のみを使用可能としてもよい。逆に、図15に示す特定アイテムに加えて、別の特定アイテムを使用可能にしてもよい。さらに、特定アイテムに限らず、任意のアイテムを使用可能にしてもよい。
【0141】
(g2:アイテム使用の促進/抑制)
図16は、本実施の形態に従う情報処理装置100で実行されるレースにおけるアイテムの保有および使用に係る処理を説明するための図である。特定アイテムを含むアイテムは、情報処理装置100で実行されるレースにおいて発生するゲームイベントとして、確率に基づいてゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)に付与される。すなわち、ゲームイベントは、レースにおいて、ノンプレイヤオブジェクトにアイテムを確率に基づいて付与することを含んでいてもよい。このようにノンプレイヤオブジェクトにアイテムが付与されて、各ゲームオブジェクトが保有しているアイテムの状態は、ノンプレイヤオブジェクトの状態に相当する。
【0142】
図16(A)を参照して、ゲーム進行中には、各ゲームオブジェクトが保有しているアイテムを示す保有アイテム表示オブジェクト338が表示されてもよい。図16に示す例においては、保有アイテム表示オブジェクト338の左側からアイテムが使用されるものとする。すなわち、保有アイテム表示オブジェクト338の左側から右側に向けての並びが使用順序となる。図16(A)は、最も左側にあるアイテムが使用されて、当初3つ保有していたアイテムが2つに減る状態を示す。
【0143】
このように、ゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)が保有するアイテムは、予め定められた使用順序に従って使用されることになる。
【0144】
なお、プレイヤオブジェクトについては、ユーザが明示的な操作を行うことで、アイテムが使用される。但し、使用の明示的な操作を行わなくても、プレイヤオブジェクトがアイテムを所持しているだけ、あるいは、取得した瞬間に、対応する効果を生じるようにしてもよい。
【0145】
上述したように、特定アイテムを保有しているか否かに応じて、ノンプレイヤオブジェクトをいずれのルートで移動させるのかが判定される。そのため、ノンプレイヤオブジェクトについては、分岐区間の近傍を基準として、アイテムの使用を制御するようにしてもよい。
【0146】
図16(B)に示す例では、ノンプレイヤオブジェクトが通常アイテム336および特定アイテムの一例である加速アイテム330を保有している。このとき、加速アイテム330の使用順序は2番目になっており、ノンプレイヤオブジェクトが分岐区間の近傍に到達した時点でアイテムを使用したとしても、使用されるアイテムが加速アイテム330ではなく、通常アイテム336となる。
【0147】
そこで、より自然な動作制御を行う(すなわち、現実のプレイヤであれば行うであろう操作を実現する)ために、ノンプレイヤオブジェクトに通常アイテム336を先に使用させて、分岐区間の近傍に到達した時点で加速アイテム330を使用できる状態にしておいてもよい。このように、情報処理装置100(図5のアイテム管理モジュール158)は、ノンプレイヤオブジェクトが保有している特定アイテム(例えば、加速アイテム330)の使用順序が2番目以降である場合に、特定アイテムの使用順序が1番目になるまで、特定アイテム以外のアイテム(例えば、通常アイテム336)を、特定アイテムが含まれない場合に比較して、ノンプレイヤオブジェクトに早く使用させるようにしてもよい。
【0148】
図16(C)に示す例では、ノンプレイヤオブジェクトが特定アイテムの一例である加速アイテム330のみを保有している。このとき、加速アイテム330の使用順序は1番目になっており、ノンプレイヤオブジェクトが分岐区間の近傍に到達する前に加速アイテム330を使用してしまうと、分岐区間の近傍では加速アイテム330を使用できなくなる。
【0149】
そこで、より自然な動作制御を行う(すなわち、現実のプレイヤであれば行うであろう操作を実現する)ために、ノンプレイヤオブジェクトに加速アイテム330を使用させるタイミングを、分岐区間の近傍に到達するまで遅らせるようにしておいてもよい。このように、情報処理装置100(図5のアイテム管理モジュール158)は、ノンプレイヤオブジェクトが保有する特定アイテム(例えば、加速アイテム330)の使用順序が1番目である場合に、ノンプレイヤオブジェクトが近傍区間の近傍(すなわち、変更ルート314の開始点の近傍)に到達するまで、特定アイテムを保有させ続けさせてもよい。
【0150】
上述したように、ノンプレイヤオブジェクトによる特定アイテムを含むアイテムの使用を促進あるいは抑制することで、レースの趣向性を高めることができる。
【0151】
[H.処理手順]
次に、本実施の形態に従うゲームシステム1の情報処理装置100において実行される処理手順についてより詳細に説明する。
【0152】
図17および図18は、本実施の形態に従う情報処理装置100において実行される処理手順を示すフローチャートである。すなわち、図17および図18には、情報処理装置100のコンピュータにおいて実行される情報処理方法が示される。
【0153】
図17および図18に示す各ステップは、典型的には、情報処理装置100のプロセッサ102が情報処理プログラム(システムプログラム112および/またはアプリケーションプログラム114)を実行することで実現される。以下では、図3に示すシーケンスチャートと対応付けて説明する。
【0154】
図17および図18を参照して、情報処理装置100は、ユーザからレース開始操作を受け付ける(ステップS5)。より具体的には、情報処理装置100は、レースゲーム開始の操作を受け付けると(ステップS100)、メニュー画面などを表示し(ステップS102)、レースが行われるコース、プレイヤオブジェクトのキャラクタ、レベルなどの選択を受け付ける(ステップS104)。
【0155】
続いて、情報処理装置100は、プレイヤオブジェクトの他にレースに参加するノンプレイヤオブジェクトの数を決定し(ステップS106)、各ノンプレイヤオブジェクトに対応付ける履歴情報を取得するための履歴情報要求を管理サーバ200へ送信する(ステップS108)(図3に示すステップS6に相当)。情報処理装置100は、履歴情報要求に応答して管理サーバ200から送信される履歴情報を取得し(ステップS110)、ノンプレイヤオブジェクトに取得した履歴情報を対応付ける(ステップS112)(図3に示すステップS9に相当)。
【0156】
続いて、情報処理装置100は、レースを開始するための準備処理を実行する。具体的には、情報処理装置100は、ユーザによる選択内容に応じて、仮想ゲームステージ300の状態である仮想ゲームステージ状態166を初期化する(ステップS114)とともに、初期状態のプレイヤオブジェクト状態162を生成する(ステップS116)。また、情報処理装置100は、必要数のノンプレイヤオブジェクト状態164を生成する(ステップS118)。
【0157】
続いて、情報処理装置100は、レースの実行に係る処理を開始する。より具体的には、情報処理装置100は、発生した乱数に基づいて、何らのゲームイベントを発生するか否かを判定する(ステップS120)。何らのゲームイベントを発生すべきと判定されると(ステップS120においてYES)、情報処理装置100は、発生すべきゲームイベントの内容を決定する(ステップS122)。何らのゲームイベントを発生すべきと判定されなければ(ステップS120においてNO)、ステップS122の処理はスキップされる。情報処理装置100は、ステップS122の内容も考慮して、仮想ゲームステージ300の状態である仮想ゲームステージ状態166を更新する(ステップS124)。
【0158】
プレイヤオブジェクトに関して、ステップS130~S134の処理が実行され、各ノンプレイヤオブジェクトに関して、ステップS140~S150の処理が実行される。ステップS140~S150の処理は、ノンプレイヤオブジェクトの数だけ並列に実行されることになる。
【0159】
プレイヤオブジェクトに関して、情報処理装置100は、ユーザ操作を受け付け(ステップS130)、受け付けたユーザ操作に応じて、プレイヤオブジェクト340の位置および移動速度やアイテムの保有の状態を示すプレイヤオブジェクト状態162を更新する(ステップS132)。また、情報処理装置100は、ユーザ操作に応じたプレイヤオブジェクト340の移動ルートを履歴情報として記録する(ステップS134)。
【0160】
ノンプレイヤオブジェクトに関して、情報処理装置100は、発生した乱数に基づいて、何らのアイテムを付与するか否かを判定する(ステップS140)。何らのアイテムを付与すべきと判定されると(ステップS140においてYES)、情報処理装置100は、付与すべきアイテムの種類を決定する(ステップS142)。何らのアイテムも付与する必要はないと判定されなければ(ステップS140においてNO)、ステップS142の処理はスキップされる。
【0161】
情報処理装置100は、ノンプレイヤオブジェクトが保有しているアイテムに特定アイテムが含まれるか否か、および、(含まれている場合の)特定アイテムの使用順序等に基づいて、アイテムの使用を促進または抑制する必要があるか否かを判定する(ステップS144)。アイテムの使用を促進または抑制する必要があると判定されると(ステップS144においてYES)、情報処理装置100は、アイテム使用の促進または抑制に係る処理を実行する(ステップS146)(図16など参照)。
【0162】
情報処理装置100は、ゲームイベントに起因するレース状態(プレイヤオブジェクト340の状態を含む)に応じて、ノンプレイヤオブジェクトを、対応付けられた履歴情報により特定される同一ルート312と、同一ルート312とは異なる変更ルート314とのうちいずれで移動させるかを判定する(ステップS148)。
【0163】
そして、情報処理装置100は、ノンプレイヤオブジェクト342の位置および移動速度やアイテムの保有の状態を示すノンプレイヤオブジェクト状態164を更新する(ステップS150)。
【0164】
そして、情報処理装置100は、仮想ゲームステージ状態166、プレイヤオブジェクト状態162、ノンプレイヤオブジェクト状態164に基づいて、表示内容を更新する(ステップS160)。情報処理装置100は、レースの終了条件が成立したか否かを判定する(ステップS162)。レースの終了条件が成立していなければ(ステップS162においてNO)、ステップS120以下の処理が繰り返される。
【0165】
レースの終了条件が成立していれば(ステップS162においてYES)、情報処理装置100は、レース結果を表示する(ステップS164)とともに、プレイヤオブジェクト340の移動ルートを示す履歴情報を出力する(ステップS166)。そして、処理は終了する。
【0166】
[I.変形例]
図17および図18に示す処理手順においては、先に行われたレースで取得された履歴情報116(図3のステップS1~S4など参照)は、プレイヤオブジェクトの移動ルートを含むことを主として説明したが、ノンプレイヤオブジェクトの移動ルート(すなわち、情報処理装置100による動作制御の結果)を含むようにしてもよい。
【0167】
履歴情報116を取得するための先に行われるレースは、複数のゲームオブジェクトが競うものに限られず、プレイヤオブジェクトあるいはノンプレイヤオブジェクトが単独で行うレース(一種のタイムトライアル)であってもよい。また、先に行われるレースはランダム性を有していなくてもよい(すなわち、同じ入力に対して同じ結果が出力されるようにしてもよい)。
【0168】
あるレースの実行に用いられる先のレースで取得された履歴情報116については、同じユーザの履歴情報116であってもよい。この場合には、あるユーザが過去のプレイでの操作により得られた挙動と同様の挙動を行うノンプレイヤオブジェクトが当該ユーザの競争相手となる。この場合には、あたかも、ユーザは、過去の自分と競争することができる。
【0169】
履歴情報116が情報処理装置100のストレージ110に格納される場合において、同一の情報処理装置100を複数のユーザが利用するときには、先にレースを行ったユーザの挙動と同様の挙動を行うノンプレイヤオブジェクトを競争相手とすることもできる。この場合には、一台の情報処理装置100を用いて、あたかも複数のユーザ同士でレースを行うことができる。
【0170】
図10および図11に示すように、レースに参加するゲームオブジェクト(プレイヤオブジェクトおよびノンプレイヤオブジェクト)に対応付けられるキャラクタを任意に選択できるようにしてもよい。この場合には、履歴情報116にキャラクタを特定するための情報を対応付けて格納しておくことで、あるキャラクタが選択されたときに、当該選択されたキャラクタに対応する履歴情報116のうちから、適切な履歴情報116を選択できる。但し、選択されたキャラクタとは別のキャラクタに対応する履歴情報116を選択できるようにしてもよい。
【0171】
図3に示すシーケンスチャートにおいては、管理サーバ200が格納している履歴情報を利用してレースが実行されるが、管理サーバ200が保持している履歴情報を必ずしも情報処理装置100にダウンロードする必要はない。例えば、管理サーバ200が格納している履歴情報を都度参照することでレースを実行してもよい。また、ある情報処理装置100に向けられた1または複数の履歴情報を別の情報処理装置100と共有するようにしてもよい。
【0172】
なお、ノンプレイヤオブジェクトの移動速度は、対応する履歴情報が取得されたレースでの移動速度とは異なるものとしてもよい。例えば、レース中に走行を妨害するようなアイテムをぶつけられて減速した場合には、その遅れを取り戻すために、加速するように制御してもよい。
【0173】
また、レース中においては、他のゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)との関係で移動ルートを適宜選択するようにしてもよい。例えば、ノンプレイヤオブジェクトの周囲に特殊状態(例えば、無敵状態)のゲームオブジェクトがいる場合には、特殊状態のゲームオブジェクトに接触すると、クラッシュやコースアウトしてしまうので、そのような特殊状態のゲームオブジェクトを避けるような移動ルートを選択するようにしてもよい。
【0174】
また、レース中においては、ノンプレイヤオブジェクトの後方から他のゲームオブジェクト(プレイヤオブジェクトおよび/またはノンプレイヤオブジェクト)が迫ってきた場合に、追い抜きを防止するために、当該他のゲームオブジェクトの進路を妨害するような移動ルートをするようにしてもよい。
【0175】
また、履歴情報116にはゲームオブジェクトが特別な挙動を行ったこと(例えば、ルートの上空を通行する滑空ルートを通行)が記録されているものの、特別な挙動の最中に他のゲームオブジェクトからの攻撃などによって、特別な挙動が無効化されてしまった場合(例えば、通常のルートに落下)には、無効化された後に、履歴情報116に記録された特別な挙動に復帰することは不自然な挙動となるので、移動ルートとして、滑空ルートではなく、通常のルートを選択するようにしてもよい。
【0176】
同じコースを複数回周回するようなレースにおいては、先に行われたレースのある周における移動ルートに応じて、後に行われるレースの別の周の移動ルートを決定してもよい。例えば、先のレースの第1周目において、特定アイテムを使用してショートカット316を通行したものの、第2周目においては特定アイテムを有しておらずショートカット316を通行できなかった場合において、後のレースの第2周目に特定アイテムを有していれば、ショートカット316を通行するようにしてもよい。このように、異なる周回における履歴情報を用いて、ルート選択やルート決定などを行ってもよい。
【0177】
[J.利点]
本実施の形態によれば、先に行われたレースにおいてゲームオブジェクトが移動した移動ルートを特定可能な履歴情報を利用しつつ、後のレースにおいては、当該後のレースで発生するゲームイベントに起因するレース状態に応じて、先のレースで取得された履歴情報により特定される第1移動ルートと、当該第1移動ルートとは異なる第2移動ルートとのうちいずれで、ノンプレイヤオブジェクトを移動させるかを判定する。このように、ゲームイベントに起因するレース状態に応じて移動ルートを選択することで、仮想ゲームステージで実行されるレースの状況に応じて、より自然な動作制御を実現できる。
【0178】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0179】
1 ゲームシステム、100 情報処理装置、102 プロセッサ、104 主メモリ、106 ディスプレイ、108 タッチパネル、110 ストレージ、112 システムプログラム、114 アプリケーションプログラム、116 履歴情報、120 入力部、122 インジケータ、124 スピーカ、126 通信モジュール、128 マイク、130 カメラ、132 バス、150 ゲーム実行モジュール、152 履歴情報取得モジュール、154 対応付けモジュール、156 ルート判定モジュール、158 アイテム管理モジュール、160 履歴情報出力モジュール、162 プレイヤオブジェクト状態、164 ノンプレイヤオブジェクト状態、166 仮想ゲームステージ状態、200 管理サーバ、300 仮想ゲームステージ、302 コース、304 基準位置、308 ゾーン、310 移動ルート、312 同一ルート、314 変更ルート、316 ショートカット、318 特殊区間、320 障害物オブジェクト、322,324 曲率半径、330 加速アイテム、332 通行可能アイテム、336 通常アイテム、338 保有アイテム表示オブジェクト、340 プレイヤオブジェクト、342 ノンプレイヤオブジェクト、1161 ユーザ情報、1162 コース情報、1163 キャラクタ情報、1164 移動記録、1165,1166 特別挙動記録。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18