拆解Fable 5.2花8小时生成的1.4M单HTML射击游戏
Fable5.2花8小时一次性生成的射击游戏,1.4M的单HTML文件,包含港口关卡、着色器渲染,没有外置贴图模型!#Claude #游戏制作
作者逐层拆解了Anthropic工程师用Fable 5.2花8小时一次性生成的射击游戏Salt Line,整个游戏是1.4M的单HTML文件,没有外置贴图和音频,材质、模型、声音全部由代码实时算出。
作者逐层拆解这个1.4M单HTML射击游戏,从材质、模型到声音都讲清怎么算出来,适合跟着拆文件复现这套做法。
粉丝 304
- 点赞
- 326
- 评论
- 30
- 分享
- 222
- 收藏
- 192
数字来自平台,为最近一次抓取时的数据。
以下是视频口播的自动转写,可能有错字。
这个游戏整个就是一个网页文件,1.4兆,里面没有一张图片,也没有一段录音。码头、集装箱、雨、枪声,全是打开网页以后电脑照着代码现算出来的。我把它拆开,一层一层看了一遍。11月9号,anthropic 发布新模型 fable 5.2。他的一位工程师当天晒出了这个游戏,那条帖子已经被看了300多万次。
按他的说法,他只提了三句要求。做一个射击游戏,画面要跟得上3a,一小关就够。接下来8个小时没有人插手,他自己做完了,名字叫 salt line。现在传的最广的那一版,作者后来又手动改了2个小时。没人碰过的出版,他单独留着。我拆的就是这一版。
国内流传的中文版叫几猫。我把两份文件逐行比过,6000多行里只有85行不一样。改的是文字和字体,它是这份原作的汉化版。先称一下重,文件里一共140多万个字符,差不多一半是 three 点 js,一个谁都能免费用的开源三维引擎。另一半将近70万个字符,才是他自己写的游戏。
分成了十几个模块。图片0张、音频0段、模型文件0个。它运行的时候从外面拿的,只有菜单上用的三款字体。没有图片,集装箱上的漆和锈是哪来的?是显卡照着公式画出来的。他写了27段画材质的小程序,用到哪种材质就让显卡把那一段跑一遍,画出三张图:颜色、粗糙程度、表面的凹凸。
在我这台电脑上开到最高画质,他一共画了110多兆的贴图,按他自己的计时,只用了100多毫秒。所有花纹的原料只有一样,随机噪点。粗的、细的噪点叠在一起,就成了云一样的斑块。再划一条线,高过这条线的地方算掉漆。掉漆的地方先露出底漆,再露出生锈的钢板。
每一块掉漆的正下方还会淌下一道锈水。文字是另一种做法,用网页自带的画布现写。箱门上写的总重、自重、净重三个数加减是对得上的。模型也没有文件,36种道具都是在代码里用方块、圆柱、管子一块一块拼出来的。这辆叉车有277个零件。门架上的两条链子是92节链环,一节一节摆上去的。
岸边那台起重机有89级楼梯踏板,大船的每一根缆绳上都套着一个挡老鼠的圆盘。整个场景加起来290万个三角形,脚下这片地面却只有两个。地上的接缝、裂纹、标线、积水,都是一个像素一个像素算出来的。地图也不是随机生成的,47个集装箱、二十六滩积水,每一个的位置都是他自己写进代码里的坐标。
它看着像电影,靠的是光——天空是照在外面的一个盒子,云和太阳都是算出来的。程序里还特意让云给太阳留了个缺口,空气里的光柱也是算的:每个像素往前最多走四十步,每一步都去查一次阴影,问这一小团空气有没有被太阳照到。积水是真的镜子,为了它,整个世界每一帧都要多画一遍。
最后再过一遍镜头、光晕、镜头上的灰、调色、胶片颗粒,一帧画面出来之前,最多要过25道这样的工序。声音也没有文件,55种声音加起来3分半钟,是他一个数一个数算出来的波形。雨声是数着雨滴做的,6秒钟里每只耳朵1020滴。走进铁皮仓库,雨声会换成打在铁皮屋顶上的那一种。
配乐是五条 d 小调的音轨,打的越凶,叠的越多。你现在听到的就是他算出来的这一段。敌人是两种机器,这只机器狗没有一帧走路动画,脚踩在地上不动,身子往前走。哪只脚落后超过9厘米就迈一步,腿上每个关节的角度都是当场算的。他们会沿着网格找路,听得见枪声,还讲究轮流上,一般同一时间最多两个朝你开火。
8个小时没人看着,他怎么知道自己画的秀像不像秀?线索就留在文件里。在网址后面加上 show 等于 mats,游戏不见了,出来一面材质墙。换成 props 是道具陈列,换成 enemies 是敌人展台,这样的展厅一共9个。这些玩家都用不上,看起来是他给自己搭的摄影棚。
做完一块,打开展厅拍一张,看一眼,再改。声音没法拍照,他就写了一段自检,让游戏自己打10秒钟的仗,再量一量音量有没有爆。所以一句话做出一个游戏,这话只说对了一半。人确实只说了三句话,后面是他自己连着干了8个小时。按作者公布的数字,输入4亿多个 token,输出270万个。
照公开价格算,大约550美元。它也只有一关,两种敌人,没有一个人类角色,有的电脑上跑起来会卡。至于三 a 那是他提要求时用的一个词,不是谁量出来的结果。我也照着试了一次,同样只提三句要求,换成骑车吃金币的赛车,再告诉他电脑上有哪些工具能用,之后一句话都不回他。
一个半小时以后,他交回来一个不到1兆的网页,自己定了骑摩托环岛,起名叫落日环岛,里面同样没有一张图片,没有一段录音。这回我看得到过程,他给自己写了截图、测速和自动试玩的小工具,前后给自己的作品拍了70多张照片,边看边改,和前面说的摄影棚对得上。
我还试了另一种分工,让5个 ai 各做一块,照同一份约定对接,拼出了一条下雨的广州骑楼街,主角是一只猫。拆完我最意外的是,这个文件里没有存任何一样做好的东西,存的全是做法。你要是把它存下来,在自己电脑上打开,在网址后面加上问号,show 等于 max。
就能自己走进那面材质墙看看。
来源:抖音 · 热点搜「Fable 5.2」 · douyin.com