IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特表2022-532059マップ生成方法、装置、電子機器及びコンピュータ記憶媒体
<>
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図1
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図2
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図3
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図4
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図5
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図6
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図7
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図8
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図9
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図10
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図11
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図12
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図13
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図14
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図15
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図16
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図17
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図18
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図19
  • 特表-マップ生成方法、装置、電子機器及びコンピュータ記憶媒体 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-13
(54)【発明の名称】マップ生成方法、装置、電子機器及びコンピュータ記憶媒体
(51)【国際特許分類】
   A63F 13/60 20140101AFI20220706BHJP
   A63F 13/5378 20140101ALI20220706BHJP
【FI】
A63F13/60
A63F13/5378
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021565095
(86)(22)【出願日】2020-10-29
(85)【翻訳文提出日】2021-11-02
(86)【国際出願番号】 CN2020124881
(87)【国際公開番号】W WO2021135591
(87)【国際公開日】2021-07-08
(31)【優先権主張番号】202010003410.7
(32)【優先日】2020-01-02
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ブルートゥース
2.ANDROID
3.iOS
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】李 建全
(72)【発明者】
【氏名】程 再▲興▼
(72)【発明者】
【氏名】李 ▲剛▼
(57)【要約】
本出願は、マップ生成方法、装置、電子機器及びコンピュータ記憶媒体を開示する。この方法は、サブレベルマップライブラリから複数のサブレベルマップを選択するステップと、複数のサブレベルマップのうちの最初のM個のサブレベルマップを順次配置するステップであって、最初のM個のサブレベルマップは、いずれもマップエリア内に位置し、且つ、互いに重ならない、ステップと、残りのサブレベルマップを、マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通するように順次配置し、ターゲットマップを得るステップと、を含む。
【特許請求の範囲】
【請求項1】
電子機器により実行されるマップ生成方法であって、
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するステップと、
所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置するステップであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない、ステップと、
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るステップであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含むステップと、を含むマップ生成方法。
【請求項2】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップは、
前記N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、前記マップエリアにおいてターゲット候補エリアが存在するか否かを順次判定するステップであって、前記ターゲット候補エリアは、前記現在の配置対象サブレベルマップを配置するために用いられるものであるステップと、
前記ターゲット候補エリアが存在すると判定した場合、前記現在の配置対象サブレベルマップを前記所定の条件の配置対象サブレベルマップとして判定し、且つ前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置するステップと、を含む請求項1に記載の方法。
【請求項3】
前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを判定する前記ステップは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するステップであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺と前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さいステップと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するステップであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアであるステップと、を含む請求項2に記載の方法。
【請求項4】
前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを判定する前記ステップは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するステップであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは、前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺は、前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合うステップと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するステップであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアであるステップと、を含む請求項2に記載の方法。
【請求項5】
前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置する場合、
前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるステップを更に含み、前記ターゲットつなぎマップは、前記現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、前記空きエリアは、前記マップエリアにおける、まだ前記サブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、前記ターゲットつなぎマップのタイプは前記ターゲットタイプである請求項4に記載の方法。
【請求項6】
前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設ける前記ステップは、
前記ターゲットつなぎマップの位置する前記空きエリアの頂点のうち前記ターゲット候補エリアの頂点に繋がるターゲット頂点を取得するステップと、
前記ターゲット頂点の前記マップエリアでの高さを第1の高さに設定するステップであって、前記ターゲット候補エリアの頂点の前記マップエリアでの高さは、前記第1の高さであるステップと、
前記空きエリアの頂点のうち前記ターゲット頂点を除く頂点の前記マップエリアでの高さを前記第1の高さより小さい第2の高さに設定するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップの後に、
前記マップエリア内の配置済の各サブレベルマップが前記マップエリアにおける1つのセルを占める場合、前記各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定するステップであって、前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上であるステップと、
前記ターゲットセルが存在すると判定した場合、前記ターゲットセル、及び前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせるステップと、を更に含むことを特徴とする請求項4に記載の方法。
【請求項8】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップは、
前記N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップを前記マップエリア内に配置した後、前記マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定するステップと、
前記マップエリア内の配置済のサブレベルマップの面積が前記所定の面積閾値を超えた場合、前記N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップを前記マップエリア内に配置することを停止するステップと、を含むことを特徴とする請求項1~7のいずれか一項に記載の方法。
【請求項9】
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するように構成される選択ユニットと、
所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置するように構成される第1の配置ユニットであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない、第1の配置ユニットと、
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るように構成される第2の配置ユニットであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む第2の配置ユニットと、
を備えるマップ生成装置。
【請求項10】
前記第1の配置ユニットは、
前記N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを順次判定するように構成される第1の判定モジュールであって、前記ターゲット候補エリアは、前記現在の配置対象サブレベルマップを配置するために用いられるものである第1の判定モジュールと、
前記ターゲット候補エリアが存在すると判定した場合、前記現在の配置対象サブレベルマップを前記所定の条件の配置対象サブレベルマップとして判定し、且つ前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置するように構成される配置モジュールと、を含む請求項9に記載の装置。
【請求項11】
前記第1の判定モジュールは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される第1の判定サブモジュールであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺と前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さい第1の判定サブモジュールと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するように構成される第2の判定サブモジュールであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する第1のエリアである前記第2の判定サブモジュールと、を含む請求項10に記載の装置。
【請求項12】
前記第1の判定モジュールは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される第3の判定サブモジュールであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺は、前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合う第3の判定サブモジュールと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するように構成される第4の判定サブモジュールであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアである第4の判定サブモジュールと、を含む請求項10に記載の装置。
【請求項13】
前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置する場合、前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるように構成される第3の設定ユニットを更に備え、前記ターゲットつなぎマップは、前記現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、前記空きエリアは、前記マップエリアにおける、まだ前記サブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、前記ターゲットつなぎマップのタイプは前記ターゲットタイプである請求項12に記載の装置。
【請求項14】
前記第3の設定ユニットは、
前記ターゲットつなぎマップの位置する前記空きエリアの頂点のうち前記ターゲット候補エリアの頂点に繋がるターゲット頂点を取得するように構成される取得モジュールと、
前記ターゲット頂点の前記マップエリアでの高さを第1の高さに設定するように構成される第1の設定モジュールであって、前記ターゲット候補エリアの頂点の前記マップエリアでの高さは、前記第1の高さである第1の設定モジュールと、
前記空きエリアの頂点のうち前記ターゲット頂点を除く頂点の前記マップエリアでの高さを前記第1の高さより小さい第2の高さに設定するように構成される第2の設定モジュールと、を含む請求項13に記載の装置。
【請求項15】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置した後、前記マップエリア内の配置済の各サブレベルマップが前記マップエリアにおける1つのセルを占める場合、前記各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定するように構成される判定ユニットであって、前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上である判定ユニットと、
前記ターゲットセルが存在すると判定した場合、前記ターゲットセル、及び前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせるように構成される組み合わせユニットと、
を更に備える請求項12に記載の装置。
【請求項16】
前記第1の配置ユニットは、
N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップをマップエリア内に配置した後、マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定するように構成される第2の判定モジュールと、
マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えた場合、N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップをマップエリア内に配置することを停止するように構成される停止モジュールと、を含む請求項9~15のいずれか一項に記載の装置。
【請求項17】
実行可能コマンドを記憶するように構成されるメモリと、
前記メモリに記憶された前記実行可能コマンドを実行することによって、請求項1~8のいずれか一項に記載の方法を実現するように構成されるプロセッサと、
を備える電子機器。
【請求項18】
実行されることによって、請求項1~8のいずれか一項に記載の方法を実現する実行可能コマンドを含むコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願の相互参照〕
本出願は、出願番号が202010003410.7、出願日が2020年1月2日である中国特許出願に基づくものであり、この中国特許出願の優先権を主張し、この中国特許出願の内容の全てが参照により本出願に組み込まれる。
【0002】
本出願は、マップ分野に関し、特にマップ生成方法、装置、電子機器及びコンピュータ記憶媒体に関する。
【背景技術】
【0003】
ゲームの種類が益々多くなってきたにつれて、より多くのユーザの目を引くために、ゲームにシミュレートされたシーンが導入され、シーンにマップが表示され、このマップによって、プレイヤに現在ゲームのどの位置にいるかを簡単且つ明瞭に知らせることができるが、ゲーム内のマップの生成は、複雑なタスクである。
【0004】
ゲームの体験を向上させるために、ゲーム内で、通常、繰り返したマップでは目新しさをもたらすことができないことを回避するために、異なるレベルで異なるゲームマップが設定される。即ち、レベルごとにランダムマップが設定される。関連技術では、ランダムレベルメカニズムに基づいて境界が閉鎖されたマップを形成しているが、境界が閉鎖されたレベルランダム化スキームは、マップの規模及び複雑さのいずれの面でも効果が悪く、大規模で複雑性の高いランダムマップの生成柔軟性が低い。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の実施例は、大規模ランダムマップの生成柔軟性を向上可能なマップ生成方法、装置、電子機器及びコンピュータ記憶媒体を提供する。
【0006】
本出願の実施例の技術的解決手段は、以下のように実現される。
【0007】
本出願の実施例は、電子機器により実行されるマップ生成方法であって、
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するステップと、所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを、順次配置するステップであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない、ステップと、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るステップであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含むステップと、を含むマップ生成方法を提供する。
【0008】
本出願の実施例は、
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するための選択ユニットと、所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置するための第1の配置ユニットであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない第1の配置ユニットと、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るための第2の配置ユニットであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む第2の配置ユニットと、を備えるマップ生成装置を提供する。
【0009】
本出願の実施例は、
実行可能コマンドを記憶するように構成されるメモリと、
前記メモリに記憶された前記実行可能コマンドを実行することによって、本出願の実施例が提供するマップ生成方法を実現するように構成されるプロセッサと、を備える電子機器を提供する。
【0010】
本出願の実施例は、実行されることによって、本出願の実施例が提供するマップ生成方法を実現するように設定される実行可能コマンドが記憶されているコンピュータ記憶媒体を提供する。
【0011】
本出願の実施例は、以下の有益な効果を有する。
【0012】
本出願の実施例において、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択する。所定のマップエリア内に、N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置し、最初のM個のサブレベルマップは、いずれもマップエリア内に位置し、且つ、互いに重ならない。N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。それにより、サブレベル合成に基づき、基本的なランダム単位がサブレベルマップである目的を達成し、ランダムなサブレベルマップに基づいてランダムな大マップを生成する技術効果を実現し、更に、従来技術において大規模ランダムマップの生成柔軟性が悪いという技術課題を解決し、即ち、大規模ランダムマップの生成柔軟性を向上させる。
【図面の簡単な説明】
【0013】
図1】異なるビッグワールドシーンの寸法スケールを示す模式図である。
図2】安全圏縮小プロセスの例を示す図である。
図3】境界が閉鎖されたランダムレベルスキームを示す模式図である。
図4】本出願の実施例によるマップ生成方法の適用環境の模式図である。
図5】本出願の実施例が提供するマップ生成システム10の適用シーンの模式図である。
図6】本出願の実施例によるマップ生成方法のフローチャートである。
図7】本出願の実施例によるランダムアイランドレベルマップの模式図である。
図8】本出願の実施例によるゲームの主なシーンが島群である場合の模式図である。
図9】本出願の実施例によるアイランド拡張の模式図である。
図10】本出願の実施例によるランダムに生成された大陸マップシードレベルの模式図である。
図11】本出願の実施例によるランダム大陸の生成プロセスの模式図(1)である。
図12】本出願の実施例によるランダム大陸の生成プロセスの模式図(2)である。
図13】本出願の実施例によるランダム大陸の生成プロセスの模式図(3)である。
図14】本出願の実施例によるアルゴリズムに従って大都市をランダムに見付ける模式図である。
図15】本出願の実施例による市街地マップを追加した後の大陸全体の模式図である。
図16】本出願の実施例によるつなぎレベルの生成位置の模式図である。
図17】本出願の実施例によるつなぎレベルの高さ曲線の重なり模式図である。
図18】本出願の実施例によるシューティングゲームにおけるランダムマップ生成方法のフローチャートである。
図19】本出願の実施例によるマップ生成装置の構造模式図である。
図20】本出願の実施例によるマップ生成方法の電子装置の構造模式図である。
【発明を実施するための形態】
【0014】
本出願の目的、技術的解決手段及び利点をより明らかにするために、以下、添付図面を参照しながら、本出願を更に詳細に説明し、説明される実施例は、本出願を制限するものとみなすべきではなく、当業者が創造的労働をすることなく得られる他の実施例は、全て本出願の保護範囲に属する。
【0015】
以下の説明において用いられる「いくつかの実施例」は、全ての可能な実施例のサブセットを記述するものであるが、「いくつかの実施例」は、全ての可能な実施例の同じサブセットであってもよく、又は異なるサブセットであってもよく、衝突しない限り互いに組み合わせられてもよいことを理解すべきである。
【0016】
別途定義されていない限り、本明細書で使用される全ての技術用語及び科学用語は、本出願の技術分野の技術者に一般的に理解される意味と同じである。本明細書で使用される用語は、本出願の実施例を説明するためのものに過ぎず、本出願を制限する旨ではない。
【0017】
本出願の明細書、特許請求の範囲及び上記した添付図面における「第1」、「第2」などの用語は、類似する対象を区別するためのものであり、必ず特定の順序又は優先順位を説明するために用いられるわけではないことを説明しておく。このように使用される数字は、適切な場合に交換可能であり、よって、ここで説明される本出願の実施例がここで図示又は説明されている順序以外の順序で実施可能となることを理解すべきである。また、「含む」及び「有する」といった用語及びそれらのあらゆる変形は、非排他的な包含を網羅することを意図しており、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、必ず明らかに列挙されたステップ又はユニットに限定されるわけではなく、明らかに列挙されてない又はこれらのプロセス、方法、製品又は機器に固有の他のステップ又はユニットを含んでもよい。
【0018】
別途定義されていない限り、本明細書で使用される全ての技術用語及び科学用語は、本出願の技術分野の技術者に一般的に理解される意味と同じである。本明細書で使用される用語は、本出願の実施例を説明するためのものに過ぎず、本出願を制限する旨ではない。
【0019】
本出願の実施例を更に詳細に説明する前に、本出願の実施例において用いられる名詞及び用語について説明し、本出願の実施例において用いられる名詞及び用語に、以下の解釈が適用される。
【0020】
ビッグワールド:従来のシューティングゲームは、一般的に200m*200mの範囲のシーン以内でゲームをする(ここの距離測定は、プレイヤキャラクタモデルの高さに対して計算されたものであり、一般的なゲームのキャラクタの高さは1.7~2.0mの間である)。PCゲーム『PlayerUnknown’s Battlegrounds』(PUBG)を初め、多くのシューティングゲームにはビッグワールドシーンが導入された。ゲームマップの寸法規模は、8km*8kmのスケールまで、大幅に拡大した。
【0021】
例示的に、図1には、異なるビッグワールドシーンの寸法スケールの模式図が示され、図1に示すように、ビッグワールドシーンの幅は、右から左へ順次大きくなり、ビッグワールドシーンの高さは、下から上へ順次大きくなり、マップ1-1の幅及び高さはいずれも8km*8kmであるため、マップ1-1の寸法スケールは64kmとなり、マップ1-2の幅及び高さはいずれも4km*4kmであるため、寸法スケールは16kmとなり、マップ1-1及びマップ1-2はいずれも寸法の大きいビッグワールドシーンである。場合によって、ビッグワールドマップは寸法の小さいものもあり、例えば、寸法スケールが5.6kmのマップ1-3、寸法スケールが4.7kmのマップ1-4、及び寸法スケールが4kmのマップ1-5である。
【0022】
2)安全圏縮小:ビッグワールドマップに伴って誕生した典型的なゲームプレイメカニズムである。ゲーム時間の経過につれて、ゲームシーンに半径が徐々に縮小する複数の円が表示され、円の外に位置するプレイヤのゲームキャラクタは、持続的にダメージを受けることになる。プレイヤがゲームに勝ちたい場合、安全圏内部に終始留まる必要がある。ビッグワールドマップと安全圏縮小の組み合わせによって、プレイヤを広い世界から徐々に非常に小さい範囲に集めることをうまく実現することができ、豊富で多様なシーン体験を保証しながら、プレイヤ間のゲーム対戦に勝負がつくことを確保できる。
【0023】
例示的に、図2には、安全圏縮小プロセスの模式図が示されており、図2を参照し、ゲームが開始したすぐ後、プレイヤのゲームキャラクタは、ダメージを受けることなくマップの任意の場所で活動することができるが、所定のゲーム時間が経過した後、ゲームシーンに安全圏エリア2-1が表示され、この時、安全圏エリア2-1外のプレイヤのゲームキャラクタは持続的にダメージを受けることになる。更に所定のゲーム時間が経過した後、安全圏エリア2-1は安全圏エリア2-2に縮小し、この時、安全圏エリア2-2外のプレイヤのゲームキャラクタは持続的にダメージを受ける。安全圏エリア2-1の生成、及び安全圏エリア2-1から安全圏エリア2-2への縮小プロセスは、安全圏縮小プロセスである。
【0024】
3)3Dゲーム:3DのDはDimensionの略語であり、基本モデル(ゲームのキャラクタ、シーン、基本地形)が三次元立体モデルで実現され、ゲームキャラクタのゲームシーンでの位置が三次元座標(x、y、z)で表されるゲームのは、3Dゲームと呼ばれる。
【0025】
4)サブレベル:サブレベルは、Unreal4エンジン(第4世代仮想エンジン)における概念である。ゲームのエントリレベルは1つのみであり、エントリレベルは、通常、永続レベルであり、ゲームに終始存在し、メインレベルと呼ばれる。他のレベルがメインレベルを介して動的にロード又はアンロードされるものであれば、これらの動的レベルがいずれもメインレベルに従属するサブレベルであると考えられる。サブレベルのシーンの大きさは制限されておらず、サブレベル自体もゲームロジック又はプレイ方法を有してもよい。メインレベル及びサブレベルは、単なる構造上の従属関係であり、包含関係ではない。
【0026】
5)連通性:本出願における連通性は、実質的に距離に基づく概念であり、2つのサブレベルの距離が一定の条件を満たす場合、一般的にある閾値以下である場合、2つのサブレベルが連通していると考えられる。
【0027】
ゲームの体験を向上させるために、レベルごとにランダムマップが設けられている。ランダムマップは、一連の小さいマップブロック(100m*100m以下)が二次元平面にランダムに配列されたものであり、ランダムブロックの合成トレースが明らかである。マップブロック内のゲーム要素も比較的固定されており、建物又は地形が二層構造にならない。本質的には、3Dパフォーマンスを制限した2.5Dのシーンであり、ゲームシーンは三次元曲面であり、各(x,y)値の対に、唯一のz値が対応する。
【0028】
図3を参照し、図3は、境界が閉鎖されたランダムレベルスキームを示す模式図であり、図3から分かるように、マップ3-1、マップ3-2、マップ3-3及びマップ3-4は、いずれも複数の固定小マップをランダムに合成したものである。以上から分かるように、関連技術において、大量に使用されているランダムレベルメカニズムは、その肝心が複数の小さいマップブロックを合成することによって、内部が連通するレベルに組み立てることであり、境界が閉鎖されたレベルランダムスキームである。明らかに、このような方法は、大規模のマップ及び複雑な立体空地マップを満たすことができない。即ち、大規模で複雑性の高いランダムマップを生成するには、柔軟性が足りない。
【0029】
以上を纏めると、当業者はマップ生成方法を分析しておらず、且つ上記技術は当業者にとって公知の常識ではないため、当業者にとって上記問題を発見して指摘することが困難である。しかしながら、本出願の実施例において、マップ生成方法を詳細に分析した上で、上記技術課題を発見した。
【0030】
本出願の実施例は、大規模ランダムマップの生成柔軟度を向上可能なマップ生成方法、装置、電子機器及びコンピュータ記憶媒体を提供する。本出願のマップ生成方法は、電子機器により実行される。本出願のいくつかの実施例において、電子機器は分けて実施してもよく、例えば、一部の実現ステップを端末機器で実施し、残りの実現ステップをサーバで実施し、サーバと端末機器の間のインタラクションにより、大規模ランダムマップを生成する。本出願の別の実施例において、電子機器は、一体として実施し、例えば、全ての実現ステップを端末で実施し、又は、サーバにて全てのステップを実現する。
【0031】
本出願において、1つの実施形態として、上記マップ生成方法は、図4に示すハードウェア環境でのマップ生成システムに適用してもよいが、これに限定されず、当該マップ生成システムは、端末機器102、ネットワーク110及びサーバ112を含んでもよいが、これらに限定されない。
【0032】
上記端末機器102は、マンマシンインタラクションスクリーン104、プロセッサ106及びメモリ108を含んでもよいが、これらに限定されない。マンマシンインタラクションスクリーン104は、マンマシンインタラクションインタフェースを介してマンマシンインタラクションコマンドを取得するために用いられ、更に、ゲーム中のランダムマップの画面を提示するために用いられる。プロセッサ106は、上記マンマシンインタラクションコマンドに応答して、サブレベルのランダムマップを対応する大マップに配置することを完成する。メモリ108は、サブレベルマップライブラリ、サブレベルのランダムマップ及びターゲットマップを記憶するために用いられる。ここで、サーバは、データベース114及び処理エンジン116を含んでもよいが、これらに限定されず、処理エンジン116は、データベース114に記憶されているサブレベルマップライブラリにおけるN個のサブレベルマップを呼び出し、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内にランダムで順次配置し、N-M個のサブレベルマップのうちの、マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得るために用いられる。更に、サブレベルマップをランダム単位として、ターゲットマップを柔軟に生成する。
【0033】
具体的なプロセスは、以下のステップの通りである。端末機器102のマンマシンインタラクションスクリーン104に、ゲームクライアントが1ラウンドのゲームクエストを実行する際のインタラクションインタフェースを表示する。ステップS102~S108のように、サブレベルマップライブラリから選択されたN個のサブレベルマップを取得し、ネットワーク110を介して当該N個のサブレベルマップをサーバ112に送信する。サーバ112において、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置し、N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。N-M個のサブレベルマップのうちの、所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。その後、上記ステップの実行結果を端末機器102に返信し、即ち、ターゲットマップを送信する。
【0034】
その後、ステップS102~S108のように、端末機器102は、サブレベルマップライブラリからN個のサブレベルマップを選択し、N個のサブレベルマップのうちの最初のM個のサブレベルマップを互いに重ならないように所定のマップエリア内に順次配置し、N-M個のサブレベルマップのうちの、マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。更に、サブレベルマップをランダム単位として、ターゲットマップを柔軟に生成する。
【0035】
本出願のいくつかの実施例において、上記マップ生成方法は、サーバ112に適用してもよいが、これに限定されず、サブレベルのランダムマップを所定の条件を満たすエリア内に配置し、ターゲットマップを得るために用いられる。端末機器102は、スマートフォン、タブレットコンピュータ、ノートパソコン、PCなどの、アプリケーションクライアントの動作をサポートする端末機器であってもよいが、これらに限定されず、サーバ112は、独立した物理サーバであってもよく、複数の物理サーバからなるサーバクラスタ又は分散システムであってもよく、クラウドコンピューティングサービスを提供するクラウドサーバであってもよい。上記サーバ112及び端末機器102は、ネットワークを介してデータインタラクションを実現してもよいが、これに限定されず、上記ネットワークは、無線ネットワーク又は有線ネットワークを含んでもよいが、これらに限定されない。当該無線ネットワークは、ブルートゥース、WIFI及び無線通信を実現する他のネットワークを含む。上記有線ネットワークは、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、ローカルエリアネットワークを含んでもよいが、これらに限定されない。上記は、単なる例であり、本実施例において何らの限定もしない。
【0036】
例として、図5を参照し、図5は、本出願の実施例が提供するマップ生成システム10の適用シーンの模式図である。端末400は、ネットワーク300を介してサーバ200に接続され、ネットワーク300は、ワイドエリアネットワーク又はローカルエリアネットワーク、又は両者の組み合わせであってもよい。サーバ200に、更に、サーバ200にデータサービスを提供するためのデータベース500が配置されている。
【0037】
端末400は、選択されたN個のサブレベルマップを送信するために用いられ、例えば、ユーザがゲームをスタートする時、端末400は、サブマップライブラリからN個のサブレベルマップを選択し、且つネットワーク300を介してN個のサブレベルマップをサーバ200に送信する。ただし、Nは1より大きい自然数である。
【0038】
サーバ200は、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置し、N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。その後、サーバ200は、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。サーバ200は、ターゲットマップを生成した後、ネットワーク300を介してターゲットマップを端末400に送信する。端末400は、グラフィックインタフェース400-1にて、サーバ200で生成されたターゲットマップの画面をユーザに提示する。
【0039】
本出願のいくつかの実施例において、1つの実施形態として、図6に示すように、本出願の実施例が提供するマップ生成方法は、以下のステップS202~ステップS206を含む。
【0040】
ステップS202において、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択する。
【0041】
ステップS204において、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置し、N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。
【0042】
ステップS206において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。
【0043】
本出願において、本実施形態は、シューティングゲームにおける大マップのランダム生成に適用されることを含んでもよいが、これに限定されず、例えば、ロールプレイングゲームのダンジョンマップの生成にも適用可能である。ビッグワールドゲームのシーンでは、地形及び建物がランダムに生成される。ランダムに生成される地形は、アイランド、大陸を含むが、これらに限定されない。
【0044】
電子機器は、サブレベルマップライブラリからN個のサブレベルマップをランダムに選択してもよく、サブレベルマップの順序に従ってN個のサブレベルマップを選択してもよいことを理解できる。
【0045】
例示的に、アイランドを例とし、複数のアイランドマップをマップエリアに配置し、電子機器は、サブマップライブラリから8個のサブレベルマップを選択し、8個のサブレベルマップから4つのマップをランダムに選択して所定のマップエリアにランダムに配置してもよい。図7には、本出願の実施例が提供するランダムアイランドレベルマップの模式図が示され、電子機器は、4つのアイランドマップを配置し、当該4つのアイランド(数字の付いた4つの方形格子)は、マップにランダムに配置されている。4つのアイランドは、マップエリア内にランダムに配置され、当該4つのサブレベルマップは互いに重ならない。その後、電子機器は、順次残りの4つの配置される各サブレベルマップを現在の配置対象マップとし、当該現在のマップは、マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを満たし、更にターゲットマップを得る。すると、アイランドサブレベルマップにおけるアイランドの生成を完成できる。
【0046】
サブマップライブラリから選択された8個のサブレベルマップは、レベル1~8に対応すること、即ち、8個のサブレベルマップにレベル順序があることを含んでもよいが、これに限定されないことを説明しておく。電子機器は、マップにおけるアイランドを生成する時、まず、最初の4つのレベルに対応するレベルサブマップをマップエリアにランダムに順次配置し、この4つのレベルサブマップ同士は、互いに重なってはならないことを満たす必要があり、その後、電子機器は、残りのサブレベルマップ5、残りのサブレベルマップ6、残りのサブレベルマップ7、残りのサブレベルマップ8をマップエリア内に順次配置し、順次とは、5番目、6番目を配置することとして理解してもよく、いずれも現在の配置対象サブレベルマップであると考えられるが、残りの4つのサブレベルマップをマップエリアに配置する場合、マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを満たす必要がある。
【0047】
本出願のいくつかの実施例において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置するステップは、以下のステップS1~S2を含む。
【0048】
S1において、N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、マップエリアにおいてターゲット候補エリアが存在するか否かを順次判定する。ターゲット候補エリアは、現在の配置対象サブレベルマップを配置するために用いられるものである。
【0049】
S2において、ターゲット候補エリアが存在すると判定した場合、現在の配置対象サブレベルマップを所定の条件の配置対象サブレベルマップとして判定し、現在の配置対象サブレベルマップをマップエリアにおけるターゲット候補エリアに配置する。
【0050】
ターゲット候補エリアは、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通するという所定の条件を満たすエリアを含むが、これに限定されないことを説明しておく。
【0051】
マップエリアにおいてターゲット候補エリアが存在するか否かを判定するステップは、次の2つのステップを含む。
【0052】
マップエリアにおいて現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定する。ターゲット配置位置は、現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、中心点がターゲット配置位置に位置する場合、第1のエリアはマップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺とマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さい。
【0053】
マップエリアにおいてターゲット配置位置が存在すると判定した場合、マップエリアにターゲット候補エリアが存在すると判定する。ターゲット候補エリアは、中心点がターゲット配置位置に位置する時に現在の配置対象サブレベルマップの位置する第1のエリアである。
【0054】
所定の距離閾値の具体的な値は、実際の状況に応じて、例えば、50メートル、100メートルなどに設定してもよいことを理解すべきであり、本出願において制限しない。
【0055】
アイランドのランダム生成を例として説明し、図8に示すゲームの主なシーンは島(アイランド)群である。図8において、アイランドの連通性の定義は、次のように理解してもよい。すなわち、アイランド(サブレベル)の間の距離<50メートル(パラメータが調節可能)と近く、プレイヤは、1つのアイランドから他の1つのアイランドに迅速に移動することができ、例えば、プレイヤは、対応するゲームキャラクタを制御して島のシーンで泳ぐことで、アイランド1からアイランド3に迅速に移動し、その後、泳ぎ動作によってアイランド3からアイランド2に移動することができる。ターゲット候補エリアは、所定の条件を満たすエリアであり、電子機器は、現在の配置対象サブレベルマップを第1のエリアの中心点に配置し、配置後のサブレベルマップは、マップエリア内の配置済のサブレベルマップ、即ち、アイランド1、アイランド2及びアイランド3の占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺とマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さく、例えば、アイランド1、アイランド2及びアイランド3のうちのいずれか1つのアイランドの1つの辺との距離は、0より大きく50メートルより小さい。つまり、現在のサブレベルマップを配置するためのターゲット候補エリアは、現在のサブレベルマップが配置された後、当該現在のサブレベルマップに対応するエリアがマップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺とマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離が0より大きく所定の距離閾値より小さいことを満たす。
【0056】
実際に適用する際に、ランダムアイランドの生成アルゴリズムによって、まずランダムアイランドの配列を生成する。ここで、重み付けランダムが採用され、電子機器は、サブレベルマップ(これらのサブレベルは全てアイランドである)ライブラリから、ランダムに又は順番に応じて繰り返さないようにN個のサブレベルマップを選んで、ランダム化対象アイランド配列に追加する。配列における全てのアイランドは、順番に応じて1つずつマップに追加される。
【0057】
ランダムアイランドの拡張アルゴリズムによって、最初に、複数の独立したシードアイランドを生成する。例えば、4つの独立したシードアイランドを選び、この時、電子機器は、シードアイランドパラメータの数値を4に設定し、即ち、iSeedIsland=4(シードアイランドパラメータ)とする。
【0058】
シードアイランドの間は、連通性を考えずに距離が非常に遠くされてもよい(即ち、N個のサブレベルマップのうちの最初のM個のサブレベルマップをランダムに順次配置する)。このようにすれば、比較的分離しているアイランド始点を生成し、アイランド全体の分布をよりランダムにすることができる。図9には、アイランド拡張の模式図が示されている。図9における網掛けエリアは、排他性を考慮した上で次のアイランド(既存のアイランドは数字1~4の付いた方形格子である)を配置可能な位置である。図9における各円に接する黒色エリアは、連通性を更に考慮した上で、アイランドの選択可能な位置である。次のアイランド(中心点)は、黒色エリアの位置のみで作成可能である。アルゴリズムは、全ての黒色エリアから1つの黒色エリアをランダムに選択して次のアイランドの位置とする。
【0059】
図9における5番のアイランドは、ランダムに生成された最初の連通性を確保したアイランドである。1つのアイランドを追加する度に、電子機器は、現在のアイランド分布図を一回リフレッシュする。後続の全てのサブレベルは、連通性を考慮した上でマップに追加する必要がある。
【0060】
具体的なアイランドランダム生成ステップは、以下の内容を含んでもよい。
【0061】
ステップ1において、電子機器は、ランダムマップ配置表における各サブレベルマップの重みに基づき、N個のサブレベルマップを抽出するまで、繰り返さないように抽出する。電子機器は、N個のサブレベルマップをLevelList(リスト)に格納し、添え字は、0からカウントする。
【0062】
ステップ2において、電子機器は、LevelListから最初のサブレベルマップを抽出して、大マップに配置し、LevelList[0]全体が2km*2kmの全体的な境界内に位置するように確保する。
【0063】
ステップ3において、電子機器は、後続のiSeedIsland-1個のサブレベルマップを相次いで抽出し、全体シーンに順次入れ、LevelList[0]、LevelList[1]、…、LevelList[iSeedIsland-1]の位置が互いに重ならないように確保すればよい。ここで、ランダムシードアイランドの作成が完了する。
【0064】
ステップ4において、電子機器は、LevelList[iSeedIsland]から開始し、後続のサブレベルマップの配置は、境界を考慮する必要があるだけでなく、連通性を考慮する必要もある。アイランド拡張の連通性とは、2つのサブレベルマップが重なってはならず、少なくとも1つの辺の距離がfAdjacentDist(所定の距離閾値は50メートルであってもよい)より小さいように保証する必要があることであり、この場合、2つのサブレベルマップが連通すると考えられる。LevelList[k](k=iSeedIsland、iSeedIsland+1、……、N)と前の少なくとも1つのレベルLevelList[i](i=0、1、2、……、k-1)との連通が維持される場合、LevelList[k]が前のサブレベルマップと連通すると考えられる。電子機器は、マップを20m*20mの小格子にラスタライズし、数え上げにより、どの位置(図9における網掛けエリア)にLevelList[k]を配置できるか、どの位置(図9における各円に接する黒色エリア)で新たに入れられたサブレベルマップが少なくとも前のサブレベルマップのうちの1つと連通するように保証できるかを容易に算出することができる。マップ全体において網掛けエリア又は黒色エリアが見付けられない場合、サブレベルマップの配置に失敗したと考えられ、LevelList[k]を直接スキップして、LevelList[k+1]の処理を開始する。
【0065】
ステップ5において、電子機器は、全てのサブレベルマップの処理が完了するまで、又は、サブレベルの総配置面積が特定の閾値fSaturateRatio(所定の海陸比)に達するまで、ステップ4を繰り返して行う。
【0066】
ランダムアイランドチェーンアルゴリズムの主なパラメータは、以下の通りである。
iSeedIsland:サブレベルの初期分離状態を制御する。
fAdjacentDist:連通するサブレベルの空間集積程度を制御する。
fSaturateRatio:マップの全体的な水域と陸地の比を制御する。
【0067】
各サブレベルマップには、自身の長さと幅のプロパティ、抽出されるランダム重みがある。
【0068】
ランダムアイランドチェーンアルゴリズムを採用すれば、アイランド分布をうまく制御して、種々のタイプの島戦ゲームの体験を満たすことができる。
【0069】
本出願のいくつかの実施例において、マップエリアにおいてターゲット候補エリアが存在するか否かを判定するステップは、次の2つのステップを含む。
【0070】
マップエリアにおいて現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定する。ターゲット配置位置は、現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、中心点がターゲット配置位置に位置する場合、第1のエリアはマップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺はマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合う。
【0071】
マップエリアにおいてターゲット配置位置が存在すると判定した場合、マップエリアにターゲット候補エリアが存在すると判定する。ターゲット候補エリアは、中心点がターゲット配置位置に位置する時に現在の配置対象サブレベルマップの位置する第1のエリアである。
【0072】
大陸のランダム生成を例として説明し、大陸の連通性とは、ブロックの間に必ず完全に重なる1本の直線辺を共有しなければならないことを指し、こうすれば、連通するサブレベルは、1つの完全な大陸を形成する。ランダム大陸の生成は、市街地分布、水陸接続を考慮する必要がある。更に、地形における建物をランダムに生成し、シューティングゲームの体験を更に豊かにする。
【0073】
ランダム大陸拡張アルゴリズムとランダムアイランドアルゴリズムとの相違点は、ランダム大陸アルゴリズムでは、マップを100m*100mの格子にラスタライズし、各サブレベルマップの大きさが100m*100mに固定されていることである。2つのサブレベルマップを連通させるには、1つの辺が重なり合わなければならない。大陸拡張アルゴリズムの全体的なフローは、アイランド拡張アルゴリズムと同様である。
【0074】
図10には、ランダムに生成された大陸マップシードレベルの模式図が示されている。図10では、黒色小格子は、初期のランダムシードレベルであり、網掛けエリアは、全てのランダムシードレベルの現在の全体的な境界である。大陸ランダムアルゴリズムは、境界が完全に揃うように保証する必要のある拡張アルゴリズムである。(大陸中心のマップは黒色であり、網掛けエリアは、大陸中心から海へのつなぎマップであり、通常、海へ1ピクセル拡張し、通常、坂である)、大陸の連通は、黒色ブロックが黒色ブロックの境界と重なり合う必要があることを指す。
【0075】
具体的な大陸ランダム生成ステップは、以下の内容を含んでもよい。
【0076】
ステップ1において、電子機器は、ランダムマップ配置表におけるサブレベルマップの重みに基づき、N個のサブレベルを抽出するまで、繰り返さないように抽出して、LevelList(リスト)に格納し、添え字は、0からカウントする。
【0077】
ステップ2において、電子機器は、LevelListから最初のサブレベルマップを抽出して、大マップに配置し、LevelList[0]全体が2km*2kmの全体的な境界内に位置するように確保する。
【0078】
ステップ3において、電子機器は、後続のiSeedIsland-1個のサブレベルマップを相次いで抽出し、全体シーンに順次入れ、LevelList[0]、LevelList[1]、…、LevelList[iSeedIsland-1]の位置が互いに重ならないように確保すればよい。ここで、ランダムシードアイランドの作成が完了する。
【0079】
ステップ4において、電子機器は、LevelList[iSeedIsland]から開始し、後続のサブレベルマップの配置は、境界を考慮する必要があるだけでなく、連通性を考慮する必要もある。大陸マップにおいて、拡張の連通性のために、大陸ランダムアルゴリズムは、境界が完全に揃うように保証する必要のある拡張アルゴリズムである。LevelList[k](k=iSeedIsland、iSeedIsland+1、……、N)と前の少なくとも1つのサブレベルマップLevelList[i](i=0、1、2、……、k-1)との連通が維持される場合、LevelList[k]が前のレベル群と連通すると考えられる。マップを20m*20mの小格子にラスタライズし、数え上げにより、どの位置(図9における網掛けエリア)にLevelList[k]を配置できるか、どの位置(図9における各円に接する黒色エリア)で新たに入れられたサブレベルマップが少なくとも前のサブレベルマップのうちの1つと連通するように保証できるかを容易に算出することができる。マップ全体において網掛けエリアが見付けられない場合、サブレベルマップの配置に失敗したと考えられ、LevelList[k]を直接スキップして、LevelList[k+1]の処理を開始する。
【0080】
ステップ5において、電子機器は、全てのサブレベルの処理が完了するまで、又は、サブレベルマップの総配置面積が特定の閾値fSaturateRatio(オレンジ色又はオレンジ色+緑色)に達するまで、持続的にステップ4を行う。
【0081】
大陸マップの拡張とアイランドマップの拡張との区別は、アイランドマップの間につなぎがあり、大陸マップが一体的なレベルであることにある。
【0082】
図11図13には、ランダム大陸の生成プロセスの模式図が示されている。黒色の格子、即ち、黒色エリアは、大陸の陸地エリアであり、網掛け部分の格子、即ち、網掛けエリアは、大陸の境界線である。電子機器は、図10におけるランダムシードレベル、即ち、図10における黒色格子を基に、黒色格子の拡張を行い、毎回拡張する時、黒色格子周囲の任意の1つの網掛け部分の格子を新たな黒色格子とし、陸地エリアを得ると同時に、黒色格子にくっついている白色格子を新たな網掛け部分の格子とし、マップの境界線、つまり、陸地と水域の分界線を得るようにしてもよい。電子機器は、図11に示す陸地エリアを拡張し続け、図12に示す陸地エリア及び境界線を得て、続いて、図12を基に、陸地エリアを拡張し続け、海陸比がターゲット値に達した後、拡張を停止する。
【0083】
図13は、拡張を経て最終的に生成された大陸面積の模式図である。大陸連通図が生成された後、電子機器は、ゲーム体験を保証するように、3Dシューティングゲーム向けの特別な処理をする必要がある。
【0084】
電子機器は、大陸マップをランダムに生成した後、市街地をランダムに生成できることを説明しておく。具体的な市街地生成ステップは、以下の通りである。
【0085】
大市街地のランダム生成プロセスは、図13に示すように、黒色エリア全体の格子は全て陸地エリアであるが、これらの大陸地域の格子は、いずれも僅か100m*100mであり、このような小さい格子では、完全な都市シーンを作成することができない。殆どのシューティングゲームの都市規模は200m*200m~300m*300mの間であり、大陸に都市を生成し、即ち、一部の小さい黒色格子をマージする必要があり、市街地の位置を選択する必要がある。
【0086】
電子機器は、各黒色格子の周辺に隣接する黒色格子の数を計算し、周辺に隣接する黒色格子の数が8である黒色格子は、必ずある300m*300mの陸地ブロックの中心である。電子機器は、一部のこのようなエリアをランダムにスクリーニングし、全体的に300m*300mの大レベルマップブロックに置き換える。ここで、大市街地のターゲット数を設定する必要がある。1つの大市街地を生成する度に、大市街地を生成可能な候補エリアをリフレッシュする。ターゲット数の大市街地を見付けた場合、又は、大市街地を生成可能なエリアがなくなった場合、大市街地の検索プロセスを終了させる。図14には、電子機器が大都市をランダムに見付ける模式図が示され、図14に示すように、電子機器は、図13に示される大陸エリア内の各黒色格子の周りにおける黒色格子の数を計算し、ある黒色格子の周りにおける黒色格子の数が8である場合、当該黒色格子と当該黒色格子の周りにおける8個の黒色格子という9個の黒色格子を1つのエリアにマージし、エリア1、エリア2、エリア3及びエリア3を得る。4つのエリアは、大レベルマップブロックであり、大市街地を配置するために用いられる。図14において、電子機器は、それぞれ4つのエリアに都市1、都市2、都市3及び都市4を配置した。
【0087】
中等市街地のランダム生成プロセスは、大市街地の生成プロセスと概ね同様である。電子機器は、残りの黒色エリアから、複数の200m*200mの格子をランダムにスクリーニングする。これは、各黒色格子の右、下、右下の3箇所がいずれも黒色格子であるか否かを判断することで決定することができる。図15には、市街地マップを追加した後の大陸全体の模式図が示され、電子機器は、残りの各黒色格子の右、下、右下の3箇所がいずれも黒色格子であるか否かを判断し、ある黒色格子の右、下、右下がいずれも黒色格子である場合、電子機器は、当該黒色格子と、当該黒色格子の右、下、右下の3つの格子をマージし、1つのエリアを得て、これらのエリアに、200m*200mの中等市街地を配置することができる。このように、図15に示す4つの中等市街地、即ち、市街地A、市街地B、市街地C、市街地Dを得ることができる。
【0088】
電子機器は、他のランダムアルゴリズムによりアイランド又は大陸を生成してもよいことを説明しておく。例えば、まず、2D平面内にランダムにポイントを配置し、その後、クラスタリングの手段を採用してクラスタリング中心を生成することにより、サブレベルマップの位置を生成し、更に連通性を考慮しながらサブレベルマップをマージし、アイランドチェーン又は大陸を生成してもよい。
【0089】
連通性の定義について、ビットマップを比較することは、より合理的な仕方である。電子機器は、各サブレベルマップを全てビットマップにラスタライズし、0は海を表し、1は陸地を表す。ビットマップの間のピクセル距離により連通を定義することで、不規則な外輪郭を有するレベルの間の距離をより合理的に表すことができる。
【0090】
ランダム大陸の生成手段としては、まず、マップを100m*100mの小格子にラスタライズし、ランダムアイランドチェーンアルゴリズムにより位置が比較的離散的な都市分布を生成し、都市をランダムシードレベルとして見なし、その後、海陸比のターゲット値に達するまで、境界を隣接させるという拡張手段により大陸充填サブブロックを生成し、対応する海陸接続ブロックを生成するようにしてもよい。
【0091】
本出願のいくつかの実施例において、現在の配置対象サブレベルマップをマップエリアにおけるターゲット候補エリアに配置する場合、次のステップをさらに含む。
【0092】
マップエリアにおけるターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設ける。ターゲットつなぎマップは、現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、空きエリアは、マップエリアにおける、まだサブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、ターゲットつなぎマップのタイプはターゲットタイプである。
【0093】
つまり、電子機器は、現在の配置対象サブレベルマップをターゲット候補エリアに配置する場合、更に、つなぎマップを設けることで、配置対象サブレベルマップと空きエリアの接続を滑らかにすることを可能な限り保証し、例えば、下り坂地形を設けることで、市街地と海水面(市街地の位置するエリアはターゲット候補エリアであり、海面は空きエリアである)の間の接続を滑らかにする。
【0094】
当該ターゲットつなぎマップは、本出願のランダムに生成された大陸とアイランドを接続することを含んでもよいが、これに限定されないことを説明しておく。
【0095】
マップエリアにおけるターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるステップは、次のステップを含む。
【0096】
ターゲットつなぎマップの位置する空きエリアの頂点のうちターゲット候補エリアの頂点に繋がるターゲット頂点を取得する。
【0097】
ターゲット頂点のマップエリアでの高さを第1の高さに設定する。ターゲット候補エリアの頂点のマップエリアでの高さは、第1の高さである。
【0098】
空きエリアの頂点のうちターゲット頂点を除く頂点のマップエリアでの高さを第1の高さより小さい第2の高さに設定する。
【0099】
実際に適用する際に、大陸の全体的な構造及び市街地の分布の処理が既に完了し、続いて海陸接続処理を行うことができる。この場合、電子機器は、まず現在の配置対象サブレベルマップ(例えば大都市レベルマップ)を配置し、いずれのサブレベルマップも配置されていないエリア及びつなぎマップの各空きエリアから、ターゲット候補エリアに隣接する空きエリアを1つ選択する。選択された空きエリアがターゲット候補エリアに隣接するため、当該空きエリアには、必ずターゲット候補エリアに繋がる頂点が存在し、当該頂点はターゲット頂点である。電子機器は、ターゲット頂点の高さを比較的高い第1の高さに設定し、これは、配置対象サブレベルマップを配置するためのターゲット候補エリアが必ず海水面より高いからであり、その後、選択された空きエリアにおけるターゲット頂点を除く他の頂点を海水面の高さのような比較的低い第2の高さに設定する。その後、電子機器は、第1の高さから第2の高さになだらかにつなぐつなぎ曲線を設定し、つなぎ曲線の位置に下り坂地形、又は海水を充填することにより、海陸接続を実現する。
【0100】
海陸接続のために、サブレベルマップを厳格に規定する必要がある。全ての陸地地形レベルに対して、地形の境界部の高さが5メートル、10メートルなどの所定の閾値と等しくなければならないように要求されている。
【0101】
図16には、つなぎレベルの生成位置の模式図が示され、図16における網掛けエリアには、海陸接続を処理する特別なつなぎレベルが作成される。網掛けエリア(空きエリア)については、その4つの頂点がある地形レベル(ターゲット候補エリアは市街地地形レベル又はアイランド地形レベルであってもよい)の頂点(ターゲット候補エリアの頂点)に接続されているか否かのみを考慮すればよい。地形レベルの境界の高さが全て5メートルであるため、地形レベルと網掛けエリアを接続する必要がある限り、網掛けエリアの頂点(ターゲット頂点)の高さを5メートル(第1の高さ)に設定しなければならない。
【0102】
各頂点の値はいずれも5メートル又は0メートルであり、つなぎレベルは合計で2^4=16タイプになる(実際には、頂点の高さが0である4つのタイプを排除してもよく、このようなブロックの周辺における8個の格子がいずれも水である)。つなぎレベルの陸地に接続されている頂点の高さは5であり、接続されていない頂点の高さは0メートル(第2の高さ)であり、メイン地形は海水であり、頂点の高さの条件を満たす前提で、様々な海岸線を自由に設計してつなげることができる。接続用レベルのエッジ部の地面の高さは、つなぎレベルの高さ曲線の重なり模式図である図17に示すように保証する必要があり、図17に示す高さつなぎ曲線(5メートルから0メートルまでのつなぎ)ではうまく重なることができる。
【0103】
大陸ブロックの接続、市街地のランダム生成、海陸地形の接続を考慮した完全な大陸ランダムアルゴリズムは、ここまで完成した。
【0104】
サブレベルマップは、その機能に応じて、300m*300mの大都市レベルマップ、200m*200mの小都市レベルマップ、100m*100mの頂点高さが全て5メートルである陸地地形レベルマップ、15種類の頂点高さが異なる100m*100mのつなぎレベルマップに分けられる。
【0105】
電子機器は、毎回ランダム化する時に十分な差異があるように確保するために、大量のサブレベルマップを作成する必要がある。電子機器は、残りのサブレベルマップの代わりに、各種の形状の陸地ブロックをカスタマイズしてもよい。例えば、3つの黄色サブレベルマップの代わりに、300m*100mの長い山脈地形レベルを使用する。陸地型のサブレベルの境界が5メートル程度でなければならないように保証すればよい。境界は、ランダムに起伏してもよく、境界線をより自然にするために、レベル間には、僅かな境界のオーバーラップが許容される。
【0106】
本出願のいくつかの実施例において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置した後、次のステップをさらに含む。
【0107】
マップエリア内の配置済の各サブレベルマップがマップエリアにおける1つのセルを占める場合、各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定する。ターゲットセルに繋がる、マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上である。
【0108】
ターゲットセルが存在すると判定した場合、ターゲットセル、及びターゲットセルに繋がる、マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせる。
【0109】
ターゲットセルは、特定の地形のサブレベルマップを配置するためのセル、例えば、大市街地を配置するためのセル、又はアイランドを配置するためのセルであってもよい。つまり、電子機器は、配置対象サブレベルマップをマップエリアに配置した後、更に、マップエリアに特定の地形が存在するか否かを判断し、マップエリアに特定の地形が存在する場合、全ての既に配置されたサブレベルマップ及びターゲットセルに対応するサブレベルマップで、要求に合致するターゲットレベルマップを組み合わせる。例えば、大都市の存在が要求されるターゲットレベルマップを組み合わせ、又は、アイランドの存在が要求されるターゲットレベルマップを組み合わせ、各種のシーンの条件を満たす様々なマップを得る。
【0110】
本出願が提供する解決手段によれば、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択し、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置し、N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならず、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。それにより、サブレベル合成に基づき、基本的なランダム単位がサブレベルである目的を達成し、ランダムなサブレベルに基づいてランダムな大マップを生成する技術効果を実現し、更に、従来技術において大規模ランダムマップの生成柔軟性が悪いという技術課題を解決する。
【0111】
本出願のいくつかの実施例において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置するステップは、次のステップを含む。
【0112】
N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップをマップエリア内に配置した後、マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定する。
【0113】
マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えた場合、N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップをマップエリア内に配置することを停止する。
【0114】
実際には、マップエリアの面積が限られているため、選択されたN個のサブレベルマップが全て使用されるわけではなく、この場合、電子機器は、マップエリアにサブレベルマップを配置しながら、既に配置されたサブレベルマップの面積が所定の面積閾値を超えたか否かを判断してもよい。既に配置されたサブレベルマップの面積が所定の面積閾値を超えた場合、マップエリアに十分なサブレベルマップが既に配置されたことを示し、この場合、電子機器は、残りのサブレベルマップの配置を停止する。既に配置されたサブレベルマップの面積が所定の面積閾値を超えていない場合、マップエリアにサブレベルマップを配置し続けることができることを示し、電子機器は、既に配置されたサブレベルマップの面積が所定の面積閾値に達するまで、サブレベルマップを配置し続ける。
【0115】
所定の面積閾値が実際の状況に応じて設定可能であることは理解でき、例えば、所定の面積閾値を15kmに設定し、更に50kmに設定し、本出願において限定しない。
【0116】
いくつかの実施例において、都市レベルマップを生成した後、更に都市レベルマップにおける建物にランダム化処理を行う必要があることを説明しておく。電子機器は、まず都市レベルマップに建物を配置可能なブロック位置をマークし、これらのブロック位置は土台のようなものである。その後、電子機器は、建物を配置するためのブロック位置に各種の建物ランダムを生成する。それにより、ランダム都市及びランダム建物群を実現する。勿論、別の実施例において、電子機器は、建物を配置するためのブロック位置に予め設定された建物、例えば、ランドマーク的な建物や設計された建物などを生成してもよい。
【0117】
ランダムアルゴリズムの他、擬似ランダムのレベル生成手段をも併用することを説明しておく。電子機器は、ランダムマップのサブレベルマップの位置、建物のタイプを設定として保存するか、サブレベルマップごとにナビゲーションデータを個別に用意して設定として保存してもよい。毎回レベルをランダム化することは、実際には、設定を読み取り、事前に設計された擬似ランダムマップをロードすることである。設定された擬似ランダムレベルの数がある程度豊富になった場合、プレイヤ体験の新鮮味をうまく保証することもできる。擬似ランダムレベルの各サブレベルマップは、策定されて受入検査に合格したものであり、1ラウンドのゲームの良好な体験を保証することができる。
【0118】
ランダムアルゴリズムと擬似ランダム構成との2つの手段の組み合わせにより、各種の念入りに設計されたレベルがランダムマップモードで現れる確率を指定することができる。特定の時間に特定のプレイ方法のマップをリリースすることもできる。
【0119】
本出願において提供された実施形態は、シューティングゲームのプレイ方法に毎回でも新鮮であるゲーム体験をもたらすことができ、マップは永遠に繰り返さないようにすることができる。
【0120】
以下、本出願のマップ生成方法の実際のシーンでの適用について説明する。図18は、シューティングゲームにおけるランダムマップ生成方法のフローチャートである。
【0121】
ステップ1において、プレイヤがシューティングゲームに入る。
【0122】
ステップ2において、真ランダムスキームを採用するか否かを判断し、YESの場合、ステップ3を実行し、NOの場合、ステップ4を実行する。
【0123】
ステップ3において、ランダムアルゴリズムによりマップを生成する(ランダムに地形を生成する)。
【0124】
ステップ4において、構成を読み取り、事前に生成されて受入検査されたレベルを表示する(構成を読み取り、事前に設計された擬似ランダムマップをロードする)。
【0125】
ステップ5において、ランダム大陸アルゴリズムであるか否かを判断し、YESの場合、ステップ6を実行し、NOの場合、ステップ7を実行する。
【0126】
ステップ6において、ランダム大陸拡張アルゴリズムによりサブレベル分布を生成する(サブレベルマップを利用して大陸をランダムに生成する)。
【0127】
ステップ7において、ランダムアイランド拡張アルゴリズムによりサブレベル分布を生成する(サブレベルマップランダムを利用してアイランドを生成する)。
【0128】
ステップ8において、一部のサブレベルを置き換えて市街地サブレベルを生成する(市街地の位置を選択する)。
【0129】
ステップ9において、海陸境界に応じて地形接続サブレベルを生成する(ターゲットつなぎマップを設ける)。
【0130】
ステップ10において、サブレベルをロードする。
【0131】
ステップ11において、サブレベルにおける建物をランダムに置き換える。
【0132】
ステップ12において、シューティングゲームを正式にスタートする。
【0133】
説明すべきこととして、前述した各方法の実施例について、説明を簡略化するために、全て一連の動作の組み合わせとして記述しているが、当業者であれば、本出願は、説明された動作の順序によって制限されず、これは、本出願によれば、一部のステップが他の順序で又は同時に行われてもよいからであることが分かるはずである。また、当業者であれば、明細書に記載されている実施例はいずれも好ましい実施例であり、係る動作及びモジュールは必ず本出願に必須のものであるとは限らないことも知っているはずである。
【0134】
本出願の実施例は、上記マップ生成方法を実施するためのマップ生成装置を提供する。図19に示すように、当該マップ生成装置は、選択ユニット1901と、第1の配置ユニット1903と、第2の配置ユニット1905とを備える。
【0135】
選択ユニット1901は、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するように構成される。
【0136】
第1の配置ユニット1903は、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置するように構成され、N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。
【0137】
第2の配置ユニット1905は、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得るように構成され、N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。
【0138】
本出願が提供する実施例によれば、選択ユニット1901は、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択する。第1の配置ユニット1903は、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置する。N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。第2の配置ユニット1905は、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。それにより、サブレベル合成に基づき、基本的なランダム単位がサブレベルマップである目的を達成し、ランダムなサブレベルマップに基づいてランダムな大マップを生成する技術効果を実現し、更に、従来技術において大規模ランダムマップの生成柔軟性が悪いという技術課題を解決する。
【0139】
本出願のいくつかの実施例において、第1の配置ユニット1903は、第1の判定モジュールと配置モジュールとを含む。
【0140】
第1の判定モジュールは、N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、マップエリアにおいてターゲット候補エリアが存在するか否かを順次判定するように構成される。ターゲット候補エリアは、現在の配置対象サブレベルマップを配置するために用いられるものである。
【0141】
配置モジュールはターゲット候補エリアが存在すると判定した場合、現在の配置対象サブレベルマップを所定の条件の配置対象サブレベルマップとして判定し、且つ現在の配置対象サブレベルマップをマップエリアにおけるターゲット候補エリアに配置するように構成される。
【0142】
第1の判定モジュールは、第1の判定サブモジュールと第2の判定サブモジュールとを含む。
【0143】
第1の判定サブモジュールは、マップエリアにおいて現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される。ターゲット配置位置は、現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、中心点がターゲット配置位置に位置する場合、第1のエリアはマップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺とマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さい。
【0144】
第2の判定サブモジュールは、マップエリアにおいてターゲット配置位置が存在すると判定した場合、マップエリアにターゲット候補エリアが存在すると判定するように構成される。ターゲット候補エリアは、中心点がターゲット配置位置に位置する時に現在の配置対象サブレベルマップの位置する第1のエリアである。
【0145】
第1の判定モジュールは、第3の判定サブモジュールと第4の判定サブモジュールとを含む。
【0146】
第3の判定サブモジュールは、マップエリアにおいて現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される。ターゲット配置位置は、現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、中心点がターゲット配置位置に位置する場合、第1のエリアはマップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、第1のエリアの少なくとも1つの辺はマップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合う。
【0147】
第4の判定サブモジュールは、マップエリアにおいてターゲット配置位置が存在すると判定した場合、マップエリアにターゲット候補エリアが存在すると判定するように構成される。ターゲット候補エリアは、中心点がターゲット配置位置に位置する時に現在の配置対象サブレベルマップの位置する第1のエリアである。
【0148】
本出願のいくつかの実施例において、上記マップ生成装置は、第3の設定ユニットを更に備えてもよい。
【0149】
第3の設定ユニットは、現在の配置対象サブレベルマップをマップエリアにおけるターゲット候補エリアに配置する場合、マップエリアにおけるターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるように構成される。ターゲットつなぎマップは、現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、空きエリアは、マップエリアにおける、まだサブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、ターゲットつなぎマップのタイプはターゲットタイプである。
【0150】
第3の設定ユニットは、取得モジュールと第1の設定モジュールと第2の設定モジュールとを含む。
【0151】
取得モジュールは、ターゲットつなぎマップの位置する前記空きエリアの頂点のうちターゲット候補エリアの頂点に繋がるターゲット頂点を取得するように構成され。
【0152】
第1の設定モジュールは、ターゲット頂点のマップエリアでの高さを第1の高さに設定するように構成される。ターゲット候補エリアの頂点のマップエリアでの高さは、第1の高さである。
【0153】
第2の設定モジュールは、空きエリアの頂点のうちターゲット頂点を除く頂点のマップエリアでの高さを第1の高さより小さい第2の高さに設定するように構成される。
【0154】
本出願のいくつかの実施例において、上記マップ生成装置は、判定ユニットと組み合わせユニットとを更に備えてもよい。
【0155】
判定ユニットは、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置した後、マップエリア内の配置済の各サブレベルマップがマップエリアにおける1つのセルを占める場合、各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定するように構成される。ターゲットセルに繋がる、マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上である。
【0156】
組み合わせユニットは、ターゲットセルが存在すると判定した場合、ターゲットセル、及びターゲットセルに繋がる、マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせるように構成される。
【0157】
第1の配置ユニット1903は、第2の判定モジュールと停止モジュールとを含んでもよい。
【0158】
第2の判定モジュールは、N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップをマップエリア内に配置した後、マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定するように構成される。
【0159】
停止モジュールは、マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えた場合、N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップをマップエリア内に配置することを停止するように構成される。
【0160】
本出願による実施例は、更に、上記マップ生成方法を実施するための電子機器を提供し、図20に示すように、当該電子機器は、メモリ2002と、プロセッサ2004とを備え、当該メモリ2002にコンピュータプログラムが記憶されており、当該プロセッサ2004は、コンピュータプログラムにより上記のいずれか一項の方法の実施例におけるステップを実行するように設定される。
【0161】
本出願の実施例において、上記電子機器は、コンピュータネットワークの複数ネットワーク機器のうちの少なくとも1つのネットワーク機器に位置してもよい。
【0162】
本出願の実施例において、上記プロセッサは、コンピュータプログラムにより以下のステップS1~S3を実行するように構成されてもよい。
【0163】
S1において、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択する。
【0164】
S2において、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置する。N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。
【0165】
S3において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。
【0166】
任意選択的に、当業者であれば理解できるように、図20に示す構造は、模式的なものに過ぎず、電子機器は、スマートフォン(例えば、Android携帯電話、iOS携帯電話など)、タブレットコンピュータ、パームトップコンピュータ及びモバイルインターネットデバイス(Mobile Internet Devices,MID)、PADなどの端末機器であってもよい。図20によって上記電子機器の構造を限定することはない。例えば、電子機器は、図20に示す構成要素よりもより多い又はより少ない構成要素(例えば、ネットワークインタフェースなど)、又は図20に示す構成と異なる構成を更に備えてもよい。
【0167】
メモリ2002は、本出願の実施例におけるマップ生成方法及び装置に対応する実行可能コマンド/モジュールのようなソフトウェアプログラム及びモジュールを記憶するために用いられ、プロセッサ2004は、メモリ2002内に記憶されている実行可能コマンド及びモジュールを実行することで、各種の機能アプリケーション及びデータ処理を実行し、即ち、上記のマップ生成方法を実現する。メモリ2002は、高速ランダムアクセスメモリを含んでもよく、1つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性ソリッドステートメモリなどの不揮発性メモリを含んでもよい。いくつかの例では、メモリ2002は、プロセッサ2004に対して遠隔的に設けられたメモリを含んでもよく、遠隔メモリは、ネットワークを介して端末に接続可能である。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信網及びその組み合わせを含むが、これらに限定されない。メモリ2002は、具体的に、サブレベルマップライブラリ、サブレベルマップなどの情報を記憶するために用いられるが、これらに限定されない。一例として、図20に示すように、上記メモリ2002には、上記マップ生成装置における選択ユニット1901、第1の配置ユニット1903及び第2の配置ユニット1905を含んでもよいが、これらに限定されない。更に、上記マップ生成装置における他のモジュールユニットを含んでもよいが、これらに限定されず、本例では繰り返して説明しない。
【0168】
本出願のいくつかの実施例において、上記電子機器における伝送装置2006は、ネットワークを介してデータを送受信するように構成される。上記ネットワークの具体的な例としては、有線ネットワーク及び無線ネットワークを含んでもよい。一例では、伝送装置2006は、ネットワークケーブルを介して他のネットワーク機器及びルータに接続されてインターネット又はローカルエリアネットワークと通信することができるネットワークアダプタ(Network Interface Controller,NIC)を含む。一例では、伝送装置2006は、インターネットと無線通信するための無線周波数(Radio Frequency,RF)モジュールである。
【0169】
また、上記電子機器は、上記配置対象サブレベルマップを表示するように構成されるディスプレイ2008と、上記電子装置における各モジュール部材を接続するように構成される接続バス2010と、を更に含んでもよい。
【0170】
それに応じて、本出願の実施例は、コンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体に実行可能コマンドが記憶されており、当該実行可能コマンドは、実行されると、上記のいずれか一項の方法の実施例におけるステップを実行するように設定される。
【0171】
本出願の実施例において、上記コンピュータ記憶媒体は、以下のステップS1~S3を実行するための実行可能コマンドを記憶するように設定されてもよい。
【0172】
S1において、サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択する。
【0173】
S2において、N個のサブレベルマップのうちの最初のM個のサブレベルマップを所定のマップエリア内に順次配置する。N>Mであり、最初のM個のサブレベルマップは、いずれもマップエリア内に位置するとともに、互いに重ならない。
【0174】
S3において、N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップをマップエリア内に順次配置し、ターゲットマップを得る。N-M個のサブレベルマップは、N個のサブレベルマップのうち最初のM個のサブレベルマップを除くサブレベルマップであり、所定の条件は、配置対象サブレベルマップがマップエリアにおけるターゲット候補エリアに位置する場合、配置対象サブレベルマップがマップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つマップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む。
【0175】
本出願のいくつかの実施例において、上記コンピュータ記憶媒体は、本出願のいずれか1つの実施例におけるマップ生成方法を実行する実行可能コマンドを記憶するように設定されてもよい。
【0176】
本出願の本実施例において、当業者であれば理解できるように、上記実施例の各種の方法における全部又は一部のステップは、プログラムにより端末機器の関連するハードウェアをコマンドすることで完成することができ、当該プログラムは、コンピュータ記憶媒体に記憶されてもよく、記憶媒体は、フラッシュディスク、読み出し専用メモリ(Read-Only Memory,ROM)、ランダムアクセスメモリ(Random Access Memory,RAM)、磁気ディスク又は光ディスクなどを含んでもよい。
【0177】
上記実施例における集積されたユニットは、ソフトウェア機能ユニットの形態で実現され、且つ独立した製品として販売又は使用される場合、上記コンピュータ記憶媒体に記憶されてもよい。このような理解に基づき、本出願の技術的解決手段は、実質的に、又は従来技術に寄与した部分、又は当該技術的解決手段の全部又は一部がソフトウェア製品の形態で具現化することができ、当該コンピュータソフトウェア製品は、記憶媒体に記憶され、1つ又は複数のコンピュータ機器(パーソナルコンピュータ、サーバ又はネットワーク機器など)に本出願の各実施例に記載の方法の全部又は一部のステップを実行させるための複数のコマンドを含む。
【0178】
本出願の上記実施例において、それぞれ重点を置いて各実施例について説明したが、ある実施例における詳しく説明していない部分は、他の実施例の関連する説明を参照することができる。
【0179】
本出願が提供するいくつかの実施例において、開示されたクライアントが他の形態で実現されてもよいことを理解すべきである。以上に記載の装置の実施例は、模式的なものに過ぎず、例えば、前記ユニットの分割は、ロジック機能の分割に過ぎず、実際に実現する時、別の分割形態を採用してもよく、例えば、複数ユニット又は構成要素は、組み合わせられたり、又は別のシステムに集積されたりしてもよく、又は、一部の特徴が省略されるか又は実行されなくてもよい。また、表示又は検討された相互結合又は直接結合又は通信可能な接続は、インタフェースによるユニット又はモジュールの間接結合又は通信可能な接続であってもよく、電気的又は他の形であってもよい。
【0180】
以上で分離部品として説明されたユニットは、物理的に分離しているものであってもよく、そうでなくてもよく、ユニットとして表示される部品は、物理ユニットであってもよく、そうでなくてもよく、1つの場所に位置してもよく、又は複数のネットワークユニットに分散してもよい。実際のニーズに応じて、その中の一部又は全部のユニットを選択して本実施例の技術案の目的を実現することができる。
【0181】
なお、本出願の各実施例における各機能ユニットは、1つの処理ユニットに集積されてもよく、各ユニットが単独で物理的に存在してもよく、2つ以上のユニットが1つのユニットに集積されてもよい。上記集積されたユニットは、ハードウェアの形態で実現されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。
【0182】
以上の説明は、本出願の好ましい実施形態に過ぎず、当業者であれば、本出願の原理を逸脱しない限り、更に改良や修飾を行うことができ、これらの改良や修飾も本出願の保護範囲として見なすべきであることを指摘しておく。
【符号の説明】
【0183】
102 端末機器
104 マンマシンインタラクションスクリーン
106 プロセッサ
108 メモリ
110 ネットワーク
112 サーバ
114 データベース
116 処理エンジン
200 サーバ
300 ネットワーク
400 端末
400-1 グラフィックインタフェース
500 データベース
1901 選択ユニット
1903 第1の配置ユニット
1905 第2の配置ユニット
2002 メモリ
2004 プロセッサ
2006 伝送装置
2008 ディスプレイ
2010 接続バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
【手続補正書】
【提出日】2021-11-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
電子機器実行るマップ生成方法であって、
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するステップと、
所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置するステップであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない、ステップと、
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るステップであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含むステップと、を含むマップ生成方法。
【請求項2】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップは、
前記N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、前記マップエリアにおいてターゲット候補エリアが存在するか否かを順次判定するステップであって、前記ターゲット候補エリアは、前記現在の配置対象サブレベルマップを配置するために用いられるものであるステップと、
前記ターゲット候補エリアが存在すると判定した場合、前記現在の配置対象サブレベルマップを前記所定の条件の配置対象サブレベルマップとして判定し、且つ前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置するステップと、を含む請求項1に記載の方法。
【請求項3】
前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを判定する前記ステップは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するステップであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺と前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さいステップと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するステップであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアであるステップと、を含む請求項2に記載の方法。
【請求項4】
前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを判定する前記ステップは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するステップであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは、前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺は、前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合うステップと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するステップであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアであるステップと、を含む請求項2に記載の方法。
【請求項5】
前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置する場合、
前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるステップを更に含み、前記ターゲットつなぎマップは、前記現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、前記空きエリアは、前記マップエリアにおける、まだ前記サブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、前記ターゲットつなぎマップのタイプは前記ターゲットタイプである請求項4に記載の方法。
【請求項6】
前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設ける前記ステップは、
前記ターゲットつなぎマップの位置する前記空きエリアの頂点のうち前記ターゲット候補エリアの頂点に繋がるターゲット頂点を取得するステップと、
前記ターゲット頂点の前記マップエリアでの高さを第1の高さに設定するステップであって、前記ターゲット候補エリアの頂点の前記マップエリアでの高さは、前記第1の高さであるステップと、
前記空きエリアの頂点のうち前記ターゲット頂点を除く頂点の前記マップエリアでの高さを前記第1の高さより小さい第2の高さに設定するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップの後に、
前記マップエリア内の配置済の各サブレベルマップが前記マップエリアにおける1つのセルを占める場合、前記各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定するステップであって、前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上であるステップと、
前記ターゲットセルが存在すると判定した場合、前記ターゲットセル、及び前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせるステップと、を更に含むことを特徴とする請求項4に記載の方法。
【請求項8】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置する前記ステップは、
前記N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップを前記マップエリア内に配置した後、前記マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定するステップと、
前記マップエリア内の配置済のサブレベルマップの面積が前記所定の面積閾値を超えた場合、前記N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップを前記マップエリア内に配置することを停止するステップと、を含むことを特徴とする請求項1~7のいずれか一項に記載の方法。
【請求項9】
サブレベルマップライブラリからN個(Nは1より大きい自然数である)のサブレベルマップを選択するように構成される選択ユニットと、
所定のマップエリア内に、前記N個のサブレベルマップのうちの最初のM個(N>Mである)のサブレベルマップを順次配置するように構成される第1の配置ユニットであって、前記最初のM個のサブレベルマップは、いずれも前記マップエリア内に位置し、且つ、互いに重ならない、第1の配置ユニットと、
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置し、ターゲットマップを得るように構成される第2の配置ユニットであって、前記N-M個のサブレベルマップは、前記N個のサブレベルマップのうち前記最初のM個のサブレベルマップを除くサブレベルマップであり、前記所定の条件は、前記配置対象サブレベルマップが前記マップエリアにおけるターゲット候補エリアに位置する場合、前記配置対象サブレベルマップが前記マップエリア内の配置済のサブレベルマップのいずれとも重ならず、且つ前記マップエリア内の配置済のサブレベルマップのうちの少なくとも1つのサブレベルマップと連通することを含む第2の配置ユニットと、
を備えるマップ生成装置。
【請求項10】
前記第1の配置ユニットは、
前記N-M個のサブレベルマップのうちの現在の配置対象サブレベルマップに対して、前記マップエリアにおいて前記ターゲット候補エリアが存在するか否かを順次判定するように構成される第1の判定モジュールであって、前記ターゲット候補エリアは、前記現在の配置対象サブレベルマップを配置するために用いられるものである第1の判定モジュールと、
前記ターゲット候補エリアが存在すると判定した場合、前記現在の配置対象サブレベルマップを前記所定の条件の配置対象サブレベルマップとして判定し、且つ前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置するように構成される配置モジュールと、を含む請求項9に記載の装置。
【請求項11】
前記第1の判定モジュールは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される第1の判定サブモジュールであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺と前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺との間の距離は、0より大きく所定の距離閾値より小さい第1の判定サブモジュールと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するように構成される第2の判定サブモジュールであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する第1のエリアである前記第2の判定サブモジュールと、を含む請求項10に記載の装置。
【請求項12】
前記第1の判定モジュールは、
前記マップエリアにおいて前記現在の配置対象サブレベルマップに対応するターゲット配置位置が存在するか否かを判定するように構成される第3の判定サブモジュールであって、前記ターゲット配置位置は、前記現在の配置対象サブレベルマップの位置する第1のエリアの中心点を配置するために用いられ、且つ、前記中心点が前記ターゲット配置位置に位置する場合、前記第1のエリアは前記マップエリア内の配置済のサブレベルマップの占めるエリアのいずれとも重ならず、前記第1のエリアの少なくとも1つの辺は、前記マップエリア内の配置済のサブレベルマップの占めるエリアの1つの辺と重なり合う第3の判定サブモジュールと、
前記マップエリアにおいて前記ターゲット配置位置が存在すると判定した場合、前記マップエリアに前記ターゲット候補エリアが存在すると判定するように構成される第4の判定サブモジュールであって、前記ターゲット候補エリアは、前記中心点が前記ターゲット配置位置に位置する時に前記現在の配置対象サブレベルマップの位置する前記第1のエリアである第4の判定サブモジュールと、を含む請求項10に記載の装置。
【請求項13】
前記現在の配置対象サブレベルマップを前記マップエリアにおける前記ターゲット候補エリアに配置する場合、前記マップエリアにおける前記ターゲット候補エリアに隣接する空きエリアにターゲットつなぎマップを設けるように構成される第3の設定ユニットを更に備え、前記ターゲットつなぎマップは、前記現在の配置対象サブレベルマップと空きエリアを接続するために用いられ、前記空きエリアは、前記マップエリアにおける、まだ前記サブレベルマップ及びターゲットタイプのつなぎマップが設けられていないエリアであり、前記ターゲットつなぎマップのタイプは前記ターゲットタイプである請求項12に記載の装置。
【請求項14】
前記第3の設定ユニットは、
前記ターゲットつなぎマップの位置する前記空きエリアの頂点のうち前記ターゲット候補エリアの頂点に繋がるターゲット頂点を取得するように構成される取得モジュールと、
前記ターゲット頂点の前記マップエリアでの高さを第1の高さに設定するように構成される第1の設定モジュールであって、前記ターゲット候補エリアの頂点の前記マップエリアでの高さは、前記第1の高さである第1の設定モジュールと、
前記空きエリアの頂点のうち前記ターゲット頂点を除く頂点の前記マップエリアでの高さを前記第1の高さより小さい第2の高さに設定するように構成される第2の設定モジュールと、を含む請求項13に記載の装置。
【請求項15】
N-M個のサブレベルマップのうちの所定の条件を満たす配置対象サブレベルマップを前記マップエリア内に順次配置した後、前記マップエリア内の配置済の各サブレベルマップが前記マップエリアにおける1つのセルを占める場合、前記各サブレベルマップの占めるセルにおいてターゲットセルが存在するか否かを判定するように構成される判定ユニットであって、前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセルの数は、所定の数閾値以上である判定ユニットと、
前記ターゲットセルが存在すると判定した場合、前記ターゲットセル、及び前記ターゲットセルに繋がる、前記マップエリア内の配置済のサブレベルマップの占めるセル内のサブレベルマップをターゲットレベルマップとして組み合わせるように構成される組み合わせユニットと、
を更に備える請求項12に記載の装置。
【請求項16】
前記第1の配置ユニットは、
N個のサブレベルマップのうちの第i個(M<i<N)のサブレベルマップをマップエリア内に配置した後、マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えたか否かを判定するように構成される第2の判定モジュールと、
マップエリア内の配置済のサブレベルマップの面積が所定の面積閾値を超えた場合、N個のサブレベルマップのうちの第i+1個~第N個のサブレベルマップをマップエリア内に配置することを停止するように構成される停止モジュールと、を含む請求項9~15のいずれか一項に記載の装置。
【請求項17】
実行可能コマンドを記憶するように構成されるメモリと、
前記メモリに記憶された前記実行可能コマンドを実行することによって、請求項1~8のいずれか一項に記載の方法を実現するように構成されるプロセッサと、
を備える電子機器。
【請求項18】
求項1~8のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム
【国際調査報告】