〔実施形態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が備えるこれらの構成は、通信バスによって互いに電気的に接続される。また、図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とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<ゲーム概要>
ゲームシステム1に基づくゲームは、ゲーム空間内に配置されたキャラクタ(第1キャラクタ)をユーザの入力操作である第1操作に応じて、該ゲーム空間内を移動させることが可能なゲームである。以降、第1操作を、「移動操作」と称する場合がある。また、以降、移動操作に応じて移動するキャラクタを、「操作キャラクタ」と称する場合がある。このようなゲームの一例としては、RPG(Role-Playing Game)が挙げられる。該RPGは、一例として、複数のユーザが各自のユーザ端末を介して同時に1つのゲーム空間に参加するMMORPG(Massively Multiplayer Online Role-Playing Game)であってもよい。また、該MMORPGは、一例として、操作キャラクタが仮想的なゲーム空間内を自由に移動可能なオープンワールドのゲームであってもよい。該ゲームは、一例として、操作キャラクタを含む複数のキャラクタが登場する物語に沿って進行するゲームであってもよい。該物語は、一例として、現実とは別の世界や時代を舞台としたり、現実に存在しない生命体が登場したりする物語(いわゆるファンタジー)であってもよい。ただし、ゲームシステム1に基づくゲームは、これらの例示したゲームに限定されない。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとはユーザ情報、ゲーム情報等、ゲームに関するデータ、ならびにユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示や通知を含んでいる。
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)〜(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ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の機能的構成>
図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を実行する際に参照するデータである。ゲーム情報132は、複数のユーザに共通する情報、例えば、(1)ゲーム空間を規定するための情報、(2)各キャラクタに関する基本的なパラメータ、(3)各アクションに関する基本的なパラメータ等を含んでいてもよい。なお、ゲーム空間とは、操作キャラクタと、ゲームに関わる各種オブジェクトとが配置される空間である。その他、ゲーム情報132は、ゲーム空間において実施される各種イベントに関する情報を含んでいてもよい。
ユーザ情報133は、ユーザのアカウントに関するデータである。例えば、ユーザ情報133は、ユーザのアカウントの識別子に関連付けて、(1)当該アカウントのユーザを示す情報、(2)当該アカウントが保有する保有キャラクタに関する情報、(3)各保有キャラクタが取得済みのアクションに関する情報、(4)当該アカウントのゲームの進行度合いを表す情報、(5)当該アカウントが保有する資産に関する情報等を含み得る。アカウントの資産としては、例えば、ゲーム内の仮想通貨、アイテム、装備品などが挙げられる。その他、ユーザ情報133は、アカウントごとに管理される各種の情報を含む。
なお、記憶部220において、ユーザ情報133は、ユーザ端末100ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。その他、制御部210は、ユーザ端末100におけるゲームの進行を支援するため、実行するゲームの性質に応じた各種の機能を有する。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、ユーザインターフェース(以下、UI)制御部113、アニメーション生成部114、ゲーム実行部115、カメラ配置制御部116、編集画面生成部117及び連続操作判定部118として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類(態様)を特定する。本実施形態では、入力操作は、タッチスクリーン15に対する操作であるものとする。操作受付部111は、タッチスクリーン15に対する操作の種類として、例えばタップ操作、ドラッグ操作、フリック操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。本実施形態において、操作受付部111により特定される操作の種類の詳細については、後述する。
UI制御部113は、UIを構築するために表示部152に表示させるUIオブジェクトを制御する。UIオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
ゲーム実行部115は、ゲーム空間に存在する操作キャラクタを、ユーザの操作に基づき動作させる。ゲーム実行部115は、ユーザの操作に基づき、一例として、操作キャラクタを移動させたり、特定のアクションを操作キャラクタに行わせたりする。本実施形態では、ゲームシステム1に基づくゲームは、操作キャラクタがゲーム空間内を自由に移動し、敵キャラクタと遭遇した場合、操作キャラクタが敵キャラクタと戦闘することにより進行する。すなわち、ゲームシステム1に基づくゲームにおける特定のアクションは、一例として、敵キャラクタとの戦闘において行われるアクションである。なお、ゲームシステム1に基づくゲームは、特定のアクションの実行により敵キャラクタの体力を減らし、敵キャラクタの体力が無くなると戦闘に勝利するものとする。操作キャラクタに実行させるアクションの内容は、後述の連続操作判定部118によって決定される。アクションの種類としては、例えば、敵キャラクタに対して作用を与えるアクション、操作キャラクタ自身の移動、他の保有キャラクタのゲーム空間への召喚等があるが、これらに限られない。また、敵キャラクタに対して作用を与えるアクションとしては、敵キャラクタに対する攻撃、敵キャラクタの属性を変化させるアクション等があるが、これらに限られない。敵キャラクタに対する攻撃としては、敵キャラクタを所定距離ふきとばす技、よろけさせて所定期間行動不能にさせる技等があるが、これに限られない。また、変化させる敵キャラクタの属性としては、例えば、攻撃力、防御力、命中率、移動速度等が挙げられるが、これらに限られない。
また、ゲーム実行部115は、ゲーム空間内に存在する補助キャラクタ(第2キャラクタ)を制御する。補助キャラクタは、ユーザによる、ゲームシステム1に基づくゲームのプレイを補助するキャラクタである。補助キャラクタは、一例として、該ゲームにおける物語に登場する複数のキャラクタの少なくともいずれかであってもよい。また、補助キャラクタは、一例として、敵キャラクタとの戦闘に参加しないキャラクタであってもよい。なお、補助キャラクタの詳細については後述する。
また、ゲーム実行部115は、決定したアクションを、後述のアニメーション生成部114に通知する。また、ゲーム実行部115は、操作キャラクタの移動に伴い、ゲーム空間における操作キャラクタの位置または向いている方向に変化があると、当該位置または方向を、後述のカメラ配置制御部116に通知する。
また、ゲーム実行部115は、ゲームを進行させるための各種の処理を、必要に応じてサーバ200との通信を行いながら実行する。ゲーム実行部115は、一例として、ユーザの操作に基づき、後述する表示制御部112にメニュー画面を表示させる。メニュー画面は、操作キャラクタの情報、もしくは、ゲームの進行に関する情報を示す各種情報画面を提示するための操作画面である。なお、メニュー画面、および、各種情報画面の詳細については後述する。
カメラ配置制御部116は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。カメラ配置制御部116は、仮想カメラのゲーム空間内での位置および向きを規定することにより、仮想カメラをゲーム空間に仮想的に配置する。さらに、カメラ配置制御部116は、仮想カメラで規定される視野領域および当該視野領域に配置されているオブジェクトを描画した画像を作成するよう、後述の表示制御部112に指示する。
具体的には、例えば、カメラ配置制御部116は、ゲーム実行部115から通知される操作キャラクタの位置に基づいて、仮想カメラを操作キャラクタの後方に配置してもよい。この場合、カメラ配置制御部116は、仮想カメラの向きが、ゲーム実行部115から通知される操作キャラクタの向いている方向となるようにする。このように仮想カメラを制御することにより、ユーザは、操作キャラクタを移動させながら、操作キャラクタの視点でゲーム空間に臨むことができる。ただし、仮想カメラの配置及び向きの制御は、必ずしも上述した制御でなくてもよい。
編集画面生成部117は、連続する操作よりなる操作列に含まれる各操作に対して、該操作の操作列における順序に応じたアクションを関連付ける編集画面を生成する。なお、本実施形態では、1つの操作列は、連続する同種類の操作の列であるものとする。以降、操作列に含まれる各操作に対して順序に応じたアクションが関連付けられた情報を、操作列情報とも記載する。また、各操作に対して順序に応じたアクションを関連付けることを、操作列情報を編集する、とも記載する。編集画面生成部117の詳細については後述する。
連続操作判定部118は、タッチスクリーン15に対する操作が前回の操作に続いているか否かを判定する。また、連続操作判定部118は、前回の操作に今回の操作が続いていると判定した場合には、操作列情報を参照することにより、今回の操作に応じて操作キャラクタに実行させるアクションを決定する。連続操作判定部118の詳細については後述する。
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部114は、操作キャラクタがアクションを実行する様子を表現したアニメーションを生成する。もし、アクションが敵キャラクタに対する攻撃であれば、アニメーション生成部114は、操作キャラクタの攻撃前の準備モーションを表すアニメーションと、攻撃モーションを表すアニメーションと、攻撃後の戻りモーションを表すアニメーションとを生成する。また、例えば、アニメーション生成部114は、操作キャラクタのアクションにより敵キャラクタが作用を受けた様子(やられモーション)を表すアニメーションを生成する。
表示制御部112は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。例えば、表示制御部112は、ゲーム空間のうち、カメラ配置制御部116が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画したゲーム画面を生成する。また、表示制御部112は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を出力する。また、表示制御部112は、上述のUIオブジェクトを、該ゲーム画面に重畳して描画してもよい。
以下で参照する図示された各ゲーム画面は、UI制御部113が生成するUI部品、アニメーション生成部114が生成するアニメーション、または、これらを組み合わせによって構成される。UI制御部113またはアニメーション生成部114によって生成されたゲーム画面は、仮想カメラによって規定される視野領域に、該UI部品および該アニメーションの少なくとも一方が配置される。そして、該ゲーム画面は、表示制御部112によってユーザ端末100の表示部152に表示される。表示制御部112、UI制御部113およびアニメーション生成部114は、ゲーム実行部115の制御下で、ゲーム画面を表示部152に表示するための処理を実行する。よって、「ゲーム実行部115が、ゲーム画面を表示部152に表示する」という記載は、「ゲーム実行部115が、UI制御部113またはアニメーション生成部114を制御して、UI部品またはアニメーションを生成させ、表示制御部112を制御して、生成されたUI部品またはアニメーションを含むゲーム画面を表示部152に表示させる」ことを意味する。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<ゲームシステム1の処理の態様例>
次に、ゲームシステム1の処理の態様例を、図3を参照して説明する。図3は、ゲームシステム1が実行するゲーム進行処理の流れを示すフローチャートである。
ステップS101において、操作受付部111がゲームを開始する操作を受け付けると、ゲーム実行部115はゲームを開始させる。
ステップS102において、ゲーム実行部115は、操作キャラクタの近傍に補助キャラクタを配置する。そして、ステップS203において、ゲーム実行部115は、各種ゲーム情報に基づいて、操作キャラクタおよび補助キャラクタが存在するゲーム空間を表すゲーム画面を生成する。該ゲーム情報は、記憶部120に格納されているゲーム情報132であってもよいし、サーバ200の記憶部220に格納されているゲーム情報132であってもよいし、その両方であってもよい。記憶部220に格納されているゲーム情報132を用いてゲーム画面を生成する場合、ゲーム実行部115は、該ゲーム情報をサーバ200から取得する。なお、以降、該ゲーム画面をフィールド画面と称する場合がある。そして、ゲーム実行部115は、表示制御部112を制御して、生成したフィールド画面をタッチスクリーン15に表示させる。
ステップS104において、操作受付部111が移動操作を受け付けると、その旨がゲーム実行部115に通知され、ゲーム実行部115はステップS104のYESからステップS105へ進む。なお、本実施形態において、移動操作はタッチスクリーン15へのドラッグ操作である。ステップS105にて、ゲーム実行部115は、ドラッグ操作に応じて操作キャラクタを移動させる。
ステップS106において、ゲーム実行部115は、操作キャラクタを追従するように補助キャラクタを移動させる。詳細には、ゲーム実行部115は、操作キャラクタを移動させたことに伴い、補助キャラクタを、操作キャラクタとの距離が一定以上に離れないように、操作キャラクタを追従して移動させる。また、ステップS107において、ゲーム実行部115は、表示制御部112を制御して、補助キャラクタの移動の軌跡をタッチスクリーン15に表示させる。
なお、ステップS104において、操作受付部111がドラッグ操作を受け付けていない場合、操作受付部111は、ステップS104のNOからステップS108へ進む。
ステップS108において、操作受付部111が、補助キャラクタへのタップ操作を受け付けると、その旨がゲーム実行部115に通知され、ゲーム実行部115はステップS108のYESからステップS109へ進む。ステップS109にて、ゲーム実行部115は、メニュー画面を生成し、表示制御部112を制御して、タッチスクリーン15に該メニュー画面を表示させる。なお、メニュー画面を表示させるための操作は、補助キャラクタを対象とする操作であればよく、補助キャラクタへのタップ操作に限定されない。また、操作受付部111が、メニュー画面が表示されている状態でメニュー画面を非表示とする操作を受け付けると、フィールド画面がタッチスクリーン15に表示される(不図示)。詳細には、ゲーム実行部115が、表示制御部112を制御して、メニュー画面に代えてフィールド画面をタッチスクリーン15に表示させる。
また、ステップS108において、操作受付部111が、補助キャラクタへのタップ操作を受け付けていない場合、操作受付部111は、ステップS108のNOからステップS110へ進む。
ステップS110において、操作受付部111が、補助キャラクタ以外へのタップ操作を受け付けると、その旨がゲーム実行部115に通知され、ゲーム実行部115はステップS110のYESからステップS111へ進む。ステップ111にて、ゲーム実行部115は、表示制御部112を制御して、補助キャラクタを非表示とする。そして、ステップS112において、ゲーム実行部115は、ステップS110にて受け付けられたタップ操作に関連するアクションを、操作キャラクタに行わせる。該アクションの一例として、ゲーム実行部115は、敵キャラクタを攻撃する攻撃動作を行わせる。なお、操作キャラクタにアクションを行わせるための操作は、補助キャラクタ以外を対象とする操作であればよく、補助キャラクタ以外へのタップ操作に限定されない。
ステップS113において、操作受付部111が、ゲームを終了する操作を受け付けると、ゲーム実行部115はゲームを終了させ、ゲーム進行処理は終了する。なお、ステップS113において、操作受付部111が、ゲームを終了する操作を受け付けていない場合、操作受付部111は、ステップS113のNOからステップS04へ戻る。
<画面例>
以下、ユーザ端末100のタッチスクリーン15に表示されるゲーム画面の具体例について説明する。
(フィールド画面)
図4は、フィールド画面の一具体例を示す図である。図示のフィールド画面300は、操作キャラクタ301および補助キャラクタ302を含んでいる。操作キャラクタ301は、フィールド画面300の略中央に配置される。補助キャラクタ302は、操作キャラクタ301の近傍に配置される。つまり、補助キャラクタ302もまた、フィールド画面300の略中央に配置される。これにより、補助キャラクタ302の位置がゲーム画面においてほぼ固定され、ユーザが補助キャラクタ302を見失うことを防ぐことができる。よって、ユーザはメニュー画面を表示するための操作をスムーズに行うことができる。また、補助キャラクタ302の位置が略中央に固定されることにより、ユーザ端末100を把持するユーザの手などで補助キャラクタ302が隠れないようにすることができる。また、ユーザが誤って補助キャラクタ302に対するタップ操作を入力し、意図せずメニュー画面を表示させてしまうことを防ぐことができる。
また、該ゲームにおいて、操作キャラクタ301は、搭乗キャラクタ311と被搭乗キャラクタ312とからなる。搭乗キャラクタ311は、一例として、人間を模したキャラクタであってもよい。また、被搭乗キャラクタ312は、一例として、搭乗キャラクタ311より大きい、人間でない生命体を模したキャラクタであってもよい。また、搭乗キャラクタ311および被搭乗キャラクタ312は、ユーザが保有する複数の保有キャラクタから選択可能であってもよい。より詳細には、搭乗キャラクタ311は、ユーザが保有する複数の搭乗キャラクタから選択され得る。また、被搭乗キャラクタ312もまた、ユーザが保有する複数の被搭乗キャラクタから選択され得る。
補助キャラクタ302は、人間を模したキャラクタであってもよいし、人間でない生命体を模したキャラクタであってもよい。
なお、搭乗キャラクタ311、被搭乗キャラクタ312、および補助キャラクタ302は、ゲームの物語に沿ったキャラクタであることが好ましい。つまり、本実施形態にて例示するゲームの場合、これらのキャラクタは、ファンタジーに沿ったキャラクタであることが好ましい。搭乗キャラクタ311は、一例として、騎士、魔法使いなどの職業のキャラクタであってもよい。被搭乗キャラクタ312および補助キャラクタ302は、一例として、現実には存在しない生命体であってもよい。具体的には、被搭乗キャラクタ312は、ドラゴン、イエティといったモンスターであってもよい。また、補助キャラクタ302は、妖精であってもよい。
(フィールドの移動)
図5は、フィールド画面におけるユーザの操作入力の一具体例を示す図である。詳細には、図5は、操作キャラクタ301を移動させるためのユーザによる操作入力を示す図である。
ゲーム実行部115は、操作キャラクタ301を移動させる操作を、例えば、タッチスクリーン15へのドラッグ操作により受け付ける。ユーザがタッチスクリーン15に対して、指1011を接触させた後、該接触を維持した状態で指1011をタッチスクリーン上で移動させると、操作受付部111は、この動作をドラッグ操作として受け付ける。ゲーム実行部115は、操作受付部111がドラッグ操作を受け付けた場合に、例えば、ドラッグ操作の開始時におけるタッチスクリーン15へのタッチ操作がなされた位置と、ドラッグ操作によりタッチ操作が継続している位置とにより定まる方向ベクトルに基づいて、操作キャラクタ301を移動させる。操作キャラクタ301の位置は、移動中であっても、フィールド画面300の略中央にて維持される。すなわち、ゲーム実行部115は、ドラッグ操作を受け付けたとき、操作キャラクタ301が移動するアニメーションを表示させるとともに、背景が変化するアニメーションを表示させることで、操作キャラクタ301がフィールドを移動している様子を表現する。
補助キャラクタ302は、操作キャラクタ301の移動に伴い、操作キャラクタ301との距離が一定以上に離れないように、操作キャラクタ301を追従して移動する。これにより、操作キャラクタ301を移動させても、補助キャラクタ302の位置はフィールド画面300の略中央に固定されるため、ユーザが補助キャラクタ302を見失うことを防ぐことができる。
ゲーム実行部115は、ドラッグ操作を受け付けたとき、操作キャラクタ301が移動するアニメーション、背景が変化するアニメーションに加え、補助キャラクタ302が移動するアニメーションを表示させる。補助キャラクタ302が移動するアニメーションは、一例として、補助キャラクタ302の移動経路に、補助キャラクタ302の移動の軌跡303を表示させるアニメーションである。例えば、操作キャラクタ301および補助キャラクタ302が前方向に移動する場合、軌跡303は、補助キャラクタ302の背後に表示される。なお、補助キャラクタ302の背後とは、タッチスクリーン15をユーザが閲覧するときにおける、補助キャラクタ302より下側の領域である。図示の例において、補助キャラクタ302は妖精であるため、ゲーム実行部115は、軌跡303の一例として、複数の発光体を表示させている。なお、軌跡303の態様は、補助キャラクタ302に応じて変更されてもよい。一例として、補助キャラクタ302が歩いて移動するキャラクタである場合、軌跡303は足跡であってもよい。
軌跡303を表示させることにより、補助キャラクタ302の位置がユーザにとってより分かりやすくなる。よって、ユーザが補助キャラクタ302を見失うことを防ぐことができる。
(メニュー画面)
図6(A)は、フィールド画面におけるユーザの操作入力の一具体例を示す図である。具体的には、図6は、ユーザによる、メニュー画面を表示させるための操作入力を示す図である。以降、メニュー画面を表示するための操作を、「メニュー表示操作」と称する場合がある。
ユーザがタッチスクリーン15における、補助キャラクタ302が表示されている位置に対して、指1011を接触させた後、接触を解除すると、操作受付部111は、この動作を、補助キャラクタ302へのタップ操作として受け付ける。より具体的には、操作受付部111は、タップ操作が入力された座標が、補助キャラクタ302が表示されている位置に対応する入力部151の範囲内である場合、該タップ操作を補助キャラクタ302へのタップ操作として受け付ける。
ゲーム実行部115は、操作受付部111が補助キャラクタ302へのタップ操作を受け付けた場合、メニュー画面を表示させる。図6(B)は、メニュー画面の一具体例を示す図である。図示のメニュー画面400は、メニュー画像401、補助キャラクタ画像402、およびセリフ画像403を含んでいる。
メニュー画像401は、操作キャラクタの情報、もしくは、ゲームの進行に関する情報を示す各種情報画面を提示するための操作を受け付けるボタンを含む。ボタン411に対するタップ操作を受け付けると、ゲーム実行部115は、操作列情報を編集するための編集画面を提示する。なお、編集画面の詳細については後述する。ボタン413に対するタップ操作を受け付けると、ゲーム実行部115は、操作キャラクタ301がいるフィールドのマップを確認するためのマップ画面を提示する。
メニュー画像401は、情報画面を提示するための操作とは、異なる操作を受け付けるボタンを含んでいてもよい。一例として、ボタン412に対するタップ操作を受け付けると、ゲーム実行部115は、操作キャラクタ301および補助キャラクタ302を特定のフィールド(図示の例では「王都」)へ移動させる。本実施形態に係るゲームは、一例として、該特定のフィールドでクエストを受注した後、該クエストに応じたフィールドへ移動し、クエストの達成を目指すゲームであってもよい。クエストとは、達成条件が設定されたゲーム内のイベントである。つまり、特定のフィールドは、操作キャラクタ301にとっての拠点と表現することもできる。よって、この例の場合、ボタン412は、拠点へ戻るボタンであると表現することもできる。
ボタン414などの、ボタン411などと同様の形状で「×」が記載されたボタンは、操作を受け付けないボタンである。換言すれば、これらのボタンに対して操作が入力されたとしても、ゲーム実行部115は処理を実行しない。なお、これらのボタンは、特定の条件が満たされた場合に、操作を受け付けるボタンに変更されてもよい。
ボタン415またはボタン416に対するタップ操作を受け付けると、ゲーム実行部115は、メニュー画面に代えてフィールド画面をタッチスクリーン15に表示させる。すなわち、これらのボタンに対するタップ操作を受け付けると、ゲーム実行部115はメニュー画面を終了させる。
セリフ画像403は、補助キャラクタ302の発言を示す画像である。一例として、セリフ画像403が示す発言は、補助キャラクタ302が、操作キャラクタ301に対して何をしたいかを尋ねる内容である。ゲーム実行部115は、図示のように、該セリフ画像403を、メニュー画像401とともに表示させる。これにより、ユーザは、操作キャラクタ301に対して何をしたいかを尋ねる内容を、ユーザに対してメニュー画面で実行したい処理を尋ね、該処理を行うための操作を促す内容に読み替えて認識することができる。また、ゲーム実行部115は、図示のように、メニュー画像401、セリフ画像403とともに、補助キャラクタ画像402を表示させる。これにより、メニュー画像401を、補助キャラクタ302が提示しているかのような画面を実現することができる。以上より、メニュー画面の表示を、物語に沿った形式で行うことができ、ユーザのゲームに対する没入感をいっそう高め、ゲームプレイの興趣性をいっそう向上させることができる。
(フィールドでの戦闘)
図7は、フィールド画面におけるユーザの操作入力の一具体例を示す図である。詳細には、図7は、操作キャラクタ301に、戦闘におけるアクションを行わせるためのユーザによる操作入力を示す図である。なお、以降、操作キャラクタ301に、戦闘におけるアクションを行わせるためのユーザによる操作を「アクション操作」と称する場合がある。
上述したように、本実施形態に係るゲームは、操作キャラクタが敵キャラクタと戦闘することにより進行する。このため、フィールド画面300に、図示のように、敵キャラクタ321が表示される場合がある。ゲーム実行部115は、ゲームプログラム131に基づいて、適宜、フィールド画面300に敵キャラクタ321を配置する。配置する敵キャラクタ321の数は特に限定されない。また、配置する敵キャラクタ321の種類は、例えば、フィールドに応じて決定されればよい。また、ゲーム実行部115は、一例として、敵キャラクタ321の近傍に、敵キャラクタの体力を示すゲージ322を表示させてもよい。
ユーザは、敵キャラクタ321がフィールド画面300に出現した場合、アクション操作を入力して、操作キャラクタ301に、戦闘におけるアクションを行わせ、敵キャラクタ321と戦闘させる。
詳細には、ユーザはタッチスクリーン15における、補助キャラクタ302が表示されていない位置に対して、ユーザの指1011を接触させた後、接触を解除する。操作受付部111は、この動作を、補助キャラクタ302以外へのタップ操作として受け付ける。より具体的には、操作受付部111は、タップ操作が入力された座標が、補助キャラクタ302が表示されている位置に対応する入力部151の範囲外である場合、該タップ操作を補助キャラクタ302以外へのタップ操作として受け付ける。
ゲーム実行部115は、操作受付部111が補助キャラクタ302以外へのタップ操作を受け付けた場合、操作キャラクタ301に戦闘におけるアクションを実行させる。操作キャラクタ301が該アクションを実行したとき、ゲーム実行部115は、一例として、該アクションを示す画像313を表示させてもよい。なお、アクション操作は、タップ操作に限定されない。一例として、アクション操作は、タップ操作に加え、フリック操作などの、タップ操作とは別種類の操作を含んでもよい。また、この例の場合、各アクション操作に、それぞれ別のアクションが関連付けられていてもよい。
上述したように、メニュー表示操作はタップ操作であり、また、アクション操作はタップ操作を含む。換言すれば、アクション操作は、メニュー表示操作と同種類(同態様)の操作を含む。
これら2つのタップ操作は、補助キャラクタ302へのタップ操作であるか否かが異なる。また、敵キャラクタ321との戦闘において、ユーザは、敵キャラクタ321の体力を無くすために、アクション操作を複数回入力することとなる。このため、敵キャラクタ321との戦闘中に補助キャラクタ302が表示されていると、ユーザが誤って補助キャラクタ302へのタップ操作を入力してしまい、メニュー画面が表示されてしまうおそれがある。このため、ゲーム実行部115は、操作受付部111が補助キャラクタ302以外へのタップ操作を受け付けた場合、補助キャラクタ302を非表示とする。これにより、戦闘中に、ユーザが意図せずメニュー画面を表示させてしまうことを防ぐことができる。
ゲーム実行部115は、戦闘が終了したとき、補助キャラクタ302を再度表示させる。すなわち、補助キャラクタ302がゲーム画面に含まれない期間は、操作キャラクタ301と敵キャラクタ321との戦闘の開始から終了までの期間である。ゲーム実行部115は、一例として、フィールド画面300に表示されたすべての敵キャラクタ321の体力がなくなったとき、戦闘が終了したと判断してもよい。あるいは、ゲーム実行部115は、アクション操作が所定時間入力されなかったとき、戦闘が終了したと判断してもよい。
なお、ゲーム実行部115は、補助キャラクタ302を非表示とする場合、補助キャラクタ302がゲーム画面の領域外へ逃げるアニメーションを表示させてもよい。また、ゲーム実行部115は、補助キャラクタ302を再度表示させる場合、補助キャラクタ302がゲーム画面の領域外からゲーム画面の領域内へ戻ってくるアニメーションを表示させてもよい。これにより、補助キャラクタ302が突然非表示となったり、再度表示されたりすることでユーザが戸惑うことを防ぐとともに、補助キャラクタ302が戦闘に参加しないキャラクタであることをユーザに認識させることができる。
(編集画面)
図8は、メニュー画面から遷移可能な情報画面の一具体例を示す図である。詳細には、図8は、連続するアクション操作よりなる操作列に含まれる各アクション操作に、該アクション操作の操作列における順序に応じたアクションを関連付ける編集画面を示す図である。換言すれば、メニュー画面から遷移可能な情報画面には、編集画面が含まれている。
ゲーム実行部115は、図6(B)に示すボタン411へのタップ操作を操作受付部111が受け付けた場合、編集画面生成部117に、編集画面を生成させる。そして、該編集画面を、表示制御部112を制御してタッチスクリーン15に表示させる。
図8に示す編集画面500は、操作の種類毎の操作列コンポーネント501と、アクションアイコン502の一覧とを含む。この例では、5種類の操作(タップ操作、上フリック操作、下フリック操作、左右フリック操作及び回転操作)のそれぞれの操作列コンポーネント501が含まれている。すなわち、本実施形態に係るアクション操作は、上記5種類の操作である。ただし、編集画面に含まれる操作列コンポーネント501の個数は、図示した個数に限定されない。また、表示し得るアクションアイコン502の個数が、同時に表示可能な個数(図8(A)及び(B)では6つ)を超える場合には、スクロールバー503が表示されるようになっている。スクロールバー503に対する操作により、表示し得るアクションアイコン502のうち、隠れていたアクションアイコン502が表示される。
ここで、アクション操作として特定される5種類の操作の検出について説明する。まず、タップ操作については、公知の手法を適用して検出可能である。
次に、上フリック操作、下フリック操作及び左右フリック操作の検出手法について説明する。これらの操作は、それぞれ、フリック操作の方向に基づき検出される。フリック操作自体の検出手法については、公知の手法を適用可能である。ここで、上、下、左右の各方向は、表示部152において任意に定めることが可能である。例えば、表示部152に表示されたゲーム空間においてキャラクタが向いている方向(すなわち、仮想カメラが向いている方向)を、上方向としてもよい。この場合、上方向を定めることにより、上方向の反対方向を、下方向と定めることができる。また、上方向を90度左(または右)回転させた方向を、左(または右)方向と定めることができる。
この場合、操作受付部111は、フリック操作の方向が、上方向を基準として所定角度の範囲に含まれる場合に、上フリック操作として検出する。これにより、操作キャラクタが向いている方向へのフリック操作が、上フリック操作として検出される。また、操作受付部111は、フリック操作の方向が、下方向を基準として所定角度の範囲に含まれる場合に、下フリック操作として検出する。これにより、操作キャラクタの後ろに向かう方向へのフリック操作が、下フリック操作として検出される。また、操作受付部111は、フリック操作の方向が、左(または右)方向を基準として所定角度の範囲に含まれる場合に、左右フリック操作として検出する。これにより、操作キャラクタの横方向に向かうフリック操作が、左右フリック操作として検出される。
次に、回転操作の検出手法について説明する。回転操作とは、ドラッグ操作における物体1010の接触位置(すなわち、タッチ位置)の軌跡がリング状またはほぼリング状となる操作をいうものとする。なお、回転操作の軌跡が描くリングは閉じていなくてもよい。また、回転操作におけるドラッグ操作の開始位置と終了位置とは、一致していなくてもよい。
回転操作の検出手法の一例について説明する。例えば、回転操作は、所定期間におけるドラッグ操作のベクトル成分の変化を検知することにより特定可能である。具体的には、操作受付部111は、入力部151に対する物体1010の接触を検出してから所定期間ドラッグ操作が継続していれば、その操作方向のベクトル成分の変化を検出する。操作受付部111は、回転操作を表すベクトル成分の変化のパターンをあらかじめ記憶しておき、該当するパターンを検出した場合に、回転操作を検出したと判断すればよい。
次に、操作列コンポーネント501について説明する。操作列コンポーネント501は、該当する種類の連続した操作のうち、順序iの操作に関連付けられたアクションを表すスロット501i(iは1以上N以下の自然数)を、1段目からN段目まで順に配列したコンポーネントである。なお、Nは、1以上の整数であり、当該種類の操作列に含まれ得る操作の最大数を表す。最大数Nは、当該種類の連続する操作により連続してアクションを繰り出すことが可能な連続数の上限値となる。以降、最大数Nを、最大連続数Nとも記載する。最大連続数Nは、例えば、該当する保有キャラクタの特性に応じて異なっていてもよい。また、最大連続数Nは、該当する操作の種類の特性に応じて異なっていてもよい。また、最大連続数Nは、所定の条件が満たされた場合に増加可能である。最大連続数Nを増加させる条件としては、例えば、仮想通貨等の消費アイテムとの引き換えが挙げられる。また、最大連続数Nを増加させる条件としては、例えば、その保有キャラクタがレベルアップすることが挙げられる。ただし、最大連続数Nを増加させる条件は、これらに限られない。
また、操作列コンポーネント501に含まれるN個のスロット501iのうち、編集可能数Mまでのスロット501iに対して、アクションの関連付けが可能(すなわち、編集可能)である。編集可能数Mを超えるスロット501iは、編集不可能であり、アクションの関連付けができない。編集不可能なスロット501iは、編集不可能であることを表すよう表示される。図8(A)及び(B)の例では、カギマークが表示されたスロット5015は、編集不可能であることを表している。また、当該種類の連続する操作により連続してアクションを繰り出すことが可能な連続数は、編集可能数Mまでとなる。ただし、編集可能数Mは、保有キャラクタが満たす条件に応じて最大連続数Nまで増加可能である。なお、編集可能数Mは、保有キャラクタにより異なっていてもよい。編集可能数Mを増加させる条件としては、例えば、仮想通貨等の消費アイテムとの引き換えが挙げられる。また、編集可能数Mを増加させる条件としては、例えば、その保有キャラクタがレベルアップすることが挙げられる。ただし、編集可能数Mを増加させる条件は、これらに限られない。
次に、アクションアイコン502について説明する。アクションアイコン502は、操作列情報の各操作に対して関連付け得るアクションを表している。関連付け得るアクションの種類としては、前述のように、敵キャラクタに作用を与えるもの、操作キャラクタを移動するもの、他の保有キャラクタを召喚するもの等がある。
また、アクションアイコン502が表すアクションには、例えば、アクションの名称、アクションの特性、アクションのパラメータ等の各種の情報が定められている。アクションアイコン502の近傍には、このような各アクションに関する情報が併せて表示されていてもよい。図8(A)の例では、例えば、「A1」という名称のアクションの特性は「xx」であり、コストは「yy」である。また、アクションのパラメータの一例として、コストがある。コストの詳細については後述する。なお、アクションアイコン502が表すアクションに定められる情報は、上述した情報に限定されない。また、アクションアイコン502の近傍に表示される情報は、これらの情報に限定されない。なお、図8(A)の例では、アクションアイコン502は、対応するアクションの名称を含むアイコンとして表示されているが、アクションアイコン502の表示形態は、これに限られない。例えば、アクションアイコン502は、対応するアクションを表すデザインのアイコンとして表示されていてもよい。
次に、アクションアイコン502の一覧について説明する。アクションアイコン502の一覧は、スロット501iに対応する操作に関連付けが可能なアクションの一覧を表す。関連付けが可能なアクションは、該当する保有キャラクタによって取得済みのアクションを含む。さらに、関連付けが可能なアクションは、該当する保有キャラクタと同種別の他の保有キャラクタによって取得済みのアクションを含んでいてもよい。
なお、保有キャラクタは、条件を満たすことにより新たなアクションを取得するようになっていてもよい。新たなアクションを取得する条件とは、例えば、該当する保有キャラクタの操作キャラクタ301としてのプレイ期間が閾値を超えることであってもよい。これは、ゲームの進行に伴い操作キャラクタ301が新たな技を閃いたことを表現している。また、アクションを取得する条件とは、例えば、操作キャラクタ301が所定のアイテムを取得することであってもよい。これは、操作キャラクタ301が所定のアイテムを用いて新たな技を覚えることを表現している。
また、アクションアイコン502の一覧は、編集対象のスロット501iに対応する操作の種類に応じた特性を有するアクションの一覧を表す。例えば、タップ操作に応じた特性とは、ホーミング性能が高いことであってもよい。また、例えば、上フリック操作または下フリック操作に応じた特性とは、攻撃力が高いことであってもよい。また、例えば、左右フリックに応じた特性とは、攻撃範囲が広いことであってもよい。また、関連付け得るアクションの特性を、操作の種類に応じて変化させてもよい。例えば、上、下または左右フリック操作に比べて、タップ操作に関連付け得るアクションのホーミング性能を高くし、回転操作に関連付け得るアクションのホーミング性能を低くしてもよい。また、例えば、上または下フリック操作に比べて、左右フリック操作に関連付け得るアクションのホーミング性能を高くしてもよい。
例えば、図8(A)では、タップ操作の操作列コンポーネント501に含まれる何れかのスロット501iがタップされたことにより、タップ操作に応じた特性を有するアクションA1〜A6を表すアクションアイコン502の一覧が表示されている。また、図4(B)では、上フリック操作の操作列コンポーネント501に含まれる何れかのスロット501iがタップされたことにより、上フリック操作に応じた特性を有するアクションB1〜B6を表すアクションアイコン502の一覧が表示されている。
次に、編集画面における操作列情報の編集方法の一例について説明する。編集可能なスロット501iには、アクションアイコン502を嵌め込むことが可能となっている。嵌め込まれたアクションアイコン502が表すアクションは、スロット501iの順序の操作に関連付けられる。スロット501iにアクションアイコン502を嵌め込むための操作は、例えば、ドラッグ操作であってもよい。また、嵌め込むための操作は、スロット501i及びアクションアイコン502をこの順または逆順にタップ操作することであってもよい。ただし、嵌め込むための操作は、これらの操作に限定されない。
また、スロット501iに嵌め込まれたアクションアイコン502は、所定の操作によりクリアされ、空きスロットとなることが可能である。クリアのための操作は、例えば、既に嵌め込まれたアクションアイコン502が、スロット501iの枠外にドラッグ操作されることであってもよい。ただし、クリアのための操作は、このような操作に限定されない。また、編集画面において、各種類の操作列コンポーネント501における各スロット502iを空きスロットとする「オールクリア」の機能が提供されていてもよい。この場合、編集画面は、オールクリアを指示するボタン(図示せず)を含む。
なお、スロット501iは、該当する順序のアクションが関連付けられていない場合には、空きスロットであることを表すよう表示される。図8(A)および図8(B)の例では、空きスロットであることを、スロット501iを塗りつぶすことで表現している。
例えば、図8(A)において、タップ操作に関する操作列コンポーネント501を参照すると、5つのスロット501iが配列されている。すなわち、最大連続数Nは5である。また、スロット5011〜5014までが編集可能であり、そのうち、スロット5012〜5014は空きスロットである。また、スロット5015は、編集不可能となっている。すなわち、編集可能数Mは4である。換言すると、この例では、この保有キャラクタについては、タップ操作の最大連続数5のうち編集可能数の4段目まで、連続したアクションを実行させることが可能となっている。
また、各操作列情報において各操作に対して関連付けられたアクションのコストの総和は、コストの上限値を超えないよう定められている。例えば、各種類の操作列コンポーネント501における各スロット501iに嵌め込まれたアクションアイコン502のコストの総和が上限値を超えているか否かは、操作列情報の編集を終了する際に判断される。例えば、編集画面生成部117は、編集終了を指示する操作が行われた際に、コストの総和が上限値を超えていなければ、編集内容を反映した操作列情報を、ユーザ情報133として記憶部120に保存する。もし、コストの総和が上限値を超えていれば、編集画面生成部117は、操作列情報を保存しない。この場合、編集画面生成部117は、コストの総和が上限値を超えていることを表示させた上で、編集画面の表示を継続してもよい。
(連続操作判定部118の詳細)
連続操作判定部118の詳細について説明する。連続操作判定部118は、前述したように、ある操作が、前回の操作に連続しているか否かを判定する。前回の操作に続いているとは、今回の操作が、前回の操作に基づく操作キャラクタの一連のモーションが開始してから一定期間内に行われたことをいう。ここで、前回の操作に基づく操作キャラクタの一連のモーションが開始してからの一定期間内として、例えば、前回の操作に基づいて操作キャラクタが攻撃のための準備モーションを行っている期間としてもよいし、戻りモーションを終えるまでの間としてもよいし、戻りモーションを終えてからも所定の時間内において操作を受け付けることとしてもよい。例えば、ある操作が、前回の操作に基づく操作キャラクタの一連のモーションが終わる前に行われたこととしてもよい。
すなわち、連続操作判定部118は、今回の操作が、前回の操作に基づく操作キャラクタの一連のモーションが開始してから一定期間内に行われたか否かを判断すればよい。例えば、ある操作が、前回の操作に基づく操作キャラクタの攻撃前の準備モーションを表すアニメーションが行われている間に行われた場合に、連続操作判定部118は、ある操作が、前回の操作に連続していると判定してもよい。また、ある操作が、前回の操作に基づく操作キャラクタの戻りモーションが終わってから一定期間が経過するまでの間に行われた場合に、連続操作判定部118は、ある操作が、前回の操作に連続していると判定してもよい。
また、連続操作判定部118は、連続していると判定したときに、前回及び今回の操作の種類に応じた操作列情報を参照して、実行すべきアクションを決定する。連続操作判定部118は、決定したアクションを、ゲーム実行部115に通知する。
具体的に、まず、前回及び今回の操作の種類が同一であった場合について説明する。この場合、連続操作判定部118は、今回の操作が、当該種類の操作の何番目であるか(すなわち、順序i)をカウントする。順序iのカウントは、連続していると判定する度に、操作の種類を履歴として記憶しておくことで算出可能である。なお、連続操作判定部118は、操作の種類の履歴を、連続していないと判定した時点でクリアしてもよい。そして、連続操作判定部118は、今回の操作の種類に関する操作列情報を参照し、今回の順序iの操作に関連付けられたアクションを、次に実行すべきアクションとして決定する。なお、今回の順序iが、操作列情報における編集可能数Mを超えている場合について説明する。この場合、本実施形態では、連続操作判定部118は、これ以上連続した操作は不可能であるとして、次に実行すべきアクションを決定しないものとする。すなわち、同じ種類の操作は、連続数が編集可能数Mを超えた時点以降、当該操作が前回の操作に連続していないと判定されるまで、無効となる。これにより、本実施形態は、ユーザに対して、できるだけ複数の種類の操作列をつなげた操作を行うよう促すことができる。
ただし、連続数が編集可能数Mを超えている場合の処理は、上述したような操作を無効とする処理に限られない。例えば、この場合、連続操作判定部118は、順序を1にリセットして、操作列情報の1段目のアクションを、次に実行すべきアクションとして決定してもよい。この場合、ユーザは、同種類の操作を連続して行うと、連続数に上限なく、連続数の分だけ、次々と連続してアクションを繰り出すことが可能となる。
次に、前回及び今回の操作の種類が同一でなかった場合について説明する。この場合、連続操作判定部118は、今回の操作の種類の関する操作列情報を参照し、順序iの操作に関連付けられた1段目のアクションを、次に実行すべきアクションとして決定する。
ゲーム実行部115は、連続操作判定部118によって決定されたアクションが通知されると、前回の操作に基づくアクションに続いて今回の操作に基づくアクションを操作キャラクタに実行させるよう、他の各部に通知する。
例えば、前回の操作に基づくアクション及び今回の操作に基づくアクションが共に敵キャラクタに作用を与えるアクションである場合について例示的に説明する。敵キャラクタに作用を与えるアクションが、前述のように、準備モーションと、攻撃モーションと、戻りモーションとを含んでいたとする。このとき、今回の操作が、前回の操作に基づく技モーションの表示期間中であるとする。この場合、今回の操作に基づくアクションを操作キャラクタに開始させるタイミングとして、次の2つのパターンが考えられる。
1つ目のパターンでは、ゲーム実行部115は、操作キャラクタに、前回の操作による技モーションを終了させた後、続く戻りモーションをキャンセルして、今回の操作による準備モーションを開始させる。2つ目のパターンでは、ゲーム実行部115は、操作キャラクタに、前回の操作による技モーションをキャンセルさせ、直ちに今回の操作による準備モーションを開始させる。いずれの場合であっても、ゲーム実行部115は、操作キャラクタに、連続した操作に応じて、操作列情報に基づき決定したアクションを連続して実行させることができる。
(マップ画面)
図9は、メニュー画面から遷移可能な情報画面の一具体例を示す図である。詳細には、図9は、操作キャラクタ301がいるフィールドのマップを確認するためのマップ画面を示す図である。
図9に示すマップ画面600は、マップ画像601とボタン602とを含む。マップ画像601は、一例として、操作キャラクタ301がいるフィールドの鳥瞰図であってもよい。ボタン602は、タップ操作を受け付けるボタンであり、ゲーム実行部115は、ボタン602に対するタップ操作を受け付けると、マップ画面に代えてメニュー画面をタッチスクリーン15に表示させる。なお、ゲーム実行部115は、ボタン602に対するタップ操作を受け付けたとき、マップ画面に代えてフィールド画面を表示させてもよい。
ゲーム実行部115は、マップ画像601上に、操作キャラクタ301の位置を示すアイコン603を表示させてもよい。該アイコン603は、一例として、補助キャラクタ302であってもよい。これにより、補助キャラクタ302が、操作キャラクタ301が広げた地図上で、現在位置を示しているかのような演出とすることができ、ユーザのゲームに対する没入感を向上させることができる。
(作用効果)
上述したように、本実施形態に係るゲームシステム1によれば、フィールド画面において、操作キャラクタ301の近傍に補助キャラクタ302を配置し、該補助キャラクタ302に対するタップ操作を受け付けると、メニュー画面を表示させる。つまり、ゲーム空間に存在するオブジェクトが、メニュー画面を表示する操作を受け付けるUIとなっている。これにより、タッチスクリーン15に表示される、ゲーム空間に存在しないオブジェクトの数を減らすことができる。詳細には、既存のゲームにおいて、ゲーム空間に存在しないオブジェクトとして表示されていた、メニュー画面を表示する操作を受け付けるUIが不要となる。これにより、ユーザのゲームに対する没入感をいっそう向上させることができる。
また、本実施形態に係るゲームシステム1によれば、タッチスクリーン15に表示される、ゲーム空間に存在しないオブジェクトの数が減ることにより、フィールド画面300の表示面積を増やすことができる。これにより、ユーザが、フィールド画面300を視認しやすくなる。スマートフォンなどのユーザ端末100の場合、表示部152の面積がパーソナルコンピュータなどに比べて狭いため、ゲーム空間に存在しないオブジェクトによって、フィールド画面300を視認しづらいという問題が特に顕著となる。このため、本実施形態に係るゲームシステム1のように、タッチスクリーン15に表示される、ゲーム空間に存在しないオブジェクトの数を減らすことにより、フィールド画面300を視認しやすくなるという効果がより大きくなる。また、ゲームシステム1に基づくゲームが、オープンワールドのゲームである場合、タッチスクリーン15に表示される、ゲーム空間に存在しないオブジェクトの数を減らすことにより、遠くの風景や建物が該オブジェクトによって隠れる可能性が減る。このため、ユーザのゲームに対する没入感をよりいっそう向上させることができる。
〔変形例〕
補助キャラクタ302は、ゲームの物語や世界観に沿ったキャラクタであればよく、上述した実施形態の例、すなわち妖精に限定されない。一例として、ゲームの物語がホラーである場合、補助キャラクタ302は、操作キャラクタ301の守護霊であってもよい。
補助キャラクタ302は、敵キャラクタとの戦闘中に非表示となっていればよく、ゲーム実行部115が補助キャラクタ302を非表示とするトリガは、操作受付部111が補助キャラクタ302以外へのタップ操作を受け付けることに限定されない。一例として、該トリガは、操作キャラクタ301と敵キャラクタとの距離が所定の範囲内となったときであってもよい。
また、ゲーム実行部115は、敵キャラクタとの戦闘において、ユーザが誤って補助キャラクタ302へのタップ操作を入力してしまわないようにすればよく、その解決方法は、補助キャラクタ302を非表示とすることに限定されない。一例として、ゲーム実行部115は、戦闘中にも補助キャラクタ302を表示させる一方、戦闘中において、補助キャラクタ302へのタップ操作を無効としてもよい。また、ゲーム実行部115は、補助キャラクタ302へのタップ操作が無効である期間において、補助キャラクタ302の態様を変更してもよい。一例として、ゲーム実行部115は、補助キャラクタ302が妖精の場合、発光色を変更してもよい。これにより、ユーザに、補助キャラクタ302へのタップ操作が無効であることを認識させることができる。
また、上記解決方法の一例として、ゲーム実行部115は、補助キャラクタ302を、ゲーム画面中において、操作キャラクタ301の近傍以外の位置へ移動させてもよい。該位置は、ユーザが、タッチスクリーン15に対してアクション操作を入力するときに、誤って補助キャラクタ302へのタップ操作を入力してしまわないような位置であればよい。一例として、該位置は、ユーザがタッチスクリーンを閲覧するときの上側の領域であってもよい。
また、補助キャラクタ302へのタップ操作により表示されるメニュー画面は、各種情報画面を提示するための操作画面に限定されない。一例として、メニュー画面は、操作キャラクタの情報、もしくは、ゲームの進行に関する情報を含んでいてもよい。すなわち、メニュー画面は、操作画面であると同時に、これらの情報を示す情報画面であってもよい。また、補助キャラクタ302へのタップ操作により、メニュー画面ではなく、情報画面のうちの1つ(例えば、編集画面)が表示されてもよい。
また、メニュー表示操作はアクション操作に含まれる操作と異なる種類の操作であってもよい。例えば、メニュー表示操作は、補助キャラクタ302に対する長押し操作であってもよい。補助キャラクタ302に対する長押し操作とは、補助キャラクタ302が表示されている位置に対して、所定時間より長い時間、指1011を接触させた後、接触を解除する操作である。
〔ソフトウェアによる実現例〕
制御部210、ならびに、制御部110の制御ブロック(特に、操作受付部111、表示制御部112、UI制御部113、アニメーション生成部114、ゲーム実行部115、カメラ配置制御部116、編集画面生成部117及び連続操作判定部118)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210または制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)と、メモリ(21)と、ディスプレイ(表示部152)と、ユーザの入力操作を受け付ける操作部(入力部151)とを備えるコンピュータ(ユーザ端末100)により実行される。該ゲームプログラムに基づくゲームは、ゲーム空間内に配置された第1キャラクタ(操作キャラクタ301)を、前記ユーザの入力操作である第1操作(移動操作、ドラッグ操作)に応じて移動させることが可能なゲームである。ゲームプログラムは、プロセッサに、ゲーム空間内の第1キャラクタの近傍に、第2キャラクタ(補助キャラクタ302)を配置するステップ(S102)と、第1キャラクタの周囲のゲーム空間を含むゲーム画面(フィールド画面300)をディスプレイに表示させるステップ(S103)と、第1キャラクタの近傍に配置された第2キャラクタを対象とする入力操作である第2操作(タップ操作、メニュー表示操作)を受け付けるステップ(S108)と、第2操作を受け付けた場合に、第1キャラクタもしくはゲームの進行に関する情報を示す情報画面(編集画面500、マップ画面600)、または該情報画面を提示するための操作画面(メニュー画面400)を、ディスプレイに表示させるステップ(S109)と、を実行させる。これにより、ユーザのゲームに対する没入感をいっそう高め、ゲームプレイの興趣性をいっそう向上させることができる。
(項目2) (項目1)において、ゲームは、第1キャラクタを含む複数のキャラクタが登場する物語に沿って進行するゲームであって、第2キャラクタは、複数のキャラクタの少なくともいずれかのキャラクタであってもよい。これにより、情報画面または操作画面を表示するための操作が、物語に登場するキャラクタを対象とする操作となるので、ユーザのゲームに対する没入感を向上させることができる。
(項目3) (項目1)または(項目2)において、ゲームプログラムは、プロセッサに、さらに、第1操作に応じて第1キャラクタを移動させたことに伴い、第2キャラクタを、第1キャラクタとの距離が一定以上に離れないように第1キャラクタを追従して移動させるステップ(S106)を実行させてもよい。これにより、ユーザが第2キャラクタを見失い、情報画面または操作画面の表示に時間がかかるという状況を防ぐことができる。
(項目4) (項目3)において、ゲームプログラムは、プロセッサに、さらに、第2キャラクタの移動の軌跡(軌跡303)をディスプレイに表示させるステップ(S107)を実行させてもよい。これにより、ユーザが第2キャラクタを見失い、情報画面または操作画面の表示に時間がかかるという状況を防ぐことができる。
(項目5) (項目1)から(項目4)のいずれかにおいて、ゲームプログラムは、プロセッサに、さらに、第2キャラクタ以外を対象とする入力操作である第3操作(タップ操作、アクション操作)を受け付けるステップ(S110)と、第3操作を受け付けた場合に、第3操作に関連する特定のアクションを第1キャラクタに行わせるステップ(S112)と、を実行させ、第3操作は、第2操作と同態様の操作を含んでもよい。
(項目6) (項目5)において、ゲームは、第1キャラクタが敵キャラクタ(敵キャラクタ321)との戦闘を行うことで進行するゲームであって、第3操作に関連する特定のアクションは、戦闘において行われるアクションであり、ゲームプログラムは、プロセッサに、さらに、第1キャラクタと敵キャラクタとの戦闘の開始から終了までの期間は、第2操作を無効とするステップ(S111)を実行させてもよい。これにより、戦闘中に、ユーザが意図せず情報画面または操作画面を表示させてしまうことを防ぐことができる。
(項目7) (項目5)において、ゲームは、第1キャラクタが敵キャラクタとの戦闘を行うことで進行するゲームであって、第3操作に関連する特定のアクションは、戦闘において行われるアクションであり、第1キャラクタと敵キャラクタとの戦闘の開始から終了までの期間は、第2キャラクタはゲーム画面に含まれなくてもよい。これにより、戦闘中に、ユーザが意図せず情報画面または操作画面を表示させてしまうことを防ぐことができる。
(項目8) (項目1)から(項目7)のいずれかにおいて、コンピュータは、ディスプレイと操作部とが一体に構成されたタッチスクリーン(15)を備えており、第1キャラクタは、タッチスクリーンの略中央に配置されてもよい。これにより、第2キャラクタもタッチスクリーンの略中央に配置されることとなるので、ユーザが第2キャラクタを見失うことを防ぐことができる。
(項目9) (項目1)から(項目8)のいずれかにおいて、ゲームプログラムは、プロセッサに、さらに、第2キャラクタ以外を対象とする入力操作である第3操作(タップ操作、アクション操作)を受け付けるステップと、第3操作を受け付けた場合に、第3操作に関連する特定のアクションを第1キャラクタに行わせるステップと、を実行させ、情報画面には、連続する第3操作よりなる操作列に含まれる各第3操作に、該第3操作の操作列における順序に応じたアクションを関連付ける編集画面(500)が含まれていてもよい。これにより、ユーザは、連続するタッチ入力に応じたゲーム展開を、試行錯誤しながら変化させることができる。その結果、ユーザは、連続する操作に応じて多様なゲーム展開を楽しむことができ、ゲームの興趣性がより高まる。
(項目10) (項目1)から(項目9)のいずれかにおいて、ゲームは、第1キャラクタが敵キャラクタとの戦闘を行うことで進行するゲームであって、第2キャラクタは、敵キャラクタとの戦闘に参加しないキャラクタであってもよい。
(項目11) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサと、メモリと、ディスプレイと、ユーザの入力操作を受け付ける操作部とを備えるコンピュータにより実行される。該方法は、プロセッサが、(項目1)に記載の各ステップを実行する方法である。(項目10)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目12) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶する記憶部(120)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)とを備える。(項目12)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。