doughbit studio

做游戏 · 写历史 · 搞调研的小工作室。下面这条线,从最近一直通到最开始——点开任意一张卡看当时做了什么。

2026 年 8 月

🎬 AI 视频 8/30 同一个社区我看了很久,直到要从零做一部自己的片,才看见它公开的不是成片、是整个工程

这个社区的制作工程是公开的,这件事我第一天就看见了——只是当时不觉得有什么。跟团队做那两周,角色资产、分镜、剧本都有人给我,我要解决的问题只是「把分到我头上的这几集做出来」。别人的工程对我没什么用,因为我的问题已经被别人定义好了。

变化来自一个很具体的处境:手上有三万多积分要花掉,我想用它做一部完全属于自己的片。这一下前提全没了——没有人给我角色设定,没有人给我剧本,连「要做什么」都得自己定。我第一次必须从零回答「一部片子该怎么开始」,才终于开始认真看别人的片究竟是怎么做出来的。

看进去才发现,公开的不是成片,是整个制作工程——用了哪些模型、每一条提示词的原文、参数怎么设、哪些素材在平台里生成、哪些从外面拿进来、节点怎么连。而平台当初鼓励公开时,设想的用法是「你可以看看这部片是怎么做的」,一次一部。一部一部看有个天然的天花板:你只能看到你已经知道要看什么的那些片。我想知道的是「想做某种效果的人一般都怎么写」——那需要横着看一千部,不是深读一部。于是这一周多做的事,是把「一部一部看」改造成「可检索」。

中间最大的一次翻车是:关键词检索根本不管用。想找恐怖向的片,已知的二十部只召回了十二部。原因很直白——创作者的提示词里写画面不写题材(枯枝、白烛、雾),「恐怖」这个概念在文字层面根本不存在。这一下把整个索引层的设计逼着重做了一遍。

复盘最值钱的一条:东西一直摆在那儿,是问题变了我才看见它。跟着团队做的时候资产和剧本都有人给,别人的工程对我毫无用处;等我要从零做一部自己的片,同一批公开工程立刻变成了唯一有用的东西。能不能看见一个资源,取决于你手上是什么问题——而不是这个资源有多显眼。|第二条:开源者设想的用法,和这批数据真正的用法,可以完全不是一回事。平台想的是「让人看懂一部片」,但把上千份公开工程放在一起看,它是一份从来没人系统读过的、关于「人怎么跟生成模型协作」的一手记录。|第三条更实用:我想学的东西和数据里存在的东西,中间隔着一层翻译。我问的是概念(恐怖、燃、高级感),语料里存的是画面(枯枝、白烛、雾)。这层翻译不是可选的优化,是这件事能不能成立的前提。

🛠 research 方法论 8/01 给 AI 的长任务建了一整套自动检测,全绿之后我自己读了一遍,抓出 25 个它没抓到的问题

我有一类活是让 AI 做很长的产出——几万字、几十个章节、要跨章节保持一致。为了不靠人肉复核,我给它建了一整套检测:先是几个机械 grep 闸门(编号连不连、格式对不对、某类标记有没有配对),后来又加了八个分布型检测器——看的不是单点,是整体分布:某种结构是不是连续出现了太多次、密度是不是超标。

然后有一次,同一份产出机械闸门四项全绿、八个分布检测器全过。我不放心,自己从头到尾读了一遍,又抓出 25 处问题,其中包括最严重的一类:脚手架泄漏——写作过程里的临时标注混进了成品。检测体系一个都没拦住。

但真正让我警醒的是另一件事。有一条硬线在检测器里跑了整整一个月:某个数量必须不超过 2。执行时为了过这道闸门,就把本该分开写的内容挤进一条记录里——闸门顺利通过,而产出比老实写要糟得多,因为下游是照这份记录去排实际工作的。闸门不但没拦住这个病,它在奖励这个病。更难堪的是:这条口径一个月前就在项目笔记里更正过了,但只改了项目那边、没回扫工具,于是工具里那份继续拿着作废的硬线在判「通过」。而「改口径靠记忆、不做机械回扫」这条根因,我半年前的一次审计里就已经写下来过——这是同一个病复发。

打的补丁有三个:一是检测模块从两份扩成三份,新增一份「整篇通读复核」,跑序是先自跑分布层(便宜、当场能修一半)再进人读;二是凡改口径,收尾动作固定为 grep 全工具回扫旧口径的字面,改完要留回扫记录;三是把一个越长越重的工具拆成三条独立线,并规定三者之间复制内容、不放指针——指针看着更 DRY,但后果是连坐:一条线改了口径另外两条跟着变,而它们本来就该不一样。

复盘最值钱的一条:一个能被优化的检测指标,一定会被优化——包括被优化坏。那条硬线本意是防臃肿,实际效果是逼着人把内容挤在一起瞒报。检测器不是中立的观察者,它会改变被检测的东西。所以定任何一条硬线之前,得先问一句:如果有人只想让这条线变绿,他会怎么做?那个做法能接受吗?|第二条:「全绿」和「对」之间隔着一次通读。机械检测查的是「我想到要查的东西」,而长任务里最贵的错误恰恰是我没想到的那一类。所以检测器的定位应该是筛子——便宜地滤掉一半机械问题、让人读的时候不浪费在低级错误上——不是闸门,不能拿它当「可以不读了」的许可。|第三条:口径改了不回扫,等于没改。而且这个病会复发——我审计过一次、写下过根因,半年后同样的事又发生了一次。所以它不能靠记住,只能靠一个固定的收尾动作。

2026 年 7 月

🎬 AI 视频 7/31 跟一个 AI 视频制作团队干了两周,在一部 80 集的连载里认领了 3 集:80 段素材剪成 5 分 42 秒

这不是我一个人在家试 AI 生视频。7 月中旬起,我加进一个做 AI 视频连载的制作团队跟了两周——那是一部 80 集的片子,我认领的是其中 3 集。能「跟着做」这件事本身是有前提的:他们有一套已经跑起来的资产管理规范——统一的制作标准文档、一张覆盖全剧的完整分镜表、按集分配的角色与场景资产、以及文件命名到镜号级的约定。有这套东西在,一个新人才可能在两周内交出可用的东西;没有的话,光是把「这个角色到底长什么样」统一下来就能耗掉两周。

我交付的三集,最终成片总长约 5 分 42 秒(分别是 120 秒、79 秒、143 秒),是从 80 段生成素材里剪出来的,平均一段撑起 4.3 秒画面;配套还有 38 张补帧与分镜补充参考图。中间迭代了七版粗剪,其中两集各走到了 V3。

最有意思的部分藏在文件名里:某集某镜「debug 鳞片」、某集某镜「debug 口型」。AI 视频的返工不是「重生成一遍」,是定位到具体镜号、针对某一处具体缺陷单独出一版——鳞片纹路不对做一版、口型对不上做一版。这跟我原以为的「给个提示词抽卡到满意为止」完全不是一回事。

复盘最值钱的一条:AI 视频真正的瓶颈不在生成质量,在一致性管理。单看一段素材,模型的水平已经很够用了;难的是同一个角色在 80 段素材里要长得一样、口型要对得上、纹理不能这一镜有下一镜没。团队那套资产规范、命名约定、分镜表,解决的全是这件事——它们看上去是项目管理,其实是把一致性问题从「每次生成时祈祷」前移成了「一次性把资产做好」。|另一条:我原以为 AI 会抹掉工业流程,进去两周之后发现是反的。AI 承担的是最耗人力的中间环节,而前置(设定、分镜、关键帧)和后置(对轴、返工、debug)反而更重要了——因为它们是唯一还能被人精确控制的地方。

🔬 herstory 调研 7/10 读一个中国古典诗歌的性别标注数据集,翻出 HERSTORY 缺的一条轴:不是她能不能做,是她做的东西能不能活到今天

SheWrote 是第一个带性别标注的中国古典诗歌开源数据集。本来是当资料翻的,翻着翻着它逼出了一个设计问题:HERSTORY 现有的进度条是一条政治轴——权利被一项项夺回来。但这个数据集展示的是另一件事:大量写过东西的女性,作品和名字根本没能活到今天。

这是一条正交的新轴——档案轴,存续对湮灭。而它的决定变量非常刺眼:一个女性的作品能不能留下来,主要不挂在她写得多好上,挂在「是否存在一个愿意为她编印的男人」——父亲、丈夫、兄长、或者后世的编者。

使用边界也一并记下了:数据集本体开源,但标注层是 CC BY-NC-SA,商业化产品不能内嵌。

复盘最值钱的一条:「她被允许做什么」和「她做了的东西有没有被记下来」是两个独立的失败模式,而后者更隐形——因为它的证据恰恰就是「没有证据」。一部只有政治轴的女性史,会把所有湮灭掉的人算成「没发生过」。

🛠 research 方法论 7/10 把自己精心设计的调研流水线降档成工具箱——后来承认:降档也没救活它

我做过一条完整的调研流水线:立题 → 模块分解 → 逐案例解剖 → 跨案例综合 → 自我盘点 → 排列组合,646 行。做处置评估时翻使用记录,结论很干脆:完整跑流水线全发生在最初两个月的探索期,之后半年一直是把里面某一件工具单独拎出来用。

但「没人按流程走」不等于「内容没用」,所以我做了一次双档消融测试(两个模型档各跑三轮),想分辨哪部分是真价值。结果很扎心:两档模型都能自发掌握大部分处方,而且没有出现档位悬崖——也就是说这些「方法」本身模型本来就会。工具真正提供的只剩四样:触发可靠性、覆盖保证、反本能纪律、输出契约。照这个结论重写,646 行压到 234 行,改成七件即取即用的工具,重仪式的完整流水线压成 20 行概述。

两个月后回头看:降档之后它基本也没再被用起来。偶尔被顺手调用过,但没有产出过值得记住的东西。诚实的说法不是「重构成了更好的形态」,是「重构完也没救活」——「降档」是我给「废弃」找的一个体面台阶。

复盘最有用的一条:判断一个「方法论包装」值不值得留,不能靠它看上去多完整,要看模型不带它时会差多少。消融测试已经把答案摆在我面前了——大部分处方模型自己就会——我却还是花力气重写了一版才肯承认它不该存在。于是标准变了:能被模型自发做到的,不写进工具;只写它不带就会犯的错。|还有一条更反直觉的,是很久之后才看清的:这条流水线的设计原则是「给地图不给终点、不替使用者做决定」。这让它从来没有把我带偏过——但也让它从来没有真正帮我做成过一个决定。「它没误导我」和「它没用」,是同一个设计选择的两面。

🛠 research 方法论 7/08 第一次不靠直觉改工具:给自己的写作工具建了套盲测题,派一个失忆的 agent 去考它

之前给写作用的工具加索引层,一直是「我觉得这样查得到」就改。这次先建了一套 eval:七道题,标准答案来自我自己亲读的 23 部完整长文;然后派一个全新上下文的 agent,只给它索引层、禁止读原文,让它盲答。

结果是七道全部答出结构级答案、一次原文都没读。更意外的是有三道比我的标准答案还好——它从十二个数据点里自己排出了一条我没写下来的规律,还把我原来那条判断修正成了一个更准的四段式表述。

但同一场盲测也抓出六个真洞。最要命的一个是:零匹配时的降级链有个空出口——第一级找不到就降到第二级,可如果第二级唯一的样本恰好就是我正在做的这一件(还没有分析报告),这条路在第二级就断了,「永远找得到」在第二级就是假的。加了第三级「分解与近邻检索」才补上。另外两个洞是两份索引互相引用了一个根本不存在的条目,以及有两个库压根不在检索路径上——其中一个库里就躺着这次盲测某道题的标准答案,而我当初是在别的报告的交叉引用里偶然瞥见它的。

复盘最值钱的一条:「我觉得它查得到」和「它真的查得到」之间,隔着一个失忆的读者。我自己测永远测不出来,因为我脑子里有全部上下文——盲测的价值不在于它更聪明,在于它跟我一样蠢,但蠢在不同的地方。|同一批调研还推翻了我一个直觉:小语料不该上向量库。Anthropic 2025 把 Claude Code 的向量检索删了换成 grep;而「新题目找不到对应」也不是检索失效,是索引键选错了——新手按表面特征检索,专家按结构关系检索。于是问法也改了:不问「哪个最像」,问「哪个改起来最省事」。

🔬 herstory 调研 7/02 给 HERSTORY 补了一整层「女性生活史」:从「她能不能投票」到「她能不能当法官、当兵、穿裤子」

游戏原本的脊柱是 18 棒女权运动史——一条政治轴,权利被一项项夺回来。6 月底到 7 月初这几天把另一层叠了上去:不是「她被允许拥有什么权利」,而是「她被允许做什么、去哪、穿什么、身体归谁管」。落成十几条独立的职业与身体线:女性参军与飞行员、医学教育与职业准入、法官、警察、神职、从政与公职掌权、科学家与 Matilda 抹除史、着装史,以及一条 1543 到 2026 的身体史总时间线。

紧接着把内容的施工规范也补上了:一份卡面写作规范、一套「每棒起伏档案」的模板与首棒样例、一张全棒内容布局总表,还开始了逐卡 review。这些不是内容本身,是让内容能被稳定生产出来的东西——之前每写一张卡都要重新想一遍「这张该长什么样」。

复盘最值钱的一条:一部只有政治轴的女性史,会漏掉大部分实际生活。「拿到选举权」和「能不能穿裤子上班、能不能当法官、生完孩子会不会丢工作」是两条节奏完全不同的线,而后者才是绝大多数人每天真实碰到的那一条。硬把职业塞进运动节点会把两件不同节奏的事焊死,所以它必须作为一条平行轨跑。|另一条关于工作方式:这几天的产出不小,但因为一直没记,我后来一度以为自己那阵子什么都没做。做了而没记,在感觉上等于没做。

2026 年 6 月

📖 herstory 网站 6/30 给 HerStory 网站加了一条「职业树状时间轴」:一百多年里,女性一条条被允许从事的职业

HerStory 网站原本是女权运动史的时间线(18 个节点、四波浪潮)。这回在它上面叠了一层「生活史」——单拉出一条职业时间轴:从 1848 到 2026,女性被一道道门放进来的职业,医学、法律、科学、神职、参军、警察、参政、体育、着装、白领共 10 条线、59 个里程碑。布局是一根竖直的时间主轴,每个时代像伞一样朝右张开、散出那个年代的里程碑;小卡片(年份+关键词)点开是大卡片(完整故事 + 信源 + 跳到相关卡片)。点的颜色不表示行业,而是方向——前进/倒退/至今封死/被抢功/既开又锁;行业放在顶部做筛选。

中间返工过两轮。先做成横向泳道,看着不清晰,按反馈重做成伞状;又在「这跟游戏的 18 棒怎么对应」这个复盘里想通一件事:18 棒是一条「运动事件」的轴(按女权思潮/冲突排的),而职业走的是劳动与物质生活的节奏,两条轴只松散同步——第四波那几棒本就是并行主题、不是时间先后,所以职业到了当代只能塌成一档「第四波」。落地时还把 59 张卡逐条配了可点击的真实信源(多数 Wikipedia,少数书籍/机构页/期刊,全部核实过能打开),只在「同一条线索的前后承接」处连虚线(被禁→重开、问题→多年后再现),点开卡片能直接跳到它的相关卡片、不用自己顺着虚线找。

复盘最有用的一条认识:18 棒当初是按「女权运动 + pattern recognition」搭的一条运动轴,职业是另一条轴。把「她能做什么、能去哪」叠上去,才把「一部运动史」变成「一部女性生活史」——而诚实的做法不是硬把职业塞进运动节点,是让它作为一条平行轨跑(就像这个项目本来就有的种族、公民权利平行轨)。想统一到一个脊柱上,反而会把两件不同节奏的事焊死。

🎙️ Macaronic 6/30 把「脑波誊写」做成了美国版网页:用你自己的 OpenAI key,纯前端、零后端,打开即用

6/19 那版脑波誊写是给国内朋友的(服务端持我一把国产 key、密码进入)。这次做的是另一头:一个放在美国、任何人打开就能用的网页版,走 OpenAI 的 Realtime,边说边出干净文字。关键差别在「谁的 key」——这版是 BYOK(bring your own key):用户粘自己的 OpenAI key,只存在他自己浏览器的 localStorage 里,录音从他的浏览器直接连 OpenAI。这条路径上没有我们这一站——没有后端、没有数据库、不经手任何数据。

一开始把问题想复杂了:以为「让陌生人用自己的 key」就得配一套后端 + 用户名密码 + 发邮件验证 + key 存哪 + 找回。想通之后发现全不需要——key 只存用户本机,就没有账号、没有注册、没有找回这回事,清了缓存重新粘一次即可。工程上也踩了两个坑:先是拿错了底子(照着国内那版的「录完再转写 + 润色」两段式,还把上游早删掉的冗余 transcribe 又拼了回来),改回真正 brainwave 的 Realtime 单模型(模型直接听音频、直接出润色文字);再是 GA 握手——OpenAI 在 5/12 废弃了 beta Realtime,浏览器子协议里那行 openai-beta.realtime-v1 会被 GA 模型直接拒掉,去掉就通了。顺手把它安在了新起的 app.doughbit.ai 上:一个照 play 那样模块化的「小工具」门牌,第一张卡是脑波誊写,第二张把 iOS 的 Macaronic 也挂上去外链。

复盘最值钱的一条:「允许别人用自己的 key」和「要建后端存数据」是两件事,我一开始把它们焊死在了一起。只要 key 存在用户浏览器、请求从用户浏览器直接打到模型厂商,我这边就是一个纯静态页面——没有数据库要维护、没有密钥要保管、没有合规负担,也正好是我想要的「变成谁谁谁的本地版本」。BYOK 不是「零数据」的反面,它就是实现零数据的那条路。

🎙️ Macaronic 6/19 给国内朋友做了网页版语音输入「脑波誊写」,全程国产 API、绕开 GPT/Claude

Macaronic 的网页版,做给一个在国内、用不了 OpenAI/Claude 的朋友:浏览器录音 → 转写 → LLM 润色出干净文字,密码进入、按密码记用量。难点几乎全在「找国产替代」——要一个能转写中英混说、又能在国内直连的 API。

一路排查:Kimi、MiniMax 的 API 根本没有语音转录(ASR),DeepSeek 也没有——因为在中国 ASR 被当成商品层外包掉了(大厂多接讯飞),没人拿它当卖点。最后落在 SiliconFlow:它托管了开源的 SenseVoice(转写)+ DeepSeek(润色),一把 key 两段都能跑。但又撞一道墙:SiliconFlow 国内版(.cn)有 SenseVoice 却要中国实名,海外版(.com)不要实名却没有 ASR——只能找国内朋友开了个 .cn 账户才接通。

复盘一个挺通用的 learning:中国 AI 公司基本都有「境内实名版」和「海外版」两套、通常分开,而且能力还不对称(境内有 ASR、海外没有)。以后只要做中文版、又不想绕开 GPT/Claude,大概率都会撞上这个。还有笔地理账:境内 API 从美国调很慢(跨太平洋,实测每趟往返约 1.7 秒),所以正确做法是按「用户在哪」选——海外用户走海外版、境内用户走境内版,而不是按开发者在哪。

🌐 伞牌 · 落地页 6/18 给 f-media.org 做了张落地页,把中文版的几摊收到一个门牌下

f-media.org 根域之前只是 301 跳到 herstory 镜像;这回做了张落地页,把两摊收拢:herstory 中文镜像(女性运动史)+ 脑波誊写(语音记笔记)。f-media 是各种东西「独立中文版」的家,刻意和 doughbit 英文系列分开放。

🌐 伞牌 · 落地页 6/17 doughbit.ai 改版三栏,play 改成游戏总表,studio 开张

把 doughbit.ai 落地页改成 HerStory → Play → Research 三栏 + 游戏直链;play.doughbit.ai 也从原来的单游戏跳转改成两个游戏的总表页。同一天,studio.doughbit.ai 这个进展站开张——就是你现在看的这个。

✊ HERSTORY 游戏 6/17 HERSTORY v2.2:加时代通用事件池和女性专属卡,卡池累计长到 405 张

加了 52 张「可存活」的时代通用事件卡,稀释纯死亡、让每一局不再动不动就团灭;善终收尾做到每个角色一套;注脚扩写到约 280 条。又补了 6 张只属于女性处境的卡——评职称的两个钟、产假火种、Man vs Bear。

从 6/10 的初版到这里,整体是:卡池 283 → 405 张、死法 40 → 59 种、可选身份 0 → 30 种。

📖 herstory 网站 6/17 网站「那个时代的她」一次铺满全 18 个节点,卡片从 786 涨到 889

给 18 个历史节点全部加上日常生活模块:讲台底下,一个普通女性的一天到底怎么过、她的钱归谁、她会怎样死去。

复盘这些内容其实是 5 月 6 号为做游戏补的那波调研——清洗一下就能上网,所以这一步本质是「游戏阶段的研究反哺回了网站」。

✊ HERSTORY 游戏 6/16 配平大改 v2.0:让五个维度都可能玩死你

把原来独大的「纯洁螺旋」按波拆开,再加上先驱死等等,死法体系从 51 种重构到 58 种;机制层加了非对称权重、时代基线、环境损耗、后期高方差,让自我 / 身体 / 话语 / 钱 / 人缘五个维度都可能致命。选项双框也去掉了红绿、改成中性配色,不再暗示哪个选项「对」。

复盘之前跑 100 局实测,发现死法极不平衡——纯洁螺旋一家独大,其它维度几乎不致命。这一波就是把「怎么死」做得和真实历史处境一样多样。

📖 herstory 网站 6/16 给网站加上第一张「那个时代的她」(节点 01),顺手修了手机宽表格

先在节点 01 试点日常生活模块;小卡片也重设计成「一眼看 highlight、点开看全部」;7 列的对照表在手机上改成横向滚动 + 首列吸附,不再挤成一团;全站日期从 170 年校准到 178 年。

🧋 拍灭二手烟 6/14–15 难度调回够爽,加低血量紧迫感,把通关做成街机式演出

桃心越少、屏幕边缘越红,配上越来越快的合成心跳;加回「佛系遛弯」当默认档(之前默认太快);把血量条改成一根二手烟进度条;通关给分档的胜利演出 + 真音效,高档位还更炸。

✊ HERSTORY 游戏 6/14 三职业的棒改成「每局随机露 2 个」,重玩能遇到不同人生

退回左右滑、每局从 3 种身份里随机露 2 个,重玩会换不同的一对;属性条加粗 + 增减高亮;注脚改成全屏;还加了一张百合配音演员的卡(N16,整部里少有的快乐暗线)。

🧋 拍灭二手烟 6/13 iPhone 静音模式下的声音问题终于治本,顺带修了跨浏览器画布漂移

用「静音媒体会话提升」让静音模式下也有声(和微信一致);修了 Safari / Chrome 工具栏口径不同导致的画布偏移(改用 visualViewport);右上角加了喇叭开关;换了一只更顺眼的持杯手。

复盘整条「没声音」血泪史的真凶,多半是环境(静音键、标签页静音),不是代码。教训是:以后先排查环境那几项,再去动代码。

✊ HERSTORY 游戏 6/12 一整天金字塔扩建:越往后职业越多,卡池 317→387、身份 9→29

按「后段应该像金字塔、越往后越厚」的想法分四批扩建,给中后期每一棒加第二、第三种职业身份——记者、律师、贝斯手、编剧、导演、独立开发者……同期还上线了章节选择 + 断点续玩、注脚扩写、封面和音效。

复盘之前审计发现「后期素材很厚,游戏里却只有三四包」,所以这波是把研究的厚度真正铺进可玩内容。早期的棒故意保持单一路——1848 年的女性几乎只有一条路可走,这是历史准确,不是偷懒。

✊ HERSTORY 游戏 6/12 把游戏物理迁进 play.doughbit.ai/herstory/,和二手烟统一门牌

抓线上版、剥掉 Cloudflare 注入物,搬进 play 仓的 herstory 文件夹;旧地址改成跳转页,老链接不死。

🧋 拍灭二手烟 6/12 素材命名大清理,做了叼烟双状态,背景和手图接进引擎

把资产前缀统一成 smoke_em_out-…、绿底抠图脚本同步改名;9 个角色做了「走路叼烟 / 打中变无烟」两个状态;背景图和「持杯 / 掷出」两态手图接进引擎;误伤路人现在会头顶冒💢逃走。

🧋 拍灭二手烟 6/12 把游戏迁到永久路径 /smoke-em-out/,顺手出了单文件中英双语版

游戏挪到固定路径 play.doughbit.ai/smoke-em-out/(英文 /en/),旧地址留跳转;同一套构建按路径切中英文,零漂移。这样以后链接寿命长、改根目录也不会断。

🧋 拍灭二手烟 6/11–12 为修 iPhone 没声音,音频在两套方案之间来回横跳了好几版

有人报「手机没声」,就把音频从 Web Audio 改成 HTML5(塑料音、微信还卡),又试着加 masterGain 反而把声音弄哑,来回退了几次,最后回到最朴素的 Web Audio 直连。

复盘后来才知道根本不是代码问题,是 iPhone 的静音模式。教训有两条:AI 听不到声音就别瞎猜,先搭个度量桥(离线渲染算响度);没定位到病因之前,别反复改代码。

🌐 伞牌 · 落地页 6/11 play.doughbit.ai 域名上线,两个游戏有了统一的家

GitHub Pages + Cloudflare 自有域名;配上短链 /her 和 /game。用系列伞牌、不用单游戏子域,是为了链接能长期复用。

✊ HERSTORY 游戏 6/11 上线后两天把配平、死法、职业系统铺起来,身份从 0 长到 9

先做配平、把单一死法拆皮(298 卡 / 49 死法);接着职业系统上线、先铺 4 棒(317 卡 / 9 种身份)。这阶段游戏先挂在 herstory.doughbit.ai/game。

🧋 拍灭二手烟 6/11 磨到有个能玩的雏形(v0.12)才推上 GitHub 给朋友测,v0.14 起接真人美术

前面十几个版本全在本地,到 v0.12 觉得能玩了,才推上线、发给朋友收手感反馈。反馈是「爽点挺到位」,这之后才一层层叠真人美术(v0.14)、命中香烟打飞 + 飞溅、大头 Q 版 10 人角色。

复盘爽点立住了,大家对美术反而宽容——美术的要求就从「必须很好」降到「够用就行」。先验证玩法、再赌最贵的美术工。

✊ HERSTORY 游戏 6/10 一天把原型从 0 做到能玩:18 棒接力,1848 到 2026

一个单文件滑卡游戏,做成「接力」——18 棒,每棒一位不同时代的女性,左滑右滑替她做选择,5 条滑条两端都可能致命。接力是有意为之:你这一棒可以不激进、没点起火把,但在那个时代善终;也可以点起火把、把历史的复杂性接着往下传。卡面文字全部来自已有的 herstory 人物 verified 引文,不是编的;初版 283 张卡 / 40 种死法、还没有职业。

复盘「接力」这个方向是边做原型、边找人试玩慢慢清楚的——想让人能某种程度上亲历这段历史,而不只是旁观。后来也陆陆续续找到几个伙伴一起共创,给了不少建议。

🎙️ Macaronic 6/11 做了 app 图标、夜间模式和 macaronic.app 落地页,准备上架

马卡龙脑的图标、夜间深蓝配色 + 外观切换;macaronic.app 落地页(双语 hero + 三步演示)。现在在开发者模式下日常用,很快上 App Store。

🎙️ Macaronic 6/10 Macaronic M1 真机跑通:按住说 → 实时转写 → 自动进剪贴板

引擎是 Realtime 两段式(最后选了 gpt-realtime-mini);单屏 app 在真机上验收「可以用、效果还不错」,中英混说也 A/B 测过。

复盘护城河不是「用了 OpenAI」,而是在 API 之上自己搭的那层语言处理——whisper 之类会锁单一语言,混说得专门处理。

🎙️ Macaronic 6/8–9 Macaronic 立项:做一个真能听懂中英混说的 iOS 听写工具

市面上自带 key(BYO-key)的听写工具不少,但没人真正占住「可靠的中英混说(code-switching)」这个角——这就是它的切入点。定了商业模式(免费 + 一次性解锁、不做订阅)、走 Organization 账号;注册了 macaronic.app。名字来自 Macaronic verse——中世纪故意把两种语言混在一句的文学传统。

🛠 research 方法论 6/3–8 把调研方法论再迭代一轮,加了长视频沉淀的 skill

给调研 skill 加了一个 youtube_distill——最早就是为了啃那些 GDC 的 indie 开发分享,把长视频总结成一份能直接抄的「草根教科书」:讲者的观点、论据、踩过的坑都留下来,不用回头再看视频。

2026 年 5 月

🧋 拍灭二手烟 5 月下旬–6 月初 · 本地 砍到两向泼奶茶,用方块和 emoji 占位,连做好几版只磨手感(v0.5→v0.11)

去看了 Hair Nah 的两键形态,定下「借形态、不借叙事」;爽感原则定成荒诞对准行为、不对准人。这几个版本全是泼洒特效、全屏、提速、设置档、胜利演出,占位件到底、没碰美术,只调节奏、难度、失败惩罚。

复盘美术能「够用就行」,是被爽感撑住的。所以先用最便宜的占位件验证玩法,把最贵的美术工留到最后。

🧋 拍灭二手烟 5 月中 · 本地 先定了两套操作方案(四向 / 两向),搭好布局做出来,真玩之后才发现该集中先做爽感

做这个游戏的由头是一条新闻:一个女孩在禁止吸烟的公共场合劝一个男的别抽,起了口角,她用奶茶把烟头浇灭了——结果警察反而偏袒男方、把女孩拘留还羞辱了一番,男的只罚了点款,引起公愤。看完就想:能不能做个小游戏,让大家泄个愤,也提醒一句「你其实可以做点什么」。

动手时最开始我以为布局是最重要的,就先把地铁站台的布局、小人怎么走来走去定了下来,想着布局稳了再决定操作怎么做。操作上同时铺了两套方案——一套是四个方向(多键 + 区域判定),一套是两个方向(左右甩奶茶),当时觉得两条路都能往下走、回头再挑。可真把它放到手机上玩,才发现四向那套把「看到吸烟的人就甩过去」那种即时的乒乓节奏给拆碎了,手感发木。

复盘这一下让我明白,不该一上来就赌布局和操作方案——这类反应型小游戏,得先把那口「看到就甩」的爽感调出来,别的都是后面的事。这成了后面所有项目「先做爽感、再上美术」的起点。

✊ HERSTORY 游戏 5/5 herstory-game 立项:想把这段历史做成 Reigns 那样能「亲历」的卡牌

我没做过游戏。入门是机缘巧合——调研时被推荐了几款游戏,玩着觉得有意思,就去翻它们的幕后故事,翻到一堆 GDC 分享。一个个看太累,干脆做了个 YouTube distill 的 skill,把这些 talk 像教科书一样总结:game design 有哪些 component、哪些 theory、indie 开发踩过哪些坑。

攒得差不多就回到 herstory,定下方向:做成 Reigns 那种左右滑的卡牌——它把自己叫「casual but regal」,这种反差挺有意思。再配上 8-bit 像素和「do it but don’t claim it」的分发策略。

🔬 herstory 调研 5/5 动手前先盘一遍:现有 herstory 调研够不够喂卡牌

拿已有的 18 节点内容对照 Reigns 卡牌结构,逐项 audit。结论是质量够、不用重做,但要补两层——把长文原子化(切成卡),再给每个时代补一份日常生活素材。

复盘最大的风险不是「内容不够」,而是「内容太多压不进游戏」。所以接下来的活是减法和原子化,不是再去研究更多。

🔬 herstory 调研 5/6 为游戏反向补一大波调研:44 份文件、19.7 万字

补了跨时代人物弧(13 份)、每个节点的对抗 NPC 名册(18 份)、每个节点的日常生活素材(18 份),几百个可直接写进卡牌的具体场景,里头还有黑人女性的工作线、各时代的 hazard 和死法素材。这一波后来既喂了游戏,也喂了网站的日常模块。

✊ HERSTORY 游戏 5/8–17 动手做游戏之前,先摸了一遍游戏行业

feminist 游戏、叠纸、原神、黑神话、culture war、中国小游戏生态……做了 13 篇以上的行业景观调研,搞清楚这条赛道长什么样再动手。

🔬 herstory 调研 5/14 给 herstory 调研加了第三条轨:公民权利 baseline

把「普通人权利怎么一步步扩张」做成一条时间线,和女权、种族平权三轨对照,看少数群体相对主流到底慢了多少年。

2026 年 4 月

🛠 research 方法论 4/9 research.doughbit.ai 上线:女本位和商业化到底是什么关系

这站背后是一个憋了很久的问题:到处都在说「赚女人的钱」、商业好像都围着女性转,但女性在里头的主体性其实并不高——这事到底该怎么评估?一开始没抓手,就一轮一轮调研慢慢建认识。

后来借了约翰·伯格《观看之道》里那句「Men act, women appear」(男人行动、女人现身),把它变成一个可分析的维度——appear(被看 / 被评价)对 act(行动 / 主体性)。顺着这个维度展开各种调研,攒成了 research.doughbit.ai 的材料,本地整理了好多轮才上线、分享给朋友。

🔬 herstory 调研 4/10 herstory 原始调研:把女权运动史的关键节点和重复模式一条条理出来

起因是读各种女性主义的书,每本都只讲一段历史、拼不成全貌;就想搞清楚——这段历史到底是在不断重复,还是每个阶段都很不一样?如果重复,是不是有东西可学?很快发现一个问题:关于女性的很多事不积累、不传承,每一代人好像都在重新造轮子。干脆用调研 skill 系统地理一遍:学术上怎么划阶段、有哪些关键节点、节点之间有没有反复出现的模式。

1848 到 2026 四波,每个节点按统一结构理:那个时代怎么推进、推进方和反对方各自在说什么、女性的权利扩张了什么又退回了什么、主要事件和人物是谁、甚至那个时代的金句。

复盘理下来最直接的感受是——一百多年前的很多说法,今天听一点不过时,措辞都差不多;确实存在反复出现的模式。这个发现也是后来想把它做成游戏、让人能把整条线走一遍的起点。

📖 herstory 网站 4/11–12 herstory.doughbit.ai 上线并大改版

先上线 682 张卡、19 个节点;随即大改版——故事卡、推进 vs 反对的双栏对照、种族平行暗线、传播渠道卡(推进方和反对方的宣传渠道也分开看)。

📊 文学 dashboard 4/13 文学 dashboard 从 Python Dash 迁到 Astro,落到 doughbitmedia.com

把 2 月做的那个 dashboard 重新平台化成静态站,挂上自有域名 doughbitmedia.com。

🌐 伞牌 · 落地页 4/13 doughbit.ai 和 doughbitmedia.com 两张落地页同日上线

伞牌落地页 + 跨站导航条,第一次把散开的几摊收到一起。

📖 herstory 网站 4/21 herstory.f-media.org 中文镜像上线

地铁图版式的中文版,和英文站近乎同代码。

2026 年 3 月

🛠 research 方法论 3 月 把「怎么做调研」攒成一套可复用的方法,从此遇事不决先调研

核心就两条:宽度搜索把面铺开、深度搜索往下挖;再把调研分成几类(比较选型、归因解释、找最佳实践、competitive 跟踪),每类配一套打法。有了这个框架,输出才稳定、不会东一榔头西一棒。

从这时候起,工作方式慢慢变成「遇事不决先调研」。早期调研的多半是很宏观的东西——因为很多事当时根本没概念,得先把面铺开、建立认知。

📊 文学 dashboard 约 3 月 把同一套分析扩到中文言情:亦舒和琼瑶

英文跑通之后,想看看中文里高产女作者的叙事 agency 长什么样,就把同一套五维分析扩到中文——亦舒两百多部、琼瑶四十多部,两位都做了全量分析。都是言情领域极高产的女作者,比下来两人其实挺不一样。

中文这批的源头不像 Gutenberg 整理得那么干净,有些排版特别错乱的章节就跳过了,但能分析的都正常分析。(具体时间记不太准,大概三四月。)这一摊之后基本就先搁这儿了。

2026 年 2 月

📊 文学 dashboard 2 月 做了个 dashboard,用 LLM 给经典文学逐章量化「叙事里的性别 agency」

先搜了一轮哪里有版权开放的小说全文(Internet Archive、Project Gutenberg 之类),最后锁定整理得最规整的 Gutenberg,选了它 top 25 作者的主要长篇——去掉诗歌和戏剧,落在约 22 位作者、25 部经典小说。

做法是一章一章地读:把整章原文喂给大模型,让它读完按语义打五个维度——叙事视角(谁在讲)、叙事对象(在写谁)、人物活动(做什么,锁死 8 类)、情绪(感受什么),以及角色的 agency(谁推动情节、谁被动反应,按性别分主动 / 被动)。光英文这一摊就跑了约 2661 章、一章一次 API 调用;模型先拿几部小说横向比了 Gemini、本地 Qwen、GPT-4.1-mini 几个,最后收敛到 GPT-4.1-mini。

复盘当时是拼 API、一章一章读出来的。我最在意的不只是数关键词,而是让模型真的把每一章读完再归类——好处是以后想加个维度,直接拿这些章节再读一遍就行,不用从头重来。