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

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

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

6
報酬と統計に関して、なぜ乱数を使用するのですか?
多くのゲームは、攻撃によるダメージ、金の戦利品、モンスターの種類などの生成に乱数を使用します。乱数を使用すると、コンテンツを生成してゲームをより再生しやすくすることができますが、特定のことについて話します。たとえば、DOTAでは、モンスターを殺すと、xとyの間でxとyが変わらないランダムな量の金が得られます。何かを攻撃すると、52-60などの範囲内でダメージを与える可能性があります。ゴールドドロップを静的にすると、ゲームはどのように変わりますか? 乱数はゲームプレイを強化するように感じますが、その理由を理解するのに苦労しています。ダメージや戦利品などと組み合わせて使用​​すると、乱数がゲームプレイを改善できる理由を誰もが知っていますか?幸運が良いことだとは思わない答えを望んでいます。

9
事前のイベントによってバイアスされる「ランダム」ジェネレーターを作成するにはどうすればよいですか?
事前のイベントによって偏ったチャンスベースのシステムを実装したいと考えています。 背景:数年前、私はWorld of Warcraftのアップデートを思い出します。彼らは、スパイクチェーンのイベントに対抗する新しいチャンス計算機を実装したことを発表しました。(たとえば、クリティカルストライクを行うか、連続して数回回避する)。アイデアは、あなたがヒットをかわす場合、次のヒットをかわす可能性は減少するが、それは両方の方法で働くということでした。ヒットを回避しないと、次のヒットを回避する機会が等しく増加します。ここでの主要なトリックは、いくつかの試行にわたって、覆い焼きの可能性がプレイヤーの統計シートでプレイヤーに与えられた割合に対応することでした。 この種のシステムは当時非常に興味をそそられ、今ではそのような解決策が必要な状況にあります。 私のトラブルは次のとおりです。 このようなシステムの実装に関するオンラインリソースを見つけることができると思いますが、それを見つけるための関連する話題の言葉が欠けているだけかもしれません。 また、2項式(つまり2つの結果)ではなく、4つの相互に排他的なイベントを含むシステムに適合するために、このアプローチが必要です。 私の現在のアプローチは、ラッフルチケットシステムのアプローチに似ています。イベントが発生すると、他のすべてのイベントを優先して重みを変更します。4つのイベントが等しく発生する可能性がある場合、これは機能する可能性がありますが、私の場合は、より広く普及する必要があります。しかし、一般的なイベントがより頻繁に発生するため、他のものの重みが意図したよりもはるかに大きくシフトし、イベントがあった初期値の周りに平均チケット数を維持するために必要な重みシフトの数値を見つけることができないようです与えられた。 いくつかの方向ポインターまたは明確な例が大歓迎です。
37 random 

7
重み付きコレクションを作成して、そこからランダムな要素を選択するにはどうすればよいですか?
ランダムなアイテムで埋めたい戦利品ボックスがあります。しかし、私はそれぞれのアイテムが選ばれる異なったチャンスを持ちたいです。例えば: 10ゴールドの5%チャンス 20%の確率で剣 45%の確率でシールド 装甲の20%の確率 ポーションの確率10% 上記のアイテムのうちの1つを選択するようにするにはどうすればよいですか?それらのパーセンテージは戦利品を得るそれぞれのチャンスです?
34 random 

6
ビデオゲームのデザインで、一様でない乱数を興味深い方法で使用しているものはありますか?
さまざまなビデオゲームは、「50%のヒットチャンス」など、イベントの結果を決定するために均一に分布した数値を使用します。ほとんどの場合、0-1のランダムな浮動小数点数が0.5より大きいかどうかをチェックします。多くのゲームは、これらの均一な割合のいくつかを互いの上に重ねます。たとえば、D&Dヒットロールは、1と20が特別な結果を持つことを除いて、1〜20の均一に分散した数です。私の考えでは、実際にはヒット/ミスまたは勝ち/負けは実際にはバイナリの結果ではないという事実をエミュレートするために、デザイナーによってクリティカルヒットのようなものが追加されているようです。 多くの場合、攻撃による実際の「損傷」の量はガウス/ベル曲線分布に近くなる可能性が高く、多くは中間になりますが、時折非常にエキサイティングな外れ値とそれらを結ぶ滑らかな曲線になります。カタンの開拓者のようなサイコロゲームは、複数の独立したロールを追加することでガウス分布をエミュレートしますが、ビデオゲームでこのメカニズムを見たことはほとんどないように感じます。 Civilization(Sid Meierは、ゲームで使用される実際の数学と一致しないプレイヤーの認識についてGDCで広範に語った)のようなゲームは、現実の世界で物事がどのように機能するかに一致した結果から恩恵を受けるようです。面白い方法で乱数のガウス分布またはその他の不均一な分布を使用したビデオゲームはありますか?

5
乱数生成で「あまりにも」ラッキー/アンラッキーなストリークを回避するにはどうすればよいですか?
私は現在、プレイヤーが与えるダメージに常に0.8から1.2の間のランダムな係数を掛けるマルチプレイヤー戦闘システムを扱っています。 理論的には、真にランダムなRNGは、最終的に同じ数を何度も返す可能性があります(テトリスのジレンマを参照)。これにより、プレイヤーが常に非常に高いダメージを与え、他のプレイヤーが常に非常に低いダメージを与えるマッチになります。 これが起こらないようにするにはどうすればよいですか?一部のRNGは、繰り返しを避ける点で他のRNGよりも優れていますか?

3
マップ生成のランダムシード関数?
マップの視覚的境界が(マップを通過することで)変化するときに、ランダムなタイルベースのマップを生成する関数を探しています。マップを無限に大きくし、迷路のような構造にする必要があります。 ただし、世界が無限である場合、プレイヤーが以前にいた場所に戻ると問題が発生します。ゲームは、そこにあるすべてのものが実際にどのように見えるかを覚えていなければなりません。 だから、私は考えていました-「Minecraftはこの問題をどのように解決するのですか?」そして、シードを持つ何らかの乱数関数を使用する必要があると思いました。それは前方にも後方にも進むことができ、そのようにして、古いインスタンスを正確に、しかし新しいインスタンスで再生成します。 これについてどう思いますか?

7
一端に偏った連続的な重み付きランダム分布
現在、ゲームのパーティクルシステムに貢献し、エミッタシェイプを開発しています。 線または長方形の領域に沿った私の一様なランダム分布は問題なく動作します-問題ありません。 しかし今、私はこの分布に1次元の勾配のようなものを持ちたいです。これは、たとえば、低い値は高い値よりも一般的であることを意味します。 この問題に適切な数学用語が何であるかはわかりませんので、この検索スキルでは私の検索スキルはかなり役に立ちません。パーティクルシステムは効率的である必要があるため、計算が簡単なものが必要です。

2
接続されたパスを持つ手続き型2Dマップのアルゴリズム
解決すべき問題:すべての部屋が接続されているタイルベースのゲームのランダムな2Dダンジョンマップを生成します。 現在のソリューションよりも優れたソリューションを探しています。 私の現在の解決策は、2つのアルゴリズムを実行することです。最初の部屋ではダンジョンを生成します。2番目は、すべての部屋が接続されていることを確認します。私は他の解決策が存在するかもしれないと思っています。より高速および/または簡単など。速度は実際には問題ではありませんが、実際のコストをかけずに速度を上げることができれば、それは良いことです。さらに重要なことは、私と他の読者は、問題にアプローチして解決するさまざまな方法を学ぶことができるということです。 以下は私の現在の実装です。現在、部屋には出口がないか、2、3、または4方向に出口があります。 ダンジョンルームの生成 セットアップ:現在の部屋を左上の部屋に設定します。 部屋の有効な部屋タイプを取得します(有効な部屋タイプとは、ダンジョンの出口がなく、上の部屋と左の部屋の出口に一致する出口があるタイプです。以下の手順2のために残されました)。 部屋を置いて、x座標を1ステップ進めます。X座標がダンジョンの幅を超える場合、X座標を0に設定し、Y座標を1ステップ進めます。y座標がダンジョンの高さを超えている場合、完了です。 #1から繰り返します。 次に、すべての部屋が接続されているかどうかを確認します。すべてが接続されていない場合は、2番目のアルゴリズムを実行します。接続されるまで。 すべての部屋が接続されているかどうかを確認する セットアップ:パスを表す整数の2Dマップを作成し、エントリを「未処理」(まだ通過していない)-1に初期化します。現在のパスを追跡する開始パスインデックス整数を1に設定します。チェックする部屋のスタックに追加することにより、現在の部屋を左上の部屋に設定します。 スタックにチェックするルームが含まれる場合、ポップしてルームのパスインデックスを現在のパスインデックスに設定します。スタックに部屋が含まれていない場合は、パスインデックスを増やし、まだ処理されていない部屋を取得するまで、列ごと、行ごとに進めて部屋を取得してください。部屋が見つからない場合は、完了です。 部屋の左側に出口があるかどうかを確認します。まだそこにない場合、スタックに左の部屋を追加している場合。 下方向、右方向、および上方向について手順2を繰り返します(部屋を上方向から時計回りに移動するスタックを使用しているため)。 手順1から繰り返します。 パスインデックスのカウントが1より大きい場合、接続されていない部屋があります。 接続されていない部屋がある場合は、パスインデックスで部屋をグループ化し、最大のパスのインデックスを取得し、他のすべての部屋をそれらの部屋に接続します。これは進行中の作業ですが、私の(現在の、「強烈な」)計画は、部屋グループ(最初の部屋を除く)の各部屋を通過して、biggeset部屋グループへの水平または垂直パスがあるかどうかを確認することです。その場合、間に部屋を挿入/更新することにより、そこに水平/垂直パスを作成します。すすぎ、繰り返します。glyい、はい、しかしそれは視覚的なパターンの点で目立たないものなので、その意味で機能します。

2
擬似ランダムではなく、「楽しく」ランダムに生成するにはどうすればよいですか?
さまざまな種類のパズルを順番に提示するゲームを作っています。擬似乱数で各パズルを選択します。各パズルには、多くのバリエーションがあります。別の擬似乱数でバリエーションを選択します。等々。 問題は、これがほぼ真のランダム性を生み出す一方で、これはプレイヤーが本当に望んでいることではないということです。プレイヤーは通常、自分が何であるかを認識し、ランダムであると特定しますが、それはパズルを繰り返す傾向がない場合のみです。だから、本当にランダムではありません。ただ予測不可​​能です。 少し考えてみると、それを行うためのハックな方法が想像できます。たとえば、新しい選択肢を選択するときに、可能性のあるセットから最新のN個の選択肢を一時的に削除します。または、すべての選択肢に等しい確率を割り当て、選択時に選択肢の確率をゼロに減らしてから、選択ごとにすべての確率をゆっくりと増やします。 これを行う確立された方法があると思いますが、用語がわからないので見つけることができません。知ってる?または、誰かがこれを楽しい方法で解決しましたか?
26 algorithm  random 

4
タイルマップの生成
私はタイルベースのゲームをプログラミングしており、いくつかの基本的なタイル(草、汚れなど)を持っていますが、タイルが本当にランダムに選択された場合、草/汚れでなければなりません、私はこれを取得します: 私はこれがなぜ起こっているのか理解していますが、私が望むのは、草や土のランダムな連続領域を作成することです。次のような、より意味のあるもの:

3
UnityEngine.RandomとSystem.Randomの違いは何ですか?
これの違いは何ですか int randomNumber = UnityEngine.Random.Range(0, 10); この // on top of the class private System.Random _rnd = new System.Random(); // inside a methode of the same class int randomNumber = _rnd.Next(0, 10); 私System.Randomは常にあなたのクラスのトップで初期化されなければならないことを知ってUnityEngine.Randomいます。またSystem.Random、インターン「クロック」で動作し、「ランダム」な数値がそれに基づいていることも知っています。 私の質問は、Unityプロジェクトに使用するのがより良いと魔女のコードの間に他の違いがUnityEngine.RandomありSystem.Randomますか?
24 unity  c#  random 

4
ランダムに生成されたストーリー
私は現時点でゲームを開発していますが、プレイヤーの進行に合わせてゲームのストーリーラインがランダムに生成され、そのアクションがストーリーに影響を与えるというアイデアがありました。 これはゲームプレイの観点からは悪いアイデアでしょうか、それとも複数のエンディングがあるストーリーラインが最良のアイデアでしょうか?

3
履歴生成アルゴリズムはどのように機能しますか?
ドワーフ要塞というゲームについて聞いたことがありますが、YouTubeでフォローしている人の1人だけがそれについて解説しました。 さて、これらのアルゴリズムはどのように機能しますか?シミュレーションの長さを除いて、通常は入力として何を使用しますか?それらはどれほど具体的ですか? そして更に重要なことに; Javascriptで作成できますか、またはJavascriptが遅すぎますか?(これはシミュレーションの深さに依存しますが、例としてDwarf Fortressを取り上げます。)

3
Minecraftのようなエンジン用に浮遊陸地を生成するにはどうすればよいですか?
XNAでMinecraftのようなエンジンを作成しています。私がやりたいのは、このビデオに示すような浮島を作成することです。 http://www.youtube.com/watch?v=gqHVOEPQK5g&feature=related ワールドジェネレーターを使用してこれをどのように複製しますか?Perlinノイズアルゴリズムを使用する必要がありますか?そのような土地を作るのにどのように役立つかわかりません。 以下は、私が使用しているパーリンノイズジェネレーターのコードです。 private double[,] noiseValues; private float amplitude = 1; // Max amplitude of the function private int frequency = 1; // Frequency of the function /// <summary> /// Constructor /// </summary> /// public PerlinNoise(int freq, float _amp) { Random rand = new Random(System.Environment.TickCount); noiseValues = new double[freq, …

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