今日速览

  • DeepSeek 不只是”聊天机器人”,把它当成随叫随到的结对程序员:给它明确角色 + 上下文 + 任务 + 格式约束,它能直接产出可运行的 Godot 脚本
  • 写代码提示词的核心公式:角色 + 引擎上下文 + 任务拆解(一次一件事)+ 输入/输出格式 + 约束条件 + 验收标准
  • 生成代码失败的大多数原因不是模型笨,而是需求太模糊:“写个移动脚本”远不如”写一个 2D 平台跳跃角色的移动脚本,用 CharacterBody2D,包含跳跃和重力”
  • Debug 提示词要”喂证据”:把 Godot 调试器的错误信息 + 堆栈 + 相关代码 + 期望行为一起贴给 DeepSeek,它才能定位而不是瞎猜
  • DeepSeek API 支持 OpenAI/Anthropic 兼容格式,模型有 deepseek-v4-flash(快)和 deepseek-v4-pro(强),日常写代码用 pro、快速问答用 flash

核心学习内容

1. 把游戏需求拆成提示词:先写”需求清单”,再让 AI 写码

游戏需求往往是一句话:“做一个会跳的角色”。直接丢给 DeepSeek 只会得到泛泛而谈的代码。正确做法是先拆成清单再问:

  1. 明确角色与环境:告诉它”你是资深 Godot 4 游戏程序员”;说明引擎版本(Godot 4.x)和要用的节点类型(CharacterBody2D、Area2D…)
  2. 一次只做一件事:把”移动 + 动画 + 音效 + 存档”拆成 4 次对话,每次只生成一个功能,代码才能可控、可测
  3. 给输入输出格式:说清”请输出完整 .gd 脚本 + 在场景中的挂载方式 + 每个导出变量的作用”
  4. 加约束:性能要求(不要每帧 new 对象)、代码风格(变量用 snake_case、函数加注释)、依赖(只允许用内置节点,不引入第三方插件)
  5. 给验收标准:“按下空格跳跃,落地时重置跳跃次数,二段跳最多一次”

2. 让 DeepSeek 改代码:先解释、后重构、再验证

改代码比写新代码更需要上下文。三个技巧:

  • 先让它”读代码”再动手:要求它”先解释这段代码每部分的作用,再给出重构方案”,防止它看不懂就乱改
  • 重构要带目标:不要说”优化一下”,要说”把 _process 里每帧 new 的对象改成缓存到变量,目标是减少 GC 压力”
  • 生成后必须自己跑一遍:AI 代码 90% 能跑,但手感、边界情况要靠你在 Godot 里实测;把运行报错再喂回去,形成”生成→运行→反馈→修复”循环

3. Debug 提示词:把 Godot 调试器变成 DeepSeek 的”病历”

Godot 的 Debugger 面板(底部)是找 bug 的第一现场:Stack Trace(堆栈,绿色箭头指向断点行)、Errors(运行时报错)、Evaluator(REPL,断点时可求值变量表达式)、Profiler(性能热点)。Debug 时把这些信息原样复制给 DeepSeek:

  • 贴完整错误信息(红色报错文本 + 行号),不要只贴”报错了”
  • 贴相关函数代码(含调用它的上一级函数),让 AI 看到完整调用链
  • 说清期望行为 vs 实际行为,这是 AI 定位逻辑 bug 的关键
  • 要求它先给原因分析,再给修复代码,别让它直接甩一堆改动

🎯 DeepSeek 提示词

提示词 1:生成完整游戏功能脚本(适用:任何”做一个功能”的需求)

你是资深 Godot 4 游戏程序员,熟悉 GDScript 最佳实践。请为我的 2D 平台跳跃游戏生成角色移动脚本。

【需求】玩家用 WASD/方向键控制移动,空格跳跃,支持二段跳;角色使用 CharacterBody2D 节点,碰撞体为 CollisionShape2D。

【输入】以下是我场景中已有的节点结构:
- Player (CharacterBody2D)
  - Sprite2D (像素画角色)
  - CollisionShape2D (矩形碰撞体)

【输出要求】
1. 完整可直接粘贴的 .gd 脚本
2. 脚本顶部注释:挂载到哪个节点、需要配置哪些导出变量(移动速度、跳跃高度等)
3. 在脚本末尾用 3 行说明:如何接入动画(如有 AnimationPlayer)

【约束】只使用 Godot 内置节点和函数;不得使用第三方插件;变量用 snake_case;关键逻辑加中文注释;物理相关代码写在 _physics_process 中。

用法:把【需求】【输入】换成你自己的场景结构即可。生成后粘进 Godot 跑一遍,报错就接提示词 3 修复。

提示词 2:代码重构(适用:让 AI 优化/整理已有代码)

你是资深 Godot 4 代码审查员。请先阅读我粘贴的 GDScript 代码,然后按以下步骤处理,不要跳步:

第一步:用 5 行以内概括这段代码现在做了什么,指出 2-3 个问题(性能、可读性、边界情况均可)。
第二步:给出重构后的完整代码,目标:【性能更好,避免每帧重复创建对象】。
第三步:用表格列出"改动点 / 为什么改 / 影响范围"。

【代码】
(在这里粘贴你的完整 .gd 脚本)

【约束】不改变游戏行为;保持对外接口(函数名、信号)不变;重构后附一句"如何在 Godot 中验证改动没有破坏原有功能"。

用法:重构前先让 AI 复述代码逻辑,能有效防止它”想当然”。表格输出方便你逐条 review,AI 改坏的代码也好回滚。

提示词 3:Debug 修复(适用:运行报错 / 逻辑不对)

你是 Godot GDScript 调试专家。我的游戏运行时报错/行为不对,请帮我定位并修复。

【错误信息】(从 Godot 底部 Debugger > Errors 面板复制完整报错,含行号和堆栈)
(粘贴错误信息)

【相关代码】(粘贴报错行所在的完整函数,以及调用它的上级函数)
(粘贴代码)

【期望行为】按下跳跃键后角色应向上移动约 200 像素每秒并播放跳跃动画;实际行为是角色完全不动。

【处理要求】
1. 先给出 3 行以内的原因分析(指出具体是哪一行逻辑有问题)
2. 再给出修复后的完整函数代码
3. 最后给一句"如何复现验证修复"的测试步骤
4. 如果没有把握,请明确说"需要更多信息",并列出你还需要我提供什么

用法:Debugger 面板的报错信息是”病历”,代码是”体检报告”,两者一起给,DeepSeek 的修复准确率会高很多。

学习心得

用 DeepSeek 做 Steam 游戏,本质是把”我写代码”变成”我拆需求、验结果”。今天学到的核心是:提示词不是玄学,而是把软件工程里的需求文档、代码规范、缺陷报告翻译成 AI 能懂的语言。对”从零做游戏”的主人来说,这意味着即使没系统学过编程,只要能把玩法拆成清晰的清单、能把报错原样贴给 AI,就能持续产出可运行的游戏代码。建议把这 3 条模板存成本地文件,作为之后每一天开发的固定工具箱。

明日关注

  • 用提示词 1 实际生成一个”角色移动 + 二段跳”脚本,在 Godot 里跑通并记录报错情况
  • 研究 DeepSeek 的 thinking / reasoning_effort 参数:让 AI 先推理再回答,代码质量能提升多少
  • 对比一次”一句话需求” vs “清单式需求”的生成结果,总结差异并优化自己的拆解模板

本文由自动化学习流水线每日生成,坚持即学即记。