第283章 大改的遗留问题(2 / 2)

作品:《当我写了个BUG却变成核心玩法

“事实上,由于《魔界纷争》在制作的前半段,压根没有职业的设定,所以这些职业,都是后加入的。

“因此在一些影响重大的底层代码中,都是不跟职业代码挂钩的。

“毕竟写这些代码的时候,还压根没有职业这個东西,而之后加入职业,又不敢再去重写底层代码,只能凑合用着。

“所以,《魔界纷争》限制玩家跨职业学技能的办法非常简单,甚至可以说是简陋。

“玩家选好职业刚建立账号时,就默认由系统塞给他一个相关职业的技能。比如牧师是惩击,法师是火球术,术士是暗影箭,战士是英勇打击,盗贼是背刺,等等。

“而之后玩家升级、找职业训练师的时候,职业训练师会检测玩家之前掌握的技能,以及对应的职业标签。

“如果有对应职业的技能,那么就正常开放技能和天赋学习列表,而如果是其他职业的技能,就不开放,取而代之的是说一句台词把他打发走。”

莉莉丝简直是目瞪口呆:“喂!这听起来也太草率,漏洞太大了!”

顾凡微微摇头:“其实吧……漏洞不大。

“这就是程序员实现功能的典型思路,用最简单的代码来完成功能。

“毕竟这样改动,工作量是最小的。不需要重新做一个职业表,然后重新将职业代码写入游戏底层,那样几乎等同于推翻重做,工作量太大,是无法接受的。

“而现在的这种改法,虽然看起来草率,却可以正常地完成功能。而且按照正常情况,也不会出什么问题。”

莉莉丝气得拳头都握紧了,但她也必须承认,顾凡说得对。

这个办法虽然草率,但正常情况下还真不至于出问题!

玩家的技能在创建角色的时候就默认给了,比如玩家选了法师,系统塞给他一个火球术,那么之后他在游戏中去找任何其他的职业训练师对话,系统检测到他身上有一个火球术,都不会对他开放训练面板。

只有在跟法师的职业训练师对话时,才能正常学习法师的后续技能。

这不是也就顺利达到了固定玩家职业和天赋的目的吗?

可偏偏,游戏出现了不正常的情况。

那就是……窃法者、恶意馈赠这两个天赋技能,以及涅法洛尔这个boss!

但很快莉莉丝又有了新的疑问:“等一下,你说职业训练师不仅会检测玩家的技能,还会检测玩家的职业标签?那不对啊,这是双保险,没道理出问题啊,职业标签的检查根本通不过啊!”

顾凡继续解释:“至于这个意外情况是怎么发生的……莉总我带你从头捋一下。

“首先我必须声明,窃法者、恶意馈赠这两个天赋技能,以及涅法洛尔这个boss,都是《魔界纷争》这款原游戏中就有的设计!这可跟我没关系啊。

“显然,窃法者和恶意馈赠这两个天赋技能是原制作人奇思妙想的设计,原本是所有玩家都能学的,后来才不情不愿地拿来用作了奥术法师和痛苦术士的终极天赋。

“如果游戏中的训练师只检测玩家上一个获取的技能,那么玩家其实不需要去挑战涅法洛尔,只需要去打一下战场就可以了。

“进入战场,找到敌对玩家,用窃法者偷一个技能,这样再去找训练师对话时,训练师就会检测到玩家的上一个技能是其他职业技能。

“可是,我们游戏也开了低等级战场,终极天赋45级就可以点了,但却没有任何一名玩家在战场中发现这个机制。

“这就是因为《魔界纷争》原本的设计就是一个双保险,它虽然没有直接写死在底层的『职业代码』,但是有『职业标签』这个东西。

“原制作人很有可能也注意到了这个漏洞,并用『系统标签』去堵了一下。看起来堵住了,但实际上……可能他自己也没想到,会百密一疏。”

(本章完)