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

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

Info

Publication number
JP2018187360A
JP2018187360A JP2018042432A JP2018042432A JP2018187360A JP 2018187360 A JP2018187360 A JP 2018187360A JP 2018042432 A JP2018042432 A JP 2018042432A JP 2018042432 A JP2018042432 A JP 2018042432A JP 2018187360 A JP2018187360 A JP 2018187360A
Authority
JP
Japan
Prior art keywords
action
game
game program
moving object
user
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.)
Withdrawn
Application number
JP2018042432A
Other languages
English (en)
Inventor
佐藤 克則
Katsunori Sato
克則 佐藤
潤哉 福重
Junya Fukushige
潤哉 福重
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 JP2018042432A priority Critical patent/JP2018187360A/ja
Publication of JP2018187360A publication Critical patent/JP2018187360A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させる。【解決手段】ゲームプログラムは、プロセッサ(10)に、ボール(604)を打撃するための初回の打撃操作を受け付けるステップ(S107)と、再入力期間中に、ボール(604)を打撃するための再度の打撃操作を受け付けるステップ(S113)と、再度の打撃操作を受け付けた場合、該再度の打撃操作に基づいてボール(604)を打撃するか否かを判定するステップ(S115)とを実行させる。【選択図】図3

Description

本開示は、ゲームプログラム、ゲームを実行する方法、および、情報処理装置に関する
仮想的なゲーム空間内において、移動する移動オブジェクトに対して作用を与えて移動方向を変更させることによりゲームを進行させるゲームプログラムが、様々な事業者により提供されている。該ゲームの一例としては、たとえば、下記特許文献1および2に記載された野球ゲームが挙げられる。
特開2012−176053号公報(2012年9月13日公開) 特許第6050882号公報(2016年12月2日登録)
野球ゲームなどの現実世界を模したゲームでは、現実世界で起こり得る事象を仮想空間内で再現することで、ゲームの趣向性を向上させることが求められている。
本開示の一態様は、現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させることを目的とする。
本開示に係るゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームである。ゲームプログラムは、プロセッサに、移動オブジェクトを第1の位置から第2の位置まで移動させるステップと、作用を与えるためのユーザによる第1の操作を受け付けるステップと、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を、移動オブジェクトが越えるまでに、作用を与えるためのユーザによる第2の操作を受け付けるステップと、第2の操作を受け付けた場合に、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定するステップと、を実行させる。
本開示に係る方法は、プロセッサおよびメモリを備えるコンピュータが、ゲームプログラムを実行するための方法である。ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームである。該方法は、コンピュータが、移動オブジェクトを第1の位置から第2の位置まで移動させるステップと、作用を与えるためのユーザによる第1の操作を受け付けるステップと、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を、移動オブジェクトが越えるまでに、作用を与えるためのユーザによる第2の操作を受け付けるステップと、第2の操作を受け付けた場合に、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定するステップと、を、含む。
本開示に係る情報処理装置は、ゲームプログラムを記憶するように構成された記憶部と
、情報処理装置の動作を制御するように構成された制御部と、を備える。ゲームプログラ
ムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームである。制御部は、移動オブジェクトを第1の位置から第2の位置まで移動させ、作用を与えるためのユーザによる第1の操作を受け付け、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を、移動オブジェクトが越えるまでに、作用を与えるためのユーザによる第2の操作を受け付け、第2の操作を受け付けた場合に、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定する。
本発明の一態様によれば、現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させることができる、という効果を奏する。
ゲームシステムのハードウェア構成を示す図である。 ユーザ端末の機能的構成を示すブロック図である。 本実施形態に係るゲームシステムにおけるコンピュータによって実行される処理の流れを示すフローチャートである。 ユーザ端末の表示部において表示されるゲーム画面の一例を示す図である。 第1の打撃モーションおよび第2の打撃モーションの一例を説明する図である。
〔実施形態1〕
本開示に係るゲームを実行するゲームプログラム、方法および情報処理装置の具体例を含むゲームシステムについて、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
本開示に係るゲームは、移動する移動オブジェクトに作用を与えて移動方向を変更させるゲームである。本実施形態では、このようなゲームの一例として、主に野球ゲームについて説明する。すなわち、本実施形態にて説明するゲームは、投手が投げたボールに対して、打者が打撃する野球ゲームである。なお、投手が投げたボールは、本開示に係るゲームにおける「移動オブジェクト」の一例である。また、打者が打撃することは、本開示に係るゲームにおける「作用を与える」ことの一例である。
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1の構成を示す図である。ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200とを含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム、または、所定のアクセスポイントによってインターネットに接続可能な無線ネットワークを含み得る。各種移動通信システムとしては、たとえば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)等が挙げられる。また、無線ネットワークとしては、たとえば、WiFi(登録
商標)等が挙げられる。
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、または、タブレット型コンピュータ等の携帯端末であることがより好ましい。ユーザ端末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に記憶してもよいし、記憶媒体10
30から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17および測距センサ18のいずれか一方または両方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010(例えば、ユーザの手、予め定められた形状のマーカーなど)を検出し、当該物体の検出結果(検出した物体の色、形状、動き、種類等)から入力操作を特定する。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーション、パーソナルコンピュータ等の汎用コンピュータであることがより好ましい。ゲームサーバ200は、図示の通り、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。ゲームサーバ200が備えるこれらの構成は、通信バスにより互いに電気的に接続される。
<各装置のハードウェア構成要素>
プロセッサ10、20は、CPU(Central Processing Unit)やMPU(Micro processing unit)、GPU(Graphics Processing Unit)等を含んで構成される。プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、ゲームサーバ200全体の動作を制御する。メモリ11、21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等を含む主記憶装置によって構成される。ストレージ12、22は、フラッシュメモリまたはHDD(Hard Disk Drive)などの不揮発性メモリによ
って補助記憶装置として構成される。メモリ11には、プロセッサ10がストレージ12からロードした各種プログラムおよびデータが一時的に記憶される。メモリ21には、プロセッサ20がストレージ22からロードした各種プログラムおよびデータが一時的に記憶される。これによりメモリ11は、プロセッサ10に対して作業領域を提供する。メモリ21は、プロセッサ20に対して作業領域を提供する。
ゲームサーバ200のストレージ22には、ゲームプログラム等のゲームデータが格納される。ユーザ端末100のストレージ12には、ゲームサーバ200からダウンロードされたゲームプログラム等のゲームデータが格納される。当該ゲームプログラムは、メモリ11、21に展開される。プロセッサ10は、メモリ11に展開されるゲームプログラムを実行する。プロセッサ20は、メモリ21に展開されるゲームプログラムを実行する
。メモリ11には、プロセッサ10が当該ゲームプログラムにしたがって動作している間に生成した各種ゲームデータも一時的に格納される。メモリ21には、プロセッサ20が当該ゲームプログラムにしたがって動作している間に生成した各種ゲームデータも一時的
に格納される。本実施形態では、各種データは、所定のゲームプログラム、ユーザ情報およびゲーム情報等のゲームデータ、それらをユーザ端末100とゲームサーバ200との間に送受信させる指示、およびゲームを進行させるための指示を含む。
通信IF13、23は、ユーザ端末100とゲームサーバ200との間で各種データを送受信するための通信制御機能を備える。通信制御機能には、たとえば、無線LAN(Local Area Network)接続機能、有線LAN、無線LANおよび携帯電話回線網を介したインターネット接続機能ならびに近距離無線通信機能等が含まれる。
入出力IF14は、USB(Universal Serial Bus)等を介した各種データ入出力機能および音声入出力機能を備える。入出力IF24は、マウス、キーボード等の情報入力機器である入力部、および、液晶ディスプレイ等の出力部に接続され得る。入出力IF24に接続される入力部および出力部は、コンピュータの情報をモニタリングするために用いられる。
タッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、タッチセンシティブなデバイスであり、たとえば、タッチパッド等によって構成される。表示部152は、たとえば、液晶ディスプレイ、有機EL(electro-luminescence)ディスプレイ等によって構成される。入力部151は、タッチスクリーン15に対するユーザの指やスタイラスといった物体の接触または近接を検知し、操作入力として受け付ける。入力部151は、当該操作入力に含まれるユーザの作用(主に、タッチ操作、スワイプ操作、フリック操作、およびタップ操作等の物理的接触操作)が入力された画面位置の情報を検知して、該情報を外部へ情報信号として出力する機能を備える。タッチスクリーン15は、タッチセンシティブであればよく、静電容量方式、抵抗膜方式等のどのような方式のデバイスを含んで構成したものであってもよい。
図示していないが、ユーザ端末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の撮影画像によるユーザの手の検出結果において、ユーザが指をはじくようなジェスチャを検出した場合に、マウスのクリック、タッチパネルへのタップ操作に対応する処理をすることとしてもよい。
<ユーザ端末100の機能的構成>
図2は、ユーザ端末100の機能的構成を示す図である。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、入出力IF14、およびタッチ
スクリーン15等の協働により、制御部110および記憶部120として機能し得る。記憶部120に格納されたゲームプログラムは主記憶上に展開され、制御部110において実行される。制御部110は、当該ゲームプログラムによって、操作受付部111、オブジェクト制御部112、オブジェクト位置判定部113、操作タイミング判定部114、モーション画像生成部115、および表示制御部116として機能し得る。なお、主記憶上には、制御部110が当該プログラムにしたがって動作している間に生成した各種ゲームデータや制御部110によって利用される各種ゲームデータも一時的に格納される。記憶部120には、制御部110が前述した各部として機能するために必要なデータが記憶されている。当該データとしては、たとえば、ゲームプログラム、ゲーム情報、ユーザ情報が含まれる。ゲーム情報としては、ゲームで用いられる各種オブジェクトを管理するオブジェクト管理テーブル、ゲームに登場するキャラクタの各種スキルを管理するスキル管理テーブル、各キャラクタのモーションを定義するためのモーションデータ等が挙げられる。ユーザ情報としては、ユーザ管理テーブル等が挙げられる。
制御部110は、ユーザ端末100全体の動作を制御し、各要素間におけるデータの送受信、ゲームの実行に必要な演算処理およびその他の処理を行う。制御部110は、たとえば、操作受付部111で検知されたタッチスクリーン15に対する操作入力に基づいて、ゲームプログラムに従ったゲームを展開させ、その結果を示すゲーム画像を描画する。制御部110は、ゲームサーバ200から受信したユーザ情報、ゲームプログラムによる演算結果、ユーザの入力部151に対する作用に基づいて、表示部152に表示されるゲーム空間およびオブジェクト等の画像を生成する。また、制御部110は、タッチスクリーン15に対する操作入力に基づいて、ゲーム空間内におけるオブジェクトを操作する。また、制御部110は、タッチスクリーン15に対する操作入力および演算処理の結果等に基づいて、記憶部120に記憶されている各種データの更新等の処理を行う。なお、制御部110は、ゲームの進行状態に応じて、ゲーム空間の視野を指定するための仮想カメラの位置を制御する処理を行ってもよい。また、制御部110は、記憶部120に記憶された各種ユーザ情報およびゲーム情報を参照し、ゲーム進行に必要な各種判定を実行する。また、制御部110は、演算処理およびその他の処理を実行することにより生成したゲーム画面を表示部152に出力する。
操作受付部111は、タッチスクリーン15の入力部151に対するユーザの操作を検知する。操作受付部111は、入力部151およびその他の入出力IF14を介したコンソールによる操作指示等から、いかなる入力がなされたかを判別し、その結果をオブジェクト位置判定部113、モーション画像生成部115等の必要な要素に出力する。操作受付部111は、入力部151に対する操作入力がなされた場合には、入力位置の座標情報、操作の種類(タッチ操作、スライド操作)を検知する。操作受付部111は、連続して検知されていた入力が途切れることを検知することで、タッチスクリーン15から接触入力が解除されたことを検知する。
操作受付部111は、タッチスクリーン15に対するユーザの操作を判別することができる。判別する操作の種類としては、たとえば、タッチオン操作、タッチオフ操作、スワイプ操作、スライド操作、フリック操作、およびその他の操作が挙げられる。タッチオン操作は、タッチスクリーン15に対する物体の接触または近接による操作入力を開始させる操作である。タッチオフ操作は、タッチスクリーン15に対する物体の接触または近接を解除することによって、タッチスクリーン15への操作入力を解除する操作である。スワイプ操作は、タッチオン操作に引き続いて入力され、タッチスクリーン15に対する物体の接触または近接を維持した状態で、当該物体をタッチスクリーン15上で移動させる操作である。スライド操作は、ユーザがスワイプ操作を予め定められた時間よりも短い時間で行う操作である。フリック操作は、ユーザがスライド操作後にタッチオフ操作を行う操作であり、たとえば、ユーザがタッチスクリーン15で指を弾くような操作である。
オブジェクト制御部112は、ユーザによる操作入力、および/または、ゲームプログラムに基づいて、ゲーム空間に配置された各種オブジェクトを制御する。ゲーム空間に配置されるオブジェクトとしては、たとえば、図4に示すように、打者601(キャラクタ)、バット602、投手603(キャラクタ)、ボール604(移動オブジェクト)、ミートカーソル606(作用領域)等がある。
オブジェクト位置判定部113は、ボール604およびミートカーソル606等の各種オブジェクトについて、ゲーム空間内における位置を判定する。たとえば、オブジェクト位置判定部113は、ボール604が、図3に示したストライクゾーン605又はボールゾーン608内のいずれの位置に到達するかを判定する。また、オブジェクト位置判定部113は、到達したボール604の位置とミートカーソル606の位置との位置関係を特定する。
操作タイミング判定部114は、操作受付部111によって受け付けられる操作のタイミングが、当該操作を入力可能な期間中であるか否かを判定する。
モーション画像生成部115は、オブジェクト制御部112による、ボール604およびミートカーソル606等の各オブジェクトの制御態様に基づいて、各オブジェクトのモーションを示す画像を生成する。たとえば、モーション画像生成部115は、ミートカーソル606の制御態様に基づいて、打者601が振るバット602や、打者601のモーションに対応するアニメーションを生成してもよい。
表示制御部116は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。該ゲーム画面には、たとえば、モーション画像生成部115によって生成された、ミートカーソル606、バット602、ボール604等のアニメーションが含まれる。
<ゲームシステムの処理の態様例>
図3は、ゲームシステム1の動作の一例を示すフローチャートである。図4は、ゲームシステム1によって生成される、野球ゲームのゲーム画面の一例である。図4において、ゲーム空間としての球場における一場面が示されている。本場面は、打撃画面600を示しており、投手603が立っている位置(第1の位置)から捕手(図示せず)のいる位置(第2の位置)まで投手603がボール604を投球して、打者601がボール604に対する打撃を行う場面が示されている。
球場における第1の位置と第2の位置との間に、ホームベース607が配置されている。表示制御部116は、ホームベース607上に、第1の位置から第2の位置までの経路に交差する交差面を表示させる。交差面は、第1の位置から第2の位置へと移動するように表示されるボール604が、ボール604に作用を与えることができる領域(第1の範囲)にある場合に、ボール604に作用を与えるか否かを判定する範囲である。本実施の形態では、第1の範囲が示す領域は、交差面から第1の位置に延びる範囲の領域として設定されるものとする。図4の例では、交差面は、ストライクゾーン605と、ストライクゾーン605の外側に配置されるボールゾーン608とを含む。
操作受付部111は、ボール604が投球された後のタッチスクリーン15に対する初回の打撃操作(第1の操作)を受け付ける。また、操作受付部111は、初回の打撃操作に続いて、再度の打撃操作(第2の操作)を受け付け可能である。ただし、再度の打撃操作に基づきゲームを進行させるか否かは、操作タイミング判定部114によって、再度の打撃操作のタイミングに基づいて決定される。打撃操作とは、打者601にボール604
を打撃させるための操作のことである。本実施形態では、打撃操作は、タッチスクリーン15に対するタッチ操作である。たとえば、打撃操作は、タップ操作またはフリック操作であってもよい。また、操作受付部111は、タッチスクリーン15上のいかなる位置に対して行なわれたこのような操作も、打撃操作として受け付ける。したがって、ユーザは、タッチスクリーン15上の任意の位置に、打撃操作を行うことができる。
操作タイミング判定部114は、再度の打撃操作が入力されたタイミングが、再度の打撃操作を入力可能な再入力可能期間中であるか否かを判定する。再入力可能期間は、初回の打撃操作を受け付けてから、ボール604が上述した第1の範囲を越えるまでである。ここで、本実施形態では、前述したように、第1の範囲が示す領域は、交差面から第1の位置に延びる範囲の領域として設定される。したがって、本実施の形態では、再入力可能期間は、初回の打撃操作を受け付けてから、ボール604が交差面を越えるまでの期間である。
オブジェクト制御部112は、交差面に基づいて、打者601がボール604を打撃したか否かを判定する。操作受付部111が、投手603が投球したボール604が交差面に到達したタイミングで、ユーザからの打撃操作を受け付けると、打者601は、バット602をスイングすることによって、ボール604を打ち返す作用をボール604に及ぼすことができる。
オブジェクト制御部112は、交差面にミートカーソル606を設定する。ミートカーソル606は、作用をボール604に及ぼすか否かを判定するための領域である。言い換えると、ミートカーソル606は、ボール604に打撃を与えるか否かの打撃判定が行われる領域である。表示制御部116は、ミートカーソル606を表示する。
オブジェクト制御部112は、打撃操作に応じて、打者601に打撃モーションを行わせるよう制御する。このとき、オブジェクト制御部112は、初回の打撃操作に応じた打撃モーション(第1のモーション)と、再度の打撃操作に応じた打撃モーション(第2のモーション)とを異ならせてもよい。図5(a)は、第1の打撃モーションの一例を示す図である。図5(b)は、第2の打撃モーションの一例を示す図である。この例では、第2の打撃モーションは、第1の打撃モーションと比較して、よろけながら何とかスイングしている様子を表している。これにより、打者がボールを打撃し直そうとしてスイングが崩れる様子を、野球ゲームに反映することができる。
オブジェクト制御部112は、ボール604に与える作用量を決定する。なお、作用量とは、ボール604に与えられる作用の大きさをいう。本実施形態において、作用量は、ボール604に与えられる初速度を定義する速度ベクトルである。
オブジェクト制御部112は、ボール604に与える速度ベクトルを、ミートカーソル606の所定位置から、ボール604と交わるミートカーソル606中の位置までの距離に応じて決定する。さらに、オブジェクト制御部112は、ボール604に与える速度ベクトルを決定する際に、ボール604に与えられる打撃が初回の打撃操作に基づくものであるか、再度の打撃操作に基づくものであるかを考慮する。
図3に示すとおり、ステップS101において、メインメニュー画面(不図示)でユーザが野球ゲームの実行を指示すると、制御部110は、野球ゲームを開始する。制御部110は、各種オブジェクトのゲームデータを記憶部120に記憶させる。必要なゲームデータが記憶部120に記憶されていない場合には、制御部110は、ゲームサーバ200からダウンロードする。各種オブジェクトのゲームデータは、たとえば打者601、バット602、投手603、ミートカーソル606、ホームベース607等の各種オブジェク
トに関するデータが含まれる。
ステップS102において、制御部110は、記憶部120から各種オブジェクトのゲームデータをロードし、図4に示されるような打者601、バット602、投手603、ミートカーソル606、ホームベース607等を含む打撃画面600を表示部152に表示させる。なお、制御部110は、ストライクゾーン605およびボールゾーン608を表示部152に表示させなくてもよい。また、制御部110は、ストライクゾーン605のみを表示部152に表示させてもよい。
ステップS103において、制御部110は、表示部152の打撃画面600中に、投手603による投球動作を表示させる。制御部110は、投手603による投球動作が開始された後所定のタイミングで、第1の位置から第2の位置への移動するようにボール604を表示部152に表示させる。制御部110は、投手603による投球動作が開始された後所定のタイミングで、さらに、ストライクゾーン605またはボールゾーン608内にボール604の到達予定位置を示す表示を描画する。投手603が投球動作を開始するタイミングは、たとえば、ユーザ端末100を操作するユーザがインターネットを介して別のユーザと対戦する場合には、当該別のユーザが操作する他のユーザ端末100から送信される投球開始指示に基づけばよい。また、コンピュータ制御による仮想の相手とユーザが対戦する場合には、ゲームプログラムによって適宜設定されたタイミングであればよい。
ステップS104において、制御部110は、ボール604に打撃を与える目安位置となるミートカーソル606を表示する。たとえば、制御部110は、ボール604の到達予定位置を表示部152に表示させた後、ミートカーソル606を半透明に表示させて、ボール604の到達予定位置の表示を遮ることがないようにする。
また、操作受付部111は、ユーザによる入力部151に対する移動操作を受け付ける。移動操作とは、ミートカーソル606を移動させるための操作である。本実施形態では、移動操作はスワイプ操作である。制御部110は、移動操作に基づいて、ミートカーソル606を移動させる。操作受付部111は、タッチスクリーン15の任意の位置における移動操作を受け付けることができる。具体的には、操作受付部111は、タッチスクリーン15に対するユーザの最初の接触位置(初期タッチ座標)と、移動操作後の接触位置(タッチナウ座標)とを比較し、初期タッチ座標に対するタッチナウ座標の変化方向、および、変化量に基づいて、ミートカーソル606の位置の変化方向、および、変化量をそれぞれ決定する。これにより、オブジェクト制御部112は、ミートカーソル606が表示されている領域とは異なる領域における移動操作に対しても、それに連動して、ミートカーソル606を間接的に移動させることができる。このようにすれば、ユーザの指によってミートカーソル606の視認が妨げられることを回避できる。
ステップS105において、オブジェクト位置判定部113は、投手603により投球されたボール604が交差面から所定範囲(第2の範囲)内に入ったか否かを判定する。所定範囲とは、上述の第1の位置と第2の位置との間において、交差面から第1の位置に向けて延びる所定の範囲である。
ステップS105でNOの場合、制御部110は、ステップS104からの動作を繰り返す。つまり、制御部110は、投手603により投球されたボール604が交差面から所定範囲内に入るまで、移動操作を受け付けてミートカーソル606を移動する。
一方、ステップS105でYESの場合、ステップS106において、オブジェクト制御部112は、少なくとも一部の方向へのミートカーソル606の移動を制限する。オブ
ジェクト制御部112は、移動が制限されたことを示すように、ミートカーソル606の色や模様といった表示態様を変化させてもよい。ミートカーソル606は、後述する打撃操作の態様に基づいて、移動が制限されることが好ましい。たとえば、打撃操作が、第1方向へのスライド操作やフリック操作である態様では、当該第1方向へのミートカーソル606の移動が制限されることが好ましい。第1方向とは、典型的には上方向:0°〜180°方向である。これにより、たとえば打撃操作が入力された場合に、誤ってミートカーソル606の移動操作と判定されてしまうことが確実に防止される。なお、第1方向のみならず、第1方向と異なる第2方向への移動も制限されていてもよい。第2方向とは、典型的には下方向:180°〜360°方向である。すなわち、この例の場合、全方向への移動が制限されてもよい。
または、ミートカーソル606の移動が制限されている場合にも、第2方向への移動は許容されてもよい。たとえば、変化球は下方向(180°〜360°方向の範囲内)において変化することが想定されるため、第2方向への移動が許容されることにより、ユーザはボール604が交差面に到達するぎりぎりまでミートカーソル606を移動させることができる。このように、ミートカーソル606を移動させるための操作入力と、打者601に打撃を行わせるための操作入力との競合を回避することが可能になる。また、図4に示すとおり、ボール604を飛ばす方向(たとえばスタンド、外野方向)は、画面上、打撃位置より上方に描画される。このため、ユーザは、直感的に上方向へのスライド操作およびフリック操作を打撃操作と理解することができる。
ステップS107において、操作受付部111は、ユーザによる初回の打撃操作(第1の操作)を受け付ける。
ステップS108において、制御部110は、初回の打撃操作に基づいて、打者601にバット602をスイングさせる第1の打撃モーション(第1のモーション)の表示を開始する。具体的には、オブジェクト制御部112は、初回の打撃操作に基づいて、打者601が第1の打撃モーションを行うよう制御する。モーション画像生成部115は、第1の打撃モーションを表すアニメーション画像を生成する。表示制御部116は、生成されたアニメーション画像の表示を開始する。
ステップS109において、操作タイミング判定部114は、初回の打撃操作が、ボール604が交差面に到達する時点より所定期間前までに受け付けられたか否かを判定する。換言すれば、操作タイミング判定部114は、初回の打撃操作が、ちょうどよい打撃のタイミングに対して早すぎるか否かを判定する。なお、ちょうどよい打撃のタイミングとは、タイミング以外の条件が同一である場合、他のタイミングに比べて、ボールに与えられる作用量が最も大きくなるタイミングである。
ステップS109においてNOの場合、制御部110は、再度の打撃操作が受け付けられたとしても、該打撃操作を無効とする。このため、ステップS110において、オブジェクト制御部112は、再度の打撃操作が受け付けられたか否かに関わらず、初回の打撃操作と、ボール604の位置と、ミートカーソル606の位置とに基づいて、打者601がボール604を打撃したか否かを判定する。
具体的には、オブジェクト制御部112は、初回の打撃操作が、交差面に到達するボール604の打撃に適合したタイミングに受け付けられた場合に、次のようにして判定を行う。すなわち、オブジェクト制御部112は、ミートカーソル606の位置が、交差面におけるボール604の打撃に適合した位置の範囲にあれば、打者601がボール604を打撃したと判定することができる。たとえば、交差面においてボール604とミートカーソル606とが少なくとも部分的に重畳していれば、オブジェクト制御部112は、打者
601がボール604を打撃したと判定すればよい。一方、交差面において、ボール604がミートカーソル606の外部に配置されていれば、オブジェクト制御部112は、打者601がボール604を打撃しなかったと判定すればよい。
なお、オブジェクト制御部112は、初回の打撃操作がボール604への打撃に適合したタイミングから外れて、早すぎたり遅すぎたりする場合には、ボール604が打撃されなかったと判定する。
ステップS110においてYESの場合、ステップS111において、オブジェクト制御部112は、打撃が与えられたボール604に与える速度ベクトルを決定する。また、オブジェクト制御部112は、決定した速度ベクトルに基づいて、打撃が与えられたボール604がゲーム空間において移動する際の移動経路を算出する。また、モーション画像生成部115は、決定された移動経路を飛んでいくボール604のアニメーションを生成する。
具体的には、オブジェクト制御部112は、ボール604とミートカーソル606との位置関係に基づいて、ボール604に与える速度ベクトルを決定する。たとえば、オブジェクト制御部112は、前述の位置関係に基づいて、バット602とボール604との衝突を力学的にモデル化する。この場合、オブジェクト制御部112は、バット602に衝突した直後のボール604の回転軸、回転量等を、ボール604を移動させるための初期条件として取得する。そして、オブジェクト制御部112は、速度ベクトル、回転軸、回転量等に基づいて、ボール604の移動経路を算出する。たとえば、ボール604の下部をミートカーソル606の上部で打撃した場合には、打球の角度が上がりフライとなる。また、ボール604の上部をミートカーソル606の下部で打撃した場合には、打球の角度が下がりゴロとなる。たとえば、オブジェクト制御部112は、ミートカーソル606の中央の位置でボール604の中央を打撃する等の所謂ジャストミートの場合には、ライナーでボール604が飛ぶような移動経路を算出する。また、オブジェクト制御部112は、ジャストミート以外の場合には凡打と判定して、凡打に対応する移動経路を算出してもよい。
このとき、オブジェクト制御部112は、初回の打撃操作のタイミングに基づいて、速度ベクトルの向きを特定してもよい。また、オブジェクト制御部112は、ゲーム空間内に設定された各種物理パラメータ、および、物理法則を規定する方程式に基づいて、ボール604の移動経路を算出すればよい。これにより表示制御部116は、定性的には現実の野球と同様の打球の移動結果を、表示部152に表示させることができる。たとえば、打撃操作のタイミングが早い場合には、引っ張り打ちの方向にボール604が移動し、一方、打撃操作のタイミングが遅い場合には、流し打ちの方向にボール604が移動する。
なお、ステップS110においてNOの場合(すなわち、打撃されなかったと判定された場合)について説明する。この場合、オブジェクト制御部112が、ボール604の移動経路を算出することなく、モーション画像生成部115は、打者601がボール604を空振りするアニメーションを生成してもよい。
一方、ステップS109においてYESの場合、ステップS112において、操作タイミング判定部114は、当該ステップの実行時点が上述の再入力可能期間中であるか否かを判定する。再入力可能期間は、上述したように、初回の打撃操作が受け付けられてから
、ボール604が交差面を越えるまでの期間である。ここで、当該ステップは、初回の打撃操作が受け付けられたステップS107、すなわち、再入力可能期間の開始以降に実行される。このため、操作タイミング判定部114は、ステップS112の実行時点が、再入力可能期間より前であるか否かを判定する必要はない。つまり、操作タイミング判定部
114は、当該ステップの実行時点が、再入力可能期間の後であるか否かのみを判定すればよい。操作タイミング判定部114は、オブジェクト位置判定部113による、ボール604が交差面に到達したか否かの判定結果に基づいて、再入力可能期間中であるか否かを判定可能である。具体的には、操作タイミング判定部114は、ボール604が交差面に到達していないとオブジェクト位置判定部113が判定した場合には、再入力可能期間中であると判定する。一方、操作タイミング判定部114は、ボール604が交差面に到達したとオブジェクト位置判定部113が判定した場合には、再入力可能期間でないと判定する。
ステップS112でNOの場合、制御部110は、ステップS109でNOの場合と同様に、初回の打撃操作に基づく処理(ステップS110〜S111)を実行する。
ステップS112でYESの場合、ステップS113において、制御部110は、操作受付部111によってユーザによる再度の打撃操作(第2の操作)が受け付けられたか否かを判定する。再度の打撃操作は、ステップS107における打撃操作(第1の操作)と同種類の操作であることが望ましい。これにより、初回および再度の打撃操作の操作性を統一することができ、ユーザにとって操作性が理解しやすくなる。たとえば、ステップS107において受け付け可能な打撃操作がタップ操作またはフリック操作であった場合、本ステップにおいて受付可能な再度の打撃操作もタップ操作またはフリック操作である。なお、操作タイミング判定部114は、再度の打撃操作における、タッチスクリーン15への物体の接触の開始が再入力可能期間中である場合に、再度の打撃操作を受け付けたとみなしてもよい。すなわち、操作タイミング判定部114は、タップ操作またはフリック操作において、タッチスクリーン15への物体の接触が再入力可能期間中に検知されれば、その後タッチスクリーン15から物体が離れた時点が再入力可能期間中を過ぎていても、再度の打撃操作が入力されたとみなす。これにより、ユーザが再度の打撃操作を入力できる期間を長くすることができる。
また、操作受付部111は、初回の打撃操作と同様に、タッチスクリーン15上のいかなる位置に対して行なわれたこのような操作も、再度の打撃操作として受け付ける。したがってユーザは、タッチスクリーン15上の任意の位置に、再度の打撃操作を行うことができる。
ステップS113においてNOの場合、制御部110は、ステップS112からの動作を繰り返す。すなわち、制御部110は、再入力可能期間中、再度の打撃操作を待機する
一方、ステップS113においてYESの場合、ステップS114において、制御部110は、再度の打撃操作に基づいて、打者601にバット602をスイングさせる第2の打撃モーション(第2のモーション)の表示を開始する。具体的には、オブジェクト制御部112は、打者601が、それまで行っていた第1の打撃モーションに替えて、第2の打撃モーションを行うよう制御する。第2の打撃モーションは、第1の打撃モーションと異なる打撃モーションである。具体的には、第2の打撃モーションのスイングは、打者601が打撃動作を修正していることを表すようなモーションであることが望ましい。たとえば、図5(b)に示したように、第2の打撃モーションのスイングは、打者601がよろけながらスイングするモーションであってもよい。これにより、現実世界の野球において、打者がタイミングを外された際のスイングを野球ゲームに反映することができる。そして、モーション画像生成部115は、第2の打撃モーションを表すアニメーション画像を生成する。表示制御部116は、第1の打撃モーションを表すアニメーション画像の表示をとりやめ、第2の打撃モーションを表すアニメーション画像の表示を開始する。
ステップS115において、オブジェクト制御部112は、再度の打撃操作と、ボール604の位置と、ミートカーソル606の位置とに基づいて、打者601がボール604を打撃したか否かを判定する。S114における判定の処理の詳細は、初回の打撃操作に基づく代わりに再度の打撃操作に基づく以外、ステップS110と同じであるため、説明を繰り返さない。
制御部110は、ステップS115における判定結果に基づいて、野球ゲームを進行させる。具体的には、ステップS115においてYESの場合、ステップS116において
、オブジェクト制御部112は、打撃が与えられたボール604に与える速度ベクトルを決定する。このとき、オブジェクト制御部112は、初回の打撃操作に基づき決定される速度ベクトルより小さくなるよう、速度ベクトルを決定することが望ましい。詳細には、再度の打撃操作に基づき決定される速度ベクトルは、ミートカーソル606の位置とボール604の位置との位置関係および各種初期条件が同等であるときに初回の打撃操作に基づき決定される速度ベクトルよりも小さければよい。これにより、再度の打撃操作による打撃は、初回の打撃操作による打撃に比べて、直感的に弱々しいものとなる。そして、オブジェクト制御部112は、決定した速度ベクトルに基づいて、打撃が与えられたボール604がゲーム空間において移動する際の移動経路を算出する。また、モーション画像生成部115は、決定された移動経路を飛んでいくボール604のアニメーションを生成する。
ステップS116の処理の詳細は、決定する速度ベクトルを初回の打撃操作に基づくより小さくする点以外、ステップS111と同じであるため、説明を繰り返さない。
以上のように、本実施形態に係るゲームプログラムは、プロセッサ10に、ボール604を打撃するための初回の打撃操作を受け付けた後、再入力可能期間中に再度の打撃操作を受け付けさせる。そして、再度の打撃操作を受け付けた場合、該再度の打撃操作に基づいてボール604を打撃するか否かを判定させる。これにより、ユーザは、初回の打撃操作の後、再度、打撃操作を行うことができ、打撃動作の開始後にも打撃タイミングを修正できるという現実世界のプレイ感覚を体験することができる。
また、本実施形態に係るゲームプログラムは、プロセッサ10に、初回の打撃操作に応じて打者601が第1の打撃モーションを開始した後、再度の打撃操作を受け付けた場合には、打者601が第2の打撃モーションを行う表示に切り替えさせる。これにより、ユーザは、再度の打撃操作を行った場合は、打者601がよろける等のように打撃モーションが変化するという現実世界のプレイ感覚を体験することができる。
また、本実施の形態は、再度の打撃操作によりボール604が打撃される場合には、該再度の打撃操作が、初回の打撃操作として行われたと仮定した場合に比べて、ボール604に与えられる作用量が小さくなるよう速度ベクトルを決定する。これにより、ユーザは、再度の打撃操作による打撃が初回の打撃操作に比べて弱々しくなるという現実世界のプレイ感覚を体験することができる。
〔変形例〕
以上の実施形態では、第1の範囲が示す領域は、交差面から第1の位置に延びる範囲の領域として設定されるものとして説明した。しかしながら、第1の範囲が示す領域は、この構成に限定されない。例えば、第1の範囲が示す領域は、ミートカーソル606の移動が制限されたタイミングに基づいて決定されてもよい。具体的には、制御部110は、ミートカーソル606の移動が制限されたタイミングに基づいて、交差面より第1の位置に近い面を設定し、該面から第1の位置に向けて延びる範囲の領域を第1の範囲が示す領域として設定してもよい。
これにより、ユーザは、初回の打撃操作に対して直感的に直後のタイミングであれば、再度の打撃操作を行うことができることになり、打撃動作の開始直後であれば打撃タイミングを修正できるという現実世界のプレイ感覚をより忠実に体験することができる。
また、以上の実施形態では、初回の打撃操作のタイミングが早すぎた場合にのみ、再度の打撃操作を受け付け可能とする例について説明した。これに限らず、初回の打撃操作のタイミングを考慮することなく、再度の打撃操作を受け付け可能としてもよい。この場合、制御部110は、図3において、第1の打撃モーションの表示を開始後(ステップS108)、ステップS109を省略し、再度の打撃操作を受け付け可能な再入力可能期間であるか否かを判定(ステップS112)すればよい。
これにより、ユーザは、初回の打撃操作のタイミングに関わらず、再度の打撃操作を行うことができる。
また、以上の実施形態では、ミートカーソル606の移動を制限した後、初回の打撃操作を受け付ける例について説明した。ただし、ミートカーソル606の移動は、必ずしも制限されなくてもよい。すなわち、制御部110は、図3において、ミートカーソル606の移動(ステップS104)後、ステップS105〜S106を実行せずに、初回の打撃操作を受け付けてもよい(ステップS107)。この場合であっても、ユーザは、打撃動作の開始後に打撃タイミングを修正できるという現実世界のプレイ感覚を体験することができる。
また、以上の実施形態では、当初の打撃操作に基づく第1の打撃モーションに対して、再度の打撃操作に基づく第2の打撃モーションを異ならせる例について説明した。ただし、第2の打撃モーションは、必ずしも第1の打撃モーションと異なっていなくてもよい。この場合であっても、ユーザは、打撃動作の開始後に打撃タイミングを修正できるという現実世界のプレイ感覚を体験することができる。
また、以上の実施形態では、初回の打撃操作でボール604を打撃した場合の速度ベクトル(作用量)に対して、再度の打撃操作でボール604を打撃した場合の速度ベクトル(作用量)を小さくする例について説明した。ただし、再度の打撃操作でボール604を打撃した場合の移動ベクトルは、必ずしも初回の打撃操作でボール604を打撃した場合の移動ベクトルより小さくなくてもよい。この場合であっても、ユーザは、打撃動作の開始後に打撃タイミングを修正できるという現実世界のプレイ感覚を体験することができる
〔ソフトウェアによる実現例〕
制御部110の制御ブロック(特に、操作受付部111、オブジェクト制御部112、オブジェクト位置判定部113、操作タイミング判定部114、モーション画像生成部115、および表示制御部116)は、集積回路(ICチップ)等に形成された論理回路(
ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用い
てソフトウェアによって実現してもよい。後者の場合、制御部110は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU
)が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる
。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラムについて説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10)およびメモリ(11)を備えるコンピュータ(ユーザ端末100)により実行される。ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクト(ボール604)に対して作用を与えて移動方向を変更させるゲームである。ゲームプログラムは、プロセッサに、移動オブジェクトを第1の位置から第2の位置まで移動させるステップ(S104)と、作用を与えるためのユーザによる第1の操作(初回の打撃操作)を受け付けるステップ(S107)と、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を移動オブジェクトが越えるまでに(S112でYES)、作用を与えるためのユーザによる第2の操作(再度の打撃操作)を受け付けるステップ(S113)と、第2の操作を受け付けた場合に(S113でYES)、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定するステップ(S115)と、を実行させる。これにより、ユーザは、移動オブジェクトに作用を与えるための第1の操作を行った後に、第1の操作を修正したい場合には、再度、作用を与えるための第2の操作を行うことが可能となる。結果として、該ゲームプログラムによれば、現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させることができるという効果を奏する。例えば、該ゲームプログラムは、打者が、移動する物体(ボール)に作用を与える動作(スイング)のタイミングを取り直す、という現実世界の野球で起こり得る事象をゲームにおいて再現することができる。
(項目2) (項目1)において、ゲームプログラムは、プロセッサに、第1の操作に応じて、移動オブジェクトに作用を与えるためのキャラクタに、作用を与えるための第1のモーションを行わせるステップ(S108)と、第2の操作に応じて、キャラクタに、第1のモーションと異なる第2のモーションを行わせるステップ(S114)と、をさらに実行させる。これにより、該ゲームプログラムによれば、現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させることができるという効果を奏する。例えば、該ゲームプログラムは、打者が、移動する物体(ボール)に作用を与える動作(スイング)のタイミングを取り直したとき、そのモーションが変化する、という現実世界の野球で起こり得る事象をゲームにおいて再現することができる。
(項目3) (項目1)または(項目2)において、ゲームプログラムは、プロセッサに、第2の操作を受け付けなかった場合に(S109でNOまたはS112でNO)、第1の操作に基づいて移動オブジェクトに作用を与えるか否かを判定するステップ(S110)と、第1の操作または第2の操作に基づいて作用を与えると判定された場合に(S110でYESまたはS115でYES)、作用を与えると判定された操作に基づいて移動オブジェクトに与える作用量を決定するステップ(S111またはS116)と、をさらに実行させる。第2の操作に基づいて決定される作用量は、該第2の操作が第1の操作として行われたと仮定した場合に決定される作用量に比べて小さい。これにより、該ゲーム
プログラムによれば、現実世界で起こり得る事象を仮想空間内で再現し、ゲームの趣向性を向上させることができるという効果を奏する。例えば、該ゲームプログラムは、打者が、移動する物体(ボール)に作用を与える動作(スイング)のタイミングを取り直したとき、ボールに与えられる作用が弱くなる、という現実世界の野球で起こり得る事象をゲームにおいて再現することができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、第2の操作を受け付けるステップ(S113)は、第2の操作として、第1の操作として受け付け可能な操作と同種類の操作を受け付ける。これにより、ユーザは、作用を与えるための第1の操作と同種類の操作によって第2の操作を行うことができるので、簡単に第2の操作を行うことができる。結果として、該ゲームプログラムによれば、簡単な操作によって、現実世界で起こり得る事象を仮想空間内で再現しゲームの趣向性を向上させることができるという効果を奏する。
(項目5) (項目1)から(項目4)までのいずれか1項目において、ゲームプログラムは、プロセッサに、移動オブジェクトが第1の範囲にある場合に移動オブジェクトに作用を与えたか否かを判定するための交差面(ストライクゾーン605、ボールゾーン608)を、第1の位置と第2の位置との間に設定するステップと、第1の操作または第2の操作に基づく作用を移動オブジェクトに与えるための作用領域(ミートカーソル606)を交差面に設定するステップと、ユーザによる作用領域を移動させる操作を受け付けるステップと、移動させる操作に基づいて作用領域を移動させるステップ(S104)と、をさらに実行させる。作用領域を移動させるステップは、移動オブジェクトが交差面から第1の位置に向けて延びる所定の第2の範囲内に入った場合(S105でYES)、交差面における少なくとも一部の方向への移動させる操作に基づく作用領域の移動を制限する(S106)。第1の操作を受け付けるステップ(S107)は、作用領域の移動が制限された後に第1の操作を受け付ける。これにより、作用領域を移動させる操作が完了した後に、第1の操作および第2の操作が受け付けられる。したがって、ユーザが作用領域を移動させる操作を行ったときに、移動オブジェクトに作用を与えてしまうという状況を防ぐことができるという効果を奏する。また、ユーザが移動オブジェクトに作用を与えるための第1の操作または第2の操作を行ったときに、作用領域が移動してしまうという状況を防ぐことができるという効果を奏する。
(項目6) (項目5)において、第1の範囲は、作用領域の移動が制限されたタイミングに基づいて決定される。これにより、第1の範囲が可変となり、再入力可能期間の長さが可変となる。したがって、ユーザは、再入力可能期間の長短に応じて第2の操作が受け付けられるか否かを楽しむことができるという効果を奏する。
(項目7) (項目5)または(項目6)において、コンピュータは、タッチスクリーン(15)を備える。移動させる操作は、タッチスクリーンに接触させた物体(1010)を、タッチスクリーン上で移動させる操作である。第1の操作および第2の操作は、接触または近接させた物体を、タッチスクリーン上で移動させた後、タッチスクリーンから離す操作である。これにより、ユーザが作用領域を移動させるためにタッチスクリーンに接触させた物体をタッチスクリーン上で移動させたときに、移動オブジェクトに作用を与えてしまうという状況を防ぐことができるという効果を奏する。また、ユーザが移動オブジェクトに作用を与えるためにタッチスクリーンに接触させた物体をタッチスクリーン上で移動させたときに、作用領域が移動してしまうという状況を防ぐことができるという効果を奏する。
(項目8) (項目1)から(項目7)までのいずれか1項目において、コンピュータは、タッチスクリーンを備える。第2の操作を受け付けるステップ(S113)は、第1
の操作を受け付けてから第1の範囲を移動オブジェクトが越えるまでに、第2の操作のためのタッチスクリーンへの物体の接触があったとき、第2の操作を受け付ける。これにより、ユーザは、再入力可能期間中に、第2の操作として、タッチスクリーンへの物体の接触を開始しさえすればよく、その後タッチスクリーンから物体を離すタイミングは、再入力可能期間を過ぎていてもよい。したがって、ユーザが、より長い期間において第2の操作を入力することができるという効果を奏する。
(項目9) (項目1)から(項目8)までのいずれか1項目において、第2の操作を受け付けるステップ(S113)は、移動オブジェクトが第1の範囲を越える時点より所定期間前までに第1の操作が受け付けられた場合に、第2の操作を受け付ける。これにより、ユーザは、第1の操作が早すぎた場合にのみ、第2の操作を行うことが可能となる。よって、該ゲームプログラムによれば、現実世界で起こり得る事象を仮想空間内で再現しゲームの趣向性を向上させることができるという効果を奏する。例えば、該ゲームプログラムは、打者が、移動する物体(ボール)に作用を与える動作(スイング)が早すぎた場合にはタイミングを取り直することができるが、遅すぎた場合にはタイミングを取り直すことができない、という現実世界の野球で起こり得る事象をゲームにおいて再現することができる。
(項目10) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10)およびメモリ(11)を備えるコンピュータ(ユーザ端末100)により実行される。ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームである。該方法は、コンピュータが、移動オブジェクトを第1の位置から第2の位置まで移動させるステップと、作用を与えるためのユーザによる第1の操作を受け付けるステップと、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を、移動オブジェクトが越えるまでに、作用を与えるためのユーザによる第2の操作を受け付けるステップと、第2の操作を受け付けた場合に、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定するステップと、を実行することを含む。(項目10)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目11) ユーザが操作する情報処理装置(ユーザ端末100)について説明した。本開示のある局面によると、情報処理装置は、ゲームプログラムを記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部(110)と、を備える。ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームである。制御部は、移動オブジェクトを第1の位置から第2の位置まで移動させ、作用を与えるためのユーザによる第1の操作を受け付け、第1の操作を受け付けてから、第1の位置と第2の位置との間に設定された作用を与えることができる第1の範囲を、移動オブジェクトが越えるまでに、作用を与えるためのユーザによる第2の操作を受け付け、第2の操作を受け付けた場合に、第2の操作に基づいて移動オブジェクトに作用を与えるか否かを判定する。(項目11)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
1 ゲームシステム、2 ネットワーク、10 プロセッサ、11 メモリ、12 ストレージ、13 通信IF、14 入出力IF、15 タッチスクリーン、151 入力部、152 表示部、17 カメラ、18 測距センサ、20 プロセッサ、21 メモリ、22 ストレージ、23 通信IF、24 入出力IF、100 ユーザ端末(情報処理装置)、110 制御部、111 操作受付部、112 オブジェクト制御部、11
3 オブジェクト位置判定部、114 操作タイミング判定部、115 モーション画像生成部、116 表示制御部、120 記憶部、200 ゲームサーバ、604 ボール(移動オブジェクト)、605 ストライクゾーン(交差面)、606 ミートカーソル(作用領域)、608 ボールゾーン(交差面)、1010 物体、1020 コントローラ、1030 記憶媒体

Claims (11)

  1. ゲームプログラムであって、
    前記ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行されるものであり、
    前記ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームであり、
    前記ゲームプログラムは、前記プロセッサに、
    前記移動オブジェクトを第1の位置から第2の位置まで移動させるステップと、
    前記作用を与えるためのユーザによる第1の操作を受け付けるステップと、
    前記第1の操作を受け付けてから、前記第1の位置と前記第2の位置との間に設定された前記作用を与えることができる第1の範囲を、前記移動オブジェクトが越えるまでに、前記作用を与えるためのユーザによる第2の操作を受け付けるステップと、
    前記第2の操作を受け付けた場合に、前記第2の操作に基づいて前記移動オブジェクトに前記作用を与えるか否かを判定するステップと、を実行させる、ゲームプログラム。
  2. 前記ゲームプログラムは、前記プロセッサに、
    前記第1の操作に応じて、前記移動オブジェクトに前記作用を与えるためのキャラクタに、前記作用を与えるための第1のモーションを行わせるステップと、
    前記第2の操作に応じて、前記キャラクタに、前記第1のモーションと異なる第2のモーションを行わせるステップと、をさらに実行させる、請求項1に記載のゲームプログラム。
  3. 前記ゲームプログラムは、前記プロセッサに、
    前記第2の操作を受け付けなかった場合に、前記第1の操作に基づいて前記移動オブジェクトに前記作用を与えるか否かを判定するステップと、
    前記第1の操作または前記第2の操作に基づいて前記作用を与えると判定された場合に、作用を与えると判定された操作に基づいて前記移動オブジェクトに与える作用量を決定するステップと、をさらに実行させ、
    前記第2の操作に基づいて決定される作用量は、該第2の操作が前記第1の操作として行われたと仮定した場合に決定される作用量に比べて小さい、請求項1または請求項2に記載のゲームプログラム。
  4. 前記第2の操作を受け付けるステップは、前記第2の操作として、前記第1の操作として受け付け可能な操作と同種類の操作を受け付ける、請求項1から請求項3のいずれか1項に記載のゲームプログラム。
  5. 前記ゲームプログラムは、前記プロセッサに、
    前記移動オブジェクトが前記第1の範囲にある場合に前記移動オブジェクトに前記作用を与えたか否かを判定するための交差面を、前記第1の位置と前記第2の位置との間に設定するステップと、
    前記第1の操作または前記第2の操作に基づく前記作用を前記移動オブジェクトに与えるための作用領域を前記交差面に設定するステップと、
    ユーザによる前記作用領域を移動させる操作を受け付けるステップと、
    前記移動させる操作に基づいて前記作用領域を移動させるステップと、
    をさらに実行させ、
    前記作用領域を移動させるステップは、前記移動オブジェクトが前記交差面から前記第1の位置に向けて延びる所定の第2の範囲内に入った場合、前記交差面における少なくとも一部の方向への前記移動させる操作に基づく前記作用領域の移動を制限し、
    前記第1の操作を受け付けるステップは、前記作用領域の移動が制限された後に前記第
    1の操作を受け付ける、請求項1から請求項4のいずれか1項に記載のゲームプログラム
  6. 前記第1の範囲は、前記作用領域の移動が制限されたタイミングに基づいて決定される、請求項5に記載のゲームプログラム。
  7. 前記コンピュータは、タッチスクリーンを備え、
    前記移動させる操作は、前記タッチスクリーンに接触させた物体を、前記タッチスクリーン上で移動させる操作であり、
    前記第1の操作および前記第2の操作は、前記接触または近接させた物体を、前記タッチスクリーン上で移動させた後、前記タッチスクリーンから離す操作である、請求項5または請求項6に記載のゲームプログラム。
  8. 前記コンピュータは、タッチスクリーンを備え、
    前記第2の操作を受け付けるステップは、前記第1の操作を受け付けてから、前記第1の範囲を前記移動オブジェクトが越えるまでに、前記第2の操作のための前記タッチスクリーンへの物体の接触があったとき、前記第2の操作を受け付ける、請求項1から請求項7のいずれか1項に記載のゲームプログラム。
  9. 前記第2の操作を受け付けるステップは、前記移動オブジェクトが前記第1の範囲を越える時点より所定期間前までに前記第1の操作が受け付けられた場合に、前記第2の操作を受け付ける、請求項1から請求項8のいずれか1項に記載のゲームプログラム。
  10. コンピュータがゲームプログラムを実行するための方法であって、
    前記コンピュータは、プロセッサおよびメモリを備え、前記ゲームプログラムを実行するものであり、
    前記ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームであり、
    前記方法は、前記コンピュータが、
    前記移動オブジェクトを第1の位置から第2の位置まで移動させるステップと、
    前記作用を与えるためのユーザによる第1の操作を受け付けるステップと、
    前記第1の操作を受け付けてから、前記第1の位置と前記第2の位置との間に設定された前記作用を与えることができる第1の範囲を、前記移動オブジェクトが越えるまでに、前記作用を与えるためのユーザによる第2の操作を受け付けるステップと、
    前記第2の操作を受け付けた場合に、前記第2の操作に基づいて前記移動オブジェクトに前記作用を与えるか否かを判定するステップと、
    を含む、方法。
  11. 情報処理装置であって、
    前記情報処理装置は、
    ゲームプログラムを記憶するように構成された記憶部と、
    前記情報処理装置の動作を制御するように構成された制御部と、
    を備え、
    前記ゲームプログラムに基づくゲームは、仮想的なゲーム空間内を移動する移動オブジェクトに対して作用を与えて移動方向を変更させるゲームであり、
    前記制御部は、
    前記移動オブジェクトを第1の位置から第2の位置まで移動させ、
    前記作用を与えるためのユーザによる第1の操作を受け付け、
    前記第1の操作を受け付けてから、前記第1の位置と前記第2の位置との間に設定された前記作用を与えることができる第1の範囲を、前記移動オブジェクトが越えるまでに、
    前記作用を与えるためのユーザによる第2の操作を受け付け、
    前記第2の操作を受け付けた場合に、前記第2の操作に基づいて前記移動オブジェクトに前記作用を与えるか否かを判定する、情報処理装置。
JP2018042432A 2018-03-08 2018-03-08 ゲームプログラム、方法、および、情報処理装置 Withdrawn JP2018187360A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018042432A JP2018187360A (ja) 2018-03-08 2018-03-08 ゲームプログラム、方法、および、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018042432A JP2018187360A (ja) 2018-03-08 2018-03-08 ゲームプログラム、方法、および、情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017091959A Division JP6307651B1 (ja) 2017-05-02 2017-05-02 ゲームプログラム、方法、および、情報処理装置

Publications (1)

Publication Number Publication Date
JP2018187360A true JP2018187360A (ja) 2018-11-29

Family

ID=64477854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018042432A Withdrawn JP2018187360A (ja) 2018-03-08 2018-03-08 ゲームプログラム、方法、および、情報処理装置

Country Status (1)

Country Link
JP (1) JP2018187360A (ja)

Similar Documents

Publication Publication Date Title
JP6514376B1 (ja) ゲームプログラム、方法、及び情報処理装置
JP6472555B1 (ja) ゲームプログラム、方法、および情報処理装置
CN107930114A (zh) 信息处理方法及装置、存储介质、电子设备
JP6672401B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2022017984A (ja) ゲームプログラム、ゲーム方法、および情報処理装置
JP2019126741A (ja) ゲームプログラム、方法、及び情報処理装置
JP2019205514A (ja) プログラム、方法、および情報端末装置
JP6307651B1 (ja) ゲームプログラム、方法、および、情報処理装置
JP6404412B1 (ja) ゲームプログラム、方法、および情報処理装置
JP6360872B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2018187360A (ja) ゲームプログラム、方法、および、情報処理装置
JP2018161513A (ja) ゲームプログラム、方法、および情報処理装置
US20220355189A1 (en) Game program, game method, and information processing device
JP2020022574A (ja) ゲームプログラム、方法、および情報処理装置
JP2019098163A (ja) ゲームプログラム、方法、および情報処理装置
JP6668425B2 (ja) ゲームプログラム、方法、および情報処理装置
JP7337732B2 (ja) プログラム
JP6661595B2 (ja) ゲームプログラム、方法および情報処理装置
JP7252915B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6779048B2 (ja) ゲームの実行方法、プログラムおよび記録媒体
JP6576313B2 (ja) ゲームの実行方法、プログラムおよび記録媒体
JP7368957B2 (ja) プログラム、および情報処理装置
JP6636491B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6826556B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6158993B1 (ja) ゲームの実行方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200420

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20210202