每天听简报,了解最新科技、AI、软件资讯
经典文字冒险游戏 Infidel 藏着一个编译器错误,玩家在沙漠里丢东西,就会写坏内存。开发者 Andrew Plotkin 用内存调试工具发现,游戏记录物品位置的表始终是空的。反汇编后,他看到默认参数被编译成全局变量的编号,而非变量里存放的地址。读写两边都用了同一个错误地址,物品照样能找回来,所以普通游玩很难察觉。他实测丢下九件物品再离开,覆盖到了文字压缩数据,游戏把英文冠词替换成了另一个词。另一轮测试还让解释器崩溃。他核对的版本来自一九八三和一九八四年,尚未调查后续游戏是否有同类问题。
进度保存在本设备 · 登录同步