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

本質的にランダムなイベントまたは動作を生成するアルゴリズムまたはメソッド。

3
Unity 2017の乱数ジェネレーターは、同じ初期シードが与えられたプラットフォーム間で決定論的ですか?
統一エンジンの乱数ジェネレーターは、同じ初期シードが与えられたプラットフォーム間で決定論的ですか、それとも独自に実装する必要がありますか? 最近、乱数ジェネレーターにいくつかの変更が加えられたことを知っています。 回答を歓迎します。テストを実行するためのデバイスが手元になく、この問題に関する直接の声明はまだ見つかりませんでした。

10
シードに基づくランダムノイズ
私は現在、ピクセルの「座標」に基づいて画面上にランダムなノイズを生成するプログラムに取り組んでいます。プログラムを再起動するたびに、座標は同じ色になるはずです。ただし、Javaのutil.Randomを使用すると、私が望む結果は私が望むほどランダムではありません。 結合された座標を使用すると(互いに隣接する両方の座標から形成される1つの整数のように)、各座標は異なる数になると思いました。その番号をシードとして使用することにより、各座標に異なる乱数を取得して、その座標のrgb値に使用することを期待していました。 これは私が使用したコードです: public class Generate { static Random Random; public static int TileColor(int x, int y){ Random = new Random(Integer.valueOf(Integer.toString(x)+Integer.toString(y))); int b = 1 + Random.nextInt(50); int g = 1 + Random.nextInt(50); int r = 1 + Random.nextInt(50); int color = -Color.rgb888(r, g, b); return color; } } Javaのランダム関数の動作方法が原因でプログラムが作成するパターンなのか、何か間違ったことをしているのか、別のアプローチを試す必要があるのか​​? …
16 java  random 

3
「動的生成」と「手続き生成」の違いは何ですか?
動的に生成されるゲームのことを考えるとき、ランダムに生成されるレベルを持つディアブロのようなものを考えます。手続き的に生成されたゲームを考えるとき、私はゆるい鳥や他の無限のランナーのようなものを考えます。 しかし、これらは両方ともレベルをランダム化するだけです。手続き的に生成されたゲームは常に生成されており、動的に生成されたゲームはすべて前もって生成されているのでしょうか?または、これらの用語は交換可能ですか? 動的に生成されるゲームと手続き的に生成されるゲームの違いは何ですか?

3
nプレイヤー間で16進グリッドを均等に分割する方法は?
単純な16進グリッドベースのゲームを作成していますが、マップをプレーヤー間で均等に分割する必要があります。マップはランダムに作成され、プレイヤーに比較的小さなエリアでほぼ同じ量のセルを持たせたいです。たとえば、マップに4人のプレーヤーと80個のセルがある場合、各プレーヤーには約20個のセルがあります(スポットオンである必要はありません)。また、各プレイヤーは、隣接するセルを4つ以下にする必要があります。つまり、マップが生成されるとき、最大の「チャンク」はそれぞれ4セルを超えることはできません。 これは2人または3人のプレイヤーにとって常に可能ではないことを知っています(これは「マップの色付け」問題に似ているため)。しかし、4〜8人のプレイヤーの場合、この問題にどのように対処できますか?

2
乱数hlsl
HLSLで乱数を生成するにはどうすればよいですか? gpuレイトレーシングを試したいので、私は尋ねています。ピクセルシェーダーでランダムな方向を生成する必要があります。したがってrandFloat()、結果は-1〜+1の乱数になります。 また、hlsl ノイズ命令との取引は何ですか?ドキュメントには、HLSL 2.0以降から削除されたと書かれています。なんで? テクスチャをランダムな値で満たし、そのテクスチャへのインデックスを持つ各頂点にテクスチャ座標を設定するアプローチについて読みました。しかし、それは頂点ごとです。ピクセルシェーダーで呼び出すことができる命令が必要です。さらに、このアプローチでは、フレームごとに異なる値が必要な場合は、頂点ごとのtexcoordsを「再シード」する必要があり、各フレームで頂点バッファーを更新する必要があります(高価になる可能性があります!) 詳細を説明すると、GPUで乱数を安価に生成する方法を教えてください。
13 hlsl  random  gpu 


3
偏った保守的なランダムウォーク
とのどちらかとして保存されたスプライトがVelocityありPositionますVector2。各Updateサイクルで、速度が位置に追加されます。 スプライトに3番目のベクトルを与えたいと思いTargetます。新しいターゲットは、どの反復でも指定できます。スプライトが本質的にランダムウォークパターンで移動するようにしたいのですが、2つのパラメーターを公開する必要があります。 典型的なランダムウォークは、任意の距離までの距離を増加または減少させる可能性がありますTarget(さらに、接線方向の動きのわずかな可能性)。私はランダムウォークにバイアスをかけることができなければなりませんが、それでもランダムではありますが、スプライトが「決定する」方向がより近くなるようにする必要がありますTarget。 ランダムウォークは「スムーズ」である必要があります。スプライトの方向が急激に変わることはありません。これは、プレイヤーにとって「ちらつき」または「震え」のように見えるためです。平均化するとゆっくりと近づきながら、ランダムに移動しながら、このように、または徐々に変化します。 これを行うための良い、簡単な方法は何ですか?可能であれば、答えをVector2 RandomWalk(Vector2 target)メソッドとして提供します。 NextGaussian(mean, stdev)役立つ方法があれば、すでに利用可能なメソッドがあります。

2
C ++の乱数
最近、私は、通常はメルセンヌツイスターである、ストックグッドランダムジェネレーターを含む現代言語に慣れました。C ++に戻った今、使用するものを決定する必要があります。 Mersenne Twisterの実装を検索しましたが、非常に多くの実装があることに気付きました。より広く使用されている実装がありますか?
12 c++  random 

5
私のコンテキストでこの乱数生成を改善するにはどうすればよいですか?
私のゲームでは、画面の上部に単語があり、文字が上から降りてきており、ユーザーは文字をタッチして単語を完成させる必要があります。 現在、ランダムに文字を生成しています(実際にはランダムな数字と数字が文字の配列のインデックスです。例:0 = a、1 = b)。問題は、必要なすべての文字を取得するのに時間がかかりすぎることです。語。 私が欲しいのは、プレイヤーが1つの単語を完了するために1日中費やす必要がないように、生成する乱数によって必要な文字がより頻繁に生成されることです。 私は以下の方法を試しました: 単語のすべての文字を検出し(単語は常に6文字長)、長さ6のインデックスの配列を生成します。配列の各インデックスを文字2から文字+2までの乱数に割り当て、最後にランダムに1つのインデックスを選択します表示する配列から。 値が[0..2]の範囲にあるセレクター変数をランダムに生成します。セレクター== 0の場合、単語を構成する文字を検出し、ランダムに1文字を選択します。それ以外の場合は、azから任意のアルファベットをランダムに取得します。 これらの方法はどちらも私に何の助けも提供していません。あなたが私を助けることができれば私はとても幸せです。 お読みいただきありがとうございます。ご理解いただき、ご回答をお待ちしております。
11 random 

2
Axis Aligned Spatial Division:スペースをランダムな長方形に分割しますか?
3Dスペースをランダムな軸で整列したボックスの形状に分割する方法が必要です。とりあえず、テストのために2Dスペースを分割しています。私が思いついた最も直接的なアプローチは、サイズ(1、1)の長方形を定義し、既存のすべての長方形をX軸とY軸が交互に並ぶ2つの不均一な長方形に再帰的に分割することでした。 ここでの問題は明白です。このアプローチでは、長いストレッチ線(赤でマーク)が発生します。 私が望むのは、もっと有機的な見た目です(私は例を含めました) 見てください、上から下へ、または左から右への長い直線はありません。 唯一の制約は、サイズの粒度に影響を与えずに、長方形の最小サイズを制限したい場合があることです。つまり、最小の四角形が秒より1平方センチメートル小さい場合、最小の部屋は2平方単位であってはなりません。 したがって、理想的には、アルゴリズムは次の3つの制約すべてを満たす必要があります。 長方形は無限に小さくはありません。 四角形のサイズは、最小の四角形のサイズの離散的な乗算ではありません。つまり、最小の長方形が3平方単位である場合、大きい長方形は6、9、12などの正方形単位に制限されず、代わりに3.2または4.7になります。 アルゴリズムは多項式時間で実行されます(高速で計算する必要があります)。

3
2Dグリッド上のランダムな敵の配置
アイテムと敵をランダムに(またはできるだけランダムに)配置したい。現時点では、XNAのRandomクラスを使用して、Xの場合は800からYの場合は600の数値を生成しています。私はジェネレータをシードしません、多分それは考慮すべきことです。 2Dグリッドでのランダムな敵の配置を改善できる他のテクニックはありますか?
11 xna  2d  sprites  random 

2
グラフノード間にエッジをランダムに生成する良い方法は何ですか?
私は4X宇宙ゲームのランダムマップジェネレーターをやっています。 ゲームの各ノードは、2Dグリッド上のランダムな(x、y)座標に配置されます。ノードは、別のノード(ワームホールを表す)への1つ以上の双方向エッジを持つことができます。すべてのノードに少なくとも1つのワームホールがあり、すべてのノードが同じグラフに属している必要があります。 理想的には、ワームホールが最大長を超えないようにし、可能であれば、ワームホールが互いに交差しないようにする必要があります。 私の素朴な実装は、すべてのノードを反復処理し、最も近い3つのノードへのノードリンクを持つことです。ただし、最終的には多数のサブグラフが表示されます。ノードのエッジを生成する良い方法は何ですか?

3
ランダムマップの生成-ランダムノードの分散/クラスタリングの戦略
私は、単純な4Xストラテジーゲームを空間で実行しています。各ノードは、目的点(惑星、小惑星など)です。 マップをランダムに生成するには、以下の手順に従います マップが持つ各ノードのタイプの数を決定します(たとえば、5つの地球のような惑星、10の不毛の惑星など)。 各タイプのノードをマップに配置します。 ステップ2では、各ノードタイプを均等に分散させたいと思います。したがって、たとえば、私はすべての地球のような惑星を配置することから始めます。単純にrand(map.width、map.height)を実行して位置を決定すると、すべての地球に似た惑星が一緒にクラスター化し、その領域から開始するプレーヤーにメリットをもたらす可能性があります。 さまざまなグラフ関数やノイズ関数を使用するなど、相互に広がる一連の(x、y)座標を生成できる方法はありますか?同様に、互いに近い座標を生成する方法はありますか?

4
3Dの手続き型地形:何が行われたか?共通のアルゴリズムや理論はありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 プログラミング以外にも、環境のモデリングにはかなりの時間がかかります。 WoWダンジョンレベルや、その他の美しい都市のような未来の環境、ジャングル、ファンタジーなど、関係する作業時間についてはわかりませんが、この種の作業はアーティストがゼロから作成しています。 TorchLightレベルランダマイザーに含まれる手法は何ですか?他のタイトルはこれと類似していますか?そのような技術に姓はありますか?

3
グラフのエッジの数を減らし、接続を維持する
私はランダムに生成されたダンジョンでゲームをデザインしています。これを、ノードが部屋であり、エッジがドアまたは廊下である、接続された無向グラフとして表示したいと思います。次に、ダンジョンの入口として「サイド」ノードを選択し、この入口と他のすべてのノードとの間の距離を計算し、最も遠いノードの1つをダンジョンの「ゴール」(宝物、ボス、プリンセスなど)。 最終的なダンジョンの地形を生成する2つの方法を見ました。 最初にランダムグラフを生成し、エッジの接続を尊重して、ランダムな場所にある部屋で2Dワールドを塗りつぶします。部屋の生成が不可能な場所に部屋を適合させようと「ロック」される可能性があるため、これは時々困難になると考えました。 最初の部屋を生成し、それらが収まる場所にランダムに配置してから、結果をノードとエッジにマッピングします。私はこれを試すことにしました。 私の考えは次のとおりです。 最初に、ダンジョン全体を含む大きな部屋を生成します。 大きな部屋の内側のランダムな場所に壁を置き、大きな部屋を異なる面積の2つの小さな部屋に分割します。 次に、部屋が小さすぎるか、部屋の総数が最大(またはその他の条件)に達するまで、各部屋を2つに分割し続けます。新しい部屋はそれぞれノードです。 終了したら、各部屋をチェックして、隣接する他のすべての部屋を見つけ、2つのノードをエッジで接続されているものとしてマークします。 そうすることで、すべての部屋が2Dの世界で可能な場所に配置され、接続されたグラフによって正しくマッピングされるようにします。 私の問題は、部屋をつなぐドアと廊下が多すぎることです。 したがって、接続された無向グラフのエッジの数を減らし、最終的には接続されたまま(すべてのノードが到達可能なまま)のアルゴリズムが必要です。

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