chore:文档补全

This commit is contained in:
Evilom
2026-06-23 14:43:31 +08:00
parent a57554bbfa
commit 9f190e0315
377 changed files with 38889 additions and 8 deletions
@@ -0,0 +1,183 @@
# EIWNwKjnIipmStkzIr1cd1kTnPf
Source: https://dianchukeji.feishu.cn/wiki/EIWNwKjnIipmStkzIr1cd1kTnPf
# 一.工作内容概述
- 尝试优化AI自动化关卡生成逻辑
- 尝试优化自动化关卡截图分析流程
- 体验《佛系消消消》,补充收集部分关卡样本,作为后续分析参考。
# 二.关卡生成逻辑优化
## 目前关卡生成痛点
目前关卡生成的主要问题集中在高维度关卡,尤其是 10x10、12x12 这类关卡。
之前的生成方式更偏向先随机生成区域,再通过反复尝试来筛选合适结果。这种方式在低维度关卡上还可以接受,但在高维度关卡上会暴露出几个问题:
- 很多关卡虽然能生成出来,但并不是唯一解;
- 有些关卡看起来结构正常,但玩家实际推理时可能无法稳定解出;
- 通过随机微调区域边界来修复多解问题,成功率很低;
- 部分备用生成路径虽然能产出关卡,但质量不可控,不适合作为正式发布内容;
- 原本的难度评估比较粗,只能大致判断关卡是否可解,不能很好反映推理过程到底有多复杂。
也就是说,当前关卡生成的核心问题不是“能不能生成出来”,而是生成出来的关卡是否满足正式发布要求:
- 答案是否唯一;
- 是否能通过逻辑推理解出;
- 难度是否符合预期;
- 生成过程是否足够稳定。
## 优化逻辑
本次优化的方向,是把关卡生成从“随机尝试”调整为“围绕发布标准进行生成”。
也就是不再单纯追求生成数量,而是先明确一套正式关卡必须满足的标准:
- 必须只有一个正确答案;
- 必须能通过逻辑推理完成;
- 普通关不能依赖猜测;
- 高维度关卡允许使用更复杂的推理方式;
- 备用生成结果不能直接进入正式发布流程;
- 关卡难度不仅看尺寸和区域数量,也要看实际推理过程。
同时,对求解器的评分逻辑进行了优化。之前更多是判断“这关能不能解出来”,现在进一步补充**“这关是怎么解出来的”、“用了多复杂的推理步骤”。**
这样后续就可以更准确地区分:
- 简单关:通过基础排除就能解出;
- 中等关:需要结合行、列、区域关系进行判断;
- 高难关:需要多步推理或组合判断才能解出。
## 优化步骤
### 3.1 调整正式生成入口
将正式生成流程切换到更适合保证唯一解的生成方式。
之前的生成方式偏随机,适合快速产出候选关卡,但高维度关卡容易出现多解。
新的生成方式会在生成过程中不断检查并排除错误候选,目标是更稳定地生成只有一个答案的关卡。
这样做的目的,是优先保证关卡的正确性,再考虑生成效率。
### 3.2 固化发布标准
整理并固化了一套正式发布标准:
- 关卡必须只有一个答案;
- 关卡必须能被逻辑推理解出;
- 普通关不允许依赖猜测;
- 高维度关卡允许使用更高级的逻辑推理,符合关卡定位的同时也能提高生成成功率;
- 备用生成路径产出的关卡,不直接进入正式发布流程。
这样可以避免“生成成功”被误认为“可以发布”。
### 3.3 增加发布审计工具
新增了关卡发布审计工具,用来自动检查关卡是否符合发布要求。
它可以检查:
- 当前关卡是不是唯一解;
- 是否能被逻辑推理解出;
- 是否超过允许的推理复杂度;
- 是否来自不可靠的备用生成路径;
- 不通过时具体失败原因是什么。
这样后续批量生成后,可以直接筛选出真正适合发布的关卡。
### 3.4 优化求解器的策略评分逻辑
除了判断关卡是否能解出,还进一步记录解题过程中使用了哪些类型的推理方法,以及推理链路有多深。
可以理解为:
- 以前只知道: “这关能解。”
- 现在可以知道:“这关是靠什么样的策略解出来的。”
这部分优化的价值是:
- 更准确评估关卡真实难度;
- 避免只用尺寸或区域数量判断难度;
- 为后续难度曲线设计和关卡筛选提供依据。
### 3.5 补充高级推理规则
针对高维度关卡,补充了一批更复杂的推理规则。
这些规则主要用于处理一些基础规则无法解决的情况,例如:
- 某一行、某一列或某个区域中的组合关系;
- 多个区域之间的容量限制;
- 某些候选位置会导致矛盾,因此可以被排除。
这部分优化后,部分原本求解器无法完整解出的 12x12 关卡,现在可以通过逻辑推理完成。
### 3.6 增加失败原因分析与自动调整
生成失败时,不再只记录“失败”,而是进一步区分失败原因。
例如:
- 是因为答案不唯一;
- 是因为逻辑推理无法解出;
- 是因为生成时间超时;
- 是因为求解过程太复杂。
根据不同失败原因,再调整对应参数。
这样生成过程不再是盲目增加次数,而是可以有针对性地优化。
## 结果测试
### 4.1 旧生成方案诊断结果
通过测试确认,旧方案在高维度关卡上生成失败的主要原因是多解。
在 8x8 / 10x10 / 12x12 测试中,大量失败情况都是因为生成出的关卡不止一个答案。
同时,随机调整区域边界的修复方式效果也不好,在多组测试中几乎无法稳定修复唯一性问题。
结论是:旧方案不适合作为正式发布链路的默认生成方式。
### 4.2 新生成链路测试结果
切换新的生成链路后,测试结果有明显改善:
- 8x8:已经比较稳定,可以在较短时间内生成并通过发布检查;
- 10x10:已经可以生成可发布关卡,但仍需要一定的重试和参数调整;
- 12x12:已经能生成可发布样本,但成功率还不够稳定。
目前可以认为:
- 低维度关卡已经基本稳定;
- 中等尺寸关卡具备交付能力;
- 高维度关卡已经跑通流程,但还需要继续优化生成成功率。
### 4.3 求解器评分测试结果
优化策略评分后,关卡难度不再只依赖尺寸或区域数量,而是可以结合实际解题过程判断。
例如,同样是 12x12 关卡:
- 有些关卡只需要基础规则就能解出;
- 有些关卡需要行列锁定、区域锁定;
- 有些关卡需要多步组合推理。
这让后续难度评估更准确,也方便将关卡分配到普通关、卡点关或每日挑战等不同类型中。
### 4.4 高级推理规则测试结果
补充高级推理规则后,对已有样本进行对比测试:
- 总体逻辑可解覆盖率从 66/68 提升到 68/68;
- 12x12 关卡覆盖率从 3/5 提升到 5/5;
- 新规则主要提升的是高维度关卡;
- 低维度关卡没有明显额外负担。
这说明新增规则确实解决了一部分高维关卡的求解问题。
### 4.5 当前剩余问题
目前关卡生成链路已经从“能不能生成”推进到“能不能稳定批量生成可发布关卡”。
剩余主要问题是:
- 12x12 的唯一解生成成功率仍然不稳定;
- 部分高难关卡需要更复杂的推理策略,难度边界还需要继续评估;
- 后续需要继续优化高维度关卡的生成效率和稳定性。
# 三.关卡截图分析流程优化
## 之前方案
之前在验证截图关卡时,主要依赖 Agent 的识图能力来识别棋盘中的单元格和颜色区域。
这种方式的优点是上手快,不需要自己写复杂的图像处理逻辑,只要把截图交给 Agent,就可以让它尝试判断:
- 棋盘是几乘几;
- 每个格子是什么颜色;
- 哪些格子属于同一个区域;
但实际使用中也暴露出一些问题:
- 识别结果高度依赖接入的模型能力,不同agent对同一个截图可能会给出不同的结果。
- 对相近颜色的判断容易出错;
- 棋盘边缘、阴影、高光、UI 遮挡等因素会影响识别;
- Agent 的识别过程不够可控,出错后很难精确定位是哪一步出错;
- 不适合后续接入自动化批量验证流程。
因此,之前方案更适合临时辅助判断,不适合作为稳定的工具链。
## 优化思路
本次优化的方向,是尝试用 OpenCV 替代 Agent 识图,把识别过程拆成更明确、可调试的图像处理步骤。
新的思路是:
- 使用 OpenCV 找到棋盘区域,并识别每个单元格的位置;
- 对每个格子中心区域进行颜色采样
- 判断哪些格子颜色相同
- 还原出关卡区域数据
- 交给求解器验证
这样做的核心价值是:识别逻辑从“让 Agent 看图判断”变成“用固定算法提取颜色和网格”。
相比之前方案,OpenCV 方案有几个优势:
- 识别过程更可控;
- 每一步都可以输出中间结果进行排查;
- 颜色采样、阈值、网格识别规则都可以手动调整;
- 更容易做成批量自动化工具;
- 出错时可以明确判断是网格识别问题,还是颜色分类问题。
目前已经尝试实现了一版基于 OpenCV 的识别流程:
- 通过颜色筛选棋盘色块;
- 使用轮廓检测定位格子;
- 根据格子中心点推断完整网格;
- 采样格子中心区域,减少边框和阴影影响;
- 根据采样结果对颜色进行分类,将同一颜色的格子归并为同一区域;
- 最后导出关卡数据,并调用求解器验证唯一性。
## 目前遇到的问题
目前 OpenCV 方案已经能在部分截图上跑通,低维度关卡识别效果较好,但在 高维度关卡上还存在颜色误判问题。
主要问题是:
游戏内有些区域颜色非常接近,在截图采样后,这些颜色经过量化处理时,可能会被误认为是同一种颜色。
这样会导致:
- 原本不同的区域被合并;
- 还原出的关卡数据和真实截图不一致;
也就是说,目前 OpenCV 方案的主要瓶颈不是网格定位,而是**相近颜色的稳定区分**。
后续可以继续从几个方向优化:
- 提高颜色分类精度,避免不同颜色被合并;
- 改用更适合区分色相的颜色空间;
- 对每个格子采样更多像素点,减少阴影和高光影响;
- 在识别后增加颜色数量校验,发现异常时自动提示。
目前的阶段性结论是:**OpenCV 方案比 Agent 识图更适合作为长期工具链,但还需要继续优化颜色分类逻辑,尤其是高维度关卡中相近颜色的区分问题。**
# 四.后续计划
**界面适配与美术完善**
- 补充遗漏的美术资源,并对已有资源的细节表现进行优化;
- 持续完善 UI 动效、特效和交互反馈,提升整体界面表现力;
- 基于后续测试结果,修复可能遗漏的多分辨率适配问题。
**关卡与玩法体验**
- 继续优化自动化关卡截图识别流程,结合体验反馈和样本分析结果,辅助重新规划项目关卡难度曲线,并批量生成、配置对应关卡数据;
- 继续优化大尺寸关卡的唯一解生成成功率,并结合求解器评分结果,进一步校准不同尺寸、不同难度关卡的生成策略。
- 继续探索更稳定的自动化或半自动化关卡数据收集方案;
**平台与真机测试**
- 持续进行真机测试,排查不同设备、分辨率和平台环境下的显示与交互问题;
- 结合抖音小游戏环境继续验证构建、运行、存档、广告等平台相关能力;
- 对测试中发现的问题进行记录、分类和阶段性修复。