网易首页 > 网易号 > 正文 申请入驻

一句话生成农场游戏,他把狐狸训练丢了

0
分享至

一句话能生成一个能玩的农场游戏吗?Spawn Point 这个项目给出的答案是:能,但过程里踩的坑比想象中多。它把一句话变成可玩的 Godot 4 游戏,小模型负责把游戏设计写成 JSON,剩下的全交给普通 Python 和经过测试的 Godot 组件。


作者这个月把生成器对准了一个品类,想把它做好:温馨农场。输入一句“冬天的农场,种卷心菜,有只狐狸”,就能得到对应的场景。画面里没有任何图片文件,每一块地砖、每棵树、每只鸡和每棵卷心菜,都是 Python 在构建时画出来的。

地面是一整张图,不是一块块拼的

作者最初的想法是做一套带自动拼接规则的图块集。实际做法是:整张地图的地面被画成一整张图。关卡是一个字符网格,点代表草地、冒号代表小路、波浪号代表水。每种地形先变成像素掩码,放大 16 倍再模糊,然后用带一点噪声的阈值处理。这一步就免费换来了圆角和手绘感的毛边。

轮廓线就是“掩码外、但挨着掩码的像素”,用更深的颜色画。悬崖的定义是“陆地下方 6 像素内的水像素”,岛屿南侧会自动带上棕色悬崖。草丛、花、睡莲和芦苇按格子用带种子的随机数撒上去,所以同一个农场每次看起来都一样。同一套代码换一张颜色表和树列表,就能画出四季。

这里出过问题:模糊和距离变换用了 scipy.ndimage,在作者机器上正常,到了 CI 就失败,因为 scipy 从来不是依赖项。改用 numpy 重写后,numpy 的腐蚀给地图加了一圈细细的亮边,原因是它把“图片外面”当成了陆地。修法是用边缘模式做填充。

走到树后面,需要两个小引擎特性

俯视角农场本来很平,直到农夫能走到树后面。这需要两件事:一是 Y 轴排序,屏幕上位置更靠下的实体画在前面;二是脚印碰撞,每个物体以画面底部为立足点,只有脚下一小块盒子参与碰撞。碰撞以前是按整张精灵图描出来的,结果树冠会把路挡住。这两项最后都变成了游戏图里的一行选项。

做成一个季节,而不是一个关卡

农场变成了由几天组成的一个季节:早上 6 点到晚上 10 点,傍晚是金色光,夜里变暗。你在农舍的床上睡觉(或者在田里倒下),过夜后浇过水的作物会长大。有些日子下雨,所有作物都保持湿润;冬天的农场则下雪。种子要花钱,动物得先喂饱才会下蛋或产奶,工作台出售工具升级。

农场还会把自己存到 user://(浏览器里是 IndexedDB):第几天、多少钱、每块地、动物、砍过哪些树。关掉标签页再回来,接着玩。这里有两个细节各花了一个 bug:GIF 录制器和试玩机器人绝不能碰存档,否则下一次录制会从上一个机器人离开的地方开始;R 键(重开)必须清掉存档,否则“重开”只是重新加载同一天。

让农夫倒着走的 bug

录完演示 GIF 后,有人指出农夫在走太空步:向左走,脸却朝右。精灵翻转本身没问题。是 GIF 自动驾驶把每个玩家的朝向设成了“最近的敌人”,这在射击游戏里是对的。在农场里,最近的敌人是一只乌鸦,于是农夫一边走开一边盯着乌鸦。拿剑的农夫在实际游玩里也有同样的 bug,因为剑的朝向跟着鼠标走。修法只有两行:农夫永远面朝自己走的方向。

模型一直忽略那只狐狸

模型把“有吃庄稼的乌鸦的农场”做对了,却漏掉顺带提到的害虫:“有只狐狸”“旁边有只浣熊”。作者在训练之前就写好了一组封存的 16 条提示词,发布版模型答对了 12 条。

第一个训练补丁修好了狐狸,然后开始给和平农场塞害虫,还开始忽略有名字的农夫(“一只猫农夫”变回了“农夫”)。原因在合成数据里:每个新样本都用默认农夫,而且几乎都带害虫,模型就精确地学到了这一点。

第二个补丁用了一半有名字的农夫,加入更多明确的“无害虫/和平”农场,并增加对上一个补丁的回放。发布之后,“养鸡和钓鱼”有一次把鱼当成了害虫返回,于是归一化器现在会把农场动物和鱼从农场的害虫列表里剔除。有些修复属于代码,不属于权重。

没有手机,也能测手机

作者用手机尺寸的无头 Chrome 检查触控。第一版脚本向屏幕按钮派发合成的 PointerEvent,什么也没发生。游戏本身没问题:触控代码调用了 setPointerCapture(),而浏览器从没见过的指针 id 会抛异常。通过 DevTools 协议注入真实输入就正常了:摇杆把农夫走到门口,ACT 键让他进了屋。手机测试确实发现了一个真问题:种子按钮挡住了屏幕中间。现在种子改成点快捷栏来选。

想试的话,可以安装 spawnpoint-studio,启动本地模型服务(需要 12 GB 的 NVIDIA 显卡加 Docker,或者用 Ollama),然后输入一句“一个温馨的秋天农场,有南瓜,小心乌鸦”。演示农场也能在浏览器里玩,手机同样支持。

作者最后留了一个问题:如果你程序化生成过美术,是什么技巧让它不再看起来像生成的?对他自己来说,答案是模糊一张掩码,再用噪声做阈值。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
宁德时代,低位崩盘,车企苦其久矣

宁德时代,低位崩盘,车企苦其久矣

资本时差
2026-10-21 16:27:17
彩电一哥亏损200亿,正式退市,一个时代结束了

彩电一哥亏损200亿,正式退市,一个时代结束了

跨境派Pro
2026-10-20 14:23:59
男子和四十多岁女网友认识后,频繁发生关系,最后一次在车内,男子死亡后家属向女子索要巨额赔偿

男子和四十多岁女网友认识后,频繁发生关系,最后一次在车内,男子死亡后家属向女子索要巨额赔偿

丫头舫
2026-10-13 22:10:25
刘强东硬刚抖音,引爆全网!

刘强东硬刚抖音,引爆全网!

大佬灼见
2026-10-19 22:42:34
芭莎红毯“空场罗生门”:张小斐临时救场,蔡文静被误伤

芭莎红毯“空场罗生门”:张小斐临时救场,蔡文静被误伤

韩小娱
2026-10-22 09:35:47
300107,净利大增超1500%!

300107,净利大增超1500%!

证券时报
2026-10-22 07:46:04
轰动全国的“91大神”庭审细节曝光,炸翻无数人

轰动全国的“91大神”庭审细节曝光,炸翻无数人

鸣金网
2026-10-18 14:17:30
要变天!新首相上台就掀桌,直接废除前任计划!先打给了泽连斯基

要变天!新首相上台就掀桌,直接废除前任计划!先打给了泽连斯基

普览
2026-07-24 05:08:24
2-2!欧冠上演五大联赛冠军对决:三狮巨星传射建功 两队都折损核心

2-2!欧冠上演五大联赛冠军对决:三狮巨星传射建功 两队都折损核心

狍子歪解体坛
2026-10-22 05:09:52
B费:没料到科莫会多上一名中场;现在更需改变而非吸取教训

B费:没料到科莫会多上一名中场;现在更需改变而非吸取教训

懂球帝
2026-10-22 04:55:59
杜兰特扑防弗拉格三分被吹一级恶犯,独行侠获3罚1掷

杜兰特扑防弗拉格三分被吹一级恶犯,独行侠获3罚1掷

星河漫山野
2026-10-22 10:45:45
我国正式把盾构机纳入出口管制后,一个奇怪的现象就出现了

我国正式把盾构机纳入出口管制后,一个奇怪的现象就出现了

春雨说科技
2026-10-20 17:00:16
网友们看出尊界事件的最核心问题了

网友们看出尊界事件的最核心问题了

清晖有墨
2026-10-21 10:15:13
一女孩在F4演唱会因外形酷似大S引热议,本人回应:“长相是自然的,没有去do脸,也没有化仿妆”

一女孩在F4演唱会因外形酷似大S引热议,本人回应:“长相是自然的,没有去do脸,也没有化仿妆”

韩小娱
2026-10-22 07:02:07
南京官方已介入!身披旭日旗的陈某已被遣返,知情人称其早有前科,工作人员称这不是小事

南京官方已介入!身披旭日旗的陈某已被遣返,知情人称其早有前科,工作人员称这不是小事

子非鱼人
2026-10-21 23:14:32
中国体操女团哭了!时隔20年再登顶世锦赛:美国队沉默 日本队也哭了

中国体操女团哭了!时隔20年再登顶世锦赛:美国队沉默 日本队也哭了

风过乡
2026-10-22 07:00:23
随着日本2-0法国,世界杯16强已定3席!中国女足PK鱼腩,底线15-0

随着日本2-0法国,世界杯16强已定3席!中国女足PK鱼腩,底线15-0

侃球熊弟
2026-10-22 01:13:30
钱学森1岁童年照片,乖巧地盯着镜头,衣着透露出家境优越!

钱学森1岁童年照片,乖巧地盯着镜头,衣着透露出家境优越!

历史龙元阁
2026-10-21 09:30:26
医生发现:不容易摔倒骨折的老人,一般都有4个特征,快了解一下

医生发现:不容易摔倒骨折的老人,一般都有4个特征,快了解一下

侯医生谈健康
2026-10-21 02:05:03
4-1!熊皇颗粒无收,1.4亿标王世界波,姆巴佩传射,皇马4连胜

4-1!熊皇颗粒无收,1.4亿标王世界波,姆巴佩传射,皇马4连胜

我的护球最独特
2026-10-22 05:08:57
2026-10-22 11:08:49
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
253文章数 75关注度
往期回顾 全部

科技要闻

腾讯云谷歌紧急行动!互联网安全出大事

头条要闻

牛弹琴:泽连斯基突然接受保留75%领土 释放一个信号

头条要闻

牛弹琴:泽连斯基突然接受保留75%领土 释放一个信号

体育要闻

热闹的NBA回来了,他却倒在新赛季大门口

娱乐要闻

杜淳王灿近况曝光:铁婚六年甜上热搜

财经要闻

为卖房,有房企花20万拍短剧

汽车要闻

有七座/续航提升 领克900L曝光还可选双色车身+大饼轮毂

态度原创

数码
本地
时尚
教育
亲子

数码要闻

1299元!华为FreeClip 2潮玩拼色版开启预售 三款配色

本地新闻

一场垂直登高赛跑出了"山城"的真正内核

中年男人,开始抢着打针回春

教育要闻

线段AB=BC=CD,求∠D=?

亲子要闻

让你不看手机,你非要看

无障碍浏览 进入关怀版