虚拟世界的赛博朋克
如果你看过《赛博朋克:边缘行者》,大概会对那个世界有很深的印象:在赛博朋克的语境里,人的器官可以像零件一样被替换和升级。
而在游戏世界里,Mod 某种程度上也像一种“赛博义体”。
它通过技术手段改写单机游戏中原本固定的内容:角色模型、服装、武器、场景、特效,甚至玩法本身。对玩家来说,Mod 的魅力不只是“更方便”或“更好看”,更重要的是,它把游戏官方设定之外的想象空间,重新交还给了玩家。
假设你最近看完一部电视剧或动漫,很喜欢其中某个角色,你想看到 TA 出现在另一个世界里,想让 TA 以新的姿态继续存在,甚至希望能“亲手操控”TA 去做一些原作里不会发生的事。这个时候,Mod 就成了一种实现愿望的方式。只要找到角色模型,再通过一定的技术手段写进游戏里,虚拟角色就能以另一种方式“活”下来。
比如,我甚至可以把还没有被游戏化的《电锯人》角色,做进另一款游戏里。

诞生于新旧时代交替之际
2025 年初,我花了一年时间,独立开发了一款覆盖游戏 Mod 使用全链路的管理器:Caffeine,中文名叫“咖啡因”。
它目前支持多款游戏,上线四个月、零宣发,累计下载约 4500 次。


不少用户也十分认可这款软件。

这款产品,某种程度上也诞生在一个很特殊的时间点:旧的开发方式还没彻底退出舞台,新的 AI 工作流已经开始重塑软件开发。
项目刚开始的前半年,我基本还在“古法编程”。为了做技术选型,我需要学习一些并不常用的编程语言,手动编译不同的开源项目和库,读官方文档,写 Demo,再比较不同方案在性能、稳定性和可维护性上的差异。
后来,AI 开始逐渐进入开发流程。最初,我主要用它做自动补全、解释报错、辅助阅读源代码;再后来,我开始让它参与分析开源项目的架构,帮助我更快理解一些陌生的实现思路。
直到 Claude 3.7 出现后,我第一次明显感受到:AI 生成代码的可用性,开始跨过某个临界点了。虽然它依然会产生不少“幻觉代码”,但只要我能通过代码审阅、单元测试和功能验证来兜底,就可以逐步把更多执行层面的工作交给 AI。
数据库和底层服务刚写完不久,MCP 这个概念也开始进入我的视野。我意识到,像 Figma MCP 这样的工具可以进一步加速界面开发,于是干脆把原本在 Adobe XD 里做好的高保真原型,全部迁移到 Figma 重做了一遍。
回头看,Caffeine 的诞生,几乎完整踩中了一个独立开发者在 2025 年会经历的技术演进路径:从手写、查文档、啃开源代码,到让大语言模型参与实现,再到通过文档化和工具链整合提升整体效率。也正因为如此,我才能在 DDL 到来之前,用一年时间把这款软件真正做完。

新时代,还有你的位置吗
AI 发展得太快了。
快到今天哪怕不是程序员,也可以借助“氛围编程”做出一个像模像样的软件原型;快到程序员这个群体对 AI 的态度,也已经从最早的怀疑,逐渐变成了“先用再说”。
但真正让我在意的,不是“AI 会不会替代程序员”这类宏大命题,而是另一个更现实的问题:在一个已经高度拥挤的互联网世界里,我们还有没有必要继续做新产品?
如果只是从表面需求看,答案似乎并不乐观。天气、待办、记账、笔记、番茄钟、导航站……这些最容易想到的方向,几乎都已经被做过无数遍。很多时候,AI 能给出的 side project 建议,也往往高度同质化。它很擅长复述公共知识,却不一定能替你找到真正值得做的切口。
所以我越来越觉得:AI 可以代替执行,但不能代替思考。
如果一个人把“要做什么”也一并交给 AI,那么最后做出来的,很可能只是另一个更快生成的平庸产品。
也正因为如此,我反而更珍惜那些看起来“小”、但确实存在真实需求的方向。它们也许不够性感,不够宏大,甚至未必足够商业化,但它们至少还保留着一点探索空间。
Caffeine 就是这样一个产品。它是一款基于 Qt 6、C++、QML 构建的 Windows 桌面 Mod 管理启动器,面向缺乏技术背景、但有强烈个性化需求的玩家,提供从游戏管理、Mod 浏览、下载、导入、激活、冲突检测,到游戏启动、自动更新、标签管理的一整套完整链路。
而接下来,我想讲讲:为什么我会选择做“游戏 Mod”这个看起来有点边缘的方向。
为什么做 Mod 管理器
在国内,游戏 Mod 依然是一个相对冷门的概念;但对于很多海外单机玩家来说,它早已是游戏体验的一部分。
以几款热门游戏为例,使用过 Mod 的玩家比例并不算低:
| 游戏 | 使用比例(Mod 使用人数 / 游戏购买人数) |
|---|---|
| 星露谷物语 | 655万/2500万=0.262 |
| 泰拉瑞亚 | 889万/2576万=0.345 |
| 怪物猎人:世界 | 182万/1500万=0.121 |
| 赛博朋克 2077 | 331万/2150万=0.153 |
我认为,这个比例未来还有继续上升的空间,原因主要有三点:
- 现有 Mod 工具对新手并不友好。门槛越低,愿意尝试的人就越多。
- 国产游戏正在扩大全球影响力。无论是《黑神话:悟空》,还是《原神》《鸣潮》这类持续出海的产品,都在让更多国内玩家接触到更广义的 PC/单机文化;而玩家基数增长,本身就会扩大 Mod 的潜在受众。
- 游戏厂商开始重新理解 UGC 的价值。无论是《蛋仔派对》,还是《原神:千星奇域》对地图、玩法编辑能力的探索,本质上都说明了一件事:当游戏具备平台属性,用户生产内容就能延长它的生命周期。
换句话说,Mod 不只是“给游戏换皮肤”,它背后其实是一种更深层的用户表达需求。
我想解决什么问题
在真正开始做产品之前,我看了很多现有方案,也很快发现它们各有优点,但都没有很好解决“普通玩家如何低门槛上手”这件事。
| 竞品 | 优势 | 核心缺陷 | 对我的启发 |
|---|---|---|---|
| Vortex | 背靠 Nexus Mods,生态成熟,功能完整 | 界面复杂、交互不直观、性能一般,对 Modrinth、GameBanana 等平台支持不足 | 支持更多主流 Mod 平台,并用 C++ 提升性能 |
| Mod Organizer 2 | 功能强大,适合深度玩家 | 学习曲线陡峭,普通玩家难以上手 | 在能力足够的前提下,尽量降低理解成本 |
| Steam Workshop | 获取内容和消费闭环强 | 覆盖游戏有限,第三方 Mod 和自定义能力不足 | 优先贴近真实玩家的第三方 Mod 使用场景 |
所以我给 Caffeine 设定了一个很明确的目标:
尽可能让用户不用教程,也能凭直觉完成操作。
为了做到这一点,我刻意把它做得更像大家熟悉的软件,而不是一个“只有老玩家才会用”的工具:
- 整体布局采用三栏结构,从左到右分别对应游戏管理、列表管理和 Mod 管理。

- 顶部菜单栏借鉴浏览器标签页,让用户可以同时打开多个 Mod 详情页进行比较。

- 底部状态栏参考音乐播放器控制区,把当前选中的游戏、列表和启动入口统一放在显眼位置。

我希望用户第一次打开 Caffeine 时,不需要学习一套全新的逻辑,而是能把自己对网易云音乐、谷歌浏览器这类产品的使用习惯,直接迁移过来。
Caffeine 解决了什么
1. 模组可视化
很多 Mod 工具的本地管理界面,本质上只是一个文件名列表。
你知道自己装了什么,但并不真正“看见”它们。
所以我做了两层可视化:
卡片视图:让用户快速建立对每个 Mod 的直观认识。

模型预览:直接查看 3D 模型,让 Mod 不再是一个黑盒。

2. 操作效率
如果一个个手动激活、删除、收藏 Mod,管理成本会非常高。
尤其当用户装了上百个 Mod 后,这个问题会被迅速放大。
因此 Caffeine 支持多选和批量操作,而且我比较重视性能表现。以下是部分实测数据:
| 模组数量 | 收藏 | 取消收藏 | 激活 | 取消激活 | 删除文件 | 导入文件 |
|---|---|---|---|---|---|---|
| 100 | 8 ms | 11 ms | 96 ms | 60 ms | 915 ms | 6.7 s |
| 200 | 13 ms | 20 ms | 176 ms | 90 ms | ||
| 600 | 31 ms | 40 ms | 496 ms | 262 ms |
对用户来说,性能未必总能被明确感知,但“没有等待感”本身,就是体验的一部分。

3. 错误可视化
Mod 最麻烦的问题之一,是“明明装上了,但游戏里就是不对”。
而很多时候,原因只是两个 Mod 改了同一份资源,发生了冲突。
所以我做了“冲突视图”,让用户能直接看到哪些 Mod 之间存在资源覆盖关系,并快速定位问题、决定取舍。

4. 多列表管理
玩家的需求往往不是“装不装某个 Mod”,而是“今天想玩哪套搭配”。
比如:
- 列表 A 是“汉服”主题,给角色 A、B 分别配上汉服套装。
- 列表 B 是“万圣节”主题,给角色 A、B 分别换成另一套风格。
如果没有“模组列表”,用户就得先手动关闭上一组,再逐个启用下一组;而有了列表切换,就能把这种高频重复操作,压缩成一次切换。
这也是我很重视的一个点:
工具真正该做的,不是提供更多按钮,而是替用户消灭重复劳动。
5. 多标签浏览
很多时候,用户不会只看一个 Mod。
他们会反复对比:这个模型和那个模型哪个更合适?这个版本和另一个版本差别在哪?
因此我做了标签页系统,让用户像用浏览器一样,同时打开多个 Mod 信息页,在不同选择之间快速切换。

一条完整的用户路径
如果把整个使用流程压缩成一条路径,Caffeine 希望覆盖的是这样一件事:
添加游戏

↓
浏览 / 搜索模组

↓
查看模组详情

↓
下载到指定模组列表

↓
进入本地管理

↓
激活 / 禁用模组

↓
检测冲突

↓
启动游戏

这也是我理解中的“全链路”:
不是只解决下载,也不是只解决启动,而是尽量把用户从“想装 Mod”到“顺利玩上游戏”的每个环节都接起来。
现实世界的边缘行者
我在 2020 年大学毕业。那时互联网红海化已经相当明显,只是我后来工作了几年,才慢慢意识到:相比单纯地“做开发”,我其实更喜欢的是做产品,喜欢琢磨需求、定位、取舍和体验。
所以当我发现“游戏 Mod 管理”这个方向时,是真的会兴奋。
在一个已经很拥挤的世界里,它不算宽阔,却也没有完全被填满;它可能不是什么标准答案,甚至未必是一条容易走通的路,但它至少对应着真实存在的用户需求。
而在开发 Caffeine 的过程中,我也隐约感受到了一种很奇妙的交汇:一边是游戏 Mod 这种高度个性化、玩家驱动的内容生态;另一边是 AI 正在重塑软件开发的生产方式。它们都和“表达欲”“创造欲”“把想法真正做出来”有关。
我也因此格外关注少数派“开发者应用自荐通道”里的文章。那些开发者讨论自己的产品定位、需求判断、功能取舍和体验细节,哪怕解决的是非常边缘的问题,也依然在认真地做出属于自己的回答。
这让我觉得,新时代的太阳也许还没完全升起,但我们至少还能在旧时代的海面上,再认真游一段。
前段时间,TapTap 推出了 PC 客户端。看到这个消息时,我确实很兴奋。一方面,是因为国内版 Steam 这个方向,仍然有团队愿意认真去做;另一方面,我做的模组管理软件,和游戏平台在“游戏启动”与“内容管理”上也有一些天然的连接。于是,今年 6 月 9 日,我向 TapTap 官网投递了简历。招聘进度暂时还没有更新,但我确实很期待能加入 TapTap 团队,继续把自己对游戏分发、启动器和模组管理的兴趣做深。
而 Caffeine,就是我在这个方向上的一次尝试。
如果你刚好也对游戏个性化、Mod 管理,或者桌面软件产品设计感兴趣,欢迎关注这款产品。
如果你愿意给它一个点赞、转发或反馈,那对独立开发者来说,已经是非常珍贵的支持。
谢谢你读到这里。

