百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

调和随机数的混沌_随机调配

moboyou 2025-09-18 04:18 1 浏览

编者按

本文来自作家、游戏智慧(Game-Wisdom.com)创始人乔希·拜瑟(Josh Bycer)的个人博客,由 indienova 取得授权并译制发表,原文链接见文末。

正文

随机数生成(Random Number Generation, RNG)是许多电子游戏中检验玩家是欧皇还是非酋,让玩家的信念接受考验的元素。在游戏中引入混沌(Chaos)不是一件易事,理解它对游戏的影响是游戏设计的必修课。

什么是随机数生成?

随机数生成是概率和运气与游戏设计的交集。如果你玩过一款游戏,其中的某些事件按照概率触发,那么这就是随机数生成在起作用。

RPG 和 Roguelike 游戏设计的一个主要部分是,游戏进程不能总按照玩家的预期发展,这也是游戏重玩性和挑战性的关键。如果设计得当,随机数生成会让玩家不断遇到全新的挑战和情景,极大提升游戏的重玩性。

随机数生成棘手的地方在于,它的影响根据游戏采用的设计而大相径庭。如果随机性过小,那就只是在令玩家不痛不痒的地方浪费时间。但若随机性过大,玩家又会觉得游戏胜负脱离其掌控。

混沌的尺度

随机数生成的作用是在游戏中创造可控的混沌,每款游戏应用随机数生成的方式不尽相同。我们在优秀游戏中常见的一种设计是为玩家提供一致的硬编码元素。让玩家清楚他们有何选择以及可能的结果是很重要的。

随机数生成可能根据其影响的游戏核心循环部分产生巨大影响

例如在《幽浮:未知敌人》(XCOM:Enemy Unknown)中,玩家虽然不能确定他们的射击能否命中,但他们清楚命中概率和可能造成的伤害。如果缺乏一套玩家能够理解的底层逻辑,玩家可能会觉得游戏过于混乱。

我玩过一些随机性过于极端的游戏,以至于游戏结果完全脱离玩家掌控,比如《塔尔西斯》(Tharsis)。

另一方面,也有一些游戏试图通过引入随机数生成来提高重玩性,但结果却弄巧成拙。如果随机产生的结果太少,那就没必要引入随机性了,比如随机掉落 6 点或 7 点攻击力的武器。

随机数生成的影响可能走向任何一个极端,故而需要精心平衡。在《生化危机 7》(Resident Evil 7)中,虽然在某种程度上,物品的掉落位置是固定的,但掉落何种物品是随机的,其权重会向玩家缺少的物品倾斜,这是为了确保玩家可以在游戏进程中补充必需品。

游戏的随机性越大,就越难为玩家提供一致的体验。每个轻松通关的幸运儿背后都有一群饱受坏运气折磨的倒霉蛋。

无论你的设计包含多少随机性,理解它在游戏核心循环中会产生什么影响都是至关重要的。

随机的游戏玩法

随机数生成就像是调味品,它的影响因其影响的内容有很大差异。

游戏的随机性越小,意味着玩家要面对更多固定的结果和情景。如果完全没有随机性,游戏在玩家通关后将变得毫无挑战性,毕竟游戏内容不会有任何变化。

话虽如此,但只要运用得恰到好处,即使一点点随机性也会对游戏产生巨大影响。《超越光速》(FTL:Faster Than Light)和《陷阵之志》(Into the Breach)都采用了确定的游戏系统和规则,前者中的随机数生成会影响玩家遇到的事件和物品,而后者则会在战斗中生成随机敌人。

这些情况不仅极大影响了游戏玩法,也影响了玩家对变化因素的应对策略。在游戏中随机应变是带有随机性要素的游戏的关键部分,但随机应变也是有限度的。尤其要小心,当随机性直接影响到玩家的选择时,它可能会让游戏变得过于困难。

在《陷阵之志》中,每个回合,玩家的行动选项都是固定的,但遭遇的敌人是从预设的固定池中随机产生的。一次不利的生成就可能导致玩家陷入恶性循环。

当玩家对局势失去掌控,没有办法让其回归正轨时,游戏就有些过于随机了。

稳定之手

如果在游戏系统中应用得恰到好处,随机数生成可以对你的设计产生深远影响。如果设计能够与随机数生成相契合,允许玩家减弱随机性或是利用随机性以获得优势,就会成为其精通游戏的关键。

优秀的随机数生成机制为玩家提供了即兴发挥的空间

随机性太大或太小都会破坏游戏体验。不管游戏的随机性如何,进程有多么不可控,一定要有固定的底层逻辑供玩家学习,以及有应对方案来防止游戏因随机数生成而脱离玩家掌控。

这就是使得《洞穴探险》(Spelunky)如此出色的内在因素之一。无论程序生成的关卡难度如何,最终能否通关都取决于玩家的技巧和熟练度。不仅如此,尽管这些关卡是通过算法生成的,但它们仿佛都经过设计师精心打造。

但如果随机数生成过于局限,或是只做表面文章,那么无论生成程序如何调整,游戏本质上都是换汤不换药。

原文链接:https://medium.com/@
GWBycer/balancing-the-chaos-of-rng-8cf9ce7de103* 本文内容系作者独立观点,不代表 indienova 立场。未经授权允许,请勿转载。

相关推荐

一个时间选择器,为何大家都不相同

在自媒体平台的定时发布功能中,看似基础的时间选择器,在不同平台却呈现出显著差异——从时间范围限制、日期展示方式,到时间精度与交互布局,各平台设计均有侧重,这些差异背后,实则是对用户场景、操作便捷性...

全新生成模型「离散分布网络DDN」如何做到原理简单,性质独特?

本文作者杨磊,目前在大模型初创公司阶跃星辰担任后训练算法工程师,其研究领域包括生成模型和语言模型后训练。在这之前,他曾在旷视科技担任了六年的计算机视觉算法工程师,从事三维视觉、数据合成等方向。他于2...

大模型“记性差一点”反而更聪明!随机剔除token,让AI不再死记硬背

训练大模型时,有时让它“记性差一点”,反而更聪明!大语言模型如果不加约束,很容易把训练数据原封不动地复刻出来。为解决这个问题,来自马里兰大学、图宾根大学和马普所的研究团队提出了一个新方法——金鱼损失(...

彩票并非纯靠运气!老彩民绝不会告诉你的,五个选号笨办法!

在许多人眼里,购买彩票纯粹是一场与命运的对赌,完全依赖于那缥缈的运气。然而,真正深入其中的老彩民们却深知,虽然最终的开奖号码随机,但在选号的过程中,确实存在一些值得琢磨的“门道”。这些方法看似“笨拙”...

老程序员爱用AI写代码:调查显示三成资深工程师一半代码靠AI生成

IT之家9月8日消息,一项新调查深入剖析了生成式人工智能(GenAI)对软件开发者日常工作的变革作用。结果显示,不同资历的工程师呈现出明显分化:资深工程师更倾向于大量使用AI生成代码,主动...

告别手动!4种批量建Excel,省时还不出错

你是不是也遇到过这种情况:月底要做报表,要给每个部门单独建一个Excel;项目汇总,每个客户都得生成一份数据文件。光是新建、命名、保存这一套流程,就得重复几十遍。鼠标点到手酸,眼睛还得紧盯着生怕出错,...

财务多个发票凑一个金额,花了1天,同事用Excel2分钟搞定

我们现在有很多发票金额,如下是模拟的数据,这里有10张发票然后总金额是固定的,是由以下的发票金额凑起来正好的数值也不确定具体是几张发票凑起来的现在需要快速的将它们找出来,正好凑好总金额遇到这种凑金额的...

调和随机数的混沌_随机调配

编者按本文来自作家、游戏智慧(Game-Wisdom.com)创始人乔希·拜瑟(JoshBycer)的个人博客,由indienova取得授权并译制发表,原文链接见文末。正文随机数生成(Rando...

大模型“记性差一点”反而更聪明,金鱼损失随机剔除token,让AI不再死记硬背

训练大模型时,有时让它“记性差一点”,反而更聪明!大语言模型如果不加约束,很容易把训练数据原封不动地复刻出来。为解决这个问题,来自马里兰大学、图宾根大学和马普所的研究团队提出了一个新方法——金鱼损失(...

彩票店老板绝不会告诉你的十个选号潜规则!早知道早中奖!

每天都有无数彩民走进彩票店,怀揣着梦想购买一两注彩票。你可曾想过,那些看似随机的数字背后,可能隐藏着一些不为人知的"潜规则"?经过多方打探和走访,我们终于整理出彩票店老板绝不会主动告诉...

Excel数据重塑利器:WRAPROWS和WRAPCOLS函数详解

WRAPROWS和WRAPCOLS是ExcelforMicrosoft365中引入的两个新函数,它们能够将单行或单列的数据按照指定的方式重新排列成多行多列的二维数组。WRAPROWS:...

生成式AI不是“通用智能”,而是“工具革命”:企业落地的3个关键思考

从ChatGPT到Midjourney,生成式AI的“魔法”正在席卷各行各业。但在热潮之下,我们更需要冷静思考:它真的具备“智能”吗?其实,生成式AI不是通用智能的雏形,而是一场信息处理方式的“工具革...

建议收藏!BigemapPro 快捷命令+函数公式大全,效率直接拉满

在使用BigemapPro处理地理数据时,熟练掌握快捷命令和函数公式能极大提升工作效率,告别重复操作,让你的地图编辑、数据处理更高效。今天,就为大家整理了一份超全的BigemapPro实用技巧,涵盖常...

Excel制作小型抽奖系统,可以内定结果,拿去用

“年会抽奖还能内定?别笑,我亲眼见过。”这句话一出,会议室瞬间安静,老板都忍不住探头。其实内定不是黑幕,而是技术——Excel就能搞定。三分钟搭好,零代码基础也能玩得飞起,关键是还能让全场嗨到尖叫。先...

告别加班!27个Excel新函数全面升级你的工作效率,新手必看!

今天我要为大家带来27个Excel新函数全面解析,这些都是微软近年来推出的重磅功能,能够让你的工作效率提升十倍不止!一、动态数组革命:彻底改变Excel计算方式FILTER函数-按条件筛选数据=F...