本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
〔実施形態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または他のユーザ端末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とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
なお、本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよいし、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよいし、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとはユーザ情報、ゲーム情報等、ゲームに関するデータ、ならびにユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示や通知を含んでいる。
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)〜(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定し、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定し、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、例えば、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
(ユーザ端末100の機能的構成)
図2は、ユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
記憶部120は、ゲームプログラム121と、ゲーム情報122と、ユーザ情報123とを格納する。ゲームプログラム121は、ユーザ端末100で実行するゲームプログラムである。ゲーム情報122は、制御部110がゲームプログラム121を実行する際に参照するデータであって、後述するサーバ200のゲーム情報222と同様の情報を含んでいてもよい。本実施形態では、ゲーム情報122は、建築データ122Aと、タウンデータ122Bとを含む。建築データおよびタウンデータについては後述する。ユーザ情報123は、ユーザ端末100のユーザに関するデータであって、後述するサーバ200のユーザ情報223と同様の情報を含んでいてもよい。本実施形態では、ユーザ情報123は、ユーザの所持アイテムの個数、および該所持アイテムに係る各種設定等の情報を含む。
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲーム情報122に記憶された、ゲーム空間を構築するための情報を参照してゲーム空間を構築する。「ゲーム空間」とは、ユーザが操作可能なオブジェクトが配置される空間である。また、制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データおよびプログラム等を受信する。制御部110は、ゲーム情報122もしくはユーザ情報123の一部または全部をサーバ200に送信する。制御部110はサーバ200にマルチプレイの同期の要求を送信してもよい。制御部110はサーバ200からマルチプレイの同期のためのデータを受信してもよい。なお、本実施形態において「マルチプレイ」とは、複数のユーザで1つのゲーム空間を共有してゲームを進行させるプレイ形式を指す。
制御部110は、ゲームプログラム121の記述に応じて、入力操作受付部111、ゲーム進行処理部112、移動制御部113、カメラ配置制御部114、オブジェクト制御部115、および表示制御部116として機能する。
入力操作受付部111は、ユーザの入力操作を検知し受け付ける。入力操作受付部111は、タッチスクリーン15の入力部151、カメラ17、測距センサ18、通信IF13を介したコンソール(コントローラ1020等)、およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、入力操作受付部111は、入力部151に対する入力操作を受け付け、当該入力操作の入力位置の座標を検出し、当該入力操作の種類を特定する。入力操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、入力操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
ゲーム進行処理部112は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行処理部112は、入力操作受付部111が受け付けた入力操作の位置の座標と、操作の種類と、ゲームの進行状況とに基づいて、ユーザの指示内容を特定する。また、ゲーム進行処理部112は、当該入力操作がキャラクタの動作を指示する入力操作であることを特定する。また、ゲーム進行処理部112は、ゲーム情報122またはユーザ情報123の追加、更新、または削除を行う。また、ゲーム進行処理部112は、ゲームの進行に係る各種判定処理を行う。
移動制御部113は、入力操作の位置座標および種類に基づいて、キャラクタの具体的な移動方向、移動速度、および移動距離の少なくともいずれかを決定するものである。ゲーム進行処理部112がユーザの入力操作をキャラクタの移動を指示する入力操作であると特定した場合、移動制御部113は、当該キャラクタの移動方向、移動速度、および移動距離の少なくともいずれかを決定する。移動制御部113は決定した内容をオブジェクト制御部115に伝える。
カメラ配置制御部114は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。カメラ配置制御部114は、仮想カメラのゲーム空間内での位置および向きを規定することにより、仮想カメラをゲーム空間に仮想的に配置する。カメラ配置制御部114は、仮想カメラで規定される視野領域および当該視野領域に配置されているオブジェクトを描画した画像を作成するよう、表示制御部116に指示する。なお、カメラ配置制御部114は、仮想カメラの位置および向きを、随時変更してよい。
表示制御部116は、表示部152に画像を表示させる。例えば、表示制御部116は、ゲーム空間のうち、カメラ配置制御部114が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを含む画像を生成し、表示部152に表示させる。表示制御部116は、画像にアイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(user interface)に係るオブジェクトを重畳して表示させてもよい。
オブジェクト制御部115は、ゲーム情報122に含まれる、オブジェクトの設定情報に基づきゲーム空間にオブジェクトを配置する。また、オブジェクト制御部115は、ゲーム空間に配置したオブジェクトを制御する。例えば、オブジェクト制御部115は、オブジェクトのゲーム空間内での位置、向き、形状、色等を変更したり、オブジェクトに所定の一連の動作を行わせたりする。例えば、オブジェクト制御部115は、ユーザの入力操作に基づいて動作する操作可能なキャラクタを、移動制御部113が決定した移動方向、移動速度、および移動距離で移動させる。なお、以降の説明では「ユーザの入力操作に基づいて動作する操作可能なキャラクタ」を「操作キャラクタ」と称する。
(サーバ200の機能的構成)
図3は、サーバ200の機能的構成を示すブロック図である。サーバ200は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する機能を有する。例えば、有価データの販売、サービスの提供などを実行する。有価データとは、例えばゲーム内通貨または有料アイテムである。ゲームがマルチプレイのゲームである場合には、サーバ200は、ゲームに参加する各ユーザ端末100と通信して、ユーザ端末100同士のデータの交換の仲介、および同期処理を行う機能を有していてもよい。
また、サーバ200は、ゲームを実現するために必要な各種データおよびプログラムを、各ユーザ端末100に提供する機能を有する。例えば、サーバ200は、ゲームがアップデートされた場合に、アップデート後のゲームプログラム121をユーザ端末100に提供する。また、サーバ200は、各ユーザ端末100からゲームに関するデータを収集し管理する機能を有する。
サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部220は、制御部210が使用する各種データを格納する。記憶部220はゲームプログラム221と、ゲーム情報222と、ユーザ情報223とを格納している。
ゲームプログラム221は、ゲームを実現するためのプログラムである。ゲーム情報222およびユーザ情報223は、ゲームプログラム221が実行されるときに参照されるデータである。
なお、ゲームプログラム221は、サーバ200で実行するゲームプログラムに加えて、ユーザ端末100で実行するゲームプログラム121を含んでいてもよい。もしくは、記憶部220は、ゲームプログラム221と、ゲームプログラム121との両方を格納していてもよい。
ゲーム情報222は、ユーザ間で共通の情報である。ゲーム情報222は、例えば各種ゲーム空間を構築するための情報を含み得る。また、ゲーム情報222は、ゲーム空間内に配置されるオブジェクトに関する各種設定情報を含み得る。例えば、ゲーム情報222は、背景オブジェクト、キャラクタオブジェクト等の配置位置、大きさ、色、形状等に関する各種設定情報を含み得る。また、ゲーム情報222は、NPCの各種パラメータの設定値を含み得る。また、ゲーム情報222は、建築データおよびタウンデータを含んでいてもよい。
ユーザ情報223は、ユーザ毎に管理される情報である。ユーザ情報223は例えば、ユーザを識別するための情報(ユーザ識別情報)に、保有しているキャラクタに関する情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を対応付けた情報である。ユーザ識別情報とは、例えばユーザのID、名称、または生年月日である。保有しているキャラクタに関する情報とは、例えばキャラクタの各種パラメータ等、キャラクタ毎に設定される情報である。ユーザの保有資産とは、例えばゲーム内通貨、アイテム、および装備品等である。
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、ゲームプログラム221を実行することにより、送受信部211、データ管理部213、およびサーバ処理部212として機能する。
送受信部211は各種データを送受信する。例えば、送受信部211は、ユーザ端末100からの各種データおよびプログラムの送信要求、マルチプレイの同期の要求、および同期のためのデータ等を受信する。また例えば、送受信部211は、サーバ処理部212からの指示に従って、ユーザ端末100に各種データおよびプログラムを送信する。
サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は、ユーザ端末100からの要求等に応じて、ゲームプログラム221に記述された演算処理を実行する。また例えば、サーバ処理部212は、ゲームの進行に係る各種判定処理を行う。
例えば、サーバ処理部212は、データ管理部213にゲーム情報222またはユーザ情報223のレコードの追加、更新、または削除を指示する。また例えば、サーバ処理部212は送受信部211に各種データまたはプログラムの送信を指示する。
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。例えば、データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報222またはユーザ情報223のレコードを、追加、更新、または削除する。また例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲーム情報222およびユーザ情報223の少なくとも一方を記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。また例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲームプログラム221のうち、ユーザ端末100で実行する分のプログラムを記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
なお、制御部210は、ゲームがマルチプレイである場合、マルチプレイに係る同期処理を行ってもよい。制御部210は、送受信部211においてマルチプレイの同期の要求および同期のためのデータを受け取った場合、マルチプレイの同期処理を行う。制御部210は、送受信部211においてあるユーザのユーザ端末100から受信した同期のためのデータを、他のユーザのユーザ端末100に同期して送信する。これにより、複数のユーザ端末100の間の、ゲームに係る種々のデータを同期させることができる。なお、制御部210は、同期のタイミングおよび同期すべきデータをサーバ処理部212において判定してもよい。制御部210が以上の処理を行うことにより、サーバ200は、あるユーザ端末100において行われた入力操作によって引き起こされるゲーム内の作用を、他のユーザ端末100において同期させて表示させることができる。
なお、図2および図3に示したユーザ端末100およびサーバ200の機能は一例にすぎない。ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。また、サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
なお、サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム121および221を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよい。
(メインパートとサブパート)
ゲームシステム1が提供するゲームは、メインパートのゲームと、1つ以上のサブパートのゲームとを含んでいる。以降、メインパートのゲームは単にメインパート、サブパートのゲームはサブパートと称する。
メインパートは、ゲームシステム1が提供するゲームの主となるゲームである。ゲーム進行処理部112は、ユーザのゲームプレイによりメインパートが進行した場合、サブパートを進行させるために必要なアイテムおよびゲーム内通貨等をユーザに付与してよい。もしくは、ゲーム進行処理部112は、メインパートがある程度進行した場合、ユーザのサブパートの一機能や一要素の使用を解禁してもよい。
一方、サブパートは、ゲームシステム1が提供する、メインパート以外のゲームである。ゲーム進行処理部112は、ユーザのゲームプレイによりサブパートが進行した場合、該ユーザのメインパートでのゲームプレイが有利または快適になるような効果を発動させる。なお、該効果については後で詳述する。ゲームシステム1が提供するゲームにおいてサブパートは複数あってよい。また、複数のサブパートのゲームの内容は異なっていてもよい。
なお、メインパートおよびサブパートの少なくとも一方のゲームは、ユーザ間の交流がゲームの一要素に含まれていることが望ましい。より具体的には、メインパートおよびサブパートは、あるユーザと他のユーザとが協力または敵対して進行させるゲームであることが望ましい。例えば、メインパートは複数のユーザで1ステージを協力してクリアするアクションゲームであってもよい。または、メインパートは複数のユーザが敵味方に分かれて対戦するスポーツゲームであってもよい。また、メインパートまたはサブパートは、ユーザ毎のゲームの進行状況等をランキング形式で全ユーザに提示するなど、ユーザ間の競争を促すゲームであってもよい。
ユーザ端末100のゲーム進行処理部112は、入力操作受付部111に対する所定の入力操作に応じて、開始するパートを決定してオブジェクト制御部115にパートに応じたゲーム空間を構築するよう指示する。例えば、入力操作受付部111がメインパートの開始を指示する旨の入力操作を受け付けたとする。この場合、ゲーム進行処理部112はメインパート用のゲーム空間を構築するようオブジェクト制御部115に指示し、オブジェクト制御部115はメインパート用のゲーム空間を構築する。そして、表示制御部116は、タッチスクリーン15にメインパート用のゲーム空間の一部を表示させる。
また例えば、入力操作受付部111に対しサブパートの開始を指示する旨の入力操作があった場合、ゲーム進行処理部112はサブパート用のゲーム空間を構築するようオブジェクト制御部115に指示する。オブジェクト制御部115はサブパート用のゲーム空間(後述するタウン空間)を構築する。そして、表示制御部116は、タッチスクリーン15にサブパート用のゲーム空間の一部を表示させる。
メインパートの具体的なゲーム内容は特に限定されない。本実施形態では、メインパートは、ユーザが、ゲーム空間に配置されたキャラクタを操作して、用意されたステージをクリアする面クリア型のアクションゲームであることとする。また、サブパートの具体的なゲーム内容は特に限定されない。本実施形態では、サブパートは、ユーザがタウン空間(後述)で自分の街を作成する街作りシミュレーションゲームであることとする。
メインパートでステージをクリアすると、ユーザに対し、所定の種類および個数の進行アイテムが付与される。進行アイテムは、サブパートの街作りを進行させるために必要な消費アイテムである。ゲームシステム1は、メインゲームを行った各ユーザに進行アイテムを付与することで、各ユーザにサブパートのゲームをプレイさせる動機を与えることができる。
一方、サブパートを進行させると、メインパートのゲームプレイを有利または快適にする効果が得られる。例えば、サブパートでは、後述する建物等を建築して街作りを進めることで、アクションゲームでユーザが操作するキャラクタ(以降、操作キャラクタと称する)の性能の向上、または見た目等を変化させる効果等が得られる。
(サブパートのゲームとタウン空間)
サブパートを開始する旨を指示する入力操作を入力操作受付部111が受け付けた場合、ゲーム進行処理部112はオブジェクト制御部115にタウン空間の構築を指示する。オブジェクト制御部115は、ゲーム情報122を参照してタウン空間を構築するとともに、該タウン空間に背景となるオブジェクトを配置する。なお、オブジェクト制御部115は背景のオブジェクトに加えて、操作キャラクタのオブジェクトをタウン空間に配置してもよい。
ここで、タウン空間とは、ゲーム空間の一種であり、1人以上の特定のユーザに対応付けられたゲーム空間である。本実施形態では、タウン空間がある1名のユーザ(1ユーザアカウント)に対応付けられた、該ユーザ専用のゲーム空間であるとして説明を行う。しかしながら、タウン空間は、例えば複数のユーザから成る集団(チーム)が共有するゲーム空間であってもよい。
図4は、タウン空間400の一例を示す図である。タウン空間400のある平面(XY平面)に、所定数の矩形領域(グリッド)に区画分けされた領域が示される。なお、このグリッドは実際のゲーム画面で表示されなくてもよい。グリッドに区画分けされた領域は、ユーザが任意でオブジェクトを配置可能な領域を示している。以下、該領域を「建築可能領域」と称する。なお、図4の例はユーザがある程度街作りを進行させている場合の図である。ユーザが街作りを全く進行させていない場合、タウン空間400には、背景のオブジェクト(および操作キャラクタ)のみが配置される。
タウン空間400の建築可能領域には、例えば、建物のオブジェクト(以降、単に建物と称する)401〜406が配置されている。なお、ここで言う「建物」は、ユーザがタウン空間400に任意に配置可能なオブジェクト全般を指しており、該オブジェクトが建築物であることを意味しているのではない。したがって、図示の通り、街路樹のオブジェクト403および404等も以降「建物」と称する。建物は複数種類あり、それぞれの建物の建築が完了することで、該建物に応じた効果が発動する。ここで、「建築」とは、オブジェクト制御部115がタウン空間400に建物を配置することを意味する。
街作りでは、ユーザ端末100のゲーム進行処理部112は、ユーザの入力操作にしたがって、オブジェクト制御部115に建物を建築させる。詳しくは後述するが、建物の建築には、該建物の種類に応じたコストが必要である。建物に関する各種設定は、建築データ122Aとしてユーザ端末100のユーザ情報123に記録される。
オブジェクト制御部115により建物が建築されると、ゲーム進行処理部112は、該建物の種類に応じて、メインパートであるアクションゲームを有利または快適にするための種々の効果を発動させる。いずれの効果をどの程度の強度(後述)で発動しているかを示す情報は、タウンデータ122Bとしてユーザ端末100のユーザ情報123に記録される。
建物には、その種類に応じて、メインパートであるアクションゲームを有利または快適にするための種々の効果が対応付けて設定されている。建物に対応付けられる効果の内容は、メインパートが有利または快適になるものであれば特に限定されない。例えば、ある建物が建築された場合に、アクションゲームにおけるキャラクタの特定のパラメータを上昇させてもよい。この場合、ゲーム進行処理部112は、オブジェクト制御部115の建築が完了したときに、ユーザ情報123のキャラクタの各パラメータの強化状態を示す情報を参照する。そして、ゲーム進行処理部112は該キャラクタの各種パラメータに対し、建築された建物に応じたパラメータの補正値を加算または減算する。ゲーム進行処理部112は、該補正値を加算または減算した状態のパラメータのキャラクタで、アクションゲームを開始させる。
また、ある建物が建築された場合に、アクションゲームにおけるBGMの変更、またはキャラクタの見た目の変更など、アクションゲームを快適にプレイするための機能が使用可能になってもよい。
さらに、街作りでは、建築した建物に対応付けられた効果を強化することができる。本実施形態では、建物には1つの建物ごとにレベルが設定されている。建物のレベルが1段階アップすると、該建物に対応付けられた効果が1段階強化される。そのため、上述した建物の建築は、建物のレベルを0から1にアップさせたと言い換えることもできる。また、建物にはその種類ごとに最大レベルが設定されている。
建物の最大レベルの設定は、建築データ122Aとしてユーザ端末100のユーザ情報123に記録される。また、建物のレベルごとのレベルアップに必要なコストの種類および量についても、建築データ122Aに記録される。
(建物の建築の流れ)
図5は、タウン空間において建物を建築またはレベルアップさせる場合の、ユーザ端末100の処理の流れを示すフローチャートである。入力操作受付部111が街作りのゲームを開始する旨を指示する入力操作を受け付けると、ゲーム進行処理部112は、オブジェクト制御部115にタウン空間を構築するよう指示する。オブジェクト制御部115はタウン空間を構築し、表示制御部116は該タウン空間をタッチスクリーン15に表示させる(S10)。
図6は、タウン空間における建物の建築開始までの、ゲーム画面の遷移例を示す。図6の状態(A)は、建築する建物を選択する前のゲーム画面の一例を示す。表示制御部116は、タウン空間を仮想カメラ330の視野領域で映した画像に、建築ボタンのオブジェクト501を重畳した画像をタッチスクリーン15に表示させる。
入力操作受付部111が建築ボタン501に対するタッチ入力を受け付けると、ゲーム進行処理部112は、ゲーム情報122に含まれる建築データ122Aを読み出す。
建築データ122Aとは、建物の種類に、該建物を建築またはレベルアップさせる場合に必要なコストの種類および量を対応づけて記録したデータである。なお、建築データ122Aには、建物の種類ごとに、ユーザの現時点のメインパートまたはサブパートの進行状況で建築可能な該建物の数を対応付けて記録していてもよい。
ここで、建築に必要な「コスト」とは、例えば時間(建築完了までの所要時間)、所定のアイテム、およびゲーム内通貨等を1つ以上組み合わせたものである。なお、所要時間はゲーム内時間であっても、現実時間であってもよい。前記所定のアイテムおよびゲーム内通貨は、メインパートのゲームプレイによって得られることが望ましい。これにより、ゲームシステム1は、ユーザにメインパートとサブパート両方のゲームをプレイする動機を与えることができる。以降は、建物の建築にはコストとして、現実時間での所要時間と、特定の種類の消費アイテムとが必要になる場合の例を説明する。
図6の状態(B)は、建築ボタン501がタッチされた場合のゲーム画面の一例を示している。建築ボタン501がタッチされると、ゲーム進行処理部112は建築データ122Aを参照し、建築可能な建物を特定する。表示制御部116は、選択ウィンドウ601を表示して、ユーザに建築する建物の種類を選択させる。なお、ゲーム進行処理部112は、ユーザ情報123を参照して、建築可能な建物のうち、建物を建築するために必要なアイテム数よりも、ユーザ情報123に記録されたユーザのアイテムの所持数が少ない場合、該建物を選択不可能な状態で示しても良い。
図6の状態(C)は、選択ウィンドウ601において建築Aが選択された場合のゲーム画面の一例を示している。オブジェクト制御部115は選択された建物Aのオブジェクト407をタウン空間に配置する。表示制御部116は建物A407と、建物A407の建築決定またはキャンセルを指示するボタン群502とをタッチスクリーン15に表示させる。入力操作受付部111が建物A407に対するドラッグ操作を受け付けた場合、表示制御部116は建物A407の位置を移動させる。このように、ユーザ端末100は建物A407を移動させることにより、ユーザに建物Aのタウン空間内での位置を決めさせる。
図7は、タウン空間における建物の建築中から建築完了までの、ゲーム画面の遷移例を示す。図7の状態(A)は、図6の状態(C)において、ボタン群502のうち建築決定を指示するボタンがタッチされた場合の、ゲーム画面の一例を示す。建築決定ボタンがタッチされると、入力操作受付部111は、該入力操作を、建物の建築を指示する入力操作として受け付ける(S11)。入力操作受付部111が該入力操作を受け付けると、ゲーム進行処理部112は、建物の建築に必要なコストの投入を開始する(S12)。具体的には、ゲーム進行処理部112は、建物Aの建築に必要なアイテムを、必要量だけユーザの所持数から減少させる。また、ゲーム進行処理部112は、建物Aの建築に必要な所要時間のカウントダウンを開始する。なお、時間のカウントダウンにはユーザ端末100の内部時計等を用いれば良い。オブジェクト制御部115は、タウン空間における、建物A407が示す位置に、建物Aを建築またはレベルアップ中である旨を示す建築中オブジェクト408を配置してもよい。なお、表示制御部116は図示のように、建築中オブジェクト408の上に、建築またはレベルアップ完了までの残り時間を示す文字およびゲージを重畳表示させてもよい。これにより、ユーザはあとどのぐらいの時間で建築が完了するか容易に知ることができる。
このように、建物Aの建築に必要なコストのうち、アイテムまたはゲーム内通貨等は、建築決定ボタンがタッチされ建築開始が決定する直ちに消費される。一方、所要時間は、現実での時間経過に伴い、徐々に費やされる。ゲーム進行処理部112は、必要量のコストが消費されるまで待機する(S13でNO)。
図7の状態(B)は、所要時間が経過した後のゲーム画面の一例を示す図である。所要時間が経過すると、建物Aの建築に必要なコストが消費された状態になる(S13でYES)。ゲーム進行処理部112は必要量のコストが消費されたと判定すると、オブジェクト制御部115に、建築中オブジェクト408を除去させ、建築中オブジェクト408のあった位置に建物A407を建築させる(S14)。なお、一度建築した建物を取り除くことができてもよい。また、一度取り除いた建物を再度建築する場合は、アイテムおよび所要時間を要さないこととしてもよい。
建物A407が配置されると、ゲーム進行処理部112はタウンデータ122Bを更新する。タウンデータ122Bとは、タウン空間に現在配置されている建物の総数を建物の種類毎に記録するとともに、建物毎の配置位置およびレベルを記録しているデータである。制御部110は更新後のタウンデータ122Bをサーバ200に送信してもよい。図7の例では、ゲーム進行処理部112は、タウンデータ122Bに記録された建物Aの数を1つ増加させる。また、ゲーム進行処理部112は、建築した建物A407のタウン空間400内での配置位置をタウンデータ122Bに記録する。
また、ゲーム進行処理部112は、更新後のタウンデータ122Bを参照し、建物の種類毎に、現在タウン空間400に配置された建物の数およびレベルに応じた補正値を算出する。ゲーム進行処理部112は、ユーザ情報123に記録された、アクションゲームのキャラクタのパラメータの強化状態を示す情報を参照する。そして、ゲーム進行処理部112は、建物の種類毎に対応するパラメータ(建物Aの場合はパラメータA)に所定の補正値を加算または減算する。つまり、ゲーム進行処理部112は、タウン空間400に建築された建物に応じた効果を、建物のレベルに応じた強度で発動させる。同種類の建物がタウン空間400に複数個建築されている場合、ゲーム進行処理部112は、同種類の建物のレベルを合計した合計レベルに応じて補正値を算出し、パラメータに該補正値を加算または減算すればよい。ゲーム進行処理部112はアクションゲームを開始させる場合、該補正値を加算または減算した状態のパラメータのキャラクタでユーザにアクションゲームをプレイさせる。
(建物のレベルアップの流れ)
表示制御部116は、建物A建築後のタウン空間をタッチスクリーン15に表示させている(S10)。図8は、タウン空間における建物のレベルアップに係る、ゲーム画面の遷移例を示す。図8の状態(A)は、タウン空間に配置された建物A407をタッチして選択した場合のゲーム画面の一例を示す。表示制御部116は、ウィンドウ602をタッチスクリーン15に表示させる。ウィンドウ602には、選択された建物Aを移動させるためのボタン602Aと、建物Aについての情報を表示するためのボタン602Bと、建物Aのレベルアップを指示するためのボタン602Cとが含まれる。
図8の(B)は、ボタン602Cがタッチされた場合のゲーム画面の一例を示している。ボタン602Cがタッチされた場合、ゲーム進行処理部112は建築データを読み出し、建物Aのレベルを、図示のレベル1から1段階、すなわちレベル2にアップさせるために必要なコストの種類および量を参照する。ゲーム進行処理部112は該コストの種類および量を表示制御部116に伝える。表示制御部116は建物Aのレベルアップに必要なコストの種類および量を示すウィンドウ603を表示させる。ウィンドウ603には、レベルアップを指示する入力操作を受け付けるための決定ボタン604が含まれている。
図8の(C)は、決定ボタン604がタッチされた場合のゲーム画面の一例を示している。入力操作受付部111は決定ボタン604がタッチされると、レベルアップを指示する入力操作として受け付け(S11)、ゲーム進行処理部112は建物Aのレベルアップに必要なコストの投入を開始する(S12)。すなわち、ゲーム進行処理部112は、ユーザ情報123に記録されている、ユーザの所持するアイテムの量を、建物Aのレベルアップに必要な分だけ減少させる。また、ゲーム進行処理部112は、建物Aのレベルアップに必要な所要時間のカウントダウンを開始する。
決定ボタン604がタッチされると、オブジェクト制御部115は、タウン空間における、建物A407が示す位置に、建築中オブジェクト408を配置する。表示制御部116は図示のように、建築中オブジェクト408の上に、レベルアップ完了までの残り時間を示す文字およびゲージを重畳表示させてもよい。
所要時間が経過すると、建物Aのレベルアップに必要なコストが消費された状態になる(S13でYES)。ゲーム進行処理部112は必要量のコストが消費されたと判定すると、オブジェクト制御部115に、建築中オブジェクト408を除去させ、建築中オブジェクト408のあった位置に、レベルアップ後の建物A407を配置する(S14)。
建物A407がレベルアップされると、ゲーム進行処理部112はタウンデータ122Bを更新する。図8の例では、ゲーム進行処理部112は、タウンデータ122Bに記録された、建物Aの総数と、建物A407のレベルとを更新する。また、ゲーム進行処理部112は、建物A407を建築した際と同様に、更新後のタウンデータ122Bに基づいてキャラクタのパラメータの補正値を算出する。ゲーム進行処理部112は、算出した補正値を、ユーザ情報123に記録されたキャラクタのパラメータに加算または減算する。
なお、種々の建物は、レベルアップにより外観が変化するものであってもよい。また、種々の建物は、レベルアップに応じて、該建物の及ぼす効果が変化するものであってもよい。例えば、ある建物は、レベル10まではパラメータAのみを上昇させる効果を持ち、レベル11からはパラメータAおよびBを上昇させる効果を持っていても良い。
(時短チケット)
本実施形態に係るゲームシステム1は、建物の建築またはレベルアップの際のコストを所定量だけ低減させる低減アイテムを、ユーザに付与する。具体的には、ゲーム進行処理部112は、特定の条件を満たした場合、ユーザ情報123のユーザの所持アイテムに、低減アイテムを所定の個数だけ追加する。また、ユーザ端末100のゲーム進行処理部112は、入力操作受付部111が低減アイテムを消費する旨を指示する入力操作を受け付けた場合に、低減アイテムを消費して、コストの必要量を前記所定量に応じて低減させる。
なお、低減アイテムを付与する条件は特に限定されない。例えば、メインパートのアクションゲームを一定の進度まで進行させたことに対する報酬、またはゲームのログイン報酬等として低減アイテムを付与してもよい。また、低減アイテムが低減させるコストの種類も特に限定されない。しかしながら、低減アイテムが低減させるコストの量は、ゲームを長くプレイしているユーザには恩恵が少なく、ゲームを始めたばかりのユーザには相対的に恩恵が大きくなるように設定されることが望ましい。
また、低減アイテムには、消費期限が設定されていてもよい。なお、ここで言う「消費期限」はゲーム内時間または現実時間の期限でも良いし、ゲームの一定の進行度までは使用可能とするなど、ゲームの進行度を基準として定めても良い。また、低減アイテムは、1つの建物のレベルを1段階アップさせるために消費可能な個数が制限されていてもよい。また、低減アイテムによるコストの低減は、建物のレベルが所定のレベル以下である場合のみ可能であってもよい。
ゲーム進行処理部112が低減アイテムをユーザ情報123に追加する際に、低減アイテムを使用する際の各種制限に係る情報も、該低減アイテムごとにユーザ情報123に記録されてもよい。例えば、前記制限に係る情報として、低減アイテムの消費期限、削減可能なコストの量、および低減アイテムを使用可能な建物の種類またはレベルなどがユーザ情報123に記録されてもよい。
以下の説明では、建物の建築およびレベルアップにおける所要時間を低減する低減アイテムとして、「時短チケット」をユーザに付与する場合の処理の流れを説明する。
図9は、時短チケットを使用する場合の、処理の流れを示すフローチャートである。ユーザ端末100のゲーム進行処理部112は、メインパートまたはサブパートのゲームの報酬等として、時短チケットをユーザに付与する(S100)。具体的には、ゲーム進行処理部112は、ユーザ情報123にユーザの所持アイテムとして、時短チケットを追加する。
図10は、タウン空間において建築中の建物に時短チケットを使用する場合の、一連のゲーム画面の例を示す。図10の(A)は、建築中オブジェクト408をタッチした場合のゲーム画面の遷移例を示している。表示制御部116は、ウィンドウ605をタッチスクリーン15に表示させる。ウィンドウ605には、選択された建物Aのレベルアップをキャンセルさせるためのボタン605Aと、建物Aについての情報を表示するためのボタン605Bと、時短チケットを消費する旨を指示するためのボタン605Cとが含まれる。
図10の(B)は、ボタン605Cがタッチされた場合のゲーム画面の一例を示している。ボタン602Cがタッチされた場合、ゲーム進行処理部112はユーザ情報123からユーザの所持している時短チケットに係る情報を読み出す。例えば、ゲーム進行処理部112は、ユーザ情報123から、時短チケットの各種制限に係る情報を読み出す。ゲーム進行処理部112は読み出した前記情報から、建物A407に使用可能な時短チケットを特定する。ゲーム進行処理部112は使用可能な時短チケットについての前記制限に係る情報を、表示制御部116に伝える。表示制御部116は該情報に基づき、ウィンドウ606を表示させる。
ウィンドウ606は、ユーザが建物A407に使用可能な時短チケットの一覧を示す。図示の例では、ユーザは削減できる時間の量が異なる時短チケットA〜Cと、時短チケットAと削減できる時間の量は同じであるが、使用可能な建物の条件が異なる時短チケットDとを保持している。また、時短チケットA〜Dにはそれぞれ有効期限(チケットの消費期限)が設定されている。また、本例では、ウィンドウ606の下部に記載のように、1つの建物に使用可能な時短チケットの枚数が1枚に制限されている。
ウィンドウ606で、いずれかの時短チケット(例えば、図示のようにチケットA)が選択されると、入力操作受付部111は該選択を、時短チケットを消費する旨を指示する入力操作として受け付ける(S102でYES)。該入力操作を受け付けた場合、ゲーム進行処理部112は、時短チケットを1枚消費させ、建物を建築またはレベルアップさせる際の所要時間を低減させる(S104)。ゲーム進行処理部112は、ユーザ情報123に記録された時短チケットAの枚数を1枚減少させるとともに、建物Aのレベルアップまでの所要時間を、時短チケットAの削減可能な分の時間(60分)だけ削減する。
図10の状態(C)は、状態(A)の建物Aに時短チケットAを1枚使用した場合のゲーム画面の一例を示す。図示の通り。建物Aのレベルアップまでの時間は60分短縮され、残り2時間となる。
以上では、建物の建築中に時短チケットを使用する例について説明した。しかしながら、時短チケットを使用するタイミングは上述した例に限定されない。例えば、図5のS11のタイミング、すなわち、建物の建築またはレベルアップが決定されるタイミングで、時短チケットを使用できるようにしてもよい。
より具体的には、図6の状態(C)で、ボタン群502のうち建築決定を示すボタンをタッチした後に、表示制御部116はウィンドウ606を表示させ、ユーザに時短チケットを使用させてもよい。また、または図8の状態(A)においてボタン602Cがタッチされた後に、表示制御部116はウィンドウ606を表示させ、ユーザに時短チケットを使用させてもよい。これらの場合、ゲーム進行処理部112は建築開始時に時短チケットを消費させ、建築完了までの所要時間を削減すればよい。
さらには、予め建物と、使用する時短チケットとをユーザに指定させておいてもよい。例えば、図4の建物401を次にレベルアップさせる時に必要な所要時間の削減を、予約しておくようなチケットの使い方をさせてもよい。
また、建物は、特定の期間中にメインパートおよびサブパートのいずれか一方を進行させることで建築およびレベルアップさせる権利が得られるものであってもよい。
例えば、例えばクリスマス前後に行われる、アクションゲームの期間限定イベントのクリア報酬として、図4のクリスマスツリーの建物406が建築およびレベルアップ可能になってもよい。なお、一度建築可能になった建物406は、永続的に建築およびレベルアップ可能であってもよい。また、建物406は、前記クリスマス前後の期間だけ建築およびレベルアップ可能であってもよい。
さらに言えば、入力操作受付部111は、現在が前記特定の期間中である場合、時短チケットを消費する旨の指示を示す入力操作を受け付けなくてもよい。または、ゲーム進行処理部112は、現在が前記特定の期間中である場合、入力操作受付部111が時短チケットを消費する旨の指示を受け付けても、時短チケットを消費させず、所要時間の短縮も行わなくてよい。
期間限定イベントの進行で建築可能となる建物については、建築およびレベルアップに関して新参ユーザと古参ユーザの間に、大きな有利不利の差は生じない。このため、該建物の建築およびレベルアップに対して時短チケットを使用可能とした場合、効果の強化、すなわち街作りのゲームの進行を不要に促進してしまう可能性がある。
これに対し、期間限定イベントの最中は、該イベントの進行で建築可能となる建物に対する時短チケットの使用を制限することで、街作りの進行が不要に促進され、街作りのゲームとしてのコンテンツ消費を早めてしまうことを防ぐことができる。
〔ソフトウェアによる実現例〕
ユーザ端末100およびサーバ200の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、ユーザ端末100およびサーバ200は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) プロセッサ(10)、メモリ(11)、およびユーザの入力操作を受け付けるように構成された操作部を備えるコンピュータ(ユーザ端末100)において実行されるゲームプログラムについて説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、メインパートのゲームおよびサブパートのゲームを含み、サブパートのゲームは、メインパートでのゲームプレイを有利または快適にする効果を発動させることが可能なゲームであって、効果の強度は複数段階あり、必要量のコストが消費された場合に効果が1段階強化され、ゲームプログラムはサブパートのゲームにおいて、プロセッサに、コストを所定量低減させる低減アイテムをユーザに付与するステップと、低減アイテムを消費する旨を指示する入力操作を受け付けた場合に、低減アイテムを消費して、コストの必要量を低減させるステップと、を実行させる。
ゲームのプレイ期間が長い古参ユーザは、ゲームを始めたばかりの新参ユーザに比べて、サブパートで発動できる効果をすでに高い段階まで強化していることが多い。そして、ある効果を1段階強化するために必要なコストは、該効果の段階が増すほど多くなる。そのため、低減アイテムを1つ消費することで得られる、効果の段階を強化するという恩恵は、古参ユーザでは小さく、新参ユーザでは大きいといえる。
ゆえに、前記の処理によれば、新参ユーザのサブパートのゲームの進行をより促進させることができる。これにより、古参ユーザと新参ユーザとの間の、ゲームの進行度の差を小さくすることができる。
(項目2) (項目1)において、コストは、ゲームプログラムに基づくゲームのゲーム内時間、または現実時間であってもよい。
新参ユーザの効果の段階は古参ユーザに比べ低いことが多い。そのため、低減アイテムにより効果の1段階強化までの時間を削減されると、ある効果を複数段階強化するためにかかる時間を、格段に短縮することができる。また、例えば該時間を0にする、すなわち、連続して効果の強化を行えるようになる可能性が高い。
一方、古参ユーザの場合は、新参ユーザと同様に低減アイテムを消費して、同じ分の時間を短縮しても、新参ユーザほど効果の段階数を増やすことができない。このように、前記の処理によれば、古参ユーザに比べ、新参ユーザのサブパートのゲームの進行をより促進させることができる。
(項目3) (項目1)または(項目2)において、コストは、ゲームにおける所定のアイテムまたはゲーム内通貨であってもよい。
新参ユーザの効果の段階は古参ユーザに比べ低いことが多い。また、古参ユーザほどゲームをプレイしていないため、効果を強化するためのアイテムまたはゲーム内通貨が足りないことが多い。そのため、低減アイテムにより効果の1段階強化に必要なアイテムまたはゲーム内通貨の量が削減されることで、効果の強化が行いやすくなる。
一方、古参ユーザの場合は、新参ユーザと同様に低減アイテムを消費して、効果の強化に必要なアイテムまたはゲーム内通貨を同じ量だけ低減しても、新参ユーザほど効果の段階数を増やすことができない。このように、前記の処理によれば、古参ユーザに比べ、新参ユーザのサブパートのゲームの進行をより促進させることができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、付与するステップにおいて付与される低減アイテムには、ゲーム内時間または現実時間における消費期限が設定されていてもよい。
前記の処理によれば、ユーザは低減アイテムを全て貯めておくことはできない。そのため、低減アイテムを入手する機会が多い古参ユーザと、新参ユーザとの間で、手持ちの低減アイテムの個数差が生じないようにすることができる。また、古参ユーザが低減アイテムを貯めておき、一気に使用して効果を強化することを防ぐことができる。したがって、前記の処理によれば、低減アイテムの付与に関する古参ユーザと新参ユーザとの有利不利の差を少なくすることができる。
(項目5) (項目1)から(項目4)までのいずれか1項目において、必要量を低減させるステップでは、コストの必要量を低減させるために消費可能な、低減アイテムの個数が制限されていてもよい。
前記の処理によれば、ユーザは低減アイテムを一気に使用して、効果を強化するコストを削減することができない。例えば、古参ユーザであっても、低減アイテムを貯めておき、高い段階まで強化した効果をさらに強化する際に一気に使用して効果の強化のスピードアップを計ることができない。
したがって、前記の処理によれば、前記の処理によれば、古参ユーザに比べ、新参ユーザのサブパートのゲームの進行をより促進させることができる。
(項目6) (項目1)から(項目5)までのいずれか1項目において、必要量を低減させるステップでは、効果の段階が所定の段階以下である場合にコストを低減させてもよい。
なお、前記所定の段階は、一般的に想定される新参ユーザの効果の段階よりも高く、想定される古参ユーザの効果の段階よりも低いことが望ましい。
前記の処理によれば、効果の強化段階が低い、すなわちサブパートの進行度が低いユーザのみ、低減アイテムによるコスト低下の恩恵を受けることができる。したがって、古参ユーザに比べ、新参ユーザのサブパートのゲームの進行をより促進させることができる。
(項目7) (項目1)から(項目6)までのいずれか1項目において、サブパートのゲームは、複数種類の効果を発動させることが可能なゲームであって、必要量を低減させるステップでは、複数種類の効果のうち、ユーザの入力操作に応じた1つの効果を1段階強化するためのコストの必要量を低減させてもよい。
前記の処理によれば、ユーザは低減アイテムを消費してコストを低減させる効果の種類を選択することができる。これにより、どの効果を優先的に強化するかユーザに考えさせることができる。よって、サブパートのゲームの戦略性を向上させることができる。
(項目8) (項目7)において、複数種類の効果のうち1つ以上の効果は、特定の期間中にメインパートのゲームおよびサブパートのゲームの少なくとも一方を進行させることで、強化する権利が得られるものであり、前記必要量を低減させるステップでは、現在、前記特定の期間中である場合は、前記低減アイテムを消費せず、前記コストの前記必要量を低減させなくてもよい。
なお、前記強化する権利は、前記特定の期間中だけ効果の強化を可能にする権利であってもよいし、前記特定の期間以降、永続的に効果の強化を可能にする権利であってもよい。
上述のように、現在ゲームを進行させることで初めて強化が可能になる効果については、該効果の強化に関して新参ユーザと古参ユーザの間に、大きな有利不利の差は生じない。前記の処理によれば、現在ゲームを進行させることで初めて強化が可能になる効果を強化する場合は、低減アイテムの消費およびコストの低減を行わない。これにより、サブパートのゲームの進行が不要に促進され、ゲームのコンテンツ消費を早めてしまうことを防ぐことができる。
(項目9) (項目1)から(項目8)までのいずれか1項目において、メインパートまたはサブパートの少なくともいずれかのゲームは、他のユーザと協力または敵対する要素を含んでおり、効果は、他のユーザに対してユーザが有利になる効果を含む。
前記の処理によれば、ユーザは効果を強化することで、同じゲームをプレイしている他のユーザに対しより有利になることができる。したがって、前記の処理によれば、ユーザに効果の強化を行う動機を与えることができる。よって、サブゲームの興趣性を向上させることができる。
(項目10) プロセッサ(10)、メモリ(11)、およびユーザの入力操作を受け付けるように構成された操作部を備えるコンピュータ(ユーザ端末100)がゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、メインパートのゲームおよびサブパートのゲームを含み、サブパートのゲームは、メインパートでのゲームプレイを有利または快適にする効果を発動させることが可能なゲームである。効果の強度は複数段階あり、必要量のコストが消費された場合に効果が1段階強化される。方法は、サブパートのゲームにおいて、プロセッサ(10)に、コストを所定量低減させる低減アイテムをユーザに付与するステップと、低減アイテムを消費する旨を指示する入力操作を受け付けた場合に、低減アイテムを消費して、コストの必要量を低減させるステップと、を含む。(項目10)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目11) ゲームプログラムを記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部(110)と、ユーザの入力操作を受け付けるように構成された操作部と、を備えた情報処理装置(ユーザ端末100)について説明した。本開示のある局面によると、ゲームプログラムに基づくゲームは、メインパートのゲームおよびサブパートのゲームを含み、サブパートのゲームは、メインパートでのゲームプレイを有利または快適にする効果を発動させることが可能なゲームである。効果の強度は複数段階あり、必要量のコストが消費された場合に効果が1段階強化される。制御部は、サブパートのゲームにおいて、コストを所定量低減させる低減アイテムをユーザに付与し、低減アイテムを消費する旨を指示する入力操作を受け付けた場合に、低減アイテムを消費して、コストの必要量を低減させる。(項目11)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。