本開示に係るゲームシステムについて、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
図1は、ゲームシステム1の全体的な構成を示す模式図である。本実施形態では、ゲームシステム1は、複数のユーザに街づくりシミュレーションゲーム(以下、街づくりゲーム)を提供する。図1に示すように、ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200と、を含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム(たとえば、所謂3G、4G移動通信システム、LTE(Long Term Evolution))、または所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(たとえばWi-Fi(登録商標))を含み得る。
(ユーザ端末の物理的構成)
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(PersonalDigital Assistant)、またはタブレット型コンピュータ等の携帯端末であることがより好ましい。図1に示すように、ユーザ端末100は、通信バスによって互いに電気的に接続されたプロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15とを備える。
入出力IF14は、USB(Universal Serial Bus)等を介した各種データ入出力機能、および音声入出力機能を備える。
タッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、タッチセンシティブなデバイスであり、たとえばタッチパッド等によって構成される。表示部152は、たとえば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。入力部151は、タッチスクリーン15に対するユーザの指やスタイラスといった物体の接触または近接を検知し、操作入力として受け付ける。入力部151は、当該操作入力に含まれるユーザの作用(主に、タッチ操作、スワイプ操作、フリック操作、およびタップ操作等の物理的接触操作)が入力された画面位置の情報を検知して、該情報を外部へ情報信号として出力する機能を備える。タッチスクリーン15は、タッチセンシティブであればよい。タッチセンシティブなデバイスは、静電容量方式、抵抗膜方式等のどのような方式を採用したものであってもよい。
(ゲームサーバおよびユーザ端末の物理的構成)
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであることが、より好ましい。図1に示すように、ゲームサーバ200は、通信バスによって互いに電気的に接続されたプロセッサ20と、メモリ21と、ストレージ22と、通信インターフェース(IF)23と、入出力IF24とを備える。
プロセッサ10、20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(GraphicsProcessing Unit)等を含んで構成される。プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、ゲームサーバ200全体の動作を制御する。
メモリ11、21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の揮発性記憶装置で構成され得る主記憶装置を含んで構成される。
ストレージ12、22は、フラッシュメモリまたはHDD(Hard Disk Drive)などの不揮発性記憶装置によって構成され得る補助記憶装置を含んで構成される。メモリ11には、プロセッサ10がストレージ12からロードした各種プログラムおよびデータが一時的に記憶される。メモリ21には、プロセッサ20がストレージ22からロードした各種プログラムおよびデータが一時的に記憶される。これによりメモリ11は、プロセッサ10に対して作業領域を提供する。メモリ21は、プロセッサ20に対して作業領域を提供する。
ゲームサーバ200のストレージ22には、ゲームプログラム等のゲームデータが格納される。ユーザ端末100のストレージ12には、ゲームサーバ200からダウンロードされるゲームプログラム等のゲームデータが格納される。当該ゲームプログラムは、メモリ11、21に展開される。プロセッサ10は、メモリ11に展開されるゲームプログラムを実行する。プロセッサ20は、メモリ21に展開されるゲームプログラムを実行する。メモリ11には、プロセッサ10が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。メモリ21には、プロセッサ20が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。
通信IF13、23は、ユーザ端末100とゲームサーバ200との間で各種データを送受信するための通信制御機能を備える。通信制御機能には、たとえば、無線LAN(Local Area Network)接続機能、有線LAN、無線LAN、携帯電話回線網を介したインターネット接続機能、近距離無線通信機能等が含まれる。
本実施形態では、各種データは、所定のゲームプログラム、ユーザ情報、ゲーム情報等のゲームデータ、それらをユーザ端末100とゲームサーバ200との間に送受信させる指示、および、ゲームを進行させるための指示を含む。
たとえばプロセッサ10は、通信IF13を介してユーザIDをゲームサーバ200に送信することによって、当該ユーザIDに関連付けられたゲームオブジェクト(保有する建物等)に関する情報をゲームサーバ200から受信する。また、プロセッサ10は、ユーザ作用に基づいてゲーム空間G内にオブジェクトOを配置した場合には、その結果として取得されたゲームポイントを、通信IF13を介してゲームサーバ200に送信する。
ゲームサーバ200の入出力IF24は、マウス、キーボード等の情報入力機器である入力部、および、液晶ディスプレイ等の出力部を備えており、コンピュータの情報をモニタリングするために用いられる。
(ゲーム画面例)
図2は、街づくりゲームのゲーム画面の一例を示す図である。ユーザは、図2に示されるような仮想的なゲーム空間G内の平面PLに、各種の建物オブジェクトOを配置することによって街づくりゲームを進行する。ゲーム空間Gは、たとえば複数の格子で形成された平面と、空または遠景等を示す背景とを含んで構成されている。本実施形態では、複数の建物オブジェクトOのそれぞれが1つ以上の格子上に配置される。
建物オブジェクトを配置するために必要な格子数は、建物オブジェクトごとに決定されている。各ユーザは、建物オブジェクトOをゲーム空間G内に配置することによって、ゲームポイントを取得できる。ゲームポイントは、たとえば建物オブジェクトごとに関連付けられた「人口」P、ゲーム内通貨としての「コイン」C1、「ダイヤ」C2、およびその他の各種ゲーム内アイテムを含む。
ユーザは、街づくりゲームのプレイ時に、ゲーム空間G1に様々な建物オブジェクトを配置させたり、あるいは人口PおよびコインC1等の各種のアイテムを取得したりすることを通じて、ゲーム空間Gに構築される自身の仮想的な街を徐々に発展させてゆく。ユーザは、このような仮想的な街の発展を通じて、街づくりゲームをプレイする際の楽しさを享受することができる。
(ユーザ端末の機能的構成)
図3は、ユーザ端末100の機能的構成を示す図である。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能し得る。記憶部120にはゲームプログラムが格納されている。このゲームプログラムは、主記憶上に展開されかつ制御部110において実行される。また、本実施形態では、このゲームプログラムは、プロセッサ10およびメモリ11を備えるユーザ端末100に対し、街づくりゲームを進行させる制御部110および記憶部120としてユーザ端末100を機能させるプログラムである。
制御部110は、当該ゲームプログラムによって、作用受付部111、端末処理部112、タイマー部113、端末判定部114、表示制御部115、報酬計算部116、および送受信部117として機能し得る。制御部110が当該ゲームプログラムに従って動作している問に生成した各種ゲームデータ、および制御部110によって利用される各種ゲームデータも、主記憶上に一時的に格納される。
作用受付部111は、タッチスクリーン15の入力部151に対するユーザの作用を検知する。作用受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールによる操作指示等から、いかなる入力がなされたかを判別し、その結果を端末処理部112等の必要な要素に出力する。作用受付部111は、タッチスクリーン15に対する作用入力がなされた場合には、入力位置の座標情報および作用の種類(タッチ操作、スライド動作等)を検知する。また、作用受付部111は、連続して検知されていた入力が途切れることを検知することによって、タッチスクリーン15から接触入力が解除されたことを検知する。
端末処理部112は、ユーザ端末100全体の動作を制御し、各要素間におけるデータの送受信、およびゲームの実行に必要な演算処理その他の処理を行う。端末処理部112は、たとえば、作用受付部111によって検知された作用に基づいて、ゲームプログラムに従ったゲームを展開させ、その結果を示すゲーム画像を描画するよう、表示制御部115に指示する。また、端末処理部112は、タッチスクリーン15に対する操作入力に基づいて仮想空間内におけるゲームオブジェクトを操作する。また、端末処理部112は、タッチスクリーン15に対する操作入力および演算処理の結果等に基づいて、記憶部120に記憶されている各種データの更新等の処理を行う。なお、端末処理部112は、ゲームの進行状態に応じて、ゲーム空間の視野を指定するための仮想カメラの位置を制御してもよい。
タイマー部113は、ゲーム空間G内における時間の経過を計測する。タイマー部113は、ゲーム空間G内に配置された各オブジェクトOについて、個別に時間を計測する機能を有する。タイマー部113は、たとえば、各オブジェクトOがゲーム空間G内に配置された時間を記憶部120に記憶させ、その後に経過した時間を測定する。タイマー部113は、測定することによって得られる時間情報を端末判定部114に提供する。端末判定部114は、各オブジェクトOが建築中オブジェクトから建築済オブジェクトに変化するまでの建築時間が経過したか否か、オブジェクトOによって生産されたアイテムの累積量が蓄積量に達したか否か、および、オブジェクトOがアクティブスキルを発動できるようになるまでのクールタイムが経過したか否かを、それぞれ判定できる。
端末判定部114は、端末処理部112から受信した判定要求に基づいて、記憶部120に記憶された各種ユーザ情報およびゲーム情報を参照し、ゲーム進行に必要な各種の条件を判定する。端末判定部114は、たとえば、ゲーム空間G内に配置されたオブジェクトOが所定の条件を満たしているか否かを判定する。端末判定部114は、タイマー部113および記憶部120を参照して、オブジェクトOの時間情報を取得し、各オブジェクトOに設定されたユーザに付与されるゲームポイントを算出するための基礎となる条件を満たしているか否かを判定する。
表示制御部115は、ゲームサーバ200から受信したユーザ情報、ゲームプログラムによる演算結果、およびユーザの入力部151に対する作用に基づいて、表示部152に表示されるゲーム空間GおよびオブジェクトO等の画像を生成する。
本実施形態では、ユーザ端末100は、ユーザがゲーム空間Gに配置したオブジェクトの種類および配置位置に関する情報をゲームサーバ200から取得し、この情報を用いてゲーム空間Gの画像を生成する。表示制御部115は、端末処理部112によるゲーム進行制御に応じて表示画像を更新する。
報酬計算部116は、作用受付部111から受信した操作に基づいて、各ユーザに提供される報酬を算出して、ユーザに付与する。たとえば報酬計算部116は、オブジェクトの周囲の状況に基づいて当該オブジェクトにおけるゲームポイントとしての人口Pを算出し、ユーザに付与する。報酬計算部116は、ユーザが他のユーザのゲーム空間において実施した行動履歴に基づいて、当該ユーザに付与する所定のゲームポイントを算出し、ユーザに付与してもよい。
送受信部117は、ゲームサーバ200から各種情報を受信したり、ゲームサーバ200に各種情報を送信したりする。送受信部117は、制御部110の制御によって各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。送受信部117は、たとえば、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、ゲームポイント、ゲームパラメータ、報酬等のゲーム情報、および各種通知を、ゲームサーバ200から受信することができる。一方、送受信部117は、ユーザ情報、ゲームポイント、ゲームパラメータ、報酬等のゲーム情報、および各種指示を、ゲームサーバ200に送信することができる。
記憶部120には、制御部110が前述の各部として機能するために必要なデータが記憶されている。当該データとしては、たとえば、ゲームプログラム、ゲーム情報、およびユーザ情報が含まれる。ゲーム情報としては、オブジェクト管理テーブル、パッシブスキル管理テーブル、およびアクティブスキル管理テーブル等が挙げられる。ユーザ情報としては、ユーザ管理テーブル等が挙げられる。
(ゲームサーバの機能的構成)
図4は、ゲームサーバ200の機能的構成を示すブロック図である。ゲームサーバ200は、各ユーザ端末100にゲーム進行に必要な情報を提供するゲーム提供機能を有している。ゲームサーバ200は、ユーザ端末100から各種の指示を受信し、ユーザ端末100上で動作可能なゲームプログラム、Webページ(ゲーム画面等)、ユーザ情報およびゲームパラメータ等の各種ゲームデータ、各種通知等を送信する。ゲームサーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能し得る。
図4に示すように、制御部210は、記憶部220に格納されたゲームプログラムによって、送受信部211、サーバ処理部212、データ管理部213、マッチング部214、計測部215として機能し得る。本実施形態では、このゲームプログラムは、プロセッサ20およびメモリ21を備えるゲームサーバ200に対し、街づくりゲームを進行させる制御部210および記憶部220としてゲームサーバ200を機能させるプログラムである。
送受信部211は、各ユーザ端末100から送信される各種情報を受信したり、各ユーザ端末100に各種情報を送信したりする。
各ユーザ端末100は、制御部110の制御に基づいて各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。
送受信部211は、記憶部220に格納されている各種管理テーブルを参照する。送受信部211は、必要に応じてデータ管理部213によって更新された各種管理テーブルを参照して、必要な処理を実行する。当該情報には、各ユーザに関連付けられるオブジェクトを、ゲーム空間内に配置する操作、削除する操作、移動する操作、購入売却する操作、および買収する操作等の各種要求が含まれる。
また、送受信部211は、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、ゲームポイント、ゲームパラメータ、報酬等のゲーム情報、各種通知等をユーザ端末100に送信する。
サーバ処理部212は、ゲームサーバ200全体の動作を制御し、各要素間におけるデータの送受信、および、ゲームの進行に必要な演算処理を行う。サーバ処理部212は、たとえば、送受信部211が受信したユーザ端末100からの情報または要求に基づいて、ゲームプログラムに従った演算処理を実行する。そして、その結果としての各種ユーザ情報、ゲーム情報等の等のゲームデータ、およびゲームプログラム等を、通信IF13を介してユーザ端末100に送信することによって、ユーザ端末100においてさらにゲームを進行させる。
データ管理部213は、サーバ処理部212における各種演算結果に基づいて、記憶部220に格納されている各種ゲームデータ、およびデータベースのレコードを、追加、更新、または削除することによって、必要な処理を実行する。
たとえば送受信部211は、ユーザがゲーム空間GにオブジェクトOを配置するようにユーザ端末100に作用を与えると、その結果としてユーザが保有するオブジェクト情報およびゲームポイントに関する情報をユーザ端末100から受信する。サーバ処理部212は、受信された情報に基づいて必要な処理を実行し、一方、データ管理部213はユーザ情報およびゲーム情報を更新する。
また、たとえば、送受信部211がユーザ端末100からゲーム空間Gにオブジェクトを配置する要求を受信した場合、データ管理部213は、ゲーム空間Gに配置されるオブジェクトの情報を、ユーザ情報と、オブジェクトの配置位置等に関するゲーム情報とに関連付けて記憶する。また、各ユーザおよびオブジェクトに関連するゲームポイントに変動が生じた場合には、当該変動の結果に関する情報を各オブジェクトの情報と関連付けるように、ユーザ情報を更新する。
マッチング部214は、複数のユーザを所定のゲーム空間に関連付ける。たとえばマッチング部214は、ユーザが自身のゲーム空間Gにおいて他のユーザのゲーム空間Gを訪問するように指定すると、当該ユーザを他のユーザのゲーム空間Gに一時的に関連付ける。
計測部215は、ゲーム空間G内における時間の経過を計測する。計測部215は、タイマー部113と同様に、ゲーム空間G内に配置された各オブジェクトOについて、個別に時間を計測する機能を有する。計測部215は、ゲーム空間Gの時間情報を計測し、タイマー部113におけるゲーム空間Gの時間情報と照合する。これにより、ユーザ端末100とゲームサーバ200においてゲーム空間Gの時間情報が同期され、各種時間情報の計測および判定を円滑に実施し得る。
記憶部220には、ゲームプログラムおよびユーザの認証プログラム等が格納されている。また、記憶部220には、ユーザ管理テーブル等のユーザ情報、オブジェクト管理テーブル、パッシブスキル管理テーブル、アクティブスキル管理テーブル等のゲーム情報を管理するデータベースが構築されていてもよい。
(ユーザ管理テーブル)
図5は、ユーザ管理テーブル300の一例を示す図である。ユーザ管理テーブル300は、各ユーザが保有するゲームポイント、ゲームパラメータ、およびオブジェクト等に関するユーザ情報を管理する。ユーザ管理テーブル300は、ゲームサーバ200の記憶部220および/またはユーザ端末100の記憶部120に記憶される。ゲームサーバ200の記憶部220には、全ユーザのユーザ管理テーブル300がそれぞれ個別に記憶されていることが好ましい。図5に示すように、ユーザ管理テーブル300には、ユーザIDと、ユーザが保有するゲームポイントに関する情報と、各ユーザが保有する建物等のオブジェクトに関する情報とが、互いに関連付けて格納されている。
ユーザIDは、各ユーザを識別するための識別子である。ゲームポイントに関する情報は、図5に示す保有コイン、保有アイテム、および保有ダイヤを少なくとも含む。これらはそれぞれ、ユーザが保有するコイン、アイテム、およびダイヤの量(数)である。
オブジェクトに関する情報は、図5に示す保有オブジェクト、配置エリア、配置位置、状態、経過時間、および保有人口を少なくとも含む。配置エリアは、ゲーム空間G1において建物オブジェクトが配置されるエリアである。エリアについては後述する。配置位置は、エリアにおいて建物オブジェクトが配置される位置である。状態は、建物オブジェクトが建築中であるかまたは建築済であるかといった、建物のオブジェクトの現状を表す情報である。経過時間は、建物オブジェクトがゲーム空間Gに配置された時点から経過した時間、または、建物オブジェクトが建築済となった時点から経過した時間である。建物オブジェクトが、アイテムまたはコイン等のゲームポイントを一定時間ごとに生産する場合、経過時間は、ユーザにゲームポイントを前回付与した時点から経過した時間であってもよい。保有人口は、建物オブジェクトに関連付けられたゲームポイントとしての人口である。
ユーザ管理テーブル300には、各建物オブジェクトの保有人口の合計値が、当該ユーザに関連付けられたゲームポイントとして格納されている(図示せず)。ユーザ管理テーブル300には、オブジェクトに関する情報として、各オブジェクトのレベル、およびレベルによる各建物のパラメータ補正値も格納されている(図示せず)。
(オブジェクト管理テーブル)
図6は、オブジェクト管理テーブル301の一例を示す図である。オブジェクト管理テーブル301は、各建物オブジェクトに関連付けられる情報を管理する。オブジェクト管理テーブル301は、ゲームサーバ200の記憶部220および/またはユーザ端末100の記憶部120に記憶される。図6に示すように、オブジェクト管理テーブル301には、各建物オブジェクトの名称と、属性(種類)と、当該建物オブジェクトに関する各種の情報とが、互いに関連付けられて格納されている。各種の情報としては、保有可能人口、電力供給量、電力消費量、生産アイテム、生産能力、貯蓄量、および建築時間が挙げられる。
保有可能人口は、建物オブジェクトが保有可能な人口Pの数である。電力供給量は、建物オブジェクトが他の各建物オブジェクトに対して供給可能な電力量である。電力消費量は、建物オブジェクトが稼働するために必要な電力の消費量である。各建物オブジェクトが稼働することによって、人口Pまたはコインなどのゲームポイントを建物オブジェクトからユーザに付与することが可能になる。
生産物は、建物オブジェクトが生産可能なゲームポイントである。生産物は、コインおよび各種のアイテムを含む。図6によれば、八百屋および魚屋はコインを生産し、畑は、アイテムの一種である野菜を生産する。生産能力は、建物オブジェクトが有する生産物を生産する能力である。生産能力は、たとえば、一定時間ごとに建物オブジェクトが生産するゲームポイントの量(数)である。本実施形態では、一定時間は1分である。図6によれば、八百屋は1分ごとに10個のコインを生産し、魚屋は1分ごとに50個のコインを生産し、畑は1分ごとに1個の野菜を生産する。
貯蓄量は、建物オブジェクトが生産した生産物を、建物オブジェクトに蓄積できる最大量である。アイテムの生産能力を有する建物オブジェクトは、貯蓄量を上限として、生産したアイテムを自らに貯蓄することができる。貯蓄とは、建築オブジェクトが生産したアイテムを、当該建物オブジェクトに関連付けることを意味する。図6によれば、八百屋は、最大で500個のコインを貯蓄する。魚屋は、最大で5000個のコインを貯蓄する。畑は、最大で10個の野菜を貯蓄する。建物オブジェクトは、コインまたはアイテムの累積生産量が貯蓄量に達した後、コインまたはアイテムの生産を停止する。
建築時間は、各建物オブジェクトが建築中建物としてゲーム空間Gに配置されてから建築済建物に変化するまでに必要な時間である。
パッシブスキル管理テーブルは、各建物オブジェクトに関連付けられるパッシブスキルを管理する。パッシブスキル管理テーブルには、各建物オブジェクトの名称と、パッシブスキルの内容(効果)と、パッシブスキルの有効範囲とが、互いに関連付けて格納されている。有効範囲とは、パッシブスキルの効果が及ぼされる範囲のことである。パッシブスキルを有する建物オブジェクトは、その有効範囲内に配置される他の建物オブジェクトに対して自動的に(ユーザによる作用が無くとも)パッシブスキルを発動する。
アクティブスキル管理テーブルは、各建物オブジェクトに関連付けられるアクティブスキルを管理する。アクティブスキル管理テーブルには、各建物オブジェクトの名称と、アクティブスキルの内容(効果)とが、互いに関連付けて格納されている。アクティブスキルに有効範囲が存在する場合、当該有効範囲も建物オブジェクトの名称に関連付けてアクティブスキル管理テーブルに格納されている。ここでいう有効範囲とは、アクティブスキルの効果が及ぼされる範囲である。アクティブスキルを有する建物オブジェクトは、当該建物オブジェクトに対するユーザの作用(操作入力)に基づいて、アクティブスキルを発動する。
図7は、街づくりゲームにおける複数のゲーム空間G1〜G4を示す図である。図7に示すように、本実施形態に係るゲーム空間Gは、ゲーム空間G1〜G4を含む。各ユーザA〜Dは、それぞれ独自の各ゲーム空間G1〜G4に関連付けられる。ユーザA〜Dは、他のユーザに関連付けられる他のゲーム空間G1〜G4を、互いに訪問することが可能である。ここでいう訪問とは、ユーザが他のユーザの仮想的な街を仮想的に訪問することを意図する。訪問時、ゲームシステム1は、各ユーザを他のユーザのゲーム空間Gに一時的に関連付ける。訪問が終了すると、ゲームシステム1は、ユーザに対する他のユーザのゲーム空間Gの関連付けを解消すると共に、ユーザを当該ユーザのゲーム空間Gに再び関連付ける。
ユーザAのゲーム空間G1は、複数の異なるエリアA1〜A3を有する。一方、ユーザBのゲーム空間G2は、複数の異なるエリアA11〜A13を有する。ユーザAは、エリアA1〜A3を自由に行き来することができ、各エリアA1〜A3に建物オブジェクトを配置することができる。ユーザBは、エリアA11〜A13を自由に行き来することができ、各エリアA11〜A13に建物オブジェクトを配置することができる。図示しないが、ユーザCのゲーム空間G3およびユーザDのゲーム空間G4にも、それぞれ複数のエリアを有する。
街づくりゲームにおいて、あるユーザは、他のユーザをフォローすることによって、他のユーザを自身のフレンドとして登録することができる。フレンドとは、ユーザが、特に交流することを目的として選択した他のユーザである。ゲームサーバ200のユーザ管理テーブル300において、あるユーザのユーザ情報は、基本的に、他のユーザ情報とは関連付けられていない。一方、あるユーザのユーザ情報と、そのユーザのフレンドである他のユーザのユーザ情報とは、ゲームサーバ200のユーザ管理テーブル300において互いに関連付けられている。
あるユーザが所持するユーザ端末100のユーザ管理テーブル300には、あるユーザのユーザIDと、そのユーザのフレンドである他のユーザのユーザIDとが、互いに関連付けられて格納されている。たとえばユーザAがユーザBをフォローしている場合、ユーザAの所持するユーザ端末100のユーザ管理テーブル300には、ユーザAのユーザIDとユーザAのフレンドであるユーザBのユーザIDとが互いに関連付けて格納されている。同様に、ユーザBがユーザAをフォローしている場合、ユーザBの所持するユーザ端末100のユーザ管理テーブル300において、ユーザBのユーザIDとユーザBのフレンドであるユーザAのユーザIDとが互いに関連付けて格納されている。二人のユーザが互いをフォローしている状態は、特に相互フォローと呼ばれる。
ゲームシステム1では、ユーザ端末100が備える機能の少なくとも一部は、ゲームサーバ200が備えるように構成されていてもよい。また、ゲームサーバ200が備える機能の少なくとも一部は、ユーザ端末100が備えるように構成されていてもよい。すなわち、本実施形態におけるゲームプログラムが実行されるコンピュータは、上述のユーザ端末100およびゲームサーバ200を含む情報処理装置等から任意に選択され得る。
(街づくりゲームの進行)
図8は、ゲームシステム1によって実行される処理の流れを示すフローチャートの一例である。以下では、ユーザAが、ユーザ端末100と同じ構成の第1ユーザ端末100−1を所持しており、この端末を用いて街づくりゲームをプレイする例を説明する。
図9は、ユーザAに関連付けられるゲーム空間G1の一例を模式的に示す図である。この図に示す例では、ゲーム空間G1には道路Rが配置されている。道路Rは建築オブジェクトの一種である。詳しくは後述するが、道路Rを介してライフラインから建物オブジェクトに電力を共有することができる。
ユーザAは、第1ユーザ端末100−1に表示されたショップSに含まれる複数の建物オブジェクトSOから、所望の建物オブジェクトSOを長押しして選択する。次に、選択したオブジェクトSOを、ゲーム空間G1内の平面PL1における所定位置にドラッグする。ステップS101において、作用受付部111は、入力部151に対するユーザAによる作用を検知する。ステップS102において、作用受付部111は、検知したユーザAによる作用を、建物オブジェクトをゲーム空間内に配置させるためのオブジェクト配置要求として受け付ける。
ステップS103において、表示制御部115は、オブジェクト配置要求に基づいて平面PL1に建築中建物BOを配置する。図9の例では、ゲーム空間G1に5つの異なる建築中建物BOが配置される。ステップS104において、送受信部117は、建築中建物BOがゲーム空間G1に配置されたことを示すゲーム空間情報を、ゲームサーバ200に送信する。
ステップS201において、送受信部211は、ゲーム空間情報を受信する。ステップS202において、データ管理部213は、受信されたゲーム空間情報に基づいてユーザ情報(ユーザ管理テーブル300)を更新する。
ステップS105において、タイマー部113は、建築中建物BOがゲーム空間G1に配置された時点からの経過時間の計測を開始する。ステップS106において、タイマー部113は、各建築中建物BOの経過時間が経過した否かを判定する。ステップS106においてYESの場合、ステップS107において、作用受付部111が、建築中建物BOに対するユーザ作用(たとえばタップ操作)を受け付けたか否かを判定する。ステップS107においてYESの場合、ステップS108において、表示制御部115が、各建築中建物BOを、対応する建築済建物O1〜O5に変化させる。
図10は、建築済建物O1〜O5が配置されるゲーム空間G1の一例を示す図である。この図の例では、建築済建物O1〜O5として、マンションO1、公園O2、発電所O3、商店O4、および消防署O5がゲーム空間G1に配置されている。
マンションO1は、所定の規則に基づいて算出される人口を保有する。公園O2は、有効範囲内に配置された建築済建物の人口を増加させるパッシブスキルを有する。発電所O3は、ライフラインの一種であり、道路Rを通じて発電所O3に接続される他の建築済建物に電力を供給する。また、発電所O3は、有効範囲内に配置された建築済建物の人口を減少させるパッシブスキルを有する。マンションO1の人口Pは、これらのパッシブスキルの影響を受けて増減する。商店O4は、コインを生産するパッシブスキルを有する。消防署O5は、他の建物で発生した火事を解決するアクティブスキルを有する。
ステップS106およびステップS107のいずれかにおいてNOの場合、すなわち、建築中建物の経過時間が経過せず、または、建築中建物BOに対するユーザ作用が受け付けられない場合、図8に示す処理はステップS106およびステップS107をループし続ける。
ステップS109において、端末判定部114は、各建築済建物にライフラインから電力が供給されているか否かを判定する。ステップS109においてYESの場合、ステップS110において、端末処理部112が、電力供給が必要な各建築済建物を稼働させる。図10に示す例では、発電所O3が道路Rに隣接して配置されているので、当該道路Rに隣接するマンションO1、商店O4、および消防署O5に対して発電所O3から電力が供給される。これにより、マンションO1、商店O4、消防署O5が、供給される電力によって稼働する。公園O2は電力を必要としない建物なので、道路Rに隣接していなくても稼働する。
図示しないが、建築済建物は、稼働して一定時間が経過すると、建築済建物に規定されるアクティブスキルを発動可能な状態になる。このとき、作用受付部111が、建築済建物に対するユーザAの作用を受け付けると、建築済建物におけるアクティブスキルが発動される。これにより、ユーザAに所定のゲームポイントが付与されたり、ゲーム空間G1に配置される建築中建物の状態が変化したり、または建築済建物におけるアイテムの生産量が増加したりするなど、一定の利益がユーザAに提供される。
ステップS110において、端末処理部112が建築済建物を稼働させると、タイマー部113は、各建築済建物の経過時間の計測を開始する。ステップS111において、報酬計算部116は、ゲーム空間G1に配置された各建築済建物に関連付けられる人口Pを算出し、ゲームポイントとしてユーザに付与する。
ステップS112において、送受信部117は、建築中建物が建築済建物に変化した情報およびユーザに付与された人口Pに関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS203において、ゲームサーバ200の送受信部211は、送信された更新情報を受信する。ステップS204において、データ管理部213は、受信した更新情報に基づいて、ユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。
建築済建物は、再度建築中建物に変化されてもよい。たとえば、建築済建物を増築させたり、レベルアップさせたりすることによって、保有可能人口および/またはコイン生産量が増加するようにしてもよい。この場合、表示制御部115は、建築済建物を再度建築中建物に変化させ、一方、タイマー部113は、経過時間の計測を再度開始する(ステップS105と同様)。次に作用受付部111は、建築済建物の増築またはレベルアップに必要な建築時間(増築時間)経過後に、建築済建物に対するユーザ作用を受け付ける(ステップS106〜ステップS107と同様)。以上の処理によって、表示制御部115は、建築中建物を増築またはレベルアップ後の建築済建物に変化させてもよい(ステップS108と同様)。その後のゲームポイント更新処理についても、前述のステップS109〜ステップS112およびステップS203〜ステップS204が適用され得る。
(人口Pの増減)
図11は、マンションO1の人口Pを増減させる処理の流れを説明するフローチャートの一例である。ステップS113において、表示制御部115は、建築中建物を建築済み建物に変化させる。これにより表示制御部115は、図10に示すように、ゲーム空間G1の平面PL1に、建築済建物としてのマンションO1、公園O2、発電所O3、商店O4、および消防署O5を配置する。
ステップS114において、報酬計算部116は、オブジェクト管理テーブル301を参照することによって、マンションO1の保有可能人口を特定する。ステップS115において、報酬計算部116は、オブジェクト管理テーブル301を参照することによって、マンションO1が平面PL1に配置されることによってマンションO1が保有可能となる初期人口を特定する。
ステップS116において、端末判定部114は、マンションO1が他の建築済建物の有効範囲に属しているか否を判定する。図10の例では、端末判定部114は、マンションO1が、公園O2の有効範囲E1と、発電所O3の有効範囲E2に属していると判定する。端末判定部114は、判定結果を報酬計算部116に通知する。
ステップS117において、報酬計算部116は、通知された判定結果に基づいて、パッシブスキル管理テーブルを参照することによって、公園O2および発電所O3のパッシブスキルの内容をそれぞれ特定する。ステップS118において、報酬計算部116は、各パッシブスキルの影響を受けたマンションO1の保有人口を算出する。具体的には、マンションO1の初期人口に、公園O2のパッシブスキルによる人口増加分を加算し、さらに、加算後の人口から発電所O3のパッシブスキルによる人口減少分を減算する。
ステップS119において、報酬計算部116は、算出したマンションO1の人口Pを、ゲームポイントとしてユーザAに付与する。ステップS119において、送受信部117は、ユーザAに付与された人口Pに関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS205において、送受信部211は、当該更新情報を受信する。ステップS206において、データ管理部213は、受信された更新情報に基づいて、ユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。
(ゲーム空間G1の表示)
図12は、第1ユーザ端末100−1によって実行される、ゲーム空間G1を表示するための処理の流れを示すフローチャートの一例である。図13は、表示部152に表示されるゲーム画面D1〜D3を示す図である。図13の状態(A)は、表示倍率が閾値以下の場合に表示されるゲーム画面D1を示す。図13の状態(B)は、表示倍率が閾値を超える場合に表示されるゲーム画面D2を示す。図13の状態(C)は、表示倍率が閾値を超える場合に表示される他のゲーム画面D3を示す。
第1ユーザ端末100−1は、街づくりゲームのプレイを開始させるためのユーザAの操作入力を受け付けると、街づくりゲームを進行させるゲームプログラムを実行する。ゲームプログラムが実行されると、ステップS121において、端末処理部112は、複数のエリアA1〜A3を有するゲーム空間G1を構築する。端末処理部112は、たとえば、記憶部120に保存されているゲーム情報およびユーザ情報を参照することによって、ゲーム空間G1に関する情報(ゲーム空間情報)を特定し、この情報を用いてゲーム空間G1を構築する。端末処理部112は、ゲーム空間G1の構築のために、ゲームサーバ200から提供されたゲーム空間G1に関する情報を用いることもできる。
ゲーム空間G1は、平面的な広がり(大きさ)を有する。端末処理部112は、ゲーム空間G1内の異なる位置に配置されているエリアA1〜A3を含むゲーム空間G1を構築する。エリアA1〜A3が配置される位置は、たとえば、ゲーム空間情報に予め規定されている。エリアA1〜A3には、それぞれ、各エリアを表す規定のエリア画像F1〜F3が、予め関連付けられている。エリア画像F1〜F3は、たとえば、記憶部120に保存されている。
本例では、エリアA1〜A3には、コインの生産能力を有する複数の商店を含む複数の建物オブジェクトが、配置されている。
端末処理部112は、ゲーム空間G1を構築した後、ゲーム空間G1の表示倍率を、閾値以下の初期値に設定する。表示制御部115は、設定された表示倍率に基づいて、ゲーム空間G1の表示範囲を特定する。表示範囲とは、ゲーム空間G1の全体のうち表示部152に表示される範囲のことである。表示制御部115は、表示倍率が初期値の場合、ゲーム空間G1の全体を表示範囲として特定する。
特定された表示範囲には、エリアA1〜A3が含まれている。ステップS122において、表示制御部115は、エリアA1〜A3にそれぞれ関連付けられるエリア画像F1〜F3を、表示部152に表示させる。これにより、表示部152の画面が、図13の状態(A)に示すように、エリア画像F1〜F3を含むゲーム画面D1に更新される。ユーザAは、ゲーム画面D1を視認することによって、ゲーム空間G1の全体を把握する。
表示制御部115は、表示倍率が閾値以下の場合、エリアA1〜A3を詳細に表示するためのレンダリングを実行しない。表示制御部115は、その代わりに、エリアA1〜A3として、エリア画像F1〜F3を表示部152に表示させる。これにより、第1ユーザ端末100−1がゲーム画面D1の表示を完了させるまでに必要な時間をより短くすることができるので、ユーザAを不必要に待たせずに済む。
図13の状態(A)では、表示部152に表示されたエリア画像F1〜F3は、エリアA1〜A3にそれぞれ配置されている建物オブジェクトを含んでいない。ユーザAは、ゲーム画面D1を視認しても、エリアA1〜A3の詳細(各建物オブジェクトの配置状況等)を把握できない。作用受付部111は、エリアA1〜A3のいずれかに配置されているいずれかの建物オブジェクトに対する、ユーザAの操作入力を受け付けない。作用受付部111は、エリアA1〜A3のいずれかに新たな建物オブジェクトを配置させるためのユーザAの操作入力も、受け付けない。
ステップS123において、作用受付部111は、ゲーム画面D1を拡大させるための拡大操作を受け付ける。拡大操作は、たとえば、ユーザAが二本の指でゲーム画面をピンチアウトする操作である。端末処理部112は、拡大操作に基づいてゲーム空間G1の表示倍率を増加させる。端末処理部112は、たとえば、拡大操作時の各指の移動量に比例する所定値を、現在の表示倍率に加える。
ステップS124において、表示制御部115は、現在の表示倍率が閾値を超えるか否かを判定する。ステップS124においてNOの場合、表示制御部115は、増加後の表示倍率に基づいて拡大させたエリア画像F1〜F3を、表示部152に表示させる。これにより、ゲーム画面D1が、より拡大されたエリア画像F1〜F3を含むゲーム画面に更新される(図示せず)。
ステップS124においてYESの場合、表示制御部115は、増加後の表示倍率に基づいて、ゲーム空間G1内のより狭い範囲を、新たな表示範囲として特定する。この表示範囲には、エリアA1およびA2が含まれる。
ステップS125おいて、表示制御部115は、エリアA1およびA2を、複数の建物オブジェクトが配置されている状態で、表示部152に表示させる。この結果、表示部152のゲーム画面D1が、図13の状態(B)に示すように、複数の建物オブジェクトが配置されているエリアA1およびA2を含むゲーム画面D2に更新される。
ゲーム空間G1を表す情報は、エリアA1〜A3に関する情報を含む。エリアA1に関する情報は、エリアA1に配置される各建物オブジェクトに関する情報を少なくとも含む。エリアA2に関する情報は、エリアA2に配置される各建物オブジェクトに関する情報を少なくとも含む。エリアA3に関する情報は、エリアA3に配置される各建物オブジェクトに関する情報を少なくとも含む。
表示制御部115は、エリアA1に関する情報をレンダリングすることによって、複数の建物オブジェクトが配置されているエリアA1を表す画像を生成する。表示制御部115は、さらに、エリアA1に関する情報をレンダリングすることによって、複数の建物オブジェクトが配置されているエリアA2を表す画像を生成する。表示制御部115は、エリアA1およびエリアA2として、エリアA1を表す画像およびエリアA2を表す画像をそれぞれ表示部152に表示させる。
図14は、ゲーム空間G1に含まれるエリアA1の詳細を示す図である。図14に示すように、エリアA1には、本社H1、複数の商店M1〜M8、および2つの公園K1およびK2が配置されている。本社H1は、コインまたはアイテムを生産するパッシブスキルを持たない建物オブジェクトである。商店M1〜M8は、コインを生産するパッシブスキル(生産能力)を有する建物オブジェクト(生産オブジェクト)である。公園K1およびK2は、生産オブジェクトの生産能力に影響を与えるパッシブスキルを有する建物オブジェクト(影響オブジェクト)である。影響とは、コインの生産能力を増加することである。
公園K1は、有効範囲E1を有する。公園K1は、有効範囲E1に配置される生産オブジェクトの生産能力に影響を与える。図14では、公園K1の有効範囲E1に、本社H1、商店M4、および商店M5が配置されている。したがって公園K1は、本社H1に影響を与えず、商店M4およびM5の生産能力に影響を与える。商店M4およびM5のコイン生産能力は、公園K1の影響を受けることによって、影響を受けない場合に比べて予め定められた割合または数量増加する。商店M4および商店M5のコイン生産能力は、たとえば、公園K1の影響を受けることによって、一定割合(たとえば20%)増加する。
公園K2は、有効範囲E2を有する。公園K2は、有効範囲E2に配置される生産オブジェクトの生産能力に影響を与える。図14では、公園K2の有効範囲E2に商店M6〜M8が配置されている。したがって公園K2は、商店M6〜M8のコイン生産能力に影響を与える。商店M6〜M8のコイン生産能力は、公園K2の影響を受けることによって、影響を受けない場合に比べて一定割合(たとえば20%)増加する。
商店M1〜M3は、エリアA1における有効範囲E1と有効範囲E2との双方に含まれない位置に配置されている。したがって商店M1〜M3のコイン生産能力は、公園K1またはK2の影響を受けない。
図13の状態(B)では、表示部152に表示されたエリアA1は、エリアA1に配置されている各建物オブジェクトを含んでいる。同様に、表示部152に表示されたエリアA2は、エリアA2に配置されている各建物オブジェクトを含んでいる。ユーザAは、ゲーム画面D2を視認することによって、エリアA1の全体における詳細(各建物オブジェクトの配置状況等)を把握する。ユーザAは、ゲーム画面D2を視認することによって、エリアA2の一部における詳細(各建物オブジェクトの配置状況等)も、併せて把握する。ユーザAは、さらに、拡大操作に基づいてエリア画像F1およびF2が拡大された結果、エリアA1およびA2の詳細が表示されたことを認識するので、ゲーム空間G1の全体と、ゲーム空間G1に含まれる個々のエリアA1およびA2との連続性を実感する。このためユーザAは、街づくりゲームに対して違和感を覚えずに、街づくりゲームをより快適にプレイすることができる。
表示制御部115は、表示倍率が閾値以下の範囲で徐々に増加する間、表示範囲に含まれる各エリア画像を徐々に拡大させながら表示部152に表示させる。表示制御部115は、表示倍率が閾値を超える時点で、表示範囲に含まれる各エリアに関連付けられる各エリア画像の代わりに、各エリアそのものを、対応する各建物オブジェクトが配置されている状態で表示部152に表示させる。すなわち、ゲーム画面に含まれる各エリア画像は、表示倍率が閾値を超える時点で、各エリア画像に対応する各エリアの詳細(建物オブジェクトの配置状況等)を示す画像に切り替わる。
図13の状態(B)では、ユーザAは、エリアA1またはA2における街づくりを進行させることができる。作用受付部111は、エリアA1に配置されているいずれかの建物オブジェクトに対するユーザAの操作入力を受け付けることができる。作用受付部111は、エリアA1に新たな建物オブジェクトを配置させるためのユーザAの操作入力も受け付けることができる。作用受付部111は、エリアA2のうち表示部152に表示されている箇所に配置されているいずれかの建物オブジェクトに対するユーザAの操作入力を、受け付けることができる。作用受付部111は、エリアA2のうち表示部152に表示されている箇所に新たな建物オブジェクトを配置させるためのユーザAの操作入力も受け付けることができる。
第1ユーザ端末100−1は、ゲーム空間G1をさらに拡大して表示することができる。たとえば、作用受付部111が、ゲーム画面D2を拡大させるための拡大操作を受け付けた場合、端末処理部112は、ゲーム空間G1の表示倍率をさらに増加させる。表示制御部115は、たとえば、増加後の表示倍率に基づいて、エリアA1〜A3のうちエリアA1のみを含む表示範囲を特定する。表示制御部115は、複数の建物オブジェクトが配置されているエリアA1を、表示部152に表示させる。この結果、表示部152のゲーム画面D2は、図13の状態(C)に示すように、複数の建物オブジェクトが配置されており、かつより拡大されたエリアA1を含むゲーム画面D3に更新される。
ゲーム画面D3に含まれるエリアA1は、拡大操作前のゲーム画面D2に含まれるエリアA1よりも、大きく表示される。ユーザAは、ゲーム画面D3を視認することによって、エリアA1の全体における各建物オブジェクトの配置状況を、より詳細に把握する。ゲーム画面D3に含まれるエリアA1内の各建物オブジェクトは、拡大操作前のゲーム画面D2に含まれるエリアA1内の各建物オブジェクトよりも、大きく表示される。ユーザAは、エリアA1内のいずれかの建物オブジェクトに対する操作を、より簡易にタッチスクリーン15に入力することができる。
作用受付部111は、画面の表示倍率を変更することなく表示範囲を変更するためのユーザAによる変更操作を受け付けることができる。変更操作は、たとえば、タッチスクリーン15に対するスライド操作またはフリック操作である。表示制御部115は、変更操作が受け付けられた場合、ゲーム空間G1における新たな表示範囲を特定し、その表示範囲を、表示倍率を変更することなく表示部152に表示させる。表示制御部115は、たとえば、ゲーム空間G1における現在の表示範囲から、変更操作が受け付けられたときのタッチスクリーン15上の指の移動量に比例して離れる範囲を、新たな表示範囲として特定する。
ユーザAは、タッチスクリーン15に対する操作入力によって、ゲーム空間G1における所望の範囲を表示部152に表示させることができる。たとえば、エリアA1を含むゲーム画面D3の表示中に、ユーザAによるスライド操作に基づいて、ゲーム空間G1の表示範囲が、エリアA2を含む新たな表示範囲に切り替わったとする。この場合、ゲーム空間G1の表示倍率はそのまま維持され、かつ、エリアA1を含むゲーム画面D3が、エリアA2を含む他のゲーム画面に切り替わる。ユーザは、街づくりの対象をエリアA1からエリアA2に切り替えるために、エリア画像F1〜F3を含むゲーム画面D1を再度表示させる必要がないので、街づくりゲームをより快適にプレイすることができる。
作用受付部111は、ゲーム画面を縮小させるための縮小操作を受け付けることもできる。縮小操作は、たとえば、ユーザAが二本の指でゲーム画面をピンチインする操作である。端末処理部112は、縮小操作に基づいてゲーム空間G1の表示倍率を減少させる。端末処理部112は、たとえば、縮小操作時の各指の移動量に比例する所定値を、現在の表示倍率から差し引く。表示制御部115は、減少後の表示倍率に基づいて、ゲーム空間G1内のより広い範囲を、新たな表示範囲として特定し、その範囲を表示部152に表示させる。この結果、ゲーム空間G1が表示部152に縮小表示される。
表示制御部115は、表示倍率が閾値を超える範囲で徐々に減少する間、表示範囲に含まれる各エリアを徐々に縮小させながら表示部152に表示させる。表示制御部115は、表示倍率が閾値以下になる時点で、表示範囲に含まれるエリアの代わりに、各エリアに関連付けられるエリア画像を表示部152に表示させる。すなわち、ゲーム画面に含まれる各エリアは、表示倍率が閾値以下になる時点で、各エリアに関連付けられる各エリア画像に切り替わる。
(コインの一括付与)
図15は、第1ユーザ端末100−1によって実行される、いずれかのエリアにおいて生産されたすべてのコインをユーザAに一括して付与する処理の流れを示すフローチャートである。図16は、表示部152に表示されるゲーム画面D11およびD13を示す図である。図16の状態(A)は、表示倍率が閾値以下の場合に表示されるゲーム画面D11を示す。図16の状態(B)は、表示倍率が閾値を超える場合に表示されるゲーム画面D13を示す。
図15の処理が実行される前に、第1ユーザ端末100−1は、図13の状態(A)に示すゲーム画面D1を表示している。ステップS131において、報酬計算部116は、ゲーム空間G1に含まれるエリアごとに、当該エリアに配置されている各商店におけるコイン生産量を算出する。報酬計算部116は、まず、エリアA1に配置されている商店M1〜M8におけるコイン生産量を、それぞれ算出する。報酬計算部116は、商店M1のコイン生産能力に、商店M1が生産したコインがユーザAに前回付与された時点からの経過時間を乗算することによって、商店M1のコイン生産量を算出する。報酬計算部116は、算出したコイン生産量が商店M1の貯蓄量を超える場合、商店M1の貯蓄量を商店M1のコイン生産量として決定する。報酬計算部116は、商店M2およびM3におけるコイン生産量も、商店M1と同様に算出する。
商店M4およびM5のコイン生産能力は、公園K1の影響によって一定割合(たとえば20%)増加している。報酬計算部116は、商店M4およびM5におけるコイン生産量を、影響を受けた生産能力(たとえば20%増加後の生産能力)に基づいて算出する。商店M6〜M8のコイン生産能力は、公園K2の影響によって一定割合(たとえば20%)増加している。報酬計算部116は、商店M6〜M8におけるコイン生産量を、影響を受けた生産能力(20%増加後の生産能力)に基づいて算出する。
報酬計算部116は、エリアA2についても、エリアA1と同様に、エリアA2に配置されている各商店におけるコイン生産量を算出する。報酬計算部116は、エリアA3についても、エリアA1と同様に、エリアA3に配置されている各商店におけるコイン生産量を算出する。
ステップS132において、報酬計算部116は、エリアA1〜A3におけるコイン生産量の総量をそれぞれ算出する。報酬計算部116は、エリアA1に配置されている商店M1〜M8のそれぞれにおけるコイン生産量を合算することによって、エリアA1におけるコイン生産量の総量を算出する。報酬計算部116は、エリアA2およびA3についても、エリアA1と同様に、コイン生産量の総量を算出する。
ステップS133おいて、表示制御部115は、表示中のエリア画像F1〜F3に関連付けられるバルーンB1〜B3を、表示部152に表示させる。これにより、表示部152の画面が、図16の状態(A)に示すゲーム画面D11に更新される。ゲーム画面D11は、エリア画像F1〜F3およびバルーンB1〜B3を含む。バルーンB1〜B3は、エリアA1〜A3からコインを回収できることをユーザAに通知するための付加画像である。バルーンB1〜B3は、エリアA1〜A3にも関連付けられている。
ステップS134において、作用受付部111は、表示中のいずれかのエリア画像またはバルーンに対するユーザAの操作入力(たとえばタップ操作)を受け付ける。ステップS135において、報酬計算部116は、操作入力されたエリア画像またはバルーンに関連付けられるエリアに対応する総量のコインを、ユーザAに付与する。報酬計算部116は、たとえば、エリア画像F1に対する操作入力が受け付けられた場合、エリア画像F1に関連付けられるエリアA1に対応する総量のコインを、ユーザAに付与する。報酬計算部116は、たとえば、バルーンB1に対する操作入力が受け付けられた場合、バルーンB1に関連付けられるエリアA1に対応する総量のコインを、ユーザAに付与する。
第1ユーザ端末100−1は、エリアA1に配置される商店M1〜M8がそれぞれ生産したコインを、ユーザAによる一回の操作入力に基づいて一括してユーザAに付与することによって、街づくりゲームにおけるコイン回収のためのユーザAの手間を減らすことができる。第1ユーザ端末100−1は、エリア画像F1〜F3に関連付けられるバルーンB1〜B3を表示することによって、エリアA1〜A3からコインを個別に回収できることをユーザAに把握させることができる。第1ユーザ端末100−1は、バルーンB1に対する操作入力に基づいて、エリアA1に対応する総量のコインをユーザAに付与することによって、エリアA1からコインを回収したという実感をユーザAにより強く与えることができる。
報酬計算部116は、各エリアにおける各商店のコイン生産量と、各エリアにおけるコイン生産量の総量とを、いずれもリアルタイムに算出する。報酬計算部116は、たとえば、エリア画像F1〜F3を含むゲーム画面D1が表示されているとき、エリアA1〜A3を対象に、各商店におけるコイン生産量および各エリアにおけるコイン生産量の総量を、リアルタイムでそれぞれ算出する。報酬計算部116は、たとえば、エリアA1は含むがエリアA2およびA3は含まないゲーム画面D3が表示されている場合も、エリアA1〜A3を対象に、各商店におけるコイン生産量および各エリアにおけるコイン生産量の総量を、リアルタイムでそれぞれ算出する。
報酬計算部116は、たとえば、ステップS131およびS132を一定時間ごとに繰り返し実行することによって、エリアごとの各商店における最新のコイン生産量と、各エリアにおけるコイン生産量の最新の総量とを、それぞれ更新する。これにより報酬計算部116は、ユーザAによるコイン回収のための操作入力が受け付けられた場合、いずれかのエリアにおける最新の総量のコイン(またはいずれかの商店における最新の生産量のコイン)を、ユーザAに素早く付与することができる。ユーザAは、コイン回収のための操作を入力するとコインを直ちに回収できるので、街づくりゲームをより快適にプレイすることができる。
(コインの個別付与)
第1ユーザ端末100−1は、エリアA1〜A3のうちいずれかのエリアに配置されている各商店が生産したコインを、ユーザAの操作入力に基づいて個別に付与することもできる。以下に、エリアA1に配置される商店M1〜M8が生産したコインを個別にユーザAに付与する例を、説明する。
前提として、第1ユーザ端末100−1は、図13の状態(C)に示すゲーム画面D3を表示している。表示制御部115は、商店M1〜M8におけるコイン生産量が算出されると、商店M1〜M8に関連付けられるバルーンB11〜B18を、表示部152に表示させる。これにより、表示部152の画面が、図16の状態(B)に示すゲーム画面D13に更新される。バルーンB11〜B18は、商店M1〜M8が生産したコインを商店M1〜M8から個別に回収できることをユーザAに通知するための付加画像である。
作用受付部111は、いずれかの商店またはバルーンに対するユーザAの操作入力(たとえばタップ操作)を受け付ける。報酬計算部116は、いずれかの商店に対する操作入力が受け付けられた場合、操作入力された商店に対応する生産量のコインを、ユーザAに付与する。報酬計算部116は、たとえば、商店M1に対する操作入力が受け付けられた場合、商店M1に対応する生産量のコインを、ユーザAに付与する。報酬計算部116は、いずれかのバルーンに対する操作入力が受け付けられた場合、操作入力されたバルーンに関連付けられる商店に対応する生産量のコインを、ユーザAに付与する。報酬計算部116は、たとえば、バルーンB11に対する操作入力が受け付けられた場合、バルーンB11に関連付けられる商店M1に対応する生産量のコインを、ユーザAに付与する。
第1ユーザ端末100−1は、エリアA1に配置される商店M1〜M8がそれぞれ生産したコインを、ユーザAの操作入力に基づいて個別に付与することによって、商店M1〜M8がそれぞれ生産したコインを個別に回収する行為を楽しむユーザAを、満足させることができる。第1ユーザ端末100−1は、商店M1〜M8に関連付けられるバルーンB11〜B18を表示することによって、エリアA1に配置されている商店M1〜M8からコインを個別に回収できることをユーザAに把握させることができる。第1ユーザ端末100−1は、バルーンB11に対する操作入力に基づいて、商店M1に対応する生産量のコインをユーザAに付与することによって、商店M1からコインを回収したという実感をユーザAにより強く与えることができる。
(災害の発生)
図17は、火災が発生したエリアA1を示す図である。端末処理部112は、各エリアA1〜A3において、一定時間ごとに一定確率で災害を発生させる。災害は、たとえば、火災、病気、および犯罪を含む。端末処理部112は、複数の建物オブジェクトのうち少なくともいずれかに災害を発生させる。建物オブジェクトに災害が発生すると、建物オブジェクトの特性が、ユーザAが街づくりゲームをプレイする上で不利になる特性に変化する。
端末処理部112は、ゲーム空間G1の表示倍率および表示範囲に関わらず、エリアA1〜A3に災害を発生させる確率演算を、一定時間ごとに実行させる。端末処理部112は、たとえば、図13の状態(C)に示すゲーム画面D3が表示される場合、表示部152に表示されるエリアA1だけではなく、表示部152に表示されないエリアA2およびA3についても、災害を発生させる確率演算を一定時間ごとに実行する。一定時間は、エリアA1〜A3に対して同じでもよいし、エリアごとに異なってもよい。一定確率は、エリアA1〜A3に対して同じでもよいし、エリアごとに異なってもよい。
端末処理部112は、火災が発生した商店が有するコイン生産能力を変更する。端末処理部112は、火災が発生した公園が有する、商店のコイン生産能力に与える影響の度合いを変更する。図17では、公園K1に火災N1が発生し、商店M3に火災N2が発生している。端末処理部112は、火災N1が発生した公園K1が有する影響の度合いを、火災N1が発生していない場合に比べて、予め定められた割合(たとえば50%)または数量減少させる。すなわち端末処理部112は、公園K1の有効範囲E1に配置されている商店M4およびM5が有する生産能力の増加率を、たとえば20%から10%に減少させる。端末処理部112は、火災N2が発生した商店M3のコイン生産能力を、火災N2が発生していない場合に比べてたとえば50%減少させる。
報酬計算部116は、火災N2が発生している商店M3におけるコイン生産量を、変更後の生産能力に基づいて算出する。すなわち報酬計算部116は、商店M3に火災N2が発生していない場合に算出されるコイン生産量のたとえば半分の量を、商店M3から算出されるコイン生産量として算出する。
報酬計算部116は、火災N1が発生している公園K1が影響を与える商店M4およびM5のコイン生産量を、変更後の度合いの影響が与えられた生産能力に基づいて算出する。すなわち端末処理部112は、公園K1による影響を受けない場合の生産能力よりもたとえば10%増加(例えば、公園K1に火災が発生していない場合は20%増加)した後の生産能力に基づいて、商店M4およびM5におけるコイン生産量を算出する。
第1ユーザ端末100−1は、災害発生の有無によってコイン生産量を増減させるので、街づくりゲームの趣向性をより高めることができる。第1ユーザ端末100−1は、災害発生の有無をリアルタイムに判定するので、エリアA1〜A3におけるコインの総量に対する災害の影響を、リアルタイムでコインの総量に反映させることができる。
第1ユーザ端末100−1は、コイン以外の任意のゲームポイント(アイテム、人口など)についても、エリアごとのコインの一括付与と同様の方法で、ユーザAに一括して付与することができる。表示部152は、たとえば、コインに対応するバルーンと、アイテムに対応する他のバルーンとを、エリア画像F1〜F3にそれぞれ関連付けて表示部152に表示させる。報酬計算部116は、コインに対応するバルーンに対する操作入力が受け付けられた場合、操作入力されたバルーンに関連付けられるエリアに対応する総量のコインをユーザAに付与し、アイテムに対応するバルーンに対する操作入力が受け付けられた場合、操作入力されたバルーンに関連付けられるエリアに対応する総量のアイテムをユーザAに付与する。
(他のユーザのエリアを表示部152に表示)
ゲーム空間において、複数のユーザそれぞれのエリアを含めることとし、ゲーム空間の表示範囲において、ユーザそれぞれのエリアを表示部152に表示させることとしてもよい。ゲーム空間に含まれる複数のエリアそれぞれは、複数のユーザのいずれかに対応付けられていることとしてもよい。例えば、ゲーム空間G1において、ユーザAに関連付けられるエリアA1、ユーザBに関連付けられるエリアA11を含めることとしてもよい。こうすることで、ユーザは、ゲーム画面を拡大または縮小させる操作により、ユーザ自身に関連付けられるエリアを表示部152に表示させたり、ユーザ自身に関連付けられるエリアおよび他のユーザに関連付けられるエリアを表示部152に表示させたりすることができる。これにより、ユーザは、他のユーザによる街づくりの様子を容易に知りつつ街づくりゲームをプレイすることができる。なお、ゲーム空間に含まれる各エリアの生産量に対応するゲームポイントについて、ユーザが、他のユーザのエリアに関連付けられるバルーンに対して操作入力することで、エリアに対応する総量のアイテムを、当該他のユーザに付与することとしてもよい。これにより、ユーザは、他のユーザの街づくりを支援することができる。このとき、他のユーザのエリアに関連付けられるバルーンに操作入力したユーザに対しても、一定量のゲームポイント、アイテムなどを付与することとしてもよい。これにより、ユーザが他のユーザの街づくりを支援することをいっそう促すことができ、ユーザ間の交流が促進される。
(付記事項)
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1)本実施形態において、プロセッサ(10)、メモリ(11)、入力部(151)、および表示部(152)(152)を備えるコンピュータであるユーザ端末(100)において実行されるゲームプログラムについて説明した。本実施形態のある局面によると、ゲームプログラムは、プロセッサ(10)に、規定のエリア画像が関連付けられ、かつ、ゲームポイントを生産する生産能力を有する複数の生産オブジェクトを含む複数の建物オブジェクトが配置されている複数のエリアを有するゲーム空間を構築するステップ(S121)と、入力部(151)に対するユーザの操作入力を受け付けるステップ(S123)と、ゲーム空間の表示倍率が閾値以下である場合、ゲーム空間の表示範囲に含まれるエリアに関連付けられるエリア画像を、表示部(152)に表示させるステップ(S122)と、表示倍率が閾値を超える場合、表示範囲に含まれるエリアを、複数の建物オブジェクトがエリアに配置されている状態で表示部(152)に表示させるステップ(S125)と、エリアごとに、エリアに配置されている複数の生産オブジェクトのそれぞれにおけるゲームポイントの生産量を算出するステップ(S131)と、エリアごとに、エリアに配置されている複数の建物オブジェクトのそれぞれにおける生産量を合算することによって、生産量の総量を算出するステップと、エリア画像に対する操作入力が受け付けられた場合、エリア画像に関連付けられるエリアに対応する総量のゲームポイントを、ユーザに付与するステップ(S135)とを実行させる。ゲーム空間の規模が大きい街づくりゲームをユーザが快適にプレイすることができる。
(項目2) (項目1)において、ゲームプログラムは、プロセッサ(10)に、エリアとエリア画像とに関連付けられる付加画像を、表示部(152)に表示させるステップを実行させ、総量のゲームポイントを付与するステップでは、付加画像に対する操作入力を受け付けた場合、付加画像に関連付けられるエリアに対応する総量のゲームポイントを、ユーザに付与する。エリアからゲームポイントを回収したという実感を、より強くユーザに与えることができる。
(項目3) (項目1)または(項目2)において、ゲームプログラムは、プロセッサ(10)に、表示範囲に含まれるエリアに配置されている複数の生産オブジェクトのうちいずれかの生産オブジェクトに対する操作入力を受け付けた場合、いずれかの生産オブジェクトに対応する生産量のゲームポイントをユーザに付与するステップを実行させる。各生産オブジェクトがそれぞれ生産したコインを個別に回収する行為を楽しむユーザを、満足させることができる。
(項目4) (項目3)において、ゲームプログラムは、プロセッサ(10)に、生産オブジェクトに関連付けられる第2付加画像を表示部(152)に表示させるステップを実行させ、生産量のゲームポイントを付与するステップでは、第2付加画像に対する操作入力を受け付けた場合、第2付加画像に関連付けられる建物オブジェクトに対応する生産量のゲームポイントをユーザに付与する。生産オブジェクトからゲームポイントを回収したという実感を、より強くユーザに与えることができる。
(項目5) (項目1)〜(項目4)のいずれかにおいて、ゲームプログラムは、プロセッサ(10)に、エリアごとに、複数の建物オブジェクトの少なくともいずれかに、建物オブジェクトの特性を変更する事象を一定確率で発生させるステップと、事象が発生した生産オブジェクトが有する生産能力を変更するステップとをさらに実行させ、生産量を算出するステップでは、事象が発生した生産オブジェクトにおける生産量を、変更後の生産能力に基づいて算出する。
(項目6) (項目5)において、複数の建物オブジェクトは、生産能力に影響を与える影響オブジェクトを含み、生産量を算出するステップ(S131)では、影響が与えられた生産能力を有する生産オブジェクトにおける生産量を、影響が与えられた後の生産能力に基づいて算出する。
(項目7) (項目6)において、ゲームプログラムは、プロセッサ(10)に、エリアごとに、複数の建物オブジェクトの少なくともいずれかに、建物オブジェクトの特性を変更する事象を一定確率で発生させるステップと、事象が発生した影響オブジェクトが与える影響の度合いを変更するステップとをさらに実行させ、生産量を算出するステップでは、変更後の度合いの影響が与えられた生産能力を有する生産オブジェクトにおける生産量を、変更後の度合いの影響が与えられた生産能力に基づいて算出する。街づくりゲームのゲーム質をより高めることができる。
(項目8) (項目7)において、事象を発生させるステップでは、一定時間ごとに事象を一定確率で発生させる。街づくりゲームのゲーム性をより高めることができる。
(項目9) 本実施形態において、プロセッサ(10)、メモリ(11)、および、表示部(152)を備えるコンピュータがゲームプログラムを実行する方法について説明した。方法は、プロセッサ(10)が、規定のエリア画像が関連付けられ、かつ、ゲームポイントの生産能力を有する複数の生産オブジェクトを含む複数の建物オブジェクトが配置されている複数のエリアを有するゲーム空間を構築するステップと、入力部(151)に対するユーザの操作入力を受け付けるステップと、ゲーム空間の表示倍率が閾値以下である場合、ゲーム空間の表示範囲に含まれるエリアに関連付けられるエリア画像を、表示部(152)に表示させるステップと、表示倍率が閾値を超える場合、表示範囲に含まれるエリアを、複数の建物オブジェクトがエリアに配置されている状態で表示部(152)に表示させるステップと、エリアごとに、エリアに配置されている複数の生産オブジェクトのそれぞれにおけるゲームポイントの生産量を算出するステップと、エリアごとに、エリアに配置されている複数の建物オブジェクトのそれぞれにおける生産量を合算することによって、生産量の総量を算出するステップと、エリア画像に対する操作入力が受け付けられた場合、エリア画像に関連付けられるエリアに対応する総量のゲームポイントを、ユーザに付与するステップと、を含む。ゲーム空間の規模が大きい街づくりゲームをユーザが快適にプレイすることができる。
(項目10) 本実施形態において、ゲームプログラムを記憶する記憶部(120)と、情報処理装置の動作を制御する制御部(110)と、入力部(151)と、表示部(152)と、を備えた情報処理装置であるユーザ端末(100)について説明した。本実施形態のある局面によると、制御部(110)は、規定のエリア画像が関連付けられ、かつ、ゲームポイントの生産能力を有する複数の生産オブジェクトを含む複数の建物オブジェクトが配置されている複数のエリアを有するゲーム空間を構築し、入力部(151)に対するユーザの操作入力を受け付け、ゲーム空間の表示倍率が閾値以下である場合、ゲーム空間の表示範囲に含まれるエリアに関連付けられるエリア画像を、表示部(152)に表示させ、表示倍率が閾値を超える場合、表示範囲に含まれるエリアを、複数の建物オブジェクトがエリアに配置されている状態で表示部(152)に表示させ、エリアごとに、エリアに配置されている複数の生産オブジェクトのそれぞれにおけるゲームポイントの生産量を算出し、エリアごとに、エリアに配置されている複数の建物オブジェクトのそれぞれにおける生産量を合算することによって、生産量の総量を算出し、エリア画像に対する操作入力が受け付けられた場合、エリア画像に関連付けられるエリアに対応する総量のゲームポイントを、ユーザに付与する。ゲーム空間の規模が大きい街づくりゲームをユーザが快適にプレイすることができる。
(項目11) 本実施形態において、プロセッサ(10)、メモリ(11)、入力部(151)、および表示部(152)を備えるコンピュータであるユーザ端末(100)において実行されるゲームプログラムについて説明した。本実施形態のある局面によると、ゲームプログラムは、プロセッサ(10)に、規定のエリア画像が関連付けられ、かつ、ゲームポイントを生産する生産能力を有する複数の生産オブジェクトを含む複数の建物オブジェクトが配置されている複数のエリアを有するゲーム空間を構築するステップ(S121)と、入力部(151)に対するユーザの操作入力を受け付けるステップ(S123)と、ゲーム空間の表示倍率が閾値以下である場合、ゲーム空間の表示範囲に含まれるエリアに関連付けられるエリア画像を、表示部(152)に表示させるステップ(S122)と、表示倍率が閾値を超える場合、表示範囲に含まれるエリアを、複数の建物オブジェクトがエリアに配置されている状態で表示部(152)に表示させるステップ(S125)とを実行させる。ゲーム空間の規模が大きい街づくりゲームをユーザが快適にプレイすることができる。
(項目12) (項目11)において、ゲーム空間に含まれる複数のエリアそれぞれは、複数のユーザのいずれかに対応付けられている。
(ソフトウェアによる実現例)
ユーザ端末100、ゲームサーバ200の制御ブロック(制御部110、制御部210)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、制御部210は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が前記プログラムを前記記録媒体から読み取って実行することによって、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークまたは放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
上述した実施の形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
また、本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態中にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。