第275章 什么屎山代码!
顾凡继续解释道:“在进入游戏、选择职业的第一时间,系统不仅会硬塞给玩家一个本职业的基础攻击技能,还会再后台给玩家打上一个『职业标签』。这个职业标签与底层代码没有太多关联,但在一些特殊情况下,相关功能会对这个标签进行检测。
“比如,玩家找训练师学技能的时候。
“可现在的问题在于……因为涅法洛尔这个boss的独特机制,也同样赋予了玩家职业标签!这就导致原本游戏中的双重限制,都被攻破了!”
莉莉丝的大脑有些过载:“等一下!涅法洛尔为什么会赋予玩家职业标签?你说清楚!”
顾凡轻轻叹了口气:“这就要从涅法洛尔第三阶段的这个点名机制说起了。
“看得出来,『点名』这个机制,是制作人在设计涅法洛尔这个boss时就想到的一个独特机制,甚至可以说,就是为了这碟醋才包的饺子。
“但涅法洛尔作为第一个团本中的最终boss,它的设计本就比职业大改要更早。
可买《魔界纷争》这本来就是莉莉丝做出的决定,是她为了赶工期,非要当接盘侠的。
“又比如,原本的设计是在团本中用变羊术控制过小怪的玩家,被点名后会对随机队友释放变羊术。
“但后来改了职业设定,那么涅法洛尔的机制,肯定也要进行一定的修改。原制作人一番小修小补之后,发现了一个令人有些蛋疼的问题,那就是点名职业时,经常会出现一些离奇的BUG,导致游戏崩溃。
莉莉丝感觉自己的脑仁都快炸了,这次问题的复杂程度有些远超她的想象。
莉莉丝都快听傻了。
等玩家下线之后,再清理掉这些额外加上去的乱七八糟的东西。
“只是没想到……有玩家恰好没下线,而且去找其他职业的训练师对话了。”
“为了完成点名的效果,制作人将机制设计成『涅法洛尔会根据玩家上一次对他释放的技能来进行点名』。
“但又回到最初的那个问题,莉总你决定买《魔界纷争》这款游戏,本来不就是为了省时间吗?
“推翻底层代码重写,我们买它的意义何在?”
这才导致玩家阴差阳错地绕开了『技能』和『职业标签』这两重限制,解锁了其他职业的技能和天赋!
“比如,原本的设计是上一个对boss释放过盾击技能的玩家,会放弃使用盾牌;可现在盾击变成了战士和骑士都有的技能,而圣骑士又对应着其他的点名效果,必须摘出来。
如果换成其他的游戏公司,做到这种程度早都该开香槟了。
“而且为了避免游戏后续可能出现的bug,在点名时,如果技能与职业标签冲突,那么以技能为准,并且还会在系统后台默认再给玩家一次对应的职业标签,防止因为读到错误的玩家标签而自相矛盾、导致bug。
显然,玩家在挑战涅法洛尔的过程中,不仅是骗过了涅法洛尔,也把系统给搞混乱了。
所以,才有了这么多的“全职业玩家”出现……
这是什么屎山迭屎山的终极稀碎代码!
原本的设计是一种情况,修改的设计是另一种情况,而为了让修改后的设计能够正常运行,程序员又在上面糊了一层代码,虽然表面上也勉强完成了原本设计好的功能,但鬼知道这个功能具体是怎么实现的!
就拿这个涅法洛尔来说,原本的设计本来挺好的,可就是因为『职业设定』这个修改,让原本的设计必须调整,而这一调整就会出bug,为了修bug,又引发了更多的bug……
“游戏从买来之后,我们就一直在马不停蹄地开发新功能,包括另外的两个大型团本,以及美术资源的全面替换,还有游戏的各种bug修复……
“当然,你要愿意给个一两年的开发时间,我们把这游戏推翻重做都行。
因为《魔界纷争》本身就是个半成品,功能大改过,还有着各种各样离奇的小bug。
“为了解决这些问题,尤其是为了解决漏判的情况,原制作人就又打了一个补丁,那就是当涅法洛尔点名时,优先判定玩家上一个对他的攻击技能。
“可是,顾凡!我们为什么没有把这个遗留问题改掉?”莉莉丝有些愤怒地问道。
“比如,上一个对他释放过盾击类技能的玩家,将会放弃使用盾牌;上一个用图腾对他造成过伤害的玩家,将会插下各种图腾反过来给他加buff。
而点名技能有可能与后面加入的职业代码冲突,既然如此,那就只能以点名技能为准,强行给玩家赋予一个额外的职业代码,让功能跑通。 至少让玩家在团本过程中不至于游戏报错、崩溃或者产生类似的严重后果。
通过玩家技能来释放点名效果,这是最初的设计,关联到太多的底层代码,所以不能改,一改就有可能出大问题。
这种级别的顶级程序员去哪找?
可莉莉丝难受就难受在这一点了。
严格来说,逆天堂的团队开发效率已经很可怕了,在这么短的时间内,不仅多开发出了两个全新的团本,还完成了游戏优化、系统修复等一系列的工作。
“这个设计也有独特设计意图,它鼓励玩家在之前的开荒过程中不要使用变羊术,虽然在打小怪时会大幅增加难度,但打最终boss时就会少一个灭团技能。
“恶性bug都只是勉强改完,哪可能去深究这种表面上看起来完全正常的功能啊?
莉莉丝呆住了,顾凡说得好有道理,完全无法反驳!
而这一解锁,可就再也拦不住了。
“而这本来就是原制作人允许甚至鼓励的玩法。
只要玩家学了任意一个职业的技能,那么按照系统功能,就会默认为他打上相应的系统标签。这个系统标签偏偏不是唯一的,是可以同时存在多个的。
关键是,这个解释还真的挺合理的!
有理有据,甚至前因后果都很清晰。
“但现在按职业划分了,只能改成『点名法师玩家对队友使用变羊术』,可问题是,很多法师玩家压根没用过变羊术。甚至有可能没学变羊术,这就会导致系统在通过变羊术技能来判断法师玩家时,出现漏判。
“而后等玩家下线之后,系统会重新清理玩家身上的职业标签,下次上线就会回到原点。
“要找到这个漏洞,那得需要大量的测试,甚至不知道还要在原本的屎山代码中挖多深,你觉得就我们这个开发时间,够吗?
“此外还可能出现一些极端的特殊情况,比如boss读到了技能,但读到了错误的玩家标签,这种情况虽然概率极低,但程序bug这种东西,也不能说就是0。只要玩家多,概率再低的问题也终究会出现。
目前《魔界纷争》竟然只出了这么一个bug,而没有出现诸如游戏崩溃、反复报错、巨大刷金漏洞等恶性bug,这已经堪称神技。
“这样一来,至少玩家在打涅法洛尔这个boss的时候,不会因为点名和职业问题而发生报错、造成游戏崩溃。
顾凡震惊了:“莉总,你听听你在说什么!
“我们哪有这个时间啊!
“所以在最开始的时候,涅法洛尔并不能直接点名职业。因为那时候,玩家还没有职业。
“这种机制能够给玩家造成一定的困难,但其实也给玩家提供了足够的反制手段:只要玩家在点名前,预先学习一个特定的、无关紧要的技能摸boss一下,就可以骗过boss,破解这一机制。
《阴影世界》为什么出问题?
“这对于玩家来说,就多了一种战术与取舍。
表面上是点名职业,但实际上还是在点名技能。
可没想到,层层修改之后,代码虽然勉强运行了起来,但却产生了更大的漏洞。
如果真是游戏崩溃、反复报错、刷金漏洞等bug,她反而心里还好受一点,毕竟劝退了玩家,也能产生不少的负面情绪。
可现在这个bug,不仅没有劝退玩家,反而让玩家们爽到了!