我决定重新翻出《金庸群侠传》这个老古董,纯粹就是因为前段时间我在家休养,闲得发慌。这个系列的游戏,我从DOS时代就开始玩,但总觉得原版有太多遗憾,比如很多人物的结局太仓促,或者某个武功的设计逻辑就不对。
从修BUG开始的漫长旅程
我最先盯上的,是原版那个恶心的存档BUG。很多老玩家都吐槽,玩到一半数据就可能错乱。我下载了虚拟机和几个反编译工具,目标很明确:定位游戏内部处理存档的那段核心代码。我花了一个多星期,才摸清楚它早期那个简陋的数据结构是怎么分配和读取内存的。这玩意儿简直是上世纪的黑箱,很多变量的命名和调用方式根本是乱七八糟,我硬是把那几百行汇编代码打印出来,一句一句地啃。
一旦存档问题解决了,我的野心就开始膨胀了。光修BUG没意思,得增加点内容。我决定给原版补充一些《鹿鼎记》的后续剧情,因为韦小宝的线总是草草了事。我找到了游戏里几个未使用的地图ID,塞进去自己画的几张小地图,然后着手写新的对话脚本。别提多费劲了,它那个脚本系统极其原始,每句话的字数都得卡死,稍微多一个字就导致后面的数据全崩掉。
- 拆解了战斗公式,发现很多隐藏属性根本没用。
- 我重写了内力对招式威力的影响,让后期内功的地位提升。
- 新增了四个隐藏侠客,并且补足了他们的立绘。
- 修复了二十多处人物加入离队的逻辑错误。
为什么我能有时间折腾这个?
很多人问我,作为一个上班族,哪来的精力搞这么大的工程。说出来有点讽刺。我为啥能一头扎进这个老游戏里?
今年年初,我那项目被紧急叫停了。当时公司正在搞一波“内部优化”,美其名曰结构调整,就是变相裁员。我当时正在负责一个紧急上线的新产品,为这项目我连续加了三个月的班。结果?产品刚发布,项目组就被解散了。
我拿了一笔还算体面的补偿金,本想说趁机休息一阵子,出去走走。结果人算不如天算,家里老人突然生病需要人照顾,我根本走不开,被拴在了家里。每天除了医院和家里两点一线,我就把自己彻底扔进电脑里。那时正好赶上我正在攻克韦小宝的脚本问题,我白天跑腿,晚上就拿着代码本子对照,把所有的精力都砸进去了。
我在意的早就不是什么商业价值了,就是想把童年里那个有点残缺的世界给补圆了。我写完这段更新日志的时候,已经是凌晨四点多了,窗外天都快亮了。我的“魔改版”终于可以放出了,它包含了我这几个月所有的心血和憋屈。这回的更新量非常大,我相信能让和我一样怀旧的老玩家,重新找到二十多年前的那种感觉。