← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

Fable 5、GPT 5.5等四款模型同题生成Space Invaders

原标题:Fable 5 vs GPT 5.5 vs GLM 5.2 vs DeepSeek 4 Flash

速览

这是一项提示词工程玩法,要求AI根据详细约束独立生成可运行的Space Invaders HTML游戏。测试对比Fable 5、GPT 5.5、GLM 5.2、DeepSeek 4 Flash在代码生成、约束遵循、功能实现等方面的表现。该测试展示了模型在复杂编程任务和精确提示词遵循上的能力差异,为开发者选择模型提供参考。结果体现了多模型在当前AI编程领域的水平对比。

AI 深度解读

背景

这篇帖子来自 LINUX DO 论坛的 AI 板块,标题列出了四个模型版本(Fable 5、GPT 5.5、GLM 5.2、DeepSeek 4 Flash),暗示这是一场模型能力对比测试。但帖子正文并未展示各模型的输出,而是公布了一个用于测试的提示词(prompt)以及测试规则:所有模型使用相同的提示词一次性生成,第一版结果直接采用,不做任何修改。提示词本身极其详尽,要求模型构建一个完整的、自包含的 Space Invaders 游戏 HTML 文件,并施加了严格的技术与设计约束。这种“盲测”方式旨在检验模型对复杂、多约束指令的理解与执行能力,尤其是生成可运行代码的准确性。

核心内容

帖子中的提示词是一份面向 AI 的工程级需求文档,要求模型输出一个可直接双击运行的 Space Invaders 游戏。以下是对提示词主要部分的完整翻译与总结:

角色设定与交付物:将模型视为资深游戏开发者。要求生成一个完整的、打磨好的 Space Invaders 游戏,作为单一的、自包含的 HTML 文件。

范围纪律:只构建这个游戏本身,不添加额外功能、界面或抽象层。采用最简单且能正常工作的做法。不使用框架、构建工具或任何前瞻性设计。

硬性交付约束(确保可在任何地方运行):

  • 单文件:index.html,所有 HTML、CSS 和 JavaScript 内联。
  • 零外部资源和零库:不能有图片文件、音频文件、CDN 链接、npm 或服务器。所有图形通过 Canvas 绘制,所有声音在运行时通过 Web Audio API 合成。
  • 必须能在当前 Chrome、Edge、Firefox、Safari(Windows 和 macOS)上通过双击文件(file://)运行。因此不能使用 ES 模块(type="module")、importfetch——使用一个普通 <script>,所有内容内联。
  • 仅使用 2D Canvas(不用 WebGL)。必须在低端集成显卡上保持 60fps。

游戏玩法(经典 Space Invaders):

  • 玩家炮台位于底部:用箭头键和 A/D 移动;空格键开火(单发冷却)。
  • 5 行 × 11 列的入侵者网格(3 种精灵类型)整体左右移动,到边缘下落并反转方向,随着数量减少加速。
  • 入侵者随机投弹;玩家有 3 条命;被击中扣除一条命。
  • 4 个可摧毁的掩体,被玩家和入侵者火力击中时会逐块侵蚀。
  • 偶尔有奖励 UFO 从顶部横穿,提供额外分数。
  • HUD:分数、最高分(保存在 localStorage)、生命数、波数。
  • 清空一波后下一波更快/更低;失去所有生命后显示 Game Over 画面,包含分数和重启按钮(R 键 / 点击)。开始画面列出操作说明,按任意键开始游戏。

图形要求(“良好”且轻量):

  • 清晰的像素风精灵,通过小像素网格(填充矩形)绘制——无外部图片。
  • 复古霓虹色黑色背景:视差星空,通过 CSS 实现微弱的扫描线/暗角效果,子弹发光效果。
  • 入侵者两步行走动画;击杀/掩体命中时粒子爆炸效果,带硬性粒子上限以保证性能稳定。

声音(Web Audio 合成——无文件):

  • 合成:玩家射击、入侵者命中/爆炸、玩家死亡、UFO 声调,以及经典的 4 音下降行进循环(随入侵者加速而加快)。
  • 静音切换(M 键),带屏幕上的喇叭图标。在首次用户输入时创建/恢复 AudioContext(否则自动播放会被阻止)。

工程实现

  • 使用 requestAnimationFrame 的固定时间步长循环;分离 update()render(),确保速度在所有机器上一致。
  • Canvas 按窗口比例缩放,保持纵横比;使用像素级渲染(image-rendering: pixelated,整数缩放)。
  • 处理同时按键和快速输入,避免移动卡死;窗口失去焦点时暂停。运行时无控制台错误。

验证要求

  • 确认游戏实际能运行,不要假设。如果能在当前环境运行或打开,请这样做并检查:一发子弹摧毁一个入侵者、一个入侵者炸弹消耗一条命、掩体被侵蚀、波次清除和游戏结束过渡均能触发、音频仅在用户输入后开始。修复任何问题后再报告完成。如果无法在此环境中运行,请清楚说明,而不是声称通过。

输出格式:交付完整的 index.html(如果不能直接写入文件则放在代码块中),顶端有一行操作说明注释。先一句话说明构建了什么以及如何运行,然后给出文件。不要对代码进行解释。

关键要点

  • 提示词极其详尽:涵盖了从游戏逻辑、图形、声音到性能优化的全部细节,甚至包含验证步骤和输出规范,体现了系统工程式的需求描述。
  • 零依赖与跨平台执行:强调单文件、无外部资源、无 HTTP 服务器,兼容主流浏览器,确保双击即可运行,这对 AI 生成的代码的实用性提出了高要求。
  • 性能与视觉平衡:要求像素风格、视差星空、扫描线效果,同时限制粒子数和使用 2D Canvas,避免 WebGL,体现对低端设备的考虑。
  • 音频合成:必须用 Web Audio API 生成所有音效,并处理自动播放策略(首次用户输入创建 AudioContext),这是前端开发中常见的痛点。
  • 固定时间步长循环:通过分离 update/render 并控制帧率,保证不同设备上游戏速度一致,是游戏开发中的关键实践。
  • 测试规则:所有模型使用相同提示词,第一版结果直接采用不做修改,排除了人工干预,专注于衡量模型的初始生成质量。
  • 标题模型列表与正文不直接关联:帖子标题列出了四个模型名称,但正文仅给出提示词,很可能后续帖子会展示各模型的输出对比,本文并未包含。

意义与影响

该帖子展示了一种评估大语言模型代码生成能力的高标准方法。不同于简单的“写一个贪吃蛇”,这个 prompt 集成了大量实际工程约束,模拟了真实项目中的需求沟通。通过要求生成完整可运行的作品,并设置零外部依赖、跨浏览器兼容、性能优化、音频合成等硬性条件,它能更真实地反映模型在处理复杂、多约束、功能性任务时的表现。这种“盲测+首版直接使用”的方式,避免了人工反复调优,更能体现模型的原始理解与执行能力。

对于开发者而言,这个 prompt 本身也是一份优秀的 AI 协作模板——将需求结构化、拆解成可验证的子项,有助于提高 AI 输出的一致性和可靠性。对于 AI 研究者和产品经理,这种测试提供了对比不同模型在实际应用场景中短板(如对边缘情况的处理、对性能约束的遵守)的手段。帖子标题中的模型对比虽然未在本篇中展示结果,但已暗示了社区对新一代模型(如 Fable 5、DeepSeek 4 Flash 等)在复杂代码生成任务上的期待。

查看原文 →linux.do