Proxyos Weekly 093
Laurence-042
- One minute read - 128 wordsTL;DR 概览
地图系统实现完成,地图前端需要等下期
本期目标
- 将第三章开头补充进 demo
- 通用搭载平台的 app
- 将 demo 结束提示放在通过通用搭载平台回家后的场景
- 更多内容
- 支线任务
- 更多任务
- 实用化任务时限
- 命令行内容?(等第三章?是否需要?)
- 远程访问?
- 更精细化管理事件而不是按章组织?mod 支持?
- 用英语通玩一遍
- 开个 itch
- 琢磨下宣传
进展速记
本期假设 / 预期
预期:
上期把glm配额用完了,这期主要会是进行系统设计以及codex辅助……可以预见的要高血压了
结果:
这期主要进行了地图系统的实现(不包括前端),并更新了一些美术
主要是不放心让codex做任何可能有额外解释的系统
本期确定性变化
新增:
- 新增地图系统
变更:
- 更新了一些美术
修复:
删除:
主要进展内容/本期关键判断点
我做出了哪些「如果错了也要付代价」的判断?
试图变成夜行生物
主要是发现 GLM 和 ChatGPT都有明显的夜间智力正常白天变白痴的情况,所以试图 10-18点睡觉,其他时候工作,以此最大化效率
然后发现 14点就醒了,然后就睡不着了
结果懵懵登登的21点才想起来忘记开半周报了……
看来还是别作死比较好
地图系统
- 提供地图机制,地图是多层长条矩形,本质上是游戏世界中的空间站环带展开后在不同层级的投影,断裂的位置就是地图的两侧。godot侧仅提供机制,所有内容由mod侧指定。
- 提供mod侧的poi注册机制(算在cpg包里,因为设定上是cpg提供的地图查询能力)
- 注册层级tag和order,order越小越远离空间站。环带内表面是0层,环带内是-1、-2,沿着辐条靠近核心是1、2
- 注册poi
- 本质上是用层级tag+有序二维坐标序列,在对应层级的地图上划定一个区域。如果只提供一个二维坐标那么视为点poi,多个则是多边形poi
- 空间站本质上是环带,虽然设定上有个裂口便于作为地图两段,但是仍然需要考虑跨越裂口的场景。poi需要以顺时针方向提供,如果实际发现了逆时针方向的,那么就会视为是跨越裂口
- 点poi也有一个可配置的生效半径,所以本质上和多边形poi都是区域poi
- 注册poi时也会提供poi区域内的视觉图,图片可大可小
- 本质上是用层级tag+有序二维坐标序列,在对应层级的地图上划定一个区域。如果只提供一个二维坐标那么视为点poi,多个则是多边形poi
- 提供剧本机制
- poi可以使用story系统的event的action来添加与删除
- poi存在性本身也是一个event的condition
- 玩家当前所在位置、是否在特定poi上也是condition
- 玩家向poi移动是action
- 移动action会自动根据玩家和目标poi的距离和速度计算wake point,但也可以显式指定速度、距离、wake point来实现定制。
- 提供mod侧的poi注册机制(算在cpg包里,因为设定上是cpg提供的地图查询能力)
- 实现通过购买carrier商品解锁carrier应用(这个能力应该有预埋甚至先行实现,需要确认下)
- 优化窗口管理器和应用系统,使其提供左右布局。即ControlPanel贴靠左侧垂直拉伸占满,右侧其他应用瓜分右侧区域。当拖动窗口时可以主动贴靠。比如ControlPanel拖动到屏幕最左侧导致左边界超出屏幕时会自动使用半透明矩形标注给其预留的布局空位,松开鼠标后会自动移动并缩放ControlPanel使其填满布局空位。将窗口拖动到屏幕右侧时会自动按照等分从上到下排列在右侧区域。且如果右侧有多个窗口,那么调整一个窗口的顶部、底部会对应调整其与其顶部、底部相邻的窗口垂直高度。同时,右侧贴靠只有在ControlPanel在左侧贴靠后才启用
- carrier应用本质上是一个地图应用
- 购买carrier的时候会收到玄云观发来的使用说明以及一个附件。使用说明基本就是点击附件会自动与carrier建链,随后carrier上搭载的嵌入式ProxyOS会自动和玩家的ProxyOS控制节点交互,确认彼此架构,然后🈶由carrier实时生成可在玩家ProxyOS上运行的carrier管理程序。
- 实现上就是这个附件带着解锁app的action
- 使用mod侧应用(spider view机制)查询godot侧handler获取poi和地图布局来实现
- 它在被打开时,会要求窗口管理器调整界面。如果当前ControlPanel已贴靠,那么它会以较低的高度插入到右侧最下面,以此呈现水平的长条地图
- 玩家可以左键拖动地图查看其他区域,右键点击来命令移动。
- 操作说明始终以图形方式绘制在应用边角
- 移动不是实时的,而是在休眠等会经过时间的情况下才会更新(因为设定上计算节点的处理速度很快,体感时间几乎不流动),所以移动命令需要使用json store持久化
- 购买carrier的时候会收到玄云观发来的使用说明以及一个附件。使用说明基本就是点击附件会自动与carrier建链,随后carrier上搭载的嵌入式ProxyOS会自动和玩家的ProxyOS控制节点交互,确认彼此架构,然后🈶由carrier实时生成可在玩家ProxyOS上运行的carrier管理程序。
- 获得carrier的时候玩家会被建议让carrier回家,然后使用有线连接来将控制节点、安全内核、计算节点转移到carrier上方便移动。但是当玩家让carrier到达家里时,会发现家poi的图像是空的
瓶颈与问题清单
哪些问题还没解,但也许我已经知道“它们不是什么”?
- mod meta、mod list、pylock.toml、依赖安装与版本回滚之间还需要形成稳定流程,否则后续 mod 管理会变成新的技术债。
下期计划
- 将第三章开头补充进 demo
- 通用搭载平台的 app
- 将 demo 结束提示放在通过通用搭载平台回家后的场景
- 更多内容
- 支线任务
- 更多任务
- 实用化任务时限
- 命令行内容?(等第三章?是否需要?)
- 远程访问?
- 更精细化管理事件而不是按章组织?mod 支持?
- 用英语通玩一遍
- 开个 itch
- 琢磨下宣传
试玩版
暂缓,第一次上传需要做好准备,等进入 beta 阶段再说