Proxyos Weekly 096
Laurence-042
- One minute read - 120 wordsTL;DR 概览
……地图是一点没动,但第二章联调炸出来的东西基本修完了。
本期目标
- 将第三章开头补充进 demo
- 通用搭载平台的 app
- 将 demo 结束提示放在通过通用搭载平台回家后的场景
- 更多内容
- 支线任务
- 更多任务
- 实用化任务时限
- 命令行内容?(等第三章?是否需要?)
- 远程访问?
- 更精细化管理事件而不是按章组织?mod 支持?
- 用英语通玩一遍
- 开个 itch
- 琢磨下宣传
进展速记
本期假设 / 预期
预期:
上期身体不适咕了,说实话这期也不算很好,所以我觉得能搞定地图就是胜利
结果:
当前第二章收尾相关的部分因为是多个系统协作,暴露出了很多单元测试没发现的问题,这期全处理相关问题去了
本期确定性变化
新增:
变更:
- 优化桌宠表现。之前桌宠的触发对话action会阻塞下一个action直到桌宠对话完成,这导致玩家没注意桌宠时可能反复休眠试图到达下一个任务触发时间点并发现毫无作用
- 桌宠对话action现在不会阻塞下一个action了,触发的对话会缓冲起来,存档也会记录pending的对话,让桌宠下一次游戏启动时继续说
- 优化第二章主线任务3的一些材料,让玩家在跑测试时更容易确认程序行为
- 优化任务状态机,现在允许依赖任务尚未完成的未解锁任务提前进入等待发放的状态,并在依赖任务完成后立刻发放
- 主要是因为玩家可能在第二章主线任务5过程中完成任务6的前置,提前触发任务6
- 同时优化了任务5完成的桌宠对话,会根据任务5完成前是否提前满足任务6的触发条件走不同分支。如果玩家没有提前完成任务6的触发条件,会有额外的任务引导玩家
- 优化了第二章的文案
- 补充了遗漏的一些内容
- 添加了更多的提示
- 让交流更加有喜剧效果
- 统一可变文本段的实现
- 之前有一套独立的玩家名称存储,现在它被合并进通用的kv存储了
- 将任务详情、桌宠消息、轻聊消息等大段文本升级
- 支持markdown
- 支持长链接缩写
- 优化context menu
- 优化同一个链接重复领取coin时的错误提示
- 添加了kv存储和钱包调试工具
修复:
- 修复新插入的聊天信息不显示附件的bug以及一个潜在的同类bug
- 因为插入的本质就是把发消息的action提供的message对象copy一份插入存档,而入存档的那份需要剥除附件部分只存必要的消息id以及可能的消息内容——结果这个copy不是deepcopy,把给显示的那份原件里的附件也给清空了
- 修复桌宠连续两次说相同的话时,后一次会被吞掉的bug
- 这个是因为有id去重,而在没有设置显式id的情况下,id是event_id+content_hash,相同event的两次相同内容的say action就会出现去重
- 后来寻思了下,桌宠的话就是说一次就完事的,又不像simplechat那样需要持久化,id根本没啥用,然后就把id和去重机制删了
- 修复了因为不恰当的剧本delay设置导致三个有短暂间隔的消息需要隔一次休眠才会触发的bug
- 修复窗口管理器的贴靠逻辑异常导致贴靠预览无法正常显示的bug
- 补充了一些遗漏的翻译
- 修复了游戏内的交易系统因为尝试从客户端获取时间导致的游戏内安全问题
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
桌宠 say 从同步阻塞 action 改成异步缓冲队列:这实际上是在明确“叙事表现不能阻塞世界状态推进”。
任务引入“等待发放”状态:这是把“前置条件已经满足,但依赖任务还没完成”正式纳入状态机,而不是继续靠触发顺序凑巧正确。
桌宠短消息取消 ID/去重机制:明确区分了“需要持久化、幂等的消息实体”和“一次性表现事件”,把之前过度统一的数据模型拆开了。
瓶颈与问题清单
哪些问题还没解,但也许我已经知道“它们不是什么”?
- mod meta、mod list、pylock.toml、依赖安装与版本回滚之间还需要形成稳定流程,否则后续 mod 管理会变成新的技术债。
下期计划
- 将第三章开头补充进 demo
- 通用搭载平台的 app
- 将 demo 结束提示放在通过通用搭载平台回家后的场景
- 更多内容
- 支线任务
- 更多任务
- 实用化任务时限
- 命令行内容?(等第三章?是否需要?)
- 远程访问?
- 更精细化管理事件而不是按章组织?mod 支持?
- 用英语通玩一遍
- 开个 itch
- 琢磨下宣传
试玩版
暂缓,第一次上传需要做好准备,等进入 beta 阶段再说