- 语言
- 英语
- 发布于
- 4天前
- 复刻
- 1
katiahayati/lucasartsifier ↗· Python· 最近提交 2天前
和 LucasArts 的作品不同,Sierra 的冒险游戏会让人卡死。在洛杉矶忘了带防晒霜就上邮轮,几天后你会死在木筏上,且无路可退。这个工具先反编译 Sierra 的 SCI 游戏,再对脚本做抽象解释,把房间之间的带条件跳转、物品流转和剧情标志的写入整理成一张图,从中找出那些仍然接受输入、通关却已经不可能的状态。接着它推导出能挡住这类跳转的守卫条件,在模型上验证,编译后写回游戏。工具里没有写死任何一部作品的信息:起始房间、通关房间、死亡信号和调试用全局变量,全部从游戏自己的代码里推断出来。同一套引擎、不加针对单个游戏的分析代码,已经分析并实机测试了四部作品,从 SCI0 的《脂粉传情 2》《国王密使 IV》,到 SCI1.1 的《国王密使 VI》和《劳拉·鲍 2》。