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

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

▶ 株式会社バンダイナムコゲームスの特許一覧

特許7186159ゲームシステム、サーバ、プログラム及びゲームサービス提供方法
<>
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図1
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図2
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図3
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図4
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図5
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図6
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図7
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図8
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図9
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図10
  • 特許-ゲームシステム、サーバ、プログラム及びゲームサービス提供方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-30
(45)【発行日】2022-12-08
(54)【発明の名称】ゲームシステム、サーバ、プログラム及びゲームサービス提供方法
(51)【国際特許分類】
   A63F 13/57 20140101AFI20221201BHJP
   A63F 13/803 20140101ALI20221201BHJP
   A63F 13/497 20140101ALI20221201BHJP
   A63F 13/35 20140101ALI20221201BHJP
【FI】
A63F13/57
A63F13/803
A63F13/497
A63F13/35
【請求項の数】 14
(21)【出願番号】P 2019222771
(22)【出願日】2019-12-10
(65)【公開番号】P2021090604
(43)【公開日】2021-06-17
【審査請求日】2020-10-14
(73)【特許権者】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100090387
【弁理士】
【氏名又は名称】布施 行夫
(74)【代理人】
【識別番号】100090398
【弁理士】
【氏名又は名称】大渕 美千栄
(72)【発明者】
【氏名】池田 慶悟
(72)【発明者】
【氏名】藤木 裕也
(72)【発明者】
【氏名】井出 哲也
(72)【発明者】
【氏名】和田本 邦彦
(72)【発明者】
【氏名】丸居 和也
(72)【発明者】
【氏名】塩崎 裕俊
(72)【発明者】
【氏名】南 陽介
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開平11-347252(JP,A)
【文献】特開平11-123282(JP,A)
【文献】特開2000-167250(JP,A)
【文献】特開2000-350867(JP,A)
【文献】特開2001-276431(JP,A)
【文献】特開2006-149669(JP,A)
【文献】特開2008-104586(JP,A)
【文献】特開平11-123281(JP,A)
【文献】ミニ四駆世代必見!本物志向の深いカスタマイズと熱いレースが楽しめる「ミニ四駆 超速グランプリ」CBTリポート,ファミ通App[online],2019年11月11日,インターネット<URL:https://app.famitsu.com/20191111_1536435/>,[2022年 5月 6日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
仮想空間内のコースを移動体が走行してレースを行うためのゲームシステムであって、
前記移動体の速度と前記移動体の安定性に関する移動体情報を管理する移動体情報管理部と、
前記コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理するコース区間情報管理部と、
前記移動体情報と前記コース区間情報とに基づいて、前記仮想空間における前記移動体の動きを制御する制御部と、
前記移動体が前記コース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する判断部とを含み、
前記判断部は、
前記移動体に作用する前記遠心力と当該移動体の安定性とに基づいてコースアウトの危険度を示す値を算出し、算出した危険度の値が第1の閾値T1未満である場合に、当該移動体がコースアウトしないと判断し、算出した危険度の値が第2の閾値T2(T2>T1)より大きい場合に、当該移動体がコースアウトすると判断し、算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下である場合に、抽選により当該移動体がコースアウトするか否かを決定し、
前記制御部は、
前記判断部によって前記移動体がコースアウトすると判断された場合に、当該移動体を前記コースからコースアウトさせることを特徴とするゲームシステム。
【請求項2】
請求項において、
前記制御部は、
前記移動体を自動的に前記コースに沿って移動させることを特徴とするゲームシステム。
【請求項3】
請求項において、
前記制御部は、
前記移動体情報と前記コース区間情報とに基づいて、前記コースを前記移動体が走行するレースをシミュレーションすることを特徴とするゲームシステム。
【請求項4】
請求項において、
前記制御部によるシミュレーション結果に基づいて、前記レースを再現する再現画像を生成して再生する再生部を更に含むことを特徴とするゲームシステム。
【請求項5】
請求項において、
前記再生部は、
前記シミュレーション結果においてコースアウトが発生する場合、コースアウトのシーンを再現する際に当該シーン用の演出を行うことを特徴とするゲームシステム。
【請求項6】
請求項又はにおいて、
前記制御部は、
前記再現画像の再生中にプレーヤの入力を受け付けた場合に、当該入力に基づいて、当該入力のあった時点後の前記レースを再シミュレーションすることを特徴とするゲームシステム。
【請求項7】
請求項において、
前記再生部は、
前記制御部による再シミュレーション結果を受け付けた後から、当該再シミュレーション結果に基づく前記再現画像を生成して再生することを特徴とするゲームシステム。
【請求項8】
請求項1乃至のいずれか1項において、
前記移動体情報は、前記レースの開始ごとに変動可能であることを特徴とするゲームシステム。
【請求項9】
請求項1乃至のいずれか1項において、
前記制御部は、
前記移動体が通過している前記コース区間の形状又は属性に応じて、当該移動体の速度を変更することを特徴とするゲームシステム。
【請求項10】
請求項1乃至のいずれか1項において、
前記制御部は、
前記レースの進捗状況に応じて、前記移動体の安定性を減少方向に変化させ、又は、前記コース区間の属性を変化させることを特徴とするゲームシステム。
【請求項11】
請求項1乃至10のいずれか1項において、
前記判断部は、
前記遠心力と、前記移動体の安定性と、当該移動体が通過している前記コース区間に関連する付加要素とに基づいて、当該移動体がコースアウトするか否かを判断することを特徴とするゲームシステム。
【請求項12】
仮想空間内のコースを移動体が走行してレースを行うためのサーバであって、
前記移動体の速度と前記移動体の安定性に関する移動体情報を管理する移動体情報管理部と、
前記コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理するコース区間情報管理部と、
前記移動体情報と前記コース区間情報とに基づいて、前記仮想空間における前記移動体の動きを制御する制御部と、
前記移動体が前記コース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する判断部とを含み、
前記判断部は、
前記移動体に作用する前記遠心力と当該移動体の安定性とに基づいてコースアウトの危険度を示す値を算出し、算出した危険度の値が第1の閾値T1未満である場合に、当該移動体がコースアウトしないと判断し、算出した危険度の値が第2の閾値T2(T2>T1)より大きい場合に、当該移動体がコースアウトすると判断し、算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下である場合に、抽選により当該移動体がコースアウトするか否かを決定し、
前記制御部は、
前記判断部によって前記移動体がコースアウトすると判断された場合に、当該移動体を前記コースからコースアウトさせることを特徴とするサーバ。
【請求項13】
仮想空間内のコースを移動体が走行してレースを行うためのプログラムであって、
前記移動体の速度と前記移動体の安定性に関する移動体情報を管理する移動体情報管理部と、
前記コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理するコース区間情報管理部と、
前記移動体情報と前記コース区間情報とに基づいて、前記仮想空間における前記移動体の動きを制御する制御部と、
前記移動体が前記コース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する判断部としてコンピュータを機能させ、
前記判断部は、
前記移動体に作用する前記遠心力と当該移動体の安定性とに基づいてコースアウトの危険度を示す値を算出し、算出した危険度の値が第1の閾値T1未満である場合に、当該移動体がコースアウトしないと判断し、算出した危険度の値が第2の閾値T2(T2>T1)より大きい場合に、当該移動体がコースアウトすると判断し、算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下である場合に、抽選により当該移動体がコースアウトするか否かを決定し、
前記制御部は、
前記判断部によって前記移動体がコースアウトすると判断された場合に、当該移動体を前記コースからコースアウトさせることを特徴とするプログラム。
【請求項14】
仮想空間内のコースを移動体が走行してレースを行うためのサーバが、端末からの要求に応じてゲームサービスを提供するゲームサービス提供方法であって、
前記サーバが、
前記移動体の速度と前記移動体の安定性に関する移動体情報を管理する移動体情報管理部と、
前記コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理するコース区間情報管理部と、
前記移動体情報と前記コース区間情報とに基づいて、前記仮想空間における前記移動体の動きを制御する制御部と、
前記移動体が前記コース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する判断部とを含み、
前記判断部が、
前記移動体に作用する前記遠心力と当該移動体の安定性とに基づいてコースアウトの危険度を示す値を算出し、算出した危険度の値が第1の閾値T1未満である場合に、当該移
動体がコースアウトしないと判断し、算出した危険度の値が第2の閾値T2(T2>T1)より大きい場合に、当該移動体がコースアウトすると判断し、算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下である場合に、抽選により当該移動体がコースアウトするか否かを決定し、
前記制御部が、
前記判断部によって前記移動体がコースアウトすると判断された場合に、当該移動体を前記コースからコースアウトさせる場合において、
前記端末において受け付けられた前記移動体の設定を指示する操作に関する情報を前記サーバに送信することを特徴とするゲームサービス提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、サーバ及びプログラムに関する。
【背景技術】
【0002】
従来、車両玩具から実走行結果データを受信し、この実走行結果データに従って仮想移動体を仮想コースで走行させるゲームが知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第5523306号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のゲームでは、仮想移動体の速度や安定性、仮想コースの形状等を考慮して仮想移動体のコースアウトを適切に再現するような処理は行われていなかった。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、仮想空間内のコースを移動体が走行してレースを行うゲームにおいて移動体のコースアウトを適切に再現することが可能なゲームシステム、サーバ及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
(1)本発明は、仮想空間内のコースを移動体が走行してレースを行うためのゲームシステムであって、前記移動体の速度と前記移動体の安定性に関する移動体情報を管理する移動体情報管理部と、前記コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理するコース区間情報管理部と、前記移動体情報と前記コース区間情報とに基づいて、前記仮想空間における前記移動体の動きを制御する制御部と、前記移動体が前記コース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する判断部とを含み、前記制御部は、前記判断部によって前記移動体がコースアウトすると判断された場合に、当該移動体を前記コースからコースアウトさせることを特徴とするゲームシステムに関する。また、本発明は、上記各部を含むサーバに関する。また本発明は、上記各部としてコンピュータを機能させるためのプログラムに関する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記プログラムを記憶した情報記憶媒体に関する。
【0007】
本発明によれば、移動体の速度及び安定性と複数のコース区間それぞれの形状を管理し、移動体がコース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断し、コースアウトすると判断した場合に、当該移動体をコースからコースアウトされることで、仮想空間内のコースを移動体が走行してレースを行うゲームにおいて移動体のコースアウトを適切に再現することができる。
【0008】
(2)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記判断部は、前記遠心力と前記移動体の安定性との関係に応じて、当該移動体がコースアウトする確率を変更して、当該移動体がコースアウトするか否かを判断してもよい。
【0009】
本発明によれば、遠心力と移動体の安定性との関係に応じて、移動体がコースアウトする確率を変更することで、移動体のコースアウトを適切に再現することができる。
【0010】
(3)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部は、前記移動体を自動的に前記コースに沿って移動させてもよい。
【0011】
本発明によれば、移動体がコースに沿って自動的に移動してレースを行うゲームにおいて移動体のコースアウトを適切に再現することができる。
【0012】
(4)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部は、前記移動体情報と前記コース区間情報とに基づいて、前記コースを前記移動体が走行するレースをシミュレーションしてもよい。
【0013】
(5)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部によるシミュレーション結果に基づいて、前記レースを再現する再現画像を生成して再生する再生部を更に含んでもよい。
【0014】
(6)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記再生部は、前記シミュレーション結果においてコースアウトが発生する場合、コースアウトのシーンを再現する際に当該シーン用の演出を行ってもよい。
【0015】
本発明によれば、レースを再現する際にコースアウトのシーンをより印象付けることができる。
【0016】
(7)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部は、前記再現画像の再生中にプレーヤの入力を受け付けた場合に、当該入力に基づいて、当該入力のあった時点後の前記レースを再シミュレーションしてもよい。
【0017】
本発明によれば、レースを再現する画像の再生中にプレーヤがレース内容に介入することも可能なゲームを実現することができる。
【0018】
(8)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記再生部は、前記制御部による再シミュレーション結果を受け付けた後から、当該再シミュレーション結果に基づく前記再現画像を生成して再生してもよい。
【0019】
本発明によれば、プレーヤは入力を行った後に、それ以降のレースの内容を確認することができる。
【0020】
(9)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記移動体情報は、前記レースの開始ごとに変動可能であってもよい。
【0021】
(10)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部は、前記移動体が通過している前記コース区間の形状又は属性に応じて、当該移動体の速度を変更してもよい。
【0022】
本発明によれば、移動体が通過しているコース区間の形状や属性を当該移動体の速度に反映させて移動体の挙動を適切に再現することができる。
【0023】
(11)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記移動体情報管理部は、前記移動体の状態に応じて、当該移動体の安定性を算出して
もよい。
【0024】
本発明によれば、移動体の状態を当該移動体の安定性に反映させて移動体の挙動を適切に再現することができる。
【0025】
(12)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記移動体情報管理部は、前記移動体の部位ごとのパーツに応じて、当該移動体の安定性を算出してもよい。
【0026】
本発明によれば、移動体の部位ごとのパーツを当該移動体の安定性に反映させて移動体の挙動を適切に再現することができる。
【0027】
(13)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記制御部は、前記レースの進捗状況に応じて、前記移動体の安定性を減少方向に変化させ、又は、前記コース区間の属性を変化させてもよい。
【0028】
本発明によれば、レースが進んでいくに従って、移動体の安定性が減少したり、コース区間の属性が変化していき、移動体のコースアウトが発生し易くなるといった事象を適切に再現することができる。
【0029】
(14)また本発明に係るゲームシステム、サーバ、プログラム及び情報記憶媒体では、前記判断部は、前記遠心力と、前記移動体の安定性と、当該移動体が通過している前記コース区間に関連する付加要素とに基づいて、当該移動体がコースアウトするか否かを判断してもよい。また、前記判断部は、前記移動体が通過している前記コース区間に関連する付加要素に基づいて、当該移動体MVがコースアウトする確率を変更して、当該移動体がコースアウトするか否かを判断してもよい。例えば、前記移動体が通過しているコース区間が特定の種類のコース区間(例えば、ジャンプ台など)である場合に、当該移動体がコースアウトする確率を高くするようにしてもよい。
【0030】
本発明によれば、移動体の速度及び安定性と複数のコース区間それぞれの形状を管理し、移動体がコース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と、当該移動体の安定性と、当該コース区間に関連する付加要素とに基づいて、当該移動体がコースアウトするか否かを判断し、コースアウトすると判断した場合に、当該移動体をコースからコースアウトされることで、仮想空間内のコースを移動体が走行してレースを行うゲームにおいて移動体のコースアウトを適切に再現することができる。
【図面の簡単な説明】
【0031】
図1】本実施形態のゲームシステムを示す図。
図2】本実施形態のサーバの機能ブロック図の一例を示す図。
図3】本実施形態の端末の機能ブロック図の一例を示す図。
図4】移動体の一例を示す図。
図5】移動体情報の一例を示す図。
図6】仮想空間内に配置されるコースの一例を示す図。
図7】コース区間情報の一例を示す図。
図8】レースのシミュレーションについて説明するための図。
図9】再現画像の再生中にプレーヤの所定入力が行われる場合の動作シーケンスを示す図。
図10】本実施形態のゲームシステムの処理の流れを示すフローチャート。
図11】シミュレーション計算の処理の流れを示すフローチャート。
【発明を実施するための形態】
【0032】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必要構成要件であるとは限らない。
【0033】
1.構成
図1は、本実施形態のゲームシステムを示す。本実施形態では、複数の端末10とサーバ20(サーバシステム)とによって構成される。つまり、図1に示すように、本実施形態のゲームシステムは、サービスを提供するサーバ20と、端末10(10A、10B、10C・・・)とが、ネットワークに接続可能に構成される。
【0034】
サーバ20は、端末10からの要求に応じてオンラインゲームサービスを提供する情報処理装置である。サーバ20は、1又は複数のサーバ(認証サーバ、マッチングサーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。
【0035】
本実施形態のゲームシステムは、仮想空間(仮想3次元空間)内のコースを移動体が走行してレースを行うオンラインゲームを実行するゲームシステムであり、サーバ20において、仮想空間における移動体の動きを制御してレースをシミュレーションし、端末10において、シミュレーション結果に基づいてレースを再現する再現画像を生成して再生する。サーバ20では、プレーヤのアカウント情報や、ゲームで使用可能な移動体やアイテムに関する情報、コースに関する情報、ゲーム結果、ゲームで使用可能なゲーム内通貨などの情報が管理される。
【0036】
端末10は、携帯端末(スマートフォン、携帯電話、携帯型ゲーム機等)、パーソナルコンピュータ(PC)、ゲーム装置、画像生成装置などの情報処理装置であり、インターネット(WAN)、LANなどのネットワークを介してサーバ20に接続可能な装置である。なお、端末10とサーバ20との通信回線は、有線でもよいし無線でもよい。
【0037】
図2に本実施形態のサーバ20の機能ブロック図の一例を示す。なお本実施形態のサーバは図2の構成要素(各部)の一部を省略した構成としてもよい。
【0038】
記憶部270は、処理部200の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部200のワーク領域として機能し、その機能はハードディスク、RAMなどにより実現できる。記憶部270は、格納部272(例えばデータベース)を含む。
【0039】
格納部272は、本実施形態のゲームシステムで実行されるオンラインゲームに参加する複数のプレーヤそれぞれのプレーヤ情報を格納する。例えば、格納部272は、複数のプレーヤそれぞれのプレーヤ識別情報(プレーヤIDや、プレーヤが使用する端末IDなど)に対応づけて、プレーヤ名(プレーヤアカウント)、パスワード、端末10の宛先情報(IPアドレス等)などを、プレーヤ情報として格納する。また、格納部272は、プレーヤ識別情報に対応づけて、プレーヤが保有するゲーム媒体(移動体、アイテム等)やゲーム内通貨に関する情報を、プレーヤ情報として格納する。
【0040】
通信部296は端末10や他のサーバとの間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0041】
処理部200(プロセッサ)は、端末10から送信され通信部296を介して受信したデータ、プログラムなどに基づいて、プレーヤ情報の管理、ログイン/ログアウトに関する処理、通信制御処理などの各種処理を行う。処理部200は記憶部270をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部200は、移動体情報管理部210と、コース区間情報管理部212と、制御部214と、判断部216を含む。
【0042】
移動体情報管理部210は、移動体の速度(初速などの加速性、最高速度、現在の速度など)と安定性(ヨー安定性、ロール安定性、ピッチ安定性などの安定性、耐久力、剛性、重さ、重心など)に関する移動体情報を管理する。移動体情報は格納部272に格納される。移動体情報管理部210は、移動体の状態(移動体の部位ごとのパーツ)に応じて、当該移動体の安定性を算出(更新)する。移動体の部位ごとのパーツは、プレーヤの入力に基づいて設定される。
【0043】
コース区間情報管理部212は、コースを構成する複数のコース区間それぞれの形状に関するコース区間情報を管理する。コース区間情報は格納部272に格納される。
【0044】
制御部214は、移動体情報とコース区間情報とに基づいて、仮想空間における移動体(各プレーヤに関連付けられた移動体、プレーヤに関連付けられていない移動体(NPC))の動きを制御して移動体を自動的にコースに沿って移動させ、コースを移動体が走行するレースをシミュレーションする。シミュレーション結果は端末10に送信される。制御部214は、移動体が通過しているコース区間の形状又は属性(硬さや凸凹具合など)に応じて、当該移動体の速度を変更してもよい。また、制御部214は、レースの進捗状況(移動体の走行時間や走行距離、移動体が通過したコース区間の履歴など)に応じて、移動体の安定性を減少方向に変化させ、又は、コース区間の属性を変化させてもよい。
【0045】
判断部216は、移動体がコース区間を通過するごとに、当該移動体の速度と当該コース区間の形状とに基づき算出される遠心力と当該移動体の安定性とに基づいて、当該移動体がコースアウトするか否かを判断する。判断部216は、前記遠心力と移動体の安定性との関係に応じて、当該移動体がコースアウトする確率を変更して、当該移動体がコースアウトするか否かの判断を行ってもよい。また、判断部216は、前記遠心力と移動体の安定性に加えて、当該移動体が通過しているコース区間に関連する付加要素に基づいて、当該移動体がコースアウトするか否かの判断を行ってもよい。
【0046】
図3に、本実施形態の端末10の機能ブロック図の一例を示す。なお本実施形態のゲーム装置は図3の構成要素(各部)の一部を省略した構成としてもよい。
【0047】
入力部150は、プレーヤからの入力情報を入力(検出)するための機器であり、プレーヤの入力情報(操作入力)を処理部100に出力する。入力部150の機能は、タッチパネル、タッチパッド、マウス、方向キーやボタン、キーボード等の入力機器により実現することができる。
【0048】
記憶部170は、処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部100のワーク領域として機能し、その機能はハードディスク、RAMなどにより実現できる。
【0049】
表示部190は、処理部100で生成されたゲーム画像を出力するものであり、その機能は、入力部150としても機能するタッチパネル、LCD或いはHMD(ヘッドマウントディスプレイ)などのディスプレイにより実現できる。
【0050】
音出力部192は、処理部100で生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0051】
通信部196はサーバ20や他の端末10との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0052】
なお、サーバ20が有する情報記憶媒体や記憶部に記憶されている処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを、ネットワークを介して受信し、受信したプログラムやデータを記憶部170に記憶してもよい。このようにプログラムや各種データを受信して端末を機能させる場合も本発明の範囲内に含む。
【0053】
処理部100(プロセッサ)は、入力部150からの入力情報(操作情報)、プログラム、通信部196を介して受信したデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理、などの処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部100は、移動体の設定(パーツの変更や強化などのカスタマイズ)を指示するプレーヤの操作や、レースの開始を指示するプレーヤの操作があった場合に、その旨の指示情報をサーバ20に送信する。処理部100は、再生部110、画像生成部120、音生成部130を含む。
【0054】
再生部110は、サーバ20から受信したシミュレーション結果に基づいて、レースを再現する再現画像(移動体が走行するコースが配置された仮想空間内において仮想カメラから見える画像)を生成して動画像(映像)として再生する。再生部110は、シミュレーション結果において移動体のコースアウトが発生する場合、コースアウトのシーンを再現する際に当該シーン用の演出(仮想カメラのアングル、カメラワーク、エフェクト、音楽などによる演出)を行ってもよい。
【0055】
ここで処理部100は、再生部110による再現画像の再生中にプレーヤの入力(画面上のボタン操作、アイテムの使用など)を受け付けた場合に、当該入力をサーバ20に送信する。当該入力を受け付けたサーバ20の制御部214は、当該入力に基づいて、当該入力のあった時点後のレースを再シミュレーションし、再シミュレーション結果を端末10に送信する。再生部110は、当該再シミュレーション結果を受け付けた後から、当該再シミュレーション結果に基づく再現画像を生成して再生する。
【0056】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これによりゲーム画像(再現画像や設定画面等を含むゲーム画像)を生成し、表示部190に出力する。
【0057】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0058】
なお、移動体情報管理部210、コース区間情報管理部212、制御部214、判断部216及び再生部110の処理を、全てサーバ20で実行するように構成してもよいし、全て端末10で実行するように構成してもよいし、本実施形態のようにサーバ20と端末10で分散して実行するように構成してもよい。
【0059】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0060】
本実施形態のゲームシステムでは、仮想空間内のコースを移動体が走行してレースを行うゲームが実行される。
【0061】
図4は、移動体の一例を示す図である。移動体MVは仮想的な電動四輪車であり、複数のパーツ(部位)で構成される。移動体MVを構成するパーツとしては、車台であるシャーシ(図示せず)、車体であるボディBD、タイヤTR、ホイールWH、ローラーRL、ステーST、ウィングWN、ホイールWHを支えるシャフト(図示せず)、モーター(図示せず)、動力源となる電池(図示せず)、ウェイト(重り)等がある。ローラーRLは、ステーSTを介してシャーシに取り付けられ、コースの各レーン(走路)の両側に設けられた側壁に接触回転することで、移動体MVのコースに沿った走行をガイドする。この例では、移動体MVの4隅に計4個のローラーRLが取り付けられているが、移動体MVの前方両側のみに計2個のローラーRLを取り付けたり、後方両側のみに計2個のローラーRLを取り付けることもできる。
【0062】
サーバ20(移動体情報管理部210)は、各プレーヤに関連付けられた移動体MVを構成する複数のパーツに関する情報と、当該移動体MVの速度及び安定性に関する情報とを、移動体情報として管理する。
【0063】
図5は、移動体情報の一例を示す図である。移動体情報300は、各プレーヤのプレーヤID310に対応付けて、各プレーヤが保有する移動体MVを構成する複数のパーツ(シャーシ、ボディBD、タイヤTR、ホイールWH等)を特定するパーツ特定情報320と、当該移動体MVの速度330(最高速度、加速性)と、当該移動体MVの安定性340(安定性、耐久力、重さ、重心)とを格納する。
【0064】
各プレーヤには、初期状態において、基本セットとして、複数の基本パーツ(最もグレードの低いパーツ)から構成される移動体MVが付与される。プレーヤは、端末10の表示部190に表示される設定画面において、ゲーム内通貨を消費して移動体MVのいずれかの部位のグレードアップパーツ(基本パーツよりも性能の高いパーツ)を購入し、購入したパーツを自身の移動体MVに設定(装着)することができる。また、プレーヤは、設定画面において、ゲーム内通貨を消費して購入したアイテムを使用(消費)して、移動体MVのいずれかの部位のパーツを強化(軽量化、空気抵抗の向上、高速化、安定化など、性能の向上)したり改造(肉抜き、塗装、ドレスアップなど)したりすることができる。設定画面におけるプレーヤによる設定内容はサーバ20に送信され、当該設定内容に基づいて、パーツ特定情報320が更新される。図5に示す例では、プレーヤID「001」のプレーヤの移動体MVを構成するパーツのうちシャーシのパーツ「a1」とボディBDのパーツ「b1」は基本パーツであり、タイヤTRのパーツ「c2」とホイールWHのパーツ「d2」はグレードアップパーツ(或いは、強化/改造パーツ)である。また、プレーヤID「002」のプレーヤの移動体MVを構成するパーツのうちタイヤTRのパーツ「c1」とホイールWHのパーツ「d1」は基本パーツであり、シャーシのパーツ「a2」とボディBDのパーツ「b3」はグレードアップパーツ(或いは、強化/改造パーツ)である。また、プレーヤは、設定画面において、パーツや素材を組み合わせて新たなパーツ(カスタムパーツ)を作成することもできる。
【0065】
移動体MVの速度330は、当該移動体MVを構成する複数のパーツ(パーツ特定情報320)に応じて設定される。例えば、移動体MVのモーターや電池のパーツの性能(グレード等)が高いほど、当該移動体MVの最高速度は大きくなり加速性も高くなる。また、移動体MVのタイヤTRの径が大きいほど、当該移動体MVの最高速度は大きくなり加速性は低くなる。なお、移動体MVの速度330は、当該移動体MVの安定性340に応じても設定され、例えば、移動体MVの重さが大きいほど、当該移動体MVの加速性は低
くなる。
【0066】
同様に、移動体MVの安定性340は、当該移動体MVを構成する複数のパーツ(パーツ特定情報320)に応じて設定される。例えば、移動体MVのシャーシやボディBDのパーツの性能が高いほど、当該移動体の安定性は高くなる。また、移動体MVに備わるローラーRLの数が多いほど、また、ローラーRLの径が大きいほど、当該移動体MVの安定性は高くなる。また、移動体MVの複数の部位のパーツが特定の組み合わせである場合に、当該移動体MVの安定性を変化させるようにしてもよい。また、同じパーツであっても、装着される部位に応じて移動体MVの安定性が変化するようにしてもよい。また、移動体MVの重さは、当該移動体MVを構成する全パーツの重さを合計して算出される。また、移動体MVの重心としては、前後の重心及び上下の重心がある。前後の重心については、シャーシやボディBDのパーツの種類や、移動体MVの前端部と後端部に取り付けられたパーツ(ステーST、ローラーRL、ウィングWN、ウェイト等)に応じて、重心が「前」であるか「中央」であるか「後ろ」であるかが決定される。また、上下の重心については、シャーシやボディBDのパーツの種類に応じて、重心の基準位置(例えば、タイヤTRの最大径の半分の位置の地上高)からの上方向の距離が決定される。図5に示す例は、プレーヤID「001」の移動体MVの前後の重心が「中央」であり、上下の重心が「0」(基準位置)であること、プレーヤID「002」の移動体MVの前後の重心が「前」であり、上下の重心が基準位置から「-2」だけ低いことを示している。
【0067】
各プレーヤは、仮想空間内のコースを移動体MVが走行するレースにエントリー(参加)することができる。コースは、レースごとに異なるものが用意されている。図6は、仮想空間内に配置されるコースの一例を示す図である。図6に示すコースCSは、3つのレーン(走路)を有し3台の移動体MVが走行可能な右回りの周回コースである。コースCSは、複数のコース区間CEの組み合わせで構成される。コース区間CEは複数の種類があり、種類ごとに形状が異なっている。例えば、コース区間CE(ストレート)は、走路が直線状に形成されたコース区間CEであり、コース区間CE(コーナー)は、走路が右回り又は左回りの曲線状に形成されたコース区間CEであり、コース区間CE(上り坂)は、走路が進行方向に上り坂に形成されたコース区間CEであり、コース区間CE(下り坂)は、走路が進行方向に下り坂に形成されたコース区間CEであり、コース区間CE(ジャンプ台)は、走路が中間地点まで進行方向に上り坂に形成され中間地点から進行方向に下り坂に形成されたコース区間CEであり、コース区間CE(レーンチェンジ)は、イン(或いは、アウト)のレーンを走行する移動体MVの走路がアウト(或いは、イン)のレーンに変更されるコース区間CEである。その他、移動体MVが走行しながら宙返りする「ループチェンジャー」や、走路が左右方向に傾斜している「バンク」といったコース区間CEが用意されている。また、「コーナー」のコース区間CEには、右回り左回りの別がある他、曲率半径(カーブ半径)の異なる複数種類があってもよい。なお、コースCSを構成する複数のコース区間CEのいずれかには、レースのスタート地点Sが設定されている。
【0068】
サーバ20(コース区間情報管理部212)は、コースCSを構成する複数のコース区間CEそれぞれの形状に関する情報を、コース区間情報として管理する。図7は、コース区間情報の一例を示す図である。コース区間情報400は、各コースCSのコースID410に対応付けて、コースCSを構成する1番目のコース区間CE(スタート地点Sが設定されたコース区間CE)からN番目(Nは、コースCSを構成するコース区間CEの総数)のコース区間CEのそれぞれの形状(種類)を特定するコース区間特定情報420を格納する。図7に示す例は、コースID「001」のコースCS(図6に示すコースCS)の1番目のコース区間CEの形状が「ストレート」であり、2番目と3番目のコース区間CEの形状が「右回りコーナー」であり、4番目のコース区間CEの形状が「レーンチェンジ」であり、5番目のコース区間CEの形状が「左回りコーナー」であり、そして、
22番目のコース区間CEの形状が「上り坂」であり、23番目のコース区間CEの形状が「ストレート」であり、24番目(N番目)のコース区間CEの形状が「下り坂」であることを示している。なお、コースCSを構成する複数のコース区間CEのそれぞれには、硬さ、破損具合、凸凹具合等のコンディション情報(属性)が設定されている。
【0069】
レースにエントリーしたプレーヤが端末10においてレースの開始を指示する操作を行うと、サーバ20(制御部214)は、移動体情報300とコース区間情報400とに基づいて、エントリーした各プレーヤの移動体MVがコースCSを走行する(自動的にコースCSに沿って移動する)当該レースをシミュレーションする。なお、レースに参加する移動体MVには、プレーヤに関連付けられていない(CPU制御の)移動体MVが含まれていてもよい。
【0070】
レースのシミュレーションでは、移動体MVの速度330(最高速度、加速性)と移動体MVが通過するコース区間CEの形状や属性(コース区間特定情報420)とに基づいて、移動体MVが各コース区間CEを通過する(隣接する各コース区間CE間の境界を通過する)ときの速度vを求める。例えば、図8に示す例において、移動体MVが、「ストレート」のコース区間CE、「左回りコーナー」のコース区間CE、「右回りコーナー」のコース区間CE、「ストレート」のコース区間CE、CEの順に通過し、コース区間CEに速度v=30で侵入するとする。コース区間CEは「ストレート」であるから、移動体MVは減速することなく、速度v=30で次のコース区間CEとの境界を通過する(コース区間CEに侵入する)。次のコース区間CEは「コーナー」であるから、移動体MVは減速して、速度v=27で次のコース区間CEとの境界を通過する。このときの減速量(「コーナー」のコース区間CEを通過するときの減速量)は、移動体MVの加速性に応じて求められ、移動体MVの加速性が高いほど小さくなる。次のコース区間CEも「コーナー」であるから、移動体MVは更に減速して、速度v=25で次のコース区間CEとの境界を通過する。次のコース区間CEは「ストレート」であるから、移動体MVは減速することなく、速度v=25で次のコース区間CEとの境界を通過する。次のコース区間CEは「ストレート」であり、その前のコース区間CEも「ストレート」であるから、移動体MVは加速して、速度v=27で次のコース区間CEとの境界を通過する。このときの加速量(「ストレート」のコース区間CEを連続して通過するときの加速量)は、移動体MVの加速性に応じて求められ、移動体MVの加速性が高いほど大きくなる。但し、移動体MVの速度は、当該移動体MVの最高速度を超えない範囲で制御される。また、移動体MVが「上り坂」のコース区間CEを通過する場合には減速し、移動体MVが「下り坂」のコース区間CEを通過する場合には加速する。また、移動体MVが通過するコース区間CEのコンディションが悪い(破損度合いや凸凹度合いが大きい)ほど、移動体MVの減速量は大きくなり加速量は小さくなる。また、レース開始直後の各移動体MVの初速は、各移動体MVの加速性に基づき決定してもよいし、各プレーヤによるレースの開始を指示する操作の操作タイミングに基づきランダムに決定してもよい。
【0071】
このように、各移動体MVがコースCSを構成する各コース区間CE間の境界を通過する(各コース区間CEに侵入する)ときの速度vを求め、求めた速度vに基づいて、各移動体MVが各境界(各計算ポイント)を通過するときの通過タイム(レース開始からの経過時間)を算出し、シミュレーション結果とする。また、各移動体MVがコースCSを所定回数だけ周回した(ゴールした)ときのゴールタイムと、各移動体MVのゴール着順(順位)も合わせて求め、シミュレーション結果とする。なお、コースアウトした移動体MVは、レースをリタイアしたものとする。
【0072】
また、レースのシミュレーションでは、移動体MVの速度vと移動体MVが通過するコース区間CEの形状とに基づいて、移動体MVに作用する遠心力を求める。例えば、図8
に示す例において、移動体MVがコース区間CEに侵入するときの速度v=30とコース区間CEの形状「ストレート」に基づいてコース区間CEを通過するときの遠心力を求め、移動体MVがコース区間CEに侵入するときの速度v=30とコース区間CEの形状「コーナー」に基づいてコース区間CEを通過するときの遠心力を求め、移動体MVがコース区間CEに侵入するときの速度v=27とコース区間CEの形状「コーナー」に基づいてコース区間CEを通過するときの遠心力を求め、以下同様にして、各コース区間CEを通過するときの遠心力を求める。この遠心力は、移動体MVの速度vが大きいほど大きくなり、また、「ストレート」のコース区間CEを通過する場合よりも「コーナー」のコース区間CEを通過する場合の方が大きくなる。また、「コーナー」のコース区間CEに曲率半径の異なるものがある場合には、遠心力は、移動体MVが通過する「コーナー」のコース区間CEの曲率半径が小さいほど大きくなる。なお、移動体MVに作用する遠心力を、物理法則に従って(移動体MVの重さ、速度v及びコース区間CEの曲率半径を用いた公式により)算出するようにしてもよい。
【0073】
そして、シミュレーションでは、移動体MVがコース区間CEを通過する(コース区間CEに侵入する)ごとに、移動体MVに作用する遠心力と、移動体MVの安定性340(安定性、重心)とに基づいて、移動体MVがコースアウトするか否かを判定する。例えば、移動体MVに作用する遠心力と移動体MVの安定性340とに基づいて、コースアウトの危険度を示す値を算出する。当該危険度の値は、移動体MVに作用する遠心力が大きいほど大きくなり、移動体MVの安定性が高いほど小さくなる。また、当該危険度の値は、移動体MVの重心が低いほど小さくなり、移動体MVの前後の重心が「前」や「後ろ」である場合よりも「中央」である場合の方が小さくなる。そして、算出した危険度の値が第1の閾値T1未満であれば、コースアウトしないと判定し、算出した危険度の値が第2の閾値T2(T2>T1)より大きければ、コースアウトすると判定する。また、算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下である場合には、乱数発生手段と抽選テーブル等を用いて抽選によりコースアウトするか否かを決定する。この場合、算出した危険度の値が大きいほど、コースアウトすると決定される確率が高くなるように、抽選確率を変更する。移動体MVがコースアウトとすると判定した場合には、コースアウトした移動体MVと、コースアウトの発生場所(何周目、何番目のコース区間CEでコースアウトが発生するか)とを特定する情報を、シミュレーション結果とする。
【0074】
また、レースのシミュレーションでは、移動体MVに作用する遠心力と移動体MVの安定性340に加えて、移動体MVが通過しているコース区間CEに関連する付加要素に基づいて、移動体MVがコースアウトするか否かを判定してもよい。例えば、移動体MVが「ジャンプ台」のコース区間CEを通過する際に、遠心力と安定性340とに基づきコースアウトしないと判定した場合であっても、移動体MVの速度vが所定の速度以上である場合には、コースアウトすると判定してもよい。また、移動体MVが「ループチェンジャー」のコース区間CEを通過する際に、遠心力と安定性340とに基づきコースアウトしないと判定した場合であっても、移動体MVの速度vが所定の速度以下である場合には、コースアウトすると判定してもよい。また、移動体MVが通過しているコース区間CEに関連する付加要素に基づいて、移動体MVがコースアウトする確率を変更してもよい。例えば、移動体MVに作用する遠心力と移動体MVの安定性340とに基づき算出した危険度の値が第1の閾値T1以上であって第2の閾値T2以下であるとき、移動体MVが「ジャンプ台」や「ループチェンジャー」といった特定のコース区間CEを通過している場合には、移動体MVがコースアウトすると決定される確率が高くなるように抽選確率を変更してもよいし、「ジャンプ台」を通過している移動体MVの速度が所定の速度以上である場合や、「ループチェンジャー」を通過している移動体MVの速度が所定の速度以下である場合に、移動体MVがコースアウトすると決定される確率が100%になるようにしてもよい。
【0075】
また、レースのシミュレーションでは、移動体MVがジャンプして着地する挙動を計算する。例えば、移動体MVが「ジャンプ台」や「下り坂」のコース区間CEを通過する場合に、移動体MVの速度vと安定性340(重さ、重心)とに基づいて、移動体MVがジャンプするときの射出角度と着地位置を算出する。ジャンプの射出角度は、移動体MVの前後の重心が「前」である場合の方が「中央」や「後ろ」である場合よりも小さくなる。また、ジャンプの着地位置は、移動体MVの速度vが大きいほど遠くなり、移動体MVの重さが大きいほど近くなる。
【0076】
なお、移動体MVの速度330及び安定性340は、レースの開始ごとに変動する場合がある。例えば、移動体MVのコンディションを示すコンディション情報が各移動体MVに設定されており、各移動体のコンディションがレースの開始ごとにランダムに変動し、当該コンディションの良悪に応じて、レースにおける各移動体MVの速度330や安定性340を設定するようにしてもよい。また、プレーヤが潤滑油等のメンテンナンス用のアイテムを使用(消費)した場合に、当該プレーヤの移動体MVのコンディションを向上させるようにしてもよい。
【0077】
また、レースのシミュレーションでは、レースの進捗状況に応じて、各移動体の安定性340(安定性、耐久力)を減少方向に変化させる。より詳細には、移動体MVの走行内容(走行距離や走行時間、通過したコース区間CEの形状や属性)に応じて当該移動体の耐久力を減少させる。例えば、移動体MVの走行距離や走行時間が長くなるほど、当該移動体MVの耐久力が減少するようにしてもよいし、移動体MVが、特定の形状のコース区間CE(コーナー、ジャンプ台、ループチェンジャー等、移動体MVに負荷のかかりやすいコース区間CE)や、コンディションの悪い(破損度合いや凸凹度合いが大きい)コース区間CEや、コース区間CE間の境界(接続部)を通過する度に、当該移動体MVの耐久力が減少するようにしてもよい。そして、移動体MVの耐久力が減少するに伴って当該移動体MVの安定性も減少する。このようにすると、レースが進んでいくに従って移動体MVの安定性が減少していき、移動体MVのコースアウトが発生し易くなるといった事象を適切に再現することができる。なお、移動体MVの走行内容に応じて当該移動体MVを構成する一部のパーツが走行中に脱落し、これに応じて当該移動体の耐久力や安定性が減少するようにしてもよい。また、レースの進捗状況に応じて、コース区間CEの属性(コンディション)を悪化する方向に変化させるようにしてもよい。例えば、移動体MVがコース区間CEを通過する回数が多くなるほど、当該コース区間CEのコンディションが悪化する(劣化による形状変化や破損度合い、凸凹度合いが大きくなる)ようにしてもよい。このようにすると、レースが進んでいくに従ってコース区間のコンディションが悪化していき、これにより移動体MVの安定性が減少していき、移動体MVのコースアウトが発生し易くなるといった事象を適切に再現することができる。
【0078】
レースのシミュレーションが終了すると、サーバ20は、当該レースに参加した各プレーヤの端末10に対して、シミュレーション結果(各移動体MVのパーツ特定情報320、コースCSのコース区間特定情報420、各移動体MVの各計算ポイントの通過タイム、ゴールタイム、ゴール着順、コースアウトに関連する情報(コースアウトした移動体MV、コースアウトの発生場所)、ジャンプに関連する情報(ジャンプした移動体MV、ジャンプの発生場所、ジャンプの射出角度と着地位置)など)を送信する。
【0079】
シミュレーション結果を受信した端末10(再生部110)は、受信したシミュレーション結果に基づいて、レースを再現する再現画像(再現映像)を生成して再生する。再現画像の生成・再生においては、パーツ特定情報320で特定される各移動体MVと、コース区間特定情報420で特定されるコースCSとを仮想空間内に配置し、各移動体MVの各計算ポイントの通過タイムやコースアウトに関する情報、ジャンプに関する情報に基づいて、各移動体MVの移動情報(位置、回転角度等)を算出するとともに、仮想空間内の
仮想カメラから見える画像を生成して表示部190に出力する処理を、1フレーム(1/60秒)ごとに繰り返す。なお、移動体MVのコースアウトが発生する場合には、コースアウトが発生するコース区間CEの形状や、コースアウト発生時の移動体MVの速度v等に応じて、移動体MVがコースアウトするモーションを生成(或いは選択)し、生成したモーションに応じて当該移動体MVの移動情報を算出する。また、移動体MVのジャンプが発生する場合には、ジャンプが発生するコース区間CEの形状や、ジャンプの射出角度と着地位置等に応じて、移動体MVがジャンプするモーションを生成し、生成したモーションに応じて当該移動体MVの移動情報を算出する。これらの処理により、各移動体MVが、シミュレーション結果に従って、コースCSに沿って走行し、コースアウトやジャンプする再現画像が再生される。なお、再生部110は、再現画像を再生する端末10のプレーヤの移動体MVが再生画像に常時映り込むように、当該移動体MVの移動に合わせて仮想カメラを移動させたり、当該移動体MVの走行位置に応じて複数の仮想カメラを切り替えたりする制御を行う。
【0080】
また、再生部110は、シミュレーション結果においてコースアウトが発生する場合に、コースアウトのシーンを印象付けるための演出を行う。例えば、当該演出として、コースアウト発生前後において、コースアウトが発生するコース区間CEを俯瞰する仮想カメラに切り替えて再現画像を生成することで、移動体MVがコースアウトする様子を再現画像で把握し易くするようにしてもよい。また、当該演出として、移動体MVがコースアウトする直前において、当該移動体MVをズームアップ等するように仮想カメラのカメラワーク(位置、向き、画角等)を制御したり、再生している音楽を切り替えたり、当該移動体MVに関連付けて所定のエフェクト画像を表示させたりすることで、コースアウトの危険性が迫っていることをプレーヤが把握し易くするようにしてもよい。
【0081】
本実施形態によれば、移動体MVの速度及び安定性とコースCSを構成する複数のコース区間CEそれぞれの形状を管理しておき、レースをシミュレーションする際に、移動体MVがコース区間CEを通過するごとに、当該移動体MVの速度vと当該コース区間CEの形状とに基づく遠心力と、当該移動体MVの安定性とに基づいて、当該移動体MVがコースアウトするか否かを判断することで、移動体MVがコースCSに沿って自動的に走行してレースを行うゲームにおいて移動体MVのコースアウトを適切に再現することができる。また、本実施形態では、移動体MVの速度と安定性は、当該移動体MVを構成する複数のパーツに応じて設定され、プレーヤは、移動体MVを構成するパーツを変更したり強化したりしてカスタマイズすることができる。従って、エントリーしようとするコースCSの構成(どの形状のコース区間CEがどのように組み合わされてコースCSが構成されているか)を基に、どのように移動体MVをカスタマイズすれば移動体MVがコースアウトしないかを考える楽しさをプレーヤに与えることができ、ゲームの興趣性を高めることができる。例えば、エントリーしようとするコースCSが、「コーナー」や「ジャンプ台」を多く含み、コースアウトが発生し易いコースCSである場合には、移動体MVの安定性を重視して移動体MVの各部のパーツを設定し、エントリーしようとするコースCSが、連続する「ストレート」を多く含み、コースアウトが発生し難く高速走行が可能なコースCSである場合には、移動体MVの速度を重視して移動体MVの各部のパーツを設定するといったカスタマイズを楽しむことができる。
【0082】
なお、プレーヤは、端末10において、自身の移動体MVがコースCSを走行するレースの再現画像を見ることができるが、更に、再現画像の再生中に所定入力を行うことで、レース内容に介入できる(レース内容にプレーヤ操作を介在させる)ようにしてもよい。例えば、プレーヤによって、再現画像が再生されているゲーム画面に表示された所定のボタンを押す操作が行われた場合や、所定のアイテムを消費する操作が行われた場合に、レース中の当該プレーヤの移動体MVを加速させたり、当該移動体MVの安定性を増加させたりする。
【0083】
再現画像の再生中にプレーヤの所定入力が行われる場合の動作シーケンスについて図9を用いて説明する。図9に示すように、端末10においてレース開始を指示する入力が行われると、サーバ20において、レース(レース開始から終了まで)のシミュレーションを計算し、シミュレーション結果を端末10に送信する。端末10では、サーバ20から受信したシミュレーション結果に基づく再現画像の生成・再生を開始する。端末10において、再現画像の再生中にプレーヤによって所定入力が行われると、サーバ20において、当該所定入力に基づいて、レース内時間において当該所定入力のあった時点後のレースのシミュレーションを再計算する(再シミュレーションする)。例えば、再現画像の再生開始(レース開始)から1分0秒が経過した時点でプレーヤによって所定入力が行われた場合、レース開始から1分0秒経過した時点の当該プレーヤの移動体MVを加速させて、レース開始から1分0秒経過した時点後のレースを再シミュレーションする。ここで、再シミュレーションの計算にかかる時間や通信遅延による遅延時間を考慮して、再シミュレーションの開始時点を決定する。例えば、レース開始から1分0秒が経過した時点で所定入力が行われ、当該遅延時間が1秒であるとすると、レース開始から1分1秒経過した時点以降のレースを再シミュレーションする。端末10では、サーバ20から再シミュレーション結果を受信した時点から、当該再シミュレーション結果に基づく再現画像の生成・再生を開始する(再生中の再現映像を、再シミュレーション結果に基づく再現画像に差し替える)。例えば、レース開始から1分0秒が経過した時点で所定入力が行われた場合、レース開始から1分1秒経過するまでは最初のシミュレーション結果に基づく再現画像を再生し、再シミュレーション結果を受信した時点(レース開始から1分1秒経過した時点)からは再シミュレーション結果に基づく再現画像を再生する。このように、プレーヤは所定入力を行った後に、それ以降の(所定入力による影響を受けた)レース内容を確認することができる。
【0084】
なお、再現画像の再生中のプレーヤの所定入力によってもレース内容が変わらない場合には、再シミュレーションは行われない。例えば、再現画像再生中のプレーヤの所定入力が当該プレーヤの移動体MVがコースアウトする直前に行われたため、当該所定入力に基づく再シミュレーションが行われても当該移動体MVがコースアウトする結果が変わらない場合には、当該再シミュレーションを行わない。例えば、プレーヤの所定入力が行われた時点から当該プレーヤの移動体MVがコースアウトするまでの時間が所定時間よりも短い場合には、再シミュレーションを行わないと判断してもよい。
【0085】
3.処理
次に、本実施形態のゲームシステム(サーバ20)の処理の一例について図10のフローチャートを用いて説明する。
【0086】
まず、移動体情報管理部210は、端末10から、プレーヤが保有する移動体MVをカスタマイズする(パーツを交換、強化、改造する)操作が行われた旨の情報を受信したか否かを判断し(ステップS10)、当該情報を受信した場合(ステップS10のY)には、当該操作に応じて、当該端末10のプレーヤに関連付けられた移動体情報300を更新する(ステップS11)。すなわち、当該操作に応じて、当該プレーヤの移動体MVのパーツ特定情報320を更新し、更新後のパーツ特定情報320に応じて、当該移動体MVの速度330及び安定性340を更新する。
【0087】
次に、制御部214は、端末10から、レースにエントリーする操作が行われた旨の情報を受信したか否かを判断し(ステップS12)、当該情報を受信した場合(ステップS12のY)には、当該端末10のプレーヤの移動体MVを、当該情報で特定されるレースにエントリーさせる処理を行う(ステップS13)。プレーヤがエントリーしたレースのエントリー数が所定数に達した場合には、当該プレーヤの端末10に対してその旨の通知
がなされる。
【0088】
次に、制御部214は、端末10から、レースの開始を指示する操作が行われた旨の情報を受信したか否かを判断し(ステップS14)、当該情報を受信した場合(ステップS14のY)には、当該レースに参加する各プレーヤに関連付けられた移動体情報300と、当該レースのコースCSに関連付けられたコース区間情報400とに基づいて、当該コースCSを当該各プレーヤの移動体MVが走行するレースのシミュレーションを計算し(ステップS15)、計算結果(シミュレーション結果)を当該各プレーヤの端末10に送信する(ステップS16)。
【0089】
次に、制御部214は、端末10から、再生画像の再生中に所定入力(所定ボタンの操作や所定アイテムの使用)が行われた旨の情報を受信したか否かを判断し(ステップS17)、当該情報を受信した場合(ステップS17のY)には、当該所定入力に基づいて、当該所定入力があった時点後のレースのシミュレーションを再計算し(ステップS18)、再計算結果(再シミュレーション結果)を当該レースに参加する各プレーヤの端末10に送信する(ステップS19)。次に、端末10から、再生画像の再生が終了した旨の情報を受信したか否かを判断し(ステップS20)、当該情報を受信していない場合(ステップS20のN)には、ステップS17に移行する。当該情報を受信した場合(ステップS20のY)には、レース結果(ゴール着順)に応じてプレーヤに報酬(パーツやアイテム等のゲーム媒体、ゲーム内通貨)を付与する(ステップS21)。次に、処理部200は、処理を継続するか否かを判断し(ステップS22)、処理を継続する場合(ステップS22のY)には、ステップS10に移行する。
【0090】
次に、シミュレーション計算(図10のステップS15)の処理の一例について、図11のフローチャートを用いて説明する。
【0091】
まず、制御部214は、変数mに1をセットし(ステップS30)、変数nに1をセットする(ステップS31)。変数mは、移動体MVの周回数を示し、変数nは、コースCSを構成するコース区間CEの番号(スタート地点Sから進行方向への接続順)を示す。
【0092】
次に、制御部214は、移動体MVの速度330(最高速度、加速性)と、m周目n-1番目のコース区間CEの形状と、移動体MVがm周目n-1番目のコース区間CEに侵入するときの速度v(前回計算した速度v)とに基づいて、移動体MVがm周目n番目のコース区間CEに侵入するときの速度vを算出する(ステップS32)。なお、m=1、n=1であるとき(レース開始時)は、移動体MVの速度330に基づいて或いはランダムに決定した移動体MVの初速を、速度vとする。また、m≠1、n=1であるときは、移動体MVの速度330と、m-1周目N番目のコース区間CEの形状と、移動体MVがm-1周目N番目のコース区間CEに侵入するときの速度v(前回計算した速度v)とに基づいて、移動体MVがm周目1番目のコース区間CEに侵入するときの速度vを算出する。次に、制御部214は、算出した速度vに基づいて、移動体MVがm周目n番目のコース区間CE(計算ポイント)を通過するときの通過タイムを算出し、シミュレーション結果に格納する(ステップS33)。
【0093】
次に、判断部216は、算出した速度vとm周目n番目のコース区間CEの形状とに基づいて、移動体MVがm周目n番目のコース区間CEを通過するときに移動体MVに作用する遠心力を算出し(ステップS34)、算出した遠心力と移動体MVの安定性340(安定性、重心)とに基づいて、コースアウトの危険度rを算出する(ステップS35)。次に、判断部216は、算出した危険度rが第1の閾値T1以上であるか否かを判断し(ステップS36)、危険度rが第1の閾値T1以上である場合(ステップS36のY)には、危険度rが第2の閾値T2より大であるか否かを判断する(ステップS37)。危険
度rが第1の閾値T1以上であり第2の閾値T2以下である場合(ステップS37のN)には、判断部216は、危険度rの値が大きいほど当選確率が高くなる抽選処理を行う(ステップS38)。危険度rが第2の閾値T2より大である場合(ステップS37のY)、抽選処理で当選した場合(ステップS39のY)には、判断部216は、m周目n番目のコース区間CEでコースアウトが発生することを示すフラグを設定し、シミュレーション結果に格納する(ステップS40)。危険度rが第1の閾値T1未満である場合(ステップS36のN)、抽選処理で当選しなかった場合(ステップS39のN)には、コースアウトのフラグを設定せずにステップS41に移行する。
【0094】
次に、制御部214は、移動体MVの安定性340(耐久力、安定性)を減少させる(ステップS41)。ここで、m周目n番目のコース区間CEのコンディションに応じて移動体MVの安定性340の減少量を変化させ、当該コンディションが悪いほど当該減少量が大きくなるようにしてもよい。
【0095】
次に制御部214は、変数nがNに達した(移動体MVがコースCSを1周した)か否かを判断し(ステップS42)、変数nがNに達していない場合(ステップS42のN)には、変数nに1を加算して(ステップS43)、ステップS32に移行する。変数nがNに達した場合(ステップS42のY)には、制御部214は、変数mがMに達した(移動体MVがコースCSをM周してゴールした)か否かを判断し(ステップS44)、変数mがMに達していない場合(ステップS44のN)には、変数mに1を加算して(ステップS45)、ステップS31に移行する。以降、移動体MVがコースCSをM周するまで、ステップS31以下の処理を繰り返す。以上の処理を、レースに参加する移動体MVごとに行い、全ての移動体MVがゴールした場合に、各移動体MVのゴールタイム(M周目N番目のコース区間CEの通過タイム)に基づきゴール着順を算出し、シミュレーション結果に格納する。
【0096】
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0097】
例えば、上記実施例では、本発明を、移動体を自動的にコースに沿って移動させてレースを行うゲームに適用する場合について説明したが、本発明はこれに限られない。本発明は、プレーヤの操作入力に基づき移動体の動きを制御してレースを行うゲームに適用することもできる。
【符号の説明】
【0098】
10…端末、20…サーバ、100…処理部、110…再生部、120…画像生成部、130…音生成部、150…入力部、170…記憶部、190…表示部、192…音出力部、196…通信部、200…処理部、210…移動体情報管理部、212…コース区間情報管理部、214…制御部、216…判断部、270…記憶部、272…格納部、296…通信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11