在itoch下载游戏时,发现caribdis推荐了两个模组, 一个是Bonus模组,另一个passive-wt模组,惊讶于如此视觉小说游戏都可以开发模组之后,结合以前在星露谷物语玩过的ValleyTalk模组,一个点子在我脑海中萌生,为何不开发一个mod将DeepSeek接入游戏中,实现用短信和我老婆们对话呢?
#本日志目标在于一方面督促我自己日更,坚持把模组开发下来,另一方面给以后的开发者一些借鉴与参考
模组最初的构想:
1.跟游戏中在左上角显示的画廊一样,时刻在左上角显示一个手机图标,点击就可以给AI驱动的女角色发自定义短信,对话
2.将故事线中的事件记录下来,女角色可以记得发生过什么/约定了什么,会在约会前给你发送短信提醒你别忘了,也可以调情。
3.和女角色的聊天风格会随着好感度变化,聊天也可以适当影响好感度(-3 ~ +3)
4.聊天就跟星露谷的《ValleyTalk》模组一样,AI会扮演女角色发送短信给你,同时给你3/4个回答用于选择


图片来自于BV12sf1Y8Edu
在可行性分析过后发现,实际上这种需求并不大,我沉浸在故事中的时候,不会刻意的去打开手机跟女角色聊天,因为故事的发展会吸引玩家很大一部分注意力,使用手机聊天往往是通关后意犹未尽才会点开。而且随着游戏动态发展,每一个事件都记录下来的工作量太大了,我自己难以实现。如果是在《永恒世界》游戏中时,或者和某个人约会时,打开手机和别人聊天,也会破坏沉浸感。
在经过深思熟虑之后,我对需求做出了一些调整:
不再始终显示手机图标,取而代之,会在游戏内的每天晚上睡觉前打开手机和女角色聊天,就跟游戏中的发送短信一样,但是可以一直聊到玩家选择睡觉为止。这种方案也方便把一整天的事件记录下来。
确定需求之后我就去研究如何开发mod了
永恒世界使用renpy游戏引擎开发的,语言相当简洁易学,同时也可以使用python作为编程语言。
首先要做的是参考其他模组,分析游戏文件(因涉及18+内容,这里不再给出参考地址)
下载Bonus模组后得到了Eternum_feature_mod_0.8.6.rpa,文件,将其解包之后得到了

看起来毫无头绪,将游戏也解包,两者解出来的很多东西都重名

翻阅renpy文档发现,renpy在加载时,会按照名称(0~1,a~z)顺序预加载所有脚本文件,mod名Eternum_feature_mod 排在archive之后,所以mod中的脚本文件会在游戏源文件之后加载,对于重名的脚本文件,因为mod是后加载的,所以会覆盖掉源文件(怪不得说不与其他mod兼容,直接修改了源文件,兼容就见鬼了)。
分析一下源文件

分析之后大概知道了每个脚本是干什么的,script1~8是版本0.1~0.8的内容 pax gallery控制着画廊,chat是短信的实现
明日目标 深入解析chat和pax脚本,初步实现短信画面
参考文档
社区:https://www.renpy.cn/
文档:https://doc.renpy.cn/zh-CN/
解包:https://www.renpy.cn/thread-16-1-1.html
#本日志目标在于一方面督促我自己日更,坚持把模组开发下来,另一方面给以后的开发者一些借鉴与参考
模组最初的构想:
1.跟游戏中在左上角显示的画廊一样,时刻在左上角显示一个手机图标,点击就可以给AI驱动的女角色发自定义短信,对话
2.将故事线中的事件记录下来,女角色可以记得发生过什么/约定了什么,会在约会前给你发送短信提醒你别忘了,也可以调情。
3.和女角色的聊天风格会随着好感度变化,聊天也可以适当影响好感度(-3 ~ +3)
4.聊天就跟星露谷的《ValleyTalk》模组一样,AI会扮演女角色发送短信给你,同时给你3/4个回答用于选择


图片来自于BV12sf1Y8Edu
在可行性分析过后发现,实际上这种需求并不大,我沉浸在故事中的时候,不会刻意的去打开手机跟女角色聊天,因为故事的发展会吸引玩家很大一部分注意力,使用手机聊天往往是通关后意犹未尽才会点开。而且随着游戏动态发展,每一个事件都记录下来的工作量太大了,我自己难以实现。如果是在《永恒世界》游戏中时,或者和某个人约会时,打开手机和别人聊天,也会破坏沉浸感。
在经过深思熟虑之后,我对需求做出了一些调整:
不再始终显示手机图标,取而代之,会在游戏内的每天晚上睡觉前打开手机和女角色聊天,就跟游戏中的发送短信一样,但是可以一直聊到玩家选择睡觉为止。这种方案也方便把一整天的事件记录下来。
确定需求之后我就去研究如何开发mod了
永恒世界使用renpy游戏引擎开发的,语言相当简洁易学,同时也可以使用python作为编程语言。
首先要做的是参考其他模组,分析游戏文件(因涉及18+内容,这里不再给出参考地址)
下载Bonus模组后得到了Eternum_feature_mod_0.8.6.rpa,文件,将其解包之后得到了

看起来毫无头绪,将游戏也解包,两者解出来的很多东西都重名

翻阅renpy文档发现,renpy在加载时,会按照名称(0~1,a~z)顺序预加载所有脚本文件,mod名Eternum_feature_mod 排在archive之后,所以mod中的脚本文件会在游戏源文件之后加载,对于重名的脚本文件,因为mod是后加载的,所以会覆盖掉源文件(怪不得说不与其他mod兼容,直接修改了源文件,兼容就见鬼了)。
分析一下源文件

分析之后大概知道了每个脚本是干什么的,script1~8是版本0.1~0.8的内容 pax gallery控制着画廊,chat是短信的实现
明日目标 深入解析chat和pax脚本,初步实现短信画面
参考文档
社区:https://www.renpy.cn/
文档:https://doc.renpy.cn/zh-CN/
解包:https://www.renpy.cn/thread-16-1-1.html