【文献】
Ingress,Wikipedia[Online],2015年10月 6日,pp.1-8,URL,https://ja.wikipedia.org/w/index.php?title=Ingress&oldid=57085590
【文献】
【Ingress】超わかりやすい画面(スキャナー)の見方,APPBANK[Online],2014年12月23日,pp.1-2,URL,https://www.appbank.net/2014/12/23/iphone-application/951105.php
【文献】
スーパーマリオスタジアム ファミリーベースボール,週刊ファミ通,日本,株式会社エンターブレイン,2008年 7月 4日,第23巻第27号,pp. 119-122
【文献】
リアルマップ領土拡大MMO RPGここに極まれり?「Parallel Kingdom AOT」がアップデート&プレイ可能に,タブロイド[Online],2012年 5月27日,pp.1-6,URL,http://www.tabroid.jp/app/games/2012/05/com.silvermoon.client.html
(58)【調査した分野】(Int.Cl.,DB名)
仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を発生させてゲームを進行させるためのゲーム用オブジェクト制御システムであって、
前記種々のイベント処理を発生させてゲームを進行させるゲーム進行処理部と、
現実世界における地理情報を含む現実地図情報を記憶する現実地図記憶部と、
前記ゲーム進行処理部によるゲーム進行に従って、前記現実地図情報上の地理情報に対応した仮想地理情報上における前記オブジェクトの座標情報を含む仮想地図情報を生成する仮想地図情報生成部と、
現実世界における座標位置を選択する位置情報取得部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記現実地図情報上に前記座標位置を示した現実表示データを生成する現実表示データ生成部と、
前記位置情報取得部が取得した前記座標位置に基づいて、前記座標位置に対応した前記仮想地図情報上に前記キャラクターを表した仮想表示データを生成する仮想表示データ生成部と、
前記位置情報取得部が選択した座標位置の変位履歴に基づいて移動経路を算出し、算出結果を記録する移動経路記録部と、
前記移動経路記録部が記録した移動経路を、前記現実地図情報上又は前記仮想地図情報上に軌跡として表示させる軌跡表示部と、
前記現実表示データ生成部が生成した前記現実表示データと、前記仮想表示データ生成部が生成した前記仮想表示データとを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させるとともに、前記軌跡表示部による軌跡を合わせて表示させる表示制御部と
を備え、
前記位置情報取得部は、現実世界における他のユーザーの現在位置を取得するとともに、前記ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、他のユーザーの現在位置に基づいて設定し、ゲーム進行に従って、自動的に移動させる
ことを特徴とするゲーム用オブジェクト制御システム。
前記位置情報取得部は、現実世界におけるユーザーの現在位置を取得し、取得された前記ユーザーの現在位置を前記座標位置として選択することを特徴とする請求項1に記載のゲーム用オブジェクト制御システム。
前記位置情報取得部は、ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、ゲーム進行に従って、自動的に移動させる
ことを特徴とする請求項1に記載のゲーム用オブジェクト制御システム。
前記軌跡表示部は、前記現実地図情報上又は前記仮想地図情報上において、前記移動経路に近接する区画又はオブジェクトを前記軌跡の一部として表示させることを特徴とする請求項1に記載のゲーム用オブジェクト制御システム。
前記ゲーム進行処理部は、前記軌跡によって前記現実地図情報上又は前記仮想地図情報上に閉じた形状が形成された場合に、ゲーム進行に従ったユーザー操作に基づき、前記閉じた形状を前記軌跡の一部として表示させる
ことを特徴とする請求項1に記載のゲーム用オブジェクト制御システム。
仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を実行させてゲームを進行させるゲームシステムで用いられるゲーム用オブジェクト制御プログラムであって、前記ユーザーが使用する携帯端末装置を、
前記種々のイベント処理を発生させてゲームを進行させるゲーム進行処理部と、
現実世界における地理情報を含む現実地図情報を記憶する現実地図記憶部と、
前記ゲーム進行処理部によるゲーム進行に従って、前記現実地図情報上の地理情報に対応した仮想地理情報上における前記オブジェクトの座標情報を含む仮想地図情報を生成する仮想地図情報生成部と、
現実世界における座標位置を選択する位置情報取得部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記現実地図情報上に前記座標位置を示した現実表示データを生成する現実表示データ生成部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記座標位置に対応した前記仮想地図情報上に前記キャラクターを表した仮想表示データを生成する仮想表示データ生成部と、
前記位置情報取得部が選択した座標位置の変位履歴に基づいて移動経路を算出し、算出結果を記録する移動経路記録部と、
前記移動経路記録部が記録した移動経路を、前記現実地図情報上又は前記仮想地図情報上に軌跡として表示させる軌跡表示部と、
前記現実表示データ生成部が生成した前記現実表示データと、前記仮想表示データ生成部が生成した前記仮想表示データとを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させるとともに、前記軌跡表示部による軌跡を合わせて表示させる表示制御部として
機能させ、
前記位置情報取得部は、現実世界における他のユーザーの現在位置を取得するとともに、前記ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、他のユーザーの現在位置に基づいて設定し、ゲーム進行に従って、自動的に移動させる
ことを特徴とするゲーム用オブジェクト制御プログラム。
前記位置情報取得部は、ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、ゲーム進行に従って、自動的に移動させる
ことを特徴とする請求項6記載のゲーム用オブジェクト制御プログラム。
前記軌跡表示部は、前記現実地図情報上又は前記仮想地図情報上において、前記移動経路に近接する区画又はオブジェクトを前記軌跡の一部として表示させることを特徴とする請求項6に記載のゲーム用オブジェクト制御プログラム。
前記ゲーム進行処理部は、前記軌跡によって前記現実地図情報上又は前記仮想地図情報上に閉じた形状が形成された場合に、ゲーム進行に従ったユーザー操作に基づき、前記閉じた形状を前記軌跡の一部として表示させる
ことを特徴とする請求項6に記載のゲーム用オブジェクト制御プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ロールプレイングゲームで示される仮想世界の仮想位置及び仮想変位として表示するものであっても、実際にユーザーが実世界を移動してゲームを進行させるタイプのゲームであれば、ユーザーとしては、実際に移動した軌跡を記録として残したいという要請がある。特に、ゲームの内容によっては、その移動軌跡によって描かれる図形に意味を持たせるものもあり、単に軌跡を記録するだけでなく、描かれた図形やその面積等の記録方法や算出方法についても多様化が求められている。
【0006】
そこで、本発明は、仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を実行させてゲームを進行させるゲームシステムにおいて、実際に移動した軌跡を記録として残すとともに、その移動軌跡によって描かれる図形の記録方法や算出方法についても多様化を図ることのできるゲーム用オブジェクト制御システム及びそのためのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
(1)ゲームシステム
上記課題を解決するために、本発明は、現実世界の地図を基に構築された仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが、現実世界の位置情報を基に移動して、種々のイベント処理を発生させてゲームを進行させるゲームシステムであって、
前記種々のイベント処理を発生させてゲームを進行させるゲーム進行処理部と、
現実世界における地理情報を含む現実地図情報を記憶する現実地図記憶部と、
前記ゲーム進行処理部によるゲーム進行に従って、前記現実地図情報上の地理情報に対応した仮想地理情報上における前記オブジェクトの座標情報を含む仮想地図情報を生成する仮想地図情報生成部と、
現実世界における座標位置を選択する位置情報取得部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記現実地図情報上に前記座標位置を示した現実表示データを生成する現実表示データ生成部と、
前記位置情報取得部が取得した前記座標位置に基づいて、前記座標位置に対応した前記仮想地図情報上に前記キャラクターを表した仮想表示データを生成する仮想表示データ生成部と、
前記位置情報取得部が選択した座標位置の変位履歴に基づいて移動経路を算出し、算出結果を記録する移動経路記録部と、
前記移動経路記録部が記録した移動経路を、前記現実地図情報上又は前記仮想地図情報上に軌跡として表示させる軌跡表示部と、
前記現実表示データ生成部が生成した前記現実表示データと、前記仮想表示データ生成部が生成した前記仮想表示データとを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させるとともに、前記軌跡表示部による軌跡を合わせて表示させる表示制御部と
を備えることを特徴とする。
【0008】
(2)ゲームプログラム
また、本発明は、仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を実行させてゲームを進行させるゲームシステムで用いられるゲームプログラムであって、前記ユーザーが使用する携帯端末装置を、
前記種々のイベント処理を発生させてゲームを進行させるゲーム進行処理部と、
現実世界における地理情報を含む現実地図情報を記憶する現実地図記憶部と、
前記ゲーム進行処理部によるゲーム進行に従って、前記現実地図情報上の地理情報に対応した仮想地理情報上における前記オブジェクトの座標情報を含む仮想地図情報を生成する仮想地図情報生成部と、
現実世界における座標位置を選択する位置情報取得部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記現実地図情報上に前記座標位置を示した現実表示データを生成する現実表示データ生成部と、
前記位置情報取得部が選択した前記座標位置に基づいて、前記座標位置に対応した前記仮想地図情報上に前記キャラクターを表した仮想表示データを生成する仮想表示データ生成部と、
前記位置情報取得部が選択した座標位置の変位履歴に基づいて移動経路を算出し、算出結果を記録する移動経路記録部と、
前記移動経路記録部が記録した移動経路を、前記現実地図情報上又は前記仮想地図情報上に軌跡として表示させる軌跡表示部と、
前記現実表示データ生成部が生成した前記現実表示データと、前記仮想表示データ生成部が生成した前記仮想表示データとを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させるとともに、前記軌跡表示部による軌跡を合わせて表示させる表示制御部として
機能させることを特徴とする。
【0009】
なお、上述した本発明に係るシステムや、このシステムに用いる制御方法は、所定の言語で記述された本発明のプログラムをコンピューター上で実行することにより実現することができる。すなわち、本発明のプログラムを、携帯端末装置やスマートフォン、ウェアラブル端末、モバイルPCその他の情報処理端末、パーソナルコンピュータやサーバーコンピューター等の汎用コンピューターのICチップ、メモリ装置にインストールし、CPU上で実行することにより、上述した各機能を有するシステムを構築して、各ハードウェア資源の制御方法を実施することができる。
【0010】
また、本発明のプログラムは、例えば、通信回線を通じて配布することが可能であり、また、コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。この記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD-ROMやDVD-ROM等の光ディスクの他、RAMカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述したシステム及び方法を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【0011】
(3)各構成
上記発明において、前記位置情報取得部は、現実世界におけるユーザーの現在位置を取得し、取得された前記ユーザーの現在位置を前記座標位置として選択することができる。
【0012】
上記発明において、前記位置情報取得部は、ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、ゲーム進行に従って、自動的に移動させることができる。
【0013】
上記発明において、前記位置情報取得部は、現実世界における他のユーザーの現在位置を取得するとともに、前記ユーザーの代理となるオブジェクトが代理オブジェクトとして前記現実地図情報上又は前記仮想地図情報上の任意の位置に設置された位置を前記座標位置として選択し、
前記ゲーム進行処理部は、前記代理オブジェクトの地図情報上の位置を、他のユーザーの現在位置に基づいて設定し、ゲーム進行に従って、自動的に移動させることができる。
【0014】
上記発明では、前記位置情報取得部が選択した座標位置の変位履歴に基づいて移動経路を算出し、算出結果を記録する移動経路記録部と、
前記移動経路記録部が記録した移動経路を、前記現実地図情報上又は前記仮想地図情報上に軌跡として表示させる軌跡表示部と
をさらに設けることができる。
【0015】
上記発明において、前記軌跡表示部は、前記現実地図情報上又は前記仮想地図情報上において、前記移動経路に近接する区画又はオブジェクトを前記軌跡の一部として表示させることができる。
【0016】
上記発明において、前記ゲーム進行処理部は、前記軌跡によって前記現実地図情報上又は前記仮想地図情報上に閉じた形状が形成された場合に、ゲーム進行に従ったユーザー操作に基づき、前記閉じた形状を前記軌跡の一部として表示させることができる。
【0017】
上記発明において、前記表示制御部は、前記ゲーム進行処理部による前記ゲームの進行に応じて、前記現実表示データ及び/又は前記仮想表示データの表示又はその表示動作を変化させることができる。
【発明の効果】
【0018】
以上述べたように、本発明によれば、仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を実行させてゲームを進行させるゲームシステムにおいて、実際に移動した軌跡を記録として残すとともに、その移動軌跡によって描かれる図形の記録方法や算出方法についても多様化を図ることができる。
【発明を実施するための形態】
【0020】
以下に添付図面を参照して、本発明に係るゲームシステム及びゲームプログラムの実施形態を詳細に説明する。
(ゲームシステムの構成)
図1は、本実施形態に係るゲームシステムの全体構成を示す概念図である。本実施形態に係るゲームシステムは、
図1に示すように、複数のユーザー10a,10bが使用する携帯端末装置であるスマートフォン1(1a,1b)と、インターネット2上に設置されたゲームサーバー3とから概略構成される。なお、本実施形態では、スマートフォン1を携帯端末装置の一例として説明する。
【0021】
ゲームサーバー3は、本実施形態では、ゲーム進行処理を行うサーバーであり、単一のサーバー装置、又は複数のサーバー装置群により実現することができ、複数の機能モジュールをCPU上に仮想的に構築し、それぞれの機能モジュールが協動して処理を実行する。また、このゲームサーバー3は、通信機能によりインターネット2を通じて、データ送受信を行うことができるとともに、Webサーバー機能によりブラウザソフトを通じてWebページの提示などを行うことができる。
【0022】
スマートフォン1は、無線通信を利用した携帯可能な情報処理端末装置であり、無線基地局22等の中継点と携帯電話機が無線で通信し、通話やデータ通信等の通信サービスを移動しつつ受けることができる。この携帯電話機の通信方式としては、例えば、3G(3rd. Generation)方式、LTE(Long Term Evolution)方式、4G方式、FDMA方式、TDMA方式、CDMA方式、W−CDMAの他、PHS(Personal Handyphone System)方式等が挙げられる。また、このスマートフォン1は、デジタルカメラ機能、アプリケーションソフトの実行機能、GPS(Global Positioning System)などによる位置情報取得機能等、種々の機能が搭載され、タブレットPC等のモバイルコンピュータも含まれる。
【0023】
位置情報取得機能は、自機の位置を示す位置情報を取得し、記録する機能であり、この位置情報取得機能としては、
図1に示すように、例えば、GPSのように、衛星21からの信号によって自機の位置を検出する方法や、携帯電話の無線基地局22や、Wifi通信のアクセスポイントからの電波強度などによって位置を検出する方法が含まれる。
【0024】
そして、このスマートフォン1は、情報を表示する表示部としての液晶ディスプレイを備えるとともに、ユーザーが入力操作を行うための操作ボタン等の操作デバイスを備え、この操作デバイスとしては、液晶ディスプレイに重畳されて配置され、液晶ディスプレイ上の座標位置を指定するタッチ操作などによる操作信号を取得する入力部としてのタッチパネルが含まれる。具体的にこのタッチパネルは、ユーザーの指先やペンなどを用いたタッチ操作や静電検知その他による圧力によって操作信号を入力する入力デバイスであり、グラフィックを表示する液晶ディスプレイと、この液晶ディスプレイに表示されたグラフィックの座標位置に対応した操作信号を受け付けるタッチセンサとが重畳されて構成されている。
【0025】
(各装置の内部構造)
次いで、上述したゲームシステムを構成する各装置の内部構造について説明する。
図3は、本実施形態に係るゲームサーバー3の内部構成を示すブロック図であり、
図4は、本実施形態に係るスマートフォン1の内部構成を示すブロック図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
【0026】
(1)ゲームサーバー
先ず、ゲームサーバー3の内部構成について説明する。ゲームサーバー3は、インターネット2上に配置されたサーバー装置であり、インターネット2を通じて、各スマートフォン1とデータの送受信を行えるようになっている。
【0027】
ゲームサーバー3は、インターネット2を通じてデータ通信を行う通信インターフェース31と、利用者や利用者端末の権限を認証する認証部33と、各利用者端末の位置情報を収集して管理する位置情報管理部32と、ゲーム全体のゲーム進行処理、及び各ユーザーのゲーム進行処理を実行するゲーム進行処理部36と、仮想地図情報を生成する仮想地図情報管理部37と、各ユーザーに対してゲームデータを配信する34と種々のデータベース群を備えている。
【0028】
データベース群としては、現実世界における地理情報を含む現実地図情報を記憶する現実地図記憶部としての現実地図データベース35aと、利用者に関する情報を蓄積するユーザーデータベース35bと、仮想地図情報、ゲーム全体のゲーム進行処理、及び各ユーザーのゲーム進行処理に関する情報を蓄積するゲーム用データベース35cとが含まれる。これらの各データベースとしては、単一のデータベースとしてもよく、複数のデータベースに分割し、相互にリレーションを設定することで各データ同士を紐付けたリレーショナルデータベースとすることができる。
【0029】
現実地図データベース35aは、現実世界における地理情報を含む現実地図情報を記憶する記憶装置であり、山や谷、河川等の自然的な地理的要素、建物や道路、鉄道などの人工物、地名や住所、交通規制などが記憶される。なお、この現実地図データベース35aは、ゲームサーバー3を運用するサービス提供者自身が所有・運用するものの他、他の地図サービス提供者が運用する地図データベースであってもよい。
【0030】
ユーザーデータベース35bに蓄積される情報としては、利用者又は利用者が使用している携帯端末装置を特定する識別子(ユーザーID、端末ID)と、パスワード等とを紐付けた認証情報を含み、ユーザーIDに紐付けられた利用者の個人情報や、端末装置の機種なども含まれる。また、ユーザーデータベース35bには、利用者毎或いは利用者端末毎の認証履歴(アクセス履歴)や、ゲーム用データベース35cとのリレーションによりユーザー毎のゲーム進行に関する情報(緯度・経度等の現在位置、ゲーム中におけるステイタス、得点、利用履歴等)、ゲーム中に関する決済情報等も蓄積される。
【0031】
ゲーム用データベース35cに蓄積される情報としては、仮想世界の地図情報、キャラクターやオブジェクトの特性、イベント処理に関する情報、グラフィック情報などがゲーム用データとして含まれるとともに、これらのゲーム用データと、現実地図に含まれる地理的要素や建物、道路、鉄道等とを関連づけるためのマッピングデータも含まれる。
【0032】
認証部33は、通信インターフェース31を通じて、各スマートフォン1と通信セッションを確立させ、その確立された通信セッション毎に認証処理を行うモジュールである。この認証処理としては、アクセス者である利用者のスマートフォン1から認証情報を取得し、ユーザーデータベース35bを参照して、利用者等を特定し、それらの権限を認証する。この認証部33による認証結果(ユーザーID、認証時刻、セッションID等)は、ゲーム進行処理部36に送出されるとともに、ユーザーデータベース35bに認証履歴として蓄積される。
【0033】
位置情報管理部32は、利用者端末装置側で取得されてゲームサーバー3に送信される位置情報を取得するモジュールであり、位置情報管理部32は、認証部33による認証処理によって特定されたユーザーやユーザー端末装置の識別子(ユーザーID、端末ID等)と、それらの位置情報とを紐付けてユーザーデータベース35bに利用履歴として蓄積する。
【0034】
ゲーム進行処理部36は、仮想世界において、各ユーザーに対応する各キャラクター、及びモンスターやその他のオブジェクトが移動して、種々のイベント処理を発生させてゲームを進行させるモジュールであり、一定のルール・ロジック・アルゴリズムを含むゲームプログラムを実行し、キャラクターやオブジェクトの位置関係(接近・接触等)に応じて、対決バトルやミニゲーム、ムービーの再生等のイベント処理を発生させる。なお、ゲーム進行処理部36は、本実施形態では、スマートフォン1側のゲーム進行処理部141と協働するようになっており、ゲーム進行処理の一部をゲームサーバー3側で行い、グラフィック処理やイベント処理の一部をスマートフォン1側のゲーム進行処理部141で実行するようにしている。例えば、ゲームサーバー3側で、他のユーザーのキャラクターの位置や、オブジェクトの位置などに基づいて、発生し得るイベント処理を予測し、その発生条件をゲームサーバー3側で発生させ、その条件をスマートフォン1側に送信し、実際のイベント処理の発生やそのためのグラフィック処理は、ゲームサーバー3から受信した発生条件に基づいてスマートフォン1側で実行するようにしている。
【0035】
仮想地図情報管理部37は、ゲーム進行処理部36によるゲーム進行に従って、
図2に示すような、現実地図情報M1上の地理情報に対応した仮想地理情報上における他のユーザーのキャラクターや、オブジェクトO1〜O3等の座標情報を含む仮想地図情報M2の生成、蓄積及び配信を管理・制御するモジュールである。この仮想地図情報M2は、ゲームサーバー3側で生成する場合と、スマートフォン1側で生成する場合と、ゲームサーバー3とスマートフォン1の両者が協働して生成する場合とがあり、仮想地図情報管理部37は、ゲームサーバー3側で生成、或いは蓄積された仮想地図情報M2と、スマートフォン1側で生成、蓄積された仮想地図情報M2に関する情報を管理し、両者の仮想地図情報M2を比較し、必要に応じて仮想地図情報M2の全部又は一部をスマートフォン1側に配信して、両者の同期を図る。
【0036】
なお、ゲームサーバー3側で仮想地図情報M2を生成する場合、仮想地図情報管理部37は、現実地図データベース35aに蓄積された現実地図情報M1に含まれる地理的要素や建物、道路、鉄道等を取得するとともに、ゲーム用データベース35cに蓄積されたマッピングデータを参照し、現実地図情報M1に対応した仮想世界の地図情報、キャラクターやオブジェクトの特性(属性)、イベント処理に関する情報、グラフィック情報などに基づいて、仮想世界の地図情報を生成する。ここでは、現実地図情報M1上の建物B1〜B3に対応した座標位置(座標範囲)にオブジェクトO1〜O3が配置されている。
【0037】
ゲームデータ配信部34は、ユーザーの現在位置に基づき、仮想地図情報管理部37による制御に従って、仮想地図情報管理部37が生成した仮想地図情報M2を同期させるべく、地図情報や仮想世界のグラフィックを、通信インターフェース31を通じて,各ユーザーに配信するモジュールである。
【0038】
(2)スマートフォン1
次いで、スマートフォン1の内部構成について説明する。
図4に示すように、スマートフォン1は、通信インターフェース11と、入力インターフェース12と、出力インターフェース13と、アプリケーション実行部14と、メモリ15とを備えている。
【0039】
通信インターフェース11は、データ通信を行うための通信インターフェースであり、無線等による非接触通信や、ケーブル、アダプタ手段等により接触(有線)通信をする機能を備えている。入力インターフェース12は、マウス、キーボード、操作ボタンやタッチパネル12aなどユーザー操作を入力するデバイスである。また、出力インターフェース13は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース13には、液晶ディスプレイなどの表示部13aが含まれ、この表示部は、入力インターフェースであるタッチパネル12aに重畳されている。
【0040】
メモリ15は、OS(Operating System)やファームウェア、各種のアプリケーション用のプログラム、その他のデータ等などを記憶する記憶装置であり、このメモリ15内には、ユーザーを識別するユーザーIDの他、ゲームサーバー3からダウンロードしたゲームアプリケーションデータを蓄積するとともに、アプリケーション実行部14で処理されたゲームデータ等が蓄積される。特に、本実施形態では、メモリ15には、ゲームサーバー3から取得した、仮想地図情報M2及び現実地図情報M1が格納されている。
【0041】
アプリケーション実行部14は、一般のOSやゲームアプリケーション、ブラウザソフトなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。このアプリケーション実行部14では、本発明に係るゲームプログラムが実行されることで、ゲーム進行処理部141、同期処理部142、イベント規制部143、表示データ生成部146、表示制御部145,位置情報取得部144が仮想的に構築される。
【0042】
ゲーム進行処理部141は、ゲームサーバー3で実行されているゲームプログラムと同様のルール・ロジック・アルゴリズムにより、仮想世界において、各ユーザーに対応する各キャラクター、及びモンスターやその他のオブジェクトを移動させて、種々のイベント処理を発生させてゲームを進行させるモジュールであり、同期処理部142を通じて、ゲームサーバー3側のゲーム進行処理部36と同期しつつ、キャラクターやオブジェクトの位置関係(接近・接触等)に応じて、対決バトルやミニゲーム、ムービーの再生等のイベント処理を発生させる。
【0043】
また、ゲーム進行処理部141は、本実施形態では、ゲームサーバー3側のゲーム進行処理部141と協働するようになっており、ゲーム進行処理の一部をゲームサーバー3側で行い、グラフィック処理やイベント処理の一部をスマートフォン1側のゲーム進行処理部141で実行するようにしている。例えば、イベント発生の条件などをゲームサーバー3側で発生させ、その条件をスマートフォン1側に送信し、実際のイベント処理の発生やそのためのグラフィック処理は、スマートフォン1側で実行する。
【0044】
同期処理部142は、スマートフォン1側でのゲーム進行処理と、ゲームサーバー3側でのゲーム進行処理とを同期させるモジュールである。具体的には、ゲームサーバー3側で、他のユーザーのキャラクターの位置や、オブジェクトの位置などに基づいて、発生し得るイベント処理を予測し、その発生条件をゲームサーバー3側で発生させ、その条件をスマートフォン1側に送信し、この発生条件を同期処理部142で受信し、実際のイベント処理の発生やそのためのグラフィック処理は、ゲームサーバー3から受信した発生条件に基づいてスマートフォン1側のゲーム進行処理部141で実行する。このスマートフォン1側のゲーム進行処理部141で実行されたイベント処理の結果(バトルやミニゲームの勝敗や得点等)は、同期処理部142を通じてゲームサーバー3側のゲーム進行処理部141に通知され、その後のゲーム進行処理に反映される。
【0045】
また、イベント規制部143は、ゲーム進行処理部141が発生させたイベント処理と、位置情報取得部144が取得する自機の現在位置の移動速度とを監視し、現在位置の移動速度が所定値以上であり、且つゲーム進行処理部141が発生させたイベント処理が予め定められた保留対象イベントである場合に、当該保留対象イベントの処理を保留させるモジュールであり、ゲーム進行処理部141は、保留対象イベントを保留させた状態で、他のイベント処理を発生させてゲームを進行させることができるようになっている。同期処理部142は、イベント規制部143が保留したイベント処理についてゲームサーバー3側のゲーム進行処理部141に通知し、イベント処理の発生要件を満たしたイベント処理が保留状態になったままゲームを進行していることをゲームサーバー3側に報告する。
【0046】
位置情報取得部144は、現実世界における座標位置を選択して取得するモジュールであり、ユーザーの現在位置や他のユーザーの現在位置、人工衛星を利用した全地球測位システム (GPS:Global Positioning System)や、基地局からの電波強度及び基地局情報に基づく三角測位による基地局測位、WifiのSSID(Service SetID)及び電波状況と経度緯度を組み合わせたデータベースを利用したWifi測位等により取得する。
【0047】
また、この位置情報取得部144は、ユーザー操作やゲーム進行によるイベント発生に基づく任意の座標位置を選択して、位置情報を取得したり、移動速度を測定したりすることができる。また、位置情報取得部144は、任意のオブジェクトの座標位置を取得する機能も備えており、各データベース35a〜cを検索して、現在の座標位置、或いは仮想地図上の座標位置、またはこれらの変位履歴を取得することができる。
【0048】
特に、この任意のオブジェクトとしては、当該ユーザーの代理となるオブジェクトが代理オブジェクトとして現実地図情報上又は仮想地図情報上の任意の位置に設置された位置を各データベース35a〜cから検索して取得することができる。この代理オブジェクトは、ゲーム進行処理部36又は141によって、地図情報上の位置がゲーム進行に従って自動的に移動されるもので、特定のユーザーの現在位置と連動されたり、ゲーム進行に従って自動的に移動されたりする。
【0049】
本実施形態において位置情報取得部144は移動経路記録部144aを備えており、この移動経路記録部144aは、位置情報取得部144が取得した、ユーザーの現在位置や、他のユーザーの現在位置、任意のオブジェクトの座標位置など、各ユーザー又はオブジェクトの変位履歴に基づいて移動経路や移動速度を算出して記録するモジュールである。この移動経路記録部144aによる移動経路の算出は、例えば、サンプリングされた各位置を時系列順に、隣接する2点間を最短距離で接続して移動経路を決定したり、地理情報を参照して2点間における道順に沿って経路を決定したりすることができる。
【0050】
表示データ生成部146は、表示部13aに表示させるための表示データを生成するモジュールである。表示データは、グラフィックデータの他、画像データや、文字データ、動画データ、音声その他のデータを組み合わせて生成されるデータである。特に、本実施形態に係る表示データ生成部146は、位置情報取得部144が取得したユーザーの現在位置に基づいて、現実地図情報M1上にユーザーの現在位置を示した現実表示データを生成する現実表示データ生成部と、位置情報取得部144が取得した現在位置に基づいて、ユーザーの現在位置に対応した仮想地図情報M2上にキャラクターを表した仮想表示データを生成する仮想表示データ生成部の機能を果たしている。この表示データ生成部146で生成された表示データの表示処理は、表示制御部145で制御される。
【0051】
この表示データ生成部146は、仮想地図情報生成部146aを備えており、この仮想地図情報生成部146aは、ゲーム進行処理部141によるゲーム進行に従って、
図2に示すような、現実地図情報M1上の地理情報に対応した仮想地理情報上における他のユーザーのキャラクターや、オブジェクトO1〜O3等の座標情報を含む仮想地図情報M2を生成するモジュールである。仮想地図情報生成部146aは、メモリ15やネットワーク上の現実地図データベース35aに蓄積された現実地図情報M1に含まれる地理的要素や建物、道路、鉄道等を取得するとともに、メモリ15やゲーム用データベース35cに蓄積されたマッピングデータを参照し、現実地図情報M1に対応した仮想世界の地図情報、キャラクターやオブジェクトの特性、イベント処理に関する情報、グラフィック情報などに基づいて、仮想世界の地図情報を生成する。
図2に示した例では、現実地図情報M1上の建物B1〜B3に対応した座標位置(座標範囲)にオブジェクトO1〜O3が配置されている。
【0052】
なお、本実施形態では、仮想地図情報M2をスマートフォン1側の仮想地図情報生成部146aで生成するようにしたが、ゲームサーバー3の仮想地図情報管理部37で、予め、或いはリアルタイムに、現実地図情報M1上の地理情報に対応した仮想地図情報M2を生成し、ゲームデータ配信部34によって各スマートフォン1に配信して、同期をとるようにしてもよい。
【0053】
表示制御部145は、表示データ生成部146が生成した現実表示データと、仮想表示データとを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させて表示するとともに、軌跡表示部145aによる軌跡を合わせて表示させる制御をするモジュールであり、表示部13aは、この表示制御部145の制御に従って現実表示データと仮想表示データとを表示するとともに、軌跡表示部145aによる軌跡を合わせて表示させる。
【0054】
詳述すると、本実施形態における表示制御部145は、軌跡表示部145aを備えている。この軌跡表示部145aは、移動経路記録部144aが記録した当該ユーザーの移動経路や、他のユーザーの移動経路、任意のオブジェクト移動経路を、現実地図情報M1上又は仮想地図情報M2上に軌跡として表示させるモジュールである。この軌跡表示部145aによる軌跡の表示は、例えば、サンプリングされた各位置を時系列順に、隣接する2点間を最短距離で接続して決定された移動経路を一定の幅を持たせて着色したり、地理情報を参照して2点間における道順に沿って決定された経路を一定の幅を持たせて着色したりすることができる。さらに、この軌跡表示部145aによる軌跡の表示では、現実地図情報M1上又は仮想地図情報M2上において、各ユーザーやオブジェクトの移動経路に近接する区画又はオブジェクトを軌跡の一部として着色して表示させるようにしてもよい。
【0055】
この区画としては、実際の地理情報や仮想の地理情報に基づいて区画された行政区、街区、都道府県、市町村などのブロック単位で着色して表示させることもできる。このブロック単位での着色においても、隣接する2点間を最短距離で接続して決定された移動経路に接触するブロックを着色したり、地理情報を参照して2点間における道順に沿って決定された経路に接触するブロックを着色したりすることができる。
【0056】
(表示制御部による表示制御)
次いで、表示制御部による画面の表示制御について説明する。
図5〜
図9は本実施形態に係る表示制御の説明図である。
前記表示制御部145は、タッチパネル12aが取得した操作信号によって指定された座標位置又はこの座標位置の移動に応じて、現実表示データW1と仮想表示データW2の表示を変化させる。具体的に、本実施形態に係るゲームシステムでは、現実地図情報M1に基づいて構成された仮想地図情報M2によって、仮想世界が構築されており、
図7に示すように、スマートフォン1の表示部13aには仮想世界を3Dで表現した仮想表示データW2が表示される。この仮想表示データW2には、ユーザー自身を示すキャラクターC1が画面中央に表示され、その周辺にはモンスター等のオブジェクトO1〜O3などが徘徊しているように表示されている。これらオブジェクトO1〜O3は、
図2に示したように、現実地図情報M1上の建物B1〜B3に対応した座標位置(座標範囲)を徘徊するように配置されている。
【0057】
タッチパネル12aでは、指などでタップしたりスワイプしたりすることにより、カメラ視点を移動させたり、拡大・縮小したりすることができる。そして、所定のゼスチャー操作をタッチパネル12aに施すことにより、現実表示データW1と、仮想表示データW2とを、これら表示データの両方、選択されたいずれか、又は一方の一部分を他方に重畳させて表示することができるようになっている。具体的には、
図7に示したように、仮想表示データW2が表示された状態で、キャラクターC1を長押し(2秒程度)することによって、
図8に示すように、ユーザー自身の現在位置を示すキャラクターC1周辺の円形の範囲に現実表示データW1が部分的に重畳されて表示される。この重畳されて表示された部分的な現実表示データW1は、画面から指を放すことによって元の仮想表示データW2のみの表示に戻すことができる。また、この現実表示データW1としては、例えば、
図9に示すような衛星写真とすることもできる。
【0058】
さらに、本実施形態において表示制御部145は、ゲーム進行処理部141によるゲームの進行に応じて、現実表示データW1と仮想表示データW2の表示又はその表示動作を変化させる機能を備えている。例えば、
図10(a)及び(b)に示すように、ゲームの進行度合いに応じて、キャラクターC1周辺に現実表示データW1が部分的に重畳される円形範囲の半径rを変化させる。例えば、ユーザーが初心者で操作が不慣れである場合には、半径rを大きくし、ゲームが進行し難易度が上がるにつれて半径rが小さくなるなどの制御を行う。また、スマートフォン1が移動中であることを検出した場合には半径rが大きくなり、停止しているときには、半径rが小さくなるなどの制御を行ってもよい。
【0059】
また、仮想表示データW2と現実表示データW1との表示切替の操作例としては、
図11に示すように、画面の一端から他端に向けて、タッチした接触点を移動させるいわゆるスワイプ操作により、同図(a)から(c)に移行するように、ページが捲れるようなアニメーション効果を挿入して、仮想表示データW2と現実表示データW1とを切り替えるようにしてもよい。このとき、スワイプの方向を逆にすることにより、同図(c)から(a)に移行するようにして、元の仮想表示データW2に戻るようにしてもよい。
【0060】
このような画面制御により、本実施形態によれば、実世界と仮想世界の地図表示の切り替えを簡単な操作で行えるようにし、操作性を高めつつ、実世界と仮想世界の地図を部分的に重畳させることによってゲームとしての娯楽性を向上させることができる。
【0061】
(イベント保留処理)
次いで、イベント保留処理について説明する。本実施形態において、ゲーム進行処理部141は、例えば、現実地図情報M1上で所定の建物B1〜B3などに接近すると、その建物B1〜B3に対応した仮想地図情報M2の座標上に表されたモンスターなどの所定のオブジェクトO1〜O3に接近又は遭遇したとしてイベント処理を実行する。
【0062】
このオブジェクトO1〜O3とのイベント処理としては、それらのオブジェクトO1〜O3との対戦バトルやミニゲームなどが挙げられる。本実施形態では、いわゆる歩きスマホを防止すべく、イベント発生領域を通過中に、モンスターと遭遇しイベント処理が発生した場合に、そのイベント処理を保留し、ユーザーが一定の場所に留まったときや、自宅又は目的地に到着した際に、保留したイベントを改めて開始させることができるようになっている。例えば、
図11に例示するように、オブジェクトO1〜O3がモンスターなどの仮想生命体や、アイテムであるときに、それらモンスターやアイテムが出現するイベント発生領域を通過し、モンスターと遭遇した場合、保留イベントである対戦バトルが発生する。このとき、モンスターを一旦捕獲したこととしてそのイベント処理を保留し、その状態のまま、ユーザーの移動に伴うゲーム進行を続行させ、ユーザーが帰宅した際に、イベント処理を改めて開始し、そのモンスターとの対戦や、アイテムを用いたミニゲームなどを再開させるようになっている。
【0063】
このようなイベント保留処理について具体的に説明する。
図10は、イベント保留処理の動作を示すシーケンス図である。
【0064】
先ず、ゲーム進行に際し、周期的に各スマートフォン1において位置情報を取得してゲームサーバー3に送信する(S201及びS101)。ゲームサーバー3側では、この送信された各ユーザーの現在位置に従って、発生させるべきイベント処理を予測し(S102)、その発生条件をスマートフォン1側に送信する(S103)。
【0065】
詳述すると、ゲームサーバー3側で取得された各ユーザーの現在位置に基づいて、ゲームサーバー3のゲーム進行処理部36が、他のユーザーのキャラクターの位置や、実世界の建物に対応したモンスター等のオブジェクトの位置などに基づいて、発生し得るイベント処理を予測し、その発生条件をゲームサーバー3側で発生させ、その条件をスマートフォン1側に送信する。
【0066】
スマートフォン1側では、この発生条件を同期処理部142で受信し、その発生条件が満たされるタイミングを監視する(S202)。具体的には、スマートフォン1側においてイベント規制部143が、ゲーム進行処理部141から受信したイベント処理の発生条件と、位置情報取得部144が取得する自機の現在位置の移動速度とを監視し、ゲーム進行処理部141が発生させたイベント処理が予め定められた保留対象イベントであり(S204の「Y」)、且つユーザーの移動速度が所定値以上であり、移動している最中であると判断した場合(S205の「Y」)に、当該保留対象イベントの処理を保留させる(S206)。
【0067】
なお、発生条件を満たしたイベント処理が保留対象イベントでなく(S204の「N」)、或いはユーザーが移動していない場合には(S205の「N」)、通常通りそのイベント処理を実行する(S207)。このステップS208において、保留されたイベント処理がある場合には、そのイベント処理が再開される。そして、このスマートフォン1側のゲーム進行処理部141で実行されたイベント処理(或いは再開された保留イベント処理)の結果(バトルやミニゲームの勝敗や得点等)は、同期処理部142を通じてゲームサーバー3側のゲーム進行処理部141に通知され(S208)、ゲームサーバー3側で同期処理がなされ(S104)、その実行されたイベント処理の結果が。後のゲーム進行処理に反映される。
【0068】
一方、ステップS206でイベントを保留した場合、ゲーム進行処理部141は、保留対象イベントを保留させた状態で、他のイベント処理を発生させてゲームを進行させる(S105)。このとき、同期処理部142は、イベント規制部143が保留したイベント処理についてゲームサーバー3側のゲーム進行処理部141に通知し(S208)、イベント処理の発生要件を満たしたイベント処理が保留状態になったままゲームを進行していることをゲームサーバー3側に報告する。このイベント処理保留の報告を受けたゲームサーバー3側では、同期処理がなされ(S104)、そのイベント処理が保留された状態のまま、後のゲーム進行処理に反映される(S105)。
【0069】
以上の処理は、ゲームが終了されるまで繰り返され(S209の「N」)、ゲーム処理の操作がなされたときに(S209の「Y」)、ゲームが終了される。なお、スマートフォン1側でアプリケーションを終了しても、ゲームサーバー3側でゲームを継続することも可能であり、自動的にイベント処理を保留して、スマートフォン1側でアプリケーションを再開したときに、保留イベントを再開するようにしてもよい。
【0070】
このような、イベント保留機能によれば、ゲームとしての娯楽性を維持しつつ、移動中のイベント処理に対する複雑な操作や長時間の注視を防ぐことができ、歩きスマホの危険性を回避できる。
【0071】
(仮想表示データの生成処理)
上述した表示データ生成部146による仮想地図情報の生成処理について説明する。上述したように、表示データ生成部146は、ゲーム進行処理部36又は141によるゲーム進行に従って、現実地図情報上の地理情報に対応した仮想地図情報を生成し、仮想地図情報上における座標情報に基づいて、地図上に各オブジェクトを配置する。本実施形態では、現実地図情報から地図中の道路や河川、区画、その他の建物などの輪郭線を抽出して仮想地図情報のベースとなる地理情報を生成するとともに、この現実地図又は仮想地図中の地理情報を異なる縮尺で組み合わせて遠近感を再現した鳥瞰表示を行う。この仮想地図情報には、仮想現実世界の建物や構造物等のオブジェクトが配置されて立体的に表示される。
【0072】
以下に、各処理について説明する。
図23は、本実施形態に係る輪郭線抽出処理の手順を示すフローチャート図であり、
図24は、本実施形態に係る鳥瞰表示処理の手順を示すフローチャート図であり、
図25は、実施形態に係るオブジェクト配置処理の手順を示すフローチャート図である。
【0073】
(1)輪郭線抽出処理
先ず、
図12〜
図16及び
図23を参照しながら、現実地図情報から仮想地図情報に含まれる輪郭線の抽出処理の手順について説明する。なお、説明中、
図12は、本実施形態における輪郭線抽出処理に係る現実地図情報を示す説明図であり、この
図12に示した例では、現実地図情報M1中に、道路R1〜R4で囲まれたエリアB10が掲載されているものとする。
【0074】
図23に示すように、先ず、表示データ生成部146は、現実地図情報M1を取得する(S301)。この時点における現実地図情報M1は、現実世界における地理情報が既にビットマップ形式などによって地図画像となっている場合と、現実世界における地理情報が、座標や属性情報など、数値によってベクター状態或いはポリゴン状態で記述されている場合とがあり、画像化されている場合にはそのまま取得し、ベクター状態などの数値で表されている場合には、一旦ビットマップ化などにより地図画像に変換して取得する。
【0075】
次いで、現実地図情報M1の地図画像を画像中の色の境界をぼかしてグラデーション処理を施すことで(
図14)、現実地図情報に含まれる境界線を滲ませた輪郭生成用画像M11を生成する(S302)。この輪郭生成用画像M11では、画像中の道路R1〜R4とエリアB10との境界をぼかすことで、道路R1〜R4の黒色からエリアB10の白色へと、エリアB10a〜B10cからなる、色が段階的に薄くなっていくグラデーションが形成されている。このグラデーションの処理としては、例えば、
図13(a)〜(c)に示すように、現実地図情報の画像中の任意の指定画素El0を含む、その周囲8点の画素El1の色の加重平均を算出して、その加重平均の色に着色し、指定画素El0とその周辺をぼかす処理を行う。これにより、異なる色の境界では、指定画素の周辺が滲んだ色となり、これを全ての画素について順次行うことによって、段階的に色が薄くなる(濃くなる)グラデーションが描かれることとなる。
【0076】
次いで、
図15に示すように、輪郭生成用画像M11と、現実地図情報中の地理情報との差分から輪郭線抽出画像M12を生成する(S303)。具体的には、輪郭生成用画像M11では、色の境界線がぼかされて、元の地理情報(図示した例では、道路R1〜R4やエリアB10等)の色よりも薄い色によって縁取りがされた状態となっている。このため、現実地図情報中の元の地理情報のうち、所定の色の画素を差し引くことにより、ぼかされて縁取り部分となった画素のみを抽出して、輪郭線抽出画像M12を生成できる。ここでは、現実地図情報中の地理情報のうち、道路R1〜R4の色の画素と、及びエリアB10中のある程度、元のエリアB10の色に近似する色の部分であるエリアB10a+B10bの画素とを、輪郭生成用画像M11中から差し引くことにより、道路R1〜R4を縁取った輪郭が抽出された輪郭線抽出画像M12を生成している。
【0077】
そして、この輪郭線抽出画像M12に基づいて、
図18に示すような鳥瞰表示用の仮想表示データW2を生成し(S304)、地図上に木や建物などのオブジェクトOb10を配置して(S305)、
図16に示すような仮想表示データW2を生成する。この輪郭線抽出画像M12に基づくオブジェクトOb10の配置は、輪郭生成用画像M11中に描かれたグラデーションを利用して実行される。
【0078】
(2)鳥瞰表示処理
上述した仮想地図情報M2を表示する仮想表示データW2では、
図20に示すような鳥瞰表示により三次元的に地図の方向や俯角を変化させることができる。この鳥瞰表示では、遠近法により目線の近傍が大きくはっきりと表示され、遠方に行くにつれ小さく霞んでみえるように表示され、鳥瞰図表示の俯角によっては、地図の表示限界が地平線HLとして表示される。
【0079】
本実施形態では、この鳥瞰表示処理では、地図中央のユーザーの現在地周辺では、地図の縮尺を小さくして地理情報もより詳細に表示し、ユーザーから遠くなるにつれて、地図の縮尺を大きくし地理情報も省略して表示し、地図としての機能を担保しつつ、解像度を抑える事により処理を軽減させるとともに、遠近感をリアルに再現している。
図24にこの輪郭線抽出処理の手順を示す。
【0080】
先ず、
図24に示すように、異なる縮尺・サイズの輪郭線抽出画像を生成する(S401)。この異なる縮尺・サイズの輪郭線抽出画像の生成は、上述した輪郭線抽出処理を、異なる縮尺の現実地図情報について実行することにより実現できる。そして、表示データ生成部146は、
図21に示すように、所定の中心座標位置P0を中心として、縮尺の大きい(縮尺度の分母が小さい)詳細地
図M21を上位のレイヤーに配置する(S402)。ここでは、縮尺の小さい(縮尺度の分母が大きい)低解像度地
図M22,M23を下位のレイヤーに順次配置して仮想地図情報M2を生成している。結果的に、
図22に示すように、仮想地図情報M2を表示する仮想表示データW2では、大縮尺の詳細地
図M21の周囲に、詳細地
図M21よりも段階的に縮尺が小さく且つ面積が広くなる複数の低解像度地
図M22及びM23が同心状に配置される。
【0081】
次いで、表示データ生成部146は、詳細地
図M21と低解像度地
図M22との境界部分M22a、及び低解像度地
図M22と低解像度地
図M23の境界部分M23aにおいて、一方の画像が他方の画像へ徐々に移行するクロスフェード処理を施しつつ(S403)、各レイヤーを合成して鳥瞰表示用の仮想地図情報を生成する(S404)。このクロスフェード処理では、上位にある高解像度地図の周縁の道路や河川、区画線等の透明度を徐々に高くしていきこれらの線が徐々に薄くなるようにし、下位にある低解像度地図が徐々に濃くなるようにして、上位の地図に表示されていた詳細な道路等の線がその重要度に応じて境界部分で徐々に消失され、中心座標位置P0から離れるにつれて、下位の低解像度地図に自然に移行するようになっている。
【0082】
なお、上記ステップS401〜S404の処理は現実地図情報についても実行し、鳥瞰表示用の現実地図情報を生成する。そして、このようにして異なる縮尺の地図を合成して生成された鳥瞰表示用の仮想地図情報若しくは現実地図情報を3D変形するとともに、遠方を霞ませるなどの画像処理を施して(S405)、鳥瞰表示処理を終了する。この際、地図上に表示される各オブジェクトは、鳥瞰表示のカメラ位置や視線の角度・方向に応じて、立体変形されて表示される。
【0083】
(3)オブジェクト配置処理
上述したように、表示データ生成部146は、仮想地図情報M2上における座標上に、種々のオブジェクトを配置して表示する仮想表示データW2を生成する。基本的に、現実地図情報中の山や丘陵、河川、道路などの地形や、主立ったランドマークとなる建物の位置に対応させ、仮想的な背景オブジェクトOb10を配置する。さらに、本実施形態では、仮想地図情報の場面設定やゲーム進行に応じて、森の木々や、荒野の岩、草原の植物など、現実地図情報に詳細には含まれていないが、地図上の環境を表現したり、ゲームの演出上必要となる場合にも、背景オブジェクトOb10を自動的に仮想地図情報上に配置する。
図25にこのオブジェクトの自動配置処理の手順を示す。
【0084】
このオブジェクトの自動配置処理では、上述した輪郭線抽出処理で生成した輪郭生成用画像M11に含まれる、境界線を段階的に滲ませたグラデーションを利用する。上述したように、表示データ生成部146は、現実地図情報M1の地図画像中の色の境界をぼかすことで、現実地図情報に含まれる境界線を滲ませた輪郭生成用画像M11を生成している。この輪郭生成用画像M11は、
図17に示すように、画像中の道路R1〜R4とエリアB10との境界がぼかされることで、エリアB10a〜B10cのように、道路R1〜R4の黒色からエリアB10の白色へと、色が段階的に薄くなっていくグラデーション画像となっている。このグラデーションの処理としては、例えば、
図13(a)〜(c)に示すように、現実地図情報の画像中の任意の指定画素El0を含む、その周囲8点の画素El1の色の加重平均を算出して、その加重平均の色に着色し、指定画素El0とその周辺をぼかす処理を行う。
【0085】
そして、オブジェクト配置処理では、
図25に示すように、グラデーション画像である輪郭生成用画像M11を解析し(S501)、輪郭生成用画像M11に対し、表示データ生成部146が、この輪郭生成用画像M11中における所定濃度の領域をオブジェクト配置可能エリアとして抽出する(S502)。次いで、現実地図情報を参照して、各オブジェクト配置可能エリアの属性に応じて背景オブジェクトOb10を配置する(S504)。例えば、そのエリアの属性が森林や公園などの緑地であれば、背景オブジェクトOb10として樹木を配置したりする。
【0086】
なお、エリアの属性が不明であれば、ゲーム進行のストーリーに則して任意の背景オブジェクトを配置してもよい。これにより、
図18に示すように、輪郭生成用画像M11中における元のエリアB10の色と同じ色のエリアB10aにのみ、例えば、木などのオブジェクトOb10を自動的に配置することができる。この結果、複雑な演算処理を行うことなく、輪郭生成用画像M11中の所定濃度領域を検出するという簡単な処理で、エリアB10等の区画内の中央付近にのみオブジェクトを自動的に配置することができる。
【0087】
その後、背景以外のオブジェクト、例えば、キャラクターやゲーム進行上必要となるランドマークやキャラクターを配置する(S505)。なお、これらの背景以外のオブジェクトについては、そのオブジェクトの属性に応じて、オブジェクト配置可能エリア内に配置するようにしてもよく、オブジェクト配置可能エリアを無視して配置してもよい。
【0088】
(オブジェクト制御処理)
本実施形態では、ユーザーが移動したり、特定のオブジェクトが移動することによって、その移動経路を地図上に軌跡として記録及び表示する機能を備えている。また、記録・表示された軌跡は、ユーザー操作やゲーム進行に従い、拡張して空白部分を塗りつぶすことことができる。この軌跡表示は、例えば、地図上の地域を軌跡によって塗りつぶすことによってその地域を「浄化」や「緑化」、「占領」するなどといったコンセプトで、ゲーム進行上の意味を持たせることができる。例えば、「浄化」した範囲を拡げることにより、そのユーザーの得点としてゲーム上の有利性を獲得させるなどが挙げられる。また、敵対するユーザーがこの軌跡の上を通過した場合には、軌跡が上書きされ、「占領」した地域が他のユーザーの手に渡ってしまうなど、ゲームの多様性・娯楽性を向上させることができる。
【0089】
(1)軌跡表示処理
上記軌跡表示処理では、位置情報取得部144が、任意のオブジェクトの座標位置を取得して記録し、軌跡表示部145aによって、移動経路記録部144aが記録した当該ユーザーの移動経路や、他のユーザーの移動経路、任意のオブジェクト移動経路を、現実地図情報M1上又は仮想地図情報M2上に軌跡として表示させる。
【0090】
この軌跡表示部145aによる軌跡の表示は、例えば、
図26に示すように、ユーザー(スマートフォン1a)がA地点からB地点に移動する場合、サンプリングされた各位置を時系列順に、
図27(a)中に斜線で示したように、隣接する2点間を最短距離で接続して決定された移動経路を一定の幅を持たせて着色したり、地理情報を参照して、
図27(b)中に斜線で示したように、2点間における道順に沿って決定された経路を一定の幅を持たせて着色したりすることができる。さらに、この軌跡表示部145aによる軌跡の表示では、
図28に示すように、現実地図情報M1上又は仮想地図情報M2上において、各ユーザーやオブジェクトの移動経路に近接する区画又はオブジェクトを軌跡の一部として着色して表示させるようにしてもよい。
【0091】
この区画としては、実際の地理情報や仮想の地理情報に基づいて区画された行政区、街区、都道府県、市町村などのブロック単位で着色して表示させることもできる。このブロック単位での着色においても、
図28(a)中に斜線で示したように、隣接する2点間を最短距離で接続して決定された移動経路に接触するブロックを着色したり、
図28(b)中に斜線で示したように、地理情報を参照して2点間における道順に沿って決定された経路に接触するブロックを着色したりすることができる。
【0092】
(2)軌跡拡張処理
本実施形態では、軌跡により地図上が塗りつぶされていくが、地図上を隈無く移動することは不可能であり、地理的条件によっては行きたくても行けない場所もあることから、地図上に塗り残し部分が生じることとなる。ユーザー心理によれば、この塗り残しは解消したいという要請があり、本システムではこの要請に応えるべく軌跡拡張機能が用意されている。
【0093】
例えば、本システムでは、特別アイテムとして「ヌルボム」といったイベント処理が備えられており、このヌルボムアイテムを用いることによって、塗り残した領域を塗り潰すイベントを発生させることができる。具体的には、ゲーム進行処理部36又は141は、
図29に示すように、ユーザーが描いた軌跡R10によって現実地図情報M1上又は仮想地図情報M2上に閉じた形状(閉エリアCA)が形成された場合に、ゲーム進行に従ったユーザー操作に基づき、閉エリアCAを塗り潰して軌跡の一部として記録し、表示させる軌跡拡張処理イベントを実行する。
【0094】
本実施形態では、「ヌルボムを使用する」というユーザー操作によって実行されるコマンドにより軌跡拡張処理が実行される。ユーザーは、塗り潰したい対象閉エリアCAの近傍でこのヌルボムコマンドを実行する。ヌルボムアイテムは、塗りつぶし処理を爆弾による爆発効果に見立てたイベント実行権利であり、ユーザーの軌跡の累積距離による獲得したポイントや、購入したポイントなどで入手することができる。ヌルボムアイテムには、塗り潰せる面積や、射程距離、使用可能場所、使用可能期限等がパラメーターとして設定されている。ユーザーが複数のヌルボムアイテムを所有しているときには、ユーザー操作に基づいて任意のアイテムを選択して使用することができる。
【0095】
そして、このヌルボムコマンドでは、
図29(a)に示すような、コマンド実行時におけるユーザーの現在位置と、対象エリアの座標位置、ユーザーと対象エリアとの距離d、対象閉エリアの面積、場所、日時などに基づいて、選択されたヌルボムアイテムのパラメータを参照し、使用可能であれば、軌跡拡張処理イベントが実行される。本実施形態では、ヌルボムコマンドが実行されると、
図29(b)に示すような、キャラクターC1が、爆弾の図形で表示されたヌルボムアイテムI1を閉エリアCA内に投げ込むアニメーションが表示され、軌跡拡張処理イベントが成功したときには、
図29(c)に示すように、軌跡が拡張されて対象閉エリアが塗り潰される。この軌跡拡張処理の結果は、軌跡記録部0により経路記録が更新される。
【0096】
(3)代理オブジェクト処理
上述した任意のオブジェクトとしては、当該ユーザーの代理となるオブジェクトが含まれる。この代理オブジェクトは、ユーザーが実際に実世界を移動しなくても、代理オブジェクトが移動することによって、軌跡を増やすことができる。この代理オブジェクトは、例えば、ユーザーが自身の現在位置に設置したり、他のユーザーに貸し出したりすることで、自動的に移動する。
【0097】
この代理オブジェクトの移動は、ユーザー自身が移動した先で放すことで、単独で自由に移動し始め、任意の経路を通ってユーザーの現在位置や、ユーザーが自宅として設定した座標まで戻ってくるようにすることができる。詳述すると、この代理オブジェクトは、ゲーム進行処理部36又は141によって、地図情報上の位置がゲーム進行に従って自動的に移動されるもので、特定のユーザーの現在位置と連動されたり、ゲーム進行に従って自動的に移動されたりする。
【0098】
そして、この代理オブジェクトは、所有者であるユーザーに成り代わって移動経路の記録を実行できるようになっている。すなわち、代理オブジェクトについても、移動経路記録部144aは、位置情報取得部144が取得した、ユーザーの現在位置や、ユーザー操作或いはゲームサーバー3による制御などによる変位履歴に基づいて移動経路や移動速度を算出して記録する機能を備えている。この移動経路記録部144aによる移動経路の算出は、例えば、サンプリングされた各位置を時系列順に、隣接する2点間を最短距離で接続して移動経路を決定したり、地理情報を参照して2点間における道順に沿って経路を決定したりすることができる。
【0099】
(a)代理オブジェクトの単独行動イベント
先ず、この代理オブジェクトの単独行動イベントについて説明する。
図30は、本実施形態に係る代理オブジェクトの単独行動イベントの説明図であり、
図32は、代理オブジェクトの単独行動イベントの動作手順を示すフローチャート図である。ここでは、
図30に示すように、ユーザー10aが任意の移動先である地点Bにおいて代理オブジェクトAOを解放し、ゲームサーバー3の制御に基づいて移動させて、地点Aにいるユーザー10aの元へ戻ってくる場合を例に説明する。なお、
図30では、ユーザー10aがキャラクターC1として表示された状態を示している。
【0100】
ユーザー10aは、任意の移動先において、代理オブジェクトAOを解放する操作を、スマートフォン1aで実行する(S601)。ここでは、
図30(a)に示すように、ユーザー10aは、地点Aから経路R11を通って任意の移動先である地点Bに行き、
図30(b)に示すように、この地点Bにおいて、代理オブジェクトAOを解放する。この代理オブジェクトAOの解放により、スマートフォン1a上において代理オブジェクトAOの単独行動イベントが発生される。具体的には、位置情報取得部144が、ユーザー操作に基づいて、現実地図情報M1上又は仮想地図情報M2上の任意の位置に設置された代理オブジェクトAOを監視対象として選択し、ゲーム進行処理部36又は141が、代理オブジェクトAOの各地図情報上の座標位置をゲーム進行に従って自動的に移動させる単独行動イベントを発生させる。
【0101】
次いで、この単独行動イベントの発生により、ゲームサーバー3側に代理オブジェクト解放報告が送信される。この代理オブジェクト解放報告を受信したゲームサーバー3では、代理オブジェクトイベント発生を登録し(S701)、代理オブジェクトAOの移動制御を開始する(S702)。これにより、代理オブジェクトAOが単独で自動的に移動する。なお、ここでは、ユーザーは経路R12を通って地点Aに戻っており、往復の経路R11とR12により閉エリアCAが形成されているものとする。このゲームサーバー3による移動制御では、塗り残された閉エリアCAを探索しながら代理オブジェクトAOを移動させる。この代理オブジェクトAOの移動は変位履歴として記録され、位置情報の変位履歴としてスマートフォン1aに配信され(S703)、スマートフォン1aでは、代理オブジェクトAOの位置情報が更新され、地図上に経路として表示可能となる(S602)。
【0102】
その後、
図30(c)に示すように、代理オブジェクトAOがユーザーの元に帰還すると、ゲームサーバー3では、当該代理オブジェクトAOの移動制御の終了処理を実行し(S704)、代理オブジェクトイベントが終了した旨をスマートフォン1a側に報告する(S705)。この報告を受けてスマートフォン1a側では、代理オブジェクトイベントを終了させる(S603)。
【0103】
(b)代理オブジェクトの委託イベント
次いで、このような代理オブジェクトを、他のユーザーに託し、その他のユーザーの移動先で代理オブジェクトを放して貰う代理オブジェクトの委託イベントについて説明する。
図31は、本実施形態に係る代理オブジェクトの委託イベントを示す説明図であり、
図33は、代理オブジェクトの委託イベントの動作手順を示すフローチャート図である。ここでは、
図31に示すように、ユーザー10aがユーザー10bに自分の代理オブジェクトAOを託し、ユーザー10bが任意の移動先において代理オブジェクトAOを解放し、ゲームサーバー3の制御に基づいてユーザー10aの元へ戻ってくる場合を例に説明する。なお、
図31では、ユーザー10aがキャラクターC1として、ユーザー10bがキャラクターC2として表示された状態を示している。
【0104】
図33に示すように、ユーザー10aはユーザー10bに対して代理オブジェクトAOを委託する操作を、自分のスマートフォン1a上で実行する(S901)。ここでは、
図31(a)に示すように、地点Aにおいて、ユーザー10aからユーザー10bに対して代理オブジェクトAOを委託する。この委託操作を受けてユーザー10bのスマートフォン1bにおいて代理オブジェクトAOが受託される(S1001)。これにより、スマートフォン1a及びスマートフォン1b上において代理オブジェクトAOの委託イベントが発生される。
【0105】
具体的には、スマートフォン1a側の位置情報取得部144が、ユーザー操作に基づいて、現実世界におけるスマートフォン1bの現在位置を取得して、監視対象の座標位置として選択し、ゲーム進行処理部36又は141が、代理オブジェクトAOの地図情報上の位置をユーザー10bの現在位置に基づいて設定し、スマートフォン1bの移動、及びゲームサーバー3の制御に基づき、ゲーム進行に従って自動的に移動させる委託イベントを発生させる。
【0106】
この委託イベントの発生により、ゲームサーバー3側に代理オブジェクト委託報告又は受託報告が送信される(S902)。この報告は、委託した側であるスマートフォン1aから委託報告として送信してもよく、受託された側であるスマートフォン1bから受託報告として送信してもよく、スマートフォン1a及び1bの両方から委託及び受託を報告するようにしてもよい。これらの報告を受けたゲームサーバー3側では、代理オブジェクト委託イベントが発生した旨をデータベースに登録する(S801)。またこのとき、代理オブジェクト委託イベント発生の登録と併せて、スマートフォン1aとスマートフォン1bとの間では、初期処理として、代理オブジェクトAOの現在位置を設定すべく、代理オブジェクトAOの位置情報の同期を行う(S903)。
【0107】
その後、代理オブジェクトAOを受託したユーザー10bは、ユーザー10aとは別行動で任意の場所へ移動が可能となる。そして、代理オブジェクトAOを解放するまで、常時、ユーザー10bの移動先であるスマートフォン1bの現在位置をゲームサーバー3側に報告する(S1002、S1003における「N])。この間、ゲームサーバー3は、スマートフォン1bからの移動報告を受けて、データベース上の代理オブジェクトAOの位置情報を更新するとともに(S802)、その旨の通知をスマートフォン1a側に送信する(S803)。
【0108】
この移動報告の通知を受けて、スマートフォン1aでは、代理オブジェクトAOの位置情報を更新し、ゲームサーバー3側の情報と同期させる(S904)。これにより、代理オブジェクトAOの移動は変位履歴としてゲームサーバー3側で記録されるとともに、スマートフォン1a側でも、代理オブジェクトAOの現在位置及びその移動経路が地図上に表示可能となる。なお、このユーザー端末の移動報告は、スマートフォン1bからスマートフォン1aに直接送信し、スマートフォン1a及びスマートフォン1bとの間で同期を取るようにしてもよい。
【0109】
そして、ユーザー10bは任意の移動先において、代理オブジェクトAOを解放する操作をスマートフォン1bで実行すると、スマートフォン1b上において代理オブジェクトAOの単独行動イベントが発生され、ゲームサーバー3及びスマートフォン1aに代理オブジェクト解放報告が送信される(S1003における「Y]、S1004)。ここでは、
図31(b)に示すように、ユーザー10bは、地点Aから経路R14を通って任意の移動先である地点Bに行き、この地点Bにおいて、代理オブジェクトAOを解放する。代理オブジェクト解放報告を受信したスマートフォン1aでは、代理オブジェクトAOの単独行動イベント発生処理を実行し(S905)、スマートフォン1bから代理オブジェクトAOが独立して行動する旨のメッセージ等の表示と、代理オブジェクトAOが単独で移動している様子を表示可能とする処理を行う(S805)。
【0110】
一方、上記代理オブジェクト解放報告を受信したゲームサーバー3では、代理オブジェクトAOの単独行動イベント発生を登録し(S804)、代理オブジェクトAOの移動制御を開始する(S805)。これにより、代理オブジェクトAOが単独で自動的に移動することとなる。なお、ここでは、ユーザー10bは経路R15を通って別の地点に移動しているものとする。このゲームサーバー3による移動制御では、塗り残された閉エリアCAを探索しながら代理オブジェクトAOを移動させる。この代理オブジェクトAOの移動は変位履歴として記録されるとともに、位置情報の変位履歴としてスマートフォン1a及び1bに配信され(S806)、スマートフォン1a及び1bでは、代理オブジェクトAOの位置情報が更新され、地図上に経路として表示可能となる(S906及びS1005)。
【0111】
その後、
図30(c)に示すように、代理オブジェクトAOがユーザーの元に帰還すると、ゲームサーバー3では、当該代理オブジェクトAOの移動制御を終了処理を実行し(S808)、代理オブジェクトイベントが終了した旨をスマートフォン1a及び1b側に報告する(S809)。この報告を受けてスマートフォン1a及び1b側では、代理オブジェクトイベントを終了させる(S907)。
【0112】
(作用・効果)
以上説明したように、本実施形態によれば、仮想世界において、ユーザーに対応するキャラクター及びその他のオブジェクトが移動して、種々のイベント処理を実行させてゲームを進行させる際、実際に移動した軌跡を記録として残すとともに、その移動軌跡によって描かれる図形の記録方法や算出方法についても多様化を図ることができる。特に、軌跡拡張アイテムや代理オブジェクトを用いて、軌跡により描かれた図形を塗りつぶしたり、軌跡を増やしたりできるため、プレイヤーの要求に応えることができ、ゲーム性を向上させることができる。