请从零开发一款完整、精致、可以立即游玩的浏览器游戏:《引力果冻实验室》。 这是一次 One Shot 编程测试。我只发送这一条需求,不会回答澄清问题,也不会提供后续修复提示。请自行作出合理设计决策,完成实现、运行验证和必要修复,再交付最终作品。 一、核心体验 玩家向透明实验容器内投放不同等级的果冻。同等级果冻接触后融合成更高等级。果冻必须柔软、有重量感,会受到重力、碰撞和挤压影响,堆叠时形变,卸载压力后逐渐恢复。 额外的核心机制是“旋转重力”:玩家可以将重力方向每次旋转 90°,让整堆果冻沿新的方向坍塌、挤压并产生连锁融合。重力旋转有明确的冷却时间。 游戏应让人愿意反复尝试制造一次漂亮的连锁反应。 二、物理必须真实参与玩法 使用二维软体模拟;视觉可以做成有立体感的 2.5D。自行实现软体核心,具体算法由你选择。 碰撞和容器约束必须作用于形变后的物体,不能只让圆形刚体运动,再叠加与碰撞无关的果冻动画。 必须做到: - 果冻能在容器壁和其他果冻之间受压、变形、回弹。 - 面积得到合理保持,不会持续塌缩、无限拉伸或数值爆炸。 - 相同等级融合时,面积和质量分别等于两者之和;位置和速度合理继承原物体状态。 - 每个物体在同一模拟步最多参与一次融合,避免重复计分、重复删除或凭空增殖。 - 重力切换后,已有物体继续参与同一套模拟,不能重新随机摆放。 - 采用固定模拟步长,将渲染与模拟分离,避免高刷新率设备改变游戏速度。 无需科研级精度,但必须提供可信、稳定、可以检查的近似实现。 三、完整游戏规则 至少有 7 个果冻等级,轮廓细节、颜色和表情足以区分等级,最高等级不再融合。 包含: - 开始界面,以及不超过三句话的操作说明。 - 投放位置预览、下一枚果冻预览、投放冷却。 - 分数、最高分、连锁反馈、重力方向和旋转冷却提示。 - 暂停、继续、静音、重新开始。 - 清晰且公平的失败条件:依据容器拥挤程度或危险区域持续占用判定,避免一次短暂弹跳就结束游戏。 - 失败后可立即重开,旧的输入、物体、计时器和音效必须清理干净。 - 桌面鼠标与键盘、手机触摸均可完成全部核心操作。 重力方向变化时,投放入口和危险区域的规则必须一致、易懂,并在界面上明确表现。其余数值和节奏由你设计。 四、视觉和声音 整体做成一家有审美的独立游戏工作室会愿意展示的作品。 参考“精品互动科学玩具”:暖白背景、透明容器、半透明糖果色果冻、细腻高光和接触阴影、克制但有辨识度的字体排版。果冻有简洁、生动的表情,受压和融合时有相应反应。 主体游戏区域必须占据视觉中心,手机上也能看清。不要把游戏埋在介绍卡片和大段说明下面。 通过程序绘制全部视觉资产。音效使用 Web Audio 合成,首次用户交互后才启动,静音立即生效。支持减少动态效果的系统偏好;装饰动画可以减少,核心玩法仍需可用。 五、给测试者真实的检查能力 提供一个默认收起的“实验面板”,包含: - 物理轮廓可视化:显示实际参与碰撞的边界或节点。 - 当前物体数量、模拟步数、实际测量的帧率。 - 暂停后单步推进。 - 输入随机种子并重开。 - 导出本局初始配置和操作记录为 JSON。 - 导入记录并从头重放。 随机种子必须控制与玩法相关的随机过程。操作按模拟步记录。相同初始配置和操作记录在同一运行环境下重放,应得到一致的分数、等级数量和物理状态;浮点状态可以使用明确说明的容差比较。重放期间禁用会改变游戏状态的玩家输入。 导入文件应验证格式、版本和数据范围。无效文件显示可理解的错误,不能破坏当前游戏。 六、技术和交付 最终交付一个自包含的 index.html,CSS 和 JavaScript 全部内嵌。使用原生浏览器能力,不依赖后端、账号、API Key、外部图片、字体、音频或 CDN。下载后直接用现代浏览器打开即可运行。 不要使用现成游戏源码、完整游戏模板或第三方物理引擎。允许查询浏览器 API 文档。请由当前模型完成,不委派给其他模型。 代码需要有清晰的模拟、渲染、输入、游戏状态和重放模块边界,即使它们都在一个文件里。关键算法添加必要注释。 七、完成前验证 如果环境提供文件、终端和浏览器工具,请实际创建文件、启动并检查作品,自行修复发现的问题。至少验证: 1. 从开始到投放、融合、失败、重开,流程完整。 2. 连续旋转四次重力后,物体保持有效,没有穿出容器或出现 NaN。 3. 三个同等级物体同时接触,不发生重复融合与计分。 4. 暂停时模拟状态不变;单步只推进一步。 5. 同一段操作记录重复重放,最终状态符合前述一致性要求。 6. 连续重开十次,没有残留物体、重复输入或叠加播放。 7. 桌面与手机尺寸下,核心操作均可见、可用。 8. 至少 40 个物体受压堆叠时仍可交互,并记录实际测试环境与表现。 测试必须针对真正用于游戏的逻辑。不要伪造测试通过、截图或性能数字。没有条件执行的项目请明确标记为“未验证”。 优先保证物理稳定、操作手感和完整玩法,再完善视觉。不要留下 TODO、空按钮、假数据或“未来可以实现”的核心功能。 最终给我可下载或可直接打开的 index.html,以及简短的操作说明、实际验证结果和已知限制。如果环境无法创建文件,则一次性输出完整 HTML 代码,不能省略任何部分。 现在开始完成这个作品。 现在你的任务就是把这个游戏做出来,并且发布到我们的One Shot Prompt到net网站上。然后你还需要给这个游戏做一个介绍视频,介绍这个游戏怎么玩,是怎么样一个游戏。介绍这个游戏的那个角度就是我,你代表我来做一个视频,是我在介绍,我的声音做话外音,告诉大家这是一款什么样的游戏,该上截图上截图,该上video上video。所以你的最终交付,首先是一个One Shot Prompt上边的介绍页面,介绍这个游戏本身,然后介绍这个游戏的制作过程,介绍咱们的这个One Shot Prompt,对吧?就是这些你所掌握的这些信息,你都可以把它只要它不是敏感信息,不是隐私信息,只要它有助于这个游戏的推广,你都可以把它介绍上去。另外就是一个游戏页面,就是打游戏的那个页面,从这个介绍页面点开,就可以全屏在浏览器里全屏打这个游戏,体验这个游戏。