(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023051599
(43)【公開日】2023-04-11
(54)【発明の名称】プログラム、コンピュータシステムおよびゲームマップ生成方法
(51)【国際特許分類】
A63F 13/63 20140101AFI20230404BHJP
【FI】
A63F13/63
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021162416
(22)【出願日】2021-09-30
(71)【出願人】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100124682
【弁理士】
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【弁理士】
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【弁理士】
【氏名又は名称】井上 一
(72)【発明者】
【氏名】會津 卓也
(72)【発明者】
【氏名】河内 厚典
(72)【発明者】
【氏名】宍戸 哲広
(72)【発明者】
【氏名】吉岡 一
(72)【発明者】
【氏名】塚中 健介
(57)【要約】
【課題】画像を元に作成されるゲームマップの多様性を高めることが可能な技術を提供すること。
【解決手段】サーバシステムは、マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いるゲームマップを生成する。その際、複数のマップ生成用画像を取得し、マップ要素の配置構成の下地とする画像部分を複数のマップ生成用画像から抽出する所定の画像解析処理を行う。そして、抽出結果を用いて取捨選択したマップ要素の配置構成を決定することでゲームマップを生成する。複数のマップ生成画像の組み合わせ次第で、多様なゲームマップを生成することができる。
【選択図】
図27
【特許請求の範囲】
【請求項1】
マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップをコンピュータシステムに生成させるためのプログラムであって、
複数のマップ生成用画像を取得する画像取得手段、
前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成するゲームマップ生成制御手段、
として前記コンピュータシステムを機能させるためのプログラム。
【請求項2】
前記ゲームマップ生成制御手段は、
前記画像解析処理を行って前記マップ要素の仮の配置構成を作成する仮作成手段と、
前記仮の配置構成に基づいて前記マップ要素の配置構成を決定することで前記ゲームマップを生成する生成制御手段と、
を有する、
請求項1に記載のプログラム。
【請求項3】
前記仮作成手段は、前記複数のマップ生成用画像それぞれについて前記画像解析処理を行い、当該マップ生成用画像に係る前記仮の配置構成である画像別仮配置構成を作成し、
前記生成制御手段は、
前記画像別仮配置構成をレイアウトすることで、前記ゲームマップ全体における前記マップ要素の仮の全体配置構成を作成するレイアウト手段、
を有し、前記仮の全体配置構成に基づいて前記マップ要素の配置構成を決定する、
請求項2に記載のプログラム。
【請求項4】
前記レイアウト手段は、前記画像別仮配置構成同士を部分的又は全体的に合成する、
請求項3に記載のプログラム。
【請求項5】
前記生成制御手段は、
前記仮の全体配置構成において、前記移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成との繋ぎ箇所を検出する繋ぎ箇所検出手段と、
前記繋ぎ箇所における前記マップ要素の配置を補修する補修手段と、
を有する、
請求項3又は4に記載のプログラム。
【請求項6】
前記レイアウト手段は、前記仮の全体配置構成において、前記移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成とのレイアウト位置を調整する、
請求項3から5の何れか一項に記載のプログラム。
【請求項7】
前記レイアウト手段は、前記複数のマップ生成用画像それぞれの画像特徴に基づいて、前記画像別仮配置構成のレイアウトを決定し、
前記生成制御手段は、
前記複数のマップ生成用画像を前記レイアウトに従って配置した画像を用いて前記ゲームマップの背景画像を生成する背景画像生成手段、
を有する、
請求項3から6の何れか一項に記載のプログラム。
【請求項8】
前記生成制御手段は、
前記画像別仮配置構成を評価する評価手段、
を有し、
前記レイアウト手段は、前記評価手段の評価結果に基づいて、前記画像別仮配置構成のレイアウトを決定する、
請求項3から6の何れか一項に記載のプログラム。
【請求項9】
前記評価手段は、前記画像別仮配置構成に対するプレイ難易度を評価する、
請求項8に記載のプログラム。
【請求項10】
前記レイアウト手段は、前記評価結果の順に従って前記画像別仮配置構成のレイアウト順序を決定する、
請求項8又は9に記載のプログラム。
【請求項11】
前記ゲームは、対戦者それぞれ用のエリアが設定された対戦ゲームであり、
前記レイアウト手段は、前記評価手段の評価結果に基づいて、前記対戦者それぞれ用のエリアを構成する前記画像別仮配置構成を決定する、
請求項8又は9に記載のプログラム。
【請求項12】
前記仮作成手段は、前記複数のマップ生成用画像を合成及び/又は接続(以下包括して「合成接続」という)した全体画像について前記画像解析処理を行って前記仮の配置構成を作成する、
請求項2に記載のプログラム。
【請求項13】
前記仮作成手段は、
前記マップ生成用画像をレイアウトして前記全体画像を生成するレイアウト手段、
を有する、
請求項12に記載のプログラム。
【請求項14】
前記レイアウト手段は、前記複数のマップ生成用画像それぞれの画像特徴に基づいて、前記マップ生成用画像のレイアウトを決定し、
前記生成制御手段は、
前記全体画像を用いて前記ゲームマップの背景画像を生成する背景画像生成手段、
を有する、
請求項13に記載のプログラム。
【請求項15】
前記ゲームマップは、ゲーム進行に応じたステージとなる複数のステージマップを含み、
前記仮作成手段は、前記複数のマップ生成用画像それぞれについて前記画像解析処理を行い、当該マップ生成用画像に係る前記仮の配置構成である画像別仮配置構成を作成し、
前記生成制御手段は、
前記画像別仮配置構成に基づいて、前記ステージマップに係る前記マップ要素の配置構成を決定することで前記ステージマップを生成するステージマップ生成手段と、
前記ステージマップに係る前記画像別仮配置構成を評価する評価手段と、
前記評価手段の評価結果に基づいて、ゲーム進行に応じた前記ステージマップの順序を決定するステージマップ順序決定手段と、
を有する、
請求項2に記載のプログラム。
【請求項16】
前記生成制御手段は、前記評価手段の評価結果に基づいて、特別なステージとする前記ステージマップを決定する、
請求項15に記載のプログラム。
【請求項17】
マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップを生成させるためのコンピュータシステムであって、
複数のマップ生成用画像を取得する画像取得手段と、
前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成するゲームマップ生成制御手段と、
を備えるコンピュータシステム。
【請求項18】
マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップをコンピュータシステムが生成するためのゲームマップ生成方法であって、
複数のマップ生成用画像を取得することと、
前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成することと、
を含むゲームマップ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームマップをコンピュータシステムに生成させるためのプログラム等に関する。
【背景技術】
【0002】
ビデオゲームにおけるゲームマップは、プレーヤが操作する移動体オブジェクト(例えば、プレーヤキャラクタ、NPC(Non-Player Character)、動く背景物など)を移動させるための領域を定義する必須要素である。ゲームマップには、複数のマップ要素が配置される。マップ要素は、ゲーム内容に応じてその役割が変わるが、例えば、移動体オブジェクトが移動するための足場や、移動範囲を制限する障壁、などの役割を担う。そして、マップ要素そのものや、マップ要素の配置は、ゲームマップを使ってプレイしたときの面白さを左右する要因の1つといっても過言ではない。
【0003】
ゲームマップにおけるマップ要素の配置は、ゲームメーカが攻略難易度を考慮して決定する場合が多いが、カメラ等で実世界を撮影した画像を元にして作成する技術もある。
【0004】
例えば、特許文献1には、読み込んだ画像の輝度情報を用いてゲームマップを生成する技術が開示されている。具体的には、ピクセルの輝度情報に基づいて画像を二値化処理し、予め区分された領域(グリッド)毎に二値化処理された1又は0を使ってマップピースを配置することでゲームマップを生成する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、画像からゲームマップを生成する従来技術においては、生成されるゲームマップに多様性を欠く。すなわち、ユーザからすれば、読み込ませる画像を見れば、どのようなゲームマップが生成されるかの予想がつくおそれがある。もしも、複数の画像を読み込ませて1つのゲームマップを生成することができれば、生成されるゲームマップの多様性を高めることができる。
【0007】
本発明が解決しようとする課題は、画像を元に作成されるゲームマップの多様性を高めることが可能な技術を提供すること、である。
【課題を解決するための手段】
【0008】
上記した課題を解決するための第1の発明は、マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップをコンピュータシステムに生成させるためのプログラムであって、
複数のマップ生成用画像を取得する画像取得手段(例えば、
図29の画像取得部212、
図31の連結素材マップ生成用画像データ722、
図33のステップS210)、
前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽選結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成するゲームマップ生成制御手段(例えば、
図29のゲームマップ生成制御部214、
図30の連結型ゲームマップデータ740、
図33のステップS210からステップS226)、
として前記コンピュータシステムを機能させるためのプログラムである。
【0009】
また、第2の発明は、前記ゲームマップ生成制御手段が、
前記画像解析処理を行って前記マップ要素の仮の配置構成を作成する仮作成手段(例えば、
図29の仮作成部220、
図31の連結素材ゲームマップデータ724に含まれる仮配置構成データ、
図33のステップS212)と、
前記仮の配置構成に基づいて前記マップ要素の配置構成を決定することで前記ゲームマップを生成する生成制御手段(例えば、
図29の生成制御部240、
図30の連結型ゲームマップデータ740、
図33のステップS226)と、を有する、第1の発明のプログラムである。
【0010】
「マップ生成用画像」は、実世界を撮影した画像でもよいしCGの画像であってもよい。複数の画像が合成された画像や、複数の画像が一体的に連結・接続された画像であってもよい。その場合、合成・連結・接続される画像は、元の画像の部分であってもよい。
【0011】
第1又は第2の発明によれば、コンピュータシステムは、複数のマップ生成用画像を画像解析処理した結果を用いて取捨選択したマップ要素の配置構成を決定する。よって、ゲームマップの生成に用いる複数のマップ生成用画像の組み合わせによって、多様なゲームマップを生成することが可能となる。
【0012】
第3の発明は、前記仮作成手段が、前記複数のマップ生成用画像それぞれについて前記画像解析処理を行い、当該マップ生成用画像に係る前記仮の配置構成である画像別仮配置構成を作成し、
前記生成制御手段は、前記画像別仮配置構成をレイアウトすることで、前記ゲームマップ全体における前記マップ要素の仮の全体配置構成を作成するレイアウト手段(例えば、
図29のレイアウト部246、
図31のレイアウトデータ726、
図33のステップS220)を有し、前記仮の全体配置構成に基づいて前記マップ要素の配置構成を決定する、第2の発明のプログラムである。
【0013】
また、第4の発明は、前記レイアウト手段は、前記画像別仮配置構成同士を部分的又は全体的に合成する、第3の発明のプログラムである。
【0014】
第3又は第4の発明によれば、コンピュータシステムは、マップ生成用画像毎の仮の配置構成である画像別仮配置構成のレイアウト、つまり相対的な位置関係を変更することができる。また、画像別仮配置構成同士を部分的又は全体的に合成する等してレイアウトを変更することができる。よって、複数のマップ生成用画像の組み合わせによって、より多様なゲームマップを作成できる。
【0015】
第5の発明は、前記生成制御手段が、前記仮の全体配置構成において、前記移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成との繋ぎ箇所を検出する繋ぎ箇所検出手段(例えば、
図29の繋ぎ箇所検出部248、
図33のステップS220)と、前記繋ぎ箇所における前記マップ要素の配置を補修する補修手段(例えば、
図29の補修部250、
図33のステップS220)と、を有する、第3又は第4の発明のプログラムである。
【0016】
第5の発明によれば、コンピュータシステムは、第1の画像別仮配置構成と第2の画像別仮配置構成との繋ぎ箇所のマップ要素の配置を補修できる。
【0017】
第6の発明は、前記レイアウト手段が、前記仮の全体配置構成において、前記移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成とのレイアウト位置を調整する、第3から第5の何れかの発明のプログラムである。
【0018】
第6の発明によれば、コンピュータシステムは、第1の画像別仮配置構成と第2の画像別仮配置構成とのレイアウト位置つまり相対的な位置関係を調整できる。
【0019】
第7の発明は、前記レイアウト手段が、前記複数のマップ生成用画像それぞれの画像特徴に基づいて、前記画像別仮配置構成のレイアウトを決定し(例えば、変形例その4)、前記生成制御手段は、前記複数のマップ生成用画像を前記レイアウトに従って配置した画像を用いて前記ゲームマップの背景画像を生成する背景画像生成手段(例えば、
図29の背景画像生成部244、
図33のステップS224)、を有する、第3から第6の何れかの発明のプログラムである。
【0020】
第7の発明によれば、コンピュータシステムは、ゲームマップの作成に用いた複数のマップ生成用画像を1つの背景画像として用いたゲームマップを生成できる。
【0021】
また、第8の発明は、前記生成制御手段が、前記画像別仮配置構成を評価する評価手段(例えば、
図29の評価部254、
図31の評価結果725、
図33のステップS214)、を有し、前記レイアウト手段は、前記評価手段の評価結果に基づいて、前記画像別仮配置構成のレイアウトを決定する(例えば、
図27や
図28参照)、第3から第6の何れかの発明のプログラムである。
【0022】
第8の発明によれば、コンピュータシステムは、画像別仮配置構成の評価結果に基づいて、画像別仮配置構成のレイアウトを決定することができる。
【0023】
第9の発明は、前記評価手段が、前記画像別仮配置構成に対するプレイ難易度を評価する、第8の発明のプログラムである。
【0024】
第9の発明によれば、コンピュータシステムは、画像別仮配置構成に対するプレイ難易度の評価結果に基づいて、画像別仮配置構成のレイアウトを決定することができる。
【0025】
第10の発明は、前記レイアウト手段が、前記評価結果の順に従って前記画像別仮配置構成のレイアウト順序を決定する(例えば、
図27や
図28参照)、第8又は第9の発明のプログラムである。
【0026】
第10の発明によれば、コンピュータシステムは、画像別仮配置構成の評価結果の順に従って画像別仮配置構成のレイアウト順序を決定することができる。
【0027】
第11の発明は、前記ゲームが、対戦者それぞれ用のエリアが設定された対戦ゲームであり、前記レイアウト手段は、前記評価手段の評価結果に基づいて、前記対戦者それぞれ用のエリアを構成する前記画像別仮配置構成を決定する、第8又は第9の発明のプログラムである。
【0028】
第11の発明によれば、コンピュータシステムは、対戦者それぞれ用のエリアが設定された対戦ゲーム用のゲームマップを作成する際、画像別仮配置構成の評価結果に基づいて、対戦者それぞれ用のエリアを構成する画像別仮配置構成を決定することができる。
【0029】
第12の発明は、前記仮作成手段が、前記複数のマップ生成用画像を合成及び/又は接続(以下包括して「合成接続」という)した全体画像について前記画像解析処理を行って前記仮の配置構成を作成する(例えば、変形例その4)、第2の発明のプログラムである。
【0030】
また、第13の発明は、前記仮作成手段が、前記マップ生成用画像をレイアウトして前記全体画像を生成するレイアウト手段、を有する、第12の発明のプログラムである。
【0031】
第12又は第13の発明によれば、コンピュータシステムは、複数のマップ生成用画像を合成接続した全体画像からゲームマップを作成することができる。
【0032】
第14の発明は、前記レイアウト手段が、前記複数のマップ生成用画像それぞれの画像特徴に基づいて、前記マップ生成用画像のレイアウトを決定し、前記生成制御手段は、前記全体画像を用いて前記ゲームマップの背景画像を生成する背景画像生成手段、を有する、第13の発明のプログラムである。
【0033】
第14の発明によれば、コンピュータシステムは、ゲームマップの作成に用いた複数のマップ生成用画像でなる全体画像を背景画像として用いたゲームマップを生成できる。
【0034】
第15の発明は、前記ゲームマップは、ゲーム進行に応じたステージとなる複数のステージマップを含み、
前記仮作成手段は、前記複数のマップ生成用画像それぞれについて前記画像解析処理を行い、当該マップ生成用画像に係る前記仮の配置構成である画像別仮配置構成を作成し、
前記生成制御手段は、
前記画像別仮配置構成に基づいて、前記ステージマップに係る前記マップ要素の配置構成を決定することで前記ステージマップを生成するステージマップ生成手段(例えば、
図29のステージマップ生成部252、
図32のステージマップデータ754、
図34のステップS312)と、
前記ステージマップに係る前記画像別仮配置構成を評価する評価手段(例えば、
図29の評価部254、
図32の評価結果755、
図34のステップS314)と、
前記評価手段の評価結果に基づいて、ゲーム進行に応じた前記ステージマップの順序を決定するステージマップ順序決定手段(例えば、
図29のステージマップ順序決定部256、
図32のステージ順序設定データ756、
図34のステップS320)と、を有する、第2の発明のプログラムである。
【0035】
第15の発明によれば、コンピュータシステムは、ゲーム進行に応じたステージとなる複数のステージマップを含むゲームマップを多様に生成することができる。
【0036】
第16の発明は、前記生成制御手段が、前記評価手段の評価結果に基づいて、特別なステージとする前記ステージマップを決定する(例えば、
図28参照)、第15の発明のプログラムである。
【0037】
第16の発明によれば、コンピュータシステムは、画像別仮配置構成の評価結果に基づいて、特別なステージマップを含むゲームマップを多様に生成することができる。
【0038】
第17の発明は、マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップを生成させるためのコンピュータシステムであって、
複数のマップ生成用画像を取得する画像取得手段と、前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成するゲームマップ生成制御手段と、を備えるコンピュータシステムである。
【0039】
第17の発明によれば、第1の発明と同様の作用効果を奏するコンピュータシステムを実現できる。
【0040】
第18の発明は、マップ要素が配置されたゲームマップ中を移動体オブジェクトが移動するゲームに用いる前記ゲームマップをコンピュータシステムが生成するためのゲームマップ生成方法であって、複数のマップ生成用画像を取得することと、前記マップ要素の配置構成の下地とする画像部分を前記複数のマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択した前記マップ要素の配置構成を決定することで前記ゲームマップを生成することと、を含むゲームマップ生成方法である。
【0041】
第18の発明によれば、第1の発明と同様の作用効果を奏するゲームマップ生成方法を実現できる。
【図面の簡単な説明】
【0042】
【
図3】ゲームマップ生成機能の概要を説明するための図(その1)。
【
図4】ゲームマップ生成機能の概要を説明するための図(その2)。
【
図5】ゲームマップ生成機能の概要を説明するための図(その3)。
【
図6】ゲームマップ生成機能の概要を説明するための図(その4)。
【
図7】不適切箇所の一例であるマップ要素の過度な塊状の密集の例を示す図。
【
図8】塊状の密集を解消する自動編集について説明するための図。
【
図9】不適切箇所の一例であるマップ要素の列状の密集の例を示す図。
【
図10】列状の密集を解消する自動編集について説明するための図。
【
図11】不適切箇所の一例としてマップ要素の過度な粗の例を示す図。
【
図12】マップ要素へのゲーム要素の付与について説明するための図。
【
図13】マップ要素へゲーム要素を付与する前処理としての仮の配置構成におけるマップ要素の編集について説明するための図。
【
図14】サーバシステムの機能構成例を示す機能ブロック図。
【
図15】サーバ記憶部が記憶するプログラムやデータの例を示す図。
【
図16】ゲーム要素定義データのデータ構成例を示す図。
【
図17】ゲームマップ生成制御データのデータ構成例を示す図。
【
図18】ユーザ作成ゲームマップデータのデータ構成例を示す図。
【
図19】ユーザ端末の機能構成例を示す機能ブロック図。
【
図20】ゲームマップ生成に係る処理の流れを説明するためのフローチャート。
【
図22】第2実施形態におけるユーザ端末の機能構成例を示す機能ブロック図。
【
図23】第2実施形態における端末記憶部が記憶するプログラムやデータの例を示す図。
【
図24】連結型ゲームマップ生成機能について説明するための図(その1)。
【
図25】連結型ゲームマップ生成機能について説明するための図(その2)。
【
図26】連結型ゲームマップ生成機能について説明するための図(その3)。
【
図27】対戦ゲーム用のゲームマップを生成する場合における連結型ゲームマップ生成機能について説明するための図。
【
図28】ステージ型ゲームマップ生成機能について説明するための図。
【
図29】第3実施形態におけるサーバシステムの機能構成例を示す機能ブロック図。
【
図30】第3実施形態におけるサーバ記憶部が記憶するプログラム及びデータの例を示す図。
【
図31】連結型ゲームマップ生成作業データのデータ構成例を示す図。
【
図32】ステージ型ゲームマップ生成作業データのデータ構成例を示す図。
【
図33】連結型ゲームマップ生成に係る処理の流れを説明するためのフローチャート。
【
図34】ステージ型ゲームマップ生成に係る処理の流れを説明するためのフローチャート。
【発明を実施するための形態】
【0043】
以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【0044】
〔第1実施形態〕
図1は、ゲームシステム1000の構成例を示す図である。
ゲームシステム1000は、サーバシステム1100と、ユーザ別のユーザ端末1500とを具備し、ユーザ端末1500をマン・マシン・インターフェース(Man Machine Interface:MMIF)とするコンピュータシステムである。
図1では、ユーザ端末1500を1台のみ描いているが、実際のシステム運用においては、ユーザ端末1500の台数は問わない。サーバシステム1100とユーザ端末1500とは、互いにネットワーク9を介してデータ通信が可能であり、ユーザ端末1500同士もネットワーク9を介してデータ通信が可能である。
【0045】
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0046】
サーバシステム1100は、本体装置1101、キーボード、タッチパネル、ストレージ1140を有し、本体装置1101に制御基板1150を搭載する。制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153、が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
【0047】
そして、サーバシステム1100は、制御基板1150が所定のプログラムおよびデータに基づいて演算処理することにより、(1)ユーザ登録等に係る情報を管理するユーザ管理機能と、(2)ユーザにプレーヤとしてオンラインゲームをプレイさせるゲーム管理機能と、(3)オンラインゲームで使用するゲームマップの作成機能と、を実現する。
【0048】
なお、サーバシステム1100を、1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、サーバシステム1100は、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。また、サーバシステム1100を構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であってもよい。
【0049】
ユーザ端末1500は、ユーザがゲームシステム1000を利用するために使用するコンピュータシステムである。ユーザ端末1500は、ゲームシステム1000におけるマン・マシン・インターフェースの機能を担っている。そのため、ゲームシステム1000は、ユーザ端末1500を具備する、ということもできる。
【0050】
図1では、ユーザ端末1500を、いわゆるスマートフォンと呼ばれる装置として表しているが、コンピュータシステムであれば、スマートウォッチ、スマートグラスなどのウェアラブルコンピュータや、携帯型ゲーム装置、家庭用ゲーム装置、タブレット型コンピュータ、パソコン、などでもよい。スマートフォンと、当該スマートフォンに通信接続されたスマートウォッチとの組み合わせといった複数の電子機器が通信可能に接続することで1つの機能を果たす場合にはこれらの複数の電子機器を1つのユーザ端末1500とみなすことができる。
【0051】
ユーザ端末1500は、操作入力デバイス(例えば、タッチパネル1506、キーボード、ゲームコントローラ、マウスなど)と、カメラ1521と、画像表示デバイス(例えば、タッチパネル1506、ビデオモニタ、ヘッドマウントディスプレイなど)と、制御基板1550と、を備える。
【0052】
制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する通信モジュール1553、などを搭載する。制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、ユーザ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。
【0053】
ユーザ端末1500は、所定のアプリケーションプログラムを実行することにより、ゲームシステム1000のMMIFとしての機能を実現することができる。また、ユーザ端末1500は、基本機能として、タッチパネル1506をファインダーとしてカメラ1521で実世界を撮影するデジタルカメラとしての機能を有しており、撮影した画像をICメモリ1552に記憶することができる。
【0054】
なお、ユーザ端末1500は、アプリケーションプログラムやその実行に必要な各種データをゲームシステム1000からダウンロードする構成としているが、別途入手したメモリカードなどの記憶媒体から読み出す構成としてもよい。
【0055】
ゲームシステム1000は、複数のゲーム種類のオンラインゲームを提供できる。
図2は、ある1つのゲーム種類のオンラインゲームのゲーム画面例を示す図である。
ゲーム画面W2は、ユーザ端末1500のタッチパネル1506に表示される。
図2の例のゲームは、移動体オブジェクトであるプレーヤキャラクタ4を、ゲームマップ6内に設定されたマップ要素8(ゲームマップ6に描かれた横長の白四角)を足場として、移動開始位置10から移動目標位置12まで無事に到達させることを目的としたゲームである。
【0056】
フラグ5が設定されたマップ要素8を経由することで、ユーザはそのフラグ5を獲得することができる。移動開始位置10から移動目標位置12までの移動所要時間と、獲得したフラグ5の数とが、プレイ成績となる。
【0057】
そして、プレーヤキャラクタ4は、マップ要素8の上から外れると、ゲームマップ6内を「落ちる」。具体的には、画面の上から下へ、プレーヤキャラクタ4が下方の別のマップ要素8又はゲームマップ6の底に達するまで自由落下のように移動制御される。落ちるとそれだけ移動目標位置12への移動距離が増えることになる。よって、できるだけ多くのフラグ5を獲得できる最短ルートを見つけ出し、できるだけプレーヤキャラクタ4をマップ要素8から落とさずに、マップ要素8の間のジャンプを失敗しないように操作するのが、ゲーム攻略の要諦となる。
【0058】
プレーヤキャラクタ4の移動は、マップ要素8の上を画面左右方向へ横移動するか、今いるマップ要素8から他のマップ要素8へジャンプするか、の2通りである。横移動は横移動操作アイコン14(14a,14b)へのタッチ操作で行う。ジャンプはジャンプ操作アイコン16へのタッチ操作で行う。タッチしている時間の長さでジャンプ力を調整できる。タッチパネル1506が操作力を検出できるタイプであれば、検出した操作力でジャンプ力を調整できるとしてもよい。ジャンプ操作は、プレーヤキャラクタ4を起点にしてジャンプさせる方向へ行うフリック操作であってもよい。
【0059】
ゲームマップ6は、ゲームメーカ(或いはゲーム提供者)により用意されるが、ユーザ自らがゲームマップ生成機能を利用して新たに自作することもできる。
【0060】
図3から
図6は、ゲームマップ生成機能の概要を説明するための図である。
ゲームマップ生成機能では、
図3に示すように、ユーザがマップ生成用画像20を提供する。
【0061】
マップ生成用画像20は、ユーザがユーザ端末1500のデジタルカメラ機能を利用して実世界を撮影した画像データでもよいし、CGペイントで作成したデジタルイラスト、3Dモデルを配置してレンダリングさせた3DCG画像であってもよい。マップ生成用画像20の提供は、ユーザ端末1500に記憶されているデータや、ユーザ端末1500でアクセス可能なオンラインストレージに記憶されているデータを、ユーザが指定するとしてもよい。
また、マップ生成用画像20は、複数の素材となる画像の全部又は一部を重ね合わせて1つにした合成画像や、複数の画像を並べて1つに連結した合成画像であってもよい。
【0062】
マップ生成用画像20が提供されたならば、
図4に示すように、サーバシステム1100がマップ生成用画像20を画像解析処理し、マップ生成用画像20に写っている被写体の輪郭線22(
図4中では破線で表示;「エッジ」とも言う)を抽出し、抽出された輪郭線22のなかからマップ要素8を配置する下地画像部分24(
図4中では太線で表示)を抽出する。
【0063】
輪郭線22の抽出のアルゴリズムは適宜選択可能であるが、例えば、マップ生成用画像20の隣り合うピクセルの輝度値の差を算出し、所定の閾値(画像解析用のパラメータ値)で二値化処理をして輪郭線22を認識するとしてもよい。なお、輝度値の差は、ピクセルの色情報のRGB値の合算値の差としても良いし、RGBのうち1つの色相の値の差として算出してもよい。
【0064】
下地画像部分24は、マップ生成用画像20に写っている被写体の外形や配色などの特徴から、本実施形態のゲームの特性に合った位置や形状であると判定された特徴部分である。マップ要素8は、足場の役割を担うので外形や配色の輪郭線22が水平又は略水平に見える部分を、下地画像部分24として抽出する。
【0065】
「水平又は略水平に見える部分」とは、所定のピクセルの連なりを単位として着目した場合に、全体として画面の左右方向に並んでいるように見える部分、という意味である。
【0066】
下地画像部分24を抽出する画像解析処理の内容は、下地画像部分24として認識するピクセル単位の設定に合わせて、適宜設定可能である。
例えば、マップ生成用画像20の隣り合うピクセルの輝度値の差を算出し、所定の閾値(画像解析用のパラメータ値)で二値化処理をして輪郭線22を認識する。そして、輪郭線22と認識されたピクセル群を、所定数のピクセル(1から数ピクセル)の連なりで1つの抽出単位として分ける。そして、抽出単位の傾きが水平又は略水平と見なされる所定角度範囲内ならば、当該抽出単位を1つの下地画像部分24として抽出する。隣り合う複数の下地画像部分24は統合して1つにしてもよい。勿論、輪郭線22や下地画像部分24を、これ以外のアルゴリズムで抽出してもよい。
【0067】
なお、抽出単位とする輪郭線22のピクセルの連なりは、上下左右斜めの合計8方向の1ピクセルから2ピクセル程度のズレを許容するとしてもよい。
また、マップ要素8の端が傾斜面でもよいケースや、ゲーム内容が異なりマップ要素8が障害物や壁としての役割を担うのであれば、下地画像部分24は外形や配色の輪郭線22が水平又は略水平に見える部分に限らずに設定してもよい。例えば、輪郭線22が水平又は略水平に見える部分の端部に、数ピクセル分の傾斜部分を含めるとしてもよい。
【0068】
下地画像部分24が抽出されたならば、サーバシステム1100は、
図5に示すように、マップ要素8を仮配置する。具体的には、抽出された下地画像部分24の位置にマップ要素8(
図5の例では、左右に平たい白色四角形;画面左右に平たい足場)を設定する。
【0069】
仮配置されたマップ要素8は、マップ生成用画像20の内容や画像解析処理に適用されたパラメータ値の設定によって粗密が生じている。
マップ要素8が密な部分は、プレーヤキャラクタ4の移動可能範囲を狭めて、ゲームマップ6の有効面積を下げ得る。過密部分を残したままだと、そのゲームマップ6で実際にプレイしてみると楽しくない場合が多い。また、マップ要素8が粗な部分は、プレーヤキャラクタ4のジャンプ能力を超える間隙となり、結果的にプレーヤキャラクタ4が移動できずにプレーヤキャラクタ4の移動可能範囲を狭めてしまい、ゲームマップ6の有効面積を下げ得る。
【0070】
そこで、サーバシステム1100は、マップ要素8の仮配置構成のなかからそうしたマップ要素8の不都合な粗密の箇所を、ゲームプレイの不適切な配置構成箇所(以下、「不適切箇所」という)として検索する。そして、不適切箇所を解消するように配置構成を補正編集して、
図6に示すような、ゲームマップ6の最終的なマップ要素8の配置構成を決定する。
【0071】
ゲームマップ6は、マップ生成用画像20を背景とし、その背景の上に、マップ要素8が半透明オブジェクトとして合成表示される。つまり、ゲームマップ生成機能を利用することで、ユーザは、自分が用意したマップ生成用画像20を元にしたゲームマップ6を舞台にしてプレーヤキャラクタ4を移動させて楽しむことが可能になる。
【0072】
「不適切箇所」を検索するためにマップ要素8の仮の配置構成が満たすべき要件である不適切条件は、ゲーム種別や、移動体キャラクタの大きさ、ゲームルールなどにより適宜設定される。
【0073】
図7は、不適切箇所の一例であるマップ要素8の過度な塊状の密集の例を示す図である。
塊状の密集を不適切箇所として検索するための不適切条件は「上下に隣り合うマップ要素8間の上下方向の相対距離が、所与の上下方向通路確保距離Lv未満となるマップ要素8が、所与の密集基準値を超える集まり」として記述される。上下方向通路確保距離Lvは、プレーヤキャラクタ4が左右方向に移動するための通路として確保されるべきマップ要素8同士の上下方向の隙間の限界値(下限値)を示している。
【0074】
例えば、あるマップ要素8から上下方向の相対距離が所与の上下方向通路確保距離Lv未満となるように連なる他のマップ要素8(
図7中、網掛けされた横長の長方形)を、連なりが途絶えるまで辿った数をカウントして、それが密集基準値を超えると、それらをまとめて過度な密集による不適切箇所として認識する。つまり、塊状の密集による不適切箇所は「仮の配置構成におけるマップ要素8の冗長箇所」である。
【0075】
密集の不適切箇所を補正する編集は、自動で行うか手動で行うかをユーザが選択できる。
手動で編集を行う場合は、通知画面W4がユーザ端末1500にて表示される。通知画面W4では、仮の配置構成におけるマップ要素8のうち不適切箇所に該当するマップ要素8を、特別な表示形態で表示する(
図7の例では、斜めハッチングで表示されている)。ユーザは、特別な表示形態のマップ要素8を適当に削除する操作をして、密集を解消するように仮の配置構成を補正・編集する。
【0076】
自動で編集を行う場合は、
図8に示すように、不適切箇所に該当する複数のマップ要素8のうち、最も上にあるマップ要素8(
図8の例ではマップ要素8a,8b)を残し、それから下方の上下方向通路確保距離Lv内に位置するマップ要素8(
図8の例ではマップ要素8c、8dなど;
図8中の破線横長四角形)を削除する。削除後に残ったマップ要素8が依然として不適切箇所として認識されるならば、上下方向通路確保距離Lvの外に有って削除を逃れたマップ要素8のうち、最も上にあるマップ要素8(
図8の例では、マップ要素8e、8fなど)を残し、それから下方の上下方向通路確保距離Lv内のマップ要素8を削除する。以下、これを繰り返す。勿論、これ以外のアルゴリズムで自動編集するとしてもよい。
【0077】
図9は、不適切箇所の一例であるマップ要素8の列状の密集の例を示す図である。
列状密集の不適切箇所を検索するための不適切条件は「左右に隣り合うマップ要素8間の左右方向の相対距離が、所与の左右方向通路確保距離Lh未満のマップ要素8による、所与の密集基準値を超える集まり」であり且つ「ゲームマップ6を横断する集まり」として記述される。左右方向通路確保距離Lhは、プレーヤキャラクタ4が上下方向に移動するための通路として確保されるべきマップ要素8同士の左右方向の隙間の限界値を示している。
【0078】
例えば、画面左右方向の相対距離が左右方向通路確保距離Lh未満で連なるマップ要素8を、連なりが途絶えるまで辿った数をカウントして、カウント数が密集基準値を超えると、カウントされたマップ要素8を過度な密集による不適切箇所として1次認識する。そして、1次認識したマップ要素8のうち、画面左右方向の両端のマップ要素8がどちらもゲームマップ6の外縁から左右方向通路確保距離Lh以上離れていなければ、プレーヤキャラクタ4の移動を阻害する列状密集の不適正箇所として最終認識する。つまり、列状密集の不適切箇所は、「移動目標位置12への移動体オブジェクト(プレーヤキャラクタ4)の移動を阻害する箇所」である。
【0079】
列状密集の不適切箇所を補正する編集は、自動で行うか手動で行うかをユーザが選択できる。手動で編集を行う場合は、通知画面W6がユーザ端末1500にて表示される。通知画面W6では、不適切箇所として認識されたマップ要素8が特別な表示形態で表示される。ユーザは、画面左右方向に隣り合うマップ要素8の間に左右方向通路確保距離Lh以上の隙間ができるように特別な表示形態のマップ要素8を適当に削除操作して、密集を解消するように仮の配置構成を補正編集する。
【0080】
自動で編集を行う場合は、
図10に示すように、不適切箇所に該当する複数のマップ要素8を消去する。削除後でも画面左右方向に隣り合うマップ要素8の間に左右方向通路確保距離Lhの隙間ができず、当該不適切箇所で残ったマップ要素8が依然として不適切箇所として認識されるならば、同じことを繰り返す。
図10の例では、破線の四角形が消去されたマップ要素8を示している。
【0081】
図11は、不適切箇所の一例として、マップ要素8の過度な粗の例を示す図である。
過度な粗の不適切箇所を検索するための不適切条件は「移動体オブジェクトの移動能力を超えた断絶領域があること」として記述される。
【0082】
具体的には、サーバシステム1100は、次の様に移動体オブジェクト(プレーヤキャラクタ4)の移動シミュレーショをする。先ず、移動体オブジェクト(プレーヤキャラクタ4)が移動開始位置10から左右に移動可能な範囲で左右に移動するようにして移動体オブジェクト(プレーヤキャラクタ4)の移動能力範囲Mを左右に移動させる。そして、移動させている間に当該移動能力範囲Mに入るマップ要素8を検索する。該当するマップ要素8があれば、移動体オブジェクト(プレーヤキャラクタ4)の位置を当該マップ要素8上に転移させるようにして、移動能力範囲Mを転移させる。転移後、転移先のマップ要素8の範囲で移動体オブジェクト(プレーヤキャラクタ4)を左右に移動させるようにして移動能力範囲Mを左右に移動させ、当該移動能力範囲Mに入るマップ要素8を検索する。これを繰り返す。以降、転移後の移動能力範囲Mに移動目標位置12が入るか、移動能力範囲Mに入るマップ要素8が無くなるまで、これを繰り返す。最終的に、移動能力範囲Mに移動目標位置12が入れば、過度な粗の不適切箇所は無いことになる。移動目標位置12が入らず転移が止まってしまう場合には、そこに移動体オブジェクトの移動能力を超えた断絶領域(マップ要素8が不足している領域)があると認識される。
【0083】
断絶領域の不適切箇所を補正する編集は、自動で行うか手動で行うかをユーザが選択できる。
手動で編集を行う場合は、通知画面W8がユーザ端末1500にて表示される。通知画面W8では、移動能力範囲Mの転移履歴が重ね表示される。ユーザは、転移が止まった最後の移動能力範囲M(
図11の例では、移動能力範囲Ma)又はその1つ2つ前の転移位置の移動能力範囲M(
図11の例では移動能力範囲Mb)の中に、新たなマップ要素8を追加する操作をして、断絶を解消するように仮の配置構成を補正・編集する。
【0084】
自動で編集を行う場合は、サーバシステム1100が、転移が止まった移動能力範囲M又はその1つ2つ前の転移位置の移動能力範囲Mの中に、新たなマップ要素8を自動的に追加する。
【0085】
なお、移動能力範囲Mは、初期サイズが予め設定されている。初期サイズは、ユーザが希望する攻略難易度が「高」である場合に適合するように設定されており、ユーザが希望する攻略難易度が下がるほど、当該範囲の大きさを小さく変更してから使用するとしてもよい。
【0086】
また、移動能力範囲Mは、ユーザのプレイ技量を間接的に示し得るプレーヤ情報(例えば、プレーヤの過去のプレイ成績、過去のプレイ回数、過去のプレイ成績やプレイ回数に応じて自動的に設定されるプレーヤレベル或いはプレーヤキャラクタレベルなど)に応じて、当該範囲の大きさを変更してから使用するとしてもよい。
また、プレーヤキャラクタの移動能力パラメータ値(例えば、パラメータ値が大きいほど移動可能距離、ジャンプ距離が大きい)に応じて移動能力範囲Mの大きさを広くするように変更してから使用するとしてもよい。
【0087】
図12は、マップ要素8へのゲーム要素の付与について説明するための図である。
サーバシステム1100は、マップ要素8へ「ゲーム要素」を付与する。
「ゲーム要素」は、当該ゲームマップ6を使ってプレイする場合に興趣性を高めるように作用する追加設定である。
【0088】
例えば
図12(1)は、ゲーム要素が仕掛けオブジェクト40である例を示している。仕掛けオブジェクト40は、プレーヤキャラクタ4が所定の近接距離まで接近した場合(近接距離=0、つまり接触した場合を適宜含む)に、仕掛けオブジェクト40の種類に応じた作用効果を発揮する。因みに、
図12(1)の仕掛けオブジェクト40は機雷として機能する。例えば、プレーヤキャラクタ4が接近すると破裂してプレーヤキャラクタ4を強制的にランダムな方向へ弾き飛ばす。
【0089】
仕掛けオブジェクト40の作用効果は、適宜設定可能である。例えば、プレーヤキャラクタ4の移動を一定時間妨害する作用効果、プレーヤキャラクタ4を一定時間浮揚移動可能にする作用効果、落とし穴となる作用効果、ワープホールとなる作用効果、最寄りのマップ要素8へ繋がる橋に変形する作用効果、などを適宜設定可能である。そして、仕掛けオブジェクト40のデザインは、作用効果を連想させるように設定されている。
【0090】
どの種類の仕掛けオブジェクト40をマップ要素8に付与するかは、新たに作成するゲームマップ6が使用されるゲーム(以下「用途ゲーム」という)のゲーム種別、攻略難易度、付与対象とされるマップ要素8の下地画像部分24(
図4参照)のピクセルに設定されている色情報、などに応じて決定される。
【0091】
図12(2)は、ゲーム要素が、アクションが設定されたキャラクタオブジェクト42である例を示している。キャラクタオブジェクト42は、プレーヤキャラクタ4が所定の近接距離まで接近した場合(近接距離=0、つまり接触した場合を適宜含む)に、キャラクタオブジェクト42の種類に応じたアクションを発動するキャラクタ型のオブジェクトである。因みに、
図12(2)のキャラクタオブジェクト42は、プレーヤキャラクタ4を掴んで投げ飛ばすアクションを発動する。
【0092】
キャラクタオブジェクト42のアクションは、適宜設定可能である。例えば、プレーヤキャラクタ4の移動を一定時間妨害するアクション、プレーヤキャラクタ4と一体になって羽ばたきをして一定時間浮揚移動可能にするアクション、などを適宜設定可能である。そして、キャラクタオブジェクト42のデザインは、設定されているアクションの種類によって異なるように設定されている。
【0093】
どの種類のキャラクタオブジェクト42をマップ要素8に付与するかは、新たに作成するゲームマップ6の用途ゲームのゲーム種別、攻略難易度、付与対象とされるマップ要素8の下地画像部分24のピクセルに設定されている色情報、プレーヤ情報、などに応じて決定される。
【0094】
図12(3)及び
図13(4)は、ゲーム要素がマップ要素8そのものに付与される作用効果である例を示している。ゲーム要素が付与されたマップ要素8(44)は、プレーヤキャラクタ4が当該マップ要素に接触すると、プレーヤキャラクタ4の属性や状態を変化させる作用効果を発揮する。
【0095】
プレーヤキャラクタ4の属性(キャラクタ属性)は、複数種類用意されており1つ又は複数の属性がプレーヤキャラクタ4に設定できる。キャラクタ属性は、後述するマップ要素8に設定される属性(要素属性)との間で、所与の相性関係が設定されている。プレーヤキャラクタ4のキャラクタ属性と、当該プレーヤキャラクタ4が接触したマップ要素8の要素属性との相性により、ゲーム要素が付与されたマップ要素8は、プレーヤキャラクタ4の能力パラメータ値を様々に変化させる。変化させる度合が、キャラクタ属性とマップ要素8の要素属性との相性により増減する。
【0096】
例えば、キャラクタ属性と要素属性とが良好な相性関係である場合、プレーヤキャラクタ4の能力パラメータ値(例えば、最大ジャンプ距離)が上がる。相性度合が高い程、上昇度合も上がる。逆に、キャラクタ属性と要素属性との相性が悪い場合、プレーヤキャラクタ4の能力パラメータ値が下がる。
【0097】
また別の例として、用途ゲームのゲーム種別が、プレーヤキャラクタ4がゲームマップ6中に配置された敵NPCと戦闘するゲームであるならば、プレーヤキャラクタ4の攻撃力、防御力、回復力、などの能力パラメータ値を変更するとしてもよいし、接触中にプレーヤキャラクタ4に所与のダメージを付与するように能力パラメータ値を変更する、としてもよい。
【0098】
どの種類のキャラクタ属性に変化させるかの設定は、新たに作成するゲームマップ6の用途ゲームのゲーム種別、攻略難易度、付与対象とされるマップ要素8の下地画像部分24のピクセルに設定されている色情報、プレーヤ情報、などに応じて決定される。
【0099】
プレーヤキャラクタ4の状態(キャラクタ状態)は、プレーヤキャラクタ4の能力が標準状態から時限的に変化していることを示す。キャラクタ状態は、複数種類用意されており、その1つ又は複数の状態がプレーヤキャラクタ4に設定できる。
【0100】
例えば、移動速度が標準状態よりも低下した減速状態、移動速度が標準状態よりも向上した加速状態、次にジャンプが可能となるまで所定のインターバル時間の経過を強要されるインターバル状態、マップ要素8から滑り落ちる方向へ緩やかに強制移動される滑り状態、などを設定できる。
【0101】
どの種類のキャラクタ状態へ変化させるかの設定は、新たに作成するゲームマップ6の用途ゲームのゲーム種別、攻略難易度、付与対象とされるマップ要素8の下地画像部分24のピクセルに設定されている色情報、プレーヤ情報、などに応じて決定される。
【0102】
ゲーム要素として作用効果が付与されたマップ要素8の表示態様は、付与されていないマップ要素8とは異なるように設定されている。また、付与されたゲーム要素の種類に応じて、マップ要素8の表示態様は異なるように設定されている。具体的には、ゲーム要素が付与されたマップ要素8の外形やマップ要素8のモーションは、付与されたゲーム要素の種類を表すデザインとされる。
【0103】
なお、ゲーム要素が付与されたマップ要素8の表示色は、当該マップ要素の下地画像部分24のピクセルに設定されている色情報に応じて決定される。
【0104】
表示色を、下地画像部分24の色情報が示す色と同色相又は近似色相の色に設定すると、ゲームマップ6の背景画像とされるマップ生成用画像20との見栄えが良くなる。下地画像部分24の色情報が示す色と異なる色相の色に設定すると、マップ要素8を背景画像から浮き立たせる効果が生まれる。例えば、新しく作成されるゲームマップ6の攻略難易度が所定基準より高ければ前者、所定基準に満たなければ後者、に設定するとしてもよい。
【0105】
図13は、マップ要素8へゲーム要素を付与する前処理としての仮の配置構成におけるマップ要素8の編集について説明するための図である。
図13中の輪郭線22、下地画像部分24、マップ要素8の相対的な大きさの関係は、理解を容易にするために簡潔に描いているものであり、実施形態がこれに限定されるものではない。
【0106】
上述のように、マップ要素8へのゲーム要素の付与には、当該マップ要素8の設定の元になった下地画像部分24(
図4参照)のピクセルの色情報が関与する。その一方で、1つの下地画像部分24は、輪郭線22を構成する複数のピクセルで構成される場合もある。よって、1つの下地画像部分24に複数の色情報が存在するケースが想定され得るが、ゲーム要素の付与に関しては好ましく無い。そこで、サーバシステム1100は、マップ要素8の下地画像部分24の色情報が示す色に複数の色が存在する場合、当該マップ要素8を編集する。
【0107】
なお、ここで言う「複数の色」の判定は、予め色情報についての所定の色相分割閾値を設定しておき、色情報が当該閾値を跨ぐと異なる色と見なす、としてもよい。
【0108】
マップ要素8の編集方法は、
図13(1)に示すように、マップ要素8(80)を、下地画像部分24の色情報が示す色の境界で複数のマップ要素8(81,82)へ分割する第1編集方法と、
図13(2)に示すように、マップ要素8(83)のサイズを、当該マップ要素が下地画像部分24の何れかの色の範囲に収まるように変更する第2編集方法と、
図13(3)に示すように、マップ要素8(84)のサイズは変更せずに、当該マップ要素が下地画像部分24の何れかの色の範囲に収まるように位置を移動させる第3編集方法と、がある。何れかの編集方法に固定してもよいし、都度に何れかを選択して採用するとしてもよい。
【0109】
次に、機能構成について説明する。
図14は、サーバシステム1100の機能構成例を示す機能ブロック図である。
サーバシステム1100は、操作入力部100sと、サーバ処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
【0110】
操作入力部100sは、サーバシステム1100の管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、などがこれに該当する。
【0111】
サーバ処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、ユーザ端末1500などから受信したデータ、等に基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。
【0112】
サーバ処理部200sは、ユーザ管理部202と、ゲーム管理部204と、ゲームマップ生成管理部210と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
【0113】
ユーザ管理部202は、ユーザ登録手続きに係る処理およびユーザアカウントに紐付けられる各種情報の記憶管理を行う。
【0114】
ゲーム管理部204は、ユーザ端末1500にてゲームマップ6を用いた所与のゲームをプレイさせるための各種制御を行う。具体的には、ゲーム管理部204は、ゲームメーカが用意したゲームマップ6と、プレーヤであるユーザがゲームマップ生成機能を利用して作成したゲームマップ6とを、選択肢として提示する。そして、選択されたゲームマップ6を用いたゲームを進行制御する。ゲームプレイ後には、プレイ成績やプレイした日時などのプレイ情報をプレイ履歴として保存する制御をする。
【0115】
ゲームマップ生成管理部210は、ユーザが提供したマップ生成用画像20に基づく新たなゲームマップ6の生成に係る機能を有する。ゲームマップ生成管理部210は、画像取得部212と、ゲームマップ生成制御部214と、を有する。
【0116】
ゲームマップ生成制御部214は、マップ要素の配置構成の下地とする画像部分をマップ生成用画像から抽出する所定の画像解析処理を行い、抽出結果を用いて取捨選択したマップ要素の配置構成を決定することでゲームマップを生成する。
【0117】
具体的には、ゲームマップ生成制御部214は、仮作成部220と、不適切箇所検索部230と、検索結果通知制御部232と、生成制御部240と、を有する。
【0118】
画像取得部212は、所与のマップ生成用画像20を取得するための制御をする。
【0119】
仮作成部220は、マップ要素8の配置構成の下地とする画像部分をマップ生成用画像20から抽出する所定の画像解析処理を行ってマップ要素8の仮の配置構成を作成する。
そして、仮作成部220は、第1再作成部221と、第2再作成部222と、第3再作成部223と、第4再作成部224とを有する。
【0120】
第1再作成部221は、マップ生成用画像20の画像解析処理に用いるパラメータ値(例えば、二値化処理をする際の閾値)を、不適切箇所検索部230による検索結果に基づいて変更した上で、仮の配置構成を再作成する。
【0121】
第2再作成部222は、マップ生成用画像20から所与の画像範囲を不適切箇所検索部230の検索結果に基づいて選択し、当該画像範囲から下地画像部分24の抽出を行って仮の配置構成を再作成する。
【0122】
第3再作成部223は、マップ生成用画像20を不適切箇所検索部230の検索結果に基づいて補正した上で画像解析処理を行って仮の配置構成を再作成する。
【0123】
第4再作成部224は、抽出した下地画像部分24を不適切箇所の検索結果に基づいて複製配置して仮の配置構成を再作成する。
【0124】
不適切箇所検索部230は、仮の配置構成において、ゲームプレイに不適切な配置構成の条件である所与の不適切条件を満たす箇所を検索する。具体的には、不適切箇所検索部230は、仮の配置構成におけるマップ要素8が、(1)移動目標への移動体オブジェクトの移動を阻害する箇所、(2)仮の配置構成におけるマップ要素8の冗長箇所、を検索する。
【0125】
検索結果通知制御部232は、不適切箇所検索部230の検索結果をユーザに通知する制御を行う。
【0126】
生成制御部240は、マップ要素の配置構成を仮の配置構成に基づいて決定する配置構成決定処理を、不適切箇所検索部230の検索結果を参照して実行することでゲームマップを生成する。そして、生成制御部240を有する。
【0127】
また、生成制御部240は、当該マップ要素に付与するゲーム要素をマップ生成用画像の色情報に基づいて決定するゲーム要素付与処理を実行する。具体的には、生成制御部240は、ゲーム要素付与処理において、マップ要素の下地となったマップ生成用画像の画像部分の色情報が該当するゲーム要素の種類別の色条件に基づいて、当該マップ要素に付与するゲーム要素を決定する。
【0128】
また、生成制御部240は、ゲーム要素を付与したマップ要素の表示態様を、当該ゲーム要素の種類、又は、当該ゲーム要素を決める基準となった色情報に基づいて決定する。表示態様には、透明又は半透明が含まれる。
【0129】
また、生成制御部240は、ゲーム要素付与処理において、マップ要素に接触した移動体オブジェクトの属性又は状態を変化させる作用効果をゲーム要素として当該マップ要素に付与する。
【0130】
また、生成制御部240は、ゲーム要素付与処理において、マップ要素に所与のゲームオブジェクトを配置設定することをゲーム要素として当該マップ要素に付与する。具体的には、ゲームオブジェクトとして移動体オブジェクトが当該マップ要素から所与の接近条件を満たす位置にいる場合又は当該マップ要素に接触した場合に、当該移動体オブジェクトに所与の作用効果を発動する仕掛けや、当該移動体オブジェクトに所与のアクションを行うキャラクタ、を当該マップ要素に配置設定する。
【0131】
生成制御部240は、編集部242と、背景画像生成部244と、を有する。
【0132】
編集部242は、配置構成決定処理において、(1)ユーザのプレイ情報、(2)移動体オブジェクトのパラメータ値、(3)ゲームマップの攻略難易度、(4)ゲームのプレイ人数、(5)ゲームのゲーム種別、のうちの何れかに基づいて仮の配置構成を編集する。具体的には、配置するマップ要素8の量を調整する編集をする。
【0133】
また、編集部242は、配置構成決定処理において、仮の配置構成をマップ生成用画像の色情報に基づいて編集する。具体的には、仮の配置構成においてマップ要素の下地となったマップ生成用画像の画像部分の色情報に基づいて、当該マップ要素を分割および/又はサイズ変更する。
【0134】
つまり、ゲームマップ生成制御部214は、仮作成部220にて、マップ要素8の配置構成の下地とする画像部分をマップ生成用画像20から抽出する所定の画像解析処理を行い、不適切箇所検索部230と生成制御部240とによって、抽出結果を用いて取捨選択したマップ要素8の配置構成を決定することでゲームマップ6を生成する。
【0135】
背景画像生成部244は、マップ生成用画像を用いてゲームマップの背景画像を生成する。
【0136】
計時部280sは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
【0137】
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理や、オンラインゲームの提供に係る操作音や効果音、BGM、音声通話、などの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390sへ出力する。
【0138】
音出力部390sは、スピーカ等により実現され、音声信号に基づいて放音する。
【0139】
画像生成部292sは、サーバシステム1100のシステム管理のための各種管理画面の画像生成を行い、画像データを画像表示部392sに出力する。画像表示部392sは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0140】
また、画像生成部292sは、ゲームプレイ及びゲームマップ6の生成に係る画像の生成を行う。例えば、各ユーザ端末1500に表示させるゲーム画像の元になる仮想3次元空間を仮想カメラで撮影したゲーム空間画像のレンダリングも実行する。
【0141】
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。
【0142】
通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信装置1153がこれに該当する。
【0143】
サーバ記憶部500sは、サーバ処理部200sにサーバシステム1100を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、サーバ処理部200sの作業領域として用いられ、サーバ処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。
図1の例では本体装置1101が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージをサーバ記憶部500sに含めてもよい。
【0144】
図15は、サーバ記憶部500sが記憶するプログラムやデータの例を示す図である。本実施形態におけるサーバ記憶部500sは、サーバプログラム501と、配信用クライアントプログラム503と、ゲーム初期設定データ510と、不適切条件定義データ514と、ゲーム要素付与パターンデータ520と、ユーザ管理データ600と、ゲームマップ生成制御データ610と、ユーザ作成ゲームマップデータ640と、プレイデータ700と、現在日時900と、を記憶する。サーバ記憶部500sは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグなど)も適宜記憶する。
【0145】
サーバプログラム501は、サーバ処理部200sが読み出して実行することで、サーバシステム1100をゲームマップ生成管理部210として機能させるためのプログラムである。
【0146】
配信用クライアントプログラム503は、ユーザ端末1500へ提供されて実行されるクライアントプログラムのオリジナルである。
【0147】
ゲーム初期設定データ510は、ゲームタイトル別に用意され、当該ゲームを実行するための各種の定義データや初期設定データを格納する。そして、ゲーム初期設定データ510は、メーカ提供ゲームマップデータ512を格納する。
【0148】
メーカ提供ゲームマップデータ512は、ゲームメーカ(またはゲーム提供者)が作成したゲームマップ6毎に用意される。1つのメーカ提供ゲームマップデータ512は、固有のゲームマップIDと、背景画像データと、マップ要素8の配置位置を定義する配置構成データと、攻略難易度設定と、を含む。
【0149】
不適切条件定義データ514は、マップ要素8の仮の配置構成の中から不適切箇所を検索するための条件を定義するデータであって、ゲームタイトル別に用意されている。1つの不適切条件定義データ514は、固有の不適切条件IDと、当該定義データが適用されるゲームタイトルと、同ゲームタイトルのゲーム種別と、条件を記述する本体データと、を含む。
【0150】
ゲーム要素付与パターンデータ520は、マップ要素8に付与されるゲーム要素の種類別に用意され、当該ゲーム要素に係る各種データを格納する。
1つのゲーム要素付与パターンデータ520は、例えば
図16に示すように、ゲーム要素種類521と、ゲーム要素を付与するために満たされるべき要件を記述した付与要件523と、付与対象マップ要素表示態様データ535と、付与ゲーム要素定義データ530と、を含む。
【0151】
付与要件523は、1つのサブ条件、又は複数のサブ条件をANDやORで組み合わせて記述される。サブ条件としては、例えば、新たに生成されるゲームマップ6の用途ゲームのゲーム種別についてのゲーム種別条件、攻略難易度条件、プレイ情報条件、下地画像部分色条件、などを用いることができる。
【0152】
付与対象マップ要素表示態様データ535は、ゲーム要素の付与にともない付与対象のマップ要素8の表示態様を、所定態様に変更する場合に用意され、変更後の表示態様を実現するためのデータを格納する。例えば、マップ要素8のモデルデータや、表示色、モーションデータなどを格納する。
【0153】
付与ゲーム要素定義データ530は、付与仕掛け定義データ531と、付与キャラクタ定義データ532と、属性変更定義データ533と、状態変更定義データ534と、のうちの少なくも1つを含む。
【0154】
付与仕掛け定義データ531は、付与される仕掛けオブジェクト40(
図12(1)参照)の仕掛け種類と、付与される仕掛けオブジェクト40を画面表示させるためのオブジェクトデータと、仕掛けオブジェクト40を配置するための付与対象のマップ要素に対する相対位置を示す配置位置データと、仕掛けの動作や作用効果を実現するための仕掛け作用データと、を含む。勿論、これら以外のデータも適宜含めることができる。
【0155】
付与キャラクタ定義データ532は、付与されるキャラクタオブジェクト42(
図12(2)参照)のキャラクタ種類と、付与されるキャラクタオブジェクト42を画面に表示させるためのオブジェクトデータと、キャラクタオブジェクト42を配置するための付与対象のマップ要素に対する相対位置を示す配置位置データと、キャラクタオブジェクト42のアクションデータと、を含む。勿論、これら以外のデータも適宜含めることができる。
【0156】
属性変更定義データ533は、移動体オブジェクトの変更後の属性(
図12(3)参照)を示す変更後属性種類と、属性変更が時限性である場合にはその変更された状態の持続時間と、を含む。属性変更にともない、移動体オブジェクトに係るパラメータ値を増減する作用効果が生じる場合には、変更対称パラメータ種類と、変更量を定義するデータと、を更に含むとしてもよい。
【0157】
状態変更定義データ534は、移動体オブジェクトの変更後の状態(
図12(4)参照)を示す変更後状態種類と、状態変更が時限性である場合にはその変更された状態の持続時間と、を含む。状態変更にともない、移動体オブジェクトに係るパラメータ値を増減する作用効果が生じる場合には、変更対象パラメータ種類と、変更量を定義するデータと、を更に含むとしてもよい。
【0158】
図15に戻って、ユーザ管理データ600は、ユーザ登録を済ませたユーザ毎に作成され、当該ユーザに紐付けられる各種データを格納する。1つのユーザ管理データ600は、例えば固有のユーザアカウントと、プレーヤ情報と、プレイ履歴情報と、を格納する。プレーヤ情報としては、例えば、過去のプレイ成績に応じて自動的に付与されるプレーヤレベル(又はプレーヤキャラクタレベル)、セーブデータ(プレーヤキャラクタのセーブ時点の能力パラメータ値、保有アイテムリスト、などを含む)、などの情報を含む。プレイ履歴情報としては、プレイ毎の日時、プレイ成績、プレイしたゲームマップID、プレイしたゲームの攻略難易度、などを含む。
【0159】
ゲームマップ生成制御データ610は、ゲームマップ生成機能を利用する毎に作成され、当該作成制御に係る各種データを格納する。1つのゲームマップ生成制御データ610は、例えば
図17に示すように、当該生成制御がどのユーザ向けに実行されているかを示す生成者ユーザアカウント611と、ユーザ希望設定データ612と、マップ生成用画像データ613と、背景画像データ614と、移動開始位置座標615と、移動目標位置座標616と、抽出条件620と、下地画像部分抽出結果データ630と、仮配置構成データ632と、ゲーム要素付与設定データ635と、不適切箇所データ636と、を含む。勿論、これら以外の情報も適宜含めることができる。
【0160】
ユーザ希望設定データ612は、これから生成しようとするゲームマップ6についてのユーザ希望の選択受け付け結果を格納する。例えば、生成するゲームマップ6をどのゲームタイトル用に作るかを指定する用途ゲームタイトル、そのゲームタイトルのゲーム種別、プレイ人数、希望攻略難易度、などの情報を格納する。勿論、ゲーム内容に応じてこれら以外の希望内容を受け付け、格納するとしてもよい。
【0161】
マップ生成用画像データ613は、ゲームマップ生成のためにその元になる画像データとして、ユーザが提供した画像データのコピーである。なお、マップ生成用画像データ613は、不適切箇所の補正に伴う編集過程において各種の変更が施される。
【0162】
背景画像データ614は、新たに生成されるゲームマップ6の背景となる画像のデータであって、マップ生成用画像データ613を取得した直後にコピーされる。
【0163】
移動開始位置座標615及び移動目標位置座標616は、新たに生成されるゲームマップ6における移動体キャラクタの移動開始位置と、移動目標位置とを示すゲームマップ座標系の位置座標である。
【0164】
抽出条件620は、マップ要素8を設定する下地画像部分をマップ生成用画像20から抽出する画像解析処理に適用される各種制限や、パラメータ値を格納する。例えば、マップ生成用画像20の特定範囲に抽出対象範囲を限定するための設定である抽出対象画像範囲設定データ621、抽出用パラメータ値622、を格納する。勿論、これら以外のデータも適宜格納することができる。抽出対象画像範囲設定データ621の初期値は、マップ生成用画像20の全体とする。
【0165】
抽出用パラメータ値622は、輪郭線22の抽出アルゴリズムに応じて適宜設定可能である。例えば、所定の閾値(画像解析用のパラメータ値)で二値化処理をして輪郭線22を認識するアルゴリズムを採用した場合、抽出用パラメータ値622は、輝度値の差の閾値を示す。輝度値を、ピクセルの色情報のRGB値の合算値ではなく、RGBのうち選択された色相の値とする場合、抽出条件620にRGBの何れの色相の値を参照するかの情報も含める。
【0166】
輝度値をRGBのうち選択された色相の値として輝度値の差を算出する場合、どの色相の値で輝度値の差を算出するかを、ユーザが設定するとしてもよい。その場合、RGBのうちどの色相の値を参照するかを、ユーザ希望の設定項目の1つとして、ユーザ希望設定612に含める。
【0167】
また、RGBのうち選択された色相の値として輝度値の差を算出する場合、どの色相の値で輝度値の差を算出するかを、プレーヤキャラクタ4の属性やプレーヤキャラクタ4の色(キャラクタの外観配色のうち面積が最も多い主たる色など)に基づいて決定するとしてもよい。
【0168】
例えば、「火」属性やキャラクタ色が「赤」ならば、「R」値を輝度値として輝度値の差を算出する。「光」属性やキャラクタの色が「黄」ならば、「R」と「G」の値の合算値を輝度値として輝度値の差を算出する、としてもよい。
【0169】
基準となるプレーヤキャラクタ4の属性やキャラクタ色は、ユーザが希望として設定するとしてもよい。その場合、属性種類又はプレーヤキャラク4の種類をユーザ希望の設定項目の1つとし、ユーザ希望設定612に含める。或いは、生成者ユーザアカウント611の示すユーザユーザ管理データ600(
図15参照)のプレイ情報に含まれるプレーヤキャラク4の種類や属性の情報を参照するとしてもよい。
【0170】
下地画像部分抽出結果データ630は、マップ生成用画像20から抽出された下地画像部分毎に作成される。1つの下地画像部分抽出結果データ630は、固有の下地画像部分IDと、当該部分を定義する部分範囲情報と、下地画像部分のコピーである部分画像データと、を含む。勿論、これら以外の情報も適宜含めることができる。
【0171】
仮配置構成データ632は、マップ要素8の仮の配置構成に係る各種データを格納する。具体的には、仮配置されたマップ要素8別の仮マップ要素設定データ634を格納する。
1つの仮マップ要素設定データ634は、固有のマップ要素ID、下地画像部分ID、当該マップ要素8をゲームマップ6の何処に配置するかを示す設定位置座標(ゲームマップ座標系の位置座標)、当該マップ要素8のサイズを示す要素サイズ、当該マップ要素8の表示形態設定(例えば、表示カラー、表示モーション、透明度設定、など)を含む。勿論、これら以外の情報も適宜含めることができる。
【0172】
ゲーム要素付与設定データ635は、1つのマップ要素8にゲーム要素が付与される毎に作成される。1つのゲーム要素付与設定データ635は、例えば、付与対象マップ要素IDと、付与ゲーム要素種類と、を対応づけて格納する。
【0173】
不適切箇所データ636は、仮配置構成のうち不適切条件を満たす範囲、つまり不適切箇所毎に作成され、当該不適切箇所に関する各種データを格納する。1つの不適切箇所データ636は、固有の不適切箇所IDと対応づけて、不適切箇所範囲や、当該不適切箇所を構成するマップ要素8のIDリスト、などを格納する。
【0174】
図15に戻って、ユーザ作成ゲームマップデータ640は、ゲームマップ生成機能を使ってユーザによって作成されたゲームマップ6別に用意され、新たに作成されるゲームマップ6におけるマップ要素8の配置構成を決定するためのデータとして、ゲームマップ生成制御データ610の各種データがコピーされて格納される。
【0175】
具体的には、1つのユーザ作成ゲームマップデータ640は、例えば
図18に示すように、固有のゲームマップID641と、作成者ユーザアカウント642と、用途ゲームタイトル643と、プレイ人数644と、攻略難易度645と、背景画像データ660と、移動開始位置座標661と、移動目標位置座標662と、マップ要素8別のマップ要素設定データ663(仮マップ要素設定データ634のコピー)と、マップサムネイル画像データ664と、ゲーム要素付与設定データ665(
図17の同名のデータのコピー)と、を含む。勿論、これら以外の情報も適宜含めることができる。
【0176】
プレイデータ700は、ユーザによるゲームプレイ毎に作成され、そのゲーム進行状況を記述する各種データを格納する。
【0177】
図19は、ユーザ端末1500の機能構成例を示す機能ブロック図である。ユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
【0178】
操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、などによって実現できる。
【0179】
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。
【0180】
そして、本実施形態における端末処理部200は、クライアント制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
【0181】
クライアント制御部260は、ゲームシステム1000におけるクライアントとしての制御として、ユーザ端末1500をMMIF(マン・マシン・インターフェース)として機能させる各種制御を行う。具体的には、クライアント制御部260は、操作入力情報提供部261と、表示制御部262と、を有する。
【0182】
操作入力情報提供部261は、操作入力部100からの入力に応じて操作入力情報をゲームシステム1000へ送信する制御を行う。
【0183】
表示制御部262は、ゲームシステム1000から受信したデータに基づいて各種画像を表示させるための制御を行う。
【0184】
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0185】
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。
【0186】
音出力部390は、スピーカなど音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
【0187】
画像生成部292は、クライアント制御部260の制御に基づく画像を画像表示部392へ表示させる画像信号を生成・出力する。
図1の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)や、グラフィックコントローラ、グラフィックボード、などがこれに該当する。
【0188】
画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0189】
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
【0190】
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信モジュール1553がこれに該当する。
【0191】
端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。
図1の例では、制御基板1550が搭載するICメモリ1552がこれに該当する。
【0192】
具体的には、端末記憶部500は、ユーザ端末1500をクライアント制御部260として機能させるためのクライアントプログラム502(アプリケーションプログラム)と、現在日時900と、を記憶する。勿論、これら以外のデータも適宜記憶できる。
【0193】
図20は、ゲームマップ生成に係る処理の流れを説明するためのフローチャートである。なお、マップ生成用画像20の画像データは、ユーザ端末1500に記憶されているものとする。
【0194】
図20に示すように、サーバシステム1100は、先ず新たに生成するゲームマップ6に係るユーザ希望の各項目の設定を受け付ける(ステップS10)。サーバシステム1100は、ユーザ端末1500にて用途ゲームタイトル、ゲーム種別、プレイ人数、攻略難易度設定の入力欄を表示させ、その入力結果を取得し、ユーザ希望設定データ612を生成する(
図17参照)。
【0195】
次に、サーバシステム1100は、マップ生成用画像20の指定を受け付ける(ステップS12)。サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20の画像データを指定する操作を受け付けさせる。ユーザが、該当する画像データの保存先、ファイル名を指定すると、ユーザ端末1500が指定された画像データをサーバシステム1100へ送信する。サーバシステム1100は、これを受信してマップ生成用画像データ613として記憶する。
【0196】
次に、サーバシステム1100は、マップ生成用画像データ613を背景画像データ614にコピーして、背景画像を生成・設定する(ステップS14)。この際、マップ要素8を識別し易くするために、彩度や明度をやや落とすように画像加工してもよい。
【0197】
次に、サーバシステム1100は、新たに生成するゲームマップ6における移動開始位置と、移動目標位置の設定を受け付ける(ステップS16)。サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20全体を表示させ、ユーザに、画像範囲内で希望する移動開始位置と移動目標位置のそれぞれをタッチ操作させる。ユーザ端末1500はタッチ操作されたそれぞれの位置座標をサーバシステム1100へ送信し、サーバシステム1100は、それらを移動開始位置座標615、移動目標位置座標616として記憶する(
図17参照)。
【0198】
次に、サーバシステム1100は、抽出条件620(
図17参照)を初期化して(ステップS20)、マップ生成用画像20を画像解析処理して下地画像部分を抽出する(ステップS30)。抽出結果は、下地画像部分抽出結果データ630として記憶される(
図17参照)。
【0199】
次に、サーバシステム1100は、抽出された下地画像部分のそれぞれにマップ要素8を設定し、仮配置構成データ632に抽出された下地画像部分毎に仮マップ要素設定データ634(
図17参照)として記憶する(ステップS40)。
【0200】
このとき、マップ要素8を一旦設定した後、マップ要素8のサイズを、ユーザ希望設定の攻略難易度設定に応じて編集する。例えば、ユーザが希望する攻略難易度が「低」であれば、足場となるマップ要素8の左右の長さを、設定先となる下地画像部分の左右長さと同じにする。攻略難易度が「中」であれば、設定先となる下地画像部分の左右長さの70%の長さに設定し、攻略難易度が「高」であれば、設定先となる下地画像部分の左右長さの50%の長さに設定する。つまり、ユーザのプレイ情報に基づいて仮の配置構成を編集する。
【0201】
なお、マップ要素8の設定に関しては、攻略難易度に限らず、ユーザのプレイ情報や、ユーザが希望した用途ゲームタイトル(つまりはゲーム種別)、プレイ人数などに基づいて、マップ要素8のサイズや1つの下地画像部分に対して設定するマップ要素8の数を変更して、初回の仮の配置構成を編集するとしてもよい。
【0202】
「70%」「50%」と例示した攻略難易度に応じたサイズ決定に係る比率は、例えば、ユーザのユーザ管理データ600に格納されているプレイ情報やプレイ履歴に基づいて変更するとしてもよい。一例として、プレーヤレベルが高いほど、或いは過去のプレイ成績が優れる程、比率を例示より下げるとしてもよい。プレイ回数が多いほど比率を例示よりも下げるとしてもよい。
【0203】
また例えば、ユーザが希望する用途ゲームタイトルのゲーム種別が、マップ要素8を障害物や壁として、移動体オブジェクトをマップ要素8に衝突させないように移動開始位置から移動目標位置へ移動させるレースゲームであれば、障害物が大きい程ゲームの難易度が高くなる。よって、攻略難易度に応じたサイズ決定に係る比率は、攻略難易度が高い程大きくなるように設定するとしてもよい。一例として、攻略難易度が「中」であれば、設定先となる下地画像部分の左右長さの120%の長さに設定し、攻略難易度が「高」であれば、設定先となる下地画像部分の左右長さの150%の長さに設定する、としてもよい。
【0204】
また更に、プレイ人数が複数の場合、サイズ決定に係る比率を例示のそれよりも、更に大きく設定するとしてもよい。例えば、1つのゲームマップ6をマルチプレイで使用する場合、1つのマップ要素8の足場に複数のプレーヤキャラクタ4が同時にのる可能性があるので、マップ要素8のサイズを人数に応じて大きくすると、ゲームプレイがし易くなって好適である。なお、マップ要素8のサイズをプレイ人数に応じて大きくする代わりに、プレイ人数に応じてマップ要素8を付近に追加すること、つまり1つの下地画像部分に対して設定するマップ要素8の数を増やすとしてもよい。
【0205】
ステップS40にてマップ要素8の初回の仮配置を行ったならば、サーバシステム1100は、次に、ユーザ希望の用途ゲームタイトルのゲーム種別に適合する不適切条件定義データ514(
図15参照)を参照して、仮の配置構成におけるマップ要素8の仮の配置構成の中から不適切箇所を検索し、不適切箇所データ636(
図17参照)を作成する(ステップS60)。
【0206】
そして、サーバシステム1100は、マップ要素8の仮の配置構成及びその不適切箇所の通知を兼ねて配置構成決定処理を実行する(ステップS63)。
【0207】
図21は、配置構成決定処理の流れを説明するためのフローチャートである。
同処理において、サーバシステム1100は、ユーザ端末1500にて通知画面(例えば、
図7の通知画面W4や、
図9の通知画面W6、
図11の通知画面W8を参照)を表示させて、現在の仮の配置構成の補正編集操作の受け付けをする(ステップS100)。例えば、通知画面内に編集内容別の操作アイコンを表示させて受け付けをするとしてもよい。
【0208】
編集操作内容は適宜設定可能であるが、「下地画像部分の抽出用パラメータ値の調整」「マップ生成用画像の補正」「抽出対象画像範囲の変更」「下地部分画像の複製配置」「マップ要素単位の手動編集」「自動編集」を用意すると好適である。
【0209】
補正編集操作の受け付けにおいて、もし、ユーザが「下地画像部分の抽出用パラメータ値の調整」を選択したならば(ステップS102のYES)、サーバシステム1100は抽出用パラメータ値の調整入力部(例えば、スライドバーなど)をユーザ端末1500に表示させ、操作結果をユーザ端末1500から取得し、抽出用パラメータ値622を変更する(ステップS104)。そして、ステップS30に戻って、下地画像部分の抽出からやり直す。つまり、仮の配置構成が再作成されることになる。
【0210】
もし、ユーザが「マップ生成用画像の補正」を選択したならば(ステップS106のYES)、サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20とともに、輝度調整スライドバー、コントラスト調整スライドバー、消しゴムツール、などの画像補正を可能にする各種操作アイコンを表示させ、画像補正操作を受け付ける(ステップS108)。そして、それらの画像補正操作アイコンへの操作入力に応じて、マップ生成用画像20を画像補正し、ステップS30に戻って、下地画像部分の抽出からやり直す。つまり、仮の配置構成が再作成されることになる。
【0211】
もし、ユーザが「抽出対象画像範囲の変更」を選択したならば(ステップS110のYES)、サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20に、現在の抽出対象画像範囲を合成表示させるとともに、範囲の変更操作を受け付ける(ステップS112)。サーバシステム1100は、範囲の変更操作を受け付けると、抽出対象画像範囲設定データ621(
図17参照)を変更する。そして、ステップS30に戻って、下地画像部分の抽出からやり直す。つまり、仮の配置構成が再作成されることになる。
【0212】
もし、ユーザが「下地画像部分の複製配置」を選択したならば(ステップS114のYES)、サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20と現在抽出されている下地画像部分を表示させ、何れかの下地画像部分の指定と、それをマップ生成用画像20への複製配置(スタンプ操作)を受け付ける(ステップS116)。そして、サーバシステム1100は、それらの複製配置操作に応じて、マップ生成用画像20を画像補正し、ステップS30に戻って、下地画像部分の抽出からやり直す。つまり、仮の配置構成が再作成されることになる。なお、複製配置の際には、サイズ変更を可能な構成としてもよい。
【0213】
もし、ユーザが「マップ要素単位の手動編集」を選択したならば(ステップS118のYES)、サーバシステム1100は、ユーザ端末1500にてマップ生成用画像20と現在の仮の配置構成のマップ要素8とを表示させ、マップ要素8の移動・削除・追加などの編集操作を受け付け、編集操作に応じて仮配置構成データ632を変更して、仮の配置構成を再生成する(ステップS120)。そして、ステップS60に戻る。
【0214】
もし、ユーザが「自動編集」を選択したならば(ステップS122のYES)、サーバシステム1100は、自動補正編集処理(
図5・
図7・
図9参照)を実行して(ステップS124)、ステップS60に戻る。なお、自動補正編集処理には「下地部分画像の複製配置」を自動で行う処理を含めてもよい。
【0215】
もし、所定の編集終了操作又は仮の配置構成を最終的な配置構成として確定する操作がなされたならば(ステップS126のYES)、サーバシステム1100は、新たなユーザ作成ゲームマップデータ640(
図18参照)を作成して(ステップS128)、配置構成決定処理を終了する。
【0216】
図20に戻って、サーバシステム1100は、ゲーム要素付与の前処理を実行し(ステップS140;
図13参照)、ゲーム要素付与処理を実行する(ステップS142)。具体的には、マップ要素8毎に、ゲーム要素付与パターンデータ520(
図16参照)の中から、付与要件523を満たすパターンデータを検索し、検索されたパターンデータの付与ゲーム要素定義データ530が示すゲーム要素を当該マップ要素に付与する。これにより、当該マップ要素についてのゲーム要素付与設定データ635(
図17参照)が作成される。
【0217】
次に、サーバシステム1100は、ゲーム要素が付与されたマップ要素の表示態様を設定する(ステップS144)。具体的には、ステップS140で検索されたパターンデータの付与対象マップ要素表示態様データ535に従って、マップ要素設定データ663(
図18参照)に格納されている当該マップ要素の表示態様設定のデータを変更する。
【0218】
ゲーム要素が付与されたマップ要素の表示態様を設定したならば、サーバシステム1100は、ゲームマップ6の生成を終了する。
【0219】
以上、本実施形態によれば、画像を元にしたゲームマップの生成技術として、興趣性のあるゲームマップを生成可能とする技術を提供することができる。
【0220】
〔第2実施形態〕
次に、第2実施形態について説明する。本実施形態では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については第1実施形態と同じ符号を付与して重複する説明は省略する。
【0221】
第2実施形態におけるゲームシステム1000のシステム構成は、第1実施形態と同様である。
【0222】
図22は、本実施形態のユーザ端末1500Bの機能構成例を示す機能ブロック図である。ユーザ端末1500Bは、ユーザ管理部202と、ゲーム管理部204と、ゲームマップ生成管理部210と、を有する。ゲーム管理部204によりユーザ端末1500Bにてプレイ可能になるゲームは、スタンドアローンでプレイ可能なゲームである。勿論、オンラインゲームでもよい。
【0223】
図23は、ユーザ端末1500Bの端末記憶部500が記憶するプログラムやデータの例を示す図である。ユーザ端末1500Bの端末記憶部500は、ゲームマップ生成プログラム504と、ゲーム初期設定データ510と、不適切条件定義データ514と、ゲーム要素付与パターンデータ520と、ユーザ管理データ600と、ゲームマップ生成制御データ610と、ユーザ作成ゲームマップデータ640と、プレイデータ700と、現在日時900と、を記憶する。これらのオリジナルは、本実施形態のサーバシステム1100にて保存されており、適宜ユーザ端末1500Bにダウンロードするとしてもよい。
【0224】
ゲームマップ生成プログラム504は、ユーザ端末1500Bを、ゲームマップ生成管理部210として機能させるためのプログラムである。
【0225】
本実施形態におけるゲームシステム1000の動作は、
図20及び
図21のフローチャートにおける各ステップの実行主体を、サーバシステム1100からユーザ端末1500Bに読み替えた処理となる。すなわち、ユーザ端末1500Bがスタンドアローンでゲームマップを生成する。
【0226】
本実施形態においても、第1実施形態と同様の作用効果が得られる。
【0227】
〔第3実施形態〕
次に、第3実施形態について説明する。本実施形態は、第1実施形態又は第2実施形態に、(1)複数のマップ生成用画像20から1つのゲームマップ6を生成する連結型ゲームマップ生成機能と、(2)ゲーム進行に応じたステージとなる複数のステージマップを含むステージ型ゲームマップ生成機能と、が追加されている。以下では、第3実施形態について、第1実施形態をベースに説明することとし、主に第1実施形態との差異について述べる。第1実施形態と同様の構成要素については、同じ符号を付与して重複する説明を省略する。勿論、第3実施形態を、第2実施形態をベースにした実施形態とすることも可能である。
【0228】
図24から
図26は、連結型ゲームマップ生成機能について説明するための図である。
連結型ゲームマップ生成機能を利用する場合、ユーザは、素材とする複数のマップ生成用画像20を指定する。サーバシステム1100は、第1実施形態と同様にして、複数のマップ生成用画像20それぞれのゲームマップ6(6a,6b,…)を作成する。そして、それら連結素材とされるゲームマップ6を統合し、1つの一体的な連結型ゲームマップ6Rを生成する。
【0229】
統合前のゲームマップ6同士の相対位置関係の設定、言い換えると、ゲームマップ6におけるマップ要素8の配置構成の相対位置関係の設定を、レイアウトという。レイアウトは、隣り合う一方のゲームマップ6aのマップ要素8の配置構成から他方のゲームマップ6bのマップ要素8の配置構成へ、プレーヤキャラクタ4が移動可能となるように設定される。つまり、レイアウトは、異なるゲームマップ6の異なるマップ要素8の配置構成が、1つの連結型ゲームマップ6Rとなったときに繋がるように決定される。連結型ゲームマップ全体におけるマップ要素の全体配置構成を作成すると言える。
【0230】
レイアウトの決定方法は、適宜選択可能である。
例えば、
図24のように、隣り合う一方のゲームマップ6aのマップ要素8の何れかが、他方のゲームマップ6bのマップ要素8の何れかと重なるように繋ぎ箇所を検出してレイアウトを決定するとしてもよい。
図24の例では、ゲームマップ6aのマップ要素8aと、ゲームマップ6bのマップ要素8bと、が繋ぎ箇所となっている。
【0231】
また例えば、
図25のように、隣り合う一方のゲームマップ6aの移動目標位置12aを、他方のゲームマップ6bのマップ要素8の移動開始位置10bに重ねるようにレイアウトを決定する。つまり、一方の移動目標位置12と他方の移動開始位置10とを、繋ぎ箇所と見なしてレイアウトを決定するとしてもよい。
【0232】
なお、
図25の方法で適当なレイアウトができない場合、例えば、繋ぎ箇所の検索対象エリアであるゲームマップの周部(=中心部以外とも言える)にマップ要素8が無い場合などでは、当該検索対象エリア(ゲームマップの周部)にマップ要素8を追加する補修を行う。
【0233】
また例えば、
図26のように、隣り合う一方のゲームマップ6aのマップ要素8を基準にプレーヤキャラクタ4の移動能力範囲M(
図11参照)を仮設定して、当該範囲内に、他方のゲームマップ6bのマップ要素8の何れかが含まれるようにレイアウトを決定するとしてもよい。この場合、仮設定した移動能力範囲Mに含まれる他方のゲームマップ6bのマップ要素8が繋ぎ箇所となる。
【0234】
なお、
図26の方法で適当なレイアウトができない場合は、仮設定した移動能力範囲M内にマップ要素8を追加する補修を行う。或いは、ゲームマップ6の何れかを分割した分割マップを作成して、それら分割マップをレイアウトするとしてもよい。
【0235】
レイアウトに使用される複数のゲームマップ6の並び順番は、攻略難易度が並び順に沿って徐々に上がるように、或いは徐々に下がるように設定する。
図24から
図26の例では、連結型ゲームマップ6Rの移動開始位置10が左端寄りにあり、移動目標位置12が右端寄りにあるので、ゲーム進行上、プレーヤキャラクタ4の進行方向は左から右に向かう方向となる。よって、並び順は左から右に向かう方向となり、右側に向かうほどマップ要素8の配置構成の難易度が上がるように設定する。そうすると、連結型ゲームマップ6Rでプレイすると、徐々にプレイが難しくなり、やり応えが増すので好適である。勿論、攻略難易度に関わらずランダムな順番でレイアウトしてもよい。
【0236】
対戦マルチプレイ用の連結型ゲームマップ6Rを生成する場合は、プレーヤ別のエリアを用意する。
例えば、どのユーザが先に移動目標位置12に到達するかを競う対戦ゲーム用に1つの連結型ゲームマップ6Rを生成する場合は、
図27に示すように、素材となるゲームマップ6a,6bを用いてレイアウトを決定する。レイアウトの結果から、プレイ人数分の連結型ゲームマップ6Ra,6Rb(
図27の例ではプレイ人数2名)を作成して、それらを各対戦者用のエリアとする。そして、それらを連結して1つの連結型ゲームマップ6Rcとして完成させる。連結型ゲームマップ6Ra,6Rbの連結境界部には、プレーヤキャラクタ4が跨ぐことができない障壁44を適宜追加するとよい。
【0237】
連結型ゲームマップ6Rの背景画像は、素材となった複数のマップ生成用画像20をレイアウトの通りに一体に合成・接続した画像とされる。レイアウトされて1つの連結型ゲームマップ6Rとなった時の全体視した外形は特に問わないが、適宜トリミングして整形してもよい。
【0238】
なお、対戦プレイするユーザの技量差がある場合には、各対戦者用のエリアに、ハンディキャップを設定してもよい。例えば、技量の劣るユーザ用の連結型ゲームマップ6Raの素材とするゲームマップ6の少なくとも1つの攻略難易度(プレイ難易度)を、技量の勝るユーザ用の連結型ゲームマップ6Rbの素材とするゲームマップ6の攻略難易度より低く設定する。攻略難易度を下げたゲームマップ6の部分が、ハンディキャップエリアとなる。つまり、連結素材とするゲームマップ6の評価結果に基づいて、対戦者それぞれ用のエリア(連結型ゲームマップ6Ra、6Rb)を構成する画像別仮配置構成を決定するとしてもよい。
【0239】
図28は、ステージ型ゲームマップ生成機能について説明するための図である。
ステージ型ゲームマップ生成機能を利用する場合、ユーザは、複数のマップ生成用画像20を指定する。サーバシステム1100は、複数のマップ生成用画像20のそれぞれから、第1実施形態と同様にして1つずつゲームマップ6(6a,6b,…)を作成する。そして、それらのゲームマップ6に、ゲーム進行に応じてステージとなる順序をそれぞれ設定して、1つのパッケージとする。当該パッケージが1つステージ型ゲームマップ6Sとなる。
【0240】
順序は、ゲームマップ6(6a,6b,…)の攻略難易度の設定(評価結果)に基づいて、順序が後に向かうほど攻略難易度が高まる傾向を有するように設定されている。つまり、最も攻略難易度が高いゲームマップ6が、最後にプレイする特別なステージとなるように順序が設定されている。
【0241】
図29は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム1100の生成制御部240は、レイアウト部246と、繋ぎ箇所検出部248と、補修部250と、ステージマップ生成部252と、評価部254と、ステージマップ順序決定部256と、を有する。
【0242】
レイアウト部246は、複数のマップ生成画像に基づいて1つのゲームマップを作成する際に、マップ生成用画像毎の仮の配置構成である画像別仮配置構成を、レイアウトすることで、ゲームマップ全体におけるマップ要素の仮の全体配置構成を作成する。
【0243】
具体的には、レイアウト部246は、以下の(1)から(5)の処理を行う。
(1)画像別仮配置構成同士を部分的又は全体的に合成する。
(2)仮の全体配置構成において、移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成とのレイアウト位置を調整する。
(3)複数のマップ生成用画像それぞれの画像特徴に基づいて、画像別仮配置構成のレイアウトを決定する。
(4)画像別仮配置構成のプレイ難易度の評価結果に基づいて、画像別仮配置構成のレイアウトを決定する。
(5)画像別仮配置構成の評価結果の順に従って画像別仮配置構成のレイアウト順序を決定する。
【0244】
繋ぎ箇所検出部248は、ゲームマップ全体におけるマップ要素の仮の全体配置構成において、移動体オブジェクトがまたがって移動し得る第1の画像別仮配置構成と第2の画像別仮配置構成との繋ぎ箇所を検出する。
【0245】
補修部250は、繋ぎ箇所検出部248により検出された繋ぎ箇所におけるマップ要素の配置を補修する。
【0246】
ステージマップ生成部252は、画像別仮配置構成に基づいて、ステージマップに係るマップ要素の配置構成を決定することでステージマップ(ゲームマップを構成する複数のサブマップであって、ゲーム進行に応じたステージとなるサブマップ)を生成する。
【0247】
評価部254は、画像別仮配置構成を評価する。具体的には、評価部254は、画像別仮配置構成に対するプレイ難易度を評価する。また、評価部254は、ゲームマップがステージマップを含む場合は、ステージマップに係る画像別仮配置構成を評価する。
【0248】
ステージマップ順序決定部256は、評価部254の評価結果に基づいて、ゲーム進行に応じたステージマップの順序を決定する。
【0249】
図30は、本実施形態のサーバ記憶部500sが記憶するプログラム及びデータの例を示す図である。本実施形態のサーバ記憶部500sは、連結型ゲームマップ生成作業データ720と、連結型ゲームマップデータ740と、ステージ型ゲームマップ生成作業データ750と、を記憶する。
【0250】
連結型ゲームマップ生成作業データ720は、連結型ゲームマップ生成機能を利用するユーザ毎に作成される。1つの連結型ゲームマップ生成作業データ720は、例えば
図31に示すように、作業者ユーザアカウント721と、連結素材マップ生成用画像データ722と、連結素材ゲームマップデータ724と、評価結果725と、レイアウトデータ726と、背景画像データ727と、を含む。
【0251】
連結素材マップ生成用画像データ722は、連結型ゲームマップ生成機能の利用にともないユーザが指定・提供したマップ生成用画像20それぞれの画像データである。
【0252】
連結素材ゲームマップデータ724は、連結素材マップ生成用画像データ722のマップ生成用画像20毎のゲームマップ6のデータであって、ユーザ作成ゲームマップデータ640(
図15参照)と同じデータ構成を有する。
【0253】
評価結果725は、連結素材ゲームマップデータ724のゲームマップ6の攻略難易度のリストである。
【0254】
レイアウトデータ726は、レイアウトを記述する各種データを格納する。例えば、繋ぎ箇所とされたマップ要素ID(
図24参照)、繋ぎ箇所とされた移動開始位置10の座標及び移動目標位置12の座標(
図25参照)、隣り合う連結素材のゲームマップ6の一方の代表点を基準とした他方の代表点の相対位置座標(
図26参照)を格納する。隣り合うゲームマップ6が部分的に重なる場合には、上下関係(重ねる順番)を示す情報も適宜格納する。また、追加されたマップ要素8の位置座標も格納する。
【0255】
連結型ゲームマップデータ740は、連結型ゲームマップ生成機能により作成された連結型ゲームマップ6R毎に作成される。データ構成は、ユーザ作成ゲームマップデータ640と同様である。
【0256】
ステージ型ゲームマップ生成作業データ750は、ステージ型ゲームマップ生成機能を利用するユーザ毎に作成される。1つのステージ型ゲームマップ生成作業データ750は、例えば
図32に示すように、作業者ユーザアカウント751と、ステージマップ生成用画像データ752と、ステージマップデータ754と、評価結果755と、ステージ順序設定データ756と、背景画像データ757と、を含む。
【0257】
ステージマップ生成用画像データ752は、ステージ型ゲームマップ生成機能の利用にともないユーザが指定・提供したマップ生成用画像20それぞれの画像データである。
【0258】
ステージマップデータ754は、ステージマップ生成用画像データ752のマップ生成用画像20毎のゲームマップ6のデータであって、ユーザ作成ゲームマップデータ640(
図15参照)と同じデータ構成を有する。
【0259】
評価結果755は、ステージマップデータ754のゲームマップ6の攻略難易度のリストである。
【0260】
ステージ順序設定データ756は、ステージマップデータ754のゲームマップ6のゲーム進行に応じてステージとされる順序を指定する。具体的には、指定する順番でステージとされるゲームマップ6のゲームマップIDを格納する。
【0261】
ステージ型ゲームマップ生成作業データ750は、生成完了後、そのままステージ型ゲームマップデータ760となる。ステージ型ゲームマップデータ760では、ステージマップ生成用画像データ752と評価結果755とを削除してもよい。
【0262】
図33は、連結型ゲームマップ生成に係る処理の流れを説明するためのフローチャートである。
サーバシステム1100は、素材とされるマップ生成用画像20の指定を受け付け、その画像データを取得し(ステップS210)、先に取得した連結素材とされるマップ生成用画像20別に連結素材ゲームマップデータ724を生成する(ステップS212)。
【0263】
ステップS212の連結素材ゲームマップデータ724の生成は、第1実施形態と同様にして行われる。すなわち、マップ要素8の仮配置構成を元に不適切箇所を解消する編集を行って、最終的な配置構成とされる。しかし、連結素材ゲームマップデータ724の示すゲームマップ6は連結型ゲームマップ6Rにとっての素材であり、連結素材ゲームマップデータ724が示す配置構成は、連結素材とされるマップ生成用画像20に係る仮の配置構成である画像別仮配置構成に相当する。
【0264】
次に、サーバシステム1100は、連結素材ゲームマップデータ724の攻略難易度646(
図18参照;プレイ難易度)を参照して、評価結果725とする(ステップS214)。
【0265】
次に、サーバシステム1100は、レイアウトを決定し(ステップS220;
図24から
図27参照)、レイアウトされたゲームマップ6を1つの連結型ゲームマップ6Rに統合する(ステップS222)。
【0266】
そして、サーバシステム1100は、背景画像を生成して(ステップS224)、連結型ゲームマップデータ740(
図30参照)を保存する(ステップS226)。
【0267】
ここで、プレイ人数の設定が複数の場合(ステップS230のYSE)、連結型ゲームマップ6Rをプレイ人数分だけプレーヤ別のエリアとして用意してそれらを連結し(
図27参照)、連結型ゲームマップデータ740を更新する(ステップS232)。
【0268】
図34は、ステージ型ゲームマップ生成に係る処理の流れを説明するためのフローチャートである。
サーバシステム1100は、ステージ素材とされるマップ生成用画像20の指定を受け付け、その画像データを取得し(ステップS310)、第1実施形態と同様にして、先に取得したステージ素材とされるマップ生成用画像20別にステージマップデータ754を生成する(ステップS312;
図32参照)。そして、それらの攻略難易度(プレイ難易度)を評価結果755とする(ステップS314)。
【0269】
次に、サーバシステム1100は、ステージ順序を決定し(ステップS320;
図28参照)、ステージ型ゲームマップ生成処理を終了する。
【0270】
以上、本実施形態によれば、第1実施形態と同様の効果が得られるとともに、ゲームマップの生成に用いる複数のマップ生成用画像の組み合わせによって、多様なゲームマップを生成することが可能になる。
【0271】
〔変形例〕
以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【0272】
(変形例その1)
マップ要素8の編集内容は、上記の例に限らず適宜設定可能である。
例えば、画面左右方向に並んだ複数のマップ要素8の上下位置を揃える処理を、自動補正編集処理(
図21のステップS124)に加えてもよい。また別の例として、マップ生成用画像20に、図形や文字を手書きして追加したり、所定の図形をスタンプツールで追加するといった画像補正処理を編集内容の1つとしてもよい。また別の例として、マップ要素8のサイズを、攻略難易度や用途ゲームのゲーム種別、プレイ人数に応じて設定する処理を、マップ要素8の仮配置ではなく、自動補正編集処理にて実行するとしもよい。つまり、攻略難易度や用途ゲームのゲーム種別、プレイ人数に応じて仮の配置構成を編集する、としてもよい。
【0273】
(変形例その2)
上記実施形態では、下地画像部分の抽出を行う画像解析処理の一例としてピクセルの輝度値に基づく二値化処理・エッジ検出処理を実行する例を示したが、ユーザ端末1500がカメラ1521の被写体までの距離を計測できる測距センサ、例えばLiDAR(Light Detection and Ranging)センサなどを搭載している場合は、マップ生成用画像20の画像データに含まれる測距値(又はマップ生成用画像20の画像データとともに取得した当該画像データに紐付けられた測距データ)に基づく二値化処理・エッジ検出処理を実行するとしてもよい。
【0274】
(変形例その3)
「不適切箇所」を検索するために、マップ要素8の仮の配置構成が満たすべき要件である不適切条件は、ゲーム種別や、移動体キャラクタの大きさ、ゲームルールなどにより適宜設定される。
【0275】
もし、マップ生成用画像20を用いた新たなゲームマップ6を使用するゲーム種別の設定が、マップ要素8に囲まれたコースを、移動体オブジェクトで如何に早く移動開始位置から移動目標位置へ移動させるかを競うレースゲームであれば、次のようにしてもよい。すなわち、上下方向通路確保距離Lv(
図7参照)や左右方向通路確保距離Lh(
図9参照)を、ユーザ希望する攻略難易度の設定が高いほど小さくして、マップ要素8の仮の配置構成を編集する。この場合、移動体オブジェクト(プレーヤキャラクタ4)の移動ルートを見つけ難く編集することになる。逆に、攻略難易度が低いほど上下方向通路確保距離Lvや左右方向通路確保距離Lhを大きく変更してから編集するのであれば、移動体オブジェクト(プレーヤキャラクタ4)の移動ルートを簡単に見つけられるようになる。
【0276】
こうした作用効果を鑑みれば、上下方向通路確保距離Lvや左右方向通路確保距離Lhの変更は、ユーザ希望の攻略難易度に基づく場合に限らず、ユーザのプレイ技量を間接的に示し得るプレーヤ情報(例えば、プレーヤの過去のプレイ成績、過去のプレイ回数、過去のプレイ成績やプレイ回数に応じて自動的に設定されるプレーヤレベル或いはプレーヤキャラクタレベルなど)に基づいて行うとしてもよい。
【0277】
つまり、こうした上下方向通路確保距離Lvや左右方向通路確保距離Lhの変更により、新たに生成されるゲームマップ6の用途ゲームのゲーム種別や、ゲームマップの攻略難易度、ユーザのプレイ情報に基づいて仮の配置構成を編集することとなる。
【0278】
(変形例その4)
第3実施形態に係り、連結型ゲームマップ6Rは、先に複数のマップ生成用画像の部分又は全体を合成或いは隣り合わせて接続した1つの合成接続画像を用意して、これを連結型ゲームマップ6Rにとっての1つの全体画像(マップ生成用画像20)として指定し、当該合成接続画像に第1実施形態と同様にしてマップ要素8の配置構成を決定することでも得られる。すなわち、仮作成部220が、複数のマップ生成用画像20を合成及び/又は接続した全体画像について画像解析処理を行って連結型ゲームマップ6Rにとっての仮の配置構成を作成し、この仮の配置構成に基づいてマップ要素8の最終的な配置構成を決定することで連結型ゲームマップ6Rが生成される。
【0279】
合成接続画像の用意は、 サーバシステム1100が自動で行うとしてもよい。
例えば、連結素材として指定された複数のマップ生成用画像20それぞれの画像特徴に基づいて合成・接続する相対位置関係を決定して合成接続画像を生成してもよい。具体的には、画像特徴として、マップ生成用画像20の別に画像全体や部分の巨視的な色相を判定して、複数のマップ生成用画像20が、所定の配色関係を成して並ぶように接続する相対位置関係を決定するとしてもよい。この場合、レイアウト部246(
図29参照)が、複数のマップ生成用画像20それぞれの画像特徴に基づいて、画像別仮配置構成のレイアウトを決定することになり、連結型ゲームマップ6Rの背景画像は、複数のマップ生成用画像をこのレイアウトに従って配置した画像を用いて生成されることになるので、背景画像の配色が整ってゲーム画面としての見栄えがよくなる。
【0280】
(変形例その5)
マップ要素8の仮配置構成を補正する方法は、上記実施形態に限らない。
例えば、ゲームマップ6をマップ生成用画像20の複数のピクセルを包含できるサイズのグリッド(例えば、16ピクセルで1つのグリッドなど、難易度設定が高いほどピクセル数を小さくする)に分ける。そして、グリッド毎に、当該グリッドに含まれる下地画像部分24(又は輪郭線22)のピクセル数をカウントし、カウント値が所定基準値(例えば「6」)以上であれば、当該グリッド全体を1つのマップ要素8として仮配置する、としてもよい。こうして設定するマップ要素8を「グリッド型マップ要素」と言う。
【0281】
そして、グリッド型マップ要素を仮配置して、塊状の密集の不適切箇所を自動で解消する場合には、次の様なアルゴリズムを適用してもよい。ゲーム種別が第1実施形態と同様であると特に好適である。
【0282】
(1)プレーヤキャラクタ4のゲームマップ6での大まかな移動方向を判定する。移動開始位置10が左端で、移動目標位置12が右端に設定されている場合、移動方向は「左から右」と判定する。移動開始位置10が下端で、移動目標位置12が上端に設定されている場合、移動方向は「下から上」と判定する。
【0283】
(2)塊状の密集を成しているグリッド型マップ要素のうち、移動方向上流側から1つのグリッド型マップ要素について着目し、移動方向下流側のグリッドにグリッド型マップが仮配置されていないかを判定する。
【0284】
(3)着目しているグリッド型マップ要素から見て、移動方向下流側に1つ隣のグリッドに、グリッド型マップが仮配置されている場合は、着目しているグリッド型マップを消去し、グリッド型マップが仮配置されていない場合は、着目しているグリッド型マップを残す。
【0285】
(4)上記(2)と上記(3)とを、不適切箇所に該当するグリッド型マップ全てについて実行する。
【0286】
或いは、ゲームマップ6の全グリッドについて、次のチェックアルゴリズムを適用してもよい。ゲーム種別が第1実施形態と同様であると特に好適である。
【0287】
(a)プレーヤキャラクタ4のゲームマップ6での大まかな移動方向を判定する。
(b)ゲームマップ6の全グリッドから、判定した移動方向の最上流側のグリッドの1つを、着木先のグリッドに選定し、そこにグリッド型マップが仮配置されていないか判定する。
(c)着目先のグリッドにグリッド型マップが仮設定されていなければ、未チェックの隣りのグリッドを次の着目先とする。
(d)着目先のグリッドにグリッド型マップが仮配置されていて、且つ、移動方向下流側に1つ隣のグリッドにグリッド型マップが仮配置されていなければ、当該グリッド型マップを残して、未チェックの隣のグリッドを次の着目先とする。
(e)着目先のグリッドにグリッド型マップが仮配置されていて、且つ、移動方向下流側に1つ隣のグリッドにもグリッド型マップが仮配置されていれば、当該グリッド型マップの仮配置を解除して(当該グリッド型マップを間引きして)、未チェックの隣のグリッドを次の着目先とする。
(f)ゲームマップ6の全グリッドについて上記(c)から上記(e)を実行する。
【0288】
(変形例その6)
上記実施形態から、ユーザがマップ要素8の仮配置構成を手動で変更する仕組みを省略してもよい。具体的には、
図21の処理の流れにおいて、ステップS100からステップS122及びステップS126を省略し、ステップS124とステップS128とを残した処理の流れとしてもよい。
【0289】
(変形例その7)
上記実施形態から、マップ要素8の仮配置構成と、不適切箇所を検索と、を省略した構成も可能である。例えば、ユーザ希望設定として想定される内容別に対応する複数種類の抽出条件620(
図17参照)を予め用意しておく。そして、処理の流れでは、
図20のステップS20に代えて、ユーザが選択した希望設定、或いは、ユーザに該当すると判断した希望設定に応じた抽出条件620を読み出すステップを設ける。また、
図20のステップS40で決定された仮配置構成を最終的なマップ要素8の配置構成とみなして、ステップS60からステップS126を省略して、ステップS128を実行する、としてもよい。
【0290】
当該構成では、抽出条件620の抽出用パラメータ値622は、ステップS40を終えた時に、参照した抽出条件620に対応するユーザ希望設定に適当なマップ要素8が設定されるように、多くのテスト画像を用いた実証テストを経て適当な値を予め設定しておくとよい。なお、当該構成において、抽出用パラメータ値622を設定する際に着目すべきは、ユーザ希望設定の攻略難易度、プレーヤキャラクタ4の移動能力、プレイ人数、である。例えば、抽出用パラメータ値622を設定する際には、攻略難易度が高いほど、移動能力が高いほど、プレイ人数が多いほど、ステップS40で設定されるマップ要素8の数が多くなるように、設定するとしてもよい。
【0291】
(変形例その8)
上記実施形態に、マップ生成用画像20から輪郭線22を抽出する際に、明度に基づいて輪郭線22を抽出する構成を追加してもよい。
【0292】
具体的には、マップ生成用画像20の各ピクセルの色情報として、RGB値の他に明度を含めるか、或いはRGB値の合計を明度とみなす。そして、マップ生成画像20を、複数の所定形状の領域でN個に分割する。例えば、四角形で16個の領域に分割する。或いは、六角形を基本形として32個に分割する、などである。形状や個数は適宜設定可能である。
【0293】
また、抽出条件620(
図17参照)を、複数の明度範囲別に用意しておく。各種類の抽出条件620は、その明度範囲が示す明るさや暗さの範囲において、輪郭線22が抽出されるような抽出用パラメータ値222が設定されているものとする。そして、領域毎に、当該領域に含まれる各ピクセルの明度の統計値(例えば、中央値、平均値、など)を求め、統計値が明度範囲に収まる抽出条件620を参照して、輪郭線22を抽出する、としてもよい。
【0294】
(変形例その9)
同様にして、上記実施形態に、ゲーム要素の決定を明度を用いて行う構成も可能を追加してもよい。具体的には、ゲーム要素付与パターンデータ520(
図16参照)の付与要件523に、下地画像部分24の明度についての要件(下地画像部分明度条件)を加える、又は下地画像部分色条件と置き換える、としてもよい。
【符号の説明】
【0295】
4…プレーヤキャラクタ
6…ゲームマップ
6R…連結素材ゲームマップ
6S…ステージ型ゲームマップ
8…マップ要素
20…マップ生成用画像
200s…サーバ処理部
210…ゲームマップ生成管理部
212…画像取得部
214…ゲームマップ生成制御部
220…仮作成部
240…生成制御部
242…編集部
244…背景画像生成部
246…レイアウト部
248…繋ぎ箇所検出部
250…捕集部
252…ステージマップ生成部
254…評価部
256…ステージマップ順序決定部
500s…サーバ記憶部
501…サーバプログラム
520…ゲーム要素付与パターンデータ
610…ゲームマップ生成制御データ
613…マップ生成用画像データ
632…仮配置構成データ
634…仮マップ要素設定データ
640…ユーザ作成ゲームマップデータ
663…マップ要素設定データ
720…連結型ゲームマップ生成作業データ720
725…評価結果
726…レイアウトデータ
750…ステージ型ゲームマップ生成作業データ
754…ステージマップデータ
756…ステージ順序設定データ
1000…ゲームシステム
1100…サーバシステム
1500…ユーザ端末