JP2017113529A - 対戦型ゲームの制御方法、及びプログラム - Google Patents

対戦型ゲームの制御方法、及びプログラム Download PDF

Info

Publication number
JP2017113529A
JP2017113529A JP2016207981A JP2016207981A JP2017113529A JP 2017113529 A JP2017113529 A JP 2017113529A JP 2016207981 A JP2016207981 A JP 2016207981A JP 2016207981 A JP2016207981 A JP 2016207981A JP 2017113529 A JP2017113529 A JP 2017113529A
Authority
JP
Japan
Prior art keywords
control method
ball
batting
cursor
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016207981A
Other languages
English (en)
Inventor
智典 金子
Tomonori Kaneko
智典 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2016207981A priority Critical patent/JP2017113529A/ja
Publication of JP2017113529A publication Critical patent/JP2017113529A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】守備側端末と攻撃側端末との間のモーションの整合性を良好に維持すること。
【解決手段】「初期条件受領通知」が投手側端末に到達するまでの期間(t3−t2)と、「打撃によるボール飛翔のための初期条件」が投手側端末に到達するまでの期間(t5−t4)とは、略同等と考えられることから、投手側端末における投球モーションの開始から打撃に至る期間(t3〜t5)が、打者側端末の対応する期間(t2〜t4)と略等しくなり、投手側端末と打者側端末との間のモーションの整合性を確保できる。また、通信の遅延に変動がある場合でも、その影響が相殺され、投手側端末と打者側端末との間のモーションの整合性を良好に維持することができる。
【選択図】図5A

Description

本発明は、対戦型ゲームの制御方法、及びプログラムに関するものである。
2人のユーザが攻撃側と守備側に分かれ、攻撃側、守備側のそれぞれの端末間で情報をやり取りしてゲームを進行させる通信対戦可能な対戦型野球ゲームが提案されている(例えば、特許文献1参照)。特許文献1に記載の対戦型野球ゲームの動作は概略以下のとおりである。
守備側ユーザの操作により球種選択やコース選択を行った後、別の操作により投球開始を行うことにより投球動作を決定し、投球動作情報を取得する。取得された投球動作情報は守備側端末から攻撃側端末に送信され、攻撃側端末において投球動作情報に基づく対戦画面が表示されるとともに、守備側端末においても投球動作情報に基づく対戦画面が表示される。また、攻撃側ユーザの操作により打撃を行うことにより打撃動作を決定し、打撃動作情報を取得する。取得された打撃動作情報は攻撃側端末から守備側端末に送信され、守備側端末において打撃動作情報に基づく対戦画面が表示されるとともに、攻撃側端末においても打撃動作情報に基づく対戦画面が表示される。
特許第3866750号公報
図8は、上記特許文献1に示されるような対戦型野球ゲームの攻撃側(打者側)及び守備側(投手側)のタイムラインの概略を説明するための概念図である。以下、図8に示されるタイムラインに基づき、従来の対戦型野球ゲームの問題点の概略を説明する。
守備側端末において、守備側ユーザの操作により球種選択やコース選択を行った後、時刻t1で投球開始を指示すると、投球動作情報が取得され、守備側端末において投球モーションから打撃モーション(ダミー)に至る一連のモーション表示が開始されるとともに、投球動作情報が守備側端末から攻撃側端末に送信される。この投球動作情報は、攻撃側端末において時刻t2で受信され、受信された投球操作情報に基づいて投球モーションの表示が行われるとともに、時刻t3で攻撃側ユーザの操作により打撃モーションが行われて打撃動作情報が取得され、打撃動作情報に基づいて打撃結果が表示されるとともに、打撃動作情報が攻撃側端末から守備側端末に送信される。この打撃動作情報は、守備側端末において時刻t4で受信され、受信された打撃動作情報に基づいて打撃結果が表示される。この結果、守備側端末において投球モーションから打撃モーション(ダミー)に至る一連のモーション表示に要する期間(t4−t1)は、攻撃側端末において投球モーションから打撃モーションに至る一連のモーション表示に要する期間(t3−t2)より大きくなり、守備側端末と攻撃側端末においてモーション表示間に不整合が生じることとなる。そこで、守備側端末においてこのモーション表示間の不整合を調整するための調整期間T1が必要となる。このような調整期間は、投球モーション速度やリリースされたボールが捕手に届くまでの速度等を変化させて設定することになるため、一連のモーションが不自然な形で表示されることとなって、守備側ユーザに表示上の違和感を生ずる恐れがある。また、投球動作情報が攻撃側端末に到達する時刻であるt2が通信の遅延等の影響でt2’になると、それに伴って、打撃動作情報は、守備側端末において時刻t4’で受信され
ることになるから、投球モーションから打撃モーション(ダミー)に至る一連のモーション表示に要する期間はt4’−t1(>t4−t1)となる。この場合、通信の遅延の変動の影響により、調整期間としてT1とは異なるT2(>T1)が必要となることから、守備側端末と攻撃側端末におけるモーション表示間の不整合の度合いが一層増大することとなる。以上のとおり、特許文献1に示されるような対戦型野球ゲームにおいては、上記のように各種の問題点を有しており、守備側端末と攻撃側端末におけるモーション表示間の整合性を良好に維持することは困難である。
本発明は上記課題に着目してなされたものであって、その目的とするところは、守備側端末と攻撃側端末におけるモーション表示間の整合性を良好に維持することが可能な対戦型ゲームの制御方法、及びプログラムを提供することにある。
上記課題を解決するための本発明の第1の基本形態は、移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、前記移動側デバイスは、ユーザの操作に基づきオブジェクトの移動経路の算出に必要な情報を取得し、当該情報を前記打撃側デバイスに対して出力し、前記打撃側デバイスからの当該情報の受信通知を受け取った後に、前記移動側デバイスにおいて描出される3次元仮想空間内の到達目標に向けて前記オブジェクトの移動を開始させ、前記打撃側デバイスから出力される前記オブジェクトに対する打撃後の移動経路の算出に必要な情報に基づき、前記移動側デバイスにおいて描出される3次元仮想空間内の打撃後のオブジェクトの移動経路を算出・表示することを特徴とする制御方法に係るものである。
また、上記課題を解決するための本発明の第2の基本形態は、移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、前記打撃側デバイスは、前記移動側デバイスから出力されるオブジェクトの移動経路の算出に必要な情報受け取って当該情報の受信通知を前記移動側デバイスに送信するとともに、当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内のオブジェクトの移動経路を算出・表示し、ユーザによるオブジェクトに対する打撃操作がなされるとオブジェクトに対し打撃を与えて移動方向を変更させるとともに、打撃後の移動経路の算出に必要な情報を取得し、当該情報を前記移動側デバイスに対して出力し、当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内における打撃後のオブジェクトの移動経路を算出・表示することを特徴とする制御方法に係るものである。
本発明の一態様によれば、移動側デバイスと打撃側デバイスにおけるモーション表示間の整合性を良好に維持することができる。
図1は、本発明の実施の一形態に係る対戦型ゲームシステム1の全体構成を示すブロック図である。 図2Aは、本発明の実施の一形態に係るハードウェア構成の一例を示すブロック図である。 図2Bは、本発明の実施の一形態に係るサーバの構成の一例を示すブロック図である。 図3は、本発明の実施の一形態に係るサーバのハードウェア構成の一例を表すブロック図である。 図4は、本発明の実施の一形態に係るユーザ端末のハードウェア構成の一例を表すブロック図である。 図5Aは、本発明を対戦型野球ゲームに適用した場合の攻撃側及び守備側のタイムラインの概略を説明するための模式図である。 図5Bは、本発明の実施の一形態に係る移動側デバイス(守備側端末)の動作の一態様を示すフローチャートである。 図5Cは、本発明の実施の一形態に係る打撃側デバイス(攻撃側端末)の動作の一態様を示すフローチャートである。 図6Aは、移動側デバイス(守備側端末)におけるゲームの初期画面の一例を示す図である。 図6Bは、移動側デバイス(守備側端末)におけるコース指定カーソルが固定される前の画面の一例を示す図である。 図6Cは、移動側デバイス(守備側端末)におけるコース指定カーソルが固定された後のゲーム画面の一例を示す図である。 図6Dは、移動側デバイス(守備側端末)におけるボールのリリース後のゲーム画面の一例を示す図である。 図7Aは、打撃側デバイス(攻撃側端末)における投手キャラクタが投球動作を行う直前のゲーム画面の一例を示す図である。 図7Bは、打撃側デバイス(攻撃側端末)における投手キャラクタによる投球動作後、ボールが打撃位置から所定の範囲内に入る前のゲーム画面の一例を示す図である。 図7Cは、打撃側デバイス(攻撃側端末)における投手キャラクタによる投球動作後、ボールが打撃位置から所定の範囲内に入った後のゲーム画面の一例を示す図である。 図7Dは、打撃側デバイス(攻撃側端末)におけるボールに対して打撃操作を行った場合のゲーム画面の一例を示す模式図である。 特許文献1に示されるような対戦型野球ゲームの攻撃側及び守備側のタイムラインの概略を説明するための模式図である。
本発明の実施の形態の概要を例示的に列挙すると以下のとおりである。
〔形態1〕
移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、
前記移動側デバイスは、
ユーザの操作に基づきオブジェクトの移動経路の算出に必要な情報を取得し、
当該情報を前記打撃側デバイスに対して出力し、
前記打撃側デバイスからの当該情報の受信通知を受け取った後に、前記移動側デバイスにおいて描出される3次元仮想空間内の到達目標に向けて前記オブジェクトの移動を開始させ、
前記打撃側デバイスから出力される前記オブジェクトに対する打撃後の移動経路の算出に必要な情報に基づき、前記移動側デバイスにおいて描出される3次元仮想空間内の打撃後のオブジェクトの移動経路を算出・表示する
ことを特徴とする制御方法。
本形態1によれば、移動側デバイスと打撃側デバイスとの間のモーションの整合性を良好に維持することができる。
〔形態2〕
形態1に記載の制御方法において、
前記移動側デバイスは、
前記オブジェクトの到達目標の目安位置を示すカーソルをユーザの操作に応じて移動し、
前記ユーザ操作の開始タイミングを検出し、
現タイミングが前記開始タイミングから所定の範囲内にあるか否かを判定し、現タイミングが所定の範囲内にない場合に出力を発生し、
前記出力を受けて前記カーソル移動手段の動作を禁止し、
それにより、前記出力に応じて、前記カーソルの移動を制限しない第1モードと前記カーソルの移動を禁止する第2モードとを切り換えることを特徴とする制御方法。
本形態2によれば、操作の自由度を向上させることができるとともに、第1モードと第2モードの操作間の干渉を防止できる。
〔形態3〕
形態2に記載の制御方法において、前記カーソルの移動操作を操作面の任意の位置で行うことができるようにしたことを特徴とする制御方法。
本形態3によれば、カーソルの移動操作を、操作位置を特に意識することなく瞬時に実施することができ、操作の自由度を増大させるとともに、操作性の改善を図ることができる。
〔形態4〕
形態2又は3に記載の制御方法において、前記第2モードにおいて、前記オブジェクトの回転に係る属性を規定する操作が許容されることを特徴とする制御方法。
本形態4によれば、誤操作の発生を軽減できるとともに、余裕を持った設定操作が可能になる。
〔形態5〕
形態4に記載の制御方法において、前記オブジェクトの回転に係る属性を規定する操作がスワイプ操作であり、スワイプ方向により前記オブジェクトの回転に係る属性の少なくとも1つが設定されることを特徴とする制御方法。
本形態5によれば、オブジェクトの回転に係る属性をスワイプ操作により簡便に設定することができる。
〔形態6〕
形態5に記載の制御方法において、前記第2モードにおいて、前記スワイプ操作のタイミングに応じた表示がなされ、前記スワイプ操作のタイミングに応じて前記オブジェクトの前記到達目標への到達精度が決定されることを特徴とする制御方法。
本形態6によれば、スワイプ操作のタイミングに応じて目標への到達精度を制御することができ、ゲームに対するユーザの関与の度合いを高めることができる。
〔形態7〕
形態6に記載の制御方法において、前記スワイプ操作のタイミングは、操作面を所定距離スライド操作する際の速度が所定値を超えた場合に設定されることを特徴とする制御方法。
本形態7によれば、操作面に対する接触の消滅を契機とすることなくタイミング設定を行うことができる。
〔形態8〕
移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、
前記打撃側デバイスは、
前記移動側デバイスから出力されるオブジェクトの移動経路の算出に必要な情報受け取って当該情報の受信通知を前記移動側デバイスに送信するとともに、当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内のオブジェクトの移動経路を算出・表示し、
ユーザによるオブジェクトに対する打撃操作がなされるとオブジェクトに対し打撃を与えて移動方向を変更させるとともに、打撃後の移動経路の算出に必要な情報を取得し、
当該情報を前記移動側デバイスに対して出力し、
当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内における打撃後のオブジェクトの移動経路を算出・表示する
ことを特徴とする制御方法。
本形態8によれば、移動側デバイスと打撃側デバイスとの間のモーションの整合性を良好に維持することができる。
〔形態9〕
形態8に記載の制御方法において、
前記打撃側デバイスは、
前記オブジェクトに打撃を与える目安位置を示すミートカーソルをユーザの操作に応じて移動し、
前記オブジェクトに打撃を与える位置から所定の範囲内に前記オブジェクトが入っているか否かを判定し、前記オブジェクトに打撃を与える位置から所定の範囲内に前記オブジェクトが入っている場合に出力を発生し、
前記出力を受けて前記ミートカーソルの移動を少なくとも一部制限し、
それにより、前記オブジェクトの位置に応じて、前記ミートカーソルの移動を制限しない第1モードと前記ミートカーソルの移動を少なくとも一部制限する第2モードとを切り換えて、オブジェクトに対する打撃操作とミートカーソルの移動操作との間に干渉が生じないようにすることを特徴とする制御方法。
本形態9によれば、第2モードにおいてミートカーソルの移動を少なくとも一部制限することにより、3次元仮想空間内を移動するオブジェクトに対する打撃操作とミートカーソルの移動操作の自由度を確保するとともに、両操作間の干渉を防止することができる。
〔形態10〕
形態9に記載の制御方法において、前記所定の範囲は時間距離で規定されることを特徴とする制御方法。
本形態10によれば、オブジェクトの移動速度に拘りなく打撃操作のための時間を確保することができる。
〔形態11〕
形態9又は10に記載の制御方法において、前記第2モードにおいて、前記オブジェクトに対する打撃操作の方向とは異なる方向への前記ミートカーソルの移動操作が許容されることを特徴とする制御方法。
本形態11によれば、打撃操作と競合しないミートカーソルの移動操作を実施することができ、操作の自由度を高めることができる。
〔形態12〕
形態9〜11に記載の制御方法において、前記オブジェクトに対する打撃操作を任意の位置で行うことができるようにしたことを特徴とする制御方法。
本形態12によれば、オブジェクトに対する打撃操作を、打撃操作位置を特に意識することなく瞬時に実施することができ、操作の自由度を増大させるとともに、操作性の改善を図ることができる。
〔形態13〕
形態9〜12に記載の制御方法において、少なくとも前記ユーザの打撃操作の方向に基づいて前記オブジェクトの移動軌跡が計算されることを特徴とする制御方法。
本形態13によれば、オブジェクトの移動方向を簡便に好適なものとすることができる
〔形態14〕
形態9〜13に記載の制御方法において、前記ミートカーソルの移動操作が前記ミートカーソルと前記オブジェクトの表示を妨げない位置でなされるように構成されていることを特徴とする制御方法。
本形態14によれば、ミートカーソルの移動操作によりミートカーソルとオブジェクトの表示が妨げられることがないようにすることができる。
〔形態15〕
形態14に記載の制御方法において、前記ミートカーソルの移動操作が前記ミートカーソルの表示に隣接する領域でなされるようにしたことを特徴とする制御方法。
本形態15によれば、ミートカーソル移動操作位置を好適なものとすることができる。
〔形態16〕
形態1〜15に記載の制御方法において、前記オブジェクトの位置に連動したアニメーションが生成されることを特徴とする制御方法。
本形態16によれば、ゲームにおけるリアリティを増大させることができる。
〔形態17〕
形態1〜16に記載の制御方法において、ゲームが野球ゲームであり、前記オブジェクトが野球ボールであることを特徴とする制御方法。
本形態17によれば、野球ゲームに好適な態様を実現することができる。
本発明の他の実施の形態は、上記各制御方法をコンピュータにより実現するためのプログラムに係るものである。
そして、前記プログラムにおいても、前記制御方法と同様の作用効果を奏するものである。
以下、本発明に係る実施の一形態を図面に基づいて詳細に説明する。なお、本発明は、以下において説明する実施の形態に限定されるべきではなく、特許請求の範囲の記載に基き解釈されるべきである。また、当業者であれば、他の類似する実施形態を使用することができること、また、本発明から逸脱することなく適宜形態の変更又は追加を行うことができることに留意すべきである。
〔ゲームシステムの全体構成の概要〕
図1は、本発明の実施の一形態に係る対戦型ゲームシステム1の全体構成を示すブロック図である。対戦型ゲームシステム1は、移動側デバイス2と打撃側デバイス3を具備している。対戦型ゲームシステム1の移動側デバイス2と打撃側デバイス3の果たす機能は概略以下のとおりであるが、詳細は後述する。
即ち、移動側デバイス2は、ユーザの操作に基づきオブジェクトの移動経路の算出に必要な情報を取得し、当該情報を打撃側デバイス3に対して出力し、打撃側デバイス3からの当該情報の受信通知を受け取った後に、移動側デバイス2において描出される3次元仮想空間内の到達目標に向けてオブジェクトの移動を開始させるように構成されており、また、打撃側デバイス3から出力されるオブジェクトに対する打撃後の移動経路の算出に必要な情報に基づき、移動側デバイス2において描出される3次元仮想空間内の打撃後のオブジェクトの移動経路を算出・表示するように構成されている。他方、打撃側デバイス3は、移動側デバイス2から出力されるオブジェクトの移動経路の算出に必要な情報を受け取って当該情報の受信通知を前記移動側デバイスに送信するとともに、当該情報に基づき
、打撃側デバイス3において描出される3次元仮想空間内のオブジェクトの移動経路を算出・表示し、ユーザによるオブジェクトに対する打撃操作がなされると当該3次元仮想空間内を移動してくるオブジェクトに対し打撃を与えて移動方向を変更させるように構成されており、また、打撃後のオブジェクトの移動経路の算出に必要な情報を取得し、当該情報を移動側デバイス2に対して出力するとともに、当該情報に基づき、当該3次元仮想空間内における打撃後のオブジェクトの移動経路を算出・表示するように構成されている。
〔システムのハードウェア構成の概要〕
図2Aは、本発明の一実施形態の基本的ハードウェア構成の概要を示す概念図であり、ハードウェア構成として、サーバ20と、ネットワーク40と、ネットワーク40を介してサーバ20と通信可能に接続できる各ユーザのユーザ端末30とを含むものである。
サーバ20は、例えば、図2Bに示すように、ゲームサーバ21とデータベースサーバ22とから構成されている。
ゲームサーバ21は、ゲームサービスを受ける各ユーザのユーザ端末30からのネットワーク40を介したアクセスを受け付けて、各ユーザのゲーム情報をデータベースサーバ22に蓄積して管理し、各ユーザにネットワーク40を介したゲームサービスを提供する。
データベースサーバ22は、各ユーザのゲーム履歴や獲得ポイント等のゲーム情報を蓄積して管理するためのサーバである。
なお、サーバ20が、ゲームサーバ21、データベースサーバ22により構成される例を示すが、これに限定されるものではない。例えば、各サーバの有する各機能を複数のサーバに分散して持たせて複数台のサーバとして構成することもできる。また、ユーザの認証を行うための認証サーバや、ユーザが課金対象のアイテムをゲーム内で購入した場合に課金管理を行う課金管理サーバを別体に構成としてもよい。
また、ゲームサービスを利用する多数のユーザのユーザ端末30からの巨大なアクセスにも耐え得るサーバシステムの構築が求められる場合には、複数のゲームサーバ21やデータベースサーバ22を設けて負荷分散型のシステム構成としてもよい。この場合、複数のゲームサーバ21やデータベースサーバ22間の負荷を調整するためのロードバランサを設けることが望ましい。
ネットワーク40は、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網等の通信網を含み、有線/無線を問わない。
なお、提供されるゲームは、SNSプラットフォーム上で提供されるソーシャルゲームとすることができるが、SNSプラットフォームとは独立したゲームとして構築してもよい。提供されるゲームとして、野球、サッカー、テニス、卓球、クリケット等様々なゲーム形式・ジャンルのボールゲームを採用できる。
以下の説明においては、提供されるゲームは、SNSプラットフォーム上で提供されるソーシャルゲームとし、ブラウザゲーム用のプログラム(アプリケーションソフトウェア)がゲームサーバに実装されており、ゲームサーバが、各ユーザのユーザ端末30における入力操作に応じてゲーム進行のための演算処理やデータ処理を実行するものとする。このようなケースにおいては、ゲームサーバは、ゲームの進行に伴ってデータベースサーバ内に格納されている各ユーザのゲーム情報を更新するとともに、ウェブページ情報(ゲー
ム画面データ)を各ユーザのユーザ端末30に送信する。
各ユーザのユーザ端末30には、ウェブサイト閲覧機能を有するウェブブラウザが搭載されており、ゲームサーバから送信されたウェブページ情報をユーザ端末30の画面に表示することができるようになっている。このユーザ端末30としては、例えば、携帯電話端末、PHS(Personal Handy-phone System)端末、携帯情報端末(PDA:Personal Digital Assistant)、スマートフォン、パーソナルコンピュータまたはタブレット型コ
ンピュータなど、様々な端末を採用できる。
〔ゲームサーバ等の構成〕
ゲームサーバの具体的構成の一例を、図3に基づいて以下説明する。同図に示すように、ゲームサーバは、主に、CPU(Central Processing Unit)110、ROM(Read Only Memory)120及びRAM(Random Access Memory)130等の主記憶装置、補助記
憶装置140、通信制御部150、入出力制御部160を備えており、これらはアドレスバス、データバス、コントロールバス等を含むバスライン170を介して相互に接続されている。なお、バスライン170と各構成要素との間には適宜インタフェース回路(不図示)が介在している場合もある。
CPU110は、ゲームサーバ全体の制御を行う。ROM120は、ゲームサーバの動作制御に必要なプログラム等を記憶している。RAM130は、各種プログラム及びデータを記憶するとともに、CPU110に対して作業領域を提供する。
補助記憶装置140は、ゲームプログラム等のアプリケーションソフトウェアや各種データ等を格納する、例えば、ハードディスクドライブ等の記憶装置である。ゲームサーバを起動させるためのプログラムも、この補助記憶装置140に記憶されており、当該プログラムはゲームサーバの起動時に補助記憶装置140からバスライン170を介してRAM130へとロードされる。
通信制御部150は、ネットワーク40と接続される通信インターフェース150aを備え、ネットワーク40を介した各ユーザのユーザ端末30との間の通信を制御する。また、ゲームがSNSプラットフォーム上で提供されるソーシャルゲームの場合には、通信制御部150は、SNSサーバ(不図示)との間の通信を制御する。
入出力制御部160は、データベースサーバと通信可能に接続されており、CPU110がデータベースサーバに対してデータ(レコード)の読み書きを実行するときに入出力制御を行う。
データベースサーバは、各ユーザのゲーム情報を記憶する領域を有する記憶装置として、例えばRAID(Redundant Arrays of Inexpensive Disks)構成の大容量ハードディ
スク装置を具備する。このデータベースサーバは、例えば、各ユーザを一意に識別する識別情報(ユーザID)に基づいて、各ユーザの各種ゲーム情報(ユーザ名、レベル、ゲーム内ポイント、所持アイテムなど)を管理するするリレーショナルデータベース、オブジェクトデータベース又はオブジェクト関係データベース等として構築することができる。
次に、本実施の一形態に係るゲームサーバにアクセスしてゲームサービスの提供を受けるユーザのユーザ端末30の構成を説明する。
〔端末装置の構成〕
ユーザ端末30として携帯端末を例に取り、図4に基づきその構成を説明する。図4に示すように、ユーザ端末30は、主に、CPU310と、主記憶装置としてのROM32
0及びRAM330と、画像処理部340と、表示部350と、サウンド処理部360と、音声入力部370と、音声出力部380と、補助記憶装置390と、操作入力部400と、通信制御部410とを備えており、構成要素310〜340、360および390〜410はバスライン420を介して相互に接続されている。なお、バスライン420と各構成要素との間にはインタフェース回路(不図示)が適宜介在している。
CPU310は、ユーザ端末30全体の制御を行う。ROM320には、ユーザ端末3の動作制御に必要なプログラム等が記憶されている。また、RAM330には、ROM320または補助記憶装置390からロードされた各種プログラムやデータが記憶され、CPU310に対して作業領域を提供する。HTML等で記述されたゲーム画面データを表示するウェブブラウザは、ROM320または補助記憶装置390に記憶されており、RAM330にロードされてCPU310によって実行される。また、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインソフトウェアを、ウェブブラウザと共にROM320または補助記憶装置390に記憶するようにしてもよい。
画像処理部340は、CPU310からの画像表示命令に基づいて表示部350を駆動し、当該表示部350の画面に画像を表示させる。表示部350としては、液晶ディスプレイ等の種々の表示装置を採用できる。
サウンド処理部360は、音声入力部370から音声が入力されたときにアナログ音声信号をデジタル音声信号に変換するとともに、CPU310からの発音指示に基づいてアナログ音声信号を生成して音声出力部380に出力する。音声入力部370は、ユーザ端末30に内蔵されたマイクロフォンからなり、電話通信する場合や録音を行う場合などに用いられる。音声出力部380は、電話通信時の受話スピーカおよび電話着信音やゲーム実行時の効果音などを出力するスピーカからなる。
補助記憶装置390は、各種プログラムやデータ等を格納する記憶装置である。補助記憶装置390としては、携帯電話端末の内部メモリとして、例えばフラッシュメモリ等を用いることができ、また、携帯電話端末の外部メモリとして、例えばメモリカードリーダライタ等を用いることができる。
操作入力部400は、ユーザの操作入力を受け入れて当該操作入力に対応した入力信号を、バスライン420を介してCPU310に出力するものである。操作入力部400の例としては、ユーザ端末30の本体に設けられた方向指示ボタン、決定ボタン、英数文字等入力ボタンなどの物理的ボタンがある。なお、表示部350をタッチ・スクリーンとして構成している場合には、当該タッチパネルが操作入力部400となる。
通信制御部410は、通信インタフェース410aを備え、ゲーム操作時等にデータ通信するための通信制御機能および携帯電話端末として音声データを送受信するための通信制御機能等を有している。ここで、データ通信用の通信制御機能には、例えば、無線LAN接続機能、無線LANや携帯電話回線網を介したインターネット接続機能、近距離無線通信機能などが含まれる。通信制御部410は、CPU310からの命令に基づいてユーザ端末30を無線LANやインターネット等に接続するための接続信号を発信するとともに、通信相手側から送信されてきた情報を受信してCPU310へ供給する。
なお、ユーザ端末30には、GPS(Global Positioning System)信号受信回路、C
CD(Charge Coupled Device)イメージセンサ等の撮像装置(カメラ)、3軸加速度セ
ンサなどが備えられていてもよく、例えば、GPS位置情報などをゲーム内で活用してもよい。
〔対戦型ゲームの処理の態様例〕
次に、本発明の実施の一形態に係る対戦型ゲームシステムの処理の一例の概略を、図5A〜図5C、図6A〜図6D、図7A〜図7Dに示されるような対戦型野球ゲームの例に基づき説明する。
図5Aは、本発明を対戦型野球ゲームに適用した場合の投球から打撃に至る1サイクルの攻撃側及び守備側のタイムラインの概略を説明するための模式図である。図5Aに示される守備側と攻撃側のタイムラインに沿ってゲームの展開を説明する。なお、以下において、時刻又は時刻範囲の横に端末名の表示がある場合には、当該端末名は、説明の対象となる主たる端末名を意味するものである。
<時刻t0以前>
時刻t0以前には、投手側端末(守備側端末)には、図6Aに示すように、ゲーム画面600中に捕手キャラクタ601、打者キャラクタ602、投手キャラクタ603、ストライクゾーン604等を含む初期画面が表示される(S101)。図6Aにおいて、ストライクゾーン604の中心に投球コース(ボールの到達目標)を指定するコース指定カーソル605が表示されている。他方、打者側端末(攻撃側端末)には、図7Aに示すように、ゲーム画面700中に打者キャラクタ702、投手キャラクタ703、ストライクゾーン705、ホームベース706、バット707、ミートカーソル709等を含む初期画面が表示される(S201)。なお、図6A〜図6Dには、球場を投手キャラクタ603の後方から仮想カメラで撮影した画像が背景画像として表示されている。また、図7A〜図7Dには、球場を打者キャラクタ702の後方から仮想カメラで撮影した画像が背景画像として表示されている。なお、広範囲に状況を確認できるように仮想カメラの視点を遠距離からの視点や俯瞰的な視点に変更することができる。
<時刻t0〜t1>:投手側端末
時刻t0〜t1には、投手側端末においてコース指定及び球種指定がなされる。以下、投手側端末におけるコース指定及び球種指定の手法について、図5Bのフローチャートに基づき詳述する。なお、時刻t0〜t1には、打者側端末においては初期画面の表示が継続している。
次に、コース指定の開始が判定され(S102)、操作面の任意の位置へのタッチがなされたと判定されると。画面中のタッチ位置に相応する位置に操作指標607が表示される。また、コース指定カーソル605を囲む円608が表示される。そして、この状態で、コース指定カーソル605の移動が許容される(S103)。判定結果が非であれば、ステップS101に戻る。
コース指定カーソル605の移動が許容された状態において、操作面へのスワイプ操作により操作指標607を操作すると、コース指定カーソル605は、それに連動して移動する。コース指定カーソル605の移動は、操作面へのタッチのタイミングを起点として所定の期間のみ許容されており、所定の期間が経過するとカーソル605の移動が禁止される。このため、操作面へのタッチのタイミングを始点として計時動作が開始され、所定の期間を経過したか否かの判定が行われる(S104)。
上記判定において、所定の期間を経過したと判定された場合には、操作指標607によるコース指定カーソル605の移動が禁止される(S105)。また、所定の期間を経過していないと判定された場合には、ステップS103に戻る。なお、所定期間の計時状況の目安を与えるために、円608の大きさを時間の経過とともに縮小させている。
次に、コース指定カーソル605の移動が禁止された状態において、操作面をスワイプ
することにより、球種等の指定がなされる(S106)。例えば、図6Cにおいて、コース指定カーソル605から放射状にスワイプ方向とストレート、カーブ等の球種との対応関係を示す球種表示606がなされている。なお、球種表示606を投手キャラクタ603の能力に依存させるようにし、投手キャラクタの能力に応じて特定の球種、例えば、フォークボール等を表示させないようにすることもできる。
本態様では、スワイプ方向により球種が指定されるが、スワイプ操作によるタッチ情報の取得手法やスワイプ操作と球種等の指定との関連に関して詳細は後述する。
また、本態様では、スワイプ操作のタイミングに応じてボールの到達位置精度(投球精度)を制御している。そこで、ユーザにスワイプ操作のタイミングの目安を与えるためのゲージ609が表示され(図6C参照)、ユーザが最適のタイミングでスワイプ操作を行えば、到達位置精度(投球精度)を最大にすることができる。このようにして、スワイプ操作のタイミングに基づくボールの到達位置精度(投球精度)の設定が行われる(S107)。なお、到達目標に対するボールの到達精度の制御手法の一例は後述する。
なお、投球精度を連続する量として設定することは必ずしも必要ではなく、必要に応じて、投球精度を段階的に設定することもできる。また、スワイプ操作の遅れ等により投球精度や球種等の指定がなされなかった場合には、予め定められた特定の値に基づく制御を行うようにしてもよい。
このようにして、スワイプ操作の完了時(時刻t1)に、投球ボールの飛翔のための初期条件が取得される(S108)。そして、初期条件の取得とほぼ同時(略時刻t1)に、取得された初期条件は、打者側端末に送信される(S109)。なお、この時点では、投手側端末において投球ボールの飛翔は行われない。投球ボールの飛翔(投球)のタイミングについては後述する。
なお、後述するように、3次元仮想空間中を飛翔するボールの軌跡を正確に決定するためには、飛翔直後のボールの速度ベクトル、回転軸、回転量をボール飛翔の初期条件として与えればよい。速度ベクトルは3次元の量、回転軸、回転量はそれぞれ1次元の量として把握できるから、ボール飛翔の初期条件として5つのパラメータを指定すれば、ボールの飛翔軌道が決定されることになる。
一方、ユーザにより指定されるボールの到達目標(投球コース)は2次元の量として把握でき、2つのパラメータに相当することから、球種等を指定するためスワイプ操作により、残りの3つのパラメータを指定するようにすればよい。このための手法の一例は後述する。
<期間t1〜t2>
期間t1〜t2は、投手側端末から出力された「投球ボールの飛翔のための初期条件」が打者側端末に到達するまでの期間である。この期間(t2−t1)は、投手側端末から打者側端末に直接送信するP2P等のケースでは比較的短期間になることが想定されるが、サーバ等を介して送信する場合には、通信条件等に応じて変動し、場合によっては長時間を要するケースも想定される(図5A、ケース2参照)。本発明は、このようなケースに対しても対応可能なように構成されている。この点の詳細は後述する。
<時刻t2>:打者側端末
時刻t2は、投手側端末から出力された「投球ボールの飛翔のための初期条件」が打者側端末に到達する時刻である。打者側端末は、当該初期条件の到達を受けて、当該初期条件の受領通知を、到達とほぼ同時(略時刻t2)に出力し、当該受領通知は、投手側端末
に送信される(S203)。
<期間t2〜t3>
期間t2〜t3は、打者側端末から出力された「初期条件受領通知」が投手側端末に到達するまでの期間である。この期間(t3−t2)の有する特性等は前述の期間t1〜t2と同様である。
<時刻t3>:投手側端末
時刻t3は、打者側端末から出力された「初期条件受領通知」が投手側端末に到達する時刻である。投手側端末がこの「初期条件受領通知」を受信する(S110)と、投手側端末において、投手キャラクタ603の投球モーションが開始され、「投球ボールの飛翔のための初期条件」に基づいて投球ボールの飛翔経路の算出・表示がなされるとともに、打者キャラクタ602による打撃のダミーモーション表示がなされる(S111)。なお、ダミーモーション表示とは、システム上で予め設定したデフォルトの打撃モーションを打者キャラクタ602に行わせるものであり、一種類の打撃モーションであってもよいが、「投球ボールの飛翔のための初期条件」に基づいて、複数の打撃モーションの中から適宜選択するようにしてもよい。
<期間t2〜t4>:打者側端末
期間t2〜t4は、打者側端末で、投手キャラクタ703の投球モーションが開始され、投手側端末から出力された「投球ボールの飛翔のための初期条件」に基づいて、投球ボールの飛翔経路の算出・表示がなされ(S204)、投球ボールに対する打撃がなされ(S205〜S209)、打撃によるボール飛翔のための初期条件が取得され(S210)、当該初期条件が投手側端末に対して送信される(S211)期間である。ステップS204〜S211の詳細は以下のとおりである。
図7Bに示されるように、投手キャラクタ703による投球モーションの完了とともにゲーム画面中にボール708が表示される。投球ボールの飛翔経路は、投手側端末から出力された「投球ボールの飛翔のための初期条件」に基づいて決定される。「投球ボールの飛翔のための初期条件」は、例えば、前述のように、飛翔直後のボールの速度ベクトル、回転軸、回転量とすればよい。このようにすれば、打者側端末においても、投手側端末の投球ボールの飛翔経路に相当する飛翔経路が保証されることになる。なお、投手キャラクタ703の投球モーションは、システム上で予め設定したデフォルトの投球モーションであってもよい。
ユーザは、画面700内を移動するボール708の移動経路を観察し、ミートカーソル709をスワイプ操作により移動する(S205)。ここで、ミートカーソル709は、打者キャラクタ702がボールを打撃可能な領域を示すための標識であり、ホームベース706の上方に表示される。ユーザがスワイプ操作を行ってミートカーソル709を移動させることにより、バット707のスイングによるボールへの打撃位置を調整できる。スワイプ操作によるタッチ情報の取得手法については後述する。なお、ミートカーソル709中には、ボールに対する最適打撃位置を示す標識710が付されている。また、必要に応じて、ストライクゾーン705内又は近傍にボール708が到達する際の予想位置を示す標識704を表示するようにしてもよい。なお、ミートカーソル709、ストライクゾーン705は、移動するボール708の表示を遮ることがないように半透明表示となっている。
上記ミートカーソル709を移動させるためのスワイプ操作は、ミートカーソル709の表示領域とは異なる領域、例えば、ミートカーソル709の表示領域に隣接する領域で行い、スワイプ操作に連動してミートカーソル709を間接的に移動させるようにしたも
のである。このようにすれば、ミートカーソル709に接触して直接移動させなくてもよいから、ユーザの指によってミートカーソル709の視認が妨げられることを回避でき、その結果、ミートカーソル709を位置決めする際の操作性を向上させることができる。
次に、投手キャラクタ703により投球されたボール708が打撃位置から所定の範囲内に入ったか否かの判定を行う(S105)。ボール708が打撃位置から所定の範囲内に入っていないと判定される場合にはステップS205に戻り、ボール708が打撃位置から所定の範囲内に入っていると判定される場合には後述するステップS207に進む。なお、所定の範囲を時間距離により規定することができる。この場合には、ボールが打撃位置から所定の範囲内に入った時点から打撃位置に到達するまでの飛行時間が略一定となることから、打撃操作等の準備期間を略一定にすることができ、余裕を持って打撃操作等を行うことができる。
図7Cは、投手キャラクタ703により投球されたボール708が打撃位置から所定の範囲内に入っていると判定された場合のゲーム画面の一例を示す図である。この場合には、ミートカーソル709が、例えば、黄色に着色(図7Cにおいては網掛け)されて固定され、ユーザによるミートカーソル709の移動が原則として禁止される。但し、変化球に対応するため、ミートカーソル709を打撃操作と干渉しない下方向の任意の方向・位置へ移動させることは許容される。そこで、ユーザは必要に応じてミートカーソル709を下方向の任意の方向・位置へ移動させる(S207)。
次に、ユーザはタイミングを捉えてボール708に対する打撃操作を開始するために上方向にフリック操作を行う(S208)。打撃操作のためのフリック操作の方向を上方向としたのは、ミートカーソル709の移動操作方向との干渉を防止するためである。図7Dは、ボールに対して打撃操作を行った場合のゲーム画面の一例を示す模式図である。フリック操作は、タッチ操作が可能な画面の任意の位置で行うことができる。このようにすれば、フリック操作を、操作位置を特に意識することなく瞬時に実施できることから、操作の自由度を増大させるとともに、操作性の改善を図ることができる。
次に、フリック操作を解析して、フリック操作の方向、及び、フリック操作のスピードを取得するとともに、打者キャラクタ702にバットスイングを開始させる(S209)。本態様では、フリック操作のスピードによりバットスイングのスピードを決定するようにしている。なお、バットスイングのスピードを打者の能力にも依存させるようにしてもよい。フリック操作によるタッチ情報の取得手法については後述する。
次に、打撃によるボール飛翔のための初期条件の取得がなされる(S210)。そして、時刻t4において、打撃によるボール飛翔のための初期条件が投手側端末に送信される(S211)。
<時刻t4以降>:打者側端末
時刻t4以降に、打者側端末において、取得された打撃によるボール飛翔のための初期条件に基づいて、ボールの飛翔経路の算出・表示が行われる(S212)。打撃によるボールの飛翔経路を定量的に算出するためには、バットとボールとの衝突を力学的にモデル化し、衝突直後のボールの速度ベクトル、回転軸、回転量をボール飛翔の初期条件として取得する必要がある。また、ボールの飛翔経路の算出に当たっては、取得されたフリック操作の方向も考慮する必要がある。これらについての詳細は後述する。
なお、バットスイングとボールへの打撃との関係に関しては、定性的には現実の野球と同様である。例えば、バットスイングのタイミングが、ボールへの打撃に適合したタイミングから外れて、早過ぎたり遅すぎたりすると空振りとなる。また、バットスイングのタ
イミングが適合していても、バットスイングの軌跡が、ボールへの打撃に適合した位置範囲から外れていれば空振りとなる。
また、バットスイングのタイミングが適合し、且つ、バットスイングの軌跡がボールの打撃に適合した位置範囲にある場合には、ボールへの打撃が行われることになるが、バット707とボール708の衝突の態様に応じて各種のボールの飛翔軌跡が得られることになる。例えば、ボール708の下部をバット707上部で打撃した場合には、打球の角度が上がりフライとなることが予想される。また、ボール708の上部をバット707下部で打撃した場合には、打球の角度が下がりゴロとなることが予想される。また、所謂ジャストミートの場合にはヒットやホームランが予想され、ジャストミート以外の場合には凡打が予想される。
<時刻t4〜t5>
時刻t4〜t5は、打者側端末から出力された「打撃によるボール飛翔のための初期条件」が投手側端末に到達するまでの期間である。この期間(t5−t4)の有する特性等は前述の期間t1〜t2、t2〜t3と同様である。なお、この期間(t5−t4)は、「初期条件受領通知」が投手側端末に到達するまでの期間(t3−t2)と、打者側端末から投手側端末への通信経路が共通であり、通信状況も同等のものが想定されることから、両者は略等しいものと考えることができる。
<時刻t5以降>:投手側端末
時刻t5に、投手側端末は、打者側端末から送信された「打撃によるボール飛翔のための初期条件」を受信し、当該初期条件に基づいてボールの飛翔経路の算出・表示が行われる(S112)。なお、ボールの飛翔経路の算出・表示手法は、打者側端末と同一の手法を採用すればよい。このようにすれば、投手側端末においても、打者側端末の打撃によるボールの飛翔経路に相当する飛翔経路が保証されることになる。
上記の説明からも明らかなように(特に、図5A参照)、「初期条件受領通知」が投手側端末に到達するまでの期間(t3−t2)と、「打撃によるボール飛翔のための初期条件」が投手側端末に到達するまでの期間(t5−t4)とは、略同等と考えられることから、投手側端末における投球モーションの開始から打撃に至る期間(t3〜t5)が、打者側端末における投球モーションの開始から打撃に至る期間(t2〜t4)と略等しくなり、投手側端末と打者側端末との間のモーションの整合性を大幅に向上することが可能となるとともに、図8に示される従来例では必要とされていた調整期間(T1,T2)が不要となった。また、仮に、投手側端末から出力された「投球ボールの飛翔のための初期条件」が打者側端末に到達する時刻であるt2が通信の遅延等の影響でt2’になったとしても、「初期条件受領通知」が投手側端末に到達するまでの期間(t3’−t2’)と、「打撃によるボール飛翔のための初期条件」が投手側端末に到達するまでの期間(t5’−t4’)とは、略同等と考えられることから、投手側端末における投球モーションの開始から打撃に至る期間(t3’〜t5’)が、打者側端末における投球モーションの開始から打撃に至る期間(t2’〜t4’)と略等しくなり、打者側端末における投球モーションの開始から打撃に至る期間(t2〜t4)と(t2’〜t4’)とが等しいことから、投手側端末における投球モーションの開始から打撃に至る期間(t3〜t5)と(t3’〜t5’)は略等しくなる。このように、通信の遅延に変動がある場合でも、その影響が相殺され、投手側端末と打者側端末との間のモーションの整合性を良好に維持することができる。
以下、タッチ情報の取得手法、ボール飛翔経路の算出の原理、到達目標に対する投球ボールの到達精度の制御手法、投球ボールを到達目標位置近傍へ到達させるための手法、打撃によるボール飛翔の初期条件の取得手法、ボールの飛翔方向の制御手法等について説明
する。
〔タッチ情報の取得手法〕
スワイプ操作やフリック操作によるタッチ情報の取得手法について説明する。
ユーザが画面にタッチ操作を行うと、タッチ・スクリーンへの物体の接触が検知され、操作の開始位置に相当するタッチ操作の始点位置が指定される。そして、所定周期(例えば、30fbpsのフレーム・レート)で、タッチ・スクリーン上でのタッチ位置を検知し記憶する。
このようにして、タッチ位置の情報が順次取得され、前フレームのタッチ位置(ベクトル;2次元座標位置)と現フレームのタッチ位置(ベクトル;2次元座標位置)とから、タッチの移動方向及びタッチ間の距離を算出することができるとともに、算出した距離をフレームレートで割ることにより、タッチ操作のスピードが算出される。
〔ボール飛翔経路算出の原理的説明〕
ボールの飛翔経路の算出には、簡便な計算で済ませるものから、複雑な計算が必要なものまで、いくつかの手法が考えられる。
簡便な計算手法の一例は、衝突後のボールを質点として捉え、初期条件として、ボールの初速度(ベクトル)のみを用いて飛翔経路を算出するものであり、このようなケースでは、運動方程式から一般解を求めておき、そこに初速度(ベクトル)の成分を代入することにより飛翔経路が特定できる。なお、このケースでは、ボールの回転に係るデータは不要であり、初期条件として準備しておく必要はない。
やや複雑な計算を要する一例は、ボールを剛体として捉え、上記初期条件の全て(ボールの初速度(ベクトル)、回転軸の方向、回転量)を用いてボールの飛翔経路を算出するものである。このようなケースの飛翔経路演算(3次元飛翔軌道計算)の原理の一例は、概略以下とおりである。
3次元仮想空間中を飛翔するボールの軌跡を決定するためには、移動直後のボールの速度ベクトル、回転軸、回転量をボール飛翔の初期条件として与えればよい。飛翔経路演算(3次元飛翔軌道計算)の原理の一例は、概略以下とおりである。
ボールに作用する外力(ベクトル)としては、抗力D、揚力L、トルクT、重力が存在するが、抗力Dの大きさ|D|、揚力Lの大きさ|L|、トルクTの大きさの大きさ|T|は、空気力係数である、抗力係数C、揚力係数C、流体トルク係数Cを用いてそれぞれ次のように表される。
|D|=0.5ρ|U|A*C (式1)
|L|=0.5ρ|U|A*C (式2)
|T|=0.5ρ|U|Ad*C (式3)
但し、ρ:空気の密度、|U|:ボールの飛翔速度の大きさ、A:ボール直径断面積、d:ボール直径である。
ここで、抗力係数C、揚力係数C、流体トルク係数Cの空気力パラメータは、近似的にボールの回転速度と飛翔速度の関数として表すことができる。なお、回転速度は流体トルクにより徐々に減少していくが、必要であれば、回転速度N(t)の減少も以下のモデル式(式11)に基づいて考慮すればよい。
N(t+Δt)=−ρAdC(t)|U|Δt/(4πI)+N(t) (式4)
但し、C(t):時刻tにおける流体トルク係数、I:ボールの慣性モーメントであ
る。
抗力(ベクトル)Dは、ボールの速度(ベクトル)Uと逆方向であること、揚力(ベクトル)Lは、ボールの速度(ベクトル)Uと回転軸Zに直交すること等を考慮すれば、飛翔中のボールの運動方程式(微分方程式)を容易に導出することができ、ボールの初速度(ベクトル)、回転軸の方向、回転量を初期条件として与えれば、ボールの飛翔軌跡を数値計算(例えば、オイラー法)等により求めることができる。
更に複雑な計算手法として、ボールの飛翔をボールが流体中(空気中)を移動する運動として捉え、ボールに働く力をナビエ・ストークス方程式を用いて流体力学的に数値計算する手法も考えられる。しかしながら、この手法は、野球のボールの運動に対する精密な解析の必要性、演算処理に必要な時間や処理システムの能力等を勘案すれば、適用が限定されると考えられることもあり、詳細な説明は省略する。
なお、ボールが飛翔後に着地してランする場合のラン方向及び距離を求める必要がある場合には、例えば、ボールの着地時の速度(ベクトル)や回転速度、着地点の傾斜や動摩擦係数等に基づいて、ボールのバウンドや転がりを数値計算することで、ラン方向及び距離をシミュレーションすることができる。
また、ボールのバウンド挙動に関しては、地面の動摩擦係数により、ボールのスピンと速度が互いにエネルギーを与え合うことや、地面上方向の反射には反発係数がかかり減衰すること等を考慮する必要がある。また、ボールの転がりに関しては、地面の転がり抵抗による加速度を計算した上でボールの角速度を求め、角速度に基づいてボールの転がる距離を求めることができる。
〔到達目標に対する投球ボールの到達精度の制御手法〕
一実施形態では、スワイプ操作のタイミングに応じてボールの到達位置精度(投球精度)を制御している。このための制御手法の一例について以下説明する。
例えば、スワイプ操作完了のタイミングと最適のタイミングとの偏差に応じた半径を有する同心円を考え、スワイプ操作完了のタイミングで当該同心円の内部領域における点Pをランダムに選択し、同心円の中心を原点とした場合のこのランダムに選択した点Pの座標を(p,p)とする。当初の到達目標の目安位置の座標(t,t)に、この座標(p,p)を加算した座標(t+p,t+p)を到達目標位置として設定すればよい。
上記のような手法を採用すると、上記偏差が大きいスワイプ操作を行った場合には、同心円の半径が比較的大きい状態で同心円の内部領域における点Pがランダムに選択されることから、当初の到達目標の目安位置から大きく外れた点が到達目標位置として設定されるケースが生じる可能性がある。また、上記偏差が小さいスワイプ操作を行った場合には、同心円の半径が比較的小さい状態で同心円の内部領域における点Pがランダムに選択されることから、当初の到達目標の目安位置から大きく外れた点が到達目標位置として設定されるケースは生じ得なくなる。したがって、適切なタイミングでスワイプ動作を行う程、到達目標に対するボールの到達精度が向上することになる。
〔投球ボールを到達目標位置近傍へ到達させるための手法〕
上述のように、移動直後のボールの速度ベクトル(初速度ベクトル)、回転軸、回転量を初期条件として与えれば、3次元飛翔軌道計算により、ボールの飛翔軌道を決定することができる。
ピッチングの場合、ボールの到達目標は予め与えられており、また、ボールのリリース位置、及び、ボールのリリース位置から到達目標までの平面距離は略一定であるから、それらの前提の下で上記初期条件を設定することになる。ボールを到達目標位置近傍へ到達させるための手法の一例は、概略以下とおりである。
まず、ボールの運動を近似的に地球重力場中を移動する質点の運動と仮定すると、初速度ベクトルV(3次元ベクトル)を指定すれば、前述の前提の下でボールの飛翔軌跡が決定される。したがって、到達目標の位置情報(2次元座標:(t,t))と初速度ベクトルVの大きさ|V|=vを与えると、前述の前提の下で、初速度ベクトルVが到達目標の位置情報(t,t)と初速度ベクトルVの大きさvとの関数V(t,t,v)として決定されることになる。
次に、ボールの運動が地球重力場中を移動する剛体の運動である場合の取扱いについて説明する。前記のように、ボールを質点と仮定した場合に到達目標の位置情報(t,t)と初速度ベクトルVの大きさvとの関数として決定される初速度ベクトルV(t,t,v)を「仮決定初速度ベクトル」と呼ぶことにする。そうすると、仮決定初速度ベクトルV(t,t,v)、回転軸φ及び回転量Nを初期条件として与えることによりボールの飛翔軌道が決定されることになるが、この飛翔軌道は、ボールの回転軸φ及び回転量Nの寄与により到達目標を外れてしまう。そこで、飛翔軌道が到達目標を通過するようにするために、仮決定初速度ベクトルV(t,t,v)を補正する必要がある。
このためには、例えば、仮決定初速度ベクトルV(t,t,v)を少しずつ修正してボール飛翔のシミュレーションを行うことも考えられるが、処理に要する時間や処理能力に制約があることを考慮すれば、この手法には困難性が予測される。そこで、回転軸φ及び回転量Nの寄与を考慮して到達目標を達成するために、仮決定初速度ベクトルV(t,t,v)を補正した初速度ベクトル(以下、「補正初速度ベクトルV’(t,t,v)」という)を事前に求め、5つのパラメータt,t,v,φ,Nをアドレスとする5次元テーブル(以下、「補正テーブル」という)の各アドレスで指定される領域に対応する補正初速度ベクトルV’(t,t,v)を格納するようにすればよい。
補正テーブルの事前作成に当たっては、例えば、仮決定初速度ベクトルV(t,t,v)を、回転軸φ及び回転量Nの寄与を考慮し少しずつ修正してボール飛翔のシミュレーションを行い、到達目標を実現する仮決定初速度ベクトルV(t,t,v)を補正初速度ベクトルV’(t,t,v)として採用して、これを補正テーブルに格納するようにすればよい。なお、ボール飛翔のシミュレーションは、例えば、前述の「ボール飛翔経路算出の原理的説明」に基づいて行うようにすればよい。
スワイプ操作により回転軸φ及び回転量N、初速度ベクトルVの大きさvを取得するためには、例えば、スワイプ操作の方向により回転軸φを指定し、スワイプ操作の距離により回転量Nを指定し、スワイプ操作のスピードにより初速度ベクトルVの大きさvを指定するようにすればよい。なお、スワイプ操作の方向のみを用いて球種の情報sを取得し、当該球種の情報sの関数として回転軸φ及び回転量Nの情報を取得するという簡便な手法を採用することもできる。この後者のケースにおいては、補正テーブルは(t,t,v,s)でアドレス指定される4次元テーブルとして構成できる。あるいは、回転軸φと回転量Nとの間に所定の関係が規定されている場合には、補正テーブルは(t,t,v,φ)でアドレス指定される4次元テーブルとして構成できる。
また、特に、前者の場合、5次元補正テーブルのアドレス指定に使用される(t,t
,v,φ,N)が、離散的に設定されている補正テーブルのアドレスと一致しないケースも想定される。このようなケースにおいては、例えば、(t,t,v,φ,N)で規定される5次元の点に近接する補正テーブルの複数のアドレスを選び、それらの複数のアドレスに格納されているV’(t,t,v)を読み出し、それらを適宜組み合わせ所定の重みをつけて加算する(所謂補間を行う)ことにより、近似的に対応する補正初速度ベクトルV’(t,t,v)を取得することができる。
なお、上述の説明では、説明を簡潔化するために、5次元の点(t,t,v,φ,N)等を直接アドレス指定に使用するものとしていたが、t,t,v,φ,Nに対し、一対一写像f、f、f、f、fをそれぞれ適用して得られた(f(t),f(t),f(v),f(φ),f(N))をアドレスとして採用してもよい。このようにすると、アドレスを整数から成るアドレス(j,k,l,m,n)として整序することができる。このアドレス(j,k,l,m,n)から(t,t,v,φ,N)を復元するには、j,k,l,m,nに対し、写像f、f、f、f、fの逆写像f −1、f −1、f −1、f −1、f −1をそれぞれ適用すればよい。
〔打撃によるボール飛翔の初期条件の取得〕
前述のように、バットスイングによりボールに対して打撃を与え、該打撃によるボールの飛翔軌道を演算するためには、バットとボールとの衝突を力学的にモデル化すればよい。また、3次元仮想空間中を飛翔するボールの軌跡を精緻に演算するためには打撃直後のボールの速度ベクトル、回転軸、回転量をボール飛翔の初期条件として取得する必要がある。以下において、打撃によるボール飛翔の初期条件の取得に関する原理的な説明を与えるが、本発明はこれに限定されるものではないことに留意されたい。
まず、バット上のボールの衝突位置を特定する。該衝突位置は、衝突前のボールの飛翔経路とバットスイングによるバットの移動経路の情報から取得可能である。
次に、打撃(衝突)直後のボールの速度ベクトル、回転軸、回転量の情報(ボール飛翔のための初期条件)を取得する。該初期条件を取得するための手法について以下詳述する。
(打撃直後のボールの速度ベクトルの取得)
打撃直前、バットは速度V(ベクトル。以下、特に断らない限りベクトルを表すものとする)でボールに向かって運動しており、ボールは速度vでバットに向かって運動している。打撃直後、バットの速度はV’に変化し、ボールの速度はv’に変化する。
上記のようなケースでは、力学法則に従って以下の式5、6が成り立つ。なお、Mはバットの質量、mはボールの質量、eは反発係数である。
MV+mv=MV’+mv’ (式5)
v−V=−e(v’−V’) (式6)
上記の式5、6から、打撃直後のボールの速度v’は、打撃直前のバットの速度V、ボールの速度v、反発係数eを用いて、以下の式7のように表されることになる。
v’=(1+e−1)MV/(M+m)+(m−Me−1)v/(M+m) (式7)
なお、上記の式5、6においては、バットの質量M、ボールの質量mを定数としているが、より精密な議論が必要な場合には、バット及びボールの質量として、各軸方向の慣性モーメントと衝突位置の関数として表される「有効質量」を使用する必要が生ずるケースもあり得る。また、反発係数eに関しても、衝突位置の関数として表される「見かけ上の
反発係数」を使用しなければならないケースもあり得る。このようにして、打撃直後のボールの速度(ベクトル)を求めることができる。
次に、打撃直後のボールの回転(回転軸、回転量)について説明する。なお、前述したように、ボール飛翔経路の算出において、ボールの回転を考慮しなくてもよい場合には、ボールの回転に係るデータの取得は不要である。
ボールの半径をr、衝突直前の角速度(ベクトル)をω、衝突直後の角速度(ベクトル)をω’とすると、衝突時にバットからボールが受けるバットの長軸方向の力積Fは、下記の式4によって求められる。なお、vは速度(ベクトル)vの上記バットの長軸軸方向成分、v’は速度(ベクトル)v’の上記バットの長軸方向成分である。
−F=mv’−mv (式8)
上記の式8によって求められた力積Fを用いると、ボールの慣性モーメントをIとすれば、以下の式9が導出される。
ω’−ω=Fr/I (式9)
但しω’、ωは、衝突前後のボールの回転角速度(ベクトル)ω’,ωの上記バットの長軸方向成分を表している。
さらに、ボールBが野球ボールのような、中実の球体の場合、慣性モーメントIは、質量mと半径rとを用いて以下の式6によって与えられる。
I=(2/5)mr (式10)
上記の式9、10より、衝突前後のボールの回転角速度(ベクトル)ω,ω’の関係を示す以下の式7が得られる。
ω’=ω+(2/5mr)F (式11)
このようにして、衝突直前のボールの回転角速度(ベクトル)ωから衝突直後のボールの回転角速度(ベクトル)ω’を求めることができる。なお、上述の計算においては、バットとボールとの間の転がり摩擦係数や滑り摩擦係数、衝突面の角度などについては考慮していないが、必要であれば、これらのパラメータも考慮することができる。
〔ボールの飛翔方向の制御〕
次に、フリック操作の方向により、打撃によるボールの飛翔方向を制御するための手法例について説明する。
簡便な手法としては、ボールの初速度(ベクトル)v’を球場平面に投影した射影ベクトルがフリック操作の方向に合致するように、v’を球場平面に直交する軸の回りに回転させ、その結果得られたベクトルv’ ’をボールの初速度(ベクトル)として採用する
ようにすればよい。なお、回転軸の方向、回転量が必要な場合には、従前の値をそのまま利用するようにすればよい。
上記の簡便な手法を採用すると、場合によっては、バットスイングとボールの飛翔との間にやや違和感が生じることも考えられる。そのような違和感を解消するためには、例えば、バットスイングの開始時期を早めたり、遅らせたりするための時間間隔をフリック操作の方向の関数として設定しておき、バットスイングの基準時点に対して上記時間間隔を加算又は減算し、バットスイングの開始時期をフリック操作の方向に応じて変更するようにすればよい。このようにすれば、フリック操作の方向に応じてバットスイングの開始を早めたり、遅らせたりすることにより、バットとボールの衝突態様を変化させることができ、結果として、自然なバットスイングによりフリック操作の方向と略合致する方向にボ
ールを飛翔させることができる。
以上、野球ゲームを例に説明したが、本発明は、これに限られるものではなく、ボールに打撃を与えて移動させるゲーム、例えば、ソフトボール、サッカー、テニス、卓球、クリケット等にも適用可能であることはいうまでもない。
なお、前記システムを構成する各手段は、専用のハードウェアであってもよいが、コンピュータがプログラムを実行することにより各処理段階ごとに実現される仮想的手段(所謂、機能現手段)であってもよい。
また、前記システムは、ゲーム専用の装置に搭載されるものであってもよいが、ユーザが所持する携帯電話機、スマートフォン、PDA(Personal Digital Assistant)、携帯型パーソナル・コンピュータ等の携帯端末に搭載されるものであってもよい。
さらに、前記システムは、ゲームを実行するための各処理が複数のコンピュータ等によって分散処理されるようなゲームシステムとしても構成できる。
1 ゲームシステム
2 移動側デバイス
3 打撃側デバイス
20 サーバ
21 ゲームサーバ
22 データベースサーバ
30 ユーザ端末
40 ネットワーク
110、310 CPU
120、320 ROM
130、330 RAM
140、390 補助記憶装置
150、410 通信制御部
160 入出力制御部
340 画像処理部
350 表示部
360 サウンド処理部
370 音声入力部
380 音声出力部
420 バスライン
600 ゲーム画面(守備側)
601 捕手キャラクタ
602 打者キャラクタ
603 投手キャラクタ
604 ストライクゾーン
605 コース指定カーソル
606 球種表示
607 操作指標
608 円
609 ゲージ
610 ボール
700 ゲーム画面(攻撃側)
702 打者キャラクタ
703 投手キャラクタ
704、710 標識
705 ストライクゾーン
706 ホームベース
707 バット
708 ボール
709 ミートカーソル

Claims (18)

  1. 移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、
    前記移動側デバイスは、
    ユーザの操作に基づきオブジェクトの移動経路の算出に必要な情報を取得し、
    当該情報を前記打撃側デバイスに対して出力し、
    前記打撃側デバイスからの当該情報の受信通知を受け取った後に、前記移動側デバイスにおいて描出される3次元仮想空間内の到達目標に向けて前記オブジェクトの移動を開始させ、
    前記打撃側デバイスから出力される前記オブジェクトに対する打撃後の移動経路の算出に必要な情報に基づき、前記移動側デバイスにおいて描出される3次元仮想空間内の打撃後のオブジェクトの移動経路を算出・表示する
    ことを特徴とする制御方法。
  2. 請求項1に記載の制御方法において、
    前記移動側デバイスは、
    前記オブジェクトの到達目標の目安位置を示すカーソルをユーザの操作に応じて移動し、
    前記ユーザ操作の開始タイミングを検出し、
    現タイミングが前記開始タイミングから所定の範囲内にあるか否かを判定し、現タイミングが所定の範囲内にない場合に出力を発生し、
    前記出力を受けて前記カーソル移動手段の動作を禁止し、
    それにより、前記出力に応じて、前記カーソルの移動を制限しない第1モードと前記カーソルの移動を禁止する第2モードとを切り換えることを特徴とする制御方法。
  3. 請求項2に記載の制御方法において、前記カーソルの移動操作を操作面の任意の位置で行うことができるようにしたことを特徴とする制御方法。
  4. 請求項2又は3に記載の制御方法において、前記第2モードにおいて、前記オブジェクトの回転に係る属性を規定する操作が許容されることを特徴とする制御方法。
  5. 請求項4に記載の制御方法において、前記オブジェクトの回転に係る属性を規定する操作がスワイプ操作であり、スワイプ方向により前記オブジェクトの回転に係る属性の少なくとも1つが設定されることを特徴とする制御方法。
  6. 請求項5に記載の制御方法において、前記第2モードにおいて、前記スワイプ操作のタイミングに応じた表示がなされ、前記スワイプ操作のタイミングに応じて前記オブジェクトの前記到達目標への到達精度が決定されることを特徴とする制御方法。
  7. 請求項6に記載の制御方法において、前記スワイプ操作のタイミングは、操作面を所定距離スライド操作する際の速度が所定値を超えた場合に設定されることを特徴とする制御方法。
  8. 移動側デバイスと打撃側デバイスの組合せにより実行される対戦型ゲームの制御方法であって、
    前記打撃側デバイスは、
    前記移動側デバイスから出力されるオブジェクトの移動経路の算出に必要な情報を受け取って当該情報の受信通知を前記移動側デバイスに送信するとともに、当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内のオブジェクトの移動経路
    を算出・表示し、
    ユーザによるオブジェクトに対する打撃操作がなされるとオブジェクトに対し打撃を与えて移動方向を変更させるとともに、打撃後の移動経路の算出に必要な情報を取得し、
    当該情報を前記移動側デバイスに対して出力し、
    当該情報に基づき、前記打撃側デバイスにおいて描出される3次元仮想空間内における打撃後のオブジェクトの移動経路を算出・表示する
    ことを特徴とする制御方法。
  9. 請求項8に記載の制御方法において、
    前記打撃側デバイスは、
    前記オブジェクトに打撃を与える目安位置を示すミートカーソルをユーザの操作に応じて移動し、
    前記オブジェクトに打撃を与える位置から所定の範囲内に前記オブジェクトが入っているか否かを判定し、前記オブジェクトに打撃を与える位置から所定の範囲内に前記オブジェクトが入っている場合に出力を発生し、
    前記出力を受けて前記ミートカーソルの移動を少なくとも一部制限し、
    それにより、前記オブジェクトの位置に応じて、前記ミートカーソルの移動を制限しない第1モードと前記ミートカーソルの移動を少なくとも一部制限する第2モードとを切り換えて、オブジェクトに対する打撃操作とミートカーソルの移動操作との間に干渉が生じないようにすることを特徴とする制御方法。
  10. 請求項9に記載の制御方法において、前記所定の範囲は時間距離で規定されることを特徴とする制御方法。
  11. 請求項9又は10に記載の制御方法において、前記第2モードにおいて、前記オブジェクトに対する打撃操作の方向とは異なる方向への前記ミートカーソルの移動操作が許容されることを特徴とする制御方法。
  12. 請求項9〜11のいずれか1項に記載の制御方法において、前記オブジェクトに対する打撃操作を任意の位置で行うことができるようにしたことを特徴とする制御方法。
  13. 請求項9〜12のいずれか1項に記載の制御方法において、少なくとも前記ユーザの打撃操作の方向に基づいて前記オブジェクトの移動軌跡が計算されることを特徴とする制御方法。
  14. 請求項9〜13のいずれか1項に記載の制御方法において、前記ミートカーソルの移動操作が前記ミートカーソルと前記オブジェクトの表示を妨げない位置でなされるように構成されていることを特徴とする制御方法。
  15. 請求項14に記載の制御方法において、前記ミートカーソルの移動操作が前記ミートカーソルの表示に隣接する領域でなされるようにしたことを特徴とする制御方法。
  16. 請求項1〜15のいずれか1項に記載の制御方法において、前記オブジェクトの位置に連動したアニメーションが生成されることを特徴とする制御方法。
  17. 請求項1〜16のいずれか1項に記載の制御方法において、ゲームが野球ゲームであり、前記オブジェクトが野球ボールであることを特徴とする制御方法。
  18. コンピュータに請求項1〜17のいずれか1項に記載の制御方法を実行させるためのプログラム。
JP2016207981A 2016-10-24 2016-10-24 対戦型ゲームの制御方法、及びプログラム Pending JP2017113529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016207981A JP2017113529A (ja) 2016-10-24 2016-10-24 対戦型ゲームの制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016207981A JP2017113529A (ja) 2016-10-24 2016-10-24 対戦型ゲームの制御方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015251186A Division JP6050884B1 (ja) 2015-12-24 2015-12-24 対戦型ゲームの制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017113529A true JP2017113529A (ja) 2017-06-29

Family

ID=59232540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016207981A Pending JP2017113529A (ja) 2016-10-24 2016-10-24 対戦型ゲームの制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017113529A (ja)

Similar Documents

Publication Publication Date Title
JP6050884B1 (ja) 対戦型ゲームの制御方法、及びプログラム
US9802117B2 (en) Game device, game control program, and method for controlling golf game
JP6438198B2 (ja) プログラム及びゲーム装置
US10576382B2 (en) Golf game apparatus, storage medium, golf game system and golf game control method
JP5759796B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
Medryk et al. A comparison of accelerometer and touch-based input for mobile gaming
JP6050882B1 (ja) ゲームシステム、制御方法、及びプログラム
KR101539666B1 (ko) 모바일 단말기를 통한 골프 시뮬레이션 방법, 이에 관한 프로그램 또는 어플리케이션이 기록된 기록매체 및 이를 이용한 골프 시뮬레이션 구동을 위한 모바일 단말기
JP6088030B1 (ja) ゲームシステム、制御方法、及びプログラム
JP2017113529A (ja) 対戦型ゲームの制御方法、及びプログラム
JP6110926B1 (ja) ゲームシステム、制御方法、及びプログラム
JP2017094103A (ja) ゲームシステム、制御方法、及びプログラム
JP2012249880A (ja) 携帯端末、制御方法、及びプログラム
JP2017094062A (ja) ゲームシステム、制御方法、及びプログラム
JP2012249881A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2017099940A (ja) ゲームシステム、制御方法、及びプログラム
JP6501814B2 (ja) ゲームプログラム、方法、および情報処理装置
US20180229079A1 (en) Data processing method, program, storage medium and motion analysis device
JP6034928B1 (ja) ゲームシステム、制御方法、及びプログラム
TW201317041A (zh) 棒球遊戲用的投球方法與系統
US11745101B2 (en) Touch magnitude identification as input to game
JP2017029577A (ja) ゲームシステム、制御方法、及びプログラム
JP6779048B2 (ja) ゲームの実行方法、プログラムおよび記録媒体
KR102043559B1 (ko) 모바일 기기를 이용한 가상 골프 플레이 시스템
JP6307651B1 (ja) ゲームプログラム、方法、および、情報処理装置