第283章 大改的遗留问题
作者:青衫取醉   当我写了个BUG却变成核心玩法最新章节     
    莉莉丝愣住了:“啊?《魔界纷争》的锅?”
    她的表情肉眼可见地蔫了下去,但很快,她又支棱了起来,显然打算以更加激烈的态度否认。
    怎么会是原游戏的锅呢?
    那四舍五入,不就是自己的锅了吗?
    众所周知,买《魔界纷争》改游戏的事情,是莉莉丝自己最终拍板的,现在去追究人家原开发商的责任肯定是莫名其妙,也丝毫没有道理,那岂不是就只能莉总背锅了?
    岂有此理!
    莉莉丝显然不服:“好,那你说说为什么是《魔界纷争》的锅,我劝你想好之后再发言啊!”
    顾凡小熊摊手:“这件事情……说来话长。
    “莉总,你也知道《魔界纷争》这款游戏是经过了一次大改的吧?
    “在最初,这位制作人也是野心勃勃的,他想要制作一款自由度极高的mmorpg游戏,不同于其他游戏那种固定的职业和技能搭配,而是像某些独立游戏一样,让玩家自选技能搭配,打造属于自己的构建。
    “但是真正制作起来却bug一堆,最后他无奈放弃了这个想法,又回到了最原始的老路上来,制作了固定的职业技能和天赋。
    “如此一来,游戏的平衡性问题和bug问题大体解决了,但游戏也变得平庸了,这才导致游戏的夭折和难产。”
    莉莉丝微微点头:“嗯,我倒是有所耳闻!但是这跟我们现在遇到的bug有什么关系?就算《魔界纷争》是个半成品又怎么样呢?那跟跨职业学习技能以及boss点名判定有什么关系!”
    顾凡微微摇头:“你看,又急。莉总我还没说完呢。
    “莉总你要知道,改代码这种事情,是不可能全部推翻重做的,只能小修小补,让它凑合着跑起来就行了。
    “决定大改的时候,《魔界纷争》已经做了很长时间,也花了很多钱,就算原本那位制作人决定大改,也绝不可能推翻重做,公司高层是不可能答应的。
    “他只能是在现有预算的情况下,小修小补,用比较迂回的方式来完成这种修改。
    “所以,这游戏的底层代码中,其实能够看到很多遗留问题。
    “比如,怒气和法力值的问题。
    “如果在其他的游戏中,怒气就只是战士或者熊德独有的资源条,而圣骑士的资源条是法力值。即便圣骑士学了战士的横扫等技能,也压根没有怒气来释放。
    “为什么《阴影世界》里就可以?
    “因为在我们游戏中,『怒气』和『蓝量』这两个资源条,也是通过技能和天赋来实现的!玩家在最开始是没有资源条的,通过学习技能、点天赋获取。
    “所以,当一名圣骑士玩家解锁了其他职业的技能时,他就可以通过学习技能、点天赋获得怒气条,同样的,他甚至还能获得能量条和其他职业的资源条。
    “护甲专精和武器专精,也是同理。
    “在其他游戏中,某一职业能够使用什么样的武器、穿什么样的护甲,都是直接限定在职业上的。
    “圣骑士能穿板甲,也能穿布甲;而牧师只能穿布甲,不能穿板甲。
    “可是在这游戏中,武器精通和护甲精通,也都在技能和天赋里,都是可以学的!
    “之所以会出现这种问题,是因为《魔界纷争》最开始就是一款自由打造bd的游戏,为了让玩家自选,必须将资源条和护甲精通这一类的机制设计成可自主学习的东西。
    “而在之后改动时,制作人根本没有精力和资源去重写底层代码,只能是通过『将特定的资源条与护甲精通技能锁定在某一职业的技能与天赋中』的这种办法,来变相地实现这一功能。
    “所以……就出现了一系列的问题。”
    莉莉丝震惊了:“那,那,按照原本《魔界纷争》的设计,不是已经限制了不能跨职业学习技能了吗?这个限制到底是怎么失效的!”
    顾凡继续解释:“是的,《魔界纷争》确实限制了跨职业学技能这一点,但是……限制了又没有完全限制。
    “事实上,由于《魔界纷争》在制作的前半段,压根没有职业的设定,所以这些职业,都是后加入的。
    “因此在一些影响重大的底层代码中,都是不跟职业代码挂钩的。
    “毕竟写这些代码的时候,还压根没有职业这個东西,而之后加入职业,又不敢再去重写底层代码,只能凑合用着。
    “所以,《魔界纷争》限制玩家跨职业学技能的办法非常简单,甚至可以说是简陋。
    “玩家选好职业刚建立账号时,就默认由系统塞给他一个相关职业的技能。比如牧师是惩击,法师是火球术,术士是暗影箭,战士是英勇打击,盗贼是背刺,等等。
    “而之后玩家升级、找职业训练师的时候,职业训练师会检测玩家之前掌握的技能,以及对应的职业标签。
    “如果有对应职业的技能,那么就正常开放技能和天赋学习列表,而如果是其他职业的技能,就不开放,取而代之的是说一句台词把他打发走。”
    莉莉丝简直是目瞪口呆:“喂!这听起来也太草率,漏洞太大了!”
    顾凡微微摇头:“其实吧……漏洞不大。
    “这就是程序员实现功能的典型思路,用最简单的代码来完成功能。
    “毕竟这样改动,工作量是最小的。不需要重新做一个职业表,然后重新将职业代码写入游戏底层,那样几乎等同于推翻重做,工作量太大,是无法接受的。
    “而现在的这种改法,虽然看起来草率,却可以正常地完成功能。而且按照正常情况,也不会出什么问题。”
    莉莉丝气得拳头都握紧了,但她也必须承认,顾凡说得对。
    这个办法虽然草率,但正常情况下还真不至于出问题!
    玩家的技能在创建角色的时候就默认给了,比如玩家选了法师,系统塞给他一个火球术,那么之后他在游戏中去找任何其他的职业训练师对话,系统检测到他身上有一个火球术,都不会对他开放训练面板。
    只有在跟法师的职业训练师对话时,才能正常学习法师的后续技能。
    这不是也就顺利达到了固定玩家职业和天赋的目的吗?
    可偏偏,游戏出现了不正常的情况。
    那就是……窃法者、恶意馈赠这两个天赋技能,以及涅法洛尔这个boss!
    但很快莉莉丝又有了新的疑问:“等一下,你说职业训练师不仅会检测玩家的技能,还会检测玩家的职业标签?那不对啊,这是双保险,没道理出问题啊,职业标签的检查根本通不过啊!”
    顾凡继续解释:“至于这个意外情况是怎么发生的……莉总我带你从头捋一下。
    “首先我必须声明,窃法者、恶意馈赠这两个天赋技能,以及涅法洛尔这个boss,都是《魔界纷争》这款原游戏中就有的设计!这可跟我没关系啊。
    “显然,窃法者和恶意馈赠这两个天赋技能是原制作人奇思妙想的设计,原本是所有玩家都能学的,后来才不情不愿地拿来用作了奥术法师和痛苦术士的终极天赋。
    “如果游戏中的训练师只检测玩家上一个获取的技能,那么玩家其实不需要去挑战涅法洛尔,只需要去打一下战场就可以了。
    “进入战场,找到敌对玩家,用窃法者偷一个技能,这样再去找训练师对话时,训练师就会检测到玩家的上一个技能是其他职业技能。
    “可是,我们游戏也开了低等级战场,终极天赋45级就可以点了,但却没有任何一名玩家在战场中发现这个机制。
    “这就是因为《魔界纷争》原本的设计就是一个双保险,它虽然没有直接写死在底层的『职业代码』,但是有『职业标签』这个东西。
    “原制作人很有可能也注意到了这个漏洞,并用『系统标签』去堵了一下。看起来堵住了,但实际上……可能他自己也没想到,会百密一疏。”