(57)【要約】【課題】娯楽性の高いゲーム制御技術を提供する。【解決手段】ゲーム装置１０は、ごみとして掃除機により吸引すべきオブジェクトのデータを格納したオブジェクト管理テーブル６０を参照して、ゲームフィールドに前記オブジェクトと前記掃除機を配置したゲーム画面を生成する画面生成部６６と、ユーザの指示入力に応じて前記掃除機を移動させる掃除機制御部４１と、ユーザから前記掃除機による吸引を指示されると、掃除機のヘッドの位置から所定の範囲に前記掃除機による吸引力を作用させ、前記オブジェクトごとに、オブジェクトを移動させるオブジェクト制御部４３と、所定の条件に基づいて、掃除機のヘッドの近傍に存在するオブジェクトが、掃除機のヘッドに吸引されるか否かを判定する判定部４４と、を備える。画面生成部６６は、掃除機のヘッドに吸引されると判定されたオブジェクトを、以降、ゲームフィールドに表示されないようにする。【選択図】図１
2011000148.tif 000002
【特許請求の範囲】
【請求項１】
ごみとして掃除機により吸引すべきオブジェクトのデータを格納したオブジェクト管理テーブルを参照して、ゲームフィールドに前記オブジェクトと前記掃除機を配置したゲーム画面を生成する機能と、
ユーザの指示入力に応じて前記掃除機を移動させる機能と、
ユーザから前記掃除機による吸引を指示されると、掃除機のヘッドの位置から所定の範囲に前記掃除機による吸引力を作用させる機能と、
前記オブジェクトごとに、前記吸引力を作用させ、オブジェクトを移動させる機能と、
所定の条件に基づいて、掃除機のヘッドの近傍に存在するオブジェクトが、掃除機のヘッドに吸引されるか否かを判定する機能と、
掃除機のヘッドに吸引されると判定されたオブジェクトを、以降、ゲームフィールドに表示されないようにする機能と、
をコンピュータに実現させることを特徴とするゲーム制御プログラム。
【請求項２】
前記判定する機能は、前記オブジェクトの長辺方向と、前記掃除機のヘッドの進行方向との間のなす角度が、所定の角度よりも小さいときに、前記オブジェクトが掃除機のヘッドに吸引されると判定することを特徴とする請求項１に記載のゲーム制御プログラム。
【請求項３】
前記オブジェクトを移動させる機能は、前記判定する機能により、前記掃除機のヘッドに吸引されないと判定されたオブジェクトを、前記ヘッドに衝突してはじかれるように制御することを特徴とする請求項１又は２に記載のゲーム制御プログラム。
【請求項４】
オブジェクトが前記ヘッドに吸引されるとき、又は、オブジェクトが前記ヘッドに衝突してはじかれたときに、そのオブジェクトから別のオブジェクトが発生する様子を前記ゲーム画面に表示させるとともに、発生した別のオブジェクトのデータを前記オブジェクト管理テーブルに登録する機能を更にコンピュータに実現させることを特徴とする請求項１から３のいずれかに記載のゲーム制御プログラム。
【請求項５】
前記オブジェクト管理テーブルは、前記オブジェクトの重量、又は、前記オブジェクトの重量及び摩擦係数を表すデータを格納し、
前記オブジェクトを移動させる機能は、前記吸引力と、前記オブジェクトの重量、又は前記オブジェクトの重量及び摩擦係数とに基づいて、前記オブジェクトを移動させることを特徴とする請求項１から４のいずれかに記載のゲーム制御プログラム。
【請求項６】
ごみとして掃除機により吸引すべきオブジェクトのデータを格納したオブジェクト管理テーブルを参照して、ゲームフィールドに前記オブジェクトと前記掃除機を配置したゲーム画面を生成する画面生成部と、
ユーザの指示入力に応じて前記掃除機を移動させる掃除機制御部と、
ユーザから前記掃除機による吸引を指示されると、掃除機のヘッドの位置から所定の範囲に前記掃除機による吸引力を作用させ、前記オブジェクトごとに、オブジェクトを移動させるオブジェクト制御部と、
所定の条件に基づいて、掃除機のヘッドの近傍に存在するオブジェクトが、掃除機のヘッドに吸引されるか否かを判定する判定部と、を備え、
前記画面生成部は、掃除機のヘッドに吸引されると判定されたオブジェクトを、以降、ゲームフィールドに表示されないようにすることを特徴とするゲーム装置。
【請求項７】
ごみとして掃除機により吸引すべきオブジェクトのデータを格納したオブジェクト管理テーブルを参照して、ゲームフィールドに前記オブジェクトと前記掃除機を配置したゲーム画面を生成するステップと、
ユーザの指示入力に応じて前記掃除機を移動させるステップと、
ユーザから前記掃除機による吸引を指示されると、掃除機のヘッドの位置から所定の範囲に前記掃除機による吸引力を作用させるステップと、
前記オブジェクトごとに、前記吸引力を作用させ、オブジェクトを移動させるステップと、
所定の条件に基づいて、掃除機のヘッドの近傍に存在するオブジェクトが、掃除機のヘッドに吸引されるか否かを判定するステップと、
掃除機のヘッドに吸引されると判定されたオブジェクトを、以降、ゲームフィールドに表示されないようにするステップと、
を備えることを特徴とするゲーム制御方法。
【請求項８】
請求項１から５のいずれかに記載のゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御技術に関し、とくに、ゲームフィールドに配置されたオブジェクトを消去させるゲームを制御するゲーム制御プログラム、ゲーム装置、及びゲーム制御方法に関する。
【背景技術】
【０００２】
ゲームフィールドにおいて複数のオブジェクトを落下させ、所定の条件を満たすようにオブジェクトを並べて消去させる、パズルゲームが人気を博している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明者らは、より幅広い層のユーザが気軽に楽しむことが可能なゲームを実現するために、より簡易な操作でオブジェクトを消去させるインタフェースを用いたゲームを想到した。
【０００４】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、ゲーム制御プログラムに関する。このゲーム制御プログラムは、ごみとして掃除機により吸引すべきオブジェクトのデータを格納したオブジェクト管理テーブルを参照して、ゲームフィールドに前記オブジェクトと前記掃除機を配置したゲーム画面を生成する機能と、ユーザの指示入力に応じて前記掃除機を移動させる機能と、ユーザから前記掃除機による吸引を指示されると、掃除機のヘッドの位置から所定の範囲に前記掃除機による吸引力を作用させる機能と、前記オブジェクトごとに、前記吸引力を作用させ、オブジェクトを移動させる機能と、所定の条件に基づいて、掃除機のヘッドの近傍に存在するオブジェクトが、掃除機のヘッドに吸引されるか否かを判定する機能と、掃除機のヘッドに吸引されると判定されたオブジェクトを、以降、ゲームフィールドに表示されないようにする機能と、をコンピュータに実現させることを特徴とする。
【０００６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００７】
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態に係るゲーム装置の構成を示す図である。
【図２】表示装置に表示される画面の例を示す図である。
【図３】オブジェクト管理テーブルの内部データの例を示す図である。
【図４】オブジェクトデータベースの内部データの例を示す図である。
【図５】表示装置に表示された画面の例を示す図である。
【図６】表示装置に表示された画面の例を示す図である。
【図７】表示装置に表示された画面の例を示す図である。
【図８】表示装置に表示された画面の例を示す図である。
【図９】表示装置に表示された画面の例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態に係るゲーム装置は、ゲームフィールドに配置された埃、空き缶、空き袋などのゴミを、掃除機を操作して吸引することにより、部屋を掃除するゲームを提供する。簡易な操作でゴミを吸引することができるユーザインタフェースを提供することにより、幅広い層のユーザが気軽に楽しめるゲームを実現する。
【００１０】
図１は、実施の形態に係るゲーム装置１０の構成を示す。ゲーム装置１０は、コントローラ２０、入力受付部３０、制御部４０、オブジェクト管理テーブル６０、画面生成部６６、及び表示装置６８を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１１】
入力受付部３０は、プレイヤーが操作するコントローラ２０から入力される制御信号を受け付ける。制御部４０は、入力受付部３０が受け付けたプレイヤーからの操作入力に基づいて、ゲームフィールド内のオブジェクトの配置などを制御し、ゲームを進行させる。画面生成部６６は、制御部４０により制御されるゲームの画面を生成し、表示装置６８に表示させる。
【００１２】
図２は、表示装置６８に表示される画面の例を示す。表示画面７０には、掃除機７１と、ゴミとして掃除機７１により吸引されるべきオブジェクトとして、紙くず７５、空き缶７６、及びペン７７が表示されている。掃除機７１は、ヘッド７２と本体７３とを含み、ヘッド７２は本体７３に対して回転可能に接続されている。本実施の形態では、より現実感のあるゲームを実現するために、画面生成部６６は、仮想三次元空間内で掃除機７１を把持した仮想ユーザの目の位置を視点位置とし、掃除機７１のヘッド７２のやや前方を見下ろす方向に視線方向を設定して、オブジェクトが配置されたゲームフィールドをレンダリングして表示画面７０を生成する。表示画面７０の左上には、掃除すべき部屋の平面図７８が表示されており、掃除機７１の現在位置と、吸引されずに残っているゴミの分布が表示されている。ユーザは、この平面図７８により、部屋のどの部分を掃除すべきかを把握することができる。
【００１３】
図３は、オブジェクト管理テーブル６０の内部データの例を示す。オブジェクト管理テーブル６０には、オブジェクトＩＤ欄８０、位置欄８１、方向欄８２、種別欄８３、及びステータス欄８４が設けられている。オブジェクトＩＤ欄８０は、オブジェクトのＩＤを格納する。位置欄８１は、オブジェクトの位置を格納する。本実施の形態では、オブジェクトは全て床の上に配置されているので、高さ方向の座標は格納していないが、高さ方向の座標を更に格納してもよい。方向欄８２は、オブジェクトの方向を格納する。種別欄８３は、オブジェクトの種別を格納する。ステータス欄８４は、オブジェクトのステータスを格納する。オブジェクトのステータスには、例えば、「静止中」、「移動中」、「吸引済」などがある。
【００１４】
図４は、オブジェクトデータベース６２の内部データの例を示す。オブジェクトデータベース６２には、種別欄８５、画像データ欄８６、重量欄８７、静止摩擦係数欄８８、及び動摩擦係数欄８９が設けられている。オブジェクトデータベース６２は、オブジェクトの種別ごとに、オブジェクトの画像データと物理量を格納する。種別欄８５は、オブジェクトの種別を格納する。画像データ欄８６は、オブジェクトを表示する際に用いられる画像データのファイル名や格納場所などを格納する。重量欄８７は、オブジェクトの重量を格納する。静止摩擦係数欄８８は、オブジェクトの静止摩擦係数を格納する。動摩擦係数欄８９は、オブジェクトの動摩擦係数を格納する。重量、静止摩擦係数、動摩擦係数は、掃除機の吸引力が作用したときのオブジェクトの移動を制御するために用いられるものであるが、必ずしも現実のオブジェクトの重量、静止摩擦係数、動摩擦係数を反映したものでなくてもよく、ゲームに関連する様々な事情を考慮して設定されてもよい。
【００１５】
図１に戻り、制御部４０の説明を続ける。掃除機制御部４１は、掃除機のオンオフ及び移動を制御する。掃除機制御部４１は、コントローラ２０の所定のボタンが押下されている間、掃除機の吸引機能をオンにする。掃除機制御部４１は、掃除機がオンになっている間、自動的に掃除機を前進させる。これにより、ユーザの操作を簡略化することができる。掃除機制御部４１は、コントローラの所定のボタンが押下されていないときは、掃除機の吸引機能をオフにする。このとき、掃除機がオフになっていることをユーザが視覚的に把握できるように、掃除機を半透明にして表示するなど、掃除機がオンになっているときとは異なる表示態様にて表示してもよい。掃除機制御部４１は、コントローラ２０の十字キーの操作入力を受け付けて、掃除機のヘッドを前後左右に移動させる。掃除機制御部４１は、掃除機のヘッドの移動に合わせて、表示画面を生成するための視点位置及び視線方向を変更し、画面生成部６６へ通知する。
【００１６】
ヘッド制御部４２は、掃除機のヘッドの動きを制御する。前述したように、掃除機のヘッドは、本体に対して回転可能に接続されているので、ヘッドが障害物や壁などに接触したとき、ヘッド制御部４２はヘッドを本体に対して回転させる。ヘッド制御部４２は、オブジェクト管理テーブル６０を参照して、ヘッドのバウンディングボックスと、障害物や壁などのオブジェクトとの間の接触判定を行い、接触していると判定された場合、接触位置に働く力の大きさからヘッドの回転モーメントを算出し、ヘッドを回転させる。ヘッドが壁に接触した場合、ヘッド制御部４２は、ヘッドの本体とは逆側の辺が壁に接するようにヘッドを回転させる。このとき、掃除機制御部は、掃除機の移動速度から、ヘッドが接触している壁に平行な成分を算出し、ヘッドを壁に沿って移動させる。
【００１７】
例えば、図５に示すように、掃除機７１を壁７４の近傍で移動させているときに、ヘッド７２が壁７４に接触すると、ヘッド制御部４２は、図６に示すように、ヘッド７２を本体７３に対して回転させて、ヘッド７２が壁７４に沿って移動するようにする。これにより、現実の掃除機の挙動に類した挙動を実現することができるので、より現実感の高いゲームを提供することができる。
【００１８】
オブジェクト制御部４３は、オブジェクト管理テーブル６０及びオブジェクトデータベース６２を参照して、オブジェクトに掃除機による吸引力を作用させ、オブジェクトの移動を制御する。オブジェクト制御部４３は、掃除機がオンになっている間、掃除機のヘッドの現在位置から所定の範囲内に存在するオブジェクトをオブジェクト管理テーブル６０から抽出し、それらに対して掃除機による吸引力を作用させる。オブジェクト制御部４３は、計算の負荷を軽減させるために、表示画面７０に表示されているオブジェクトのみに吸引力を作用させてもよい。
【００１９】
掃除機による吸引力は、ヘッドの位置を中心として、ヘッドからの距離が大きいほど小さくなるように作用させてもよい。例えば、距離又は距離の二乗に反比例する吸引力を作用させてもよい。また、掃除機による吸引力は、ヘッドの位置を中心として、全方向に同じ力を作用させてもよいし、方向に応じて異なる力を作用させてもよい。例えば、ヘッドの前方の所定の角度の範囲内のみに吸引力を作用させてもよいし、ヘッドの前方には強い吸引力を作用させ、側方や後方には弱い吸引力を作用させてもよい。
【００２０】
オブジェクト制御部４３は、オブジェクト管理テーブル６０を参照して、ステータス欄が「静止中」のオブジェクトについては、オブジェクトの重量及び静止摩擦係数により算出される静止摩擦力と、掃除機による吸引力との大小を判定し、静止摩擦力よりも大きな吸引力が作用したときに、オブジェクトをヘッドの方向へ移動させる。このとき、オブジェクト制御部４３は、オブジェクト管理テーブル６０のステータス欄を「移動中」にするとともに、位置欄を更新する。オブジェクト制御部４３は、オブジェクトの移動中にオブジェクトを回転させてもよい。この場合、オブジェクト制御部４３は、オブジェクト管理テーブル６０の方向欄を更新する。
【００２１】
オブジェクト制御部４３は、オブジェクト管理テーブル６０のステータス欄が「移動中」のオブジェクトについては、オブジェクトの重量及び動摩擦係数により算出される動摩擦力と、掃除機による吸引力とから、オブジェクトに作用する力の大きさを算出し、オブジェクトの移動速度を算出して、オブジェクトを移動させる。オブジェクト制御部４３は、オブジェクト管理テーブル６０の位置欄を更新する。掃除機による吸引力の低下などにより、オブジェクトの移動速度がゼロになったときは、オブジェクト制御部４３は、オブジェクト管理テーブル６０のステータス欄を「静止中」にする。
【００２２】
上記の例では、オブジェクトの現実の挙動をより忠実に再現するために、オブジェクトの重量、静止摩擦係数、及び動摩擦係数を参照してオブジェクトの挙動を算出したが、計算を簡略化するために、オブジェクト制御部４３は、静止摩擦係数と動摩擦係数を区別せずに同じ値としてもよい。この場合、オブジェクト制御部４３は、オブジェクトの重量及び摩擦係数により算出される摩擦力と、オブジェクトに作用する吸引力から、オブジェクトが移動するか否かを判定し、オブジェクトが移動し始めた後も、オブジェクトの重量及び摩擦係数により算出される摩擦力と、オブジェクトに作用する吸引力から、オブジェクトの移動速度を算出する。オブジェクト制御部４３は、オブジェクトの重量のみを考慮してもよい。この場合、オブジェクト制御部４３は、オブジェクトの重量とオブジェクトに作用する吸引力から、オブジェクトが移動するか否かを判定し、オブジェクトが移動し始めた後も、オブジェクトの重量とオブジェクトに作用する吸引力から、オブジェクトの移動速度を算出する。これにより、計算を簡略化することができるので、大量のオブジェクトを配置しても計算負荷の増大を抑えることができる。
【００２３】
判定部４４は、掃除機がオンになっているときに、ヘッドの近傍に存在するオブジェクトが掃除機のヘッドに吸引されるか否かを判定する。判定部４４は、ヘッドの近傍に存在するオブジェクトのバウンディングボックスの長辺に平行な方向と、ヘッドの進行方向との間のなす角が所定の角度、例えば４５度以下であるときに、オブジェクトがヘッドに吸引されると判定する。これにより、細長いごみがヘッドにはじかれて吸引できない様子を再現することができ、より現実感の高いゲームを提供することができる。判定部４４は、一部のオブジェクトについてのみ吸引の可否を判定してもよい。この場合、オブジェクト管理テーブル６０に、吸引の可否を判定するオブジェクトか否かを示すデータを格納しておいてもよい。
【００２４】
図７において、ペン７７のバウンディングボックスの長辺方向に平行な直線９１と、ヘッドの進行方向に平行な直線９０とのなす角は、４５度よりも小さいので、ペン７７はヘッドに吸引される。しかし、空き缶７６のバウンディングボックスの長辺方向に平行な直線９２と、ヘッドの進行方向に平行な直線９０とのなす角は、４５度よりも大きいので、空き缶７６はヘッドに吸引されずにはじかれる。このとき、オブジェクト制御部４３は、図８に示すように、空き缶７６がヘッドに衝突し、はじかれて移動するように制御してもよい。オブジェクトデータベース６２に、オブジェクトの反発係数を更に格納してもよく、その場合、オブジェクト制御部４３は、空き缶７６とヘッドの反発係数から衝突直後の空き缶７６の挙動を算出してもよい。衝突後の空き缶７６の挙動は、空き缶７６の重量及び動摩擦係数を用いて、衝突前と同様に算出されてもよい。
【００２５】
判定部４４は、オブジェクトがヘッドに吸引されると判定した場合、オブジェクト管理テーブル６０の吸引されたオブジェクトのステータス欄を「吸引済」に変更する。画面生成部６６は、オブジェクト管理テーブル６０を参照して、オブジェクトが配置されたゲームフィールドの画像を生成する際に、ステータス欄が「吸引済」であるオブジェクトはゲームフィールドに配置しない。これにより、掃除機のヘッドに吸引されたオブジェクトは、以降、画面に表示されなくなる。判定部４４は、オブジェクト管理テーブル６０の吸引されたオブジェクトのレコードを削除してもよい。
【００２６】
オブジェクト制御部４３は、オブジェクトがヘッドに吸引されなかった場合、掃除機がそれまでに吸引していたオブジェクトをヘッドから吐き出させてもよい。この場合、オブジェクト制御部４３は、吐き出させるオブジェクトを決定し、そのオブジェクトのステータス欄を「静止中」又は「移動中」にし、位置欄にヘッドの近傍の位置を格納し、方向欄にランダムに設定した方向を格納する。
【００２７】
また、オブジェクト制御部４３は、オブジェクトがヘッドに吸引されなかった場合、図９に示すように、そのオブジェクトの内部に隠されていた別のオブジェクト７９を外部に飛び出させてもよい。例えば、空き缶や空き袋から中身が飛び出す様子を再現してもよい。このような挙動を実現するために、オブジェクト管理テーブル６０に、オブジェクトの内部に別のオブジェクトが隠されているか否かを示す情報と、隠されている別のオブジェクトの情報を格納しておく。オブジェクト制御部４３は、オブジェクトがヘッドに衝突してはじかれたときに、オブジェクト管理テーブル６０を参照して、そのオブジェクトの内部に別のオブジェクトが隠されているか否かを判定する。内部に別のオブジェクトが隠されていれば、オブジェクト制御部４３は、隠されていた別のオブジェクトが外部に飛び出す（発生する）様子を表示させるとともに、飛び出した（発生した）オブジェクトのデータを新たにオブジェクト管理テーブル６０に登録し、以降、吸引すべきオブジェクトとして画面に表示させる。
【００２８】
オブジェクト制御部４３は、オブジェクトがヘッドに吸引されるときに、そのオブジェクトの内部に隠されていた別のオブジェクトを外部に飛び出させてもよい。この場合も、オブジェクト制御部４３は、飛び出したオブジェクトのデータを新たにオブジェクト管理テーブル６０に登録し、以降、吸引すべきオブジェクトとして画面に表示させる。
【００２９】
オブジェクト制御部４３は、オブジェクトがヘッドに吸引される際に、オブジェクトの形状を変更してもよい。例えば、サイズが大きいオブジェクトがヘッドに吸引される際に、つぶれて小さくなる様子をブレンドシェイプアニメーションを用いて表現してもよい。
【００３０】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００３１】
１０  ゲーム装置、２０  コントローラ、３０  入力受付部、４０  制御部、４１  掃除機制御部、４２  ヘッド制御部、４３  オブジェクト制御部、４４  判定部、６０  オブジェクト管理テーブル、６２  オブジェクトデータベース。
【図１】
2011000148.tif 000003
【図２】
2011000148.tif 000004
【図３】
2011000148.tif 000005
【図４】
2011000148.tif 000006
【図５】
2011000148.tif 000007
【図６】
2011000148.tif 000008
【図７】
2011000148.tif 000009
【図８】
2011000148.tif 000010
【図９】
2011000148.tif 000011