让建站和SEO变得简单

让不懂建站的用户快速建站,让会建站的提高建站效率!

你的位置: 电玩观察 > 热门推荐 > 游戏评测 将游戏机制和帧数绑定,给玩家们制造了些许的乐子与坚苦?
热点资讯

游戏评测 将游戏机制和帧数绑定,给玩家们制造了些许的乐子与坚苦?

发布日期:2024-09-20 02:33    点击次数:170

配置升级了?那么时候也要启动加速了。

在Steam上收成占比四分之三的差评事后,Roguelike名作《雨中冒险2》的新DLC《风暴探寻者》毫无疑问算是作念砸了。

假如仅是DLC更新的关卡、幸存者和敌东谈主存在问题,那不买DLC便罢。

然而《雨中冒险2》的内容随DLC的上线一并迎来强制更新,顺带接入数不清的Bug和舛讹,包括但不限于:当场暴毙,掉帧卡顿,纹理缺失,物品不再高亮,关卡变得更难攻略,最终Boss“米斯历克斯”难过无敌……

终局《雨中冒险2》内容的近期好评率也被株连到了“驳倒不一”的水平。

原作家Hopoo和他的团队在两年前将《雨中冒险》系列的版权卖给了刊行商Gearbox,是以《风暴探寻者》是绝对由Gearbox操刀的第一款《雨中冒险》DLC。当今Gearbox不仅需要承受来自Hoppo跟玩家们的怒气,还得担起全责,栽植他们我方给游戏带来的新问题。

8月30日,即《风暴探寻者》上线两天后,Gearbox发布了一篇开发日记。日记列出的海量问题中,第一条且最致命的一条如下:

“游戏中的很多元素齐受到一个Bug的影响,这个Bug会导致它们的行径字据玩家的帧数而更正。这些要素包括物理系统、报复速率和迁徙。”

官方用了一周时候才修好这个Bug。在这一周里,他们推选的权宜之策,是在成就里锁定游戏运行帧数至60帧。仅在60帧下,《雨中冒险2》的天地才会按照正本的节律妥当运行。

而在不同配置的电脑所带来的不同帧数下,游戏内发生的一切也将产生加速或延缓。倘若取消帧数适度、放任帧数纵容增长,这个天地便将在加速的熵增中制造无限的重大和苦难,气得难以扞拒反复重开的玩家幸存者们捶胸顿足——

将帧数和机制强行绑定在沿途,会给游戏带来辛劳的苦难。念念说显着这条真谛并不是件容易事,但这个Bug版块的《雨中冒险2》提供了绝佳的圭表。

1

大体来说,因为玩家变装性能受到帧率影响,很多变装在高帧率下齐得到了加强,乍一看搞得《雨中冒险2》像是一款变相的“P2W”(氪金致胜)游戏,电脑配置越好,变装随着越强。

高帧率下,变装的刀兵射速和技能冷却时候也齐得到了普遍加强。比如,刀兵射得更快,位移浮现技能飞得会更远。“工程师”的追踪鱼叉提高了锁定速率,“呛鼻毒师”的吸血技能也加速了吸血速率。

30帧和450帧下“携带官”R技能的射速对比,Youtube@Neon Shockz

高帧率下转起来了的“装卸工”,Youtube@Neon Shockz

像“船主”的霰弹枪,需要通过蓄力减弱弹丸的扩散范围。但在高帧率下,弹丸的分布面积比以前愈加齐集,推测是减弱分布的公式也受到时候影响,随着帧速率提高发生了数据变动。

图源Reddit:u/bataloof

而在锁定30帧的情况下,这些技能齐会变弱,弱到有些滑稽的地步。

“雇佣兵”的腾飞变“陆游”,Youtube@Neon Shockz

按理说,《雨中冒险2》不算是太新的游戏;天然是具备超大数据狡计量的肉鸽,但不去刻意刷谈具死堆变装属性的话,也尚不至变成“显卡杀手”。高帧率带来的高变装性能,理当当作一次具有普适性的增强。

但是受到帧率影响的,不仅唯有玩家这一边。

有些敌东谈主在高帧率下倒是变笨了,只会反复起跳停在原地。也许有一排代码决定敌东谈主每隔几秒起跳一次,而过高的帧数大幅裁汰了敌东谈主的起跳闭幕。

Youtube@Neon Shockz

但敌东谈主的数目(生成速率)和质地齐在产生质的飞跃,让玩家们猝不足防——猝是暴毙的猝。

很多敌东谈主齐有锁定玩家后立即辐射的激光,在高帧率下,激光的锁定速率快得特等,险些无法躲藏。前期Boss“石巨东谈主”雷同领有激光报复,仍是每帧齐要狡计的握续性伤害,高帧率时出伤速率也随着提高,瞬息挥发玩家变装的血条。

*惨死* Youtube@Neon Shockz

另一个飞动Boss“漫游者”濒死时会开释超新星爆炸,对隔邻忖度打算酿成致命伤害,前期胁迫普遍,但它爆炸前会留出一段时候供玩家躲藏。高帧率会裁汰这段时候,让这个自爆报复变得躲无可躲。

365建站

蓄力后果齐没炫夸完,它就爆炸了,Youtube@Neon Shockz

类比这两个Boss,敌东谈主也齐随着帧率高涨得到属性增强,增强的力度还远胜过玩家方,秒杀玩家的情况十分多见。

不仅如斯,包括一些舆图上的中立门径,也会因为帧率问题无法正常功绩。

倘若出于多样成分(比如叠了几十层数值谈具、后台跑了太多重要)导致帧率抑止,天然敌东谈主性能也会下落,但玩家的性能也会跌到离谱的地步,乃至跑齐跑不动。总之不锁60帧的话,Bug版块的《雨中冒险2》玩着太难了。

既然说是Bug,就意味着游戏代码中的某些所在出了问题。比起Gearbox要花一周时候才调修好问题的重要员,有一批东谈主对代码层面的东西更明锐。他们是《雨中冒险2》的Mod作家,不下半天就找出了Bug开头。

问题出在《雨中冒险2》使用的Unity引擎。简而言之,Unity引擎下有两个函数:Update和FixedUpdate。在Update函数中的通盘操作齐是按帧调用,而FixedUpdate则以固定的、预设的执行时候(或称固定时候步长)进行调用,默许是0.02秒调用1次,即1秒50次,频率不错修改。

60帧下,Update每帧(约0.01666秒)调用一次,FixedUpdate则不受帧数影响

Gearbox特地在此次大更新将《雨中冒险2》升级至最新版Unity,却好心办了赖事。改代码经过中,重要员自作东张插入了一大堆额外函数,改着改着,就把本该用FixedUpdate调用的、按执行时候狡计的数据,浑浊成用Update、集合帧数狡计了。

发现并在Reddit上曝光这极少后,从Mod作家到普通玩家们无不又惊又气。

因为搞明晰Update和FixedUpdate的区别,是Unity开发者的必学基础课程;将游戏帧数和机制脱离绑定,或者说将游戏画面炫夸的“渲染帧”和重要狡计的“逻辑帧”脱离绑定,也应该是现如今每个游戏开发者的必修课程。

2

Unity是一款满盈纯熟的引擎,将游戏逻辑和渲染、机制和帧数脱钩的联系功能作念得十分完善,网上的教程也一搜一大把。

然而几十年前的游戏开发者可莫得现成的引擎和如斯理念念的开发要求。他们也根蒂没可能意志到帧数绑定游戏机制可能酿成的苦难。因为帧是重要运行和画面渲染的基本单元,把游戏里发生的一切跟帧数联动起来也天经地义、贼胆心虚。

网上粗略搜到的、惨酷开发者将帧数和机制脱钩的英文教程,最早不错追忆至2004年。阿谁世代属于PS2、Xbox初代和NGC(任天国Gamecube),PC游戏也日暮途远。

而在这个世代及以前的绝大部分游戏,长期将帧速率和游戏机制绑在沿途。就和污名昭著的“千年虫”(Y2K)问题一样,游戏开发者更多斟酌当下而非翌日的需求,而玩家们尚莫得粗略显赫提高游戏帧率的开发。

像是FC这类复旧主机,或者同期代的街机,机能相对受限,一朝游戏画面出现了太多畅通的物体,游戏画面就会卡顿,帧数暴跌;不仅如斯,游戏里的物理时候、物体畅通速率也会一并减慢,参预“枪弹时候”。

这即是帧数绑死游戏机制导致的,要慢沿途慢。不外玩家们并莫得因此吃太多亏,“枪弹时候”偶尔也能匡助玩家实时反映作念出救命操作。

21世纪初,玩家所能领有的硬件开发,非常是PC开发,迎来了突飞大进的发展,在60帧以上运行游戏不再是梦。可运行在这些开发上的“老”游戏,启动出现数不清的问题。

从30帧到100帧,问题其实还不是很大,一些领有以那时圭臬来看算高配电脑的玩家,早早利用起了高帧数或固定帧数带来的上风。

像是辞世纪初头几年的FPS游戏,变装的迁徙速率齐会受到帧数影响。在CS1.6的经典舆图之一“de_nuke”,也等于其后的“核子危险”,T阵营诞生点右侧有个十分笔陡的陡坡,唯有60帧以上的电脑才调朝上爬;假如电脑仅带得动30帧,这辈子齐别念念上去。

365站群VIP

齐市外传是真实

《雷神之锤》和早期几部《功绩召唤》属于另一种情况:将帧数锁定在一个特定的数值时,变装会比平素超过得更高、更远。

这是由游戏集合重力狡计玩家速率和向量的公式所决定的。以《雷神之锤3》例如,在帧数设定为125帧时,玩家粗略超过至60帧环境下不可能到达的平台。因为这游戏的速率狡计公式在每帧终末齐要进行一步四舍五入,而在125帧下得到的数据会取更多的“五入”,酿成略高于预期的瑕玷。

无适度帧数,不行;125帧,彳亍

按公式算333帧下玩家变装跳得最高,但没必要

图源Youtube@Matt’s Ramblings

从100帧到300帧,游戏就会像Bug版《雨中冒险2》那样,运行速率举座变快,偶尔堕入无法攻略的重大中。好比上百帧运行时的GTA老三部曲,主角的迁徙速率、酿成和受到的伤害齐会提高,任务的倒计时也会加速荏苒,再加上一系列Bug,给玩家徒增坚苦。

死于大跳的冷面杀手,Youtube@nikitozz

无法正常索降的精锐特警,B站@R星老清子

从300帧到3000帧,由于逐帧播放的菜单动画也加了速,屏幕前的玩家致使没方针选中“启动新游戏”的选项,更别说玩了。

平均4000帧下一齐疾奔、逃走不出演示动画的《东方红魔乡》

包括一些在主机端以30帧运行的老游戏,若是强制搬到PC端的模拟器,再以60帧运行,也会冒出多样各类的Bug。

念念让游戏变得正常,要么念念方针重写代码,先让一部分病笃的机制和帧数脱钩,起码让游戏能玩得下去,但这一招优化本钱太高;要么用多样游戏表里的技巧强制锁定游戏运行帧数,比如官方提供的硬锁和垂直同步功能,以及民间自行开发的模组,作念到低本钱致使零本钱。

由于逾期引擎的底层代码留住的不朽适度,念念让一些老游戏提到60帧运行齐成了奢想。

例如《号令与校服》和《红色警戒》系列所使用的引擎,就会逐帧推演时候荏苒,酌定跑30帧,多不了极少。倘若强愚弄用某些用具冲突帧数适度,单元的动画跟AI的操作齐会变得鬼畜起来,惟恐玩家还没操作造出第一个动员兵,对面就派出坦克把玩家基地奉上天了。

3

就算在十几年后的当今,游戏行业也无法解脱帧数的无形大手。只消不影响顶点配置下的游戏体验,闹出《雨中冒险2》那样的见笑;或者粗略通过锁帧等技巧遮盖可能出现的问题,游戏开发者大多会对这个问题睁一只眼闭一只眼。

不是妙手或速通大佬的多数玩家,念念必齐不太会介意,《怪物猎东谈主:寰宇》里太刀的登龙或弩炮的显露弹在某些帧数下少跳一次伤害数字,或者《生化危险2重制版》里昂的小刀在120帧下伤害比60帧要高。

卡普空连年来的3A大作所使用的RE引擎,亦然一款常见的会受帧数影响游戏机制的引擎。这款引擎中的大多数代码其实齐是基于执行时候而非帧功绩的,但卡普空仍是把最病笃的动作和伤害判定部分交给帧数来操控。

365建站客服QQ:800083652

《怪物猎东谈主:寰宇》显露弹跳伤害次数也随帧数变化

Discord:Moonbunnie0001

事实上,不少的游戏引擎齐接纳了访佛的双制度,将一部分跟游戏逻辑联系的机制交给执行时候,将另一部分需要严格且赤诚地渲染在画面中的机制交给帧数。

不管是在泰西仍是在亚洲,游戏开发者齐普遍不肯毁灭帧数对游戏机制的影响。这并不一定是因为他们犯懒。

领先“祖先之法不可变”,很多十几年前的引擎如今还在用,代码修改难度和本钱确切太高。例如《号令与校服》参预3D期间所使用的SAGE引擎、卡普空的RE引擎,乃至B社的Creation引擎、R星的RAGE引擎、FromSoftware自研的家传引擎,齐会因帧数变动产生物理机制的变化。

《阴沉之魂2》旧版块的刀兵经久度会在60帧加速浪费

但这极少是不错被栽植的

何况这世上从来不是唯有PC玩家。主机帧数领路,主机玩家没意义斟酌在60帧以上运行游戏的问题,一些将主机玩家视作东要用户的游戏,根蒂不需要斟酌脱钩的这一步。

而况这一步说着容易,实则意味着要闪开发者多写成百上千行的代码。这些代码会对硬件酿成额外的职守,占用大量性能,提高单平台或多平台的优化难度,乃至株连游戏渲染,酿成画面扯破。

那些凝视动作渲染的游戏,包括《街头霸王6》这么格斗游戏在内,更不可能冒着阻拦动作同步和敞开度的风险,将逐帧进行的动作强行绑定执行时候。比起浪费时候优化代码,开发者开心接纳更肤浅凶残的锁帧工夫,幸免高帧率开发阻拦游戏均衡性。

是以,即便Unity明确分辨了帧数调用和执行时候调用的两种函数,用Unity打造的《原神》和《万古赓续》最终仍是变成了“高帧数等于高攻速”的典型代表。

《原神》不同帧数下的攻速对比,B站@紫菜蛇皮汤

另一个使用Unity的着名作品《绝地求生》,在多年前其实也有帧数影响刀兵射速的说法,好在这极少终末靠着握续的优化调度得到了栽植。

什么时候这极少不需要栽植呢?天然是成心把帧数对游戏机制的影响,作念成游戏想象的一部分。现时看来,忖度也唯有那些玩梗的Meta游戏,念念到反治其身,用这套系统逼着玩家拉低帧数。

2020年的比萨互联网节日游戏大赛上,一款叫作念《让我卡顿》(Make Me LAG)的小游戏得回了一等奖。在这款横板游戏中,主角仅在60帧以下时才会启动行径,要求玩家接纳技巧调控游戏运行的帧数,进行迁徙、超过、报复等操作。

国产Roguelike游戏《清零权略2》于本年推出的更新中,也添加了“帧数越低伤害加成越高”的词条想象。

帧数和游戏机制之间剪束缚理还乱的关系,不一定非得是令游戏开发者头疼几十年的梦魇,也能变成饱读动玩家积极利用的精巧想象,是开发者的挑战,但某些情况下亦然机遇。

要我说,《雨中冒险2》亦然肉鸽,比起遮盖曩昔的舛讹,不妨把Bug代码留个备份。《雨中冒险2》领有一个神器机制,神器非常于《雨中冒险2》的内置修改器,粗略透彻更正一局游戏的体验。将游戏机制绑定游戏帧率的Bug,以及这个Bug带来的狡赖天地,就挺相宜作念成一个官方神器,既有乐子,又有至心。

不外念念不念念作念和能不行作念是两码事。亘古亘今那么多的游戏开发者,齐无法科罚帧率和游戏机制的问题;关于修这个Bug齐能修上一周的Gearbox重要员,仍是不要给他们添加太多功绩职守为妙。

他们能让《雨中冒险2》走出代码舛讹和Bug满天飞的困境,玩家们就安闲了。

部分参考辛苦:

https://gafferongames.com/post/fix_your_timestep/

https://gameprogrammingpatterns.com/game-loop.html

https://docs.unity3d.com/Manual/ExecutionOrder.html

https://docs.unity3d.com/Manual/TimeFrameManagement.html

https://www.reddit.com/r/Cynicalbrit/comments/3dqwga/the_fps_lock_what_it_is_why_should_you_avoid_it/

https://www.youtube.com/watch?v=he02vJvKaRs

https://docs.google.com/spreadsheets/d/e/2PACX-1vSM-BTBvmvsovRJ2SaYdLLutC_CImTKpFh4GXcb3bNimjvbb54hGNFb2Nwne2zBJIkPR00zKGxOO4C0/pubhtml



----------------------------------