欢迎来到《ProxyOS 半周报》合集。这里将按时间顺序汇总每期周报,便于快速回顾里程碑与关键决策。
Proxyos Weekly 042
TL;DR 概览
又跳票了……但我确实在肝,而这些问题,我也确实很难说如果我经验足够我就能预见
本期目标
- 一个打磨完的 demo
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
序章内容差不多了,第一章先前单独打磨过问题应该不大,但第二章可能需要做些调整,有些网站可能需要调整架构。所以还是有希望本期出demo的
第一章问题根本很大,其机制是最特殊的。而之前刚实现第一章并打磨时,因为对项目整体仍有不小的设计缺陷(比如主界面的形式),实现时的一些不是很恰当的地方也埋了雷
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 现在进入第二章后,茶馆和玄云观的帖子不会那么多了,会随玩家任务进度增加
- 随任务进度出现的帖子的时间会被根据任务完成时间适配
变更:
- 优化序章《用户去哪了》任务对应的网页的相关文案
- 优化应用窗口默认大小和位置,现在它和主窗口配合得更好了
- 通知不再在主窗口右下角弹出,那样太容易被忽略了,改成了在鼠标光标附近弹出
- 优化第二章《女朋友》这一帖子内容,补充在之前某次优化文本中遗漏的关键信息,并添加了一些背景设定
- 将通知的小popup从主窗口右下角改成光标位置右下角的单独window,现在它不会被忽略了
- 将通知的对话框从主窗口里改成屏幕中间的单独window,现在它更像对话框了
- 优化通知对话框内容样式,让summary默认折叠
- 添加通知的sfx
- 将部分sfx替换成更合适的
- 优化了第一章的控制逻辑,现在它逻辑更一致了
- 优化第一章里给玩家的说明文档,现在它的背景和设定更一致了,而且把一段无效内容换成了 Terminal 的QoL功能说明
- 调整程序运行时的输入模式,使其仍使用 LineEdit 按行输入
- 优化了主窗口的三栏比例,从20:55:25改成了27.6:44.8:27.6(即1:1.618:1),显著增大任务和信息段区域占比,以此增加视野内的条目
- 为未读消息计数和休眠维护之间添加分隔
- 重构主窗口初始化流程,简化了不同章节的控制器加载模式
- 优化构建流程,现在构建更一键式了
- 将运行环境检查的调试信息从教学脚本挪到boot_animation,毕竟后者本质上就是在检查脚本执行器是否准备完善
- 优化了输出工具的默认输出样式,现在显示会更加紧凑
- 优化了教程中的错误场景引导,并让正确线路提示更加明显
修复:
- 修复了 Godot-WRY 的鼠标事件被发到主窗口的bug
- 修复了 Godot-WRY 的鼠标事件坐标存在偏移的bug
- 修复作为dialog直接打开的消息仍被视为未读的bug
- 修复了第一章的终端输出welcome信息后没有正常输出输入提示符的bug
- 修复了 terminal 异步命令没执行完就输出输入提示符的bug
- 修复了第一章里设置和调试功能入口被错误隐藏的bug
- 修复了debug信息在不开debug时也显示的bug
- 修复了执行自定义脚本时光标位置不对的bug
- 修复“当玩家选中xterm里一段文字,然后点击右键复制,再在原地点击右键粘贴,随后按下任何按键尝试继续输入,都会导致xterm被大范围选中”的bug
删除:
- 移除第一章的冗余welcome信息
- 移除了git插件,这玩意还不如直接vscode
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 041
TL;DR 概览
本期主要识别了一些 DPI 造成的问题,并优化了序章里一些剧本大改前的文稿
本期目标
- 一个打磨完的 demo
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
界面问题差不多完事了,本期优化内容,并修复可能存在的 UX 异常
血压爆了,这 Gdoto-wry 问题咋这么多。除此之外还是界面优化,不过这期至少也算优化了一些内容,下一期没意外应该能推进到第二章
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
变更:
- 优化计算节点工作手册
- 优化 ProxyOS 的静态资源页
- 优化 Terminal 的欢迎信息
- 优化通知显示
- 通知详情页不再半透明,且摘要和内容彻底分开
- 当提交信息段会完成任务时,不再显示单独的信息段提交通知
- 简化主窗口的控制,让主辅窗口复用同一套缩放和拖动逻辑
修复:
- 修复 Godot-wry 在“最大化”时会出错的 bug
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 040
TL;DR 概览
界面问题差不多完事了,下期优化内容
本期目标
- 一个打磨完的 demo
- 把界面框架打磨完,内容可以下下期
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
这一期会主要对界面进行优化,文案问题不大,但可能有些文案的表达方式需要改
确实如此,优化了很多界面。不过文案部分还没有深入检查,也许仍存在问题
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 添加了设置界面
- 添加了根据 DPI 自动缩放文字的特性,现在在高 DPI 屏幕上不会字体过小了
变更:
- 优化了启动流程,避免玩家在初始化过程中进行操作导致出现不可预期的错误
- 优化界面,使其更加符合认知习惯,也更正了一些不恰当的表达
- 重构应用启动侧边栏的布局、图标及加载机制,现在它们表现更加一致了,而且之后要扩展也会更方便,甚至可以支持 mod
修复:
- 为确认退出的对话框添加了缺失的取消选项
- 解决窗口最大化后无法正常操作且任务栏不再显示图标的问题
- 解决窗口系统的多显示器适配问题
删除:
- 彻底退役显示在游戏主窗口内部的旧窗口系统
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 039
TL;DR 概览
用 1000 目打磨了一会后发现得上 300 目,下期继续磨
本期目标
- 一个打磨完的 demo
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
估计会改不少文案,可能需要按需加些音效,ascii art 也得更新下
虽然预期的问题都搞定了,但问题比想象得多,下周继续改
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 已解锁文件不存在的话,会在游戏开始时重新复制
- 添加音效
变更:
- 修正先前遗留的“文件管理器”相关描述,因为现在内置文件管理器已经被移除了,玩家只能“打开工作区”
- 整理了时间线,并确定了各个关键时间的发生时间,修正了相关实现
- @neuro_dominator 改名叫 @lucid_synapse 了,突然意识到和 neuro-sama 撞了
- 调整
ProxyOS_操作手册.md的内容,使其更符合当前实际 - 先前混用了“数据段”和“信息段”,统一为后者
- 调整了系统指南的和其他
.md文件的形式,改为了默认主页和。txt,否则玩家不知道.md的话就尴尬了 - 可维护性优化
- 改了 bootup banner
修复:
- 轻聊不该在序章就解锁
- 轻聊不该在没数据的时候显示当前联系人
- 注册后的应用查询异常
删除:
- 简化 bootup message 的输出方式,移除单独的前缀,统一用完整的 bootup message 文件
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 038
TL;DR 概览
后续大纲已固定,游戏发布构建流程已通
本期目标
- 跑通测试发布构建
- 调整大纲
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
导出问题主要是文件系统的问题,修了应该就问题不大了。
大纲部分我可能得折腾一天。只要导出别有新问题这一期就没啥问题
大纲折腾一天,导出后的问题折腾一天,确实没啥大问题
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 大纲正式完成
- 更好的资源加载逻辑,导出后需要动态加载的资源全都走这个机制
- build 的 Justfile
变更:
- 优化时间计算的算法和 web 侧计算流程,使其更具真实感
- 优化浏览器应用架构,现在游戏层和基础设施层分得更清了
- 优化了 js 侧的请求架构,把之前因为频繁重构变得绕的逻辑捋直了
- 调整第一章末尾的演出,使其和第二章转换更顺畅
- 优化 bootup 信息,但 banner 后续还需要调整
- 优化关闭按钮的表现
修复:
- 调整时间格式的不对劲
- 导出后拖动位置功能在 title 空白处不起效
- 不能调整大小
- 因时序问题,打开游戏时发布的任务可能无法正确触发剧本系统
删除:
- 旧的剧本
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 035
TL;DR 概览
主要是敲定了后续剧情架构,保证当前阶段不存在难度曲线跃升
本期目标
- 测试发布构建
- 调整大纲
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
需要专门读的东西之前应该都放在专门目录里了,应该问题不大,也就是操作上的问题了
文本方面主要是要先确定好接下来的剧情大纲。之前的大纲还是决定项目是类《Owell》的时候写的,没有很好地考虑玩家的学习曲线。更新大纲后,这三章我得按照需要预埋些伏笔啥的
不是很理解为啥 Godot 的导出这么奇怪……发现了不少导出问题,但我不想事倍功半地自己折腾,所以等下个月(下下期)再修了
前的大纲因为过于偏演出,导致和编程这个核心玩法没有很好关联,已经完全作废。而我一时间还想不到太好的新故事……不过结局是已经定好的,唯一问题就是怎么去往那个结局
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 正式固定教学难度曲线设计
变更:
- 一些语法错误
修复:
删除:
- 先前的大纲
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
定下难度曲线设计
就行之前说的那样,这游戏的核心竞争力应该是“用类 Hacknet 的核心循环和演出,讲一个类 Owell 的故事,并在过程中让玩家使用类 Else Heart.Break() 的真实编程,即使毫无编程经验的玩家也能在无 AI 辅助的情况下完成这款游戏,并得到独立设计一个游戏项目的基础能力”
Proxyos Weekly 034
TL;DR 概览
修了不少问题,主要集中在 wry 的重定向、脚本注入等方面
用老屎山的方案优化现代项目使其不至于成为屎山,颇有一种陈年老屎在新时代化为肥料的微妙感
本期目标
- 测试第二章,并修复涉及开发环境准备和前两个任务的问题
- 优化开发环境准备和前两个任务的文案
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
又 TM 修了三期,这期再修不完就真的天理不容了。不过这一期应该没啥新坑了
WRY!!!
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 为玄云观新增了资源发布页,当然,其中大部分内容玩家没法下载(实际上当前玩家不能下载其中任何内容)
变更:
- 优化第二章各种杂项文案以及 110 个网友昵称
- 调整了时间戳格式,使其更加符合游戏世界观。并将时间戳处理提取为专门的 utils
- 优化了 godot 侧作为 web 侧服务器的表现形式,现在整体流程更自由了,开发更方便,而且更符合世界观
- 重做了序章的机制,现在任务归任务,任何副作用都走剧本的 trigger 系统,而不是让任务自己触发副作用
- 借着重做序章,把之前的“APP 为第一公民”的设计架构转成了“剧本为第一公民”,并调整了目录结构
修复:
- 网页刷新会导致重复注入出问题
- WRY 在 url 末尾没有
/时不会重定向加载 index.html - WRY 的 focus 管理有问题,导致页面跳转后 focus 还在 WebView2 上,进而导致无法操作其他 Godot 控件
- 一些流程控制数据段不该被玩家看到
- 啥时候 godot-wry 改接口把我 Godot->WRY 这条路改崩了
- 玩家的工作区配置没有正确指向游戏的嵌入式 python
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 033
TL;DR 概览
新年快乐~本期在测试中发现了早期一些遗留问题,并发现NativeWindow比预计麻烦,所以进度有些落后
本期目标
- 修好数据段的提示悬浮窗
- 测试第二章,并修复涉及开发环境准备和前两个任务的问题
- 优化开发环境准备和前两个任务的文案
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
这期有点悬,主要是Godot的子窗口支持看接口好像没有经过很好的设计,我怀疑可能存在潜在的奇异特性,而就是这个奇异特性导致的提示悬浮窗无法正常显示。
窗口系统重做了,连带着应用数据一起。
而且因为过年,效率低了点……
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
变更:
- 重做NativeWindow
- 调整SimpleChat数据模型
修复:
- 数据段拖动的DropArea反而不接受drop
- 点击数据段时会因弹出toolTip丢失焦点无法触发拖动,改成必须release才能弹出toolTip
- 因为获取鼠标坐标用的是对应屏幕坐标,而获取屏幕大小来对应坐标时用的是主屏幕的,导致了popup偏移
- Spider和SimpleChat存档全都不起效
- 解决累积的警告
- 一些样式问题
- Spider等content层级很高的应用会导致缩放失效
删除:
- 之前遗留的Desktop阶段的冗余代码
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 032
TL;DR 概览
出现了远多于预期的问题,进行了大量细碎的重构
本期目标
- 测试第二章,并修复涉及开发环境准备和前两个任务的问题
- 优化开发环境准备和前两个任务的文案
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?
这是个测试比开发辛苦的时代。jpg
不过前俩任务的问题主要是整个系统的问题,而系统本身应该问题不大,毕竟架构是我自己设计的,代码我都检视过没啥明显问题。
唯一风险比较高的就是之前的 Python 执行逻辑到通用执行器的重构,Python 的sys.path处理不确定有没有搞好,那块我没对具体逻辑细看。但应该问题不大,毕竟实际上没有加新能力
唉……问题一个接一个,具体见主要进展内容
本期确定性变化
哪些东西现在「更确定」或「被明确否定」了? “确认 X 不可行” “删掉 Y 抽象” “意识到 Z 是伪问题”
新增:
- 补充漏掉的“找工作”任务
- 调试面板
变更:
- 移除 BetterProcesses 插件并使用内置功能实现对应效果,以提高兼容性并解决环境变量不兼容问题
- 重构任务存档结构
- 调整任务发布机制,使第一章修复后和第二章的找工作发放之间的过程更顺滑
- 界面样式重构
- Terminal 输入优化
修复:
- 执行器实现时引用了一些不存在的 ProcessNode 方法
- i18n 炸了
- ipc 的协议之前改字段没改全
- ControlPanel 图形输出部分的该清空的时候没清空,该显示占位的时候没显示
- 浏览器没存档
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
Proxyos Weekly 030
TL;DR 概览
第二章编码完成,待测试。这期有点感冒,下期歇一期
本期目标
下期优先搞定任务系统和开发环境配置,尽量打通一条路
任务系统
- 任务系统大修(包含脚本验证)
- 第二章任务定义(需创建
task_defs/chapter2/目录)- 任务 01:
2_01_sensitive_word_filter— 训练任务 - 识别敏感词 - 任务 02:
2_02_auto_reply_module— 小嘴抹了蜜 - 自动回复 - 任务 03:
2_03_scheduled_tasks— 小嘴有时候抹了蜜 - 定时器 - 任务 04:
2_04_random_events— 小嘴有时候可能抹了蜜 - 随机延迟 - 任务 05: 电子美颜与素颜 - 标签处理
- 任务 06: 旧日之影 - 追查真相
- 任务 01:
编程任务框架代码
- 玄云观任务文件(需创建
fs/cybertaoism/目录)-
chat_filter/main.py— 任务 01 框架 -
sweet_chat/main.py— 任务 02 框架 -
sweet_chat/checker.py— 任务 03/04 框架 -
chat_filter/truth_lens.py— 任务 05 框架
-
- 任务验证逻辑
- 任务 01: 敏感词检测(单元测试)
- 任务 02: 自动回复(单元测试)
- 任务 03: 定时器(时间检测)
- 任务 04: 随机延迟(统计检测)
- 任务 05: 标签处理(字符串比对)
开发环境配置
- 首次编程任务引导
- 控制节点备注弹窗机制
- 引导任务自动解锁配置文件
其他
- 标签处理插件应用到轻聊历史记录的逻辑(任务 05 完成后触发,通过把玩家在 任务 05 的脚本复制到轻聊插件里加载来实现)
- 章节完成检测(任务 06 完成后进入第三章/demo 结束提示)
进展速记(Changelog)
本期假设 / 预期
我当时以为世界是怎样的? 这个预期中,哪一条被证伪 / 被削弱 / 被确认?