由于最近对DnD比较感兴趣,感觉就是剧本杀的变种,支持各种模组。如果能够支持中国的仙侠文化,那就完美了。可惜找遍网络,并没有发现有对应的模组。那只能自己动手丰衣足食了。
准备
第一步当然是要对仙剑剧情有足够的了解。虽然通过几遍仙剑,但由于时间久远已经很模糊了。再重玩,并将所有剧情记下又太费时间。所以决定从程序入手,自动生成剧本。
首先你得有仙剑源文件和资源,可以买Steam版,也可以找其它方式。我买的时候是打包价仙剑1-3,不到¥30,也算补票了。
其次下载SDLPAL,一个仙粉制作的仙剑程序,支持仙剑DOS版和98柔情版。主要用以分析和模拟仙剑内剧情。
最后推荐个仙剑逆向工程的资源合集PAL Research,包含MKF文件解包打包脚本,道具/敌人对应的十六进制码,以及IDA的逆向工程文件等。
计划
工具已经准备好了,该如何提取游戏中的剧本呢?当然游戏中没有写好的剧本,但只要提取出场景,人物,对话内容,我们就可以有个简易的剧本了。这里提出几个方案:
- 日志法
通过游玩游戏,将游戏进度写入日志。再通过分析日志来生成剧本。
优点:简单可行,在SDLPAL代码中与对话场景相关处添加日志输出即可。
缺点:需要再玩一遍游戏,隐藏场景可能会漏掉。 - 人工智能法
让机器控制游戏角色,遍历所有场景的所有对话。
优点:自动化。
缺点:技术难度较大,需要处理战斗物品等与剧本不相关逻辑。 - 提取法
对话在98柔情版中已明码存在MSG_chs.txt文件中,如果知道场景以及人物关系即可提取出相应剧本。
优点:直观,符合逆向工程思维。
缺点:场景人物未知。 - 程序法
通过分析SDLPAL代码,让其遍历游戏场景,并根据场景中人物生成对话。
优点:快速,直接。
缺点:需要吃透SDLPAL代码和仙剑的资源文件。 - 拿来法
如果已经有人总结出现成的剧本,那直接拿来用岂不更香。
优点:最快速简便。
缺点:目前没有找到相关内容,甚至可能没有。准确性也存疑。
完
当写到拿来法的时候,我就想要不再换个关键词搜索下。没想到就被我找到了:仙剑全对话.rar,所以也就不用再麻烦分析代码来找剧本了。唯一需要做的是将对话与场景结合起来,这个也可以根据对话联想回忆起来,所以也不那么重要了。
综上,要勤用搜索引擎,少走弯路。
以后会继续分享关于SDLPAL的分析,以及TRPG《仙剑世界》(PAL World)的创作历程,敬请期待!
[…] 接上篇,有了吃一堑长一智的经验,这次我先求助万能的搜索引擎。想着仙剑这么有名,难道没个同人桌游啥的。 […]