〔実施形態1〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term 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が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図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などの他の装置と通信せずに、該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を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15のタッチ操作入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<各装置のハードウェア構成要素>
プロセッサ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とサーバ200との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末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は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
タッチ操作入力部151は、タッチパネルディスプレイのような表示部152と一体に構成されていてもよいし、タッチセンシティブデバイスのような表示部とは別体の装置として構成されていてもよい。本実施形態では、タッチ操作入力部151としてタッチパネルディスプレイ(タッチスクリーン15)を想定する。タッチスクリーン15は、表示部152とタッチ操作入力部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はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザがじゃんけんにおける「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザがじゃんけんにおける「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザがじゃんけんにおける「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
<ゲーム概要>
ゲームシステム1は、一例として、ユーザのタッチ操作によって操作可能なオブジェクを、ユーザの操作による第1の動作中に所定時間以上継続するタッチ操作を実行することにより、これらの操作に特有の第2の動作を当該オブジェクトに実行させるゲームを実行するためのシステムである。
ゲームの種類は限定されず、その例には、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲーム(格闘ゲーム)を含む。本実施形態では、ユーザが操作可能なオブジェクトを「操作キャラクタ」とも言う。
ゲームシステム1によるプレイ形態は、限定されず、例えば、単一のユーザによるシングルプレイゲームであってもよいし、複数のユーザによるマルチプレイゲームであってもよい。マルチプレイゲームは、例えば、複数のユーザが対戦する対戦ゲームであってもよいし、複数のユーザが協力する協力プレイゲームであってもよい。
本実施形態では、単一のユーザ端末100において実行される格闘ゲーム(シングルプレイ型格闘ゲーム)が想定されている。この場合、シングルプレイ型格闘ゲームをユーザ端末100において実行するために必要な情報のやりとりがユーザ端末100とサーバ200との間で行われる。
なお、マルチプレイ型ゲームとしての格闘ゲーム(マルチプレイ型格闘ゲーム)は、ユーザが操作するユーザ端末100(クライアントのコンピュータ)と、1以上の他のユーザが操作する1以上の他のユーザ端末100(他のクライアントのコンピュータ)との間で、該ゲームに係るデータの少なくとも一部を共有することにより、複数のユーザが1の格闘ゲームに参加して協力してプレイすることが可能な格闘ゲームである。
ゲームシステム1がマルチプレイ型格闘ゲームである場合、サーバ200を介して通信する第1のユーザ端末100、第2のユーザ端末100、および、第3のユーザ端末100・・・のそれぞれにおいて、共通する所定のゲーム環境が生成され、それぞれの表示部に表示される。また、格闘ゲームに係るデータとして、例えば、当該所定のゲーム環境に配置される操作オブジェクト以外の他のオブジェクトの種類および配置、クリア条件、各種ゲージ、プレイ結果などが、サーバ200を介して、複数のユーザ端末100間で共有される。サーバ200は、各ユーザ端末100から収集した情報、および、自装置において生成した情報を、1の格闘ゲームに協力して参加する各ユーザ端末100に配布して共有させる。
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるサーバ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ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて適宜に機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、タッチ操作受付部111、表示制御部112、ユーザインターフェース(以下、UI)制御部113、およびアニメーション生成部114として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
タッチ操作受付部111は、タッチ操作入力部151に対するユーザの入力操作を検知し受け付ける。タッチ操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、タッチ操作受付部111は、タッチ操作入力部151に対する入力操作を受け付けて、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。タッチ操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、タッチ操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
また、タッチ操作受付部111は、タッチ操作入力部151に対するユーザのタッチ操作の位置および継続時間を検出する。以下、タッチ操作入力部151に対してユーザがタッチ操作した位置を「タッチ位置」ともいう。タッチ操作の種類は、ユーザによるタッチ操作入力部151への接触の仕方によって分類可能な範囲で適宜に決められる。本実施形態では、ユーザによる一点での短時間の接触であるタップ、ある点から短時間で接触位置を滑らすフリック、ある点から接触位置を連続して移動させるフリック以外の操作であるドラッグ、および、一点での所定時間以上連続する接触であるロングタップ等を想定する。
UI制御部113は、UIを構築するために表示部152に表示させるUIオブジェクトを制御する。UIオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面、第3の動作のためのUIなどである。
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、抽選が実行されている様子を表現したアニメーション等を生成してもよい。
表示制御部112は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。例えば、表示制御部112は、ユーザが操作可能な操作キャラクタを表示部152に表示させる。また、表示制御部112は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を表示部152に表示してもよい。また、表示制御部112は、上述のUIオブジェクトを、該ゲーム画面に重畳して描画してもよい。
ゲーム実行部115は、ユーザの操作に基づく操作キャラクタの動作を、ゲーム空間に存在する操作キャラクタに実行させることにより、ゲームを進行させる。例えば、本実施形態のゲームは、操作キャラクタが敵キャラクタと戦闘することにより進行する。ゲーム実行部115は、操作キャラクタに実行させる動作の内容を、タッチ操作受付部111が受け付けた操作に基づいて決定する。動作の種類としては、例えば、敵キャラクタに対して作用を与える動作、操作キャラクタ自身の移動する動作があるが、これらに限られない。また、敵キャラクタに対して作用を与える動作としては、敵キャラクタに対する攻撃動作、敵キャラクタの状態を変化させる動作等があるが、これらに限られない。敵キャラクタに対する攻撃としては、敵キャラクタを所定距離ふきとばす技、よろけさせて所定期間行動不能にさせる技等があるが、これに限られない。また、変化させる敵キャラクタの状態としては、例えば、攻撃力、防御力、命中率、移動速度等が挙げられるが、これらに限られない。本ゲームでは、ユーザは操作キャラクタに攻撃動作等を実行させて、敵キャラクタの体力を減らし、敵キャラクタの体力が無くなると戦闘に勝利するものとする。
ゲーム実行部115は、タッチ操作受付部111が受け付けたタッチ操作に基づいて操作キャラクタに様々な動作を行わせる。また、ゲーム実行部115は決定した動作をアニメーション生成部114に通知する。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
[チャージ攻撃の処理例1]
本実施形態では、操作キャラクタが第1の動作を行っている間に、タッチ操作を第1の時間にわたって継続させている操作を受け付けることにより、第1の動作に続いて第2の動作を操作キャラクタに行わせる。本実施形態では、第1の動作も第2の動作も攻撃動作である形態について説明する。また、本実施形態では、第1の動作を実行させるための操作(以下、「第1の操作」ともいう。)は適宜設定可能であるが、例えば本実施形態ではタップ操作とし、タップ操作によって操作キャラクタが実行する攻撃動作を「タップ攻撃」ともいう。また、本実施形態では、第2動作として実行される攻撃動作を「チャージ攻撃」ともいう。タッチ操作を所定時間以上継続する操作を「長押し操作」ともいう。つまり、本実施形態では、操作キャラクタがタップ攻撃を行っている間に、タッチ操作受付部111が第1の時間にわたって長押し操作を受け付けることにより、操作キャラクタがチャージ攻撃を行う形態について説明する。
本ゲームにおけるチャージ攻撃の処理例について図3を用いて説明する。図3は、ユーザ端末100が実行するチャージ攻撃に関する処理の流れを示すフローチャートである。
ステップS301において、タッチ操作受付部111は、ユーザによる、タップ操作(第1の操作)の入力を受け付ける。ステップS302において、ゲーム実行部115は、操作キャラクタに第1の操作に基づくタップ攻撃(第1の動作)を実行させる。本ゲームでは、第2の動作の前の第1の動作は、1回の攻撃動作であってもよく、複数回連続する攻撃動作の全体であってもよく、連続する複数回の攻撃動作のうちの一部の攻撃動作(例えば最後の1回の攻撃動作)であってもよい。本例では、以下、特に他の例を示さない限り、第1の動作は1回のタップ攻撃である場合について説明する。
例えば、タップ攻撃を行っている間に、チャージ攻撃を実行するためのタッチ操作の継続時間である第1の時間より短い時間にわたって継続させるタッチ操作を受け付けることにより、タップ攻撃に続いて次のタップ攻撃を操作キャラクタに行わせてもよい。このような、タップ攻撃に続いて行われるタップ攻撃を判定するためのタップ操作の受付期間は、適宜設定され得る。例えば、操作キャラクタが各動作を実行する様子を描画するために要するフレーム数で規定されているものとする。また、例えば、タップ攻撃が40フレーム(1秒60フレームとする)で構成されるものとする。タップ攻撃の攻撃判定の発生は、タップ攻撃の開始から15フレーム後などと設定し得る。連続させてタップ攻撃を操作キャラクタに実行させるためのタッチ操作の判定の発生時期は、前回タップ攻撃の動作開始から10フレーム以降などと設定し得る。後述のチャージ攻撃に必要なタッチ操作に必要な、タッチ操作の継続時間を11フレームであるとして、10フレーム以下継続するタッチ操作をタッチ操作受付部111が受け付けた場合に、ゲーム実行部115は、当該タッチ操作をタップ操作として認識して、前回のタップ攻撃に続いて、次のタップ攻撃を操作キャラクタに実行させてもよい。
第1の動作は連続した攻撃動作のコンボ全体であってもよい。ここで、図6および図7を用いて、第1の動作が操作キャラクタによる攻撃動作のコンボである場合の操作キャラクタの動作の一例について説明する。図6は、本ゲームにおける、操作キャラクタを含む場面の一例を模式的に示す図である。画面500には、操作キャラクタ501および門502が表示されている。操作キャラクタ501は斧を武器として用いて攻撃動作を行うキャラクタである。門502は操作キャラクタ501の攻撃動作の対象のオブジェクトである。門502は、所定量のダメージを受けることによって破壊される。図7は、操作キャラクタ501の攻撃動作の一例を模式的に示す図である。図7に示すように、タッチ操作受付部111がタップ操作を受け付けると、操作キャラクタ501は斧を振ることによるタップ攻撃を実行する。操作キャラクタ501はユーザによる第1のタップ操作によって、図7(A)に示すように右から左へ斧を振る攻撃を実行し、第2のタップ操作によって、図7(B)に示すように左から右へ斧を振る攻撃を実行する。そして、第3のタップ操作によって、図7(C)に示すように上に振りかぶった斧を振り下ろす攻撃を実行する。図7(C)に示す攻撃態様の実行には、第3のタップ操作までの操作を図7(B)までの動作中に規定された時間内に実行することが必要である。以上により、3つの攻撃動作をコンボさせることができる。
ステップS303において、タッチ操作受付部111は、第1の動作中(タップ攻撃の動作)中に、ユーザによるタッチ操作を受け付けたか否かを判定する。
ステップS303においてタッチ操作受付部111がタップ攻撃中にタッチ操作を受け付けている場合には、ステップS304において、タッチ操作受付部111は、受け付けたタッチ操作が継続しているか否かを判定する。
ステップS304において、長押し操作が継続していることをタッチ操作受付部111が受け付けている場合には、ステップS305において、長押し操作の継続時間がt1秒以上か否かを判定する。t1秒は、その後のチャージ攻撃を実行するか否かの判定基準となる時間であり、本発明における第1の時間の一態様である。
ステップS305において、長押し操作の継続時間がt1秒以上であることをタッチ操作受付部111が検出した場合には、ステップS306において、ゲーム実行部115は操作キャラクタに第1の動作としてのタップ攻撃に引き続いて、第2の動作としてチャージ攻撃を実行させる。また、上述のように、ステップS302における第1の動作はコンボを構成するタップ攻撃でもよいので、当該チャージ攻撃は、当該タップ攻撃に引き続いて行われることで、コンボを継続させる攻撃となってもよい。複数のタップ攻撃の組み合わせに、チャージ攻撃が組み合わされて実行される。したがって、操作キャラクタの動作がさらに多様化する。
ここでは、長押し操作がt1秒になったことをタッチ操作受付部111が検出した時点で、ゲーム実行部115が操作キャラクタにチャージ攻撃を実行させる形態について説明した。別の形態として、長押し操作がt1秒以上になり、かつ、タッチ操作受付部111が長押し操作が解除されたことを検出することで、ゲーム実行部115が操作キャラクタにチャージ攻撃を実行させてもよい。
また、別の形態として、タップ攻撃に続いてタップ攻撃を連続して、操作キャラクタが行っている間において、後段のタップ攻撃を操作キャラクタが行っている間に、タッチ操作をt1秒にわたって継続させている操作を受け付けることにより、後段のタップ攻撃に続いてチャージ攻撃を操作キャラクタに行わせてもよい。このような形態により、より多様な、および/または、より多くの作用を対象オブジェクトへ与えることが可能になる。つまり、チャージ攻撃をより有効に作用させ得る。
ステップS303〜ステップS305において受け付ける、長押し操作の受付期間、および、長押し操作の継続時間(t1秒)は適宜に設定すればよい。例えば、これらの期間、判定時期は、タップ攻撃の動作を描画するために必要なフレーム数によって適宜に設定され得る。例えば、操作キャラクタの1回のタップ攻撃の動作のフレーム数が全体として40フレームとする。チャージ攻撃のための長押し操作の受付期間は、タップ攻撃の動作の開始10フレーム(あるいは20フレームであってもよい)以降(60フレーム以内)と設定され得る。また、例えば、長押し操作であると判定する基準となるタッチ操作の継続時間(t1秒)は、受付期間に始まったタッチ操作が11フレーム継続していることが検出された時点などと設定され得る。また、攻撃動作が連続してなるコンボ全体を第1の動作とする場合には、チャージ攻撃を実行するため長押し操作の受付開始を、当該第1の動作中のいずれの時点に設定することも可能である。例えば、直前のタップ攻撃より前のタップ攻撃の動作中に長押し操作の開始を受け付けてもよい。例えば、ユーザは、1回目のタップ操作、2回目のタップ操作、長押し操作の順で操作し、1回目と2回目のタップ操作によって攻撃動作がコンボになる場合、当該長押し操作の開始が1回目のタップ操作に基づくタップ攻撃の動作中であってもよい。
また、第1の時間の長さは適宜設定可能である。例えば、第1の動作が開始してから終了までの間に完了可能な時間の範囲としてもよい。また、本実施形態において、第1の動作の終了は、表示部152に表示されている操作キャラクタが第1の動作を実際に終了させたときであってよいが、第1の動作に対応付けて設定されている時間であれば、表示されている第1の動作の実際の終了よりも早くても遅くてもよい。
ここで、図8を用いて、第2の動作が操作キャラクタによるチャージ攻撃である場合の操作キャラクタの動作の一例について説明する。図8は、チャージ攻撃を実行する操作キャラクタ501の表示の一例を模式的に示している。図8に示される、チャージ攻撃を実行する操作キャラクタ501は、チャージ態様とその後の発動態様との二つの態様で表示される。
チャージ態様は、ステップS303からステップS304の処理が実行されているタイミングで、表示制御部112が表示部152に表示させる操作キャラクタの態様である。つまり、当該タイミングは、タッチ操作受付部111が受け付けたタッチ操作が継続しているときであって、当該タッチ操作の継続時間がt1秒未満であるときである。チャージ態様では、操作キャラクタ501は、図8(A)に示すように、溜めているエネルギーが外方へ迸ることを示すオーラ701を有している。
発動態様は、ステップS306の処理が実行されたタイミングで、表示制御部112が表示部152に表示させる操作キャラクタの態様である。つまり、当該タイミングはタッチ操作受付部111が受け付けた長押し操作の継続時間がt1秒になったときである。発動態様では、操作キャラクタ501は、図8(B)に示すように、斧を振って、あたかも溜めたエネルギーを飛ばすかのような、衝撃波702を飛ばす動作を行う。例えば、チャージ攻撃は、タップ攻撃よりもより多くの対象オブジェクトの体力を減らすことが可能であったり、より遠くの対象オブジェクトに作用を及ぼしたりすることができてもよい。
なお、ステップS303において、タッチ操作受付部111が第1の動作中にタッチ操作を受け付けない場合、および、ステップS304においてタッチ操作受付部111がタッチ操作の継続を受け付けない場合には、ユーザ端末100は、チャージ攻撃に関する処理を終了する。また、ステップS305において、タッチ操作受付部111が受け付けるタッチ操作の継続時間がt1秒に満たない場合には、ユーザ端末100は、例えばステップをステップS304に戻し、タッチ操作受付部111は、受け付けたタッチ操作が継続しているか否かを判定する。
このように、ユーザ端末100は、操作キャラクタが第1の動作を行っている間に、タッチ操作をt1秒以上にわたって継続させている操作を受け付けることにより、第1の動作に続いてチャージ攻撃を操作キャラクタに行わせる。このように、本実施形態によれば、ユーザによる簡単な操作によって操作キャラクタの動作がより多様化され、第1の動作の効果とチャージ攻撃の効果との両方の効果を伴う効果が得られる。
ここまで第1の操作がタップ操作である場合について説明したが、第1の操作はフリック操作であってもよい。例えば、ユーザ端末100は、第1の動作を、タップ操作およびフリック操作のいずれかを含むタッチ操作の受付によって実行させてもよい。例えば、2回のタッチ操作がフリックおよびタップの順の操作であることによって、このタッチ操作に応じて、操作キャラクタに回避動作、攻撃動作の順に実行させてもよい。このとき、当該攻撃動作を第1の動作として、チャージ攻撃を行うための長押し操作を当該攻撃動作中にタッチ操作受付部111が受け付けてもよく、回避動作および攻撃動作のコンボを第1の動作として、チャージ攻撃を行うための長押し操作を、当該回避動作中などのコンボの動作中にタッチ操作受付部111が受け付けてもよい。このような形態であれば、例えば、操作キャラクタに回避動作、攻撃動作に引き続いてチャージ攻撃による攻撃動作を実行させることができる。よって、操作キャラクタの動作がさらに多様化する。また、このように複数の種類の第1の動作を実行させる場合では、ユーザは、異なる複数の第1の動作またはそれに応じた一連の動作の後にチャージ攻撃を実行させることが可能である。よって、第1の動作における多様化により、動作がより多様化する。
また、本実施形態では、第2の動作を行わせるための第1の時間にわたって継続する操作の受付期間は第1の動作の種類に応じて異なってもよい。例えば、第1の動作が短ければ、受付期間を当該動作が行われている期間全体とし、第1の動作が長ければ受付期間を動作が行われている期間のうちの後半の一部の期間などとしてもよい。例えば、回避動作のフレーム数が全体として30フレームである場合に、長押し操作の受付可能期間を回避動作が行われている期間全体としてもよい。そして、攻撃動作のフレーム数が全体として40フレームである場合に、当該受付可能期間を攻撃動作の開始から10フレーム以降としてもよい。また、長押し操作の受付期間を第1の動作が行われている間の全ての期間とする場合には、第1の動作の種類によって、当該動作が行われている時間が異なるので、受付期間長さが第1の動作の種類によって異なることとなる。このように、動作の時間が長い第1の動作であれば、当該期間を長くしたり、動作の時間が長い第1の動作であれば当該期間を短くしたりできるので、第1の動作自体の長さに応じてチャージ攻撃のためのタッチ操作を受け付ける期間を適正化することにより、チャージ攻撃のための操作性をより一層適正化することが可能となる。チャージ攻撃を行うための長押し操作に必要なタッチ操作の長さも、第1の動作の種類に応じて異ならせてもよく、同じでもよい。
なお、所定の期間内にt1秒未満継続したタッチ操作を受け付けた場合には、ユーザ端末100は、操作キャラクタにチャージ攻撃を行わせず、対応する動作、例えば第1の動作、を操作キャラクタに実行させてもよい。
また、ゲーム実行部115は、チャージ攻撃の実行の前に、チャージ攻撃の対象となる対象オブジェクトを特定してもよい。対象オブジェクトを特定した場合には、ゲーム実行部115は、操作キャラクタに対象オブジェクトに対してチャージ攻撃を実行させる。対象オブジェクトを特定するための処理をしない場合、または、対象オブジェクトを特定するための処理を行っても特定できなかった場合には、ゲーム実行部115は、操作キャラクタに、当該操作キャラクタが向いている方向に向けて、チャージ攻撃を実行させる。このような対象オブジェクトの特定は、チャージ攻撃の成功率を高める観点から有効である。
また、本ゲームでは、操作キャラクタに、第2の動作の後にさらに第1の動作を連続して行なわせてもよい。さらに、当該第1の動作中に第1の時間にわたって継続する操作を受け付けることで、操作キャラクタにさらに第2の動作を行わせてもよい。たとえば、ゲーム実行部115が操作キャラクタにチャージ攻撃を実行させている間に、タッチ操作受付部111がタップ操作を受け付けることで、ゲーム実行部115は、操作キャラクタに当該チャージ攻撃に連続させてタップ攻撃を実行させてもよい。そして、当該タップ攻撃中にt1秒にわたって継続する長押し操作をタッチ操作受付部111が受け付けることで、ゲーム実行部115は、操作キャラクタにチャージ攻撃を実行させてもよい。
[スキル行動の処理例]
本実施形態では、第1の動作及び第2の動作とは別の第3の動作を実行させることも可能である。例えば、タッチ操作受付部111が、第2の時間にわたって継続する長押し操作を受け付けることにより、UI制御部113はユーザインターフェースを表示部152に表示させ、当該タッチ操作が、当該ユーザインターフェースに対応する位置で離れた場合に、操作キャラクタに第3の動作を行わせてもよい。第3の動作は、例えば、当該ユーザインターフェースに関連付けられた動作である。本実施形態では、操作キャラクタに関連付けられたスキルを発動する動作である場合について説明する。以下、第3の動作を「スキル行動」といい、スキル行動のためのユーザインターフェースを「スキルUI」という。スキルUIは、ユーザによる第3の動作の実行の指示を受け付けるためのものである。以下、本ゲームにおけるスキル行動に関する処理例について図4を用いて説明する。図4は、ユーザ端末100が、ゲームプログラム131に基づいて実行する、スキル行動に関する処理の流れを示すフローチャートである。
スキル行動の種類は特に限定されず、様々な行動であり得る。例えば、スキル行動は、各操作キャラクタに対応付けられた行動であってよい。また、例えば、スキル行動は、対象のオブジェクトに作用を及ぼす行動であってもよい。作用としては、対象オブジェクトの体力を減らす攻撃動作、操作キャラクタ自身、味方キャラクタ等の異常状態および/または体力を回復動作、敵キャラクタ等の対象のオブジェクトの状態を変化させる動作であってもよい。スキル行動が対象のオブジェクトに作用を及ぼす場合、その対象が特定されていてもよいし、特定されずに操作キャラクタの向きに、作用をおぼす領域が設定されたオブジェクトを移動させるなどして、当該オブジェクトの領域内に入った対象のオブジェクトに作用を及ぼすものであってもよい。
まず、ステップS401において、タッチ操作受付部111は、ユーザによるタッチ操作入力部151へのタッチ操作を受け付ける。次いで、タッチ操作受付部111は、ステップS402において、ステップS401にて受け付けたタッチ操作が継続しているか否かを判定する。
ステップS402において、受け付けたタッチ操作が継続している場合には、ステップS403において、タッチ操作受付部111は継続している長押し操作の継続時間がt2秒以上であるか否かを判定する。t2は、スキルUIを表示するか否かの判定基準となる時間であり、本発明における第2の時間の一態様である。本例のタッチ操作の時間の判定は、t2秒後に行ってもよい。
ステップS403において、長押し操作の継続時間がt2秒以上であることをタッチ操作受付部111が検出した場合には、ステップS404において、表示制御部112はスキルUIを表示部152に表示させる。このとき、操作キャラクタはスキル行動の実行が可能な状態になったともいえる。
ここで、表示部152に表示されるスキルUIの一例について図9を用いて説明する。図9は、スキル行動前に表示制御部112が表示部152に表示させるスキルUIの一例を模式的に示す図である。図9に示すように、本実施形態におけるスキルUIは、弾性オブジェクト801、第1スキル部802、第2スキル部803およびスキル表示部804、805を含む。表示制御部112はユーザのタッチ位置を中心として、弾性オブジェクト801を表示部152に表示させる。
弾性オブジェクト801は、ユーザのタッチ操作が移動すると、最初のタッチ位置を始点としてタッチ方向に引き伸ばされるように変形する形態であってもよい。この形態の場合、図9に示す状態において、ステップS403におけるユーザのタッチ位置は弾性オブジェクト801の領域内である。なお、本ゲームでは、ドラッグ操作が継続しているときに、ドラッグ操作の起点と、ユーザが現にタッチしている位置とにより定まる方向に基づき、操作キャラクタを移動させる。これにより、ユーザはタッチ操作の方向を容易に視認できる。最初のタッチ位置は、ユーザのタッチ操作が途切れると無効となり、ユーザがタッチ操作を再度実行した場合に、再度のタッチ操作に応じて新たに決定される。なお、弾性オブジェクト801は、スキルUIの表示とともに表示されることに限定されず、ユーザがタッチ操作する場合に常に表示されていてよい。
第1スキル部802は、弾性オブジェクト801から外方の一方向へ延出する部分であり、スキル表示部804を内包している。第1スキル部802は、弾性オブジェクト801に対するスキル表示部804が位置する方角をユーザに対して明示している。スキル表示部804は、スキルの種類を表示している。スキル表示部804は、対応するスキル行動を表示している。
第2スキル部803は、弾性オブジェクト801から外方の他の方向へ延出する部分であり、スキル表示部805を内包している。スキル表示部805は、スキルの種類を表示している。例えば、第2スキルは、操作キャラクタの攻撃力等のパラメータの向上であってもよい。
次に、ステップS405において、タッチ操作受付部111はタッチ位置を検出する。次いで、ステップS406において、タッチ操作受付部111は、継続しているタッチ操作が解除されたか否かを判定する。
ステップS406において、タッチ操作受付部111がタッチ操作の解除を受け付けた場合には、ステップS407において、タッチ操作受付部111は、タッチ操作の解除位置がスキルUIの領域内であるか否かを判定する。
ステップS407において、当該解除位置がスキルUIの領域内であることをタッチ操作受付部111が検出した場合には、ステップS408において、ゲーム実行部115は操作キャラクタにスキル行動を実行させる。図9に示す画面例を用いて説明すれば、ユーザのタッチ操作が、ユーザによるフリック操作またはドラッグ操作によってスキル表示部804、805で離れたことをタッチ操作受付部111が検出することにより、操作キャラクタ501は、スキル表示部804、805に応じたスキル行動を実行する。
よって、ユーザは、操作キャラクタ501が向いている方向とタッチ操作の方向とを両方ともを容易に視認することが可能である。したがって、ユーザは、操作キャラクタ501が向いている方向を参考にしながら、所望の方向にタッチ操作を実行しやすい。このように、弾性オブジェクト801は、良好な操作性をもたらしており、ユーザの操作の正確性が高められることにより、ゲームの興趣性をより高めている。
ここで、図10を用いてスキル行動が攻撃動作(以下、単に「スキル攻撃」ということもある)である場合の一例について説明する。図10は、スキル攻撃を実行する操作キャラクタ501の表示の一例を模式的に示している。操作キャラクタ501は、スキルチャージ態様およびスキル発動態様の二つの態様で表示される。
スキルチャージ態様は、ユーザによるタッチ操作が継続し、かつスキルUIが表示されているときに、表示制御部112が表示部152に表示させる操作キャラクタの態様である。また、ゲーム実行部115は、スキルチャージ態様である操作キャラクタ501の移動を制限する処理を行ってもよい。かかる制限としては、例えば、移動速度を遅くしたり、移動をできなくしたりするなどが挙げられる。
スキル発動態様は、ゲーム実行部115が、スキル攻撃を操作キャラクタに行わせるときに、表示制御部112が表示部152に表示させる操作キャラクタの態様である。スキル攻撃態様は、例えば、ユーザによるタッチ操作が継続し、タッチ操作入力部151のうちスキル表示部804が表示されている位置で、タッチが離れることによって表示部152に表示される。
スキル発動態様では、表示制御部112は、操作キャラクタ501を、図10(B)に示す態様に引き続き図10(c)に示す態様で、表示部152に表示させる。図10(B)に示すように、まず、操作キャラクタ501が、チャージ態様で溜めたエネルギーとともに、操作キャラクタ501の周辺環境から電気エネルギー902を振りかぶった斧に集中させた態様となり、自動的に引き続いて、図10(C)に示すように、電気エネルギー902を集中させた斧を振り下ろすことにより、直接攻撃とともに、電気エネルギー902を伴う衝撃波903を飛ばす態様となる。スキル行動による攻撃動作は、チャージ攻撃よりも強力であってもよく、攻撃の作用を与えることが可能な範囲もチャージ攻撃より広くてもよい。
このように、ユーザ端末100は、t2秒まで継続した長押し操作が、スキルUIに対応する位置で離れた場合に、操作キャラクタにスキル行動を行わせる(ステップS408)。
ステップS407において、当該解除位置がスキルUIの領域外であることをタッチ操作受付部111が検出した場合には、ゲーム実行部115は、操作キャラクタのスキル行動可能な状態を解除し、操作キャラクタの状態を通常の状態に戻す。
ステップS408において操作キャラクタがスキル行動を実行すると、スキル行動に関する一連の処理が終了する。また、ステップS402においてタッチ操作が継続していることを検出しなかった場合にも、スキル行動に関する一連の処理が終了する。
なお、ステップS403においてタッチ操作の継続時間がt2秒に満たない場合には、ステップS402に戻り、タッチ操作受付部111はタッチ操作の継続の有無を判定する。また、ステップS406においてタッチ操作が解除されていない場合では、ステップS405に戻り、タッチ操作受付部111は継続しているタッチ位置を検出する。なお、タッチ操作がt2秒以下で解除された場合は、ゲーム実行部115は操作キャラクタに何もさせなくてもよいし、タッチ操作受付部111がタップ操作として受け付けて、当該タップ操作に対応する動作をさせてもよい。
[第1の動作中にt2秒以上のタッチ操作を受け付けた場合の処理例]
次に、第1の動作中にt2秒以上のタッチ操作を受け付けた場合の処理例について説明する。ユーザ端末100は、上述した図3に示す処理と、図4に示す処理とをそれぞれ独立して実行し得る。ここでは、t2≧t1である場合について説明する。
タッチ操作受付部111が、第1の動作中にタッチ操作の受付を開始して、当該タッチ操作をt1秒継続して受け付けた場合、ユーザ端末100は図3に示した処理を実行する。つまり、この場合、ゲーム実行部115は操作キャラクタにチャージ攻撃を実行させる。
一方、タッチ操作受付部111が、当該操作キャラクタによる第1の動作中に開始されたタッチ操作をt2秒継続して検出することによって、ユーザ端末100は図4に示す処理を実行する。つまり、表示制御部112はスキルUIを表示部152に表示させる。このような処理によれば、第1の動作としての攻撃動作から、引き続く第2の動作としてのチャージ攻撃、さらには、その後のスキルUIの表示とそれを用いたスキル行動まで、操作キャラクタの攻撃動作を派生させることが可能となる。
また、第2の時間まで継続したタッチ操作が、スキルUI以外の領域に対応する位置で離れた場合に、操作キャラクタに第2の動作を行わせてもよい。例えば、t2秒継続したタッチ操作の解除がスキルUI以外の位置で実行された場合には、ゲーム実行部115は操作キャラクタに、チャージ攻撃を実行させてもよい。つまり、ステップS401においてタッチ操作受付部111が受け付けたタッチ操作が第1の動作を行っている間に開始されたものであった場合であって、解除領域がスキルUIの領域外である場合(ステップ407でNOの場合)には、ゲーム実行部115は操作キャラクタにさらにチャージ攻撃を実行させてもよい。コンボ攻撃、チャージ攻撃の後に、さらにチャージ攻撃を操作キャラクタに実行させることが可能となり、操作キャラクタの動作の選択肢をさらに増やすことができる。
[制約を伴うチャージ攻撃の処理例]
タップ攻撃に続くチャージ攻撃(第1の動作に引き続く第2の動作)には、さらなる制約を課してもよい。さらなる制約としては、例えば、操作キャラクタの動作に応じて増加するパラメータが所定値以上とすることが挙げられる。チャージ攻撃を操作キャラクタに行わせるためには、パラメータを所定に達するようにプレイをする必要があるので、ユーザに求められる戦略性が増す。
以下に、ユーザの操作に応じて増加するパラメータを用いる処理の一例について図5を用いて説明する。図5は、パラメータによる判定を含む処理と、第1の動作の種類に応じた処理とを含む、チャージ攻撃に関する処理の一例を示す。図5(A)は、パラメータを更新するフローの一例を示している。
ステップS501においてタッチ操作受付部111が操作入力を検出すると、ステップS502において、ゲーム実行部115は、ユーザの操作に応じて操作キャラクタに動作を行わせる。ステップS503において、ゲーム実行部115は、当該動作がパラメータの更新対象の動作であるか否かを判定する。ステップS503においてYESの場合、ステップS504において、ゲーム実行部115は当該動作に応じてパラメータを更新する。
パラメータを増加させるための操作キャラクタの動作は限定されない。かかる動作としては、例えば、攻撃動作、移動動作、回避動作などであってもよい。パラメータを増加させる操作キャラクタの攻撃動作は、攻撃対象のオブジェクトの体力の削減に成功した攻撃動作のみであってもよく、攻撃対象のオブジェクトに攻撃が当たらない攻撃を含んでもよい。例えば、ゲーム実行部115は、ステップS502で行った動作が攻撃動作であればパラメータを或る値だけ増加させて、当該攻撃動作が敵キャラクタなどの攻撃によって作用(例えば、体力を減らす)を与え得る対象のオブジェクトに対して、作用を与えることに成功した場合、パラメータを増加させる値を加算してもよい。
また、ゲーム実行部115は、当該パラメータを、時間の経過、ユーザの特定の操作等に応じて、減少させてもよい。
図5(B)は、パラメータによる判定を含むチャージ攻撃の判定を実行するフローの一例を示している。このフローは、ステップS305とS306との間にステップS3055を含む以外は、図3におけるステップS303〜ステップS306のフローと同じである。ステップS303〜ステップS305についての説明は繰り返さない。ゲーム実行部115は、ステップS3055において、当該パラメータが所定値以上であるか否かを判定する。ステップS3055において、当該パラメータが所定値以上である場合には、ステップS306において、ゲーム実行部115は操作キャラクタにチャージ攻撃を実行させる。
本例において、表示制御部112は、パラメータを表示部152にゲージ503で表示してもよい。この場合、パラメータが所定値に達したことは、ゲージ503が満たされることによって表示され得る。また、パラメータが所定値に達していないことは、ゲージ503が完全には満たされていないことによって表示され得る。ゲージ503による表示は、増加するパラメータの視認性を高める観点から好ましい。
このように、ユーザ端末100は、パラメータが所定値に達した場合に、操作キャラクタが第1の動作を行っている間に、継続するタッチ操作の受け付けを開始させる。当該タッチ操作がt1秒以上継続することにより、チャージ攻撃を操作キャラクタに行わせる。このような制御によれば、当該チャージ攻撃は、さらなる条件の達成によって実行される。よって、チャージ攻撃に対する制約が適度に高められ、またゲームの戦略性が高められる。
ステップS3055において当該パラメータが所定値未満である場合には、ゲーム実行部115は、処理を終了する。前述したように、t2がt1以上である場合には、ゲーム実行部115は、図4のフローにおけるステップS402に進んで、受け付けているタッチ操作が継続しているか否かを判定してよい。この後、ステップS404まで進むことで、パラメータが所定値未満である場合には、操作キャラクタが第1の動作を行っている間に開始したt2秒以上継続するタッチ操作を検出することによって、表示制御部112はスキルUIを表示部152に表示させる。
本例のように、表示制御部112は、パラメータが所定値未満である場合に、操作キャラクタが第1の動作を行っている間に、タッチ操作を第2の時間にわたって継続させる操作の受け付けを開始することにより、スキルUIを表示部152に表示させてもよい。すなわち、パラメータが所定値未満である場合には、第1の動作中に開始したタッチ操作を第2の時間継続することでスキルUIを表示させてもよい。
チャージ攻撃を実行するための条件を満たしていなくても、スキル行動を実行可能であるので、さらなる条件が未達であっても多様な動作を操作キャラに行わせることができる。
[独立したチャージ攻撃を追加する処理例]
ゲーム実行部115は、操作キャラクタが第1の動作を行っていない間に、タッチ位置の移動の距離が所定の値未満であり、タッチ操作が第3の時間以上継続し、かつ離れる操作を受け付けた場合に、操作キャラクタにチャージ攻撃を行わせてもよい。例えば、操作キャラクタが移動動作をしない状態でユーザがタッチ操作を第3の時間以上継続して離した場合に、操作キャラクタにチャージ攻撃を行わせてもよい。第1の動作を行わなくてもチャージ攻撃を操作キャラクタに行わせることができるので、ユーザはより容易にチャージ攻撃を操作キャラクタに行わせることができる。この場合の処理例について説明する。
本例は、操作キャラクタが第1の動作を行っていない間に行われる処理である。そのため、ゲーム実行部115が操作キャラクタに第1の動作を行わせていない間に次の処理が行われる。
まず、タッチ操作受付部111は、ユーザによるタッチ操作を受け付けたか否かを判定する。タッチ操作を受け付けた場合には、タッチ操作受付部111は、受け付けているタッチ操作の位置の移動量がL以上か否かを判定する。タッチ操作の位置の移動量は、例えば、タッチ操作入力部151に物体1010を接触させる操作とそれに続くドラッグ操作がされた場合における、最初に物体1010がタッチ操作入力部151に接触した位置からユーザが現にタッチしている位置までの距離である。
移動量がL未満である場合には、ゲーム実行部115は操作キャラクタを移動させない。この場合、ゲーム実行部115は、操作キャラクタを移動させずに、その場で動かないという動作を行わせてもよい。また、タッチ操作受付部111がタッチ操作の移動の方向のみを検出して、ゲーム実行部115は、操作キャラクタの方向のみを変更する動作を行わせてもよい。よって、表示制御部112は表示部152に、操作キャラクタを移動していない状態で表示させる。
タッチ操作受付部111はタッチ操作の継続時間がt3秒以上であるか否かを判定する。t3秒は、操作キャラクタが移動していない状態でのチャージ攻撃を実行させるか否かの判定基準となる時間であり、本願発明における第3の時間の一態様である。t3秒は、t1秒より長くてもよく、t2秒に対しては長くても短くても同じでもよい。
タッチ操作の継続時間がt3秒以上である場合では、タッチ操作受付部111は、タッチ操作が解除されたか否かを判定する。タッチ操作が解除されたことをタッチ操作受付部111が検出した場合に、ゲーム実行部115は、操作キャラクタにチャージ攻撃を実行させる。
このように、ユーザ端末100は、操作キャラクタが第1の動作を行っておらず、移動しないように表示されている状態でタッチ操作がt3秒以上継続し、かつ離れる操作を受け付けた場合に、操作キャラクタにチャージ攻撃を行わせてもよい。このような制御によれば、チャージ攻撃が第1の動作とは独立して単独に実行され得る。よって、操作キャラクタの動作をより多様化することが可能となる。
なお、ユーザ端末100は、タッチ操作の継続時間がt3秒以上であることを検出した後からユーザのタッチ操作が離れるまでの間、タッチ位置の移動に応じて操作キャラクタを移動させる制御を実行してもよい。この場合、ユーザは、操作キャラクタを、チャージ攻撃可能な状態で移動させることができる。また、ゲーム実行部115は、チャージ攻撃可能な操作キャラクタ501の移動を制限する処理を行ってもよい。かかる制限としては、例えば、移動速度を遅くしたり、移動をできなくしたりするなどが挙げられる。強力な攻撃と引き換えに操作キャラクタの移動が制限されることから、ゲームの興趣性を適正に維持する観点から有効である。
[チャージ攻撃に関する処理例2]
ゲームプログラムは、操作キャラクタが第1の動作を行っていない間に、タッチ位置の移動の距離が所定の値未満であり、タッチ操作が第3の時間(例えばt3秒)以上継続し、かつ離れる操作を受け付けた場合に、操作キャラクタにチャージ攻撃以外の動作を行わせてもよい。第3の時間は第1の時間(例えばt1秒)と同じであってもよく、異なっていてもよい。ユーザはチャージ攻撃を操作キャラクタに行わせるためには、第1の動作を行っている間に第1の時間にわたって継続されているタッチ操作を行う必要があり、チャージ攻撃を行わせるためにユーザに求められる戦略性が増す。この場合の処理例について説明する。
タッチ位置の移動の距離が所定の値未満であることによる操作キャラクタの動作に関する処理、および、タッチ操作の継続時間がt3秒以上であるか否かを検出するまでの処理は、[独立したチャージ攻撃を追加する処理例]と同じであるため説明を繰り返さない。
タッチ操作受付部111はタッチ操作の継続時間がt3秒以上であると判定した場合、ゲーム実行部115は、チャージ攻撃以外の所定の動作を操作キャラクタに実行させる。
本例によれば、その場でのタッチ操作の継続という簡単な操作ではチャージ攻撃が実行されず、チャージ攻撃についての制約を増すことができる。
〔ソフトウェアによる実現例〕
制御部210の制御ブロック、ならびに、制御部110の制御ブロック(特に、ゲーム実行部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210または制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10、20)およびメモリ(11、21)を備えるコンピュータ(ユーザ端末100およびサーバ200の少なくとも一方)により実行される。ゲームプログラムは、プロセッサに、ユーザが操作可能な操作キャラクタ(オブジェクト)を表示部(152)に表示させるステップと、ユーザのタッチ操作入力部(151)へのタッチ操作を検出するステップと、操作キャラクタが第1の動作(例えば第1の動作)を行っている間に、タッチ操作を第1の時間(t1)にわたって継続させている操作を受け付けることにより、第1の動作に続いてチャージ攻撃(第2の動作)を操作キャラクタに行わせるステップ(S306)とを実行させる。これにより、少なくとも以下の効果を奏する。
まず、ユーザのタッチ操作入力部へのタッチ操作によって実行されるゲームにおいて、ユーザのタッチ操作のタイミングと継続時間とによって、第1の動作に続く第2の動作をオブジェクトに行わせることができる。よって、ユーザによる簡単な操作によってオブジェクトの動作を多様化することができ、ゲームの興趣性が高められる。
また、第1の動作に続けて第2の動作をオブジェクトに行わせることにより、ゲーム内における第1の動作の効果と第2の動作の効果との両方の効果を伴う効果が得られる。その結果、ゲームの興趣性がより高められる。
(項目2) (項目1)において、オブジェクトが第1の動作を行っている間に、タッチ操作を第2の時間(t2)にわたって継続させる操作の受け付けを開始することにより、オブジェクトの第3の動作(スキル行動)のための第3の動作のためのユーザインターフェース(スキルUI)を表示部に表示させるステップと、第2の時間まで継続したタッチ操作が、表示部における第3の動作のためのユーザインターフェースに対応する位置で離れた場合に、オブジェクトに第3の動作を行わせるステップとをプロセッサにさらに実行させる。このような構成によれば、ユーザは、継続する異なるタッチ操作のタイミングに応じて、第2の動作以外に第3の動作をオブジェクトに実行させることができる。よって、オブジェクトの動作がより多様化し、ゲームの興趣性がより高められる。
(項目3) (項目1)において、ゲームプログラムは、オブジェクトが第1の動作を行っている間に、タッチ操作を第2の時間にわたって継続させる操作の受け付けを開始することにより、オブジェクトの第3の動作のためのユーザインターフェースを表示部に表示させるステップと、第2の時間まで継続したタッチ操作が、表示部における第3の動作のためのユーザインターフェース以外の領域に対応する位置で離れた場合に、オブジェクトに第2の動作を行わせるステップとをプロセッサにさらに実行させる。このような構成によれば、ユーザは、第3の動作の準備が整っている状態で、オブジェクトに第3の動作を行わせるか、または第2の動作を行わせるか、の選択が可能となる。このように、オブジェクトの動作の選択肢が増えることから、オブジェクトの動作がより多様化し、ゲームの興趣性がより高められる。
(項目4) (項目1)から(項目3)までのいずれか一項目において、ゲームプログラムは、オブジェクトが第1の動作を行っていない間に、ユーザのタッチ操作の位置の移動の距離が所定の値未満であり、タッチ操作が第3の時間(t3)以上継続し、かつ離れる操作を受け付けた場合に、オブジェクトに第2の動作以外の動作を行わせるステップをプロセッサにさらに実行させる。このような構成によれば、ユーザは、その場でのタッチ操作の継続という簡単な操作では第2の動作を実行させることができなくなる。このように、第2の動作についての制約が増すことにより、ゲームプレイのより高い戦略性が求められ、ゲームの興趣性がより高められる。
(項目5) (項目1)から(項目3)までのいずれか一項目において、ゲームプログラムは、オブジェクトが第1の動作を行っていない間に、ユーザのタッチ操作の位置の移動の距離が所定の値未満であり、タッチ操作が第3の時間以上継続し、かつ離れる操作を受け付けた場合に、オブジェクトに第2の動作を行わせるステップ、をプロセッサにさらに実行させる。このような構成によれば、ユーザは、第2の動作を、第1の動作とは独立して、単独に実行させることが可能となる。よって、オブジェクトの動作がより多様化し、ゲームの興趣性がより高められる。
(項目6) (項目1)において、ゲームプログラムは、ユーザの操作に応じて増加するパラメータを更新するステップをプロセッサにさらに実行させ、パラメータが所定値に達している場合に、第1の動作に続いて第2の動作をオブジェクトに行わせるステップを実行させる。このような構成によれば、さらなる条件の達成によって第2の動作を実行させることが可能となる。よって、ゲームの戦略性が高められる。また、第2の動作の実行のための達成条件が付加されることから、第2の動作に対する制約が適度に高められる。よって、ゲームの興趣性がより高められる。
(項目7) (項目6)において、ゲームプログラムは、パラメータが所定値未満である場合に、オブジェクトが第1の動作を行っている間に開始されたタッチ操作が第2の時間にわたって継続されたことを受け付けることにより、オブジェクトの第3の動作のためのユーザインターフェースを表示部に表示させるステップをプロセッサにさらに実行させる。このような構成によれば、さらなる条件が未達であっても、第2の動作に代えて第3の動作を実行させることが可能となる。よって、ゲームの戦略性の低減が抑制され、ゲームの興趣性を適正化される。
(項目8) (項目1)から(項目7)までのいずれか一項目において、ゲームプログラムは、オブジェクトが第1の動作を行っている間に、第1の時間より短い時間にわたって継続させるタッチ操作を受け付けることにより、上記第1の動作に続いてさらに第1の動作をオブジェクトに行わせるステップをプロセッサにさらに実行させる。このような構成によれば、ユーザは、複数の第1の動作を組み合わせてオブジェクトに実行させることが可能である。よって、オブジェクトの動作がさらに多様化し、ゲームの興趣性がより高まる。
(項目9) (項目8)において、第1の動作に続いて第2の動作を行わせるステップでは、第1の動作に続いて第1の動作を行わせるステップにおいて連続する第1の動作のうち後段の第1の動作をオブジェクトが行っている間に、タッチ操作を第1の時間にわたって継続させている操作を受け付けることにより、後段の第1の動作に続いて第2の動作をオブジェクトに行わせる。このような構成によれば、ユーザは、複数の第1の動作の組み合わせによるオブジェクトのさらなる動作に、第2の行動をさらに組み合わせて実行させることが可能となる。よって、オブジェクトの動作がさらに多様化し、ゲームの興趣性がより高まる。
(項目10) (項目9)において、ゲームプログラムは、オブジェクトを表示させるステップにおいて、敵キャラクタと戦闘するオブジェクトを表示させ、第1の動作に続いて第1の動作を行わせるステップにおいて、連続する第1の動作のうち前段の第1の動作は、敵キャラクタの攻撃を回避する回避動作であり、後段の第1の動作は、敵キャラクタに対する攻撃動作である。このような構成によれば、ユーザは、オブジェクトに、回避動作の後の攻撃に続けて第2の動作を実行させることが可能となる。よって、オブジェクトの動作がより多様化され、また、第2の動作の対象となる敵キャラクタへの第2の動作がより有効に作用することがある。よって、ゲームの興趣性がより高まる。
(項目11) (項目1)から(項目10)までのいずれか一項目において、ゲームプログラムは、第1の動作に続いて第2の動作を行わせるステップにおいて、第1の動作を、タップおよびフリックのいずれかを含むタッチ操作の受付によって実行させる。このような構成によれば、ユーザは、異なる複数の第1の動作またはそれに応じた一連の動作の後に第2の動作を実行させることが可能である。よって、第1の動作における多様化により、第2の動作の多様化がより一層図られ、ゲームの興趣性がより高まる。
(項目12) (項目1)から(項目10)までのいずれか一項目において、ゲームプログラムは、第1の動作に続いて第2の動作を行わせるステップにおいて、第1の動作に続いて第2の動作を行わせるステップにおいて、第2の動作を行わせるための第1の時間にわたって継続する操作の受付期間を第1の動作の種類に応じて異ならせる。このような構成によれば、第2の動作のためのタッチ操作を受け付ける期間が第1の動作に応じて異なる。よって、上記タッチ操作の受付期間の違いによって、種々の第1の動作の後に、それに続く第2の動作が実行される。よって、第2の動作のための操作性をより一層適正化することが可能となり、ゲームの興趣性がより高まる。
(項目13) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目13)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目14) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶する記憶部(120)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)とを備える。(項目14)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。