本開示に係るゲームシステムについて、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
図1は、ゲームシステム1の全体的な構成を示す模式図である。本実施形態では、ゲームシステム1は、複数のユーザに街づくりシミュレーションゲーム(以下、街づくりゲーム)を提供する。図1に示すように、ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200と、を含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム(たとえば、所謂3G、4G移動通信システム、LTE(Long Term Evolution))、または所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(たとえばW-Fi(登録商標))を含み得る。
(ユーザ端末100の物理的構成)
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital 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は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
(ゲームサーバ端末200の物理的構成)
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであることが、より好ましい。図1に示すように、ゲームサーバ200は、通信バスによって互いに電気的に接続されたプロセッサ20と、メモリ21と、ストレージ22と、通信インターフェース(IF)23と、入出力IF24とを備える。
プロセッサ10、20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing 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に対して作業領域を提供する。メモリ12は、プロセッサ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が建築中オブジェクトから建築済オブジェクトに変化するまでの建築時間が経過したか否か、建築済オブジェクトに変化してから各種ゲームポイントを取得できるまでの準備時間が経過したか否か、および、スキルを発動できるようになるまでのクールタイムが経過したか否かを、それぞれ判定できる。
端末判定部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と、ユーザが保有するコイン、アイテム、およびダイヤ等のゲームポイントと、各ユーザが保有する建物等のオブジェクトに関する情報とが、互いに関連付けて格納されている。
ユーザ管理テーブル300では、各オブジェクトのレベル、レベルによる各建物のパラメータ補正値、および建物オブジェクトのゲーム空間Gにおける配置位置が管理される。また、各建物オブジェクトが建築中であるかまたは建築済であるかといった建物の状態、建物オブジェクトがゲーム空間Gに配置されてからの経過時間、または、建物オブジェクトが建築済となってから経過した時間を示す経過時間も管理される。建物オブジェクトが、アイテムまたはコイン等のゲームポイントを一定時間ごとに生産する場合、ユーザ管理テーブル300内の経過時間は、ユーザにゲームポイントを前回付与した時点から経過時間であってもよい。
ユーザ管理テーブル300では、各建物オブジェクトに関連付けられたゲームポイントとしての保有人口が管理される。さらに、各建物オブジェクトの保有人口の合計値が、当該ユーザに関連付けられたゲームポイントとして管理される(図示せず)。
〔オブジェクト管理テーブル〕
図6は、オブジェクト管理テーブル301の一例を示す図である。オブジェクト管理テーブル301は、各建物オブジェクトに関連付けられる情報を管理するテーブルである。オブジェクト管理テーブル301は、ゲームサーバ200の記憶部220および/またはユーザ端末100の記憶部120に記憶される。図6に示すように、オブジェクト管理テーブル301には、各建物オブジェクトの名称と、属性(種類)と、当該建物オブジェクトに関する各種の情報とが、互いに関連付けられている格納されている。各種の情報としては、保有可能人口、電力供給量、電力消費量、コイン生産量、生産アイテム(建物)、建築時間、および準備時間が挙げられる。
保有可能人口は、建物オブジェクトが保有可能な人口Pの数である。電力供給量は、建物オブジェクトが他の各建物オブジェクトに対して供給可能な電力量である。電力消費量は、建物オブジェクトが稼働するために必要な電力の消費量である。各建物オブジェクトが稼働することによって、人口Pまたはコインなどのゲームポイントを建物オブジェクトからユーザに付与することが可能になる。
コイン生産量は、建物オブジェクトが生産するコインの量である。生産アイテム(建物)は、建物オブジェクトが生産可能なアイテムまたは他の建物オブジェクトである。図6によれば、畑はアイテムとして野菜を生産し、肥料工場はアイテムとして肥料を生産し、蕾店は建物オブジェクトとして蕾を生産する。建築時間は、各建物オブジェクトが建築中建物としてゲーム空間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が適用され得る。
図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)を更新する。
(蕾への肥料の付与)
図12は、ゲームシステム1がゲーム空間G1において蕾に肥料を付与する処理の流れを示すフローチャートの一例である。この図に示す処理が開始される前に、第1ユーザ端末100−1の送受信部117は、図13に示すゲーム空間G1を表す情報をゲームサーバ200から受信済みである。図13は、肥料工場K1および蕾店M1(第3オブジェクト)が配置されるゲーム空間G1を示す図である。ゲーム空間G1は、ユーザAに関連付けられている。第1ユーザ端末100−1の端末処理部112は、受信されたゲーム空間G1の情報を用いてゲーム空間G1を第1ユーザ端末100−1に構築済みである。表示制御部115は、図13に示すゲーム空間G1の画像をディスプレイ152に表示済みである。
図13の例では、肥料工場K1は、アイテムとしての肥料を生産するパッシブスキルを有する。一方、蕾店M1は、建物オブジェクトとしての蕾を生産するアクティブスキルを有する。
ステップS121において、端末処理部112は、肥料工場K1によって生産された肥料(第1アイテム)を、ユーザAに付与する。肥料工場K1は一定時間ごとに一定数の肥料を生産することが可能であり、生産された肥料は肥料工場K1内に蓄積される。肥料工場K1には所定の最大数の肥料が蓄積可能であり、蓄積された肥料が最大数に達すると、肥料工場K1における肥料の生産は停止する。端末処理部112は、たとえば肥料工場K1に対するユーザの操作入力(たとえばタップ)を作用受付部111が受け付けた場合、肥料工場K1に蓄積された肥料をユーザAに付与すればよい。
ステップS122において、作用受付部111は、蕾店M1へのユーザAの操作入力(たとえばタップ)を受け付ける。このとき、蕾店M1は、蕾を生産するためのアクティブスキルを発動可能な状態にあるものとする。ステップS123において、端末処理部112は、アクティブスキル管理テーブルを参照することによって、蕾店M1に規定されるアクティブスキルの内容を特定し、その結果に基づいて、建物オブジェクトとしての所定数の蕾を生産して図14に示すようにゲーム空間G1に配置する。
図14は、蕾T11(第1オブジェクト)および蕾T12(第1オブジェクト)が配置されるゲーム空間G1を示す図である。この図に示すように、端末処理部112は、蕾店M1によって生産された蕾T11および蕾T12を、ゲーム空間G1における所定の位置に配置する。生産された蕾が配置される位置は、たとえば蕾店M1の周囲の一定範囲内における他の建物オブジェクトが配置されない任意の位置であればよい。あるいは、ゲーム空間G1における他の建物オブジェクトが配置されない任意の位置であってもよい。
ステップS124において、作用受付部111は、ユーザAによる蕾T11への肥料H1(第1アイテム、第2アイテム)の付与の指示入力を受け付ける。たとえば表示制御部115は、ユーザAによる所定の指示入力を作用受付部111が受け付けると、肥料H1を蕾T11に近くに表示させる。ここで端末処理部112は、表示された肥料H1を蕾T11にドラッグするためのユーザAによる操作入力を受け付けると、この操作入力を、蕾T11への肥料H1の指示の操作入力として受け付ける。
ステップS125において、端末処理部112は、蕾T11に肥料H1を付与する。ユーザ管理テーブル300では、各蕾に付与された肥料の累積付与数および蕾のレベルが管理されている。蕾に一定数の肥料が付与されると、蕾のレベルが上昇する。端末処理部112は、蕾T11に新たに付与された肥料H1の数だけ、ユーザ管理テーブル300における蕾T11への肥料の累積付与数を増加させる。表示制御部115は、ゲーム空間G1に配置される各蕾T11および蕾T12に対して、それぞれのレベルを関連付けて表示してもよい。
ステップS126において、報酬計算部116は、蕾T11に肥料H1が付与されたことを条件として、ユーザAにゲームポイント(第1報酬)を付与する。このとき付与されるゲームポイントの種類および数は、たとえばオブジェクト管理テーブル301において予め規定されている。報酬計算部116は、オブジェクト管理テーブル301を参照することによって、ユーザAに付与するゲームポイントの種類および数を特定する。このとき付与されるゲームポイントは、たとえばコインC1、ダイヤC2、およびその他の各種ゲーム内アイテムであればよい。
ステップS127において、送受信部117は、蕾T11に付与された肥料H1の情報およびユーザに付与されたゲームポイントに関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS221において、ゲームサーバ200の送受信部211は、送信された更新情報を受信する。ステップS222において、データ管理部213は、受信した更新情報に基づいてユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。
(ブーケの付与)
ステップS128において、端末判定部114は、ユーザ管理テーブル300を参照することによって、蕾T11への肥料の累積付与数が、所定の閾値を超えたか否かを判定する。ここでいう閾値とは、蕾T11のレベルが最大に達する肥料の累積付与数のことである。ステップS128においてNOの場合、図12の処理は終了する。ステップS128においてYESの場合、表示制御部115は、図15に示すように、ゲーム空間G1に配置される蕾T11を、花F1(第2オブジェクト)に変化させる。図15は、花F1が配置されるゲーム空間G1を示す図である。花F1は、建物オブジェクトの一種である。ユーザAは、蕾T11が花F1に変化したことを視認することによって、蕾T11に対して充分な数の肥料が付与されたことを認識する。
ステップS130において、作用受付部111は、花F1に対するユーザAの操作入力(たとえばタップ)を受け付ける。ステップS131において、報酬計算部116は、花F1に対するユーザAの操作入力に基づいて、ユーザAにブーケB1(第2報酬)を付与する。ブーケB1は、街づくりゲームにおいてユーザAが使用可能なアイテムの一種である。たとえばユーザAは、ブーケB1をコインC1、ダイヤC2、またはその他の各種ゲーム内アイテムに交換することができる。あるいはユーザAは、ブーケB1を用いることによって、特定の建物(たとえば蕾店M1)のレベルを上昇させることができる。
ステップS132において、送受信部117は、ユーザAに付与されたブーケB1に関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS223において、ゲームサーバ200の送受信部211は、送信された更新情報を受信する。ステップS224において、データ管理部213は、受信された更新情報に基づいて、ユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。たとえばデータ管理部213は、更新情報に含まれるブーケB1に関する情報を、ユーザAのユーザ情報における保有アイテム欄に追加する。
(他のユーザの蕾への肥料の付与)
図16は、ゲームシステム1がゲーム空間G2において蕾に肥料を付与する処理の流れを示すフローチャートの一例である。以下では、ユーザBが、ユーザ端末100と同じ構成の第2ユーザ端末100−2を所持しており、この端末を用いて街づくりゲームをプレイする例を説明する。
図16に示す処理が開始される前に、第2ユーザ端末100−2の送受信部117は、図17に示すゲーム空間G2を表す情報をゲームサーバ200から受信済みである。図17は、肥料工場K2ならびに蕾店M1および蕾店M22が配置されるゲーム空間G2を示す図である。ゲーム空間G2は、ユーザBに関連付けられている。第2ユーザ端末100−2の端末処理部112は、受信されたゲーム空間G2の情報を用いてゲーム空間G2を第2ユーザ端末100−2に構築済みである。表示制御部115は、図17に示すゲーム空間G2の画像をディスプレイ152に表示済みである。
図示はしないが、第2ユーザ端末100−2の端末処理部112は、肥料工場K2によって生産された肥料(第2アイテム)を、ユーザBに付与する。また、第2ユーザ端末100−2の端末処理部112は、蕾店M21または蕾店M22へのユーザBの操作入力(たとえばタップ)に基づいて、建物オブジェクトとしての所定数の蕾を生産して図17に示すようにゲーム空間G2に配置する。図17では、4つの蕾T21〜T24がゲーム空間G2に配置されている。ゲーム空間G2にはゲーム空間G1よりも多くの蕾店が配置されているので、ゲーム空間G2にはゲーム空間G1よりも多くの蕾が配置され得る。
第2ユーザ端末100−2の端末処理部112は、ユーザBによるたとえば蕾T23への肥料の付与の指示入力に基づいて、蕾T23にユーザBの肥料を付与する。その際の処理の流れは、基本的に図12に示すものと同様である。以下では、ユーザAがユーザBの街(ゲーム空間G2)を訪問し、ゲーム空間G2におけるユーザAの指示入力に基づいてユーザAの肥料をユーザBの蕾T23に付与する例を、説明する。
ステップS341において、第2ユーザ端末100−2の作用受付部111は、蕾T23に対するユーザBの操作入力(たとえばタップ)を受け付ける。ステップS342において、第2ユーザ端末100−2の送受信部117は、蕾T23のレベル上げの応援を他のユーザに要求するための応援要求を、ゲームサーバ200に送信する。ステップS241において、ゲームサーバ200の送受信部211は、送信された応援要求を受信する。ステップS242において、データ管理部213は、受信された応援要求に基づいて、ユーザBのユーザ情報(ユーザ管理テーブル300)を更新する。具体的には、ユーザBのユーザ情報に、ユーザBが蕾のレベル上げの応援を求めていることを示す情報を関連付けて格納する。
ステップS243において、マッチング部214は、ユーザAの訪問先候補リストを生成する更新する。訪問先候補リストは、ユーザAが訪問先として選択可能な複数の他のユーザの街(ゲーム空間G)に関する情報(候補情報)を含むリストである。
マッチング部214は、全ユーザの中から、自身のゲーム空間Gに配置される蕾のレベル上げの応援を他のユーザに要求したユーザを、所定数、選択する。具体的には、各ユーザのユーザ管理テーブル300を参照することによって、蕾のレベル上げの応援を求めていることを示す情報がユーザ管理テーブル300に格納されているユーザを、所定数選択する。その際、ユーザAの全フレンドから最大で規定数(たとえば5人)のユーザを選択し、かつ、ユーザAのフレンドではない他のすべてのユーザから、所定数(たとえば10人)のユーザを選択する。フレンドは、ユーザAがフォローしている他のユーザ、ユーザAをフォローしている他のユーザ、およびユーザAを相互フォローしている他のユーザを含み得る。
マッチング部214は、選択された各他のユーザのユーザ管理テーブル300を参照することによって、各他のユーザの街に関する情報を取得する。このとき取得される情報は、たとえば、他のユーザのランク、他のユーザの名称(ニックネーム)、および他のユーザの街に配置される蕾のレベルなどを含む。マッチング部214は、取得した各他のユーザの情報を含む訪問先候補リストを生成する。
ステップS244において、送受信部211は、生成された訪問先候補リストをユーザAの第1ユーザ端末100−1に送信する。ステップS141において、第1ユーザ端末100−1の送受信部117は、送信された訪問先候補リストを受信する。ステップS142において、第1ユーザ端末100−1の作用受付部111は、ゲーム空間G1のマップを表示させるためのユーザAによる指示入力(たとえばゲーム画面内の所定領域のタップ)を受け付ける。ステップS143において、表示制御部115は、図18の(a)に示すようなマップをディスプレイ152に表示させる。図18は、ユーザAに行き先を選択させるためのマップ、およびユーザAに他のユーザの街の訪問先を選択させるためのリストを示す図である。
図18の(a)に示すマップは、イベントパネルPNを含む。イベントパネルPNは、訪問先候補リストを表示させるためのパネルである。ステップS144において、第1ユーザ端末100−1の作用受付部111は、イベントパネルPNへのユーザAによる操作入力(たとえばタップ)を受け付ける。ステップS145において、表示制御部115は、図18の(b)に示すように、訪問先候補リストをディスプレイ152に表示させる。
図18の(b)の例では、表示制御部115は、訪問先候補リストに含まれる各他のユーザの情報(ランク、ユーザ名、および蕾レベルなど)を、対応する個々の表示領域にそれぞれまとめて表示する。ユーザAは、表示される訪問先候補リストを視認することによって、蕾のレベル上げの応援を要求した各他のユーザの街に関する情報を把握することができる。このように、第1ユーザ端末100−1において表示される訪問先候補リストは、蕾のレベル上げの応援を要求した各他のユーザに関する情報をユーザAに通知するためのメッセージ(第1メッセージ)の一種である。
ステップS146において、第1ユーザ端末100−1の作用受付部111は、表示された訪問先候補リストに対するユーザAの操作入力を受け付ける。図16の例では、作用受付部111は、表示された訪問先候補リストに含まれるユーザBの街に関する表示情報に対するユーザAの操作入力(たとえばタップ)を、受け付ける。第1ユーザ端末100−1の端末処理部112は、この操作入力に基づいて、ユーザBの街に関する情報を訪問先候補リストから取得する。そして、取得した情報に基づいて、ユーザAが訪問を希望する街としてユーザBの街を特定する。
ステップS147において、第1ユーザ端末100−1の送受信部117は、ユーザBの街への訪問要求を、ゲームサーバ200に送信する。ステップS245において、ゲームサーバ200の送受信部211は、送信された訪問要求を受信する。マッチング部214は、受信された訪問要求に基づいて、ユーザAが訪問を希望する街としてユーザBの街を特定する。ステップS246において、マッチング部214は、ユーザAにユーザBの街(ゲーム空間G2)を一時的に関連付ける。このときデータ管理部213は、ユーザ管理テーブル300において、ユーザBに関する情報に関連付けてユーザAの訪問を受け付けたことを管理することが好ましい。ユーザAがゲーム空間G1に戻ることを選択した場合、データ管理部213は、ユーザBから当該情報を削除し、ユーザAとゲーム空間G2との関連付けを解除することが好ましい。
ゲームサーバ200のデータ管理部213は、ユーザBのユーザ情報を参照することによって、ゲーム空間G2に関する情報を特定する。ステップS247において、送受信部211は、特定されたゲーム空間G2の情報を、第1ユーザ端末100−1に送信する。ステップS148において、第1ユーザ端末100−1の送受信部117は、送信されたゲーム空間G2の情報を受信する。
ステップS149において、第1ユーザ端末100−1の端末処理部112は、受信されたゲーム空間G2の情報に基づいて、第1ユーザ端末100−1において、図17に示すゲーム空間G2を構築する。これに伴い、第1ユーザ端末100−1の表示制御部115は、図17に示すゲーム空間G2の画像を生成して第1ユーザ端末100−1の表示部152に表示させる。
ステップS150において、第1ユーザ端末100−1の作用受付部111は、ユーザAによる蕾T23への肥料H1の付与の指示入力を受け付ける。ステップS151において、第1ユーザ端末100−1の端末処理部112は、蕾T23に肥料H1を付与する。ステップS152において、第1ユーザ端末100−1の送受信部117は、蕾T23に付与された肥料H1の情報(たとえば肥料H1の付与数)を含む更新情報を、ゲームサーバ200に送信する。ステップS248において、ゲームサーバ200の送受信部211は、更新情報を受信する。ステップS249において、データ管理部213は、受信された更新情報に基づいてユーザBのユーザ情報(ユーザ管理テーブル300)を更新する。具体的には、ユーザBのユーザ情報に管理される蕾T23への肥料の累積付与数を、蕾T23に付与された肥料H1の数だけ増加させる。
ステップS153において、第1ユーザ端末100−1の報酬計算部116は、ユーザBの蕾T23に対するユーザAの肥料H1の付与を条件として、ユーザAにゲームポイントを付与する。ステップS154において、第1ユーザ端末100−1の送受信部117は、ユーザAに付与されたゲームポイントに関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS250において、ゲームサーバ200の送受信部211は、送信された更新情報を受信する。ステップS251において、データ管理部213は、受信された更新情報に基づいて、ユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。
以上のように、本実施形態に係る街づくりゲームでは、ユーザAがユーザBの街を訪問し、ユーザBの街に配置される蕾にユーザAの肥料を付与することができる。また、ユーザAがユーザBの蕾にユーザAの肥料を付与すると、コイン、ダイヤ、またはその他の各種ゲーム内アイテムなどのゲームポイントがユーザAに付与される。そのためユーザAは、ゲームポイントを得るためにユーザBの街を積極的に訪問しようとする。このように、ゲームシステム1は、各ユーザが街づくりゲームをプレイする際の、他のユーザの街を訪問する動機付けをより強くすることができるので、街づくりゲームのソーシャル性をより高めることができる。
(他のユーザの街のブーケの取得)
図19は、ゲームシステム1が、ゲーム空間G2に配置されるブーケB2をユーザAに付与する処理の流れを示すフローチャートの一例である。ステップS361において、第2ユーザ端末100−2の端末判定部114は、蕾T23への肥料の累積付与数が閾値を超えたか否かを判定する。ここでいう累積付与数とは、たとえば、蕾T23に付与されたユーザAの肥料およびユーザBの肥料のうち少なくともいずれかの累積付与数である。なお、ユーザA以外の他のユーザがユーザBの街を訪問し、蕾T23に対して当該他のユーザの肥料を付与した場合、蕾T23のへの肥料の累積付与数は、蕾T23に対する他のユーザの肥料の付与数も含む。
ステップS361においてYESの場合、ステップS362において、第2ユーザ端末100−2の表示制御部115は、図20に示すようにゲーム空間G2に配置される蕾T23を花F2に変化させる。図20は、花F2が配置されるゲーム空間G2を示す図である。ユーザBは、蕾T23が花F2に変化したことを視認することによって、蕾T23に対して充分な数の肥料が付与されたことを認識する。
ステップS363において、第2ユーザ端末100−2の送受信部117は、蕾T23が開花したことを示す情報を含む開花情報を、ゲームサーバ200に送信する。ステップS261において、ゲームサーバ200の送受信部211は、送信された開花情報を受信する。ステップS262において、データ管理部213は、受信された開花情報に基づいて、ユーザBのユーザ情報(ユーザ管理テーブル300)を更新する。具体的には、花F2に関する情報をユーザBのユーザ情報に追加する。
ゲームサーバ200のデータ管理部213は、ユーザBのユーザ情報を参照することによって、蕾T23が開花したことを通知する通知先のユーザを特定する。具体的には、ユーザBのユーザ情報に格納されている蕾T23に肥料を付与した各ユーザ(ユーザAを含む)のユーザIDを、ユーザ管理テーブル300から取得することによって、通知先の各ユーザを特定する。
ステップS264において、送受信部211は、通知先として特定された各ユーザが所持するユーザ端末100に、蕾T23の開花情報を送信する。開花情報は、たとえば、ユーザBのユーザID、ユーザBの名称、および開花した蕾23に関する情報などを含む。送受信部211は、ユーザAが通知先として特定されたので、ユーザAの第1ユーザ端末100−1に対して蕾T23開花情報を送信する。
ステップS161において、第1ユーザ端末100−1の送受信部117は、送信された開花情報を受信する。ステップS162において、表示制御部115は、受信された開花情報に基づいて、ユーザBの蕾23がユーザBの街(ゲーム空間G2)において開花したことをユーザAに通知する。たとえば表示制御部115は、ユーザBの街における蕾T23の開花を通知するメッセージ(第2メッセージ)を生成して表示部152に表示させる。ユーザは、このメッセージを視認することによって、過去に自身が肥料与えたユーザBの街に配置される蕾が開花したことを、把握する。表示されるメッセージは、ユーザAに対してユーザBの街を訪問することを促す文言を含み得る。
ステップS163において、第1ユーザ端末100−1の作用受付部111は、表示されたメッセージに対するユーザAの操作入力(たとえばタップ)を受け付ける。ステップS164において、端末処理部112は、この操作入力に基づいて、ユーザBの街への訪問要求をゲームサーバ200に送信する。ステップS265において、ゲームサーバ200の送受信部211は、送信された訪問要求を受信する。マッチング部214は、受信された訪問要求に基づいて、ユーザAが訪問を希望する街としてユーザBの街を特定する。ステップS266において、マッチング部214は、ユーザAにユーザBの街(ゲーム空間G2)を一時的に関連付ける。
ゲームサーバ200のデータ管理部213は、ユーザBのユーザ情報を参照することによって、ゲーム空間G2に関する情報を特定する。ステップS267において、送受信部211は、特定されたゲーム空間G2の情報を、第1ユーザ端末100−1に送信する。ステップS165において、第1ユーザ端末100−1の送受信部117は、送信されたゲーム空間G2の情報を受信する。
ステップS166において、第1ユーザ端末100−1の端末処理部112は、受信されたゲーム空間G2の情報に基づいて、第1ユーザ端末100−1において、図20に示すゲーム空間G2を構築する。これに伴い、表示制御部115は、図20に示すゲーム空間G2の画像を生成して第1ユーザ端末100−1の表示部152に表示させる。
ステップS167において、第1ユーザ端末100−1の作用受付部111は、花F2に対するユーザAの操作入力(たとえばタップ)を受け付ける。ステップS168において、第1ユーザ端末100−1の報酬計算部116は、花F2に対するユーザAの操作入力に基づいて、ユーザAにブーケB2(第2報酬)を付与する。
ステップS169において、送受信部117は、ユーザAに付与されたブーケB2に関する情報を含む更新情報を、ゲームサーバ200に送信する。ステップS268において、ゲームサーバ200の送受信部211は、送信された更新情報を受信する。ステップS269において、データ管理部213は、受信された更新情報に基づいて、ユーザAのユーザ情報(ユーザ管理テーブル300)を更新する。たとえばデータ管理部213は、更新情報に含まれるブーケB2に関する情報を、ユーザAのユーザ情報における保有アイテム欄に追加する。
以上のように、本実施形態に係る街づくりゲームでは、ユーザBの街においてユーザAが肥料を付与した蕾T23が開花した場合、ユーザAはユーザAの街においてその旨の通知を受けることができる。したがってユーザAは、ユーザBの街を訪問することなく、かつて自身がレベル上げに貢献したユーザBの蕾T23が開花したことを、容易に把握することができる。
また、ユーザAは、蕾T23の開花通知を受けた後、再びユーザBの街を訪問し、ゲーム空間G2に配置される花F2への操作入力を通じてブーケB2を取得することができる。このように、ユーザAは、ユーザAの街(ゲーム空間G1)のみならず、ユーザBの街(ゲーム空間G2)においても、ブーケを取得することができる。
ユーザAは、ユーザBの街を訪問すればブーケB2を取得できるので、ブーケB2を取得することを目的としてユーザBの街を積極的に訪問しようとする。このように、ゲームシステム1は、各ユーザが街づくりゲームをプレイする際の、他のユーザの街を訪問する動機付けをさらに強くできるので、街づくりゲームのソーシャル性をより一層高めることができる。
上述した実施の形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
また、本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態中にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
第1ユーザ端末100−1の報酬計算部116は、ゲーム空間G1に配置されるいずれかの蕾にユーザAの肥料が付与された場合、ユーザAにゲームポイントを付与しなくてもよい。すなわち、第1ユーザ端末100−1の報酬計算部116は、ユーザAが他のユーザの街(他のゲーム空間G)を訪問した後、他のゲーム空間Gに配置されるいずれかの蕾にユーザAの肥料が付与された場合にのみ、ユーザAに報酬を与えるようにしてもよい。これにより、ユーザAは、蕾への肥料付与によって得られるゲームポイントの取得を目的として、他のユーザの街により一層積極的に訪問するようになる。したがって、ユーザAが他のユーザの街を訪問する動機付けをより一層強くすることができる。
ゲーム空間Gにおける蕾の産出および配置は、必ずしも蕾店がゲーム空間Gに配置されていることを前提としない。表示制御部115は、蕾店がゲーム空間Gに配置されていなくても、一定期間ごとに、ゲーム空間Gにおける任意の場所をランダムに選択し、その場所に蕾を配置してもよい。
ゲームサーバ200が、各ゲーム空間Gにおける蕾の配置数を決定してもよい。この場合、ゲームサーバ200のデータ管理部213は、各ユーザのゲーム空間Gにおける新たな蕾の生産数を、所定の規則に基づいて決定する。送受信部211は、決定された蕾の産出数を、各ユーザのユーザ端末100に通知する。表示制御部115は、ゲームサーバ200から通知された数の蕾を、ゲーム空間Gに配置する。
データ管理部213は、たとえば、全ユーザ数×各ユーザの平均肥料保有数が、各蕾を開花させるために必要な肥料数×全ゲーム空間G1に存在する蕾の合計数よりも大きくなるように、全ゲーム空間G1において新たに生産される蕾の合計数を決定する。さらに、決定した合計数の範囲内で、各ゲーム空間Gにおいて新たに生産される蕾の数を、それぞれ決定する。これにより、各ゲーム空間G1において新たに生産される蕾の数を、各蕾を開花させるために必要な肥料数に比べて実質的にやや少なくすることができるので、各ユーザが保有する肥料が欠乏する事態を避けることができる。その結果、各ユーザが、充分な数の肥料を活用してゲームポイントを取得するために、他のユーザの街を訪問する動機付けを、より強くすることができる。
〔ソフトウェアによる実現例〕
ユーザ端末100、ゲームサーバ200の制御ブロック(制御部110、制御部210)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、制御部210は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が前記プログラムを前記記録媒体から読み取って実行することによって、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークまたは放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔付記事項〕
本発明の内容を列記すると以下の通りである。
(項目1)プロセッサおよびメモリを備えた複数のコンピュータによって構成されるコンピュータシステムによって実行されるゲームの実行方法であって、第1ユーザに関連付けられる第1ゲーム空間において、前記第1ユーザに第1アイテムを付与するステップと、前記第1ユーザに、第1オブジェクトが配置されかつ第2ユーザに関連付けられる第2ゲーム空間を一時的に関連付けるステップと、前記第2ゲーム空間において、前記第1ユーザによる操作入力に基づいて、前記第1オブジェクトに前記第1アイテムを付与するステップと、前記第2ゲーム空間において前記第1オブジェクトに前記第1アイテムが付与された場合、前記第1ユーザに第1報酬を付与するステップと、を有するゲームの実行方法。街づくりゲームにおけるソーシャル性質をより高めることができる。
(項目2)前記第2ゲーム空間における前記第1オブジェクトに対する前記第2ユーザによる操作入力に基づいて、前記第1ゲーム空間において前記ユーザに第1メッセージを通知するステップをさらに有し、前記関連付けるステップにおいて、前記第1メッセージに対する前記第1ユーザの操作入力に基づいて、前記第1ユーザに関連付ける前記第2ゲーム空間を特定する、項目1のゲームの実行方法。第1ユーザの訪問先である第2ゲーム空間を容易に特定することができる。
(項目3)前記第2ゲーム空間において、前記第2ユーザに第2アイテムを付与するステップと、前記第2ゲーム空間において、前記第2ユーザの操作入力に基づいて、前記第1オブジェクトに第2アイテムを付与するステップと、前記第1オブジェクトに前記第2アイテムが付与された場合、前記第2ユーザに報酬を付与するステップと、を有する項目1のゲームの実行方法。第2ユーザにおける第1オブジェクトへの第2アイテムの付与の動機付けを高めることができる。
(項目4)前記第2ゲーム空間において、前記オブジェクトに対する前記第1アイテムおよび前記第2アイテムのうち少なくともいずれかの累積付与数に基づき、前記第1オブジェクトを第2オブジェクトに変化させるステップをさらに有する、項目3のゲームの実行方法。第1オブジェクトに対して充分な数のアイテムが付与されたことを、第1ユーザまたは第2ユーザに把握させることができる。
(項目5)前記第1オブジェクトが前記第2オブジェクトに変化した場合、前記第1ゲーム空間において前記第1ユーザに第2メッセージを通知するステップを有する、項目4のゲームの実行方法。第1オブジェクトが第2オブジェクトに変化したことを、第2ゲーム空間を訪問する前の第1ユーザに把握させることができる。
(項目6)前記関連付けるステップにおいて、前記第2メッセージに対する前記第1ユーザの操作入力に基づいて、前記第1ユーザに関連付ける前記第2ゲーム空間を特定し、前記第2ゲーム空間における前記第2オブジェクトに対する前記第1ユーザの操作入力に基づいて、前記第1ユーザに第2報酬を付与するステップをさらに有する、項目5のゲームの実行方法。第1報酬に加えて第2報酬も第1ユーザに付与されるので、街づくりゲームにおけるソーシャル性をより一層高めることができる。
(項目7)前記第2ゲーム空間には第3オブジェクトがさらに配置されており、前記第2ゲーム空間において、前記第2ユーザによる前記第3オブジェクトに対する操作入力に基づいて、前記第1オブジェクトを配置するステップをさらに有する、項目1〜6のいずれかのゲームの実行方法。第2ユーザにおける第3オブジェクトを入手する動機付けを強くすることができる。
(項目8)前記第2ユーザに関連付けられる前記第2ゲーム空間において、任意のタイミングで前記第1オブジェクトを配置するステップをさらに有する、項目1〜7のいずれかのゲームの実行方法。第1オブジェクトを容易に第2空間に配置することができる。