タグ付けされた質問 「procedural-generation」

手続き型の生成とは、手動ではなくアルゴリズムと計算に基づいてコンテンツを構築することです。

5
手続き的に生成された巨大な「荒野」の世界
ドワーフ要塞のようなゲームはご存知だと思います-大規模で手続き型に生成された荒野と土地。この非常に有用な記事から取られたこのようなもの。 しかし、これをもっと大規模にどのように適用できるのか疑問に思っていました。Minecraftの規模が思い浮かびます(これは地球の表面の8倍の大きさではありませんか?)。擬似無限、最良の用語は次のとおりだと思います。 この記事では、フラクタルパーリンノイズについて説明しています。私はそれに関する専門家ではありませんが、一般的なアイデアを得ることができます(それは、ランダムなピクセル値だけでなく、ある程度コヒーレントなランダムに生成されたノイズの一種です)。 リージョンXごとにサイズを定義し、リージョンをロードするタイプのものを追加し、1ビットのノイズでリージョンを生成できます。しかし、これは膨大な量の島になります。 もう一方の極端な例では、パーリンノイズの超巨大シートを実際に生成できるとは思いません。そして、それはただ一つの大きな島になると思います。 Perlinノイズ、または何らかのノイズが何らかの方法で答えになると確信しています。つまり、地図は本当に見栄えがいいです。そして、アスキーをタイルに置き換えて、見栄えの良いものを手に入れることができます。

6
Minecraft風のボクセルの世界を最適化するにはどうすればよいですか?
Minecraftの素晴らしい大きな世界は、クアッドコアと肉付きのグラフィックカードを使用しても、ナビゲートが非常に遅いことがわかりました。 Minecraftの遅さは次の原因によるものと思われます。 Java。空間分割とメモリ管理がネイティブC ++で高速であるため。 弱い世界分割。 私は両方の仮定で間違っている可能性があります。しかし、これは大きなボクセルの世界を管理する最良の方法について考えさせられました。それは、ブロックは、世界の任意の部分に存在することができる真の3D世界は、であるように、それは大きな3Dアレイ基本的には[x][y][z]世界の各ブロックタイプを有する(すなわちBlockType.Empty = 0、BlockType.Dirt = 1等) このような世界をうまく機能させるには、次のことが必要だと思います。 さまざまなツリー(oct / kd / bsp)を使用して、すべてのキューブを分割します。三角形ごとではなくキューブごとにパーティション分割できるため、oct / kdの方が適しているようです。 ユーザーに近いブロックが背後のブロックを難読化し、それらをレンダリングすることを無意味にする可能性があるため、いくつかのアルゴリズムを使用して、現在どのブロックが見えるかを判断します。 ブロックオブジェクト自体を軽量にしておくと、ツリーにすばやく追加したり削除したりできます。 これに対する正しい答えはないと思いますが、このテーマに関する人々の意見を見てみたいと思います。 大きなボクセルベースの世界でパフォーマンスをどのように改善しますか?

4
手続き…ルームジェネレーターのある家
私は、ダンジョンを手続き的に生成することに関するいくつかのアルゴリズムと記事を見てきました。問題は、部屋のある家を作ろうとしているのに、部屋が私の要件に合わないようだということです。 たとえば、ダンジョンには廊下があり、家にはホールがあります。最初は同じように見えるかもしれませんが、ホールは部屋ではないエリアにすぎませんが、廊下はあるエリアを別のエリアに接続するように特別に設計されています。 家とのもう1つの重要な違いは、特定の幅と高さがあることです。また、ダンジョンでは空間が空いているのに対して、部屋全体やホールで物全体を埋める必要があります。 家のホールは、ダンジョンの廊下(他の部屋に行く)とダンジョンの空きスペース(コードで明示的に定義されていない)の間にあるものだと思います。 具体的には、要件は次のとおりです。 すぐに壁やドアを作成できない定義済みの部屋のセットがあります。 部屋は回転することはできますが、サイズを変更 することはできません。部屋の定義済みのセットがあるため、サイズを変更することはできません。 家の寸法は設定されており、部屋(またはホール)で完全 に埋める必要があります。つまり、空きスペースがないことを確認して、利用可能な部屋で14x20の家を埋めたいと思います。 これをもう少し明確にするいくつかの画像を次に示します。 ご覧のとおり、家の中では、「空のスペース」はまだ歩きやすく、ある部屋から別の部屋に移動できます。 したがって、これらすべてを言ったとしても、家は廊下のある非常にぎっしり詰まったダンジョンです。または、ダンジョンよりも簡単なものです。たぶんそこに何かがあり、何を検索すればよいかわからないので見つけられませんでした。 これがあなたの助けが欲しいところです:このアルゴリズムを設計する方法についてのポインタを教えてもらえますか?どのステップを踏むかについての考えはありますか?ダンジョンジェネレーターを作成した場合、要件に合わせてどのように変更しますか?好きなだけ具体的または汎用的にすることができます。本当にあなたの頭脳を探しています。

3
ボクセル地形エンジンはどのように作られていますか?
数日前、ボクセル地形と呼ばれるものを見つけましたが、それらはかなりクールだと思います。しかし、それらを生成するものは知りません。モデリングソフトウェアでモデリングしますか、それともハイトマップのようなものを使用しますか?私はウィキペディアで、ボクセルは3Dピクセルまたは体積ピクセルのようなものだと読みました。 ボクセルテレインを作成した後、これらのボクセルを取得して破壊可能/掘削可能にするにはどうすれば よいですか? 以下に基づいてベストアンサーを選択します。 コードとアルゴリズム。できればC#に基づく 説明。私はアルゴリズムの初心者ですが、オブジェクト指向プログラミングには非常に精通しています 段階的なデモ。コンセプトだけでなく、方向性。 ダイアグラム/イラスト。いいえ、他のエンジンのスクリーンショットではありません。 これは複雑な問題であることを知っています。しかし、助けてくれてありがとう! いいえ、Minecraftのクローンを作成しようとはしていません。 編集 あなたの多大な助け(特にニック・ウィギル)に感謝します!これが私がなんとかしてやったことです(進行中の作業)。

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

3
ワームスタイルの地形を生成するにはどうすればよいですか?
私はワームスタイルのゲームに取り組んでおり、いくつかの地形を手続き的に生成したいと考えています。以前はパーリンノイズを使用して多くの地形生成を行ってきましたが、これがこのゲームで使用し始めたものです。唯一の問題は、単純すぎて退屈で、丘ができてしまうことですが、私が望む複雑さではありません。洞窟やぶら下がった山などの機能が欲しいのですが、浮島などは気にしません。次のようになりますが、もっとクレイジーでも構いません 最初に古典的なパーリンノイズを使用して地形を生成し、次にパーツを削除して洞窟を作成するかどうかを考えましたが、それらのパーツの削除をガイドするのに苦労しています。そのような地形を生成する代替手段はありますか?

5
ローグのような2Dダンジョン生成に最適なアルゴリズムは何ですか?[閉まっている]
ダンジョン世代のコンテキストでの手続き型コンテンツの生成に関する優れたリソースは何ですか? 私が見つけた最も近い記事は、2d迷路を生成するアルゴリズムでした。これは、私が探しているものとはまったく異なります。部屋や接続された廊下などの機能が理想的です。 ありがとう!

3
シードからランダムレベルを生成する方法 [閉まっている]
ランダムシードを使用してゲームレベルを生成するにはどうすればよいですか?同じシードは常にまったく同じレベルを生成する必要があります。 この例では、Wormsスタイルレベルになります。したがって、各レベルにはテーマ(草地、雪など)、基本地形、木などのさまざまなオブジェクトがあります。 それでは、この種のレベルジェネレータの作成をどこから始めますか?何が関係しますか?どのような概念を使用していますか? 良好なリンクに対するボーナスポイント(ワームなどで行われた方法に関連するものに対するボーナスボーナスポイント) ありがとう。

3
AudiosurfやBeat Hazardなどのオーディオベースのゲームはどのように機能しますか?
注:これらのいずれかのクローンを作成する方法は尋ねていません。私は彼らがどのように機能するかについて尋ねています。 自分の音楽ファイル(または提供されたもの)を使用するゲームは誰もが見て、きっとゲームはそれらに基づいてAudiosurfやBeat Hazardなどのレベルを生成します。 ここに、私が意味することを示すために、Audiosurfが実際に動いているビデオがあります。 ヘビーメタルの歌を提供すると、ビバルディのようなものとはまったく異なる障害物、敵、ゲーム体験が得られます。 私が興味を持っているのは、これらのゲームの仕組みです。オーディオ(データ側)についてはあまり知りませんが、曲が落ち着くときやスピードが上がるときを理解するために、どのように曲を処理しますか?レベルを形成するためにピッチ値(オーディオファイルにこれらの種類のものが存在すると仮定)を供給することができると思いますが、それは完全には説明しません。 私は説明、この種のことに関する記事へのリンクを探しています(用語があります)、またはこの種のことのオープンソース実装さえ探しています;-) 編集:いくつかの検索と少しの助けの後、私はFFT(高速フーリエ変換)について知りました。これは正しい方向への一歩かもしれませんが、私にとっては意味をなさないものです。または、波の物理学の知識と適合します。

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));

9
ゲームプレイ機能に特化した手続き型の世界世代
大規模な手続き型のランドスケープゲームでは、土地は鈍いように見えますが、それはおそらく、現実の世界がほとんど鈍く、風景が劇的または戦術的な場所に限られているためです。 この観点から世界の世代を見ると、ゲームのランドスケープジェネレーター(つまり、風景のためではなく、ゲームプレイのため)は、造園のルールに従う必要はありませんが、代わりに、ゲーマーの期待。たとえば、山や降雨パターンによって生成されるリソースまたは条件に基づいて都市に自然に散在するのではなく、都市間に丘、渓谷、川、山を作成するチョークポイント/ルートジェネレーターがあります。 このように行われている既存の作業はありますか?都市または人口の中心から始めて、その後地形を追加しますか? 私が求めている理由は、ファンタジーフィクション(自分と他の人)から既存のマップを取得し、情報をベースポイントとしてシステムに入力し、そこからプレイするための良い世界を生成することを以前考えていたからです。これは既存の技術、つまり都市の人口、資源、バイオーム、道路網、河川などの必要な情報をすべて入力し、PCGがギャップを埋めることができるようになっているようです。 しかし、今では、コンテンツジェネレーターで全体的なデザインも生成できるかどうか疑問に思っています。自然に見える商業の必要性があるように都市と人口センターを生成し、バランスを取り、位置と接続性を生成し、都市のタイプから近くにある必要があるリソースのリストを生成します。信じられないほど興味深い都市間の旅を作るためのいくつかのルールは、道路、チョークポイント、橋とトンネル、フェリー、必要なバイオームと海岸線を含む地形を含む最終コンテンツを生成します。 これが以前に行われたことがあれば、私は知りたい、そして何がうまくいかなかったかを知りたいです。


2
ランダム/手続き型と以前に作成されたレベル生成
ランダム/プロシージャ生成を使用した場合と事前に作成したレベルを使用した場合の利点/欠点 アイテムがランダムに生成された地形で配布する問題である可能性があり、生成された地形が奇妙に見えるかもしれないという事実以外、私が考えることができるものはほとんどないようです。 ただし、以前に作成したレベルの欠点は、レベルエディターを作成する必要があることです。何を使用するのが良いかを判断できません。 回答には、手続き型と既成の両方のコード/例、および賛否両論を含めることができますか?

10
ローグライクデザインにパーマデアが不可欠なのはなぜですか?
ローグライクとローグライク(Spelunky、The Binding of Isaac)は、多くのゲームデザイン要素を共有する傾向があります。 手続き的に生成された世界 新しい能力と力によるキャラクターの成長 永久死 前提としてpermadeathから始めることが他のアイデアにつながる理由を理解できます。多くのことをやり直す場合は、経験にバラエティが必要です。しかし、最初の2つの要素がなぜパーマデアアプローチを意味するのでしょうか?

6
島の領域を手続き的に生成する
現在、次のような島があります。 そして、次のように手続き的に領域に分割します。 私が探しているのはどのアルゴリズムですか?下の写真のように、一貫性のある領域を作成する方法について提案がありますか。あなたの助けに感謝します。

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