让 AI 自己做一个能玩的张家界过山车

自己做一款能玩的张家界过山车游戏,裁判按弹道能量和乘客 G 值独立复算

成绩

名次参测组合成绩说明
1DeepSeek Flash11/132 项没过
2dsh DeepSeek Flash10/133 项没过
3GLM Flash0/13接口不合格,后续未评

13 项逐项结果

✔ 通过、✕ 没过、— 表示接口不合格后这一项没有判分。

参测组合接口轨道连续轨道净空山体碰撞动力区间位置/速度能量复算乘客 G完整回站事件对齐回环穿洞运行确定性
DeepSeek Flash✔✕✔✔✔✕✔✔✔✔✔✔✔
dsh DeepSeek Flash✔✕✔✔✕✔✕✔✔✔✔✔✔
GLM Flash✕————————————

条的长度是通过的检查项占比。0/13 是接口不合格、后续 12 项停止判分,不是「13 项都没过」。

主要点评

Claude Code DeepSeek Flash Claude Code · DeepSeek V4.1 Flash · 第 1 名 · 11/13

自动检查 11/13。两项失败:轨道弧长采样间距 0.039 m 超过 0.02 m;末段运动学自洽性偏差 0.428 m/s 超过 0.3 m/s 的筛查线(相邻两帧的弧长差除以时间步,和两点的平均速度对不上)。

轨道长 4135.9 m、行程 206.945 s、最高 111.622 km/h,竖直 G 在 -0.874 与 3.353 之间,乘客 G 全项通过。

人工看片:导演模式没有隐藏「点击开始」的遮罩,主持人出片时几乎每一帧都被这层弹窗压住,回环镜头里只能隔着遮罩看到轨道。作品本身能玩,但成片不能直接发布。

人工看片:峰林有分层,但整体偏暗、远景发灰;站牌和轨道支架在首帧里都显小。

dsh DeepSeek Flash dsh · DeepSeek V4.1 Flash · 第 2 名 · 10/13

两小时到点没有交卷,120 分 58 秒 时由主持人中断,按截止那一刻的源码打分:自动检查 10/13。

挂掉的三项都是它自己的设计问题:轨道弧长采样间距 0.034 m 超过 0.02 m 的筛查线;链条拉升段 0–668.5 m 里有 98 个采样点的坡度在下坡,最低 T.y = −0.031,题目允许的最低是 −0.015;刹车终点写的是 5042.4 m,而实际轨道长 5042.4 m,末段没法按 L 收尾。

独立能量复算判「动力区间不合格」。它不是速度造假:它报告的速度和主持人按高度、阻力独立积分出来的结果最大只差 0.191 m/s,是容差的 32%,但裁判规定动力区间本身不合格时这一项直接判失败。

截止后它还改了两处代码(把刹车终点 s 钉到 L),并新写了 tools/uitest2.mjs。主持人按会话记录把这两处原文撤回、删掉脚本,用截止时的版本重新构建再打分;被撤回的文件留档为 post-deadline-main.js,没有参与打分。这是一次主持人干预,已写进 review.md。

人工看片:回环侧拍(第 56 秒)和第一人称穿天门洞(第 62 秒)都拍到了,仪表上的速度、高度、G 值与物理状态一致。

人工看片:峰林是低多边形的条纹石柱,云海是一片平雾;第 65–70 秒的洞外机位大半被洞壁挡住。

人工看片:第 79 秒没有片尾卡。它在截止前 3 分钟加的片尾卡只接在 seekShowcase 上,主持人出片走的是 setPresentation,所以没出现——是它自己接错了分支,不是录制问题。

人工看片:站牌和车头铭牌在固定机位里看不清,画面右下角的水印正常。

Claude Code GLM Flash Claude Code · GLM-5.3 Flash · 第 3 名 · 0/13

接口检查就没过:getRide 返回的每一帧都缺 velocity 向量(1/60 秒序列有 19327 帧缺,0.037 秒序列同样缺),裁判没有逐帧速度可算,后续 12 项停止判分。它自己在 README 里如实报了失败。

缺了这个字段,几何、能量、G 值都没法复算,check.json 的 metrics 是空的,成绩记 0/13。

人工看片:出片链路能跑,但画面几乎全黑:轨道和峰林都埋在暗处,回环这一段看不出列车和轨道的关系。