Feiyu's Technical Blog

Notes on software, systems, and things I am learning.

Interactive study guide

LeetCode Java: Problems 1–500

Read the problem, reveal interview hints, compare solutions, and step through visual explanations alongside runnable Java code.

Open the study guide

游戏设计文档 · 上古纪元

稳定模块接口、可见信息边界与交互流程:区分当前合同、待实现提案和已弃用设计。

这里记录现在有意义的设计。当前采用不等于整个系统已实现;每篇都写明范围和下一步。实验结果仍在下方的视觉理解系列中。

  1. 游戏智能体的模块边界:稳定接口,独立实现

    Perception、Simulator、AI 如何各自改进;哪些变更必须共同讨论,以及设计文档怎样保持有效。

    阅读设计 →
  2. Perception 薄观察接口:只传看见的证据

    已实现的 v1 如何保存对象、数值、来源、坐标和时间,又如何防止未知值、旧帧和内部数据混进 AI。

    阅读设计 →
  3. s00:从游戏规则到可用的战斗助手

    Simulator、资料库、界面与 AI 各负责什么;一次规则修正怎样传到决策,以及 S 系列如何维护设计。

    阅读设计 →
  4. s20:一次攻击怎样正确结算并回放

    为什么双击不能把第一击乘二;按伤害包更新状态,区分规则真实性、实现一致性与回放可靠性。

    阅读设计 →
  5. s40:AI 怎样公平比较普攻、猛攻和等待

    从公开观察查询完整攻击情景,保留隐藏装备与幸运的不确定性,再用完整对局检验策略改进。

    阅读设计 →
  6. 让 AI 主动查看界面:查询也要一步一步执行

    完整流程仍在设计中;已有顺序探查、条件耗蓝分析和空闲窗口内的付费日志读取,保留成本与信息缺口。

    阅读设计 →
已弃用的设计 · 1 篇(保留原因与替代入口)

Agents & Automation

Local models, tool-using agents, and practical information-extraction workflows.

  1. Three Ways I Tried to Automate 1Point3Acres Daily Check-In and Quiz Answering

    Direct Codex browser control, a supervised WebContentAgent library, and a fully local LLM workflow—what failed, what I use now, and what I am still exploring.

  2. [2/2] How I Made a Codex-to-ChatGPT Bridge Verifiable

    A local bridge sends one authorized request and brings back a checked answer. Its failures explain what message identity, durable state and realistic tests must get right.

  3. [1/2] (Deprecated) How I Let Codex Talk to ChatGPT Through My Signed-In Chrome

    The first prototype made the round trip work. Its failures taught me why browser mechanics need a smaller, testable home.

  4. Local LLM + Agent for Web Information Extraction

    A local agent architecture for semantic web extraction, browser automation, bounded model context, and durable task state.

游戏视觉理解 · 上古纪元

像读一本书一样:从视频选帧出发,逐步读懂文字、生物、界面和前后变化。

先读当前交付报告

最后核对:2026-10-01。p00 是总报告,其余组页逐项说明做到哪、缺什么;p900 单独保留未采用研究。下面的方法章节已按 P 任务归组,历史测量仍保留原来的范围与日期。

  1. p00 · 总设计与总进度先知道哪些画面能读、哪里仍缺,再决定下一项工作。
  2. p20 · 输入与选帧从录像留下清楚、少重复的画面,特别注意短暂悬浮。
  3. p40 · 场景与布局先找到页面和面板,再决定哪些区域可读。
  4. p60 · 文字与数值读出实际可见文字和数字,不用游戏规则替它补答案。
  5. p80 · 图标与视觉对象找出身体、卡片、小牌与图标;身份和位置分开评估。
  6. p100 · 对象与空间关系回答哪个数字属于哪个对象,不把同类生物当同一支部队。
  7. p120 · 组合与观察输出让各组输出有来源、未知项和时间边界,成为可检查的整帧记录。
  8. p140 · 数据、验收与交付工具保存可审核的数据,保证重跑、安装和清理都有依据。
  9. p900 · 未采用实验保留试过的方法与失败原因,不混入生产能力。

导读 · p00

先知道要看什么

一段录像最终应该留下哪些观察?先看目标,再沿处理流程往下读。

  1. 第 1 章从一段游戏录像开始p02

第一部 · p20

从视频挑出清楚的帧

减少重复工作,也保留短暂出现的文字与面板。

  1. 第 2 章挑出值得看的帧p22

第二部 · p40

判断页面,找到可读区域

先确定这是什么画面、面板在哪里;文字怎么读,在下一部展开。

  1. 第 3 章用文字判断当前页面p41
  2. 第 4 章没有明显文字时,看画面p41
  3. 第 5 章不先给框,自动找到面板p43

第三部 · p60

读出文字和数字

共用文字读取方法,再分别检查时钟、属性、日志、预览和状态回合。

  1. 第 6 章把文字和小数字读出来p61
  2. 第 7 章行动条、英雄数字与计时p63
  3. 第 8 章给面板里的数字一个含义p64
  4. 第 9 章从日志看已经发生的事p66
  5. 第 10 章区分伤害预览与实际结果p67
  6. 第 11 章从状态图标读到法术效果p68

第四部 · p80

找到并认出图像中的对象

文字之外,图标、部队身体和数量牌也需要自己的位置与身份判断。

  1. 第 12 章从裁图认出图标p81
  2. 第 13 章在战场上找到每支部队p82
  3. 第 14 章把脚下的数字连回身体p83
  4. 第 15 章读懂底部操作栏的外观与数字p87

第五部 · p100

把内容配回正确对象

名称属于哪张卡?面板对应谁?高亮位于哪些格子?这些关系单独检查。

  1. 第 16 章把名称连到旁边的图标p101
  2. 第 17 章这是哪一支部队的资料?p104
  3. 第 18 章给战场位置标上格子坐标p105
  4. 第 19 章读出高亮范围与障碍线索p106

第六部 · p120

组合前后画面的观察

多帧可以提供变化线索,但不能把后来才看见的信息提前使用。

  1. 第 20 章从计时变化得到线索p122
  2. 第 21 章让录像自己找图,再逐场检查结果p123
  3. 第 22 章回放时也不能偷看未来p124

研究附录 · p900

未采用的方法与对照

正文无需依赖这些研究。这里保留图标检索、检测器比较,以及身体—数量牌融合的有效与失败尝试。

  1. 附录 A枚举方框,寻找相似图标p901
  2. 附录 B用图鉴训练特征与裁图质量p902
  3. 附录 C让检测器自己学习找图标p903
  4. 附录 D比较几种找框的方法p904
  5. 附录 E试过哪些办法,为什么还会漏p912

游戏概率与数据 · 上古纪元

根据已核对的游戏数据计算竞技场概率,说明抽取事件、版本与证据范围。

  1. 上古纪元竞技场:哪些阵营更容易抽到这五项技能?

    比较法师与战士的奇术、秘术、抗性、原始魔法、战斗魔法概率,已核对竞技场 0.80.49。