説明

ゲームシステム、携帯機器及びサーバ

【課題】 ユーザに負担を強いることなく携帯機器に搭載された磁気センサのキャリブレーションを行い、方位検出の精度を確保する。
【解決手段】 携帯電話機1及び2は、それぞれのGPS受信部により検出されたお互いの緯度及び経度をサーバ6を介して受信し、表示部において地図上にその位置を表示する。携帯電話機1のユーザ及び携帯電話機2のユーザが相手の方向に筐体を向け撃つ操作を行うと、筐体の向きに関するデータがサーバ6へ送信され、サーバ6において命中の判定が行われる。このように筐体の向きを変える動作を含む操作によりシューティングゲームが進行する過程で、携帯電話機1及び2はそれぞれ一定時間間隔で磁気センサの検出値を蓄積し、この値から磁気センサの各軸方向の補正値を求め更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シューティングゲーム等に用いて好適なゲームシステム、携帯機器及びサーバに関する。
【背景技術】
【0002】
携帯電話機等の携帯機器に搭載される磁気センサは、共に搭載されるスピーカや着磁した電子部品の金属パッケージ等から漏れる磁場により方位誤差を生じる。このため、携帯機器の筐体の向きを変えて磁気センサの検出値を取り込み、この検出値から補正値を求めるキャリブレーションが必要となる。
【0003】
このキャリブレーションは例えば次のように行う。ここで、図3に示すように携帯電話機1において互いに直交するX軸、Y軸、及び、これらに垂直で携帯電話機1から手前に伸びる方向にZ軸が設定され、X軸磁気センサ、Y軸磁気センサ、Z軸磁気センサがこれらの軸方向の磁界の強さを検出するものとする。
【0004】
まず、X軸磁気センサ及びY軸磁気センサの補正値を求める。X軸磁気センサ、Y軸磁気センサの検出値Vx、Vyは、携帯電話機1の内部に存在する磁場のために、式1及び式2に示すように、X軸方向またはY軸方向の着磁量に相当するm、nがそれぞれ加算された値となる。ただし、θはパラメータ、Rx、Ryは定数とする。
Vx=Rx×cosθ+m ・・・式1
Vy=Ry×sinθ+n ・・・式2
【0005】
地磁気の変動がない場所で着磁していない磁気センサがX軸及びY軸を含む平面上において1回転すると、磁気センサの検出値は中心座標を(0,0)とする真円又は楕円を描く。以下、磁気センサの検出値によって描かれる円を方位円という。これに対し、着磁した磁気センサがX軸及びY軸を含む平面上において1回転すると、磁気センサの検出値は、中心座標を(m,n)とする真円又は楕円を描く。したがって、この方位円の中心座標を求め、この中心座標の値を補正値として磁気センサの検出値から減算すると、検出値を補正することができる。
【0006】
そこで中心座標を求めることが必要となるが、これは次のように求めることができる。磁気センサをX軸及びY軸を含む平面上において一回転してX軸磁気センサ及びY軸磁気センサの検出値を取得し、これらの最大値をそれぞれXmax、Ymax、これらの最小値をそれぞれXmin、Yminとする。中心座標(m,n)は式3及び式4によって求めることができる。
m=(Xmax+Xmin)/2 ・・・式3
n=(Ymax+Ymin)/2 ・・・式4
【0007】
また、Z軸磁気センサの補正値も上記と同様に求めることができる。X軸磁気センサ、Z軸磁気センサの検出値Vx、Vzは、上記と同様に式5及び式6に示す値をとる。ただし、φはパラメータ、Rx、Rzは定数とする。
Vx=Rx×cosφ+m ・・・式5
Vz=Rz×sinφ+p ・・・式6
上記と同様に、磁気センサをX軸及びZ軸を含む平面上において1回転してX軸磁気センサ及びZ軸磁気センサの検出値を取得し、これらの最大値をそれぞれXmax、Zmax、これらの最小値をXmin、Zminとする。中心座標(m,p)のうちmは式3と同様であり、pは式7によって求めることができる。
p=(Zmax+Zmin)/2 ・・・式7
以上で求めたm、n、pを補正値として、磁気センサの各軸方向の検出値Vx、Vy、Vzからそれぞれ減算すると、携帯電話機1の内部に存在する磁場の影響を除去した値を得ることができる。
【0008】
携帯機器にはGPS(Global Positioning System)受信機、磁気検出による方位センサ、加速度検出による傾斜センサ等の多くの電子部品が搭載され、これらを活用した各種機能を備えており、方位検出の精度を確保することが必要とされている。
なお、従来技術として特許文献1及び特許文献2が知られている。
【特許文献1】特開2000−5443号公報
【特許文献2】特開2001−269484号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上記のような手順をとることは携帯機器のユーザには負担であった。すなわち、磁気センサの着磁状態は常に変動するため、磁気センサが着磁したと思われる度にユーザがキャリブレーションを行う必要があり、例えば、上記のようにしてキャリブレーションを行う場合には、携帯電話機1を平面上において1回転させるという手順を度々行う必要があった。
本発明は、上記の事情を考慮してなされたものであり、その目的は、携帯機器の向きを変える動作を含む操作により進行するゲーム機能を携帯機器に付加することにより、ユーザに負担を強いることなく携帯機器に搭載された磁気センサのキャリブレーションを行い、方位検出の精度を確保し得るゲームシステム、携帯機器及びサーバを提供することである。
【課題を解決するための手段】
【0010】
本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおいて、前記サーバは、地図データと緯度及び経度に対して地図上の位置を対応付ける対応データとを含む地図関連データを記憶する記憶部と、前記携帯機器へ前記地図関連データ及び標的の緯度及び経度を送信するとともに、前記携帯機器から送信される筐体の緯度及び経度と筐体の方位を含むデータ及び前記地図関連データを用いて前記標的への命中判定を行う制御部と、を具備し、前記携帯機器は、筐体の緯度及び経度を検出するGPS受信部と、地磁気の方向を検出する磁気センサと、前記磁気センサの検出値及び補正値と前記サーバから受信した地図関連データとを記憶する記憶部と、複数のボタンからなる操作部と、前記磁気センサの検出値を前記記憶部に蓄積し前記蓄積した検出値から補正値を求めて前記記憶部に記憶させ、前記サーバから前記標的の緯度及び経度を受信したときに前記地図関連データを用いて地図上における前記標的の位置を求め、一定の時間間隔で前記GPS受信部が検出した筐体の緯度及び経度を前記サーバへ送信するとともに、前記操作部の所定のボタンが押されたときに前記磁気センサの検出値を前記補正値により補正した値から求めた筐体の方位を含むデータを前記サーバへ送信する制御部と、前記地図データと前記標的の位置とを表示する表示部と、を具備することを特徴とするゲームシステムである。
【0011】
請求項2に記載の発明は、ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおける前記携帯機器であって、筐体の緯度及び経度を検出するGPS受信部と、地磁気の方向を検出する磁気センサと、前記磁気センサの検出値及び補正値と前記サーバから受信した地図関連データとを記憶する記憶部と、複数のボタンからなる操作部と、前記磁気センサの検出値を前記記憶部に蓄積し前記蓄積した検出値から補正値を求めて前記記憶部に記憶させ、前記サーバから標的の緯度及び経度を受信したときに前記地図関連データを用いて地図上における前記標的の位置を求め、一定の時間間隔で前記GPS受信部が検出した筐体の緯度及び経度を前記サーバへ送信するとともに、前記操作部の所定のボタンが押されたときに前記磁気センサの検出値を前記補正値により補正した値から求めた筐体の方位を含むデータを前記サーバへ送信する制御部と、前記地図データと前記標的の位置とを表示する表示部と、を具備することを特徴とする携帯機器である。
【0012】
請求項3に記載の発明は、ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおける前記サーバであって、地図データと緯度及び経度に対して地図上の位置を対応付ける対応データとを含む地図関連データを記憶する記憶部と、前記携帯機器へ前記地図関連データ及び標的の緯度及び経度を送信するとともに、前記携帯機器から送信される筐体の緯度及び経度と筐体の方位を含むデータ及び前記地図関連データを用いて前記標的への命中判定を行う制御部と、を具備することを特徴とするサーバである。
【発明の効果】
【0013】
本発明によれば、ユーザに負担を強いることなくユーザに携帯機器の筐体の向きを変えさせることによってキャリブレーションに必要な磁気センサの検出値を取り込むことができ、この検出値から補正値を求めて更新することができる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照し、本発明の実施形態について説明する。図1はこの実施形態におけるゲームシステムの構成を示す図である。
図1の携帯電話機1は、図2を参照して後に説明するようにGPS受信部402、磁気センサ部520、傾斜センサ部510を備え、筐体の位置及向きに関するデータを図1のサーバ6へ送信する。また、サーバ6からゲームの進行に関するデータを受信する。このようなデータの送受信は、基地局3及びネットワーク5を介して行われる。
基地局3は、携帯電話機1と無線で接続し、携帯電話機1とサーバ6との間で送受信されるデータを中継する。
ネットワーク5は、例えば、携帯電話機1とサーバ6がデータ通信を行うことのできるIP(インターネットプロトコル)網である。
【0015】
サーバ6は、携帯電話機1との間でデータの送受信を行い、ゲームの進行に関する処理を行う。また、ゲームに用いられる地図関連データを記憶する。この地図関連データは、地図データ、緯度及び経度に対して地図上の座標を対応付ける対応データ、座標間の距離とこれに対応する実際の距離の比率を表す縮尺データからなる。この地図データは、ゲームを行うことができる範囲として予め定められた領域であるバトルエリアを含む所定の縮尺の地図のデータであり、実在する地域の地図であるリアルマップであってもよいし、架空の地域の地図であるバーチャルマップであってもよい。また、この地図データには地図上の北をY軸方向とし東をX座標方向とする座標軸が設けられており、上記の対応データにより、与えられた緯度及び経度に対してこの座標平面における座標が対応付けられる。この地図データには、ユーザの携帯電話機1と標的を結ぶ直線上に存在すると命中の妨げとなる建物その他の障害物も含まれる。
また、サーバ6は、ゲームに参加の登録をしたユーザ毎にそのユーザの携帯電話機1を識別する情報、シューティングゲームにおける得点、所属するグループを選択した場合はそのグループ名を管理する管理テーブルを記憶する。
なお、図1の携帯電話機2、基地局4は、それぞれ携帯電話機1、基地局3と同様である。
【0016】
図2は、携帯電話機1の構成を表すブロック図である。携帯電話機1は携帯電話機ユニット1−1及び1−2の2つの構成部分からなる折り畳み式となっている。アンテナ201は基地局3(図1)との間で電波信号の送受信を行う。
【0017】
RF(Radio Frequency)部202はアンテナ201が受信した受信信号を中間周波数の信号に変換して変復調部203へ出力する。また、RF部202は変復調部203から入力する送信信号を送信周波数の信号に変調し、アンテナ201へ出力する。
【0018】
変復調部203は、RF部202から入力した受信信号の復調処理と、CDMA(Code Division Multiple Access:符号分割多元接続)部204から入力した送信信号の変調処理とを行う。CDMA部204は、受信信号の復号化処理、及び、送信信号の符号化処理を行う。
【0019】
音声処理部205は、マイクロホン301から入力される音声信号をデジタル信号に変換してCDMA部204へ出力し、また、CDMA部204からデジタルの音声信号を入力してアナログの音声信号に変換し、スピーカ302へ出力して発音させる。
【0020】
磁気センサ部520のX軸磁気センサ521、Y軸磁気センサ522、Z軸磁気センサ523は、互いに直交するX軸、Y軸、Z軸の各々の軸方向の磁界の強さを検出する。ここでX軸及びY軸は携帯電話機1に対して図3に示す方向に互いに直交して設定され、Z軸はこれらに直交し携帯電話機1から手前に伸びる方向に設定されている。
【0021】
傾斜センサ部510は、携帯電話機1の傾きを検出するセンサである。この傾斜センサ部510は、所定の1軸方向における傾き角、例えば、携帯電話機1に設定されたY軸が水平面に対してなす角度を検出するものであってもよいし、所定の2軸方向における傾き角、例えば、携帯電話機1に設定されたX軸及びY軸それぞれが水平面に対してなす角度を検出するものであってもよい。傾斜センサ部510が出力する信号は、磁気センサ部520の磁気センサ制御部525に入力される。温度センサ524は温度を検出する。磁気センサ制御部525は各センサによる検出結果を示すアナログ信号をデジタル信号に変換しバスライン700へ出力する。
【0022】
携帯電話機1に設定されたX軸が水平面に対し平行であるようにしてアンテナ201(図3)の方向、すなわちY軸の方向が目標物に向けられたときの方位は、上記の磁気センサ部520及び傾斜センサ部510の検出値を用いて、次のように求めることができる。ここで、地磁気の方向は水平面上にあり、北と一致しているものとする。
【0023】
ここで、X軸磁気センサ521、Y軸磁気センサ522の検出値をそれぞれVx、Vyとし、この検出値から前述した補正値を減算した値をそれぞれSx、Syとする。また、傾斜センサ部510は携帯電話機1に設定されたY軸が水平面に対してなす傾き角Sdを検出するものとする。水平面上にX軸と直交するY’軸を設けると、図4に示すようにSyとSdを用いて式8により、Y’軸方向の成分Sy’を求めることができる。
Sy’=Sy/cos(Sd) ・・・式8
そして、X軸とY’軸からなる座標平面において原点と(Sx,Sy’)を結ぶ直線の方向が地磁気の方向となる。この直線がY’軸と時計回りになす角度θ’は次のようにして求めることができる。Sx≧0、Sy’>0のときは式9によりθ’を求め、Sx>0、Sy’=0のときはθ’=90°とし、Sy’<0のときは式10によりθ’を求め、Sx<0、Sy’=0のときはθ’=270°とし、Sx<0、Sy’>0のときは式11によりθ’を求める。なお、Sx=0、Sy’=0となるのは地磁気が存在しない場合であり、このような場合は存在しないものとする。
θ’=arctan(Sx/Sy’) ・・・式9
θ’=arctan(Sx/Sy’)+180° ・・・式10
θ’=arctan(Sx/Sy’)+360° ・・・式11
ここでarctan(x)はtan(x)の逆関数を表す。
上記のθ’を用いると、地磁気の方向すなわち北の方向に対して携帯電話機1の筐体のアンテナ201の方向が時計回りになす角度を方位角θとすると、この値はθ=360°−θ’により求めることができる。
【0024】
なお、傾斜センサ部510の出力値を用いずに、X軸磁気センサ521、Y軸磁気センサ522、Z軸磁気センサ523の出力値Vx、Vy、Vzから前述した補正値を減算した値Sx、Sy、Szを用いて、次のようにして携帯電話機1の方位角θ及び傾き角Sdを求めてもよい。まず、水平面上にX軸と直交するように設けたY’軸方向の磁界の成分Sy’ は式12により求めることができる。
Sy’=√(Sy^2+Sz^2) ・・・式12
ここで「Sy^2」はSyの2乗を表す。これを用いて上記と同様に北の方向に対する方位角θを求めることができる。また、傾き角Sdは式13により求めることができる。
Sd=arccos(Sy/Sy’) ・・・式13
ここでarccos(x)はcos(x)の逆関数を表す。
【0025】
図2に戻り、GPS受信部402は、アンテナ401からGPSの電波を受信して自己の現在位置の緯度及び経度を出力する。
主制御部601はROM(リードオンリメモリ)602に格納されたプログラムに従い携帯電話機1の各部を制御する。ROM602は、主制御部601が実行するプログラムを格納する。RAM(ランダムアクセスメモリ)603は、主制御部601の処理に用いられる変数、各軸方向の磁気センサの検出値及び補正値、サーバ6から送信される地図関連データ等を記憶する。
【0026】
報知手段303は、バイブレータ、発光ダイオードを備え、着信やメール受信等を、振動または光によってユーザに報知する。時計部304は主制御部601に時刻を供給し、また、予め設定された時間間隔で主制御部601に対してタイマ割込の信号を出力する。主操作部305は、テンキー、ファンクションキー等を備え、押下されたときにそのキーを表す信号を主制御部601へ出力する。
【0027】
電子撮像部306は、被写体像をデジタル信号に変換して主制御部601へ出力する。 表示部307は、主制御部601から入力する表示用の信号に基づいて画像や文字等を表示する液晶ディスプレイである。タッチパネル308は、表示部307の液晶ディスプレイの表面に組み込まれ、ユーザの押下による操作内容を表す信号を主制御部601へ出力する。副操作部309は、表示切り替えに用いられるプッシュスイッチである。
【0028】
次に、上述したゲームシステムの動作を説明する。ここでは、このゲームシステムにより第1のユーザと第2のユーザが、それぞれ所持する携帯電話機1、携帯電話機2を銃器にみたててお互いを標的として撃ち合い命中を競うシューティングゲームを行う場合を例に説明する。
【0029】
まず、第1のユーザはシューティングゲームに参加するため、携帯電話機1の主操作部305をキー操作してネットワーク5(図1)に接続されたサーバ6(図1)にアクセスし、自己の携帯電話機1を識別する情報を登録する。登録したユーザ数は1人でも複数でもこのシューティングゲームを行うことができる。
第1のユーザは参加の登録に際して、他に登録したユーザと撃ち合いをするか、サーバ6により設けられた標的を撃つか選択して、選択結果をサーバ6へ送信する。ただし、他に登録したユーザがいない場合は、サーバ6により設けられた標的を撃つこととなる。また、他に登録したユーザと撃ち合いをする場合は、所属するグループを選択することができる。所属するグループを選択した場合は、選択したグループに所属するユーザを味方、他のグループに所属するユーザを敵として撃ち合いを行う。
ここで第1のユーザは、他に登録したユーザと撃ち合いをすると選択し、所属するグループは選択しなかったとする。サーバ6は、以上の情報から前述の管理テーブルにレコードを追加する。このとき、第1のユーザの得点は0に初期化される。そして、携帯電話機1へ登録完了の通知を送信する。第2のユーザも同様に参加の登録を行ったとする。以下、第1のユーザが所持する携帯電話機1の動作を説明するが、第2のユーザが所持する携帯電話機2の動作も同様である。
【0030】
携帯電話機1が登録完了の通知を受信すると、主制御部601は、時計部304から予め設定された時間間隔でタイマ割込の信号を出力させる。主制御部601がこの信号を検出すると、GPS受信部402が検出した緯度及び経度、磁気センサ部520の検出値から前述のようにして求めた方位角、傾斜センサ部510が検出した傾き角を、携帯電話機1を識別する情報とともにサーバ6へ送信する。
また、主制御部601はX軸磁気センサ521、Y軸磁気センサ522、Z軸磁気センサ523の検出値Vx、Vy、Vzであって前述の補正値により補正されていない値を、予め設定された時間間隔でRAM603に蓄積する。この検出値が一定量蓄積されたとき、例えば、それぞれの検出値について前述のように方位角を求めたときに0°〜360°の範囲において10°毎に少なくとも1つづつの値が蓄積された場合に、式3、式4、式7により各軸方向の補正値を求めRAM603に記憶する。RAM603に以前求めた補正値が記憶されている場合はこれを更新する。
【0031】
サーバ6は、参加の登録をした携帯電話機1に対して、前述の地図関連データ、すなわち、地図データ、及び、緯度及び経度に対して地図上の座標を対応付ける対応データを送信する。第1のユーザが参加の登録をしたときに、他に登録したユーザと撃ち合いをすると選択したので、他に登録したユーザである第2のユーザの携帯電話機2からサーバ6へ送信された携帯電話機2の緯度及び経度が、サーバ6から第1のユーザの携帯電話機1へ送信される。
【0032】
上記の地図関連データに含まれる地図データに示されているバトルエリアに基づいて、サーバ6において次のような処理が行われる。サーバ6は携帯電話機1から受信した緯度及び経度が地図データに示されたバトルエリアの外側である場合はその緯度及び経度を送信した携帯電話機1へ警告を送信する。これを受信した携帯電話機1の主制御部601は表示部307にこの警告を表示する。サーバ6が警告を送信してから所定の時間が経過しても携帯電話機1がバトルエリアの内側に戻らない場合は、サーバ6はその携帯電話機1のユーザは反則負けと判定し、その携帯電話機1又は2に通知し、シューティングゲームの参加の登録を消去する。
【0033】
前述のように第1のユーザの携帯電話機1がサーバ6から地図関連データ及び第2のユーザの携帯電話機2の緯度及び経度を受信すると、主制御部601は携帯電話機2の緯度及び経度をもとに、地図関連データに含まれる対応データ、すなわち、緯度及び経度に対して地図上の座標を対応付ける対応データにより地図上の座標を求める。また、主制御部601はGPS受信部402から取得した筐体の緯度及び経度から上記と同様に地図上の座標を求める。そして、主制御部601は表示部307に、受信した地図データを表示し、さらに、この地図上において上記で求めた第2のユーザの座標に第2のユーザを示すマークを表示し、上記で求めた第1のユーザの携帯電話機1の座標に第1のユーザを示すマークを表示する。
なお、参加の登録をしたときに、他に登録したユーザと撃ち合いをすると選択し、かつ、所属するグループを選択した場合は、所属するグループ毎に表示されるユーザのマークが色分けされる。
なお、主制御部601が磁気センサ部520の検出値から携帯電話機1の筐体が向く方位を求め、地図データにおいて該当する方位が表示部307の上方に表示されるようにしてもよい。
【0034】
表示部307に表示された第1及び第2のユーザを示すマークは、次のようにして更新される。サーバ6は、登録したユーザである第2のユーザの携帯電話機2からその緯度及び経度を一定の時間間隔で受信するごとに、他に登録したユーザである第1のユーザの携帯電話機1へ送信する。第1のユーザの携帯電話機1の主制御部601はサーバ6から第2のユーザの緯度及び経度を受信すると、現在表示している第2のユーザを示すマークを消去し、地図上において上記と同様に第2のユーザの緯度及び経度から求めた座標に第2のユーザを示すマークを表示する。
また、主制御部601は一定の時間間隔でGPS受信部402から現在の携帯電話機1の緯度及び経度を取得し、現在表示している第1のユーザを示すマークを消去し、地図上において上記と同様に第1のユーザの緯度及び経度から求めた座標に第1のユーザを示すマークを表示する。
【0035】
一方、第1のユーザが参加の登録をしたときに、サーバ6により設けられた標的を撃つと選択した場合は、サーバ6において標的の緯度及び経度をバトルエリア内にランダムに1つ生成し、第1のユーザの携帯電話機1へ送信する。第1のユーザの携帯電話機1の表示部307には、地図データと、上記と同様にして求めた標的を示すマークと第1のユーザを示すマークが表示される。この標的の緯度及び経度は、サーバ6において時間の経過とともに移動させてもよいし、静止させておいてもよい。表示部307における標的を示すマーク及び第1のユーザを示すマークは、上記と同様にして更新する。
【0036】
他のユーザ又は標的を撃つ操作は、図3に示す携帯電話機1のアンテナ201を他のユーザ又は標的の方向に向け、主操作部305において予め定められたキー、例えば「0」のキーを押すことにより行う。他のユーザを撃つ場合は、目の前にいる他のユーザを狙ってもよいし、他のユーザが直接見えるところにいなくても表示部307に表示された地図上の他のユーザを示すマークにより他のユーザのいる方向を把握して狙ってもよい。また、標的を撃つ場合は、この標的はサーバ6により地図上に架空に設けられており実在しないので、表示部307に表示された地図上の標的を示すマークにより方向を把握して狙う。
主制御部601は「0」のキーが押されたことを検出すると、磁気センサ部520の出力値から前述のようにして求めた方位角、傾斜センサ部510が検出した傾き角を、携帯電話機1を識別する情報とともにサーバ6へ送信する。
【0037】
ここで、第1のユーザの携帯電話機1からサーバ6へ一定の時間間隔で送信された緯度及び経度のうち最新のものをp1、q1とし、第2のユーザの携帯電話機2からサーバ6へ一定の時間間隔で送信された緯度及び経度のうち最新のものをp2、q2する。主制御部601は、緯度及び経度に対して地図上の座標を対応付ける対応データから、p1、q1に対応する地図上の座標(x1、y1)、p2、q2に対応する地図上の座標(x2、y2)を求める。
【0038】
そして、地図上に設けられたY軸すなわち北の方向に対して(x1、y1)と(x2、y2)を結ぶ直線が時計回りになす角度をφとする。主制御部601は、x2−x1≧0、y2−y1>0のときは式14によりφを求め、x2−x1>0、y2−y1=0のときはφ=90°とし、y2−y1<0のときは式15によりφを求め、x2−x1<0、y2−y1=0のときはφ=270°とし、x2−x1<0、y2−y1>0のときは式16によりφを求める。なお、ここでは、x2−x1=0、y2−y1=0となる場合はないものとする。
φ=arctan{(x2−x1)/(y2−y1)} ・・・式14
φ=arctan{(x2−x1)/(y2−y1)}+180° ・・・式15
φ=arctan{(x2−x1)/(y2−y1)}+360° ・・・式16
【0039】
サーバ6は、地図データにおける座標(x1、y1)と(x2、y2)を結ぶ直線上に建物その他の障害物が存在せず、第1のユーザの携帯電話機1から送信された方位角θと上記で求めたφのずれが予め設定された値の範囲内であれば、第2のユーザに命中したと判定する。
なお、第1のユーザの他に参加の登録をしたユーザは、ここでは第2のユーザのみであるが、他に参加の登録をしたユーザが存在する場合は、上記と同様に、各ユーザについて命中したかどうか判定を行う。
【0040】
命中すると、サーバ6は第1のユーザの携帯電話機1における撃つ操作により発射された架空の弾が第2のユーザに命中したことを通知し、それぞれの主制御部301は表示部307にそれを表示する。そしてサーバ6において第1のユーザの得点を加点し、第2のユーザの得点を減点し、携帯電話機1及び2に通知する。なお、上記のθとφのずれが少ないほど多く加点する。また、参加の登録をしたときに、他に登録したユーザと撃ち合いをすると選択し、かつ、所属するグループを選択した場合であって、同じグループに所属するユーザに命中した場合は撃つ操作を行ったユーザの得点を減点する。
【0041】
各ユーザの携帯電話機1及び2からサーバ6へ一定の時間間隔で送信される緯度及び経度から、サーバ6においてユーザの携帯電話機1及び2の地図上の座標を地図関連データに含まれる対応データを用いて求め、この座標間の距離に対応する実際の距離を地図関連データに含まれる縮尺データを用いて求め、この距離が所定の値以下である場合に携帯電話機1及び2へ警報を送信し、これを受信した携帯電話機1及び2の主制御部601は表示部307に警報を表示するか、又は、スピーカ302からの警報音を出力する。
【0042】
また、第1のユーザの携帯電話機1からサーバ6へ一定の時間間隔で送信される緯度及び経度と方位角θ、及び、第2のユーザの携帯電話機2からサーバ6へ一定の時間間隔で送信される緯度及び経度を用いて、サーバ6において上記と同様に角度φを求め、第1のユーザが撃つ操作を行っていなくてもθとφのずれが予め設定された値の範囲内であれば、第2のユーザの携帯電話機2へ他のユーザから狙われているという警報を送信し、これを受信した第2のユーザの携帯電話機1の主制御部601は表示部307に警報を表示するか、又は、スピーカ302からの警報音を出力する。第1のユーザの携帯電話機1への警報の送信等も同様である。
【0043】
なお、上記においては第1のユーザが携帯電話機1において撃つ操作を行ったときに送信されるデータをサーバ6が受信したときに、携帯電話機1及び2の最新の緯度及び経度を用いて命中したか否かを判定したが、第1のユーザが携帯電話機1において撃つ操作を行ってから時間差を設けて命中したか否かを判定してもよい。例えば、第1のユーザが携帯電話機1において撃つ操作を行ったときに送信されるデータをサーバ6が受信して3秒後における第2のユーザの携帯電話機2の最新の緯度及び経度を用いて命中したか否かを判定する。この場合、第1のユーザが携帯電話機1において撃つ操作を行った直後に第2のユーザが位置を変えれば命中を避けることができる。
【0044】
なお、携帯電話機1における撃つ操作により発射された架空の弾に予め一定の速度を設定し、その弾道を計算して命中を判定してもよい。この場合、サーバ6は、携帯電話機1において撃つ操作を行ったときに送信されるデータを受信してから一定の時間が経過するまでの間、一定の時間間隔で地図上におけるその時点の弾の座標を下記のようにして求め、参加の登録をした各々のユーザの携帯電話機へその座標を送信するとともに、その座標から予め設定された範囲内に存在するユーザについては弾が命中したと判定する。各々のユーザの携帯電話機の主制御部601は、表示部307に表示した地図上においてサーバ6から受信した座標に弾の位置を示すマークを表示し、再度弾の座標を受信したときにはその時点で表示している弾の位置を示すマークを消去し、再度受信した座標に弾の位置を示すマークを表示する。
【0045】
上記の弾の座標は、携帯電話機1において撃つ操作を行ったときに送信される方位角と、サーバ6がそれを受信した時点で、携帯電話機1からサーバ6へ一定の時間間隔で送信された緯度及び経度のうち最新のものを用いて、次のように求める。まず、この緯度及び経度から、地図上において弾が発射された座標を地図関連データに含まれる対応データを用いて求め、予め設定された弾の速度すなわち単位時間あたりに弾が進む実際の距離から地図関連データに含まれる縮尺データを用いて単位時間あたりに弾が進む座標平面上の距離を求める。そして、弾が単位時間あたりに進む座標平面上の距離に経過時間を掛けた距離を求め、弾が発射された座標を起点として、上記の方位角の方向にこの距離の位置の座標を求める。
【0046】
なお、上記のように、携帯電話機1における撃つ操作により発射された架空の弾に予め一定の速度を設定した場合には、サーバ6において次のような処理を行ってもよい。サーバ6が携帯電話機1において撃つ操作を行ったときに送信されるデータを受信したときに、各々のユーザの携帯電話機について、そのまま位置を移動しない場合に弾が命中するかどうか判定する。そして、弾が命中する場合には、弾が発射された座標と弾が命中するユーザの座標との間の座標平面上の距離から地図関連データに含まれる縮尺データを用いて実際の距離を求め、その距離を予め設定された弾の速度で割って弾が命中するまでの時間を求め、その時間を弾が命中すると判定したユーザの携帯電話機へ送信する。これを受信した携帯電話機の主制御部601は表示部307に弾が飛んでくるという警報と弾が命中するまでの時間を表示する。
【0047】
上記のシューティングゲームにおいては、さらに、特殊コマンドを設ける。この特殊コマンドは、防御系コマンドとしてバリア、分身の術があり、攻撃系コマンドとして爆裂弾がある。
バリアとは、例えば、第1のユーザが携帯電話機1においてバリアを張る操作を行うと、第2のユーザが携帯電話機2において撃つ操作をして第1のユーザの携帯電話機1が命中と判定される位置に存在したとしても、サーバ6は第1のユーザの周囲に防御壁があるものとして命中と判定しないというものである。分身の術とは、例えば、第1のユーザが携帯電話機1において分身の術を使う操作を行うと、サーバ6から他のユーザへ送信される第1のユーザの緯度及び経度を第1のユーザが指定した位置のままとするものである。したがって、第1のユーザが他の位置へ移動すれば第1のユーザに命中することがなくなる。爆裂弾とは、命中する範囲が広い弾を発射するものであり、命中の判定において、予め設定された値による範囲より広い範囲により命中の判定を行う。命中と判定される範囲は、爆裂弾に複数の種類を設けて発射のときに選択可能とし、その種類により範囲を変えてもよい。
【0048】
これらの特殊コマンドは、携帯電話機1の筐体の向きが予め設定されたパターン通りに変化させたことを携帯電話機1が検出した場合にその旨がサーバに通知されて実行される。これらの特殊コマンドは、実行できる回数の制限を設け、バリアや分身の術は実行してから有効である時間に制限を設ける。また、携帯電話機1を動かす手間が大きいほど威力を大きくしてもよい。
【0049】
携帯電話機1の向きを変化させるパターンは、磁気センサの各軸方向の補正値を求めるために必要な検出値、例えば、それぞれの検出値について前述のように方位角を求めたときに0°〜360°の範囲において10°毎に少なくとも1つづつの値が効率よく得られるような動作とする。例えば、主操作部305において「9」のキーを押してから、携帯電話機1の筐体を携帯電話機1に設定されたZ軸のまわりに少なくとも1回転、携帯電話機1に設定されたY軸のまわりに少なくとも1回転させた後、「8」のキーを押す動作とする。このとき、携帯電話機1の主制御部601は、「9」のキーが押されたことを検出したのち、一定の時間間隔で磁気センサ部520による各軸方向の検出値を取得しRAM603に記憶させ、「8」のキーが押されたことを検出すると磁気センサ部520からの検出値の取得及びRAM603に記憶させる処理を終了する。そして、RAM603に記憶された検出値について、各々の検出値から前述のように方位角を求め、0°〜360°の範囲において10°毎に少なくとも1つづつの値が記憶されていることを確認してパターン通りの動作が行われたと判定し、サーバ6へその旨を通知すると、サーバ6において特殊コマンドが実行される。このとき携帯電話機1においては前述の通り補正値を求め更新する処理が行われる。
【0050】
なお、上記のような携帯電話機1の筐体の方位及び向きの検出はシューティングゲームだけでなく、他のゲームにおいても応用することができる。例えば、トランプを用いて行うばば抜き、神経衰弱、相性占い等を携帯電話機1の表示部307に表示して行う場合に、ユーザが表示部307に表示されたトランプのカードのうち1枚を指定するときに、ユーザは目の前に机があってその上にトランプが並べられていると想定して、そのうち1枚の方向に携帯電話機1を向けて特定のキーを押すことにより、表示部307に表示されたうちの1枚のカードを指定することができる。
【産業上の利用可能性】
【0051】
本発明は、磁気センサを備えた携帯機器を用いたゲームシステムに用いられる。
【図面の簡単な説明】
【0052】
【図1】本発明の実施形態におけるゲームシステムの構成を示す図である。
【図2】携帯電話機1の構成を示すブロック図である。
【図3】携帯電話機1に設定されたX軸及びY軸の方向を示す図である。
【図4】水平面上における磁界の成分の求め方を説明するための図である。
【符号の説明】
【0053】
1、2…携帯電話機、1−1、1−2…携帯電話機ユニット、3、4…基地局、5…ネットワーク、6…サーバ、201…アンテナ、202…RF部、203…変復調部、204…CDMA部、205…音声処理部、301…マイクロホン、302…スピーカ、303…報知手段、304…時計部、305…主操作部、306…電子撮像部、307…表示部、308…タッチパネル、309…副操作部、401…アンテナ、402…GPS受信部、510…傾斜センサ部、520…磁気センサ部、521…X軸磁気センサ、522…Y軸磁気センサ、523…Z軸磁気センサ、524…温度センサ、525…磁気センサ制御部、601…主制御部、602…ROM、603…RAM、700…バスライン


【特許請求の範囲】
【請求項1】
ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおいて、
前記サーバは、
地図データと緯度及び経度に対して地図上の位置を対応付ける対応データとを含む地図関連データを記憶する記憶部と、
前記携帯機器へ前記地図関連データ及び標的の緯度及び経度を送信するとともに、前記携帯機器から送信される筐体の緯度及び経度と筐体の方位を含むデータ及び前記地図関連データを用いて前記標的への命中判定を行う制御部と、
を具備し、
前記携帯機器は、
筐体の緯度及び経度を検出するGPS受信部と、
地磁気の方向を検出する磁気センサと、
前記磁気センサの検出値及び補正値と前記サーバから受信した地図関連データとを記憶する記憶部と、
複数のボタンからなる操作部と、
前記磁気センサの検出値を前記記憶部に蓄積し前記蓄積した検出値から補正値を求めて前記記憶部に記憶させ、前記サーバから前記標的の緯度及び経度を受信したときに前記地図関連データを用いて地図上における前記標的の位置を求め、一定の時間間隔で前記GPS受信部が検出した筐体の緯度及び経度を前記サーバへ送信するとともに、前記操作部の所定のボタンが押されたときに前記磁気センサの検出値を前記補正値により補正した値から求めた筐体の方位を含むデータを前記サーバへ送信する制御部と、
前記地図データと前記標的の位置とを表示する表示部と、
を具備することを特徴とするゲームシステム。
【請求項2】
ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおける前記携帯機器であって、
筐体の緯度及び経度を検出するGPS受信部と、
地磁気の方向を検出する磁気センサと、
前記磁気センサの検出値及び補正値と前記サーバから受信した地図関連データとを記憶する記憶部と、
複数のボタンからなる操作部と、
前記磁気センサの検出値を前記記憶部に蓄積し前記蓄積した検出値から補正値を求めて前記記憶部に記憶させ、前記サーバから標的の緯度及び経度を受信したときに前記地図関連データを用いて地図上における前記標的の位置を求め、一定の時間間隔で前記GPS受信部が検出した筐体の緯度及び経度を前記サーバへ送信するとともに、前記操作部の所定のボタンが押されたときに前記磁気センサの検出値を前記補正値により補正した値から求めた筐体の方位を含むデータを前記サーバへ送信する制御部と、
前記地図データと前記標的の位置とを表示する表示部と、
を具備することを特徴とする携帯機器。
【請求項3】
ネットワークに接続されたサーバと携帯機器から構成されるゲームシステムにおける前記サーバであって、
地図データと緯度及び経度に対して地図上の位置を対応付ける対応データとを含む地図関連データを記憶する記憶部と、
前記携帯機器へ前記地図関連データ及び標的の緯度及び経度を送信するとともに、前記携帯機器から送信される筐体の緯度及び経度と筐体の方位を含むデータ及び前記地図関連データを用いて前記標的への命中判定を行う制御部と、
を具備することを特徴とするサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−271572(P2006−271572A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−93441(P2005−93441)
【出願日】平成17年3月29日(2005.3.29)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】