Questions tagged «random»

产生本质上是随机的事件或行为的算法或方法。

3
如何从种子产生随机水平?[关闭]
我将如何使用随机种子生成游戏关卡?相同的种子应始终生成完全相同的水平。 对于此示例,它将是蠕虫样式级别。因此,每个级别都会有一个主题(草地,雪地等),基本地形,不同的对象(例如树木)。 那么我将从哪里开始创建这种级别生成器呢?会涉及什么?它使用什么概念? 积分为任何任何好的链接(奖励积分为任何有关它是如何在蠕虫或类似的完成)。 谢谢。

6
为什么涉及奖励和统计信息时使用随机数?
许多游戏使用随机数来表示攻击伤害,金币战利品或产生的怪物类型。显而易见,随机数使您能够生成内容,使游戏更具可重玩性,但是我在谈论的是特定的东西。例如:在DOTA中,杀死怪物时,您会在x和y之间获得随机数量的黄金,而x和y永远不变。当您攻击任何东西时,您有机会在52-60之间的范围内造成伤害。如何使金滴静态变化,改变游戏规则? 我觉得随机数可以改善游戏玩法,但是我很难理解为什么。有谁知道为什么随机数与伤害或掠夺之类的东西一起使用时能使游戏玩法更好的原因?我希望得到的答案不会归因于好运。

9
如何制作一个受先前事件影响的“随机”生成器?
我希望实现一个基于机会的系统,该系统受先前事件的影响。 背景:几年前,我记得《魔兽世界》的一个更新,宣布他们实施了一个新的机会计算器,可以抵消棘手的事件链。(例如,进行严厉打击或连续躲避几次)。这个想法是,如果您避开某个命中,那么您躲避下一个命中的机会就会减少,但是这将双向起作用。不回避命中同样会增加回避下一个命中的机会。这里的主要技巧是,在几次试验中,闪避几率仍然与他或她的状态表中给予该球员的百分比相对应。 这种系统当时非常吸引我,现在我处于需要这种解决方案的情况。 这是我的麻烦: 我猜想我将能够找到有关实施这种系统的在线资源,但是我可能缺少找到它的相关口号。 我还需要这种方法来适应不是二项式(即两个结果),而是包含4个互斥事件的系统。 我当前的方法类似于抽奖券系统。当事件发生时,我更改权重以支持所有其他事件。如果这四个事件具有同等可能性,那么这可能会起作用,但就我而言,这需要更加普遍。但是,由于普遍事件发生的频率更高,它使其他事件的权重偏移比预期的高得多,而且我似乎找不到为使平均故障单数量保持在事件的初始值附近所需的权重转移的数字。给定的。 一些方向指针或一个清晰的例子将不胜感激。
37 random 

7
如何创建加权集合,然后从中选择随机元素?
我有一个战利品盒子,我想填充一个随机物品。但是我希望每个项目都有被拣选的不同机会。例如: 5%几率获得10金币 剑几率20% 45%几率获得盾牌 装甲几率20% 药水的几率10% 如何做到这一点,以便我选择上面的项目之一,这些百分比分别是获得战利品的机会?
34 random 

6
是否有任何视频游戏设计以有趣的方式使用非均匀随机数?
各种各样的视频游戏使用均匀分布的数字来决定事件的结果,例如“击中机会的50%”几乎总是意味着检查从0-1开始的随机浮点数是否大于0.5。许多游戏会将这些统一百分比中的一些叠加在一起,例如D&D命中率是1-20之间的均匀分布数字,除了1和20具有特殊的结果。在我看来,设计师似乎添加了一些重要的命题,以试图模仿这样一个事实:实际上,命中/失败或赢/输实际上不是二进制结果。 在许多情况下,攻击所造成的实际“破坏”量可能更接近于高斯/贝尔曲线分布,这导致中间出现,但偶尔会出现非常令人兴奋的离群值和平滑曲线,将它们连接起来。像《卡坦的殖民者》这样的骰子游戏通过将多个独立的掷骰相加来模拟高斯分布,但是我觉得我几乎从未在电子游戏中见过这种机制。 像《文明》这样的游戏(Sid Meier在GDC上广泛地谈论了玩家的感知与游戏中使用的实际数学不符)将受益于与现实世界中事物运作方式相匹配的结果。是否有任何视频游戏以有趣的方式使用了高斯或非均匀分布的随机数?

5
如何在随机数生成中避免“太”幸运/不幸的条纹?
我目前正在使用一种多人战斗系统,其中玩家造成的伤害总是乘以0.8到1.2之间的随机因子。 从理论上讲,真正随机的RNG最终可能会多次产生相同的数目(请参阅“ 俄罗斯方块困境”)。这可能导致一场比赛,其中一名球员总是造成很高的伤害,而另一名球员总是造成非常低的伤害。 我该怎么做才能确保不会发生这种情况?有些RNG在避免重复方面比其他RNG好吗?

3
地图生成的随机种子函数?
我正在寻找一个函数来生成随机的,基于图块的地图,因为地图的视觉边界发生了变化(通过地图)。我希望地图无限大,并具有迷宫般的结构。 但是,如果世界是无限的,那么回到玩家之前所处的位置会带来问题。游戏必须记住那里所有东西的实际外观。 所以,我在想-“我的世界如何解决这个问题?” 我以为自己必须使用某种带有种子的随机数函数,该函数既可以向前又可以向后移动,这样就可以像以前一样完全重新生成旧的图块,但是在新的实例中。 您对此有何想法?

7
连续加权随机分布,偏向一端
我目前正在为我们的游戏的粒子系统做出贡献,并开发了一些发射器形状。 我沿直线或矩形区域的均匀随机分布效果很好-没问题。 但是现在,我希望在这种分布中具有一维梯度。例如,这意味着较低的值比较高的值更常见。 我不知道什么数学术语可以解决这个问题,因此我的搜索技能对这个问题毫无用处。我需要一些计算简单的东西,因为粒子系统需要高效。

2
具有连接路径的过程二维地图算法
要解决的问题:为所有房间相连的基于图块的游戏生成随机的2D地牢地图。 我正在寻找比目前更好的解决方案。 我当前的解决方案是运行两种算法。第一个生成带有其房间的地牢。第二个要确保所有房间都已连接。我很好奇还有什么其他解决方案。更快和/或更容易等。速度并不是真正的问题,但是如果可以免费获得速度,那将是一件好事。更重要的是,我和其他阅读者可以学习不同的方法来解决问题。 以下是我当前的实现。房间目前没有出口,也没有任何2、3或4个方向的出口。 生成地下城房间 设置:将当前房间设置为左上方的房间。 获取该房间的有效房间类型(其中有效的房间类型是在地牢中没有出口,并且其出口与上方房间和左侧房间的出口相匹配的类型。只需要在上方和上方进行检查即可)由于下面的第2步而离开)。 放下房间,将x坐标前进一个步骤。如果x坐标超出地牢宽度,则将x坐标设置为0,并将y坐标前进一个步骤。如果y坐标超过地牢高度,则完成。 从#1开始重复。 然后,我检查是否所有房间都已连接。如果还没有全部连接,我运行第二种算法,该算法以非性感但在地下城布局方面肯定足够好的方式穿过这些房间并进行更改,以便所有被连接起来。 检查是否所有房间都连通 设置:创建一个表示路径的整数2D映射,并将条目初始化为“未处理”(尚未遍历)值-1。将跟踪当前路径的起始路径索引整数设置为1。通过将当前房间添加到要检查的房间堆栈中,将当前房间设置为左上房间。 如果堆栈中包含要检查的房间,则将其弹出以将房间的路径索引设置为当前路径索引。如果堆栈中不包含任何房间,请增加路径索引并尝试逐列逐行前进以获取房间,直到获得尚未处理的房间。如果找不到房间,我们就完成了。 检查房间是否在左侧有出口。如果已添加左侧空间,则将其添加到堆栈中。 对向下,向右和向上方向重复步骤2(因为我们使用的是堆栈,这意味着从顶部方向开始以顺时针顺序遍历房间)。 从步骤1开始重复。 如果路径索引计数大于1,则表示房间已断开连接。 如果存在断开连接的房间,则将房间按其路径索引分组,获取最大路径的索引,然后将所有其他房间连接到这些房间。这是一项正在进行中的工作,但是我的(当前的,“粗俗的”)计划是要遍历一个房间组(第一个房间除外)中的每个房间,以检查是否有通往Biggeset房间组的水平或垂直路径,并且如果是这样,请通过在其间注入/更新房间来在其中创建水平/垂直路径。冲洗并重复。丑陋的,是的,但是就视觉模式而言,这是不明显的,因此可以在这种意义上发挥作用。

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适用于实习生“时钟”,“随机”数字是基于此的。 我的问题是,现在UnityEngine.Random和System.Randomand 之间还有其他区别,并且更适合在Unity项目中使用巫婆代码?
24 unity  c#  random 

4
随机产生的故事
目前,我正在开发一款游戏,我知道随着玩家的前进,游戏的故事情节会随机生成,并且他们的行为会影响故事。 就游戏玩法而言,这将是一个坏主意,还是具有多个结局的故事情节是最佳主意?

3
历史记录生成算法如何工作?
我听说过游戏《矮人要塞》,但只有现在我在YouTube上关注的一个人对此进行了评论……当我注意到矮人要塞实际上如何为世界创造历史时,我感到非常惊讶! 现在,这些算法如何工作?他们通常做什么除了模拟的时间长度,将作为输入?它们的具体程度如何? 更重要的是 可以用Java语言制作,还是Java语言太慢?(我猜这取决于模拟的深度,但以矮人要塞为例。)

3
如何为类似Minecraft的引擎生成漂浮的陆地块?
我正在XNA中创建类似于Minecraft的引擎。我想要做的是创建类似于此视频中所示的浮岛: http://www.youtube.com/watch?v=gqHVOEPQK5g&feature=related 我将如何使用世界生成器复制它?我必须使用一些Perlin噪声算法吗?我不知道这将如何帮助我取得这样的土地质量。 这是我正在使用的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, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.