タグ付けされた質問 「maps」

物理的特徴を示す地理的領域の視覚的表現。

3
ランダムマップ生成
Javaで2DタイルマップRPGゲームを開始/開始しました。ランダムマップ生成を実装したいです。さまざまなタイル(汚れ/砂/石/草/砂利など)のリストと水タイルおよびパスタイルがあります。問題は、マップをランダムに生成し始める場所がわからないことです。 地形セクションが必要になります(その一部は砂、土などです)。Minecraftでさまざまなバイオームがあり、それらが互いにシームレスに変換される場所と同様です。最後に、これにランダムなパスを追加する必要があります。また、マップ全体で異なる方向に進みます。 私は誰にも私にすべてのコードや何かを書くように頼んでいるのではなく、ただ正しい方向に私をpしてください。 tl; dr-バイオーム、パスを含むタイルマップを生成し、バイオームがシームレスに相互に入るようにします。
63 tiles  maps  tilemap 


3
手続き的に生成された地形における降雨+河川作成のアルゴリズム
私は最近、手続き的な地形でできることに魅了され、世界の構築を少し実験し始めました。さまざまなマップをメッシュ化することで作成されたバイオームを使用して、ドワーフ要塞のような世界を作りたいと思います。 最初のステップが完了しました。ダイアモンドスクエアアルゴリズムを使用して、素敵なhieghtmapを作成しました。次のステップでは、いくつかの水の機能を追加し、それらを雨によって多少現実的に生成します。マップの高いポイントから開始し、最下の隣接ポイントまで「ステップダウン」し、海面まで下がるにつれてプール/侵食するなど、いくつかの異なるアプローチについて読みました。 これに関する文書化されたアルゴリズムはありますか? どんなアドバイス/考えも好きです。

6
垂直対水平の16進グリッド、賛否両論[非公開]
16進グリッドでは、タイルを尖った側面を上にして配置し、西東軸に沿って移動したり、エッジを上にして配置したりして南北軸に沿って移動したりできます。 。 水平または先の尖った六角グリッド: 垂直またはフラットサイドの六角グリッド: このページによると、垂直方向の配置は、ペンと紙のRPGで「はるかに人気があります」が、その理由は説明されていません。このブログ投稿でも両方の種類に言及していますが、どちらか一方を使用する理由はありません。 そして、あなたがヘックスを使用するいくつかのPCゲームを見ると、両方とも彼らの支持者がいるようです: 水平:ヒーローズオブマイトアンドマジックシリーズ(Vを除く)、文明V ... 垂直: Panzer Generalおよび類似の多くのウォーゲーム、Wesnothの戦い... しかし、六角形グリッドの垂直または水平レイアウトを選択する主な理由は何ですか? 個人的な好みではなく、データ構造、グラフィックス、ゲームプレイなどに関して客観的な利点と欠点を探しています。または、どちらの方向を選択するかは本当に重要ではありませんか?

4
直交マップと等角マップの違い
私はこれについて無知な自分を笑っています。Googleは明白な答えを出しませんでした。誰かが直交マップと等尺性マップとは何か、そしてそれらがどのように異なるかを説明できますか?
41 maps 

3
手続き的に生成されたマップで湾と海峡をどのように決定できますか?
ボロノイセルを使用して、定義済みの海面と信頼できる高さマップを使用して、手順で生成されたマップを取得しました。 これまでのところ、土地、海、湖、川、河口、合流点、山、バイオームなどの特定の地理的特徴のラベル付けに成功しています。バイオームにはツンドラ、寒帯林、草原、温帯林が含まれます。他にもいくつかのバイオームがありますが、私の目的にとっては今のところ重要ではありません。 次に湾と海峡にラベルを付けたいのですが、これを適切に行う方法に迷っています。湾とは、海に直接つながる窪んだ沿岸の水域です。 海峡は、海の2つの部分を結ぶ自然に形成された狭い水路です。基本的に、2つの土地がほとんど接触しており、両側に海があります。「チャネル」とも呼ばれます。 機能を決定するには、次のようにタイプ別に機能をループします。 for each (var feature:Object in geography.getFeaturesByType(Geography.LAND)) // loop through lands for each (var cell:Cell in feature.cells) // loop through cells for each (var neighbor:Cell in cell.neighbors) // loop through a cell's neighbors trace(neighbor.hasFeatureType(Geography.LAND));

6
潜在的に無限の2Dマップデータを保存する方法は?
現在、100 x 100タイルのチャンクを処理できる2Dプラットフォーマーがあり、チャンク座標はlongとして格納されているため、これがマップの唯一の制限です(maxlong * maxlong)。エンティティの位置などはすべてチャンク関連であるため、制限はありません。 私が抱えている問題は、何千ものファイルを持たずにこれらのチャンクを保存してアクセスする方法です。すぐにすべてを開く必要のない、できればすばやく低コストのアーカイブ形式のアイデアはありますか?
29 xna  2d  c#  maps  platformer 

4
2Dマップで「本土」を検出するアルゴリズムはありますか?
このマップでは、「メインランド」は、4つの基本的な方向(北、南、東、西-斜めではない)でマップの中心に接続できるすべての土地です。 本土を検出し、本土の穴を埋めたいと思います。私は3つのことを考えました: パス検索アルゴリズムを使用して、マップの中心に接続できる場合は、すべての非水(暗いセル)セルを検索します。高過ぎ!しかし、これは島ではうまくいく可能性があります。 本土は緑色の塗料でいっぱいです。各穴はペイントで囲まれています... 本土内のすべてのウォーターポイントで隣接関係を確認すると、海岸線に表示されている半島やその他の地理的特徴を削除します。 本土を把握するためのある種のエッジ検出。内側のものはすべて保管し、水であればそれを満たし、外側のものは取り除きます。複雑? おそらく、ゲームの経験豊富な開発者がこれを手伝ってくれて、おそらく既知のアルゴリズムやテクニックの名前を教えてくれるでしょうか?
28 algorithm  maps 

3
手続き的に生成された世界でフィーチャ領域を識別するにはどうすればよいですか?
私は島を作っています。私は古典的なハイトマップソリューションを使用します。丘の構築機能を使用して、マップの角を避けて高度を作成します。次に、パーリンノイズは、バイオームを処理するための気候変数を提供します。今、私は何らかの形で接続されている2つの課題に直面しています: ドワーフ要塞では、世界の生成のきちんとした側面の1つは、ゲームがどのように領域を「認識」し、長方形にするのではなく名前を付けるように見えるかです。森林、川、丘を「認識」できるようにしたい...マップをスキャンしてその領域を解釈するためにどのようなアルゴリズムを使用できるか考えていますか?そして、それをどのように保存しますか?「タイルオブジェクト」のベクトルのベクトルから作成された基本的なC ++グラフを使用しています。 この島は、純粋に自然な地域だけでなく、政治的な地域に分けられるべきです。山や川を使って「自然な境界線」を作ることはできますが、手続き的に生成された地図は保証されません。王国を形成する素敵な「飛び地」ができます。ミクロの王国に囲まれた巨大な「リボンの形をした」政治的領域を持っていることに気付いた。別の可能性は、都市または城に適したエリアを探すことです。次に、その周辺の政治領域を「成長」させます。しかし、再び、私は自分自身を考案しようとする前に、いくつかの有名なアルゴリズムを持ちたいです。 この質問は少し曖昧すぎると解釈される可能性があるため、言い換えると、手順で生成された世界をゲームプレイに適した領域に(変更せずに)分割する方法はありますか?よろしくお願いします。

9
球体の表面をタイルでマッピングする場合、極歪みにどのように対処できますか?
クリーンなデカルトグリッド上での場所の相互作用の方法に対処するのは簡単です。それはただの数学です。また、極などを切り捨てるだけの場合は、球体の表面のジオメトリを無視できます。しかし、極地が重要なゲームのアイデアを考え続けています。ジオコーディングされたARGとグローバルなローグライクなど。 とにかく、世界中の同じサイズの正方形のタイルで合理的に表すことができる、正方形のような場所が必要です。 これは解決された問題でなければなりませんよね? 解決策は何ですか? ETA: 赤道で-そしてあなたの正方形の位置がかなり小さいと仮定すると、最も赤道の列の北と南の列に1つの正方形を持つことで逃げることができるのに十分に近いです。そして、あなたはおそらく、45度程度まで差を手で振るだけでそれをうまくやることができるでしょう。しかし、最終的には、極方向の円周方向の列の正方形を少なくする必要があります。行の長さを1つ減らし、正方形を1/2オフセットすると、それらは16進数のようになり、コーディングを行って接続を追跡するのは比較的簡単です。しかし、ポールに向かうにつれて、ますます極端になります。 世界の表面を立方体の表面に投影するのは魅力的です。しかし、すでに使用されているよりエレガントなソリューションがなければならないと考えました。 私が立方体のことをした場合(測地を通してさらに詳しく分析するのではない)面の中心または3辺の頂点に極を配置することに関連する長所と短所はありますか?

3
タイルエンジンでランダムな「世界」を作成するにはどうすればよいですか?
クラシックタイルエンジンで動作するゲームを設計していますが、その世界はランダムに生成されます。これを行う既存のゲームやアルゴリズムはありますか?私が見つけた手続き生成アルゴリズムは、タイルシステムを使用することはありません...タイルシステムを使用して「世界」全体を生成する最良の方法は何でしょうか。私はブロックの迷路についてではなく、全体的な「世界地図」について話している

3
マップ座標系のベストプラクティス
ゲームマップの座標系に関する慣習や既知の方法はありますか?通常、原点はマップの中央に配置されていますか?それとも、コーナーに住んでいて、マップは3D空間の1つのオクタントに構築されていますか?

4
球面地図表現
私の最新のゲームは、小さな惑星で行われます。球の表面のセルを表すための適切なデータ構造を探しています。三角形、正方形、五角形、六角形?どれが最もストレッチを最小化し、最高のタイリングを作成しますか? 球面マッピングが最も簡単ですが、極での伸びは許容できません。キューブマッピングもかなり簡単ですが、キューブコーナーの近くにまだかなりの伸びがあるでしょう。二十面体を細分化することは、ストレッチの観点からは最適と思われますが、多くの三角形配列のインデックスを作成し、境界で隣接するセルを見つけるという問題があります。 N個の近傍インデックスの配列を持つNゴンを表すポイントの単一の線形配列を使用できると思いますが、それはスペースの巨大な無駄のようです。 ゲームにはRTS要素が含まれているため、影響マップなどを保存し、A *パスファインディングとコンボリューションを実行するため、表現は効率的でなければなりません。
19 maps  sphere 

5
環境のような巨大で静的なオブジェクトは、最新のマルチプレイヤーゲームでサーバーからクライアントに送信されますか?
信頼できるシステムがあり、プレーヤーが試合に参加すると、既にスポーンされたすべてのオブジェクトを取得します-それ自体(クライアント)でスポーンされます。 次のようになります。 Client アクセストークンを Server Client から受け入れを受け取ります Server Client シーンをゲームシーンに切り替えます Serverプレイヤー、クレート、やり取りできるオブジェクトを送信して、clientそれらを生成して表示できるようにします。 しかし、地上オブジェクトはどうですか?今のところ、サーバーとクライアントにまったく同じシーンがあります-1つの静的なプレーンがフロアとして機能しています。現在、私は新しいもの、木、階段を追加し、一緒に物を作ります。 私は思った-私たちは良いです。しかし、環境も同期すべきではありませんか?どういうわけかネットワーク化されていますか?サーバーが所有していますか? 取りましょうLeague of Legends: 静的な環境で、おそらく1つのメッシュ(階段、草、壁、店)を組み合わせたものです。しかし、それは本当にクライアントに保持されているのですか、それともロード画面の間にサーバーによって送信されたのですか?
18 unity  networking  maps 

2
Age of Empires IIランダムマップのように感じるランダムマップを生成するにはどうすればよいですか?
Age of Empires IIがランダムマップを生成する方法(多様性、適切なバイオームトランジション、混chaを感じずにランダムに感じられるマップ)が好きですが、スタイルを再現するのに苦労しています。たとえば、Perlinノイズを使用しようとしましたが、すべてが均一すぎるか、そうでない場合はPerlin値->地形ヒューリスティックが敏感で壊れやすいため、さまざまなワールドタイプを作成できません。 AoE2マップタイプ「不明」が「100,000個のマップ」を宣伝し、シード番号の使用を示唆していることを覚えていますが、シード番号を使用して見た品種を作成する方法がわかりません。 AoE2ランダムマップのように感じるランダムマップを作成するには、どのアルゴリズムとヒューリスティックを使用できますか? より具体的に編集してください: 私の問題についてさらに考え、AoE2のランダムマップエンジンについて気に入っていることを研究しているとき、私の最大の問題は、地図上の水と植物の分布を管理することだと思います。私はそれを「意味のあるバイオーム遷移」と結びつけていることを知っていますが、それは別の問題です(ただし、Perlinノイズを引き続き使用すると解決が難しくなります)。 私は、AoE2のランダムマップをいくつか追加しました。これらのマップは、自分の努力が再現に失敗している、マッピングエンジンの好きな点を強調しています。すべてのスクリーンショットは、ランダムなマップタイプ「カスタム」->「不明」から取得されます。私は、群島のような特定の地域を使用するようにゲームに指示しませんでした。 さらに以下は、自分のマップエンジンからの画像です。各ピクセルは、1つのAoE2マップタイルに対応します。 私のプロジェクトの複雑な点の1つは、マップをAoE2マップよりも何倍も大きくしたいことです。したがって、私が使用するエンジンは、AoE2が使用するようなマップごとの狭いバイオームのセットではなく、各マップでバイオームの全範囲を作成できる必要があります。 Age of Empires IIマップ 内陸の湖とある種の川のようなものを特徴とする例があります。マップに散在する大量の水が含まれているのが好きですが、その水はまだいくらか濃縮されています-あなたの帝国を構築するために利用可能な土地の大きな帯があります。ゲーム全体を使って水辺の都市を計画する必要はありません。 ゲームが島を横断可能な沼地に接続するのに十分なほどスマートだった同様の例を次に示します。ノイズベースのアルゴリズムがそこに沼地を作成する方法を想像することはできません、それらの場所だけ。また、ゲームで土地がどのように作成されたかに注意してください。各プレイヤーは、最初からすべての土地を所有しています。土地のランダムなパッチを作成しませんでした。次に、各プレイヤーが開始するのにどれが最もひどいものでないかについて、ベストな推測をしました。 この地図は水も多用しますが、内陸の湖はあまり含まれていません。最初の画像と比較してください。AoE2が同じビルディングブロックを使用してまったく異なる地域を作成する方法が気に入っています。パーリンノイズを使用する私の試みはここで失敗しました-私は、土地の塊を萎縮させる広大な広大な海、または10,000の湖の土地を得ます。また、島と接続された大陸の両方を取得するのは難しいと感じました(北アメリカ/南アメリカを考えてください)。 この画像とその上の画像を比較してください。彼らは、地図の乾燥が水位に依存しないことを示しています。最初の画像は、ほとんど水がなく、森林と草が含まれている地図を特徴としています。2番目の画像には適度な量の水が含まれていますが、砂漠です。それが可能だと思います(あなたの世界にニューメキシコまたはサハラとコスタリカの両方があると考えてください)。 自分の地図 多くの場所で、マップを作成する良い方法は、それぞれ異なるデータの次元を表す複数レベルのPerlinノイズを重ねることです。一般的な推奨事項に従って、私はここでウィテッカーテーブルから地形タイプを選択して、標高と湿度を調整しました。 2つのperlinマップを取得し、それぞれの値を単純なを介して整数に量子化しif perlin_val < x { i=some_int } else if perlin_val < y...、(標高、水分)整数ペアを地形タイプのテーブルにマッピングしました(例:[1,0]-> tropical desert、[1,1 ]->草原)。このシステムには海洋が含まれていました-標高= 0の海洋が定義されています。 さまざまなバリエーションがあり、多くの点で実世界のように感じられますが、いくつかの問題があります。 まず、海の深さにパターンはありません。海岸近くの浅い水とさらに深い水が期待できますが、どこにどこにいるかについての韻や理由はありません 第二に、水はすべて海洋に集中しています。湖や川はありません。Perlinのノイズは、大陸の中央で突然低い値に落ちないからです。 各バイオームの量のバランスをとることは非常に困難です。私はこれを次のものに帰します。 パーリンノイズは正規分布に従うため、各次元マッピングの確率を調整する方法を推定することは困難です。 複数の次元のバランスを取ることは困難です-多分(2,3)が欲しいので、(n、3)を得る確率を上げます。さて、今私は(3,3)が多すぎて、すべてが間違っているように見えます。 滑らかなデータを得るのに十分なほどノイズをズームすると、Perlin値の完全なサンプルが得られませんでした。そのため、目の前のマップの分布を微調整し、新しいランダムマップをリロードして、非常に異なる結果を得ます。 私は、Perlin値の3番目のセットから水を作ることによって、川/湖の問題を解決しようとしました。バイナリの水/土地の決定。その後、上記のものをすべて土地に適用します。これにより、配水を非常に簡単に制御できるようになりますが(完全ではありませんが、より優れています)、意味をなさない多くのバイオーム遷移があるという問題が生じます。例えば、緑豊かな草原の真ん中の砂漠の不可解なパッチ、浜辺の雪など。また、上記の理由から、土地のバイオームの割合を制御することはまだ困難です。 上記の問題を見て、Perlinノイズを1次元にのみマッピングする単純なアルゴリズムを試しました。現在、0 =深海-> 1 =浅い海-> 2 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.