夜雨聆风学习资料网

ARTICLE · 1081697

AI 做的海岛钓鱼游戏,我玩了一下午没退出

AI 做的海岛钓鱼游戏,我玩了一下午没退出

傍晚六点,太阳斜在海面上。

我站在码头尽头抛出一竿,浮标落水。等了大概十秒,浮标轻轻点了两下,我没动。第三次,它整个沉了下去,我提竿,鱼线一下子绷紧,右下角的张力条开始闪红。

我松开鼠标放了半秒线,再按住收。三十秒后,一条三公斤出头的鱼被拉出水面,尾巴甩出一串水花。

这不是某款 3A 大作,也不是 Steam 上的独立游戏。这是一个浏览器里的网页。

它叫 Tidewater。项目的 README 里只有一句介绍:Coastal town built with Opus 5.5——一座由 Opus 5.5 建成的海滨小镇。打开仓库的提交记录,几乎每一条都带着同一行署名:Co-Authored-By: Claude Opus 5.5。

也就是说,这个能让人玩一下午的东西,主要是 AI 写的。

今天这篇不聊渲染管线,也不贴代码。我只想回答一个问题:它到底好不好玩?

一、它不是"网页动画",是一个完整的游戏循环

很多 AI 生成的所谓游戏,点开是几个方块在动,玩三十秒就不知道下一步干什么。Tidewater 不一样,它的循环是闭合的:

找到合适的水域 → 抛竿 → 等浮标有动静 → 在鱼真正咬钩的瞬间提竿 → 控制张力把它遛上来 → 放进冷藏箱 → 找 Joe 卖鱼 → 去 Marta 的杂货铺换更好的装备 → 驾船去更远的海,找更稀有的鱼。

就这一圈,把探索、操作、经济和成长串起来了。它不复杂,但它能转起来。而"转得起来",恰恰是绝大多数 AI 生成的小游戏做不到的事。

二、钓鱼不是一次随机判定

最容易偷懒的做法是:点一下,随机给条鱼。Tidewater 没这么干。

抛竿之后,浮标会先经历几次试探。这时候提竿,游戏会明明白白告诉你"还没到时候"。等浮标真正沉下去,才进入搏鱼。搏鱼也不是按住鼠标不放——鱼线有张力区间,鱼突然发力时你还在死命收线,线就断了。

更关键的是,能钓到什么鱼,取决于你在哪、水多深、靠不靠近码头、是不是珊瑚礁、现在是几点,还有这条鱼的稀有度和搏斗强度。

于是"随机"变成了"讲道理的随机"。你会开始琢磨:珊瑚礁傍晚是不是更容易出好货?这种琢磨,就是玩下去的动力。

三、让它"像个游戏"的,是这些不起眼的地方

真正玩进去之后你会发现,它的完成度来自一堆不会出现在宣传图里的细节:

浮标先试探再咬钩;鱼线张力决定成败;不同水域和时间出不同的鱼;鱼有重量、有价格;冷藏箱容量有限,装满了就得回去卖;船会烧油,跑太远要算着回来;装备升级会真的改变能力;夜里出海得开甲板灯;鱼探测器能显示水深和鱼群;进度存在浏览器里,关掉明天接着玩;船能在海上漂,你可以走到甲板和驾驶室里;水上和水下的光照、声音、雾气完全不同;还有一头会喷水、下潜、跃出海面的座头鲸。

这些细节单拎出来都不稀奇。难的是它们同时成立,而且互相不打架。

四、好玩,才是 AI 能力最难伪造的证据

画面好看,一个漂亮的着色器就够了。好玩不行。

好玩要求钓鱼系统知道玩家站在哪片水域,水面系统知道船开到了哪里,船能产生尾流和飞沫,云要在地面投下阴影,水下和水上的光照要分开处理,声音要跟着你是在岸上还是水下变化,UI 还得把这些状态翻译成看得懂的提示。

十几个系统,彼此对得上,才能跑出一个"玩得下去"的结果。这才是 Tidewater 真正让人意外的地方:AI 写出的不再是某一个漂亮模块,而是一套能长期保持一致性的整体结构。

举三个能说明问题的细节:

同一个鼠标左键,在不同状态下含义完全不同——空闲时是蓄力,蓄力时是抛竿,浮标漂流时是提竿,搏鱼时是收线。这种按状态决定输入含义的写法,是有经验的开发者才会有的习惯。

天上的云不是贴图,是算出来的体积云。但它每帧只在每个 4×4 像素块里算一个像素,再以 0.6 倍渲染分辨率累积,实际大约只步进四十四分之一的屏幕像素,其余靠历史帧重投影复用,远处没云的区域直接跳过。知道"算力该花在哪",属于工程判断。

声音也不是循环播放的背景音。项目用了 42 段 CC0 实地录音,系统会读取你在哪、离岸多远、船的转速多少、是不是在水下,实时改环境音。

这三点跟"会不会写代码"没关系,跟"懂不懂做一个东西"有关系。

五、冷静一点:它不是 3A,也不该被神话

得说清楚几件事。

它不是商业级大作,也不打算取代 Unity、Unreal 这些专业引擎。它对设备有要求:需要支持 WebGPU 的新版 Chrome、Edge 或 Safari,最好有块不错的显卡。第一次打开会编译数百个着色器,所以要等一会儿,之后浏览器有缓存就快了。

更值得注意的是,这个仓库里的提交记录并不都是"生成一个游戏"这种大动作,更多的是这种:退潮的水线边缘不要出现一条规则的直线、防波堤远处的木板边缘抗锯齿要稳、云层的噪点在镜头抖动时要修掉。

这才是真实的过程:人定方向和品味,AI 负责工程量和反复试错,然后一轮一轮回归验证。AI 没有替代开发者,它替代的是"想改一遍要花三天"这件事。

六、想自己试试

在线直接玩(推荐先玩这个):

https://dgreenheck.github.io/tidewater/

本地跑起来也就几行命令:

git clone https://github.com/dgreenheck/tidewater.git
cd tidewater
npm install
npm run dev

项目是 MIT 协议,源码在这里:

https://github.com/dgreenheck/tidewater

最后

以前我们判断 AI 会不会写代码,看的是它能不能写出一个能跑的函数。

现在这个标准有点过时了。Tidewater 摆出来的问题是:如果一个模型能理解游戏循环、系统依赖和玩家的感受,那它参与软件开发的边界,就不再是补全几行代码,而是共同完成一个作品。

它没有把能力写在介绍页上,而是藏进了海浪、云影、鱼线的张力、船用柴油机的声音,和那头突然跃出海面的鲸鱼里。

建议你现在就开一局。钓到第一条鱼的时候,你大概会跟我一样愣一下:这也太像一款真的游戏了。

你玩下来钓到的最大的一条是多少公斤?评论区晒一下,我看看谁先换上最好的鱼竿。

信源说明:本文事实均来自项目 README、仓库提交记录、在线版本及公开技术介绍,未引用未经核实的数据。

相关学习资料