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

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

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

特開2024-68952ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
<>
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図1
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図2
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図3
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図4
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図5
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図6
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図7
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図8
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図9
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図10
  • 特開-ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068952
(43)【公開日】2024-05-21
(54)【発明の名称】ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
(51)【国際特許分類】
   A63F 13/577 20140101AFI20240514BHJP
   A63F 13/69 20140101ALI20240514BHJP
   A63F 13/803 20140101ALI20240514BHJP
   A63F 13/533 20140101ALI20240514BHJP
   A63F 13/58 20140101ALI20240514BHJP
【FI】
A63F13/577
A63F13/69 520
A63F13/803
A63F13/533
A63F13/58
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022179656
(22)【出願日】2022-11-09
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【弁理士】
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【弁理士】
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】宇津木 俊
(72)【発明者】
【氏名】木村 美由紀
(57)【要約】
【課題】ゲームの多様性を向上させることが可能なゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法を提供する。
【解決手段】ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択し、選択されたオプションに応じて決定されたそれぞれの性能に基づいて、複数のプレイヤオブジェクトを用いたレースゲームを実行する。そして、レースゲーム中において、プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させ、攻撃の影響を受けたプレイヤオブジェクトを、一時的にクラッシュさせ、クラッシュしたプレイヤオブジェクトについて、第1パラメータに基づいて決定されるクラッシュ回避時間の間は、少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とする。
【選択図】図11
【特許請求の範囲】
【請求項1】
仮想空間内において、複数のユーザによってそれぞれ操作される複数のプレイヤオブジェクトによるレースゲームをコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択するオプション選択手段と、
前記選択されたオプションに応じて決定されたそれぞれの性能に基づいて、前記複数のプレイヤオブジェクトを用いたレースゲームを実行するレースゲーム実行手段と、
前記レースゲーム中において、前記プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させる攻撃実行手段と、
前記攻撃の影響を受けた前記プレイヤオブジェクトを、一時的にクラッシュさせるクラッシュ実行手段と、
前記クラッシュしたプレイヤオブジェクトについて、前記第1パラメータに基づいて決定されるクラッシュ回避時間の間は、前記攻撃実行手段による少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とするクラッシュ回避状態設定手段として機能させる、ゲームプログラム。
【請求項2】
前記第1パラメータは、基準のクラッシュ回避パラメータに対する比率に対応するパラメータであり、
前記クラッシュ回避状態設定手段は、前記基準のクラッシュ回避パラメータに前記第1パラメータに対応する前記比率を乗算した結果に基づいて前記クラッシュ回避時間を算出する、請求項1に記載のゲームプログラム。
【請求項3】
前記クラッシュ回避状態設定手段は、前記クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、前記基準のクラッシュ回避パラメータを変更して当該プレイヤオブジェクトの前記クラッシュ回避時間を算出する、請求項2に記載のゲームプログラム。
【請求項4】
ユーザの操作入力に応じて、当該ユーザによって操作される前記プレイヤオブジェクトの動作を制御するプレイヤオブジェクト制御手段として、さらに前記コンピュータを機能させ、
前記クラッシュ実行手段は、前記クラッシュ中のプレイヤオブジェクトを、ユーザの操作入力に応じた前記プレイヤオブジェクト制御手段による前記プレイヤオブジェクトの加速が少なくとも制限される状態とし、
前記クラッシュ回避状態設定手段は、前記クラッシュするクラッシュ期間の終了時点からの期間を少なくとも含むように前記クラッシュ回避時間を設定する、請求項1乃至3の何れか1つに記載のゲームプログラム。
【請求項5】
前記クラッシュ実行手段は、前記クラッシュしたプレイヤオブジェクトに設定されている前記第1パラメータに関わりなく、当該プレイヤオブジェクトの前記クラッシュ期間の長さを設定する、請求項4に記載のゲームプログラム。
【請求項6】
前記クラッシュ実行手段は、前記クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、当該プレイヤオブジェクトの前記クラッシュ期間の長さを設定し、
前記クラッシュ回避状態設定手段は、前記クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、当該プレイヤオブジェクトの前記クラッシュ回避時間を設定する、請求項5に記載のゲームプログラム。
【請求項7】
前記オプション選択手段は、前記複数のオプションから選択を促す画像を表示画面に表示するオプション選択画像表示制御手段を含み、
前記オプション選択画像表示制御手段は、選択されるオプションにより設定される前記第1パラメータを前記表示画面に示すことなく、当該選択されるオプションにより設定される前記移動性能を示す表示を前記表示画面に表示する、請求項1に記載のゲームプログラム。
【請求項8】
前記レースゲーム実行手段は、前記選択されたオプションに応じて前記プレイヤオブジェクトを異なる外観に設定し、当該外観をそれぞれ有する前記複数のプレイヤオブジェクトを用いたレースゲームを実行する、請求項1に記載のゲームプログラム。
【請求項9】
前記クラッシュ実行手段は、さらに前記攻撃実行手段により実行される前記プレイヤオブジェクトの攻撃に基づかずに前記仮想空間内に存在するオブジェクトの影響を受けた前記プレイヤオブジェクトを、前記クラッシュさせ、
前記クラッシュ回避状態設定手段は、前記クラッシュ回避時間の間は、前記仮想空間内に存在する少なくとも一部の前記オブジェクトの影響による再クラッシュをさせない、請求項1に記載のゲームプログラム。
【請求項10】
仮想空間内において、複数のユーザによってそれぞれ操作される複数のプレイヤオブジェクトによるレースゲームを実行するゲーム装置であって、
ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択するオプション選択手段と、
前記選択されたオプションに応じて決定されたそれぞれの性能に基づいて、前記複数のプレイヤオブジェクトを用いたレースゲームを実行するレースゲーム実行手段と、
前記レースゲーム中において、前記プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させる攻撃実行手段と、
前記攻撃の影響を受けた前記プレイヤオブジェクトを、一時的にクラッシュさせるクラッシュ実行手段と、
前記クラッシュしたプレイヤオブジェクトについて、前記第1パラメータに基づいて決定されるクラッシュ回避時間の間は、前記攻撃実行手段による少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とするクラッシュ回避状態設定手段とを備える、ゲーム装置。
【請求項11】
仮想空間内において、複数のユーザによってそれぞれ操作される複数のプレイヤオブジェクトによるレースゲームを実行するゲームシステムであって、
ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択するオプション選択手段と、
前記選択されたオプションに応じて決定されたそれぞれの性能に基づいて、前記複数のプレイヤオブジェクトを用いたレースゲームを実行するレースゲーム実行手段と、
前記レースゲーム中において、前記プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させる攻撃実行手段と、
前記攻撃の影響を受けた前記プレイヤオブジェクトを、一時的にクラッシュさせるクラッシュ実行手段と、
前記クラッシュしたプレイヤオブジェクトについて、前記第1パラメータに基づいて決定されるクラッシュ回避時間の間は、前記攻撃実行手段による少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とするクラッシュ回避状態設定手段とを備える、ゲームシステム。
【請求項12】
仮想空間内において、複数のユーザによってそれぞれ操作される複数のプレイヤオブジェクトによるレースゲームを実行するゲーム処理方法であって、
ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択するオプション選択ステップと、
前記選択されたオプションに応じて決定されたそれぞれの性能に基づいて、前記複数のプレイヤオブジェクトを用いたレースゲームを実行するレースゲーム実行ステップと、
前記レースゲーム中において、前記プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させる攻撃実行ステップと、
前記攻撃の影響を受けた前記プレイヤオブジェクトを、一時的にクラッシュさせるクラッシュ実行ステップと、
前記クラッシュしたプレイヤオブジェクトについて、前記第1パラメータに基づいて決定されるクラッシュ回避時間の間は、前記攻撃実行手段による少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とするクラッシュ回避状態設定ステップとを含む、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間におけるゲームを実行するゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法に関する。
【背景技術】
【0002】
従来、仮想空間におけるレースゲームにおいて、ユーザが選択するキャラクタやパーツにより、移動性能を変える情報処理装置がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-15061号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1で開示された情報処理装置では、より移動性能が優れたキャラクタやパーツ、またはより移動環境に適した性能を有するキャラクタやパーツにユーザの選択が偏ることが考えられ、他のキャラクタやパーツがユーザによって選択されにくく、ゲームの多様性が抑制される恐れがある。
【0005】
それ故、本発明の目的は、ゲームの多様性を向上させることが可能なゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は例えば以下の(1)~(9)のような構成を採用し得る。
【0007】
(1)
本発明のゲームプログラムの一構成例は、仮想空間内において、複数のユーザによってそれぞれ操作される複数のプレイヤオブジェクトによるレースゲームをコンピュータに実行させる。ゲームプログラムは、オプション選択手段、レースゲーム実行手段、攻撃実行手段、クラッシュ実行手段、およびクラッシュ回避状態設定手段として、コンピュータを機能させる。オプション選択手段は、ユーザの操作入力に応じて、少なくとも移動性能および第1パラメータの両方を含むプレイヤオブジェクトの性能に関する複数のオプションから少なくとも1つのオプションを選択する。レースゲーム実行手段は、選択されたオプションに応じて決定されたそれぞれの性能に基づいて、複数のプレイヤオブジェクトを用いたレースゲームを実行する。攻撃実行手段は、レースゲーム中において、プレイヤオブジェクトに他のプレイヤオブジェクトを攻撃させる。クラッシュ実行手段は、攻撃の影響を受けたプレイヤオブジェクトを、一時的にクラッシュさせる。クラッシュ回避状態設定手段は、クラッシュしたプレイヤオブジェクトについて、第1パラメータに基づいて決定されるクラッシュ回避時間の間は、攻撃実行手段による少なくとも一部の攻撃の影響による再クラッシュをさせないクラッシュ回避状態とする。
【0008】
上記(1)の構成によれば、クラッシュ回避状態となるクラッシュ回避時間がユーザにより選択されたオプションに対応して決定されるため、レース戦略に応じて多様なオプションをユーザが選択する可能性が高くなり、ゲームの多様性を向上させることができる。
【0009】
(2)
上記(1)の構成において、第1パラメータは、基準のクラッシュ回避パラメータに対する比率に対応するパラメータでもよい。この場合、上記クラッシュ回避状態設定手段は、基準のクラッシュ回避パラメータに第1パラメータに対応する比率を乗算した結果に基づいてクラッシュ回避時間を算出してもよい。
【0010】
上記(2)の構成によれば、クラッシュ回避時間の調整が必要となる場合に、基準のクラッシュ回避パラメータを変更することで一律のクラッシュ回避時間の調整が可能となる。
【0011】
(3)
上記(2)の構成において、上記クラッシュ回避状態設定手段は、クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、基準のクラッシュ回避パラメータを変更して当該プレイヤオブジェクトのクラッシュ回避時間を算出してもよい。
【0012】
上記(3)の構成によれば、クラッシュの要因によって異なる基準のクラッシュ回避パラメータを設定することにより、レースゲームに対する興趣性を向上させることができる。
【0013】
(4)
上記(1)乃至(3)の何れか1つの構成において、プレイヤオブジェクト制御手段として、さらにコンピュータを機能させてもよい。プレイヤオブジェクト制御手段は、ユーザの操作入力に応じて、当該ユーザによって操作されるプレイヤオブジェクトの動作を制御する。この場合、上記クラッシュ実行手段は、クラッシュ中のプレイヤオブジェクトを、ユーザの操作入力に応じたプレイヤオブジェクト制御手段によるプレイヤオブジェクトの加速が少なくとも制限される状態としてもよい。上記クラッシュ回避状態設定手段は、クラッシュするクラッシュ期間の終了時点からの期間を少なくとも含むようにクラッシュ回避時間を設定してもよい。
【0014】
上記(4)の構成によれば、ユーザの操作入力に応じてプレイヤオブジェクトを加速させる制御が少なくとも制限される状態が解除されてからの再クラッシュさせない時間を変えることで、当該時間を考慮した操作を行うことができるため、レースゲームに対する興趣性を向上させることができる。
【0015】
(5)
上記(4)の構成において、上記クラッシュ実行手段は、クラッシュしたプレイヤオブジェクトに設定されている第1パラメータに関わりなく、当該プレイヤオブジェクトのクラッシュ期間の長さを設定してもよい。
【0016】
上記(5)の構成によれば、クラッシュ期間の長さについては選択されたオプションに応じた変更が行われないため、当該クラッシュ期間中におけるプレイヤオブジェクトのモーションを同じものにすることができ、演算量や開発コストを減少させることができる。
【0017】
(6)
上記(5)の構成において、上記クラッシュ実行手段は、クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、当該プレイヤオブジェクトのクラッシュ期間の長さを設定してもよい。上記クラッシュ回避状態設定手段は、クラッシュしたプレイヤオブジェクトにおける当該クラッシュの要因に基づいて、当該プレイヤオブジェクトのクラッシュ回避時間を設定してもよい。
【0018】
上記(6)の構成によれば、クラッシュした要因に基づいて、クラッシュ期間およびクラッシュ回避時間が設定されるため、当該要因に対する臨場感を高めることができる。
【0019】
(7)
上記(1)乃至(6)の何れか1つの構成において、上記オプション選択手段は、オプション選択画像表示制御手段を含んでもよい。オプション選択画像表示制御手段は、複数のオプションから選択を促す画像を表示画面に表示する。オプション選択画像表示制御手段は、選択されるオプションにより設定される第1パラメータを表示画面に示すことなく、当該選択されるオプションにより設定される移動性能を示す表示を表示画面に表示してもよい。
【0020】
上記(7)の構成によれば、第1パラメータが表示されることによる混乱を避けるとともに、プレイヤオブジェクトに設定される当該第1パラメータ以外の走行性能を優先した選択を促すことができる。
【0021】
(8)
上記(1)乃至(7)の何れか1つの構成において、上記レースゲーム実行手段は、選択されたオプションに応じてプレイヤオブジェクトを異なる外観に設定し、当該外観をそれぞれ有する複数のプレイヤオブジェクトを用いたレースゲームを実行してもよい。
【0022】
上記(8)の構成によれば、選択されたオプションに応じてプレイヤオブジェクトが異なる外観に設定されるレースゲームにおいて、多様なオプションをユーザが選択する可能性が高くなるため、類似した外観のプレイヤオブジェクトが多数出場するようなレースゲームが行われることを避けることができ、プレイヤオブジェクトが判別しやすくなり、ゲームの興趣性が向上する。
【0023】
(9)
上記(1)乃至(8)の何れか1つの構成において、上記クラッシュ実行手段は、さらに攻撃実行手段により実行されるプレイヤオブジェクトの攻撃に基づかずに仮想空間内に存在するオブジェクトの影響を受けたプレイヤオブジェクトを、クラッシュさせてもよい。上記クラッシュ回避状態設定手段は、クラッシュ回避時間の間は、仮想空間内に存在する少なくとも一部のオブジェクトの影響による再クラッシュをさせなくてもよい。
【0024】
上記(9)の構成によれば、プレイヤオブジェクトの攻撃に基づかずに仮想空間内に存在するオブジェクトの影響による再クラッシュに対してもクラッシュ回避状態となるクラッシュ回避時間がユーザにより選択されたオプションに対応して決定されるため、レース戦略に応じて多様なオプションをユーザが選択する可能性がさらに高くなり、ゲームの多様性をさらに向上させることができる。
【0025】
また、本発明は、ゲーム装置、ゲームシステム、およびゲーム処理方法の形態で実施されてもよい。
【発明の効果】
【0026】
本発明によれば、ゲーム戦略に応じて多様なオプションをユーザが選択する可能性が高くなり、ゲームの多様性を向上させることができる。
【図面の簡単な説明】
【0027】
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
図2】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
図3】プレイヤオブジェクトPO1が他のプレイヤオブジェクトPO2から攻撃を受ける直前のゲーム画像がディスプレイ12に表示される例を示す図
図4】クラッシュ状態となったプレイヤオブジェクトPO1のゲーム画像例を示す図
図5】クラッシュ回避状態となったプレイヤオブジェクトPO1のゲーム画像例を示す図
図6】プレイヤオブジェクトPO1のオプションを選択する際にディスプレイ12に表示される例を示す図
図7】合計レベル値に対応するクラッシュ回避時間比率を示す対応テーブル例を示す図
図8】本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図
図9】ゲームシステム1で実行されるゲーム処理の一例を示すフローチャート
図10図9におけるステップS130において行われるオプション選択処理の詳細の一例を示すサブルーチン
図11図9におけるステップS126において行われるレース中処理の詳細の一例を示すサブルーチン
【発明を実施するための形態】
【0028】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含み、情報処理システムとしても機能する。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0029】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0030】
本体装置2は、ディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0031】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0032】
本体装置2は、所定の種類の記憶媒体を装着可能な形状を有するスロット23(図2参照)を備える。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。
【0033】
左コントローラ3は、アナログスティック32および操作ボタンの一例である4つの操作ボタン33~36を備える。右コントローラ4は、アナログスティック52および操作ボタンの一例である4つの操作ボタン53~56を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0034】
図2は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0035】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0036】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0037】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0038】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。
【0039】
プロセッサ81は、左側端子17および右側端子21に接続される。プロセッサ81は、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。
【0040】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0041】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0042】
左コントローラ3は、各ボタン103(具体的には、ボタン33~37等)を備える。また、左コントローラ3は、アナログスティック(図2では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し端子42を介して本体装置2へ出力する。
【0043】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、右コントローラ4は、各ボタン113(具体的には、ボタン53~57等)およびアナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0044】
なお、本体装置2、左コントローラ3、および/または右コントローラ4は、本体装置2、左コントローラ3、および/または右コントローラ4の動きおよび/または姿勢に応じたデータを出力する慣性センサを備えていてもよい。上記慣性センサの検出結果は、プロセッサ81に出力される。プロセッサ81は、上記慣性センサの検出結果に基づいて、本体装置2、左コントローラ3、および/または右コントローラ4の動きおよび/または姿勢に関する情報を算出することが可能である。
【0045】
このように、一体型装置となったゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、本体装置2のタッチパネル13に対するタッチ操作、本体装置2、左コントローラ3、および/または右コントローラ4の動きおよび/または姿勢を変化させる操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームプレイが行われる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作に応じて、仮想空間内におけるプレイヤオブジェクトを用いたゲームプレイが可能となる。
【0046】
また、上記第1の通信態様を用いて複数のゲームシステム1がネットワークおよびサーバを介して接続されることにより、複数のゲームシステム1の間で1つのゲームが実行されてもよい。ゲームシステム1は、ネットワークを介してサーバとの間でクライアント-サーバシステムを構成する。例えば、ゲームシステム1は、所定のアプリケーションを実行することによって、サーバとの接続を確立して、当該サーバとの通信が可能となる。
【0047】
サーバは、通信パケットの送受信を行うことで、ネットワークを介してゲームシステム1と通信を行う。一例として、サーバは、複数のゲームシステム1との間で行われるゲーム進行を管理する処理やゲーム処理や通信処理に必要な各種データ等を記憶して管理する処理のほか、ゲームシステム1との通信リンクを確立し、ネットワークにおけるデータ搬送制御や経路選択を行う。また、サーバは、複数のゲームシステム1との間でゲームを行う場合、当該ゲームを行うゲームシステム1の組み合わせや当該ゲームシステム1の間のデータ通信の管理を行う。なお、ネットワークを用いたデータ送受信に所定のログイン処理が必要なシステムである場合、当該ログインしようとしているユーザが正規のユーザか否かを判別する認証処理をサーバにおいて行ってもかまわない。また、サーバは、単一のサーバマシンから構成されてもよいし、複数のサーバマシンによって構成されてもよい。
【0048】
また、他の実施例において、上記第2の通信態様を用いて複数のゲームシステム1が接続されることにより、複数のゲームシステム1の間で1つのゲームが実行されてもよい。例えば、ゲームシステム1は、所定のアプリケーションを実行することによって、他のゲームシステム1との間の接続を確立して、複数のゲームシステム1の間での通信が可能となる。この場合、サーバにおける処理は、何れかのゲームシステム1において適宜行われればよい。なお、複数のゲームシステム1の間のピアツーピア(P2P)によりゲームが実行される場合であっても、一部の機能、例えばレースゲームに出場するユーザをマッチングする処理が上記サーバで実行されてもよい。
【0049】
図3図8を用いてゲームシステム1において行われるゲーム処理の概要について説明する。なお、図3は、プレイヤオブジェクトPO1が他のプレイヤオブジェクトPO2から攻撃を受ける直前のゲーム画像がディスプレイ12に表示される例を示す図である。図4は、クラッシュ状態となったプレイヤオブジェクトPO1のゲーム画像例を示す図である。図5は、クラッシュ回避状態となったプレイヤオブジェクトPO1のゲーム画像例を示す図である。図6は、プレイヤオブジェクトPO1のオプションを選択する際にディスプレイ12に表示される例を示す図である。図7は、合計レベル値に対応するクラッシュ回避時間比率を示す対応テーブル例を示す図である。
【0050】
本体装置2のネットワーク通信部82は、上記第1の通信態様または上記第2の通信態様を用いて、他のゲームシステム1に各種データを送信し、他のゲームシステム1から送信されたデータを受信する。本実施例のゲームでは、互いに接続される複数のゲームシステム1を用いて、ゲームシステム1のユーザが制御するプレイヤオブジェクトと他のゲームシステム1のユーザが制御する他のプレイヤオブジェクト(敵オブジェクト)とが、同じ仮想空間のレースコースに登場して順位を競うレースゲームが行われる。
【0051】
図3において、ディスプレイ12には、ゲームシステム1でプレイされているレースゲームに対応したゲーム画像が表示され、その一例としてプレイヤオブジェクトPO1がレースゲームを行う一場面が表示されている。例えば、上記レースゲームにおいて、プレイヤオブジェクトPO1は、仮想空間内に設けられたコース上をカートに乗車して走行し、図3に示す例では「通常走行状態」でプレイヤオブジェクトPO1が走行している。上記コース上には、別のカートに乗車する他のプレイヤオブジェクト(他のユーザによって操作される敵オブジェクト)も走行しており、当該コース上に設けられたゴールに到着するまでの順位が競われる。図3の一例では、上記コース上に他のユーザによって操作される他のプレイヤオブジェクトの一例として、プレイヤオブジェクトPO2が表示されている。なお、後述する他のプレイヤオブジェクトは、コンピュータ(例えば、プロセッサ81)によって動作が制御されるノンプレイヤオブジェクトが含まれていてもよい。一例として、ゲームシステム1のユーザが制御するプレイヤオブジェクトを除いて、全てノンプレイヤオブジェクトが出場するレースゲームが行われてもよく、この場合、ゲームシステム1が他の装置と通信することなく当該レースゲームが行われてもよい。
【0052】
ゲーム画像を生成するための仮想カメラは、プレイヤオブジェクトPO1の走行に応じてプレイヤオブジェクトPO1の後方からプレイヤオブジェクトPO1の進行方向を映すように配置される。
【0053】
ゲームシステム1のユーザは、左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作によって、「通常走行状態」のプレイヤオブジェクトPO1の移動速度や移動方向を制御することができる。例えば、プレイヤオブジェクトPO1は、ユーザのアクセル操作(Aボタン(操作ボタン53)を押下する操作)に応じて加速し、ユーザのブレーキ操作(Bボタン(操作ボタン54)を押下する操作)に応じて減速する。また、プレイヤオブジェクトPO1は、ユーザのハンドル操作(スティック32を左右に傾倒する操作)に応じて左右に移動方向を変化させる。
【0054】
他の実施例として、プレイヤオブジェクトPO1は、コースに沿って自動的に前進走行するように制御され、左右の移動方向に関してユーザのハンドル操作による制御が可能に構成されてもよい。また、プレイヤオブジェクトPO1は、コースに沿って自動的に左右にハンドル操作されるものであってもよい。一例として、コースが右に曲がっていれば、ユーザがハンドル操作しない場合であっても、プレイヤオブジェクトPO1の移動方向がある程度は右に変化し、右ハンドル操作があった場合にさらにプレイヤオブジェクトPO1の移動方向が右に変化するようなものであってもよい。
【0055】
また、プレイヤオブジェクトPO1は、ユーザのアイテム使用操作(Lボタン(操作ボタン37)を押下する操作)に応じて、レース中に他のプレイヤオブジェクトを攻撃することができる。一例として、プレイヤオブジェクトPO1は、上記アイテム使用操作に応じて、プレイヤオブジェクトPO1が所持している攻撃用オブジェクトOBJをコース上に発射することができる。なお、プレイヤオブジェクトPO1が発射可能な攻撃用オブジェクトOBJが複数種類用意されていてもよく、この場合、発射される攻撃用オブジェクトOBJの種類は、ランダムで選択されてもよいし、ユーザの操作入力に応じて選択されてもよい。また、攻撃用オブジェクトOBJが発射される方向は、プレイヤオブジェクトPO1に対して固定された方向(例えば、プレイヤオブジェクトPO1の前方や後方)であってもよいし、ユーザの操作入力に基づいた方向であってもよい。また、攻撃用オブジェクトOBJは、プレイヤオブジェクトPO1の前方を走行している他のプレイヤオブジェクトや特定のプレイヤオブジェクトを自動的に追尾するものでもよいし、コース上に設置されるものでもよい。
【0056】
プレイヤオブジェクトPO1が攻撃用オブジェクトOBJを使用した場合、当該攻撃用オブジェクトOBJの種類に応じて、プレイヤオブジェクトPO1がレースを進める上で有利となる効果を得ることができる。例えば、発射された攻撃用オブジェクトOBJ1が他のプレイヤオブジェクトに衝突した場合、当該衝撃によって他のプレイヤオブジェクトの走行を減速させたり停止させたりすることによる妨害を行うとともに、衝突状況に応じて他のプレイヤオブジェクトが損傷することがある。また、攻撃用オブジェクトOBJ2は、使用されるとコース上に設置されるものである。設置された攻撃用オブジェクトOBJ2に他のプレイヤオブジェクトが衝突した場合、当該他のプレイヤオブジェクトの走行を減速させたり停止させたりする。
【0057】
なお、プレイヤオブジェクトPO1のユーザがアイテム使用操作を行うことにより、他のプレイヤオブジェクトを攻撃しないオブジェクト(アイテム)が使用されてもよい。例えば、プレイヤオブジェクトPO1のユーザがアイテム使用操作を行うことにより、プレイヤオブジェクトPO1の走行性能(例えば、加速する、最高速度が上昇する、曲がりやグリップ力が向上する等)が変わるアイテムが使用されてもよい。
【0058】
図3に示すように、上述した攻撃は、他のプレイヤオブジェクトも可能であり、他のゲームシステム1において他のユーザが上述したアイテム使用操作を行うことにより、当該他のプレイヤオブジェクトが攻撃用オブジェクトOBJを発射することもあり得る。そして、プレイヤオブジェクトPO1が他のプレイヤオブジェクトの攻撃を受けることにより、上述した影響がプレイヤオブジェクトPO1に与えられることもあり得る。図3に示すゲーム画像例では、他のプレイヤオブジェクトPO2が攻撃用オブジェクトOBJをプレイヤオブジェクトPO1に向けてコース上に発射している様子を示している。
【0059】
図4に示すように、他のプレイヤオブジェクトからの攻撃の影響を受けた場合、プレイヤオブジェクトPO1は、「通常走行状態」からコース上で一時的に「クラッシュ状態」となることがあり得る。ここで、本実施例における「クラッシュ状態」は、プレイヤオブジェクトPO1の移動速度が低下し、ユーザによるコントロールが制限される状態になることを示している。また、「クラッシュ状態」は、横転したりスピンしたりするような特定の動作が、さらにプレイヤオブジェクトPO1に対して強制的に行われてもよい。なお、上述した移動速度が低下する状態は、本実施例においてはプレイヤオブジェクトPO1の移動速度が0になる状態である。また、上述した移動速度が低下する状態は、プレイヤオブジェクトPO1の走行状態や攻撃の受け方により、コース上において惰性でしばらく移動する状態も含む。つまり、上述した移動速度が低下する状態は、移動速度が即時に0にならずに移動速度が低下していく状態を含んでいる。また、上述したユーザによるコントロールが制限される状態は、少なくともユーザがアクセル操作を行ってもプレイヤオブジェクトPO1が加速しないあるいはプレイヤオブジェクトPO1の加速が制限されることを示しており、ユーザのハンドル操作によってプレイヤオブジェクトPO1をある程度操ることが可能であってもよい。なお、本実施例では、「クラッシュ状態」中は、再度のクラッシュが生じないように設定されていてもよい。
【0060】
本実施例における「クラッシュ状態」は、第1の例として、他のプレイヤオブジェクトが使用した攻撃用オブジェクトOBJにより生じる。具体的には、一例として、他のプレイヤオブジェクトが発射した攻撃用オブジェクトOBJとの衝突が、「クラッシュ状態」の要因となってもよい。また、一例として、他のプレイヤオブジェクトによってコース上に設置された攻撃用オブジェクトOBJと衝突することが「クラッシュ状態」の要因となってもよい。なお、攻撃用オブジェクトOBJを設置したプレイヤオブジェクトが、自身が設置した当該攻撃用オブジェクトOBJと衝突することにより「クラッシュ状態」となり得る。また、衝突しても「クラッシュ状態」の要因とならない攻撃用オブジェクトOBJがあってもよい。また、一例として、プレイヤオブジェクトの攻撃により使用された攻撃用オブジェクトOBJが直接衝突することにより他のプレイヤオブジェクトが「クラッシュ状態」となり、そこからコース上に生じた爆風や爆発に巻き込まれることが「クラッシュ状態」の要因となってもよい。また、一例として、プレイヤオブジェクトの攻撃により発射された攻撃用オブジェクトOBJが移動するコース上の経路が帯電するなどの状態変化を起こし、当該状態変化している経路に接触することが「クラッシュ状態」の要因となってもよい。
【0061】
本実施例における「クラッシュ状態」は、第2の例として、プレイヤオブジェクトによる攻撃用オブジェクトOBJの使用とは無関係にコース上に存在する特定の障害物(コースオブジェクト)により生じる。具体的には、一例として、特定のコースオブジェクトとの衝突が、「クラッシュ状態」の要因となってもよい。また、一例として、特定のコースオブジェクト上を走行することが、「クラッシュ状態」の要因となってもよい。上記特定の障害物は、コース上に定置されるものでもよいし、コース上で移動するものでもよいし、コース上で外観が変化するものでもよいし、コース上に現れたり消えたりするものでもよい。本実施例における特定の障害物は、例えば、レースとは無関係に走行する他の車両や、敵オブジェクト、動物、油、水、火などであってもよい。なお、本実施例における特定の障害物は、他のプレイヤオブジェクトや、レースゲームにおいて一般的に存在する縁石、壁、ガードレール、溝等の構造物とは異なり、特異なコースオブジェクトであってもよい。本実施例における「クラッシュ状態」の要因は、プレイヤオブジェクトが他のプレイヤオブジェクトや上記構造物と衝突したり、プレイヤオブジェクトがコース外に逸脱したりすること等により停止するようなものを含まない。他の実施例では、例えばプレイヤオブジェクトが他のプレイヤオブジェクトと衝突することが、当該プレイヤオブジェクトが「クラッシュ状態」となる要因となってもよい。
【0062】
プレイヤオブジェクトが上記「クラッシュ状態」となるクラッシュ期間の長さは、予め定められた時間に設定されてもよいし、当該プレイヤオブジェクトにおける「クラッシュ状態」となった要因に基づく時間に設定されてもよい。後者の場合、プレイヤオブジェクトが「クラッシュ状態」となった要因に基づいて複数の分類(例えば、2つの分類)に大別してもよい。この場合、上記第1のクラッシュ期間長さが設定された場合と、上記第2のクラッシュ期間長さが設定された場合とにより、「クラッシュ状態」における移動速度や強制的に行われる上記特定の動作が異なってもよい。このように、「クラッシュ状態」となるクラッシュ期間の長さを、ある程度限定された設定にすることにより、クラッシュ期間中のプレイヤオブジェクトのモーションや速度を細分化して変更することが不要となり、「クラッシュ状態」を演出するための演算量や当該演出のための開発コストを低減することができる。
【0063】
なお、他の実施例では、プレイヤオブジェクトが上記「クラッシュ状態」となるクラッシュ期間の長さは、プレイヤオブジェクトの種別(例えば、後述するプレイヤオブジェクトのオプションの種別)に基づく時間に設定されてもよい。この場合、プレイヤオブジェクトの「クラッシュ状態」に至るダメージの大きさや当該プレイヤオブジェクトの種別に基づいて複数の分類(例えば、2つの分類)に大別してもよい。そして、上記ダメージが相対的に大きく強いクラッシュ状態となる分類やダメージを受けやすい種別のプレイヤオブジェクトの分類に第1のクラッシュ期間長さを設定し、上記ダメージが相対的に小さく弱いクラッシュ状態となる分類やダメージを受けにくい種別のプレイヤオブジェクトに当該第1のクラッシュ期間より短い第2のクラッシュ期間長さを設定する。
【0064】
図5に示すように、本実施例におけるレースゲームでは、クラッシュ期間が終了すると、「クラッシュ状態」であったプレイヤオブジェクトPO1がユーザによるコントロールが可能な「通常走行状態」に復帰する。クラッシュ期間が終了した後の「通常走行状態」は、ユーザのアクセル操作やハンドル操作等に応じて、プレイヤオブジェクトPO1が加減速したり、プレイヤオブジェクトPO1の移動方向が変更されたりすることにより、ユーザがプレイヤオブジェクトPO1を操ることが可能な状態である(例えば、ユーザ操作入力に応じて、図示a方向へ移動制御される状態)。また、クラッシュ期間が終了した後の「通常走行状態」は、ユーザのアイテム使用操作に応じて、攻撃用オブジェクトOBJの使用が可能となる。
【0065】
また、本実施例におけるレースゲームでは、クラッシュ期間が終了した後から開始される「通常走行状態」の一部の期間は、「クラッシュ状態」から当該「通常走行状態」に復帰した時点からプレイヤオブジェクトPO1を再クラッシュさせない「クラッシュ回避状態」に設定される。「クラッシュ回避状態」は、「クラッシュ回避状態」となったプレイヤオブジェクトに、再度「クラッシュ状態」となり得る要因が生じた場合であっても、当該プレイヤオブジェクトについて再クラッシュさせない。すなわち、「クラッシュ回避状態」では、再度「クラッシュ状態」となり得る要因がプレイヤオブジェクトに生じたとしても、当該プレイヤオブジェクトが「クラッシュ状態」に再度移行されることはない。
【0066】
また、「クラッシュ回避状態」は、「通常走行状態」の一部の期間に設定されるため、「クラッシュ回避状態」ではない「通常走行状態」と同様にユーザの操作入力に応じてプレイヤオブジェクトPO1がコース上を走行する動作を行い、「クラッシュ回避状態」ではない「通常走行状態」との区別なくディスプレイ12に表示される。すなわち、本実施例では、プレイヤオブジェクトPO1を操作するユーザに、プレイヤオブジェクトPO1が「クラッシュ回避状態」であることに気づかせずにゲームプレイさせることが可能となる。他の実施例として、プレイヤオブジェクトPO1が「クラッシュ回避状態」であることが分かる表示(例えば、「クラッシュ回避状態」であることを示す情報や、「クラッシュ回避状態」となるクラッシュ回避期間の残存時間の表示)が行われてもよい。
【0067】
プレイヤオブジェクトPO1が上記「クラッシュ回避状態」となるクラッシュ回避期間の長さ(クラッシュ回避時間)は、プレイヤオブジェクトPO1のオプション(装備および乗車するキャラクタ)に基づいて設定される。図6に示すように、ユーザは、レース開始前に、当該ユーザが操作するプレイヤオブジェクトPO1のオプションを選択することによりプレイヤオブジェクトPO1を設定して、当該レースに出場することができる。ここで、オプションは、選択されることによりプレイヤオブジェクトPO1の少なくとも移動性能およびクラッシュ回避時間比率に対応するパラメータを含む性能を設定する。そして、レースゲームにおけるプレイヤオブジェクトPO1の性能は、ユーザによって選択されたオプションに基づいて決定され、プレイヤオブジェクトPO1の外観も選択されたオプションに基づいて設定される。
【0068】
例えば、ユーザは、オプション選択画面において、選択可能なオプション一覧がディスプレイ12に表示されることにより、何れかのオプションを選択することが促される。図6に示すオプション一覧の一例では、プレイヤオブジェクトPO1に乗車するキャラクタ、プレイヤオブジェクトPO1のフレーム、およびプレイヤオブジェクトPO1のタイヤ等のそれぞれのグループからユーザが選択可能となる。具体的には、乗車するキャラクタのグループに属するキャラクタC1、キャラクタC2、およびキャラクタC3の何れかを、プレイヤオブジェクトPO1に乗車するキャラクタのオプションとしてユーザに選択を促す画像が表示されている。また、フレームのグループに属するフレームF1、フレームF2、およびフレームF3の何れかを、プレイヤオブジェクトPO1に装備するフレームのオプションとしてユーザに選択を促す画像が表示されている。また、タイヤのグループに属するタイヤT1、タイヤT2、およびタイヤT3の何れかを、プレイヤオブジェクトPO1に装備するタイヤのオプションとしてユーザに選択を促す画像が表示されている。なお、図6に示す一例では、提示されている選択肢(オプションの一覧)のうち、レースゲームに出場するプレイヤオブジェクトPO1のオプションとして、キャラクタC2、フレームF2、およびタイヤT2がユーザによって選択されていることを示している。
【0069】
ユーザが選択可能な各オプション(キャラクタおよび装備)には、性能のグレードがそれぞれ設定されている。本実施例では、上記性能のグレードの一例として、複数のオプションから選択された際の走行性能が設定されている。例えば、上記走行性能は、プレイヤオブジェクトPO1が選択されたオプションを利用してコースを走行する際の最高速度、加速、曲がり、グリップ力等を設定する。そして、本実施例では、上記複数のオプションから選択されることによって得られる走行性能を示す表示が、ディスプレイ12に表示される。
【0070】
プレイヤオブジェクトPO1の装備および乗車するキャラクタをユーザが複数のオプションから決定する操作を行うことによって、プレイヤオブジェクトPO1の走行性能が決定されるとともに、当該オプションを組み合わせた装備および乗車するキャラクタの外観がプレイヤオブジェクトPO1の外観として設定される。例えば、レースゲームに出場するプレイヤオブジェクトPO1に乗車するキャラクタとしてドライバキャラクタC2が決定され、プレイヤオブジェクトPO1の装備としてフレームF2およびタイヤT2が決定された場合、フレームF2およびタイヤT2を組み合わせたカートにドライバキャラクタC2が乗車する外観を有するプレイヤオブジェクトPO1が設定される。
【0071】
また、本実施例では、プレイヤオブジェクトPO1に乗車するキャラクタおよびプレイヤオブジェクトPO1の装備を、ユーザが複数のオプションから選択して決定する操作を行うことによって、上述した走行性能に加えてプレイヤオブジェクトPO1のクラッシュ回避時間比率も設定される。上記クラッシュ回避時間比率は、プレイヤオブジェクトPO1が上記「クラッシュ回避状態」となるクラッシュ回避時間を算出するために用いられるパラメータの一例であり、標準クラッシュ回避時間に対する倍率を示している。本実施例では、上述した装備毎および乗車するキャラクタ毎にそれぞれクラッシュ回避時間比率を算出するためのレベル値(例えば、0~5レベル)が設定されている。そして、プレイヤオブジェクトPO1のオプションをユーザが決定する操作に応じて、決定されたオプション毎のレベル値を全て積算した合計レベル値を用いることにより、クラッシュ回避時間比率が算出される。なお、上記レベル値が第1パラメータの一例に相当する。
【0072】
図7に示すように、クラッシュ回避時間比率の算出においては、合計レベル値に対応するクラッシュ回避時間比率が記述された対応テーブルが用いられる。例えば、本実施例において用いられる対応テーブルは、合計レベル値1~20それぞれに対応するクラッシュ回避時間比率が記述されている。一例として、クラッシュ回避時間比率は、合計レベル値10に対応する1.00を中心に、最小の合計レベル値1に対応する最小値0.50から最大の合計レベル値20に対応する最大値1.50まで、漸増的に大きくなる合計レベル値それぞれに対応して漸増的に大きくなるクラッシュ回避時間比率が設定される。
【0073】
プレイヤオブジェクトPO1が上記「クラッシュ回避状態」となるクラッシュ回避時間は、標準クラッシュ回避時間に算出されたクラッシュ回避時間比率を乗算することにより算出される。ここで、標準クラッシュ回避時間は、プレイヤオブジェクトPO1のクラッシュ回避時間を算出するためのパラメータの一例であり、予め定められた時間に設定されてもよいし、プレイヤオブジェクトPO1が「クラッシュ状態」となった要因に応じてそれぞれ設定されてもよい。後者の場合、プレイヤオブジェクトPO1が「クラッシュ状態」となった要因によるダメージの大きさに基づいて複数の分類(例えば、2つの分類)に大別する。そして、上記ダメージが相対的に大きく強いクラッシュ状態に分類されたプレイヤオブジェクトPO1に第1の標準クラッシュ回避時間を設定し、上記ダメージが相対的に小さく弱いクラッシュ状態に分類されたプレイヤオブジェクトPO1に当該第1の標準クラッシュ回避時間より短い第2の標準クラッシュ回避時間を設定する。なお、上記標準クラッシュ回避時間が基準のクラッシュ回避パラメータの一例に相当する。
【0074】
このように、標準クラッシュ回避時間に合計レベル値に応じたクラッシュ回避時間比率を乗算することによりクラッシュ回避時間を算出することによって、当該クラッシュ回避時間の調整が必要となる場合に標準クラッシュ回避時間を変更することで一律のクラッシュ回避時間の調整が可能となる。例えば、各オプションに対して「クラッシュ状態」となった要因毎にクラッシュ回避時間を設定した場合、当該設定に関わる記憶容量を消費するとともに、当該クラッシュ回避時間設定に関する開発コストが増加することが考えられる。しかしながら、本実施例では、合計レベル値に応じたクラッシュ回避時間比率を用いることにより、1つの対応テーブルによりオプション毎のクラッシュ回避時間を設定することも可能であり、これらの課題を解消することができる。また、「クラッシュ状態」となった要因によって異なる標準クラッシュ回避時間を設定することにより、レースゲームに対する興趣性を向上させることができる。
【0075】
なお、図6に示したオプション選択画面において、プレイヤオブジェクトPO1に乗車するキャラクタおよびプレイヤオブジェクトPO1の装備が複数のオプションからそれぞれ選択されることによって得られる上記合計レベル値や、選択可能なオプション毎に設定されている上記レベル値は、ディスプレイ12に表示されない。すなわち、本実施例のオプション選択画面では、選択されるオプションによりプレイヤオブジェクトPO1に設定される走行性能は示されるが、選択されるオプションによりプレイヤオブジェクトPO1に設定されるクラッシュ回避時間を設定するためのレベル値は示されない。他のプレイヤオブジェクトが登場しないレースをする場合や、自身が操作するプレイヤオブジェクトの走行性能を重要視するユーザにとっては、上記レベル値に基づくオプション選択は不要であり、当該レベル値の表示により混乱が生じることを抑制できる。なお、このような効果を期待しない場合、オプション選択画面においてオプション毎のレベル値や選択することにより設定されるクラッシュ回避時間等が表示されてもよい。
【0076】
上述したように設定されたクラッシュ回避時間が経過した場合、プレイヤオブジェクトPO1は、「クラッシュ回避状態」が終了した「通常走行状態」でレースゲームを継続する。なお、「クラッシュ回避状態」が終了した「通常走行状態」で走行するプレイヤオブジェクトPO1は、ユーザ操作入力による動作制御が可能であり、「クラッシュ状態」となる要因が生じた場合に当該プレイヤオブジェクトPO1が再度「クラッシュ状態」となり得る状態である。なお、クラッシュ回避時間の始点は、「クラッシュ状態」から「通常走行状態」に復帰する時点ではなく、当該復帰する時点より前であってもよい。
【0077】
このように、本実施例では、「通常走行状態」で走行中のプレイヤオブジェクトPO1に「クラッシュ状態」となる要因が生じた場合にプレイヤオブジェクトPO1が「クラッシュ状態」となり、クラッシュ期間経過後に「クラッシュ回避状態」の「通常走行状態」となる。そして、「クラッシュ回避状態」となったプレイヤオブジェクトPO1は、クラッシュ回避時間が経過した後に「クラッシュ回避状態」を終了した「通常走行状態」となる。
【0078】
ここで、ユーザが選択するオプションに対応してプレイヤオブジェクトPO1の走行性能のみが設定される場合、レースコースの環境等から特定のオプションにユーザの選択が偏ってしまう可能性がある。本実施例では、他のプレイヤオブジェクトの振る舞い等に起因して生じるクラッシュを回避することができるクラッシュ回避状態となる時間も選択されたオプションに対応して決定される。したがって、ユーザは、レース戦略に応じて多様なオプションを選択する可能性が高くなり、それにより、本実施例ではレースゲームにおいて多様なオプションが選択され得る。
【0079】
また、ゲームバランスを調整する場合、プレイヤオブジェクトの走行性能を変更すると、それまでの走行性能に親しんだユーザが操作に違和感を覚えたり、タイムアタックのようなモードを継続する場合においてそれまでの記録との連続性が無くなったりすることも考えられる。一方で、本実施例におけるクラッシュ回避状態となる時間を変更する場合、プレイヤオブジェクトの走行性能そのものには影響がなく、上記タイムアタックのようなモードでは基本的にはユーザ自身が操作するプレイヤオブジェクトのみで走行し、他のプレイヤオブジェクトの動作に起因する「クラッシュ状態」が生じないため、当該タイムアタックの結果への影響が少なく、タイムアタックのようなモードにおける記録の連続性も維持することが可能となる。
【0080】
さらに、ユーザが選択するオプションに対応してプレイヤオブジェクトの走行性能のみが設定される場合、上述したように特定のオプションにユーザの選択が偏ってしまう可能性があり、複数のユーザが操作するプレイヤオブジェクトが出場するレースゲームにおいて、同じ外観のプレイヤオブジェクトばかりとなることが考えられる。これに対して、本実施例では、選択されたオプションに応じてプレイヤオブジェクトを異なる外観に設定し、当該外観をそれぞれ有する複数のプレイヤオブジェクトを用いたレースゲームを実行するとともに、上述したように各ユーザが多様なオプションを選択する可能性が高くなる。したがって、本実施例では、類似した外観のプレイヤオブジェクトが多数出場するようなレースゲームが行われることを避けることができるため、ユーザが操作するプレイヤオブジェクトPO1や他のプレイヤオブジェクトを判別しやすくなり、多様なプレイヤオブジェクトが走行することによりゲームの興趣性が向上する。
【0081】
なお、選択可能なオプション(ドライバキャラクタおよび装備)毎に設定されているクラッシュ回避時間比率を算出するためのレベル値は、その他のパラメータであってもよい。一例として、クラッシュ回避時間そのものであってもよいし、クラッシュ回避時間比率そのものであってもよい。前者の場合、選択されたオプション毎に設定されているクラッシュ回避時間を積算することにより、プレイヤオブジェクトPO1が上記「クラッシュ回避状態」となるクラッシュ回避時間が算出される。後者の場合、選択されたオプション毎に設定されているクラッシュ回避時間比率を積算することにより、選択された全オプションに対応するクラッシュ回避時間比率が算出される。なお、オプション毎に設定されるクラッシュ回避時間やクラッシュ回避時間比率は、プレイヤオブジェクトPO1が「クラッシュ状態」となった要因に応じて異なる時間や比率にそれぞれ設定されてもよいし、当該要因が異なっても同じ時間や比率にそれぞれ設定されてもよい。
【0082】
また、クラッシュ回避時間を算出するためのパラメータは、選択可能なオプション(ドライバキャラクタおよび装備)毎に設定されるだけでなく、オプションの組み合わせに対して設定されてもよい。例えば、クラッシュ回避時間を算出するためのパラメータは、選択されたオプションの組み合わせに対して、レベル値、クラッシュ開示時間そのもの、クラッシュ回避時間比率そのもの、その他のパラメータが設定されてもよい。この場合であっても、選択されたオプションの組み合わせ判定において、個々のオプションを識別するためのパラメータが用いられてもよい。
【0083】
また、ユーザにより選択されるオプション(ドライバキャラクタおよび装備)は、プレイヤオブジェクトPO1の走行性能およびクラッシュ回避状態とする期間の長さの両方に少なくとも寄与するものとなるが、コンピュータによって動作が制御されるノンプレイヤオブジェクトにおいて当該コンピュータが選択したオプションも当該ノンプレイヤオブジェクトの走行性能およびクラッシュ回避状態とする期間の長さに寄与するものであってもよい。
【0084】
また、上述した「クラッシュ回避状態」のプレイヤオブジェクトに例外的な要因が生じることによって、当該プレイヤオブジェクトが「クラッシュ状態」になるようなものであってもよい。例えば、プレイヤオブジェクトの「クラッシュ回避状態」を打開し得る特殊な攻撃能力を有する他のプレイヤオブジェクトからの攻撃をプレイヤオブジェクトPO1が受けた場合、「クラッシュ回避状態」であってもプレイヤキャラクタPO1が当該攻撃を要因とする「クラッシュ状態」となってもよい。すなわち、本実施例におけるクラッシュ回避状態は、「クラッシュ状態」となり得る少なくとも一部の要因による「クラッシュ状態」が回避できるものであればよい。
【0085】
また、ユーザが選択可能なオプションは、少なくとも1つのグループから選択可能なものであればよい。例えば、図6に例示したオプション選択画面が用いられる場合、タイヤのみがユーザ選択可能であってもよいし、フレームのみがユーザ選択可能であってもよいし、キャラクタのみがユーザ選択可能であってもよい。
【0086】
また、ユーザが選択可能なオプションは、クラッシュ回避状態とする期間の長さに寄与しないものが含まれていてもよい。例えば、ユーザが選択可能なオプションは、プレイヤオブジェクトの走行性能にのみ影響を与えるオプションやプレイヤオブジェクトの走行性能にも寄与せずに単に見た目だけ変わるオプション(例えば、乗車するキャラクタのオプション)が含まれていてもよい。また、ユーザが選択可能なオプションは、プレイヤオブジェクトの外観に影響を与えないものが含まれていてもよい。
【0087】
次に、図8図11を参照して、本実施例においてゲームシステム1で実行される具体的な処理の一例について説明する。図8は、本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図8に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【0088】
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、他のゲームシステムやサーバと通信するための通信プログラム、左コントローラ3および/または右コントローラ4から取得したデータに基づいた情報処理(例えば、ゲーム処理)を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
【0089】
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、DRAM85には、操作データDa、通信データDb、プレイヤオブジェクト設定データDc、プレイヤオブジェクト状態データDd、プレイヤオブジェクト動作データDe、他のプレイヤオブジェクト設定データDf、他のプレイヤオブジェクト動作データDg、コースオブジェクトデータDh、期間データDi、オプションデータDj、対応テーブルデータDk、レース中フラグデータDm、オプション選択フラグデータDn、および画像データDp等が記憶される。
【0090】
操作データDaは、本体装置2、左コントローラ3、および/または右コントローラ4からそれぞれ適宜取得した操作データである。上述したように、本体装置2、左コントローラ3、および/または右コントローラ4からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、各センサ)からの入力に関する情報(具体的には、操作に関する情報、または、センサによる検出結果)が含まれている。本実施例では、本体装置、左コントローラ3、および/または右コントローラ4からそれぞれ所定周期で操作データが取得されており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、操作データが取得される周期毎に更新されてもよい。
【0091】
通信データDbは、他の装置(他のゲームシステム1、サーバ等)へ送信するデータおよび他の装置から受信したデータである。例えば、通信データDbは、ゲームシステム1を用いて操作された操作データ、プレイヤオブジェクトPO1の設定、状態、および動作等に関するデータ、サーバに要請するデータ、サーバに返信するデータ、他のゲームシステム1を用いて操作された他のユーザの操作データ、当該他のゲームシステム1において制御されている他のプレイヤオブジェクトの設定、状態、および動作等に関するデータ、サーバの処理結果を示すデータ、サーバの要請を示すデータ等で構成される。
【0092】
プレイヤオブジェクト設定データDcは、ゲームシステム1のユーザが操作するプレイヤオブジェクトPO1に設定されているオプション(ドライバキャラクタおよび装備)と、プレイヤオブジェクトPO1に設定されている走行性能および合計レベル値と、プレイヤオブジェクトPO1が所持している攻撃用オブジェクトOBJの種別および数等を示すデータである。
【0093】
プレイヤオブジェクト状態データDdは、ゲームシステム1のユーザが操作するプレイヤオブジェクトPO1の状態(通常走行状態、クラッシュ状態、クラッシュ回避状態)を示すデータである。
【0094】
プレイヤオブジェクト動作データDeは、ゲームシステム1のユーザが操作するプレイヤオブジェクトPO1の仮想空間における位置、姿勢、および各種パラメータや、プレイヤオブジェクトPO1が攻撃のために仮想空間に発射した攻撃用オブジェクトOBJの種類、位置、姿勢、および状態等を示すデータである。
【0095】
他のプレイヤオブジェクト設定データDfは、他のゲームシステム1のユーザが操作する他のプレイヤオブジェクトに設定されているオプション(ドライバキャラクタおよび装備)と、他のプレイヤオブジェクトが所持している攻撃用オブジェクトOBJの種別および数等を示すデータである。
【0096】
他のプレイヤオブジェクト動作データDgは、他のゲームシステム1のユーザが操作する他のプレイヤオブジェクトの仮想空間における位置、姿勢、状態、および各種パラメータや、他のプレイヤオブジェクトが攻撃のために仮想空間に発射した攻撃用オブジェクトOBJの種類、位置、姿勢、および状態等を示すデータである。
【0097】
コースオブジェクトデータDhは、コース上に設置されたコースオブジェクトの種別および位置等を示すデータである。
【0098】
期間データDiは、設定される各期間を示すデータである。
【0099】
オプションデータDjは、ユーザに提示される各オプションに関するデータである。
【0100】
対応テーブルデータDkは、合計レベル値に対応するクラッシュ回避時間比率が記述された対応テーブルに関するデータである。
【0101】
レース中フラグデータDmは、複数のプレイヤオブジェクトによるレース中である場合にオンに設定されるレース中フラグを示すデータである。オプション選択フラグデータDnは、プレイヤオブジェクトPO1のオプション選択中である場合にオンに設定されるオプション選択フラグを示すデータである。
【0102】
画像データDpは、ディスプレイ12に画像(例えば、プレイヤオブジェクトPO1の画像、他のプレイヤオブジェクトの画像、他のオブジェクトの画像、レースコースの画像、背景画像等)を表示するためのデータである。
【0103】
次に、図9図11を参照して、本実施例におけるゲーム処理の詳細な一例を説明する。図9は、ゲームシステム1で実行されるゲーム処理の一例を示すフローチャートである。図10は、図9におけるステップS130において行われるオプション選択処理の詳細の一例を示すサブルーチンである。図11は、図9におけるステップS126において行われるレース中処理の詳細の一例を示すサブルーチンである。本実施例においては、図9図11に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図9図11に示すゲーム処理が開始されるタイミングは任意である。
【0104】
なお、図9図11に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図9図11に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
【0105】
図9において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化して、各データを更新する。
【0106】
次に、プロセッサ81は、本体装置2、左コントローラ3、および/または右コントローラ4から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
【0107】
次に、プロセッサ81は、レースを開始するか否かを判定する(ステップS123)。一例として、プロセッサ81は、複数のプレイヤオブジェクトによるレースを開始する場合、上記ステップS123において肯定判定する。そして、プロセッサ81は、レースを開始する場合、ステップS124に処理を進める。一方、プロセッサ81は、レースを開始しない、または既にレース中(レース中フラグがオン)の場合、ステップS125に処理を進める。
【0108】
ステップS124において、プロセッサ81は、レース開始処理を行い、ステップS125に処理を進める。例えば、プロセッサ81は、レースゲームに参加要請するレース内容や当該レースゲームに参加するプレイヤオブジェクトPO1の設定内容(ドライバキャラクタおよび装備等)を示すデータを送信用データとして通信データDbに設定する。また、プロセッサ81は、通信データDbを参照して、サーバから受信されたレースに参加するプレイヤオブジェクトがマッチングされた情報に基づいて、ユーザが操作するプレイヤオブジェクトPO1および他のゲームシステム1のユーザによって操作される他のプレイヤオブジェクトそれぞれのオプション(ドライバキャラクタおよび装備)を設定して、プレイヤオブジェクト設定データDcおよび他のプレイヤオブジェクト設定データDfを更新する。また、プロセッサ81は、レースゲームに参加する他のユーザが操作するゲームシステム1に当該レースゲームを開始するためのデータを送信用データとして通信データDbに設定するとともに、当該他のユーザが操作するゲームシステム1から受信した当該レースゲームを開始するためのデータを取得する。また、プロセッサ81は、仮想空間のコース上に各プレイヤオブジェクトやコースオブジェクト等を配置することによって初期状態の仮想空間を生成するとともに、プレイヤオブジェクト設定データDcおよび他のプレイヤオブジェクト設定データDfに基づいて上記レースゲームに参加するプレイヤオブジェクトの性能や外観等をそれぞれ設定して、プレイヤオブジェクト動作データDe、他のプレイヤオブジェクト動作データDg、およびコースオブジェクトデータDhを更新する。そして、プロセッサ81は、レース中フラグをオンに設定して、レース中フラグデータDmを更新する。
【0109】
ステップS125において、プロセッサ81は、レース中であるか否かを判定する。例えば、プロセッサ81は、レース中フラグデータDmが示すレース中フラグがオンに設定されている場合、上記ステップS125において肯定判定する。そして、プロセッサ81は、レース中である場合、ステップS126に処理を進める。一方、プロセッサ81は、レース中でない場合、ステップS127に処理を進める。
【0110】
ステップS127において、プロセッサ81は、オプション選択を開始するか否かを判定する。例えば、プロセッサ81は、ユーザがオプション選択処理を開始する操作を行った場合、上記ステップS127において肯定判定する。そして、プロセッサ81は、オプション選択を開始する場合、ステップS128に処理を進める。一方、プロセッサ81は、オプション選択を開始しない場合や既にオプション選択中(オプション選択フラグがオン)の場合、ステップS129に処理を進める。
【0111】
ステップS128において、プロセッサ81は、オプション選択開始処理を行い、ステップS129に処理を進める。例えば、プロセッサ81は、通信データDbを参照して、サーバから受信したオプション選択のためのデータ(例えば、現時点で選択可能なオプション、ユーザが所有している購入用コインの量等、オプション選択処理に必要なデータのうち、サーバが管理しているデータ)を取得して、当該データに基づいてオプションデータDjを更新する。そして、プロセッサ81は、オプションデータDjに基づいて、ユーザが選択可能な複数のオプションの一覧を示す画像(図6参照)を設定して、後述するステップS129においてディスプレイ12に表示することにより、ユーザに何れかのオプションの選択を促す。また、プロセッサ81は、オプションデータDjに基づいて、オプション一覧からデフォルトで選択されているオプションに基づいたプレイヤオブジェクトPO1の性能を設定し、当該性能を示す画像(図6参照)を設定して、後述するステップS129においてディスプレイ12に表示することにより、デフォルトで選択されているオプションおよびその性能情報をユーザに提示する。そして、プロセッサ81は、オプション選択フラグをオンに設定して、オプション選択フラグデータDnを更新する。
【0112】
ステップS129において、プロセッサ81は、オプション選択中であるか否かを判定する。例えば、プロセッサ81は、オプション選択フラグデータDnが示すオプション選択フラグがオンに設定されている場合、上記ステップS129において肯定判定する。そして、プロセッサ81は、オプション選択中である場合、ステップS130に処理を進める。一方、プロセッサ81は、オプション選択中ではない場合、ステップS131に処理を進める。
【0113】
ステップS130において、プロセッサ81は、オプション選択処理を行い、ステップS131に処理を進める。以下、図10を参照して、上記ステップS130において行われるオプション選択処理について説明する。
【0114】
図10において、プロセッサ81は、ユーザによる選択対象変更操作が行われたか否かを判定する(ステップS151)。例えば、プロセッサ81は、操作データDaを参照して、オプション一覧から選択しているオプションを変更する操作が行われた場合、上記ステップS151において肯定判定する。そして、プロセッサ81は、ユーザによる選択対象変更操作が行われた場合、ステップS152に処理を進める。一方、プロセッサ81は、ユーザによる選択対象変更操作が行われていない場合、ステップS153に処理を進める。
【0115】
ステップS152において、プロセッサ81は、ユーザの選択対象変更操作に基づいて、選択しているオプションを変更し、変更後のオプションに基づいたプレイヤオブジェクトPO1の走行性能を再設定して、ステップS153に処理を進める。例えば、プロセッサ81は、操作データDaが示すユーザの選択対象変更操作に基づいて、オプション一覧から選択しているオプションを変更して再設定し、当該変更後のオプションに基づいたプレイヤオブジェクトPO1の走行性能を再設定することにより、現時点において選択されているオプションおよびその走行性能情報を変更してユーザに提示する。
【0116】
ステップS153において、プロセッサ81は、ユーザによるオプション決定操作が行われたか否かを判定する。例えば、プロセッサ81は、操作データDaを参照して、選択しているオプションを決定する操作が行われた場合、上記ステップS153において肯定判定する。そして、プロセッサ81は、ユーザによるオプション決定操作が行われた場合、ステップS154に処理を進める。一方、プロセッサ81は、ユーザによるオプション決定操作が行われていない場合、ステップS155に処理を進める。
【0117】
ステップS154において、プロセッサ81は、オプション決定処理を行い、ステップS155に処理を進める。例えば、プロセッサ81は、複数のオプションから選択されて決定されている装備および乗車するドライバキャラクタにそれぞれ設定されているレベル値を全て積算した合計レベル値を算出して、プレイヤオブジェクト設定データDcを更新する。また、プロセッサ81は、複数のオプションから選択されて決定されている装備および乗車するドライバキャラクタに基づいて、プレイヤオブジェクトPO1の走行性能を決定し、決定された走行性能を用いてプレイヤオブジェクト設定データDcを更新する。そして、プロセッサ81は、ユーザのオプション決定に応じて、送信用データ(例えば、オプション決定内容を示すデータやオプションの装備により消費した購入用コインの量等のサーバが管理しているデータ)を通信データDbに格納する。
【0118】
ステップS155において、プロセッサ81は、オプション選択処理を終了するか否かを判定する。例えば、プロセッサ81は、選択するオプションが決定された場合やユーザによるオプション選択処理を終了する操作が行われた場合、上記ステップS155において肯定判定する。そして、プロセッサ81は、オプション選択処理を終了する場合、ステップS156に処理を進める。一方、プロセッサ81は、オプション選択処理を終了しない場合、当該サブルーチンによる処理を終了する。
【0119】
ステップS156において、プロセッサ81は、オプション選択終了処理を行い、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、オプション選択フラグをオンに設定して、オプション選択フラグデータDnを更新する。なお、プロセッサ81は、ユーザによるオプション決定操作が行われずにオプション選択処理を終了する操作が行われた場合、その時点で選択されているオプションが決定されたとして、上記ステップS156において上記オプション決定処理を行ってもよい。
【0120】
図9に戻り、上記ステップS125においてレース中であると判定された場合、プロセッサ81は、レース中処理を行い(ステップS126)、ステップS131に処理を進める。以下、図11を参照して、上記ステップS126において行われるレース中処理について説明する。
【0121】
図11において、プロセッサ81は、他のプレイヤオブジェクト動作設定処理を行い(ステップS140)、次のステップに処理を進める。例えば、プロセッサ81は、通信データDbに基づいて、他のユーザによって操作される他のプレイヤオブジェクトをそれぞれ仮想空間内で動作させて、他のプレイヤオブジェクト動作データDgを更新する。また、プロセッサ81は、他のプレイヤオブジェクトの攻撃により、攻撃用オブジェクトOBJが発射された場合、当該攻撃に基づいて攻撃用オブジェクトOBJを仮想空間内で動作させて、他のプレイヤオブジェクト動作データDgを更新する。
【0122】
次に、プロセッサ81は、プレイヤオブジェクトPO1が「クラッシュ状態」を開始する状態か否かを判定する(ステップS141)。例えば、プロセッサ81は、「クラッシュ回避状態」ではない「通常走行状態」のプレイヤオブジェクトPO1に「クラッシュ状態」となり得る要因が生じた場合、上記ステップS141において肯定判定する。そして、プロセッサ81は、「クラッシュ状態」を開始する状態である場合、ステップS142に処理を進める。一方、プロセッサ81は、「通常走行状態」のプレイヤオブジェクトPO1に「クラッシュ状態」となり得る要因が生じていない場合や、プレイヤオブジェクトPO1が「クラッシュ状態」または「クラッシュ回避状態」である場合、ステップS143に処理を進める。なお、プレイヤオブジェクトPO1が「クラッシュ状態」となり得る要因については、図4等を用いた上述の説明と同様であるため、ここでは詳細な説明を省略する。
【0123】
ステップS142において、プロセッサ81は、クラッシュ期間およびクラッシュ回避期間を設定して、ステップS143に処理を進める。例えば、プロセッサ81は、「クラッシュ状態」となった要因に基づいてクラッシュ期間の長さを設定し、現時点から開始される当該長さのクラッシュ期間を期間データDiに登録する。また、プロセッサ81は、「クラッシュ状態」となった要因に基づく標準クラッシュ回避時間に、プレイヤオブジェクト設定データDcが示すプレイヤオブジェクトPO1の合計レベル値に対応する対応テーブルデータDkに基づくクラッシュ回避時間比率を乗算することにより、クラッシュ回避期間の長さ(クラッシュ回避時間)を算出し、上記クラッシュ期間終了直後に開始される当該長さのクラッシュ回避期間を期間データDiに登録する。
【0124】
ステップS143において、プロセッサ81は、期間データDiを参照して、現時点がクラッシュ期間内か否かを判定する。そして、プロセッサ81は、現時点がクラッシュ期間内である場合、ステップS144に処理を進める。一方、プロセッサ81は、現時点がクラッシュ期間内でない場合、ステップS145に処理を進める。
【0125】
ステップS144において、プロセッサ81は、クラッシュ動作設定処理を行い、ステップS148に処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトPO1を「クラッシュ状態」に設定して、プレイヤオブジェクト状態データDdを更新する。そして、プロセッサ81は、「クラッシュ状態」となった要因に基づいた特定のクラッシュ動作を行いながら移動速度が低下するように、プレイヤオブジェクトPO1を動作させてプレイヤオブジェクト動作データDeを更新する。例えば、プロセッサ81は、上記特定のクラッシュ動作をプレイヤオブジェクトPO1に行わせるために、「クラッシュ状態」が開始されることにより、プレイヤオブジェクトPO1が横転やスピンするアニメーションの再生や、所定の挙動を強制的に開始してもよい。また、プロセッサ81は、プレイヤオブジェクトPO1の動作に関するデータ(例えば、プレイヤオブジェクトPO1の位置や動作等に関するデータ等)を送信用データとして通信データDbに格納する。なお、上記ステップS144において、プロセッサ81による操作データDaに基づいたプレイヤオブジェクトPO1の動作制御は行われず、プレイヤオブジェクトPO1に対して予め定められた「クラッシュ状態」における動作が行われる。
【0126】
ステップS145において、プロセッサ81は、通常動作設定処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトPO1を「通常走行状態」に設定して、プレイヤオブジェクト状態データDdを更新する。そして、プロセッサ81は、操作データDaに基づいて、プレイヤオブジェクトPO1に対する指示内容を設定し、当該指示内容、仮想空間における仮想的な物理演算、および他のプレイヤオブジェクトや仮想オブジェクトからの影響等に応じてプレイヤオブジェクトPO1を動作させて、プレイヤオブジェクト動作データDeを更新する。また、プロセッサ81は、操作データDaに基づいてプレイヤオブジェクトPO1から攻撃用オブジェクトOBJを発射して攻撃する指示内容が設定された場合、当該指示内容に基づいて攻撃用オブジェクトOBJを仮想空間内で動作させて、プレイヤオブジェクト動作データDeを更新する。また、プロセッサ81は、プレイヤオブジェクトPO1の動作に関するデータ(例えば、プレイヤオブジェクトPO1や攻撃用OBJの位置や動作等に関するデータやプレイヤオブジェクトPO1の動作を制御するためのユーザの操作データ等)を送信用データとして通信データDbに格納する。
【0127】
次に、プロセッサ81は、期間データDiを参照して、現時点がクラッシュ回避期間内か否かを判定する(ステップS146)。そして、プロセッサ81は、現時点がクラッシュ回避期間内である場合、ステップS147に処理を進める。一方、プロセッサ81は、現時点がクラッシュ期間内でもクラッシュ回避期間内でもない場合、ステップS148に処理を進める。
【0128】
ステップS147において、プロセッサ81は、クラッシュ回避動作設定処理を行い、ステップS148に処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトPO1を「クラッシュ回避状態」に設定して、プレイヤオブジェクト状態データDdを更新する。
【0129】
ステップS148において、プロセッサ81は、レースを終了するか否かを判断する。レースを終了する条件としては、例えば、開始されている複数のプレイヤオブジェクトによるレースを終了させる条件が満たされたことや、ユーザが当該レースを終了する操作を行ったこと等がある。プロセッサ81は、レースを終了する場合、ステップS149に処理を進める。一方、プロセッサ81は、レースを継続する場合、当該サブルーチンによる処理を終了する。
【0130】
ステップS149において、プロセッサ81は、レースを終了する処理を行い、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、終了したレース結果に基づいて、ユーザの獲得ポイントを算出して当該ユーザに付与する。また、プロセッサ81は、レース結果を示す情報を送信用データとして通信データDbに格納する。そして、プロセッサ81は、レース中フラグをオフに設定して、レース中フラグデータDmを更新する。
【0131】
図9に戻り、ステップS131において、プロセッサ81は、表示制御処理を行い、次のステップに処理を進める。一例として、プロセッサ81は、プレイヤオブジェクト設定データDc、プレイヤオブジェクト動作データDe、他のプレイヤオブジェクト設定データDf、他のプレイヤオブジェクト動作データDg、コースオブジェクトデータDh等に基づいて、仮想空間のコース上に各プレイヤオブジェクトやコースオブジェクト等が配置された仮想空間を生成する。そして、プロセッサ81は、プレイヤオブジェクトPO1の後方等にコースに沿って配置された仮想カメラから見た仮想空間画像を生成して、ディスプレイ12に表示する処理を行う。他の例として、プロセッサ81は、オプションデータDjと上記ステップS128およびS130の処理結果とに基づいて、現時点で選択されているオプションおよびその性能情報が示されたオプション一覧を、ディスプレイ12に表示する処理を行う。
【0132】
次に、プロセッサ81は、通信処理を行い(ステップS132)、次のステップに処理を進める。例えば、プロセッサ81は、上記サーバやレースに参加している他のユーザが操作するゲームシステム1から送信されたデータを受信する処理を行い、当該受信したデータを用いて通信データDbを更新する。また、プロセッサ81は、通信データDbに格納されている送信用データを、所定の送信周期に基づいて上記サーバや他のユーザが操作するゲームシステム1に送信する。
【0133】
次に、プロセッサ81は、ゲームを終了するか否かを判定する(ステップS133)。上記ステップS133においてゲームを終了する条件としては、例えば、上記ゲームを終了する条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。プロセッサ81は、ゲームを終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS133の一連の処理は、ステップS133でゲームを終了すると判定されるまで繰り返し実行される。
【0134】
このように、本実施例においては、「クラッシュ状態」を回避することができるクラッシュ回避状態となる期間の長さがユーザにより選択されたオプションに対応して決定される。したがって、レース戦略に応じて多様なオプションをユーザが選択する可能性が高くなるため、ゲームの多様性を向上させることができる。
【0135】
なお、上述したように、本実施例では、「クラッシュ状態」中は、再度のクラッシュが当該「クラッシュ状態」のプレイヤオブジェクトに生じないように設定されていてもよい。ただし、他の実施例では、「クラッシュ状態」中に「クラッシュ状態」となる要因がプレイヤオブジェクトにさらに生じた場合に、当該プレイヤオブジェクトが再度の「クラッシュ状態」となってもよい。この場合は、「クラッシュ状態」中に「クラッシュ状態」となる要因がプレイヤオブジェクトにさらに生じた時点から、「クラッシュ状態」となるクラッシュ期間が再度開始される。
【0136】
また、本実施例では、「クラッシュ状態」中は、再度のクラッシュが当該「クラッシュ状態」のプレイヤオブジェクトに生じない設定とされ、「通常走行状態」に復帰してから、オプションに基づいて決定された期間の間は「クラッシュ回避状態」とした。他の実施例では、「クラッシュ状態」中も当該「クラッシュ状態」のプレイヤオブジェクトがクラッシュしうる設定としつつ、オプションに基づいて決定される「クラッシュ回避状態」の期間の始点を「クラッシュ状態」の発生時としてもよい。この場合、「クラッシュ回避状態」の終了は、「クラッシュ状態」中となってもよいし、「通常走行状態」に復帰した後となってもよい。
【0137】
また、各種操作、例えばユーザのアクセル操作、ブレーキ操作、ハンドル操作、およびアイテム使用操作は、タッチパネル13に対するタッチ操作、あるいは、本体装置2、左コントローラ3、および/または右コントローラ4の動きおよび/または姿勢を変化させる操作等によって行われてもよい。
【0138】
また、上述した実施例では、コース上を走行するプレイヤオブジェクトがレースをする例を用いているが、他の態様を用いて移動するプレイヤオブジェクトがレースを行うゲームでもよい。例えば、水上や水中を航行して移動する船舶や潜水船等の移動体、空中を飛行して移動する航空機やロケット等の移動体、地中を掘って移動する移動体等が、レースを行うゲームであってもよい。また、プレイヤキャラクタ自身が走ったり、泳いだり、掘って移動したりすることによるレースを行うゲームでもよい。これらの場合、ユーザが選択したオプションに基づいて、上記移動体や上記プレイヤキャラクタの移動性能およびクラッシュ回避状態となる期間の長さの両方が少なくとも設定されることになる。
【0139】
また、ゲームシステム1は、どのような装置であってもよく、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、スマートフォン、携帯ゲーム機、PDA(Personal Digital Assistant)、カメラ、タブレット等のデバイスであってもかまわない。
【0140】
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理(ゲーム処理)は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0141】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0142】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0143】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0144】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【産業上の利用可能性】
【0145】
以上のように、本発明は、ゲームの多様性を向上させること等を目的として、ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法等として有用である。
【符号の説明】
【0146】
1…ゲームシステム
2…本体装置
3…左コントローラ
4…右コントローラ
12…ディスプレイ
81…プロセッサ
82…ネットワーク通信部
85…DRAM
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11