第284章 什么屎山代码(第1页)
请退出浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。🎁黑料不打烊看片
顾凡继续解释道:“在进入游戏、选择职业的第一时间,系统不仅会硬塞给玩家一个本职业的基础攻击技能,还会再后台给玩家打上一个职业标签』。这个职业标签与底层代码没有太多关联,但在一些特殊情况下,相关功能会对这个标签进行检测。
“比如,玩家找训练师学技能的时候。
“可现在的问题在于……因为涅法洛尔这個boss的独特机制,也同样赋予了玩家职业标签!这就导致原本游戏中的双重限制,都被攻破了!”
莉莉丝的大脑有些过载:“等一下!涅法洛尔为什么会赋予玩家职业标签?你说清楚!”
顾凡轻轻叹了口气:“这就要从涅法洛尔第三阶段的这个点名机制说起了。
“看得出来,点名』这个机制,是制作人在设计涅法洛尔这个boss时就想到的一个独特机制,甚至可以说,就是为了这碟醋才包的饺子。
“但涅法洛尔作为第一个团本中的最终boss,它的设计本就比职业大改要更早。
“所以在最开始的时候,涅法洛尔并不能直接点名职业。因为那时候,玩家还没有职业。
“为了完成点名的效果,制作人将机制设计成涅法洛尔会根据玩家上一次对他释放的技能来进行点名』。
“比如,上一个对他释放过盾击类技能的玩家,将会放弃使用盾牌;上一个用图腾对他造成过伤害的玩家,将会插下各种图腾反过来给他加bu。
“这种机制能够给玩家造成一定的困难,但其实也给玩家提供了足够的反制手段:只要玩家在点名前,预先学习一个特定的、无关紧要的技能摸boss一下,就可以骗过boss,破解这一机制。
“而这本来就是原制作人允许甚至鼓励的玩法。
“但后来改了职业设定,那么涅法洛尔的机制,肯定也要进行一定的修改。原制作人一番小修小补之后,现了一个令人有些蛋疼的问题,那就是点名职业时,经常会出现一些离奇的bug,导致游戏崩溃。
“比如,原本的设计是上一个对boss释放过盾击技能的玩家,会放弃使用盾牌;可现在盾击变成了战士和骑士都有的技能,而圣骑士又对应着其他的点名效果,必须摘出来。
“又比如,原本的设计是在团本中用变羊术控制过小怪的玩家,被点名后会对随机队友释放变羊术。
“这个设计也有独特设计意图,它鼓励玩家在之前的开荒过程中不要使用变羊术,虽然在打小怪时会大幅增加难度,但打最终boss时就会少一个灭团技能。
“这对于玩家来说,就多了一种战术与取舍。
“但现在按职业划分了,只能改成点名法师玩家对队友使用变羊术』,可问题是,很多法师玩家压根没用过变羊术。甚至有可能没学变羊术,这就会导致系统在通过变羊术技能来判断法师玩家时,出现漏判。
“此外还可能出现一些极端的特殊情况,比如boss读到了技能,但读到了错误的玩家标签,这种情况虽然概率极低,但程序bug这种东西,也不能说就是o。只要玩家多,概率再低的问题也终究会出现。
“为了解决这些问题,尤其是为了解决漏判的情况,原制作人就又打了一个补丁,那就是当涅法洛尔点名时,优先判定玩家上一个对他的攻击技能。
“而且为了避免游戏后续可能出现的bug,在点名时,如果技能与职业标签冲突,那么以技能为准,并且还会在系统后台默认再给玩家一次对应的职业标签,防止因为读到错误的玩家标签而自相矛盾、导致bug。
“这样一来,至少玩家在打涅法洛尔这个boss的时候,不会因为点名和职业问题而生报错、造成游戏崩溃。
“而后等玩家下线之后,系统会重新清理玩家身上的职业标签,下次上线就会回到原点。
“只是没想到……有玩家恰好没下线,而且去找其他职业的训练师对话了。”
莉莉丝都快听傻了。
这是什么屎山叠屎山的终极稀碎代码!
原本的设计是一种情况,修改的设计是另一种情况,而为了让修改后的设计能够正常运行,程序员又在上面糊了一层代码,虽然表面上也勉强完成了原本设计好的功能,但鬼知道这个功能具体是怎么实现的!
就拿这个涅法洛尔来说,原本的设计本来挺好的,可就是因为职业设定』这个修改,让原本的设计必须调整,而这一调整就会出bug,为了修bug,又引了更多的bug……
显然,玩家在挑战涅法洛尔的过程中,不仅是骗过了涅法洛尔,也把系统给搞混乱了。
通过玩家技能来释放点名效果,这是最初的设计,关联到太多的底层代码,所以不能改,一改就有可能出大问题。
表面上是点名职业,但实际上还是在点名技能。
而点名技能有可能与后面加入的职业代码冲突,既然如此,那就只能以点名技能为准,强行给玩家赋予一个额外的职业代码,让功能跑通。
🎁黑料不打烊看片请退出浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。