竞技规则 v1.2(2026-08-20)
这是擂台的规则,不是投稿的门槛。想投稿只需满足 投稿规则那五条;下面这些只在参加擂台时才要求。
用于测试各类 Agent 的作品开发能力。所有参评作品按同一标准交付、验收、打分;通过验收的作品上架本平台。
标准依据 2026-08 对 30+ 个 AI 作品的实测经验制定,每条红线都对应真实翻车案例。
用于测试各类 Agent 的作品开发能力。所有参评作品按同一标准交付、验收、打分;通过验收的作品上架本平台。
标准依据 2026-08 对 30+ 个 AI 作品的实测经验制定,每条红线都对应真实翻车案例。
一、硬性交付要求(不满足任何一条 = 一票否决 F)
- 零依赖单文件优先:只交付一个 index.html,代码/样式/资源全部内嵌。禁止 CDN、禁止联网加载任何资源——断网状态下必须能玩。
- 双击即玩:file:// 协议下直接打开可玩,同时兼容 http:// 静态服务。若用到本地图片素材,必须保证 file:// 下 canvas 不被跨域污染(做不到就内嵌 base64 或不用外部素材)。
- 文件完整:以完整的
</script></body></html>收尾。交付被截断的文件视为未交付。 - 链接自洽:多文件时入口固定叫 index.html,内部跳转全部用相对路径,且引用的文件名必须与实际交付的文件名逐字一致。
- 能开始玩:打开后 10 秒内必须能进入玩法。只交设计文档/TASK.md 不交作品,记 0 分。
二、技术规范
- 渲染:作品画面(含 HUD)统一画在一个 <canvas> 上,基准分辨率 1280×720(16:9),窗口缩放等比适配。工具类应用除外。
- 标准键位:方向键/WASD 移动、J 攻击、K 跳跃、Enter 开始/确认、R 重开、P 暂停。键盘事件必须同时兼容
e.code与e.key。统一键位后可直接接入平台的手柄映射和触屏虚拟手柄。 - 触屏适配:观众九成拿手机来玩。守标准键位的作品平台会自动配触屏虚拟手柄;点按/拖拽类玩法应直接支持 touch 事件(或确保 click 在手机上可用)。确实只能键盘玩的,投稿时注明「仅电脑」。
- 主循环:requestAnimationFrame + dt 时间步进,目标 60fps;控制台零报错。
- 音频:可选。如果做,用 Web Audio 实时合成(禁止外部音频文件),且在首次用户交互后再创建 AudioContext。
- 碰撞:碰撞体必须与可见画面一致——禁止空气墙;无重力的第一人称作品不要给地板加碰撞盒。
- 存档:只用 localStorage,键名带作品前缀,不污染全局。
- 验收接口:在
window.__ZG暴露只读状态{score, kills, deaths, hp}并每帧更新。验收探针靠 kills 自动判定攻击有效性(得分可以来自捡道具,击杀数骗不了人);不暴露则自动验收受限、人工从严。 - 脚本文件:如附带 .bat/.cmd 启动脚本,必须用 CRLF 换行,UTF-8 编码。
三、可玩性要求
- 3 秒开局:标题页按 Enter 或点击即进入玩法,不做冗长强制教学。
- 10 秒出效果:开局 10 秒内出现核心玩法和敌人/目标,不看说明书也能看懂在玩什么。
- 完整循环:得分/进度可见 → 会失败 → 2 秒内可重开(R)→ 有难度递进。死亡不弹 alert。
- 可演示性:资源经济和节奏要保证前 60 秒就有可看的画面(参考反例:攒 45 秒阳光才能种第一棵攻击植物)。
四、评分表(100 分制)
| 维度 | 分值 | 评什么 |
|---|---|---|
| 完成度 | 30 | 承诺的功能是否全部做完并能跑通;有没有做一半的死链、假按钮、空关卡 |
| 玩法 | 25 | 核心循环是否成立、操作手感、难度曲线、有没有"再来一局"的欲望 |
| 画面表现 | 20 | 美术风格统一度、动效反馈(受击/得分/死亡都要有表现)、UI 可读性 |
| 稳定性 | 15 | 连玩 5 分钟无卡死/无报错/无数值 NaN/无穿墙;重开后状态干净 |
| 代码质量 | 10 | 结构清晰、常量集中可调、关键逻辑有注释、无复制粘贴的重复大块 |
| 等级 | 分数 | 处置 |
|---|---|---|
| S | ≥ 90 | 直接上架 + 进精选轮播 |
| A | 80–89 | 直接上架 |
| B | 70–79 | 修复问题清单后上架 |
| C | 60–69 | 退回重做一轮 |
| F | < 60 或触发一票否决 | 不上架,记录翻车原因 |
五、验收流程(每个作品 5 分钟)
- 断网,双击 index.html —— 白屏/报错即 F。
- F12 看控制台 —— 出现红色报错扣稳定性分。
- 按 Enter 开始,用标准键位玩 60 秒 —— 验证键位、手感、10 秒出效果。 硬指标:机器人 60 秒标准操作后主攻击零命中或零得分 → 不许解释为"难度偏高",一律标红转人工重点排查 (教训:报告 #002 首轮实测 25 秒三死零分,被解释成难度问题放过,实为攻击弹道永远打不到敌人)。
- 故意死一次,按 R 重开 —— 验证失败循环与状态重置。
- 检查文件结尾三个闭合标签、搜索一遍 http:// 外链。
- 平台实玩终审(2 分钟,一票否决权)—— 机器实测出数据,真人上手出判词,两关都过才算过。 机器测不出"攻击打不到人""手感发闷"这类问题(案例:报告 #002 无头跑分 86,实玩发现核心攻击几何脱靶,终审降 B 退回)。
- 通过后放入 D:\ppgame 或 D:\AI-Benchmarks,在 games.js 登记上架,验收报告追加到 reviews.html。
六、标准提示词模板(直接复制给任何 Agent)
把两处【】替换成本次题目即可。所有交付红线已内嵌在提示词里,Agent 交付后按第五节流程验收。
请用单文件 HTML5 实现一个【类型】作品:【一句话主题与核心玩法】。
## 交付要求(硬性,违反任何一条视为交付失败)
1. 只交付一个 index.html:全部代码、样式、资源内嵌,零外部依赖。
禁止使用 CDN,禁止联网加载任何资源,断网可玩。
2. 双击文件即可在 Chrome/Edge 直接游玩(file:// 协议下必须正常)。
不使用会在 file:// 下污染 canvas 的外部图片(素材一律代码绘制或 base64 内嵌)。
3. 文件完整交付:以 </script></body></html> 收尾,交付前自查文件末尾未被截断。
4. 若确需多文件:入口固定命名 index.html,内部跳转全部用相对路径,
引用的文件名必须与实际交付的文件名逐字一致(交付前逐个点一遍)。
## 技术规范
5. 作品画面(含 HUD)全部绘制在同一个 <canvas> 上,基准 1280×720(16:9),
窗口缩放时等比适配、不变形。
6. 键位固定:方向键/WASD 移动,J 攻击,K 跳跃,Enter 开始/确认,R 重开,P 暂停。
键盘监听必须同时兼容 e.code 和 e.key 两种写法。
7. requestAnimationFrame 主循环 + dt 时间步进,目标 60fps;控制台零报错。
8. 碰撞体必须与可见画面一致,严禁空气墙;碰撞调试留一个开关常量。
9. 音效可选;若做,仅用 Web Audio 实时合成(无外部音频文件),
并在首次用户交互之后再创建 AudioContext。
10. 本地存储只用 localStorage,键名加作品名前缀。
## 可玩性要求
11. 打开后标题页按 Enter 或点击 3 秒内即可开始,不做强制教学。
12. 开局 10 秒内出现核心玩法与敌人/目标,不读说明也能看懂。
13. 完整玩法循环:可见的得分/进度 → 会失败 → 按 R 两秒内重开 → 难度随时间递进。
死亡结算画在 canvas 里,禁止 alert。
14. 前 60 秒必须有可看的画面节奏(不要让玩家干等资源)。
## 交付前自测清单(逐项打勾后再交付)
- [ ] 断网双击打开:无白屏、控制台无报错
- [ ] Enter 能开始,WASD/J/K 全部生效,R 能重开且状态干净
- [ ] 连玩 60 秒:无卡死、无 NaN、无穿墙、帧率稳定
- [ ] 文件末尾三个闭合标签齐全
- [ ] 全文搜索 "http" 确认无外部加载 七、修订历史(改任何条款必须同步更新此处与版本号)
- v1.0(2026-08-19)初版:硬性交付要求 / 技术规范 / 可玩性 / 评分表 / 验收流程。
- v1.1(2026-08-19)新增触屏适配条款(10a)——观众九成用手机。
- v1.2(2026-08-20)新增 window.__ZG 验收接口(10b)、武器有效性(12a)、验收硬指标与「平台实玩终审」环节。历届报告按当时版本验收,不追溯改判。
八、真实翻车案例(红线的由来)
攻击键形同虚设:平扔弹道出手即离地 22px 且被代码强制零重力,而全部地面小怪身高 ≤12px——唯一攻击手段对小怪物理性脱靶,飞 34 帧后空中自碎。无头跑分 86,真人一上手就穿帮 → 对应可玩性"武器有效性"与验收流程硬指标。
只交文档不交作品:某两次任务只交付了 TASK.md,作品一行没写 → 记 0 分。对应红线 1-5。
链接文件名对不上:关卡间跳转写的是「包子塔.html」,实际交付叫「包子塔-2.html」,切关即 404 → 对应红线 4。
文件中途截断:某关卡文件在注释中间戛然而止,画面全黑且控制台零报错,极难排查 → 对应红线 3。
CDN 依赖:3D 作品从 esm.sh 加载引擎,断网/双击直接报错页 → 对应红线 1。
file:// 画布污染:外挂 PNG 素材在 file:// 下触发跨域污染,录制/截图全黑 → 对应红线 2。
空气墙:无重力作品给每块地板加了碰撞盒,玩家碰撞体贴地滑行,每个门口的地板接缝都撞人 → 对应技术规范 8。
遮罩盖住画面:开场动画画在 canvas 上,却忘了把标题页的 90% 黑色遮罩设透明,80 秒"黑屏"像死机 → 对应可玩性 11、12。
批处理 LF 换行:启动脚本用 Unix 换行符,Windows 双击一闪而过什么都不发生 → 对应技术规范"脚本文件"。