ゲームプログラム、ゲーム装置、及び、ゲームプログラムを記録した記録媒体
【課題】ゲームマップを簡単に作成できるようにする
【解決手段】ゲームプログラムは、コンピュータ211を、ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースの候補を1又は複数記憶する記憶手段502、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段504、ゲームマップに対して予め設定した区分数の所定領域毎に、輝度画像の値を検出する検出手段506、検出手段506により検出した値に基づいて、前記所定領域のいずれかにマップピースを配置する配置手段508、として機能させる。
【解決手段】ゲームプログラムは、コンピュータ211を、ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースの候補を1又は複数記憶する記憶手段502、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段504、ゲームマップに対して予め設定した区分数の所定領域毎に、輝度画像の値を検出する検出手段506、検出手段506により検出した値に基づいて、前記所定領域のいずれかにマップピースを配置する配置手段508、として機能させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、ゲームプログラム、ゲーム装置、及び、ゲームプログラムを記録した記録媒体に関する。
【背景技術】
【0002】
プレイヤがプレイヤキャラクタを操作して複数の部屋や通路からなるパターンが複数配置されたマップを進んでいくゲームにおいて、プレイヤ自らが部屋や通路のパターンを選択したり、そのサイズを指定したりすることにより、マップを作成し、自由度の高いゲーム展開を可能にさせる方法が知られている(例えば、下記の特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−140933号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のような方法では、プレイヤが、マップに配置する部屋や通路のパターンやサイズを全て指定しなければならない。そのため、プレイヤがマップを作成する際、非常に手間が掛かってしまう。
【0005】
本発明の目的の一つは、ゲームマップを簡単に作成できるようにすることにある。
【0006】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【0007】
本発明のゲームプログラムの一態様は、プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、前記コンピュータを、前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段、前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段、前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段、として機能させる。
【0008】
ここで、前記マップピースは複数種類からなり、前記配置手段は、配置するマップピースに対応する所定領域の周囲の所定領域の前記値の検出状況に応じて、当該マップピースの種類を決定する、ようにしてもよい。
【0009】
また、前記ゲームプログラムは、前記コンピュータを、難易度を決定する難易度決定手段として更に機能させ、前記配置手段は、前記難易度に応じて、前記マップピースの種類を決定する、ようにしてもよい。
【0010】
さらに、前記配置手段は、前記マップピースが隣接して配置された一のマップピース群と他のマップピース群との最短距離に対応する位置の所定領域に、当該一のマップピース群と当該他のマップピース群とを連結するマップピースを配置する、ようにしてもよい。
【0011】
また、前記ゲームプログラムは、前記コンピュータを、前記ゲームマップ内に前記キャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する設定手段として更に機能させ、前記設定手段は、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上に前記スタート地点を設定し、他方のマップピース上に前記ゴール地点を設定する、ようにしてもよい。
【0012】
さらに、前記ゲームプログラムは、前記コンピュータを、前記輝度画像生成手段により生成された輝度画像を異なる前記区分数の所定領域にそれぞれ当てはめる当てはめ手段として更に機能させ、前記当てはめ手段は、前記難易度決定手段により決定した難易度に応じて前記当てはめに用いる前記区分数の所定領域を選択する、ようにしてもよい。
【0013】
また、前記ゲームプログラムは、前記コンピュータを、加速度を検出する加速度検出手段として更に機能させ、前記難易度決定手段は、前記加速度検出手段により検出した加速度の値が大きいほど難易度を高く決定する、ようにしてもよい。
【0014】
さらに、本発明のゲーム装置の一態様は、プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームを実行するゲーム装置であって、前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段と、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段と、前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段と、前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段と、を備える。
【0015】
また、本発明の記録媒体の一態様は、上述したゲームプログラムを記録した記録媒体である。
【0016】
さらに、本発明のゲームプログラムの一態様は、プレイヤからの入力操作に基づき、ゲームフィールドに設定されたコースでキャラクタオブジェクトを移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、前記コンピュータを、画像データを所定数に区分し、当該区分毎の前記画像データのカラー情報を記憶する記憶手段、前記ゲームフィールドを平面で表現するマップ上に設けた各領域と前記区分とを対応させ、前記区分のカラー情報に基づいて、当該区分に対応する領域に前記コースの一部を成すピースを設定する設定手段、として機能させる。
【0017】
ここで、前記設定手段は、複数の前記ピースを組み合わせた一のピース群と他のピース群とを繋ぐピースを設定する、こととしてもよい。
【図面の簡単な説明】
【0018】
【図1】一実施形態に係るゲーム装置の前面外観例を示す平面図である。
【図2】図1に例示するゲーム装置の外観を示す背面外観例を示す平面図である。
【図3】図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。
【図4】図3に例示するメモリモジュールの内容の一例を示す図である。
【図5】図1及び図2に例示するゲーム装置の機能的構成を説明するブロック図である。
【図6】本実施形態のゲーム装置においてゲームマップを作成する手順を説明するフローチャートである。
【図7】本実施形態のゲームマップ作成手順を説明するための図である。
【図8】本実施形態のゲームマップ作成手順を説明するための図である。
【図9】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図10】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図11】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図12】本実施形態のゲームマップ作成手順を説明するための図である。
【図13】本実施形態のゲームマップ作成手順を説明するための図である。
【図14】本実施形態のゲームマップ作成手順を説明するための図である。
【図15】本実施形態のゲームマップ作成手順を説明するための図である。
【図16】本実施形態のゲームマップ作成手順を説明するための図である。
【図17】本実施形態のゲームマップ作成手順を説明するための図である。
【図18】本実施形態のマップピースのリスト例を示す図である。
【図19】本実施形態のマップピースのリスト例を示す図である。
【図20】本実施形態のマップピースのリスト例を示す図である。
【図21】本実施形態のマップピースのリスト例を示す図である。
【図22】本実施形態のマップピースのリスト例を示す図である。
【図23】本実施形態のマップピースのリスト例を示す図である。
【図24】本実施形態のマップピースのリスト例を示す図である。
【図25】本実施形態のマップピースの一例(コースの傾斜)を示す図である。
【図26】本実施形態のマップピースの一例(段差:コースの凸凹)を示す図である。
【図27】本実施形態のマップピースの一例(段差:コースの高低差)を示す図である。
【図28】本実施形態のマップピースの一例(ギミック:動く床)を示す図である。
【図29】本実施形態のマップピースの一例(ギミック:バンパー)を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施例を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0020】
(ゲーム装置の構成例)
図1は、一実施形態に係るゲーム装置の前面外観を示す平面図であり、図2は、同ゲーム装置の背面外観例を示す平面図である。図1及び図2に例示するゲーム装置100は、ハウジング110によりその外観を略規定されている。本例では、スーパーオーバル形状のハウジング110が採用され、ユーザが両手で把持しやすい程度の大きさにハウジング110が設計されている。なお、図1及び図2には図示していないが、ハウジング110の内部には、ゲーム装置100を統括的に制御する制御部の一例であるコンピューティングデバイス210が収納されている。
【0021】
ゲーム装置100は、ハウジング110の前面略中央部に配置されたタッチスクリーン220(タッチパネル)を備える。タッチスクリーン220は、例示的に、ディスプレイ(スクリーン)221上に透過性のタッチセンサ222を配した、表示及び入力機能を備える装置である。タッチスクリーン220の一例、マルチタッチに対応した有機ELディスプレイである。ただし、これに限定されない。
【0022】
ハウジング110の左右両端部には複数の操作ボタン260を配置してよい。当該操作ボタンの配置位置は、例えば、ユーザが両手でハウジング110を把持した場合に親指が当接する左右それぞれの位置に相当する。操作ボタン260の一例として、十字ボタン及び丸形ボタンがハウジング110の左右両側に配置されている。また、左右の操作ボタンセット近傍には、それぞれオーディオ出力ユニット230を配置してよい。
【0023】
ゲーム装置100は、外部記憶媒体にアクセスするための外部メディアユニット240(図3参照)を備えてよい。外部記憶媒体の一例は、メモリカードやUSB(Universal Serial Bus)メモリ等であり、ゲームプログラム及び各種のデータを記録することができる。該記憶媒体には、様々な規格の媒体を採用してよい。外部記憶媒体を着脱するため、ゲーム装置100のハウジング110には、外部記憶媒体の接続に適当な外部メディアスロットを設けてよい。
【0024】
また、ゲーム装置100は、ネットワーク通信を実現する通信ユニット250を備えてよい。ネットワーク通信の一例は、例えば、3GやWiFiといった無線通信規格に準拠した通信である。ただし、これらに限定されない。
【0025】
さらに、ゲーム装置100は、図1に例示するように前面(内側)カメラ270を備えてよく、また、図2に例示するように背面(外側)カメラ290を備えてもよい。前面カメラ270は、例示的に、操作ボタンセットの一方(図1において右側)の近傍に設けられている。前面カメラ270は、ハウジング110前面を成す平面の法線方向を撮影(撮像)方向とし、当該撮影方向にある撮影対象(例えばプレイヤ自身)を撮影することができる。
【0026】
これに対し、背面カメラ290は、例示的に、図2においてハウジング110の縁部中央近傍に設けられている。背面カメラ290は、ハウジング110背面を成す平面の法線方向を撮影方向とし、当該撮影方向にある撮影対象を撮影することができる。
【0027】
なお、カメラ270及び290の一方又は双方は、撮影対象を平面的に撮影する2Dカメラでもよいし、撮影対象を立体的に撮影可能ないわゆる3D対応のカメラとしてもよい。
【0028】
次に、図3は、図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。図3に示すように、本実施形態のゲーム装置100は、例示的に、コンピューティングデバイス210、タッチスクリーン220、オーディオ出力ユニット230、外部メディアユニット240、通信ユニット250、操作ボタン260、前面カメラ270、加速度センサ280、及び、背面カメラ290を備える。
【0029】
コンピューティングデバイス210は、ゲーム装置100を統括的に制御する。
【0030】
タッチスクリーン220は、例えば、ゲームを表現あるいは演出するための画像(例えば、静止画、動画、映像等)を表示し、また、ユーザ(プレイヤ)のタッチ操作による入力を受け付ける。
【0031】
オーディオ出力ユニット230は、例えば、ゲームを表現あるいは演出するためのサウンド(例えば、音楽、音声、効果音等)を出力する。
【0032】
外部メディアユニット240は、外部記憶媒体に対するアクセスを可能にする。
【0033】
通信ユニット250は、サーバコンピュータや他のゲーム装置100とネットワーク通信を可能にする。
【0034】
操作ボタン260は、タッチスクリーン220によるユーザ入力に代え、またはその入力を補完するために用いられる。
【0035】
コンピューティングデバイス210は、各種のプロセッサ及びメモリ等からなる、例えばチップセットを含むコンピュータ回路要素である。本実施形態のコンピューティングデバイス210は、例示的に、プロセッサコア211と、メモリモジュール212と、グラフィックスエンジン213と、サウンドエンジン214と、I/Oコントローラ215と、これらを接続するシステムバス216とを含む。また、コンピューティングデバイス210は、動画像を高速に処理するためのメディアエンジンを備えてもよい。
【0036】
プロセッサコア211は、コンピューティングデバイスのメインプロセッサとして機能するチップである。ここでは、「プロセッサコア」という用語は、メインプロセッサを意味するプロセッサやCPU、MPU等と同義のものとして扱うことができる。
【0037】
プロセッサコア211は、例えば、メモリモジュール212上に展開されたゲームプログラムを実行し、コンピューティングデバイス210に各種の機能を実現させる。言い換えれば、コンピューティングデバイス210は、プロセッサコア211の制御の下、ゲームプログラムを実行することにより、他のハードウェアユニット/コンポーネントと協働して、ゲーム装置100においてゲームを実現する。
【0038】
ゲームプログラムは、例えば、プロセッサコア211の制御の下で実現されるオペレーティングシステム(OS)の制御の下で、実行されてもよい。プロセッサコア211は、シングルコアでもよいしマルチコアでもよい。プロセッサコア211は、図示しない複数次のデータキャッシュを含んでよい。
【0039】
また、プロセッサコア211は、図示しない浮動小数点プロセッサ(FPU)やベクトル浮動小数点プロセッサ(VFPU)等を接続し、これらと協働して、ゲームプログラムを実行するように構成されてもよい。
【0040】
メモリモジュール212は、ゲームの実行に用いられる各種のプログラム及びデータを記憶する。図4に、メモリモジュール212の内容の一例を示す。
【0041】
メモリモジュール212は、例えば、DRAMに代表される揮発性メモリ、マスクROMに代表される書き換え不能な不揮発性メモリ、及びフラッシュメモリに代表される書き換え可能な不揮発性メモリのいずれか又はこれらの適宜の組み合わせで構成してよい。
【0042】
揮発性メモリは、例示的に、プロセッサコア211のメインメモリに供され、例えば、ゲームプログラム及びゲームデータの一部又は全部を必要に応じて記憶する。
【0043】
不揮発性メモリは、例えば、BIOSや、OSプログラム、デバイスドライバ、ゲーム装置100の制御に必要なシステムデータ、グラフィックデータ、カメラ270及び/又は290で撮影した画像データ等を記憶する。
【0044】
グラフィックデータには、1又は複数の「マップピース(又はマップパート)」が含まれてよい。「マップピース」は、タッチスクリーン220に表示されるゲームフィールドに設定(あるいは配置)されるゲームマップの一部を成すピースオブジェクトである。複数のマップピースを組み合わせて繋げることで、ゲームマップ上に、ゲーム装置100のプレイヤの操作入力に応じてキャラクタオブジェクトが移動又は行動するゲームコース(以下、単に「コース」ともいう。)を設定できる。
【0045】
複数のマップピースは1種類でもよいし複数種類でもよい。複数種類あった方がコースのバリエーションを増やすことができる。マップピースの種類の非限定的な一例としては、平面視において矩形状、I字状、L字状、V字状、Y字状や、それぞれについて太さ(幅)が異なる形状等が挙げられる。詳細については、図18〜図29により後述する。キャラクタオブジェクトは、人物、動物、物体等を模擬して表現されてよい。
【0046】
不揮発性メモリは、マスクROMを採用することなく、その全てがフラッシュメモリで構成されてもよい。また、メモリモジュール212の全てをフラッシュメモリ等の書き換え可能な不揮発性メモリで構成してもよい。ゲーム装置100の外部メディアスロット外部記憶媒体もまた、メモリモジュール212の一部として供されてもよい。
【0047】
図3に戻り、グラフィックスエンジン213は、プロセッサコア211の制御の下、各種のグラフィックス処理を行なう。グラフィックスエンジン213は、例示的に、グラフィックコア2131及びグラフィックメモリ2132を含んでよい。
【0048】
グラフィックコア2131は、2D及び/又は3Dのコンピュータグラフィックス(CG)を生成、描画する機能を有するグラフィックプロセッサの一例であり、ビデオディスプレイプロセッサ(VDP)やグラフィックプロセッシングユニット(GPU)と称されることもある。
【0049】
グラフィックコア2131は、グラフィックメモリ2132に記憶されるグラフィックデータを読み出して、各種のグラフィック処理(例えば、ジオメトリ処理、レンダリング処理、テクスチャマッピング処理等)を行なって、画像データを生成することができる。
例示的に、グラフィックコア2131は、ポリゴンのジオメトリ(座標)を計算するジオメトリプロセッサと、ジオメトリ計算されたポリゴンをラスタライズ/レンダリング(描画)するレンダリングプロセッサとを含んでよい。また、グラフィックコア2131は、描画された画像をタッチスクリーン220等に出力するため、ビデオエンコーダやHDMI(High-Definition Multimedia Interface)等を備えていてもよい。
【0050】
ジオメトリプロセッサは、例えば、ポリゴンの2次元又は3次元のゲーム空間での座標について、行列の回転や拡大等を実施して、アフィン変換等を行ない、ポリゴンの座標を求める。また、ジオメトリプロセッサは、ポリゴンの分割やスプライン補完等のテッセレーションを行なう、「ジオメトリシェーダ」(又はバーテックスシェーダ)を備えてもよい。
【0051】
レンダリングプロセッサは、例えば、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリに描画する。各種効果の一例としては、プログラマブル・シェーダ等を用いて、光点・影(シェーディング)計算、明暗の表現、半透明、ぶれ、霧、ぼかし、HDR(ハイダイナミックレンジ合成)等の計算が挙げられる。
【0052】
ポリゴンの種類の一例としては、点ポリゴン(ポイント)、線ポリゴン(ラインリスト)、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等が挙げられる。加えて、レンダリングプロセッサがレイ・トレーシング等を用いて描画を行なう際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
【0053】
なお、以上のグラフィックコア2131による画像処理の一部又は全部は、プロセッサコア211で処理するようにしてもよい。グラフィックコア2131によって生成された画像データは、ビデオエンコーダ等のビデオインターフェース回路によって所定のビデオ信号に変換され、タッチスクリーン220に出力される。
【0054】
サウンドエンジン214は、プロセッサコア211の制御の下、サウンドメモリ(図示せず)に記憶されるサウンドデータに対して、適宜、各種のサウンド処理(例えば、エフェクト処理、ミキシング処理等)を施す。サウンドエンジン214は、音楽や音声や効果音を出力するためのPCM(Wave)音源等を備えたデジタルシグナルプロセッサ(DSP)等でもよく、また、物理演算音源、FM音源等の計算を行ない、残響や反射等の各種音声効果を計算することもできる。サウンドエンジン214によって処理されたサウンドデータは、図示しないサウンドインターフェース回路によって所定のオーディオ信号に変換され、オーディオ出力ユニット230に出力される。なお、サウンドエンジン214は、図示しないマイクから入力された音声の認識等をサポートしてもよい。
【0055】
I/Oコントローラ215は、外部の様々なユニットとの入出力を制御するインターフェース回路の一例である。I/Oコントローラ215には、タッチセンサ222、操作ボタン260、外部メディアユニット240、及び通信ユニット250を接続することができる。I/Oコントローラ215は、接続された各種のユニットから与えられる外部信号をコンピューティングデバイス210内の内部データに変換し、また、内部データを各種のユニットに適した外部信号に変換する。
【0056】
タッチスクリーン220は、ユーザインターフェースデバイスの一例であり、ディスプレイ(スクリーン)221及び当該ディスプレイ221のサイズに略一致するように形成された透過性のタッチセンサ222を含んでよい。タッチスクリーン220は、コンピューティングデバイス210の制御の下、ゲーム画像を表示して、ユーザによるインタラクティブなタッチ操作を受け付けることができる。
【0057】
ディスプレイ221は、グラフィックスエンジン213からのビデオ信号に基づいて、画像(例えば、静止画、動画、映像等)をディスプレイ221上に表示する。ディスプレイ221は、2D表示に対応するものでもよいし3D表示に対応するものでもよい。
【0058】
タッチセンサ222は、ユーザによるタッチ操作に応じた操作信号を出力する。ユーザのタッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。タッチセンサ222は、例えば、静電容量タイプのものを採用することができるが、これに限定されない。
【0059】
タッチセンサ222から出力された操作信号は、コンピューティングデバイス210に入力される。コンピューティングデバイス210は、タッチセンサ222からの操作信号を検出すると、ゲームに対する操作として解釈し、これに応じた処理が実行される。
【0060】
例えば、コンピューティングデバイス210は、タッチセンサ222からの操作信号に基づいて、ディスプレイ221上の位置情報を算出し、ゲーム画像及び時間情報と相まって、操作アクションを決定するために用いられる。本実施形態のゲーム装置100は、複数の指(又はスタイラス)によるマルチタッチ操作を受け付けることができる。
【0061】
オーディオ出力ユニット230は、オーディオ出力デバイスの一例であり、ゲームの進行状況に合わせて、ユーザにゲーム音を提供する。オーディオ出力ユニット230は、サウンドエンジン214からのオーディオ信号に基づいて、音(例えば、音声、音楽、効果音等)を発生させる。
【0062】
外部メディアユニット240は、メディアインターフェースデバイスの一例であり、コンピューティングデバイス210が外部記憶媒体にアクセスすることを可能にする。外部記憶媒体は、既述のメモリカードやUSBメモリの他、ハードディスクドライブ(HDD)、フラッシュメモリ、SRAM(Static Random Access Memory)、磁気テープ装置、光ディスク装置等であってもよい。外部記憶媒体には、ゲームの実行に用いられるゲームプログラム、パラメータ等の各種データを記憶することができる。コンピュータの一例であるゲーム装置100は、外部記憶媒体からゲームプログラム等を読み取ってメモリモジュール212に転送し格納して用いる。
【0063】
ゲームプログラム等は、コンピュータ読取可能な記録媒体に記録された形態で提供することができる。記録媒体には、例えば、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blue-ray Disk)、ROMカートリッジ、バッテリバックアップ付きRAMカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれてよい。また、ゲームプログラム等は、通信ユニット250により通信ネットワーク経由でゲーム装置100に提供してもよい。
【0064】
なお、「コンピュータ」とは、例えば、ハードウェアとオペレーティングシステム(OS)とを含む概念であり、OSの制御の下で動作するハードウェアを意味することがある。また、OSが不要でプログラム単独でハードウェアを動作可能な場合には、そのハードウェアがコンピュータに相当するとみることができる。ハードウェアは、CPU等の演算装置と、記録媒体に記録されたプログラムを読み取り可能な読み取り装置とを含むことができる。
【0065】
ゲームプログラム等は、上述のようなコンピュータに、ゲーム装置100としての機能を実現させるプログラムコードを含んでいる。その機能の一部はプログラムではなくOSによって実現されてもよい。
【0066】
通信ユニット250は、通信ネットワークを通じてゲーム装置100が他のゲーム装置やコンピュータと通信することを可能にする。通信ネットワークは、無線ネットワークでも有線ネットワークでもよい。通信ネットワークの一例としては、無線LANや、3G、WiMax(登録商標)、Bluetooth(登録商標)、c.Link(登録商標)、HDMI(登録商標)、有線LAN、電話線、携帯電話網、PHS網、電灯線ネットワーク、IEEE1394等に準拠したネットワークが挙げられる。
【0067】
通信ユニット250を介して、ゲーム装置100は、他のゲーム装置100やサーバ(図示省略)と適宜に通信することができる。これにより、例えば、通信可能に接続されている他のゲーム装置のプレイヤとの対戦ゲーム(対戦などの競争を行なうゲーム。以下、同じ。)や、共同ゲーム(協力して課題を解決するゲーム。以下、同じ。)の実施が可能になる。また、複数のゲーム装置100が通信可能に接続されることで、サーバを介して、点数、得点等のゲームスコアの集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行なったり、ランキングを集計したりすることも可能になる。
【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の機能的構成例)
次に、図5に、本実施形態のゲーム装置100の機能的構成例を示す。図5は、コンピューティングデバイス210のプロセッサ(プロセッサコア211)がゲームプログラムを実行することにより、他のハードウェア及び/又はソフトウェアと協働して、ゲーム装置100において実現される各種の機能的手段の構成例を示している。
【0074】
図5に示すように、ゲーム装置100は、例示的に、記憶部502、輝度画像生成部504、値検出部506、及び、マップピース配置部508としての機能的手段を備える。また、ゲーム装置100は、加速度検出部510、ゲーム難易度決定部512、グリッド分割部514、及び、スタート/ゴール設定部516としての機能的手段を追加的に備えてもよい。
【0075】
記憶部502は、例えば図3及び図4に例示したメモリモジュール212に対応させることができ、ゲームフィールドを平面的に表現するゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースの候補を1又は複数記憶する。既述のように、「複数のマップピース」は1種類でもよいし複数種類でもよく、「マップピースの種類」の非限定的な一例としては、平面視において矩形状、I字状、L字状、V字状、Y字状や、それぞれについて太さ(幅)が異なる形状等が挙げられる。「マップピース」の一例については、図13〜図29により後述する。
【0076】
ゲームマップの作成に用いられる画像は例えばカラー画像であり、カラー情報が含まれてよい。カラー情報には、RGB(赤・緑・青)、CMY(シアン・マゼンタ・イエロー)、輝度、色合い、鮮やかさ、明るさ等の情報が含まれてよく、また、それぞれの平均値や代表ピクセルの値等が含まれてよい。この場合、記憶部502には、画像データを所定数に区分し、当該区分毎の画像データのカラー情報を記憶してもよい。
【0077】
輝度画像生成部504は、画像データを読み込み、当該画像データから輝度画像(データ)を生成する。輝度画像は、読み込んだ画像データを二値化することで生成してもよいし、グレースケール化することで生成してもよい。
【0078】
値検出部506は、ゲームマップに対して予め設定した区分数の所定領域(図9〜図12により後述するグリッドが一例である)毎に、輝度画像生成部504によって生成された輝度画像の値(例えば二値化した画像であれば1及び0)を検出する。なお、例えば、検出値が「1」であれば対応するグリッドにマップピースが配置され(マップピース有り)、検出値が「0」であれば対応するグリッドにマップピースは配置されない(マップピース無し)。
【0079】
マップピース配置部508は、値検出部506により検出した値に基づいて、グリッド毎にマップピースを配置する。別言すると、マップピース配置部508は、ゲームマップ上に設けた各領域(グリッドが一例である)と前記区分とを対応させ、カラー情報を画像データの区分毎に記憶した記憶部502における当該区分のカラー情報に基づいて、当該区分に対応する領域にコースの一部を成すピースを設定する設定部として機能する。
【0080】
マップピース配置部508は、配置するマップピースに対応するグリッドの周囲のグリッドの値検出部506による値(例えば、1/0)の検出状況に応じて、配置するマップピースの種類(例えば、矩形状、I字状、Y字状、L字状等)を決定する。これにより、マップピース群が成すコースにバリエーションをもたせることができ、ゲームの興趣性を向上できる。なお、例えば、着目グリッドの値が「1」(マップピース有り)で当該着目に隣接する周囲8つのグリッドの値も全て「1」(マップピース有り)であれば、着目グリッドには、矩形状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する上下2つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、I字状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する左上、右上、下3つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、Y字状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する上、右2つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、L字状のマップピースが選出される。
【0081】
加速度検出部510は、図3に例示した加速度センサ280に対応し、ゲーム装置100に与えられる加速度を検出する。
【0082】
ゲーム難易度決定部512は、加速度検出部510により検出した加速度の値が大きいほどゲームの難易度を高く決定することができる。ゲーム難易度決定部512で決定した難易度に応じて、マップピース配置部508は、配置するマップピースの種類(例えば、後述する傾斜、凸凹、段差、ギミック等)を決定することもできる。詳細については後述する。
【0083】
したがって、コースに更なるバリエーションをもたせることができるので、ゲームの興趣性を更に向上することができる。また、ゲーム装置100を振る等して加速度をゲーム装置100に与えることでゲームの難易度を調整できるので、ゲームマップを作成する際の興趣性も向上できる。
【0084】
グリッド当てはめ部514は、輝度画像生成部504により生成変換された輝度画像を異なるサイズのグリッドにそれぞれ当てはめる(対応付ける)(例えば図9及び図10参照)。最終的にいずれのサイズのグリッドを適用(選択)するかは、ゲーム難易度決定部512で決定した難易度に応じて決定することができる。
【0085】
なお、マップピース配置部508は、マップピースが隣接して配置された一のマップピース群(例えば後述する「島」が一例である)と他のマップピース群との最短距離に対応する位置のグリッドに、当該一のマップピース群と当該他のマップピース群と(別言すると、「島」同士)を接続(あるいは連結)するマップピース(以下「連結ピース」ともいう)を配置することもできる。したがって、連結対象のマップピース群を一義的に定めて連結ピースを配置することができ、ゲーム装置100の処理負荷軽減に寄与する。
【0086】
スタート/ゴール設定部516は、ゲームマップ内にキャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する。その際、スタート/ゴール設定部516は、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上にスタート地点を設定し、他方のマップピース上にゴール地点を設定することができる。
【0087】
これにより、プレイヤキャラクタがあまりに簡単にゴール地点へ辿り付けるようなコース設定がなされにくくなるので、ゲームの興趣性を向上できる。また、検索条件が「最も遠距離同士」なのでゲーム装置100の処理負荷も軽減できる。
【0088】
(ゲーム装置100の動作例)
以下、上述のごとく構成されたゲーム装置100(コンピューティングデバイス210)の動作例として、ゲームマップの作成方法について、図6〜図29を参照して詳述する。
【0089】
図6は、ゲーム装置100においてゲームマップを作成する手順を説明するフローチャートである。まず、図6に例示するように、ゲーム装置100のユーザは、ゲーム装置100の例えば背面カメラ290によってゲームマップ化したい撮影対象を撮影する(処理P110)。
【0090】
撮影対象は、物体、人物、風景等なんでもよい。撮影された画像は、コンピューティングデバイス210(図3参照)のシステムバス216を通じてメモリモジュール212に画像データとして一時的に記憶される(図4参照)。撮影された画像は例えばカラー画像であり、カラー情報が含まれてよい。カラー情報には、RGB(赤・緑・青)、CMY(シアン・マゼンタ・イエロー)、輝度、色合い、鮮やかさ、明るさ等の情報が含まれてよく、また、それぞれの平均値や代表ピクセルの値等が含まれてよい。
【0091】
コンピューティングデバイス210(例えばプロセッサコア211。以下同様。)は、次に、撮影された画像データをメモリモジュール212から読み込んで、当該画像データを所定サイズ(例えば400×400ピクセル)に切り出す(処理P120)。切り出された画像(データ)の一例を図7に例示する。図7の例では、3種類の物体(四角形、楕円等)が画像に含まれており、例えば四角形は青、楕円は赤、背景は水色といったようにカラー情報を含んでいる。
【0092】
さらに、コンピューティングデバイス210は、例えば輝度画像生成部504(図5参照)としての機能により、切り出した画像(データ)のカラー情報(例えば輝度情報)を調整することで、二階調化(二値化)した画像(輝度画像)を生成する(処理P130)。
【0093】
二値化された画像(データ)の一例を図8に示す。カラー画像データを二値化することで、例えばカメラ290のホワイトバランス機能等の自動補正機能によって画像データが補正されていたとしても、その影響を低減あるいは無くして、撮影画像に含まれる例えば物体等と背景とを鮮明に区別できる画像になる。
【0094】
このようにして生成された輝度画像(データ)(以下「二値化画像」ともいう。)は、次に第1の画像解析処理(P140)に供される。当該画像解析処理において、コンピューティングデバイス210は、例えば値検出部506(図5参照)としての機能により、二値化画像の輝度の中間値を算出し、中間値未満の輝度のピクセルを含む部分を、マップピース(あるいはマップパート)を配置する部分であると判定し、中間値未満の輝度のピクセルを含まない部分を、マップピースを配置しない部分であると判定する。なお、「マップピース」は、作成すべきゲームマップ(オブジェクト)の一部(例えばプレイヤキャラクタが進むコース等)を成すオブジェクトを意味する。
【0095】
次いで、コンピューティングデバイス210は、例えばグリッド当てはめ部514(図5参照)としての機能により、例えば図8に例示した二値化画像を図9(A)及び図9(B)に例示するように予め設定された2種類の区分数(例えば20×20と16×16)のグリッド(升目)にそれぞれ当てはめ又は対応付ける(処理P150)。なお、1グリッドは、例示的に、仮想ゲーム空間において5(m)×5(m)の区分数(以下「サイズ」ともいう。)に相当する。したがって、「20×20のグリッド」及び「16×16のグリッド」は、仮想ゲーム空間においてそれぞれ「100(m)×100(m)」及び「80(m)×80(m)」のサイズに相当する。ただし、当該サイズに限られない。なお、本例では、16×16のサイズのグリッドが、撮影対象の原型を表現可能な最小サイズであると想定している。したがって、ユーザの意図しないゲームマップが最終的に生成されてしまう確率を低減できる。ただし、最小サイズはこれに限られない。コンピューティングデバイス210の処理能力によるが、処理能力が高ければ、撮影対象の原型を表現可能な範囲で最小サイズをより小さくしてもよい。
【0096】
そして、コンピューティングデバイス210は、例えばマップピース配置部508(図5参照)としての機能により、二値化画像において、マップピースを配置するグリッドと、そうでないグリッドとをグリッド毎に判別(あるいは検出)する。
【0097】
その際、輝度の中間値未満のピクセルが少しでも含まれるグリッドは、マップピースを配置するグリッドであるとする。例えば図10に示すように、コンピューティングデバイス210は、上記中間値未満の輝度のピクセルを含むグリッドを、マップピースを配置するグリッド(「1:マップピース有り」)と判別(検出)し、上記中間値未満の輝度のピクセルを含まないグリッドを、マップピースを配置しないグリッド(「0:マップピース無し」)と判別(検出)する。
【0098】
なお、上述した例では二値化画像を生成しているが、次のような二値化画像を生成しない方法を採用してもよい。すなわち、上記処理P130において、撮影した画像のカラー情報に基づいて、グレースケール化した画像(以下「グレースケール化画像」ともいう。)を生成する(二値化ではない)。次いで、処理P140において、グレースケール化画像の全てのピクセルを走査し、グレースケール化画像の輝度の平均値を算出する(例えば、100)。そして、処理P150において、グリッドに当てはめて、輝度の上記平均値未満のピクセルが少しでも含まれるグリッドは、マップピースを配置するグリッドであるとする。
【0099】
次いで、ゲーム装置100のユーザがハウジング110を振るような動作を行なうことで、ゲーム装置100に加速度が与えられると、これが加速度センサ280で検出される。コンピューティングデバイス210は、ゲーム難易度決定部512としての機能により、検出した加速度に基づいて難易度を決定する(処理P160)。非限定的な一例として、難易度は、加速度の値に応じて0〜9の十段階設定しておくことができる。なお、「0〜9」の値が高いほど(あるいは低いほど)難易度は高い(あるいは低い)ものとすることができる。
【0100】
その際、コンピューティングデバイス210は、難易度が変化する様子を、タッチスクリーン220に難易度メーター(あるいはゲージ)等の形式で表示してよい。これにより、ユーザは、難易度の変化を確認しながら、ゲーム装置100に与える加速度を調整することができる。したがって、ユーザは、所望の難易度を狙ってゲーム装置100に与える加速度の大きさや回数を加減することができる。
【0101】
コンピューティングデバイス210は、決定した難易度が、例えば「0〜4」であれば例えば図11(B)に示す「16×16のグリッド」を適用(選択)し、「5〜9」であれば例えば図11(A)に示す「20×20のグリッド」を適用(選択)する(処理P170)。別言すると、難易度が低いほどグリッド数の少ないグリッドが選ばれ、難易度が高いほどグリッド数の多いグリッドが選ばれる。これは、生成するゲームマップ上に最終的に設定されるスタート地点とゴール地点との間の距離が難易度に応じて変化すると捉えることができる。すなわち、グリッド数が少なければ、多い場合に比べて、スタート地点とゴール地点との距離が相対的に短くなり易いから難易度が低くなる。
【0102】
次いで、コンピューティングデバイス210は、例えばマップピース配置部508(図5参照)としての機能により、配置するマップピースが成す「島」が5つ以内か否かをチェックする(処理P180)。ここで、「島」とは、隣接するグリッドに配置される2以上のマップピース群のかたまりである場合もあるし、いずれのマップピースにも隣接しない独立したマップピースである場合もある。
【0103】
チェックの結果、「島」が5つを超えていれば(処理P180でNoの場合)、コンピューティングデバイス210は、その中で一番サイズの大きな「島」(仮に「島A」とする。)を検出し(処理P190)、当該「島A」に距離が近い順に4つの「島」を選出する(処理P200)。なお、コンピューティングデバイス210は、選出されなかった「島」を、処理負荷軽減のために削除してもよいが、にぎやかしのために例えば図15に例示するようにオブジェクト(OBJ)として残してもよい。「島」と「島」との距離は、例えばグリッド数で識別することができる。
【0104】
そして、コンピューティングデバイス210は、選出された複数の「島」どうしを接続(連結)するマップピース(例えばレールオブジェクト)を当該「島」間に配置して、プレイヤキャラクタが「島」から「島」へレールオブジェクトを渡って移動可能なコースを設定する(処理P210)。レールオブジェクトは、最短距離にある「島」間に優先的に1つ設定することができる。ただし、複数のレールオブジェクトを「島」間に設定することを排除するものではない。
【0105】
一方、処理P180で「島」が5つ以内であった場合、コンピューティングデバイス210は、上記の処理P210により「島」どうしを接続(連結)する。非限定的な一例として、図15には、5つの島A〜Eのうち、島Aと距離が近い島B及びDがそれぞれレールオブジェクト320及び330によって接続され、島Bと島Cとがレールオブジェクト310によって接続され、かつ、島Dと島Eとがレールオブジェクト340によって接続されて、5つの島A〜Eをプレイヤキャラクタが移動可能なコースが設定される様子を例示している。また、他の非限定的な一例として、図17には、島Aとそれぞれ距離の近い島B及びCがそれぞれレールオブジェクト350及び360によって接続されて、3つの島A〜Cをプレイヤキャラクタが移動可能なコースが設定される様子を例示している。
【0106】
なお、「島」が1つも無い場合、コンピューティングデバイス210は、例えば仮想ゲーム空間において「島」(地面又は床)となる最小サイズ以上(例えば5(m)×5(m)以上のサイズ)のマップピースをコースとしてゲームマップ内に配置する。これにより、ゲームマップ内にコースが設定されない不都合を回避する(別言すると、ゲームマップ内には少なくとも1つのコースが必ず設定される)ことができる。また、「島」同士の距離が同じ場合や基準となる一番サイズの大きな「島」が複数ある場合、コンピューティングデバイス210は、いずれかの「島」を例えば乱数を用いる等してランダムに選出してもよいし、予め決められた条件(優先順位等)に従って選出してもよい。
【0107】
次いで、コンピューティングデバイス210は、例えば図12に示すように、マップを擬似アウトライン化する(処理P220)。なお、図12には、処理P170において「20×20のグリッド」が適用された場合の擬似アウトライン化の様子を例示している。「擬似アウトライン化」では、コースとなる「島」等のアウトラインに相当するグリッド以外の値を「1」から「0」に変換する。
【0108】
例えば、着目グリッドの周囲に「床」が存在する(マップピース有りの)場合、コンピューティングデバイス210は、着目グリッドの値を「1」から「0」に変換することで、当該着目グリッドに配置された「床」を取り除く(あるいは間引く)処理を実施する。当該擬似アウトライン化処理によって、擬似アウトライン化を実施しない場合に比して、コンピューティングデバイス210の処理負荷を軽減することができる。
【0109】
さらに、コンピューティングデバイス210は、スタート/ゴール設定部516としての機能(図5参照)により、擬似アウトライン化されたマップにおけるコース上の2点の最長距離を検出、別言すると、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索する。そして、コンピューティングデバイス210は、一方のマップピースにスタート地点410を設定し、他方のマップピースにゴール地点420を設定する(例えば図13〜図15及び図17参照)(処理P230)。
【0110】
マップピース内のどの地点にスタート/ゴールを設定するかは、乱数を用いる等してランダムに決定してもよいし、予め決められた条件に従って決定してもよい。なお、「島」となるマップピースが1つしか無い場合でも、コンピューティングデバイス210は、例えば図16に例示するように、当該1つのマップピースにおいて最長距離となる2点にスタート地点410とゴール地点420とを設定することができる。なお、スタート地点410及びゴール地点420の検索条件は「最長距離」でなくても構わないが、「最長距離」とすることでコンピューティングデバイス210の処理負荷を軽減できる。
【0111】
コンピューティングデバイス210は、処理P160で決定した難易度に基づいて、マップピースの種類を変化させてコースの難易度を変化させることができる(処理P240;例えば図14参照)。なお、図14には、非限定的な一例として、コースの幅が部分的に狭くなり、図13に比して難易度が高くなった様子を示している。
【0112】
図18〜図24に、非限定的な一例として、難易度に応じて選ばれるマップピースの候補リストを示す。マップピースは、図18〜図24に例示するように、複数種類用意されており、例えばメモリモジュール212の「グラフィックデータ」(図4参照)に含まれる。図18〜図24において、難易度が高くなるほど高い「点数」が付されたマップピースが選出され易くなる。
【0113】
例えば図18において、上から1番目及び2番目のマップピース(「点数」=1)は、いずれも仮想ゲーム空間において縦横が5(m)×5(m)のサイズの「地面」(あるいは「床」)を表現したオブジェクトであり、上から3番目及び4番目のマップピースは5(m)×5(m)のサイズの「地面」(あるいは「床」。以下同様。)が特定の傾斜を有することを表現したオブジェクトであり、傾斜の無い場合よりも高い「点数」が設定されている。傾斜の度合いは複数設定することができ、図18では細い矢印が付されたマップピース(地面)よりも太い矢印が付されたマップピース(地面)の方が傾斜の大きいことを示している。
【0114】
また、図18において、上から5〜7番目の3種類のマップピースは、いずれも縦横が5(m)×1(m)のサイズの「地面」、別言すると、1〜4番目のマップピースが表現する「地面」よりも幅の狭い「地面」を表現したオブジェクトであり、上記と同様に、傾斜の有無が矢印の有無によって示され、傾斜の度合いが矢印の太さによって示されている。
【0115】
同様に、図19には、サイズ(幅)及び傾斜の異なる6種類の「地面」を表現したオブジェクトのリストが示されている。図20には、延在方向が図18及び図19の例とは異なる方向(斜め方向)でそれぞれサイズ(幅)及び傾斜の異なる9種類の「地面」を表現したオブジェクトのリストが示されている。他にも、マップピースは、図21〜図24に例示するように様々な形状、サイズ、傾斜等を有することができる。
【0116】
コンピューティングデバイス210は、マップピース配置部508(図5参照)としての機能により、以上のようなマップピースの配置を組み合わせることで、ゲームマップにおいて傾斜を有するコースや、段差(凸凹)や穴を有するコース、段差(高低差)を有するコース、ギミック(左右に動く床)を有するコース、ギミック(バンパー)を有するコース等、難易度に応じて様々なコースを生成、生成することができる(図6の処理P250)。「バンパー」は、コース上を移動するプレイヤキャラクタが衝突するとプレイヤキャラクタが撥ね返されるような動作を実現するギミック(オブジェクト)である。
【0117】
なお、タッチスクリーン220に表示されるコースの非限定的な一例として、図25に「傾斜を有するコース」、図26に「段差(凸凹)や穴を有するコース」、図27に「高低差を有するコース」、図28に「左右に動く床を有するコース」、図29に「バンパーを有するコース」それぞれの表示例を示す。
【0118】
「段差(凸凹)」は、凸凹を表現したマップピース(例えば図23の上から6〜8番目のマップピース)単体で実現してもよいし、平坦な「床」を表現したマップピースの繋ぎ目を僅かに上下にずらすことで実現してもよい。
【0119】
また、「高低差」のある複数の「床」が配置される場合、「高低差」のあることをプレイヤが視認し易いように、「床」の色を高低に応じて変えるようにするとよい。ただし、「高低差」は、例示的に、「スタート地点よりもゴール地点が低い」という条件で設定するのが好ましい。当該条件により、コース上を転がりながら移動するようなプレイヤキャラクタ(例えばボール等)がゴール地点に辿り付けるようなコース設定が可能となる。ただし、難易度によっては「スタート地点とゴール地点が同じ高さ」に設定されてもよい。要するに、「ゴール地点はスタート地点と同じ高さかそれよりも低い」位置に配置(設定)される。
【0120】
「動く床」は、図18〜図24に例示したいずれのマップピースでもよい。図28には凸凹(ピラミッド形状)を表現したマップピース(例えば図23の上から6番目のマップピース)が「動く床」として配置された様子を例示している。
【0121】
難易度が高くなるほど、配置されるマップピースのバリエーションが増え、通路が狭くなったり、傾斜や穴、凸凹等がコース上に配置されたりすることになる。したがって、プレイヤキャラクタが、ゴール地点へ辿りつくのが難しいコースとなる。
【0122】
なお、難易度に応じたコース生成(設定)は、マップピースが配置されるグリッドサイズ(別言すると、マップピースサイズ)を変化させることで実現してもよい。例えば、グリッドサイズ(マップピースサイズ)を大きくすることで、配置されるマップピースの通路が広くなり、難易度の低いコース設定を実現できる。逆に、グリッドサイズ(マップピースサイズ)を小さくすることで、配置されるマップピースの通路が狭くなり、難易度の高いコース設定を実現できる。さらに、難易度に応じたコース生成(設定)は、グリッド数を変化させることで実現してもよい。例えば、グリッド数を少なくすることで配置されるマップピースの総数が少なくなり、難易度の低いコース設定を実現できる。逆に、グリッド数を多くすることで配置されるマップピースの総数が多くなり、難易度の高いコース設定を実現できる。
【0123】
ゲーム装置100のプレイヤは、操作ボタン260やタッチスクリーン220を通じてプレイヤキャラクタ(キャラクタオブジェクト)の移動や行動を制御することで、以上のようにして生成されたゲームマップのコースをプレイヤキャラクタがスタート地点からゴール地点まで進ませてゆくゲームを楽しむことができる(図6の処理P260)。
【0124】
以上のように、本実施形態によれば、カメラ270又は290で撮影した画像データを基にゲームマップを作成することができるので、従来のようにゲームマップに配置する通路等のパターンやサイズを全て指定する必要がなく、ゲームマップを簡単に作成することができる。したがって、自由度の高いゲーム展開を可能にさせることができ、ゲームの興趣性を向上することができる。
【0125】
なお、上述した実施形態では、カメラ270又は290で撮影した画像データを基にゲームマップを作成しているが、例えば、コンピューティングデバイス210は、外部メディアユニット240や通信ユニット250を通じて取得した画像データを基にゲームマップを作成してもよい。
【0126】
また、上述した実施形態は、コンピュータゲーム装置のほか、携帯電話、スマートフォン、タブレット型コンピュータ等のインテリジェントデバイスで実行されるゲームプログラムに広く適用することができる。
【符号の説明】
【0127】
100…ゲーム装置、110…ハウジング、210…コンピューティングデバイス、211…プロセッサコア、212…メモリモジュール、213…グラフィックスエンジン、2131…グラフィックコア、2132…グラフィックメモリ、214…サウンドエンジン、215…I/Oコントローラ、216…システムバス、220…タッチスクリーン、221…ディスプレイ、222…タッチセンサ、230…オーディオ出力ユニット、240…外部メディアユニット、250…通信ユニット、260…操作ボタン、270…前面(内側)カメラ、280…加速度センサ、290…背面(外側)カメラ、310,320,330,340,350…レールオブジェクト、410…スタート地点、420…ゴール地点、502…記憶部、504…輝度画像生成部、506…値検出部、508…マップピース配置部、510…加速度検出部、512…ゲーム難易度決定部、514…グリッド当てはめ部、516…スタート/ゴール設定部、A〜E…島
【技術分野】
【0001】
本発明の一態様は、ゲームプログラム、ゲーム装置、及び、ゲームプログラムを記録した記録媒体に関する。
【背景技術】
【0002】
プレイヤがプレイヤキャラクタを操作して複数の部屋や通路からなるパターンが複数配置されたマップを進んでいくゲームにおいて、プレイヤ自らが部屋や通路のパターンを選択したり、そのサイズを指定したりすることにより、マップを作成し、自由度の高いゲーム展開を可能にさせる方法が知られている(例えば、下記の特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−140933号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のような方法では、プレイヤが、マップに配置する部屋や通路のパターンやサイズを全て指定しなければならない。そのため、プレイヤがマップを作成する際、非常に手間が掛かってしまう。
【0005】
本発明の目的の一つは、ゲームマップを簡単に作成できるようにすることにある。
【0006】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【0007】
本発明のゲームプログラムの一態様は、プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、前記コンピュータを、前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段、前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段、前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段、として機能させる。
【0008】
ここで、前記マップピースは複数種類からなり、前記配置手段は、配置するマップピースに対応する所定領域の周囲の所定領域の前記値の検出状況に応じて、当該マップピースの種類を決定する、ようにしてもよい。
【0009】
また、前記ゲームプログラムは、前記コンピュータを、難易度を決定する難易度決定手段として更に機能させ、前記配置手段は、前記難易度に応じて、前記マップピースの種類を決定する、ようにしてもよい。
【0010】
さらに、前記配置手段は、前記マップピースが隣接して配置された一のマップピース群と他のマップピース群との最短距離に対応する位置の所定領域に、当該一のマップピース群と当該他のマップピース群とを連結するマップピースを配置する、ようにしてもよい。
【0011】
また、前記ゲームプログラムは、前記コンピュータを、前記ゲームマップ内に前記キャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する設定手段として更に機能させ、前記設定手段は、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上に前記スタート地点を設定し、他方のマップピース上に前記ゴール地点を設定する、ようにしてもよい。
【0012】
さらに、前記ゲームプログラムは、前記コンピュータを、前記輝度画像生成手段により生成された輝度画像を異なる前記区分数の所定領域にそれぞれ当てはめる当てはめ手段として更に機能させ、前記当てはめ手段は、前記難易度決定手段により決定した難易度に応じて前記当てはめに用いる前記区分数の所定領域を選択する、ようにしてもよい。
【0013】
また、前記ゲームプログラムは、前記コンピュータを、加速度を検出する加速度検出手段として更に機能させ、前記難易度決定手段は、前記加速度検出手段により検出した加速度の値が大きいほど難易度を高く決定する、ようにしてもよい。
【0014】
さらに、本発明のゲーム装置の一態様は、プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームを実行するゲーム装置であって、前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段と、画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段と、前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段と、前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段と、を備える。
【0015】
また、本発明の記録媒体の一態様は、上述したゲームプログラムを記録した記録媒体である。
【0016】
さらに、本発明のゲームプログラムの一態様は、プレイヤからの入力操作に基づき、ゲームフィールドに設定されたコースでキャラクタオブジェクトを移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、前記コンピュータを、画像データを所定数に区分し、当該区分毎の前記画像データのカラー情報を記憶する記憶手段、前記ゲームフィールドを平面で表現するマップ上に設けた各領域と前記区分とを対応させ、前記区分のカラー情報に基づいて、当該区分に対応する領域に前記コースの一部を成すピースを設定する設定手段、として機能させる。
【0017】
ここで、前記設定手段は、複数の前記ピースを組み合わせた一のピース群と他のピース群とを繋ぐピースを設定する、こととしてもよい。
【図面の簡単な説明】
【0018】
【図1】一実施形態に係るゲーム装置の前面外観例を示す平面図である。
【図2】図1に例示するゲーム装置の外観を示す背面外観例を示す平面図である。
【図3】図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。
【図4】図3に例示するメモリモジュールの内容の一例を示す図である。
【図5】図1及び図2に例示するゲーム装置の機能的構成を説明するブロック図である。
【図6】本実施形態のゲーム装置においてゲームマップを作成する手順を説明するフローチャートである。
【図7】本実施形態のゲームマップ作成手順を説明するための図である。
【図8】本実施形態のゲームマップ作成手順を説明するための図である。
【図9】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図10】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図11】(A)及び(B)はいずれも本実施形態のゲームマップ作成手順を説明するための図である。
【図12】本実施形態のゲームマップ作成手順を説明するための図である。
【図13】本実施形態のゲームマップ作成手順を説明するための図である。
【図14】本実施形態のゲームマップ作成手順を説明するための図である。
【図15】本実施形態のゲームマップ作成手順を説明するための図である。
【図16】本実施形態のゲームマップ作成手順を説明するための図である。
【図17】本実施形態のゲームマップ作成手順を説明するための図である。
【図18】本実施形態のマップピースのリスト例を示す図である。
【図19】本実施形態のマップピースのリスト例を示す図である。
【図20】本実施形態のマップピースのリスト例を示す図である。
【図21】本実施形態のマップピースのリスト例を示す図である。
【図22】本実施形態のマップピースのリスト例を示す図である。
【図23】本実施形態のマップピースのリスト例を示す図である。
【図24】本実施形態のマップピースのリスト例を示す図である。
【図25】本実施形態のマップピースの一例(コースの傾斜)を示す図である。
【図26】本実施形態のマップピースの一例(段差:コースの凸凹)を示す図である。
【図27】本実施形態のマップピースの一例(段差:コースの高低差)を示す図である。
【図28】本実施形態のマップピースの一例(ギミック:動く床)を示す図である。
【図29】本実施形態のマップピースの一例(ギミック:バンパー)を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施例を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0020】
(ゲーム装置の構成例)
図1は、一実施形態に係るゲーム装置の前面外観を示す平面図であり、図2は、同ゲーム装置の背面外観例を示す平面図である。図1及び図2に例示するゲーム装置100は、ハウジング110によりその外観を略規定されている。本例では、スーパーオーバル形状のハウジング110が採用され、ユーザが両手で把持しやすい程度の大きさにハウジング110が設計されている。なお、図1及び図2には図示していないが、ハウジング110の内部には、ゲーム装置100を統括的に制御する制御部の一例であるコンピューティングデバイス210が収納されている。
【0021】
ゲーム装置100は、ハウジング110の前面略中央部に配置されたタッチスクリーン220(タッチパネル)を備える。タッチスクリーン220は、例示的に、ディスプレイ(スクリーン)221上に透過性のタッチセンサ222を配した、表示及び入力機能を備える装置である。タッチスクリーン220の一例、マルチタッチに対応した有機ELディスプレイである。ただし、これに限定されない。
【0022】
ハウジング110の左右両端部には複数の操作ボタン260を配置してよい。当該操作ボタンの配置位置は、例えば、ユーザが両手でハウジング110を把持した場合に親指が当接する左右それぞれの位置に相当する。操作ボタン260の一例として、十字ボタン及び丸形ボタンがハウジング110の左右両側に配置されている。また、左右の操作ボタンセット近傍には、それぞれオーディオ出力ユニット230を配置してよい。
【0023】
ゲーム装置100は、外部記憶媒体にアクセスするための外部メディアユニット240(図3参照)を備えてよい。外部記憶媒体の一例は、メモリカードやUSB(Universal Serial Bus)メモリ等であり、ゲームプログラム及び各種のデータを記録することができる。該記憶媒体には、様々な規格の媒体を採用してよい。外部記憶媒体を着脱するため、ゲーム装置100のハウジング110には、外部記憶媒体の接続に適当な外部メディアスロットを設けてよい。
【0024】
また、ゲーム装置100は、ネットワーク通信を実現する通信ユニット250を備えてよい。ネットワーク通信の一例は、例えば、3GやWiFiといった無線通信規格に準拠した通信である。ただし、これらに限定されない。
【0025】
さらに、ゲーム装置100は、図1に例示するように前面(内側)カメラ270を備えてよく、また、図2に例示するように背面(外側)カメラ290を備えてもよい。前面カメラ270は、例示的に、操作ボタンセットの一方(図1において右側)の近傍に設けられている。前面カメラ270は、ハウジング110前面を成す平面の法線方向を撮影(撮像)方向とし、当該撮影方向にある撮影対象(例えばプレイヤ自身)を撮影することができる。
【0026】
これに対し、背面カメラ290は、例示的に、図2においてハウジング110の縁部中央近傍に設けられている。背面カメラ290は、ハウジング110背面を成す平面の法線方向を撮影方向とし、当該撮影方向にある撮影対象を撮影することができる。
【0027】
なお、カメラ270及び290の一方又は双方は、撮影対象を平面的に撮影する2Dカメラでもよいし、撮影対象を立体的に撮影可能ないわゆる3D対応のカメラとしてもよい。
【0028】
次に、図3は、図1及び図2に例示するゲーム装置の概略ハードウェア構成の一例を示すブロック図である。図3に示すように、本実施形態のゲーム装置100は、例示的に、コンピューティングデバイス210、タッチスクリーン220、オーディオ出力ユニット230、外部メディアユニット240、通信ユニット250、操作ボタン260、前面カメラ270、加速度センサ280、及び、背面カメラ290を備える。
【0029】
コンピューティングデバイス210は、ゲーム装置100を統括的に制御する。
【0030】
タッチスクリーン220は、例えば、ゲームを表現あるいは演出するための画像(例えば、静止画、動画、映像等)を表示し、また、ユーザ(プレイヤ)のタッチ操作による入力を受け付ける。
【0031】
オーディオ出力ユニット230は、例えば、ゲームを表現あるいは演出するためのサウンド(例えば、音楽、音声、効果音等)を出力する。
【0032】
外部メディアユニット240は、外部記憶媒体に対するアクセスを可能にする。
【0033】
通信ユニット250は、サーバコンピュータや他のゲーム装置100とネットワーク通信を可能にする。
【0034】
操作ボタン260は、タッチスクリーン220によるユーザ入力に代え、またはその入力を補完するために用いられる。
【0035】
コンピューティングデバイス210は、各種のプロセッサ及びメモリ等からなる、例えばチップセットを含むコンピュータ回路要素である。本実施形態のコンピューティングデバイス210は、例示的に、プロセッサコア211と、メモリモジュール212と、グラフィックスエンジン213と、サウンドエンジン214と、I/Oコントローラ215と、これらを接続するシステムバス216とを含む。また、コンピューティングデバイス210は、動画像を高速に処理するためのメディアエンジンを備えてもよい。
【0036】
プロセッサコア211は、コンピューティングデバイスのメインプロセッサとして機能するチップである。ここでは、「プロセッサコア」という用語は、メインプロセッサを意味するプロセッサやCPU、MPU等と同義のものとして扱うことができる。
【0037】
プロセッサコア211は、例えば、メモリモジュール212上に展開されたゲームプログラムを実行し、コンピューティングデバイス210に各種の機能を実現させる。言い換えれば、コンピューティングデバイス210は、プロセッサコア211の制御の下、ゲームプログラムを実行することにより、他のハードウェアユニット/コンポーネントと協働して、ゲーム装置100においてゲームを実現する。
【0038】
ゲームプログラムは、例えば、プロセッサコア211の制御の下で実現されるオペレーティングシステム(OS)の制御の下で、実行されてもよい。プロセッサコア211は、シングルコアでもよいしマルチコアでもよい。プロセッサコア211は、図示しない複数次のデータキャッシュを含んでよい。
【0039】
また、プロセッサコア211は、図示しない浮動小数点プロセッサ(FPU)やベクトル浮動小数点プロセッサ(VFPU)等を接続し、これらと協働して、ゲームプログラムを実行するように構成されてもよい。
【0040】
メモリモジュール212は、ゲームの実行に用いられる各種のプログラム及びデータを記憶する。図4に、メモリモジュール212の内容の一例を示す。
【0041】
メモリモジュール212は、例えば、DRAMに代表される揮発性メモリ、マスクROMに代表される書き換え不能な不揮発性メモリ、及びフラッシュメモリに代表される書き換え可能な不揮発性メモリのいずれか又はこれらの適宜の組み合わせで構成してよい。
【0042】
揮発性メモリは、例示的に、プロセッサコア211のメインメモリに供され、例えば、ゲームプログラム及びゲームデータの一部又は全部を必要に応じて記憶する。
【0043】
不揮発性メモリは、例えば、BIOSや、OSプログラム、デバイスドライバ、ゲーム装置100の制御に必要なシステムデータ、グラフィックデータ、カメラ270及び/又は290で撮影した画像データ等を記憶する。
【0044】
グラフィックデータには、1又は複数の「マップピース(又はマップパート)」が含まれてよい。「マップピース」は、タッチスクリーン220に表示されるゲームフィールドに設定(あるいは配置)されるゲームマップの一部を成すピースオブジェクトである。複数のマップピースを組み合わせて繋げることで、ゲームマップ上に、ゲーム装置100のプレイヤの操作入力に応じてキャラクタオブジェクトが移動又は行動するゲームコース(以下、単に「コース」ともいう。)を設定できる。
【0045】
複数のマップピースは1種類でもよいし複数種類でもよい。複数種類あった方がコースのバリエーションを増やすことができる。マップピースの種類の非限定的な一例としては、平面視において矩形状、I字状、L字状、V字状、Y字状や、それぞれについて太さ(幅)が異なる形状等が挙げられる。詳細については、図18〜図29により後述する。キャラクタオブジェクトは、人物、動物、物体等を模擬して表現されてよい。
【0046】
不揮発性メモリは、マスクROMを採用することなく、その全てがフラッシュメモリで構成されてもよい。また、メモリモジュール212の全てをフラッシュメモリ等の書き換え可能な不揮発性メモリで構成してもよい。ゲーム装置100の外部メディアスロット外部記憶媒体もまた、メモリモジュール212の一部として供されてもよい。
【0047】
図3に戻り、グラフィックスエンジン213は、プロセッサコア211の制御の下、各種のグラフィックス処理を行なう。グラフィックスエンジン213は、例示的に、グラフィックコア2131及びグラフィックメモリ2132を含んでよい。
【0048】
グラフィックコア2131は、2D及び/又は3Dのコンピュータグラフィックス(CG)を生成、描画する機能を有するグラフィックプロセッサの一例であり、ビデオディスプレイプロセッサ(VDP)やグラフィックプロセッシングユニット(GPU)と称されることもある。
【0049】
グラフィックコア2131は、グラフィックメモリ2132に記憶されるグラフィックデータを読み出して、各種のグラフィック処理(例えば、ジオメトリ処理、レンダリング処理、テクスチャマッピング処理等)を行なって、画像データを生成することができる。
例示的に、グラフィックコア2131は、ポリゴンのジオメトリ(座標)を計算するジオメトリプロセッサと、ジオメトリ計算されたポリゴンをラスタライズ/レンダリング(描画)するレンダリングプロセッサとを含んでよい。また、グラフィックコア2131は、描画された画像をタッチスクリーン220等に出力するため、ビデオエンコーダやHDMI(High-Definition Multimedia Interface)等を備えていてもよい。
【0050】
ジオメトリプロセッサは、例えば、ポリゴンの2次元又は3次元のゲーム空間での座標について、行列の回転や拡大等を実施して、アフィン変換等を行ない、ポリゴンの座標を求める。また、ジオメトリプロセッサは、ポリゴンの分割やスプライン補完等のテッセレーションを行なう、「ジオメトリシェーダ」(又はバーテックスシェーダ)を備えてもよい。
【0051】
レンダリングプロセッサは、例えば、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリに描画する。各種効果の一例としては、プログラマブル・シェーダ等を用いて、光点・影(シェーディング)計算、明暗の表現、半透明、ぶれ、霧、ぼかし、HDR(ハイダイナミックレンジ合成)等の計算が挙げられる。
【0052】
ポリゴンの種類の一例としては、点ポリゴン(ポイント)、線ポリゴン(ラインリスト)、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等が挙げられる。加えて、レンダリングプロセッサがレイ・トレーシング等を用いて描画を行なう際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
【0053】
なお、以上のグラフィックコア2131による画像処理の一部又は全部は、プロセッサコア211で処理するようにしてもよい。グラフィックコア2131によって生成された画像データは、ビデオエンコーダ等のビデオインターフェース回路によって所定のビデオ信号に変換され、タッチスクリーン220に出力される。
【0054】
サウンドエンジン214は、プロセッサコア211の制御の下、サウンドメモリ(図示せず)に記憶されるサウンドデータに対して、適宜、各種のサウンド処理(例えば、エフェクト処理、ミキシング処理等)を施す。サウンドエンジン214は、音楽や音声や効果音を出力するためのPCM(Wave)音源等を備えたデジタルシグナルプロセッサ(DSP)等でもよく、また、物理演算音源、FM音源等の計算を行ない、残響や反射等の各種音声効果を計算することもできる。サウンドエンジン214によって処理されたサウンドデータは、図示しないサウンドインターフェース回路によって所定のオーディオ信号に変換され、オーディオ出力ユニット230に出力される。なお、サウンドエンジン214は、図示しないマイクから入力された音声の認識等をサポートしてもよい。
【0055】
I/Oコントローラ215は、外部の様々なユニットとの入出力を制御するインターフェース回路の一例である。I/Oコントローラ215には、タッチセンサ222、操作ボタン260、外部メディアユニット240、及び通信ユニット250を接続することができる。I/Oコントローラ215は、接続された各種のユニットから与えられる外部信号をコンピューティングデバイス210内の内部データに変換し、また、内部データを各種のユニットに適した外部信号に変換する。
【0056】
タッチスクリーン220は、ユーザインターフェースデバイスの一例であり、ディスプレイ(スクリーン)221及び当該ディスプレイ221のサイズに略一致するように形成された透過性のタッチセンサ222を含んでよい。タッチスクリーン220は、コンピューティングデバイス210の制御の下、ゲーム画像を表示して、ユーザによるインタラクティブなタッチ操作を受け付けることができる。
【0057】
ディスプレイ221は、グラフィックスエンジン213からのビデオ信号に基づいて、画像(例えば、静止画、動画、映像等)をディスプレイ221上に表示する。ディスプレイ221は、2D表示に対応するものでもよいし3D表示に対応するものでもよい。
【0058】
タッチセンサ222は、ユーザによるタッチ操作に応じた操作信号を出力する。ユーザのタッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。タッチセンサ222は、例えば、静電容量タイプのものを採用することができるが、これに限定されない。
【0059】
タッチセンサ222から出力された操作信号は、コンピューティングデバイス210に入力される。コンピューティングデバイス210は、タッチセンサ222からの操作信号を検出すると、ゲームに対する操作として解釈し、これに応じた処理が実行される。
【0060】
例えば、コンピューティングデバイス210は、タッチセンサ222からの操作信号に基づいて、ディスプレイ221上の位置情報を算出し、ゲーム画像及び時間情報と相まって、操作アクションを決定するために用いられる。本実施形態のゲーム装置100は、複数の指(又はスタイラス)によるマルチタッチ操作を受け付けることができる。
【0061】
オーディオ出力ユニット230は、オーディオ出力デバイスの一例であり、ゲームの進行状況に合わせて、ユーザにゲーム音を提供する。オーディオ出力ユニット230は、サウンドエンジン214からのオーディオ信号に基づいて、音(例えば、音声、音楽、効果音等)を発生させる。
【0062】
外部メディアユニット240は、メディアインターフェースデバイスの一例であり、コンピューティングデバイス210が外部記憶媒体にアクセスすることを可能にする。外部記憶媒体は、既述のメモリカードやUSBメモリの他、ハードディスクドライブ(HDD)、フラッシュメモリ、SRAM(Static Random Access Memory)、磁気テープ装置、光ディスク装置等であってもよい。外部記憶媒体には、ゲームの実行に用いられるゲームプログラム、パラメータ等の各種データを記憶することができる。コンピュータの一例であるゲーム装置100は、外部記憶媒体からゲームプログラム等を読み取ってメモリモジュール212に転送し格納して用いる。
【0063】
ゲームプログラム等は、コンピュータ読取可能な記録媒体に記録された形態で提供することができる。記録媒体には、例えば、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、BD(Blue-ray Disk)、ROMカートリッジ、バッテリバックアップ付きRAMカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれてよい。また、ゲームプログラム等は、通信ユニット250により通信ネットワーク経由でゲーム装置100に提供してもよい。
【0064】
なお、「コンピュータ」とは、例えば、ハードウェアとオペレーティングシステム(OS)とを含む概念であり、OSの制御の下で動作するハードウェアを意味することがある。また、OSが不要でプログラム単独でハードウェアを動作可能な場合には、そのハードウェアがコンピュータに相当するとみることができる。ハードウェアは、CPU等の演算装置と、記録媒体に記録されたプログラムを読み取り可能な読み取り装置とを含むことができる。
【0065】
ゲームプログラム等は、上述のようなコンピュータに、ゲーム装置100としての機能を実現させるプログラムコードを含んでいる。その機能の一部はプログラムではなくOSによって実現されてもよい。
【0066】
通信ユニット250は、通信ネットワークを通じてゲーム装置100が他のゲーム装置やコンピュータと通信することを可能にする。通信ネットワークは、無線ネットワークでも有線ネットワークでもよい。通信ネットワークの一例としては、無線LANや、3G、WiMax(登録商標)、Bluetooth(登録商標)、c.Link(登録商標)、HDMI(登録商標)、有線LAN、電話線、携帯電話網、PHS網、電灯線ネットワーク、IEEE1394等に準拠したネットワークが挙げられる。
【0067】
通信ユニット250を介して、ゲーム装置100は、他のゲーム装置100やサーバ(図示省略)と適宜に通信することができる。これにより、例えば、通信可能に接続されている他のゲーム装置のプレイヤとの対戦ゲーム(対戦などの競争を行なうゲーム。以下、同じ。)や、共同ゲーム(協力して課題を解決するゲーム。以下、同じ。)の実施が可能になる。また、複数のゲーム装置100が通信可能に接続されることで、サーバを介して、点数、得点等のゲームスコアの集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行なったり、ランキングを集計したりすることも可能になる。
【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の機能的構成例)
次に、図5に、本実施形態のゲーム装置100の機能的構成例を示す。図5は、コンピューティングデバイス210のプロセッサ(プロセッサコア211)がゲームプログラムを実行することにより、他のハードウェア及び/又はソフトウェアと協働して、ゲーム装置100において実現される各種の機能的手段の構成例を示している。
【0074】
図5に示すように、ゲーム装置100は、例示的に、記憶部502、輝度画像生成部504、値検出部506、及び、マップピース配置部508としての機能的手段を備える。また、ゲーム装置100は、加速度検出部510、ゲーム難易度決定部512、グリッド分割部514、及び、スタート/ゴール設定部516としての機能的手段を追加的に備えてもよい。
【0075】
記憶部502は、例えば図3及び図4に例示したメモリモジュール212に対応させることができ、ゲームフィールドを平面的に表現するゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースの候補を1又は複数記憶する。既述のように、「複数のマップピース」は1種類でもよいし複数種類でもよく、「マップピースの種類」の非限定的な一例としては、平面視において矩形状、I字状、L字状、V字状、Y字状や、それぞれについて太さ(幅)が異なる形状等が挙げられる。「マップピース」の一例については、図13〜図29により後述する。
【0076】
ゲームマップの作成に用いられる画像は例えばカラー画像であり、カラー情報が含まれてよい。カラー情報には、RGB(赤・緑・青)、CMY(シアン・マゼンタ・イエロー)、輝度、色合い、鮮やかさ、明るさ等の情報が含まれてよく、また、それぞれの平均値や代表ピクセルの値等が含まれてよい。この場合、記憶部502には、画像データを所定数に区分し、当該区分毎の画像データのカラー情報を記憶してもよい。
【0077】
輝度画像生成部504は、画像データを読み込み、当該画像データから輝度画像(データ)を生成する。輝度画像は、読み込んだ画像データを二値化することで生成してもよいし、グレースケール化することで生成してもよい。
【0078】
値検出部506は、ゲームマップに対して予め設定した区分数の所定領域(図9〜図12により後述するグリッドが一例である)毎に、輝度画像生成部504によって生成された輝度画像の値(例えば二値化した画像であれば1及び0)を検出する。なお、例えば、検出値が「1」であれば対応するグリッドにマップピースが配置され(マップピース有り)、検出値が「0」であれば対応するグリッドにマップピースは配置されない(マップピース無し)。
【0079】
マップピース配置部508は、値検出部506により検出した値に基づいて、グリッド毎にマップピースを配置する。別言すると、マップピース配置部508は、ゲームマップ上に設けた各領域(グリッドが一例である)と前記区分とを対応させ、カラー情報を画像データの区分毎に記憶した記憶部502における当該区分のカラー情報に基づいて、当該区分に対応する領域にコースの一部を成すピースを設定する設定部として機能する。
【0080】
マップピース配置部508は、配置するマップピースに対応するグリッドの周囲のグリッドの値検出部506による値(例えば、1/0)の検出状況に応じて、配置するマップピースの種類(例えば、矩形状、I字状、Y字状、L字状等)を決定する。これにより、マップピース群が成すコースにバリエーションをもたせることができ、ゲームの興趣性を向上できる。なお、例えば、着目グリッドの値が「1」(マップピース有り)で当該着目に隣接する周囲8つのグリッドの値も全て「1」(マップピース有り)であれば、着目グリッドには、矩形状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する上下2つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、I字状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する左上、右上、下3つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、Y字状のマップピースが選出される。また、着目グリッドの値が「1」(マップピース有り)で当該着目グリッドに隣接する上、右2つのグリッドの値が「1」(マップピース有り)であれば、着目グリッドには、L字状のマップピースが選出される。
【0081】
加速度検出部510は、図3に例示した加速度センサ280に対応し、ゲーム装置100に与えられる加速度を検出する。
【0082】
ゲーム難易度決定部512は、加速度検出部510により検出した加速度の値が大きいほどゲームの難易度を高く決定することができる。ゲーム難易度決定部512で決定した難易度に応じて、マップピース配置部508は、配置するマップピースの種類(例えば、後述する傾斜、凸凹、段差、ギミック等)を決定することもできる。詳細については後述する。
【0083】
したがって、コースに更なるバリエーションをもたせることができるので、ゲームの興趣性を更に向上することができる。また、ゲーム装置100を振る等して加速度をゲーム装置100に与えることでゲームの難易度を調整できるので、ゲームマップを作成する際の興趣性も向上できる。
【0084】
グリッド当てはめ部514は、輝度画像生成部504により生成変換された輝度画像を異なるサイズのグリッドにそれぞれ当てはめる(対応付ける)(例えば図9及び図10参照)。最終的にいずれのサイズのグリッドを適用(選択)するかは、ゲーム難易度決定部512で決定した難易度に応じて決定することができる。
【0085】
なお、マップピース配置部508は、マップピースが隣接して配置された一のマップピース群(例えば後述する「島」が一例である)と他のマップピース群との最短距離に対応する位置のグリッドに、当該一のマップピース群と当該他のマップピース群と(別言すると、「島」同士)を接続(あるいは連結)するマップピース(以下「連結ピース」ともいう)を配置することもできる。したがって、連結対象のマップピース群を一義的に定めて連結ピースを配置することができ、ゲーム装置100の処理負荷軽減に寄与する。
【0086】
スタート/ゴール設定部516は、ゲームマップ内にキャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する。その際、スタート/ゴール設定部516は、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上にスタート地点を設定し、他方のマップピース上にゴール地点を設定することができる。
【0087】
これにより、プレイヤキャラクタがあまりに簡単にゴール地点へ辿り付けるようなコース設定がなされにくくなるので、ゲームの興趣性を向上できる。また、検索条件が「最も遠距離同士」なのでゲーム装置100の処理負荷も軽減できる。
【0088】
(ゲーム装置100の動作例)
以下、上述のごとく構成されたゲーム装置100(コンピューティングデバイス210)の動作例として、ゲームマップの作成方法について、図6〜図29を参照して詳述する。
【0089】
図6は、ゲーム装置100においてゲームマップを作成する手順を説明するフローチャートである。まず、図6に例示するように、ゲーム装置100のユーザは、ゲーム装置100の例えば背面カメラ290によってゲームマップ化したい撮影対象を撮影する(処理P110)。
【0090】
撮影対象は、物体、人物、風景等なんでもよい。撮影された画像は、コンピューティングデバイス210(図3参照)のシステムバス216を通じてメモリモジュール212に画像データとして一時的に記憶される(図4参照)。撮影された画像は例えばカラー画像であり、カラー情報が含まれてよい。カラー情報には、RGB(赤・緑・青)、CMY(シアン・マゼンタ・イエロー)、輝度、色合い、鮮やかさ、明るさ等の情報が含まれてよく、また、それぞれの平均値や代表ピクセルの値等が含まれてよい。
【0091】
コンピューティングデバイス210(例えばプロセッサコア211。以下同様。)は、次に、撮影された画像データをメモリモジュール212から読み込んで、当該画像データを所定サイズ(例えば400×400ピクセル)に切り出す(処理P120)。切り出された画像(データ)の一例を図7に例示する。図7の例では、3種類の物体(四角形、楕円等)が画像に含まれており、例えば四角形は青、楕円は赤、背景は水色といったようにカラー情報を含んでいる。
【0092】
さらに、コンピューティングデバイス210は、例えば輝度画像生成部504(図5参照)としての機能により、切り出した画像(データ)のカラー情報(例えば輝度情報)を調整することで、二階調化(二値化)した画像(輝度画像)を生成する(処理P130)。
【0093】
二値化された画像(データ)の一例を図8に示す。カラー画像データを二値化することで、例えばカメラ290のホワイトバランス機能等の自動補正機能によって画像データが補正されていたとしても、その影響を低減あるいは無くして、撮影画像に含まれる例えば物体等と背景とを鮮明に区別できる画像になる。
【0094】
このようにして生成された輝度画像(データ)(以下「二値化画像」ともいう。)は、次に第1の画像解析処理(P140)に供される。当該画像解析処理において、コンピューティングデバイス210は、例えば値検出部506(図5参照)としての機能により、二値化画像の輝度の中間値を算出し、中間値未満の輝度のピクセルを含む部分を、マップピース(あるいはマップパート)を配置する部分であると判定し、中間値未満の輝度のピクセルを含まない部分を、マップピースを配置しない部分であると判定する。なお、「マップピース」は、作成すべきゲームマップ(オブジェクト)の一部(例えばプレイヤキャラクタが進むコース等)を成すオブジェクトを意味する。
【0095】
次いで、コンピューティングデバイス210は、例えばグリッド当てはめ部514(図5参照)としての機能により、例えば図8に例示した二値化画像を図9(A)及び図9(B)に例示するように予め設定された2種類の区分数(例えば20×20と16×16)のグリッド(升目)にそれぞれ当てはめ又は対応付ける(処理P150)。なお、1グリッドは、例示的に、仮想ゲーム空間において5(m)×5(m)の区分数(以下「サイズ」ともいう。)に相当する。したがって、「20×20のグリッド」及び「16×16のグリッド」は、仮想ゲーム空間においてそれぞれ「100(m)×100(m)」及び「80(m)×80(m)」のサイズに相当する。ただし、当該サイズに限られない。なお、本例では、16×16のサイズのグリッドが、撮影対象の原型を表現可能な最小サイズであると想定している。したがって、ユーザの意図しないゲームマップが最終的に生成されてしまう確率を低減できる。ただし、最小サイズはこれに限られない。コンピューティングデバイス210の処理能力によるが、処理能力が高ければ、撮影対象の原型を表現可能な範囲で最小サイズをより小さくしてもよい。
【0096】
そして、コンピューティングデバイス210は、例えばマップピース配置部508(図5参照)としての機能により、二値化画像において、マップピースを配置するグリッドと、そうでないグリッドとをグリッド毎に判別(あるいは検出)する。
【0097】
その際、輝度の中間値未満のピクセルが少しでも含まれるグリッドは、マップピースを配置するグリッドであるとする。例えば図10に示すように、コンピューティングデバイス210は、上記中間値未満の輝度のピクセルを含むグリッドを、マップピースを配置するグリッド(「1:マップピース有り」)と判別(検出)し、上記中間値未満の輝度のピクセルを含まないグリッドを、マップピースを配置しないグリッド(「0:マップピース無し」)と判別(検出)する。
【0098】
なお、上述した例では二値化画像を生成しているが、次のような二値化画像を生成しない方法を採用してもよい。すなわち、上記処理P130において、撮影した画像のカラー情報に基づいて、グレースケール化した画像(以下「グレースケール化画像」ともいう。)を生成する(二値化ではない)。次いで、処理P140において、グレースケール化画像の全てのピクセルを走査し、グレースケール化画像の輝度の平均値を算出する(例えば、100)。そして、処理P150において、グリッドに当てはめて、輝度の上記平均値未満のピクセルが少しでも含まれるグリッドは、マップピースを配置するグリッドであるとする。
【0099】
次いで、ゲーム装置100のユーザがハウジング110を振るような動作を行なうことで、ゲーム装置100に加速度が与えられると、これが加速度センサ280で検出される。コンピューティングデバイス210は、ゲーム難易度決定部512としての機能により、検出した加速度に基づいて難易度を決定する(処理P160)。非限定的な一例として、難易度は、加速度の値に応じて0〜9の十段階設定しておくことができる。なお、「0〜9」の値が高いほど(あるいは低いほど)難易度は高い(あるいは低い)ものとすることができる。
【0100】
その際、コンピューティングデバイス210は、難易度が変化する様子を、タッチスクリーン220に難易度メーター(あるいはゲージ)等の形式で表示してよい。これにより、ユーザは、難易度の変化を確認しながら、ゲーム装置100に与える加速度を調整することができる。したがって、ユーザは、所望の難易度を狙ってゲーム装置100に与える加速度の大きさや回数を加減することができる。
【0101】
コンピューティングデバイス210は、決定した難易度が、例えば「0〜4」であれば例えば図11(B)に示す「16×16のグリッド」を適用(選択)し、「5〜9」であれば例えば図11(A)に示す「20×20のグリッド」を適用(選択)する(処理P170)。別言すると、難易度が低いほどグリッド数の少ないグリッドが選ばれ、難易度が高いほどグリッド数の多いグリッドが選ばれる。これは、生成するゲームマップ上に最終的に設定されるスタート地点とゴール地点との間の距離が難易度に応じて変化すると捉えることができる。すなわち、グリッド数が少なければ、多い場合に比べて、スタート地点とゴール地点との距離が相対的に短くなり易いから難易度が低くなる。
【0102】
次いで、コンピューティングデバイス210は、例えばマップピース配置部508(図5参照)としての機能により、配置するマップピースが成す「島」が5つ以内か否かをチェックする(処理P180)。ここで、「島」とは、隣接するグリッドに配置される2以上のマップピース群のかたまりである場合もあるし、いずれのマップピースにも隣接しない独立したマップピースである場合もある。
【0103】
チェックの結果、「島」が5つを超えていれば(処理P180でNoの場合)、コンピューティングデバイス210は、その中で一番サイズの大きな「島」(仮に「島A」とする。)を検出し(処理P190)、当該「島A」に距離が近い順に4つの「島」を選出する(処理P200)。なお、コンピューティングデバイス210は、選出されなかった「島」を、処理負荷軽減のために削除してもよいが、にぎやかしのために例えば図15に例示するようにオブジェクト(OBJ)として残してもよい。「島」と「島」との距離は、例えばグリッド数で識別することができる。
【0104】
そして、コンピューティングデバイス210は、選出された複数の「島」どうしを接続(連結)するマップピース(例えばレールオブジェクト)を当該「島」間に配置して、プレイヤキャラクタが「島」から「島」へレールオブジェクトを渡って移動可能なコースを設定する(処理P210)。レールオブジェクトは、最短距離にある「島」間に優先的に1つ設定することができる。ただし、複数のレールオブジェクトを「島」間に設定することを排除するものではない。
【0105】
一方、処理P180で「島」が5つ以内であった場合、コンピューティングデバイス210は、上記の処理P210により「島」どうしを接続(連結)する。非限定的な一例として、図15には、5つの島A〜Eのうち、島Aと距離が近い島B及びDがそれぞれレールオブジェクト320及び330によって接続され、島Bと島Cとがレールオブジェクト310によって接続され、かつ、島Dと島Eとがレールオブジェクト340によって接続されて、5つの島A〜Eをプレイヤキャラクタが移動可能なコースが設定される様子を例示している。また、他の非限定的な一例として、図17には、島Aとそれぞれ距離の近い島B及びCがそれぞれレールオブジェクト350及び360によって接続されて、3つの島A〜Cをプレイヤキャラクタが移動可能なコースが設定される様子を例示している。
【0106】
なお、「島」が1つも無い場合、コンピューティングデバイス210は、例えば仮想ゲーム空間において「島」(地面又は床)となる最小サイズ以上(例えば5(m)×5(m)以上のサイズ)のマップピースをコースとしてゲームマップ内に配置する。これにより、ゲームマップ内にコースが設定されない不都合を回避する(別言すると、ゲームマップ内には少なくとも1つのコースが必ず設定される)ことができる。また、「島」同士の距離が同じ場合や基準となる一番サイズの大きな「島」が複数ある場合、コンピューティングデバイス210は、いずれかの「島」を例えば乱数を用いる等してランダムに選出してもよいし、予め決められた条件(優先順位等)に従って選出してもよい。
【0107】
次いで、コンピューティングデバイス210は、例えば図12に示すように、マップを擬似アウトライン化する(処理P220)。なお、図12には、処理P170において「20×20のグリッド」が適用された場合の擬似アウトライン化の様子を例示している。「擬似アウトライン化」では、コースとなる「島」等のアウトラインに相当するグリッド以外の値を「1」から「0」に変換する。
【0108】
例えば、着目グリッドの周囲に「床」が存在する(マップピース有りの)場合、コンピューティングデバイス210は、着目グリッドの値を「1」から「0」に変換することで、当該着目グリッドに配置された「床」を取り除く(あるいは間引く)処理を実施する。当該擬似アウトライン化処理によって、擬似アウトライン化を実施しない場合に比して、コンピューティングデバイス210の処理負荷を軽減することができる。
【0109】
さらに、コンピューティングデバイス210は、スタート/ゴール設定部516としての機能(図5参照)により、擬似アウトライン化されたマップにおけるコース上の2点の最長距離を検出、別言すると、配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索する。そして、コンピューティングデバイス210は、一方のマップピースにスタート地点410を設定し、他方のマップピースにゴール地点420を設定する(例えば図13〜図15及び図17参照)(処理P230)。
【0110】
マップピース内のどの地点にスタート/ゴールを設定するかは、乱数を用いる等してランダムに決定してもよいし、予め決められた条件に従って決定してもよい。なお、「島」となるマップピースが1つしか無い場合でも、コンピューティングデバイス210は、例えば図16に例示するように、当該1つのマップピースにおいて最長距離となる2点にスタート地点410とゴール地点420とを設定することができる。なお、スタート地点410及びゴール地点420の検索条件は「最長距離」でなくても構わないが、「最長距離」とすることでコンピューティングデバイス210の処理負荷を軽減できる。
【0111】
コンピューティングデバイス210は、処理P160で決定した難易度に基づいて、マップピースの種類を変化させてコースの難易度を変化させることができる(処理P240;例えば図14参照)。なお、図14には、非限定的な一例として、コースの幅が部分的に狭くなり、図13に比して難易度が高くなった様子を示している。
【0112】
図18〜図24に、非限定的な一例として、難易度に応じて選ばれるマップピースの候補リストを示す。マップピースは、図18〜図24に例示するように、複数種類用意されており、例えばメモリモジュール212の「グラフィックデータ」(図4参照)に含まれる。図18〜図24において、難易度が高くなるほど高い「点数」が付されたマップピースが選出され易くなる。
【0113】
例えば図18において、上から1番目及び2番目のマップピース(「点数」=1)は、いずれも仮想ゲーム空間において縦横が5(m)×5(m)のサイズの「地面」(あるいは「床」)を表現したオブジェクトであり、上から3番目及び4番目のマップピースは5(m)×5(m)のサイズの「地面」(あるいは「床」。以下同様。)が特定の傾斜を有することを表現したオブジェクトであり、傾斜の無い場合よりも高い「点数」が設定されている。傾斜の度合いは複数設定することができ、図18では細い矢印が付されたマップピース(地面)よりも太い矢印が付されたマップピース(地面)の方が傾斜の大きいことを示している。
【0114】
また、図18において、上から5〜7番目の3種類のマップピースは、いずれも縦横が5(m)×1(m)のサイズの「地面」、別言すると、1〜4番目のマップピースが表現する「地面」よりも幅の狭い「地面」を表現したオブジェクトであり、上記と同様に、傾斜の有無が矢印の有無によって示され、傾斜の度合いが矢印の太さによって示されている。
【0115】
同様に、図19には、サイズ(幅)及び傾斜の異なる6種類の「地面」を表現したオブジェクトのリストが示されている。図20には、延在方向が図18及び図19の例とは異なる方向(斜め方向)でそれぞれサイズ(幅)及び傾斜の異なる9種類の「地面」を表現したオブジェクトのリストが示されている。他にも、マップピースは、図21〜図24に例示するように様々な形状、サイズ、傾斜等を有することができる。
【0116】
コンピューティングデバイス210は、マップピース配置部508(図5参照)としての機能により、以上のようなマップピースの配置を組み合わせることで、ゲームマップにおいて傾斜を有するコースや、段差(凸凹)や穴を有するコース、段差(高低差)を有するコース、ギミック(左右に動く床)を有するコース、ギミック(バンパー)を有するコース等、難易度に応じて様々なコースを生成、生成することができる(図6の処理P250)。「バンパー」は、コース上を移動するプレイヤキャラクタが衝突するとプレイヤキャラクタが撥ね返されるような動作を実現するギミック(オブジェクト)である。
【0117】
なお、タッチスクリーン220に表示されるコースの非限定的な一例として、図25に「傾斜を有するコース」、図26に「段差(凸凹)や穴を有するコース」、図27に「高低差を有するコース」、図28に「左右に動く床を有するコース」、図29に「バンパーを有するコース」それぞれの表示例を示す。
【0118】
「段差(凸凹)」は、凸凹を表現したマップピース(例えば図23の上から6〜8番目のマップピース)単体で実現してもよいし、平坦な「床」を表現したマップピースの繋ぎ目を僅かに上下にずらすことで実現してもよい。
【0119】
また、「高低差」のある複数の「床」が配置される場合、「高低差」のあることをプレイヤが視認し易いように、「床」の色を高低に応じて変えるようにするとよい。ただし、「高低差」は、例示的に、「スタート地点よりもゴール地点が低い」という条件で設定するのが好ましい。当該条件により、コース上を転がりながら移動するようなプレイヤキャラクタ(例えばボール等)がゴール地点に辿り付けるようなコース設定が可能となる。ただし、難易度によっては「スタート地点とゴール地点が同じ高さ」に設定されてもよい。要するに、「ゴール地点はスタート地点と同じ高さかそれよりも低い」位置に配置(設定)される。
【0120】
「動く床」は、図18〜図24に例示したいずれのマップピースでもよい。図28には凸凹(ピラミッド形状)を表現したマップピース(例えば図23の上から6番目のマップピース)が「動く床」として配置された様子を例示している。
【0121】
難易度が高くなるほど、配置されるマップピースのバリエーションが増え、通路が狭くなったり、傾斜や穴、凸凹等がコース上に配置されたりすることになる。したがって、プレイヤキャラクタが、ゴール地点へ辿りつくのが難しいコースとなる。
【0122】
なお、難易度に応じたコース生成(設定)は、マップピースが配置されるグリッドサイズ(別言すると、マップピースサイズ)を変化させることで実現してもよい。例えば、グリッドサイズ(マップピースサイズ)を大きくすることで、配置されるマップピースの通路が広くなり、難易度の低いコース設定を実現できる。逆に、グリッドサイズ(マップピースサイズ)を小さくすることで、配置されるマップピースの通路が狭くなり、難易度の高いコース設定を実現できる。さらに、難易度に応じたコース生成(設定)は、グリッド数を変化させることで実現してもよい。例えば、グリッド数を少なくすることで配置されるマップピースの総数が少なくなり、難易度の低いコース設定を実現できる。逆に、グリッド数を多くすることで配置されるマップピースの総数が多くなり、難易度の高いコース設定を実現できる。
【0123】
ゲーム装置100のプレイヤは、操作ボタン260やタッチスクリーン220を通じてプレイヤキャラクタ(キャラクタオブジェクト)の移動や行動を制御することで、以上のようにして生成されたゲームマップのコースをプレイヤキャラクタがスタート地点からゴール地点まで進ませてゆくゲームを楽しむことができる(図6の処理P260)。
【0124】
以上のように、本実施形態によれば、カメラ270又は290で撮影した画像データを基にゲームマップを作成することができるので、従来のようにゲームマップに配置する通路等のパターンやサイズを全て指定する必要がなく、ゲームマップを簡単に作成することができる。したがって、自由度の高いゲーム展開を可能にさせることができ、ゲームの興趣性を向上することができる。
【0125】
なお、上述した実施形態では、カメラ270又は290で撮影した画像データを基にゲームマップを作成しているが、例えば、コンピューティングデバイス210は、外部メディアユニット240や通信ユニット250を通じて取得した画像データを基にゲームマップを作成してもよい。
【0126】
また、上述した実施形態は、コンピュータゲーム装置のほか、携帯電話、スマートフォン、タブレット型コンピュータ等のインテリジェントデバイスで実行されるゲームプログラムに広く適用することができる。
【符号の説明】
【0127】
100…ゲーム装置、110…ハウジング、210…コンピューティングデバイス、211…プロセッサコア、212…メモリモジュール、213…グラフィックスエンジン、2131…グラフィックコア、2132…グラフィックメモリ、214…サウンドエンジン、215…I/Oコントローラ、216…システムバス、220…タッチスクリーン、221…ディスプレイ、222…タッチセンサ、230…オーディオ出力ユニット、240…外部メディアユニット、250…通信ユニット、260…操作ボタン、270…前面(内側)カメラ、280…加速度センサ、290…背面(外側)カメラ、310,320,330,340,350…レールオブジェクト、410…スタート地点、420…ゴール地点、502…記憶部、504…輝度画像生成部、506…値検出部、508…マップピース配置部、510…加速度検出部、512…ゲーム難易度決定部、514…グリッド当てはめ部、516…スタート/ゴール設定部、A〜E…島
【特許請求の範囲】
【請求項1】
プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段、
画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段、
前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段、
前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段、
として機能させる、ゲームプログラム。
【請求項2】
前記マップピースは複数種類からなり、
前記配置手段は、
配置するマップピースに対応する所定領域の周囲の所定領域の前記値の検出状況に応じて、当該マップピースの種類を決定する、請求項1に記載のゲームプログラム。
【請求項3】
前記マップピースは複数種類からなり、
前記コンピュータを、
難易度を決定する難易度決定手段
として更に機能させ、
前記配置手段は、
前記難易度に応じて、前記マップピースの種類を決定する、請求項1又は2に記載のゲームプログラム。
【請求項4】
前記配置手段は、
前記マップピースが隣接して配置された一のマップピース群と他のマップピース群との最短距離に対応する位置の所定領域に、当該一のマップピース群と当該他のマップピース群とを連結するマップピースを配置する、請求項1〜3のいずれか一項に記載のゲームプログラム。
【請求項5】
前記コンピュータを、
前記ゲームマップ内に前記キャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する設定手段
として更に機能させ、
前記設定手段は、
配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上に前記スタート地点を設定し、他方のマップピース上に前記ゴール地点を設定する、請求項1〜4のいずれか一項に記載のゲームプログラム。
【請求項6】
前記コンピュータを、
前記輝度画像生成手段により生成された画像を異なる前記区分数の所定領域にそれぞれ当てはめる当てはめ手段
として更に機能させ、
前記当てはめ手段は、
前記難易度決定手段により決定した難易度に応じて前記当てはめに用いる前記区分数の所定領域を選択する、請求項3に記載のゲームプログラム。
【請求項7】
前記コンピュータを、
加速度を検出する加速度検出手段
として更に機能させ、
前記難易度決定手段は、前記加速度検出手段により検出した加速度の値が大きいほど難易度を高く決定する、請求項3に記載のゲームプログラム。
【請求項8】
プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームを実行するゲーム装置であって、
前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段と、
画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段と、
前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段と、
前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段と、
を備える、ゲーム装置。
【請求項9】
請求項1〜7のいずれか一項に記載のゲームプログラムを記録した記録媒体。
【請求項10】
プレイヤからの入力操作に基づき、ゲームフィールドに設定されたコースでキャラクタオブジェクトを移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
画像データを所定数に区分し、当該区分毎の前記画像データのカラー情報を記憶する記憶手段、
前記ゲームフィールドを平面で表現するマップ上に設けた各領域と前記区分とを対応させ、前記区分のカラー情報に基づいて、当該区分に対応する領域に前記コースの一部を成すピースを設定する設定手段、
として機能させる、ゲームプログラム。
【請求項11】
前記設定手段は、
複数の前記ピースを組み合わせた一のピース群と他のピース群とを繋ぐピースを設定する、請求項10に記載のゲームプログラム。
【請求項1】
プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段、
画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段、
前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段、
前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段、
として機能させる、ゲームプログラム。
【請求項2】
前記マップピースは複数種類からなり、
前記配置手段は、
配置するマップピースに対応する所定領域の周囲の所定領域の前記値の検出状況に応じて、当該マップピースの種類を決定する、請求項1に記載のゲームプログラム。
【請求項3】
前記マップピースは複数種類からなり、
前記コンピュータを、
難易度を決定する難易度決定手段
として更に機能させ、
前記配置手段は、
前記難易度に応じて、前記マップピースの種類を決定する、請求項1又は2に記載のゲームプログラム。
【請求項4】
前記配置手段は、
前記マップピースが隣接して配置された一のマップピース群と他のマップピース群との最短距離に対応する位置の所定領域に、当該一のマップピース群と当該他のマップピース群とを連結するマップピースを配置する、請求項1〜3のいずれか一項に記載のゲームプログラム。
【請求項5】
前記コンピュータを、
前記ゲームマップ内に前記キャラクタオブジェクトが移動又は行動を開始するスタート地点と、移動又は行動を終了するゴール地点とを設定する設定手段
として更に機能させ、
前記設定手段は、
配置されたマップピースのうちで最も遠距離同士になるマップピースを一組検索し、一方のマップピース上に前記スタート地点を設定し、他方のマップピース上に前記ゴール地点を設定する、請求項1〜4のいずれか一項に記載のゲームプログラム。
【請求項6】
前記コンピュータを、
前記輝度画像生成手段により生成された画像を異なる前記区分数の所定領域にそれぞれ当てはめる当てはめ手段
として更に機能させ、
前記当てはめ手段は、
前記難易度決定手段により決定した難易度に応じて前記当てはめに用いる前記区分数の所定領域を選択する、請求項3に記載のゲームプログラム。
【請求項7】
前記コンピュータを、
加速度を検出する加速度検出手段
として更に機能させ、
前記難易度決定手段は、前記加速度検出手段により検出した加速度の値が大きいほど難易度を高く決定する、請求項3に記載のゲームプログラム。
【請求項8】
プレイヤからの入力操作に基づき、キャラクタオブジェクトをゲームマップ内で移動又は行動させるゲームを実行するゲーム装置であって、
前記ゲームマップ内に配置されるマップオブジェクトの一部を成すマップピースを記憶する記憶手段と、
画像データを読み込み、当該画像データから輝度画像を生成する輝度画像生成手段と、
前記ゲームマップに対して予め設定した区分数の所定領域毎に、前記輝度画像の値を検出する検出手段と、
前記検出手段により検出した値に基づいて、前記所定領域のいずれかに前記マップピースを配置する配置手段と、
を備える、ゲーム装置。
【請求項9】
請求項1〜7のいずれか一項に記載のゲームプログラムを記録した記録媒体。
【請求項10】
プレイヤからの入力操作に基づき、ゲームフィールドに設定されたコースでキャラクタオブジェクトを移動又は行動させるゲームをコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
画像データを所定数に区分し、当該区分毎の前記画像データのカラー情報を記憶する記憶手段、
前記ゲームフィールドを平面で表現するマップ上に設けた各領域と前記区分とを対応させ、前記区分のカラー情報に基づいて、当該区分に対応する領域に前記コースの一部を成すピースを設定する設定手段、
として機能させる、ゲームプログラム。
【請求項11】
前記設定手段は、
複数の前記ピースを組み合わせた一のピース群と他のピース群とを繋ぐピースを設定する、請求項10に記載のゲームプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図9】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図9】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2013−59546(P2013−59546A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−200856(P2011−200856)
【出願日】平成23年9月14日(2011.9.14)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願日】平成23年9月14日(2011.9.14)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
[ Back to top ]