〔実施形態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以上のキャラクタから成るチームと対戦する対戦型ゲームを実行するためのシステムである。ゲームシステム1は、例えば、対戦型ゲームとして、対戦型野球ゲームを実行するためのシステムである。
ゲームシステム1が対戦型野球ゲームである場合、サーバ200を介して通信する第1のユーザ端末100と第2のユーザ端末100とによって、それぞれのチームが操作される。そして、対戦型野球ゲームは、1イニングにつき、表と裏でチームの攻守が入れ替わりつつ進行する。以下では、あるイニングの表または裏において、守備側のチームを操作するユーザ端末100と、攻撃側のユーザ端末100とを互いに区別する必要がある場合、前者を投球側ユーザ端末100A、後者を打撃側ユーザ端末100Bと称する。両者を区別する必要がない場合には、単に、ユーザ端末100と称する。投球側ユーザ端末100Aのユーザを、投球側ユーザ、打撃側ユーザ端末100Bのユーザを、打撃側ユーザと称する。ただし、両ユーザを特に区別する必要がない場合、および、その区別が明らかな場合には、単にユーザと称する。投球側ユーザは、投球側ユーザ端末100Aを用いて、投手キャラクタによる投球を操作し、攻撃側ユーザは、打撃側ユーザ端末100Bを用いて、打者キャラクタによる打撃を操作する。
投球側ユーザ端末100Aは、投球側ユーザから受け付けた投球操作に応じて投球結果を決定し、該投球結果を含むデータ(図1に示す投球結果D1)を生成し、サーバ200に送信する。投球結果D1は、サーバ200を介して、対戦相手の打撃側ユーザ端末100Bに送信される。投球操作とは、投球側ユーザが、投手キャラクタに投球させるために、投球側ユーザ端末100Aの入力部151に対して実施する操作のことである。
打撃側ユーザ端末100Bは、打撃側ユーザから受け付けた打撃操作に応じて打撃結果を決定し、該打撃結果を含むデータ(図1に示す打撃結果D2)を生成し、サーバ200に送信する。打撃結果D2は、サーバ200を介して、対戦相手の投球側ユーザ端末100Aに送信される。打撃操作とは、打撃側ユーザが、打者キャラクタにボールを打撃させるために、打撃側ユーザ端末100Bの入力部151に対して実施する操作のことである。
本実施形態に係る対戦型野球ゲームにおいて、ユーザは、自身でキャラクタを制御することを希望しない場合に、ユーザ端末100を操作して、サーバ200に対してその旨を通知することができる。サーバ200は、このような通知をユーザ端末100から受信すると、ゲームプログラムにしたがって、進行している対戦に関わる各種情報に基づいて、該キャラクタの動作結果(投球結果または打撃結果)を決定する。そして、決定した動作結果を対戦相手のユーザ端末100に送信する。すなわち、サーバ200は、ユーザ端末100に代わり、該キャラクタを制御する。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(MicroProcessing 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とサーバ200との協働により実現するためのゲームプログラムである。また、各種データとはユーザ情報、ゲーム情報等、ゲームに関するデータ、ならびにユーザ端末100とサーバ200との間で送受信する指示や通知を含んでいる。
ストレージ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の撮影画像によるユーザの手の検出結果において、ユーザが指をはじくようなジェスチャを検出した場合に、マウスのクリック、タッチパネルへのタップ操作に対応する処理をすることとしてもよい。
<各装置の機能的構成>
図2は、サーバ200およびユーザ端末100の機能的構成を示すブロック図である。サーバ200およびユーザ端末100のそれぞれが備えている、一般的なコンピュータとして機能する場合に必要な機能的構成、および、対戦型野球ゲームにおける公知の機能を実現するために必要な機能的構成については、適宜省略している。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、対戦を実行する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する機能を有する。また、サーバ200は、一方または両方のユーザ端末100の代理としてふるまうことによって対戦を進行させて、その進行結果を一方または両方のユーザ端末100に配信する機能を有する。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部120および記憶部220は、ゲームプログラム131、ゲーム情報132およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100およびサーバ200で実行するゲームプログラムである。ゲーム情報132は、制御部110および制御部210がゲームプログラム131を実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。記憶部220において、ゲーム情報132およびユーザ情報133は、ユーザ端末100ごとに格納されている。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲーム情報132に記憶された、ゲーム空間を構築するための情報を参照してゲーム空間を構築する。また、制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データおよびプログラム等を受信する。制御部110は、ゲーム情報もしくはユーザ情報の一部または全部をサーバ200に送信する。制御部110はサーバ200にマルチプレイの同期の要求を送信してもよい。制御部110はサーバ200からマルチプレイの同期のためのデータを受信してもよい。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、制御設定部112、動作結果決定部113、アニメーション生成部114および表示制御部115として機能する。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
操作受付部111は、入力部151に対する入力操作(例えば、投球操作または打撃操作)を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
制御設定部112は、対戦におけるキャラクタの制御方法に関して、ゲームプログラムに基づくオート制御、および、ユーザが入力部151を用いて実施するユーザ操作に基づくマニュアル制御のいずれかの方法を設定する。例えば、ユーザがオート制御を指定した場合、該指定が操作受付部111によって受け付けられる。この場合、制御設定部112は、対戦をオート制御によって進行させることを決定し、該決定を、制御部110の各部に通知するとともに、サーバ200に通知する。ユーザがマニュアル制御を指定した場合にも、制御設定部112は、その旨を制御部110の各部およびサーバ200に通知する。
動作結果決定部113は、マニュアル制御が設定されている場合に、ユーザ操作に基づいてキャラクタの動作結果を決定することにより、対戦を進行させる。例えば、投球側ユーザ端末100A(一方のコンピュータ、他方のコンピュータ)において、操作受付部111がユーザの投球操作を受け付けると、動作結果決定部113は、該投球操作に基づいて、投球結果を決定する。投球結果は、例えば、球速、球種(ストレート、スライダー、カーブ等)、コース(内角高め、ど真ん中、外角低め等)、および、好投/失投の判定等を含む。例えば、打撃側ユーザ端末100B(他方のコンピュータ、一方のコンピュータ)において、操作受付部111がユーザの打撃操作を受け付けると、動作結果決定部113は、該打撃操作に基づいて、打撃結果を決定する。打撃結果は、例えば、打撃有無の判定、ならびに、打撃された場合には、ボールの飛翔経路、飛距離および飛翔速度等を含む。動作結果決定部113は、決定した動作結果(投球結果または打撃結果)を、アニメーション生成部114に通知するとともに、サーバ200に通知する。
アニメーション生成部114は、制御設定部112および動作結果決定部113による各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、投手キャラクタの投球動作のアニメーション、打者キャラクタの打撃動作のアニメーション、該打者キャラクタが振るバットのアニメーション、投手キャラクタによって投げられたボールのアニメーション、打者キャラクタによって打たれたボールのアニメーション等を生成してもよい。
表示制御部115は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部115は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を表示部152に表示してもよい。また、表示制御部115は、アイコン、ボタン、または、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なユーザインターフェース(以下、UI)に係るオブジェクトを、該ゲーム画面に重畳して描画してもよい。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ゲーム情報132に記憶された、ゲーム空間を構築するための情報を参照してゲーム空間を構築する。また、制御部210は、各種データを送受信する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、マルチプレイの同期のためのデータをユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、対戦進行部211、制御判定部212および動作結果特定部213として機能する。
対戦進行部211は、対戦を進行させる。具体的には、各ユーザ端末100のリクエストに基づいて、対戦相手のマッチングを行ったり、対戦を開始させたり、対戦を構成する各要素(図3に基づいて後に詳述する)を進行させたりする。
制御判定部212は、対戦に参加するユーザ端末100から通知された制御方法に係る指定に基づいて、該対戦におけるユーザ端末100の制御方法を判定する。
動作結果特定部213は、対戦に参加するユーザ端末100において設定されている制御方法に応じて、ユーザ端末100の動作結果を特定する。具体的には、ユーザ端末100にオート制御が設定されている場合、動作結果特定部213は、ゲームプログラム131と、対戦に参加するすべてのユーザ端末100のゲーム情報132とに基づいて、該ユーザ端末100側のキャラクタの動作結果を決定する。一方、ユーザ端末100にマニュアル制御が設定されている場合、該ユーザ端末100から送信される動作結果を受信して、受診した動作結果を該ユーザ端末100側のキャラクタの動作結果として特定する。
なお、サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<対戦について>
図3は、本実施形態に係るゲームシステム1において、対戦型野球ゲームのゲームプログラム131に基づいて進行される対戦を模式的に示す図である。本実施形態に係る対戦型野球ゲームの対戦は、以下の要素で構成される。そして、各要素は、サーバ200の制御部210、および、ユーザ端末100の制御部110の少なくともいずれか一方によって進行される。
対戦が開始される前に、まず、複数のキャラクタから成るチームが編成される。ユーザは、ユーザ端末100を操作して、9名のキャラクタをポジションごとに選出することができる。対戦相手のユーザも、ユーザ端末100を操作して、9名のキャラクタによるチームを編成する。以下では、ユーザのユーザ端末100によって編成されたチームを自チーム、対戦相手のユーザのユーザ端末100によって編成されたチームを相手チームと称する。
サーバ200は、ユーザ端末100から対戦実行のリクエストを受け付けると、同じく対戦実行のリクエストを受け付けた別のユーザ端末100の中から対戦相手を決定して、対戦の準備を整える。
図3に示すとおり、対戦進行部211によって進行される対戦は、複数のイニングで構成され、1イニングにつき、表と裏でチームの攻守を入れ替え、各チームが1回ずつ守備と攻撃とを実行して、対戦が進行する。1イニングの表および裏のそれぞれは、複数の打席で構成され、攻撃側のキャラクタ1名につき1つの打席が対応付けられる。1つの打席は、守備側(投球側)のキャラクタと、攻撃側(打撃側)のキャラクタとが1対1で対決する対決要素と、対決の結果を決定し、出力させて、該打席を完了させる結果出力要素とで構成される。
対決要素は、さらに複数のフェーズに区切られる。フェーズは、対決する各キャラクタが、守備動作および攻撃動作のいずれか一方を、それぞれ所定回数行う期間である。1のフェーズにおいて、守備側のキャラクタ、および、攻撃側のキャラクタのそれぞれが動作を行う回数は、予め定められている。しかし、その回数は、ゲームの題材となる競技に基づいて任意に定められればよい。また、守備側と攻撃側とで、動作回数は同じに定められてもよいし、異なっていても構わない。本実施形態では、一例として、1のフェーズにおいて、守備側のキャラクタが守備動作を1回、攻撃側のキャラクタが攻撃動作を1回行うと定められているものとする。
フェーズは、いわば、対戦を構成する要素の最小単位であり、野球ゲームにおいては、投手が投げる1球に相当する。各フェーズにおいて、守備側のキャラクタによって、1つの守備動作(投球動作)が実行され、攻撃側のキャラクタによって1つの攻撃動作(打撃動作)が実行されると、1つのフェーズが完了し、次のフェーズへ移行する。
いくつかのフェーズの進行を経て、結果出力要素において、当該打席の結果(アウトまたは進塁等)が決定する。これにより、1つの打席が完了し、次の打席へ移行する。いくつかの打席を経て、1イニングの表(または裏)において、3つのアウトが累積されると、1つのイニングの表(または裏)が完了し、攻守が入れ替わって、同イニングの裏(または次のイニング)へ移行する。
本実施形態において、対戦を構成する各要素のうち、結果出力要素は、主に、各コンピュータ(サーバ200、および、ユーザ端末100)が読み出すゲームプログラムにしたがって、すなわちオート制御によって進行させてもよい。
一方、対決要素の全フェーズは、ユーザが入力部151を介して実施する操作に基づいて、すなわち、マニュアル制御によって進行させることができる。守備動作および攻撃動作が1度ずつ行われる各フェーズは、対戦の勝敗を左右する重要な要素であり、対戦の大部分を占める要素である。したがって、ユーザの操作の巧拙が対戦の勝敗に大きな影響を与え、うまく操作したユーザが対戦を有利に進めることができる。
とりわけ、本実施形態では、ユーザは、フェーズごとに(一球ごとに)、希望する制御方法を切り替えることができる。本実施形態では、ユーザ端末100は、制御方法の切り替え指示を随時ユーザから受け付け、受け付け直後に訪れるフェーズの開始時点で、指示された制御方法に設定する。例えば、ユーザは、ある一球については、ユーザが自身で投球操作を行って、投手キャラクタに投球動作(守備動作)を行わせ、次の一球については、サーバ200の制御下で、自動で投手キャラクタに投球動作を行わせるというように、プレイすることが可能である。
上述のプレイ形態によれば、ユーザに対して、全フェーズに介入できる(マニュアル制御に設定する)権利が与えられる。したがって、全フェーズまたは一部のフェーズがオート制御であったがゆえに対戦に負けたのだとしても、ユーザ自身が介入する権利を放棄したことに起因する敗北であるとユーザは認識し、対戦結果に納得することができる。
以上のことから、対戦の各要素を自動で進行させる機能を備えつつも、全フェーズに介入できる権利をユーザに提供することで、対戦結果に対するユーザの納得感が損なわれないゲームを実現することができる。
このようなプレイ形態を可能にするための、ゲームシステム1における情報処理の具体例を、以下で詳細に説明する。
<ゲーム画面>
図4〜図7は、本実施形態におけるユーザ端末100の制御部110によって生成される、対戦型野球ゲームのゲーム画面の一例である。図4〜図7において、ゲーム空間としての球場における一場面が示されている。アニメーション生成部114によって生成されたゲーム画面は、表示制御部115によって、表示部152に表示される。
図4および図5は、打撃側ユーザ端末100Bの表示部152に表示される打撃画面600を示し、図6および図7は、投球側ユーザ端末100Aの表示部152に表示される投球画面700を示している。各画面は、投手キャラクタ603が立っている位置(以下、第1位置)から捕手キャラクタ612のいる位置(以下、第2位置)まで、投手キャラクタ603がボール604を投球しようとしている場面または投球した場面、および、打者キャラクタ601がボール604に対する打撃を行おうとしている場面を示している。打撃画面600は、上述の対決要素における各フェーズの進行中に、打撃側ユーザ端末100Bに表示される画面であり、投球画面700は、各フェーズの進行中に、投球側ユーザ端末100Aに表示される画面である。
球場における第1位置と第2位置との間に、ホームベース607が配置されている。制御部110は、ホームベース607上に、第1位置から第2位置に向かう方向に交差する方向に延在する交差面を設定する。制御部110は、交差面に基づいて、打者キャラクタ601がボール604を打撃したか否かを判定する。交差面は、例えば、ストライクゾーンと、該ストライクゾーンの外側に配置されるボールゾーンとを含んでいてもよい。操作受付部111が、投手キャラクタ603が投球したボール604が交差面に到達したタイミングで、ユーザからの打撃操作を受け付けると、打者キャラクタ601は、バット602をスイングすること(攻撃動作)によって、ボール604を打ち返す作用をボール604に与えることができる。図5に示すボール604は、投手キャラクタ603が投球したボール604が交差面に実際に到達した位置の一例を示す。
図5に示すとおり、打撃画面600には、その他、ユーザの打撃操作を支援するためのさまざまなオブジェクトが表示されてもよい。打撃操作を支援するオブジェクトとしては、例えば、タイミングヒントオブジェクト605、ミートカーソル606、位置ヒントオブジェクト608、方向ヒントオブジェクト609等がある。
図7に示すとおり、投球画面700には、投手キャラクタ603に投げさせる球種を指定するための球種指定オブジェクト610、および、コース(内角高め、低め等)を指定するためのコース指定オブジェクト(図示せず)等が表示されてもよい。
本実施形態では、打撃側ユーザ端末100Bの表示制御部115は、自端末においてオート制御が設定されている場合に、例えば、図4に示す打撃画面600を表示する。該打撃画面600は、オート制御およびマニュアル制御のいずれかをユーザが指定するためのUIオブジェクトを含む。UIオブジェクトは、例えば、現在設定されているオート制御をマニュアル制御へ切り替えるためのマニュアル指定ボタン613である。フェーズが開始される前、または、投手キャラクタ603が投球を開始するよりも前に、ユーザがマニュアル指定ボタン613をタッチすると、この1球の対決に関して、ユーザは、自身の打撃操作によって打者キャラクタ601を制御することができる。制御設定部112は、上述のタッチ操作にしたがって、マニュアル制御に設定を切り替える。
これに伴い、表示制御部115は、図5に示す打撃画面600を表示する。該打撃画面600は、オート制御およびマニュアル制御のいずれかをユーザが指定するためのUIオブジェクトを含む。UIオブジェクトは、例えば、切り替えられたマニュアル制御を再びオート制御へ切り替えるためのオート指定ボタン614である。また、打撃画面600は、ユーザの打撃操作を支援する各種支援オブジェクト(ボール604、タイミングヒントオブジェクト605、ミートカーソル606、位置ヒントオブジェクト608および方向ヒントオブジェクト609等)を含む。
なお、フェーズが進行している途中、すなわち、投手キャラクタ603が投球を開始した後のタイミングにおいて、制御方法を急に切り替えることはしない。したがって、制御設定部112は、上述のタイミングでマニュアル指定ボタン613またはオート指定ボタン614が押下されたとしても、フェーズとフェーズの境界で、制御方法を切り替える。
本実施形態では、投球側ユーザ端末100Aの表示制御部115は、自端末においてオート制御が設定されている場合に、例えば、図6に示す投球画面700を表示する。該投球画面700は、オート制御およびマニュアル制御のいずれかをユーザが指定するためのUIオブジェクトを含む。UIオブジェクトは、例えば、現在設定されているオート制御をマニュアル制御へ切り替えるためのマニュアル指定ボタン613である。フェーズが開始される前、または、投手キャラクタ603が投球を開始するよりも前に、ユーザがマニュアル指定ボタン613をタッチすると、この1球の対決に関して、ユーザは、自身の投球操作によって投手キャラクタ603を制御することができる。制御設定部112は、上述のタッチ操作にしたがって、マニュアル制御に設定を切り替える。
これに伴い、表示制御部115は、図7に示す投球画面700を表示する。該投球画面700は、オート制御およびマニュアル制御のいずれかをユーザが指定するためのUIオブジェクトを含む。UIオブジェクトは、例えば、切り替えられたマニュアル制御を再びオート制御へ切り替えるためのオート指定ボタン614である。また、投球画面700は、ユーザの投球操作を支援する各種支援オブジェクトを含む。支援オブジェクトは、例えば、投手キャラクタ603に投げさせる球種を指定するための球種指定オブジェクト610、および、コース(内角高め、低め等)を指定するためのコース指定オブジェクト(図示せず)等である。
さらに、表示制御部115は、自端末および対戦相手のユーザ端末100のそれぞれにおいて、いずれの制御方法が設定されているのかを示す制御方法情報615を打撃画面600または投球画面700に含めてもよい。これにより、ユーザは、対戦相手がオート制御かマニュアル制御かに応じて、戦略的に、自身のユーザ端末100の制御方法を切り替えることができる。
<処理フロー>
図8は、ゲームシステム1に含まれる各装置が、ゲームプログラムに基づいて実行する処理の流れを示すフローチャートである。図8に示す例では、対戦を実行する2つのユーザ端末100のうち、投球側ユーザ端末100Aにおいてオート制御の設定が維持され、打撃側ユーザ端末100Bにおいてマニュアル制御に設定が切り替えられるケースを想定している。
サーバ200の対戦進行部211は、各ユーザ端末100からのリクエストに応じて、対戦に参加させる2つのユーザ端末100を引き合わせ、対戦を開始する(ステップS101)。本実施形態では、一例として、各ユーザ端末100の制御方法は、初期設定でオート制御が設定されているものとする。
対戦進行部211は、1回表から順次フェーズを開始する(ステップS102)。具体的には、対戦進行部211は、処理対象のフェーズの開始を、各ユーザ端末100に通知するとともに、開始される該フェーズのフェーズ情報を配信する。フェーズ情報とは、該フェーズが開始される時点における対戦の状況を示す詳しい情報である。フェーズ情報は、一例として、イニング数、点数、出塁状況、アウトカウント、ボールカウント、投手キャラクタの名前、および、打者キャラクタの名前等である。
投球側ユーザ端末100Aのアニメーション生成部114は、受信したフェーズ情報と、オート制御が設定されていることとに基づいて、マウンド場面を生成する(ステップS103)。表示制御部115は、生成されたマウンド場面を含むゲーム画面を表示部152に表示する(ステップS104)。ここで、例えば、図6に示す投球画面700が表示される。
図6に示す投球画面700のマニュアル指定ボタン613が押下されない場合、制御設定部112は、制御方法の切り替えを行わず、何もサーバ200に対して通知しない。サーバ200の制御判定部212は、フェーズが開始されてから所定期間内に、制御設定部112からマニュアル制御が設定された旨の通知を受信しなければ、投球側ユーザ端末100Aにおいてオート制御の設定が維持されていると判定する(ステップS105)。マニュアル制御が設定された旨の通知を、以下、マニュアル制御通知と称する。
打撃側ユーザ端末100Bのアニメーション生成部114は、受信したフェーズ情報と、オート制御が設定されていることとに基づいて、打席場面を生成する(ステップS106)。表示制御部115は、生成された打席場面を含むゲーム画面を表示部152に表示する(ステップS107)。ここで、例えば、図4に示す打撃画面600が表示される。
図4に示す打撃画面600のマニュアル指定ボタン613が押下されたことを操作受付部111が受け付ける(ステップS108)。この場合、制御設定部112は、制御方法を、マニュアル制御に切り替えて、マニュアル制御に切り替えたことをサーバ200に通知する(ステップS109)。
制御判定部212は、投手キャラクタ603によって投球が開始される時点よりも前に、制御設定部112からマニュアル制御通知を受信する。この場合、制御判定部212は、打撃側ユーザ端末100Bにおいてオート制御からマニュアル制御に切り替えられたと判定する(ステップS110)。
対戦進行部211は、処理中のフェーズを、投球開始時点まで進行させる(ステップS111)。これに伴い、動作結果特定部213は、投球側ユーザ端末100Aがオート制御であることに基づいて、投手キャラクタ603に動作させる投球動作の投球結果を決定する(ステップS112)。動作結果特定部213は、投球結果を決定するために、投手キャラクタ603の能力値および属性(得意な球種等)、ならびに、対決相手の打者キャラクタ601の能力値および属性(右打ちか左打ちか等)を、ゲーム情報132から読み出して参照してもよい。
動作結果特定部213は、決定した投球結果を投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bに送信する(ステップS113)。なお、ユーザ端末100がオフラインである場合には、動作結果特定部213は、該投球結果をフェーズごとに送信しなくてもよい。代わりに、動作結果特定部213は、決定した投球結果をそれぞれのユーザ端末100のゲーム情報132として蓄積しておき、各ユーザ端末100がオンラインになったときにまとめて配信してもよい。「ユーザ端末100がオフラインである」とは、ユーザ端末100が該対戦型野球ゲームのアプリケーションを起動していない状態、または、ユーザ端末100の電源が入っていない状態等を指す。
動作結果特定部213から投球結果を受信した投球側ユーザ端末100Aのアニメーション生成部114は、受信した該投球結果を反映した投球アニメーションを生成する(ステップS114)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS115)。
一方、動作結果特定部213から投球結果を受信した打撃側ユーザ端末100Bのアニメーション生成部114は、該投球結果を反映した投球アニメーションを生成する(ステップS116)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS117)。ここで、例えば、図5に示す打撃画面600が表示される。
図5に示す打撃画面600が表示されている間、ボール604が上述の交差面に到達するまでの間、ユーザは、入力部151に対してスライド操作またはフリック操作等を実施して、打撃操作を入力することができる。具体的には、ミートカーソル606を希望の位置に動かしたり、位置決めされたミートカーソル606めがけて、打者キャラクタ601にバット602をスイングさせたりすることができる。こうして、操作受付部111がユーザの打撃操作を受け付けると(ステップS118)、動作結果決定部113は、受け付けられた該打撃操作に基づいて、打撃結果を決定する(ステップS119)。動作結果決定部113は、決定した打撃結果をサーバ200に送信する(ステップS120)。
打撃側ユーザ端末100Bのアニメーション生成部114は、決定された該打撃結果を反映した打球アニメーションを生成する(ステップS121)。表示制御部115は、生成された打球アニメーションを含むゲーム画面を表示部152に表示する(ステップS122)。
サーバ200の動作結果特定部213は、マニュアル制御が設定されている打撃側ユーザ端末100Bから打撃結果を受信する(ステップS123)。動作結果特定部213は、該打撃結果を受信することにより、対戦で採用する打撃結果を特定することができる。動作結果特定部213は、受信した打撃結果を、対戦相手の投球側ユーザ端末100Aに送信する(ステップS124)。
なお、動作結果特定部213は、ボール604が上述の交差面に到達するまでに、打撃結果を打撃側ユーザ端末100Bから受信しなかった場合、打者キャラクタ601の見逃しの動作を打撃結果として決定してもよい。例えば、打撃側ユーザ端末100Bのユーザが、マニュアル制御を指定しておきながら何ら打撃操作を行わなかった場合には、打者キャラクタ601は、スイングせず、バット602にボール604は当たらなかったと判定される。
投球側ユーザ端末100Aのアニメーション生成部114は、サーバ200から打撃結果を受信すると、該打撃結果を反映した打球アニメーションを生成する(ステップS125)。表示制御部115は、生成された打球アニメーションを含むゲーム画面を表示部152に表示する(ステップS126)。
最後に、サーバ200の対戦進行部211は、該打撃結果が特定されることによって決着がついた該フェーズに基づいて、フェーズ情報を更新する(ステップS127)。そして、該フェーズを完了させ、次のフェーズに移行する。すなわち、対戦進行部211は、S102に戻り、新たなフェーズを開始する。新たなフェーズは、各ユーザ端末100からのマニュアル制御通知の有無に基づいて、進行される。
〔実施形態2〕
処理フローについて別のケースを説明する。図9は、ゲームシステム1に含まれる各装置が、ゲームプログラムに基づいて実行する処理の流れを示すフローチャートである。図9に示す例では、対戦を実行する2つのユーザ端末100のうち、投球側ユーザ端末100Aにおいてマニュアル制御に設定が切り替えられ、打撃側ユーザ端末100Bにおいてオート制御の設定が維持されるケースを想定している。
サーバ200の対戦進行部211は、図8に示すステップS101およびステップS102と同様に、ステップS201およびステップS202をそれぞれ実行する。
投球側ユーザ端末100Aのアニメーション生成部114は、図8に示すステップS103およびステップS104と同様に、ステップS203およびステップS204をそれぞれ実行する。
図6に示す投球画面700のマニュアル指定ボタン613が押下されたことを操作受付部111が受け付ける(ステップS205)。この場合、制御設定部112は、制御方法を、マニュアル制御に切り替えて、マニュアル制御に切り替えたことをサーバ200に通知する(ステップS206)。また、表示制御部115は、表示部152における表示を図7に示す投球画面700に切り替える。
制御判定部212は、フェーズが開始されてから所定期間内に、制御設定部112からマニュアル制御通知を受信した場合、投球側ユーザ端末100Aにおいてオート制御からマニュアル制御に切り替えられたと判定する(ステップS207)。
一方、打撃側ユーザ端末100Bのアニメーション生成部114は、ステップS106およびステップS107と同様に、ステップS208およびステップS209をそれぞれ実行する。
図4に示す打撃画面600のマニュアル指定ボタン613が押下されない場合、制御設定部112は、制御方法の切り替えを行わず、サーバ200に対して何も通知しない。サーバ200の制御判定部212は、投手キャラクタ603によって投球が開始される時点よりも前に、制御設定部112からマニュアル制御通知を受信しなければ、打撃側ユーザ端末100Bにおいてオート制御の設定が維持されていると判定する(ステップS210)。
その一方、対戦進行部211は、処理中のフェーズを、投球開始時点まで進行させる(ステップS211)。対戦進行部211は、投球側ユーザ端末100Aがマニュアル制御であることに基づいて、マルチプレイの同期のためのデータとして、投球開始合図を投球側ユーザ端末100Aに送信する。
この投球開始合図にしたがって、投球側ユーザ端末100Aにおいて、該フェーズにおけるオートへの切り替えが締め切られ、図7に示す投球画面700にて投球操作が受け付けられる(ステップS212)。ユーザは、入力部151に対してタッチ操作等を実施して、投球操作を入力することができる。具体的には、球種指定オブジェクト610において所望の球種を選択したり、好投失投ゲージ(図示せず)の照準が好投の範囲に収まるようにタイミングを指定したり、コース指定オブジェクト(図示せず)において所望のコースを選択したりすることができる。こうして、操作受付部111がユーザの投球操作を受け付けると、動作結果決定部113は、受け付けられた該投球操作に基づいて、投球結果を決定する(ステップS213)。動作結果決定部113は、決定した投球結果をサーバ200に送信する(ステップS214)。
その一方、アニメーション生成部114は、決定された該投球結果を反映した投球アニメーションを生成する(ステップS215)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS216)。
サーバ200の動作結果特定部213は、マニュアル制御が設定されている投球側ユーザ端末100Aから投球結果を受信する(ステップS217)。動作結果特定部213は、受信した投球結果を、対戦相手の打撃側ユーザ端末100Bに送信する(ステップS218)。
なお、サーバ200が、投球開始の同期がとられた時点(ステップS211)から所定期間以内(例えば、30秒以内)に、投球結果を投球側ユーザ端末100Aから受信しない場合が想定される。この場合、動作結果特定部213は、投手キャラクタ603による失投を投球結果として決定してもよい。例えば、投球側ユーザ端末100Aのユーザがマニュアル制御を指定しておきながら何ら投球操作を行わなかった場合には、投手キャラクタ603は、失投したと判定される。
打撃側ユーザ端末100Bのアニメーション生成部114は、サーバ200から投球結果を受信すると、該投球結果を反映した投球アニメーションを生成する(ステップS219)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS220)。
動作結果特定部213は、打撃側ユーザ端末100Bがオート制御であることに基づいて、打者キャラクタ601に動作させる打撃動作(攻撃動作)の打撃結果を決定する(ステップS221)。この決定は、ステップS217で投球結果が受信された後、ボール604が上述の交差面に到達するまでの間に実施される。動作結果特定部213は、打撃結果を決定するために、対決する各キャラクタの能力値および属性を参照してもよい。
動作結果特定部213は、決定した打撃結果を投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bに送信する(ステップS222)。なお、ユーザ端末100がオフラインである場合には、動作結果特定部213は、打撃結果を、各ユーザ端末100がオンラインになったときにまとめて配信してもよい。
動作結果特定部213から打撃結果を受信した投球側ユーザ端末100Aのアニメーション生成部114は、受信した該打撃結果を反映した打撃アニメーションを生成する(ステップS223)。表示制御部115は、生成された打撃アニメーションを含むゲーム画面を表示部152に表示する(ステップS224)。
一方、動作結果特定部213から打撃結果を受信した打撃側ユーザ端末100Bのアニメーション生成部114は、該打撃結果を反映した打撃アニメーションを生成する(ステップS225)。表示制御部115は、生成された打撃アニメーションを含むゲーム画面を表示部152に表示する(ステップS226)。
最後に、サーバ200の対戦進行部211は、該打撃結果が決定されることによって決着がついた該フェーズに基づいて、フェーズ情報を更新する(ステップS227)。そして、S202に戻り、新たなフェーズを開始する。新たなフェーズは、各ユーザ端末100からのマニュアル制御通知の有無に基づいて、進行される。
〔実施形態3〕
処理フローについて別のケースを説明する。図10は、ゲームシステム1に含まれる各装置が、ゲームプログラムに基づいて実行する処理の流れを示すフローチャートである。図10に示す例では、対戦を実行する2つのユーザ端末100のうち、投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bにおいて、ともに、オート制御の設定が維持されているケースを想定している。
サーバ200の対戦進行部211は、ステップS101およびステップS102と同様に、ステップS301およびステップS302をそれぞれ実行する。
投球側ユーザ端末100Aのアニメーション生成部114および表示制御部115は、それぞれ、ステップS103およびステップS104と同様に、ステップS303およびステップS304をそれぞれ実行する。
実施形態1と同様に、図6に示す投球画面700のマニュアル指定ボタン613が押下されない場合、制御設定部112は、サーバ200に対して何ら通知しない。サーバ200の制御判定部212は、フェーズが開始されてから所定期間内に、制御設定部112からマニュアル制御通知を受信しなければ、投球側ユーザ端末100Aにおいてオート制御の設定が維持されていると判定する(ステップS305)。
一方、打撃側ユーザ端末100Bのアニメーション生成部114は、ステップS106およびステップS107と同様に、ステップS306およびステップS307をそれぞれ実行する。
実施形態2と同様に、図4に示す打撃画面600のマニュアル指定ボタン613が押下されない場合、制御設定部112は、サーバ200に対して何ら通知しない。サーバ200が、投手キャラクタ603によって投球が開始される時点よりも前に、制御設定部112からマニュアル制御通知を受信しない場合が想定される。この場合、制御判定部212は、打撃側ユーザ端末100Bにおいてオート制御の設定が維持されていると判定する(ステップS308)。
対戦進行部211は、処理中のフェーズを、投球開始時点まで進行させる(ステップS309)。実施形態1と同様に、動作結果特定部213は、投球側ユーザ端末100Aがオート制御であることに基づいて、投手キャラクタ603に動作させる投球動作の投球結果を決定する(ステップS310)。そして、動作結果特定部213は、決定した投球結果を投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bに送信する(ステップS311)。
動作結果特定部213から投球結果を受信した投球側ユーザ端末100Aのアニメーション生成部114は、受信した該投球結果を反映した投球アニメーションを生成する(ステップS312)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS313)。
投球側ユーザ端末100Aと同様に、打撃側ユーザ端末100Bのアニメーション生成部114は、サーバ200から投球結果を受信すると、該投球結果を反映した投球アニメーションを生成する(ステップS314)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS315)。
実施形態2と同様に、動作結果特定部213は、打撃側ユーザ端末100Bがオート制御であることに基づいて、打者キャラクタ601に動作させる打撃動作の打撃結果を決定する(ステップS316)。この決定は、ステップS310で投球結果が受信された後、ボール604が上述の交差面に到達するまでの間に実施される。動作結果特定部213は、決定した打撃結果を投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bに送信する(ステップS317)。
投球側ユーザ端末100Aのアニメーション生成部114および表示制御部115は、ステップS223およびステップS224と同様に、ステップS318およびステップS319をそれぞれ実行する。一方、打撃側ユーザ端末100Bのアニメーション生成部114および表示制御部115は、ステップS225およびステップS226と同様に、ステップS320およびステップS321をそれぞれ実行する。
最後に、サーバ200の対戦進行部211は、該打撃結果が決定されることによって決着がついた該フェーズに基づいて、フェーズ情報を更新する(ステップS322)。そして、ステップS302に戻り、新たなフェーズを開始する。新たなフェーズは、各ユーザ端末100からのマニュアル制御通知の有無に基づいて、進行される。
〔実施形態4〕
処理フローについて別のケースを説明する。図11は、ゲームシステム1に含まれる各装置が、ゲームプログラムに基づいて実行する処理の流れを示すフローチャートである。図11に示す例では、対戦を実行する2つのユーザ端末100のうち、投球側ユーザ端末100Aおよび打撃側ユーザ端末100Bにおいて、ともに、マニュアル制御に設定が切り替えられるケースを想定している。
サーバ200の対戦進行部211は、ステップS101およびステップS102と同様に、ステップS401およびステップS402をそれぞれ実行する。
投球側ユーザ端末100Aのアニメーション生成部114および表示制御部115は、ステップS103およびステップS104と同様に、ステップS403およびステップS404をそれぞれ実行する。
実施形態2と同様に、図6に示すマニュアル指定ボタン613が押下されたことを操作受付部111が受け付けると(ステップS405)、制御設定部112は、マニュアル制御に切り替えたことをサーバ200に通知する(ステップS406)。また、表示制御部115は、表示部152における表示を図7に示す投球画面700に切り替える。
制御判定部212は、フェーズが開始されてから所定期間内に、制御設定部112からマニュアル制御通知を受信した場合、投球側ユーザ端末100Aにおいてオート制御からマニュアル制御に切り替えられたと判定する(ステップS407)。
打撃側ユーザ端末100Bのアニメーション生成部114および表示制御部115は、それぞれ、ステップS106およびステップS107と同様に、ステップS408およびステップS409をそれぞれ実行する。
実施形態1と同様に、図4に示すマニュアル指定ボタン613が押下されたことを操作受付部111が受け付けると(ステップS410)、制御設定部112は、マニュアル制御に切り替えたことをサーバ200に通知する(ステップS411)。
サーバ200は、投手キャラクタ603によって投球が開始される時点よりも前に、制御設定部112からマニュアル制御通知を受信することが想定される。この場合、制御判定部212は、打撃側ユーザ端末100Bにおいてオート制御からマニュアル制御に切り替えられたと判定する(ステップS412)。
対戦進行部211は、処理中のフェーズを、投球開始時点まで進行させる(ステップS413)。対戦進行部211は、投球側ユーザ端末100Aがマニュアル制御であることに基づいて、マルチプレイの同期のためのデータとして、投球開始合図を投球側ユーザ端末100Aに送信する。
実施形態2のステップS212と同様に、操作受付部111は、図7に示す投球画面700を介してユーザの投球操作を受け付ける(ステップS414)。この場合、動作結果決定部113は、受け付けられた該投球操作に基づいて、投球結果を決定する(ステップS415)。動作結果決定部113は、決定した投球結果をサーバ200に送信する(ステップS416)。
投球側ユーザ端末100Aのアニメーション生成部114は、決定された該投球結果を反映した投球アニメーションを生成する(ステップS417)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS418)。
サーバ200の動作結果特定部213は、マニュアル制御が設定されている投球側ユーザ端末100Aから投球結果を受信する(ステップS419)。動作結果特定部213は、受信した投球結果を、対戦相手の打撃側ユーザ端末100Bに送信する(ステップS420)。
実施形態2と同様に、サーバ200が、投球開始の同期がとられた時点(ステップS413)から所定期間以内(例えば、30秒以内)に、投球結果を投球側ユーザ端末100Aから受信しない場合が想定される。この場合、動作結果特定部213は、投手キャラクタ603による失投を投球結果として決定してもよい。
打撃側ユーザ端末100Bのアニメーション生成部114は、サーバ200から投球結果を受信すると、該投球結果を反映した投球アニメーションを生成する(ステップS421)。表示制御部115は、生成された投球アニメーションを含むゲーム画面を表示部152に表示する(ステップS422)。
実施形態1のステップS118と同様に、操作受付部111は、図5に示す打撃画面600を介してユーザの打撃操作を受け付ける(ステップS423)。この場合、動作結果決定部113は、受け付けられた該打撃操作に基づいて、打撃結果を決定する(ステップS424)。動作結果決定部113は、決定した打撃結果をサーバ200に送信する(ステップS425)。
続いて、アニメーション生成部114および表示制御部115は、ステップS121およびステップS122と同様に、ステップS426およびステップS427をそれぞれ実行する。
サーバ200の動作結果特定部213は、マニュアル制御が設定されている打撃側ユーザ端末100Bから打撃結果を受信する(ステップS428)。動作結果特定部213は、該打撃結果を受信することにより、対戦で採用する打撃結果を特定することができる。動作結果特定部213は、受信した打撃結果を、対戦相手の投球側ユーザ端末100Aに送信する(ステップS429)。
実施形態1と同様に、動作結果特定部213は、ボール604が上述の交差面に到達するまでに、打撃結果を打撃側ユーザ端末100Bから受信しなかった場合、打者キャラクタ601の見逃しの動作を打撃結果として決定してもよい。
投球側ユーザ端末100Aのアニメーション生成部114および表示制御部115は、ステップS125およびステップS126と同様に、ステップS430およびステップS431をそれぞれ実行する。
最後に、サーバ200の対戦進行部211は、該打撃結果が特定されることによって決着がついた該フェーズに基づいて、フェーズ情報を更新する(ステップS432)。そして、S402に戻り、新たなフェーズを開始する。新たなフェーズは、各ユーザ端末100からのマニュアル制御通知の有無に基づいて、進行される。
〔変形例〕
(複数対戦同時進行)
各ユーザ端末100は、複数の対戦を同時に進行させてもよい。図12は、本変形例において、ユーザ端末100の制御部110によって生成されるゲーム画面の一例である。図12に示す対戦一覧画面800によれば、ユーザ端末100において実行されている複数の対戦が一覧表示される。対戦一覧画面800は、進行中の各対戦のそれぞれの状況を示す情報である、対戦デッキ801または対戦デッキ802等を含む。ユーザは、対戦デッキに示されたイニング数、点数、出塁状況、アウトカウント、および、ボールカウント等のフェーズ情報を確認し、各対戦の状況を把握することができる。
さらに、ユーザは、対戦一覧画面800から、各対戦のプレイ画面を呼び出すことができる。例えば、操作受付部111が、対戦デッキ801に対するタッチ操作を受け付けると、アニメーション生成部114は、対戦1において現在進行している打席場面のアニメーションを生成する。そして、表示制御部115は、生成された打席場面を含む打撃画面600(例えば、図4)を表示部152に表示する。例えば、ユーザは、呼び出した画面からマニュアル指定ボタン613を押下することにより、次のフェーズから打撃動作に介入することが可能となる。
また、表示制御部115は、ユーザの介入を勧めるための通知を、各対戦デッキに対して付与してもよい。例えば、キャラクタの1の動作によって、対戦の局面が変化し得る場面に差し掛かっている対戦について、表示制御部115は、該対戦の対戦デッキに、介入を勧める通知を表示してもよい。局面が変化し得る場面とは、一例を挙げると、一打で逆転可能な場面である。このような場面であるか否かの判定は、フェーズ情報に基づいて、ユーザ端末100の制御部110が実行してもよいし、サーバ200の対戦進行部211が実行してもよい。介入を勧める通知とは、すなわち、マニュアル制御を促す通知であり、一例を挙げると、アイコン803である。あるいは、ユーザ端末100が投球側ユーザ端末100Aである場合には、「ピンチ!」の文字を付したアイコンが、マニュアル制御を促す通知として表示されてもよい。
(対戦進行速度の調整)
対戦進行部211は、制御方法がいずれに設定されている場合であっても、各フェーズを完了させるための所要時間がほぼ一律になるように、各フェーズを所定時間以上かけて進行させることが望ましい。このために、対戦進行部211は、投球側ユーザによる投球操作を受け付ける期間に一律の制約を設ける。例えば、対戦進行部211は、投球側ユーザ端末100Aにおいてマニュアル制御が設定されている場合に、フェーズが開始されてから30秒以内に投球側ユーザによる投球操作を受け付けることとし、これを過ぎると強制的に該フェーズを進行させてもよい。「30秒以内」というのは受付期間に係る制約の一例であり、任意の値であってよい。すなわち、対戦進行部211は、投球操作に関して、ユーザ操作完了期限(予め設定された期限)を設定し、各フェーズの所要時間が所定より長くならないようにする。対戦進行部211がユーザ操作完了期限を徒過したと判断すると、動作結果特定部213は、ゲームプログラム131に基づいて、所定の投球結果(例えば、失投)を特定する。
対戦進行部211は、投球側ユーザ端末100Aにおいてオート制御が設定されている場合に、フェーズ開始から、ゲームプログラムに基づいて投球動作が実行されるまでにかかる時間を、上述の受付期間とほぼ同一にすることが望ましい。すなわち、対戦進行部211は、オート制御の場合であっても、一部のフェーズ、打席またはイニングの進行をスキップしたり、早送りしたりしない。
結果として、制御方法がいずれに設定されている場合であっても、各フェーズにおいて投球動作を開始させるのにかかる時間を一定(例えば、30秒以内)にすることができる。これにより、フェーズ全体の所要時間をほぼ同じに統一することができる。投球動作が開始されて以降のフェーズに係る残りの所要時間は、打撃動作に係る所要時間であるが、これは元々ほぼ一定である。打撃側ユーザの打撃操作が受け付けられる期間は、投球動作が開始されてからボール604が交差面に到達するまでの間と決まっており、この期間は大きなばらつきがないためである。
対戦進行部211は、一例として、1つの対戦が1時間程度で完了するように各フェーズを進行させることが想定される。
〔ソフトウェアによる実現例〕
制御部210の制御ブロック(特に、対戦進行部211、制御判定部212および動作結果特定部213)、ならびに、制御部110の制御ブロック(特に、操作受付部111、制御設定部112、動作結果決定部113、アニメーション生成部114および表示制御部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210および/または制御部110を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
上述の情報処理装置は、ゲームシステム1を構築するいずれか1台の装置(サーバ200またはユーザ端末100)によって実現されてもよいし、複数の装置の組み合わせ(サーバ200およびユーザ端末100)によって実現されてもよい。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) プロセッサ(10)およびメモリ(11)を備えるコンピュータ(ユーザ端末100、サーバ200)において実行されるゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、一方のコンピュータ(ユーザ端末100、投球側ユーザ端末100A、打撃側ユーザ端末100B)を操作するユーザが制御可能な1以上のキャラクタから成るチームが、他方のコンピュータ(ユーザ端末100、打撃側ユーザ端末100B、投球側ユーザ端末100A)を操作する対戦相手のユーザが制御可能な1以上のキャラクタから成るチームと対戦する対戦型ゲームであり、ゲームプログラムは、プロセッサに、対戦におけるキャラクタの制御に関して、ゲームプログラムに基づくオート制御、および、ユーザが実施するユーザ操作に基づくマニュアル制御のいずれが指定されたのかを判定するステップ(ステップS105、ステップS110、ステップS207、ステップS210、ステップS305、ステップS308、ステップS407、ステップS412)と、オート制御が指定された場合に、ゲームプログラムに基づいて、キャラクタの動作結果(投球結果D1、打撃結果D2)を決定する(ステップS112、ステップS221、ステップS310、ステップS316)か、または、マニュアル制御が指定された場合に、ユーザ操作に基づいて決定されたキャラクタの動作結果を指定元のコンピュータから受信する(ステップS123、ステップS217、ステップS419、ステップS428)ことにより、キャラクタの動作結果を特定するステップと、特定された動作結果に基づいて、対戦を進行させるステップ(ステップS127、ステップS227、ステップS322、ステップS432)とを実行させる。これにより、ゲームの興趣性を向上させる効果を奏する。
(項目2) (項目1)において、対戦は、各チームが攻守に分かれて動作することによって進行するものであって、該対戦は、複数のフェーズで構成されており、該フェーズは、攻撃に係る攻撃動作を攻撃側のチームのキャラクタに、守備に係る守備動作を守備側のチームのキャラクタに、それぞれ所定回数実行させることにより進行するものであり、判定するステップは、フェーズごとに、オート制御およびマニュアル制御のいずれが指定されたのかを判定することを含み、特定するステップは、フェーズごとに動作結果を特定することを含み、進行させるステップは、フェーズごとに特定された動作結果に基づいて、各フェーズを進行させることを含む。これにより、フェーズごとにオート制御とマニュアル制御とを切り替える権利がユーザに与えられる。結果として、ゲームの興趣性を向上させる効果を奏する。
(項目3) (項目2)において、進行させるステップは、対戦に含まれるすべてのフェーズを、所定時間以上かけて進行させることを含む。これにより、オート制御が指定されている場合であっても、フェーズは、早送りされたり、スキップされたりしない。したがって、一方のコンピュータにおいてオート制御、他方のコンピュータにおいてマニュアル制御が指定されていても、時間的な齟齬がなく対戦を進行させることができる。
(項目4) (項目3)において、特定するステップは、マニュアル制御が指定された場合に、動作結果を指定元のコンピュータから受信しないまま、予め設定された期限(ユーザ操作完了期限)を徒過した場合に、ゲームプログラムに基づいて、キャラクタの動作結果を特定することを含む。これにより、マニュアル制御が指定されている場合に、ユーザ操作完了期限を設けて、各フェーズの所要時間が所定より長くならないようにすることができる。したがって、一方のコンピュータおよび他方のコンピュータの少なくともいずれか一方においてマニュアル制御が指定されていても、時間的な齟齬がなく対戦を進行させることができる。
(項目5) (項目2)から(項目4)までのいずれか1項目において、フェーズは、守備側のチームのキャラクタ(投手キャラクタ603)に、守備動作としての投球動作を実行させ、攻撃側のチームのキャラクタ(打者キャラクタ601)に、攻撃動作としての打撃動作を実行させることにより進行するものであり、判定するステップは、指定を、投球動作が実行される前まで受け付けることを含む。これにより、1フェーズにつき守備動作が実行されてから攻撃動作が実行されるような対戦型ゲームにおいて、ゲームの興趣性を向上させる効果を奏する。
(項目6) (項目5)において、判定するステップにて、一方のコンピュータ(投球側ユーザ端末100A)から、守備側のチームの制御に関し、オート制御の指定を受け付け、他方のコンピュータ(打撃側ユーザ端末100B)から、攻撃側のチームの制御に関し、マニュアル制御の指定を受け付けた場合、特定するステップは、ゲームプログラムに基づいて、守備側のチームに属する投手キャラクタ(603)の投球結果(D1)を決定すること(ステップS112)、投球結果を、少なくとも他方のコンピュータに送信すること(ステップS113)、および、他方のコンピュータから、攻撃側のチームに属する打者キャラクタ(601)の打撃結果(D2)を受信すること(ステップS123)を含む。これにより、1フェーズにつき投球動作が実行されてから打撃動作が実行されるような対戦型ゲームにおいて、ゲームの興趣性を向上させる効果を奏する。
(項目7) (項目5)または(項目6)において、判定するステップにて、一方のコンピュータから、守備側のチームの制御に関し、マニュアル制御の指定を受け付け、他方のコンピュータから、攻撃側のチームの制御に関し、オート制御の指定を受け付けた場合、特定するステップは、一方のコンピュータから、守備側のチームに属する投手キャラクタの投球結果を受信すること(ステップS217)、ゲームプログラムに基づいて、攻撃側のチームに属する打者キャラクタの打撃結果を決定すること(ステップS221)、および、打撃結果を、少なくとも一方のコンピュータに送信すること(ステップS222)を含む。これにより、1フェーズにつき投球動作が実行されてから打撃動作が実行されるような対戦型ゲームにおいて、ゲームの興趣性を向上させる効果を奏する。
(項目8) (項目5)から(項目7)までのいずれか1項目において、判定するステップにて、一方のコンピュータから、守備側のチームの制御に関し、オート制御の指定を受け付け、他方のコンピュータから、攻撃側のチームの制御に関し、オート制御の指定を受け付けた場合、特定するステップは、ゲームプログラムに基づいて、守備側のチームに属する投手キャラクタの投球結果を決定すること(ステップS310)、および、ゲームプログラムに基づいて、攻撃側のチームに属する打者キャラクタの打撃結果を決定すること(S316)を含む。これにより、1フェーズにつき投球動作が実行されてから打撃動作が実行されるような対戦型ゲームにおいて、ゲームの興趣性を向上させる効果を奏する。
(項目9) (項目5)から(項目8)までのいずれか1項目において、判定するステップにて、一方のコンピュータから、守備側のチームの制御に関し、マニュアル制御の指定を受け付け、他方のコンピュータから、攻撃側のチームの制御に関し、マニュアル制御の指定を受け付けた場合、特定するステップは、一方のコンピュータから、守備側のチームに属する投手キャラクタの投球結果を受信すること(ステップS419)、投球結果を、少なくとも他方のコンピュータに送信すること(ステップS420)、他方のコンピュータから、攻撃側のチームに属する打者キャラクタの打撃結果を受信すること(ステップS428)、および、打撃結果を、少なくとも一方のコンピュータに送信すること(ステップS429)を含む。これにより、1フェーズにつき投球動作が実行されてから打撃動作が実行されるような対戦型ゲームにおいて、ゲームの興趣性を向上させる効果を奏する。
(項目10) (項目1)から(項目9)までのいずれか1項目において、判定するステップは、一方のコンピュータおよび他方のコンピュータの少なくともいずれか一方の表示部(152)に表示されたUIオブジェクト(マニュアル指定ボタン613、オート指定ボタン614)に対してなされたユーザ操作に基づいて、オート制御およびマニュアル制御のいずれが指定されたのかを判定することを含む。これにより、ユーザが、オート制御またはマニュアル制御を指定する際の操作性が向上する。
(項目11) (項目1)から(項目10)までのいずれか1項目において、進行させるステップは、1のコンピュータ(ユーザ端末100、投球側ユーザ端末100A、打撃側ユーザ端末100B)につき、対戦相手が異なる複数の対戦を同時に進行させることを含む。これにより、ゲームの興趣性を向上させる効果を奏する。
(項目12) (項目11)において、進行させるステップは、複数の対戦を実行する1のコンピュータ(ユーザ端末100、投球側ユーザ端末100A、打撃側ユーザ端末100B)の表示部(152)に、該複数の対戦の各状況を示す情報(対戦デッキ801、802)を一覧表示させることを含む。これにより、ゲームの興趣性を向上させる効果を奏する。
(項目13) (項目12)において、進行させるステップは、キャラクタの1つの動作によって、対戦の局面が変化し得る場面であるか否かを判定すること、および、変化し得る場面と判定した場合に、対戦についてマニュアル制御を促す通知(アイコン803)を、表示部に表示させることを含む。これにより、ゲームの興趣性を向上させる効果を奏する。
(項目14) プロセッサおよびメモリを備えるコンピュータがゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、一方のコンピュータを操作するユーザが制御可能な1以上のキャラクタから成るチームが、他方のコンピュータを操作する対戦相手のユーザが制御可能な1以上のキャラクタから成るチームと対戦する対戦型ゲームであり、方法は、プロセッサが、対戦におけるキャラクタの制御に関して、ゲームプログラムに基づくオート制御、および、ユーザが実施するユーザ操作に基づくマニュアル制御のいずれが指定されたのかを判定するステップと、オート制御が指定された場合に、ゲームプログラムに基づいて、キャラクタの動作結果を決定するか、または、マニュアル制御が指定された場合に、ユーザ操作に基づいて決定されたキャラクタの動作結果を指定元のコンピュータから受信することにより、キャラクタの動作結果を特定するステップと、特定された動作結果に基づいて、対戦を進行させるステップと、を含む。(項目14)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目15) ゲームプログラム(131)を記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100、サーバ200)の動作を制御する制御部(110、210)と、を備えた該情報処理装置について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、一方のコンピュータを操作するユーザが制御可能な1以上のキャラクタから成るチームが、他方のコンピュータを操作する対戦相手のユーザが制御可能な1以上のキャラクタから成るチームと対戦する対戦型ゲームであり、制御部は、対戦におけるキャラクタの制御に関して、ゲームプログラムに基づくオート制御、および、ユーザが実施するユーザ操作に基づくマニュアル制御のいずれが指定されたのかを判定し、オート制御が指定された場合に、ゲームプログラムに基づいて、キャラクタの動作結果を決定するか、または、マニュアル制御が指定された場合に、ユーザ操作に基づいて決定されたキャラクタの動作結果を指定元のコンピュータから受信することにより、キャラクタの動作結果を特定し、特定された動作結果に基づいて、対戦を進行させる。(項目15)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。