触乐怪话:千万不能让这个人跑了

“代码屎山”的魅力——你不知道你将面对什么。

实习编辑司普毅2025年08月08日 21时25分

触乐怪话,每天胡侃和游戏有关的屁事、鬼事、新鲜事。

图/小罗

在我记忆里,2024年春夏的北京降水十分丰沛,尤其在5月某天夜里23点时,我刚好错过末班地铁,网约车排队也显示到了百人左右。

即便衣衫湿透,大雨却丝毫不歇,此时我便会格外强烈地体会到一些事。这一年,我平生第一次在游戏开发项目里担任剧情负责人。既然制作人大哥胆敢让我统筹整个剧情组的工作,我只好硬着头皮全力以赴。

上峰的战略规划以几乎不间断的压力向每个执行层传导,他们打算让这个项目在尽可能短的时间内成型,然后产生稳定的经济效益。公司的股价和高管的情绪价值都很需要这件事、这个项目的顺利推进,毕竟在最初的设想中,这个组的研发过程没什么严重的不可抗力。技术积累,同类项目的工程、美术资源积累,设计文档积累,以上内容几乎覆盖了项目开发可以想到的所有环节,其余要做的就是善加调配,排列组合,理顺流程,同时解决一些不起眼的Bug,待一切就绪……兴许就可以提前想一下分红的场面啦。

2024的夏天北京频频降雨

在研发时段,对值得自己敬佩的平级同事,我习惯称呼为“教授”。昔时剧情组只有一位女教授,她在创作方面未展露锋芒,所以我在剧情规划环节尚能指点江山,在故事创作、对白设计上偶尔吹牛炫耀。教授的性格与公司气质相似:做事循规蹈矩,待人平和如水,是那种易于相处却难以成为挚友的类型。后来我获悉她的智力测试得分在135往上,我就多多少少理解了这个情况——面对我的炫耀,她不曾鄙视我,可能只是因为懒。

千里之行,最大的挑战不是遥远的目的地,而是鞋子里边角锋利的碎石,我们有对项目一帆风顺的期待,也有应对挫折随时出现的心理准备。但在墨菲定律生效的时间段,挫折就喜欢以最刁钻的角度、以最大的程度现身,让我们深深记住这个充满雨水和忧郁的季节。

为什么说到鞋里的碎石呢?因为首先出现的麻烦叫“采矿”。这是一个基础机制,可以简单定义为“玩家角色和场景内物件的交互”,每个玩家都会遇到,例如矿石采集、手动启动机关、开门等等。这个机制是如此基础,适用性如此宽泛,几乎是关卡和任务制作的主食,所以有好几个项目的任务策划和关卡策划对它前赴后继,拓展完善。

采矿:最基础的交互功能(配图与我的项目无关)

作为一个玩家,你进行某个游戏的日常,完成了这样一个交互操作,然后任务进度加一,你会觉得这一切顺理成章。可你也许不知道,这一切背后是整个采矿的基础机制和它后续附加的巨量逻辑。那么现在,这个机制空前强大,它的风险也随之而来,这一点让我想到一个名场面——

所以功能越强,麻烦越大

在剧情内容落地为任务流程时,我们发现这个机制没有正确生效。具体来说,它对应到任务里本应该是这样的:玩家抵达对应坐标,屏幕显示对应按钮,按钮应当能点击,点击后显示交互读条和动作,交互完毕后交互物会发生变化,最后任务进度有所增加。而在我们的实际工作中,总有一个环节出现预期之外的问题,例如任务卡死、交互后报错、任务进度没涨、按钮戳了没响应等等,且每一类错误每次出现的模样都不尽相同。各类症状随机排列组合,像是会自发进化的病毒。

教授就在此刻展露锋芒。解决此类问题要先定位问题所在,要基于专业理解和程序同学沟通,要依据经验和想象力拿出解决思路,她作为小组唯一的技术精通者,一力承担了其中的所有难点。我们其余几位文科生只能感慨:为什么代码的本质如此不通人性,为何不能被人类的焦虑、焦急和无能狂怒所直接影响?

作为策划来说,协同程序解决此类问题或许应当是日常基本功,但公司多年的技术和功能积累岂是儿戏?毕竟,随着功能一同积累流传至今的还有大量Bug,Bug之间彼此关联,又形成新的问题——最妙的是,不同Bug彼此影响制衡,能促成一个“功能正常”的假象,然后尽责的程序员就会在逐一修缮的过程中,发现这个功能整体是如此难以捉摸,变幻莫测。

教授的兴趣之一是克苏鲁神话,我猜她很早就据此理解了“代码屎山”的魅力——你不知道你将面对什么。不同Bug不定期反复出现,也成了项目进度在曲折中前进的缩影——可至少还在前进,因为教授稳定发挥,非常从容。据我目测,所有问题的解谜难度均在她的实力范围内。除开能力表现,教授的态度也突出一个稳定,不激进,也不气馁,像地球绕太阳公转一样,顺畅自然,且不可阻挡——至少看起来如此。

面对已解决的问题,她会给出结果和原理介绍;面对正在解决的问题,她能描述进度和方案;面对未解决的问题,她可以拿出解决思路;面对复发的问题,她能精确推测是被哪个模块的变化影响。我本以为她可能是精通某种话术,以避免在工作汇报上出现纰漏,后来实测发现,技术上真得按她的来。

有一次,我在休息区看她瘫在沙发上发呆,打过招呼之后,她告诉我自己感觉有点累。至此,我才重新确立了“我们都是碳基生物”这样的认知,虽然她累的模样也显得很稳……

那些尽职的程序员,面对这历经多个项目传承的功能和Bug之时,便能体会其中的滋味

这件不起眼的事之后,一个更根本的问题开始困扰我。我开始担心教授会不会某天离开这个项目,虽然同事之间薪资保密,但公司数年来经营艰辛,一直没有调薪,按教授入职的时间来算,很容易得到一个结论:比起她的付出,组织安排的待遇要略低于恰当的水平。如果她被挖走了,或者主动跳槽了,剧情组的工作该怎么办呢?随后我想到了一句关于《魔兽世界》随机战场攻略的表述:“如果真的没办法了,就找个依山傍水风景秀丽的地方,准备释放灵魂吧。”

在后续的正式或非正式场合,我每次同领导沟通这件事,都像影视剧中临终的龙套用“家祭无忘告乃翁”的口吻强调,“千万不能让这个人跑了,否则大量工作直接抓瞎”。领导也被我的描述触动,表示之后随着项目进展,如有机会一定为她狠狠加薪。

现在回忆起来,那个时候大概是秋天,所属时段是个模糊的里程碑,在教授的漫长努力下,工程原有的Bug已经被修缮了很多,项目版本有了新的精神面貌,稳定运行成为常态。然后连着冬天,研发部门为了内容铺量,又提升了加班强度。除开工作本身的压力之外,我也继续为教授对项目的容忍度而担心。

直到除夕过去,新春来临,在万物复苏的时节,虽然教授始终未离开一线,但我的担心终于结束——项目被公司撤销了。

2025的夏日,北京迎来了更加离谱的降水。时至今日重新复盘,那时候我有很多做得不足的地方,值得反省。但另一部分原因真的也要归咎于环境和初始条件——那就是另一个故事啦。

0

实习编辑 司普毅

学海无涯,回头是岸。

查看更多司普毅的文章
关闭窗口