JP6404412B1 - ゲームプログラム、方法、および情報処理装置 - Google Patents

ゲームプログラム、方法、および情報処理装置 Download PDF

Info

Publication number
JP6404412B1
JP6404412B1 JP2017136613A JP2017136613A JP6404412B1 JP 6404412 B1 JP6404412 B1 JP 6404412B1 JP 2017136613 A JP2017136613 A JP 2017136613A JP 2017136613 A JP2017136613 A JP 2017136613A JP 6404412 B1 JP6404412 B1 JP 6404412B1
Authority
JP
Japan
Prior art keywords
user
game
moving body
trajectory
movement
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.)
Active
Application number
JP2017136613A
Other languages
English (en)
Other versions
JP2019017510A (ja
Inventor
佐藤 克則
克則 佐藤
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 JP2017136613A priority Critical patent/JP6404412B1/ja
Application granted granted Critical
Publication of JP6404412B1 publication Critical patent/JP6404412B1/ja
Publication of JP2019017510A publication Critical patent/JP2019017510A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ゲームの興趣性を一層向上させることができるゲームプログラム、方法、および情報処理装置を提供する。【解決手段】ゲームプログラムは、プロセッサに、交差面に移動体の軌道を投影した投影軌道上を移動するオブジェクトを表示させるステップS104、S107を実行させ、該ステップでは、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。【選択図】図7

Description

本開示はゲームプログラム、ゲームを実行する方法および情報処理装置に関する。
仮想空間内を移動する移動体に対して作用を与えることによりゲームを進行させるゲームプログラムが、様々な事業者により提供されている。このようなゲームの典型例として、野球を題材としたゲーム(以下、野球ゲーム)が挙げられる。
野球ゲームでは、現実の野球の再現と、この再現による興趣性の向上とのために、特に、投手が投球してから打者が打撃するまでの画面に様々な工夫が行われている。例えば、特許文献1には、変化球の軌道を、投手の投球フォームに応じて変化させることが開示されている。また、特許文献2には、投手および打者の利き腕に応じて、ボールを投影した位置の表示が開始されるタイミングを変えることが開示されている。
特開2007−244695号公報(2007年9月27日公開) 特開2012−183141号公報(2012年9月27日公開)
しかしながら、上述のような従来技術は、現実の野球の再現としては十分ではなく、野球ゲームには、投手が投球してから打者が打撃するまでの画面において、未だ興趣性向上の余地がある。
本発明の一態様は、ゲームの興趣性を一層向上させることを目的とする。
本開示に係るゲームプログラムは、プロセッサ、メモリ、操作部および表示部を備える第1コンピュータにより実行される。ゲームプログラムに基づくゲームは、第1コンピュータの第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作を入力することによって進行する。ゲームプログラムは、プロセッサに、第1位置から第2位置へ移動する移動体の軌道を特定するステップと、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクトを表示させるステップと、を実行させる。オブジェクトを表示させるステップでは、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。
本開示に係る方法は、プロセッサ、メモリ、操作部および表示部を備える第1コンピュータが、ゲームプログラムを実行する方法である。ゲームプログラムに基づくゲームは、第1コンピュータの第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作を入力することによって進行する。方法は、プロセッサが、第1位置から第2位置へ移動する移動体の軌道を特定するステップと、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクトを表示させるステップと、を含む。オブジェクトを表示させるステップでは、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。
本開示に係る情報処理装置は、ゲームプログラムを記憶する記憶部と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部と、操作部と、表示部と、を備える。ゲームプログラムに基づくゲームは、情報処理装置の第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作を入力することによって進行する。制御部は、第1位置から第2位置へ移動する移動体の軌道を特定し、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクトを表示させ、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。
本発明の一態様によれば、ゲームの興趣性を向上させる効果を奏する。
ゲームシステムのハードウェア構成を示す図である。 打撃側ユーザ端末の制御部によって生成される、野球ゲームのゲーム画面の一例である。 ユーザ端末が打撃側ユーザ端末として機能する場合に必要な機能的構成を示すブロック図である。 打撃支援オブジェクトの移動タイミングを示す図である。 ボールが投球されてから交差面に到達するまでのゲーム画面の遷移の一例を示す画面遷移図である。 ボールが投球されてから交差面に到達するまでのゲーム画面の遷移の他の例を示す画面遷移図である。 野球ゲームを実行する各ユーザ端末の処理の流れを示す図である。 移動タイミング判定テーブルのデータ構造のバリエーションを示す図である。 ボールが投球されてから交差面に到達するまでのゲーム画面の遷移のさらなる別の例を示す画面遷移図である。
〔実施形態1〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(LongTerm Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
サーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続する。
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200または他のユーザ端末100と通信せずに、1台のユーザ端末100によりローカルでマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、信号を、有線を介して送受信する。
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17および測距センサ18のいずれか一方または両方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010(例えば、ユーザの手、予め定められた形状のマーカーなど)を検出し、当該物体の検出結果(検出した物体の色、形状、動き、種類等)から入力操作を特定する。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
ゲームシステム1は、一例として、ユーザによって操作される1以上のキャラクタから成るチームが、対戦相手としての相手ユーザまたは相手コンピュータによって制御される相手チーム(他チーム)と対戦するゲームを実行するためのシステムである。ゲームシステム1は、例えば、対戦にかかるゲームとして、対戦型野球ゲームを実行するためのシステムである。すなわち、該対戦型野球ゲームにおける対戦には、ゲームプログラムに基づいてコンピュータによって制御される相手チームと対戦する対コンピュータ対戦と、ユーザによってコンピュータを介して制御される相手チームと対戦する対ユーザ対戦とがある。
対ユーザ対戦において、それぞれのユーザによって、サーバ200を介して通信する2つのユーザ端末100を介して、それぞれのチームが制御される。そして、対ユーザ対戦では、1イニングごとにチームの攻守が入れ替わりつつ、進行する。以下では、あるイニングにおいて、攻撃側のチームを操作する(特に、打者キャラクタによる打撃を操作する)ユーザ端末100を、打撃側ユーザ端末100A(第1コンピュータ、情報処理装置)と称する。また、守備側のチームを操作する(特に、投手キャラクタによる投球を操作する)ユーザ端末100を、投球側ユーザ端末100B(第2コンピュータ)と称する。両者を区別する必要がない場合には、単に、ユーザ端末100と称する。また、打撃側ユーザ端末100Aのユーザを、打撃側ユーザ(第1ユーザ)、投球側ユーザ端末100Bのユーザを、投球側ユーザ(第2ユーザ)と称する。ただし、両ユーザを特に区別する必要がない場合、および、その区別が明らかな場合には、単にユーザと称する。
投球側ユーザ端末100Bは、投球側ユーザから受け付けた投球操作(第2操作)に応じて投球データD1を生成し、打撃側ユーザ端末100Aに送信する。投球操作とは、投球側ユーザが、投手キャラクタに投球させるために、投球側ユーザ端末100Bの入力部151に対して実施する操作のことである。打撃側ユーザ端末100Aは、打撃側ユーザから受け付けた打撃操作(第1操作)に応じて打撃データD2を生成し、投球側ユーザ端末100Bに送信する。打撃操作とは、打撃側ユーザが、打者キャラクタにボールを打撃させるために、打撃側ユーザ端末100Aの入力部151に対して実施する操作のことである。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
なお、本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよいし、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよいし、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとはユーザ情報、ゲーム情報等、ゲームに関するデータ、ならびにユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示や通知を含んでいる。
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタンやカメラ、マイク、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発光する光源と、光を受光する受光素子とを含む。測距センサ18は、光源からの発光タイミングと、発光された光が測定対象物にあたって反射される反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、光源として、指向性を有する光を発光するものを有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)〜(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザの行ったジェスチャを特定する。例えば指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定し、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定し、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるか、遠く(例えば所定値以上の距離)にあるかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているか遠ざかっているかを検出してもよい。(5)プロセッサ10は、カメラ17の撮影画像の画像認識結果等により、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化している場合、ユーザが手をカメラ17の撮影方向において振っていると認識する。プロセッサ10は、カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体を検出したりしなかったりする場合に、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、この手をどのように移動させているか、また、ユーザ端末100に対して接近させているか遠ざけているかを検出する。このような操作は、例えば、マウスやタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択している状態(マウスのクリック継続、タッチパネルへのタッチダウンおよびタッチの継続)と判別する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、該移動をスワイプ操作(またはドラッグ操作)と判別することもできる。また、ユーザ端末100は、例えば、カメラ17の撮影画像によるユーザの手の検出結果において、ユーザが指をはじくようなジェスチャを検出した場合に、マウスのクリック、タッチパネルへのタップ操作に対応する処理をすることとしてもよい。
<打撃側ユーザ端末100Aにおける打撃画面の表示例>
図2は、本実施形態における打撃側ユーザ端末100Aの制御部110によって生成される、対戦型野球ゲームのゲーム画面の一例である。図2において、ゲーム空間としての球場における一場面が示されている。本場面は打撃画面600を示しており、投手キャラクタ603(移動開始キャラクタ)が立っている位置(第1位置)からキャッチャー(図示せず)のいる位置(第2位置)まで投手キャラクタ603がボール(移動体)を投球する前の場面が示されている。この場面の後、投手キャラクタ603がボールを投球すると、打者キャラクタ601(作用付与キャラクタ)がボールに対する打撃を行う。本実施形態において、「投球する」ことは、投手キャラクタ603がボールを移動させることを意味する。「打撃する」ことは、打者キャラクタ601がボールに作用を与えることを意味する。
球場における第1位置と第2位置との間に、ホームベース605が配置されている。制御部110は、ホームベース605上に、第1位置から第2位置へ向かう方向に交差する方向に延在する交差面を設定する。制御部110は、交差面に基づいて、打者キャラクタ601がボールを打撃したか否かを判定する。交差面は、例えば、ストライクゾーンと、該ストライクゾーンの外側に配置されるボールゾーンとを含んでいてもよい。後述する操作受付部113が、投手キャラクタ603が投球したボールが交差面に到達したタイミングで、ユーザからの打撃操作を受け付けると、打者キャラクタ601は、バット602をスイングすることによって、ボールを打ち返す作用をボールに与えることができる。なお、図2に示すその他のオブジェクトについては、後に詳述する。
<ユーザ端末100の機能的構成>
図3は、ユーザ端末100の機能的構成を示すブロック図である。とりわけ、図3は、ユーザ端末100が、本実施形態に係る打撃側ユーザ端末100Aとして機能する場合に必要な機能的構成を示す。したがって、ユーザ端末100が備えている以下の機能的構成、すなわち、投球側ユーザ端末100Bとして機能する場合に必要な機能的構成、一般的なスマートフォン等として機能する場合に必要な機能的構成、および、対戦型野球ゲームにおける公知の機能を実現するために必要な機能的構成については、適宜省略している。
打撃側ユーザ端末100Aは、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。打撃側ユーザ端末100Aは、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
記憶部120は、移動タイミング判定テーブル121、ならびに、ゲームプログラム131、ゲーム情報132、およびユーザ情報133を格納する。ゲームプログラム131は、打撃側ユーザ端末100Aで実行するゲームプログラムである。ゲーム情報132は、制御部110がゲームプログラムを実行する際に参照するデータであって、サーバ200が保持するゲーム情報と同様の情報を含んでいる。ユーザ情報133は、打撃側ユーザのアカウントに関するデータであって、同じデータがサーバ200にも保持されている。
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、打撃側ユーザ端末100Aを統括的に制御する。例えば、制御部110は、ゲーム情報132に記憶された、ゲーム空間を構築するための情報を参照してゲーム空間を構築する。また、制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データおよびプログラム等を受信する。制御部110は、ゲーム情報もしくはユーザ情報の一部または全部をサーバ200に送信する。制御部110はサーバ200にマルチプレイの同期の要求を送信してもよい。制御部110はサーバ200からマルチプレイの同期のためのデータを受信してもよい。
制御部110は、ゲームプログラム131の記述に応じて、投球データ解析部111、オブジェクト制御部112、操作受付部113、打撃判定部114、アニメーション生成部115、および表示制御部116として機能する。
投球データ解析部111は、投球側ユーザ端末100Bから送信された投球データD1を取得して、投球データD1を解析する。投球データ解析部111は、あらかじめ規定されている投球データD1のデータ構造に基づいて、投球データD1に含まれる各種情報を、意味のある情報単位に分解し、必要な情報を抽出して、制御部110の各部に出力する。なお、本実施形態では、一例として、投球側ユーザ端末100Bから提供される投球データD1には、投手キャラクタ603の投球内容と投球評価(評価情報)とが含まれている。投球内容の情報は、具体的には、球種(ストレート、スライダー、カーブ等)と、投球コース(内角高め、ど真ん中、外角低め等)とを含む。
オブジェクト制御部112は、ゲーム空間に配置される仮想オブジェクトの表示態様を制御する。仮想オブジェクトとは、打撃側ユーザ端末100Aの表示部152に、打席のゲーム画面において表示される、現実の野球には無いオブジェクトである。仮想オブジェクトとしては、例えば、図2に示すミートカーソル604、並びに、図5に示すボール投影オブジェクト606および打撃支援オブジェクト607等がある。ボール投影オブジェクト606は、投球されたボールを交差面に投影した投影位置を示すオブジェクトである。各オブジェクトの表示態様および機能については、図を参照しつつ後に詳述する。
操作受付部113は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部113は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
操作受付部113は、入力部151に対する入力操作(例えば、投球操作または打撃操作)を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部113は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部113は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
打撃判定部114は、ユーザによる打撃操作およびゲームプログラムの少なくとも一方に基づいて、上述の仮想オブジェクトのうち、特に打撃判定に関わる打撃判定オブジェクトを制御する。打撃判定オブジェクトとしては、例えば、ボール投影オブジェクト606およびミートカーソル604等がある(図3および図5参照)。そして、打撃判定部114は、打撃操作が受け付けられた場合に、交差面におけるボール投影オブジェクト606とミートカーソル604との位置関係に少なくとも基づいて、打者キャラクタ601がボールに打撃を与えたか否かを判定する。さらに、より詳細には、打撃判定部114は、打撃操作に基づいて、打撃直後のボールの速度ベクトル、回転軸および回転量を、ボールの飛翔の初期条件として取得し、打撃の判定の結果と、必要に応じて初期条件とを含む打撃データD2を生成する。
なお、ミートカーソル604は、ユーザが操作によってその位置を移動させることができるので、被操作オブジェクトでもある。被操作オブジェクトとしてのミートカーソル604の位置を移動させる処理は、オブジェクト制御部112が、ユーザの操作に従って実行する。該処理の詳細は後述する。
アニメーション生成部115は、オブジェクト制御部112および打撃判定部114による各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部115は、ミートカーソル604の制御態様に基づいて、打者キャラクタ601によるスイング動作のアニメーション、該打者キャラクタ601が振るバット602のアニメーションを生成してもよい。
表示制御部116は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面(例えば、図3に示す打撃画面600)を出力する。表示制御部116は、ゲーム画面にアイコン、ボタン、または、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なユーザインターフェース(以下、UI)に係るオブジェクトを重畳して描画してもよい。
なお、サーバ200または投球側ユーザ端末100Bは、打撃側ユーザ端末100Aが備える機能の少なくとも一部を備えていてもよい。また、打撃側ユーザ端末100Aは、サーバ200または投球側ユーザ端末100Bが備える機能の少なくとも一部を備えていてもよい。さらに、打撃側ユーザ端末100A、投球側ユーザ端末100Bおよびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、打撃側ユーザ端末100A、投球側ユーザ端末100B、サーバ200、および他の装置の何れであってもよい。
(ミートカーソル604について)
まず、ユーザによって実施される打撃操作に基づいて、被操作オブジェクトとしてのミートカーソル604がどのように制御されるのかについて、一例を説明する。
投球側ユーザおよび打撃側ユーザの各操作に基づいて対戦型野球ゲームが開始されると、打撃側ユーザ端末100Aの制御部110は、各種オブジェクトのゲームデータを記憶部120から読み出す。表示制御部116は、記憶部120から各種オブジェクトのゲームデータをロードし、図2に示されるような打者キャラクタ601、バット602、投手キャラクタ603、ミートカーソル604、ホームベース605等を含む打撃画面600を表示部152に表示させる。本実施形態では、表示制御部116は、オブジェクト制御部112によるミートカーソル604に対する制御にしたがって、ミートカーソル604の中心に中心604aが位置するように、ミートカーソル604および中心604aを表示部152に表示させる(図2参照)。
表示制御部116によって、打撃画面600中に投手キャラクタ603による投球動作が表示された後、所定のタイミングで、オブジェクト制御部112は、ミートカーソル604および中心604aをゲーム空間上に配置する。表示制御部116は、配置されたミートカーソル604および中心604aを半透明に表示させて、ボール投影オブジェクト606を遮らないようにすることが好ましい。ミートカーソル604が表示部152に表示されることで、操作受付部113が打撃操作を受け付けられる状態に遷移する。打撃操作は、本実施形態では、2つの操作を含んでいる。1つ目は、ミートカーソル604の位置を移動させることを指示するための移動操作であり、2つ目は、移動操作によって確定されたミートカーソル604の位置をめがけて、打者キャラクタ601にバット602をスイングさせるためのスイング操作である。
操作受付部113が、ユーザによる入力部151に対する移動操作を受け付ける。本実施形態では、移動操作は例えばスワイプ操作である。オブジェクト制御部112は、移動操作に基づいて、ミートカーソル604および中心604aを移動させる。操作受付部113は、タッチスクリーン15の任意の位置に対する移動操作を受け付けることができる。例えば、操作受付部113は、タッチスクリーン15に対するユーザの最初の接触位置(初期タッチ座標)と、移動操作後の接触位置(タッチナウ座標)とを比較し、初期タッチ座標に対するタッチナウ座標の変化方向、および、変化量に基づいて、ミートカーソル604および中心604aの位置の変化方向、および、変化量をそれぞれ決定する。これにより、オブジェクト制御部112は、ホームベース605上の交差面と異なる領域における移動操作に対しても、それに連動して、ミートカーソル604および中心604aを間接的に移動させることができる。このようにすれば、ユーザの指によってミートカーソル604の視認が妨げられることを回避できる。
ミートカーソル604は、その一部がストライクゾーン(不図示)に含まれる範囲で移動可能であってもよい。したがって、ミートカーソル604の一部はボールゾーン(不図示)に含まれ得る。しかし、ボールゾーンのボールを打撃することは不可能なように設定されていてもよい。
ゲーム空間において、投手キャラクタ603により投球されたボールが交差面から所定距離以内に近づいてきた場合、オブジェクト制御部112は、少なくとも一部の方向へのミートカーソル604および中心604aの移動を制限してもよい。オブジェクト制御部112は、移動が制限されたことを示すように、ミートカーソル604および中心604aの色や模様といった表示態様を変化させてもよい。ミートカーソル604および中心604aは、後述するスイング操作の態様に基づいて、移動が制限されることが好ましい。例えば、打撃操作が、第1方向(典型的に上方向:0°〜180°方向)へのスライド操作やフリック操作である態様では、該第1方向へのミートカーソル604の移動が制限されることが好ましい。これにより、例えばスイング操作が入力された場合に、誤ってミートカーソル604および中心604aの移動操作と判定されてしまうことが確実に防止される。なお、第1方向のみならず、第1方向と異なる第2方向(典型的には下方向:180°〜360°方向)への移動(すなわち、全方向への移動)も制限されていてもよい。
一方、ミートカーソル604および中心604aの移動が制限されている場合にも、第2方向への移動は許容されてもよい。例えば、変化球は下方向(180°〜360°方向の範囲内)において変化することが想定されるため、第2方向への移動が許容されることにより、ユーザはボールが交差面に到達するぎりぎりまでミートカーソル604および中心604aを移動させることができる。このように、ミートカーソル604および中心604aを移動させるための移動操作と、打者キャラクタ601にスイングを行わせるためのスイング操作との競合を回避することが可能になる。また、図2に示すとおりボールを飛ばす方向(例えばスタンド、外野方向)は、画面上、打撃位置より上方に描画されるため、ユーザが直感的に上方向へのスライド操作およびフリック操作をスイング操作と理解することができる。
操作受付部113は、ユーザによるスイング操作を受け付ける。本実施形態では、スイング操作は、例えば、タッチオフ操作、スライド操作、または、フリック操作などである。操作受付部113は、タッチスクリーン15上のいかなる位置に対して行なわれた上述のタッチ操作も、スイング操作として受け付けることが好ましい。これによりユーザは、タッチスクリーン15上の任意の位置に対して、スイング操作を行うことができる。
次に、ゲーム空間に配置されたミートカーソル604とボール投影オブジェクト606との位置関係に基づいて、打撃判定部114がどのように打撃判定を行うのかについて、一例を説明する。
スイング操作が受け付けられると、ゲーム空間上のミートカーソル604とボール投影オブジェクト606との位置関係に基づいて、打撃判定部114は打撃判定を行う。詳細には、例えば、打撃判定部114は、ボールが交差面に到達した時点での、交差面におけるボールの位置、すなわち、該時点での、交差面におけるボール投影オブジェクト606の位置を特定する。そして、移動操作によって移動させられたミートカーソル604の位置と、スイング操作が入力されたタイミングとに基づいて、該時点での、交差面におけるミートカーソル604の位置を特定する。
そして、打撃判定部114は、ミートカーソル604の位置が、ボールの打撃に適合した位置の範囲にあれば、打者キャラクタ601がボールを打撃した(バット602がボールに当たった)と判定する。例えば、交差面においてボール投影オブジェクト606とミートカーソル604とが少なくとも部分的に重畳していれば、打撃判定部114は、打者キャラクタ601がボールを打撃したと判定すればよい。一方、交差面において、ボール投影オブジェクト606がミートカーソル604の外部に配置されていれば、打撃判定部114は、打者キャラクタ601がボールを打撃しなかったと判定すればよい。打撃しなかったとは、バット602がボールに当たらなかったことを意味する。
バット602がボールに当たったと判定した場合は、打撃判定部114は、次に、ボールに与える作用量を決定する。なお、作用量とは、ボールに与えられる作用の大きさをいう。本実施形態において作用量は、ボールに与えられる初速度を定義する速度ベクトルである。
打撃判定部114は、ボールに与える速度ベクトルを、ミートカーソル604の所定位置(例えば、中心604a)から、ボール投影オブジェクト606の所定位置(例えば、中心)の位置までの距離の離れ具合に応じて決定する。例えば、速度ベクトルを、該距離の離れ具合に応じて決定するための減衰関数が設定されていてもよい。減衰関数は、ミートカーソル604とボール投影オブジェクト606とが、バット602がボールに当たったと判定され得る位置関係にある場合において、ミートカーソル604の中心604aからボール投影オブジェクト606の中心までの距離がとり得る最大の値を最大距離としたとき、最大距離に対する実際の該距離の比率が大きいほど、ボールに与える速度ベクトルが小さくなるように定められた関数である。減衰関数は、記憶部120に記憶されている(不図示)。つまり、ボールと衝突したときのバット602の芯の、ボールの中心からのずれの比率、換言すれば、ミートカーソル604の中心604aの、ボール投影オブジェクト606の中心からのずれの比率が大きいほど、初速ベクトル(打球のパワー)は減衰される。
例えば、ボール投影オブジェクト606の下部をミートカーソル604の上部で打撃した場合には、打球の角度が上がりフライとなる。また、ボール投影オブジェクト606の上部をミートカーソル604の下部で打撃した場合には、打球の角度が下がりゴロとなる。例えば、打撃判定部114は、ミートカーソル604の中央の位置でボール投影オブジェクト606の中央を打撃する等の所謂ジャストミートの場合には、ライナーでボールが飛ぶような移動経路を算出する。ジャストミート以外の場合には凡打と判定して、凡打に対応する移動経路を算出してもよい。
(打撃支援オブジェクトの移動)
図4〜図6は、打撃支援オブジェクト607の移動について説明するための図である。図4の(A)は、投球後の打撃画面600の遷移について説明するための図である。
表示制御部116によって、打撃画面600中に投手キャラクタ603による投球動作が表示された後、所定のタイミングで、オブジェクト制御部112は、ボール投影オブジェクト606および打撃支援オブジェクト607をゲーム空間上に配置する。例えば、オブジェクト制御部112は、ボールが投手から離れたタイミングで、ボール投影オブジェクト606および打撃支援オブジェクト607をゲーム空間上に配置してもよい。
ボール投影オブジェクト606は、上述したように、投球されたボールを交差面に投影した投影位置を示すオブジェクトである。つまり、投球されたボールが変化球である場合、ボール投影オブジェクト606は、投球された変化球の軌道に応じて、交差面上を移動する。具体的には、ボール投影オブジェクト606は、投球された変化球の軌道を交差面に投影した投影軌道上を、ボールの軌道の変化に合わせて移動する。図4の(A)は、投手キャラクタが投球した変化球が、位置A0のコースに投球されたカーブである例である。そのため、ボール投影オブジェクト606は、カーブの軌道を交差面に投影した投影軌道、すなわち、位置A0から図の右下方向の位置A1へ達する投影軌道上を移動する。なお、本実施形態では投影軌道は表示部152に表示されないものとして説明するが、投影軌道が表示される構成であってもよい。
打撃支援オブジェクト607は、打撃側ユーザが実施する打撃操作を支援するためのオブジェクトである。具体的には、打撃支援オブジェクト607は、ミートカーソル604を移動させるべき位置を打撃側ユーザに示すためのオブジェクトである。打撃支援オブジェクト607は、投影軌道上を移動し、ボールが交差面に到達したときにボール(ボール投影オブジェクト606)と重畳して停止する。つまり、打撃側ユーザは、打撃支援オブジェクト607の移動に合わせてミートカーソル604を移動させ、打撃支援オブジェクト607が停止したタイミングでスイング操作を入力すれば、ボールを打撃することができる。なお、打撃支援オブジェクト607は視認しやすいオブジェクトであることが好ましい。例えば、図4の(A)に示すように、ボール投影オブジェクト606より大きい円であってもよい。
また、打撃支援オブジェクト607は、図4の(A)に示すように、ボール投影オブジェクト606と同じ位置、具体的には、ボール投影オブジェクト606の中心と、打撃支援オブジェクト607の中心とが一致するようにゲーム空間上に配置されてもよい。この場合、打撃支援オブジェクト607は、ボール投影オブジェクト606と同様に、投影軌道上を、位置A0から位置A1へ移動する。
打撃支援オブジェクト607は、投球側ユーザと打撃側ユーザとのいずれが有利であるかの判定結果に応じて決定されたタイミングで、移動を開始する。この点について、図4の(B)および(C)を参照して説明する。図4の(B)は、オブジェクト制御部112が参照する移動タイミング判定テーブル121の一具体例を示す図である。図4の(C)は、移動タイミングの一具体例を示す図である。
移動タイミング判定テーブル121は、例えば、投球データD1に含まれる投球評価の内容を示す「投球評価」のカラムと、移動タイミングを示す「移動タイミング」のカラムと、移動タイミングの基準タイミングとの差を示す「基準タイミングとの差」のカラムを含む。なお、基準タイミングとは、移動タイミングを決定するための基準となる時点であり、ボールが投球されてから、交差面に到達するまでのいずれかの時点である。
投球評価とは、投球側ユーザの投球操作の巧拙に基づいて、投球側ユーザ端末100Bが特定した、投手キャラクタ603の投球の良否を示す情報である。投球評価は、一例として、好投か否かを示す2値のフラグで構成される。投球側ユーザ端末100Bが投球評価を特定する方法としては、例えば、以下の技術が採用され得る。具体的には、投球側ユーザ端末100Bは、投球画面にゲージのUIを表示し、ゲージの照準を移動させて、ユーザの投球操作を受け付ける。照準がゲージの好投の範囲に収まっているときに投球操作がなされた場合に、投球側ユーザ端末100Bは、投手キャラクタ603の投球を「好投」と判断し、「好投」の値を示す投球評価を生成する。
オブジェクト制御部112は、図4の(B)に示す移動タイミング判定テーブル121に従い、投球データ解析部111によって解析された投球評価に応じて、打撃支援オブジェクト607の移動タイミングを決定する。本実施形態では、図4の(B)に示すように、投球評価が好投でない場合は、オブジェクト制御部112は移動タイミングを時点T1に決定する。一方、投球評価が好投である場合は、オブジェクト制御部112は移動タイミングを時点T2に決定する。この決定の詳細については後述する。
具体的には、本実施形態に係るオブジェクト制御部112は、基準タイミングとの差を決定することにより、移動タイミングを決定する。基準タイミングは例えば、投球されたボール(変化球)が変化を開始する時点、換言すれば、ボール投影オブジェクト606が、投影軌道上を移動し始めるタイミング(以下、変化開始時点)であってもよい。本実施形態では、図4の(C)に示すように、変化開始時点は時点T1であるが、この例に限定されるものではない。
ここで、移動タイミングの決定の詳細について、一例を説明する。オブジェクト制御部112は、投球データD1に含まれる投球内容からボールの軌道を特定する。そして、オブジェクト制御部112は、変化球である場合、特定したボールの軌道に基づいて、変化開始時点と、投影軌道とを特定する。
また、オブジェクト制御部112は、投球データD1に含まれる投球評価が、好投であるか否かを特定する。そして、オブジェクト制御部112は、移動タイミング判定テーブル121において、特定した結果に対応付けられている基準タイミングとの差を特定する。
図4に示す例では、オブジェクト制御部112は、投球評価が好投でなかった場合、基準タイミングとの差として「0」を特定する。一方、投球評価が好投であった場合、基準タイミングとの差として「+t」を特定する。
続いて、オブジェクト制御部112は、特定した基準タイミングとの差に基づいて、移動タイミングを決定する。図4に示す例では、投球評価が好投でなかった場合の基準タイミングとの差は「0」であるため、オブジェクト制御部112は、基準タイミングである時点T1を移動タイミングとして決定する。一方、投球評価が好投であった場合の基準タイミングとの差は「+t」であるため、オブジェクト制御部112は、図4の(C)に示すように、時点T1から時間tが経過した時点である時点T2を移動タイミングとして決定する。
また、オブジェクト制御部112は、打撃支援オブジェクト607の移動速度を決定する。該移動速度は、例えば、球速、投影軌道、移動タイミングに基づいて決定すればよい。そして、オブジェクト制御部112は、ボールが投球されてからの時間が、決定した移動タイミングに到達したとき、決定した移動速度で打撃支援オブジェクト607を移動させる。
以上のように、オブジェクト制御部112は、投球評価、および、移動タイミング判定テーブル121における基準タイミングとの差に基づいて、移動タイミングを決定する。なお、図4の(B)では、移動タイミングについての説明のために、移動タイミング判定テーブル121に「移動タイミング」のカラムを設けているが、該カラムは移動タイミング判定テーブルにおいて必須ではない。
図5は、投球評価が好投であった場合の、打撃支援オブジェクト607の移動の一例を示す画面遷移図である。図5の(A)に示す打撃画面600は、投手キャラクタ603がボールを投球したとき、すなわち、図4の(C)に示す時点T0における画面である。また、図5の(D)に示す打撃画面600は、投球されたボールが交差面に到達したとき、すなわち、図4の(C)に示す時点T3における画面である。図5の(B)および(C)は、時点T0からT3の間の時点における画面である。また、図示の例では、時点T1は、図5の(A)と(B)との間の時点であり、時点T2は、図5の(C)と(D)との間の時点であるものとして説明する。
投手キャラクタ603がボールを投球すると、オブジェクト制御部112は、投球データD1に含まれる投球コースに応じた位置に、ボール投影オブジェクト606および打撃支援オブジェクト607を配置する。そして、表示制御部116は、例えば、図5の(A)に示す画面を表示部152に表示させる。図5の(A)の例では、ボール投影オブジェクト606および打撃支援オブジェクト607は同位置に配置されている。
投手キャラクタ603が変化球を投球した場合、ボール投影オブジェクト606は、ボールの軌道の変化に合わせて、投影軌道上を移動する。図5の例では、投球された変化球はカーブであるため、打撃画面が遷移するにつれて、ボール投影オブジェクト606は、打撃画面600の右下方向へ移動している。一方、図5の(B)および(C)に示す画面では、ボールが投球されてからの時間が時点T2に到達してないため、打撃支援オブジェクト607は移動しない。すなわち、図示の例では、投球評価が好投であった場合、ボール投影オブジェクト606が移動する一方、打撃支援オブジェクト607が移動しないという状況が発生する。
図5の(C)に示す画面を表示した後、ボールが投球されてからの時間が時点T2に到達すると、打撃支援オブジェクト607は投影軌道上を移動する。このとき、打撃支援オブジェクト607は、ボールが交差面に到達したときにボール投影オブジェクト606と重畳するように、投影軌道上を移動する。図示の例では、打撃支援オブジェクト607は、ボール投影オブジェクト606と同様に打撃画面600の右下方向へ移動し、図5の(D)に示す時点で、ボール投影オブジェクト606と重畳する。
これに対して、図6は、投球評価が好投以外であった場合の、打撃支援オブジェクト607の移動の一例を示す画面遷移図である。図6の(A)〜(D)に示す打撃画面600はそれぞれ、図5の(A)〜(D)と同じ時点における画面である。なお、図6の(A)は図5の(A)と同一であるため、ここでの説明を省略する。
図6の(A)に示す画面を表示した後、ボールが投球されてからの時間が時点T1に到達する。これにより、図6の(B)〜(D)に示すように、打撃支援オブジェクト607が移動する。なお、図6では、ボール投影オブジェクト606と打撃支援オブジェクト607とは、配置されたときの位置関係、すなわち、ボール投影オブジェクト606の中心と、打撃支援オブジェクト607の中心とが一致する位置関係を維持したまま移動している。ただし、この例に限定されず、ボール投影オブジェクト606と打撃支援オブジェクト607とは、配置されたときの位置関係からずれた状態で移動してもよい。
以上のように、投球評価が好投であった場合、打撃支援オブジェクト607は、投球評価が好投でなかった場合に比べて、移動の開始が遅くなる。また、打撃支援オブジェクト607は、ボールが交差面に到達したときにボール投影オブジェクト606と重畳して停止するため、投球評価が好投であった場合、移動開始の位置から停止する位置までの移動速度が速くなる。これにより、打撃側ユーザは、ミートカーソル604の位置を打撃支援オブジェクト607の位置に合わせることが困難となる。よって、投球評価が好投であった場合、打撃側ユーザにとってボールを打撃しづらい状況となる。また、ボールを打撃することができたとしても、ミートカーソル604の中心604aと、ボール投影オブジェクト606の中心とを合わせることが難しくなるため、ボールをジャストミートすることが困難となる。
(野球ゲームの処理フローチャート)
図7は、野球ゲームを実行する打撃側ユーザ端末100Aおよび投球側ユーザ端末100Bの処理の流れを示す図である。同図には示されていないが、両ユーザ端末間の該ゲームの実行に係る通信は、サーバ200を介して行われる。
投球側ユーザ端末100Bは、表示部152に、投球画面を表示して、ユーザ(第2ユーザ)からの投球操作(第2操作)を受け付ける(ステップS201)。投球操作が入力部151に対して実施されると、投球側ユーザ端末100Bは、該投球操作に基づき、ボール(移動体)の移動経路の算出に必要な情報を特定し、該投球操作にしたがって投手キャラクタ603に行わせた投球に対する投球評価を特定する(ステップS202)。投球側ユーザ端末100Bは、該情報(球種、コースなどの投球内容)および投球評価を含む投球データD1を打撃側ユーザ端末100Aに対して送信する(ステップS203)。投球側ユーザ端末100Bは、投球データD1に基づいて投球から打撃前までのアニメーションを生成する。そして、投球側ユーザ端末100Bは、打撃側ユーザ端末100Aから打撃データD2を受け取るまでの間、生成されたアニメーションを再生し、表示部152に表示する(ステップS104)。
一方、打撃側ユーザ端末100Aの制御部110が、投球データD1を受信すると(ステップS101)、投球データ解析部111は、投球データD1を解析し、解析結果をオブジェクト制御部112へ出力する。打撃側ユーザ端末100Aは、投球側ユーザ端末100Bから投球データD1を受信したときに、投球データD1の受信通知を投球側ユーザ端末100Bに送信してもよい。オブジェクト制御部112は、解析結果、具体的には、投球データD1に含まれる投球内容に基づいてボールの軌道を特定する(S102)。オブジェクト制御部112は、投球データD1に含まれる投球評価に基づいて、打撃支援オブジェクト607の移動タイミングを決定する(S103)。また、オブジェクト制御部112は、打撃支援オブジェクト607の移動速度を決定する。
アニメーション生成部115は、投球データD1に基づいて、打撃画面600に表示される、投球から打撃前までのアニメーションを生成する。例えば、アニメーション生成部115は、投手キャラクタ603の投球動作のアニメーション、および、特定した軌道を進むボールのアニメーションを生成する。表示制御部116は、該アニメーションと共に、ボール投影オブジェクト606および打撃支援オブジェクト607を表示部152に表示させる(S104)。
アニメーション生成部115は、オブジェクト制御部112が特定した軌道に応じて、該軌道から特定される投影軌道上をボール投影オブジェクト606が移動するアニメーションを生成する。表示制御部116は、該アニメーションを表示部152に表示させる(S105)。
また、アニメーション生成部115は、打撃支援オブジェクト607が投影軌道上を、決定した移動速度で移動するアニメーションを生成する。表示制御部116は、ボールが投球されてからの時間が移動タイミングに到達するまで待機する(S106)。移動タイミングに到達したとき(S106でYES)、表示制御部116は、打撃支援オブジェクト607が移動するアニメーションを表示部152に表示させる(S107)。
なお、打撃支援オブジェクト607の移動速度は、ボールが交差面に到達したときに、ボール投影オブジェクト606と打撃支援オブジェクト607とが重畳する速度となるように決定されている。また、図示のフローチャートでは、図5の例、すなわち、ボール投影オブジェクト606が移動を開始した後に、打撃支援オブジェクト607が移動を開始する例を示している。そのため、ステップS106およびS107を、ステップS105より後の処理として記載している。しかしながら、ステップS106およびS107は、決定された移動タイミングによっては、ステップS105より前、またはステップS105と同時の処理となり得る。例えば、図6の例の場合、ボール投影オブジェクト606と打撃支援オブジェクト607の移動タイミングは同じであるため、ステップS105とステップS107とは同時に実行される。
操作受付部113は、ユーザ(第1ユーザ)による打撃操作(第1操作)を受け付ける(ステップS108)。ここで、ユーザの打撃操作の行いやすさは、打撃支援オブジェクト607の移動の影響を受けることになる。すなわち、打撃支援オブジェクト607に関して、投球側ユーザによって操作される投手キャラクタ603の投球が好投である場合、打撃側ユーザが不利となるように打撃支援オブジェクト607が移動し、好投以外である場合、打撃側ユーザが不利とならないように打撃支援オブジェクト607が移動する。例えば、好投である場合、打撃支援オブジェクト607は、ボール投影オブジェクト606より遅く移動を開始する(図5参照)。また例えば、好投以外である場合、打撃支援オブジェクト607は、ボール投影オブジェクト606と同時に移動を開始する(図6参照)。
打撃操作が入力部151を介して操作受付部113によって受け付けられると、打撃判定部114は、打撃判定を行う(ステップS109)。打撃判定とは、ミートカーソル604と、ボール投影オブジェクト606との交差面における位置関係に基づいて、打者キャラクタ601が振るバット602がボールに打撃を与えたか否かを判定すること、および、打撃を与えた場合には、打撃後のボールの移動経路を算出することである。打撃判定部114は、打撃後のボールの移動経路の算出に必要な情報(例えば、位置関係、打撃直後のボールの速度ベクトル、回転軸、回転量など)を、打撃判定によって取得し、該情報を含む打撃データD2を生成する。
打撃判定部114は、通信IF13を介して、生成した打撃データD2を投球側ユーザ端末100Bに対して送信する(ステップS110)。打撃データD2は、必要に応じて安打種別(三塁打、ホームランなど)の情報を含んでいてもよい。打撃操作が受け付けられた後、アニメーション生成部115は、打撃データD2に基づいて、打撃以降のアニメーションを生成する。そして、表示制御部116は、生成されたアニメーションを再生して打撃画面600に表示させる(ステップS111)。
一方、投球側ユーザ端末100Bは、打撃側ユーザ端末100Aから打撃データD2を受信すると(ステップS205)、打撃データD2に含まれる情報に基づき、投球側ユーザ端末100Bにおいて描出される3次元仮想空間内の打撃後のボールの移動経路を算出する。そして、算出した移動経路に基づいて移動するボールのアニメーションを生成する。表示制御部116は、生成されたアニメーションを再生して、表示部152に表示させる(ステップS206)。
上述の構成および方法によれば、投球側ユーザ端末100Bでの操作内容、とりわけ、投球操作の巧拙に応じて、打撃側ユーザ端末100Aにおいて表示される打撃支援オブジェクト607の移動タイミングを変化させることができる。すなわち、移動が開始されるタイミングを変化させることができる。打撃支援オブジェクト607は、打撃側ユーザの打撃操作のし易さに影響を与える。したがって、投球側ユーザと打撃側ユーザとの両方の操作の巧拙を、勝敗(ここでは、安打が出るか否か)の決着に関わらせることができる。結果として、野球ゲームの興趣性を向上させることが可能となる。
〔変形例1〕
上述の例では、打撃支援オブジェクト607の移動タイミングを、投球側ユーザ端末100Bでの投球操作の巧拙に応じて決定していたが、該移動タイミングの決定に用いる情報は、投球操作の巧拙に限定されない。図8は、移動タイミングの決定に用いる移動タイミング判定テーブル121のその他の例を示す図である。
(移動タイミングの決定方法1)
例えば、打撃支援オブジェクト607の移動タイミングは、ボールの投球コースが、打者キャラクタ601の得意なコースであるか、苦手なコースであるかに応じて決定されてもよい。この場合、移動タイミング判定テーブル121は、図8の(A)に示すように、「投球評価」のカラムに代えて、「投球コース」のカラムを含む。
オブジェクト制御部112は、例えば、投球データD1に含まれる投球コースの情報と、打席に立っている打者キャラクタ601の投球コース別の得意不得意を示す情報とに基づいて、投球されたボールの投球コースを、打者キャラクタ601が得意であるか、または苦手であるかを特定する。オブジェクト制御部112は、特定した結果に応じて基準タイミングとの差を特定し、打撃支援オブジェクト607の移動タイミングを決定する。オブジェクト制御部112は、投球コースが打者キャラクタ601の得意なコースである場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定する。例えば、図8の(A)に示すように、移動タイミングを、ボール投影オブジェクト606が移動し始めるタイミング(変化開始時点)と同じ時点T1に決定する。一方、オブジェクト制御部112は、投球コースが打者キャラクタ601の苦手なコースである場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定する。例えば、図8の(A)に示すように、移動タイミングを、変化開始時点より遅い時点T2に決定する。
これにより、打者キャラクタ601の苦手なコースにボールを投球された場合、打撃操作の難易度が上がるため、苦手なコースにボールを投球された場合安打が出にくい、という状況を野球ゲームにおいて再現することができる。
なお得意不得意を示す情報は、野球ゲームで使用可能な打者キャラクタ601それぞれに関連付けられて、ゲーム情報132として記憶部120に記憶されていればよい。得意不得意を示す情報は、例えば、ストライクゾーンを3×3に区切った各小領域にボールが投球されたときの、各小領域における打者キャラクタ601の得意不得意を示す情報であってもよい。この例の場合、オブジェクト制御部112は、ボール投影オブジェクト606が表示される位置(以下、ボール表示位置)を含む小領域を特定することで、該小領域に関連付けられた得意不得意を示す情報を特定する。なお、変化球が投球された場合、ボール投影オブジェクト606の移動前後で、ボール表示位置を含む小領域が変わることが起こり得る。これについては、オブジェクト制御部112を、移動前のボール表示位置を含む小領域を特定する構成、または、移動後のボール表示位置を含む小領域を特定する構成のいずれかとしておけばよい。
各小領域における得意不得意は、例えば、各小領域にボールが投球されたときの打率が閾値以上であるか否かで決定されてもよい。各小領域における得意不得意を示す情報は固定であってもよいし、打撃の結果(安打であるか否か)による打率の変化に応じて変化してもよい。
(移動タイミングの決定方法2)
また例えば、打撃支援オブジェクト607の移動タイミングは、ボールの投球コースについて打撃側ユーザが行った予測の当否に応じて決定されてもよい。この場合、移動タイミング判定テーブル121は、図8の(B)に示すように、「投球評価」のカラムに代えて、「コース予測の当否」のカラムを含む。
表示制御部116は、ユーザの投球予測操作を受け付けるための予測入力UIを表示部152に表示させてもよい。予測入力UIは例えば、ストライクゾーンを、3×3の小領域に区切ったオブジェクトで構成されてもよい。各小領域は、識別してタッチ可能なように交差面に配置され、表示される。予測入力UIにより、ユーザは、自身が予測したコースに該当する小領域をタッチするだけでよく、簡単に、投球予測内容を打撃側ユーザ端末100Aに対して入力することができる。
表示制御部116は、投球側ユーザ端末100Bから投球データD1を受信するまでの間で、予測入力UIを表示する。すなわち、打撃側ユーザがコースを予測できるのは、投球側ユーザ端末100Bにおいて投手キャラクタ603が投球を実行するまでの間である。投球データ解析部111は、投球側ユーザ端末100Bから投球データD1を受信すると、投球データD1に含まれる投球内容と、取得した投球予測内容とを比較して、投球予測の当否を判定する。
オブジェクト制御部112は、投球データ解析部111から取得した予測の当否に基づいて、基準タイミングとの差を特定し、打撃支援オブジェクト607の移動タイミングを決定する。オブジェクト制御部112は、予測が当たっている場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定する。例えば、図8の(A)に示すように、移動タイミングを、ボール投影オブジェクト606が移動し始めるタイミング(変化開始時点)と同じ時点T1に決定する。一方、オブジェクト制御部112は、予測が外れている場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定する。例えば、図8の(A)に示すように、移動タイミングを、変化開始時点より遅い時点T2に決定する。
これにより、打者がバットをスイングする前に、投球コースを予想すること、いわゆる狙い球を絞ることを野球ゲームにおいて再現することができる。
(移動タイミングの決定方法3)
また例えば、打撃支援オブジェクト607の移動タイミングは、打者キャラクタ601または投手キャラクタ603に関連付けられた能力(スキル)と、試合の状況とに応じて決定されてもよい。この場合、移動タイミング判定テーブル121は、図8の(C)および(D)に示すように、スキルに対応付けられており、「投球評価」のカラムに代えて、「ランナー」のカラムを含む。なお以降、打者キャラクタ601または投手キャラクタ603にスキルが関連付けられていることを、「スキルを有している」と表現する。
オブジェクト制御部112は、打者キャラクタ601または投手キャラクタ603が、移動タイミング判定テーブル121に対応付けられたスキルを有している場合、該スキルが発動する条件を満たしているか否かを判定する。オブジェクト制御部112は、判定結果に応じて、基準タイミングとの差を特定し、打撃支援オブジェクト607の移動タイミングを決定する。
図8の(C)および(D)の例の場合、移動タイミング判定テーブル121に対応付けられたスキルはそれぞれ、投手キャラクタ603のスキルである「ピンチに強い」、および、打者キャラクタ601のスキルである「チャンスに強い」である。これらのスキルは例えば、得点圏(二塁または三塁)にランナーがいる場合に発動する。
オブジェクト制御部112は、投手キャラクタ603が「ピンチに強い」のスキルを有している場合において、得点圏にランナーがいない、すなわちスキルが発動する条件を満たしていない場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定する。例えば、図8の(C)に示すように、移動タイミングを、ボール投影オブジェクト606が移動し始めるタイミング(変化開始時点)と同じ時点T1に決定する。一方、オブジェクト制御部112は、得点圏にランナーがいる、すなわちスキルが発動する条件を満たしている場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定する。例えば、図8の(C)に示すように、移動タイミングを、変化開始時点より遅い時点T2に決定する。
また、オブジェクト制御部112は、打者キャラクタ601が「チャンスに強い」のスキルを有している場合において、得点圏にランナーがいる、すなわちスキルが発動する条件を満たしている場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定する。例えば、図8の(D)に示すように、移動タイミングを、ボール投影オブジェクト606が移動し始めるタイミング(変化開始時点)と同じ時点T1に決定する。一方、オブジェクト制御部112は、得点圏にランナーがいない、すなわちスキルが発動する条件を満たしていない場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定する。例えば、図8の(C)に示すように、移動タイミングを、変化開始時点より遅い時点T2に決定する。
これにより、野球ゲームの戦略性をより高めることができる。例えば、打者側ユーザは、得点圏にランナーがいる場合に、「ピンチに強い」のスキルを有している打者キャラクタ601を代打に出す、といった戦略を取ることで、打者側ユーザにとって有利な状況とすることができる。
なお、スキルは、野球ゲームで使用可能な打者キャラクタ601または投手キャラクタ603それぞれに関連付けられて、ゲーム情報132として記憶部120に記憶されていればよい。すなわち、オブジェクト制御部112は、ゲーム情報132を参照することで、マウンドにいる投手キャラクタ603、および打席に立っている打者キャラクタ601のスキルの有無、および有しているスキルの種類を特定することができる。
また、スキルは図示のものに限定されない。図示の例では、スキルが発動することによって、スキルを有しているキャラクタが有利になるものを例に挙げて説明したが、発動することによってスキルを有しているキャラクタが不利になるもの(例えば、「チャンスに弱い」など)であってもよい。
図示の例では、スキルと試合状況とに応じて移動タイミングを決定したが、オブジェクト制御部112は、試合状況に依らず発動するスキルをキャラクタが有している場合、スキルのみに応じて移動タイミングを決定してもよい。また、スキルに代えて、キャラクタに関連付けられた数値、例えば、キャラクタの各種パラメータ、または、キャラクタのレベルなどに応じて移動タイミングを決定してもよい。後者の場合、例えば、オブジェクト制御部112は、打者キャラクタ601のレベルが投手キャラクタ603のレベルより高い場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定する。一方、オブジェクト制御部112は、打者キャラクタ601のレベルが投手キャラクタ603のレベルより低い場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定する。
また、オブジェクト制御部112は、試合状況のみに応じて、移動タイミングを決定してもよい。例えば、オブジェクト制御部112は、打者キャラクタ601の所属するチームが負けている場合、移動タイミングを、打撃側ユーザが不利とならないようなタイミングに決定してもよい。一方、オブジェクト制御部112は、打者キャラクタ601の所属するチームが勝っている場合、移動タイミングを、打撃側ユーザが不利となるようなタイミングに決定してもよい。
これにより、負けているユーザ側のチームに得点が入りやすくなり、勝っている側のチームに得点が入りにくくなる。よって、どちらが勝つか予想できない状況を作ることができ、ゲームの興趣性を向上させることができる。
なお、オブジェクト制御部112は、実施形態1および変形例1にて説明した複数の情報を用いて、打撃側ユーザと投球側ユーザの何れが有利であるかを判定してもよい。この場合、オブジェクト制御部112は、例えば、複数の情報それぞれを用いた、複数の判定を行う。そして、オブジェクト制御部112は、該複数の判定の結果、有利と判定された回数が多いユーザを、最終的に有利なユーザとして判定する。例えば、オブジェクト制御部112は、投球評価、投球コースが打者キャラクタの得意なコースであるか否か、並びに、スキルおよび試合状況のそれぞれを用いた判定を行ってもよい。この判定において、例えば、投球評価が好投であり、投球コースが打者キャラクタの得意なコースであり、得点圏にランナーがいる状況で打者キャラクタが「チャンスに強い」のスキルを有している場合を考える。この場合、投球側ユーザが有利と判定された回数は1回であり、打撃側ユーザが有利と判定された回数は2回であるため、オブジェクト制御部112は、打撃側ユーザが有利と判定し、移動タイミングを時点T1に決定する。また例えば、複数の情報による判定結果それぞれを用いる場合、各判定結果に重み付けを行ってもよい。
〔変形例2〕
打撃側ユーザが不利とならないような移動タイミングは、ボール投影オブジェクト606が移動し始めるタイミング(変化開始時点)と同じ時点T1に限定されない。図9は、打撃支援オブジェクト607の移動の他の例を示す画面遷移図である。図9の(A)に示す打撃画面600は、投手キャラクタ603がボールを投球したとき、すなわち、図4の(C)に示す時点T0における画面である。また、図9の(D)に示す打撃画面600は、投球されたボールが交差面に到達したとき、すなわち、図4の(C)に示す時点T3における画面である。図9の(B)および(C)は、時点T0からT3の間の時点における画面である。なお、変化開始時点は、図9の(B)と(C)との間の時点である。
移動タイミング判定テーブル121において、打撃側ユーザが不利とならないような移動タイミングに対応付けられている状況の場合、該移動タイミングは、基準タイミングより早い時点であってもよい。なお、該状況は例えば、投球評価が好投以外である、投球コースが打者キャラクタ601の得意コースである、コース予測が当たった、などである。
この場合、例えば、図4に示す移動タイミング判定テーブル121の「基準タイミングとの差」のカラムにおいて、「0」に代えて「−t」が含まれ、「好投以外」と対応付けられている。これにより、オブジェクト制御部112は、基準タイミングより早い時点を移動タイミングとして決定することができる。これにより、例えば図9の(B)に示すように、ボール投影オブジェクト606が移動を開始する前、すなわち変化開始時点より前に、打撃支援オブジェクト607は移動を開始する。よって、打撃側ユーザは、ミートカーソル604の位置を打撃支援オブジェクト607の位置に容易に合わせることができる。結果として、打撃側ユーザにとってボールを打撃しやすい状況となる。
また、投球コースが打者キャラクタ601の得意コースであったり、コース予測が当たったりした場合に、変化開始時点より前に打撃支援オブジェクト607を移動させる構成とすれば、得意コースや、予想したコースに投球された場合に安打が出やすい、という状況を、野球ゲームにおいてより忠実に再現することができる。
〔その他の変形例〕
上述の例では、移動タイミングの候補はT1またはT2の2つであったが、移動タイミングの候補は3つ以上であってもよい。例えば、投球評価が好投である場合、移動タイミングがT2に決定され、投球評価が好投でも失投でもない場合、移動タイミングがT1に決定され、投球評価が失当である場合、移動タイミングが変化開始時点より前の時点に決定されてもよい。
また、上述の例では、ボール投影オブジェクト606および打撃支援オブジェクト607は、ボールの投球と同時に表示され、投影軌道上を始点から終点までを移動するものとして説明したが、この例に限定されない。ボール投影オブジェクト606および打撃支援オブジェクト607の少なくとも一方が、ボールが投球されてから、ボールが交差面に到達するまでの所定のタイミングで表示される構成であってもよい。この例の場合、ボール投影オブジェクト606および打撃支援オブジェクト607の少なくとも一方は、投影軌道の一部のみを移動することとなる。また、ボール投影オブジェクト606は、ボールが交差面に到達するまで表示されなくてもよい。例えば、ボール投影オブジェクト606は、ボールが、交差面より投手側に設定された所定位置に到達したときに、非表示となってもよい。
また、打撃支援オブジェクト607は、スイングのタイミングをユーザに対して示唆する機能を有していてもよい。例えば、打撃支援オブジェクト607における円の大きさは、表示された時点で最も大きく設定され、移動後に停止するとき、すなわち、ボールが交差面に到達したときに最も小さく(例えば、ボール投影オブジェクト606と同じ大きさに)設定される。打撃支援オブジェクト607は、表示された位置から移動するにつれて中心に向かって小さくなるように描出される。打撃支援オブジェクト607が徐々に小さくなるアニメーションは、アニメーション生成部115によって生成される。打撃側ユーザは、打撃支援オブジェクト607の大きさを核にすることにより、打撃操作を入力するベストタイミングを知ることができる。例えば、打撃側ユーザは、打撃支援オブジェクト607が徐々に小さくなり、ボール投影オブジェクト606と大きさが一致したときをベストタイミングと認識すればよい。
〔ソフトウェアによる実現例〕
ユーザ端末100の制御ブロック(特に、制御部110が含む各ブロック)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、ユーザ端末100は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)がプログラムを記録媒体から読み取って実行することにより、本発明の目的が達成される。記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータに供給されてもよい。なお、本発明の一態様は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) プロセッサ(10)、メモリ(11)、操作部(151)および表示部(152)を備える第1コンピュータ(打撃側ユーザ端末100A)により実行されるゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、第1コンピュータの第1ユーザ(打撃側ユーザ)の対戦相手(投球側ユーザ、コンピュータ)が移動体(ボール)をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作(打撃操作)を入力することによって進行する。ゲームプログラムは、プロセッサに、第1位置から第2位置へ移動する移動体の軌道を特定するステップ(ステップS102)と、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクト(打撃支援オブジェクト607)を表示させるステップ(S104、S107)と、を実行させる。オブジェクトを表示させるステップでは、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。上記の構成によれば、第1ユーザと、対戦相手とのいずれが有利であるかに応じて、オブジェクトの移動開始のタイミングが変わるので、状況に応じて、移動体に作用を与える操作の難易度が変わる。これにより、ゲームの興趣性を向上させることができる。
(項目2) (項目1)において、オブジェクトを表示させるステップでは、対戦相手が有利であると判定された場合、第1ユーザが有利であると判定された場合に比べて、オブジェクトの移動を開始させるタイミングを遅くしてもよい。オブジェクトは移動体が交差面に到達するタイミングで移動体と重畳するように移動するので、遅く移動を開始する分、移動速度が速くなる。よって、第1ユーザが移動体に作用を与える操作の難易度が上がり、結果として、ゲームの興趣性を向上させることができる。
(項目3) (項目1)または(項目2)において、ゲームプログラムは、プロセッサに、第1位置と交差面との間を移動している移動体を交差面に投影した投影位置(ボール投影オブジェクト606)を表示させるステップ(ステップS105)をさらに実行させてもよい。これにより、第1コンピュータの表示部には、オブジェクトと投影位置とが少なくとも表示される。オブジェクトは、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで移動を開始する一方、投影位置は移動体の軌道が変化するタイミングで移動を開始する。よって、判定結果によっては、オブジェクトが移動を開始するタイミングと投影位置が移動を開始するタイミングとがずれることとなる。よって、第1ユーザは、状況に応じて、移動開始のタイミングがずれたオブジェクトと投影位置とを視認しながら第1操作を行うこととなる。結果として、移動体に作用を与える操作の難易度が変わり、ゲームの興趣性を向上させることができる。
(項目4) (項目3)において、オブジェクトを表示させるステップでは、対戦相手が有利であると判定された場合、投影位置が投影軌道上で移動を開始するタイミングより、オブジェクトの移動を開始させるタイミングを遅くしてもよい。これにより、対戦相手が有利である場合、投影位置が移動しても、オブジェクトが移動しないという状況が発生する。よって、第1ユーザが移動体に作用を与える操作の難易度が上がり、結果として、ゲームの興趣性を向上させることができる。
(項目5) (項目1)から(項目4)までの何れか一項目において、ゲームでは、対戦相手である、第2コンピュータ(投球側ユーザ端末100B)の第2ユーザ(投球側ユーザ)が、第2操作(投球操作)を入力することにより移動体の移動が開始され、第1ユーザと対戦相手とのいずれが有利であるかは、第2操作が適切なタイミングで入力されたか否かに基づいて判定されてもよい。これにより、オブジェクトの移動開始のタイミングは、第2操作の巧拙に応じて決定される。結果として、第2操作の巧拙が、移動体に作用を与える難易度に影響を与えることとなり、ゲームの興趣性をより一層向上させることができる。
(項目6) (項目1)から(項目5)までの何れか一項目において、ゲームでは、移動開始キャラクタ(投手キャラクタ603)が移動体を移動させ、作用付与キャラクタ(打者キャラクタ601)が、第1操作に基づいて、移動開始キャラクタが移動させた移動体に対して作用を与えることによって進行し、第1ユーザと対戦相手とのいずれが有利であるかは、移動開始キャラクタおよび作用付与キャラクタの少なくとも一方に関連付けられた能力(スキル)および数値(レベル、パラメータ)の少なくとも一方に基づいて判定されてもよい。これにより、オブジェクトの移動開始のタイミングは、移動開始キャラクタおよび作用付与キャラクタが変わることで変化し得る。結果として、どの移動開始キャラクタおよび作用付与キャラクタを用いるかによって移動体に作用を与える難易度が変化し、ゲームの興趣性をより一層向上させることができる。
(項目7) (項目1)から(項目6)までの何れか一項目において、ゲームは、スポーツを題材としたゲームであり、第1ユーザと対戦相手とのいずれが有利であるかは、試合の状況に基づいて判定されてもよい。これにより、オブジェクトの移動開始のタイミングは、試合の状況に応じて決定される。結果として、試合の途中で移動体に作用を与える難易度が変化し、ゲームの興趣性をより一層向上させることができる。
(項目8) (項目1)から(項目7)までの何れか一項目において、ゲームプログラムは、プロセッサに、第1ユーザによる、移動体の移動先の予測を、移動体が移動を開始する前に第1ユーザにより入力される予測入力操作に基づいて取得するステップをさらに実行させ、第1ユーザと対戦相手とのいずれが有利であるかは、予測された移動先と実際の移動先との比較による予測の当否に基づいて判定されてもよい。これにより、オブジェクトの移動開始のタイミングは、第1ユーザによる移動体の移動先に係る予測の当否に応じて決定される。結果として、第1ユーザには、作用付与操作の巧拙だけでなく、状況に応じた、移動体の移動先の予測も必要となり、ゲームの興趣性をより一層向上させることができる。
(項目9) (項目1)から(項目8)までの何れか一項目において、ゲームでは、作用付与キャラクタ(打者キャラクタ601)が、第1操作に基づいて、移動する移動体に対して作用を与えることによって進行し、第1ユーザと対戦相手とのいずれが有利であるかは、移動体の移動先が、作用付与キャラクタに関連付けられた、作用を与えた結果が良好な結果となる可能性が高い移動先であるか否かに基づいて判定されてもよい。これにより、オブジェクトの移動開始のタイミングは、移動体の移動先が、作用付与キャラクタにとって、作用を与えた結果が良好な結果となる可能性が高い移動先であるか否かに応じて決定される。結果として、移動体に作用を与える難易度が、どの作用付与キャラクタを用いるかと、移動体の移動先とに基づいて変わることとなり、ゲームの興趣性をより一層向上させることができる。
(項目10) プロセッサ(10)、メモリ(11)、操作部(151)および表示部(152)を備える第1コンピュータが、ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、第1コンピュータの第1ユーザ(打撃側ユーザ)の対戦相手(投球側ユーザ、コンピュータ)が移動体(ボール)をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作(打撃操作)を入力することによって進行する。方法は、プロセッサが、第1位置から第2位置へ移動する移動体の軌道を特定するステップ(ステップS102)と、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクト(打撃支援オブジェクト607)を表示させるステップ(S104、S107)と、を含む。オブジェクトを表示させるステップでは、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。(項目10)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目11) ゲームプログラム(131)を記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100、打撃側ユーザ端末100A)の動作を制御する制御部(110)と、操作部(151)と、表示部(152)と、を備えた該情報処理装置について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、情報処理装置の第1ユーザ(打撃側ユーザ)の対戦相手(投球側ユーザ、コンピュータ)が移動体(ボール)をゲーム空間内において第1位置から第2位置へ移動させ、第1ユーザが移動体に対して作用を与えるための第1操作(打撃操作)を入力することによって進行する。制御部は、第1位置から第2位置へ移動する移動体の軌道を特定し、第1位置と第2位置との間に設定された交差面に軌道を投影した投影軌道上を移動するオブジェクトを表示させ、移動体が交差面に到達するタイミングでオブジェクトが移動体と重畳するように、投影軌道上で、所定位置から、第1ユーザと対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、オブジェクトの移動を開始させる。(項目11)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
1 ゲームシステム、2 ネットワーク、10、20 プロセッサ、11、21 メモリ、12、22 ストレージ、13、23 通信IF、14、24 入出力IF、15 タッチスクリーン(表示部)、100 ユーザ端末(第1コンピュータ、第2コンピュータ、情報処理装置)、100A 打者側ユーザ端末(第1コンピュータ、情報処理装置)、100B 打撃側ユーザ端末(第2コンピュータ)、110 制御部、111 投球データ解析部、112 オブジェクト制御部、113 操作受付部、114 打撃判定部、115 アニメーション生成部、116 表示制御部、120 記憶部、121 移動タイミング判定テーブル、131 ゲームプログラム、132 ゲーム情報、133 ユーザ情報、200 サーバ、600 打撃画面、601 打者キャラクタ(作用付与キャラクタ)、602 バット、603 投手キャラクタ(移動開始キャラクタ)、604 ミートカーソル、604a 中心、605 ホームベース、606 ボール投影オブジェクト(投影位置)、607 打撃支援オブジェクト(オブジェクト)、1010 物体、1020 コントローラ、1030 記憶媒体、D1 投球データ、D2 打撃データ、T0,T1,T2,T3 時点、t 時間

Claims (12)

  1. ゲームプログラムであって、
    前記ゲームプログラムは、プロセッサ、メモリ、操作部および表示部を備える第1コンピュータにより実行されるものであり、
    前記ゲームプログラムに基づくゲームは、前記第1コンピュータの第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、前記第1ユーザが前記移動体に対して作用を与えるための第1操作を入力することによって進行し、
    前記ゲームプログラムは、前記プロセッサに、
    前記第1位置から前記第2位置へ移動する前記移動体の軌道を特定するステップと、
    前記第1位置と前記第2位置との間に設定された交差面に前記軌道を投影した投影軌道上を移動する第1オブジェクトを表示させるステップと、
    前記第1位置と前記交差面との間の前記軌道上の前記移動体の移動に合わせて前記投影軌道上を移動する、第2オブジェクトを表示させるステップと、を実行させ、
    前記第1オブジェクトを表示させるステップでは、前記移動体が前記交差面に到達するタイミングで前記第1オブジェクトが前記移動体と重畳するように、前記投影軌道上で、所定位置から、前記第1ユーザと前記対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、前記第1オブジェクトの移動を開始させる、ゲームプログラム。
  2. 前記第1オブジェクトを表示させるステップでは、前記対戦相手が有利であると判定された場合、前記第1ユーザが有利であると判定された場合に比べて、前記第1オブジェクトの移動を開始させる前記タイミングを遅くする、請求項1に記載のゲームプログラム。
  3. 前記第1オブジェクトを表示させるステップでは、前記対戦相手が有利であると判定された場合、前記第2オブジェクトが前記投影軌道上で移動を開始するタイミングより、前記第1オブジェクトの移動を開始させる前記タイミングを遅くする、請求項1または2に記載のゲームプログラム。
  4. 前記第1オブジェクトを表示させるステップでは、前記判定結果に応じて、前記第1オブジェクトの移動速度を変化させる、請求項1から3のいずれか1項に記載のゲームプログラム。
  5. 前記第1オブジェクトを表示させるステップでは、前記第1オブジェクトが前記投影軌道上で移動を開始するタイミングを、前記判定結果と、前記第2オブジェクトが前記投影軌道上で移動を開始するタイミングとに応じて決定する、請求項1から4のいずれか1項に記載のゲームプログラム。
  6. 前記ゲームでは、前記対戦相手である、第2コンピュータの第2ユーザが、第2操作を入力することにより前記移動体の移動が開始され、
    前記第1ユーザと前記対戦相手とのいずれが有利であるかは、前記第2操作が適切なタイミングで入力されたか否かに基づいて判定される、請求項1からの何れか1項に記載のゲームプログラム。
  7. 前記ゲームでは、移動開始キャラクタが前記移動体を移動させ、作用付与キャラクタが、前記第1操作に基づいて、前記移動開始キャラクタが移動させた前記移動体に対して作用を与えることによって進行し、
    前記第1ユーザと前記対戦相手とのいずれが有利であるかは、前記移動開始キャラクタおよび前記作用付与キャラクタの少なくとも一方に関連付けられた能力および数値の少なくとも一方に基づいて判定される、請求項1からの何れか1項に記載のゲームプログラム。
  8. 前記ゲームは、スポーツを題材としたゲームであり、
    前記第1ユーザと前記対戦相手とのいずれが有利であるかは、試合の状況に基づいて判定される、請求項1からの何れか1項に記載のゲームプログラム。
  9. 前記プロセッサに、前記第1ユーザによる、前記移動体の移動先の予測を、前記移動体が移動を開始する前に前記第1ユーザにより入力される予測入力操作に基づいて取得するステップをさらに実行させ、
    前記第1ユーザと前記対戦相手とのいずれが有利であるかは、予測された前記移動先と実際の前記移動先との比較による予測の当否に基づいて判定される、請求項1からの何れか1項に記載のゲームプログラム。
  10. 前記ゲームでは、作用付与キャラクタが、前記第1操作に基づいて、移動する前記移動体に対して作用を与えることによって進行し、
    前記第1ユーザと前記対戦相手とのいずれが有利であるかは、前記移動体の移動先が、前記作用付与キャラクタに関連付けられた、作用を与えた結果が良好な結果となる可能性が高い移動先であるか否かに基づいて判定される、請求項1からの何れか1項に記載のゲームプログラム。
  11. ゲームプログラムを実行する方法であって、
    前記ゲームプログラムは、プロセッサ、メモリ、操作部および表示部を備える第1コンピュータにより実行されるものであり、
    前記ゲームプログラムに基づくゲームは、前記第1コンピュータの第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、前記第1ユーザが前記移動体に対して作用を与えるための第1操作を入力することによって進行し、
    前記方法は、前記プロセッサが、
    前記第1位置から前記第2位置へ移動する前記移動体の軌道を特定するステップと、
    前記第1位置と前記第2位置との間に設定された交差面に前記軌道を投影した投影軌道上を移動する第1オブジェクトを表示させるステップと、
    前記第1位置と前記交差面との間の前記軌道上の前記移動体の移動に合わせて前記投影軌道上を移動する、第2オブジェクトを表示させるステップと、を含み、
    前記第1オブジェクトを表示させるステップでは、前記移動体が前記交差面に到達するタイミングで前記第1オブジェクトが前記移動体と重畳するように、前記投影軌道上で、所定位置から、前記第1ユーザと前記対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、前記第1オブジェクトの移動を開始させる、方法。
  12. 情報処理装置であって、
    前記情報処理装置は、
    ゲームプログラムを記憶する記憶部と、
    前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部と、
    操作部と、
    表示部と、を備え、
    前記ゲームプログラムに基づくゲームは、前記情報処理装置の第1ユーザの対戦相手が移動体をゲーム空間内において第1位置から第2位置へ移動させ、前記第1ユーザが前記移動体に対して作用を与えるための第1操作を入力することによって進行し、
    前記制御部は、
    前記第1位置から前記第2位置へ移動する前記移動体の軌道を特定し、
    前記第1位置と前記第2位置との間に設定された交差面に前記軌道を投影した投影軌道上を移動する第1オブジェクトを表示させ、
    前記第1位置と前記交差面との間の前記軌道上の前記移動体の移動に合わせて前記投影軌道上を移動する、第2オブジェクトを表示させ、
    前記移動体が前記交差面に到達するタイミングで前記第1オブジェクトが前記移動体と重畳するように、前記投影軌道上で、所定位置から、前記第1ユーザと前記対戦相手とのいずれが有利であるかの判定結果に応じて決定されたタイミングで、前記第1オブジェクトの移動を開始させる、情報処理装置。
JP2017136613A 2017-07-12 2017-07-12 ゲームプログラム、方法、および情報処理装置 Active JP6404412B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017136613A JP6404412B1 (ja) 2017-07-12 2017-07-12 ゲームプログラム、方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017136613A JP6404412B1 (ja) 2017-07-12 2017-07-12 ゲームプログラム、方法、および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018169232A Division JP2019030674A (ja) 2018-09-10 2018-09-10 ゲームプログラム、方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP6404412B1 true JP6404412B1 (ja) 2018-10-10
JP2019017510A JP2019017510A (ja) 2019-02-07

Family

ID=63788172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017136613A Active JP6404412B1 (ja) 2017-07-12 2017-07-12 ゲームプログラム、方法、および情報処理装置

Country Status (1)

Country Link
JP (1) JP6404412B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220093860A (ko) * 2020-12-28 2022-07-05 삼성전자주식회사 이미지 프레임 처리 방법 및 이를 지원하는 전자 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015131041A (ja) * 2014-01-15 2015-07-23 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015131041A (ja) * 2014-01-15 2015-07-23 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム及びプログラム

Also Published As

Publication number Publication date
JP2019017510A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
JP6450875B1 (ja) ゲームプログラム、ゲーム方法、および情報処理装置
JP2019154944A (ja) ゲームプログラム、ゲームプログラムを実行する方法、および情報処理装置
JP6404412B1 (ja) ゲームプログラム、方法、および情報処理装置
JP6672401B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6496781B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6360872B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2019030674A (ja) ゲームプログラム、方法、および情報処理装置
JP6974261B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2018161513A (ja) ゲームプログラム、方法、および情報処理装置
JP6307651B1 (ja) ゲームプログラム、方法、および、情報処理装置
JP2019098163A (ja) ゲームプログラム、方法、および情報処理装置
US10463959B2 (en) Timing determination-type gaming device and method
TWI599388B (zh) 遊戲處理方法以及遊戲處理程式
US20220355189A1 (en) Game program, game method, and information processing device
JP2019181167A (ja) ゲームプログラム、方法、および情報処理装置
JP2020039521A (ja) ゲームプログラム、方法、および情報処理装置
JP6636491B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2020000734A (ja) ゲームプログラム、方法、および情報処理装置
JP6661595B2 (ja) ゲームプログラム、方法および情報処理装置
JP7337732B2 (ja) プログラム
JP2018187360A (ja) ゲームプログラム、方法、および、情報処理装置
JP6404376B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6480056B1 (ja) ゲームプログラム、方法、および情報処理装置
JP7252915B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6668425B2 (ja) ゲームプログラム、方法、および情報処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180912

R150 Certificate of patent or registration of utility model

Ref document number: 6404412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250