ゲーム装置及びプログラム
【課題】予め定められたエリアごとのランキング情報を提供するシステムにおけるサーバの処理負荷を軽減する。
【解決手段】ゲーム装置は、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかをエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、を備える。
【解決手段】ゲーム装置は、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかをエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
ゲーム装置及びプログラムに関する。
【背景技術】
【0002】
ゲーム装置で実行されるゲームにおいては、ゲームの実行結果をスコアとして出力するものが多い。スコアが出力されることにより、より高いスコアを出したいという欲求をユーザに持たせることが可能となり、ゲームに飽きさせないようにすることができる。また、近年、各ユーザが自身のスコアに関する情報をネットワーク経由でサーバに登録することにより、複数のユーザにおけるランキング情報を提供するサービスが提供されることもある。
【0003】
例えば、特許文献1には、ゲーム端末から送信されるゲーム関連データを国ごとに管理し、国ごとのランキング情報を提供するためのシステムが開示されている。具体的には、サーバシステムでは、ゲーム端末から受信する利用区域識別情報と、ゲーム関連データに含まれるユーザの国籍とに基づいて国を判定し、判定された国のデータベースにゲーム関連データを登録することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−267858号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のように、特許文献1に開示されているシステムでは、国ごとにゲーム関連データを管理し、国ごとのランキング情報を提供することが可能であるが、ゲーム関連データをどの国のデータベースに登録すべきかを判定する処理はサーバで行われている。そのため、ユーザ数が増加するにつれてサーバの処理負荷が高くなってしまう。
【0006】
本発明はこのような事情に鑑みてなされたものであり、本発明の目的の一つは、予め定められたエリアごとのランキング情報を提供するシステムにおけるサーバの処理負荷を軽減することである。
【課題を解決するための手段】
【0007】
本発明の一側面にかかるゲーム装置は、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかをエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、を備える。
【0008】
また、ゲーム装置は、地図データを記憶する地図データ記憶部と、地図データに基づいて表示装置に地図を表示する地図表示部と、複数のエリアのうちの少なくとも1つのエリアを選択するエリア選択部と、選択されたエリアのランキング情報をサーバから取得するランキング取得部と、取得されたランキング情報に応じたアイコンを、地図上における選択されたエリアに表示するランキング表示部と、をさらに備えてもよい。
【0009】
さらに、エリア選択部は、エリア対応情報に基づいて、取得された位置情報に対応するエリアを選択することとしてもよい。
【0010】
また、エリア選択部は、所定の順序に従って複数のエリアのうちの2つ以上のエリアを順次選択し、ランキング取得部は、順次選択されるエリアのランキング情報をサーバから順次取得し、ランキング表示部は、順次取得されるランキング情報に応じたアイコンを、地図上における選択されたエリアに順次表示することとしてもよい。
【0011】
また、ランキング情報は、エリア内におけるトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とを含み、ランキング表示部は、アイコンの一方向における長さをトップスコアに応じた長さとし、アイコンの他の一方向における長さをユーザ数に応じた長さとすることとしてもよい。
【0012】
本発明の一側面に係るプログラムは、コンピュータを、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを、位置情報とエリアとの対応関係を示すエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、して機能させるためのものである。
【図面の簡単な説明】
【0013】
【図1】一実施形態に係るゲーム装置の前面外観例を示す平面図である。
【図2】図1に例示するゲーム装置の外観を示す背面外観例を示す平面図である。
【図3】図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。
【図4】図3に例示するメモリモジュールの内容の一例を示す図である。
【図5】複数のエリアが規定された地図の一例を示す図である。
【図6】エリア対応テーブルの構造の一例を示す図である。
【図7】図1及び図2に例示するゲーム装置の機能的構成を説明するブロック図である。
【図8】エリアごとのランキングボードの構造の一例を示す図である。
【図9】エリアの選択順序の一例を示す図である。
【図10】ランキング情報に応じたアイコンが表示された状態の一例を示す図である。
【図11】スコア登録処理の一例を示すフローチャートである。
【図12】ランキング取得処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施例を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0015】
(ゲーム装置の構成例)
図1は、一実施形態に係るゲーム装置の前面外観を示す平面図であり、図2は、同ゲーム装置の背面外観例を示す平面図である。図1及び図2に例示するゲーム装置100は、ハウジング110によりその外観を略規定されている。本例では、スーパーオーバル形状のハウジング110が採用され、ユーザが両手で把持しやすい程度の大きさにハウジング110が設計されている。なお、図1及び図2には図示していないが、ハウジング110の内部には、ゲーム装置100を統括的に制御する制御部の一例であるコンピューティングデバイス210が収納されている。
【0016】
ゲーム装置100は、ハウジング110の前面略中央部に配置されたタッチスクリーン220(タッチパネル)を備える。タッチスクリーン220は、例示的に、ディスプレイ(スクリーン)221上に透過性のタッチセンサ222を配した、表示及び入力機能を備える装置である。タッチスクリーン220の一例、マルチタッチに対応した有機ELディスプレイである。ただし、これに限定されない。
【0017】
ハウジング110の左右両端部には複数の操作ボタン260を配置してよい。当該操作ボタンの配置位置は、例えば、ユーザが両手でハウジング110を把持した場合に親指が当接する左右それぞれの位置に相当する。操作ボタン260の一例として、十字ボタン及び丸形ボタンがハウジング110の左右両側に配置されている。また、左右の操作ボタンセット近傍には、それぞれオーディオ出力ユニット230を配置してよい。
【0018】
ゲーム装置100は、外部記憶媒体にアクセスするための外部メディアユニット240(図3参照)を備えてよい。外部記憶媒体の一例は、メモリカードやUSB(Universal Serial Bus)メモリ等であり、ゲームプログラム及び各種のデータを記録することができる。該記憶媒体には、様々な規格の媒体を採用してよい。外部記憶媒体を着脱するため、ゲーム装置100のハウジング110には、外部記憶媒体の接続に適当な外部メディアスロットを設けてよい。
【0019】
また、ゲーム装置100は、ネットワーク通信を実現する通信ユニット250を備えてよい。ネットワーク通信の一例は、例えば、3GやWiFiといった無線通信規格に準拠した通信である。ただし、これらに限定されない。
【0020】
また、ゲーム装置100は、ゲーム装置の現在位置を示す位置情報を取得するためのGPS(Global Positioning System)ユニット255(図3参照)を備えてよい。
【0021】
さらに、ゲーム装置100は、図1に例示するように前面(内側)カメラ270を備えてよく、また、図2に例示するように背面(外側)カメラ290を備えてもよい。前面カメラ270は、例示的に、操作ボタンセットの一方(図1において右側)の近傍に設けられている。前面カメラ270は、ハウジング110前面を成す平面の法線方向を撮影(撮像)方向とし、当該撮影方向にある撮影対象(例えばプレイヤ自身)を撮影することができる。
【0022】
これに対し、背面カメラ290は、例示的に、図2においてハウジング110の縁部中央近傍に設けられている。背面カメラ290は、ハウジング110背面を成す平面の法線方向を撮影方向とし、当該撮影方向にある撮影対象を撮影することができる。
【0023】
なお、カメラ270及び290の一方又は双方は、撮影対象を平面的に撮影する2Dカメラでもよいし、撮影対象を立体的に撮影可能ないわゆる3D対応のカメラとしてもよい。
【0024】
次に、図3は、図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。図3に示すように、本実施形態のゲーム装置100は、例示的に、コンピューティングデバイス210、タッチスクリーン220、オーディオ出力ユニット230、外部メディアユニット240、通信ユニット250、操作ボタン260、前面カメラ270、加速度センサ280、及び、背面カメラ290を備える。
【0025】
コンピューティングデバイス210は、ゲーム装置100を統括的に制御する。
【0026】
タッチスクリーン220は、例えば、ゲームを表現あるいは演出するための画像(例えば、静止画、動画、映像等)を表示し、また、ユーザ(プレイヤ)のタッチ操作による入力を受け付ける。
【0027】
オーディオ出力ユニット230は、例えば、ゲームを表現あるいは演出するためのサウンド(例えば、音楽、音声、効果音等)を出力する。
【0028】
外部メディアユニット240は、外部記憶媒体に対するアクセスを可能にする。
【0029】
通信ユニット250は、サーバコンピュータや他のゲーム装置100とネットワーク通信を可能にする。
【0030】
GPSユニット255は、GPS衛星からの電波を受信することにより、ゲーム装置100の現在位置を示す位置情報を取得することができる。この位置情報は、緯度や経度、高度、水平誤差等の情報が含まれる。
【0031】
操作ボタン260は、タッチスクリーン220によるユーザ入力に代え、またはその入力を補完するために用いられる。
【0032】
コンピューティングデバイス210は、各種のプロセッサ及びメモリ等からなる、例えばチップセットを含むコンピュータ回路要素である。本実施形態のコンピューティングデバイス210は、例示的に、プロセッサコア211と、メモリモジュール212と、グラフィックスエンジン213と、サウンドエンジン214と、I/Oコントローラ215と、これらを接続するシステムバス216とを含む。また、コンピューティングデバイス210は、動画像を高速に処理するためのメディアエンジンを備えてもよい。
【0033】
プロセッサコア211は、コンピューティングデバイスのメインプロセッサとして機能するチップである。ここでは、「プロセッサコア」という用語は、メインプロセッサを意味するプロセッサやCPU、MPU等と同義のものとして扱うことができる。
【0034】
プロセッサコア211は、例えば、メモリモジュール212上に展開されたゲームプログラムを実行し、コンピューティングデバイス210に各種の機能を実現させる。言い換えれば、コンピューティングデバイス210は、プロセッサコア211の制御の下、ゲームプログラムを実行することにより、他のハードウェアユニット/コンポーネントと協働して、ゲーム装置100においてゲームを実現する。
【0035】
ゲームプログラムは、例えば、プロセッサコア211の制御の下で実現されるオペレーティングシステム(OS)の制御の下で、実行されてもよい。プロセッサコア211は、シングルコアでもよいしマルチコアでもよい。プロセッサコア211は、図示しない複数次のデータキャッシュを含んでよい。
【0036】
また、プロセッサコア211は、図示しない浮動小数点プロセッサ(FPU)やベクトル浮動小数点プロセッサ(VFPU)等を接続し、これらと協働して、ゲームプログラムを実行するように構成されてもよい。
【0037】
メモリモジュール212は、ゲームの実行に用いられる各種のプログラム及びデータを記憶する。図4に、メモリモジュール212の内容の一例を示す。
【0038】
メモリモジュール212は、例えば、DRAMに代表される揮発性メモリ、マスクROMに代表される書き換え不能な不揮発性メモリ、及びフラッシュメモリに代表される書き換え可能な不揮発性メモリのいずれか又はこれらの適宜の組み合わせで構成してよい。
【0039】
揮発性メモリは、例示的に、プロセッサコア211のメインメモリに供され、例えば、ゲームプログラム及びゲームデータの一部又は全部を必要に応じて記憶する。
【0040】
不揮発性メモリは、例えば、BIOSや、OSプログラム、デバイスドライバ、ゲーム装置100の制御に必要なシステムデータ、エリア対応テーブル(エリア対応情報)、カメラ270及び/又は290で撮影した画像データ等を記憶する。
【0041】
なお、不揮発性メモリは、マスクROMを採用することなく、その全てがフラッシュメモリで構成されてもよい。また、メモリモジュール212の全てをフラッシュメモリ等の書き換え可能な不揮発性メモリで構成してもよい。ゲーム装置100の外部メディアスロット外部記憶媒体もまた、メモリモジュール212の一部として供されてもよい。
【0042】
エリア対応テーブルは、位置情報とエリアとの対応関係を示すものである。位置情報は、GPSユニット255により取得されるものであり、前述の通り、緯度及び経度に関する情報を含んでいる。また、エリアとは、ゲームのスコアのランキング情報を管理する際の領域のくくりであり、地図上の領域を分割することにより規定されている。つまり、エリアごとにランキング情報が管理されることとなる。
【0043】
図5には、エリアの一例を説明するための図が示されている。図5に示すように、例えば、地図をグリッド状に分割することによりエリアを規定することができる。なお、各エリアの大きさは同一である必要はなく、図5に示すように大きさが異なっていてもよい。例えば、人口密度の高い地域についてはエリアの大きさを小さくし、人口密度の低い地域についてはエリアの大きさを大きくしてもよい。また、図5に示す例では、エリアの形状をグリッド状としたが、エリアの形状はグリッド状に限らず、任意の形状とすることができる。
【0044】
図6には、エリア対応テーブルの構造の一例が示されている。図6に示す例では、エリア対応テーブルは、緯度・経度、及びエリアID(Identification)を含んで構成されている。エリアIDは、各エリアを識別するための情報である。
【0045】
図4に戻り、スコアデータは、ゲーム装置100において実行されたゲームのスコアを示すものである。例えば、スコアデータとして、プレイヤがこれまでに取得した最も高いスコア(ハイスコア)が記憶されているようにすることができる。また、ゲーム装置100を複数のプレイヤが使用可能な場合であれば、プレイヤごとのハイスコアがスコアデータに含まれていてもよい。具体的には、スコアデータは、プレイヤIDとスコアとを対応づけたデータとすることができる。
【0046】
図3に戻り、グラフィックスエンジン213は、プロセッサコア211の制御の下、各種のグラフィックス処理を行なう。グラフィックスエンジン213は、例示的に、グラフィックコア2131及びグラフィックメモリ2132を含んでよい。
【0047】
グラフィックコア2131は、2D及び/又は3Dのコンピュータグラフィックス(CG)を生成、描画する機能を有するグラフィックプロセッサの一例であり、ビデオディスプレイプロセッサ(VDP)やグラフィックプロセッシングユニット(GPU)と称されることもある。
【0048】
グラフィックコア2131は、グラフィックメモリ2132に記憶されるグラフィックデータを読み出して、各種のグラフィック処理(例えば、ジオメトリ処理、レンダリング処理、テクスチャマッピング処理等)を行なって、画像データを生成することができる。
例示的に、グラフィックコア2131は、ポリゴンのジオメトリ(座標)を計算するジオメトリプロセッサと、ジオメトリ計算されたポリゴンをラスタライズ/レンダリング(描画)するレンダリングプロセッサとを含んでよい。また、グラフィックコア2131は、描画された画像をタッチスクリーン220等に出力するため、ビデオエンコーダやHDMI(High-Definition Multimedia Interface)等を備えていてもよい。
【0049】
ジオメトリプロセッサは、例えば、ポリゴンの2次元又は3次元のゲーム空間での座標について、行列の回転や拡大等を実施して、アフィン変換等を行ない、ポリゴンの座標を求める。また、ジオメトリプロセッサは、ポリゴンの分割やスプライン補完等のテッセレーションを行なう、「ジオメトリシェーダ」(又はバーテックスシェーダ)を備えてもよい。
【0050】
レンダリングプロセッサは、例えば、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリに描画する。各種効果の一例としては、プログラマブル・シェーダ等を用いて、光点・影(シェーディング)計算、明暗の表現、半透明、ぶれ、霧、ぼかし、HDR(ハイダイナミックレンジ合成)等の計算が挙げられる。
【0051】
ポリゴンの種類の一例としては、点ポリゴン(ポイント)、線ポリゴン(ラインリスト)、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等が挙げられる。加えて、レンダリングプロセッサがレイ・トレーシング等を用いて描画を行なう際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
【0052】
なお、以上のグラフィックコア2131による画像処理の一部又は全部は、プロセッサコア211で処理するようにしてもよい。グラフィックコア2131によって生成された画像データは、ビデオエンコーダ等のビデオインターフェース回路によって所定のビデオ信号に変換され、タッチスクリーン220に出力される。
【0053】
サウンドエンジン214は、プロセッサコア211の制御の下、サウンドメモリ(図示せず)に記憶されるサウンドデータに対して、適宜、各種のサウンド処理(例えば、エフェクト処理、ミキシング処理等)を施す。サウンドエンジン214は、音楽や音声や効果音を出力するためのPCM(Wave)音源等を備えたデジタルシグナルプロセッサ(DSP)等でもよく、また、物理演算音源、FM音源等の計算を行ない、残響や反射等の各種音声効果を計算することもできる。サウンドエンジン214によって処理されたサウンドデータは、図示しないサウンドインターフェース回路によって所定のオーディオ信号に変換され、オーディオ出力ユニット230に出力される。なお、サウンドエンジン214は、図示しないマイクから入力された音声の認識等をサポートしてもよい。
【0054】
I/Oコントローラ215は、外部の様々なユニットとの入出力を制御するインターフェース回路の一例である。I/Oコントローラ215には、タッチセンサ222、操作ボタン260、外部メディアユニット240、及び通信ユニット250を接続することができる。I/Oコントローラ215は、接続された各種のユニットから与えられる外部信号をコンピューティングデバイス210内の内部データに変換し、また、内部データを各種のユニットに適した外部信号に変換する。
【0055】
タッチスクリーン220は、ユーザインターフェースデバイスの一例であり、ディスプレイ(スクリーン)221及び当該ディスプレイ221のサイズに略一致するように形成された透過性のタッチセンサ222を含んでよい。タッチスクリーン220は、コンピューティングデバイス210の制御の下、ゲーム画像を表示して、ユーザによるインタラクティブなタッチ操作を受け付けることができる。
【0056】
ディスプレイ221は、グラフィックスエンジン213からのビデオ信号に基づいて、画像(例えば、静止画、動画、映像等)をディスプレイ221上に表示する。ディスプレイ221は、2D表示に対応するものでもよいし3D表示に対応するものでもよい。
【0057】
タッチセンサ222は、ユーザによるタッチ操作に応じた操作信号を出力する。ユーザのタッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。タッチセンサ222は、例えば、静電容量タイプのものを採用することができるが、これに限定されない。
【0058】
タッチセンサ222から出力された操作信号は、コンピューティングデバイス210に入力される。コンピューティングデバイス210は、タッチセンサ222からの操作信号を検出すると、ゲームに対する操作として解釈し、これに応じた処理が実行される。
【0059】
例えば、コンピューティングデバイス210は、タッチセンサ222からの操作信号に基づいて、ディスプレイ221上の位置情報を算出し、ゲーム画像及び時間情報と相まって、操作アクションを決定するために用いられる。本実施形態のゲーム装置100は、複数の指(又はスタイラス)によるマルチタッチ操作を受け付けることができる。
【0060】
オーディオ出力ユニット230は、オーディオ出力デバイスの一例であり、ゲームの進行状況に合わせて、ユーザにゲーム音を提供する。オーディオ出力ユニット230は、サウンドエンジン214からのオーディオ信号に基づいて、音(例えば、音声、音楽、効果音等)を発生させる。
【0061】
外部メディアユニット240は、メディアインターフェースデバイスの一例であり、コンピューティングデバイス210が外部記憶媒体にアクセスすることを可能にする。外部記憶媒体は、既述のメモリカードやUSBメモリの他、ハードディスクドライブ(HDD)、フラッシュメモリ、SRAM(Static Random Access Memory)、磁気テープ装置、光ディスク装置等であってもよい。外部記憶媒体には、ゲームの実行に用いられるゲームプログラム、パラメータ等の各種データを記憶することができる。コンピュータの一例であるゲーム装置100は、外部記憶媒体からゲームプログラム等を読み取ってメモリモジュール212に転送し格納して用いる。
【0062】
ゲームプログラム等は、コンピュータ読取可能な記録媒体に記録された形態で提供することができる。記録媒体には、例えば、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blue-ray Disk)、ROMカートリッジ、バッテリバックアップ付きRAMカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれてよい。また、ゲームプログラム等は、通信ユニット250により通信ネットワーク経由でゲーム装置100に提供してもよい。
【0063】
なお、「コンピュータ」とは、例えば、ハードウェアとオペレーティングシステム(OS)とを含む概念であり、OSの制御の下で動作するハードウェアを意味することがある。また、OSが不要でプログラム単独でハードウェアを動作可能な場合には、そのハードウェアがコンピュータに相当するとみることができる。ハードウェアは、CPU等の演算装置と、記録媒体に記録されたプログラムを読み取り可能な読み取り装置とを含むことができる。
【0064】
ゲームプログラム等は、上述のようなコンピュータに、ゲーム装置100としての機能を実現させるプログラムコードを含んでいる。その機能の一部はプログラムではなくOSによって実現されてもよい。
【0065】
通信ユニット250は、通信ネットワークを通じてゲーム装置100が他のゲーム装置やコンピュータと通信することを可能にする。通信ネットワークは、無線ネットワークでも有線ネットワークでもよい。通信ネットワークの一例としては、無線LANや、3G、WiMax(登録商標)、Bluetooth(登録商標)、c.Link(登録商標)、HDMI(登録商標)、有線LAN、電話線、携帯電話網、PHS網、電灯線ネットワーク、IEEE1394等に準拠したネットワークが挙げられる。
【0066】
通信ユニット250を介して、ゲーム装置100は、他のゲーム装置100やサーバ300(図7参照)と適宜に通信することができる。これにより、例えば、通信可能に接続されている他のゲーム装置のプレイヤとの対戦ゲーム(対戦などの競争を行なうゲーム。以下、同じ。)や、共同ゲーム(協力して課題を解決するゲーム。以下、同じ。)の実施が可能になる。また、複数のゲーム装置100が通信可能に接続されることで、サーバを介して、ゲームのスコアの集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行なったり、ランキングを集計したりすることも可能になる。
【0067】
GPSユニット255は、ゲーム装置100の現在位置を示す位置情報を取得する。具体的には、GPSユニット255は、GPS衛星から受信する電波に乗せられた時刻情報に基づいて現在位置を計算することができる。取得された位置情報は、例えば、ゲームのスコアをサーバ300に登録したり、サーバ300からランキング情報を取得するために用いることができる。
【0068】
操作ボタン260は、例示的に、複数のボタン(キー)で構成されるが、これに限定されない。図1の例では、十字ボタン及び丸形ボタンからなる、左右それぞれの操作ボタンセットが設けられている。
【0069】
加速度センサ280は、ゲーム装置100(ハウジング110)に与えられた加速度を検出する。検出された加速度は、後述するようにゲームマップ(あるいはゲームフィールド)に配置されるコースの難易度を変化させるために用いることができる。
【0070】
次に、本実施形態のゲーム装置100によってユーザに提供されるゲームについて、簡単に説明する。かかるゲームは、ゲーム装置100が、コンピューティングデバイス210の制御の下、ゲームプログラムを実行することにより、実現される。
【0071】
ゲーム装置100が提供するゲームは、例示的に、プレイヤが操作ボタン260やタッチスクリーン220を通じてプレイヤキャラクタ(キャラクタオブジェクト)の移動や行動を制御することで、プレイヤキャラクタが通路(コース)等のパターンが配置されたゲームマップ内でスタート地点からゴール地点まで進んでゆくようなゲームである。ディスプレイ221に表示されるゲーム画面は、例示的に、仮想3次元空間を表現したゲーム画像である。プレイ中、仮想カメラの視線方向及び視野領域が制御され、当該制御に応じて、仮想3次元空間を表現するゲーム画像が変化する。
【0072】
プレイヤは、独自のゲームマップを作成することができる。当該ゲームマップは、例示的に、ゲーム装置100のカメラ270及び/又は290で撮影した画像から作成することができる。なお、ゲーム装置100のユーザ(ゲーム装置100を用いてゲームマップを作成するユーザ)と作成されたゲームマップでゲームをプレイするプレイヤとは、同じである場合もあるし異なる場合もある。
【0073】
(ゲーム装置100の機能的構成例)
次に、図7に、本実施形態のゲーム装置100の機能的構成例を示す。図7に示すように、ゲーム装置100は、スコア記憶部500、位置情報取得部502、エリア対応情報記憶部504、エリア決定部506、スコア送信部508、地図データ記憶部510、地図表示部512、エリア選択部514、ランキング取得部516、ランキング記憶部518、及びランキング表示部520を含んで構成されている。ここで、図7に示す各部は、例えば、メモリモジュール212を用いたり、コンピューティングデバイス210のプロセッサ(プロセッサコア211)がメモリモジュール212に記憶されているプログラムを実行したりすることにより実現することができる。
【0074】
また、図7に示すように、サーバ300は、エリアごとのランキング情報を管理するための情報処理装置であり、ランキング情報記憶部600、スコア登録部602、及びランキング出力部604を含んで構成されている。なお、サーバ300は、1台の情報処理装置ではなく、複数台の情報処理装置を用いて構成されていてもよい。
【0075】
スコア記憶部500は、図4に示したスコアデータを記憶するものであり、前述したように、プレイヤがゲームを実行して取得したハイスコアを記憶している。
【0076】
位置情報取得部502は、GPSユニット255を用いることにより、ゲーム装置100の現在位置を示す位置情報を取得する。
【0077】
エリア対応情報記憶部504は、図4に示したエリア対応テーブルを記憶するものである。エリア対応テーブルでは、前述したように位置情報(緯度・経度)とエリアとの対応関係が規定されている。
【0078】
エリア決定部506は、位置情報取得部502によって取得された位置情報(緯度・経度)によって示される現在位置が、複数のエリアのうちのどのエリアに含まれるかを、エリア対応情報記憶部504に記憶されているエリア対応テーブルに基づいて決定する。具体的には、エリア決定部504は、エリア対応テーブルを参照し、取得された緯度・経度と対応付けられているエリアIDを取得する。
【0079】
スコア送信部508は、スコア記憶部500に記憶されているスコアを、エリア決定部506によって決定されたエリアのランキング情報に登録するための要求(スコア登録要求)をサーバ300に送信する。ここで、ランキング情報記憶部600は、図7に例示するように、エリアごとにランキング情報を管理する構成となっている。本実施形態では、エリアごとに管理されたランキング情報のことを「ランキングボード」とも称する。
【0080】
スコア登録要求には、スコアの他に、エリアID、プレイヤIDが含まれる。ここで、エリアIDは、エリア決定部506によって決定されたものである。また、プレイヤIDは、例えば、メモリモジュール212に予め1つのプレイヤIDが記憶されていることとしてもよいし、スコアと対応付けてスコア記憶部500に記憶されていることとしてもよい。
【0081】
なお、スコア送信部508は、スコア、エリアID、プレイヤIDを同時にサーバ300に送信してもよいし、これらを別々のタイミングでサーバ300に送信してもよい。例えば、サーバ300にアクセスする際にユーザ認証が行われる場合であれば、スコア送信部508は、ユーザ認証時にプレイヤIDを送信することができる。また例えば、各エリアのランキングボードが、物理的または仮想的に異なる情報処理装置により構成されている場合であれば、スコア送信部508は、対象のエリアのランキングボードに対応する情報処理装置へのアクセス要求を生成する際にエリアIDを用いることができる。
【0082】
サーバ300のスコア登録部602は、スコア送信部508からスコア登録要求を受信すると、図8に例示するように、スコア登録要求で指定されるエリアIDに対応するランキングボードに、スコア登録要求に含まれるスコア及びプレイヤIDを登録する。このとき、スコア登録部602は、エリア内で登録されているスコアのランキング(順位)を更新する。なお、各エリアのランキングボードに登録されるスコアは、上位から所定数(例えば100人)のプレイヤ分とすることができる。
【0083】
地図データ記憶部510は、ディスプレイ221に地図を表示するための地図データを記憶している。地図データには、地図の描画に用いられる画像データの他に、地図上の各領域の緯度・経度を示すデータが含まれている。
【0084】
地図表示部512は、地図データ記憶部510に記憶されている地図データを参照し、ディスプレイ221に地図を表示することができる。例えば、地図表示部512は、位置情報取得部502によって取得される位置情報に基づいて、現在位置を中心とする所定の縮尺の地図を表示することができる。また、地図表示部512は、ユーザ操作に応じて、地図をスクロールしたり、縮尺を変更したりすることができる。
【0085】
エリア選択部514は、ランキング情報を取得するエリアを選択する。つまり、エリア選択部514は、どのランキングボードからランキング情報を取得するかを選択する。例えば、エリア選択部514は、位置情報取得部502よって取得された位置情報及びエリア対応テーブルに基づいて、現在位置が含まれるエリアのエリアIDを取得することができる。また、エリア選択部514は、地図上でユーザによって指定された位置の緯度・経度に対応するエリアIDをエリア対応テーブルから取得することができる。また、エリア選択部514は、ディスプレイ221に表示されている地図がスクロールされると、地図の中央の位置の緯度・経度に対応するエリアIDをエリア対応テーブルから取得することができる。
【0086】
また、エリア選択部514は、エリア対応テーブルに基づいて、所定の順序で複数のエリアを順次選択することができる。ディスプレイ221に表示されている地図上のエリアが図9に示すように規定されている場合を一例として説明する。ここで、図9において表示されている「1」〜「3」の数字は、エリアの選択順序を示している。エリア選択部514は、まず、例えば、現在位置を含むエリア(1番のエリア)を最初に選択することができる。続いて、エリア選択部514は、例えば、当該エリアから距離が近い順に他のエリアを順次選択していくことができる。
【0087】
なお、エリアを選択する順序は現在位置を含むエリアからの距離に応じた順序に限られない。例えば、ディスプレイ221に表示されている地図の中央からの距離に応じた順序であってもよいし、地図上においてユーザによって選択された位置からの距離に応じた順序であってもよい。また、例えば、エリアID順にエリアが選択されることとしてもよい。
【0088】
ランキング取得部516は、エリア選択部514によって選択されたエリアのランキング情報を取得するための要求(ランキング取得要求)をサーバ300に送信し、該エリアのランキング情報を取得する。ランキング取得要求には、選択されたエリアのエリアIDが含まれる。
【0089】
サーバ300のランキング出力部604は、ランキング取得部516からランキング取得要求を受信すると、該要求に含まれるエリアIDに対応するランキングボードを参照し、該エリアIDによって示されるエリアのランキング情報を出力する。ここで、ランキング出力部604が出力するランキング情報は、ランキングボードに含まれる全ての情報でなくてもよい。例えば、ランキング出力部604は、エリア内のトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とをランキング情報として出力することができる。なお、ランキング出力部604は、ランキング取得部516からの追加要求に応じて、ランキングボードに含まれるその他の情報をランキング情報として出力することも可能である。
【0090】
ランキング記憶部518は、ランキング取得部516によって取得されたランキング情報を記憶する。具体的には、ランキング記憶部518は、エリアIDとランキング情報とを対応づけて記憶することができる。
【0091】
ランキング表示部520は、ランキング記憶部518を参照することにより、ランキング取得部516によって取得されたランキング情報に応じたアイコンを、地図上における対象エリアに表示する。図10に示すように、ランキング表示部520は、例えば、現在位置を含むエリアのランキング情報に応じたアイコン700を、地図上において現在位置を含むエリアに表示することができる。また、ランキング表示部520は、ランキング情報が取得されているその他のエリアについても同様に、ランキング情報に応じたアイコンを表示することができる。アイコンを表示する際に、ランキング表示部520は、例えば、アイコンの一方向における長さをトップスコアに応じた長さとし、アイコンの他の一方向における長さをユーザ数に応じた長さとすることができる。図10の例では、アイコン700は山状の三角形で示されており、三角形の高さがトップスコアに応じた長さとなっており、三角形の底辺がユーザ数に応じた長さとなっている。
【0092】
なお、図10では、アイコンは一部のエリアにしか表示されていないが、ランキング表示部520は、ランキング取得部516によって順次選択されるランキング情報に基づいて、アイコンが表示されるエリアを拡大していくことができる。また、アイコンの形状は三角形に限られず、各エリアのランキング情報を把握することが可能な形状であれば任意の形状を採用することができる。
【0093】
(ゲーム装置100の動作例)
以下、上述のごとく構成されたゲーム装置100(コンピューティングデバイス210)の動作例について説明する。
【0094】
図11は、スコアをサーバ300に登録する処理の一例を示すフローチャートである。まず、スコア送信部508は、スコアの登録を指示するユーザ操作を受け付け、位置情報取得部502を起動する(S101)。位置情報取得部502は、現在位置の位置情報を取得する(S102)。位置情報が取得されると、エリア決定部506は、位置情報に含まれる緯度・経度に基づいて、現在位置が含まれるエリアを決定する(S103)。具体的には、エリア決定部506は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、位置情報に含まれる緯度・経度に対応するエリアIDを取得する。エリアが決定されると、スコア送信部508は、決定されたエリアのランキングボードにスコアを登録するためのスコア登録要求をサーバ300に送信する(S104)。これにより、サーバ300において、決定されたエリアのランキングボードにスコアが登録される。
【0095】
なお、スコア送信部508は、サーバ300にスコア登録要求を送信した後に、スコアの登録結果を示す情報をサーバ300のスコア登録部602から受信することとしてもよい。例えば、スコア送信部508は、決定されたエリア内におけるプレイヤの順位を示す情報をスコア登録部602から受信することとしてもよい。
【0096】
図12は、サーバ300からランキング情報を取得する処理の一例を示すフローチャートである。地図表示部512は、地図データ記憶部510に記憶されている地図データを参照し、ディスプレイ221に地図を表示する(S201)。例えば、地図表示部512は、位置情報取得部502によって取得される位置情報に基づいて、現在位置を中心とする地図を初期表示することができる。また、地図表示部512は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、例えば図5に示したように、地図上にエリアの境界線を表示することができる。
【0097】
エリア決定部506は、表示された地図上において、ランキング情報の取得対象とするエリアを選択する(S202)。例えば、エリア決定部506は、位置情報取得部502によって取得される位置情報に基づいて、現在位置が含まれるエリアを選択することができる。具体的には、エリア決定部506は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、現在位置の緯度・経度に対応するエリアIDを取得することができる。
【0098】
エリアが選択されると、ランキング取得部516は、選択されたエリアのランキング情報を取得するためのランキング取得要求をサーバ300に送信する(S203)。そして、ランキング取得部517は、該ランキング取得要求に応じてサーバ300のランキング出力部604から送信されてくるランキング情報を受信し、エリアIDと対応づけてランキング記憶部518に格納する(S204)。
【0099】
ランキング表示部520は、ランキング記憶部518を参照し、ディスプレイ221に表示されている地図上の選択されたエリアに、ランキング情報に応じたアイコンを表示する(S205)。具体的には、ランキング表示部520は、例えば図10に示したように、ランキング情報に基づいて、底辺がトップスコアに応じた長さであり、高さがユーザ数に応じた長さである三角形のアイコンを、地図上の選択されたエリアに表示することができる。
【0100】
続いて、エリア決定部506は、ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在しているかどうか確認する(S206)。ここで、ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在しない場合には(S206:NO)、ランキング情報の取得処理は終了する。なお、地図のスクロールや縮尺の変更が行われた場合には、地図の表示(S201)から処理が再度実行されることとなる。
【0101】
ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在する場合(S206:YES)、エリア決定部506は、所定の順序に従って未選択のエリアを選択する(S202)。例えば、エリア決定部506は、図9に示したように、最初に選択されたエリアから距離の近い順にエリアを選択することができる。そして、選択されるエリアについて、ランキング情報の取得(S203、S204)と、アイコンの表示(S205)が実行される。これにより、ディスプレイ221に表示されている地図上においてエリアが順次選択され、地図上にアイコンが順次表示されていくこととなる。
【0102】
以上、本発明の一実施形態について説明した。本実施形態では、ゲーム装置100のエリア決定部506が、位置情報及びエリア対応テーブルに基づいて、現在位置が含まれるエリアを決定する。そして、スコア送信部506は、該決定されたエリアにスコアを登録するためのスコア登録要求をサーバ300に送信する。したがって、サーバ300のスコア登録部602では、スコア登録要求で指定されるエリアのランキングボードにスコアを登録するだけでよい。すなわち、スコア登録部602は、例えば、ゲーム装置100から送信される利用区域識別情報や国籍情報等に基づいて、どのランキングボードにスコアを登録するかの判定を行う必要がない。これにより、予め定められたエリアごとのランキング情報を提供するシステムにおけるサーバ300の処理負荷を軽減することが可能となる。
【0103】
なお、本実施形態では、GPS機能を用いているため、他の位置特定機能と比較して精度の高い位置情報を取得することができる。これにより、ランキング情報を管理するエリアを細かい範囲で設定することが可能となる。
【0104】
また、本実施形態では、地図上において選択されたエリアのランキング情報に応じたアイコンを、地図上における選択されたエリアに表示することができる。これにより、ユーザは、選択された任意のエリアにおけるランキングの状況を容易に把握することが可能となる。例えば、ユーザは、選択されたエリアにおけるランキング情報に応じたアイコンを見ることにより、当該エリアにおけるトップスコアや、スコアを登録しているユーザ数を知ることができる。これにより、ユーザに対して、例えば、自身のスコアで上位にランクインすることが可能なエリアのランキングボードにスコアを登録する動機を与えることができる。
【0105】
また、本実施形態では、エリア選択部514は、現在位置が含まれるエリアを、ランキング情報を取得する対象のエリアとして選択することができる。したがって、ユーザの現在位置付近におけるランキング情報を知ることができる。
【0106】
また、本実施形態では、エリア選択部514は、所定の順序に従って複数のエリアを順次選択することができる。また、ランキング取得部516は、順次選択されるエリアのランキング情報をサーバ300から順次取得することができる。そして、ランキング表示部520は、順次取得されるランキング情報に応じたアイコンを、地図上における選択されたエリアに順次表示することができる。これにより、図9及び図10に示したように、例えば、現在位置を含むエリアからの距離に応じた順序でランキング情報が取得され、ランキング情報に応じたアイコンを順次表示していくことができる。
【0107】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
【0108】
例えば、本実施形態では、エリア決定部506は、スコアがサーバ300に送信される際に、現在位置が含まれるエリアを決定することとしたが、エリアの決定タイミングはこれに限られない。例えば、エリア決定部506は、ゲーム装置100においてスコアが取得された際に、位置情報取得部502によって取得される位置情報と、エリア対応情報記憶部504に記憶されているエリア対応テーブルとに基づいて、エリアを決定することとしてもよい。この場合、エリア決定部506は、スコア記憶部500に、決定されたエリアのエリアIDをスコアと対応づけて記憶しておくことができる。そして、スコア送信部512は、スコアの登録を指示するユーザ操作に応じて、スコア記憶部500に記憶されているスコアを、該スコアと対応付けられたエリアIDによって示されるエリアのランキングボードに登録するためのスコア登録要求をサーバ300に送信することとしてもよい。
【0109】
また、本実施形態は、コンピュータゲーム装置のほか、携帯電話、スマートフォン、タブレット型コンピュータ等のインテリジェントデバイスで実行されるゲームプログラムに広く適用することができる。
【符号の説明】
【0110】
100…ゲーム装置、110…ハウジング、210…コンピューティングデバイス、211…プロセッサコア、212…メモリモジュール、213…グラフィックスエンジン、2131…グラフィックコア、2132…グラフィックメモリ、214…サウンドエンジン、215…I/Oコントローラ、216…システムバス、220…タッチスクリーン、221…ディスプレイ、222…タッチセンサ、230…オーディオ出力ユニット、240…外部メディアユニット、250…通信ユニット、260…操作ボタン、270…前面(内側)カメラ、280…加速度センサ、290…背面(外側)カメラ、300…サーバ、500…スコア記憶部、502…位置情報取得部、504…エリア対応情報記憶部、506…エリア決定部、508…スコア送信部、510…地図データ記憶部、512…地図表示部、514…エリア選択部、516…ランキング取得部、518…ランキング記憶部、520…ランキング表示部、600…ランキング情報記憶部、602…スコア登録部、604…ランキング出力部
【技術分野】
【0001】
ゲーム装置及びプログラムに関する。
【背景技術】
【0002】
ゲーム装置で実行されるゲームにおいては、ゲームの実行結果をスコアとして出力するものが多い。スコアが出力されることにより、より高いスコアを出したいという欲求をユーザに持たせることが可能となり、ゲームに飽きさせないようにすることができる。また、近年、各ユーザが自身のスコアに関する情報をネットワーク経由でサーバに登録することにより、複数のユーザにおけるランキング情報を提供するサービスが提供されることもある。
【0003】
例えば、特許文献1には、ゲーム端末から送信されるゲーム関連データを国ごとに管理し、国ごとのランキング情報を提供するためのシステムが開示されている。具体的には、サーバシステムでは、ゲーム端末から受信する利用区域識別情報と、ゲーム関連データに含まれるユーザの国籍とに基づいて国を判定し、判定された国のデータベースにゲーム関連データを登録することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−267858号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のように、特許文献1に開示されているシステムでは、国ごとにゲーム関連データを管理し、国ごとのランキング情報を提供することが可能であるが、ゲーム関連データをどの国のデータベースに登録すべきかを判定する処理はサーバで行われている。そのため、ユーザ数が増加するにつれてサーバの処理負荷が高くなってしまう。
【0006】
本発明はこのような事情に鑑みてなされたものであり、本発明の目的の一つは、予め定められたエリアごとのランキング情報を提供するシステムにおけるサーバの処理負荷を軽減することである。
【課題を解決するための手段】
【0007】
本発明の一側面にかかるゲーム装置は、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかをエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、を備える。
【0008】
また、ゲーム装置は、地図データを記憶する地図データ記憶部と、地図データに基づいて表示装置に地図を表示する地図表示部と、複数のエリアのうちの少なくとも1つのエリアを選択するエリア選択部と、選択されたエリアのランキング情報をサーバから取得するランキング取得部と、取得されたランキング情報に応じたアイコンを、地図上における選択されたエリアに表示するランキング表示部と、をさらに備えてもよい。
【0009】
さらに、エリア選択部は、エリア対応情報に基づいて、取得された位置情報に対応するエリアを選択することとしてもよい。
【0010】
また、エリア選択部は、所定の順序に従って複数のエリアのうちの2つ以上のエリアを順次選択し、ランキング取得部は、順次選択されるエリアのランキング情報をサーバから順次取得し、ランキング表示部は、順次取得されるランキング情報に応じたアイコンを、地図上における選択されたエリアに順次表示することとしてもよい。
【0011】
また、ランキング情報は、エリア内におけるトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とを含み、ランキング表示部は、アイコンの一方向における長さをトップスコアに応じた長さとし、アイコンの他の一方向における長さをユーザ数に応じた長さとすることとしてもよい。
【0012】
本発明の一側面に係るプログラムは、コンピュータを、ゲームのスコアを記憶するスコア記憶部と、現在位置の位置情報を取得する位置情報取得部と、位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを、位置情報とエリアとの対応関係を示すエリア対応情報に基づいて決定するエリア決定部と、エリアごとにスコアのランキング情報を管理するサーバに対して、スコア記憶部に記憶されているスコアを決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、して機能させるためのものである。
【図面の簡単な説明】
【0013】
【図1】一実施形態に係るゲーム装置の前面外観例を示す平面図である。
【図2】図1に例示するゲーム装置の外観を示す背面外観例を示す平面図である。
【図3】図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。
【図4】図3に例示するメモリモジュールの内容の一例を示す図である。
【図5】複数のエリアが規定された地図の一例を示す図である。
【図6】エリア対応テーブルの構造の一例を示す図である。
【図7】図1及び図2に例示するゲーム装置の機能的構成を説明するブロック図である。
【図8】エリアごとのランキングボードの構造の一例を示す図である。
【図9】エリアの選択順序の一例を示す図である。
【図10】ランキング情報に応じたアイコンが表示された状態の一例を示す図である。
【図11】スコア登録処理の一例を示すフローチャートである。
【図12】ランキング取得処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施例を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0015】
(ゲーム装置の構成例)
図1は、一実施形態に係るゲーム装置の前面外観を示す平面図であり、図2は、同ゲーム装置の背面外観例を示す平面図である。図1及び図2に例示するゲーム装置100は、ハウジング110によりその外観を略規定されている。本例では、スーパーオーバル形状のハウジング110が採用され、ユーザが両手で把持しやすい程度の大きさにハウジング110が設計されている。なお、図1及び図2には図示していないが、ハウジング110の内部には、ゲーム装置100を統括的に制御する制御部の一例であるコンピューティングデバイス210が収納されている。
【0016】
ゲーム装置100は、ハウジング110の前面略中央部に配置されたタッチスクリーン220(タッチパネル)を備える。タッチスクリーン220は、例示的に、ディスプレイ(スクリーン)221上に透過性のタッチセンサ222を配した、表示及び入力機能を備える装置である。タッチスクリーン220の一例、マルチタッチに対応した有機ELディスプレイである。ただし、これに限定されない。
【0017】
ハウジング110の左右両端部には複数の操作ボタン260を配置してよい。当該操作ボタンの配置位置は、例えば、ユーザが両手でハウジング110を把持した場合に親指が当接する左右それぞれの位置に相当する。操作ボタン260の一例として、十字ボタン及び丸形ボタンがハウジング110の左右両側に配置されている。また、左右の操作ボタンセット近傍には、それぞれオーディオ出力ユニット230を配置してよい。
【0018】
ゲーム装置100は、外部記憶媒体にアクセスするための外部メディアユニット240(図3参照)を備えてよい。外部記憶媒体の一例は、メモリカードやUSB(Universal Serial Bus)メモリ等であり、ゲームプログラム及び各種のデータを記録することができる。該記憶媒体には、様々な規格の媒体を採用してよい。外部記憶媒体を着脱するため、ゲーム装置100のハウジング110には、外部記憶媒体の接続に適当な外部メディアスロットを設けてよい。
【0019】
また、ゲーム装置100は、ネットワーク通信を実現する通信ユニット250を備えてよい。ネットワーク通信の一例は、例えば、3GやWiFiといった無線通信規格に準拠した通信である。ただし、これらに限定されない。
【0020】
また、ゲーム装置100は、ゲーム装置の現在位置を示す位置情報を取得するためのGPS(Global Positioning System)ユニット255(図3参照)を備えてよい。
【0021】
さらに、ゲーム装置100は、図1に例示するように前面(内側)カメラ270を備えてよく、また、図2に例示するように背面(外側)カメラ290を備えてもよい。前面カメラ270は、例示的に、操作ボタンセットの一方(図1において右側)の近傍に設けられている。前面カメラ270は、ハウジング110前面を成す平面の法線方向を撮影(撮像)方向とし、当該撮影方向にある撮影対象(例えばプレイヤ自身)を撮影することができる。
【0022】
これに対し、背面カメラ290は、例示的に、図2においてハウジング110の縁部中央近傍に設けられている。背面カメラ290は、ハウジング110背面を成す平面の法線方向を撮影方向とし、当該撮影方向にある撮影対象を撮影することができる。
【0023】
なお、カメラ270及び290の一方又は双方は、撮影対象を平面的に撮影する2Dカメラでもよいし、撮影対象を立体的に撮影可能ないわゆる3D対応のカメラとしてもよい。
【0024】
次に、図3は、図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。図3に示すように、本実施形態のゲーム装置100は、例示的に、コンピューティングデバイス210、タッチスクリーン220、オーディオ出力ユニット230、外部メディアユニット240、通信ユニット250、操作ボタン260、前面カメラ270、加速度センサ280、及び、背面カメラ290を備える。
【0025】
コンピューティングデバイス210は、ゲーム装置100を統括的に制御する。
【0026】
タッチスクリーン220は、例えば、ゲームを表現あるいは演出するための画像(例えば、静止画、動画、映像等)を表示し、また、ユーザ(プレイヤ)のタッチ操作による入力を受け付ける。
【0027】
オーディオ出力ユニット230は、例えば、ゲームを表現あるいは演出するためのサウンド(例えば、音楽、音声、効果音等)を出力する。
【0028】
外部メディアユニット240は、外部記憶媒体に対するアクセスを可能にする。
【0029】
通信ユニット250は、サーバコンピュータや他のゲーム装置100とネットワーク通信を可能にする。
【0030】
GPSユニット255は、GPS衛星からの電波を受信することにより、ゲーム装置100の現在位置を示す位置情報を取得することができる。この位置情報は、緯度や経度、高度、水平誤差等の情報が含まれる。
【0031】
操作ボタン260は、タッチスクリーン220によるユーザ入力に代え、またはその入力を補完するために用いられる。
【0032】
コンピューティングデバイス210は、各種のプロセッサ及びメモリ等からなる、例えばチップセットを含むコンピュータ回路要素である。本実施形態のコンピューティングデバイス210は、例示的に、プロセッサコア211と、メモリモジュール212と、グラフィックスエンジン213と、サウンドエンジン214と、I/Oコントローラ215と、これらを接続するシステムバス216とを含む。また、コンピューティングデバイス210は、動画像を高速に処理するためのメディアエンジンを備えてもよい。
【0033】
プロセッサコア211は、コンピューティングデバイスのメインプロセッサとして機能するチップである。ここでは、「プロセッサコア」という用語は、メインプロセッサを意味するプロセッサやCPU、MPU等と同義のものとして扱うことができる。
【0034】
プロセッサコア211は、例えば、メモリモジュール212上に展開されたゲームプログラムを実行し、コンピューティングデバイス210に各種の機能を実現させる。言い換えれば、コンピューティングデバイス210は、プロセッサコア211の制御の下、ゲームプログラムを実行することにより、他のハードウェアユニット/コンポーネントと協働して、ゲーム装置100においてゲームを実現する。
【0035】
ゲームプログラムは、例えば、プロセッサコア211の制御の下で実現されるオペレーティングシステム(OS)の制御の下で、実行されてもよい。プロセッサコア211は、シングルコアでもよいしマルチコアでもよい。プロセッサコア211は、図示しない複数次のデータキャッシュを含んでよい。
【0036】
また、プロセッサコア211は、図示しない浮動小数点プロセッサ(FPU)やベクトル浮動小数点プロセッサ(VFPU)等を接続し、これらと協働して、ゲームプログラムを実行するように構成されてもよい。
【0037】
メモリモジュール212は、ゲームの実行に用いられる各種のプログラム及びデータを記憶する。図4に、メモリモジュール212の内容の一例を示す。
【0038】
メモリモジュール212は、例えば、DRAMに代表される揮発性メモリ、マスクROMに代表される書き換え不能な不揮発性メモリ、及びフラッシュメモリに代表される書き換え可能な不揮発性メモリのいずれか又はこれらの適宜の組み合わせで構成してよい。
【0039】
揮発性メモリは、例示的に、プロセッサコア211のメインメモリに供され、例えば、ゲームプログラム及びゲームデータの一部又は全部を必要に応じて記憶する。
【0040】
不揮発性メモリは、例えば、BIOSや、OSプログラム、デバイスドライバ、ゲーム装置100の制御に必要なシステムデータ、エリア対応テーブル(エリア対応情報)、カメラ270及び/又は290で撮影した画像データ等を記憶する。
【0041】
なお、不揮発性メモリは、マスクROMを採用することなく、その全てがフラッシュメモリで構成されてもよい。また、メモリモジュール212の全てをフラッシュメモリ等の書き換え可能な不揮発性メモリで構成してもよい。ゲーム装置100の外部メディアスロット外部記憶媒体もまた、メモリモジュール212の一部として供されてもよい。
【0042】
エリア対応テーブルは、位置情報とエリアとの対応関係を示すものである。位置情報は、GPSユニット255により取得されるものであり、前述の通り、緯度及び経度に関する情報を含んでいる。また、エリアとは、ゲームのスコアのランキング情報を管理する際の領域のくくりであり、地図上の領域を分割することにより規定されている。つまり、エリアごとにランキング情報が管理されることとなる。
【0043】
図5には、エリアの一例を説明するための図が示されている。図5に示すように、例えば、地図をグリッド状に分割することによりエリアを規定することができる。なお、各エリアの大きさは同一である必要はなく、図5に示すように大きさが異なっていてもよい。例えば、人口密度の高い地域についてはエリアの大きさを小さくし、人口密度の低い地域についてはエリアの大きさを大きくしてもよい。また、図5に示す例では、エリアの形状をグリッド状としたが、エリアの形状はグリッド状に限らず、任意の形状とすることができる。
【0044】
図6には、エリア対応テーブルの構造の一例が示されている。図6に示す例では、エリア対応テーブルは、緯度・経度、及びエリアID(Identification)を含んで構成されている。エリアIDは、各エリアを識別するための情報である。
【0045】
図4に戻り、スコアデータは、ゲーム装置100において実行されたゲームのスコアを示すものである。例えば、スコアデータとして、プレイヤがこれまでに取得した最も高いスコア(ハイスコア)が記憶されているようにすることができる。また、ゲーム装置100を複数のプレイヤが使用可能な場合であれば、プレイヤごとのハイスコアがスコアデータに含まれていてもよい。具体的には、スコアデータは、プレイヤIDとスコアとを対応づけたデータとすることができる。
【0046】
図3に戻り、グラフィックスエンジン213は、プロセッサコア211の制御の下、各種のグラフィックス処理を行なう。グラフィックスエンジン213は、例示的に、グラフィックコア2131及びグラフィックメモリ2132を含んでよい。
【0047】
グラフィックコア2131は、2D及び/又は3Dのコンピュータグラフィックス(CG)を生成、描画する機能を有するグラフィックプロセッサの一例であり、ビデオディスプレイプロセッサ(VDP)やグラフィックプロセッシングユニット(GPU)と称されることもある。
【0048】
グラフィックコア2131は、グラフィックメモリ2132に記憶されるグラフィックデータを読み出して、各種のグラフィック処理(例えば、ジオメトリ処理、レンダリング処理、テクスチャマッピング処理等)を行なって、画像データを生成することができる。
例示的に、グラフィックコア2131は、ポリゴンのジオメトリ(座標)を計算するジオメトリプロセッサと、ジオメトリ計算されたポリゴンをラスタライズ/レンダリング(描画)するレンダリングプロセッサとを含んでよい。また、グラフィックコア2131は、描画された画像をタッチスクリーン220等に出力するため、ビデオエンコーダやHDMI(High-Definition Multimedia Interface)等を備えていてもよい。
【0049】
ジオメトリプロセッサは、例えば、ポリゴンの2次元又は3次元のゲーム空間での座標について、行列の回転や拡大等を実施して、アフィン変換等を行ない、ポリゴンの座標を求める。また、ジオメトリプロセッサは、ポリゴンの分割やスプライン補完等のテッセレーションを行なう、「ジオメトリシェーダ」(又はバーテックスシェーダ)を備えてもよい。
【0050】
レンダリングプロセッサは、例えば、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリに描画する。各種効果の一例としては、プログラマブル・シェーダ等を用いて、光点・影(シェーディング)計算、明暗の表現、半透明、ぶれ、霧、ぼかし、HDR(ハイダイナミックレンジ合成)等の計算が挙げられる。
【0051】
ポリゴンの種類の一例としては、点ポリゴン(ポイント)、線ポリゴン(ラインリスト)、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等が挙げられる。加えて、レンダリングプロセッサがレイ・トレーシング等を用いて描画を行なう際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
【0052】
なお、以上のグラフィックコア2131による画像処理の一部又は全部は、プロセッサコア211で処理するようにしてもよい。グラフィックコア2131によって生成された画像データは、ビデオエンコーダ等のビデオインターフェース回路によって所定のビデオ信号に変換され、タッチスクリーン220に出力される。
【0053】
サウンドエンジン214は、プロセッサコア211の制御の下、サウンドメモリ(図示せず)に記憶されるサウンドデータに対して、適宜、各種のサウンド処理(例えば、エフェクト処理、ミキシング処理等)を施す。サウンドエンジン214は、音楽や音声や効果音を出力するためのPCM(Wave)音源等を備えたデジタルシグナルプロセッサ(DSP)等でもよく、また、物理演算音源、FM音源等の計算を行ない、残響や反射等の各種音声効果を計算することもできる。サウンドエンジン214によって処理されたサウンドデータは、図示しないサウンドインターフェース回路によって所定のオーディオ信号に変換され、オーディオ出力ユニット230に出力される。なお、サウンドエンジン214は、図示しないマイクから入力された音声の認識等をサポートしてもよい。
【0054】
I/Oコントローラ215は、外部の様々なユニットとの入出力を制御するインターフェース回路の一例である。I/Oコントローラ215には、タッチセンサ222、操作ボタン260、外部メディアユニット240、及び通信ユニット250を接続することができる。I/Oコントローラ215は、接続された各種のユニットから与えられる外部信号をコンピューティングデバイス210内の内部データに変換し、また、内部データを各種のユニットに適した外部信号に変換する。
【0055】
タッチスクリーン220は、ユーザインターフェースデバイスの一例であり、ディスプレイ(スクリーン)221及び当該ディスプレイ221のサイズに略一致するように形成された透過性のタッチセンサ222を含んでよい。タッチスクリーン220は、コンピューティングデバイス210の制御の下、ゲーム画像を表示して、ユーザによるインタラクティブなタッチ操作を受け付けることができる。
【0056】
ディスプレイ221は、グラフィックスエンジン213からのビデオ信号に基づいて、画像(例えば、静止画、動画、映像等)をディスプレイ221上に表示する。ディスプレイ221は、2D表示に対応するものでもよいし3D表示に対応するものでもよい。
【0057】
タッチセンサ222は、ユーザによるタッチ操作に応じた操作信号を出力する。ユーザのタッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。タッチセンサ222は、例えば、静電容量タイプのものを採用することができるが、これに限定されない。
【0058】
タッチセンサ222から出力された操作信号は、コンピューティングデバイス210に入力される。コンピューティングデバイス210は、タッチセンサ222からの操作信号を検出すると、ゲームに対する操作として解釈し、これに応じた処理が実行される。
【0059】
例えば、コンピューティングデバイス210は、タッチセンサ222からの操作信号に基づいて、ディスプレイ221上の位置情報を算出し、ゲーム画像及び時間情報と相まって、操作アクションを決定するために用いられる。本実施形態のゲーム装置100は、複数の指(又はスタイラス)によるマルチタッチ操作を受け付けることができる。
【0060】
オーディオ出力ユニット230は、オーディオ出力デバイスの一例であり、ゲームの進行状況に合わせて、ユーザにゲーム音を提供する。オーディオ出力ユニット230は、サウンドエンジン214からのオーディオ信号に基づいて、音(例えば、音声、音楽、効果音等)を発生させる。
【0061】
外部メディアユニット240は、メディアインターフェースデバイスの一例であり、コンピューティングデバイス210が外部記憶媒体にアクセスすることを可能にする。外部記憶媒体は、既述のメモリカードやUSBメモリの他、ハードディスクドライブ(HDD)、フラッシュメモリ、SRAM(Static Random Access Memory)、磁気テープ装置、光ディスク装置等であってもよい。外部記憶媒体には、ゲームの実行に用いられるゲームプログラム、パラメータ等の各種データを記憶することができる。コンピュータの一例であるゲーム装置100は、外部記憶媒体からゲームプログラム等を読み取ってメモリモジュール212に転送し格納して用いる。
【0062】
ゲームプログラム等は、コンピュータ読取可能な記録媒体に記録された形態で提供することができる。記録媒体には、例えば、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blue-ray Disk)、ROMカートリッジ、バッテリバックアップ付きRAMカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれてよい。また、ゲームプログラム等は、通信ユニット250により通信ネットワーク経由でゲーム装置100に提供してもよい。
【0063】
なお、「コンピュータ」とは、例えば、ハードウェアとオペレーティングシステム(OS)とを含む概念であり、OSの制御の下で動作するハードウェアを意味することがある。また、OSが不要でプログラム単独でハードウェアを動作可能な場合には、そのハードウェアがコンピュータに相当するとみることができる。ハードウェアは、CPU等の演算装置と、記録媒体に記録されたプログラムを読み取り可能な読み取り装置とを含むことができる。
【0064】
ゲームプログラム等は、上述のようなコンピュータに、ゲーム装置100としての機能を実現させるプログラムコードを含んでいる。その機能の一部はプログラムではなくOSによって実現されてもよい。
【0065】
通信ユニット250は、通信ネットワークを通じてゲーム装置100が他のゲーム装置やコンピュータと通信することを可能にする。通信ネットワークは、無線ネットワークでも有線ネットワークでもよい。通信ネットワークの一例としては、無線LANや、3G、WiMax(登録商標)、Bluetooth(登録商標)、c.Link(登録商標)、HDMI(登録商標)、有線LAN、電話線、携帯電話網、PHS網、電灯線ネットワーク、IEEE1394等に準拠したネットワークが挙げられる。
【0066】
通信ユニット250を介して、ゲーム装置100は、他のゲーム装置100やサーバ300(図7参照)と適宜に通信することができる。これにより、例えば、通信可能に接続されている他のゲーム装置のプレイヤとの対戦ゲーム(対戦などの競争を行なうゲーム。以下、同じ。)や、共同ゲーム(協力して課題を解決するゲーム。以下、同じ。)の実施が可能になる。また、複数のゲーム装置100が通信可能に接続されることで、サーバを介して、ゲームのスコアの集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行なったり、ランキングを集計したりすることも可能になる。
【0067】
GPSユニット255は、ゲーム装置100の現在位置を示す位置情報を取得する。具体的には、GPSユニット255は、GPS衛星から受信する電波に乗せられた時刻情報に基づいて現在位置を計算することができる。取得された位置情報は、例えば、ゲームのスコアをサーバ300に登録したり、サーバ300からランキング情報を取得するために用いることができる。
【0068】
操作ボタン260は、例示的に、複数のボタン(キー)で構成されるが、これに限定されない。図1の例では、十字ボタン及び丸形ボタンからなる、左右それぞれの操作ボタンセットが設けられている。
【0069】
加速度センサ280は、ゲーム装置100(ハウジング110)に与えられた加速度を検出する。検出された加速度は、後述するようにゲームマップ(あるいはゲームフィールド)に配置されるコースの難易度を変化させるために用いることができる。
【0070】
次に、本実施形態のゲーム装置100によってユーザに提供されるゲームについて、簡単に説明する。かかるゲームは、ゲーム装置100が、コンピューティングデバイス210の制御の下、ゲームプログラムを実行することにより、実現される。
【0071】
ゲーム装置100が提供するゲームは、例示的に、プレイヤが操作ボタン260やタッチスクリーン220を通じてプレイヤキャラクタ(キャラクタオブジェクト)の移動や行動を制御することで、プレイヤキャラクタが通路(コース)等のパターンが配置されたゲームマップ内でスタート地点からゴール地点まで進んでゆくようなゲームである。ディスプレイ221に表示されるゲーム画面は、例示的に、仮想3次元空間を表現したゲーム画像である。プレイ中、仮想カメラの視線方向及び視野領域が制御され、当該制御に応じて、仮想3次元空間を表現するゲーム画像が変化する。
【0072】
プレイヤは、独自のゲームマップを作成することができる。当該ゲームマップは、例示的に、ゲーム装置100のカメラ270及び/又は290で撮影した画像から作成することができる。なお、ゲーム装置100のユーザ(ゲーム装置100を用いてゲームマップを作成するユーザ)と作成されたゲームマップでゲームをプレイするプレイヤとは、同じである場合もあるし異なる場合もある。
【0073】
(ゲーム装置100の機能的構成例)
次に、図7に、本実施形態のゲーム装置100の機能的構成例を示す。図7に示すように、ゲーム装置100は、スコア記憶部500、位置情報取得部502、エリア対応情報記憶部504、エリア決定部506、スコア送信部508、地図データ記憶部510、地図表示部512、エリア選択部514、ランキング取得部516、ランキング記憶部518、及びランキング表示部520を含んで構成されている。ここで、図7に示す各部は、例えば、メモリモジュール212を用いたり、コンピューティングデバイス210のプロセッサ(プロセッサコア211)がメモリモジュール212に記憶されているプログラムを実行したりすることにより実現することができる。
【0074】
また、図7に示すように、サーバ300は、エリアごとのランキング情報を管理するための情報処理装置であり、ランキング情報記憶部600、スコア登録部602、及びランキング出力部604を含んで構成されている。なお、サーバ300は、1台の情報処理装置ではなく、複数台の情報処理装置を用いて構成されていてもよい。
【0075】
スコア記憶部500は、図4に示したスコアデータを記憶するものであり、前述したように、プレイヤがゲームを実行して取得したハイスコアを記憶している。
【0076】
位置情報取得部502は、GPSユニット255を用いることにより、ゲーム装置100の現在位置を示す位置情報を取得する。
【0077】
エリア対応情報記憶部504は、図4に示したエリア対応テーブルを記憶するものである。エリア対応テーブルでは、前述したように位置情報(緯度・経度)とエリアとの対応関係が規定されている。
【0078】
エリア決定部506は、位置情報取得部502によって取得された位置情報(緯度・経度)によって示される現在位置が、複数のエリアのうちのどのエリアに含まれるかを、エリア対応情報記憶部504に記憶されているエリア対応テーブルに基づいて決定する。具体的には、エリア決定部504は、エリア対応テーブルを参照し、取得された緯度・経度と対応付けられているエリアIDを取得する。
【0079】
スコア送信部508は、スコア記憶部500に記憶されているスコアを、エリア決定部506によって決定されたエリアのランキング情報に登録するための要求(スコア登録要求)をサーバ300に送信する。ここで、ランキング情報記憶部600は、図7に例示するように、エリアごとにランキング情報を管理する構成となっている。本実施形態では、エリアごとに管理されたランキング情報のことを「ランキングボード」とも称する。
【0080】
スコア登録要求には、スコアの他に、エリアID、プレイヤIDが含まれる。ここで、エリアIDは、エリア決定部506によって決定されたものである。また、プレイヤIDは、例えば、メモリモジュール212に予め1つのプレイヤIDが記憶されていることとしてもよいし、スコアと対応付けてスコア記憶部500に記憶されていることとしてもよい。
【0081】
なお、スコア送信部508は、スコア、エリアID、プレイヤIDを同時にサーバ300に送信してもよいし、これらを別々のタイミングでサーバ300に送信してもよい。例えば、サーバ300にアクセスする際にユーザ認証が行われる場合であれば、スコア送信部508は、ユーザ認証時にプレイヤIDを送信することができる。また例えば、各エリアのランキングボードが、物理的または仮想的に異なる情報処理装置により構成されている場合であれば、スコア送信部508は、対象のエリアのランキングボードに対応する情報処理装置へのアクセス要求を生成する際にエリアIDを用いることができる。
【0082】
サーバ300のスコア登録部602は、スコア送信部508からスコア登録要求を受信すると、図8に例示するように、スコア登録要求で指定されるエリアIDに対応するランキングボードに、スコア登録要求に含まれるスコア及びプレイヤIDを登録する。このとき、スコア登録部602は、エリア内で登録されているスコアのランキング(順位)を更新する。なお、各エリアのランキングボードに登録されるスコアは、上位から所定数(例えば100人)のプレイヤ分とすることができる。
【0083】
地図データ記憶部510は、ディスプレイ221に地図を表示するための地図データを記憶している。地図データには、地図の描画に用いられる画像データの他に、地図上の各領域の緯度・経度を示すデータが含まれている。
【0084】
地図表示部512は、地図データ記憶部510に記憶されている地図データを参照し、ディスプレイ221に地図を表示することができる。例えば、地図表示部512は、位置情報取得部502によって取得される位置情報に基づいて、現在位置を中心とする所定の縮尺の地図を表示することができる。また、地図表示部512は、ユーザ操作に応じて、地図をスクロールしたり、縮尺を変更したりすることができる。
【0085】
エリア選択部514は、ランキング情報を取得するエリアを選択する。つまり、エリア選択部514は、どのランキングボードからランキング情報を取得するかを選択する。例えば、エリア選択部514は、位置情報取得部502よって取得された位置情報及びエリア対応テーブルに基づいて、現在位置が含まれるエリアのエリアIDを取得することができる。また、エリア選択部514は、地図上でユーザによって指定された位置の緯度・経度に対応するエリアIDをエリア対応テーブルから取得することができる。また、エリア選択部514は、ディスプレイ221に表示されている地図がスクロールされると、地図の中央の位置の緯度・経度に対応するエリアIDをエリア対応テーブルから取得することができる。
【0086】
また、エリア選択部514は、エリア対応テーブルに基づいて、所定の順序で複数のエリアを順次選択することができる。ディスプレイ221に表示されている地図上のエリアが図9に示すように規定されている場合を一例として説明する。ここで、図9において表示されている「1」〜「3」の数字は、エリアの選択順序を示している。エリア選択部514は、まず、例えば、現在位置を含むエリア(1番のエリア)を最初に選択することができる。続いて、エリア選択部514は、例えば、当該エリアから距離が近い順に他のエリアを順次選択していくことができる。
【0087】
なお、エリアを選択する順序は現在位置を含むエリアからの距離に応じた順序に限られない。例えば、ディスプレイ221に表示されている地図の中央からの距離に応じた順序であってもよいし、地図上においてユーザによって選択された位置からの距離に応じた順序であってもよい。また、例えば、エリアID順にエリアが選択されることとしてもよい。
【0088】
ランキング取得部516は、エリア選択部514によって選択されたエリアのランキング情報を取得するための要求(ランキング取得要求)をサーバ300に送信し、該エリアのランキング情報を取得する。ランキング取得要求には、選択されたエリアのエリアIDが含まれる。
【0089】
サーバ300のランキング出力部604は、ランキング取得部516からランキング取得要求を受信すると、該要求に含まれるエリアIDに対応するランキングボードを参照し、該エリアIDによって示されるエリアのランキング情報を出力する。ここで、ランキング出力部604が出力するランキング情報は、ランキングボードに含まれる全ての情報でなくてもよい。例えば、ランキング出力部604は、エリア内のトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とをランキング情報として出力することができる。なお、ランキング出力部604は、ランキング取得部516からの追加要求に応じて、ランキングボードに含まれるその他の情報をランキング情報として出力することも可能である。
【0090】
ランキング記憶部518は、ランキング取得部516によって取得されたランキング情報を記憶する。具体的には、ランキング記憶部518は、エリアIDとランキング情報とを対応づけて記憶することができる。
【0091】
ランキング表示部520は、ランキング記憶部518を参照することにより、ランキング取得部516によって取得されたランキング情報に応じたアイコンを、地図上における対象エリアに表示する。図10に示すように、ランキング表示部520は、例えば、現在位置を含むエリアのランキング情報に応じたアイコン700を、地図上において現在位置を含むエリアに表示することができる。また、ランキング表示部520は、ランキング情報が取得されているその他のエリアについても同様に、ランキング情報に応じたアイコンを表示することができる。アイコンを表示する際に、ランキング表示部520は、例えば、アイコンの一方向における長さをトップスコアに応じた長さとし、アイコンの他の一方向における長さをユーザ数に応じた長さとすることができる。図10の例では、アイコン700は山状の三角形で示されており、三角形の高さがトップスコアに応じた長さとなっており、三角形の底辺がユーザ数に応じた長さとなっている。
【0092】
なお、図10では、アイコンは一部のエリアにしか表示されていないが、ランキング表示部520は、ランキング取得部516によって順次選択されるランキング情報に基づいて、アイコンが表示されるエリアを拡大していくことができる。また、アイコンの形状は三角形に限られず、各エリアのランキング情報を把握することが可能な形状であれば任意の形状を採用することができる。
【0093】
(ゲーム装置100の動作例)
以下、上述のごとく構成されたゲーム装置100(コンピューティングデバイス210)の動作例について説明する。
【0094】
図11は、スコアをサーバ300に登録する処理の一例を示すフローチャートである。まず、スコア送信部508は、スコアの登録を指示するユーザ操作を受け付け、位置情報取得部502を起動する(S101)。位置情報取得部502は、現在位置の位置情報を取得する(S102)。位置情報が取得されると、エリア決定部506は、位置情報に含まれる緯度・経度に基づいて、現在位置が含まれるエリアを決定する(S103)。具体的には、エリア決定部506は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、位置情報に含まれる緯度・経度に対応するエリアIDを取得する。エリアが決定されると、スコア送信部508は、決定されたエリアのランキングボードにスコアを登録するためのスコア登録要求をサーバ300に送信する(S104)。これにより、サーバ300において、決定されたエリアのランキングボードにスコアが登録される。
【0095】
なお、スコア送信部508は、サーバ300にスコア登録要求を送信した後に、スコアの登録結果を示す情報をサーバ300のスコア登録部602から受信することとしてもよい。例えば、スコア送信部508は、決定されたエリア内におけるプレイヤの順位を示す情報をスコア登録部602から受信することとしてもよい。
【0096】
図12は、サーバ300からランキング情報を取得する処理の一例を示すフローチャートである。地図表示部512は、地図データ記憶部510に記憶されている地図データを参照し、ディスプレイ221に地図を表示する(S201)。例えば、地図表示部512は、位置情報取得部502によって取得される位置情報に基づいて、現在位置を中心とする地図を初期表示することができる。また、地図表示部512は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、例えば図5に示したように、地図上にエリアの境界線を表示することができる。
【0097】
エリア決定部506は、表示された地図上において、ランキング情報の取得対象とするエリアを選択する(S202)。例えば、エリア決定部506は、位置情報取得部502によって取得される位置情報に基づいて、現在位置が含まれるエリアを選択することができる。具体的には、エリア決定部506は、エリア対応情報記憶部504に記憶されているエリア対応テーブルを参照し、現在位置の緯度・経度に対応するエリアIDを取得することができる。
【0098】
エリアが選択されると、ランキング取得部516は、選択されたエリアのランキング情報を取得するためのランキング取得要求をサーバ300に送信する(S203)。そして、ランキング取得部517は、該ランキング取得要求に応じてサーバ300のランキング出力部604から送信されてくるランキング情報を受信し、エリアIDと対応づけてランキング記憶部518に格納する(S204)。
【0099】
ランキング表示部520は、ランキング記憶部518を参照し、ディスプレイ221に表示されている地図上の選択されたエリアに、ランキング情報に応じたアイコンを表示する(S205)。具体的には、ランキング表示部520は、例えば図10に示したように、ランキング情報に基づいて、底辺がトップスコアに応じた長さであり、高さがユーザ数に応じた長さである三角形のアイコンを、地図上の選択されたエリアに表示することができる。
【0100】
続いて、エリア決定部506は、ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在しているかどうか確認する(S206)。ここで、ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在しない場合には(S206:NO)、ランキング情報の取得処理は終了する。なお、地図のスクロールや縮尺の変更が行われた場合には、地図の表示(S201)から処理が再度実行されることとなる。
【0101】
ディスプレイ221に表示されている地図上において、ランキング情報が取得されていないエリアが存在する場合(S206:YES)、エリア決定部506は、所定の順序に従って未選択のエリアを選択する(S202)。例えば、エリア決定部506は、図9に示したように、最初に選択されたエリアから距離の近い順にエリアを選択することができる。そして、選択されるエリアについて、ランキング情報の取得(S203、S204)と、アイコンの表示(S205)が実行される。これにより、ディスプレイ221に表示されている地図上においてエリアが順次選択され、地図上にアイコンが順次表示されていくこととなる。
【0102】
以上、本発明の一実施形態について説明した。本実施形態では、ゲーム装置100のエリア決定部506が、位置情報及びエリア対応テーブルに基づいて、現在位置が含まれるエリアを決定する。そして、スコア送信部506は、該決定されたエリアにスコアを登録するためのスコア登録要求をサーバ300に送信する。したがって、サーバ300のスコア登録部602では、スコア登録要求で指定されるエリアのランキングボードにスコアを登録するだけでよい。すなわち、スコア登録部602は、例えば、ゲーム装置100から送信される利用区域識別情報や国籍情報等に基づいて、どのランキングボードにスコアを登録するかの判定を行う必要がない。これにより、予め定められたエリアごとのランキング情報を提供するシステムにおけるサーバ300の処理負荷を軽減することが可能となる。
【0103】
なお、本実施形態では、GPS機能を用いているため、他の位置特定機能と比較して精度の高い位置情報を取得することができる。これにより、ランキング情報を管理するエリアを細かい範囲で設定することが可能となる。
【0104】
また、本実施形態では、地図上において選択されたエリアのランキング情報に応じたアイコンを、地図上における選択されたエリアに表示することができる。これにより、ユーザは、選択された任意のエリアにおけるランキングの状況を容易に把握することが可能となる。例えば、ユーザは、選択されたエリアにおけるランキング情報に応じたアイコンを見ることにより、当該エリアにおけるトップスコアや、スコアを登録しているユーザ数を知ることができる。これにより、ユーザに対して、例えば、自身のスコアで上位にランクインすることが可能なエリアのランキングボードにスコアを登録する動機を与えることができる。
【0105】
また、本実施形態では、エリア選択部514は、現在位置が含まれるエリアを、ランキング情報を取得する対象のエリアとして選択することができる。したがって、ユーザの現在位置付近におけるランキング情報を知ることができる。
【0106】
また、本実施形態では、エリア選択部514は、所定の順序に従って複数のエリアを順次選択することができる。また、ランキング取得部516は、順次選択されるエリアのランキング情報をサーバ300から順次取得することができる。そして、ランキング表示部520は、順次取得されるランキング情報に応じたアイコンを、地図上における選択されたエリアに順次表示することができる。これにより、図9及び図10に示したように、例えば、現在位置を含むエリアからの距離に応じた順序でランキング情報が取得され、ランキング情報に応じたアイコンを順次表示していくことができる。
【0107】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
【0108】
例えば、本実施形態では、エリア決定部506は、スコアがサーバ300に送信される際に、現在位置が含まれるエリアを決定することとしたが、エリアの決定タイミングはこれに限られない。例えば、エリア決定部506は、ゲーム装置100においてスコアが取得された際に、位置情報取得部502によって取得される位置情報と、エリア対応情報記憶部504に記憶されているエリア対応テーブルとに基づいて、エリアを決定することとしてもよい。この場合、エリア決定部506は、スコア記憶部500に、決定されたエリアのエリアIDをスコアと対応づけて記憶しておくことができる。そして、スコア送信部512は、スコアの登録を指示するユーザ操作に応じて、スコア記憶部500に記憶されているスコアを、該スコアと対応付けられたエリアIDによって示されるエリアのランキングボードに登録するためのスコア登録要求をサーバ300に送信することとしてもよい。
【0109】
また、本実施形態は、コンピュータゲーム装置のほか、携帯電話、スマートフォン、タブレット型コンピュータ等のインテリジェントデバイスで実行されるゲームプログラムに広く適用することができる。
【符号の説明】
【0110】
100…ゲーム装置、110…ハウジング、210…コンピューティングデバイス、211…プロセッサコア、212…メモリモジュール、213…グラフィックスエンジン、2131…グラフィックコア、2132…グラフィックメモリ、214…サウンドエンジン、215…I/Oコントローラ、216…システムバス、220…タッチスクリーン、221…ディスプレイ、222…タッチセンサ、230…オーディオ出力ユニット、240…外部メディアユニット、250…通信ユニット、260…操作ボタン、270…前面(内側)カメラ、280…加速度センサ、290…背面(外側)カメラ、300…サーバ、500…スコア記憶部、502…位置情報取得部、504…エリア対応情報記憶部、506…エリア決定部、508…スコア送信部、510…地図データ記憶部、512…地図表示部、514…エリア選択部、516…ランキング取得部、518…ランキング記憶部、520…ランキング表示部、600…ランキング情報記憶部、602…スコア登録部、604…ランキング出力部
【特許請求の範囲】
【請求項1】
ゲームのスコアを記憶するスコア記憶部と、
現在位置の位置情報を取得する位置情報取得部と、
位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、
前記位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを前記エリア対応情報に基づいて決定するエリア決定部と、
エリアごとにスコアのランキング情報を管理するサーバに対して、前記スコア記憶部に記憶されているスコアを前記決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、
を備えるゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
地図データを記憶する地図データ記憶部と、
前記地図データに基づいて表示装置に地図を表示する地図表示部と、
前記複数のエリアのうちの少なくとも1つのエリアを選択するエリア選択部と、
前記選択されたエリアのランキング情報を前記サーバから取得するランキング取得部と、
前記取得されたランキング情報に応じたアイコンを、前記地図上における前記選択されたエリアに表示するランキング表示部と、
をさらに備えるゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
前記エリア選択部は、前記エリア対応情報に基づいて、前記取得された位置情報に対応するエリアを選択する、
ゲーム装置。
【請求項4】
請求項2または3に記載のゲーム装置であって、
前記エリア選択部は、所定の順序に従って前記複数のエリアのうちの2つ以上のエリアを順次選択し、
前記ランキング取得部は、前記順次選択されるエリアのランキング情報を前記サーバから順次取得し、
前記ランキング表示部は、前記順次取得されるランキング情報に応じたアイコンを、前記地図上における前記選択されたエリアに順次表示する、
ゲーム装置。
【請求項5】
請求項2〜4の何れか一項に記載のゲーム装置であって、
前記ランキング情報は、エリア内におけるトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とを含み、
前記ランキング表示部は、前記アイコンの一方向における長さを前記トップスコアに応じた長さとし、前記アイコンの他の一方向における長さを前記ユーザ数に応じた長さとする、
ゲーム装置。
【請求項6】
コンピュータを、
ゲームのスコアを記憶するスコア記憶部と、
現在位置の位置情報を取得する位置情報取得部と、
前記位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを、位置情報とエリアとの対応関係を示すエリア対応情報に基づいて決定するエリア決定部と、
エリアごとにスコアのランキング情報を管理するサーバに対して、前記スコア記憶部に記憶されているスコアを前記決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、
して機能させるプログラム。
【請求項1】
ゲームのスコアを記憶するスコア記憶部と、
現在位置の位置情報を取得する位置情報取得部と、
位置情報とエリアとの対応関係を示すエリア対応情報を記憶するエリア対応情報記憶部と、
前記位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを前記エリア対応情報に基づいて決定するエリア決定部と、
エリアごとにスコアのランキング情報を管理するサーバに対して、前記スコア記憶部に記憶されているスコアを前記決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、
を備えるゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
地図データを記憶する地図データ記憶部と、
前記地図データに基づいて表示装置に地図を表示する地図表示部と、
前記複数のエリアのうちの少なくとも1つのエリアを選択するエリア選択部と、
前記選択されたエリアのランキング情報を前記サーバから取得するランキング取得部と、
前記取得されたランキング情報に応じたアイコンを、前記地図上における前記選択されたエリアに表示するランキング表示部と、
をさらに備えるゲーム装置。
【請求項3】
請求項2に記載のゲーム装置であって、
前記エリア選択部は、前記エリア対応情報に基づいて、前記取得された位置情報に対応するエリアを選択する、
ゲーム装置。
【請求項4】
請求項2または3に記載のゲーム装置であって、
前記エリア選択部は、所定の順序に従って前記複数のエリアのうちの2つ以上のエリアを順次選択し、
前記ランキング取得部は、前記順次選択されるエリアのランキング情報を前記サーバから順次取得し、
前記ランキング表示部は、前記順次取得されるランキング情報に応じたアイコンを、前記地図上における前記選択されたエリアに順次表示する、
ゲーム装置。
【請求項5】
請求項2〜4の何れか一項に記載のゲーム装置であって、
前記ランキング情報は、エリア内におけるトップスコアを示すトップスコア情報と、エリア内においてランキングにスコアが登録されているユーザ数を示すユーザ数情報とを含み、
前記ランキング表示部は、前記アイコンの一方向における長さを前記トップスコアに応じた長さとし、前記アイコンの他の一方向における長さを前記ユーザ数に応じた長さとする、
ゲーム装置。
【請求項6】
コンピュータを、
ゲームのスコアを記憶するスコア記憶部と、
現在位置の位置情報を取得する位置情報取得部と、
前記位置情報によって示される現在位置が、予め定められた複数のエリアのうちのどのエリアに含まれるかを、位置情報とエリアとの対応関係を示すエリア対応情報に基づいて決定するエリア決定部と、
エリアごとにスコアのランキング情報を管理するサーバに対して、前記スコア記憶部に記憶されているスコアを前記決定されたエリアのランキング情報に登録するための要求を送信するスコア送信部と、
して機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図5】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図5】
【公開番号】特開2013−111190(P2013−111190A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−259247(P2011−259247)
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
[ Back to top ]