Proxyos Weekly 051
Laurence-042
- One minute read - 171 wordsTL;DR 概览
加固引入演出,减少其可靠性问题。完善了第一章系统,但尚未完整测试
本期目标
- 把 demo 从 alpha 打磨到 beta
- 第一章
- 系统恢复操作指南 的认知负担太重,直接去掉整个 系统恢复操作指南,然后使用一个独立的、默认启动的程序来带着玩家敲一遍,完事之后再让玩家用 diagnose 和 manual fix。
- xterm 的 col 似乎计算不太对劲,有时候一行末尾的字只显示了一半,需要看下 xterm 实现,必要的话进行修复
- xterm 的 cursor_pos 在 cursor 不在视野内时返回末行 pos 是个 bug,而且在外面基本没法绕,只能修 xterm
- 重新实现第一章的系统
- 内部编辑系统本体
- 我应该还需要在恢复演出脚本里额外加个变量存在性检查,在玩家输错的情况下帮助快速定位问题
- 需要添加 exception 转译,把异常翻译成人话,避免 indent 和 not defined 之类的搞晕玩家(而且说实话它们确实对初学者不友好)
- 第二章
- 将编程手册提前到第二章开始,而不是第一个任务完成后
- 调整文案以适应安全内核的角色调整
- 第一章
- beta 打磨完成后
- 开个 itch
- 琢磨下宣传
进展速记
本期假设 / 预期
预期:
实际上第一章的系统已经不再要求对命令行进行很多操作,只需要玩家输入俩命令体验下就行
这期的核心在于优化第一章的引入演出,测试并调整第一章系统,使其基本可用
xterm优先级不大,可以留到下一期
结果:
感冒复发……不过也就影响了一天
整体来说,本期实际大部分时候在优化引入演出,因为其遗留了不少可靠性问题。而第一章的系统没有经过完整测试,但从逻辑上架构不会有大问题
本期确定性变化
新增:
- 内部编辑器系统正式上线
- 现在内部编辑器可以使用慢速执行了
- 慢速执行时会高亮当前的行,对初学者更友好
变更:
- 调整窗口管理,使其更加易用,并借此合并了一些相似的逻辑
- 大幅调整了之前的内部编辑器架构,简化了数据流,并使职责更清晰
- 优化资源加载,现在可以用更方便易懂的方式组织资源了
- 重构了轻聊消息加载的核心逻辑,之前的逻辑因为多次修改可维护性退化了,这次重构使用了更符合当前需求的新模式
修复:
- 修复了轻聊有时候会多次重复加载并显示同一条消息的bug
- 修复了消息去重后delay仍生效的bug
- 修复了序章的序章里用户数据删除任务被提前发放的bug
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
内部编辑器的慢速执行模式
实际上这本质上几乎是我之前认为不合理的路线,也就是“自造类 vs code 编辑器”,当时我的核心观点是“玩家不会希望自己使用一个不方便的编辑器来写代码”
但我当时忽略了一个事实,那就是 vs code 虽然与 IDE 相比十分简单、模块化,但是对只用过office甚至连office都没用过的初学者来说,依然是一套新的概念
初学者恐怕很难理解左侧边栏那一大堆按钮,也很难接受“F5调试”的习惯
因此最佳实现应该时同时提供两者:在教程阶段提供更适合教学的、功能较少但提示较多的定制内部编辑器。当玩家之后也可以继续使用内部编辑器,但是如果玩家觉得内部编辑器开始限制他们了,他们也可以无摩擦地使用vs code等外部编辑器
所以本期为内部编辑器添加了诸如慢速执行等QoL功能,方便玩家更清楚地看出执行过程
关于玩家Alt+F4的可能
本期对序章的引入做了大量可靠性加固,但是感觉当前的剧本系统有些力不从心了。
这主要是因为当前系统是 以任务完成/触发为主的触发器+各种后效列表 构成的,如果后效执行过程中被停止,那么还未执行的后效都会丢失。
更可靠的系统可能是类似有向图,每次完全执行后才进行存档,这样就能保证操作的原子性。
但具体怎么实现我还得再想想。
瓶颈与问题清单
哪些问题还没解,但也许我已经知道“它们不是什么”?
下期计划
- 把 demo 从 alpha 打磨到 beta
- 第一章
- xterm 的 col 似乎计算不太对劲,有时候一行末尾的字只显示了一半,需要看下 xterm 实现,必要的话进行修复
- xterm 的 cursor_pos 在 cursor 不在视野内时返回末行 pos 是个 bug,而且在外面基本没法绕,只能修 xterm
- 重新实现第一章的系统
- 内部编辑系统测试
- 我应该还需要在恢复演出脚本里额外加个变量存在性检查,在玩家输错的情况下帮助快速定位问题
- 需要添加 exception 转译,把异常翻译成人话,避免 indent 和 not defined 之类的搞晕玩家(而且说实话它们确实对初学者不友好)
- 第二章
- 将编程手册提前到第二章开始,而不是第一个任务完成后
- 调整文案以适应安全内核的角色调整
- 优化剧本系统架构,使存档系统以其为核心,每个Event完成后才存档,以此保证 Trigger+Actions 组成的Event的原子性
- 第一章
- beta 打磨完成后
- 开个 itch
- 琢磨下宣传
试玩版
暂缓,第一次上传需要做好准备,等进入 beta 阶段再说