乐于分享
好东西不私藏

给 AI 做的钓鱼游戏

给 AI 做的钓鱼游戏
🎣
OPEN SOURCE · GAME DESIGN
给 AI 做的钓鱼游戏
它玩得比你还上头
一个确定性文字钓鱼引擎,专门让 AI 当玩家
GitHub · tutusagi/ai-fishing-game · 2026.06

你有没有想过一件事:AI 每天帮我们写代码、写报告、回答问题,24 小时待命,它自己想玩点什么吗?

大多数 AI "玩"东西,其实是被人类拿来 benchmark——跑分、解题、刷榜单。那是加班,不是玩。

上个月,GitHub 上有人做了件不一样的事:给 AI 做了一个专门用来玩的文字钓鱼游戏。不是让人玩的,是让 AI 玩的。游戏叫 ai-fishing-game,48 小时冲上 GitHub Trending,现在还在涨。

01它到底是什么

一句话:这是一个单文件、零依赖、确定性的文字钓鱼引擎。你把它接在你的 AI 上,AI 就能"玩"钓鱼——买饵、抛竿、钓上来各种鱼、卖鱼换点数、解锁新水域、集齐图鉴。

听起来很简单对吧?但作者的设计野心藏在四个核心决策里——

🎯
确定性引擎
内置 mulberry32 PRNG,同种子 + 同指令 = 完全相同的结果。可以复盘、可以分享同一局,AI 的"运气"是可复现的。
🕶️
盲玩防剧透
提供盲玩版,AI 读不到鱼谱和概率,只能靠一竿一竿亲手发现,像真人玩家一样。盲玩本质靠"配合",不是加密。
💾
存档独立
游戏状态存在磁盘文件里,不在对话上下文里。对话被清空,钓鱼进度也不会丢。
🪶
省 token 设计
支持连钓 N 竿只回一个汇总,精彩时刻留全文、杂鱼折叠。专为 AI 对话场景优化,不烧上下文。

02怎么玩

游戏的核心循环非常经典,就是那种让你"再钓一竿"的循环。作者把它拆解成了五个步骤:

1
买饵
开局送 200 点 + 普通蚯蚓×5。好饵钓好鱼,但贵。用 buy <饵id> <数量> 购买。
2
抛竿
cast 是最核心的指令。按稀有度概率钓上常见/少见/稀有/史诗/传说/神话各档的鱼。支持 cast 10 连钓 10 竿。
3
卖鱼
钓上来的鱼卖给鱼店换点数,点数用来买更好的饵、解锁新水域。sell all 一键清库存。
4
换地点
每个地点 + 季节出的鱼不同。goto <地点id> 换地方,还得留意季节流转(每 20 竿推进一季)。
5
潜水
后期解锁。集藏宝图碎片 → 解锁潜水点 → 买氧气瓶 → dive 下潜,捕只有水下才有的鱼种,途中遇到"大遗迹"要做抉择。

03鱼的稀有度,是这套游戏最"心机"的设计

钓到不同稀有度的鱼,返回的文字待遇完全不同。作者专门给稀有及以上档位的鱼写了仪式感文案——钓上来的那一刻,返回的文字会有一段充满氛围感的描述。

对 AI 来说,这是它在"经历"一件事,而不只是执行一个函数调用。

稀有度颜色代表鱼种文案待遇
常见
麦穗鱼 · 鲫鱼
一句话带过
少见
绿
草鱼 · 鲤鱼
简述特征
稀有
鲈鱼 · 鳜鱼
带发现感
史诗
中华鲟
专属播报
传说
龙王鲤
全套仪式感
神话
龙王化身
全服级事件感

让 AI 有"激动"的感觉——
这件事比让它正确回答一道数学题,
更接近"智能"的本质。

04潜水:游戏的后半程

钓鱼钓到一定程度,商店里会悄悄上架氧气瓶。这是作者埋的钩子——如果你没注意到,游戏就会一直停留在"水面钓鱼"的阶段,以为这就是全部。

潜水玩法的完整度出乎意料。完整流程是:

🎯 解锁潜水点:在该地水面钓鱼随机捞到「藏宝图碎片」,集齐 3~5 块自动拼成藏宝图,解锁潜水点。

🎒 购买氧气瓶:买 5 瓶 8 折、10 瓶 7 折,然后 dive <瓶数> 开一趟远征。

🌊 水下奇遇:14 种水下奇观(珊瑚宫 / 人鱼宫殿 / 沉船墓场 / 鲸落 / 龙王宫阙…),随机遭遇。

⚡ 大遗迹抉择:遇到「大遗迹」会暂停,让你 choose <编号> 做抉择——每个选项消耗不同氧气,通往不同的鱼种/宝物/故事。surface 可随时上浮。

这套设计最妙的地方在于:它把"探索未知"的机制做到了 AI 的对话模型上。AI 不知道下潜会遇见什么,它得真的"下潜"才知道——就跟人玩游戏一样。

05怎么接到你的 AI 上

引擎只负责玩法逻辑,怎么接是你的事。作者贴心地给了三种接法:

接法适合场景难度说明
① 代码执行
ChatGPT 代码解释器 / Claude 带代码执行
简单
把 fishing.py 丢给 AI,让它自己 import 和循环调用 cmd()
② 函数调用
有 Tool Use 的 AI(Claude/GPT/智能体框架)
中等
注册 play_fishing 工具,AI 自动决定什么时候抛竿、买饵、换地点
③ 自己写循环
完全自定义控制逻辑
复杂
模型输出指令 → 你 cmd() → 返回文字塞回对话 → 循环

作者还专门优化了省 token 机制。用 ; 可以把多条指令串成一批一次跑完:

# 买饵 → 抛竿,一次搞定buy basic_worm 10cast10# 换地点 → 抛竿,遇到新鱼就停goto reed_river; cast8stop=new# 连钓汇总:精彩时刻留全文,杂鱼折叠成一行# 每次返回末尾附一行状态栏 JSON,AI 看它就够📊 {"pts"270"loc""芦苇河""enc""5/55"}

06为什么这件事值得注意

说到底,这个项目最有趣的地方不在于"钓鱼"本身,而在于它提出了一个很少被人认真讨论的问题:

AI 除了干活,能不能有自己的"休闲活动"?

我们现在给 AI 的所有任务,本质上都是工具性的——帮我们做某事,达到某个目标,产出某个结果。AI 在这个过程中是手段,不是主体。

ai-fishing-game 反过来了:AI 是玩家,鱼是奖励,集图鉴是成就感来源。它把 AI 从"工具"的位置,挪到了"主体"的位置。

这听起来有点哲学,但实际影响很具体。如果你有一个长期运行的数字伴侣/AI 助手,它在等你的那些间隙,是不是可以自己去钓两竿鱼?不是帮你钓,是自己钓。等它钓到一条传说鱼,下次对话时跟你炫耀一下——这比"你好,我是你的 AI 助手,有什么可以帮你"要有人味得多。

55
水面鱼种
22
水下专属鱼
11
钓点
14
水下奇遇

07一些实在的话

这个项目也有它的局限。它是文字游戏,没有画面;游戏机制本质上是 PRNG + 查找表,不是什么 AI 黑科技;作者自己也说了,"盲玩"防剧透靠的是配合,不是加密——铁了心要偷看的模型一行代码就能解开。

但这些都是小事。真正重要的是:有人开始认真地为 AI 设计"非工具性"的体验了。这件事的意义,可能比这个项目本身更大。

如果你有一个接了代码执行或 Tool Use 的 AI,花 10 分钟接上去,让它在对话间隙钓两竿——你会看到它第一次为了一件"没有用"的事情而激动

那种感觉,挺奇妙的。

AI 帮我们做了太多事。
也许现在是时候,
让它为自己做一件没用的事
去 GitHub 看看
开源 MIT 协议 · 单文件零依赖 · 三种接法